From b9b4961f3ca2d899eda212e51826121941bc1830 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 16 Aug 2025 00:13:18 +0300 Subject: [PATCH] fix(react/settings): shortcuts saved upon render --- .../type_widgets/options/shortcuts.tsx | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/apps/client/src/widgets/type_widgets/options/shortcuts.tsx b/apps/client/src/widgets/type_widgets/options/shortcuts.tsx index 770ebce87..e6171f679 100644 --- a/apps/client/src/widgets/type_widgets/options/shortcuts.tsx +++ b/apps/client/src/widgets/type_widgets/options/shortcuts.tsx @@ -119,22 +119,20 @@ function KeyboardShortcutTable({ filter, keyboardShortcuts }: { filter?: string, } function ShortcutEditor({ keyboardShortcut: action }: { keyboardShortcut: ActionKeyboardShortcut }) { - const [ shortcuts, setShortcuts ] = useState((action.effectiveShortcuts ?? []).join(", ")); - - useEffect(() => { - const { actionName } = action; - const optionName = `keyboardShortcuts${actionName.substr(0, 1).toUpperCase()}${actionName.substr(1)}`; - const newShortcuts = shortcuts - .replace("+,", "+Comma") - .split(",") - .map((shortcut) => shortcut.replace("+Comma", "+,")) - .filter((shortcut) => !!shortcut); - options.save(optionName, JSON.stringify(newShortcuts)); - }, [ shortcuts ]) + const originalShortcut = (action.effectiveShortcuts ?? []).join(", "); return ( { + const { actionName } = action; + const optionName = `keyboardShortcuts${actionName.substr(0, 1).toUpperCase()}${actionName.substr(1)}`; + const newShortcuts = newShortcut + .replace("+,", "+Comma") + .split(",") + .map((shortcut) => shortcut.replace("+Comma", "+,")) + .filter((shortcut) => !!shortcut); + options.save(optionName, JSON.stringify(newShortcuts)); + }} /> ) } \ No newline at end of file