From 2c08c2b69cf6d1ef670b78d7b19e904865c95c2b Mon Sep 17 00:00:00 2001 From: Toast Date: Thu, 20 Feb 2025 19:38:16 +0100 Subject: [PATCH 1/3] Update genre interface --- src/interfaces/genre.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/interfaces/genre.ts b/src/interfaces/genre.ts index c1e9d6e..d5fe10f 100644 --- a/src/interfaces/genre.ts +++ b/src/interfaces/genre.ts @@ -2,5 +2,5 @@ export interface Genre { // ID is assigned by the DB, so I don't want to have to specify it _id?: string name: string - showIDs: string[] + image: string } From cb80f24cf957d4f7b2c7f4cd37465f58e38e3413 Mon Sep 17 00:00:00 2001 From: Toast Date: Thu, 20 Feb 2025 19:52:03 +0100 Subject: [PATCH 2/3] Components/create-edit-modal: get genres --- .../create-edit-modal.component.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/components/create-edit-modal/create-edit-modal.component.ts b/src/components/create-edit-modal/create-edit-modal.component.ts index 6681b39..bf79247 100644 --- a/src/components/create-edit-modal/create-edit-modal.component.ts +++ b/src/components/create-edit-modal/create-edit-modal.component.ts @@ -7,6 +7,9 @@ import {ToastService} from '../../services/toast/toast.service'; import {Show} from '../../interfaces/show'; import {formatDate} from '@angular/common'; import {ApiDeletionEditResponse} from '../../interfaces/api-deletion-edit-response'; +import {Genre} from '../../interfaces/genre'; +import {GenresService} from '../../services/genres/genres.service'; +import {ApiResponse} from '../../interfaces/api-response'; @Component({ selector: 'app-create-edit-modal', @@ -19,16 +22,29 @@ import {ApiDeletionEditResponse} from '../../interfaces/api-deletion-edit-respon export class CreateEditModalComponent { private activeModal = inject(NgbActiveModal) private showsService = inject(ShowsApiService) + private genreService = inject(GenresService) private toastService = inject(ToastService) protected newShowForm: FormGroup = new FormGroup({}) protected editMode: boolean = false protected show?: Show + protected allGenres?: Genre[] protected requiredImages: number constructor() { this.requiredImages = 3 this.initForm() + this.genreService.getGenres().subscribe({ + next: (response: ApiResponse) => { + this.allGenres = response.genres; + }, error: (err) => { + this.toastService.show({ + body: "Could not fetch genres!", + htmlClass: "bg-danger text-light" + }) + }, complete: () => { + } + }) } private initForm() { From 9389d7f6359d9897a51c20271e24792b0ca103aa Mon Sep 17 00:00:00 2001 From: Toast Date: Thu, 20 Feb 2025 21:10:05 +0100 Subject: [PATCH 3/3] Components/create-edit-modal: add genres to form --- .../create-edit-modal.component.html | 26 +++++++++++++++++++ .../create-edit-modal.component.ts | 24 ++++++++++++++--- 2 files changed, 47 insertions(+), 3 deletions(-) diff --git a/src/components/create-edit-modal/create-edit-modal.component.html b/src/components/create-edit-modal/create-edit-modal.component.html index 145dbe0..faefd63 100644 --- a/src/components/create-edit-modal/create-edit-modal.component.html +++ b/src/components/create-edit-modal/create-edit-modal.component.html @@ -55,6 +55,32 @@ + + @defer (when allGenres != undefined) { +
+
    + @for (genreControl of genres.controls; track genreControl) { +
  • +
    + + +
    +
  • + } +
  • + +
  • +
+
+ }