import { useLocation } from 'react-router-dom' import { Activity } from 'lucide-react' import { useState, useEffect } from 'react' const ROUTE_TITLES = { '/': 'Dashboard', '/arena': 'Episode Arena', '/tasks': 'Task Bank', '/forge': 'Forge Queue', '/oversight': 'Oversight Stats', '/difficulty': 'Difficulty Curve', '/grader': 'Standalone Grader', } export default function Header() { const { pathname } = useLocation() const title = ROUTE_TITLES[pathname] || 'Forge Arena' const [serverOk, setServerOk] = useState(null) const [time, setTime] = useState(new Date()) useEffect(() => { const check = async () => { try { const r = await fetch('/api/forge/queue') setServerOk(r.ok) } catch { setServerOk(false) } } check() const t = setInterval(check, 10000) return () => clearInterval(t) }, []) useEffect(() => { const t = setInterval(() => setTime(new Date()), 1000) return () => clearInterval(t) }, []) return (

{title}

{time.toLocaleTimeString()}
{serverOk === null ? 'checking' : serverOk ? 'online' : 'offline'}
) }