mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-07-14 21:31:43 +00:00
Add: "Play Next" button for book and podcast cards
This commit is contained in:
parent
0d0bdce337
commit
c18f722929
19 changed files with 63 additions and 2 deletions
|
|
@ -463,7 +463,11 @@ export default {
|
|||
if (!this.isQueued) {
|
||||
items.push({
|
||||
func: 'addToQueue',
|
||||
text: this.$strings.ButtonQueueAddItem
|
||||
text: this.$strings.ButtonQueuePlayNext
|
||||
},
|
||||
{
|
||||
func: 'playNext',
|
||||
text: this.$strings.ButtonQueuePlayNext
|
||||
})
|
||||
} else if (!this.isStreaming) {
|
||||
items.push({
|
||||
|
|
@ -542,6 +546,10 @@ export default {
|
|||
items.push({
|
||||
func: 'addToQueue',
|
||||
text: this.$strings.ButtonQueueAddItem
|
||||
},
|
||||
{
|
||||
func: 'playNext',
|
||||
text: this.$strings.ButtonQueuePlayNext
|
||||
})
|
||||
} else if (!this.isStreaming) {
|
||||
items.push({
|
||||
|
|
@ -830,6 +838,33 @@ export default {
|
|||
}
|
||||
this.store.commit('addItemToQueue', queueItem)
|
||||
},
|
||||
playNext() {
|
||||
var queueItem = {}
|
||||
if (this.recentEpisode) {
|
||||
queueItem = {
|
||||
libraryItemId: this.libraryItemId,
|
||||
libraryId: this.libraryId,
|
||||
episodeId: this.recentEpisode.id,
|
||||
title: this.recentEpisode.title,
|
||||
subtitle: this.mediaMetadata.title,
|
||||
caption: this.recentEpisode.publishedAt ? `Published ${this.$formatDate(this.recentEpisode.publishedAt, this.dateFormat)}` : 'Unknown publish date',
|
||||
duration: this.recentEpisode.audioFile.duration || null,
|
||||
coverPath: this.media.coverPath || null
|
||||
}
|
||||
} else {
|
||||
queueItem = {
|
||||
libraryItemId: this.libraryItemId,
|
||||
libraryId: this.libraryId,
|
||||
episodeId: null,
|
||||
title: this.title,
|
||||
subtitle: this.author,
|
||||
caption: '',
|
||||
duration: this.media.duration || null,
|
||||
coverPath: this.media.coverPath || null
|
||||
}
|
||||
}
|
||||
this.store.commit('addItemToTopOfQueue', queueItem)
|
||||
},
|
||||
removeFromQueue() {
|
||||
const episodeId = this.recentEpisode ? this.recentEpisode.id : null
|
||||
this.store.commit('removeItemFromQueue', { libraryItemId: this.libraryItemId, episodeId })
|
||||
|
|
|
|||
|
|
@ -188,6 +188,15 @@ export const mutations = {
|
|||
state.playerQueueItems.push(item)
|
||||
}
|
||||
},
|
||||
addItemToTopOfQueue(state, item) {
|
||||
const exists = state.playerQueueItems.some(i => {
|
||||
if (!i.episodeId) return i.libraryItemId === item.libraryItemId
|
||||
return i.libraryItemId === item.libraryItemId && i.episodeId === item.episodeId
|
||||
})
|
||||
if (!exists) {
|
||||
state.playerQueueItems.splice(1, 0, item)
|
||||
}
|
||||
},
|
||||
setPlayerQueueAutoPlay(state, autoPlay) {
|
||||
state.playerQueueAutoPlay = !!autoPlay
|
||||
localStorage.setItem('playerQueueAutoPlay', !!autoPlay ? '1' : '0')
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@
|
|||
"ButtonPurgeItemsCache": "Vyčistit mezipaměť položek",
|
||||
"ButtonPurgeMediaProgress": "Vyčistit průběh médií",
|
||||
"ButtonQueueAddItem": "Přidat do fronty",
|
||||
"ButtonQueuePlayNext": "Play Next",
|
||||
"ButtonQueueRemoveItem": "Odstranit z fronty",
|
||||
"ButtonQuickMatch": "Rychlé přiřazení",
|
||||
"ButtonRead": "Číst",
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@
|
|||
"ButtonPurgeItemsCache": "Ryd elementcache",
|
||||
"ButtonPurgeMediaProgress": "Ryd Medieforløb",
|
||||
"ButtonQueueAddItem": "Tilføj til kø",
|
||||
"ButtonQueuePlayNext": "Play Next",
|
||||
"ButtonQueueRemoveItem": "Fjern fra kø",
|
||||
"ButtonQuickMatch": "Hurtig Match",
|
||||
"ButtonRead": "Læs",
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@
|
|||
"ButtonPurgeItemsCache": "Lösche Medien-Zwischenspeicher",
|
||||
"ButtonPurgeMediaProgress": "Lösche Hörfortschritte",
|
||||
"ButtonQueueAddItem": "Zur Warteschlange hinzufügen",
|
||||
"ButtonQueuePlayNext": "Play Next",
|
||||
"ButtonQueueRemoveItem": "Aus der Warteschlange entfernen",
|
||||
"ButtonQuickMatch": "Schnellabgleich",
|
||||
"ButtonRead": "Lese",
|
||||
|
|
@ -750,4 +751,4 @@
|
|||
"ToastSocketFailedToConnect": "Verbindung zum WebSocket fehlgeschlagen",
|
||||
"ToastUserDeleteFailed": "Benutzer konnte nicht gelöscht werden",
|
||||
"ToastUserDeleteSuccess": "Benutzer gelöscht"
|
||||
}
|
||||
}
|
||||
|
|
@ -51,6 +51,7 @@
|
|||
"ButtonPurgeItemsCache": "Purge Items Cache",
|
||||
"ButtonPurgeMediaProgress": "Purge Media Progress",
|
||||
"ButtonQueueAddItem": "Add to queue",
|
||||
"ButtonQueuePlayNext": "Play Next",
|
||||
"ButtonQueueRemoveItem": "Remove from queue",
|
||||
"ButtonQuickMatch": "Quick Match",
|
||||
"ButtonRead": "Read",
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@
|
|||
"ButtonPurgeItemsCache": "Purgar Elementos de Cache",
|
||||
"ButtonPurgeMediaProgress": "Purgar Progreso de Multimedia",
|
||||
"ButtonQueueAddItem": "Agregar a la Fila",
|
||||
"ButtonQueuePlayNext": "Play Next",
|
||||
"ButtonQueueRemoveItem": "Remover de la Fila",
|
||||
"ButtonQuickMatch": "Encontrar Rápido",
|
||||
"ButtonRead": "Leer",
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@
|
|||
"ButtonPurgeItemsCache": "Purger le cache des articles",
|
||||
"ButtonPurgeMediaProgress": "Purger la progression des médias",
|
||||
"ButtonQueueAddItem": "Ajouter à la liste de lecture",
|
||||
"ButtonQueuePlayNext": "Play Next",
|
||||
"ButtonQueueRemoveItem": "Supprimer de la liste de lecture",
|
||||
"ButtonQuickMatch": "Recherche rapide",
|
||||
"ButtonRead": "Lire",
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@
|
|||
"ButtonPurgeItemsCache": "વસ્તુઓનો Cache કાઢી નાખો",
|
||||
"ButtonPurgeMediaProgress": "બધું સાંભળ્યું કાઢી નાખો",
|
||||
"ButtonQueueAddItem": "કતારમાં ઉમેરો",
|
||||
"ButtonQueuePlayNext": "Play Next",
|
||||
"ButtonQueueRemoveItem": "કતારથી કાઢી નાખો",
|
||||
"ButtonQuickMatch": "ઝડપી મેળ ખવડાવો",
|
||||
"ButtonRead": "વાંચો",
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@
|
|||
"ButtonPurgeItemsCache": "आइटम Cache मिटाएं",
|
||||
"ButtonPurgeMediaProgress": "अभी तक सुना हुआ सब हटा दे",
|
||||
"ButtonQueueAddItem": "क़तार में जोड़ें",
|
||||
"ButtonQueuePlayNext": "Play Next",
|
||||
"ButtonQueueRemoveItem": "कतार से हटाएं",
|
||||
"ButtonQuickMatch": "जल्दी से समानता की तलाश करें",
|
||||
"ButtonRead": "पढ़ लिया",
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@
|
|||
"ButtonPurgeItemsCache": "Isprazni Items Cache",
|
||||
"ButtonPurgeMediaProgress": "Purge Media Progress",
|
||||
"ButtonQueueAddItem": "Add to queue",
|
||||
"ButtonQueuePlayNext": "Play Next",
|
||||
"ButtonQueueRemoveItem": "Remove from queue",
|
||||
"ButtonQuickMatch": "Brzi match",
|
||||
"ButtonRead": "Pročitaj",
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@
|
|||
"ButtonPurgeItemsCache": "Elimina la Cache selezionata",
|
||||
"ButtonPurgeMediaProgress": "Elimina info dei media ascoltati",
|
||||
"ButtonQueueAddItem": "Aggiungi alla Coda",
|
||||
"ButtonQueuePlayNext": "Play Next",
|
||||
"ButtonQueueRemoveItem": "Rimuovi dalla Coda",
|
||||
"ButtonQuickMatch": "Controlla Metadata Auto",
|
||||
"ButtonRead": "Leggi",
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@
|
|||
"ButtonPurgeItemsCache": "Valyti elementų saugyklą",
|
||||
"ButtonPurgeMediaProgress": "Valyti medijos progresą",
|
||||
"ButtonQueueAddItem": "Pridėti į eilę",
|
||||
"ButtonQueuePlayNext": "Play Next",
|
||||
"ButtonQueueRemoveItem": "Pašalinti iš eilės",
|
||||
"ButtonQuickMatch": "Greitas pritaikymas",
|
||||
"ButtonRead": "Skaityti",
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@
|
|||
"ButtonPurgeItemsCache": "Onderdelen-cache legen",
|
||||
"ButtonPurgeMediaProgress": "Mediavoortgang legen",
|
||||
"ButtonQueueAddItem": "In wachtrij zetten",
|
||||
"ButtonQueuePlayNext": "Play Next",
|
||||
"ButtonQueueRemoveItem": "Uit wachtrij verwijderen",
|
||||
"ButtonQuickMatch": "Snelle match",
|
||||
"ButtonRead": "Lees",
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@
|
|||
"ButtonPurgeItemsCache": "Tøm mellomlager",
|
||||
"ButtonPurgeMediaProgress": "Slett medie fremgang",
|
||||
"ButtonQueueAddItem": "Legg til kø",
|
||||
"ButtonQueuePlayNext": "Play Next",
|
||||
"ButtonQueueRemoveItem": "Fjern fra kø",
|
||||
"ButtonQuickMatch": "Kjapt søk",
|
||||
"ButtonRead": "Les",
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@
|
|||
"ButtonPurgeItemsCache": "Wyczyść dane tymczasowe pozycji",
|
||||
"ButtonPurgeMediaProgress": "Wyczyść postęp",
|
||||
"ButtonQueueAddItem": "Dodaj do kolejki",
|
||||
"ButtonQueuePlayNext": "Play Next",
|
||||
"ButtonQueueRemoveItem": "Usuń z kolejki",
|
||||
"ButtonQuickMatch": "Szybkie dopasowanie",
|
||||
"ButtonRead": "Czytaj",
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@
|
|||
"ButtonPurgeItemsCache": "Очистить кэш элементов",
|
||||
"ButtonPurgeMediaProgress": "Очистить прогресс медиа",
|
||||
"ButtonQueueAddItem": "Добавить в очередь",
|
||||
"ButtonQueuePlayNext": "Play Next",
|
||||
"ButtonQueueRemoveItem": "Удалить из очереди",
|
||||
"ButtonQuickMatch": "Быстрый поиск",
|
||||
"ButtonRead": "Читать",
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@
|
|||
"ButtonPurgeItemsCache": "Rensa föremåls-cache",
|
||||
"ButtonPurgeMediaProgress": "Rensa medieförlopp",
|
||||
"ButtonQueueAddItem": "Lägg till i kön",
|
||||
"ButtonQueuePlayNext": "Play Next",
|
||||
"ButtonQueueRemoveItem": "Ta bort från kön",
|
||||
"ButtonQuickMatch": "Snabb matchning",
|
||||
"ButtonRead": "Läs",
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@
|
|||
"ButtonPurgeItemsCache": "清理项目缓存",
|
||||
"ButtonPurgeMediaProgress": "清理媒体进度",
|
||||
"ButtonQueueAddItem": "添加到队列",
|
||||
"ButtonQueuePlayNext": "Play Next",
|
||||
"ButtonQueueRemoveItem": "从队列中移除",
|
||||
"ButtonQuickMatch": "快速匹配",
|
||||
"ButtonRead": "读取",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue