"use client"; import { useState, useEffect } from "react"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { DEFAULT_SECTIONS, type SectionConfig } from "@mcpedia/config/sections"; import ThemeToggle from "@/components/ThemeToggle"; import CommandMenu from "@/components/CommandMenu"; export default function Header() { const pathname = usePathname(); const [mobileMenuOpen, setMobileMenuOpen] = useState(false); const [sections, setSections] = useState(DEFAULT_SECTIONS); useEffect(() => { fetch("/api/sections") .then((r) => r.json()) .then((data) => { if (Array.isArray(data) && data.length > 0) { setSections(data); } }) .catch(() => {}); }, []); return (
{/* Brand */}
M
MCPedia v0.1.0
{/* Desktop Nav */} {/* Right tools */}
+ New Doc Login
{/* Mobile menu toggle */}
{/* Mobile Drawer */} {mobileMenuOpen && (
{sections.map((s) => ( setMobileMenuOpen(false)} className="flex items-center gap-2 px-3 py-2 rounded-lg text-sm text-[var(--text-secondary)] hover:bg-[var(--bg-elevated)] hover:text-[var(--text-primary)]" > {s.icon} {s.label} ))}
setMobileMenuOpen(false)} className="flex-1 text-center py-2 text-xs bg-[var(--bg-elevated)] text-[var(--text-secondary)] rounded-lg font-medium border border-[var(--border-color)]" > Search setMobileMenuOpen(false)} className="flex-1 text-center py-2 text-xs bg-[var(--brand)] text-white rounded-lg font-medium" > + Create
)}
); }