57 lines
2.2 KiB
TypeScript
57 lines
2.2 KiB
TypeScript
'use client';
|
|
|
|
import { useState } from "react";
|
|
import LulusTepatWaktuChart from "@/components/charts/LulusTepatWaktuChart";
|
|
import FilterTahunAngkatan from "@/components/FilterTahunAngkatan";
|
|
import TabelLulusTepatWaktuMahasiswa from "@/components/chartstable/tabellulustepatwaktumahasiswa";
|
|
|
|
export default function LulusTepatWaktuDetailPage() {
|
|
const [selectedYear, setSelectedYear] = useState<string>("all");
|
|
|
|
return (
|
|
<div className="min-h-screen bg-gray-50 dark:bg-[var(--background)] p-4">
|
|
<div className="container mx-auto max-w-7xl space-y-2">
|
|
{/* Filter Section */}
|
|
<FilterTahunAngkatan
|
|
selectedYear={selectedYear}
|
|
onYearChange={setSelectedYear}
|
|
/>
|
|
|
|
{/* Chart Section - Enhanced Size */}
|
|
<div className="grid grid-cols-1 lg:grid-cols-1 gap-6">
|
|
{/* Lulus Tepat Waktu Chart dengan ukuran lebih besar */}
|
|
<div className="lg:col-span-2">
|
|
<LulusTepatWaktuChart
|
|
selectedYear={selectedYear}
|
|
height="h-[400px] sm:h-[400px] lg:h-[400px]"
|
|
showDetailButton={false}
|
|
/>
|
|
</div>
|
|
</div>
|
|
|
|
{/* Tabel Section */}
|
|
<TabelLulusTepatWaktuMahasiswa selectedYear={selectedYear} />
|
|
|
|
{/* Information Section */}
|
|
<div className="bg-white dark:bg-slate-900 rounded-lg shadow-sm p-6">
|
|
<h2 className="text-xl font-semibold text-gray-900 dark:text-white mb-4">
|
|
Informasi Visualisasi
|
|
</h2>
|
|
<div className="grid md:grid-cols-2 gap-6">
|
|
<div>
|
|
<h3 className="font-medium text-gray-900 dark:text-white mb-2">
|
|
Tentang Grafik Lulus Tepat Waktu
|
|
</h3>
|
|
<ul className="text-sm text-gray-600 dark:text-gray-300 space-y-1">
|
|
<li>• Menampilkan jumlah mahasiswa yang lulus tepat waktu per tahun angkatan</li>
|
|
<li>• Data mencakup mahasiswa yang menyelesaikan studi sesuai durasi standar</li>
|
|
<li>• Grafik batang yang menunjukkan tren kelulusan tepat waktu</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|