31 lines
1.1 KiB
JavaScript
31 lines
1.1 KiB
JavaScript
import React from "react";
|
|
import ReactDOM from "react-dom/client";
|
|
import { RouterProvider } from "react-router-dom";
|
|
import { router } from "./router";
|
|
import { ThemeProvider } from "./context/ThemeContext";
|
|
import { AuthProvider } from "./context/AuthContext";
|
|
import { FontSettingsProvider } from "./context/FontSettingsContext";
|
|
import ErrorBoundary from "./components/ErrorBoundary";
|
|
import { initErrorLogging } from "./utils/errorLogger";
|
|
import { registerPwaServiceWorker } from "./hooks/usePwaStatus";
|
|
import { clearStalePwaCaches } from "./utils/pwaCacheCleanup";
|
|
import "./index.css";
|
|
import "./styles/fontSettings.css";
|
|
|
|
registerPwaServiceWorker();
|
|
initErrorLogging();
|
|
// Purge stale PWA caches on every startup so bloated caches (up to 3GB from old
|
|
// SW versions) are cleared even if the SW hasn't updated yet.
|
|
clearStalePwaCaches();
|
|
|
|
ReactDOM.createRoot(document.getElementById("root")).render(
|
|
<ThemeProvider>
|
|
<AuthProvider>
|
|
<FontSettingsProvider>
|
|
<ErrorBoundary>
|
|
<RouterProvider router={router} />
|
|
</ErrorBoundary>
|
|
</FontSettingsProvider>
|
|
</AuthProvider>
|
|
</ThemeProvider>,
|
|
); |