Browse Source

fix migration

pull/252/head
frost768 3 years ago
parent
commit
5d8f03b859
  1. 2
      src/backend/providers/superstream/index.ts
  2. 9
      src/state/settings/context.tsx
  3. 2
      src/state/settings/store.ts
  4. 1
      src/state/settings/types.ts

2
src/backend/providers/superstream/index.ts

@ -230,7 +230,7 @@ registerProvider({ @@ -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);
});

9
src/state/settings/context.tsx

@ -5,6 +5,7 @@ import { SettingsStore } from "./store"; @@ -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 }) { @@ -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;

2
src/state/settings/store.ts

@ -20,6 +20,7 @@ export const SettingsStore = createVersionedStore<MWSettingsData>() @@ -20,6 +20,7 @@ export const SettingsStore = createVersionedStore<MWSettingsData>()
},
migrate(data: MWSettingsDataV1): MWSettingsData {
return {
language: data.language,
captionSettings: {
language: "none",
...data.captionSettings,
@ -31,6 +32,7 @@ export const SettingsStore = createVersionedStore<MWSettingsData>() @@ -31,6 +32,7 @@ export const SettingsStore = createVersionedStore<MWSettingsData>()
version: 1,
create(): MWSettingsData {
return {
language: "en",
captionSettings: {
delay: 0,
language: "none",

1
src/state/settings/types.ts

@ -31,5 +31,6 @@ export interface MWSettingsDataV1 { @@ -31,5 +31,6 @@ export interface MWSettingsDataV1 {
}
export interface MWSettingsData {
language: LangCode;
captionSettings: CaptionSettings;
}

Loading…
Cancel
Save