fix hooks ordering in SetupPage, move language state above conditional return
All checks were successful
Build and Push Docker Image / build (push) Successful in 24s

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-05 09:56:02 +01:00
parent a4d5eb59e1
commit 2b1dda3c7d

View File

@@ -174,12 +174,18 @@ export function SetupPage() {
const [mappings, setMappings] = useState<[string, string][]>([['', '']]);
const [mappingSaved, setMappingSaved] = useState('');
const [mappingsLoaded, setMappingsLoaded] = useState(false);
const [subLangs, setSubLangs] = useState<string[]>([]);
const [subSaved, setSubSaved] = useState('');
const [audLangs, setAudLangs] = useState<string[]>([]);
const [audSaved, setAudSaved] = useState('');
const load = () => api.get<SetupData>('/api/setup').then((d) => {
setData(d);
if (!mappingsLoaded) {
const pm: [string, string][] = JSON.parse(d.config.path_mappings ?? '[]');
setMappings(pm.length > 0 ? pm : [['', '']]);
setSubLangs(JSON.parse(d.config.subtitle_languages ?? '["eng","deu","spa"]'));
setAudLangs(JSON.parse(d.config.audio_languages ?? '[]'));
setMappingsLoaded(true);
}
});
@@ -189,9 +195,6 @@ export function SetupPage() {
const { config: cfg, envLocked: envLockedArr } = data;
const locked = new Set(envLockedArr);
const subtitleLangs: string[] = JSON.parse(cfg.subtitle_languages ?? '["eng","deu","spa"]');
const audioLangs: string[] = JSON.parse(cfg.audio_languages ?? '[]');
const saveJellyfin = (url: string, apiKey: string) =>
api.post('/api/setup/jellyfin', { url, api_key: apiKey });
const saveRadarr = (url: string, apiKey: string) =>
@@ -206,11 +209,6 @@ export function SetupPage() {
setTimeout(() => setMappingSaved(''), 2000);
};
const [subLangs, setSubLangs] = useState(subtitleLangs);
const [subSaved, setSubSaved] = useState('');
const [audLangs, setAudLangs] = useState(audioLangs);
const [audSaved, setAudSaved] = useState('');
const saveSubtitleLangs = async () => {
await api.post('/api/setup/subtitle-languages', { langs: subLangs });
setSubSaved('Saved.');