'use client';
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Users, GraduationCap, Trophy, BookOpen } from "lucide-react";
// Skeleton loading component for stats cards
export const DashboardStatsSkeleton = () => (
{[...Array(4)].map((_, i) => (
))}
);
interface MahasiswaTotal {
total_mahasiswa: number;
mahasiswa_aktif: number;
total_lulus: number;
pria_lulus: number;
wanita_lulus: number;
total_berprestasi: number;
prestasi_akademik: number;
prestasi_non_akademik: number;
total_mahasiswa_aktif_lulus: number;
total_mahasiswa_beasiswa: number;
total_mahasiswa_beasiswa_pemerintah: number;
total_mahasiswa_beasiswa_non_pemerintah: number;
}
interface DashboardStatsProps {
mahasiswaData: MahasiswaTotal;
}
export default function DashboardStats({ mahasiswaData }: DashboardStatsProps) {
return (
{/* Kartu Total Mahasiswa */}
Total Mahasiswa
{mahasiswaData.total_mahasiswa}
Aktif: {mahasiswaData.mahasiswa_aktif}
{/* Kartu Total Kelulusan */}
Total Kelulusan
{mahasiswaData.total_lulus}
Laki-laki: {mahasiswaData.pria_lulus}
Perempuan: {mahasiswaData.wanita_lulus}
{/* Kartu Total Prestasi */}
Mahasiswa Berprestasi
{mahasiswaData.total_berprestasi}
Akademik: {mahasiswaData.prestasi_akademik}
Non-Akademik: {mahasiswaData.prestasi_non_akademik}
{/* Kartu Mahasiswa Beasiswa */}
Mahasiswa Beasiswa
{mahasiswaData.total_mahasiswa_beasiswa}
Pemerintah: {mahasiswaData.total_mahasiswa_beasiswa_pemerintah}
Non-Pemerintah: {mahasiswaData.total_mahasiswa_beasiswa_non_pemerintah}
);
}