summaryrefslogtreecommitdiff
path: root/apps/web/src/hooks/use-keyboard-shortcuts-help.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/src/hooks/use-keyboard-shortcuts-help.ts')
-rw-r--r--apps/web/src/hooks/use-keyboard-shortcuts-help.ts26
1 files changed, 12 insertions, 14 deletions
diff --git a/apps/web/src/hooks/use-keyboard-shortcuts-help.ts b/apps/web/src/hooks/use-keyboard-shortcuts-help.ts
index 80f7f07a..7ea3a555 100644
--- a/apps/web/src/hooks/use-keyboard-shortcuts-help.ts
+++ b/apps/web/src/hooks/use-keyboard-shortcuts-help.ts
@@ -2,7 +2,7 @@
import { useMemo } from "react";
import { useKeybindingsStore } from "@/stores/keybindings-store";
-import { ACTIONS, type TAction } from "@/lib/actions";
+import { ACTIONS, type TActionWithOptionalArgs } from "@/lib/actions";
import {
getPlatformAlternateKey,
getPlatformSpecialKey,
@@ -13,7 +13,7 @@ export interface KeyboardShortcut {
keys: string[];
description: string;
category: string;
- action: TAction;
+ action: TActionWithOptionalArgs;
icon?: React.ReactNode;
}
@@ -40,9 +40,11 @@ export function useKeyboardShortcutsHelp() {
const shortcuts = useMemo(() => {
const result: KeyboardShortcut[] = [];
- const actionToKeys: Record<string, string[]> = {};
+ const actionToKeys: Partial<Record<TActionWithOptionalArgs, string[]>> = {};
- for (const [key, action] of Object.entries(keybindings)) {
+ for (const [key, action] of Object.entries(keybindings) as Array<
+ [string, TActionWithOptionalArgs | undefined]
+ >) {
if (action) {
if (!actionToKeys[action]) {
actionToKeys[action] = [];
@@ -51,16 +53,16 @@ export function useKeyboardShortcutsHelp() {
}
}
- for (const [actionId, keys] of Object.entries(actionToKeys)) {
- if (!isAction(actionId)) continue;
-
- const actionDef = ACTIONS[actionId];
+ for (const [action, keys] of Object.entries(actionToKeys) as Array<
+ [TActionWithOptionalArgs, string[]]
+ >) {
+ const actionDef = ACTIONS[action];
result.push({
- id: actionId,
+ id: action,
keys,
description: actionDef.description,
category: actionDef.category,
- action: actionId,
+ action,
});
}
@@ -76,7 +78,3 @@ export function useKeyboardShortcutsHelp() {
shortcuts,
};
}
-
-function isAction(id: string): id is TAction {
- return id in ACTIONS;
-}