From 9a0c4c27b57660ac428004d8f90367f233afce8e Mon Sep 17 00:00:00 2001 From: aaniya22 Date: Sat, 16 May 2026 02:47:56 +0530 Subject: [PATCH 1/8] feat(reports): add status and date range filters (#29) --- frontend/src/pages/Reports.tsx | 108 +++++++++++++++++++ frontend/src/utils/date.ts | 4 + frontend/testing/unit/pages/Reports.test.tsx | 15 +-- 3 files changed, 120 insertions(+), 7 deletions(-) diff --git a/frontend/src/pages/Reports.tsx b/frontend/src/pages/Reports.tsx index 047fffec..807f17aa 100644 --- a/frontend/src/pages/Reports.tsx +++ b/frontend/src/pages/Reports.tsx @@ -259,6 +259,114 @@ export default function Reports() { + {/* Status Filter */} +
+ +
+ {([ + { value: 'all', label: 'All Statuses' }, + { value: 'ready', label: 'Ready' }, + { value: 'generating', label: 'Generating' }, + { value: 'failed', label: 'Failed' }, + ] as const).map(({ value, label }) => ( + + ))} +
+
+ + {/* Date Range Filter */} +
+ +
+ {([ + { value: 'all', label: 'All Time' }, + { value: '24h', label: 'Last 24 Hours' }, + { value: '7d', label: 'Last 7 Days' }, + { value: '30d', label: 'Last 30 Days' }, + ] as const).map(({ value, label }) => ( + + ))} +
+
+ + {/* Status Filter */} +
+ +
+ {([ + { value: 'all', label: 'All Statuses' }, + { value: 'ready', label: 'Ready' }, + { value: 'generating', label: 'Generating' }, + { value: 'failed', label: 'Failed' }, + ] as const).map(({ value, label }) => ( + + ))} +
+
+ + {/* Date Range Filter */} +
+ +
+ {([ + { value: 'all', label: 'All Time' }, + { value: '24h', label: 'Last 24 Hours' }, + { value: '7d', label: 'Last 7 Days' }, + { value: '30d', label: 'Last 30 Days' }, + ] as const).map(({ value, label }) => ( + + ))} +
+
+