diff --git a/src/layouts/MainLayout.vue b/src/layouts/MainLayout.vue index a2470964..b7698d73 100644 --- a/src/layouts/MainLayout.vue +++ b/src/layouts/MainLayout.vue @@ -30,7 +30,7 @@ const toggleLeftDrawer = () => { onMounted(async () => { await appStore.loadConfig(); - await appStore.getMenuLinks(); + await appStore.getMenuLinks(userStore?.userId); appStore.isHeaderMounted = true; }); @@ -41,7 +41,7 @@ const logout = async () => { const logoutSupplantedUser = async () => { await userStore.logoutSupplantedUser(); - await appStore.getMenuLinks(); + await appStore.getMenuLinks(userStore?.userId); refreshContentKey.value++; }; diff --git a/src/pages/Admin/ConnectionsView.vue b/src/pages/Admin/ConnectionsView.vue index 6b8f63d6..a2a78e3b 100644 --- a/src/pages/Admin/ConnectionsView.vue +++ b/src/pages/Admin/ConnectionsView.vue @@ -90,7 +90,7 @@ const getConnections = async () => { const supplantUser = async user => { try { await userStore.supplantUser(user); - await appStore.getMenuLinks(); + await appStore.getMenuLinks(userStore?.userId); router.push({ name: 'confirmedOrders' }); } catch (error) { console.error('Error supplanting user:', error); diff --git a/src/pages/Admin/UsersView.vue b/src/pages/Admin/UsersView.vue index c72167f2..3884d74b 100644 --- a/src/pages/Admin/UsersView.vue +++ b/src/pages/Admin/UsersView.vue @@ -27,7 +27,7 @@ const onSearch = data => (users.value = data || []); const supplantUser = async user => { try { await userStore.supplantUser(user); - await appStore.getMenuLinks(); + await appStore.getMenuLinks(userStore?.userId); router.push({ name: 'confirmedOrders' }); } catch (error) { console.error('Error supplanting user:', error); diff --git a/src/stores/app.js b/src/stores/app.js index d5183dc8..185b397d 100644 --- a/src/stores/app.js +++ b/src/stores/app.js @@ -31,9 +31,12 @@ export const useAppStore = defineStore('hedera', { ] }), actions: { - async getMenuLinks() { - const { data: sections } = await api.get('MyMenus'); - + async getMenuLinks(userId) { + const { data: sections } = await api.get('/MyMenus/getSections', { + params: { + userId + } + }); if (!sections) return; const sectionMap = new Map(); diff --git a/src/stores/user.js b/src/stores/user.js index 8f170752..8b75f124 100644 --- a/src/stores/user.js +++ b/src/stores/user.js @@ -296,6 +296,8 @@ export const useUserStore = defineStore('user', () => { tokenConfig.value = null; }; + const userId = computed(() => user.value?.id); + watch( [mainUser, supplantedUser], () => (user.value = supplantedUser.value || mainUser.value), @@ -336,6 +338,7 @@ export const useUserStore = defineStore('user', () => { updateUserLang, init, $reset, - onLogin + onLogin, + userId }; });