feat: transfer STRM tree subtitle links

This commit is contained in:
ShukeBta
2026-07-02 22:41:37 +08:00
parent ccd9756b6f
commit e7d988ebf8
8 changed files with 291 additions and 71 deletions
+1
View File
@@ -46,6 +46,7 @@ export type GenerateSTRMTreeInput = {
cleanup?: boolean
dry_run?: boolean
batch_limit?: number
transfer_subtitles?: boolean
}
export const strmAPI = {
@@ -52,7 +52,9 @@ export function StrmTreeGenerateSection({
setProvider,
setSourceRoot,
setTreeText,
setTransferSubtitles,
sourceRoot,
transferSubtitles,
treeText,
}: StrmTreeGenerateSectionProps) {
const batchLimitEnabled = Number.parseInt(batchLimit, 10) > 0
@@ -179,6 +181,10 @@ export function StrmTreeGenerateSection({
<input type="checkbox" checked={overwrite} onChange={(e) => setOverwrite(e.target.checked)} />
覆盖已存在
</label>
<label className="flex min-h-10 items-center gap-2 rounded-2xl border border-gray-200 bg-white/70 px-3 py-2 text-sm text-ink-50 md:col-span-4">
<input type="checkbox" checked={transferSubtitles} onChange={(e) => setTransferSubtitles(e.target.checked)} />
转移同名字幕链接
</label>
<label className="flex min-h-10 items-center gap-2 rounded-2xl border border-gray-200 bg-white/70 px-3 py-2 text-sm text-ink-50 md:col-span-4">
<input
type="checkbox"
+4
View File
@@ -17,6 +17,7 @@ export function useStrmTreeGenerateForm() {
const [pathsText, setPathsText] = useState('')
const [overwrite, setOverwrite] = useState(false)
const [cleanup, setCleanup] = useState(false)
const [transferSubtitles, setTransferSubtitles] = useState(true)
const [runningMode, setRunningMode] = useState<'generate' | 'preview' | null>(null)
const [result, setResult] = useState<GenerateSTRMResult | null>(null)
@@ -69,6 +70,7 @@ export function useStrmTreeGenerateForm() {
cleanup: parsedBatchLimit > 0 ? false : cleanup,
dry_run: dryRun,
batch_limit: parsedBatchLimit || undefined,
transfer_subtitles: transferSubtitles,
})
setResult(next)
if (dryRun) {
@@ -117,7 +119,9 @@ export function useStrmTreeGenerateForm() {
setProvider,
setSourceRoot,
setTreeText,
setTransferSubtitles,
sourceRoot,
transferSubtitles,
treeText,
}
}