Add IMDb movie importer feature and unify header
Introduces a new movie importer feature allowing admins to search and import movies from IMDb, including new components for search, result display, and error handling. Replaces the schedule header with a reusable menu header component. Updates routing, navigation, and HTTP service to support the new importer. Adds a poster placeholder image and improves poster error handling.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
<app-schedule-header (movieSearchResult)="movieSearchResult = $event"></app-schedule-header>
|
||||
<app-menu-header title="Programmübersicht" icon="event" [searchBar]="true" (movieSearchResult)="movieSearchResult = $event"></app-menu-header>
|
||||
|
||||
<mat-tab-group mat-stretch-tabs>
|
||||
@for (dateInfo of dates; track dateInfo.date; let i = $index) {
|
||||
|
||||
@@ -4,7 +4,7 @@ import { Vorstellung } from '@infinimotion/model-frontend';
|
||||
import { Performance } from '../model/performance.model';
|
||||
import { MovieGroup } from '../model/movie-group.model';
|
||||
import { LoadingService } from '../loading.service';
|
||||
import { catchError, map, of, tap } from 'rxjs';
|
||||
import { catchError, of, tap } from 'rxjs';
|
||||
|
||||
@Component({
|
||||
selector: 'app-schedule',
|
||||
@@ -61,8 +61,7 @@ export class ScheduleComponent implements OnInit {
|
||||
loadPerformances(bookableDays: number) {
|
||||
this.loading.show();
|
||||
const filter = this.generateDateFilter(bookableDays);
|
||||
this.http.getPerformaceByFilter(filter).pipe(
|
||||
map(data => Array.isArray(data) ? data : [data]),
|
||||
this.http.getPerformacesByFilter(filter).pipe(
|
||||
tap(performaces => {
|
||||
this.performaces = performaces;
|
||||
this.assignPerformancesToDates();
|
||||
|
||||
Reference in New Issue
Block a user