/* eslint-disable react/display-name */ import React from 'react' import ReactDOM from 'react-dom/client' import i18next from 'i18next' import { i18nextReactInitConfig } from '@brojs/cli' import App from './app' import { createStore } from "./__data__/store" i18next.t = i18next.t.bind(i18next) const i18nextPromise = i18nextReactInitConfig(i18next) export default (props) => let rootElement: ReactDOM.Root export const mount = async (Component, element = document.getElementById('app')) => { const store = createStore() await i18nextPromise rootElement = ReactDOM.createRoot(element) rootElement.render() if(module.hot) { module.hot.accept('./app', ()=> { rootElement.render() }) } } export const unmount = () => { rootElement.unmount() }