diff --git a/src/components/Global/StockList.vue b/src/components/Global/StockList.vue
index 3500fc4..fe0a894 100644
--- a/src/components/Global/StockList.vue
+++ b/src/components/Global/StockList.vue
@@ -180,7 +180,6 @@ export default defineComponent({
align-items: flex-end;
overflow: auto;
margin: 0 auto;
- padding: 1em 0;
}
ul > li > span {
diff --git a/src/components/JournalView/JournalTimetables/EntryDetails.vue b/src/components/JournalView/JournalTimetables/EntryDetails.vue
index 14f8c48..4259679 100644
--- a/src/components/JournalView/JournalTimetables/EntryDetails.vue
+++ b/src/components/JournalView/JournalTimetables/EntryDetails.vue
@@ -17,23 +17,24 @@
-
+
+
-
-
+
+
+
+
{{ $t('journal.dispatcher-name') }}
{{ timetable.authorName }}
-
-
-
+
{{ $t('journal.stock-max-speed') }}
{{ timetable.maxSpeed }}km/h
-
+
{{ $t('journal.stock-length') }}
{{
@@ -44,13 +45,13 @@
-
+
{{ $t('journal.stock-mass') }}
{{
Math.floor(
(currentHistoryIndex == 0
- ? timetable.stockMass!
+ ? timetable.stockMass
: stockHistory[currentHistoryIndex].stockMass || timetable.stockMass) / 1000
)
}}t
@@ -58,32 +59,56 @@
-
-
-
+
+
+
+
{{ $t('journal.stock-dangers') }}:
+
+
+ -
+ {{ $t('general.TWR') }} (TWR)
+
+ | {{ timetable.warningNotes }}
+
+
+
+ -
+ {{ $t('general.SKR') }}
+
+ | Komentarze: {{ timetable.warningNotes }}
+
+
+
-
-
+
+
+
+
{{ $t('journal.stock-preview') }}:
+
+
+
+
+
+
+
-
-
TWR: {{ timetable.warningNotes }}
@@ -189,7 +214,6 @@ export default defineComponent({
display: flex;
flex-wrap: wrap;
gap: 0.5em;
- margin-top: 0.5em;
.badge {
margin: 0;
@@ -201,6 +225,16 @@ export default defineComponent({
}
}
+hr {
+ margin: 0.5em 0;
+}
+
+.stock-dangers ul {
+ list-style: disc;
+ padding-left: 1em;
+ padding-top: 0.5em;
+}
+
ul.stock-list {
display: flex;
align-items: flex-end;
diff --git a/src/components/JournalView/JournalTimetables/EntryStops.vue b/src/components/JournalView/JournalTimetables/EntryStops.vue
index 2b27038..5ac1be3 100644
--- a/src/components/JournalView/JournalTimetables/EntryStops.vue
+++ b/src/components/JournalView/JournalTimetables/EntryStops.vue
@@ -70,23 +70,20 @@
-
-
-
-
+
- / {{ pathData.arrival }} >
+ >
+ {{ pathData.arrival }}
{{ pathData.sceneryName }}
-
- > {{ pathData.departure }}
-
-
-
+ {{ pathData.departure }}
+
+
@@ -193,7 +190,6 @@ export default defineComponent({
word-wrap: break-word;
gap: 0.25em;
font-size: 0.95em;
- color: #adadad;
}
.stop-list {
@@ -251,13 +247,45 @@ export default defineComponent({
}
}
-.entry-path-details {
+.timetable-path-list {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 0.5em 0;
padding: 0.5em 0;
+ color: #ccc;
+
+ li > .path-scenery:first-child,
+ li > .path-arrival:nth-child(2) {
+ border-radius: 0.5em 0 0 0.5em;
+ }
+
+ li > :last-child {
+ border-radius: 0 0.5em 0.5em 0;
+ }
}
-.entry-path-details > span[data-visited='true'] {
+.path-scenery {
+ padding: 0.25em 0.5em;
+ background-color: #303030;
+}
+
+.path-arrival,
+.path-departure {
+ padding: 0.25em;
+ display: inline-block;
+ background-color: #4e4e4e;
+ min-width: 25px;
+ text-align: center;
+}
+
+.path-arrow {
+ padding: 0 0.5em;
+}
+
+.timetable-path-list > li[data-visited='true'] {
.path-arrival,
- .path-scenery {
+ .path-scenery,
+ .path-arrow {
color: lightgreen;
}
diff --git a/src/components/JournalView/JournalTimetables/JournalTimetableEntry.vue b/src/components/JournalView/JournalTimetables/JournalTimetableEntry.vue
index bce35ff..f68f9bc 100644
--- a/src/components/JournalView/JournalTimetables/JournalTimetableEntry.vue
+++ b/src/components/JournalView/JournalTimetables/JournalTimetableEntry.vue
@@ -5,9 +5,9 @@
-
+
{{ timetableEntry.route.replace('|', ' - ') }}
-
+
@@ -134,8 +134,16 @@ export default defineComponent({
diff --git a/src/components/TrainsView/TrainInfo.vue b/src/components/TrainsView/TrainInfo.vue
index 9a8fd37..ea0912e 100644
--- a/src/components/TrainsView/TrainInfo.vue
+++ b/src/components/TrainsView/TrainInfo.vue
@@ -8,11 +8,21 @@
#{{ train.timetableData.timetableId }}
-
+
TWR
-
+
SKR
@@ -129,6 +139,20 @@
{{ displayTrainPosition(train) }}
+
+
+
+ TWR - {{ $t('general.TWR') }}
+ ({{ train.timetableData?.warningNotes }})
+
+
+
+ SKR - {{ $t('general.SKR') }}
+
+
@@ -199,7 +223,7 @@ export default defineComponent({
query: {
'search-driver': this.train.driverName
}
- }
+ };
}
}
});
@@ -226,6 +250,10 @@ export default defineComponent({
line-height: 1.5em;
}
+.train-dangers {
+ margin-top: 0.5em;
+}
+
.train-info {
display: grid;
grid-template-columns: 2fr 1fr;
diff --git a/src/locales/en.json b/src/locales/en.json
index d5fe900..68f3c50 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -441,6 +441,7 @@
"no-further-data": "No further data for current parameters",
"loading-further-data": "Loading...",
+
"route-length": "Route length:",
"station-count": "Stations:",
@@ -460,10 +461,14 @@
"entry-details": "DETAILS",
"no-entry-details": "NO DETAILS AVAILABLE",
+
"stock-length": "Length",
"stock-mass": "Mass",
"stock-max-speed": "Max. speed",
+ "stock-dangers": "ADDITIONAL NOTES",
+ "stock-preview": "STOCK PREVIEW",
+
"load-data": "Load further data...",
"last-seen-at": "Last seen at",
diff --git a/src/locales/pl.json b/src/locales/pl.json
index b494ac4..2842955 100644
--- a/src/locales/pl.json
+++ b/src/locales/pl.json
@@ -450,6 +450,9 @@
"stock-mass": "Masa",
"stock-max-speed": "Prędkość maks.",
+ "stock-dangers": "DODATKOWE UWAGI",
+ "stock-preview": "PODGLĄD SKŁADU",
+
"load-data": "Pobierz dalszą historię...",
"last-seen-at": "Ostatnio widziany na: ",
diff --git a/src/store/mainStore.ts b/src/store/mainStore.ts
index 67d5a1c..5dea181 100644
--- a/src/store/mainStore.ts
+++ b/src/store/mainStore.ts
@@ -94,7 +94,8 @@ export const useMainStore = defineStore('mainStore', {
followingStops: timetable.stopList,
routeDistance: timetable.stopList[timetable.stopList.length - 1].stopDistance,
sceneries: timetable.sceneries,
- // sceneryNames: sceneryNames.reverse(),
+ warningNotes: timetable.warningNotes,
+
timetablePath: timetable.path.split(';').map((pathElementString) => {
const [arrival, station, departure] = pathElementString.split(',');
diff --git a/src/styles/global.scss b/src/styles/global.scss
index 4c4519a..6b5f8a1 100644
--- a/src/styles/global.scss
+++ b/src/styles/global.scss
@@ -355,4 +355,5 @@ a.a-button {
width: 100%;
height: 2px;
background-color: #aaa;
+ margin: 0.5em 0;
}
diff --git a/src/typings/api.ts b/src/typings/api.ts
index 9a53a89..8327bf6 100644
--- a/src/typings/api.ts
+++ b/src/typings/api.ts
@@ -204,6 +204,7 @@ export namespace API {
sceneries: string[];
path: string;
+ warningNotes: string | null;
}
}
diff --git a/src/typings/common.ts b/src/typings/common.ts
index 97f7ad4..7fd270e 100644
--- a/src/typings/common.ts
+++ b/src/typings/common.ts
@@ -72,19 +72,22 @@ export interface Train {
isTimeout: boolean;
isSupporter: boolean;
- driverRouteLocation: RouteLocationRaw,
+ driverRouteLocation: RouteLocationRaw;
- timetableData?: {
- timetableId: number;
- category: string;
- route: string;
- followingStops: TrainStop[];
- TWR: boolean;
- SKR: boolean;
- routeDistance: number;
- sceneries: string[];
- timetablePath: TimetablePathElement[];
- };
+ timetableData?: TrainTimetableData;
+}
+
+export interface TrainTimetableData {
+ timetableId: number;
+ category: string;
+ route: string;
+ followingStops: TrainStop[];
+ TWR: boolean;
+ SKR: boolean;
+ routeDistance: number;
+ sceneries: string[];
+ timetablePath: TimetablePathElement[];
+ warningNotes: string | null;
}
export interface Station {