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
+
@@ -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() {