From 33dcf9bb4a82d667c14cfffdeafcc5321a268467 Mon Sep 17 00:00:00 2001 From: dmitriylaukhin Date: Fri, 8 May 2026 14:09:59 +0500 Subject: [PATCH] Add total user balances stat card to admin dashboard --- src/app/admin/dashboard/page.tsx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/app/admin/dashboard/page.tsx b/src/app/admin/dashboard/page.tsx index 894ea79..e30836f 100644 --- a/src/app/admin/dashboard/page.tsx +++ b/src/app/admin/dashboard/page.tsx @@ -16,6 +16,7 @@ export default async function AdminDashboard() { homeworkPending, homeworkTotal, progressTotal, + balanceAggregate, ] = await Promise.all([ prisma.user.count({ where: { role: "student" } }), prisma.user.count({ where: { role: "student", createdAt: { gte: monthAgo } } }), @@ -30,8 +31,11 @@ export default async function AdminDashboard() { prisma.homeworkSubmission.count({ where: { feedbacks: { none: {} } } }), prisma.homeworkSubmission.count(), prisma.lessonProgress.count(), + prisma.balanceTransaction.aggregate({ _sum: { amount: true } }), ]); + const totalBalance = Number(balanceAggregate._sum.amount ?? 0); + // Recent enrollments const recentEnrollments = await prisma.courseEnrollment.findMany({ orderBy: { enrolledAt: "desc" }, @@ -58,7 +62,7 @@ export default async function AdminDashboard() {

{/* Stats grid */} -
+
0} href="/curator/homework" /> +
@@ -179,7 +189,7 @@ function StatCard({ href, }: { label: string; - value: number; + value: number | string; sub?: string; subAccent?: boolean; href?: string;