p-stream/src/index.tsx
mrjvs a2e647297a cleanup todos
Co-authored-by: Jip Frijlink <JipFr@users.noreply.github.com>
Co-authored-by: James Hawkins <jhawki2005@gmail.com>
Co-authored-by: William Oldham <wegg7250@gmail.com>
2023-02-19 23:03:16 +01:00

47 lines
1.2 KiB
TypeScript

import React, { ReactNode, Suspense } from "react";
import ReactDOM from "react-dom";
import { BrowserRouter, HashRouter } from "react-router-dom";
import { ErrorBoundary } from "@/components/layout/ErrorBoundary";
import { conf } from "@/setup/config";
import App from "@/setup/App";
import "@/setup/i18n";
import "@/setup/index.css";
import "@/backend";
import { initializeChromecast } from "./setup/chromecast";
import { initializeStores } from "./utils/storage";
// initialize
const key =
(window as any)?.__CONFIG__?.VITE_KEY ?? import.meta.env.VITE_KEY ?? null;
if (key) {
(window as any).initMW(conf().BASE_PROXY_URL, key);
}
initializeChromecast();
const LazyLoadedApp = React.lazy(async () => {
await initializeStores();
return {
default: App,
};
});
function TheRouter(props: { children: ReactNode }) {
const normalRouter = conf().NORMAL_ROUTER;
if (normalRouter) return <BrowserRouter>{props.children}</BrowserRouter>;
return <HashRouter>{props.children}</HashRouter>;
}
ReactDOM.render(
<React.StrictMode>
<ErrorBoundary>
<TheRouter>
<Suspense fallback="">
<LazyLoadedApp />
</Suspense>
</TheRouter>
</ErrorBoundary>
</React.StrictMode>,
document.getElementById("root")
);