import { Form, Input, Select } from "antd"; import Modal from "antd/es/modal/Modal"; import { Constants, EncodeStringToBase64, SentMessagesCommands, WebSocketContext, isEmailValid, } from "../../utils"; import { useContext, useState } from "react"; export default function CreateUserModal({ isModalOpen, setIsModalOpen }) { const webSocketContext = useContext(WebSocketContext); const [username, setUsername] = useState(""); const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [selectedRoleId, setSelectedRoleId] = useState(); const isCreateUserPossible = () => { if ( username.length < Constants.GLOBALS.MIN_USERNAME_LENGTH || username.length > Constants.GLOBALS.MAX_USERNAME_LENGTH || !isEmailValid(email) || password.length < Constants.GLOBALS.MIN_PASSWORD_LENGTH || password.length > Constants.GLOBALS.MAX_PASSWORD_LENGTH || selectedRoleId === "" || selectedRoleId === undefined ) { return false; } return true; }; const onConfirmUserCreation = () => { if (!isCreateUserPossible()) return; webSocketContext.SendSocketMessage( SentMessagesCommands.AllUsersCreateNewUser, { Username: username, Email: email, Password: EncodeStringToBase64(password), RoleId: selectedRoleId, } ); setUsername(""); setEmail(""); setPassword(""); setSelectedRoleId(); setIsModalOpen(false); }; return ( setIsModalOpen(false)} onOk={() => onConfirmUserCreation()} >
setUsername(e.target.value)} minLength={Constants.GLOBALS.MIN_USERNAME_LENGTH} maxLength={Constants.GLOBALS.MAX_USERNAME_LENGTH} /> setEmail(e.target.value)} type="email" /> setPassword(e.target.value)} minLength={Constants.GLOBALS.MIN_PASSWORD_LENGTH} maxLength={Constants.GLOBALS.MAX_PASSWORD_LENGTH} />
); }