Compare commits

..

3 Commits

Author SHA1 Message Date
Spythere 471e6f5216 Wersja 1.14.3
Wersja 1.14.3
2023-05-18 02:42:27 +02:00
Spythere a617eef00e bump 1.14.3 2023-05-18 02:38:13 +02:00
Spythere 38e700ecd6 migracja z route na routeNames 2023-05-18 02:37:27 +02:00
3 changed files with 43 additions and 50 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "stacjownik",
"version": "1.14.2",
"version": "1.14.3",
"private": true,
"scripts": {
"dev": "vite",
+12 -1
View File
@@ -55,6 +55,16 @@ export interface APIData {
connectedSocketCount: number;
}
export interface StationRoutesInfo {
routeName: string;
isElectric: boolean;
isInternal: boolean;
isRouteSBL: boolean;
routeLength: number;
routeSpeed: number;
routeTracks: number;
}
export interface StationJSONData {
name: string;
abbr: string;
@@ -70,7 +80,8 @@ export interface StationJSONData {
SUP: boolean;
routes: string;
// routes: string;
routesInfo: StationRoutesInfo[];
checkpoints: string | null;
authors?: string;
+30 -48
View File
@@ -3,7 +3,7 @@ import { defineStore } from 'pinia';
import { io } from 'socket.io-client';
import { DataStatus } from '../scripts/enums/DataStatus';
import StationAPIData from '../scripts/interfaces/api/StationAPIData';
import {ScheduledTrain} from '../scripts/interfaces/ScheduledTrain';
import { ScheduledTrain } from '../scripts/interfaces/ScheduledTrain';
import Station from '../scripts/interfaces/Station';
import StationRoutes from '../scripts/interfaces/StationRoutes';
import Train from '../scripts/interfaces/Train';
@@ -303,57 +303,39 @@ export const useStore = defineStore('store', {
...scenery,
authors: scenery.authors?.split(',').map((a) => a.trim()),
routes:
scenery.routes
?.split(';')
.filter((routeString) => routeString)
.reduce(
(acc, routeString) => {
const specs1 = routeString.split('_')[0];
const isInternal = specs1.startsWith('!');
const name = isInternal ? specs1.replace('!', '') : specs1;
scenery.routesInfo.reduce(
(acc, route) => {
const propName: keyof StationRoutes = `${route.routeTracks == 2 ? 'twoWay' : 'oneWay'}${
route.isElectric ? '' : 'No'
}CatenaryRouteNames`;
const specs2 = routeString.split('_')[1].split('');
const twoWay = specs2[0] == '2';
const catenary = specs2[1] == 'E';
const SBL = specs2[2] == 'S';
const TWB = specs2[3] ? true : false;
const speed = Number(routeString.split(':')[1]) || 0;
const length = Number(routeString.split(':')[2]) || 0;
acc[route.routeTracks == 2 ? 'twoWay' : 'oneWay'].push({
name: route.routeName,
SBL: route.isRouteSBL,
TWB: false,
catenary: route.isElectric,
isInternal: route.isInternal,
tracks: route.routeTracks,
length: route.routeLength,
speed: route.routeSpeed,
});
const propName = twoWay
? catenary
? 'twoWayCatenaryRouteNames'
: 'twoWayNoCatenaryRouteNames'
: catenary
? 'oneWayCatenaryRouteNames'
: 'oneWayNoCatenaryRouteNames';
if (!route.isInternal) acc[propName].push(route.routeName);
acc[twoWay ? 'twoWay' : 'oneWay'].push({
name,
SBL,
TWB,
catenary,
isInternal,
tracks: twoWay ? 2 : 1,
length,
speed,
});
if (!isInternal) acc[propName].push(name);
if (route.isRouteSBL) acc['sblRouteNames'].push(route.routeName);
if (SBL) acc['sblRouteNames'].push(name);
return acc;
},
{
oneWay: [],
twoWay: [],
sblRouteNames: [],
oneWayCatenaryRouteNames: [],
oneWayNoCatenaryRouteNames: [],
twoWayCatenaryRouteNames: [],
twoWayNoCatenaryRouteNames: [],
} as StationRoutes
) || {},
return acc;
},
{
oneWay: [],
twoWay: [],
sblRouteNames: [],
oneWayCatenaryRouteNames: [],
oneWayNoCatenaryRouteNames: [],
twoWayCatenaryRouteNames: [],
twoWayNoCatenaryRouteNames: [],
} as StationRoutes
) || {},
checkpoints: scenery.checkpoints
? scenery.checkpoints.split(';').map((sub) => ({ checkpointName: sub, scheduledTrains: [] }))
: [],