1
0
Fork 0
mirror of https://github.com/sussy-code/smov.git synced 2024-12-21 14:47:41 +01:00
smov/src/index.tsx

59 lines
1.6 KiB
TypeScript
Raw Normal View History

import "core-js/stable";
2023-03-19 20:53:44 +01:00
import React, { Suspense } from "react";
2022-02-16 21:30:12 +01:00
import ReactDOM from "react-dom";
import { BrowserRouter, HashRouter } from "react-router-dom";
2023-03-19 20:53:44 +01:00
import type { ReactNode } from "react-router-dom/node_modules/@types/react/index";
2023-02-24 20:12:20 +01:00
import { registerSW } from "virtual:pwa-register";
2023-01-07 21:36:18 +01:00
import { ErrorBoundary } from "@/components/layout/ErrorBoundary";
2023-01-07 21:36:18 +01:00
import App from "@/setup/App";
import { conf } from "@/setup/config";
2023-06-18 14:10:26 +02:00
import i18n from "@/setup/i18n";
2023-02-21 21:45:14 +01:00
import "@/setup/ga";
import "@/setup/sentry";
2023-01-07 21:36:18 +01:00
import "@/setup/index.css";
2023-01-11 21:16:48 +01:00
import "@/backend";
2023-01-25 21:44:15 +01:00
import { initializeChromecast } from "./setup/chromecast";
2023-06-18 14:10:26 +02:00
import { SettingsStore } from "./state/settings/store";
import { initializeStores } from "./utils/storage";
2022-12-29 18:25:57 +01:00
// initialize
const key =
(window as any)?.__CONFIG__?.VITE_KEY ?? import.meta.env.VITE_KEY ?? null;
if (key) {
2023-02-22 21:41:13 +01:00
(window as any).initMW(conf().PROXY_URLS, key);
2022-12-29 18:25:57 +01:00
}
2023-01-25 21:44:15 +01:00
initializeChromecast();
2023-02-24 20:12:20 +01:00
registerSW({
immediate: true,
2023-02-24 20:12:20 +01:00
});
2021-07-14 00:31:37 +02:00
const LazyLoadedApp = React.lazy(async () => {
await initializeStores();
2023-06-18 14:10:26 +02:00
i18n.changeLanguage(SettingsStore.get().language ?? "en");
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>;
}
2021-07-14 00:31:37 +02:00
ReactDOM.render(
2022-02-16 21:30:12 +01:00
<React.StrictMode>
<ErrorBoundary>
<TheRouter>
2022-12-17 09:54:27 +01:00
<Suspense fallback="">
<LazyLoadedApp />
2022-12-17 09:54:27 +01:00
</Suspense>
</TheRouter>
2022-02-16 21:30:12 +01:00
</ErrorBoundary>
</React.StrictMode>,
document.getElementById("root")
2021-07-14 00:31:37 +02:00
);