diff --git a/bot/app/web/frontend/src/App.svelte b/bot/app/web/frontend/src/App.svelte index 93e2a1d..beee7f6 100644 --- a/bot/app/web/frontend/src/App.svelte +++ b/bot/app/web/frontend/src/App.svelte @@ -255,6 +255,9 @@ let authResendCooldown = 0; let authResendTimer = null; let languageBusy = false; + let languageMenuOpen = false; + let languageClickGuard = false; + let languageClickGuardTimer = null; let email = ""; let pendingEmail = ""; let emailCode = ""; @@ -521,6 +524,7 @@ window.removeEventListener("pointerdown", onAnyPointerDown); clearCooldownTimer("auth"); clearCooldownTimer("link_email"); + clearLanguageClickGuard(); syncBodyScrollLock(false); }; }); @@ -576,6 +580,26 @@ } } + function clearLanguageClickGuard() { + if (languageClickGuardTimer) { + window.clearTimeout(languageClickGuardTimer); + languageClickGuardTimer = null; + } + } + + function setLanguageMenuOpen(open) { + languageMenuOpen = Boolean(open); + clearLanguageClickGuard(); + if (languageMenuOpen) { + languageClickGuard = true; + return; + } + languageClickGuardTimer = window.setTimeout(() => { + languageClickGuard = false; + languageClickGuardTimer = null; + }, 260); + } + function escapeHtml(value) { return String(value) .replaceAll("&", "&") @@ -2603,14 +2627,25 @@ {/if}
-