diff --git a/src/App.tsx b/src/App.tsx
index 70405e3..a17b464 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -2,6 +2,7 @@ import { Navigate, Route, Routes } from 'react-router-dom'
import { AuthGate } from './auth/AuthGate'
import { AppLayout } from './components/AppLayout'
import { BrainPage } from './pages/Brain'
+import { ProductionPage } from './pages/Production'
import { InstructionPage } from './pages/Instruction'
import { SchedulePage } from './pages/Schedule'
import { ResultsPage } from './pages/Results'
@@ -11,6 +12,7 @@ export default function App() {
}>
+ } />
} />
} />
} />
@@ -21,7 +23,7 @@ export default function App() {
} />
} />
} />
- } />
+ } />
)
diff --git a/src/components/AppLayout.tsx b/src/components/AppLayout.tsx
index 0d4af3f..fa967bc 100644
--- a/src/components/AppLayout.tsx
+++ b/src/components/AppLayout.tsx
@@ -7,13 +7,21 @@ import { workspaceCredits } from '../api/engine'
import { Brand, Icon, type IconName } from './Icon'
import { Toaster } from './Toast'
-// Express Mode has four doors: feed the Brain, give an instruction, watch the schedule, collect results.
-export const NAV: { to: string; label: Key; icon: IconName }[] = [
- { to: '/brain', label: 'nav.brain', icon: 'brain' },
- { to: '/instruction', label: 'nav.instruction', icon: 'spark' },
- { to: '/schedule', label: 'nav.schedule', icon: 'calendar' },
- { to: '/results', label: 'nav.results', icon: 'layers' },
+// The Production dashboard shows what Express is making; the four settings doors run it:
+// feed the Brain, give an instruction, watch the schedule, collect results.
+export const NAV_GROUPS: { label: Key; items: { to: string; label: Key; icon: IconName }[] }[] = [
+ { label: 'nav.dashboard', items: [{ to: '/production', label: 'nav.production', icon: 'chart' }] },
+ {
+ label: 'nav.settings',
+ items: [
+ { to: '/brain', label: 'nav.brain', icon: 'brain' },
+ { to: '/instruction', label: 'nav.instruction', icon: 'spark' },
+ { to: '/schedule', label: 'nav.schedule', icon: 'calendar' },
+ { to: '/results', label: 'nav.results', icon: 'layers' },
+ ],
+ },
]
+export const NAV = NAV_GROUPS.flatMap(g => g.items)
export function LanguageSwitch() {
const lang = useLang()
@@ -129,15 +137,17 @@ export function AppLayout() {
return (