const MyFoundItemsTab = ({ state, handlers }) => { const { myFoundItems, loading, user } = state; const { showToast, loadData } = handlers; const handleApproveItem = async (item) => { if (!item.direct_claim_id) { showToast("⚠️ Tidak ada klaim untuk item ini", "error"); return; } const confirmMsg = `✅ Konfirmasi Penerimaan Barang Apakah Anda yakin barang "${item.name}" ini adalah milik Anda? Jika Ya: - Status akan berubah menjadi "verified" - Anda bisa koordinasi dengan penemu untuk pengambilan - Kasus akan dilanjutkan ⚠️ Pastikan ini benar-benar barang Anda!`; if (!confirm(confirmMsg)) return; try { state.setLoading(true); // ✅ ENDPOINT YANG BENAR - menggunakan claim ID await ApiUtils.post(`/api/user/claims/${item.direct_claim_id}/respond`, { action: "approve", }); showToast( "✅ Berhasil! Silakan koordinasi pengambilan dengan penemu.", "success" ); loadData(); } catch (error) { console.error("Error approving item:", error); showToast("Gagal menerima: " + error.message, "error"); } finally { state.setLoading(false); } }; const handleRejectItem = async (item) => { if (!item.direct_claim_id) { showToast("⚠️ Tidak ada klaim untuk item ini", "error"); return; } const reason = prompt( "❌ Alasan Penolakan (opsional):\n\nContoh: Bukan barang saya, warna berbeda, dll." ); if (reason === null) return; // User cancelled const confirmMsg = `❌ Konfirmasi Penolakan Yakin menolak barang "${item.name}"? ${reason ? `Alasan: ${reason}` : "(Tanpa alasan)"} Barang akan kembali dalam status pencarian.`; if (!confirm(confirmMsg)) return; try { state.setLoading(true); // ✅ ENDPOINT YANG BENAR - menggunakan claim ID await ApiUtils.post(`/api/user/claims/${item.direct_claim_id}/respond`, { action: "reject", }); showToast( "❌ Barang ditolak. Status kembali dalam pencarian.", "success" ); loadData(); } catch (error) { console.error("Error rejecting item:", error); showToast("Gagal menolak: " + error.message, "error"); } finally { state.setLoading(false); } }; return (
Barang hilang Anda yang dilaporkan orang lain menemukan - butuh konfirmasi Anda
Memuat data...
🏷️ {item.category_name}
)}{item.description}
Seseorang menemukan barang yang sesuai dengan laporan Anda. Silakan konfirmasi apakah ini benar barang Anda.
Anda telah mengonfirmasi ini barang Anda. Koordinasikan pengambilan.
Belum ada barang yang dilaporkan ditemukan
Ketika seseorang menemukan barang Anda, akan muncul di sini