Skip to content

Commit e3220e0

Browse files
committed
feat(os): 부팅 화면 및 윈도우 시작음 기능 추가
1 parent dab4d8c commit e3220e0

5 files changed

Lines changed: 24 additions & 21 deletions

File tree

src/App.tsx

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,40 @@
1+
import { useState } from "react";
12
import { Routes, Route, Navigate } from "react-router";
23

34
import AuthInitializer from "@/hooks/AuthListener";
45
import AuthLayout from "@/layouts/AuthLayout";
56
import SignInPage from "@/pages/auth/sign-in/SignInPage";
67
import SignUpPage from "@/pages/auth/sign-up/SignUpPage";
8+
import BootScreen from "@/pages/os/BootScreen";
79
import OsMain from "@/pages/os/OsMain";
810
import ProtectedRoute from "@/router/ProtectedRoute";
911
import PublicRoute from "@/router/PublicRoute";
1012

1113
export default function App() {
14+
const [isBooting, setIsBooting] = useState(false);
15+
const USE_ENTER_MODE = true;
16+
1217
return (
1318
<>
1419
<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 />} />
2033
</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+
)}
2738
</>
2839
);
2940
}

src/assets/os/bios.png

151 KB
Loading
159 KB
Binary file not shown.

src/router/ProtectedRoute.tsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,7 @@ import { Navigate, Outlet } from "react-router";
33
import { useAuthUser } from "@/hooks/useAuthUser";
44

55
export default function ProtectedRoute() {
6-
const { isLoggedIn, isLoading } = useAuthUser();
7-
8-
if (isLoading) {
9-
return <div>Loading...</div>;
10-
}
6+
const { isLoggedIn } = useAuthUser();
117

128
if (!isLoggedIn) {
139
return <Navigate to="/signin" replace />;

src/router/PublicRoute.tsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,7 @@ import { Navigate, Outlet } from "react-router";
33
import { useAuthUser } from "@/hooks/useAuthUser";
44

55
export default function PublicRoute() {
6-
const { isLoggedIn, isLoading } = useAuthUser();
7-
8-
if (isLoading) {
9-
return <div>Loading...</div>;
10-
}
6+
const { isLoggedIn } = useAuthUser();
117

128
if (isLoggedIn) {
139
return <Navigate to="/" replace />;

0 commit comments

Comments
 (0)