diff --git a/src/components/AppSidebar.vue b/src/components/AppSidebar.vue index bbabcea..941f8af 100644 --- a/src/components/AppSidebar.vue +++ b/src/components/AppSidebar.vue @@ -29,6 +29,10 @@ nyx + + + Tests + @@ -84,6 +88,7 @@ import { DocumentTextIcon, ShieldCheckIcon, HomeIcon, + BeakerIcon, } from '@heroicons/vue/20/solid'; import { THEME_ICONS, THEME_LOGOS, THEME_NAMES, useTheme } from '../composables/useTheme'; import { auth } from '../store'; @@ -97,32 +102,17 @@ const navLogo = computed(() => THEME_LOGOS[theme.value]); const { isLoggedIn, currentUser } = auth; -const isMobile = window.innerWidth <= 480; -const isLarge = window.innerWidth >= 1024; -const isOpen = ref(isMobile ? false : isLarge ? true : localStorage.getItem('sidebar_open') !== 'false'); +const isOpen = ref(sessionStorage.getItem('sidebar_open') === 'true'); const userMenuOpen = ref(false); -// Auto-collapse when crossing from lg → md -const lgQuery = window.matchMedia('(min-width: 1024px)'); -lgQuery.addEventListener('change', (e) => { - if (e.matches && !isOpen.value) { - isOpen.value = true; - localStorage.setItem('sidebar_open', 'true'); - } else if (!e.matches && isOpen.value) { - isOpen.value = false; - localStorage.setItem('sidebar_open', 'false'); - } -}); - function toggle() { isOpen.value = !isOpen.value; - localStorage.setItem('sidebar_open', String(isOpen.value)); + sessionStorage.setItem('sidebar_open', String(isOpen.value)); } function collapse() { - if (window.innerWidth >= 1024) return; isOpen.value = false; - localStorage.setItem('sidebar_open', 'false'); + sessionStorage.setItem('sidebar_open', 'false'); } function goNyx() {