import { useTranslation } from "react-i18next";
import { Command } from "lucide-react";
import { SHORTCUTS, formatChord, openPalette } from "../lib/keymap";
// The visible way into the command palette (and, from there, the shortcut sheet). Ctrl/Cmd+K and
// `h` had no entry point anywhere but a palette row — the one in-app pointer to the cheat sheet sat
// behind the other undiscoverable chord. The owner's pick (2026-09-19): a key cap where you already
// type, the header's search field; a page with no search field gets the same key cap on a small
// "Jump to…" pill in its place, so the entry is on every page.
/** The chord the palette row actually binds, read from the table rather than restated. */
const paletteChord = SHORTCUTS.find((s) => s.id === "palette")?.keys[0] ?? "Mod+k";
function useCap(): string {
const { t } = useTranslation();
return formatChord(paletteChord, {
Space: t("keys.cap.space"),
ContextMenu: t("keys.cap.menu"),
});
}
/** The key cap at the end of a search field. A button, so the pointer and a screen reader reach it
* too; left out of a phone's narrow header, where there is no keyboard to press it on. */
export function PaletteKeycap() {
const { t } = useTranslation();
const cap = useCap();
return (
);
}
/** The same entry for a page whose header has no search field. */
export function PaletteLauncher() {
const { t } = useTranslation();
const cap = useCap();
return (
);
}