"use client";
import { useEffect, useRef } from "react";
import { X } from "lucide-react";
interface KeyboardShortcutsHelpProps {
open: boolean;
onClose: () => void;
}
function Shortcut({ keys, label }: { keys: string[]; label: string }) {
return (
{label}
{keys.map((key) => (
{key}
))}
);
}
export function KeyboardShortcutsHelp({
open,
onClose,
}: KeyboardShortcutsHelpProps) {
const overlayRef = useRef(null);
useEffect(() => {
if (!open) return;
const handler = (e: KeyboardEvent) => {
if (e.key === "Escape" || e.key === "?") {
e.preventDefault();
onClose();
}
};
document.addEventListener("keydown", handler);
return () => document.removeEventListener("keydown", handler);
}, [open, onClose]);
if (!open) return null;
return (
);
}