diff --git a/resources/styles/_trip.scss b/resources/styles/_trip.scss
index c44d124..1f3020a 100644
--- a/resources/styles/_trip.scss
+++ b/resources/styles/_trip.scss
@@ -76,6 +76,10 @@ $trip-visited: rgba($dark, .3);
}
}
+.trip__stop--current .trip__marker {
+ box-shadow: 0 0 .5rem $dark;
+}
+
@each $type, $color in $line-types {
.trip--#{$type} {
.trip__marker {
@@ -85,6 +89,10 @@ $trip-visited: rgba($dark, .3);
background: $color;
}
}
+
+ .trip__stop--current .trip__marker {
+ box-shadow: 0 0 .5rem $color;
+ }
}
}
@@ -101,7 +109,7 @@ $trip-visited: rgba($dark, .3);
}
}
-.trip__stop--current .trip__marker {
+.trip__stop--visited + .trip__stop:not(.trip__stop--visited) .trip__marker {
&::before {
background: $trip-visited;
}
diff --git a/resources/ts/components/trip.ts b/resources/ts/components/trip.ts
index 99100c0..fb70e0e 100644
--- a/resources/ts/components/trip.ts
+++ b/resources/ts/components/trip.ts
@@ -3,6 +3,7 @@ import Component from "vue-class-component";
import { Prop } from "vue-property-decorator";
import { ScheduledStop } from "../model/trip";
import { Stop } from "../model";
+import * as moment from 'moment';
type ScheduledStopInfo = ScheduledStop & { visited: boolean, current: boolean };
@@ -12,14 +13,21 @@ export class TripComponent extends Vue {
@Prop(Object) public current: Stop;
get stops(): ScheduledStopInfo[] {
- let visited = true;
-
return this.schedule.map(stop => ({
...stop,
- current: stop.stop.id == this.current.id ? !(visited = false) : false,
- visited: visited,
+ current: stop.stop.id == this.current.id,
+ visited: moment().isAfter(stop.departure),
}));
}
+
+ mounted() {
+ const list = this.$refs['stops'] as HTMLUListElement;
+ const current = list.querySelector('.trip__stop--current') as HTMLLIElement;
+
+ if (!current) return;
+
+ list.scrollLeft = current.offsetLeft - (list.clientWidth + current.clientWidth) / 2;
+ }
}
Vue.component('Trip', TripComponent);
diff --git a/resources/ts/store/messages.ts b/resources/ts/store/messages.ts
index 0c3e780..d24dae2 100644
--- a/resources/ts/store/messages.ts
+++ b/resources/ts/store/messages.ts
@@ -45,10 +45,10 @@ export const messages: Module = {
}
const messages = await response.json() as Jsonified[];
- commit('update', messages.map(m => ({
- ...m,
- validFrom: moment(m.validFrom),
- validTo: moment(m.validTo),
+ commit('update', messages.map(message => ({
+ ...message,
+ validFrom: moment(message.validFrom),
+ validTo: moment(message.validTo),
})));
}
}
diff --git a/src/Provider/ZtmGdansk/ZtmGdanskDataUpdateSubscriber.php b/src/Provider/ZtmGdansk/ZtmGdanskDataUpdateSubscriber.php
index d6d1f19..cf778ce 100644
--- a/src/Provider/ZtmGdansk/ZtmGdanskDataUpdateSubscriber.php
+++ b/src/Provider/ZtmGdansk/ZtmGdanskDataUpdateSubscriber.php
@@ -157,7 +157,9 @@ class ZtmGdanskDataUpdateSubscriber implements EventSubscriberInterface
$this->logger->debug(sprintf("Saving %d stops tracks from ZTM GdaĆsk.", count($stops)));
return collect($stops)
->filter(function ($stop) {
- return $stop['nonpassenger'] !== null && $stop['nonpassenger'] !== 1;
+ return $stop['nonpassenger'] !== 1
+ && $stop['virtual'] !== 1
+ && $stop['depot'] !== 1;
})
->map(function ($stop) use ($provider) {
return StopEntity::createFromArray([
diff --git a/templates/app.html.twig b/templates/app.html.twig
index 0ec12da..738114e 100644
--- a/templates/app.html.twig
+++ b/templates/app.html.twig
@@ -126,7 +126,7 @@
Zapisane
-