import { StrictMode, useEffect } from "react"; import { createRoot } from "react-dom/client"; import "./index.css"; import { createBrowserRouter, RouterProvider } from "react-router"; import Home from "./components/pages/home"; import Layout from "./components/layout/layout"; import Chat from "./components/pages/chat"; import { ThemeProvider } from "./components/theme-provider"; // import { protectedRouteLoader } from "./lib/utils"; import { useUserStore } from "./store"; import NotFound from "./components/pages/not-found"; import SignUp from "./components/pages/sign-up"; import SignIn from "./components/pages/sign-in"; import { Toaster } from "sonner"; import { LucideBadgeAlert } from "lucide-react"; const router = createBrowserRouter([ { Component: Layout, children: [ { index: true, Component: Home }, { path: "/chat", Component: Chat, // loader: protectedRouteLoader, }, { path: "/sign-in", Component: SignIn, }, { path: "/sign-up", Component: SignUp, }, { path: "*", Component: NotFound, }, ], }, ]); const App = () => { const { fetchUser } = useUserStore(); useEffect(() => { fetchUser(); // Fetch the user on app load }, [fetchUser]); return ; }; createRoot(document.getElementById("root")!).render( , }} toastOptions={{ duration: 5000, classNames: { default: "!bg-card !border !border-border !text-card-foreground !gap-1.5", error: "!text-destructive", success: "!text-teal-500", content: "text-base", }, }} /> );