import { useState, useEffect } from 'react' import { LayoutDashboard, Disc, Settings, Sun, Moon, Terminal, BookOpen } from 'lucide-react' import { api } from './lib/api' import { useDarkMode } from './context/ThemeContext' import Dashboard from './pages/Dashboard' import AnleitungPage from './pages/Anleitung' import SettingsPage from './pages/Settings' import LogsPage from './pages/Logs' import FirstRunWizard from './components/FirstRunWizard' // Metadaten-Seite entfernt (24.07., Abnahme durch den Commander): die // Korrektur läuft komplett über das „Nicht korrekt?"-Popup am Dashboard. type Page = 'dashboard' | 'anleitung' | 'settings' | 'logs' function App() { const [page, setPage] = useState('dashboard') const [setupDone, setSetupDone] = useState(null) const { theme, toggleTheme } = useDarkMode() useEffect(() => { api.get('/setup') .then(r => setSetupDone(!!r.data.done)) .catch(() => setSetupDone(true)) // API nicht erreichbar → kein Wizard-Zwang }, []) if (setupDone === false) { return setSetupDone(true)} /> } const navItems = [ { id: 'dashboard', label: 'Dashboard', icon: LayoutDashboard }, { id: 'anleitung', label: 'Anleitung', icon: BookOpen }, { id: 'logs', label: 'Logs', icon: Terminal }, { id: 'settings', label: 'Einstellungen', icon: Settings }, ] return (
{/* Sidebar */} {/* Main Content */}
{page === 'dashboard' && } {page === 'anleitung' && } {page === 'logs' && } {page === 'settings' && }
) } export default App