1+ import { Suspense } from 'react' ;
12import { Route , Routes } from 'react-router' ;
23
34import useViewport from './hooks/useViewport' ;
@@ -29,6 +30,35 @@ import WritePage from './pages/Write';
2930import ShareApprovalPage from './pages/Share' ;
3031import useThemeStore from './stores/themeStore' ;
3132
33+ // const Layout = lazy(() => import('./layouts/Layout'));
34+ // const MobileLayout = lazy(() => import('./layouts/MobileLayout'));
35+ // const PrivateRoute = lazy(() => import('./layouts/PrivateRoute'));
36+ // const AuthCallbackPage = lazy(() => import('./pages/Auth'));
37+
38+ // const AdminPage = lazy(() => import('./pages/Admin'));
39+ // const FilteringManage = lazy(() => import('./pages/Admin/Filtering'));
40+ // const ReportManage = lazy(() => import('./pages/Admin/Report'));
41+ // const AdminRollingPaper = lazy(() => import('./pages/Admin/RollingPaper'));
42+ // const AdminRoute = lazy(() => import('./layouts/AdminRoute'));
43+ // const Home = lazy(() => import('./pages/Home'));
44+ // const Landing = lazy(() => import('./pages/Landing'));
45+ // const LetterBoardPage = lazy(() => import('./pages/LetterBoard'));
46+ // const LetterBoardDetailPage = lazy(() => import('./pages/LetterBoardDetail'));
47+ // const LetterBoxPage = lazy(() => import('./pages/LetterBox'));
48+ // const LetterBoxDetailPage = lazy(() => import('./pages/LetterBoxDetail'));
49+ // const LetterDetailPage = lazy(() => import('./pages/LetterDetail'));
50+ // const LoginPage = lazy(() => import('./pages/Login'));
51+ // const MyPage = lazy(() => import('./pages/MyPage'));
52+ // const MyBoardPage = lazy(() => import('./pages/MyPage/components/MyBoardPage'));
53+ // const NotFoundPage = lazy(() => import('./pages/NotFound'));
54+ // const NotificationsPage = lazy(() => import('./pages/Notifications'));
55+ // const OnboardingPage = lazy(() => import('./pages/Onboarding'));
56+ // const RandomLettersPage = lazy(() => import('./pages/RandomLetters'));
57+ // const RollingPaperPage = lazy(() => import('./pages/RollingPaper'));
58+ // const WritePage = lazy(() => import('./pages/Write'));
59+ // const ShareApprovalPage = lazy(() => import('./pages/Share'));
60+ // const useThemeStore = lazy(() => import('./stores/themeStore'));
61+
3262const App = ( ) => {
3363 const theme = useThemeStore ( ( state ) => state . theme ) ;
3464 useViewport ( ) ;
@@ -44,49 +74,51 @@ const App = () => {
4474 initializeTheme ( ) ;
4575
4676 return (
47- < Routes >
48- < Route element = { < MobileLayout /> } >
49- < Route path = "login" element = { < LoginPage /> } />
50- < Route path = "landing" element = { < Landing /> } />
51- < Route path = "*" element = { < NotFoundPage /> } />
52- < Route path = "auth-callback" element = { < AuthCallbackPage /> } />
53- < Route path = "onboarding" element = { < OnboardingPage /> } />
77+ < Suspense fallback = { < div > 로딩중</ div > } >
78+ < Routes >
79+ < Route element = { < MobileLayout /> } >
80+ < Route path = "login" element = { < LoginPage /> } />
81+ < Route path = "landing" element = { < Landing /> } />
82+ < Route path = "*" element = { < NotFoundPage /> } />
83+ < Route path = "auth-callback" element = { < AuthCallbackPage /> } />
84+ < Route path = "onboarding" element = { < OnboardingPage /> } />
5485
55- < Route element = { < PrivateRoute /> } >
56- < Route index element = { < Home /> } />
57- < Route path = "letter" >
58- < Route element = { < Layout /> } >
59- < Route path = "random" element = { < RandomLettersPage /> } />
60- < Route path = "box" element = { < LetterBoxPage /> } />
61- < Route path = "box/:id" element = { < LetterBoxDetailPage /> } />
86+ < Route element = { < PrivateRoute /> } >
87+ < Route index element = { < Home /> } />
88+ < Route path = "letter" >
89+ < Route element = { < Layout /> } >
90+ < Route path = "random" element = { < RandomLettersPage /> } />
91+ < Route path = "box" element = { < LetterBoxPage /> } />
92+ < Route path = "box/:id" element = { < LetterBoxDetailPage /> } />
93+ </ Route >
94+ < Route path = "write" element = { < WritePage /> } />
95+ < Route path = ":id" element = { < LetterDetailPage /> } />
6296 </ Route >
63- < Route path = "write" element = { < WritePage /> } />
64- < Route path = ":id" element = { < LetterDetailPage /> } />
65- </ Route >
66- < Route path = "board" >
67- < Route element = { < Layout /> } >
68- < Route path = "rolling/:id" element = { < RollingPaperPage /> } />
69- < Route path = "letter" element = { < LetterBoardPage /> } />
97+ < Route path = "board" >
98+ < Route element = { < Layout /> } >
99+ < Route path = "rolling/:id" element = { < RollingPaperPage /> } />
100+ < Route path = "letter" element = { < LetterBoardPage /> } />
101+ </ Route >
102+ < Route path = "letter/:id" element = { < LetterBoardDetailPage /> } />
103+ < Route path = "share/:shareProposalId" element = { < ShareApprovalPage /> } />
104+ </ Route >
105+ < Route path = "mypage" element = { < Layout /> } >
106+ < Route index element = { < MyPage /> } />
107+ < Route path = "board" element = { < MyBoardPage /> } />
108+ < Route path = "notifications" element = { < NotificationsPage /> } />
70109 </ Route >
71- < Route path = "letter/:id" element = { < LetterBoardDetailPage /> } />
72- < Route path = "share/:shareProposalId" element = { < ShareApprovalPage /> } />
73- </ Route >
74- < Route path = "mypage" element = { < Layout /> } >
75- < Route index element = { < MyPage /> } />
76- < Route path = "board" element = { < MyBoardPage /> } />
77- < Route path = "notifications" element = { < NotificationsPage /> } />
78110 </ Route >
79111 </ Route >
80- </ Route >
81112
82- < Route element = { < AdminRoute /> } >
83- < Route path = "admin" element = { < AdminPage /> } >
84- < Route path = "report" element = { < ReportManage /> } />
85- < Route path = "badwords" element = { < FilteringManage /> } />
86- < Route path = "rolling-paper" element = { < AdminRollingPaper /> } />
113+ < Route element = { < AdminRoute /> } >
114+ < Route path = "admin" element = { < AdminPage /> } >
115+ < Route path = "report" element = { < ReportManage /> } />
116+ < Route path = "badwords" element = { < FilteringManage /> } />
117+ < Route path = "rolling-paper" element = { < AdminRollingPaper /> } />
118+ </ Route >
87119 </ Route >
88- </ Route >
89- </ Routes >
120+ </ Routes >
121+ </ Suspense >
90122 ) ;
91123} ;
92124
0 commit comments