diff --git a/client/components/AbsSelect.vue b/client/components/AbsSelect.vue deleted file mode 100644 index 5c0e1cd50..000000000 --- a/client/components/AbsSelect.vue +++ /dev/null @@ -1,63 +0,0 @@ - - - - - diff --git a/client/components/app/Appbar.vue b/client/components/app/Appbar.vue index 98d1904e7..f74134041 100644 --- a/client/components/app/Appbar.vue +++ b/client/components/app/Appbar.vue @@ -42,31 +42,15 @@ - - - - - - - -

{{ $getString('MessageItemsSelected', [numMediaItemsSelected]) }}

@@ -74,20 +58,17 @@ play_arrow {{ $strings.ButtonPlay }} - - - @@ -179,22 +160,26 @@ export default { }, contextMenuItems() { if (!this.userIsAdminOrUp) return [] + const options = [ { text: this.$strings.ButtonQuickMatch, action: 'quick-match' } ] + if (!this.isPodcastLibrary && this.selectedMediaItemsArePlayable) { options.push({ text: this.$strings.ButtonQuickEmbedMetadata, action: 'quick-embed' }) } + options.push({ text: this.$strings.ButtonReScan, action: 'rescan' }) + // The limit of 50 is introduced because of the URL length. Each id has 36 chars, so 36 * 40 = 1440 // + 40 , separators = 1480 chars + base path 280 chars = 1760 chars. This keeps the URL under 2000 chars even with longer domains if (this.selectedMediaItems.length <= 40) { @@ -203,6 +188,7 @@ export default { action: 'download' }) } + return options } }, @@ -273,6 +259,7 @@ export default { }, async playSelectedItems() { this.$store.commit('setProcessingBatch', true) + const libraryItemIds = this.selectedMediaItems.map((i) => i.id) const libraryItems = await this.$axios .$post(`/api/items/batch/get`, { libraryItemIds }) @@ -321,7 +308,6 @@ export default { toggleBatchRead() { this.$store.commit('setProcessingBatch', true) const newIsFinished = !this.selectedIsFinished - const updateProgressPayloads = this.selectedMediaItems.map((item) => { return { libraryItemId: item.id, @@ -353,7 +339,9 @@ export default { callback: (confirmed, hardDelete) => { if (confirmed) { localStorage.setItem('softDeleteDefault', hardDelete ? 0 : 1) + this.$store.commit('setProcessingBatch', true) + this.$axios .$post(`/api/items/batch/delete?hard=${hardDelete ? 1 : 0}`, { libraryItemIds: this.selectedMediaItems.map((i) => i.id) diff --git a/client/pages/item/_id/index.vue b/client/pages/item/_id/index.vue index 47c6b7ae6..1d8f0f20b 100644 --- a/client/pages/item/_id/index.vue +++ b/client/pages/item/_id/index.vue @@ -21,7 +21,6 @@
-
@@ -42,8 +41,7 @@

{{ $getString('LabelByAuthor', [podcastAuthor]) }}

- {{ $getString('LabelByAuthor', ['']) }} - {{ author.name }} + {{ $getString('LabelByAuthor', ['']) }}{{ author.name }}

by Unknown

@@ -56,6 +54,7 @@

{{ $getString('MessageEpisodesQueuedForDownload', [episodeDownloadsQueued.length]) }}

+ close
@@ -71,11 +70,9 @@

{{ $strings.LabelYourProgress }}: {{ Math.round(progressPercent * 100) }}%

-

{{ $strings.LabelFinished }} {{ fmtDate(userProgressFinishedAt) }}

-

- {{ $getString('LabelTimeRemaining', [$elapsedPretty(userTimeRemaining)]) }} -

-

{{ $strings.LabelStarted }} {{ fmtDate(userProgressStartedAt) }}

+

{{ $strings.LabelFinished }} {{ $formatDate(userProgressFinishedAt, dateFormat) }}

+

{{ $getString('LabelTimeRemaining', [$elapsedPretty(userTimeRemaining)]) }}

+

{{ $strings.LabelStarted }} {{ $formatDate(userProgressStartedAt, dateFormat) }}

@@ -99,12 +96,6 @@ {{ $strings.ButtonRead }} - - - sell - Recommend - - @@ -133,70 +124,25 @@
- + +
- - + + + +
- - - -
-
-
-

Recommend this book

- -
- - -
- -
- - -

If left empty, this will be a public recommendation.

-
- -
- -