From 0b1640abb9a475b31856ce6c27e57412b3c3c609 Mon Sep 17 00:00:00 2001 From: Celes Renata Date: Thu, 16 Apr 2026 08:06:12 +0000 Subject: [PATCH] feat: add status colors for document pipeline stages, add status filter to documents page --- frontend/src/components/ui.tsx | 7 +++++++ frontend/src/pages/Documents.tsx | 24 ++++++++++++++++++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/ui.tsx b/frontend/src/components/ui.tsx index 71740e8..6a0fe51 100644 --- a/frontend/src/components/ui.tsx +++ b/frontend/src/components/ui.tsx @@ -17,10 +17,14 @@ const statusColors: Record = { active: 'bg-green-900/40 text-green-400 border-green-700/50', approved: 'bg-green-900/40 text-green-400 border-green-700/50', filled: 'bg-green-900/40 text-green-400 border-green-700/50', + extracted: 'bg-green-900/40 text-green-400 border-green-700/50', running: 'bg-blue-900/40 text-blue-400 border-blue-700/50', pending: 'bg-yellow-900/40 text-yellow-400 border-yellow-700/50', + parsed: 'bg-yellow-900/40 text-yellow-400 border-yellow-700/50', failed: 'bg-red-900/40 text-red-400 border-red-700/50', rejected: 'bg-red-900/40 text-red-400 border-red-700/50', + extraction_failed: 'bg-red-900/40 text-red-400 border-red-700/50', + low_quality: 'bg-orange-900/40 text-orange-400 border-orange-700/50', cancelled: 'bg-gray-800/40 text-gray-400 border-gray-700/50', disabled: 'bg-gray-800/40 text-gray-400 border-gray-700/50', paper: 'bg-purple-900/40 text-purple-400 border-purple-700/50', @@ -29,6 +33,9 @@ const statusColors: Record = { sell: 'bg-red-900/40 text-red-400 border-red-700/50', hold: 'bg-yellow-900/40 text-yellow-400 border-yellow-700/50', watch: 'bg-blue-900/40 text-blue-400 border-blue-700/50', + high: 'bg-green-900/40 text-green-400 border-green-700/50', + medium: 'bg-yellow-900/40 text-yellow-400 border-yellow-700/50', + low: 'bg-red-900/40 text-red-400 border-red-700/50', }; export function StatusBadge({ status }: { status: string | null | undefined }) { diff --git a/frontend/src/pages/Documents.tsx b/frontend/src/pages/Documents.tsx index ebf5543..e829e39 100644 --- a/frontend/src/pages/Documents.tsx +++ b/frontend/src/pages/Documents.tsx @@ -5,10 +5,17 @@ import { DataTable, type Column } from '../components/DataTable'; import { StatusBadge, LoadingSpinner, TickerFilter } from '../components/ui'; import type { Document } from '../api/hooks'; +const STATUS_OPTIONS = ['', 'extracted', 'parsed', 'extraction_failed', 'low_quality'] as const; + export function DocumentsPage() { const navigate = useNavigate(); const [ticker, setTicker] = useState(''); - const { data, isLoading, error } = useDocuments({ ticker: ticker || undefined, limit: 100 }); + const [status, setStatus] = useState(''); + const { data, isLoading, error } = useDocuments({ + ticker: ticker || undefined, + status: status || undefined, + limit: 100, + }); const columns: Column[] = [ { key: 'title', header: 'Title', render: (r) => {r.title ?? '—'} }, @@ -26,7 +33,20 @@ export function DocumentsPage() {

Documents

- +
+ + +
data={data ?? []}