// src/components/manajemenUsers/UserHero.tsx import { useState } from "react"; import axios from "axios"; // IMPORT ICON REACT RESMI BIAR MODERN, BANG! import { UserPlus, UserCheck, Loader2 } from "lucide-react"; interface HeroProps { onUserDitambahkan: () => void; } export default function UsersHero({ onUserDitambahkan }: HeroProps) { const [isModalOpen, setIsModalOpen] = useState(false); const [formData, setFormData] = useState({ nama_lengkap: "", username: "", password: "", role: "User", email: "", lembaga: "", }); const [loading, setLoading] = useState(false); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setLoading(true); try { const respon = await axios.post("http://localhost:5000/api/register", formData); if (respon.data.success) { alert(respon.data.message); setIsModalOpen(false); // Reset Form setFormData({ nama_lengkap: "", username: "", password: "", role: "User", email: "", lembaga: "" }); // Refresh tabel di halaman utama otomatis onUserDitambahkan(); } } catch (error: any) { console.error(error); alert(error.response?.data?.message || "Gagal menambah user baru!"); } finally { setLoading(false); } }; return (

Manajemen Pengguna

Kelola hak akses data, penyerah, penerima, dan petugas BAST CIFO.

{/* TOMBOL DENGAN ICON REACT USERPLUS */} {/* MODAL POP UP FORM TAMBAH USER */} {isModalOpen && (
{/* HEAD MODAL DENGAN ICON REACT USERCHECK */}

Registrasi Pengguna Baru

setFormData({ ...formData, nama_lengkap: e.target.value })} className="w-full px-4 py-2.5 rounded-xl border border-gray-300 focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition" placeholder="Contoh: Bu Sari" />
setFormData({ ...formData, username: e.target.value })} className="w-full px-4 py-2.5 rounded-xl border border-gray-300 focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition" placeholder="sari123" />
setFormData({ ...formData, password: e.target.value })} className="w-full px-4 py-2.5 rounded-xl border border-gray-300 focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition" placeholder="******" />
setFormData({ ...formData, email: e.target.value })} className="w-full px-4 py-2.5 rounded-xl border border-gray-300 focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition" placeholder="sari@cifo.co.id" />
setFormData({ ...formData, lembaga: e.target.value })} className="w-full px-4 py-2.5 rounded-xl border border-gray-300 focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition" placeholder="SMKN 4 Bandung / PT CIFO" />
{/* BUTTON SUBMIT DENGAN SPINNER LOADER2 SAAT SAVE DATA */}
)}
); }