diff --git a/client/components/modals/item/tabs/Tools.vue b/client/components/modals/item/tabs/Tools.vue index d96550887..d7e19cc84 100644 --- a/client/components/modals/item/tabs/Tools.vue +++ b/client/components/modals/item/tabs/Tools.vue @@ -74,12 +74,19 @@ export default { mediaTracks() { return this.media.tracks || [] }, + isSingleM4b() { + return this.mediaTracks.length === 1 && this.mediaTracks[0].metadata.ext.toLowerCase() === '.m4b' + }, chapters() { return this.media.chapters || [] }, showM4bDownload() { if (!this.mediaTracks.length) return false - return true + return !this.isSingleM4b + }, + showMp3Split() { + if (!this.mediaTracks.length) return false + return this.isSingleM4b && this.chapters.length }, queuedEmbedLIds() { return this.$store.state.tasks.queuedEmbedLIds || [] diff --git a/client/pages/audiobook/_id/manage.vue b/client/pages/audiobook/_id/manage.vue index 7afe12a9c..a95b13abc 100644 --- a/client/pages/audiobook/_id/manage.vue +++ b/client/pages/audiobook/_id/manage.vue @@ -2,14 +2,7 @@
-
- -

{{ mediaMetadata.title }}

-
- -
+

{{ $strings.HeaderAudiobookTools }}

@@ -20,7 +13,7 @@
-

{{ $strings.HeaderMetadataToEmbed }}

+

{{ $strings.HeaderMetadataToEmbed }}

@@ -273,6 +266,9 @@ export default { audioFiles() { return (this.media.audioFiles || []).filter((af) => !af.exclude) }, + isSingleM4b() { + return this.audioFiles.length === 1 && this.audioFiles[0].metadata.ext.toLowerCase() === '.m4b' + }, streamLibraryItem() { return this.$store.state.streamLibraryItem }, @@ -280,10 +276,14 @@ export default { return this.media.chapters || [] }, availableTools() { - return [ - { value: 'embed', text: this.$strings.LabelToolsEmbedMetadata }, - { value: 'm4b', text: this.$strings.LabelToolsM4bEncoder } - ] + if (this.isSingleM4b) { + return [{ value: 'embed', text: this.$strings.LabelToolsEmbedMetadata }] + } else { + return [ + { value: 'embed', text: this.$strings.LabelToolsEmbedMetadata }, + { value: 'm4b', text: this.$strings.LabelToolsM4bEncoder } + ] + } }, taskFailed() { return this.isTaskFinished && this.task.isFailed @@ -431,24 +431,10 @@ export default { }, taskUpdated(task) { this.processing = !task.isFinished - }, - editItem() { - this.$store.commit('showEditModal', this.libraryItem) - }, - libraryItemUpdated(libraryItem) { - if (libraryItem.id === this.libraryItem.id) { - this.libraryItem = libraryItem - this.fetchMetadataEmbedObject() - } } }, mounted() { this.init() - - this.$eventBus.$on(`${this.libraryItem.id}_updated`, this.libraryItemUpdated) - }, - beforeDestroy() { - this.$eventBus.$off(`${this.libraryItem.id}_updated`, this.libraryItemUpdated) } }