From 1745495d2ae8723d82666e9425cdc8496fadd140 Mon Sep 17 00:00:00 2001 From: Thomas Amland Date: Sun, 9 May 2021 13:01:53 +0200 Subject: [PATCH] refactor --- src/library/album/AlbumDetails.vue | 9 ++++----- src/library/track/CellActions.vue | 7 +++---- src/shared/api.ts | 4 ++-- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/library/album/AlbumDetails.vue b/src/library/album/AlbumDetails.vue index f27de27..fcf0ee7 100644 --- a/src/library/album/AlbumDetails.vue +++ b/src/library/album/AlbumDetails.vue @@ -93,11 +93,10 @@ }, toggleFavourite() { if (this.album) { - const value = !this.album.favourite - this.album.favourite = value - return value - ? this.$api.addFavourite('album', this.album.id) - : this.$api.removeFavourite('album', this.album.id) + this.album.favourite = !this.album.favourite + return this.album.favourite + ? this.$api.addFavourite(this.album.id, 'album') + : this.$api.removeFavourite(this.album.id, 'album') } }, } diff --git a/src/library/track/CellActions.vue b/src/library/track/CellActions.vue index f25786e..bb633bc 100644 --- a/src/library/track/CellActions.vue +++ b/src/library/track/CellActions.vue @@ -32,10 +32,9 @@ methods: { toggleFavourite() { this.favourite = !this.favourite - if (this.favourite) { - return this.$api.removeFavourite('track', this.track.id) - } - return this.$api.addFavourite('track', this.track.id) + return this.favourite + ? this.$api.addFavourite(this.track.id, 'track') + : this.$api.removeFavourite(this.track.id, 'track') }, download() { window.location.href = this.$api.getDownloadUrl(this.track.id) diff --git a/src/shared/api.ts b/src/shared/api.ts index e6b8c93..82f80f4 100644 --- a/src/shared/api.ts +++ b/src/shared/api.ts @@ -249,7 +249,7 @@ export class API { } } - async addFavourite(type: 'track' | 'album' | 'artist', id: string) { + async addFavourite(id: string, type: 'track' | 'album' | 'artist') { const params = { id: type === 'track' ? id : undefined, albumId: type === 'album' ? id : undefined, @@ -258,7 +258,7 @@ export class API { await this.get('rest/star', params) } - async removeFavourite(type: 'track' | 'album' | 'artist', id: string) { + async removeFavourite(id: string, type: 'track' | 'album' | 'artist') { const params = { id: type === 'track' ? id : undefined, albumId: type === 'album' ? id : undefined,