diff --git a/.gitignore b/.gitignore index d375bae0..12ebec1c 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ sw.* .DS_STORE .idea/* tailwind.compiled.css +tailwind.config.js diff --git a/client/components/app/BookShelfToolbar.vue b/client/components/app/BookShelfToolbar.vue index 01ab4fa7..95e7c378 100644 --- a/client/components/app/BookShelfToolbar.vue +++ b/client/components/app/BookShelfToolbar.vue @@ -274,15 +274,10 @@ export default { isAuthorsPage() { return this.page === 'authors' }, - isAlbumsPage() { - return this.page === 'albums' - }, numShowing() { return this.totalEntities }, entityName() { - if (this.isAlbumsPage) return 'Albums' - if (this.isPodcastLibrary) return this.$strings.LabelPodcasts if (!this.page) return this.$strings.LabelBooks if (this.isSeriesPage) return this.$strings.LabelSeries diff --git a/client/components/cards/LazyAlbumCard.vue b/client/components/cards/LazyAlbumCard.vue deleted file mode 100644 index 9b722795..00000000 --- a/client/components/cards/LazyAlbumCard.vue +++ /dev/null @@ -1,142 +0,0 @@ - - - diff --git a/client/components/modals/item/tabs/Tools.vue b/client/components/modals/item/tabs/Tools.vue index d7e19cc8..d9655088 100644 --- a/client/components/modals/item/tabs/Tools.vue +++ b/client/components/modals/item/tabs/Tools.vue @@ -74,19 +74,12 @@ export default { mediaTracks() { return this.media.tracks || [] }, - isSingleM4b() { - return this.mediaTracks.length === 1 && this.mediaTracks[0].metadata.ext.toLowerCase() === '.m4b' - }, chapters() { return this.media.chapters || [] }, showM4bDownload() { if (!this.mediaTracks.length) return false - return !this.isSingleM4b - }, - showMp3Split() { - if (!this.mediaTracks.length) return false - return this.isSingleM4b && this.chapters.length + return true }, queuedEmbedLIds() { return this.$store.state.tasks.queuedEmbedLIds || [] diff --git a/client/components/player/PlayerTrackBar.vue b/client/components/player/PlayerTrackBar.vue index cc581e25..6c96a6bf 100644 --- a/client/components/player/PlayerTrackBar.vue +++ b/client/components/player/PlayerTrackBar.vue @@ -74,6 +74,9 @@ export default { currentChapterStart() { if (!this.currentChapter) return 0 return this.currentChapter.start + }, + isMobile() { + return this.$store.state.globals.isMobile } }, methods: { @@ -145,6 +148,9 @@ export default { }) }, mousemoveTrack(e) { + if (this.isMobile) { + return + } const offsetX = e.offsetX const baseTime = this.useChapterTrack ? this.currentChapterStart : 0 @@ -198,6 +204,7 @@ export default { setTrackWidth() { if (this.$refs.track) { this.trackWidth = this.$refs.track.clientWidth + this.trackOffsetLeft = this.$refs.track.getBoundingClientRect().left } else { console.error('Track not loaded', this.$refs) } diff --git a/client/components/stats/YearInReviewBanner.vue b/client/components/stats/YearInReviewBanner.vue index e3677538..62776bc6 100644 --- a/client/components/stats/YearInReviewBanner.vue +++ b/client/components/stats/YearInReviewBanner.vue @@ -164,14 +164,15 @@ export default { beforeMount() { this.yearInReviewYear = new Date().getFullYear() - // When not December show previous year - if (new Date().getMonth() < 11) { + this.availableYears = this.getAvailableYears() + const availableYearValues = this.availableYears.map((y) => y.value) + + // When not December show previous year if data is available + if (new Date().getMonth() < 11 && availableYearValues.includes(this.yearInReviewYear - 1)) { this.yearInReviewYear-- } }, mounted() { - this.availableYears = this.getAvailableYears() - if (typeof navigator.share !== 'undefined' && navigator.share) { this.showShareButton = true } else { diff --git a/client/components/tables/podcast/LazyEpisodesTable.vue b/client/components/tables/podcast/LazyEpisodesTable.vue index b17d9301..b23cc560 100644 --- a/client/components/tables/podcast/LazyEpisodesTable.vue +++ b/client/components/tables/podcast/LazyEpisodesTable.vue @@ -1,4 +1,3 @@ -