import { IoCloseOutline } from "react-icons/io5"; import { useState } from "react"; import styles from "./EditPopUp.module.css"; import updateUser from "./update-user"; import { useAuthToken } from "../../../auth/Hooks/use-auth-token"; type EditPopUpProps = { closePopup: () => void; refetchUsers: () => Promise; user: { id: string; name: string; email: string; role: string; position: string; azure_id: string; }; }; const EditPopUp = ({ closePopup, refetchUsers, user }: EditPopUpProps) => { const { getToken } = useAuthToken(); const [formData, setFormData] = useState({ name: user.name, email: user.email, role: user.role, position: user.position || "" }); const handleChange = (e: React.ChangeEvent) => { const { name, value } = e.target; setFormData(prev => ({ ...prev, [name]: value })); }; const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); try { const token = await getToken(); await updateUser(user.azure_id, formData, token); await refetchUsers(); closePopup(); } catch (error) { console.error("Failed to update user:", error); } }; return (

Edit User

); }; const popupStyles: { overlay: React.CSSProperties; popup: React.CSSProperties } = { overlay: { position: "fixed", top: 0, left: 0, right: 0, bottom: 0, backgroundColor: "rgba(0,0,0,0.5)", display: "flex", justifyContent: "center", alignItems: "center", }, popup: { backgroundColor: "#fff", borderRadius: "8px", boxShadow: "0 5px 15px rgba(0,0,0,0.3)", position: "relative", width: "400px", maxWidth: "90%" } }; export default EditPopUp;