"use client" import { useEffect, useState } from "react" import { useAudienceMode } from "@/components/audience-mode-provider" import { Eye, Menu, Moon, Sun, X } from "lucide-react" import { useTheme } from "next-themes" import Link from "next/link" import { usePathname } from "next/navigation" import { cn } from "@/lib/utils" export function Navigation() { const { theme, setTheme } = useTheme() const { mode, setMode } = useAudienceMode() const pathname = usePathname() const [mobileOpen, setMobileOpen] = useState(false) const navItems = [ { href: "/", label: "Overview", isActive: pathname === "/", }, { href: "/models", label: "Models", isActive: pathname === "/models" || pathname?.startsWith("/models/") || pathname?.startsWith("/developers/"), }, { href: "/evals", label: "Evaluations", isActive: pathname === "/evals" || pathname?.startsWith("/evals/"), }, { href: "/about", label: "About", isActive: pathname === "/about", }, ] useEffect(() => { setMobileOpen(false) }, [pathname]) return ( <>
Eval Cards Beta · EvalEval
{mobileOpen && (
)}
) } function ReaderModeBanner() { const { mode } = useAudienceMode() return (
{mode === "research" ? "Research mode" : "Policy mode"} · {mode === "research" ? "Methodology and configuration foregrounded — specific missing fields, setup-variant differences, expanded metric configuration." : "Plain-language interpretation foregrounded — Policy Notes (what / caveat / intended for), accountability framings, compressed metric detail."} Snapshot · Apr 30 2026
) }