feat(web): 刮削设置与对话框加「更新」覆盖方式,内容没变的跳过不逐条列出
Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
This commit is contained in:
1 parent
37cf0a398e
commit
4306bff6d3
4 files changed
+15
-7
No files matched your search
@@ -1093,8 +1093,8 @@ const SKIP_TEXT: Record<string, string> = {
|
||||
export function ScrapeDialog({ items, root, onClose }: { items: FileEntry[]; root: FileRoot; onClose: () => void }) {
|
||||
const settings = useSettings();
|
||||
const scrape = useScrape();
|
||||
const [mode, setMode] = useState<"missing" | "overwrite" | null>(null);
|
||||
const curMode = mode ?? settings.data?.organize.scrapeMode ?? "missing";
|
||||
const [mode, setMode] = useState<"missing" | "overwrite" | "update" | null>(null);
|
||||
const curMode = mode ?? settings.data?.organize.scrapeMode ?? "update";
|
||||
const [recordIds, setRecordIds] = useState<string[]>([]);
|
||||
const [choices, setChoices] = useState<FilesScrapeNeedsChoice[]>([]);
|
||||
const [picked, setPicked] = useState<Record<string, WizardEntity | null>>({});
|
||||
@@ -1157,6 +1157,7 @@ export function ScrapeDialog({ items, root, onClose }: { items: FileEntry[]; roo
|
||||
<fieldset aria-label="已有文件" className="m-0 flex flex-wrap gap-1.5 border-0 p-0">
|
||||
{(
|
||||
[
|
||||
["update", "更新"],
|
||||
["missing", "只补缺失"],
|
||||
["overwrite", "全部覆盖"],
|
||||
] as const
|
||||
|
||||
@@ -704,7 +704,7 @@ let seq = 0;
|
||||
const SCRAPES = new Map<string, ScrapeRecord>();
|
||||
function mockScrape(b: {
|
||||
items: { root: string; path: string; mediaEntityId?: string; external?: { externalId: string } }[];
|
||||
mode?: "missing" | "overwrite";
|
||||
mode?: "missing" | "overwrite" | "update";
|
||||
}) {
|
||||
const records: ScrapeRecord[] = [];
|
||||
const needsChoice: unknown[] = [];
|
||||
|
||||
Reference in new issue
Block a user