mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-08-17 20:52:14 +01:00
only send api initial api requests on page load, not on every navigation
This commit is contained in:
@@ -26,6 +26,7 @@ import { useCurrentTimeEntryStore } from '@/utils/useCurrentTimeEntry';
|
|||||||
import { useClientsStore } from '@/utils/useClients';
|
import { useClientsStore } from '@/utils/useClients';
|
||||||
import { useMembersStore } from '@/utils/useMembers';
|
import { useMembersStore } from '@/utils/useMembers';
|
||||||
import NotificationContainer from '@/Components/NotificationContainer.vue';
|
import NotificationContainer from '@/Components/NotificationContainer.vue';
|
||||||
|
import { useTimeEntriesStore } from '@/utils/useTimeEntries';
|
||||||
|
|
||||||
defineProps({
|
defineProps({
|
||||||
title: String,
|
title: String,
|
||||||
@@ -34,12 +35,17 @@ defineProps({
|
|||||||
const showSidebarMenu = ref(false);
|
const showSidebarMenu = ref(false);
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
useProjectsStore().fetchProjects();
|
// make sure that the initial requests are only loaded once, this can be removed once we move away from inertia
|
||||||
useTasksStore().fetchTasks();
|
if (window.initialDataLoaded !== true) {
|
||||||
useTagsStore().fetchTags();
|
window.initialDataLoaded = true;
|
||||||
useCurrentTimeEntryStore().fetchCurrentTimeEntry();
|
useProjectsStore().fetchProjects();
|
||||||
useClientsStore().fetchClients();
|
useTasksStore().fetchTasks();
|
||||||
useMembersStore().fetchMembers();
|
useTagsStore().fetchTags();
|
||||||
|
useCurrentTimeEntryStore().fetchCurrentTimeEntry();
|
||||||
|
useClientsStore().fetchClients();
|
||||||
|
useMembersStore().fetchMembers();
|
||||||
|
useTimeEntriesStore().fetchTimeEntries();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
1
resources/js/types/global.d.ts
vendored
1
resources/js/types/global.d.ts
vendored
@@ -6,6 +6,7 @@ import { PageProps as AppPageProps } from './';
|
|||||||
declare global {
|
declare global {
|
||||||
interface Window {
|
interface Window {
|
||||||
axios: AxiosInstance;
|
axios: AxiosInstance;
|
||||||
|
initialDataLoaded: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
let route: typeof ziggyRoute;
|
let route: typeof ziggyRoute;
|
||||||
|
|||||||
Reference in New Issue
Block a user