feat: driver train view

This commit is contained in:
2024-08-21 02:02:35 +02:00
parent 481d43b6d8
commit 24c9b62162
12 changed files with 102 additions and 53 deletions
+2 -7
View File
@@ -3,11 +3,7 @@
class="stop-label"
:data-minor="stop.isSBL || (stop.nameRaw.endsWith(', po') && !stop.duration)"
>
<router-link
v-if="/(, podg|<strong>)/.test(stop.nameHtml)"
:to="sceneryHref"
@click="closeModal"
>
<router-link v-if="/(, podg|<strong>)/.test(stop.nameHtml)" :to="sceneryHref">
<span class="name" v-html="stop.nameHtml"></span>
</router-link>
@@ -75,10 +71,9 @@
import { PropType, defineComponent } from 'vue';
import dateMixin from '../../mixins/dateMixin';
import { TrainScheduleStop } from './TrainSchedule.vue';
import modalTrainMixin from '../../mixins/modalTrainMixin';
export default defineComponent({
mixins: [dateMixin, modalTrainMixin],
mixins: [dateMixin],
props: {
stop: {
+1 -8
View File
@@ -55,10 +55,6 @@
{{ $t('trains.journal-button') }}
</span>
</button>
<button class="btn-exit btn--image btn--action" @click="closeModal">
<img src="/images/icon-exit.svg" alt="modal exit icon" />
</button>
</div>
</div>
@@ -171,12 +167,11 @@ import ProgressBar from '../Global/ProgressBar.vue';
import { useMainStore } from '../../store/mainStore';
import { useApiStore } from '../../store/apiStore';
import StockList from '../Global/StockList.vue';
import modalTrainMixin from '../../mixins/modalTrainMixin';
import { Train } from '../../typings/common';
import trainCategoryMixin from '../../mixins/trainCategoryMixin';
export default defineComponent({
mixins: [trainInfoMixin, styleMixin, modalTrainMixin, trainCategoryMixin],
mixins: [trainInfoMixin, styleMixin, trainCategoryMixin],
components: { ProgressBar, StockList },
props: {
@@ -216,8 +211,6 @@ export default defineComponent({
'search-driver': this.train.driverName
}
});
this.closeModal();
}
}
});
+5 -5
View File
@@ -18,8 +18,8 @@
v-for="train in trains"
:key="train.id"
tabindex="0"
@click.stop="selectModalTrain(train, $event.currentTarget)"
@keydown.enter="selectModalTrain(train, $event.currentTarget)"
@click.stop="driverMixin_showDriverView(train.id)"
@keydown.enter="driverMixin_showDriverView(train.id)"
>
<TrainInfo :train="train" :extended="false" />
</li>
@@ -30,16 +30,18 @@
<script lang="ts">
import { defineComponent, inject, PropType, Ref } from 'vue';
import modalTrainMixin from '../../mixins/modalTrainMixin';
import { useMainStore } from '../../store/mainStore';
import Loading from '../Global/Loading.vue';
import TrainInfo from './TrainInfo.vue';
import { Status, Train } from '../../typings/common';
import { useApiStore } from '../../store/apiStore';
import driverViewMixin from '../../mixins/driverViewMixin';
export default defineComponent({
components: { Loading, TrainInfo },
mixins: [driverViewMixin],
props: {
trains: {
type: Array as PropType<Train[]>,
@@ -47,8 +49,6 @@ export default defineComponent({
}
},
mixins: [modalTrainMixin],
setup() {
const store = useMainStore();
const apiStore = useApiStore();