From 1cb6843dc3f073682c7127346c4980892e28eb03 Mon Sep 17 00:00:00 2001 From: geoffrey45 Date: Fri, 31 Dec 2021 21:56:38 +0300 Subject: [PATCH] move loader to search bar --- server/app/api.py | 7 ++- server/app/helpers.py | 2 +- src/App.vue | 2 +- src/components/AlbumView/Header.vue | 7 +-- src/components/FolderView/SearchBox.vue | 25 +-------- src/components/RightSideBar/NowPlaying.vue | 4 +- src/components/RightSideBar/UpNext.vue | 3 +- src/components/Search.vue | 60 ++++++++++++++-------- src/composables/perks.js | 6 +++ src/composables/state.js | 2 + src/views/AlbumView.vue | 7 ++- src/views/FolderView.vue | 19 ++++--- 12 files changed, 76 insertions(+), 68 deletions(-) diff --git a/server/app/api.py b/server/app/api.py index b9978af8..d6dfe0b5 100644 --- a/server/app/api.py +++ b/server/app/api.py @@ -7,11 +7,11 @@ from app.helpers import ( convert_to_json, remove_duplicates, save_image, - isValidFile, + # isValidFile, create_config_dir, extract_thumb, + run_fast_scandir, home_dir, app_dir, - run_fast_scandir ) from app import cache @@ -358,7 +358,7 @@ def getAlbumSongs(query: str): artist = query.split('::')[1].replace('|', '/') songs = all_songs_instance.find_songs_by_album(album, artist) - songs_array = convert_to_json(songs) + songs_array = remove_duplicates(convert_to_json(songs)) print(artist) @@ -372,6 +372,5 @@ def getAlbumSongs(query: str): "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} diff --git a/server/app/helpers.py b/server/app/helpers.py index 47011ec1..537a08bc 100644 --- a/server/app/helpers.py +++ b/server/app/helpers.py @@ -127,7 +127,7 @@ def getTags(full_path): try: title = audio['TIT2'][0] except: - title = 'Unknown' + title = full_path.split('/')[-1] except: title = full_path.split('/')[-1] diff --git a/src/App.vue b/src/App.vue index 92618e33..b1eb3eae 100644 --- a/src/App.vue +++ b/src/App.vue @@ -143,7 +143,7 @@ export default { .content { position: relative; padding: 0.5rem; - padding-top: 4.5rem; + padding-top: 3.75rem; .search-box { width: calc(100% - 1rem); diff --git a/src/components/AlbumView/Header.vue b/src/components/AlbumView/Header.vue index 0e915d1c..efe4f617 100644 --- a/src/components/AlbumView/Header.vue +++ b/src/components/AlbumView/Header.vue @@ -24,7 +24,7 @@
-
+
Girl Of My Dreams
Juice Wrld, Suga [BTS]
@@ -76,7 +76,7 @@ export default { width: 25rem; height: 5rem; - .image { + .art { width: 4rem; height: 4rem; background-image: url(../../assets/images/jw.jpeg); @@ -96,7 +96,7 @@ export default { .art { width: 12rem; height: 12rem; - background: no-repeat center/cover url(../../assets/images/null.webp); + background: no-repeat center/cover; margin-right: 1rem; } @@ -116,6 +116,7 @@ export default { .artist { margin-top: $small; + color: rgba(255, 255, 255, 0.856); } } diff --git a/src/components/FolderView/SearchBox.vue b/src/components/FolderView/SearchBox.vue index 864a329f..d314f126 100644 --- a/src/components/FolderView/SearchBox.vue +++ b/src/components/FolderView/SearchBox.vue @@ -9,14 +9,13 @@
-
@@ -39,28 +38,6 @@ export default { position: relative; width: 50%; padding-right: 3rem; - - .loader { - position: absolute; - top: $small; - right: 0; - width: 2rem; - height: 2rem; - border-radius: 50%; - border: solid; - border-top: solid rgb(255, 174, 0); - border-left: solid rgb(255, 174, 0); - animation: spin .2s linear infinite; - - @keyframes spin { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } - } - } } .folder-top .fsearch div { diff --git a/src/components/RightSideBar/NowPlaying.vue b/src/components/RightSideBar/NowPlaying.vue index 50a3f5f8..bb4d787f 100644 --- a/src/components/RightSideBar/NowPlaying.vue +++ b/src/components/RightSideBar/NowPlaying.vue @@ -67,8 +67,6 @@ export default { return (s - (s %= 60)) / 60 + (9 < s ? ":" : ":0") + s; } - // const duration = ref() - const { playNext } = playAudio; const { playPrev } = playAudio; const { playPause } = playAudio; @@ -97,7 +95,7 @@ export default { .now-playing { border-radius: 0.5rem; height: 14rem; - margin-top: 1rem; + margin-top: .5rem; padding: 0.5rem; background: rgb(14, 14, 14); background: linear-gradient( diff --git a/src/components/RightSideBar/UpNext.vue b/src/components/RightSideBar/UpNext.vue index fdbbff81..90ceabca 100644 --- a/src/components/RightSideBar/UpNext.vue +++ b/src/components/RightSideBar/UpNext.vue @@ -116,7 +116,7 @@ export default { } .up-next .v1 { - max-height: 20em; + max-height: 21em; transition: max-height 0.5s ease; padding: $small; @@ -189,7 +189,6 @@ export default { } .up-next .all-items .scrollable { - height: 20rem; overflow-y: auto; background-color: rgba(2, 6, 14, 0.425); border-radius: 0.5rem; diff --git a/src/components/Search.vue b/src/components/Search.vue index 0891744f..9a70315f 100644 --- a/src/components/Search.vue +++ b/src/components/Search.vue @@ -1,8 +1,5 @@