'use client';

import { useState } from "react";
import MKBelumDiambilChart from "@/components/chartsDashboard/MKBelumDiambilChart";
import FilterTahunAngkatan from "@/components/FilterTahunAngkatan";
import TabelMKBelumDiambil from "@/components/chartstable/tabelmkbelumdiambil";

export default function MKBelumDiambilDetailPage() {
  const [selectedYear, setSelectedYear] = useState<string>("all");
  const [selectedJenisMK, setSelectedJenisMK] = 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 */}
        <div className="grid grid-cols-1 lg:grid-cols-1 gap-6">
          <MKBelumDiambilChart 
            selectedYear={selectedYear}
            height="h-[400px] sm:h-[400px] lg:h-[400px]"
            showDetailButton={false}
          />
        </div>

        {/* Tabel Section */}
        <TabelMKBelumDiambil 
          selectedYear={selectedYear}
          selectedJenisMK={selectedJenisMK}
          onJenisMKChange={setSelectedJenisMK}
        />

        {/* 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-1 gap-6">
            <div>
              <h3 className="font-medium text-gray-900 dark:text-white mb-2">
                Grafik dan Tabel Mata Kuliah Belum Diambil
              </h3>
              <ul className="text-sm text-gray-600 dark:text-gray-300 space-y-1">
                <li>• Menampilkan data mahasiswa yang masih memiliki mata kuliah yang belum diambil atau belum lulus</li>
                <li>• Grafik stacked bar horizontal menunjukkan jumlah MK belum diambil per jenis MK per tahun angkatan</li>
                <li>• Mata kuliah dikategorikan menjadi tiga jenis:</li>
                <li className="ml-4">- <strong className="text-blue-600 dark:text-blue-400">Wajib</strong>: Mata kuliah yang wajib diambil oleh semua mahasiswa</li>
                <li className="ml-4">- <strong className="text-green-600 dark:text-green-400">Pilihan Wajib</strong>: Mata kuliah pilihan yang wajib diambil minimal satu dari kelompoknya</li>
                <li className="ml-4">- <strong className="text-amber-600 dark:text-amber-400">Pilihan</strong>: Mata kuliah pilihan bebas</li>
                <li>• Mata kuliah dianggap <strong>belum diambil</strong> jika:</li>
                <li className="ml-4">- Mahasiswa belum pernah mengambil MK tersebut, ATAU</li>
                <li className="ml-4">- Mahasiswa mendapat nilai E (gagal/tidak lulus)</li>
                <li>• Tabel detail menampilkan daftar mahasiswa dengan:</li>
                <li className="ml-4">- Informasi dasar mahasiswa (NIM, nama, angkatan)</li>
                <li className="ml-4">- Total SKS yang sudah lulus (nilai != E)</li>
                <li className="ml-4">- Jumlah MK yang belum diambil</li>
                <li className="ml-4">- Dropdown detail MK belum diambil (kode MK, nama MK, jenis MK, SKS, semester)</li>
                <li>• Filter tersedia untuk tahun angkatan dan jenis MK untuk analisis lebih spesifik</li>
                <li>• Data dapat digunakan untuk monitoring progres akademik dan identifikasi mahasiswa yang perlu bimbingan</li>
              </ul>
            </div>
          </div>
        </div>
      </div>
    </div>
  );
}

