diff --git a/src/components/MenuLayout.vue b/src/components/MenuLayout.vue
index f5db7003..721a14d7 100644
--- a/src/components/MenuLayout.vue
+++ b/src/components/MenuLayout.vue
@@ -9,8 +9,6 @@
       :show-trigger="false"
       :native-scrollbar="false"
       :position="siderPosition"
-      @collapse="isMenuCollapsed = true"
-      @expand="isMenuCollapsed = false"
     >
       
     
@@ -36,24 +34,24 @@ const siderPosition = computed(() => isSmallScreen.value ? 'absolute' : 'static'
 
 
\ No newline at end of file
diff --git a/src/stores/style.store.ts b/src/stores/style.store.ts
index 79c372cf..bc168f8a 100644
--- a/src/stores/style.store.ts
+++ b/src/stores/style.store.ts
@@ -1,11 +1,27 @@
-import { useMediaQuery, useStorage } from '@vueuse/core';
+import { useMediaQuery, useStorage, whenever } from '@vueuse/core';
 import { defineStore } from 'pinia';
 import type { Ref } from 'vue';
 
 export const useStyleStore = defineStore('style', {
-  state: () => ({
-    isDarkTheme: useStorage('isDarkTheme', true) as Ref,
-    isMenuCollapsed: useStorage('isMenuCollapsed', false) as Ref,
-    isSmallScreen: useMediaQuery('(max-width: 700px)'),
-  }),
+  state: () => {
+    const isDarkTheme = useStorage('isDarkTheme', true) as Ref;
+    const isSmallScreen = useMediaQuery('(max-width: 700px)');
+    const isMenuCollapsed = useStorage('isMenuCollapsed', !isSmallScreen.value) as Ref;
+
+    whenever(
+      () => !isSmallScreen.value,
+      () => (isMenuCollapsed.value = false)
+    );
+
+    whenever(
+      () => isSmallScreen.value,
+      () => (isMenuCollapsed.value = true)
+    );
+
+    return {
+      isDarkTheme,
+      isMenuCollapsed,
+      isSmallScreen,
+    };
+  },
 });