diff --git a/src/app/app-routing-module.ts b/src/app/app-routing-module.ts index aa4cc67..81ccf1b 100644 --- a/src/app/app-routing-module.ts +++ b/src/app/app-routing-module.ts @@ -19,7 +19,7 @@ const routes: Routes = [ children: [ { path: '', component: MainComponent }, { path: 'schedule', component: ScheduleComponent }, - { path: 'theater-overlay', component: TheaterOverlayComponent}, + { path: 'selection/performance/:id', component: TheaterOverlayComponent}, //? ], }, diff --git a/src/app/movie-performance/movie-performance.component.html b/src/app/movie-performance/movie-performance.component.html index 83fe76c..f1811e4 100644 --- a/src/app/movie-performance/movie-performance.component.html +++ b/src/app/movie-performance/movie-performance.component.html @@ -1,4 +1,4 @@ - +

{{ hall() }}

diff --git a/src/app/movie-performance/movie-performance.component.ts b/src/app/movie-performance/movie-performance.component.ts index ff7ba26..b6925d0 100644 --- a/src/app/movie-performance/movie-performance.component.ts +++ b/src/app/movie-performance/movie-performance.component.ts @@ -1,4 +1,4 @@ -import { Component, input, computed } from '@angular/core'; +import {Component, input, computed, OnInit} from '@angular/core'; @Component({ selector: 'app-movie-performance', @@ -6,12 +6,18 @@ import { Component, input, computed } from '@angular/core'; templateUrl: './movie-performance.component.html', styleUrl: './movie-performance.component.css' }) -export class MoviePerformanceComponent { +export class MoviePerformanceComponent implements OnInit { id = input.required(); hall = input.required(); start = input.required(); utilisation = input(); + route: string = ''; + + ngOnInit() { + this.route = `../selection/performance/${this.id()}`; + } + startTime = computed(() => this.start().toLocaleTimeString('de-DE', { hour: '2-digit', minute: '2-digit' }) ); @@ -43,4 +49,5 @@ export class MoviePerformanceComponent { return ''; }); + } diff --git a/src/app/navbar/navbar.component.ts b/src/app/navbar/navbar.component.ts index b060804..fa984ce 100644 --- a/src/app/navbar/navbar.component.ts +++ b/src/app/navbar/navbar.component.ts @@ -13,6 +13,5 @@ export class NavbarComponent { navItems:{label:string, path:string}[] = [ {label: 'Programm', path: '/schedule'}, - {label: 'Kinosaal-test', path: '/theater-overlay'}, ] } diff --git a/src/app/theater-overlay/theater-overlay.component.ts b/src/app/theater-overlay/theater-overlay.component.ts index 12a6e3a..5cfcdbc 100644 --- a/src/app/theater-overlay/theater-overlay.component.ts +++ b/src/app/theater-overlay/theater-overlay.component.ts @@ -4,6 +4,7 @@ import {LoadingService} from '../loading.service'; import {catchError, of, tap} from 'rxjs'; import {Sitzplatz} from '@infinimotion/model-frontend'; import {TheaterSeatState} from '../model/theater-seat-state.model'; +import {ActivatedRoute} from '@angular/router'; @Component({ selector: 'app-theater-overlay', @@ -14,17 +15,20 @@ import {TheaterSeatState} from '../model/theater-seat-state.model'; export class TheaterOverlayComponent implements OnInit { private http = inject(HttpService); private loading = inject(LoadingService) - show = input.required(); + showId!: number; seatsPerRow: { seat: Sitzplatz, state: TheaterSeatState }[][] = [] + constructor(private route: ActivatedRoute) {} + ngOnInit() { + this.showId = Number(this.route.snapshot.paramMap.get('id')!); this.loadShowSeats(); } loadShowSeats() { this.loading.show(); - this.http.getSeatsByShowId(2).pipe( + this.http.getSeatsByShowId(this.showId).pipe( tap((data) => { let rows = this.converter(data) this.loading.hide();