import { useEffect } from 'react'; import { BrowserRouter, Routes, Route } from 'react-router-dom'; import { BrowserView, MobileView } from 'react-device-detect'; // 공통 컴포넌트 import ScrollToTop from './components/ScrollToTop'; // PC 페이지 import PCHome from './pages/pc/public/Home'; import PCMembers from './pages/pc/public/Members'; import PCAlbum from './pages/pc/public/Album'; import PCAlbumDetail from './pages/pc/public/AlbumDetail'; import PCAlbumGallery from './pages/pc/public/AlbumGallery'; import PCTrackDetail from './pages/pc/public/TrackDetail'; import PCSchedule from './pages/pc/public/Schedule'; // 모바일 페이지 import MobileHome from './pages/mobile/public/Home'; import MobileMembers from './pages/mobile/public/Members'; import MobileAlbum from './pages/mobile/public/Album'; import MobileAlbumDetail from './pages/mobile/public/AlbumDetail'; import MobileAlbumGallery from './pages/mobile/public/AlbumGallery'; import MobileTrackDetail from './pages/mobile/public/TrackDetail'; import MobileSchedule from './pages/mobile/public/Schedule'; // 관리자 페이지 import AdminLogin from './pages/pc/admin/AdminLogin'; import AdminDashboard from './pages/pc/admin/AdminDashboard'; import AdminMembers from './pages/pc/admin/AdminMembers'; import AdminMemberEdit from './pages/pc/admin/AdminMemberEdit'; import AdminAlbums from './pages/pc/admin/AdminAlbums'; import AdminAlbumForm from './pages/pc/admin/AdminAlbumForm'; import AdminAlbumPhotos from './pages/pc/admin/AdminAlbumPhotos'; import AdminSchedule from './pages/pc/admin/AdminSchedule'; import AdminScheduleForm from './pages/pc/admin/AdminScheduleForm'; import AdminScheduleCategory from './pages/pc/admin/AdminScheduleCategory'; import AdminScheduleBots from './pages/pc/admin/AdminScheduleBots'; // 레이아웃 import PCLayout from './components/pc/Layout'; import MobileLayout from './components/mobile/Layout'; // PC 환경에서 body에 클래스 추가하는 래퍼 function PCWrapper({ children }) { useEffect(() => { document.body.classList.add('is-pc'); return () => document.body.classList.remove('is-pc'); }, []); return children; } function App() { return ( {/* 관리자 페이지 (레이아웃 없음) */} } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> {/* 일반 페이지 (레이아웃 포함) */} } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> ); } export default App;