+
Dashboard Portal Data Informatika
+
+ {loading ? (
+
+
+
+
+
+
+ ) : error ? (
+
+ ) : (
+ <>
+
+ {/* 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 Rata-rata IPK */}
+
+
+
+ Rata-rata IPK
+
+
+
+
+ {mahasiswaData.mahasiswa_aktif}
+
+ Aktif: {mahasiswaData.ipk_rata_rata_aktif}
+
+
+
+
+
+ {/* Diagram Statistik Mahasiswa */}
+
+
+ {/* Diagram Status Mahasiswa */}
+
+
+ {/* Diagram Jenis Pendaftaran */}
+
+
+ {/* Diagram Asal Daerah */}
+
+
+ {/* Diagram IPK */}
+
+ >
+ )}
+
+ );
+}
\ No newline at end of file
diff --git a/app/layout.tsx b/app/layout.tsx
index 54bf9bd..b9719d5 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -1,7 +1,7 @@
import type { Metadata } from 'next';
import { Geist, Geist_Mono } from 'next/font/google';
import './globals.css';
-import ClientLayout from '../components/ClientLayout';
+import { ThemeProvider } from '@/components/theme-provider';
const geistSans = Geist({
variable: '--font-geist-sans',
@@ -15,7 +15,7 @@ const geistMono = Geist_Mono({
export const metadata: Metadata = {
title: 'Portal Data Informatika',
- description: 'Admin Dashboard',
+ description: 'Visualisasi Data Mahasiswa Jurusan Informatika',
};
export default function RootLayout({
@@ -29,7 +29,7 @@ export default function RootLayout({