Hilfe was ist diese converter funktion, hilfe. Sonst bisschen Kino übersicht 🚀

This commit is contained in:
Marcel-Anker
2025-11-02 18:40:59 +01:00
parent 5addba879a
commit c2d5868dba
6 changed files with 32 additions and 11 deletions

8
package-lock.json generated
View File

@@ -16,7 +16,7 @@
"@angular/material": "^20.2.9", "@angular/material": "^20.2.9",
"@angular/platform-browser": "^20.3.0", "@angular/platform-browser": "^20.3.0",
"@angular/router": "^20.3.0", "@angular/router": "^20.3.0",
"@infinimotion/model-frontend": "^0.0.2", "@infinimotion/model-frontend": "^0.0.84",
"@tailwindcss/postcss": "^4.1.14", "@tailwindcss/postcss": "^4.1.14",
"postcss": "^8.5.6", "postcss": "^8.5.6",
"rxjs": "~7.8.0", "rxjs": "~7.8.0",
@@ -1290,9 +1290,9 @@
} }
}, },
"node_modules/@infinimotion/model-frontend": { "node_modules/@infinimotion/model-frontend": {
"version": "0.0.2", "version": "0.0.84",
"resolved": "https://git.infinimotion.de/api/packages/infinimotion/npm/%40infinimotion%2Fmodel-frontend/-/0.0.2/model-frontend-0.0.2.tgz", "resolved": "https://git.infinimotion.de/api/packages/infinimotion/npm/%40infinimotion%2Fmodel-frontend/-/0.0.84/model-frontend-0.0.84.tgz",
"integrity": "sha512-EG+Z6wtLZ/+mU/j7KJpIkSCm1IBYVb30g1/k9vJhITNhGavjMLyzZXY/+Gd9zY3AZt664E9ziE3OGG5sY/Jshw==", "integrity": "sha512-+SMFsobPpfh6H9cU54DfVl9sF9Mp1vj6HuB135Y+grWvk/nIN4wzzZLvYPIk3BDURTT1DHgg8O3m66FaBB22sQ==",
"license": "ISC" "license": "ISC"
}, },
"node_modules/@inquirer/ansi": { "node_modules/@inquirer/ansi": {

View File

@@ -30,7 +30,7 @@
"@angular/material": "^20.2.9", "@angular/material": "^20.2.9",
"@angular/platform-browser": "^20.3.0", "@angular/platform-browser": "^20.3.0",
"@angular/router": "^20.3.0", "@angular/router": "^20.3.0",
"@infinimotion/model-frontend": "^0.0.2", "@infinimotion/model-frontend": "^0.0.84",
"@tailwindcss/postcss": "^4.1.14", "@tailwindcss/postcss": "^4.1.14",
"postcss": "^8.5.6", "postcss": "^8.5.6",
"rxjs": "~7.8.0", "rxjs": "~7.8.0",

View File

@@ -31,6 +31,11 @@ import { MovieScheduleTimesComponent } from './movie-schedule-times/movie-schedu
import { MovieCategoryComponent } from './movie-category/movie-category.component'; import { MovieCategoryComponent } from './movie-category/movie-category.component';
import { MovieScheduleEmptyComponent } from './movie-schedule-empty/movie-schedule-empty.component'; import { MovieScheduleEmptyComponent } from './movie-schedule-empty/movie-schedule-empty.component';
import { Header2Component } from './header-2/header-2.component'; import { Header2Component } from './header-2/header-2.component';
import { TheaterOverlayComponent } from './theater-overlay/theater-overlay.component';
import { SeatComponent } from './seat/seat.component';
import { SeatRowComponent } from './seat-row/seat-row.component';
import {MatIconButton} from '@angular/material/button';
import { TheaterLayoutComponent } from './theater-layout/theater-layout.component';
@NgModule({ @NgModule({
@@ -51,7 +56,11 @@ import { Header2Component } from './header-2/header-2.component';
MovieDurationComponent, MovieDurationComponent,
MovieCategoryComponent, MovieCategoryComponent,
MovieScheduleEmptyComponent, MovieScheduleEmptyComponent,
Header2Component Header2Component,
TheaterOverlayComponent,
SeatComponent,
SeatRowComponent,
TheaterLayoutComponent
], ],
imports: [ imports: [
AppRoutingModule, AppRoutingModule,
@@ -62,8 +71,9 @@ import { Header2Component } from './header-2/header-2.component';
MatTabsModule, MatTabsModule,
MatToolbarModule, MatToolbarModule,
MatProgressBarModule, MatProgressBarModule,
MatSnackBarModule MatSnackBarModule,
], MatIconButton
],
providers: [ providers: [
provideBrowserGlobalErrorListeners(), provideBrowserGlobalErrorListeners(),
provideHttpClient( provideHttpClient(

View File

@@ -5,6 +5,7 @@ import { HomeComponent } from './home/home.component';
import { MainLayoutComponent } from './layouts/main-layout/main-layout.component'; import { MainLayoutComponent } from './layouts/main-layout/main-layout.component';
import { MainComponent } from './main/main.component'; import { MainComponent } from './main/main.component';
import { ScheduleComponent } from './schedule/schedule.component'; import { ScheduleComponent } from './schedule/schedule.component';
import { TheaterOverlayComponent} from './theater-overlay/theater-overlay.component';
const routes: Routes = [ const routes: Routes = [
// Seiten ohne Layout // Seiten ohne Layout
@@ -18,6 +19,7 @@ const routes: Routes = [
children: [ children: [
{ path: '', component: MainComponent }, { path: '', component: MainComponent },
{ path: 'schedule', component: ScheduleComponent }, { path: 'schedule', component: ScheduleComponent },
{ path: 'theater-overlay', component: TheaterOverlayComponent},
], ],
}, },

View File

@@ -1,4 +1,4 @@
import { Kinosaal, Vorstellung } from '@infinimotion/model-frontend'; import {Kinosaal, Sitzplatz, Vorstellung} from '@infinimotion/model-frontend';
import { HttpClient } from "@angular/common/http"; import { HttpClient } from "@angular/common/http";
import { inject, Injectable } from "@angular/core"; import { inject, Injectable } from "@angular/core";
import { Observable } from "rxjs"; import { Observable } from "rxjs";
@@ -65,4 +65,13 @@ export class HttpService {
deletePerformace(id: number): Observable<void> { deletePerformace(id: number): Observable<void> {
return this.http.delete<void>(`${this.baseUrl}vorstellung/${id}`); return this.http.delete<void>(`${this.baseUrl}vorstellung/${id}`);
} }
/* Show-Seats APIs*/
/* GET /api/show-seats/{show} */
getSeatsByShowId(show: number): Observable<{seats:Sitzplatz[], reserved:Sitzplatz[], booked:Sitzplatz[]}> {
return this.http.get<{seats:Sitzplatz[], reserved:Sitzplatz[], booked:Sitzplatz[]}>(`${this.baseUrl}show-seats/${show}`);
}
} }

View File

@@ -13,6 +13,6 @@ export class NavbarComponent {
navItems:{label:string, path:string}[] = [ navItems:{label:string, path:string}[] = [
{label: 'Schedule', path: '/schedule'}, {label: 'Schedule', path: '/schedule'},
{label: 'beispiel', path: ''}, {label: 'Kinosaal-test', path: '/theater-overlay'},
] ]
} }