From 8c8808e18b0f5bf79b8c2bd54dd5e10854fb6f91 Mon Sep 17 00:00:00 2001 From: Vishesh 'ironeagle' Bangotra Date: Fri, 29 May 2026 16:14:05 +0530 Subject: [PATCH] details for counts for steps --- src/FetchRequestDetail.tsx | 36 ++++++++++++++++++- .../fetch-requests/fetch-requests.models.ts | 3 ++ 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/src/FetchRequestDetail.tsx b/src/FetchRequestDetail.tsx index 745d9e9..a760c8a 100644 --- a/src/FetchRequestDetail.tsx +++ b/src/FetchRequestDetail.tsx @@ -97,6 +97,33 @@ export default function FetchRequestDetail() { const resolveMutation = useResolveAmbiguity(); const { data: ambiguities, refetch: refetchAmbiguities } = useFetchRequestAmbiguities(id!); + const stepMessages = React.useMemo(() => { + const msgs: Record = {}; + const source = (fetchRequest as any)?.source; + + if (source?.raw_lines?.length) + msgs[0] = `${source.raw_lines.length} raw lines`; + + const blocks = source?.txn_blocks ?? {}; + const dicts = source?.txn_dicts ?? []; + const blockCount = typeof blocks === "object" + ? Object.keys(blocks).length : Array.isArray(blocks) ? blocks.length : 0; + if (blockCount || dicts.length) { + const parts: string[] = []; + if (blockCount) parts.push(`${blockCount} blocks`); + if (dicts.length) parts.push(`${dicts.length} dicts`); + msgs[1] = parts.join(" ยท "); + } + + if (["enriched_done", "completed"].includes((fetchRequest as any)?.status)) + msgs[2] = "done"; + if ((fetchRequest as any)?.status === "completed") + msgs[3] = (fetchRequest as any)?.completed_at + ? new Date((fetchRequest as any).completed_at).toLocaleString() : "done"; + + return msgs; + }, [fetchRequest]); + const [sseEvents, setSseEvents] = React.useState([]); const [sseConnected, setSseConnected] = React.useState(false); const sseRef = React.useRef(null); @@ -284,12 +311,19 @@ export default function FetchRequestDetail() { icon = {index + 1}; } + const stepMsg = stepMessages[index]; + return ( {icon}} > - {label} + {label} + {stepMsg && ( + + {stepMsg} + + )} ); diff --git a/src/features/fetch-requests/fetch-requests.models.ts b/src/features/fetch-requests/fetch-requests.models.ts index ccf1ed7..e9aa600 100644 --- a/src/features/fetch-requests/fetch-requests.models.ts +++ b/src/features/fetch-requests/fetch-requests.models.ts @@ -10,6 +10,9 @@ export type FetchRequestStatus = export interface FileSource { path: string; format: string; + raw_lines?: string[]; + txn_blocks?: Record; + txn_dicts?: Record[]; } export interface EmailSource {