diff --git a/src/components/SceneryView/SceneryHistory.vue b/src/components/SceneryView/SceneryHistory.vue index fac6dfc..fc126f6 100644 --- a/src/components/SceneryView/SceneryHistory.vue +++ b/src/components/SceneryView/SceneryHistory.vue @@ -73,7 +73,7 @@ interface SceneryHistory { } interface HistoryResultAPI { - result: SceneryHistory; + response: SceneryHistory; errorMessage?: any; } @@ -100,13 +100,16 @@ export default defineComponent({ async mounted() { try { - const apiResult: HistoryResultAPI = (await axios.get(`${API_URL}?name=${this.name}`)).data; + const apiResult: HistoryResultAPI = (await axios.get(`${API_URL}?name=${this.name}&historyCount=100`)).data; + console.log(apiResult); + + + if (!apiResult || !apiResult.response) return; this.isLoaded = true; - if (!apiResult || !apiResult.result) return; if (!apiResult.errorMessage) { - this.dispatcherHistory = apiResult.result.dispatcherHistory; + this.dispatcherHistory = apiResult.response.dispatcherHistory; this.dispatcherTimeline = this.dispatcherHistory .reduce((acc, dispatcher) => { diff --git a/src/components/SceneryView/SceneryInfo.vue b/src/components/SceneryView/SceneryInfo.vue index ad8ec50..aa4a83a 100644 --- a/src/components/SceneryView/SceneryInfo.vue +++ b/src/components/SceneryView/SceneryInfo.vue @@ -7,8 +7,8 @@ - - + +
@@ -45,8 +45,12 @@ export default defineComponent({ default: {}, }, - timetableOnly: Boolean, + timetableOnly: Boolean }, + + data: () => ({ + onlineFrom: -1 + }), }); diff --git a/src/components/SceneryView/SceneryInfo/SceneryInfoDispatcher.vue b/src/components/SceneryView/SceneryInfo/SceneryInfoDispatcher.vue index b8337db..9661e5f 100644 --- a/src/components/SceneryView/SceneryInfo/SceneryInfoDispatcher.vue +++ b/src/components/SceneryView/SceneryInfo/SceneryInfoDispatcher.vue @@ -31,17 +31,6 @@ import { defineComponent } from 'vue'; import styleMixin from '@/mixins/styleMixin'; import Station from '@/scripts/interfaces/Station'; -import axios from 'axios'; -import { URLs } from '@/scripts/utils/apiURLs'; - -interface SceneryHistoryData { - response?: { - stationName: string; - currentDispatcher: string; - currentDispatcherId: number; - currentDispatcherFrom: number; - }; -} export default defineComponent({ mixins: [styleMixin], @@ -50,22 +39,18 @@ export default defineComponent({ type: Object as () => Station, default: {}, }, + + onlineFrom: { + type: Number, + default: -1 + } }, - async mounted() { - const dispatcherInfo: SceneryHistoryData = await ( - await axios.get(`${URLs.stacjownikAPI}/api/getSceneryHistory?name=${this.station.name.replace(/ /g, '_')}&historyCount=0`) - ).data; - - this.onlineFrom = dispatcherInfo.response?.currentDispatcherFrom || -1; - }, data: () => ({ icons: { spawn: require('@/assets/icon-spawn.svg'), - }, - - onlineFrom: -1 + } }), }); diff --git a/src/views/SceneryView.vue b/src/views/SceneryView.vue index 0703658..f614fe0 100644 --- a/src/views/SceneryView.vue +++ b/src/views/SceneryView.vue @@ -61,6 +61,20 @@ import { useStore } from '@/store'; import { GETTERS } from '@/constants/storeConstants'; import { useRoute } from 'vue-router'; +import axios from 'axios'; +import { URLs } from '@/scripts/utils/apiURLs'; +import { watch, watchEffect } from 'vue'; +import Station from '@/scripts/interfaces/Station'; + +interface SceneryHistoryData { + response?: { + stationName: string; + currentDispatcher: string; + currentDispatcherId: number; + currentDispatcherFrom: number; + }; +} + export default defineComponent({ components: { SceneryInfo, SceneryTimetable, SceneryHistory, ActionButton, SceneryHeader }, @@ -72,6 +86,9 @@ export default defineComponent({ }, viewMode: 'info', + + stationInfo: {} as (Station | undefined), + onlineFrom: -1 }), setup() { @@ -85,10 +102,14 @@ export default defineComponent({ const isComponentVisible = computed(() => route.path === '/scenery'); const isDataLoaded = computed(() => data.value.dataConnectionStatus === DataStatus.Loaded); + + const stationInfo = computed(() => { + return data.value.stationList.find((station) => station.name === route.query.station?.toString().replace(/_/g, ' ')) + }) - const stationInfo = computed(() => - data.value.stationList.find((station) => station.name === route.query.station?.toString().replace(/_/g, ' ')) - ); + // const onlineFrom = computed(async () => { + // return await (await axios.get(`${URLs.stacjownikAPI}?name=${route.query.station}&historyCount=0`)).data; + // }); return { data, @@ -96,7 +117,7 @@ export default defineComponent({ timetableOnly, isComponentVisible, isDataLoaded, - stationInfo, + stationInfo }; }, @@ -110,8 +131,14 @@ export default defineComponent({ }, }, - activated() { + async mounted() { + this.stationInfo = (this.$store.getters[GETTERS.allData] as StoreData).stationList.find((station) => station.name === this.$route.query.station?.toString().replace(/_/g, ' ')) + }, + + async activated() { if (this.currentRegion.id != 'eu' && this.viewMode == 'history') this.viewMode = 'info'; + + const onlineFrom = await (await axios.get(`${URLs.stacjownikAPI}/api/getSceneryHistory?name=${this.$route.query.station}&historyCount=0`)).data; }, });