"use client"; import Image from "next/image"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { useEffect, useState } from "react"; import type { SettingsContent } from "@/lib/content/types"; const navigation = [ ["Start", "/"], ["Leistungen", "/leistungen"], ["Funkgeräte-Service", "/funkgeraete-service"], ["Reparatur", "/reparatur"], ["Über uns", "/ueber-uns"], ["Kontakt", "/kontakt"], ] as const; const fallbackSettings = { siteName: "Funktechnik Schubert", logoUrl: "/funktechnik_schubert_logo.jpg", headerCta: { label: "Reparatur anfragen", href: "/reparatur" }, }; export default function Header() { const pathname = usePathname(); const [menuOpen, setMenuOpen] = useState(false); const [settings, setSettings] = useState(fallbackSettings); useEffect(() => { let active = true; async function loadSettings() { try { const response = await fetch("/api/content/settings"); const result = await response.json() as { settings?: SettingsContent }; if (active && response.ok && result.settings) { setSettings({ siteName: result.settings.siteName, logoUrl: result.settings.logoUrl, headerCta: result.settings.headerCta, }); } } catch { if (active) setSettings(fallbackSettings); } } void loadSettings(); return () => { active = false; }; }, []); return (
setMenuOpen(false)}> {settings.siteName} {settings.headerCta.label}
); }