diff --git a/.gitignore b/.gitignore index 27dc1f71..9807205f 100644 --- a/.gitignore +++ b/.gitignore @@ -34,4 +34,4 @@ credentials.json *.apk *.ipa .continuerc.json - +.vscode/ diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 4571e3a1..00000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.formatOnSave": true, - "[javascript]": { - "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.formatOnSave": true - }, - "[typescriptreact]": { - "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.formatOnSave": true - }, - "[swift]": { - "editor.defaultFormatter": "sswg.swift-lang" - }, - "java.configuration.updateBuildConfiguration": "interactive", - "java.compile.nullAnalysis.mode": "automatic" -} diff --git a/components/settings/MediaContext.tsx b/components/settings/MediaContext.tsx index 64acd5d1..a1dd871f 100644 --- a/components/settings/MediaContext.tsx +++ b/components/settings/MediaContext.tsx @@ -1,6 +1,12 @@ import { Settings, useSettings } from "@/utils/atoms/settings"; import { useAtomValue } from "jotai"; -import React, { createContext, useContext, ReactNode, useEffect } from "react"; +import React, { + createContext, + useContext, + ReactNode, + useEffect, + useState, +} from "react"; import { apiAtom } from "@/providers/JellyfinProvider"; import { getLocalizationApi, getUserApi } from "@jellyfin/sdk/lib/utils/api"; import { @@ -31,6 +37,7 @@ export const MediaProvider = ({ children }: { children: ReactNode }) => { const [settings, updateSettings] = useSettings(); const api = useAtomValue(apiAtom); const queryClient = useQueryClient(); + const [pulledPreferences, setPulledPreferences] = useState(false); const updateSetingsWrapper = (update: Partial) => { const updateUserConfiguration = async ( @@ -111,7 +118,7 @@ export const MediaProvider = ({ children }: { children: ReactNode }) => { // Set default settings from user configuration.s useEffect(() => { - if (user && cultures) { + if (user && cultures.length != 0 && !pulledPreferences) { const userSubtitlePreference = user?.Configuration?.SubtitleLanguagePreference; const userAudioPreference = user?.Configuration?.AudioLanguagePreference; @@ -132,8 +139,9 @@ export const MediaProvider = ({ children }: { children: ReactNode }) => { rememberSubtitleSelections: user?.Configuration?.RememberSubtitleSelections, }); + setPulledPreferences(true); } - }, [user, cultures]); + }, [user, cultures, pulledPreferences]); if (!api) return null;