Files
edr-platform/apps/edr-freight-web/backoffice/src/main.tsx
2026-06-04 15:16:27 +03:00

55 lines
1.4 KiB
TypeScript

import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import { BrowserRouter } from "react-router-dom";
import "@edr/ui-common/styles.css";
import "../index.css";
import "@edr/ui-common/theme.css";
import { Toaster } from "react-hot-toast";
import App from "./App";
import { AuthProvider } from "./auth/AuthProvider";
import { QueryClientProvider } from "@tanstack/react-query";
import { queryClient } from "./lib/queryClient";
const THEME_STORAGE_KEY = "edr-theme";
const applyStoredTheme = () => {
const storedTheme = window.localStorage.getItem(THEME_STORAGE_KEY);
const prefersDark = window.matchMedia?.("(prefers-color-scheme: dark)").matches;
const theme = storedTheme === "dark" || storedTheme === "light"
? storedTheme
: prefersDark
? "dark"
: "light";
if (theme === "dark") {
document.documentElement.classList.add("dark");
return;
}
document.documentElement.classList.remove("dark");
};
applyStoredTheme();
const rootElement = document.getElementById("root");
if (!rootElement) {
throw new Error("Root element not found");
}
createRoot(rootElement).render(
<QueryClientProvider client={queryClient}>
<StrictMode>
<BrowserRouter>
<AuthProvider>
<App />
<Toaster position="top-right" />
</AuthProvider>
</BrowserRouter>
</StrictMode>,
</QueryClientProvider>
);