diff --git a/frontend/src/ts/controllers/input-controller.ts b/frontend/src/ts/controllers/input-controller.ts index 0f4a7e5d9..f146e6258 100644 --- a/frontend/src/ts/controllers/input-controller.ts +++ b/frontend/src/ts/controllers/input-controller.ts @@ -673,15 +673,7 @@ $(document).keydown(async (event) => { const commandLineVisible = !$("#commandLineWrapper").hasClass("hidden"); const leaderboardsVisible = !$("#leaderboardsWrapper").hasClass("hidden"); - const popups = document.querySelectorAll(".popupWrapper"); - - let popupVisible = false; - for (const popup of popups) { - if (!popup.classList.contains("hidden") === true) { - popupVisible = true; - break; - } - } + const popupVisible = Misc.isAnyPopupVisible(); const allowTyping = pageTestActive && @@ -852,15 +844,7 @@ $("#wordsInput").on("input", (event) => { return; } - const popups = document.querySelectorAll(".popupWrapper"); - - let popupVisible = false; - for (const popup of popups) { - if (!popup.classList.contains("hidden") === true) { - popupVisible = true; - break; - } - } + const popupVisible = Misc.isAnyPopupVisible(); if (popupVisible) return; diff --git a/frontend/src/ts/elements/commandline.ts b/frontend/src/ts/elements/commandline.ts index d19f383d9..8f7e9997c 100644 --- a/frontend/src/ts/elements/commandline.ts +++ b/frontend/src/ts/elements/commandline.ts @@ -8,6 +8,7 @@ import * as Notifications from "../elements/notifications"; import * as AnalyticsController from "../controllers/analytics-controller"; import * as PageTransition from "../states/page-transition"; import { Auth } from "../firebase"; +import { isAnyPopupVisible } from "../utils/misc"; let commandLineMouseMode = false; @@ -396,15 +397,7 @@ $(document).ready(() => { ) { event.preventDefault(); - const popups = document.querySelectorAll(".popupWrapper"); - - let popupVisible = false; - for (const popup of popups) { - if (!popup.classList.contains("hidden") === true) { - popupVisible = true; - break; - } - } + const popupVisible = isAnyPopupVisible(); if (popupVisible) return; diff --git a/frontend/src/ts/utils/misc.ts b/frontend/src/ts/utils/misc.ts index 20f3129c0..3bae7b0f6 100644 --- a/frontend/src/ts/utils/misc.ts +++ b/frontend/src/ts/utils/misc.ts @@ -1117,3 +1117,16 @@ export function isQuoteFavorite( return snapshot.favoriteQuotes[quoteLang].includes(quoteId); } + +export function isAnyPopupVisible(): boolean { + const popups = document.querySelectorAll(".popupWrapper"); + let popupVisible = false; + for (const popup of popups) { + const style = window.getComputedStyle(popup); + if (style.display !== "none") { + popupVisible = true; + break; + } + } + return popupVisible; +}