From ecdfc2094e8b3c1e4a5cf33456eee54dc72a831c Mon Sep 17 00:00:00 2001 From: Vishesh 'ironeagle' Bangotra Date: Fri, 29 May 2026 15:05:18 +0530 Subject: [PATCH] fixes --- src/FetchRequestDetail.tsx | 3 +++ src/FetchRequests.tsx | 40 +++++++++++++++++++++++++++++++++++--- 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/src/FetchRequestDetail.tsx b/src/FetchRequestDetail.tsx index d16959d..f33a47d 100644 --- a/src/FetchRequestDetail.tsx +++ b/src/FetchRequestDetail.tsx @@ -264,10 +264,13 @@ export default function FetchRequestDetail() { const isCompleted = index < activeStep; const isActive = index === activeStep; const isPaused = req.status === "paused" && isActive; + const isFailed = req.status === "failed" && isActive; let icon: React.ReactNode; if (isCompleted) { icon = ; + } else if (isFailed) { + icon = ; } else if (isPaused) { icon = ; } else if (isActive) { diff --git a/src/FetchRequests.tsx b/src/FetchRequests.tsx index 44add79..be105d4 100644 --- a/src/FetchRequests.tsx +++ b/src/FetchRequests.tsx @@ -30,6 +30,7 @@ import { InputLabel, FormControl, OutlinedInput, + Autocomplete, } from "@mui/material"; import DeleteIcon from "@mui/icons-material/Delete"; import CloudUploadIcon from "@mui/icons-material/CloudUpload"; @@ -56,6 +57,7 @@ import type { } from "./features/fetch-requests"; import { RETRY_MAX } from "./features/fetch-requests"; import { useNavigate } from "react-router-dom"; +import { useResourceByName, useConfig } from "../react-openapi"; const statusColors: Record = { pending: "default", @@ -119,6 +121,16 @@ export default function FetchRequests() { ...(accountFilter ? { account_name: accountFilter } : {}), ...(sourceFilter !== "all" ? { source_type: sourceFilter } : {}), }); + const { useList: useAccountsList } = useResourceByName("accounts"); + const { data: accountsData } = useAccountsList(); + const accountOptions: string[] = React.useMemo(() => { + return (accountsData?.data ?? []).map((a: any) => a.name).filter(Boolean); + }, [accountsData]); + + const config = useConfig(); + const fetchRes = config?.resources.find((r: any) => r.name === "fetch-requests"); + const formatOptions: string[] = (fetchRes?.fields?.source?.schema?.format?.options as string[]) ?? ["axis", "icici_ocr"]; + const createMutation = useCreateFetchRequest(); const updateMutation = useUpdateFetchRequest(); const deleteMutation = useDeleteFetchRequest(); @@ -253,18 +265,40 @@ export default function FetchRequests() { Uploaded as: {uploadedPath} )} - setFormat(e.target.value)} size="small" /> + + Format + + ) : ( <> - setFormat(e.target.value)} size="small" helperText="e.g. email, pdf, csv" /> + + Format + + setFromEmail(e.target.value)} size="small" /> setSubject(e.target.value)} size="small" /> setRawTerms(e.target.value)} size="small" helperText="Comma-separated search terms" /> )} - setAccountName(e.target.value)} size="small" required /> + setAccountName(val ?? "")} + renderInput={(params) => ( + + )} + sx={{ "& .MuiOutlinedInput-root": { height: "auto", minHeight: "2.5rem" } }} + /> setPayorUsername(e.target.value)} size="small" helperText="Default: aetos" />