diff --git a/frontend/src/components/modals/user/EditUserModal.jsx b/frontend/src/components/modals/user/EditUserModal.jsx new file mode 100644 index 0000000..0c84bd5 --- /dev/null +++ b/frontend/src/components/modals/user/EditUserModal.jsx @@ -0,0 +1,105 @@ +import React, { useState, useEffect } from 'react'; +import { + Modal, + Stack, + TextInput, + Select, + Button, + Group, + PasswordInput, + Text, +} from '@mantine/core'; + +const EditUserModal = ({ opened, onClose, onEditUser, loading, user }) => { + const [formData, setFormData] = useState({ + email: '', + displayName: '', + role: '', + password: '', + }); + + useEffect(() => { + if (user) { + setFormData({ + email: user.email, + displayName: user.displayName || '', + role: user.role, + password: '', + }); + } + }, [user]); + + const handleSubmit = async () => { + const updateData = { + ...formData, + ...(formData.password ? { password: formData.password } : {}), + }; + + const result = await onEditUser(user.id, updateData); + if (result.success) { + setFormData({ + email: '', + displayName: '', + role: '', + password: '', + }); + onClose(); + } + }; + + return ( + + + + setFormData({ ...formData, email: e.currentTarget.value }) + } + placeholder="user@example.com" + /> + + setFormData({ ...formData, displayName: e.currentTarget.value }) + } + placeholder="John Doe" + /> +