fix(menu): menu auto closed on mobile
This commit is contained in:
		
							parent
							
								
									4112fa532e
								
							
						
					
					
						commit
						71f79a5bbf
					
				| @ -9,8 +9,6 @@ | ||||
|       :show-trigger="false" | ||||
|       :native-scrollbar="false" | ||||
|       :position="siderPosition" | ||||
|       @collapse="isMenuCollapsed = true" | ||||
|       @expand="isMenuCollapsed = false" | ||||
|     > | ||||
|       <slot name="sider" /> | ||||
|     </n-layout-sider> | ||||
|  | ||||
| @ -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<boolean>, | ||||
|     isMenuCollapsed: useStorage('isMenuCollapsed', false) as Ref<boolean>, | ||||
|     isSmallScreen: useMediaQuery('(max-width: 700px)'), | ||||
|   }), | ||||
|   state: () => { | ||||
|     const isDarkTheme = useStorage('isDarkTheme', true) as Ref<boolean>; | ||||
|     const isSmallScreen = useMediaQuery('(max-width: 700px)'); | ||||
|     const isMenuCollapsed = useStorage('isMenuCollapsed', !isSmallScreen.value) as Ref<boolean>; | ||||
| 
 | ||||
|     whenever( | ||||
|       () => !isSmallScreen.value, | ||||
|       () => (isMenuCollapsed.value = false) | ||||
|     ); | ||||
| 
 | ||||
|     whenever( | ||||
|       () => isSmallScreen.value, | ||||
|       () => (isMenuCollapsed.value = true) | ||||
|     ); | ||||
| 
 | ||||
|     return { | ||||
|       isDarkTheme, | ||||
|       isMenuCollapsed, | ||||
|       isSmallScreen, | ||||
|     }; | ||||
|   }, | ||||
| }); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user