import React, { useState, useEffect } from 'react'; import { Head, usePage } from '@inertiajs/react'; import { useDispatch } from 'react-redux'; import { setPageTitle } from '@/Components/features/common/headerSlice'; import ModalInput from '@/Components/ModalInput'; import DeleteButton from '@/Components/DeleteButton'; import { UserGroupIcon } from '@heroicons/react/24/outline'; export default function IndexSantri({ santri, fields, options }) { const [selectedSantri, setSelectedSantri] = useState(null); const [isDeleteOpen, setDeleteOpen] = useState(false); const [searchTerm, setSearchTerm] = useState(''); const [filteredSantri, setFilteredSantri] = useState([]); const dispatch = useDispatch(); const { flash } = usePage().props; const openDeleteModal = (item) => { setSelectedSantri(item); setDeleteOpen(true); }; useEffect(() => { dispatch(setPageTitle("Data Santri")); }, [dispatch]); useEffect(() => { if (santri?.data) { const filtered = santri.data.filter(item => item.nama.toLowerCase().includes(searchTerm.toLowerCase()) || item.nis.toString().includes(searchTerm) ); setFilteredSantri(filtered); } }, [searchTerm, santri]); const handleSearch = (e) => { setSearchTerm(e.target.value); }; return (
Name | NIS | Status | Alamat | Action |
---|---|---|---|---|
{item.nama}
{item.level === 1 ? 'Admin' : 'User'}
|
{item.nis} |
{item.status_santri || "Open"}
|
{item.alamat || "-"} |
|
Tidak ada data santri. |