feat(image des users de la vidéo): image user de la vidéo

This commit is contained in:
Laurian-Dufrechou
2023-05-22 19:52:59 +02:00
parent 79867ba2ea
commit bd5bfff327
8 changed files with 62 additions and 56 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

@@ -13,16 +13,16 @@ import {
useCheckboxGroup,
useDisclosure,
useToast,
} from '@chakra-ui/react';
import {useQueryClient} from '@tanstack/react-query';
import {RiEditBoxLine} from 'react-icons/ri';
import CustomCheckbox from './CustomCheckbox';
import {Passion} from '@prisma/client';
} from "@chakra-ui/react";
import { useQueryClient } from "@tanstack/react-query";
import { RiEditBoxLine } from "react-icons/ri";
import CustomCheckbox from "./CustomCheckbox";
import { Passion } from "@prisma/client";
export default function ModalChoosePassion(props) {
const { isOpen, onOpen, onClose } = useDisclosure();
const { user, passions } = props;
const toast = useToast({position: 'top', isClosable: true});
const toast = useToast({ position: "top", isClosable: true });
const client = useQueryClient();
const { value, getCheckboxProps } = useCheckboxGroup({
@@ -37,23 +37,23 @@ export default function ModalChoosePassion(props) {
});
const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
method: "PUT",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(jsonPassions),
};
fetch(`/api/users/${user.id}`, options)
.then(res => res.json())
.then((res) => res.json())
.then(() => {
toast({
title: 'Centres d\'intérêts mis à jour',
status: 'success',
title: "Centres d'intérêts mis à jour",
status: "success",
duration: 9000,
});
client.invalidateQueries('user');
onClose();
client.invalidateQueries({ queryKey: ["userProfile"] });
})
.catch(err => console.log(err));
.catch((err) => console.log(err));
};
return (
@@ -62,21 +62,27 @@ export default function ModalChoosePassion(props) {
Choisir les centres d'intérêts
</Button>
<Modal blockScrollOnMount={false} size={'4xl'} isOpen={isOpen}
onClose={onClose} scrollBehavior={'inside'}>
<Modal
blockScrollOnMount={false}
size={"4xl"}
isOpen={isOpen}
onClose={onClose}
scrollBehavior={"inside"}
>
<ModalOverlay />
<ModalContent>
<ModalHeader>Choix des centres d'intérêts</ModalHeader>
<ModalCloseButton />
<ModalBody>
<Flex gap={'1rem'} flexWrap="wrap">
{passions && (
<Flex gap={"1rem"} flexWrap="wrap">
{passions &&
passions.map((passion: Passion) => (
<CustomCheckbox key={passion.id} text={passion.name}
{...getCheckboxProps({value: passion.id})}/>
)
)
)}
<CustomCheckbox
key={passion.id}
text={passion.name}
{...getCheckboxProps({ value: passion.id })}
/>
))}
</Flex>
</ModalBody>
@@ -192,7 +192,7 @@ export default function ModalModifyImages(props) {
<Button
mr={3}
onClick={() => {
client.invalidateQueries("user");
client.invalidateQueries({ queryKey: ["userProfile"] });
onClose();
}}
>
+2 -2
View File
@@ -72,7 +72,7 @@ export default function UserProfile() {
data: userData,
error,
} = useQuery({
queryKey: ["user"],
queryKey: ["userProfile"],
enabled: status === "authenticated",
queryFn: async () => {
const { user } = session as unknown as Session;
@@ -149,7 +149,7 @@ export default function UserProfile() {
status: "success",
isClosable: true,
});
queryClient.invalidateQueries({ queryKey: ["user"] });
queryClient.invalidateQueries({ queryKey: ["userProfile"] });
})
.catch((err) => {
setCurrentlyLoading(false);