diff --git a/src/App.tsx b/src/App.tsx index 58ac980..75ede5e 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,40 +1,29 @@ -import { useState } from "react"; import { Routes, Route, Navigate } from "react-router"; import AuthInitializer from "@/hooks/AuthListener"; import AuthLayout from "@/layouts/AuthLayout"; import SignInPage from "@/pages/auth/sign-in/SignInPage"; import SignUpPage from "@/pages/auth/sign-up/SignUpPage"; -import BootScreen from "@/pages/os/BootScreen"; import OsMain from "@/pages/os/OsMain"; import ProtectedRoute from "@/router/ProtectedRoute"; import PublicRoute from "@/router/PublicRoute"; export default function App() { - const [isBooting, setIsBooting] = useState(false); - const USE_ENTER_MODE = true; - return ( <> - {!isBooting ? ( - setIsBooting(true)} useEnterMode={USE_ENTER_MODE} /> - ) : ( - - }> - }> - } /> - } /> - - - - }> - } /> + + }> + }> + } /> + } /> - - } /> - - )} + + }> + } /> + + } /> + ); } diff --git a/src/assets/cursors/default.svg b/src/assets/cursors/default.svg deleted file mode 100644 index 33caa93..0000000 --- a/src/assets/cursors/default.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/assets/cursors/disabled.svg b/src/assets/cursors/disabled.svg deleted file mode 100644 index 61dd734..0000000 --- a/src/assets/cursors/disabled.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/assets/cursors/loading.svg b/src/assets/cursors/loading.svg deleted file mode 100644 index 305dcd6..0000000 --- a/src/assets/cursors/loading.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/assets/cursors/pointer.svg b/src/assets/cursors/pointer.svg deleted file mode 100644 index a794fc9..0000000 --- a/src/assets/cursors/pointer.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/assets/os/bios.png b/src/assets/os/bios.png deleted file mode 100644 index 7984a05..0000000 Binary files a/src/assets/os/bios.png and /dev/null differ diff --git a/src/assets/sounds/windows95-startup-sound.mp3 b/src/assets/sounds/windows95-startup-sound.mp3 deleted file mode 100644 index b9e0f6f..0000000 Binary files a/src/assets/sounds/windows95-startup-sound.mp3 and /dev/null differ diff --git a/src/pages/os/BootScreen.tsx b/src/pages/os/BootScreen.tsx deleted file mode 100644 index e58a66e..0000000 --- a/src/pages/os/BootScreen.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import { useEffect } from "react"; - -import Bios from "@/assets/os/bios.png"; -import StartupSound from "@/assets/sounds/windows95-startup-sound.mp3"; - -interface BootScreenProps { - onComplete: () => void; - useEnterMode: boolean; -} - -export default function BootScreen({ onComplete, useEnterMode }: BootScreenProps) { - useEffect(() => { - if (!useEnterMode) return; - - const handleKeyDown = async (event: KeyboardEvent) => { - if (event.key === "Enter") { - onComplete(); - - try { - const audio = new Audio(StartupSound); - audio.volume = 0.1; - await audio.play(); - } catch (error) { - console.error("오디오 에러:", error); - } - } - }; - - window.addEventListener("keydown", handleKeyDown); - - return () => window.removeEventListener("keydown", handleKeyDown); - }, [useEnterMode, onComplete]); - - useEffect(() => { - if (useEnterMode) return; - - const timer = setTimeout(() => { - onComplete(); - }, 2000); - - return () => clearTimeout(timer); - }, [useEnterMode, onComplete]); - - return ( -
-
- 바이오스 화면 -
-
- ); -} diff --git a/src/router/ProtectedRoute.tsx b/src/router/ProtectedRoute.tsx index 787727f..8cb120f 100644 --- a/src/router/ProtectedRoute.tsx +++ b/src/router/ProtectedRoute.tsx @@ -3,7 +3,11 @@ import { Navigate, Outlet } from "react-router"; import { useAuthUser } from "@/hooks/useAuthUser"; export default function ProtectedRoute() { - const { isLoggedIn } = useAuthUser(); + const { isLoggedIn, isLoading } = useAuthUser(); + + if (isLoading) { + return
Loading...
; + } if (!isLoggedIn) { return ; diff --git a/src/router/PublicRoute.tsx b/src/router/PublicRoute.tsx index 1c2d295..1cca07c 100644 --- a/src/router/PublicRoute.tsx +++ b/src/router/PublicRoute.tsx @@ -3,7 +3,11 @@ import { Navigate, Outlet } from "react-router"; import { useAuthUser } from "@/hooks/useAuthUser"; export default function PublicRoute() { - const { isLoggedIn } = useAuthUser(); + const { isLoggedIn, isLoading } = useAuthUser(); + + if (isLoading) { + return
Loading...
; + } if (isLoggedIn) { return ;