From 084823de440f856a8facc6e353cb086fbccae42f Mon Sep 17 00:00:00 2001 From: Spythere Date: Sat, 16 Mar 2024 22:13:38 +0100 Subject: [PATCH 1/2] fix pobierania danych --- package.json | 2 +- src/App.vue | 6 ++++++ src/store/apiStore.ts | 13 +++++++------ 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index eb3f4ad..4ab8123 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "stacjownik", - "version": "1.22.1", + "version": "1.22.2", "private": true, "scripts": { "dev": "vite", diff --git a/src/App.vue b/src/App.vue index 3ea335e..e038a36 100644 --- a/src/App.vue +++ b/src/App.vue @@ -73,6 +73,12 @@ export default defineComponent({ }, async mounted() { + window.addEventListener('focus', () => { + if (Date.now() - this.apiStore.lastFetchData.getTime() < 15000) return; + + this.apiStore.fetchActiveData(); + }); + watch( () => this.store.blockScroll, (value) => { diff --git a/src/store/apiStore.ts b/src/store/apiStore.ts index 49de11a..1fa0166 100644 --- a/src/store/apiStore.ts +++ b/src/store/apiStore.ts @@ -24,6 +24,8 @@ export const useApiStore = defineStore('apiStore', { donatorsData: [] as API.Donators.Response, sceneryData: [] as StationJSONData[], + lastFetchData: new Date(), + client: undefined as AxiosInstance | undefined, activeDataScheduler: undefined as number | undefined @@ -64,20 +66,19 @@ export const useApiStore = defineStore('apiStore', { async setupActiveDataFetcher() { if (this.activeDataScheduler) return; - this.dataStatuses.connection = Status.Data.Loading; - this.activeDataScheduler = window.setInterval(() => { - if (UPDATE_SECONDS.includes(new Date().getSeconds())) { - this.fetchActiveData(); - } - }, 1000); + this.fetchActiveData(); + }, 25000); }, async fetchActiveData() { + if (!this.activeData) this.dataStatuses.connection = Status.Data.Loading; + try { const response = await this.client!.get('api/getActiveData'); this.activeData = response.data; + this.lastFetchData = new Date(); this.dataStatuses.connection = Status.Data.Loaded; console.log('Fetching active data at ' + new Date().toLocaleTimeString('pl-PL')); From 669975c68e7c523a0fe0166e3cc4435d10aa7bd3 Mon Sep 17 00:00:00 2001 From: Spythere Date: Sun, 17 Mar 2024 16:42:35 +0100 Subject: [PATCH 2/2] hotfixy --- src/components/Global/RegionDropdown.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Global/RegionDropdown.vue b/src/components/Global/RegionDropdown.vue index 42fc10b..aa6552a 100644 --- a/src/components/Global/RegionDropdown.vue +++ b/src/components/Global/RegionDropdown.vue @@ -84,7 +84,7 @@ export default defineComponent({ regionList() { return regionsJSON.map((region) => { const regionStationCount = this.store.activeSceneryList.filter( - (scenery) => scenery.region == region.id + (scenery) => scenery.region == region.id && scenery.dispatcherId != -1 ).length; const regionTrainCount =