feat(下载对话框): 学 MoviePilot 重做手动下载对话框

- 标题区:海报、作品名 (年份)、站点;资源行显示原始标题、促销、H&R、做种 / 下载、大小、发布时间
- 下载器与保存目录并排下拉,缺省「自动」,下方写明「将保存到」的实际路径;保留「自定义路径」
- 作品身份折叠区:类型 + TMDB 编号(可搜索作品),未识别时默认展开,指定后随下载绑定
- 已有版本先显示一行摘要,选一次性洗版才展开勾选列表
- 搜索、工作台、原站视图三处调用方补传资源字段

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
This commit is contained in:
rootandClaude Opus 5.5 committed 2026-10-06 12:10:03 +08:00
1 parent 4bb19433ad
commit 6e645bce8f
7 files changed
+1012 -117

No files matched your search

@@ -6,6 +6,7 @@ import { toast } from "sonner";
import { useSubmitRelease } from "~/api/releases.ts";
import { ManualDownloadDialog } from "~/components/downloads/manual-download-dialog.tsx";
import { Button } from "~/components/ui/button.tsx";
import { workbenchResource } from "~/components/workbench/download-dialog.tsx";
import { apiData, errorMessage } from "~/lib/api.ts";
/** 控件位于 iframe/截图外;直接解析当前详情页并交给共同手动下载入口。 */
@@ -72,11 +73,7 @@ export function ResourceDownload({ session }: { session: BrowserSessionView }) {
{resource ? (
<ManualDownloadDialog
key={resource.release.id}
resource={{
title: resource.release.title,
sizeBytes: resource.release.sizeBytes,
entityId: resource.release.entity?.id,
}}
resource={workbenchResource(resource.release)}
open={open}
onOpenChange={setOpen}
initialUnrecognized={unrecognized}