diff --git a/src/components/ModalModifyImages.jsx b/src/components/ModalModifyImages.jsx index 4f475cc..f31de9a 100644 --- a/src/components/ModalModifyImages.jsx +++ b/src/components/ModalModifyImages.jsx @@ -77,11 +77,9 @@ export default function ModalModifyImages(props) { if (index > -1) { newListImage.splice(index, 1); - setlistImage(newListImage); + setlistImage([...newListImage]); } - // setlistImage(listImage.filter((image) => image !== fileName)); - const imageDeleteOptions = { method: "DELETE", body: JSON.stringify({ fileName: fileName.split("/").pop() }), diff --git a/src/pages/api/file/deleteFile.js b/src/pages/api/file/deleteFile.js index 5d6af83..fb8c7d2 100644 --- a/src/pages/api/file/deleteFile.js +++ b/src/pages/api/file/deleteFile.js @@ -11,7 +11,7 @@ export const config = { const deleteImage = async (req, res) => { const body = await JSON.parse(req.body); await fs.unlinkSync(`./public/imageUsers/${body.fileName}`); - res.status(200).send("image deleted"); + res.status(204).send({ message: "File deleted", file: body.fileName }); }; export default (req, res) => { diff --git a/src/pages/api/file/uploadFile.js b/src/pages/api/file/uploadFile.js index c96648d..3b60a83 100644 --- a/src/pages/api/file/uploadFile.js +++ b/src/pages/api/file/uploadFile.js @@ -20,7 +20,7 @@ const post = async (req, res) => { return; } saveFile(files.file); - return res.status(201).send("image saved"); + return res.status(201).send({ message: "File uploaded", file: files.file }); }); }; diff --git a/src/pages/userProfile.tsx b/src/pages/userProfile.tsx index 55c2cf5..3a9cf66 100644 --- a/src/pages/userProfile.tsx +++ b/src/pages/userProfile.tsx @@ -35,7 +35,11 @@ export default function UserProfile() { const toast = useToast(); const [isLoading, setIsLoading] = useState(false); - const { handleSubmit, control } = useForm(); + const { + handleSubmit, + control, + formState: { errors }, + } = useForm(); const [userData, setUserData] = useState({}); @@ -76,7 +80,6 @@ export default function UserProfile() { setIsLoading(true); fetch(`/api/users/${user.id}`, options) .then((res) => { - console.log(res); setIsLoading(false); toast({ title: `Modifications effectuées`, @@ -104,7 +107,7 @@ export default function UserProfile() { return ( - + {userData.images ? ( @@ -139,120 +142,140 @@ export default function UserProfile() { Modifiez les champs en les selectionnants -
- - - + + + + Prénom : ( - - - - - )} + defaultValue={ + user.firstName === null ? "" : user.firstName + } + rules={{ + required: { value: true, message: "Prénom requis" }, + }} + render={({ field }) => { + return ( + + + + + ); + }} /> - - + + {errors.firstName?.message} + + + + + Nom : ( { - // setUserData({ ...userData, lastName: value }); - // }} > )} /> - - - - Date de naissance : - - - - - - - - - - - Ville : - - - - - - - - Adresse mail : - - - - - - - - + + {errors.lastName?.message} + + + + + + Date de naissance : + + + + + + + + + + + Ville : + + + + + + + + Adresse mail : + + + + + + + + + À propos : ( )} /> + + {errors.bio?.message} + + + + + + + + Genre : + + ( + { + // setUserData({ ...userData, gender: value }); + // }} + > + + + {getTextGender(Gender.MALE)} + + + {getTextGender(Gender.FEMALE)} + + + {getTextGender(Gender.OTHER)} + + + {getTextGender(Gender.UNKNOWN)} + + + + )} + /> - - - - - Genre : - - ( - { - // setUserData({ ...userData, gender: value }); - // }} - > - - - {getTextGender(Gender.MALE)} - - - {getTextGender(Gender.FEMALE)} - - - {getTextGender(Gender.OTHER)} - - - {getTextGender(Gender.UNKNOWN)} - - - - )} - /> - - {/* + {/* Préference : @@ -343,19 +370,18 @@ export default function UserProfile() { */} - - -
- -
- - +
+ +
+ +
+