import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { RouterProvider } from "react-router-dom";
import "./index.css";
import { ApiProvider } from "./api/provider";
import { BookingProvider } from "./store/booking";
import { router } from "./router";

const queryClient = new QueryClient({
  defaultOptions: {
    queries: { staleTime: 60_000, refetchOnWindowFocus: false, retry: 1 },
  },
});

createRoot(document.getElementById("root")!).render(
  <StrictMode>
    <QueryClientProvider client={queryClient}>
      <ApiProvider>
        <BookingProvider>
          <RouterProvider router={router} />
        </BookingProvider>
      </ApiProvider>
    </QueryClientProvider>
  </StrictMode>,
);
