From c97c41f11c4e86d9750ad4012cd345bb2b9f1b9c Mon Sep 17 00:00:00 2001 From: Botzy Date: Mon, 24 Mar 2025 16:55:07 +0200 Subject: [PATCH] feat(Settings): added gamepad support toggle --- src/routes/Settings/Settings.js | 11 +++++++++++ src/routes/Settings/useProfileSettingsInputs.js | 17 +++++++++++++++++ src/types/models/Ctx.d.ts | 1 + 3 files changed, 29 insertions(+) diff --git a/src/routes/Settings/Settings.js b/src/routes/Settings/Settings.js index fbaf32afc..ca87bbadd 100644 --- a/src/routes/Settings/Settings.js +++ b/src/routes/Settings/Settings.js @@ -31,6 +31,7 @@ const Settings = () => { const toast = useToast(); const { interfaceLanguageSelect, + gamepadSupportToggle, hideSpoilersToggle, subtitlesLanguageSelect, subtitlesSizeSelect, @@ -352,6 +353,16 @@ const Settings = () => { {...hideSpoilersToggle} /> +
+
+
{ t('SETTINGS_GAMEPAD') }
+
+ +
{ t('SETTINGS_NAV_PLAYER') }
diff --git a/src/routes/Settings/useProfileSettingsInputs.js b/src/routes/Settings/useProfileSettingsInputs.js index afad298ed..95da4bddd 100644 --- a/src/routes/Settings/useProfileSettingsInputs.js +++ b/src/routes/Settings/useProfileSettingsInputs.js @@ -32,6 +32,22 @@ const useProfileSettingsInputs = (profile) => { } }), [profile.settings]); + const gamepadSupportToggle = React.useMemo(() => ({ + checked: profile.settings.gamepadSupport, + onClick: () => { + core.transport.dispatch({ + action: 'Ctx', + args: { + action: 'UpdateSettings', + args: { + ...profile.settings, + gamepadSupport: !profile.settings.gamepadSupport + } + } + }); + } + }), [profile.settings]); + const hideSpoilersToggle = React.useMemo(() => ({ checked: profile.settings.hideSpoilers, onClick: () => { @@ -341,6 +357,7 @@ const useProfileSettingsInputs = (profile) => { }), [profile.settings]); return { interfaceLanguageSelect, + gamepadSupportToggle, hideSpoilersToggle, subtitlesLanguageSelect, subtitlesSizeSelect, diff --git a/src/types/models/Ctx.d.ts b/src/types/models/Ctx.d.ts index 47f18749f..6f641b3ad 100644 --- a/src/types/models/Ctx.d.ts +++ b/src/types/models/Ctx.d.ts @@ -22,6 +22,7 @@ type Settings = { escExitFullscreen: boolean, interfaceLanguage: string, hideSpoilers: boolean, + gamepadSupport: boolean, nextVideoNotificationDuration: number, playInBackground: boolean, playerType: string | null,