Control errors and feedback

This commit is contained in:
T'JAMPENS QUENTIN p2406187
2026-02-06 15:23:35 +01:00
parent 3c992d5df7
commit c5d4edb8a1
2 changed files with 34 additions and 2 deletions
@@ -25,3 +25,7 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.modalContent {
text-align: center;
}
@@ -5,6 +5,7 @@ import Button from "../../../../components/ui/button/button";
import Response from "../../../../interfaces/response.interface"; import Response from "../../../../interfaces/response.interface";
import ResponseData from "./responseData.inteface"; import ResponseData from "./responseData.inteface";
import adminCreateUser from "../../../../utils/users/adminCreateUser"; import adminCreateUser from "../../../../utils/users/adminCreateUser";
import Modal from "../../../../components/ui/modal/modal";
const RegisterMember: React.FC = () => { const RegisterMember: React.FC = () => {
@@ -15,14 +16,36 @@ const RegisterMember: React.FC = () => {
const [phone, setPhone] = useState<string>(""); const [phone, setPhone] = useState<string>("");
const [password, setPassword] = useState<string>(""); const [password, setPassword] = useState<string>("");
const [open, setOpen] = useState<boolean>(false);
const [title, setTitle] = useState<string>("");
const [message, setMessage] = useState<string>("");
const handleCreate = async (): Promise<void> => { const handleCreate = async (): Promise<void> => {
if(name !== "" || lastname !== "" || email !== "" || phone !== "" ) { if(name !== "" || lastname !== "" || email !== "" || phone !== "" ) {
const response: Response<ResponseData> = await adminCreateUser(email, name, lastname, phone); const response: Response<ResponseData> = await adminCreateUser(email, name, lastname, phone);
if(response.status === 200) setPassword(response.data.password); if(response.status === 200) {
setPassword(response.data.password);
setTitle(`Utilisateur enregistré avec succès`);
setMessage(`L'utilisateur ${name} ${lastname} a été enregistré avec le mot de passe: ${response.data.password}`);
setOpen(true);
} else {
setTitle(`Erreur`);
setMessage(`Une erreur est survenue lors de l'enregistrement de ${name} ${lastname}`);
setOpen(true);
}
} else {
setTitle("Erreur");
setMessage("Un des champs n'a pas été rempli");
setOpen(true);
} }
}
const showPassword = (): void => {
setTitle(`Mot de passe de ${name} ${lastname}`);
setMessage(password);
setOpen(true);
} }
return <div className={`${styles.leftBlock} glassCard`}> return <div className={`${styles.leftBlock} glassCard`}>
@@ -36,10 +59,15 @@ const RegisterMember: React.FC = () => {
<TextInput placeholder={"Adresse Email"} type={"text"} value={email} onChange={e => setEmail(e.target.value)} /> <TextInput placeholder={"Adresse Email"} type={"text"} value={email} onChange={e => setEmail(e.target.value)} />
<TextInput placeholder={"Numéro de téléphone"} type={"text"} value={phone} onChange={e => setPhone(e.target.value)} /> <TextInput placeholder={"Numéro de téléphone"} type={"text"} value={phone} onChange={e => setPhone(e.target.value)} />
<p>{password !== "" && `Mot de passe: ${password}`}</p> {password !== "" && <Button onClick={showPassword}> Afficher le mot de passe </Button>}
<Button variant={"default"} onClick={handleCreate}>Enregistrer</Button> <Button variant={"default"} onClick={handleCreate}>Enregistrer</Button>
</div> </div>
<Modal open={open} onClose={() => setOpen(false)} title={title}>
<p className={styles.modalContent}>{message}</p>
</Modal>
</div> </div>
} }