From 1fa276d8c1bd5d9786b097ae60ccec2278074371 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Phillip=20K=C3=BChne?= Date: Tue, 3 Oct 2023 17:22:39 +0000 Subject: [PATCH] Adapt Anngular frontend to karafun terminology --- frontend/ng-karaoqueue/src/app/app.module.ts | 4 +- .../src/app/models/song.model.ts | 10 ++--- .../app/song-chip/song-chip.component.html | 36 ++++++++++++++++++ .../app/song-chip/song-chip.component.scss | 0 .../app/song-chip/song-chip.component.spec.ts | 21 +++++++++++ .../src/app/song-chip/song-chip.component.ts | 10 +++++ .../song-search/song-search.component.html | 37 +------------------ .../src/app/song-service.service.ts | 14 +++++-- 8 files changed, 87 insertions(+), 45 deletions(-) create mode 100644 frontend/ng-karaoqueue/src/app/song-chip/song-chip.component.html create mode 100644 frontend/ng-karaoqueue/src/app/song-chip/song-chip.component.scss create mode 100644 frontend/ng-karaoqueue/src/app/song-chip/song-chip.component.spec.ts create mode 100644 frontend/ng-karaoqueue/src/app/song-chip/song-chip.component.ts diff --git a/frontend/ng-karaoqueue/src/app/app.module.ts b/frontend/ng-karaoqueue/src/app/app.module.ts index 42e9e74..9c00cc5 100644 --- a/frontend/ng-karaoqueue/src/app/app.module.ts +++ b/frontend/ng-karaoqueue/src/app/app.module.ts @@ -46,12 +46,14 @@ import { EntryListingComponent } from './entry-listing/entry-listing.component'; import { SongSearchComponent } from './song-search/song-search.component'; import { debounceTime, distinctUntilChanged } from "rxjs/operators"; +import { SongChipComponent } from './song-chip/song-chip.component'; @NgModule({ declarations: [ AppComponent, EntryListingComponent, - SongSearchComponent + SongSearchComponent, + SongChipComponent ], imports: [ BrowserModule, diff --git a/frontend/ng-karaoqueue/src/app/models/song.model.ts b/frontend/ng-karaoqueue/src/app/models/song.model.ts index a61cc07..5c30577 100644 --- a/frontend/ng-karaoqueue/src/app/models/song.model.ts +++ b/frontend/ng-karaoqueue/src/app/models/song.model.ts @@ -4,23 +4,23 @@ import { Artist } from './artist.model'; export class Song { - constructor(title: string, artist: Artist, karafun_id: number, duet: boolean, explicit: boolean, id: number, genres: Array, languages: Array) { + constructor(title: string, artist: Artist, karafun_id: number, duo: boolean, explicit: boolean, id: number, styles: Array, languages: Array) { this.title=title; this.artist=artist; this.karafun_id=karafun_id; - this.duet=duet; + this.duo=duo; this.explicit=explicit; this.id=id; - this.genres=genres; + this.styles=styles; this.languages=languages; } title: string; artist: Artist; karafun_id: number; - duet: boolean; + duo: boolean; explicit: boolean; id: number; - genres: Array; + styles: Array; languages: Array; } diff --git a/frontend/ng-karaoqueue/src/app/song-chip/song-chip.component.html b/frontend/ng-karaoqueue/src/app/song-chip/song-chip.component.html new file mode 100644 index 0000000..3eba63b --- /dev/null +++ b/frontend/ng-karaoqueue/src/app/song-chip/song-chip.component.html @@ -0,0 +1,36 @@ + +
+ {{song.artist}} - {{song.title}} +
+
+ + + + + + + + + + + + +
+
+ + + {{style}} + +
+
+ + + {{language}} + +
+
+
+ +
\ No newline at end of file diff --git a/frontend/ng-karaoqueue/src/app/song-chip/song-chip.component.scss b/frontend/ng-karaoqueue/src/app/song-chip/song-chip.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend/ng-karaoqueue/src/app/song-chip/song-chip.component.spec.ts b/frontend/ng-karaoqueue/src/app/song-chip/song-chip.component.spec.ts new file mode 100644 index 0000000..9bb11e7 --- /dev/null +++ b/frontend/ng-karaoqueue/src/app/song-chip/song-chip.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SongChipComponent } from './song-chip.component'; + +describe('SongChipComponent', () => { + let component: SongChipComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [SongChipComponent] + }); + fixture = TestBed.createComponent(SongChipComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/ng-karaoqueue/src/app/song-chip/song-chip.component.ts b/frontend/ng-karaoqueue/src/app/song-chip/song-chip.component.ts new file mode 100644 index 0000000..ebd1bbc --- /dev/null +++ b/frontend/ng-karaoqueue/src/app/song-chip/song-chip.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-song-chip', + templateUrl: './song-chip.component.html', + styleUrls: ['./song-chip.component.scss'] +}) +export class SongChipComponent { + +} diff --git a/frontend/ng-karaoqueue/src/app/song-search/song-search.component.html b/frontend/ng-karaoqueue/src/app/song-search/song-search.component.html index f1b6dfa..75813ec 100644 --- a/frontend/ng-karaoqueue/src/app/song-search/song-search.component.html +++ b/frontend/ng-karaoqueue/src/app/song-search/song-search.component.html @@ -8,41 +8,6 @@
- -
- {{song.artist}} - {{song.title}} -
-
- - - - - - - - - - - - -
-
- - - {{genre}} - -
-
- - - {{language}} - -
-
-
- -
+
diff --git a/frontend/ng-karaoqueue/src/app/song-service.service.ts b/frontend/ng-karaoqueue/src/app/song-service.service.ts index dabe1f5..17cdc62 100644 --- a/frontend/ng-karaoqueue/src/app/song-service.service.ts +++ b/frontend/ng-karaoqueue/src/app/song-service.service.ts @@ -25,11 +25,19 @@ export class SongServiceService { let out = new Array(); - this.http.get(this.api +"/songs/compl?search="+text).subscribe((data: Observable) => { + this.http.get(this.api +"/songs/search?q="+text).subscribe((data: Observable) => { data.forEach(element => { - console.log(element); - out.push(new Song(element["title"],element["artist"],element["karafun_id"],element["duo"],element["explicit"],element["_id"],element["styles"],element["languages"])); + let styles = new Array(); + let languages = new Array(); + for (let style of element["styles"].split(",")) { + styles.push(style); + } + for (let language of element["languages"].split(",")) { + languages.push(language); + } + out.push(new Song(element["title"],element["artist"],element["karafun_id"],element["duo"],element["explicit"],element["_id"],styles,languages)); }); + console.log(out); }); const observable = new Observable>( subscriber => {