From ff6a4e34b59aeeb4fd4c32dabe32d342cd938e71 Mon Sep 17 00:00:00 2001 From: geoffrey45 Date: Mon, 27 Dec 2021 23:12:00 +0300 Subject: [PATCH] add album header info --- server/app/api.py | 21 +++++ src/App.vue | 2 +- src/components/AlbumView/Header.vue | 104 ++++++++++++++++--------- src/components/FolderView/SongList.vue | 6 +- src/composables/getAlbum.js | 16 ++++ src/composables/getFiles.js | 12 +-- src/router/index.js | 2 +- src/views/AlbumView.vue | 28 ++++++- src/views/FolderView.vue | 13 +--- 9 files changed, 141 insertions(+), 63 deletions(-) create mode 100644 src/composables/getAlbum.js diff --git a/server/app/api.py b/server/app/api.py index c23268b0..d0b5eeec 100644 --- a/server/app/api.py +++ b/server/app/api.py @@ -350,3 +350,24 @@ def getAlbums(): albums.append(al_obj) return {'albums': albums} + +@bp.route('/albums/') +def getAlbumSongs(album: str): + album = urllib.parse.unquote(album) + songs = all_songs_instance.find_songs_by_album(album) + songs_array = convert_to_json(songs) + + for song in songs_array: + song['artists'] = song['artists'].split(', ') + song['filepath'] = song['filepath'].replace(home_dir, '') + song['image'] = img_path + song['image'] + + album_obj = { + "name": album, + "count": len(songs_array), + "duration": sum(song['length'] for song in songs_array), + "image": songs_array[0]['image'], + "artist": songs_array[0]['album_artist'] + # "date": songs_array[0]['date'] + } + return {'songs': songs_array, 'info': album_obj} \ No newline at end of file diff --git a/src/App.vue b/src/App.vue index ada03e3c..d454070f 100644 --- a/src/App.vue +++ b/src/App.vue @@ -53,7 +53,7 @@ export default { }, setup() { - const collapsed = ref(false); + const collapsed = ref(true); perks.readQueue(); diff --git a/src/components/AlbumView/Header.vue b/src/components/AlbumView/Header.vue index 42f3829d..27293d6a 100644 --- a/src/components/AlbumView/Header.vue +++ b/src/components/AlbumView/Header.vue @@ -1,15 +1,21 @@