import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import App from "./App";
import "./index.css";
import "@fontsource/nunito/400.css";
import "@fontsource/nunito/700.css";
import "@fontsource/nunito/800.css";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import GlobalProvider from "./contexts/GlobalProvider";
import { ToastProvider } from "./contexts/ToastProvider";
import ErrorBoundary from "./module/errorboundary";

const client = new QueryClient();
createRoot(document.getElementById("root")!).render(
  <StrictMode>
    <QueryClientProvider client={client}>
      <GlobalProvider>
        <ToastProvider>
          <ErrorBoundary>
            <App />
          </ErrorBoundary>
        </ToastProvider>
      </GlobalProvider>
    </QueryClientProvider>
  </StrictMode>
);
