diff --git a/client/components/tables/podcast/EpisodeTableRow.vue b/client/components/tables/podcast/EpisodeTableRow.vue index 4300b8e14..5ba99962a 100644 --- a/client/components/tables/podcast/EpisodeTableRow.vue +++ b/client/components/tables/podcast/EpisodeTableRow.vue @@ -25,6 +25,10 @@ + + + + @@ -201,7 +205,9 @@ export default { // Add to queue this.$emit('addToQueue', this.episode) } - } + }, + queuePlayNext() { + this.$emit('queuePlayNext', this.episode)} } } diff --git a/client/components/tables/podcast/EpisodesTable.vue b/client/components/tables/podcast/EpisodesTable.vue index 9534b34e1..662b37e69 100644 --- a/client/components/tables/podcast/EpisodesTable.vue +++ b/client/components/tables/podcast/EpisodesTable.vue @@ -32,7 +32,7 @@ @@ -274,6 +274,19 @@ export default { } this.$store.commit('addItemToQueue', queueItem) }, + addEpisodeToTopOfQueue(episode) { + const queueItem = { + libraryItemId: this.libraryItem.id, + libraryId: this.libraryItem.libraryId, + episodeId: episode.id, + title: episode.title, + subtitle: this.mediaMetadata.title, + caption: episode.publishedAt ? `Published ${this.$formatDate(episode.publishedAt, this.dateFormat)}` : 'Unknown publish date', + duration: episode.audioFile.duration || null, + coverPath: this.media.coverPath || null + } + this.$store.commit('addItemToTopOfQueue', queueItem) + }, toggleBatchFinished() { this.batchUpdateEpisodesFinished(this.selectedEpisodes, !this.selectedIsFinished) }, diff --git a/client/strings/cs.json b/client/strings/cs.json index c9bf88b22..c7d268acc 100644 --- a/client/strings/cs.json +++ b/client/strings/cs.json @@ -642,6 +642,7 @@ "MessagePauseChapter": "Pozastavit přehrávání kapitoly", "MessagePlayChapter": "Poslechnout si začátek kapitoly", "MessagePlaylistCreateFromCollection": "Vytvořit seznam skladeb z kolekce", + "MessagePlayNext": "Play next", "MessagePodcastHasNoRSSFeedForMatching": "Podcast nemá žádnou adresu URL kanálu RSS, kterou by mohl použít pro porovnávání", "MessageQuickMatchDescription": "Vyplňte prázdné detaily položky a obálku prvním výsledkem shody z '{0}'. Nepřepisuje podrobnosti, pokud není povoleno nastavení serveru \"Preferovat párování metadata\".", "MessageRemoveChapter": "Odstranit kapitolu", diff --git a/client/strings/da.json b/client/strings/da.json index 5814a4f82..9c0d03b84 100644 --- a/client/strings/da.json +++ b/client/strings/da.json @@ -642,6 +642,7 @@ "MessagePauseChapter": "Pause kapitelafspilning", "MessagePlayChapter": "Lyt til begyndelsen af kapitlet", "MessagePlaylistCreateFromCollection": "Opret afspilningsliste fra samling", + "MessagePlayNext": "Play next", "MessagePodcastHasNoRSSFeedForMatching": "Podcast har ingen RSS-feed-URL at bruge til matchning", "MessageQuickMatchDescription": "Udfyld tomme elementoplysninger og omslag med første matchresultat fra '{0}'. Overskriver ikke oplysninger, medmindre serverindstillingen 'Foretræk matchet metadata' er aktiveret.", "MessageRemoveChapter": "Fjern kapitel", diff --git a/client/strings/de.json b/client/strings/de.json index 2afbdefa2..3f2a2f9b7 100644 --- a/client/strings/de.json +++ b/client/strings/de.json @@ -642,6 +642,7 @@ "MessagePauseChapter": "Kapitelwiedergabe pausieren", "MessagePlayChapter": "Kapitelanfang anhören", "MessagePlaylistCreateFromCollection": "Erstelle eine Wiedergabeliste aus der Sammlung", + "MessagePlayNext": "Play next", "MessagePodcastHasNoRSSFeedForMatching": "Der Podcast hat keine RSS-Feed-Url welche für den Online-Abgleich verwendet werden kann", "MessageQuickMatchDescription": "Füllt leere Details und Titelbilder mit dem ersten Treffer aus '{0}'. Überschreibt keine Details, es sei denn, die Server-Einstellung \"Passende Metadaten bevorzugen\" ist aktiviert.", "MessageRemoveChapter": "Kapitel löschen", diff --git a/client/strings/en-us.json b/client/strings/en-us.json index d609cecc8..f4772855f 100644 --- a/client/strings/en-us.json +++ b/client/strings/en-us.json @@ -642,6 +642,7 @@ "MessagePauseChapter": "Pause chapter playback", "MessagePlayChapter": "Listen to beginning of chapter", "MessagePlaylistCreateFromCollection": "Create playlist from collection", + "MessagePlayNext": "Play next", "MessagePodcastHasNoRSSFeedForMatching": "Podcast has no RSS feed url to use for matching", "MessageQuickMatchDescription": "Populate empty item details & cover with first match result from '{0}'. Does not overwrite details unless 'Prefer matched metadata' server setting is enabled.", "MessageRemoveChapter": "Remove chapter", diff --git a/client/strings/es.json b/client/strings/es.json index cf95535bd..992d52ae3 100644 --- a/client/strings/es.json +++ b/client/strings/es.json @@ -642,6 +642,7 @@ "MessagePauseChapter": "Pausar la reproducción del capítulo", "MessagePlayChapter": "Escuchar el comienzo del capítulo", "MessagePlaylistCreateFromCollection": "Crear una lista de reproducción a partir de una colección", + "MessagePlayNext": "Play next", "MessagePodcastHasNoRSSFeedForMatching": "El podcast no tiene una URL de fuente RSS que pueda usar", "MessageQuickMatchDescription": "Rellenar detalles de elementos vacíos y portada con los primeros resultados de '{0}'. No sobrescribe los detalles a menos que la opción \"Preferir Metadatos Encontrados\" del servidor esté habilitada.", "MessageRemoveChapter": "Remover capítulos", diff --git a/client/strings/fr.json b/client/strings/fr.json index 37a632058..93d429abd 100644 --- a/client/strings/fr.json +++ b/client/strings/fr.json @@ -642,6 +642,7 @@ "MessagePauseChapter": "Suspendre la lecture du chapitre", "MessagePlayChapter": "Écouter depuis le début du chapitre", "MessagePlaylistCreateFromCollection": "Créer une liste de lecture depuis la collection", + "MessagePlayNext": "Play next", "MessagePodcastHasNoRSSFeedForMatching": "Le Podcast n’a pas d’URL de flux RSS à utiliser pour la correspondance", "MessageQuickMatchDescription": "Renseigne les détails manquants ainsi que la couverture avec la première correspondance de « {0} ». N’écrase pas les données présentes à moins que le paramètre « Préférer les Métadonnées par correspondance » soit activé.", "MessageRemoveChapter": "Supprimer le chapitre", diff --git a/client/strings/gu.json b/client/strings/gu.json index 2ad83706f..80fffd9d8 100644 --- a/client/strings/gu.json +++ b/client/strings/gu.json @@ -642,6 +642,7 @@ "MessagePauseChapter": "Pause chapter playback", "MessagePlayChapter": "Listen to beginning of chapter", "MessagePlaylistCreateFromCollection": "Create playlist from collection", + "MessagePlayNext": "Play next", "MessagePodcastHasNoRSSFeedForMatching": "Podcast has no RSS feed url to use for matching", "MessageQuickMatchDescription": "Populate empty item details & cover with first match result from '{0}'. Does not overwrite details unless 'Prefer matched metadata' server setting is enabled.", "MessageRemoveChapter": "Remove chapter", diff --git a/client/strings/hi.json b/client/strings/hi.json index 087a25a46..371b621e2 100644 --- a/client/strings/hi.json +++ b/client/strings/hi.json @@ -642,6 +642,7 @@ "MessagePauseChapter": "Pause chapter playback", "MessagePlayChapter": "Listen to beginning of chapter", "MessagePlaylistCreateFromCollection": "Create playlist from collection", + "MessagePlayNext": "Play next", "MessagePodcastHasNoRSSFeedForMatching": "Podcast has no RSS feed url to use for matching", "MessageQuickMatchDescription": "Populate empty item details & cover with first match result from '{0}'. Does not overwrite details unless 'Prefer matched metadata' server setting is enabled.", "MessageRemoveChapter": "Remove chapter", diff --git a/client/strings/hr.json b/client/strings/hr.json index f12cf4c20..00202f6f7 100644 --- a/client/strings/hr.json +++ b/client/strings/hr.json @@ -642,6 +642,7 @@ "MessagePauseChapter": "Pause chapter playback", "MessagePlayChapter": "Listen to beginning of chapter", "MessagePlaylistCreateFromCollection": "Create playlist from collection", + "MessagePlayNext": "Play next", "MessagePodcastHasNoRSSFeedForMatching": "Podcast nema RSS feed url za matchanje", "MessageQuickMatchDescription": "Popuni prazne detalje stavki i cover sa prvim match rezultato iz '{0}'. Ne briše detalje osim ako 'Prefer matched metadata' server postavka nije uključena.", "MessageRemoveChapter": "Remove chapter", diff --git a/client/strings/it.json b/client/strings/it.json index fe6e46d36..986a27d74 100644 --- a/client/strings/it.json +++ b/client/strings/it.json @@ -642,6 +642,7 @@ "MessagePauseChapter": "Metti in Pausa Capitolo", "MessagePlayChapter": "Ascolta dall'inizio del capitolo", "MessagePlaylistCreateFromCollection": "Crea playlist da una Raccolta", + "MessagePlayNext": "Play next", "MessagePodcastHasNoRSSFeedForMatching": "Podcast non ha l'URL del feed RSS da utilizzare per il match", "MessageQuickMatchDescription": "Compila i dettagli dell'articolo vuoto e copri con il risultato della prima corrispondenza di '{0}'. Non sovrascrive i dettagli a meno che non sia abilitata l'impostazione del server \"Preferisci metadati corrispondenti\".", "MessageRemoveChapter": "Rimuovi Capitolo", diff --git a/client/strings/lt.json b/client/strings/lt.json index e6c0f822f..6427b3743 100644 --- a/client/strings/lt.json +++ b/client/strings/lt.json @@ -642,6 +642,7 @@ "MessagePauseChapter": "Pristabdyti skyriaus grojimą", "MessagePlayChapter": "Paklausyti skyriaus pradžios", "MessagePlaylistCreateFromCollection": "Sukurti grojaraštį iš kolekcijos", + "MessagePlayNext": "Play next", "MessagePodcastHasNoRSSFeedForMatching": "Tinklalidė neturi RSS srauto URL kuriuo būtų galima sulyginti", "MessageQuickMatchDescription": "Užpildykite tuščius elementų duomenis ir viršelius su pirmuoju atitikimo rezultatu iš „{0}“. Neneperrašo detalių, nebent įgalintas serverio nustatymas „Pirmenybė atitaikytiems metaduomenis“.", "MessageRemoveChapter": "Pašalinti skyrių", diff --git a/client/strings/nl.json b/client/strings/nl.json index 0d6ee452f..035e662a1 100644 --- a/client/strings/nl.json +++ b/client/strings/nl.json @@ -642,6 +642,7 @@ "MessagePauseChapter": "Pauzeer afspelen hoofdstuk", "MessagePlayChapter": "Luister naar begin van hoofdstuk", "MessagePlaylistCreateFromCollection": "Afspeellijst aanmaken vanuit collectie", + "MessagePlayNext": "Play next", "MessagePodcastHasNoRSSFeedForMatching": "Podcast heeft geen RSS-feed URL om te gebruiken voor matching", "MessageQuickMatchDescription": "Vul lege onderdeeldetails & cover met eerste matchresultaat van '{0}'. Overschrijft geen details tenzij 'Prefereer gematchte metadata' serverinstelling is ingeschakeld.", "MessageRemoveChapter": "Verwijder hoofdstuk", diff --git a/client/strings/no.json b/client/strings/no.json index 1d7650a9a..ca51e8414 100644 --- a/client/strings/no.json +++ b/client/strings/no.json @@ -642,6 +642,7 @@ "MessagePauseChapter": "Pause avspilling av kapittel", "MessagePlayChapter": "Lytter på begynnelsen av kapittel", "MessagePlaylistCreateFromCollection": "Lag spilleliste fra samling", + "MessagePlayNext": "Play next", "MessagePodcastHasNoRSSFeedForMatching": "Podcast har ingen RSS feed url til bruk av sammenligning", "MessageQuickMatchDescription": "Fyll inn tomme gjenstandsdetaljer og omslagsbilde med første resultat fra '{0}'. Overskriver ikke detaljene utenom 'Foretrekk funnet metadata' tjenerinstilling er aktivert.", "MessageRemoveChapter": "fjerne kapittel", diff --git a/client/strings/pl.json b/client/strings/pl.json index 09c000755..2a193df9a 100644 --- a/client/strings/pl.json +++ b/client/strings/pl.json @@ -642,6 +642,7 @@ "MessagePauseChapter": "Zatrzymaj odtwarzanie rozdziały", "MessagePlayChapter": "Rozpocznij odtwarzanie od początku rozdziału", "MessagePlaylistCreateFromCollection": "Create playlist from collection", + "MessagePlayNext": "Play next", "MessagePodcastHasNoRSSFeedForMatching": "Podcast nie ma adresu url kanału RSS, który mógłby zostać użyty do dopasowania", "MessageQuickMatchDescription": "Wypełnij puste informacje i okładkę pierwszym wynikiem dopasowania z '{0}'. Nie nadpisuje szczegółów, chyba że włączone jest ustawienie serwera 'Preferuj dopasowane metadane'.", "MessageRemoveChapter": "Usuń rozdział", diff --git a/client/strings/ru.json b/client/strings/ru.json index 4c6262d80..695f8e97f 100644 --- a/client/strings/ru.json +++ b/client/strings/ru.json @@ -642,6 +642,7 @@ "MessagePauseChapter": "Пауза воспроизведения главы", "MessagePlayChapter": "Прослушать начало главы", "MessagePlaylistCreateFromCollection": "Создать плейлист из коллекции", + "MessagePlayNext": "Play next", "MessagePodcastHasNoRSSFeedForMatching": "Подкаст не имеет URL-адреса RSS-канала, который можно использовать для поиска", "MessageQuickMatchDescription": "Заполняет пустые детали элемента и обложку первым результатом поиска из «{0}». Не перезаписывает сведения, если не включен параметр сервера 'Предпочитать метаданные поиска'.", "MessageRemoveChapter": "Удалить главу", diff --git a/client/strings/sv.json b/client/strings/sv.json index 934fe0412..d5e13463a 100644 --- a/client/strings/sv.json +++ b/client/strings/sv.json @@ -642,6 +642,7 @@ "MessagePauseChapter": "Pausa kapiteluppspelning", "MessagePlayChapter": "Lyssna på kapitlets början", "MessagePlaylistCreateFromCollection": "Skapa spellista från samling", + "MessagePlayNext": "Play next", "MessagePodcastHasNoRSSFeedForMatching": "Podcasten har ingen RSS-flödes-URL att använda för matchning", "MessageQuickMatchDescription": "Fyll tomma objektdetaljer och omslag med första matchningsresultat från '{0}'. Överskriver inte detaljer om inte serverinställningen 'Föredra matchad metadata' är aktiverad.", "MessageRemoveChapter": "Ta bort kapitel", diff --git a/client/strings/zh-cn.json b/client/strings/zh-cn.json index 9424a2a14..8b82c6e95 100644 --- a/client/strings/zh-cn.json +++ b/client/strings/zh-cn.json @@ -642,6 +642,7 @@ "MessagePauseChapter": "暂停章节播放", "MessagePlayChapter": "开始章节播放", "MessagePlaylistCreateFromCollection": "从收藏中创建播放列表", + "MessagePlayNext": "Play next", "MessagePodcastHasNoRSSFeedForMatching": "播客没有可用于匹配 RSS 源的 url", "MessageQuickMatchDescription": "使用来自 '{0}' 的第一个匹配结果填充空白详细信息和封面. 除非启用 '首选匹配元数据' 服务器设置, 否则不会覆盖详细信息.", "MessageRemoveChapter": "移除章节",