Fix account settings save normalization

This commit is contained in:
Sucukdeluxe 2026-03-07 00:55:39 +01:00
parent fba05d2add
commit 68a05f2a21

View File

@ -329,6 +329,18 @@ function normalizeProviderOrderForSettings(settings: AppSettings): DebridProvide
return ordered; return ordered;
} }
function normalizeProviderSelectionForSettings(
settings: AppSettings
): Pick<AppSettings, "providerOrder" | "providerPrimary" | "providerSecondary" | "providerTertiary"> {
const providerOrder = normalizeProviderOrderForSettings(settings);
return {
providerOrder,
providerPrimary: providerOrder[0] ?? settings.providerPrimary,
providerSecondary: (providerOrder[1] ?? "none") as DebridFallbackProvider,
providerTertiary: (providerOrder[2] ?? "none") as DebridFallbackProvider
};
}
function getConfiguredAccountKind(settings: AppSettings, service: AccountService): AccountKind | null { function getConfiguredAccountKind(settings: AppSettings, service: AccountService): AccountKind | null {
switch (service) { switch (service) {
case "realdebrid": case "realdebrid":
@ -1599,11 +1611,8 @@ export function App(): ReactElement {
const normalizedSettingsDraft: AppSettings = useMemo(() => ({ const normalizedSettingsDraft: AppSettings = useMemo(() => ({
...settingsDraft, ...settingsDraft,
providerOrder: activeProviderOrder, ...normalizeProviderSelectionForSettings(settingsDraft)
providerPrimary: activeProviderOrder[0] ?? settingsDraft.providerPrimary, }), [settingsDraft]);
providerSecondary: (activeProviderOrder[1] ?? "none") as DebridFallbackProvider,
providerTertiary: (activeProviderOrder[2] ?? "none") as DebridFallbackProvider
}), [settingsDraft, activeProviderOrder]);
const configuredAccounts = useMemo(() => { const configuredAccounts = useMemo(() => {
const entries: ConfiguredAccountEntry[] = []; const entries: ConfiguredAccountEntry[] = [];