const MyClaimsTab = ({ state, handlers }) => { const { myLostItems, myClaims, loading } = state; // Lost items dengan pending claims (untuk OWNER perspective) const lostItemsWithClaims = myLostItems.filter( (item) => item.direct_claim_id && item.direct_claim_status && item.status !== "completed" && item.direct_claim_status !== "completed" ); const regularClaims = myClaims || []; // Status badge untuk OWNER perspective (di section "Barang Hilang Saya") const getOwnerStatusBadge = (status) => { const badges = { active: { color: "bg-blue-500", text: "🔍 Masih Hilang", emoji: "😢" }, claimed: { color: "bg-yellow-500", text: "⏳ Menunggu Persetujuan Anda", emoji: "🤔", }, found: { color: "bg-green-500", text: "✅ Ditemukan", emoji: "🎉" }, completed: { color: "bg-purple-500", text: "✅ Selesai - Barang Diterima", emoji: "🎉", }, waiting_owner: { color: "bg-orange-500", text: "⏳ Menunggu Keputusan Anda", // Owner yang harus decide emoji: "🔔", }, verified: { color: "bg-green-600", text: "✅ Terverifikasi", emoji: "✅", }, }; return ( badges[status] || { color: "bg-gray-500", text: status, emoji: "❓", } ); }; // Status badge untuk CLAIMANT perspective (di section "Klaim yang Saya Ajukan") const getClaimantStatusBadge = (status) => { const badges = { pending: { color: "bg-yellow-500", text: "⏳ Menunggu Verifikasi Admin", emoji: "⏳", }, approved: { color: "bg-green-500", text: "✅ Disetujui", emoji: "✅", }, rejected: { color: "bg-red-500", text: "❌ Ditolak", emoji: "❌", }, waiting_owner: { color: "bg-orange-500", text: "⏳ Menunggu Keputusan Pemilik", // Claimant menunggu owner emoji: "💤", }, verified: { color: "bg-green-600", text: "✅ Terverifikasi", emoji: "✅", }, completed: { color: "bg-purple-500", text: "🎉 Selesai", emoji: "🎉", }, }; return ( badges[status] || { color: "bg-gray-500", text: status, emoji: "❓", } ); }; if (loading) { return (
Memuat data klaim...
Ada yang menemukan barang Anda! Silakan approve atau reject klaim mereka.
📦 Kategori:{" "} {lostItem.category}
{lostItem.color && (🎨 Warna:{" "} {lostItem.color}
)}📍 Lokasi Hilang:{" "} {lostItem.location}
📅 Tanggal Hilang: {" "} {new Date(lostItem.date_lost).toLocaleDateString( "id-ID" )}
📝 Deskripsi:{" "} {lostItem.description}
🔔 Ada yang mengaku menemukan barang ini!
Seseorang telah mengajukan klaim untuk barang ini. Silakan putuskan apakah ini benar barang Anda.
✅ Klaim Disetujui!
Anda telah menyetujui bahwa penemu menemukan barang Anda. Koordinasikan pengambilan barang, lalu konfirmasi setelah menerima barang.
📝 Deskripsi:{" "} {claim.description}
📞 Kontak:{" "} {claim.contact}
📅 Tanggal Klaim:{" "} {new Date(claim.created_at).toLocaleDateString("id-ID")}
{claim.notes && (💬 Catatan:{" "} {claim.notes}
)}Anda belum memiliki klaim atau barang hilang dengan klaim pending.