2026-01-21 18:07:55 +09:00
|
|
|
import { BrowserRouter, Routes, Route } from "react-router-dom";
|
|
|
|
|
import { ErrorBoundary, ToastContainer, Layout } from "@/components";
|
|
|
|
|
import { Schedule, Album, Home, Members, NotFound } from "@/pages";
|
2026-01-21 17:54:27 +09:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 프로미스나인 팬사이트 메인 앱
|
|
|
|
|
*
|
2026-01-21 18:07:55 +09:00
|
|
|
* Phase 9: 기타 공개 페이지 마이그레이션
|
|
|
|
|
* - Home 페이지 (PC/Mobile 통합)
|
|
|
|
|
* - Members 페이지 (PC/Mobile 통합)
|
|
|
|
|
* - NotFound 페이지
|
2026-01-21 17:54:27 +09:00
|
|
|
*/
|
|
|
|
|
function App() {
|
2026-01-21 17:04:18 +09:00
|
|
|
return (
|
|
|
|
|
<BrowserRouter>
|
2026-01-21 17:39:48 +09:00
|
|
|
<ErrorBoundary>
|
|
|
|
|
<Routes>
|
2026-01-21 17:54:27 +09:00
|
|
|
{/* 홈 */}
|
2026-01-21 17:39:48 +09:00
|
|
|
<Route
|
|
|
|
|
path="/"
|
|
|
|
|
element={
|
2026-01-21 17:54:27 +09:00
|
|
|
<Layout>
|
|
|
|
|
<Home />
|
|
|
|
|
<ToastContainer />
|
|
|
|
|
</Layout>
|
|
|
|
|
}
|
|
|
|
|
/>
|
2026-01-21 17:11:00 +09:00
|
|
|
|
2026-01-21 18:07:55 +09:00
|
|
|
{/* 멤버 */}
|
2026-01-21 17:54:27 +09:00
|
|
|
<Route
|
2026-01-21 18:07:55 +09:00
|
|
|
path="/members"
|
2026-01-21 17:54:27 +09:00
|
|
|
element={
|
2026-01-21 18:07:55 +09:00
|
|
|
<Layout pageTitle="멤버">
|
|
|
|
|
<Members />
|
2026-01-21 17:39:48 +09:00
|
|
|
<ToastContainer />
|
2026-01-21 17:54:27 +09:00
|
|
|
</Layout>
|
|
|
|
|
}
|
|
|
|
|
/>
|
|
|
|
|
|
2026-01-21 18:07:55 +09:00
|
|
|
{/* 앨범 */}
|
2026-01-21 17:54:27 +09:00
|
|
|
<Route
|
2026-01-21 18:07:55 +09:00
|
|
|
path="/album"
|
2026-01-21 17:54:27 +09:00
|
|
|
element={
|
2026-01-21 18:07:55 +09:00
|
|
|
<Layout pageTitle="앨범">
|
|
|
|
|
<Album />
|
|
|
|
|
<ToastContainer />
|
2026-01-21 17:54:27 +09:00
|
|
|
</Layout>
|
|
|
|
|
}
|
|
|
|
|
/>
|
2026-01-21 18:07:55 +09:00
|
|
|
|
|
|
|
|
{/* 스케줄 */}
|
2026-01-21 17:54:27 +09:00
|
|
|
<Route
|
2026-01-21 18:07:55 +09:00
|
|
|
path="/schedule"
|
2026-01-21 17:54:27 +09:00
|
|
|
element={
|
2026-01-21 18:07:55 +09:00
|
|
|
<Layout useCustomLayout>
|
|
|
|
|
<Schedule />
|
2026-01-21 18:03:06 +09:00
|
|
|
<ToastContainer />
|
2026-01-21 17:54:27 +09:00
|
|
|
</Layout>
|
2026-01-21 17:39:48 +09:00
|
|
|
}
|
|
|
|
|
/>
|
2026-01-21 18:07:55 +09:00
|
|
|
|
|
|
|
|
{/* 404 */}
|
|
|
|
|
<Route
|
|
|
|
|
path="*"
|
|
|
|
|
element={
|
|
|
|
|
<Layout>
|
|
|
|
|
<NotFound />
|
|
|
|
|
</Layout>
|
|
|
|
|
}
|
|
|
|
|
/>
|
2026-01-21 17:39:48 +09:00
|
|
|
</Routes>
|
|
|
|
|
</ErrorBoundary>
|
2026-01-21 17:04:18 +09:00
|
|
|
</BrowserRouter>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default App;
|