mirror of
https://github.com/LucasVbr/meeting-app.git
synced 2026-05-13 17:21:53 +00:00
refactor(useless useState dashboard): removed useless usestate of dashboard
likedUser et dislikedUser
This commit is contained in:
@@ -18,14 +18,7 @@ import { useState } from "react";
|
||||
import SearchFailCard from "./SearchFailCard";
|
||||
import LoadingPage from "@/components/LoadingPage";
|
||||
|
||||
export default function CardUser({
|
||||
users,
|
||||
loggedUser,
|
||||
userLikes,
|
||||
setUserLikes,
|
||||
userDislikes,
|
||||
setUserDislikes,
|
||||
}) {
|
||||
export default function CardUser({ users, loggedUser, setMatch }) {
|
||||
const toast = useToast({
|
||||
position: "top",
|
||||
duration: 2000,
|
||||
@@ -61,8 +54,10 @@ export default function CardUser({
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (data.match) {
|
||||
setMatch(true);
|
||||
}
|
||||
setListUsers(listUsers.slice(1));
|
||||
setUserLikes([...userLikes, data.userLiked]);
|
||||
toast({
|
||||
title: "J'aime",
|
||||
description: "Votre action a bien été prise en compte",
|
||||
@@ -103,7 +98,6 @@ export default function CardUser({
|
||||
return;
|
||||
}
|
||||
setListUsers(listUsers.slice(1));
|
||||
setUserDislikes([...userDislikes, data.userDisliked]);
|
||||
toast({
|
||||
title: "J'aime pas",
|
||||
description: "Votre action a bien été prise en compte",
|
||||
|
||||
@@ -18,6 +18,30 @@ const post = async (req, res) => {
|
||||
|
||||
const match = likedByList.OtherUserLikesID.includes(idUserLiked);
|
||||
|
||||
if (match) {
|
||||
await prisma.notification.create({
|
||||
data: {
|
||||
type: NotificationType.MATCH,
|
||||
user: {
|
||||
connect: {
|
||||
id: idUser,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
await prisma.notification.create({
|
||||
data: {
|
||||
type: NotificationType.MATCH,
|
||||
user: {
|
||||
connect: {
|
||||
id: idUserLiked,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
//faire une notification mais faut qu'on regarde un meilleur moyen dans la BD
|
||||
|
||||
await prisma.user.update({
|
||||
|
||||
+16
-9
@@ -16,8 +16,7 @@ import LoadingPage from "@/components/LoadingPage";
|
||||
export default function Dashboard() {
|
||||
const router = useRouter();
|
||||
const toast = useToast({ position: "top", isClosable: true });
|
||||
const [userLikes, setUserLikes] = useState([] as string[]);
|
||||
const [userDislikes, setUserDislikes] = useState([] as string[]);
|
||||
const [newMatch, setNewMatch] = useState(false);
|
||||
|
||||
const { data: session, status } = useSession();
|
||||
|
||||
@@ -32,9 +31,6 @@ export default function Dashboard() {
|
||||
queryFn: async () => {
|
||||
const { user } = session as unknown as Session;
|
||||
|
||||
setUserDislikes([...user.UserDislikesID]);
|
||||
setUserLikes([...user.UserLikesID]);
|
||||
|
||||
return fetch(`/api/users/${user.id}`)
|
||||
.then((res) => {
|
||||
return res.json();
|
||||
@@ -76,6 +72,20 @@ export default function Dashboard() {
|
||||
if (status === "unauthenticated") router.push("/");
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Avec newMatch, faire une fonction qui refetch le user et qui affiche
|
||||
* un modal avec les infos du user matché
|
||||
*
|
||||
* (peut etre invalidateQueries mais apres je sais pas comment on la relance)
|
||||
*
|
||||
* Si j'arrive à faire le invalidateQueries, je met dans le useQuery
|
||||
* onSuccess: (loggedUser) => {
|
||||
* if (loggedUser.match.length > 0)
|
||||
* afficher le modal
|
||||
*
|
||||
*/
|
||||
|
||||
return (
|
||||
<>
|
||||
<Head>
|
||||
@@ -105,10 +115,7 @@ export default function Dashboard() {
|
||||
<CardUser
|
||||
users={listUsers.users}
|
||||
loggedUser={loggedUser}
|
||||
userLikes={userLikes}
|
||||
setUserLikes={setUserLikes}
|
||||
userDislikes={userDislikes}
|
||||
setUserDislikes={setUserDislikes}
|
||||
setMatch={setNewMatch}
|
||||
/>
|
||||
)}
|
||||
</Box>
|
||||
|
||||
Reference in New Issue
Block a user