import { onMounted, toRef } from "vue"; import { useRoute } from "vue-router"; import { useStore } from "vuex"; export function useActionPers(parent?: string) { const store = useStore(); if (!parent) { const route = useRoute(); parent = route.path; } const update = async () => { await store.dispatch("updateActionPers", parent); }; const actionPers = toRef(() => { // @ts-ignore const pers = store.state.actionPers[parent] ?? []; return Object.fromEntries(pers.map((code) => [code, true])); }); onMounted(async () => { await update(); }); return { get: (per) => !!actionPers.value[per], update, actionPers, }; }