From d5f8c1a26ccc9b478bddc99326eb314d758b4a96 Mon Sep 17 00:00:00 2001 From: mboehmlaender Date: Tue, 17 Mar 2026 14:47:57 +0000 Subject: [PATCH] 0.10.2-23 Fix --- frontend/src/components/JobDetailDialog.jsx | 80 ++++++++++++------- .../src/components/PipelineStatusCard.jsx | 4 +- frontend/src/styles/app.css | 1 + 3 files changed, 52 insertions(+), 33 deletions(-) diff --git a/frontend/src/components/JobDetailDialog.jsx b/frontend/src/components/JobDetailDialog.jsx index b22e5c1..e9b2380 100644 --- a/frontend/src/components/JobDetailDialog.jsx +++ b/frontend/src/components/JobDetailDialog.jsx @@ -596,9 +596,9 @@ export default function JobDetailDialog({
{job.poster_url && job.poster_url !== 'N/A' ? ( - {job.title + {job.title ) : ( -
{isCd || isAudiobook ? 'Kein Cover' : 'Kein Poster'}
+
{isCd || isAudiobook ? 'Kein Cover' : 'Kein Poster'}
)}
@@ -814,42 +814,60 @@ export default function JobDetailDialog({
- {!isCd && (hasConfiguredSelection || encodePlanUserPreset || job.encodePlan?.minLengthMinutes != null || job.encodePlan?.playlistRecommendation || job.handbrakeInfo?.preEncodeScripts?.configured > 0 || job.handbrakeInfo?.postEncodeScripts?.configured > 0) ? ( + {!isCd && !isAudiobook && (hasConfiguredSelection || encodePlanUserPreset || job.encodePlan?.minLengthMinutes != null || Array.isArray(job.encodePlan?.titles)) ? (

Encode-Konfiguration

+ {/* Zeile 1: Preset + Mindestlaufzeit */}
- {job.encodePlan?.minLengthMinutes != null && !isAudiobook ? ( + {encodePlanUserPreset ? ( +
+ Preset: {encodePlanUserPreset.name || '-'} +
+ ) : null} + {job.encodePlan?.minLengthMinutes != null ? (
Mindestlaufzeit: {job.encodePlan.minLengthMinutes} Min.
) : null} - {job.encodePlan?.playlistRecommendation && !isAudiobook ? ( -
- Playlist-Auswahl:{' '} - {job.encodePlan.playlistRecommendation.playlistFile || '-'} - {job.encodePlan.playlistRecommendation.reason ? ` — ${job.encodePlan.playlistRecommendation.reason}` : ''} -
- ) : null} - {(hasConfiguredSelection || encodePlanUserPreset) && !isAudiobook ? ( - <> -
- Pre-Skripte: {configuredSelection.preScripts.length > 0 ? configuredSelection.preScripts.join(', ') : (configuredSelection.preChains.length > 0 ? configuredSelection.preChains.join(', ') : '-')} -
-
- Post-Skripte: {configuredSelection.postScripts.length > 0 ? configuredSelection.postScripts.join(', ') : (configuredSelection.postChains.length > 0 ? configuredSelection.postChains.join(', ') : '-')} -
- {encodePlanUserPreset ? ( -
- Preset: {encodePlanUserPreset.name || '-'}{encodePlanUserPreset.handbrakePreset ? ` · ${encodePlanUserPreset.handbrakePreset}` : ''}{encodePlanUserPreset.extraArgs ? ` · ${encodePlanUserPreset.extraArgs}` : ''} -
- ) : null} - - ) : null}
- {!isAudiobook && (job.handbrakeInfo?.preEncodeScripts?.configured > 0 || job.handbrakeInfo?.postEncodeScripts?.configured > 0) ? ( -
- - + {/* Zeile 2: Skripte */} + {hasConfiguredSelection ? ( +
+
+ Pre-Skripte:{' '} + {configuredSelection.preScripts.length > 0 + ? configuredSelection.preScripts.join(', ') + : configuredSelection.preChains.length > 0 + ? configuredSelection.preChains.join(', ') + : '-'} +
+
+ Post-Skripte:{' '} + {configuredSelection.postScripts.length > 0 + ? configuredSelection.postScripts.join(', ') + : configuredSelection.postChains.length > 0 + ? configuredSelection.postChains.join(', ') + : '-'} +
+
+ ) : null} + {/* Titel-Liste */} + {Array.isArray(job.encodePlan?.titles) && job.encodePlan.titles.length > 0 ? ( +
+ {job.encodePlan.titles.map((t) => { + const isSelected = t.id === job.encodePlan.encodeInputTitleId || t.selectedForEncode; + const sizeMb = t.sizeBytes > 0 ? `${(t.sizeBytes / 1024 / 1024).toFixed(0)} MB` : null; + return ( +
+ #{t.id} + {t.fileName || '-'} + {t.durationMinutes != null ? `${t.durationMinutes} Min.` : '-'} + {sizeMb ? {sizeMb} : null} + {t.playlistFile ? {t.playlistFile} : null} + {isSelected ? gewählt : null} +
+ ); + })}
) : null}
@@ -868,7 +886,7 @@ export default function JobDetailDialog({ {!isCd && !isAudiobook && job.encodePlan ? (
-

Titel & Spurauswahl

+

Spurauswahl

) : ( -
Kein Poster
+
Kein {jobMediaProfile === 'cd' || jobMediaProfile === 'audiobook' ? 'Cover' : 'Poster'}
)}
diff --git a/frontend/src/styles/app.css b/frontend/src/styles/app.css index 675d2f0..8920ac1 100644 --- a/frontend/src/styles/app.css +++ b/frontend/src/styles/app.css @@ -2816,6 +2816,7 @@ body { .poster-large-audio { width: 100%; + aspect-ratio: 1; object-fit: cover; border-radius: 0.5rem; border: 1px solid #cba266;