diff --git a/client/assets/app.css b/client/assets/app.css index 0a572ff8..a7dda9d0 100644 --- a/client/assets/app.css +++ b/client/assets/app.css @@ -151,3 +151,18 @@ input[type=number] { .box-shadow-side { box-shadow: 5px 0px 5px #11111166; } + +/* +Bookshelf Label +*/ +.categoryPlacard { + background-image: url(https://image.freepik.com/free-photo/brown-wooden-textured-flooring-background_53876-128537.jpg); + letter-spacing: 1px; +} +.shinyBlack { + background-color: #2d3436; + background-image: linear-gradient(315deg, #19191a 0%, rgb(15, 15, 15) 74%); + border-color: rgba(255, 244, 182, 0.6); + border-style: solid; + color: #fce3a6; +} \ No newline at end of file diff --git a/client/components/app/BookListRow.vue b/client/components/app/BookListRow.vue index 17519e9a..0a44809d 100644 --- a/client/components/app/BookListRow.vue +++ b/client/components/app/BookListRow.vue @@ -8,7 +8,7 @@ - + diff --git a/client/components/app/BookShelf.vue b/client/components/app/BookShelf.vue index 19f62cc5..cda2031d 100644 --- a/client/components/app/BookShelf.vue +++ b/client/components/app/BookShelf.vue @@ -32,12 +32,14 @@
-
+
@@ -131,7 +133,9 @@ export default { return 16 * this.sizeMultiplier }, bookWidth() { - var _width = this.bookCoverWidth + this.paddingX * 2 + var coverWidth = this.bookCoverWidth + if (this.page === 'collections') coverWidth *= 2 + var _width = coverWidth + this.paddingX * 2 return this.showGroups ? _width * 1.6 : _width }, isSelectionMode() { @@ -149,6 +153,9 @@ export default { showGroups() { return this.page !== '' && this.page !== 'search' && !this.selectedSeries }, + isCollections() { + return this.page === 'collections' + }, categorizedShelves() { if (this.page !== 'search') return [] var audiobookSearchResults = this.searchResults ? this.searchResults.audiobooks || [] : [] @@ -198,12 +205,7 @@ export default { var audiobookSearchResults = this.searchResults ? this.searchResults.audiobooks || [] : [] return audiobookSearchResults.map((absr) => absr.audiobook) } else if (this.page === 'collections') { - return (this.$store.state.user.collections || []).map((c) => { - return { - type: 'collection', - ...c - } - }) + return this.$store.state.user.collections || [] } else { var seriesGroups = this.$store.getters['audiobooks/getSeriesGroups']() if (this.selectedSeries) { @@ -299,6 +301,11 @@ export default { console.log('[AudioBookshelf] Audiobooks Updated') this.setBookshelfEntities() }, + collectionsUpdated() { + if (!this.isCollections) return + console.log('[AudioBookshelf] Collections Updated') + this.setBookshelfEntities() + }, buildSearchParams() { if (this.page === 'search' || this.page === 'series' || this.page === 'collections') { return '' @@ -357,6 +364,7 @@ export default { window.addEventListener('resize', this.resize) this.$store.commit('audiobooks/addListener', { id: 'bookshelf', meth: this.audiobooksUpdated }) this.$store.commit('user/addSettingsListener', { id: 'bookshelf', meth: this.settingsUpdated }) + this.$store.commit('user/addCollectionsListener', { id: 'bookshelf', meth: this.collectionsUpdated }) this.init() }, @@ -364,6 +372,7 @@ export default { window.removeEventListener('resize', this.resize) this.$store.commit('audiobooks/removeListener', 'bookshelf') this.$store.commit('user/removeSettingsListener', 'bookshelf') + this.$store.commit('user/removeCollectionsListener', 'bookshelf') } } diff --git a/client/components/app/BookShelfRow.vue b/client/components/app/BookShelfRow.vue index cc11417b..207c795d 100644 --- a/client/components/app/BookShelfRow.vue +++ b/client/components/app/BookShelfRow.vue @@ -139,17 +139,7 @@ export default { /* background: linear-gradient(180deg, rgb(114, 85, 59) 0%, rgb(73, 48, 22) 17%, rgb(71, 43, 15) 88%, rgb(61, 41, 20) 100%); */ box-shadow: 2px 14px 8px #111111aa; } -.categoryPlacard { - background-image: url(https://image.freepik.com/free-photo/brown-wooden-textured-flooring-background_53876-128537.jpg); - letter-spacing: 1px; -} -.shinyBlack { - background-color: #2d3436; - background-image: linear-gradient(315deg, #19191a 0%, rgb(15, 15, 15) 74%); - border-color: rgba(255, 244, 182, 0.6); - border-style: solid; - color: #fce3a6; -} + .book-shelf-arrow-right { height: calc(100% - 24px); background: rgb(48, 48, 48); diff --git a/client/components/app/StreamContainer.vue b/client/components/app/StreamContainer.vue index 03d84907..2f68eca7 100644 --- a/client/components/app/StreamContainer.vue +++ b/client/components/app/StreamContainer.vue @@ -1,7 +1,7 @@