fix: scenery without general info shown always as offline; wrong route info for unknown sceneries

This commit is contained in:
2025-09-05 20:03:17 +02:00
parent 8cde8e6323
commit fba335d0c7
+9 -13
View File
@@ -186,26 +186,28 @@ export default defineComponent({
const sceneryData = const sceneryData =
this.store.stationList?.find((sc) => sc.name == pathEl.stationName) ?? null; this.store.stationList?.find((sc) => sc.name == pathEl.stationName) ?? null;
if (!sceneryData || !sceneryData.generalInfo) return null;
const activeScenery = this.apiStore.activeData?.activeSceneries?.find( const activeScenery = this.apiStore.activeData?.activeSceneries?.find(
(sc) => sc.stationName == pathEl.stationName (sc) => sc.stationName == pathEl.stationName
); );
const arrivalLineData = pathEl.arrivalRouteExt const arrivalLineData = sceneryData?.generalInfo
? pathEl.arrivalRouteExt
? (sceneryData.generalInfo.routes.all.find( ? (sceneryData.generalInfo.routes.all.find(
(rt) => rt.routeName == pathEl.arrivalRouteExt (rt) => rt.routeName == pathEl.arrivalRouteExt
) ?? null) ) ?? null)
: null
: null; : null;
const departureLineData = pathEl.departureRouteExt const departureLineData = sceneryData?.generalInfo
? pathEl.departureRouteExt
? (sceneryData.generalInfo.routes.all.find( ? (sceneryData.generalInfo.routes.all.find(
(rt) => rt.routeName == pathEl.departureRouteExt (rt) => rt.routeName == pathEl.departureRouteExt
) ?? null) ) ?? null)
: null
: null; : null;
return { return {
generalInfo: sceneryData.generalInfo, generalInfo: sceneryData?.generalInfo ?? null,
isOnline: isOnline:
activeScenery && activeScenery &&
(activeScenery.isOnline == 1 || activeScenery.lastSeen >= Date.now() - 60000), (activeScenery.isOnline == 1 || activeScenery.lastSeen >= Date.now() - 60000),
@@ -234,7 +236,7 @@ export default defineComponent({
let isActive = false; let isActive = false;
if (pathData?.departureLineData) { if (pathData?.departureLineData) {
// arrivalLineInfo = pathData.departureLineData; arrivalLineInfo = pathData.departureLineData;
departureLineInfo = pathData.departureLineData; departureLineInfo = pathData.departureLineData;
} }
@@ -245,22 +247,16 @@ export default defineComponent({
isExternal = true; isExternal = true;
departureLineInfo = pathData?.arrivalLineData ?? null; departureLineInfo = pathData?.arrivalLineData ?? null;
if (pathData?.arrivalLineData) {
arrivalLineInfo = pathData.arrivalLineData; arrivalLineInfo = pathData.arrivalLineData;
} }
}
let correctedDepartureLineData: StationRoutesInfo | null = null;
const internalRouteInfo = stop.departureLine const internalRouteInfo = stop.departureLine
? pathData?.generalInfo.routes.all.find( ? pathData?.generalInfo?.routes.all.find(
(route) => route.isInternal && route.routeName == stop.departureLine (route) => route.isInternal && route.routeName == stop.departureLine
) )
: undefined; : undefined;
if (internalRouteInfo) { if (internalRouteInfo) {
correctedDepartureLineData = internalRouteInfo;
departureLineInfo = internalRouteInfo; departureLineInfo = internalRouteInfo;
} }