// assets/js/pages/admin/tabs/ArchivesTabAdmin.js const ArchivesTabAdmin = ({ state, handlers }) => { const { archives, filteredArchives, archiveSearchTerm, setArchiveSearchTerm, archiveCategoryFilter, setArchiveCategoryFilter, } = state; const { handleViewArchiveDetail } = handlers; // Filter archives locally React.useEffect(() => { let filtered = archives.filter((item) => { const matchesSearch = item.name.toLowerCase().includes(archiveSearchTerm.toLowerCase()) || item.location.toLowerCase().includes(archiveSearchTerm.toLowerCase()) || (item.berita_acara_no && item.berita_acara_no .toLowerCase() .includes(archiveSearchTerm.toLowerCase())); const matchesCategory = !archiveCategoryFilter || Helpers.getCategoryValue(item.category_id) === archiveCategoryFilter; return matchesSearch && matchesCategory; }); state.setFilteredArchives(filtered); }, [archiveSearchTerm, archiveCategoryFilter, archives]); return (

📂 Kelola Arsip (Case Closed)

setArchiveSearchTerm(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" />
{/* Stats Summary */}
{archives.length}
Total Arsip
{ archives.filter( (a) => new Date(a.case_closed_at).getMonth() === new Date().getMonth() ).length }
Bulan Ini
{ archives.filter( (a) => new Date(a.case_closed_at).getFullYear() === new Date().getFullYear() ).length }
Tahun Ini
{filteredArchives.map((item) => (
{/* Header */}

{item.name}

📍 {item.location} • 📅{" "} {Helpers.formatDate(item.date_found)}

✅ CLOSED
{/* Image */} {item.photo_url && (
{item.name} (e.target.src = "https://via.placeholder.com/400x200?text=No+Image") } />
)} {/* Case Closed Info */}
📋 Case Closed
No. BA:{" "} {item.berita_acara_no || "-"}
{item.case_closed_at && (
Ditutup: {Helpers.formatDateTime(item.case_closed_at)}
)} {item.case_closed_by_name && (
Oleh: {item.case_closed_by_name}
)} {item.claimer_name && (
Penerima:{" "} {item.claimer_name}
)}
{item.bukti_serah_terima && ( 📄 Lihat Bukti )}
{/* Reporter Info */}
Pelapor:
{item.reporter_name || "N/A"}
Kontak:
{item.reporter_contact || "N/A"}
{/* Category */}
🏷️ {item.category || "-"} {item.case_closed_notes && ( 📝 Ada catatan )}
{/* Actions */}
))}
{filteredArchives.length === 0 && (
📂

{archiveSearchTerm || archiveCategoryFilter ? "Tidak ada arsip yang sesuai filter" : "Belum ada arsip"}

)}
); };