diff --git a/src/components/SceneryView/SceneryInfo/SceneryInfoRoutes.vue b/src/components/SceneryView/SceneryInfo/SceneryInfoRoutes.vue
index 95cce2b..44c6687 100644
--- a/src/components/SceneryView/SceneryInfo/SceneryInfoRoutes.vue
+++ b/src/components/SceneryView/SceneryInfo/SceneryInfoRoutes.vue
@@ -81,11 +81,11 @@ export default defineComponent({
computed: {
filteredOneWayRoutes() {
- return this.station.generalInfo?.routes.oneWay.filter(routeFilter) || [];
+ return this.station.generalInfo?.routes.single.filter(routeFilter) || [];
},
filteredTwoWayRoutes() {
- return this.station.generalInfo?.routes.twoWay.filter(routeFilter) || [];
+ return this.station.generalInfo?.routes.double.filter(routeFilter) || [];
}
}
});
diff --git a/src/components/StationsView/StationTable.vue b/src/components/StationsView/StationTable.vue
index 548adcc..def5b98 100644
--- a/src/components/StationsView/StationTable.vue
+++ b/src/components/StationsView/StationTable.vue
@@ -144,60 +144,54 @@
-
-
- {{ station.generalInfo.routes.twoWayCatenaryRouteNames.length }}
-
+ |
+
+
+
+ {{ station.generalInfo.routes.doubleElectrifiedNames.length }}
+
-
- {{ station.generalInfo.routes.twoWayNoCatenaryRouteNames.length }}
-
+
+ {{ station.generalInfo.routes.doubleOtherNames.length }}
+
+
-
+
-
- {{ station.generalInfo.routes.oneWayCatenaryRouteNames.length }}
-
+
+
+ {{ station.generalInfo.routes.singleElectrifiedNames.length }}
+
-
- {{ station.generalInfo.routes.oneWayNoCatenaryRouteNames.length }}
-
+
+ {{ station.generalInfo.routes.singleOtherNames.length }}
+
+
+
|
@@ -541,6 +535,10 @@ tr {
.station-info {
/* Images */
+ display: flex;
+ gap: 5px;
+ justify-content: center;
+
.icon-info {
vertical-align: middle;
line-height: 32px;
@@ -549,14 +547,34 @@ tr {
height: 32px;
font-size: 12px;
- margin: 0 4px;
-
outline: 2px solid #2b2b2b;
border-radius: 5px;
}
}
.station-tracks {
+ & > div {
+ display: grid;
+ grid-template-columns: 3em 3px 3em;
+ gap: 5px;
+ justify-content: center;
+
+ & > div {
+ display: flex;
+ gap: 5px;
+
+ &.double-tracks {
+ justify-content: flex-end;
+ }
+
+ &.single-tracks {
+ justify-content: flex-start;
+ }
+ }
+ }
+
+ text-align: center;
+
.no-catenary {
background-color: #939393;
}
@@ -566,14 +584,15 @@ tr {
}
.separator {
- border-left: 3px solid #b3b3b3;
+ background-color: #b3b3b3;
+ padding: 2px;
}
.track {
- margin: 0 0.35em;
- padding: 0.35em;
- font-size: 1.05em;
- white-space: pre-wrap;
+ width: 1.25em;
+ text-align: center;
+ padding: 0.35em 0;
+ font-size: 1.1em;
}
}
diff --git a/src/locales/en.json b/src/locales/en.json
index 5484f96..8630c2c 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -238,7 +238,7 @@
"status": "Status",
"dispatcher": "Dispatcher",
"dispatcher-lvl": "Dispatcher\nlevel",
- "routes": "Routes\ndouble / single",
+ "routes": "Routes\ndouble {'|'} single",
"general": "General info",
"user": "Drivers online",
"spawn": "Spawns online",
diff --git a/src/locales/pl.json b/src/locales/pl.json
index cc5b243..2cfd36d 100644
--- a/src/locales/pl.json
+++ b/src/locales/pl.json
@@ -230,7 +230,7 @@
"status": "Status",
"dispatcher": "Dyżurny",
"dispatcher-lvl": "Poziom\ndyżurnego",
- "routes": "Szlaki\n2tor / 1tor",
+ "routes": "Szlaki\n2tor {'|'} 1tor",
"general": "Informacje\nogólne",
"user": "Maszyniści online",
"spawn": "Otwarte spawny",
diff --git a/src/scripts/interfaces/StationRoutes.ts b/src/scripts/interfaces/StationRoutes.ts
index 24c82d3..f206773 100644
--- a/src/scripts/interfaces/StationRoutes.ts
+++ b/src/scripts/interfaces/StationRoutes.ts
@@ -1,13 +1,12 @@
import { StationRoutesInfo } from '../../store/typings';
export interface StationRoutes {
- oneWay: StationRoutesInfo[];
- twoWay: StationRoutesInfo[];
+ single: StationRoutesInfo[];
+ double: StationRoutesInfo[];
- /* [catenary, noCatenary] */
- oneWayCatenaryRouteNames: string[];
- oneWayNoCatenaryRouteNames: string[];
- twoWayCatenaryRouteNames: string[];
- twoWayNoCatenaryRouteNames: string[];
- sblRouteNames: string[];
+ singleElectrifiedNames: string[];
+ singleOtherNames: string[];
+ doubleElectrifiedNames: string[];
+ doubleOtherNames: string[];
+ sblNames: string[];
}
diff --git a/src/scripts/utils/filterUtils.ts b/src/scripts/utils/filterUtils.ts
index 9033ffc..6f9389e 100644
--- a/src/scripts/utils/filterUtils.ts
+++ b/src/scripts/utils/filterUtils.ts
@@ -176,21 +176,21 @@ export const filterStations = (station: Station, filters: Filter) => {
if (
filters['no-1track'] &&
- (routes.oneWayCatenaryRouteNames.length != 0 || routes.oneWayNoCatenaryRouteNames.length != 0)
+ (routes.singleElectrifiedNames.length != 0 || routes.singleOtherNames.length != 0)
)
return false;
if (
filters['no-2track'] &&
- (routes.twoWayCatenaryRouteNames.length != 0 || routes.twoWayNoCatenaryRouteNames.length != 0)
+ (routes.doubleElectrifiedNames.length != 0 || routes.doubleOtherNames.length != 0)
)
return false;
- if (routes.oneWayCatenaryRouteNames.length < filters['minOneWayCatenary']) return false;
- if (routes.oneWayNoCatenaryRouteNames.length < filters['minOneWay']) return false;
+ if (routes.singleElectrifiedNames.length < filters['minOneWayCatenary']) return false;
+ if (routes.singleOtherNames.length < filters['minOneWay']) return false;
- if (routes.twoWayCatenaryRouteNames.length < filters['minTwoWayCatenary']) return false;
- if (routes.twoWayNoCatenaryRouteNames.length < filters['minTwoWay']) return false;
+ if (routes.doubleElectrifiedNames.length < filters['minTwoWayCatenary']) return false;
+ if (routes.doubleOtherNames.length < filters['minTwoWay']) return false;
if (filters[controlType]) return false;
if (filters[signalType]) return false;
@@ -198,8 +198,8 @@ export const filterStations = (station: Station, filters: Filter) => {
if (filters['SUP'] && SUP) return false;
if (filters['noSUP'] && !SUP) return false;
- if (filters['SBL'] && routes.sblRouteNames.length > 0) return false;
- if (filters['PBL'] && routes.sblRouteNames.length == 0) return false;
+ if (filters['SBL'] && routes.sblNames.length > 0) return false;
+ if (filters['PBL'] && routes.sblNames.length == 0) return false;
if (
filters['authors'].length > 3 &&
diff --git a/src/store/mainStore.ts b/src/store/mainStore.ts
index ff7ca19..8885e60 100644
--- a/src/store/mainStore.ts
+++ b/src/store/mainStore.ts
@@ -230,27 +230,27 @@ export const useMainStore = defineStore('store', {
return apiStore.sceneryData.map((scenery) => {
const routes = scenery.routesInfo.reduce(
(acc, route) => {
- const tracksKey = route.routeTracks == 2 ? 'twoWay' : 'oneWay';
+ const tracksKey = route.routeTracks == 2 ? 'double' : 'single';
const isElectric = route.isElectric;
const routesKey: keyof StationRoutes = `${tracksKey}${
- !isElectric ? 'No' : ''
- }CatenaryRouteNames`;
+ !isElectric ? 'Other' : 'Electrified'
+ }Names`;
if (!route.isInternal) acc[routesKey].push(route.routeName);
- if (route.isRouteSBL) acc['sblRouteNames'].push(route.routeName);
+ if (route.isRouteSBL) acc['sblNames'].push(route.routeName);
acc[tracksKey].push(route);
return acc;
},
{
- oneWay: [],
- oneWayCatenaryRouteNames: [],
- oneWayNoCatenaryRouteNames: [],
- twoWay: [],
- twoWayCatenaryRouteNames: [],
- twoWayNoCatenaryRouteNames: [],
- sblRouteNames: []
+ single: [],
+ singleElectrifiedNames: [],
+ singleOtherNames: [],
+ double: [],
+ doubleElectrifiedNames: [],
+ doubleOtherNames: [],
+ sblNames: []
} as StationRoutes
);
|