const ManagerReportFoundModal = ({ isOpen, onClose, onSubmit, loading, photoPreview, onPhotoChange, categories, }) => { const [users, setUsers] = React.useState([]); const [loadingUsers, setLoadingUsers] = React.useState(false); // ✅ ADD: State untuk menyimpan user yang dipilih const [selectedUser, setSelectedUser] = React.useState(null); // ✅ ADD: State untuk input manual const [reporterName, setReporterName] = React.useState(""); const [reporterContact, setReporterContact] = React.useState(""); // Load users when modal opens React.useEffect(() => { if (isOpen) { loadUsers(); // Reset form saat modal dibuka setSelectedUser(null); setReporterName(""); setReporterContact(""); } }, [isOpen]); const loadUsers = async () => { try { setLoadingUsers(true); const response = await fetch( `${CONFIG.API_URL}/api/manager/users?page=1&limit=1000`, { headers: { Authorization: `Bearer ${AuthUtils.getToken()}`, }, } ); if (response.ok) { const data = await response.json(); setUsers(data.data || []); } } catch (error) { console.error("Failed to load users:", error); } finally { setLoadingUsers(false); } }; // ✅ UPDATE: Handle user selection const handleUserSelect = (e) => { const userId = e.target.value; if (!userId) { setSelectedUser(null); return; } const user = users.find((u) => u.id === parseInt(userId)); if (user) { setSelectedUser(user); setReporterName(user.name); setReporterContact(user.phone || ""); } }; return (
{/* Info Box */}
â„šī¸
Laporan Offline

Fitur ini untuk mencatat barang yang diserahkan langsung kepada manager. Jika pelapor memiliki akun, silakan pilih di bawah. Jika tidak, cukup isi nama manual.

{/* User Selection */}

Pilih jika pelapor sudah punya akun. Jika belum, biarkan kosong.

{/* ✅ FIXED: Selected User Info - sekarang selectedUser sudah didefinisikan */} {selectedUser && (
✅ User Terpilih:
Nama:{" "} {selectedUser.name}
Email:{" "} {selectedUser.email}
NRP:{" "} {selectedUser.nrp}
Telepon:{" "} {selectedUser.phone || "-"}
)}

Detail Barang Ditemukan

{/* Item Details */}
{photoPreview && (
Preview
)}