"use client"; import Image from "next/image"; import Link from "next/link"; import { useState } from "react"; type NavItem = { href: string; label: string; external?: boolean; }; const placeGroups = [ { label: "Hele Norge", items: [{ href: "/sted/norge", label: "Hele Norge" }], }, { label: "Nord-Norge", items: [ { href: "/sted/nord-norge", label: "Nord-Norge" }, { href: "/sted/finnmark", label: "Finnmark" }, { href: "/sted/troms", label: "Troms" }, { href: "/sted/nordland", label: "Nordland" }, ], }, { label: "Midt-Norge", items: [ { href: "/sted/midt-norge", label: "Midt-Norge" }, { href: "/sted/nord-trondelag", label: "Nord-Trøndelag" }, { href: "/sted/sor-trondelag", label: "Sør-Trøndelag" }, { href: "/sted/trondelag", label: "Trøndelag" }, ], }, { label: "Vestlandet", items: [ { href: "/sted/vestlandet", label: "Vestlandet" }, { href: "/sted/more-og-romsdal", label: "Møre og Romsdal" }, { href: "/sted/sogn-og-fjordane", label: "Sogn og Fjordane" }, { href: "/sted/hordaland", label: "Hordaland" }, { href: "/sted/rogaland", label: "Rogaland" }, { href: "/sted/vestland", label: "Vestland" }, ], }, { label: "Sørlandet", items: [ { href: "/sted/sorlandet", label: "Sørlandet" }, { href: "/sted/vest-agder", label: "Vest-Agder" }, { href: "/sted/aust-agder", label: "Aust-Agder" }, { href: "/sted/agder", label: "Agder" }, ], }, { label: "Østlandet", items: [ { href: "/sted/ostlandet", label: "Østlandet" }, { href: "/sted/telemark", label: "Telemark" }, { href: "/sted/vestfold", label: "Vestfold" }, { href: "/sted/ostfold", label: "Østfold" }, { href: "/sted/buskerud", label: "Buskerud" }, { href: "/sted/hedmark", label: "Hedmark" }, { href: "/sted/oppland", label: "Oppland" }, { href: "/sted/oslo-og-akershus", label: "Oslo og Akershus" }, { href: "/sted/akershus", label: "Akershus" }, { href: "/sted/oslo", label: "Oslo" }, ], }, ]; const primaryNavItems: NavItem[] = [ { href: "/medlemskap", label: "Medlemskap" }, { href: "/vtg", label: "VTG" }, { href: "/banebesok", label: "Banebesøk" }, ]; const resourceNavItems: NavItem[] = [ { href: "/turneringer", label: "Turneringer" }, { href: "/klubbnummer", label: "Klubbnummer" }, { href: "https://golfquiz.no", label: "Golfquiz.no", external: true }, { href: "https://golfbox.golf", label: "Golfbox", external: true }, { href: "/om", label: "FAQ / Om" }, { href: "/kontakt", label: "Kontakt" }, ]; export default function Header() { const [isOpen, setIsOpen] = useState(false); const [isPlacesOpen, setIsPlacesOpen] = useState(false); const [isResourcesOpen, setIsResourcesOpen] = useState(false); const closeAllMenus = () => { setIsOpen(false); setIsPlacesOpen(false); setIsResourcesOpen(false); }; return (
TeeOff.no
{isOpen && (
Steder
{placeGroups.map((group) => (

{group.label}

{group.items.map((item) => ( {item.label} ))}
))}
{primaryNavItems.map((item) => ( {item.label} ))}

Ressurser

{resourceNavItems.map((item) => item.external ? ( {item.label} ) : ( {item.label} ), )}
)}
); }