// src/renderer/components/AppLayout.tsx
import { useState } from 'react'
import {
Box,
Drawer,
List,
ListItemButton,
ListItemIcon,
ListItemText,
Divider,
Typography,
Chip
} from '@mui/material'
import DashboardIcon from '@mui/icons-material/Dashboard'
import HistoryIcon from '@mui/icons-material/History'
import MenuBookIcon from '@mui/icons-material/MenuBook'
import SettingsIcon from '@mui/icons-material/Settings'
import { DashboardPage } from '../pages/DashboardPage'
import { SettingsModal } from './SettingsModal'
import { StatusBar } from './StatusBar'
type Route = 'dashboard' | 'history' | 'dictionary'
const DRAWER_WIDTH = 240
const NAV_ITEMS: Array<{ route: Route; label: string; icon: React.ReactElement }> = [
{ route: 'dashboard', label: 'Dashboard', icon: },
{ route: 'history', label: 'History', icon: },
{ route: 'dictionary', label: 'Dictionary', icon: }
]
export function AppLayout(): React.ReactElement {
const [currentRoute, setCurrentRoute] = useState('dashboard')
const [settingsOpen, setSettingsOpen] = useState(false)
return (
{/* Sidebar Drawer */}
{/* Header */}
D3RO Voice
{/* Navigation */}
{NAV_ITEMS.map((item) => (
setCurrentRoute(item.route)}
sx={{ my: 0.5 }}
>
{item.icon}
))}
{/* Bottom */}
setSettingsOpen(true)}>
{/* Content Area */}
{currentRoute === 'dashboard' && }
{currentRoute === 'history' && (
History (Phase 5)
)}
{currentRoute === 'dictionary' && (
Dictionary (Phase 5)
)}
setSettingsOpen(false)} />
)
}