fix: sync runtime config into settings

This commit is contained in:
kuekhaoyang
2026-04-08 13:36:09 +08:00
parent e93c259e4a
commit 4db08dbf72
4 changed files with 87 additions and 61 deletions
+22 -17
View File
@@ -48,23 +48,28 @@ export function useSettingsPage() {
const [blockedCategories, setBlockedCategories] = useState<string[]>([]);
useEffect(() => {
const settings = settingsStore.getSettings();
setSources(settings.sources || []);
setSubscriptions(settings.subscriptions || []);
setSortBy(settings.sortBy);
setRealtimeLatency(settings.realtimeLatency);
setSearchDisplayMode(settings.searchDisplayMode);
setFullscreenType(settings.fullscreenType);
setProxyMode(settings.proxyMode);
setSeekStepSeconds(settings.seekStepSeconds);
setRememberScrollPosition(settings.rememberScrollPosition);
setLocale(settings.locale);
setVideoTogetherEnabled(settings.videoTogetherEnabled);
setDanmakuApiUrl(settings.danmakuApiUrl);
setDanmakuOpacity(settings.danmakuOpacity);
setDanmakuFontSize(settings.danmakuFontSize);
setDanmakuDisplayArea(settings.danmakuDisplayArea);
setBlockedCategories(settings.blockedCategories || []);
const syncFromStore = () => {
const settings = settingsStore.getSettings();
setSources(settings.sources || []);
setSubscriptions(settings.subscriptions || []);
setSortBy(settings.sortBy);
setRealtimeLatency(settings.realtimeLatency);
setSearchDisplayMode(settings.searchDisplayMode);
setFullscreenType(settings.fullscreenType);
setProxyMode(settings.proxyMode);
setSeekStepSeconds(settings.seekStepSeconds);
setRememberScrollPosition(settings.rememberScrollPosition);
setLocale(settings.locale);
setVideoTogetherEnabled(settings.videoTogetherEnabled);
setDanmakuApiUrl(settings.danmakuApiUrl);
setDanmakuOpacity(settings.danmakuOpacity);
setDanmakuFontSize(settings.danmakuFontSize);
setDanmakuDisplayArea(settings.danmakuDisplayArea);
setBlockedCategories(settings.blockedCategories || []);
};
syncFromStore();
return settingsStore.subscribe(syncFromStore);
}, []);
const handleSourcesChange = (newSources: VideoSource[]) => {