generated from pricelees/issue-pr-template
<!-- 제목 양식 --> <!-- [이슈번호] 작업 요약 (예시: [#10] Gitea 템플릿 생성) --> ## 📝 관련 이슈 및 PR **PR과 관련된 이슈 번호** - #44 ## ✨ 작업 내용 <!-- 어떤 작업을 했는지 알려주세요! --> - 매장 기능 도입 및 기존 기능에 적용 - 관리자 타입(본사, 매장, 전체) 분리 및 API별 적용 ## 🧪 테스트 <!-- 어떤 테스트를 생각했고 진행했는지 알려주세요! --> - 신규 기능 및 매장 기능 도입으로 수정된 기존 API 모두 통합 테스트 완료 ## 📚 참고 자료 및 기타 <!-- 참고한 자료, 또는 논의할 사항이 있다면 알려주세요! --> - 아직 미결제 예약 스케쥴링 작업 등 추가적인 작업이 필요하긴 하지만, 이 작업들은 배포 후 추가로 진행할 예정 - 다음 작업은 배포 + 초기 데이터 삽입 Reviewed-on: #45 Co-authored-by: pricelees <priceelees@gmail.com> Co-committed-by: pricelees <priceelees@gmail.com>
65 lines
3.3 KiB
TypeScript
65 lines
3.3 KiB
TypeScript
import { BrowserRouter as Router, Route, Routes } from 'react-router-dom';
|
|
import Layout from './components/Layout';
|
|
import { AdminAuthProvider } from './context/AdminAuthContext';
|
|
import { AuthProvider } from './context/AuthContext';
|
|
import AdminLayout from './pages/admin/AdminLayout';
|
|
import AdminLoginPage from './pages/admin/AdminLoginPage';
|
|
import AdminPage from './pages/admin/AdminPage';
|
|
import AdminSchedulePage from './pages/admin/AdminSchedulePage';
|
|
import AdminStorePage from './pages/admin/AdminStorePage';
|
|
import AdminThemeEditPage from './pages/admin/AdminThemeEditPage';
|
|
import AdminThemePage from './pages/admin/AdminThemePage';
|
|
import HomePage from '@_pages/HomePage';
|
|
import LoginPage from '@_pages/LoginPage';
|
|
import MyReservationPage from '@_pages/MyReservationPage';
|
|
import ReservationFormPage from '@_pages/ReservationFormPage';
|
|
import ReservationStep1Page from '@_pages/ReservationStep1Page';
|
|
import ReservationStep2Page from '@_pages/ReservationStep2Page';
|
|
import ReservationSuccessPage from '@_pages/ReservationSuccessPage';
|
|
import SignupPage from '@_pages/SignupPage';
|
|
|
|
function App() {
|
|
return (
|
|
<AuthProvider>
|
|
<Router>
|
|
<Routes>
|
|
<Route path="/admin/*" element={
|
|
<AdminAuthProvider>
|
|
<Routes>
|
|
<Route path="/login" element={<AdminLoginPage />} />
|
|
<Route path="/*" element={
|
|
<AdminLayout>
|
|
<Routes>
|
|
<Route path="/" element={<AdminPage />} />
|
|
<Route path="/theme" element={<AdminThemePage />} />
|
|
<Route path="/theme/edit/:themeId" element={<AdminThemeEditPage />} />
|
|
<Route path="/store" element={<AdminStorePage />} />
|
|
<Route path="/schedule" element={<AdminSchedulePage />} />
|
|
</Routes>
|
|
</AdminLayout>
|
|
} />
|
|
</Routes>
|
|
</AdminAuthProvider>
|
|
} />
|
|
<Route path="/*" element={
|
|
<Layout>
|
|
<Routes>
|
|
<Route path="/" element={<HomePage/>} />
|
|
<Route path="/login" element={<LoginPage />} />
|
|
<Route path="/signup" element={<SignupPage />} />
|
|
<Route path="/reservation" element={<ReservationStep1Page />} />
|
|
<Route path="/reservation/form" element={<ReservationFormPage />} />
|
|
<Route path="/reservation/payment" element={<ReservationStep2Page />} />
|
|
<Route path="/reservation/success" element={<ReservationSuccessPage />} />
|
|
<Route path="/my-reservation" element={<MyReservationPage />} />
|
|
</Routes>
|
|
</Layout>
|
|
} />
|
|
</Routes>
|
|
</Router>
|
|
</AuthProvider>
|
|
);
|
|
}
|
|
|
|
export default App;
|