| import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; | |
| import { BrowserRouter, Route, Routes } from "react-router-dom"; | |
| import { Toaster as Sonner } from "@/components/ui/sonner"; | |
| import { Toaster } from "@/components/ui/toaster"; | |
| import { TooltipProvider } from "@/components/ui/tooltip"; | |
| import { AuthProvider } from "@/hooks/useAuth"; | |
| import RequireAuth from "@/components/RequireAuth"; | |
| import Index from "./pages/Index"; | |
| import Auth from "./pages/Auth"; | |
| import AppHome from "./pages/AppHome"; | |
| import AppEmpty from "./pages/AppEmpty"; | |
| import DocumentWorkspace from "./pages/DocumentWorkspace"; | |
| import NotFound from "./pages/NotFound"; | |
| const queryClient = new QueryClient(); | |
| const App = () => ( | |
| <QueryClientProvider client={queryClient}> | |
| <TooltipProvider> | |
| <Toaster /> | |
| <Sonner /> | |
| <BrowserRouter> | |
| <AuthProvider> | |
| <Routes> | |
| <Route path="/" element={<Index />} /> | |
| <Route path="/auth" element={<Auth />} /> | |
| <Route | |
| path="/app" | |
| element={ | |
| <RequireAuth> | |
| <AppHome /> | |
| </RequireAuth> | |
| } | |
| > | |
| <Route index element={<AppEmpty />} /> | |
| <Route path="doc/:docId" element={<DocumentWorkspace />} /> | |
| </Route> | |
| <Route path="*" element={<NotFound />} /> | |
| </Routes> | |
| </AuthProvider> | |
| </BrowserRouter> | |
| </TooltipProvider> | |
| </QueryClientProvider> | |
| ); | |
| export default App; | |