diff --git a/src/components/cases/litigation-tab.tsx b/src/components/cases/litigation-tab.tsx index 97feb81..aa827a7 100644 --- a/src/components/cases/litigation-tab.tsx +++ b/src/components/cases/litigation-tab.tsx @@ -45,6 +45,35 @@ export function CaseLitigationTab({ caseRecord, canManage, onSaved }: Props) { const [keyDates, setKeyDates] = useState>( Array.isArray(caseRecord.key_dates) ? caseRecord.key_dates : [], ); + const [customFilled, setCustomFilled] = useState< + Array<{ id: string; label: string; field_type: string; value: string }> + >([]); + + useEffect(() => { + let cancelled = false; + (async () => { + const { data } = await supabase + .from("case_field_values") + .select("id, value, field:custom_case_fields(id, label, field_type, sort_order, active)") + .eq("case_id", caseRecord.id); + if (cancelled) return; + const rows = (data ?? []) + .map((r: any) => ({ + id: r.id, + label: r.field?.label ?? "", + field_type: r.field?.field_type ?? "text", + sort_order: r.field?.sort_order ?? 0, + active: r.field?.active ?? true, + value: (r.value ?? "").toString().trim(), + })) + .filter((r) => r.active && r.value.length > 0) + .sort((a, b) => a.sort_order - b.sort_order || a.label.localeCompare(b.label)); + setCustomFilled(rows); + })(); + return () => { + cancelled = true; + }; + }, [caseRecord.id]); const startEdit = () => { setForm({ ...caseRecord });