This commit is contained in:
kyle-in-the-cloud 2026-06-06 09:40:40 -07:00
parent cbda0360aa
commit cce9f992b4
12 changed files with 358 additions and 15 deletions

View file

@ -31,6 +31,7 @@
<widgets-cron-expression-builder ref="cronExpressionBuilder" v-if="enableAutoDownloadEpisodes" v-model="cronExpression" />
</template>
</div>
<div v-if="feedUrl || autoDownloadEpisodes" class="absolute bottom-0 left-0 w-full py-2 md:py-4 bg-bg border-t border-white/5">
@ -104,8 +105,7 @@ export default {
return this.media.maxNewEpisodesToDownload
},
isUpdated() {
return this.autoDownloadSchedule !== this.cronExpression || this.autoDownloadEpisodes !== this.enableAutoDownloadEpisodes || this.maxEpisodesToKeep !== Number(this.newMaxEpisodesToKeep) || this.maxNewEpisodesToDownload !== Number(this.newMaxNewEpisodesToDownload)
}
return this.autoDownloadSchedule !== this.cronExpression || this.autoDownloadEpisodes !== this.enableAutoDownloadEpisodes || this.maxEpisodesToKeep !== Number(this.newMaxEpisodesToKeep) || this.maxNewEpisodesToDownload !== Number(this.newMaxNewEpisodesToDownload) }
},
methods: {
updatedMaxEpisodesToKeep() {

View file

@ -56,6 +56,9 @@
<div class="px-4">
<ui-checkbox v-model="podcast.autoDownloadEpisodes" :label="$strings.LabelAutoDownloadEpisodes" checkbox-bg="primary" border-color="gray-600" label-class="pl-2 text-sm md:text-base font-semibold" />
</div>
<div class="px-4">
<ui-checkbox v-model="podcast.fetchEpisodeMetadata" :label="$strings.LabelFetchEpisodeMetadata" checkbox-bg="primary" border-color="gray-600" label-class="pl-2 text-sm md:text-base font-semibold" />
</div>
<ui-btn color="bg-success" @click="submit">{{ $strings.ButtonSubmit }}</ui-btn>
</div>
</div>
@ -94,6 +97,7 @@ export default {
itunesId: '',
itunesArtistId: '',
autoDownloadEpisodes: false,
fetchEpisodeMetadata: false,
language: '',
explicit: false,
type: ''
@ -196,7 +200,8 @@ export default {
explicit: this.podcast.explicit,
type: this.podcast.type
},
autoDownloadEpisodes: this.podcast.autoDownloadEpisodes
autoDownloadEpisodes: this.podcast.autoDownloadEpisodes,
fetchEpisodeMetadata: this.podcast.fetchEpisodeMetadata
}
}
console.log('Podcast payload', podcastPayload)

View file

@ -43,6 +43,11 @@
<div class="w-1/4 px-1">
<ui-dropdown :label="$strings.LabelPodcastType" v-model="details.type" :items="podcastTypes" small class="max-w-52" @input="handleInputChange" />
</div>
<div class="grow px-1 pt-6">
<div class="flex justify-center">
<ui-checkbox v-model="enableFetchEpisodeMetadata" :label="$strings.LabelFetchEpisodeMetadata" checkbox-bg="primary" border-color="gray-600" label-class="pl-2 text-base font-semibold" @input="handleInputChange" />
</div>
</div>
</div>
</form>
</div>
@ -73,7 +78,8 @@ export default {
language: null,
type: null
},
newTags: []
newTags: [],
enableFetchEpisodeMetadata: false
}
},
watch: {
@ -223,6 +229,10 @@ export default {
updatePayload.tags = [...this.newTags]
}
if (this.enableFetchEpisodeMetadata !== !!this.media.fetchEpisodeMetadata) {
updatePayload.fetchEpisodeMetadata = this.enableFetchEpisodeMetadata
}
return {
updatePayload,
hasChanges: !!Object.keys(updatePayload).length
@ -244,6 +254,7 @@ export default {
this.details.type = this.mediaMetadata.type || 'episodic'
this.newTags = [...(this.media.tags || [])]
this.enableFetchEpisodeMetadata = !!this.media.fetchEpisodeMetadata
},
submitForm() {
this.$emit('submit')

View file

@ -191,6 +191,7 @@
"HeaderRemoveEpisodes": "Remove {0} Episodes",
"HeaderSavedMediaProgress": "Saved Media Progress",
"HeaderSchedule": "Schedule",
"HeaderEpisodeMetadata": "Episode Metadata",
"HeaderScheduleEpisodeDownloads": "Schedule Automatic Episode Downloads",
"HeaderScheduleLibraryScans": "Schedule Automatic Library Scans",
"HeaderSession": "Session",
@ -256,6 +257,7 @@
"LabelAuthorLastFirst": "Author (Last, First)",
"LabelAuthors": "Authors",
"LabelAutoDownloadEpisodes": "Auto Download Episodes",
"LabelFetchEpisodeMetadata": "Store Episode Metadata",
"LabelAutoFetchMetadata": "Auto Fetch Metadata",
"LabelAutoFetchMetadataHelp": "Fetches metadata for title, author, and series to streamline uploading. Additional metadata may have to be matched after upload.",
"LabelAutoLaunch": "Auto Launch",