import {Building2, CalendarDays, MessageSquareQuote} from 'lucide-react'; import {createBrowserRouter, Navigate, Outlet} from 'react-router'; import {AppShell, type NavItem} from '@/components/layout/AppShell'; import {RequireAuth} from '@/components/layout/RequireAuth'; import {LocalContentPage} from '@admin/pages/LocalContentPage'; import {ReviewModerationPage} from '@admin/pages/ReviewModerationPage'; import {LoginPage} from '@/pages/LoginPage'; import {NotFoundPage} from '@/pages/NotFoundPage'; import {PlaceDetailPage} from '@admin/pages/PlaceDetailPage'; import {PlaceListPage} from '@admin/pages/PlaceListPage'; import {SeoAuditPage} from '@admin/pages/SeoAuditPage'; /** 내부 메뉴는 여기 있다. */ const ADMIN_NAV: NavItem[] = [ {to: '/places', match: '/places', label: '사업장', icon: Building2}, {to: '/local-content', match: '/local-content', label: '지역 콘텐츠', icon: CalendarDays}, {to: '/reviews', match: '/reviews', label: '이용 후기', icon: MessageSquareQuote}, ]; /** 내부 운영 화면. */ export const router = createBrowserRouter([ // selfServe=false: 내부 운영 계정은 우리가 만들어 준다 — 가입 링크도 구글 로그인도 두지 않는다. {path: '/login', element: }, {path: '/', element: }, { element: ( ), children: [ {path: '/places', element: }, {path: '/places/:placeId', element: }, {path: '/places/:placeId/seo', element: }, {path: '/local-content', element: }, {path: '/reviews', element: }, ], }, {path: '*', element: }, ]);