mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-01-22 00:07:52 +01:00
Add:Collapsed series finished progress bar #1062
This commit is contained in:
parent
e0e69fb164
commit
067d90474b
@ -37,6 +37,8 @@
|
|||||||
|
|
||||||
<!-- No progress shown for collapsed series in library and podcasts (unless showing podcast episode) -->
|
<!-- No progress shown for collapsed series in library and podcasts (unless showing podcast episode) -->
|
||||||
<div v-if="!booksInSeries && (!isPodcast || episodeProgress)" class="absolute bottom-0 left-0 h-1 shadow-sm max-w-full z-10 rounded-b" :class="itemIsFinished ? 'bg-success' : 'bg-yellow-400'" :style="{ width: width * userProgressPercent + 'px' }"></div>
|
<div v-if="!booksInSeries && (!isPodcast || episodeProgress)" class="absolute bottom-0 left-0 h-1 shadow-sm max-w-full z-10 rounded-b" :class="itemIsFinished ? 'bg-success' : 'bg-yellow-400'" :style="{ width: width * userProgressPercent + 'px' }"></div>
|
||||||
|
<!-- Finished progress bar for collapsed series -->
|
||||||
|
<div v-else-if="booksInSeries && seriesIsFinished" class="absolute bottom-0 left-0 h-1 shadow-sm max-w-full z-10 rounded-b bg-success" :style="{ width: width * userProgressPercent + 'px' }"></div>
|
||||||
|
|
||||||
<!-- Overlay is not shown if collapsing series in library -->
|
<!-- Overlay is not shown if collapsing series in library -->
|
||||||
<div v-show="!booksInSeries && libraryItem && (isHovering || isSelectionMode || isMoreMenuOpen) && !processing" class="w-full h-full absolute top-0 left-0 z-10 bg-black rounded hidden md:block" :class="overlayWrapperClasslist">
|
<div v-show="!booksInSeries && libraryItem && (isHovering || isSelectionMode || isMoreMenuOpen) && !processing" class="w-full h-full absolute top-0 left-0 z-10 bg-black rounded hidden md:block" :class="overlayWrapperClasslist">
|
||||||
@ -234,6 +236,10 @@ export default {
|
|||||||
// Only added to item object when collapseSeries is enabled
|
// Only added to item object when collapseSeries is enabled
|
||||||
return this.collapsedSeries ? this.collapsedSeries.numBooks : 0
|
return this.collapsedSeries ? this.collapsedSeries.numBooks : 0
|
||||||
},
|
},
|
||||||
|
libraryItemIdsInSeries() {
|
||||||
|
// Only added to item object when collapseSeries is enabled
|
||||||
|
return this.collapsedSeries ? this.collapsedSeries.libraryItemIds || [] : []
|
||||||
|
},
|
||||||
hasCover() {
|
hasCover() {
|
||||||
return !!this.media.coverPath
|
return !!this.media.coverPath
|
||||||
},
|
},
|
||||||
@ -298,6 +304,12 @@ export default {
|
|||||||
itemIsFinished() {
|
itemIsFinished() {
|
||||||
return this.userProgress ? !!this.userProgress.isFinished : false
|
return this.userProgress ? !!this.userProgress.isFinished : false
|
||||||
},
|
},
|
||||||
|
seriesIsFinished() {
|
||||||
|
return !this.libraryItemIdsInSeries.some((lid) => {
|
||||||
|
const progress = this.store.getters['user/getUserMediaProgress'](lid)
|
||||||
|
return !progress || !progress.isFinished
|
||||||
|
})
|
||||||
|
},
|
||||||
showError() {
|
showError() {
|
||||||
if (this.recentEpisode) return false // Dont show podcast error on episode card
|
if (this.recentEpisode) return false // Dont show podcast error on episode card
|
||||||
return this.numInvalidAudioFiles || this.numMissingParts || this.isMissing || this.isInvalid
|
return this.numInvalidAudioFiles || this.numMissingParts || this.isMissing || this.isInvalid
|
||||||
|
@ -232,6 +232,7 @@ module.exports = {
|
|||||||
id: seriesToUse[li.id].id,
|
id: seriesToUse[li.id].id,
|
||||||
name: seriesToUse[li.id].name,
|
name: seriesToUse[li.id].name,
|
||||||
nameIgnorePrefix: seriesToUse[li.id].nameIgnorePrefix,
|
nameIgnorePrefix: seriesToUse[li.id].nameIgnorePrefix,
|
||||||
|
libraryItemIds: seriesToUse[li.id].books.map(b => b.id),
|
||||||
numBooks: seriesToUse[li.id].books.length
|
numBooks: seriesToUse[li.id].books.length
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user