diff --git a/src/components/TrainsView/TrainInfoExtended.vue b/src/components/TrainsView/TrainInfoExtended.vue index 4f39a61..9158135 100644 --- a/src/components/TrainsView/TrainInfoExtended.vue +++ b/src/components/TrainsView/TrainInfoExtended.vue @@ -59,7 +59,7 @@
diff --git a/src/components/TrainsView/TrainInfoSimple.vue b/src/components/TrainsView/TrainInfoSimple.vue index a0b8c87..6b2e527 100644 --- a/src/components/TrainsView/TrainInfoSimple.vue +++ b/src/components/TrainsView/TrainInfoSimple.vue @@ -29,7 +29,7 @@ v-if="getSceneriesWithComments(train.timetableData).length > 0" class="image-warning" :src="icons.warning" - :title="`${$t('trains.timetable-comments')} (${getSceneriesWithComments(train.timetableData).join(',')})`" + :title="`${$t('trains.timetable-comments')} (${getSceneriesWithComments(train.timetableData)})`" /> diff --git a/src/mixins/trainInfoMixin.ts b/src/mixins/trainInfoMixin.ts index f19ca60..f56d29d 100644 --- a/src/mixins/trainInfoMixin.ts +++ b/src/mixins/trainInfoMixin.ts @@ -42,7 +42,7 @@ export default defineComponent({ ], }, }), - + methods: { displayStopList(stops: TrainStop[]): string | undefined { if (!stops) return ''; @@ -91,13 +91,16 @@ export default defineComponent({ }, getSceneriesWithComments(timetableData: Train['timetableData']) { - return ( - timetableData?.followingStops.reduce((acc, stop) => { - if (stop.comments) acc.push(stop.stopNameRAW); + const commentList = timetableData?.followingStops.reduce((acc, stop, i) => { + if (stop.comments) acc.push(stop.stopNameRAW); - return acc; - }, [] as string[]) || [] - ); + return acc; + }, [] as string[]) || [] + + const moreCount = commentList.length - 10; + + + return commentList.slice(0,10).join(", ") + (moreCount > 0 ? `... (+${moreCount})` : ''); }, displayDistance(distance: number) {