This commit is contained in:
Dyson 2026-05-06 13:51:20 +02:00 committed by GitHub
commit 661e23c6bb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 109 additions and 0 deletions

View file

@ -131,6 +131,10 @@ export default {
{
text: this.isSeriesFinished ? this.$strings.MessageMarkAsNotFinished : this.$strings.MessageMarkAsFinished,
action: 'mark-series-finished'
},
{
text: !this.isSeriesHidden ? this.$strings.LabelHideSeries : this.$strings.LabelUnhideSeries,
action: 'hide-series'
}
]
@ -301,6 +305,10 @@ export default {
if (!this.seriesId) return false
return this.$store.getters['user/getIsSeriesRemovedFromContinueListening'](this.seriesId)
},
isSeriesHidden() {
if (!this.seriesId) return false
return this.$store.getters['user/getIsSeriesHidden'](this.seriesId)
},
filterBy() {
return this.$store.getters['user/getUserSetting']('filterBy')
},
@ -439,6 +447,12 @@ export default {
return
}
this.markSeriesFinished()
} else if (action === 'hide-series') {
if (this.processingSeries) {
console.warn('Already processing series')
return
}
this.markSeriesHidden()
} else if (this.handleSubtitlesAction(action)) {
return
} else if (this.handleCollapseSubSeriesAction(action)) {
@ -566,6 +580,35 @@ export default {
}
this.$store.commit('globals/setConfirmPrompt', payload)
},
markSeriesHidden() {
const newIsHidden = !this.isSeriesHidden;
const payload = {
message: newIsHidden ? this.$strings.MessageConfirmHideSeries : this.$strings.MessageConfirmUnhideSeries,
callback: (confirmed) => {
if (confirmed) {
this.processingSeries = true
const payload = {
makeHidden: newIsHidden
}
this.$axios
.$post(`/api/me/series/${this.seriesId}/hide`, payload)
.then(() => {
this.$toast.success(this.$strings.ToastSeriesUpdateSuccess)
})
.catch((error) => {
this.$toast.error(this.$strings.ToastSeriesUpdateFailed)
console.error('Failed to batch update read/not read', error)
})
.finally(() => {
this.processingSeries = false
})
}
},
type: 'yesNo'
}
this.$store.commit('globals/setConfirmPrompt', payload)
},
updateOrder() {
this.saveSettings()
},

View file

@ -76,6 +76,10 @@ export const getters = {
if (!state.user || !state.user.seriesHideFromContinueListening || !state.user.seriesHideFromContinueListening.length) return false
return state.user.seriesHideFromContinueListening.includes(seriesId)
},
getIsSeriesHidden: (state) => (seriesId) => {
if (!state.user || !state.user.hiddenSeries || !state.user.hiddenSeries.length) return false
return state.user.hiddenSeries.includes(seriesId)
},
getSizeMultiplier: (state) => {
return state.settings.bookshelfCoverSize / 120
}

View file

@ -394,6 +394,7 @@
"LabelHardDeleteFile": "Hard delete file",
"LabelHasEbook": "Has ebook",
"LabelHasSupplementaryEbook": "Has supplementary ebook",
"LabelHideSeries": "Hide Series",
"LabelHideSubtitles": "Hide Subtitles",
"LabelHighestPriority": "Highest priority",
"LabelHost": "Host",
@ -699,6 +700,7 @@
"LabelType": "Type",
"LabelUnabridged": "Unabridged",
"LabelUndo": "Undo",
"LabelUnhideSeries": "Unhide Series",
"LabelUnknown": "Unknown",
"LabelUnknownPublishDate": "Unknown publish date",
"LabelUpdateCover": "Update Cover",
@ -774,6 +776,7 @@
"MessageConfirmDeleteSession": "Are you sure you want to delete this session?",
"MessageConfirmEmbedMetadataInAudioFiles": "Are you sure you want to embed metadata in {0} audio files?",
"MessageConfirmForceReScan": "Are you sure you want to force re-scan?",
"MessageConfirmHideSeries": "Are you sure you want to hide this series?",
"MessageConfirmMarkAllEpisodesFinished": "Are you sure you want to mark all episodes as finished?",
"MessageConfirmMarkAllEpisodesNotFinished": "Are you sure you want to mark all episodes as not finished?",
"MessageConfirmMarkItemFinished": "Are you sure you want to mark \"{0}\" as finished?",
@ -804,6 +807,7 @@
"MessageConfirmRenameTagWarning": "Warning! A similar tag with a different casing already exists \"{0}\".",
"MessageConfirmResetProgress": "Are you sure you want to reset your progress?",
"MessageConfirmSendEbookToDevice": "Are you sure you want to send {0} ebook \"{1}\" to device \"{2}\"?",
"MessageConfirmUnhideSeries": "Are you sure you want to unhide this series?",
"MessageConfirmUnlinkOpenId": "Are you sure you want to unlink this user from OpenID?",
"MessageDaysListenedInTheLastYear": "{0} days listened in the last year",
"MessageDownloadingEpisode": "Downloading episode",