From 5c3b2b0b224132265fa192bb1448800a76045e0d Mon Sep 17 00:00:00 2001 From: Tim Date: Tue, 14 Oct 2025 17:22:08 +0200 Subject: [PATCH] refactor(Shortcuts): use json to declare shortcuts --- src/common/Shortcuts/Shortcuts.tsx | 2 +- src/common/Shortcuts/shortcuts.json | 89 ++++++++++++++++++++++++++++ src/common/Shortcuts/shortcuts.ts | 91 ----------------------------- 3 files changed, 90 insertions(+), 92 deletions(-) create mode 100644 src/common/Shortcuts/shortcuts.json delete mode 100644 src/common/Shortcuts/shortcuts.ts diff --git a/src/common/Shortcuts/Shortcuts.tsx b/src/common/Shortcuts/Shortcuts.tsx index f41e08271..532e9a409 100644 --- a/src/common/Shortcuts/Shortcuts.tsx +++ b/src/common/Shortcuts/Shortcuts.tsx @@ -1,5 +1,5 @@ import React, { createContext, useCallback, useContext, useEffect } from 'react'; -import shortcuts from './shortcuts'; +import shortcuts from './shortcuts.json'; const SHORTCUTS = shortcuts.map(({ shortcuts }) => shortcuts).flat(); diff --git a/src/common/Shortcuts/shortcuts.json b/src/common/Shortcuts/shortcuts.json new file mode 100644 index 000000000..766288fb0 --- /dev/null +++ b/src/common/Shortcuts/shortcuts.json @@ -0,0 +1,89 @@ +[ + { + "name": "general", + "label": "SETTINGS_NAV_GENERAL", + "shortcuts": [ + { + "name": "navigateTabs", + "label": "SETTINGS_SHORTCUT_NAVIGATE_MENUS", + "combos": [["1", "2", "3", "4", "5", "6"]] + }, + { + "name": "navigateSearch", + "label": "SETTINGS_SHORTCUT_GO_TO_SEARCH", + "combos": [["0"]] + }, + { + "name": "fullscreen", + "label": "SETTINGS_SHORTCUT_FULLSCREEN", + "combos": [["F"]] + }, + { + "name": "exit", + "label": "SETTINGS_SHORTCUT_EXIT_BACK", + "combos": [["Escape"]] + }, + { + "name": "shortcuts", + "label": "SETTINGS_SHORTCUT_SHORTCUTS", + "combos": [["Ctrl", "/"]] + } + ] + }, + { + "name": "player", + "label": "SETTINGS_NAV_PLAYER", + "shortcuts": [ + { + "name": "playPause", + "label": "SETTINGS_SHORTCUT_PLAY_PAUSE", + "combos": [["Space"]] + }, + { + "name": "seekForward", + "label": "SETTINGS_SHORTCUT_SEEK_FORWARD", + "combos": [["ArrowRight"], ["Shift", "ArrowRight"]] + }, + { + "name": "seekBackward", + "label": "SETTINGS_SHORTCUT_SEEK_BACKWARD", + "combos": [["ArrowLeft"], ["Shift", "ArrowLeft"]] + }, + { + "name": "volumeUp", + "label": "SETTINGS_SHORTCUT_VOLUME_UP", + "combos": [["ArrowUp"]] + }, + { + "name": "volumeDown", + "label": "SETTINGS_SHORTCUT_VOLUME_DOWN", + "combos": [["ArrowDown"]] + }, + { + "name": "subtitlesSize", + "label": "SETTINGS_SHORTCUT_SUBTITLES_SIZE", + "combos": [["-"], ["="]] + }, + { + "name": "subtitlesDelay", + "label": "SETTINGS_SHORTCUT_SUBTITLES_DELAY", + "combos": [["G"], ["H"]] + }, + { + "name": "subtitlesMenu", + "label": "SETTINGS_SHORTCUT_MENU_SUBTITLES", + "combos": [["S"]] + }, + { + "name": "audioMenu", + "label": "SETTINGS_SHORTCUT_MENU_AUDIO", + "combos": [["A"]] + }, + { + "name": "infoMenu", + "label": "SETTINGS_SHORTCUT_MENU_INFO", + "combos": [["I"]] + } + ] + } +] \ No newline at end of file diff --git a/src/common/Shortcuts/shortcuts.ts b/src/common/Shortcuts/shortcuts.ts deleted file mode 100644 index 614495f0a..000000000 --- a/src/common/Shortcuts/shortcuts.ts +++ /dev/null @@ -1,91 +0,0 @@ -const shortcuts: ShortcutGroup[] = [ - { - name: 'general', - label: 'SETTINGS_NAV_GENERAL', - shortcuts: [ - { - name: 'navigateTabs', - label: 'SETTINGS_SHORTCUT_NAVIGATE_MENUS', - combos: [['1', '2', '3', '4', '5', '6']], - }, - { - name: 'navigateSearch', - label: 'SETTINGS_SHORTCUT_GO_TO_SEARCH', - combos: [['0']], - }, - { - name: 'fullscreen', - label: 'SETTINGS_SHORTCUT_FULLSCREEN', - combos: [['F']], - }, - { - name: 'exit', - label: 'SETTINGS_SHORTCUT_EXIT_BACK', - combos: [['Escape']], - }, - { - name: 'shortcuts', - label: 'SETTINGS_SHORTCUT_SHORTCUTS', - combos: [['Ctrl', '/']], - }, - ] - }, - { - name: 'player', - label: 'SETTINGS_NAV_PLAYER', - shortcuts: [ - { - name: 'playPause', - label: 'SETTINGS_SHORTCUT_PLAY_PAUSE', - combos: [['Space']], - }, - { - name: 'seekForward', - label: 'SETTINGS_SHORTCUT_SEEK_FORWARD', - combos: [['ArrowRight'], ['Shift', 'ArrowRight']], - }, - { - name: 'seekBackward', - label: 'SETTINGS_SHORTCUT_SEEK_BACKWARD', - combos: [['ArrowLeft'], ['Shift', 'ArrowLeft']], - }, - { - name: 'volumeUp', - label: 'SETTINGS_SHORTCUT_VOLUME_UP', - combos: [['ArrowUp']], - }, - { - name: 'volumeDown', - label: 'SETTINGS_SHORTCUT_VOLUME_DOWN', - combos: [['ArrowDown']], - }, - { - name: 'subtitlesSize', - label: 'SETTINGS_SHORTCUT_SUBTITLES_SIZE', - combos: [['-'], ['=']], - }, - { - name: 'subtitlesDelay', - label: 'SETTINGS_SHORTCUT_SUBTITLES_DELAY', - combos: [['G'], ['H']], - }, - { - name: 'subtitlesMenu', - label: 'SETTINGS_SHORTCUT_MENU_SUBTITLES', - combos: [['S']], - }, - { - name: 'audioMenu', - label: 'SETTINGS_SHORTCUT_MENU_AUDIO', - combos: [['A']], - }, - { - name: 'infoMenu', - label: 'SETTINGS_SHORTCUT_MENU_INFO', - combos: [['I']], - }, - ] - }, -]; - -export default shortcuts;