From aa01a9227846ac56ffa4dcdc4a494ea8fb449997 Mon Sep 17 00:00:00 2001 From: David Angel Date: Wed, 25 Jan 2023 23:02:22 -0500 Subject: [PATCH 1/4] Persist menuActive state in Local Storage --- src/stores/base.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/stores/base.ts b/src/stores/base.ts index 7e9c6d71b..970e7a69b 100644 --- a/src/stores/base.ts +++ b/src/stores/base.ts @@ -9,6 +9,7 @@ import {checkAndSetApiUrl} from '@/helpers/checkAndSetApiUrl' import {useAuthStore} from '@/stores/auth' import type {IList} from '@/modelTypes/IList' +import { useStorage } from '@vueuse/core' export const useBaseStore = defineStore('base', () => { const loading = ref(false) @@ -23,7 +24,7 @@ export const useBaseStore = defineStore('base', () => { const blurHash = ref('') const hasTasks = ref(false) - const menuActive = ref(true) + const menuActive = useStorage('menuActive', true) const keyboardShortcutsActive = ref(false) const quickActionsActive = ref(false) const logoVisible = ref(true) @@ -53,10 +54,6 @@ export const useBaseStore = defineStore('base', () => { hasTasks.value = newHasTasks } - function setMenuActive(newMenuActive: boolean) { - menuActive.value = newMenuActive - } - function toggleMenu() { menuActive.value = !menuActive.value } @@ -147,7 +144,6 @@ export const useBaseStore = defineStore('base', () => { setLoading, setCurrentList, setHasTasks, - setMenuActive, toggleMenu, setKeyboardShortcutsActive, setQuickActionsActive, From 3604cb3ec79a6fd5f9bfd9d675ba02cde21e7640 Mon Sep 17 00:00:00 2001 From: David Angel Date: Wed, 25 Jan 2023 23:23:37 -0500 Subject: [PATCH 2/4] Solve for resize() --- src/components/home/navigation.vue | 2 +- src/stores/base.ts | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/components/home/navigation.vue b/src/components/home/navigation.vue index 333d668c1..be9167b23 100644 --- a/src/components/home/navigation.vue +++ b/src/components/home/navigation.vue @@ -208,7 +208,7 @@ const listStore = useListStore() function resize() { // Hide the menu by default on mobile - baseStore.setMenuActive(window.innerWidth >= 770) + baseStore.menuActive && baseStore.setMenuActive(window.innerWidth >= 770) } function toggleLists(namespaceId: INamespace['id']) { diff --git a/src/stores/base.ts b/src/stores/base.ts index 970e7a69b..2fa35c1fc 100644 --- a/src/stores/base.ts +++ b/src/stores/base.ts @@ -54,6 +54,10 @@ export const useBaseStore = defineStore('base', () => { hasTasks.value = newHasTasks } + function setMenuActive(newMenuActive: boolean) { + menuActive.value = newMenuActive + } + function toggleMenu() { menuActive.value = !menuActive.value } @@ -144,6 +148,7 @@ export const useBaseStore = defineStore('base', () => { setLoading, setCurrentList, setHasTasks, + setMenuActive, toggleMenu, setKeyboardShortcutsActive, setQuickActionsActive, From 99dc5cf34f02de7eb7f56abc31b015796312d0b8 Mon Sep 17 00:00:00 2001 From: David Angel Date: Wed, 1 Feb 2023 22:32:44 -0500 Subject: [PATCH 3/4] Refactor to only used local storage value when on desktop viewport widths --- src/components/home/navigation.vue | 12 +----------- src/stores/base.ts | 25 +++++++++++++++++++++---- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/src/components/home/navigation.vue b/src/components/home/navigation.vue index be9167b23..5ce4984fc 100644 --- a/src/components/home/navigation.vue +++ b/src/components/home/navigation.vue @@ -146,7 +146,7 @@