Files
w-make-portfolio/src/components/site-header.tsx
T
Jan WagnerandCursor 5657b1d202 feat(portfolio): rebuild w-make.com as a bilingual editorial studio
Give clients a real IA, SMTP contact to eldov@w-make.de, and live Batch
evidence instead of a single-page placeholder.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-16 03:20:16 +02:00

36 lines
1.4 KiB
TypeScript

import Link from "next/link";
import { LanguageSwitcher } from "@/components/language-switcher";
import { Mark } from "@/components/mark";
import type { Dictionary } from "@/i18n/dictionaries";
import { publicPath, type Locale } from "@/i18n/routes";
export function SiteHeader({ locale, dict }: { locale: Locale; dict: Dictionary }) {
const links = [
[dict.nav.work, publicPath(locale, "work")],
[dict.nav.about, publicPath(locale, "about")],
[dict.nav.notes, publicPath(locale, "notes")],
[dict.nav.contact, publicPath(locale, "contact")],
] as const;
return (
<header className="sticky top-0 z-20 border-b border-line bg-ink/80 backdrop-blur-md">
<div className="mx-auto flex w-full max-w-6xl flex-wrap items-center justify-between gap-4 px-6 py-4 md:px-10">
<Link href={publicPath(locale, "home")} className="flex items-center gap-3 text-copper">
<Mark />
<span className="font-mono text-sm tracking-[0.28em]">W-MAKE</span>
</Link>
<div className="flex flex-wrap items-center gap-5 md:gap-8">
<nav aria-label="Hauptnavigation" className="flex flex-wrap items-center gap-4 text-sm md:gap-6">
{links.map(([label, href]) => (
<Link key={href} href={href} className="link-quiet">
{label}
</Link>
))}
</nav>
<LanguageSwitcher locale={locale} dict={dict} />
</div>
</div>
</header>
);
}