11import { HashRouter , Navigate , Routes , Route } from "react-router-dom" ;
22import { Suspense , lazy , useEffect , useState } from "react" ;
3+ import { AuthProvider } from "./auth/AuthContext" ;
34import Navbar from "./components/Navbar" ;
45import {
56 getInitialTheme ,
@@ -10,11 +11,14 @@ import {
1011const HomePage = lazy ( ( ) => import ( "./pages/HomePage" ) ) ;
1112const GraphPage = lazy ( ( ) => import ( "./pages/GraphPage" ) ) ;
1213const SearchPage = lazy ( ( ) => import ( "./pages/SearchPage" ) ) ;
14+ const LeaderboardPage = lazy ( ( ) => import ( "./pages/LeaderboardPage" ) ) ;
1315const GuidePage = lazy ( ( ) => import ( "./pages/GuidePage" ) ) ;
1416const QuickstartPage = lazy ( ( ) => import ( "./pages/QuickstartPage" ) ) ;
1517const AutoresearchPage = lazy ( ( ) => import ( "./pages/AutoresearchPage" ) ) ;
1618const ParameterGolfPage = lazy ( ( ) => import ( "./pages/ParameterGolfPage" ) ) ;
1719const ReferencePage = lazy ( ( ) => import ( "./pages/ReferencePage" ) ) ;
20+ const AuthCallbackPage = lazy ( ( ) => import ( "./pages/AuthCallbackPage" ) ) ;
21+ const AccountPage = lazy ( ( ) => import ( "./pages/AccountPage" ) ) ;
1822
1923function LoadingFallback ( ) {
2024 return (
@@ -45,31 +49,36 @@ export default function App() {
4549
4650 return (
4751 < HashRouter >
48- < div className = "app-shell min-h-screen" >
49- < Navbar
50- theme = { theme }
51- onToggleTheme = { ( ) =>
52- setTheme ( ( current ) => ( current === "dark" ? "light" : "dark" ) )
53- }
54- />
55- < Suspense fallback = { < LoadingFallback /> } >
56- < Routes >
57- < Route path = "/" element = { < HomePage /> } />
58- < Route path = "/graph" element = { < GraphPage /> } />
59- < Route path = "/search" element = { < SearchPage /> } />
60- < Route path = "/guide" element = { < Navigate to = "/docs" replace /> } />
61- < Route path = "/docs" element = { < GuidePage /> } />
62- < Route path = "/docs/quickstart" element = { < QuickstartPage /> } />
63- < Route path = "/docs/integration" element = { < AutoresearchPage /> } />
64- < Route path = "/docs/examples" element = { < ParameterGolfPage /> } />
65- < Route
66- path = "/docs/parameter-golf"
67- element = { < Navigate to = "/docs/examples" replace /> }
68- />
69- < Route path = "/docs/reference" element = { < ReferencePage /> } />
70- </ Routes >
71- </ Suspense >
72- </ div >
52+ < AuthProvider >
53+ < div className = "app-shell min-h-screen" >
54+ < Navbar
55+ theme = { theme }
56+ onToggleTheme = { ( ) =>
57+ setTheme ( ( current ) => ( current === "dark" ? "light" : "dark" ) )
58+ }
59+ />
60+ < Suspense fallback = { < LoadingFallback /> } >
61+ < Routes >
62+ < Route path = "/" element = { < HomePage /> } />
63+ < Route path = "/graph" element = { < GraphPage /> } />
64+ < Route path = "/search" element = { < SearchPage /> } />
65+ < Route path = "/leaderboard" element = { < LeaderboardPage /> } />
66+ < Route path = "/auth/callback" element = { < AuthCallbackPage /> } />
67+ < Route path = "/account" element = { < AccountPage /> } />
68+ < Route path = "/guide" element = { < Navigate to = "/docs" replace /> } />
69+ < Route path = "/docs" element = { < GuidePage /> } />
70+ < Route path = "/docs/quickstart" element = { < QuickstartPage /> } />
71+ < Route path = "/docs/integration" element = { < AutoresearchPage /> } />
72+ < Route path = "/docs/examples" element = { < ParameterGolfPage /> } />
73+ < Route
74+ path = "/docs/parameter-golf"
75+ element = { < Navigate to = "/docs/examples" replace /> }
76+ />
77+ < Route path = "/docs/reference" element = { < ReferencePage /> } />
78+ </ Routes >
79+ </ Suspense >
80+ </ div >
81+ </ AuthProvider >
7382 </ HashRouter >
7483 ) ;
7584}
0 commit comments