"use client" import { IconSubmissionForm } from "@/components/icon-submission-form" import { ThemeSwitcher } from "@/components/theme-switcher" import { REPO_PATH } from "@/constants" import { getAllIcons } from "@/lib/api" import type { Icon } from "@/types/icons" import { motion } from "framer-motion" import { Github, Menu, Search } from "lucide-react" import Link from "next/link" import { useEffect, useState } from "react" import { CommandMenu } from "./command-menu" import { HeaderNav } from "./header-nav" import { Button } from "./ui/button" import { Sheet, SheetContent, SheetTrigger } from "./ui/sheet" import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "./ui/tooltip" export function Header() { const [icons, setIcons] = useState>({}) const [isLoaded, setIsLoaded] = useState(false) useEffect(() => { async function loadIcons() { try { const iconsData = await getAllIcons() setIcons(iconsData) setIsLoaded(true) } catch (error) { console.error("Failed to load icons:", error) setIsLoaded(true) } } loadIcons() }, []) return (
Dashboard Icons
{/* Desktop search button */}

Search icons

{/* Mobile search button */}
{isLoaded && }

GitHub

{/* Mobile menu */}

Dashboard Icons

) }