Merge pull request #82 from Spythere/development

Wersja 1.22.2
This commit is contained in:
Spythere
2024-03-17 16:47:52 +01:00
committed by GitHub
4 changed files with 15 additions and 8 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "stacjownik", "name": "stacjownik",
"version": "1.22.1", "version": "1.22.2",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
+6
View File
@@ -73,6 +73,12 @@ export default defineComponent({
}, },
async mounted() { async mounted() {
window.addEventListener('focus', () => {
if (Date.now() - this.apiStore.lastFetchData.getTime() < 15000) return;
this.apiStore.fetchActiveData();
});
watch( watch(
() => this.store.blockScroll, () => this.store.blockScroll,
(value) => { (value) => {
+1 -1
View File
@@ -84,7 +84,7 @@ export default defineComponent({
regionList() { regionList() {
return regionsJSON.map((region) => { return regionsJSON.map((region) => {
const regionStationCount = this.store.activeSceneryList.filter( const regionStationCount = this.store.activeSceneryList.filter(
(scenery) => scenery.region == region.id (scenery) => scenery.region == region.id && scenery.dispatcherId != -1
).length; ).length;
const regionTrainCount = const regionTrainCount =
+6 -5
View File
@@ -24,6 +24,8 @@ export const useApiStore = defineStore('apiStore', {
donatorsData: [] as API.Donators.Response, donatorsData: [] as API.Donators.Response,
sceneryData: [] as StationJSONData[], sceneryData: [] as StationJSONData[],
lastFetchData: new Date(),
client: undefined as AxiosInstance | undefined, client: undefined as AxiosInstance | undefined,
activeDataScheduler: undefined as number | undefined activeDataScheduler: undefined as number | undefined
@@ -64,20 +66,19 @@ export const useApiStore = defineStore('apiStore', {
async setupActiveDataFetcher() { async setupActiveDataFetcher() {
if (this.activeDataScheduler) return; if (this.activeDataScheduler) return;
this.dataStatuses.connection = Status.Data.Loading;
this.activeDataScheduler = window.setInterval(() => { this.activeDataScheduler = window.setInterval(() => {
if (UPDATE_SECONDS.includes(new Date().getSeconds())) {
this.fetchActiveData(); this.fetchActiveData();
} }, 25000);
}, 1000);
}, },
async fetchActiveData() { async fetchActiveData() {
if (!this.activeData) this.dataStatuses.connection = Status.Data.Loading;
try { try {
const response = await this.client!.get<API.ActiveData.Response>('api/getActiveData'); const response = await this.client!.get<API.ActiveData.Response>('api/getActiveData');
this.activeData = response.data; this.activeData = response.data;
this.lastFetchData = new Date();
this.dataStatuses.connection = Status.Data.Loaded; this.dataStatuses.connection = Status.Data.Loaded;
console.log('Fetching active data at ' + new Date().toLocaleTimeString('pl-PL')); console.log('Fetching active data at ' + new Date().toLocaleTimeString('pl-PL'));