From 0c3d4a4edd07e96fe4e4d94e4d5662e57b4a75a8 Mon Sep 17 00:00:00 2001
From: kayela
Date: Tue, 27 Jan 2026 15:11:25 -0600
Subject: [PATCH] Updated stat cards to be consistent with rest of codebase
---
src/pages/admin/AdminValidations.js | 98 +++++++++++++++++------------
1 file changed, 58 insertions(+), 40 deletions(-)
diff --git a/src/pages/admin/AdminValidations.js b/src/pages/admin/AdminValidations.js
index c26a5fd..96b62c9 100644
--- a/src/pages/admin/AdminValidations.js
+++ b/src/pages/admin/AdminValidations.js
@@ -29,11 +29,12 @@ import {
PaginationEllipsis,
} from '../../components/ui/pagination';
import { toast } from 'sonner';
-import { CheckCircle, Clock, Search, ArrowUp, ArrowDown, X } from 'lucide-react';
+import { CheckCircle, Clock, Search, ArrowUp, ArrowDown, X, XCircle } from 'lucide-react';
import PaymentActivationDialog from '../../components/PaymentActivationDialog';
import ConfirmationDialog from '../../components/ConfirmationDialog';
import RejectionDialog from '../../components/RejectionDialog';
import StatusBadge from '@/components/StatusBadge';
+import { StatCard } from '@/components/StatCard';
const AdminValidations = () => {
const { hasPermission } = useAuth();
@@ -235,7 +236,7 @@ const AdminValidations = () => {
}
};
-
+
const handleSort = (column) => {
if (sortBy === column) {
@@ -272,45 +273,62 @@ const AdminValidations = () => {
+
{/* Stats Card */}
-
-
-
-
Total Pending
-
- {pendingUsers.length}
-
-
-
-
Awaiting Email
-
- {pendingUsers.filter(u => u.status === 'pending_email').length}
-
-
-
-
Pending Validation
-
- {pendingUsers.filter(u => u.status === 'pending_validation').length}
-
-
-
-
Pre-Validated
-
- {pendingUsers.filter(u => u.status === 'pre_validated').length}
-
-
-
-
Payment Pending
-
- {pendingUsers.filter(u => u.status === 'payment_pending').length}
-
-
-
-
Rejected
-
- {pendingUsers.filter(u => u.status === 'rejected').length}
-
-
+
+
+ Quick Overview
+
+
+
+
+ u.status === 'pending_email').length}
+ icon={CheckCircle}
+ iconBgClass="text-brand-purple"
+ dataTestId="stat-total-users"
+ />
+
+ u.status === 'pending_validation').length}
+ icon={CheckCircle}
+ iconBgClass="text-brand-purple"
+ dataTestId="stat-pending-validation"
+ />
+
+ u.status === 'pre_validated').length}
+ icon={CheckCircle}
+ iconBgClass="text-brand-purple"
+ dataTestId="stat-pre-validated"
+ />
+
+ u.status === 'payment_pending').length}
+ icon={CheckCircle}
+ iconBgClass="text-brand-purple"
+ dataTestId="stat-payment-pending"
+ />
+
+ u.status === 'rejected').length}
+ icon={XCircle}
+ iconBgClass="text-red-600"
+ dataTestId="stat-rejected"
+ />
+
+