diff --git a/composables/usePortalTags.ts b/composables/usePortalTags.ts new file mode 100644 index 0000000..d1ecea8 --- /dev/null +++ b/composables/usePortalTags.ts @@ -0,0 +1,15 @@ +export const usePortalTags = () => { + const user = useDirectusUser(); + + const tags = computed(() => (toValue(user)?.tags as Array) || []); + + const details = computed(() => { + const value = toValue(tags); + + return { + interest: value.includes("portal-interest"), + }; + }); + + return details; +}; diff --git a/pages/dashboard.vue b/pages/dashboard.vue index a73f56e..d56bbbf 100644 --- a/pages/dashboard.vue +++ b/pages/dashboard.vue @@ -5,14 +5,11 @@ - @@ -48,13 +45,9 @@ - - - Site Analytics - - - - Data Analytics + + + @@ -70,6 +63,53 @@ definePageMeta({ const { mdAndDown } = useDisplay(); const { logout } = useDirectusAuth(); +const tags = usePortalTags(); + +const interestMenu = [ + { + to: "/dashboard/interest-analytics", + icon: "mdi-view-dashboard", + title: "Analytics", + }, + { + to: "/dashboard/interest-berth-list", + icon: "mdi-table", + title: "Berth List", + }, + { + to: "/dashboard/interest-berth-status", + icon: "mdi-sail-boat", + title: "Berth Status", + }, + { + to: "/dashboard/interest-list", + icon: "mdi-view-list", + title: "Interest List", + }, + { + to: "/dashboard/interest-status", + icon: "mdi-account-check", + title: "Interest Status", + }, +]; + +const defaultMenu = [ + { + to: "/dashboard/site", + icon: "mdi-view-dashboard", + title: "Site Analytics", + }, + { + to: "/dashboard/data", + icon: "mdi-finance", + title: "Data Analytics", + }, +]; + +const menu = computed(() => + toValue(tags).interest ? interestMenu : defaultMenu +); + const logOut = async () => { await logout(); return navigateTo("/login"); diff --git a/pages/dashboard/index.vue b/pages/dashboard/index.vue index 7a97feb..0586111 100644 --- a/pages/dashboard/index.vue +++ b/pages/dashboard/index.vue @@ -1,5 +1,9 @@ diff --git a/pages/dashboard/interest-analytics.vue b/pages/dashboard/interest-analytics.vue new file mode 100644 index 0000000..4660a1b --- /dev/null +++ b/pages/dashboard/interest-analytics.vue @@ -0,0 +1,31 @@ +