"use client"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { useState } from "react"; import { Menu, X, Search } from "lucide-react"; import { href, t, type Locale } from "@/lib/i18n"; import { ThemeToggle } from "./theme-toggle"; export function SiteHeader({ locale }: { locale: Locale }) { const d = t(locale); const path = usePathname(); const [open, setOpen] = useState(false); const canonical = path.replace(/^\/fr(?=\/|$)/, "") || "/"; const items = [["/papers", d.nav.papers], ["/topics", d.nav.topics], ["/methods", d.nav.methods], ["/datasets", d.nav.datasets], ["/authors", d.nav.authors], ["/research-map", d.nav.map], ["/timeline", d.nav.timeline], ["/about", d.nav.about]] as const; const other: Locale = locale === "en" ? "fr" : "en"; const active = (p: string) => canonical === p || (p !== "/" && canonical.startsWith(p + "/")); return (
{d.site.title} {d.site.affiliation}
{other}
{open && ( )}
); }