import React from "react";
import ReactDOM from "react-dom/client";
import { BrowserRouter } from "react-router-dom";

import App from "./App";
import { MiniCartProvider } from "./context/MiniCartContext";

import "./styles/main.scss";

import { ThemeProvider } from "./context/ThemeContext";
import { CartProvider } from "./context/CartContext";
import { AuthProvider } from "./context/AuthContext";
import { CategoriesProvider } from "./context/CategoriesContext";
import { ProductsProvider } from "./context/ProductsContext";

ReactDOM.createRoot(document.getElementById("root")!).render(
  <React.StrictMode>
    <BrowserRouter>
      <ThemeProvider>
        <CategoriesProvider>
          <ProductsProvider>
            <AuthProvider>
              <CartProvider>
                <MiniCartProvider>
                  <App />
                </MiniCartProvider>
              </CartProvider>
            </AuthProvider>
          </ProductsProvider>
        </CategoriesProvider>
      </ThemeProvider>
    </BrowserRouter>
  </React.StrictMode>
);