"use client"; import { useState, useEffect } from "react"; import { X } from "lucide-react"; const shortcuts = [ { keys: ["j"], description: "Move selection down" }, { keys: ["k"], description: "Move selection up" }, { keys: ["Enter"], description: "Open selected item" }, { keys: ["Escape"], description: "Clear selection / go back" }, { keys: ["g", "h"], description: "Go to Dashboard" }, { keys: ["g", "s"], description: "Go to Settings" }, { keys: ["g", "k"], description: "Go to API Keys" }, { keys: ["g", "d"], description: "Go to Decisions" }, { keys: ["Cmd", "K"], description: "Open command palette" }, { keys: ["?"], description: "Show this help" }, ]; export function KeyboardShortcutsHelp() { const [open, setOpen] = useState(false); useEffect(() => { function handleKeyDown(e: KeyboardEvent) { const el = document.activeElement; if (el) { const tag = el.tagName.toLowerCase(); if (tag === "input" || tag === "textarea" || tag === "select") return; if ((el as HTMLElement).isContentEditable) return; } if (e.key === "?" && !e.metaKey && !e.ctrlKey) { e.preventDefault(); setOpen((prev) => !prev); } if (e.key === "Escape" && open) { setOpen(false); } } document.addEventListener("keydown", handleKeyDown); return () => document.removeEventListener("keydown", handleKeyDown); }, [open]); if (!open) return null; return (