From 3232b519d3c5c8e4cd29e95d1503e6ca4ce17ce5 Mon Sep 17 00:00:00 2001 From: advplyr Date: Sun, 5 Dec 2021 18:31:47 -0600 Subject: [PATCH] Finish lazy bookshelf,Fix:Async sql db,Fix:Load user progress --- Server.js | 1 + .../audiobookshelf/app/AudiobookManager.kt | 11 +- assets/app.css | 4 + components/app/Appbar.vue | 41 +---- components/app/AudioPlayer.vue | 22 ++- components/app/AudioPlayerContainer.vue | 15 +- components/app/Bookshelf.vue | 147 --------------- components/app/BookshelfList.vue | 135 -------------- components/app/BookshelfListRow.vue | 152 ---------------- components/app/SideDrawer.vue | 3 - components/bookshelf/GroupShelf.vue | 35 ---- components/bookshelf/LazyBookshelf.vue | 155 ++++++++++++---- components/bookshelf/LibraryShelf.vue | 28 --- components/bookshelf/Shelf.vue | 1 - components/cards/BookCard.vue | 95 ---------- components/cards/BookCover.vue | 167 ----------------- components/cards/CollectionCard.vue | 86 --------- components/cards/CollectionCover.vue | 63 ------- components/cards/LazyBookCard.vue | 16 +- components/cards/PlayerBookCover.vue | 167 ----------------- components/cards/SeriesCard.vue | 113 ------------ components/cards/SeriesCover.vue | 171 ------------------ components/home/BookshelfToolbar.vue | 2 +- components/modals/SearchModal.vue | 100 ---------- components/tables/collection/BookTableRow.vue | 11 +- layouts/default.vue | 77 +++++++- mixins/bookshelfCardsHelpers.js | 10 +- pages/account.vue | 3 - pages/audiobook/_id/index.vue | 60 +++--- pages/bookshelf.vue | 31 ---- pages/bookshelf/collections.vue | 44 +---- pages/bookshelf/index.vue | 106 ++++++++++- pages/bookshelf/series/index.vue | 6 - pages/collection/_id.vue | 16 +- pages/downloads.vue | 3 - plugins/localStore.js | 19 ++ plugins/sqlStore.js | 135 +++++++++++++- store/audiobooks.js | 129 +------------ store/downloads.js | 25 ++- store/index.js | 1 + store/libraries.js | 41 +++++ store/user.js | 44 +---- 42 files changed, 613 insertions(+), 1878 deletions(-) delete mode 100644 components/app/Bookshelf.vue delete mode 100644 components/app/BookshelfList.vue delete mode 100644 components/app/BookshelfListRow.vue delete mode 100644 components/bookshelf/GroupShelf.vue delete mode 100644 components/bookshelf/LibraryShelf.vue delete mode 100644 components/cards/BookCard.vue delete mode 100644 components/cards/BookCover.vue delete mode 100644 components/cards/CollectionCard.vue delete mode 100644 components/cards/CollectionCover.vue delete mode 100644 components/cards/PlayerBookCover.vue delete mode 100644 components/cards/SeriesCard.vue delete mode 100644 components/cards/SeriesCover.vue delete mode 100644 components/modals/SearchModal.vue diff --git a/Server.js b/Server.js index 424fed3d..14f6ad5e 100644 --- a/Server.js +++ b/Server.js @@ -155,6 +155,7 @@ class Server extends EventEmitter { if (this.socket) { this.socket.disconnect() } + this.emit('logout') } authorize(serverUrl, token) { diff --git a/android/app/src/main/java/com/audiobookshelf/app/AudiobookManager.kt b/android/app/src/main/java/com/audiobookshelf/app/AudiobookManager.kt index c1a8bddc..f8556eda 100644 --- a/android/app/src/main/java/com/audiobookshelf/app/AudiobookManager.kt +++ b/android/app/src/main/java/com/audiobookshelf/app/AudiobookManager.kt @@ -57,7 +57,7 @@ class AudiobookManager { return } - var url = "$serverUrl/api/library/main/audiobooks" + var url = "$serverUrl/api/libraries/main/books/all" val request = Request.Builder() .url(url).addHeader("Authorization", "Bearer $token") .build() @@ -74,11 +74,14 @@ class AudiobookManager { if (!response.isSuccessful) throw IOException("Unexpected code $response") var bodyString = response.body!!.string() - var json = JSArray(bodyString) - var totalBooks = json.length() - 1 + var resJson = JSObject(bodyString) + var results = resJson.getJSONArray("results") + + var totalBooks = results.length() - 1 for (i in 0..totalBooks) { - var abobj = json.get(i) + var abobj = results.get(i) var jsobj = JSObject(abobj.toString()) + jsobj.put("isDownloaded", false) var audiobook = Audiobook(jsobj, serverUrl, token) diff --git a/assets/app.css b/assets/app.css index b9d89c28..d964d2da 100644 --- a/assets/app.css +++ b/assets/app.css @@ -1,5 +1,9 @@ @import "./fonts.css"; +#bookshelf { + min-height: calc(100vh - 48px); +} + .box-shadow-sm { box-shadow: 0px 3px 6px #11111170; } diff --git a/components/app/Appbar.vue b/components/app/Appbar.vue index 03fb8e88..99ea37c5 100644 --- a/components/app/Appbar.vue +++ b/components/app/Appbar.vue @@ -14,14 +14,9 @@

{{ currentLibraryName }}

-
- - - - search @@ -36,19 +31,7 @@ - - \ No newline at end of file diff --git a/components/app/BookshelfList.vue b/components/app/BookshelfList.vue deleted file mode 100644 index 6ae91184..00000000 --- a/components/app/BookshelfList.vue +++ /dev/null @@ -1,135 +0,0 @@ - - - - - \ No newline at end of file diff --git a/components/app/BookshelfListRow.vue b/components/app/BookshelfListRow.vue deleted file mode 100644 index 813be54d..00000000 --- a/components/app/BookshelfListRow.vue +++ /dev/null @@ -1,152 +0,0 @@ - - - \ No newline at end of file diff --git a/components/app/SideDrawer.vue b/components/app/SideDrawer.vue index 4bf09093..bdfc53d7 100644 --- a/components/app/SideDrawer.vue +++ b/components/app/SideDrawer.vue @@ -113,9 +113,6 @@ export default { }) this.$server.logout() this.$router.push('/connect') - - this.$store.commit('audiobooks/reset') - this.$store.dispatch('audiobooks/useDownloaded') }, touchstart(e) { this.touchEvent = new TouchEvent(e) diff --git a/components/bookshelf/GroupShelf.vue b/components/bookshelf/GroupShelf.vue deleted file mode 100644 index e0eeff5f..00000000 --- a/components/bookshelf/GroupShelf.vue +++ /dev/null @@ -1,35 +0,0 @@ - - - diff --git a/components/bookshelf/LazyBookshelf.vue b/components/bookshelf/LazyBookshelf.vue index 2dbe4a4b..d8946039 100644 --- a/components/bookshelf/LazyBookshelf.vue +++ b/components/bookshelf/LazyBookshelf.vue @@ -1,16 +1,11 @@