mirror of
https://github.com/Spythere/stacjownik.git
synced 2026-05-03 05:18:11 +00:00
chore: backwards compatibility with train modal for ext. links
This commit is contained in:
@@ -24,6 +24,7 @@ import { TrainFilter, trainFilters } from '../components/TrainsView/typings';
|
||||
import { filteredTrainList } from '../managers/trainFilterManager';
|
||||
import TrainStats from '../components/TrainsView/TrainStats.vue';
|
||||
import { Train } from '../typings/common';
|
||||
import { useRoute, useRouter } from 'vue-router';
|
||||
|
||||
export default defineComponent({
|
||||
components: {
|
||||
@@ -55,6 +56,8 @@ export default defineComponent({
|
||||
}),
|
||||
|
||||
setup() {
|
||||
const router = useRouter();
|
||||
|
||||
const store = useMainStore();
|
||||
const initTrainFilters = [...trainFilters.map((f) => ({ ...f }))];
|
||||
|
||||
@@ -88,6 +91,20 @@ export default defineComponent({
|
||||
sT.length > 0 || sD.length > 0 || sA.id != 'routeDistance' || areFiltersActive;
|
||||
});
|
||||
|
||||
// Backwards compatibility with external links leading to train modal
|
||||
watch(
|
||||
() => store.trainList,
|
||||
(v) => {
|
||||
if (v.length > 0 && router.currentRoute.value.query['trainId']) {
|
||||
const queryTrainId = router.currentRoute.value.query['trainId'];
|
||||
const train = store.trainList.find((t) => t.modalId == queryTrainId.toString());
|
||||
|
||||
if (!train) router.replace('/trains');
|
||||
else router.replace(`/driver?trainId=${train.id}`);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
return {
|
||||
computedTrains,
|
||||
searchedTrain,
|
||||
|
||||
Reference in New Issue
Block a user