diff --git a/src/components/serie/SerieSeasonCard.vue b/src/components/serie/SerieSeasonCard.vue index 83110d7..3bf5994 100644 --- a/src/components/serie/SerieSeasonCard.vue +++ b/src/components/serie/SerieSeasonCard.vue @@ -166,6 +166,7 @@ const props = defineProps<{ organizedByEpisode: Record epActionLoading : Record downloadingSeason ?: boolean + nfoSupport ?: boolean }>() const emit = defineEmits<{ @@ -253,9 +254,11 @@ function epExpectedName(ep: any): string { const entry = props.organizedByEpisode[String(ep.id)] if (!entry) return '' const srcExt = entry.dest_filename ? '.' + entry.dest_filename.split('.').pop() : '.mkv' - if (ep.nfo_filename) return ep.nfo_filename.replace(/\.[^.]+$/, '') + srcExt - if (ep.formatted_name?.trim()) return ep.formatted_name.replace(/[<>:"/\\|?*]/g, '').trim() + srcExt - return entry.dest_filename + if (props.nfoSupport) { + return ep.nfo_filename ? ep.nfo_filename.replace(/\.[^.]+$/, '') + srcExt : entry.dest_filename + } else { + return ep.formatted_name?.trim() ? ep.formatted_name.replace(/[<>:"/\\|?*]/g, '').trim() + srcExt : entry.dest_filename + } } function epNeedsRename(ep: any): boolean { const entry = props.organizedByEpisode[String(ep.id)] diff --git a/src/views/SerieView.vue b/src/views/SerieView.vue index 69cb41c..090f1d2 100644 --- a/src/views/SerieView.vue +++ b/src/views/SerieView.vue @@ -43,6 +43,7 @@ :organized-by-episode="organizedByEpisode" :ep-action-loading="epActionLoading" :downloading-season="!!downloadingSeason[season.id]" + :nfo-support="nfoSupport" @toggle="toggleSeason" @download="(key, url, magnet) => download(key, url, magnet)" @download-season="downloadSeason" @@ -87,6 +88,7 @@ const downloaded = ref([]) const manualImportOpen = ref(false) const organizedByEpisode = ref>({}) const mediaPath = ref('/') +const nfoSupport = ref(false) const epActionLoading = ref>({}) const unimportMenuOpen = ref(false) const downloadingAll = ref(false) @@ -128,7 +130,7 @@ async function fetchOrganized() { async function fetchSettings() { try { const res = await fetch('/api/settings', { credentials: 'include' }) - if (res.ok) { const s = await res.json(); mediaPath.value = s.mediaPath || '/' } + if (res.ok) { const s = await res.json(); mediaPath.value = s.mediaPath || '/'; nfoSupport.value = !!s.nfoSupport } } catch {} }