diff --git a/src/lib/layout/shell.svelte b/src/lib/layout/shell.svelte index 0547f210e..8dc37e356 100644 --- a/src/lib/layout/shell.svelte +++ b/src/lib/layout/shell.svelte @@ -76,6 +76,20 @@ showAccountMenu = false; } + function closeOpenDialogs() { + if (typeof document === 'undefined') return; + + const openDialogs = Array.from( + document.querySelectorAll('dialog[open]') + ) as HTMLDialogElement[]; + + for (const dialog of openDialogs) { + dialog.close(); + } + + document.documentElement.classList.remove('u-overflow-hidden'); + } + /** * Cancel navigation when wizard is open and triggered by popstate */ @@ -184,6 +198,7 @@ $: isProjectBlocked = getIsProjectBlocked(selectedProject); $: { if ($isSidebarOpen) { + closeOpenDialogs(); yOnMenuOpen = window.scrollY; bodyStyle.set({ position: 'fixed', top: `-${window.scrollY}px` }); } else if (!$isSidebarOpen) { @@ -260,7 +275,7 @@