feat(onboarding): prevent onboarding from starting if version-mismatch banner is visible

This commit is contained in:
Will Miao
2025-09-03 22:48:29 +08:00
parent 2546580377
commit f041f4a114
2 changed files with 14 additions and 1 deletions

View File

@@ -68,7 +68,10 @@ export class AppCore {
// Start onboarding if needed (after everything is initialized) // Start onboarding if needed (after everything is initialized)
setTimeout(() => { setTimeout(() => {
onboardingManager.start(); // Do not show onboarding if version-mismatch banner is visible
if (!bannerService.isBannerVisible('version-mismatch')) {
onboardingManager.start();
}
}, 1000); // Small delay to ensure all elements are rendered }, 1000); // Small delay to ensure all elements are rendered
// Return the core instance for chaining // Return the core instance for chaining

View File

@@ -171,6 +171,16 @@ class BannerService {
} }
} }
/**
* Check if a banner is currently rendered and visible
* @param {string} bannerId
* @returns {boolean}
*/
isBannerVisible(bannerId) {
const el = document.querySelector(`[data-banner-id="${bannerId}"]`);
return !!el && el.offsetParent !== null;
}
/** /**
* Update container visibility based on active banners * Update container visibility based on active banners
*/ */