diff --git a/src/backend/providers/superstream/index.ts b/src/backend/providers/superstream/index.ts index 9ebe6262..a2469cdd 100644 --- a/src/backend/providers/superstream/index.ts +++ b/src/backend/providers/superstream/index.ts @@ -230,7 +230,7 @@ registerProvider({ const sub = subtitle; sub.subtitles = subtitle.subtitles.filter((subFile: any) => { const extension = subFile.file_path.substring( - sub.file_path.length - 3 + subFile.file_path.length - 3 ); return [MWCaptionType.SRT, MWCaptionType.VTT].includes(extension); }); diff --git a/src/state/settings/context.tsx b/src/state/settings/context.tsx index be7a92e0..8efba361 100644 --- a/src/state/settings/context.tsx +++ b/src/state/settings/context.tsx @@ -5,6 +5,7 @@ import { SettingsStore } from "./store"; import { MWSettingsData } from "./types"; interface MWSettingsDataSetters { + setLanguage(language: LangCode): void; setCaptionLanguage(language: LangCode): void; setCaptionDelay(delay: number): void; setCaptionColor(color: string): void; @@ -21,6 +22,14 @@ export function SettingsProvider(props: { children: ReactNode }) { const context: MWSettingsDataWrapper = useMemo(() => { const settingsContext: MWSettingsDataWrapper = { ...settings, + setLanguage(language) { + setSettings((oldSettings) => { + return { + ...oldSettings, + language, + }; + }); + }, setCaptionLanguage(language) { setSettings((oldSettings) => { const captionSettings = oldSettings.captionSettings; diff --git a/src/state/settings/store.ts b/src/state/settings/store.ts index e8c629c1..55ede71e 100644 --- a/src/state/settings/store.ts +++ b/src/state/settings/store.ts @@ -20,6 +20,7 @@ export const SettingsStore = createVersionedStore() }, migrate(data: MWSettingsDataV1): MWSettingsData { return { + language: data.language, captionSettings: { language: "none", ...data.captionSettings, @@ -31,6 +32,7 @@ export const SettingsStore = createVersionedStore() version: 1, create(): MWSettingsData { return { + language: "en", captionSettings: { delay: 0, language: "none", diff --git a/src/state/settings/types.ts b/src/state/settings/types.ts index e32bd685..c894be9c 100644 --- a/src/state/settings/types.ts +++ b/src/state/settings/types.ts @@ -31,5 +31,6 @@ export interface MWSettingsDataV1 { } export interface MWSettingsData { + language: LangCode; captionSettings: CaptionSettings; }