// src/main.tsx import React from "react"; import ReactDOM from "react-dom/client"; import { RouterProvider } from "react-router-dom"; import CssBaseline from "@mui/material/CssBaseline"; import { LocalizationProvider } from "@mui/x-date-pickers"; // Import LocalizationProvider import { AdapterDateFns } from "@mui/x-date-pickers/AdapterDateFns"; // Import AdapterDateFns import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; // استيراد الإعدادات المخصصة import { getTheme, cacheRtl } from "./theme"; // استيراد Theme الـ MUI المخصص (مع RTL) import { CacheProvider } from "@emotion/react"; import "./fonts/tajawal.css"; // استيراد خط Tajawal المحلي import "./index.css"; // استيراد CSS العام (اختياري) import router from "./router"; import { SettingsProvider } from "./context/SettingsContext"; import { ThemeProvider as TailwindTheme, useTheme as useTailwindTheme } from "./context/ThemeContext"; import { LanguageProvider, useLanguage } from "./context/LanguageContext"; import "./i18n"; import { ThemeProvider } from "@mui/material"; import { useMemo } from "react"; // Bridges the app's light/dark ThemeContext and language/direction into the // MUI theme, so MUI components (tables, dialogs, admin pages) follow the // same mode and direction instead of always rendering light/RTL. function MuiThemeBridge({ children }: { children: React.ReactNode }) { const { resolvedTheme } = useTailwindTheme(); const { direction } = useLanguage(); const muiTheme = useMemo(() => getTheme(resolvedTheme, direction), [resolvedTheme, direction]); return {children}; } console.log("main.tsx: Initializing application..."); // Create a client for React Query const queryClient = new QueryClient({ defaultOptions: { queries: { staleTime: 5 * 60 * 1000, // 5 minutes retry: 2, refetchOnWindowFocus: false, }, mutations: { retry: 1, }, }, }); // --- REMOVE initializeCsrfToken() call --- // initializeCsrfToken().then(() => { ... }).catch(...) // --- Render directly --- const rootElement = document.getElementById("root"); if (!rootElement) { throw new Error("Root element not found"); } ReactDOM.createRoot(rootElement).render( // // );