diff --git a/src/library/genre/GenreDetails.vue b/src/library/genre/GenreDetails.vue index 0770946..976c6e1 100644 --- a/src/library/genre/GenreDetails.vue +++ b/src/library/genre/GenreDetails.vue @@ -1,27 +1,57 @@ diff --git a/src/shared/api.ts b/src/shared/api.ts index f4274ac..4b8ecc8 100644 --- a/src/shared/api.ts +++ b/src/shared/api.ts @@ -107,17 +107,25 @@ export class API { .sort((a: any, b:any) => a.name.localeCompare(b.name)) } - async getGenreDetails(id: string) { + async getAlbumsByGenre(id: string) { + const params = { + type: 'byGenre', + genre: id, + count: 500, + offset: 0, + } + const response = await this.get('rest/getAlbumList2', params) + return (response.albumList2?.album || []).map(this.normalizeAlbum, this) + } + + async getTracksByGenre(id: string) { const params = { genre: id, count: 500, offset: 0, } const response = await this.get('rest/getSongsByGenre', params) - return { - name: id, - tracks: (response.songsByGenre?.song || []).map(this.normalizeTrack, this), - } + return (response.songsByGenre?.song || []).map(this.normalizeTrack, this) } async getArtists(): Promise { diff --git a/src/shared/router.ts b/src/shared/router.ts index 9c52e34..3fb1292 100644 --- a/src/shared/router.ts +++ b/src/shared/router.ts @@ -69,7 +69,7 @@ export function setupRouter(auth: AuthService) { }, { name: 'genre', - path: '/genre/:id', + path: '/genre/:id/:section?', component: GenreDetails, props: true, },