From 33a6295b20b440bbf1749e35bb6e10fc19376116 Mon Sep 17 00:00:00 2001 From: Alex Kim Date: Wed, 11 Dec 2024 05:22:56 +1100 Subject: [PATCH] Added more selection options --- components/settings/AudioToggles.tsx | 19 ++++++++++++++ components/settings/MediaContext.tsx | 17 +++++++++--- components/settings/SubtitleToggles.tsx | 35 ++++++++++++++----------- utils/atoms/settings.ts | 4 +++ 4 files changed, 56 insertions(+), 19 deletions(-) diff --git a/components/settings/AudioToggles.tsx b/components/settings/AudioToggles.tsx index 170eab0b..ec9d71ce 100644 --- a/components/settings/AudioToggles.tsx +++ b/components/settings/AudioToggles.tsx @@ -89,6 +89,25 @@ export const AudioToggles: React.FC = ({ ...props }) => { /> + + + + + Set Audio Track From Previous Item + + + Try to set the audio track to the closest match to the last + video. + + + + updateSettings({ rememberAudioSelections: value }) + } + /> + + ); diff --git a/components/settings/MediaContext.tsx b/components/settings/MediaContext.tsx index 64ee9494..68ebe1f7 100644 --- a/components/settings/MediaContext.tsx +++ b/components/settings/MediaContext.tsx @@ -53,7 +53,16 @@ export const MediaProvider = ({ children }: { children: ReactNode }) => { console.log("update", update); - let updatePayload = {} as Partial; + let updatePayload = { + SubtitleMode: update?.subtitleMode ?? settings?.subtitleMode, + PlayDefaultAudioTrack: + update?.playDefaultAudioTrack ?? settings?.playDefaultAudioTrack, + RememberAudioSelections: + update?.rememberAudioSelections ?? settings?.rememberAudioSelections, + RememberSubtitleSelections: + update?.rememberSubtitleSelections ?? + settings?.rememberSubtitleSelections, + } as Partial; updatePayload.AudioLanguagePreference = update?.defaultAudioLanguage === null @@ -69,9 +78,6 @@ export const MediaProvider = ({ children }: { children: ReactNode }) => { settings?.defaultSubtitleLanguage?.ThreeLetterISOLanguageName || ""; - updatePayload.SubtitleMode = update?.subtitleMode; - updatePayload.PlayDefaultAudioTrack = update?.playDefaultAudioTrack; - console.log("updatePayload", updatePayload); updateUserConfiguration(updatePayload); @@ -121,6 +127,9 @@ export const MediaProvider = ({ children }: { children: ReactNode }) => { defaultAudioLanguage: audioPreference, subtitleMode: user?.Configuration?.SubtitleMode, playDefaultAudioTrack: user?.Configuration?.PlayDefaultAudioTrack, + rememberAudioSelections: user?.Configuration?.RememberAudioSelections, + rememberSubtitleSelections: + user?.Configuration?.RememberSubtitleSelections, }); }, [user, cultures]); diff --git a/components/settings/SubtitleToggles.tsx b/components/settings/SubtitleToggles.tsx index e22f28f3..93745df2 100644 --- a/components/settings/SubtitleToggles.tsx +++ b/components/settings/SubtitleToggles.tsx @@ -127,6 +127,26 @@ export const SubtitleToggles: React.FC = ({ ...props }) => { + + + + + Set Subtitle Track From Previous Item + + + Try to set the subtitle track to the closest match to the last + video. + + + + updateSettings({ rememberSubtitleSelections: value }) + } + /> + + + = ({ ...props }) => { - - - - - - Made by: lostb1t - - - updateSettings({ usePopularPlugin: value }) - } - /> - - ); diff --git a/utils/atoms/settings.ts b/utils/atoms/settings.ts index 6c03cc60..66cece20 100644 --- a/utils/atoms/settings.ts +++ b/utils/atoms/settings.ts @@ -72,8 +72,10 @@ export type Settings = { libraryOptions: LibraryOptions; defaultAudioLanguage: CultureDto | null; playDefaultAudioTrack: boolean; + rememberAudioSelections: boolean; defaultSubtitleLanguage: CultureDto | null; subtitleMode: SubtitlePlaybackMode; + rememberSubtitleSelections: boolean; showHomeTitles: boolean; defaultVideoOrientation: ScreenOrientation.OrientationLock; forwardSkipTime: number; @@ -106,8 +108,10 @@ const loadSettings = (): Settings => { }, defaultAudioLanguage: null, playDefaultAudioTrack: true, + rememberAudioSelections: true, defaultSubtitleLanguage: null, subtitleMode: SubtitlePlaybackMode.Default, + rememberSubtitleSelections: true, showHomeTitles: true, defaultVideoOrientation: ScreenOrientation.OrientationLock.DEFAULT, forwardSkipTime: 30,