+
+
+ {{ $t('journal.dispatcher-name') }}
+ {{ timetable.authorName }}
+
+
+
{{ $t('journal.stock-max-speed') }}
{{ timetable.maxSpeed }}km/h
+
{{ $t('journal.stock-length') }}
@@ -161,6 +161,7 @@
}}m
+
{{ $t('journal.stock-mass') }}
@@ -216,6 +217,7 @@ import imageMixin from '../../mixins/imageMixin';
import modalTrainMixin from '../../mixins/modalTrainMixin';
import styleMixin from '../../mixins/styleMixin';
import { TimetableHistory } from '../../scripts/interfaces/api/TimetablesAPIData';
+import ProgressBar from '../Global/ProgressBar.vue';
export default defineComponent({
props: {
@@ -224,9 +226,7 @@ export default defineComponent({
required: true,
},
},
-
mixins: [dateMixin, imageMixin, modalTrainMixin, styleMixin],
-
computed: {
computedTimetableHistory() {
return this.timetableHistory.map((timetable) => ({
@@ -236,7 +236,6 @@ export default defineComponent({
.reverse()
.map((h) => {
const historyData = h.split('@');
-
return {
updatedAt: new Date(Number(historyData[0])).toLocaleTimeString(this.$i18n.locale, {
hour: '2-digit',
@@ -247,14 +246,12 @@ export default defineComponent({
stockLength: Number(historyData[3]) || undefined,
};
}),
-
showExtraInfo: ref(false),
stops: this.getTimetableStops(timetable),
currentHistoryIndex: ref(0),
}));
},
},
-
methods: {
getTimetableStops(timetable: TimetableHistory) {
const stopNames = timetable.sceneriesString.split('%');
@@ -273,6 +270,7 @@ export default defineComponent({
return stopNames.map((stopName, i) => {
const confirmed = i < timetable.confirmedStopsCount;
+
if (i == 0) return { stopName, html: beginDateHTML, confirmed };
if (i == stopNames.length - 1) return { stopName, html: endDateHTML, confirmed };
@@ -281,14 +279,6 @@ export default defineComponent({
const arrivalDateScheduled = this.stringToDate(timetable.checkpointArrivalsScheduled?.at(i));
const arrivalDateReal = this.stringToDate(timetable.checkpointArrivals?.at(i));
- // const arrivalDelay =
- // arrivalDateReal && arrivalDateScheduled ? arrivalDateReal.getTime() - arrivalDateScheduled.getTime() : 0;
-
- // const departureDelay =
- // departureDateReal && departureDateScheduled
- // ? departureDateReal.getTime() - departureDateScheduled.getTime()
- // : 0;
-
const arrivalHTML =
(arrivalDateReal && arrivalDateScheduled && arrivalDateReal?.getTime() != arrivalDateScheduled?.getTime()
? `${this.parseDateToTimeString(arrivalDateScheduled)} `
@@ -302,24 +292,22 @@ export default defineComponent({
: '') + this.parseDateToTimeString(departureDateReal || departureDateScheduled);
let html = `${arrivalHTML}${departureHTML ? ` / ${departureHTML}` : ''}`;
- if (html) html = ` (${html})`;
+ if (html) html = ` (${html})`;
return { stopName, html, confirmed };
});
},
-
showTimetable(timetable: TimetableHistory) {
if (!timetable) return;
if (timetable.terminated) return;
-
this.selectModalTrain(timetable.driverName + timetable.trainNo.toString());
},
-
onImageError(e: Event) {
const imageEl = e.target as HTMLImageElement;
imageEl.src = this.getImage('unknown.png');
},
},
+ components: { ProgressBar },
});
@@ -377,6 +365,13 @@ hr {
&-extended {
margin-top: 0.5em;
}
+
+ &-status {
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+ gap: 0.5em;
+ }
}
.general-train {
@@ -421,11 +416,10 @@ ul.stock-list {
}
}
+// badge.scss
.badges {
display: flex;
gap: 0.25em;
-
- // badge.scss
}
.stock-history {
@@ -440,14 +434,14 @@ ul.stock-list {
}
.stop-list {
- display: flex;
- flex-wrap: wrap;
+ word-wrap: break-word;
gap: 0.25em;
+ font-size: 0.9em;
color: #adadad;
&-item[data-confirmed='true'] {
- color: #a3eba3;
+ color: lightgreen;
.stop-name {
font-weight: bold;
@@ -457,7 +451,6 @@ ul.stock-list {
.btn--show {
display: flex;
- margin-top: 1em;
font-weight: bold;
padding: 0.2em 0.45em;
@@ -476,6 +469,10 @@ ul.stock-list {
justify-content: center;
}
+ .info-status {
+ justify-content: center;
+ }
+
.btn--show {
margin: 1em auto 0 auto;
}
diff --git a/src/components/TrainsView/TrainInfo.vue b/src/components/TrainsView/TrainInfo.vue
index 5f9d3c8..a991f3a 100644
--- a/src/components/TrainsView/TrainInfo.vue
+++ b/src/components/TrainsView/TrainInfo.vue
@@ -41,13 +41,14 @@