|
| 1 | +import { useState } from "react"; |
1 | 2 | import { Routes, Route, Navigate } from "react-router"; |
2 | 3 |
|
3 | 4 | import AuthInitializer from "@/hooks/AuthListener"; |
4 | 5 | import AuthLayout from "@/layouts/AuthLayout"; |
5 | 6 | import SignInPage from "@/pages/auth/sign-in/SignInPage"; |
6 | 7 | import SignUpPage from "@/pages/auth/sign-up/SignUpPage"; |
| 8 | +import BootScreen from "@/pages/os/BootScreen"; |
7 | 9 | import OsMain from "@/pages/os/OsMain"; |
8 | 10 | import ProtectedRoute from "@/router/ProtectedRoute"; |
9 | 11 | import PublicRoute from "@/router/PublicRoute"; |
10 | 12 |
|
11 | 13 | export default function App() { |
| 14 | + const [isBooting, setIsBooting] = useState(false); |
| 15 | + const USE_ENTER_MODE = true; |
| 16 | + |
12 | 17 | return ( |
13 | 18 | <> |
14 | 19 | <AuthInitializer /> |
15 | | - <Routes> |
16 | | - <Route element={<PublicRoute />}> |
17 | | - <Route element={<AuthLayout />}> |
18 | | - <Route path="/signin" element={<SignInPage />} /> |
19 | | - <Route path="/signup" element={<SignUpPage />} /> |
| 20 | + {!isBooting ? ( |
| 21 | + <BootScreen onComplete={() => setIsBooting(true)} useEnterMode={USE_ENTER_MODE} /> |
| 22 | + ) : ( |
| 23 | + <Routes> |
| 24 | + <Route element={<PublicRoute />}> |
| 25 | + <Route element={<AuthLayout />}> |
| 26 | + <Route path="/signin" element={<SignInPage />} /> |
| 27 | + <Route path="/signup" element={<SignUpPage />} /> |
| 28 | + </Route> |
| 29 | + </Route> |
| 30 | + |
| 31 | + <Route element={<ProtectedRoute />}> |
| 32 | + <Route path="/" element={<OsMain />} /> |
20 | 33 | </Route> |
21 | | - </Route> |
22 | | - <Route element={<ProtectedRoute />}> |
23 | | - <Route path="/" element={<OsMain />} /> |
24 | | - </Route> |
25 | | - <Route path="*" element={<Navigate to="/" replace />} /> |
26 | | - </Routes> |
| 34 | + |
| 35 | + <Route path="*" element={<Navigate to="/" replace />} /> |
| 36 | + </Routes> |
| 37 | + )} |
27 | 38 | </> |
28 | 39 | ); |
29 | 40 | } |
0 commit comments