tambah menu sideBarMenu , middleware definepagemeta

This commit is contained in:
2025-07-10 12:06:56 +07:00
parent 1b05076317
commit c37759cc8f
16 changed files with 244 additions and 149 deletions

View File

@@ -7,9 +7,9 @@ import { Icon } from '@iconify/vue';
import { useRoute } from 'vue-router';
// MiniSidebar Icons
import MiniSideIcons from './MinIconItems';
//import { useSidebarAccess } from '~/composables/useSidebarAccess'
import { mergeSidebar, mergeSidebarIcon } from '~/composables/sidebarMenu/mergeSidebar';
import sidebarRole from "@/stores/rolePages"; // data dummy
import { useHakAksesStore } from '@/stores/sidebarMenuAkses/useMenuAksesStore'
//import { mergeSidebar, mergeSidebarIcon } from '~/utils/sidebarMenu/mergeSidebar';
//import sidebarRole from "@/stores/rolePages"; // data dummy
const route = useRoute();
@@ -43,18 +43,13 @@ const findTitleByPath = (items: any, path: any) => {
const customizer = useCustomizerStore();
const sidebarMenu = shallowRef(sidebarItems);
//Merge Sidebar dari user api
//sidebarItems dari static sidebar
//sidebarRole dari role user api
const userRole = "admin";
const roleSidebarItems = sidebarRole.filter(item => item.role === userRole);
//filter menu untuk userRole admin
//mergeSidebar (menu awal, menu role user)
const mergedPages = mergeSidebar(sidebarMenu.value, roleSidebarItems[0].pages)
console.log('sidebarMenu', sidebarMenu.value);
console.log('roleSidebarItems', roleSidebarItems[0].pages);
console.log('mergedSidebarMenu', mergedPages);
sidebarMenu.value = mergedPages
const aksesMenuStore = useHakAksesStore();
//ambil data dari store pinia
if (Array.isArray(aksesMenuStore.mergedSidebar) && aksesMenuStore.mergedSidebar.length > 0) {
sidebarMenu.value = aksesMenuStore.mergedSidebar
}
const mergedPages = sidebarMenu.value //ambil data dari store pinia
// sidebarMenu.value = sidebarMenu
const foundId = findTitleByPath(mergedPages, route.path);
@@ -69,12 +64,9 @@ function showData(data: any) {
//Merge Icon dari sidebarMenu api
const sidebarMiniSideIcons = shallowRef(MiniSideIcons);
if (mergedPages !== null) {
sidebarMiniSideIcons.value = mergedPages
const mergedIcon = mergeSidebarIcon(MiniSideIcons, sidebarMiniSideIcons.value)
//console.log('sidebarIcon', MiniSideIcons);
console.log('mergedsidebarIcon', mergedIcon);
sidebarMiniSideIcons.value = mergedIcon
//ambil data dari store pinia
if (Array.isArray(aksesMenuStore.iconItem) && aksesMenuStore.iconItem.length > 0) {
sidebarMiniSideIcons.value = aksesMenuStore.iconItem
}
// MiniSidebar Icons End

View File

@@ -59,10 +59,6 @@ const sidebarItem: menu[] = [
//role: ['admin','user'],
//permission: ['view', 'update', 'create', 'delete'],
},
{
title: 'Blog',
to: '/front-page/blog/posts'
},
{
title: 'Blog Details',
to: '/front-page/blog/early-black-friday-amazon-deals-cheap-tvs-headphones'
@@ -78,6 +74,14 @@ const sidebarItem: menu[] = [
{
title: 'Pricing',
to: '/front-page/pricing'
},
{
title: 'Sample Page',
to: '/sample-page'
},
{
title: 'Sample Page Copy',
to: '/sample-page-copy'
}
]
},