From 4a4433dcddd38a2b5326e28e681789651495264c Mon Sep 17 00:00:00 2001
From: Alexis <35.alexis.pele@gmail.com>
Date: Fri, 7 Jun 2024 19:35:49 +0200
Subject: [PATCH] Moved Sidebar to top of app
This prevents flicker and stops useless rerender of the component
---
app.vue | 6 +++-
components/global/{ => sidebar}/Sidebar.vue | 27 ++---------------
.../global/{ => sidebar}/SidebarProps.ts | 4 +--
pages/calendar-old.vue | 30 -------------------
pages/calendar/[id].vue | 12 +++-----
pages/index.vue | 7 ++---
pages/profile.vue | 12 +++-----
stores/UiStore.ts | 14 +++++++++
8 files changed, 35 insertions(+), 77 deletions(-)
rename components/global/{ => sidebar}/Sidebar.vue (70%)
rename components/global/{ => sidebar}/SidebarProps.ts (66%)
delete mode 100644 pages/calendar-old.vue
create mode 100644 stores/UiStore.ts
diff --git a/app.vue b/app.vue
index ffcefe3..32cc913 100644
--- a/app.vue
+++ b/app.vue
@@ -35,7 +35,11 @@ const useIdFunction = () => useId()
-
+
+
+
+
+
diff --git a/components/global/Sidebar.vue b/components/global/sidebar/Sidebar.vue
similarity index 70%
rename from components/global/Sidebar.vue
rename to components/global/sidebar/Sidebar.vue
index 56142fb..5676f49 100644
--- a/components/global/Sidebar.vue
+++ b/components/global/sidebar/Sidebar.vue
@@ -1,8 +1,7 @@
@@ -14,7 +13,7 @@ defineProps()
-
+
@@ -31,7 +30,7 @@ defineProps()
-
+
@@ -50,26 +49,6 @@ defineProps()
-
-
diff --git a/components/global/SidebarProps.ts b/components/global/sidebar/SidebarProps.ts
similarity index 66%
rename from components/global/SidebarProps.ts
rename to components/global/sidebar/SidebarProps.ts
index adcfce0..0e8b992 100644
--- a/components/global/SidebarProps.ts
+++ b/components/global/sidebar/SidebarProps.ts
@@ -1,4 +1,4 @@
-export interface MenuItem {
+export interface SidebarMenuItem {
phIcon: Component
tooltip: string
clickHandler?: () => void
@@ -6,6 +6,6 @@ export interface MenuItem {
}
export interface SidebarProps {
- menuItems: MenuItem[],
+ menuItems: SidebarMenuItem[],
isHome?: boolean
}
diff --git a/pages/calendar-old.vue b/pages/calendar-old.vue
deleted file mode 100644
index 0737a76..0000000
--- a/pages/calendar-old.vue
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/calendar/[id].vue b/pages/calendar/[id].vue
index 0187568..31c08b3 100644
--- a/pages/calendar/[id].vue
+++ b/pages/calendar/[id].vue
@@ -1,6 +1,5 @@
-
-
-
-
-
+
diff --git a/pages/index.vue b/pages/index.vue
index 10c9254..c0edf24 100644
--- a/pages/index.vue
+++ b/pages/index.vue
@@ -1,15 +1,14 @@
-
+ Test
diff --git a/pages/profile.vue b/pages/profile.vue
index 4247710..7b62bc0 100644
--- a/pages/profile.vue
+++ b/pages/profile.vue
@@ -1,6 +1,4 @@
-
+
diff --git a/stores/UiStore.ts b/stores/UiStore.ts
new file mode 100644
index 0000000..3b005fe
--- /dev/null
+++ b/stores/UiStore.ts
@@ -0,0 +1,14 @@
+import type { SidebarMenuItem } from "~/components/global/sidebar/SidebarProps"
+
+export const useUiStore = defineStore('ui', () => {
+ const currentMenu: Ref = ref([])
+
+ function setCurrentMenu(items: SidebarMenuItem[]) {
+ currentMenu.value = items
+ }
+
+ return {
+ currentMenu,
+ setCurrentMenu
+ }
+})