From 89f5bf2e951b3fc79208f70d26e95c87eefef307 Mon Sep 17 00:00:00 2001 From: Spythere Date: Tue, 12 Jul 2022 13:15:49 +0200 Subject: [PATCH] =?UTF-8?q?Dodano=20g=C3=B3rny=20pasek=20z=20informacjami?= =?UTF-8?q?=20dla=20widoku=20RJ?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Global/TrainModal.vue | 85 +++++++++++++++++++++++-- src/components/TrainsView/TrainInfo.vue | 24 +------ src/mixins/trainInfoMixin.ts | 21 ++++-- 3 files changed, 99 insertions(+), 31 deletions(-) diff --git a/src/components/Global/TrainModal.vue b/src/components/Global/TrainModal.vue index f2837e9..b22230c 100644 --- a/src/components/Global/TrainModal.vue +++ b/src/components/Global/TrainModal.vue @@ -1,18 +1,36 @@ @@ -56,6 +94,19 @@ export default defineComponent({ @import '../../styles/responsive.scss'; @import '../../styles/card.scss'; +.top-info-bar-anim { + &-enter-active, + &-leave-active { + transition: all 150ms ease-in-out; + } + + &-enter-from, + &-leave-to { + transform: translate(-50%, -50%) scale(0.8); + opacity: 0; + } +} + .exit { position: absolute; top: 0; @@ -63,7 +114,7 @@ export default defineComponent({ margin: 1em 2em; - background-color: #00000077; + background-color: #000000; outline: 2px solid white; padding: 0.25em; border-radius: 50%; @@ -94,12 +145,30 @@ export default defineComponent({ overflow: hidden; } +.top-info-bar { + position: absolute; + top: 0; + left: 50%; + transform: translateX(-50%); + width: 100%; + + padding: 0.5em 1em; + padding-right: 4em; + text-align: center; + + overflow: hidden; + + z-index: 101; + + background-color: #000000dd; +} + .content { overflow: auto; max-height: 95vh; } -@include smallScreen { +@include midScreen { .exit { top: auto; bottom: 0; @@ -110,5 +179,13 @@ export default defineComponent({ width: 1.75rem; } } + + .content { + padding-bottom: 3em; + } + + .top-info-bar { + padding: 0.5em 1em; + } } diff --git a/src/components/TrainsView/TrainInfo.vue b/src/components/TrainsView/TrainInfo.vue index fc97114..552797e 100644 --- a/src/components/TrainsView/TrainInfo.vue +++ b/src/components/TrainsView/TrainInfo.vue @@ -59,24 +59,7 @@
- - {{ $t('trains.current-scenery') }} {{ train['currentStationName'] }}  - - - - {{ $t('trains.current-scenery') }} - {{ train['currentStationName'].replace(/.[a-zA-Z0-9]+.sc/, '') }} (offline)  - - - - {{ $t('trains.current-signal') }} {{ train['signal'] }}  - - - - {{ $t('trains.current-track') }} {{ train['connectedTrack'] }}  - - - ({{ displayDistance(train.distance) }}) + {{ displayTrainPosition(train) }}
@@ -160,14 +143,11 @@ export default defineComponent({ grid-template-rows: 1fr; padding: 1em; + background-color: #202020; gap: 0.5em; } -.driver_position:first-letter { - text-transform: capitalize; -} - .timetable-id { margin-right: 0.3em; color: #d2d2d2; diff --git a/src/mixins/trainInfoMixin.ts b/src/mixins/trainInfoMixin.ts index fa6cb1b..28524d8 100644 --- a/src/mixins/trainInfoMixin.ts +++ b/src/mixins/trainInfoMixin.ts @@ -55,6 +55,21 @@ export default defineComponent({ : this.$t('trains.last-seen-ago', { minutes: diffMins }); }, + displayTrainPosition(train: Train) { + let positionString = ''; + + if (train.currentStationHash) + positionString += this.$t('trains.current-scenery') + ' ' + train.currentStationName + ' '; + + if (train.signal) positionString += this.$t('trains.current-signal') + ' ' + train.signal + ' '; + + if (train.connectedTrack) positionString += this.$t('trains.current-track') + ' ' + train.connectedTrack + ' '; + + if (train.distance) positionString += `(${this.displayDistance(train.distance)})`; + + return positionString.charAt(0).toUpperCase() + positionString.slice(1); + }, + displayStopList(stops: TrainStop[]): string | undefined { if (!stops) return ''; @@ -62,11 +77,7 @@ export default defineComponent({ .reduce((acc: string[], stop: TrainStop, i: number) => { if (stop.stopType.includes('ph') && !stop.stopNameRAW.includes('po.')) acc.push(`${stop.stopName}`); - else if ( - i > 0 && - i < stops.length - 1 && - !/po\.|sbl/gi.test(stop.stopNameRAW) - ) + else if (i > 0 && i < stops.length - 1 && !/po\.|sbl/gi.test(stop.stopNameRAW)) acc.push(`${stop.stopName}`); return acc; }, [])