subtitles default to all-unchecked; connect the keep-checkbox label
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+19
-15
@@ -318,15 +318,17 @@ const TaskInputForm = ({ inputDefs, values, onChange, autoFilledKeys, audioTrack
|
|||||||
const e = entryFor(t);
|
const e = entryFor(t);
|
||||||
return (
|
return (
|
||||||
<div key={t.id} className="flex items-center gap-2">
|
<div key={t.id} className="flex items-center gap-2">
|
||||||
<input
|
<label className="flex items-center gap-2 cursor-pointer shrink-0">
|
||||||
type="checkbox"
|
<input
|
||||||
checked={e.keep}
|
type="checkbox"
|
||||||
onChange={() => update(t.id, { keep: !e.keep })}
|
checked={e.keep}
|
||||||
className="accent-duck-teal cursor-pointer shrink-0"
|
onChange={() => update(t.id, { keep: !e.keep })}
|
||||||
/>
|
className="accent-duck-teal cursor-pointer"
|
||||||
<span className="text-[10px] font-mono uppercase w-9 shrink-0 text-duck-dark/40 dark:text-foreground/40">
|
/>
|
||||||
{t.lang || 'und'}
|
<span className="text-[10px] font-mono uppercase w-9 text-duck-dark/40 dark:text-foreground/40">
|
||||||
</span>
|
{t.lang || 'und'}
|
||||||
|
</span>
|
||||||
|
</label>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value={e.label}
|
value={e.label}
|
||||||
@@ -559,9 +561,9 @@ const pickerKinds = (defs: Record<string, TaskInputDef> | null): PickerKinds =>
|
|||||||
});
|
});
|
||||||
|
|
||||||
const defaultGroupSel = (g: FolderTrackGroup): GroupSel => ({
|
const defaultGroupSel = (g: FolderTrackGroup): GroupSel => ({
|
||||||
audio: g.audioTracks.map((t) => t.id).join(','), // keep all
|
audio: g.audioTracks.map((t) => t.id).join(','), // audio: keep all
|
||||||
subs: g.subtitleTracks.map((t) => t.id).join(','), // keep all
|
subs: 'none', // subtitles: keep none by default — you usually want only a few of many
|
||||||
subEdit: g.subtitleTracks.map((t) => ({ id: t.id, keep: true, label: trackLabel(t) })),
|
subEdit: g.subtitleTracks.map((t) => ({ id: t.id, keep: false, label: trackLabel(t) })),
|
||||||
});
|
});
|
||||||
|
|
||||||
// Does a group's selection change anything vs keep-all + original labels?
|
// Does a group's selection change anything vs keep-all + original labels?
|
||||||
@@ -693,8 +695,10 @@ const PerGroupTrackConfig = ({ groups, has, sel, onChange, probing }: PerGroupTr
|
|||||||
const e = entryFor(t);
|
const e = entryFor(t);
|
||||||
return (
|
return (
|
||||||
<div key={t.id} className="flex items-center gap-2">
|
<div key={t.id} className="flex items-center gap-2">
|
||||||
<input type="checkbox" checked={e.keep} onChange={() => updateEdit(t.id, { keep: !e.keep })} className="accent-duck-teal cursor-pointer shrink-0" />
|
<label className="flex items-center gap-2 cursor-pointer shrink-0">
|
||||||
<span className="text-[10px] font-mono uppercase w-9 shrink-0 text-duck-dark/40 dark:text-foreground/40">{t.lang || 'und'}</span>
|
<input type="checkbox" checked={e.keep} onChange={() => updateEdit(t.id, { keep: !e.keep })} className="accent-duck-teal cursor-pointer" />
|
||||||
|
<span className="text-[10px] font-mono uppercase w-9 text-duck-dark/40 dark:text-foreground/40">{t.lang || 'und'}</span>
|
||||||
|
</label>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value={e.label}
|
value={e.label}
|
||||||
@@ -802,7 +806,7 @@ const ScriptRunner = ({ taskDirName, autoInputs, context, cwd, entryType, filePa
|
|||||||
if (def.type === 'audio_tracks') next[key] = aud.map((t) => t.id).join(',') || 'none';
|
if (def.type === 'audio_tracks') next[key] = aud.map((t) => t.id).join(',') || 'none';
|
||||||
if (def.type === 'subtitle_tracks') next[key] = 'none';
|
if (def.type === 'subtitle_tracks') next[key] = 'none';
|
||||||
if (def.type === 'subtitle_edit')
|
if (def.type === 'subtitle_edit')
|
||||||
next[key] = JSON.stringify(sub.map((t) => ({ id: t.id, keep: true, label: trackLabel(t) })));
|
next[key] = JSON.stringify(sub.map((t) => ({ id: t.id, keep: false, label: trackLabel(t) })));
|
||||||
}
|
}
|
||||||
return next;
|
return next;
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user