diff --git a/src/components/OrderTrainPicker.vue b/src/components/OrderTrainPicker.vue index c889f6a..43c6425 100644 --- a/src/components/OrderTrainPicker.vue +++ b/src/components/OrderTrainPicker.vue @@ -143,8 +143,9 @@ export default defineComponent({ this.fetchSceneriesData(); }, - activated() { - this.fetchActiveData(); + async activated() { + await this.fetchActiveData(); + this.handleQueries(); this.refreshInterval = window.setInterval(() => { this.fetchActiveData(); @@ -254,6 +255,31 @@ export default defineComponent({ } this.store.orderMode = 'OrderMessage'; + }, + + handleQueries() { + const query = new URLSearchParams(window.location.search); + + const id = query.get('sceneryId'); + + if (id) { + const [sceneryName, sceneryRegion] = id.split('|'); + + this.selectedRegion = sceneryRegion; + + const queryScenery = this.activeData?.activeSceneries?.find( + (sc) => sc.stationName == sceneryName && sc.region == sceneryRegion && sc.isOnline + ); + + if (queryScenery) { + this.selectedSceneryId = `${queryScenery.stationName}|${queryScenery.stationHash}|${queryScenery.dispatcherName}|${queryScenery.region}`; + + console.log(this.selectedRegion); + this.selectOption(); + + this.store.orderMode = 'OrderTrainPicker'; + } + } } } }); diff --git a/src/views/Home.vue b/src/views/Home.vue index 11f195b..c92a8a0 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -77,6 +77,16 @@ export default defineComponent({ }; }, + created() { + const query = new URLSearchParams(window.location.search); + + const id = query.get('sceneryId'); + + if (id != null) { + this.store.orderMode = 'OrderTrainPicker'; + } + }, + computed: { orderModeComponent() { switch (this.store.orderMode) { diff --git a/vite.config.ts b/vite.config.ts index 1cab22b..13d8359 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -42,7 +42,8 @@ export default defineConfig({ ], }, devOptions: { - enabled: true, + // enabled: true, + suppressWarnings: true }, }), ],