import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import '@core/i18n/i18n.ts';
import App from "./App.tsx";
import { AppWrapper } from "./shared/components/common/PageMeta.tsx";
// import { ThemeProvider } from "@shared/context/ThemeContext.tsx";
import LanguageProvider from "@shared/components/languageProvider/LanguageProvider.tsx";
import { store } from "@core/store";
import { Provider } from "react-redux";
import './index.css';
import { MantineProvider } from "@mantine/core";
// Mantine CSS is NOT loaded here - it's loaded conditionally in dashboard modules only
// This saves ~233KB on landing pages
// TipTap CSS is loaded conditionally when needed (only in admin dashboard)
import Toast from "@shared/components/Toast";
import { AuthProvider } from "./domains/auth";
import { GoogleOAuthProvider } from "@react-oauth/google";




createRoot(document.getElementById("root")!).render(
  <StrictMode>
    {/* <ThemeProvider> */}
    <AppWrapper>
      <MantineProvider defaultColorScheme="light">
        <LanguageProvider>
          <Provider store={store}>
            <GoogleOAuthProvider clientId={import.meta.env.VITE_GOOGLE_CLIENT_ID}>
                <AuthProvider>
                  <App />
                  <Toast />
                </AuthProvider>
            </GoogleOAuthProvider>
          </Provider>
        </LanguageProvider>
      </MantineProvider>
    </AppWrapper>
    {/* </ThemeProvider> */}
  </StrictMode>,
);