const ClaimCard = ({ claim, onViewDetails, onVerify, onReopen, onCancelApproval, onUserRespond, isOwnerView = false, currentUserId, }) => { const getStatusClass = (status) => { switch (status) { case "approved": case "verified": return "bg-green-600 text-white border-green-500"; case "rejected": return "bg-red-600 text-white border-red-500"; case "waiting_owner": return "bg-yellow-600 text-white border-yellow-500"; default: return "bg-slate-700 text-slate-300 border-slate-600"; } }; const getStatusText = (status) => { if (status === "waiting_owner") { // Jika yang login adalah pemilik barang yang hilang if ( claim.lost_item_user_id && currentUserId === claim.lost_item_user_id ) { return "🔔 MENUNGGU ANDA"; } // Jika yang login adalah penemu yang mengajukan klaim if (claim.user_id && currentUserId === claim.user_id) { return "⏳ MENUNGGU OWNER"; // Updated: Sesuai permintaan } return onUserRespond ? "🔔 MENUNGGU PEMILIK" : "⏳ MENUNGGU OWNER"; } return status.toUpperCase(); }; const ActorBadge = ({ label, name, icon, color }) => (
{icon} {label}: {name}
); return (

{claim.item_name}

Pengklaim:{" "} {claim.user_name} •{" "} {claim.contact}

{getStatusText(claim.status)} {claim.match_percentage && (
= 70 ? "text-green-400" : "text-yellow-400" }`} > Match: {claim.match_percentage}%
)}

Ciri Rahasia (Dari Penemu)

"{claim.item_secret_details || "Tidak ada data"}"

Deskripsi Pengklaim

"{claim.description}"

{claim.status === "waiting_owner" && claim.lost_item_user_id && currentUserId === claim.lost_item_user_id && (

🔔 Seseorang menemukan barang ini dan mencocokkannya dengan Anda.

Apakah benar ini barang Anda?

)} {claim.status === "waiting_owner" && claim.user_id && currentUserId === claim.user_id && (

⏳ Menunggu keputusan dari pemilik barang

Pemilik sedang memverifikasi apakah ini barang mereka

)}
Ditemukan: {Helpers.formatDate(claim.created_at)}
{claim.verifier_name && (
{Helpers.formatDateTime(claim.verified_at)}
)} {claim.case_closed_by_name && (
BA: {claim.berita_acara_no} {Helpers.formatDateTime(claim.case_closed_at)}
)}
{onViewDetails && ( )} {claim.status === "waiting_owner" && claim.lost_item_user_id && currentUserId === claim.lost_item_user_id && onUserRespond && (
)} {claim.status === "pending" && onVerify && ( )} {claim.status === "approved" && !claim.berita_acara_no && ( <> {onCancelApproval && ( )} {onVerify && ( )} )} {claim.status === "approved" && claim.berita_acara_no && onReopen && ( )}
); };