diff --git a/src/components/TrainsView/TrainSchedule.vue b/src/components/TrainsView/TrainSchedule.vue index f060858..0128399 100644 --- a/src/components/TrainsView/TrainSchedule.vue +++ b/src/components/TrainsView/TrainSchedule.vue @@ -57,7 +57,14 @@ {{ stop.departureLine }} - | {{ stop.departureLineInfo.routeSpeed }} + + | + {{ + stop.departureLineInfo.routeSpeedExit + ? `${stop.departureLineInfo.routeSpeedExit} (${stop.departureLineInfo.routeSpeed})` + : stop.departureLineInfo.routeSpeed + }} - {{ scheduleStops[i + 1].sceneryName }} + {{ stop.nextPointRef.sceneryName }} - {{ scheduleStops[i + 1].arrivalLine }} + {{ stop.nextPointRef.arrivalLine }} - - | {{ scheduleStops[i + 1].arrivalLineInfo!.routeSpeed }} + + | {{ stop.nextPointRef.arrivalLineInfo!.routeSpeed }} + ({{ stop.nextPointRef.arrivalLineInfo!.routeSpeedExit }}) { let isExternal = false; if (stop.arrivalLine === currentPath.arrivalRouteExt) { @@ -287,7 +297,9 @@ export default defineComponent({ status: stop.confirmed ? 'confirmed' : stop.stopped ? 'stopped' : 'unconfirmed', sceneryName: currentPath.stationName, - isSceneryOnline: pathData?.isOnline ?? false + isSceneryOnline: pathData?.isOnline ?? false, + + nextPointRef: null }; if (internalRouteInfo) { @@ -309,6 +321,11 @@ export default defineComponent({ stopRows.push(rowData); + // Assign this row data object to the last one as reference + if (i != 0) { + stopRows[i - 1].nextPointRef = rowData; + } + if (stop.departureLine === currentPath.departureRouteExt) { // Reverse search for last scenery checkpoint if (pathData?.departureLineData) { @@ -328,7 +345,7 @@ export default defineComponent({ currentPath = timetablePath[++currentPathIndex]; pathData = this.getPathSceneryData(currentPath); } - } + }); return stopRows; }, diff --git a/src/components/TrainsView/typings.ts b/src/components/TrainsView/typings.ts index 8097133..a336bce 100644 --- a/src/components/TrainsView/typings.ts +++ b/src/components/TrainsView/typings.ts @@ -196,4 +196,6 @@ export interface TrainSchedulePoint { isSBL: boolean; sceneryName: string | null; isSceneryOnline: boolean; + + nextPointRef: TrainSchedulePoint | null; } \ No newline at end of file diff --git a/src/typings/common.ts b/src/typings/common.ts index e2004fa..cc48644 100644 --- a/src/typings/common.ts +++ b/src/typings/common.ts @@ -142,6 +142,7 @@ export interface StationRoutesInfo { isRouteSBL: boolean; routeLength: number; routeSpeed: number; + routeSpeedExit?: number; routeTracks: number; hidden?: boolean; realLineNo?: number;