diff --git a/client/assets/app.css b/client/assets/app.css index 21cd8bff..b1c3d218 100644 --- a/client/assets/app.css +++ b/client/assets/app.css @@ -65,4 +65,8 @@ .icon-text { font-size: 1.1rem; +} + +#ab-page-wrapper { + background-image: linear-gradient(to right bottom, #2e2e2e, #303030, #313131, #333333, #353535, #343434, #323232, #313131, #2c2c2c, #282828, #232323, #1f1f1f); } \ No newline at end of file diff --git a/client/components/app/BookShelfToolbar.vue b/client/components/app/BookShelfToolbar.vue index e4bccb1b..4024cf57 100644 --- a/client/components/app/BookShelfToolbar.vue +++ b/client/components/app/BookShelfToolbar.vue @@ -3,9 +3,9 @@

{{ numShowing }} Audiobooks

- + by - +
diff --git a/client/components/cards/BookCard.vue b/client/components/cards/BookCard.vue index a0b39b64..27f13390 100644 --- a/client/components/cards/BookCard.vue +++ b/client/components/cards/BookCard.vue @@ -2,7 +2,7 @@
- +
@@ -14,7 +14,6 @@ edit
-
@@ -62,6 +61,25 @@ export default { author() { return this.book.author }, + authorFL() { + return this.book.authorFL || this.author + }, + authorLF() { + return this.book.authorLF || this.author + }, + authorFormat() { + if (!this.orderBy || !this.orderBy.startsWith('book.author')) return null + return this.orderBy === 'book.authorLF' ? this.authorLF : this.authorFL + }, + volumeNumber() { + return this.book.volumeNumber || null + }, + orderBy() { + return this.$store.getters['user/getUserSetting']('orderBy') + }, + filterBy() { + return this.$store.getters['user/getUserSetting']('filterBy') + }, userProgressPercent() { return this.userProgress ? this.userProgress.progress || 0 : 0 }, diff --git a/client/components/cards/BookCover.vue b/client/components/cards/BookCover.vue index 460f1ac0..c3420f43 100644 --- a/client/components/cards/BookCover.vue +++ b/client/components/cards/BookCover.vue @@ -8,6 +8,7 @@

Invalid Cover

+

{{ titleCleaned }}

@@ -26,6 +27,7 @@ export default { type: Object, default: () => {} }, + authorOverride: String, width: { type: Number, default: 120 @@ -36,6 +38,11 @@ export default { imageFailed: false } }, + watch: { + cover() { + this.imageFailed = false + } + }, computed: { book() { return this.audiobook.book || {} @@ -50,6 +57,7 @@ export default { return this.title }, author() { + if (this.authorOverride) return this.authorOverride return this.book.author || 'Unknown' }, authorCleaned() { diff --git a/client/components/controls/FilterSelect.vue b/client/components/controls/FilterSelect.vue index a87fb3d8..fba24bd4 100644 --- a/client/components/controls/FilterSelect.vue +++ b/client/components/controls/FilterSelect.vue @@ -115,6 +115,9 @@ export default { if (!_sel) return '' return _sel.text }, + authors() { + return this.$store.getters['audiobooks/getUniqueAuthors'] + }, genres() { return this.$store.state.audiobooks.genres }, diff --git a/client/components/controls/OrderSelect.vue b/client/components/controls/OrderSelect.vue index 01a5cea5..43d8af27 100644 --- a/client/components/controls/OrderSelect.vue +++ b/client/components/controls/OrderSelect.vue @@ -11,7 +11,7 @@