import React, { useState } from 'react' import { LayoutDashboard, FileText, BarChart2, BookOpen, Settings, ScrollText, UserCheck } from 'lucide-react' import Overview from './pages/Overview.jsx' import Content from './pages/Content.jsx' import Analytics from './pages/Analytics.jsx' import Novel from './pages/Novel.jsx' import SettingsPage from './pages/Settings.jsx' import Logs from './pages/Logs.jsx' import Assist from './pages/Assist.jsx' const TABS = [ { id: 'overview', label: '개요', icon: LayoutDashboard, component: Overview }, { id: 'content', label: '콘텐츠', icon: FileText, component: Content }, { id: 'assist', label: '수동모드', icon: UserCheck, component: Assist }, { id: 'analytics', label: '분석', icon: BarChart2, component: Analytics }, { id: 'novel', label: '소설', icon: BookOpen, component: Novel }, { id: 'settings', label: '설정', icon: Settings, component: SettingsPage }, { id: 'logs', label: '로그', icon: ScrollText, component: Logs }, ] export default function App() { const [activeTab, setActiveTab] = useState('overview') const [systemStatus, setSystemStatus] = useState('ok') // ok | warn | error const ActiveComponent = TABS.find(t => t.id === activeTab)?.component || Overview return (
{/* 헤더 */}
The 4th Path · Control Panel
{systemStatus === 'ok' ? 'System OK' : systemStatus === 'warn' ? '경고' : '오류'}
{/* 탭 네비게이션 */} {/* 메인 컨텐츠 */}
) }