import { useHakAksesStore } from '@/stores/sidebarMenuAkses/useMenuAksesStore' import { mergeSidebar, mergeSidebarIcon } from '~/utils/sidebarMenu/mergeSidebar'; import sidebarRole from "@/stores/rolePages"; // data dummy import sidebarItems from '~/components/layout/full/vertical-sidebar/sidebarItem'; //sidebar static dari template import MiniSideIcons from '~/components/layout/full/vertical-sidebar/MinIconItems'; export function useSidebarAccess(dataUser : string) { const akses = useHakAksesStore() const sidebarMenu = shallowRef(sidebarItems); const sidebarMiniSideIcons = shallowRef(MiniSideIcons); //console.log('sidebarMenu', sidebarMenu.value); //userRole = superadmin admin user const userRole = dataUser; const roleSidebarItems = sidebarRole.filter(item => item.role === userRole); //mergeSidebar (menu awal, menu role user) const mergedPages = mergeSidebar(sidebarMenu.value, roleSidebarItems[0].pages) //Merge Icon dari sidebarMenu api let mergedIcons = null; if (mergedPages !== null) { //sidebarMiniSideIcons.value = mergedPages //mergeSidebarIcon (icon awal, icon role user) mergedIcons = mergeSidebarIcon(sidebarMiniSideIcons.value, mergedPages) }else{ mergedIcons = sidebarMiniSideIcons.value } //console.log('mergedPages useSidebarAccess', mergedPages,mergedIcons); //insert ke store Pinia akses.setAccess({ role: userRole, pages: roleSidebarItems[0].pages, icons:mergedIcons }) akses.setMergedSidebar(mergedPages) //console.log('tes masuk storeMenu', akses.$state) const getPagesUser = akses.pageAccess const getMergedPages = akses.mergedSidebar const getMergedIcons = akses.iconItem return { getPagesUser, getMergedPages, getMergedIcons, } }