From 775d14f861e13303fadfbb78ab2392fb9036a76d Mon Sep 17 00:00:00 2001 From: simoleo89 Date: Sat, 5 Sep 2026 15:32:44 +0200 Subject: [PATCH] fix(catalog): make source preflight advisory --- src/components/admin/studio/import-review.tsx | 20 +++++-------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/src/components/admin/studio/import-review.tsx b/src/components/admin/studio/import-review.tsx index c82473fc..b727af81 100644 --- a/src/components/admin/studio/import-review.tsx +++ b/src/components/admin/studio/import-review.tsx @@ -37,9 +37,6 @@ export function ImportReview({ items.map((item) => item.classname), ); const assets = useSourceAssetChecks(items, sourceId, inspection); - const assetsByName = new Map( - assets.items.map((item) => [item.classname, item]), - ); const unavailable = assets.items.filter((item) => item.state === "missing"); const [expanded, setExpanded] = useState(items[0]?.classname ?? ""); const [step, setStep] = useState<"review" | "confirm">("review"); @@ -50,11 +47,7 @@ export function ImportReview({ const complete = items.every((item) => localByName.has(item.classname)); const ready = items.filter((item) => { const local = localByName.get(item.classname); - return ( - local && - assetsByName.get(item.classname)?.state !== "missing" && - compareFurniture(item, local).state !== "conflict" - ); + return local && compareFurniture(item, local).state !== "conflict"; }); const blocked = items.filter((item) => { const local = localByName.get(item.classname); @@ -135,12 +128,11 @@ export function ImportReview({ className="rounded-lg border border-[var(--admin-border)] p-3 space-y-2" >

- Source files unavailable: {check.classname} + Source files not found by preliminary check: {check.classname}

- The source has no downloadable files for this furniture. It - cannot be imported until its original .nitro or source files are - available. + You can continue. The importer will try the original furniture + files and verify them before creating its SQL entry.

))} @@ -162,7 +154,7 @@ export function ImportReview({

{ready.length} ready to import · {existing} already in SQL (complete missing data) · {blocked} conflicts ·{" "} - {unavailable.length} unavailable (skipped) + {unavailable.length} source file warnings

{inspection.items.some( (item) => @@ -304,8 +296,6 @@ export function ImportReview({ }} disabled={ inspection.loading || - assets.loading || - !!assets.error || !!inspection.error || !complete || ready.length === 0