diff --git a/ipi-survey-platform/src/components/dashboard/SubmissionHistory.jsx b/ipi-survey-platform/src/components/dashboard/SubmissionHistory.jsx index 10cdd5f..a4c3486 100644 --- a/ipi-survey-platform/src/components/dashboard/SubmissionHistory.jsx +++ b/ipi-survey-platform/src/components/dashboard/SubmissionHistory.jsx @@ -24,16 +24,20 @@ const formatDateTime = (value) => { const getStatusClass = (status) => { const normalized = String(status || '').toLowerCase(); + if (normalized === 'approved') { - return 'inline-flex items-center rounded-md bg-green-100 px-2 py-1 text-xs font-medium text-green-800'; + return 'inline-flex items-center rounded-md bg-[#F5FAF6] px-2 py-1 text-xs font-medium text-[#2F663C]'; } + if (['pending', 'under review', 'in-progress'].includes(normalized)) { - return 'inline-flex items-center rounded-md bg-yellow-100 px-2 py-1 text-xs font-medium text-yellow-800'; + return 'inline-flex items-center rounded-md bg-[#FFFDF3] px-2 py-1 text-xs font-medium text-[#7C5E24]'; } + if (['rejected', 'returned'].includes(normalized)) { - return 'inline-flex items-center rounded-md bg-red-100 px-2 py-1 text-xs font-medium text-red-800'; + return 'inline-flex items-center rounded-md bg-[#FEF6F6] px-2 py-1 text-xs font-medium text-[#B52520]'; } - return 'inline-flex items-center rounded-md bg-gray-100 px-2 py-1 text-xs font-medium text-gray-800'; + + return 'inline-flex items-center rounded-md bg-[#F8FAFC] px-2 py-1 text-xs font-medium text-[#374151]'; }; const downloadCsv = (rows) => { @@ -94,12 +98,27 @@ export const SubmissionHistory = ({ history = [], loading = false, error = '' }) const rowsData = filteredRows.map((item) => { const productCount = Number(item.products) || 0; const productLabel = `${productCount} ${productCount === 1 ? 'product' : 'products'}`; - + return [ item.survey_name, item.year, item.quarter, - {item.status}, + + (() => { + const normalized = String(item.status || '').toLowerCase(); + let displayStatus = '—'; + + if (normalized === 'pending') displayStatus = 'Under Review'; + else if (normalized === 'rejected') displayStatus = 'Returned'; + else if (['submitted', 'approved'].includes(normalized)) displayStatus = 'Approved'; + + return ( + + {displayStatus} + + ); + })(), + {item.submission_on}, productLabel,