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)
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
// 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
*/