From b933d0484724f6fe31a94d8eaa9637877183f102 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Sun, 19 Apr 2026 15:48:28 +0000 Subject: [PATCH] Changes Co-authored-by: renee-png <262607627+renee-png@users.noreply.github.com> --- src/routes/settings.import.tsx | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/routes/settings.import.tsx b/src/routes/settings.import.tsx index 6ec764c..8b3de40 100644 --- a/src/routes/settings.import.tsx +++ b/src/routes/settings.import.tsx @@ -678,7 +678,7 @@ function ImportPage() { console.info(`[import] lookups loaded: clients=${ctx.clientByExt.size}/${ctx.clientByName.size} cases=${ctx.caseByExt.size}/${ctx.caseByNumber.size}/${ctx.caseByTitle.size} users=${ctx.userByName.size}`); }; - const handleFile = async (cfg: ImporterConfig, file: File) => { + const handleFile = async (cfg: ImporterConfig, source: File | string) => { if (!user?.id) return; setResults((r) => ({ ...r, [cfg.key]: "running" })); ctx.defaultClientId = cfg.key === "locations" ? (defaultClientId || null) : null; @@ -686,12 +686,20 @@ function ImportPage() { await ensureLookupsLoaded(); const parsed = await new Promise>>((resolve, reject) => { - Papa.parse>(file, { - header: true, - skipEmptyLines: true, - complete: resolve, - error: reject, - }); + if (typeof source === "string") { + const result = Papa.parse>(source, { + header: true, + skipEmptyLines: true, + }); + resolve(result); + } else { + Papa.parse>(source, { + header: true, + skipEmptyLines: true, + complete: resolve, + error: reject, + }); + } }); const rawRows = parsed.data;