fix: persist onboarding and banner dismiss state to backend

Moves onboarding_completed and dismissed_banners from localStorage
to backend settings (settings.json) to survive incognito/private
browser modes.

Fixes #786
This commit is contained in:
Will Miao
2026-01-29 08:48:04 +08:00
parent ee25643f68
commit 58ae6b9de6
5 changed files with 129 additions and 24 deletions

View File

@@ -46,7 +46,7 @@ export class AppCore {
state.loadingManager = new LoadingManager();
modalManager.initialize();
updateService.initialize();
bannerService.initialize();
await bannerService.initialize();
window.modalManager = modalManager;
window.settingsManager = settingsManager;
const exampleImagesManager = new ExampleImagesManager();
@@ -81,8 +81,8 @@ export class AppCore {
this.initialized = true;
// Start onboarding if needed (after everything is initialized)
setTimeout(() => {
onboardingManager.start();
setTimeout(async () => {
await onboardingManager.start();
}, 1000); // Small delay to ensure all elements are rendered
// Return the core instance for chaining