'use client'; import { useState } from 'react'; import { FiMenu, FiX, FiHome, FiFileText, FiFile, FiUser, FiMail, FiMapPin, FiFeather, FiTag, FiServer, FiCpu, FiList } from 'react-icons/fi'; import Link from 'next/link'; export type IconKey = | 'home' | 'blog' | 'file' | 'user' | 'contact' | 'location' | 'pen' | 'tags' | 'server' | 'device' | 'menu'; const ICON_MAP: Record = { home: FiHome, blog: FiFileText, file: FiFile, user: FiUser, contact: FiMail, location: FiMapPin, pen: FiFeather, tags: FiTag, server: FiServer, device: FiCpu, menu: FiList }; export interface NavLinkItem { key: string; href: string; label?: string; iconKey: IconKey; } interface NavMenuProps { items: NavLinkItem[]; } export function NavMenu({ items }: NavMenuProps) { const [open, setOpen] = useState(false); const toggle = () => setOpen((val) => !val); const close = () => setOpen(false); return (
); }