-
TWR - {{ $t('general.TWR') }}
-
({{ train.timetableData?.warningNotes }})
+
+
+
TWR
+ - {{ $t('warnings.TWR') }}
+
+
+
+
TN
+ - {{ $t('warnings.TN') }}
+
+
+
+
PN
+ - {{ $t('warnings.PN') }}
+
-
-
SKR - {{ $t('general.SKR') }}
+
+
{{ $t('warnings.header-title') }}
+
+ {{ train.timetableData?.warningNotes }}
+
@@ -254,6 +280,24 @@ export default defineComponent({
margin-top: 0.5em;
}
+.dangers-badges {
+ display: flex;
+ flex-direction: column;
+ gap: 0.5em;
+}
+
+.dangers-notes {
+ margin-top: 0.5em;
+ white-space: pre-wrap;
+
+ p {
+ margin-top: 0.25em;
+ max-height: 200px;
+ max-width: 500px;
+ overflow: auto;
+ }
+}
+
.train-info {
display: grid;
grid-template-columns: 2fr 1fr;
diff --git a/src/locales/en.json b/src/locales/en.json
index 8b646d3..2d59252 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -20,11 +20,16 @@
"dispatcher-message": "Dispatcher supporting the Stacjownik project!",
"driver-message": "Driver supporting the Stacjownik project!"
},
+ "warnings": {
+ "TWR": "Train with high risk cargo",
+ "SKR": "Train with exceeded gauge",
+ "PN": "Train with extra deliveries",
+ "TN": "Train with dangerous cargo",
+ "header-title": "Freight notes:"
+ },
"general": {
"and": " and ",
- "refresh": "REFRESH",
- "TWR": "High risk freight train",
- "SKR": "Train with exceeded gauge"
+ "refresh": "REFRESH"
},
"update": {
"title": "Stacjownik update!",
diff --git a/src/locales/pl.json b/src/locales/pl.json
index 2063a7f..77192f2 100644
--- a/src/locales/pl.json
+++ b/src/locales/pl.json
@@ -20,11 +20,16 @@
"dispatcher-message": "Dyżurny wspierający projekt Stacjownika!",
"driver-message": "Maszynista wspierający projekt Stacjownika!"
},
+ "warnings": {
+ "TWR": "Pociąg z towarami niebezpiecznie wysokiego ryzyka",
+ "SKR": "Pociąg z przekroczoną skrajnią",
+ "PN": "Pociąg z przesyłkami nadzwyczajnymi",
+ "TN": "Pociąg z towarami niebezpiecznymi",
+ "header-title": "Uwagi przewozowe:"
+ },
"general": {
"and": " oraz ",
- "refresh": "ODŚWIEŻ",
- "TWR": "Towar niebezpieczny wysokiego ryzyka",
- "SKR": "Przekroczona skrajnia"
+ "refresh": "ODŚWIEŻ"
},
"update": {
"title": "Aktualizacja Stacjownika!",
@@ -364,7 +369,7 @@
"current-track": "na szlaku",
"vmax-tooltip": "Maksymalna prędkość na podstawie pojazdów w składzie - nie bierze pod uwagę masy hamowania",
-
+
"catenary-tooltip": "Szlak zelektryfikowany",
"no-catenary-tooltip": "Szlak niezelektryfikowany",
"sbl-tooltip": "Szlak posiadający\nsamoczynną blokadę liniową",
diff --git a/src/store/mainStore.ts b/src/store/mainStore.ts
index 5dea181..3fdde31 100644
--- a/src/store/mainStore.ts
+++ b/src/store/mainStore.ts
@@ -87,14 +87,16 @@ export const useMainStore = defineStore('mainStore', {
timetableData: timetable
? {
timetableId: timetable.timetableId,
- SKR: timetable.SKR,
- TWR: timetable.TWR,
route: timetable.route,
category: timetable.category,
followingStops: timetable.stopList,
routeDistance: timetable.stopList[timetable.stopList.length - 1].stopDistance,
sceneries: timetable.sceneries,
+ TWR: timetable.TWR,
+ SKR: timetable.SKR,
warningNotes: timetable.warningNotes,
+ hasDangerousCargo: timetable.hasDangerousCargo,
+ hasExtraDeliveries: timetable.hasExtraDeliveries,
timetablePath: timetable.path.split(';').map((pathElementString) => {
const [arrival, station, departure] = pathElementString.split(',');
diff --git a/src/styles/badge.scss b/src/styles/badge.scss
index edaa5a9..f29645d 100644
--- a/src/styles/badge.scss
+++ b/src/styles/badge.scss
@@ -79,18 +79,17 @@
}
.train-badge {
- display: flex;
- align-items: center;
+ display: inline-block;
gap: 0.3em;
padding: 0.1em 0.3em;
border-radius: 0.2em;
font-weight: bold;
+ user-select: none;
&.twr {
background-color: var(--clr-twr);
box-shadow: 0 0 5px 1px var(--clr-twr);
- color: black;
}
&.skr {
@@ -98,6 +97,17 @@
box-shadow: 0 0 5px 1px var(--clr-skr);
}
+ &.tn {
+ background-color: var(--clr-tn);
+ box-shadow: 0 0 5px 1px var(--clr-tn);
+ }
+
+ &.pn {
+ background-color: var(--clr-pn);
+ box-shadow: 0 0 5px 1px var(--clr-pn);
+ color: black;
+ }
+
&.offline {
background-color: #be3728;
}
diff --git a/src/styles/global.scss b/src/styles/global.scss
index 2d3bc8f..9b081fb 100644
--- a/src/styles/global.scss
+++ b/src/styles/global.scss
@@ -13,7 +13,9 @@
--clr-accent2: #ff3d5d;
--clr-skr: #ff5100;
- --clr-twr: #ffbb00;
+ --clr-twr: #ee503e;
+ --clr-tn: #cb4dcf;
+ --clr-pn: #ffd000;
--clr-error: #fa3636;
--clr-warning: #c59429;
diff --git a/src/styles/variables.scss b/src/styles/variables.scss
index c7b741d..914d8d6 100644
--- a/src/styles/variables.scss
+++ b/src/styles/variables.scss
@@ -9,6 +9,3 @@ $warningCol: #ffe15b;
$accentCol: #ffc014;
$accent2Col: #ff3d5d;
-
-$skr: #ff5100;
-$twr: #ffbb00;
diff --git a/src/typings/api.ts b/src/typings/api.ts
index 8327bf6..3eb9de5 100644
--- a/src/typings/api.ts
+++ b/src/typings/api.ts
@@ -201,10 +201,11 @@ export namespace API {
TWR: boolean;
SKR: boolean;
- sceneries: string[];
-
- path: string;
+ hasDangerousCargo: boolean;
+ hasExtraDeliveries: boolean;
warningNotes: string | null;
+ sceneries: string[];
+ path: string;
}
}
@@ -266,6 +267,8 @@ export namespace API {
sceneryNames: string[];
path: string;
warningNotes: string | null;
+ hasDangerousCargo: boolean;
+ hasExtraDeliveries: boolean;
}
export type Response = Data[];
diff --git a/src/typings/common.ts b/src/typings/common.ts
index 7fd270e..0f1626a 100644
--- a/src/typings/common.ts
+++ b/src/typings/common.ts
@@ -84,10 +84,12 @@ export interface TrainTimetableData {
followingStops: TrainStop[];
TWR: boolean;
SKR: boolean;
+ hasDangerousCargo: boolean;
+ hasExtraDeliveries: boolean;
+ warningNotes: string | null;
routeDistance: number;
sceneries: string[];
timetablePath: TimetablePathElement[];
- warningNotes: string | null;
}
export interface Station {