refactor: add ignoreWhenModalOpen parameter to useKeyDown

This commit is contained in:
2026-10-07 14:01:13 +02:00
parent f1ee6922b1
commit 822a66a20f
3 changed files with 40 additions and 28 deletions

View File

@@ -6,11 +6,17 @@ export type KeyDownCallback = (params: {
repeated: boolean;
}) => void;
export const useKeyDown = (callback: KeyDownCallback) => {
export const useKeyDown = (
callback: KeyDownCallback,
// the confirmation modal's own buttons rely on useKeyDown, so this is opt-in
options: { ignoreWhenModalOpen?: boolean } = {},
) => {
const app = useAppStore();
const confirmationModal = useConfirmationModal();
const handleKeyDown = (event: KeyboardEvent) => {
if (app.lagModalOpen) return;
if (options.ignoreWhenModalOpen && confirmationModal.isOpen) return;
const ndsButton = mapCodeToNDS(event.code);
if (