diff --git a/apps/web/src/routes/(dashboard)/+layout.svelte b/apps/web/src/routes/(dashboard)/+layout.svelte index ed236da..68ea086 100644 --- a/apps/web/src/routes/(dashboard)/+layout.svelte +++ b/apps/web/src/routes/(dashboard)/+layout.svelte @@ -13,12 +13,23 @@ const { children } = $props(); let sidebarOpen = $state(false); + let isDesktop = $state(false); const toggleSidebar = () => (sidebarOpen = !sidebarOpen); const closeSidebar = () => (sidebarOpen = false); // No desktop, abrir por padrão; no mobile, começar fechado onMount(() => { - sidebarOpen = window.matchMedia('(min-width: 1024px)').matches; + const mql = window.matchMedia('(min-width: 1024px)'); + + const update = () => { + isDesktop = mql.matches; + }; + + update(); + sidebarOpen = mql.matches; + + mql.addEventListener('change', update); + return () => mql.removeEventListener('change', update); }); @@ -66,13 +77,13 @@ class:-translate-x-full={!sidebarOpen} >
- + !isDesktop && closeSidebar()} />