const LostItemsTabAdmin = ({ state, handlers }) => { const { lostItems, lostItemSearchTerm, setLostItemSearchTerm, lostItemStatusFilter, setLostItemStatusFilter, lostItemCategoryFilter, setLostItemCategoryFilter, lostItemPage, lostItemTotalPages, lostItemTotalRecords, categories, loading, showCreateLostItemModal, setShowCreateLostItemModal, } = state; const { handleViewLostItemDetail, handleEditLostItemClick, handleDeleteLostItem, loadLostItems, } = handlers; React.useEffect(() => { const timer = setTimeout(() => { loadLostItems(lostItemPage); }, 500); return () => clearTimeout(timer); }, [ lostItemPage, lostItemSearchTerm, lostItemStatusFilter, lostItemCategoryFilter, ]); React.useEffect(() => { state.setLostItemPage(1); }, [lostItemSearchTerm, lostItemStatusFilter, lostItemCategoryFilter]); return (

🔍 Kelola Laporan Barang Hilang

setLostItemSearchTerm(e.target.value)} className="flex-1 min-w-[200px] px-4 py-2 bg-slate-700 border-2 border-slate-600 rounded-xl text-white placeholder-slate-400 focus:border-blue-500 focus:outline-none" />
{loading ? (

Memuat data...

) : ( <>
{lostItems && lostItems.map((item) => ( ))}
ID Nama Barang Kategori Pelapor Lokasi Tanggal Hilang Status Aksi
#{item.id}
{item.name}
{item.color && (
🎨 {item.color}
)}
{item.category}
{item.user_name}
ID: {item.user_id}
{item.location || "-"} {Helpers.formatDateShort(item.date_lost)} {item.status} {item.direct_claim_status && (
📋 Claim: {item.direct_claim_status}
)}
{(!lostItems || lostItems.length === 0) && (
🔍

Tidak ada laporan barang hilang

)} {lostItems && lostItems.length > 0 && ( state.setLostItemPage(page)} itemsPerPage={10} /> )} )}
); };