diff --git a/resources/js/Layouts/AppLayout.vue b/resources/js/Layouts/AppLayout.vue index 62d6ba8a..833609c7 100644 --- a/resources/js/Layouts/AppLayout.vue +++ b/resources/js/Layouts/AppLayout.vue @@ -21,7 +21,7 @@ import UserSettingsIcon from '@/Components/UserSettingsIcon.vue'; import MainContainer from '@/Pages/MainContainer.vue'; import { onMounted, ref } from 'vue'; import NotificationContainer from '@/Components/NotificationContainer.vue'; -import { initializeStores } from '@/utils/init'; +import { initializeStores, refreshStores } from '@/utils/init'; import { canUpdateOrganization, canViewClients, @@ -45,6 +45,9 @@ onMounted(async () => { window.initialDataLoaded = true; initializeStores(); } + window.onfocus = () => { + refreshStores(); + }; }); const page = usePage<{ diff --git a/resources/js/utils/init.ts b/resources/js/utils/init.ts index 212e0c4e..9497686a 100644 --- a/resources/js/utils/init.ts +++ b/resources/js/utils/init.ts @@ -8,6 +8,11 @@ import { useTimeEntriesStore } from '@/utils/useTimeEntries'; import { canViewClients, canViewMembers } from '@/utils/permissions'; export function initializeStores() { + refreshStores(); + useTimeEntriesStore().fetchTimeEntries(); +} + +export function refreshStores() { useProjectsStore().fetchProjects(); useTasksStore().fetchTasks(); useTagsStore().fetchTags(); @@ -18,5 +23,4 @@ export function initializeStores() { if (canViewClients()) { useClientsStore().fetchClients(); } - useTimeEntriesStore().fetchTimeEntries(); }