diff --git a/application/frontend/src/app/core/containers/travel-simulator/travel-simulator.component.html b/application/frontend/src/app/core/containers/travel-simulator/travel-simulator.component.html index ca372b80..7d5015c7 100644 --- a/application/frontend/src/app/core/containers/travel-simulator/travel-simulator.component.html +++ b/application/frontend/src/app/core/containers/travel-simulator/travel-simulator.component.html @@ -19,4 +19,12 @@ (click)="!animationTimer$ || animationTimer$.closed ? onBeginAnimate() : onEndAnimate()"> {{ !animationTimer$ || animationTimer$.closed ? 'Animate routes' : 'Stop animating routes' }} + + Speed + + Slow + Normal + Fast + + diff --git a/application/frontend/src/app/core/containers/travel-simulator/travel-simulator.component.ts b/application/frontend/src/app/core/containers/travel-simulator/travel-simulator.component.ts index cccde5ef..c991ba7f 100644 --- a/application/frontend/src/app/core/containers/travel-simulator/travel-simulator.component.ts +++ b/application/frontend/src/app/core/containers/travel-simulator/travel-simulator.component.ts @@ -37,6 +37,7 @@ export class TravelSimulatorComponent implements OnInit, OnDestroy { timezoneOffset: number; valueChanged = new Subject(); animationTimer$: Subscription; + animationSpeedMultiple = 3; formatSecondsDate = formatSecondsDate; @@ -80,12 +81,12 @@ export class TravelSimulatorComponent implements OnInit, OnDestroy { onBeginAnimate(): void { this.timeSlider.disabled = true; this.animationTimer$ = interval(100).subscribe((_value) => { - const newTime = this.timeSlider.value + 60; + const newTime = this.timeSlider.value + 60 * this.animationSpeedMultiple; if (newTime > this.timeSlider.max) { this.onEndAnimate(); return; } - this.valueChanged.next(this.timeSlider.value + 60); + this.valueChanged.next(newTime); }); }