"use client";

import React, { useState } from "react";
import Link from "next/link";
import { GraduationCap, Search, ChevronRight, FileSpreadsheet, Eye } from "lucide-react";
import { toast } from "sonner";

interface AdmittedStudent {
  id: string;
  nchmRoll: string;
  name: string;
  program: string;
  batch: string;
  admissionDate: string;
  category: string;
  status: "Enrolled" | "Document Verified";
}

const admittedList: AdmittedStudent[] = [
  {
    id: "adm-s1",
    nchmRoll: "2441112001",
    name: "Aakash Sengupta",
    program: "B.Sc. in Hospitality & Hotel Administration",
    batch: "2026 - 2029",
    admissionDate: "02 Aug 2026",
    category: "General",
    status: "Enrolled",
  },
  {
    id: "adm-s2",
    nchmRoll: "2441112002",
    name: "Bhavna Roy",
    program: "B.Sc. in Hospitality & Hotel Administration",
    batch: "2026 - 2029",
    admissionDate: "02 Aug 2026",
    category: "General",
    status: "Enrolled",
  },
  {
    id: "adm-s3",
    nchmRoll: "2441112003",
    name: "Debapriya Banerjee",
    program: "M.Sc. in Hospitality Administration",
    batch: "2026 - 2028",
    admissionDate: "03 Aug 2026",
    category: "OBC",
    status: "Document Verified",
  },
  {
    id: "adm-s4",
    nchmRoll: "2441112004",
    name: "Ishita Ganguly",
    program: "Diploma in Food Production",
    batch: "2026 - 2027",
    admissionDate: "04 Aug 2026",
    category: "General",
    status: "Enrolled",
  },
];

export default function AdmittedStudentsPage() {
  const [search, setSearch] = useState("");

  const filtered = admittedList.filter(
    (s) =>
      s.name.toLowerCase().includes(search.toLowerCase()) ||
      s.nchmRoll.toLowerCase().includes(search.toLowerCase())
  );

  return (
    <div className="space-y-5 font-sans">
      <div className="flex flex-col lg:flex-row lg:items-center justify-between gap-4">
        <div>
          <nav className="flex items-center gap-1.5 text-[13px] text-[#64748B] mb-1 font-medium font-sans">
            <Link href="/admin/dashboard" className="hover:text-[#1769E8] hover:underline">
              Home
            </Link>
            <ChevronRight className="w-3.5 h-3.5 text-[#94A3B8]" />
            <Link href="/admin/admissions" className="hover:text-[#1769E8] hover:underline">
              Admissions
            </Link>
            <ChevronRight className="w-3.5 h-3.5 text-[#94A3B8]" />
            <span className="text-[#071A4D] font-semibold">Admitted Students</span>
          </nav>

          <h1 className="text-3xl font-bold font-heading text-[#071A4D] tracking-tight">
            Admitted Students Roster
          </h1>
          <p className="text-[15px] text-[#64748B] mt-1 font-normal font-sans">
            Official enrollment registry of confirmed student admissions for NCHMCT programs.
          </p>
        </div>

        <button
          onClick={() => toast.success("Exporting Admitted Students List...")}
          className="inline-flex items-center gap-1.5 px-3.5 py-2 text-xs font-semibold text-[#071A4D] bg-white border border-[#E5EAF0] rounded-lg hover:bg-slate-50 transition-colors shadow-2xs cursor-pointer"
        >
          <FileSpreadsheet className="w-4 h-4 text-emerald-600" />
          <span>Export Roster</span>
        </button>
      </div>

      <div className="p-4 rounded-xl bg-white border border-[#E5EAF0] shadow-xs flex items-center justify-between">
        <div className="relative max-w-md w-full">
          <Search className="w-4 h-4 text-[#94A3B8] absolute left-3 top-1/2 -translate-y-1/2" />
          <input
            type="text"
            value={search}
            onChange={(e) => setSearch(e.target.value)}
            placeholder="Search by student name or roll number..."
            className="h-9 w-full rounded-lg border border-[#D8E0EA] bg-white pl-9 pr-3 text-xs text-[#334155] placeholder:text-[#94A3B8] focus:outline-none focus:border-[#1769E8]"
          />
        </div>
      </div>

      <div className="rounded-xl bg-white border border-[#E5EAF0] shadow-2xs overflow-hidden">
        <div className="p-4 border-b border-[#E5EAF0] flex items-center justify-between">
          <div className="flex items-center gap-2">
            <GraduationCap className="w-4 h-4 text-[#1769E8]" />
            <h2 className="text-sm font-bold font-heading text-[#071A4D]">
              Enrolled Students ({filtered.length})
            </h2>
          </div>
          <span className="text-xs text-[#64748B] font-medium">Academic Year 2026 - 2027</span>
        </div>

        <div className="overflow-x-auto">
          <table className="w-full text-left text-xs border-collapse">
            <thead>
              <tr className="bg-[#F8FAFC] border-b border-[#E5EAF0] text-[#64748B] uppercase tracking-wider font-bold text-[11px]">
                <th className="py-3 px-3">Roll No</th>
                <th className="py-3 px-3">Student Name</th>
                <th className="py-3 px-3">Program</th>
                <th className="py-3 px-3">Batch</th>
                <th className="py-3 px-3">Admission Date</th>
                <th className="py-3 px-3 text-center">Status</th>
                <th className="py-3 px-3 text-center">Actions</th>
              </tr>
            </thead>
            <tbody className="divide-y divide-[#E5EAF0] text-[#334155]">
              {filtered.map((s) => (
                <tr key={s.id} className="hover:bg-[#F8FAFC] transition-colors">
                  <td className="py-3.5 px-3 font-mono font-bold text-[#1769E8]">{s.nchmRoll}</td>
                  <td className="py-3.5 px-3 font-semibold text-[#071A4D]">{s.name}</td>
                  <td className="py-3.5 px-3 text-[#334155]">{s.program}</td>
                  <td className="py-3.5 px-3 text-[#64748B]">{s.batch}</td>
                  <td className="py-3.5 px-3 text-[#64748B]">{s.admissionDate}</td>
                  <td className="py-3.5 px-3 text-center">
                    <span className="inline-block px-2.5 py-0.5 rounded-full text-[11px] font-semibold bg-[#DCFCE7] text-[#15803D]">
                      {s.status}
                    </span>
                  </td>
                  <td className="py-3.5 px-3 text-center">
                    <button
                      onClick={() => toast.info(`Viewing profile for ${s.name}`)}
                      className="p-1 rounded text-[#1769E8] hover:bg-blue-50 transition-colors"
                    >
                      <Eye className="w-3.5 h-3.5" />
                    </button>
                  </td>
                </tr>
              ))}
            </tbody>
          </table>
        </div>
      </div>
    </div>
  );
}
