supersam/src/main.jsx

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>,
);