import { useEffect, useState } from "react" import { Command } from "cmdk" import { NAV, type ViewId } from "@/nav" export function CommandPalette({ onNavigate }: { onNavigate: (v: ViewId) => void }) { const [open, setOpen] = useState(false) useEffect(() => { const onKey = (e: KeyboardEvent) => { if ((e.metaKey || e.ctrlKey) && e.key.toLowerCase() === "k") { e.preventDefault() setOpen((o) => !o) } } document.addEventListener("keydown", onKey) return () => document.removeEventListener("keydown", onKey) }, []) return ( setOpen(false)} >
e.stopPropagation()} > Nichts gefunden. {NAV.map((item) => ( { onNavigate(item.id) setOpen(false) }} className="flex cursor-pointer items-center gap-3 rounded-md px-3 py-2 text-sm text-foreground aria-selected:bg-accent aria-selected:text-accent-foreground" > {item.label} {item.hint} ))}
) }