mirror of
https://github.com/LucasVbr/meeting-app.git
synced 2026-07-09 15:08:06 +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 SearchFailCard from "./SearchFailCard";
|
||||||
import LoadingPage from "@/components/LoadingPage";
|
import LoadingPage from "@/components/LoadingPage";
|
||||||
|
|
||||||
export default function CardUser({
|
export default function CardUser({ users, loggedUser, setMatch }) {
|
||||||
users,
|
|
||||||
loggedUser,
|
|
||||||
userLikes,
|
|
||||||
setUserLikes,
|
|
||||||
userDislikes,
|
|
||||||
setUserDislikes,
|
|
||||||
}) {
|
|
||||||
const toast = useToast({
|
const toast = useToast({
|
||||||
position: "top",
|
position: "top",
|
||||||
duration: 2000,
|
duration: 2000,
|
||||||
@@ -61,8 +54,10 @@ export default function CardUser({
|
|||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (data.match) {
|
||||||
|
setMatch(true);
|
||||||
|
}
|
||||||
setListUsers(listUsers.slice(1));
|
setListUsers(listUsers.slice(1));
|
||||||
setUserLikes([...userLikes, data.userLiked]);
|
|
||||||
toast({
|
toast({
|
||||||
title: "J'aime",
|
title: "J'aime",
|
||||||
description: "Votre action a bien été prise en compte",
|
description: "Votre action a bien été prise en compte",
|
||||||
@@ -103,7 +98,6 @@ export default function CardUser({
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
setListUsers(listUsers.slice(1));
|
setListUsers(listUsers.slice(1));
|
||||||
setUserDislikes([...userDislikes, data.userDisliked]);
|
|
||||||
toast({
|
toast({
|
||||||
title: "J'aime pas",
|
title: "J'aime pas",
|
||||||
description: "Votre action a bien été prise en compte",
|
description: "Votre action a bien été prise en compte",
|
||||||
|
|||||||
@@ -18,6 +18,30 @@ const post = async (req, res) => {
|
|||||||
|
|
||||||
const match = likedByList.OtherUserLikesID.includes(idUserLiked);
|
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
|
//faire une notification mais faut qu'on regarde un meilleur moyen dans la BD
|
||||||
|
|
||||||
await prisma.user.update({
|
await prisma.user.update({
|
||||||
|
|||||||
+16
-9
@@ -16,8 +16,7 @@ import LoadingPage from "@/components/LoadingPage";
|
|||||||
export default function Dashboard() {
|
export default function Dashboard() {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const toast = useToast({ position: "top", isClosable: true });
|
const toast = useToast({ position: "top", isClosable: true });
|
||||||
const [userLikes, setUserLikes] = useState([] as string[]);
|
const [newMatch, setNewMatch] = useState(false);
|
||||||
const [userDislikes, setUserDislikes] = useState([] as string[]);
|
|
||||||
|
|
||||||
const { data: session, status } = useSession();
|
const { data: session, status } = useSession();
|
||||||
|
|
||||||
@@ -32,9 +31,6 @@ export default function Dashboard() {
|
|||||||
queryFn: async () => {
|
queryFn: async () => {
|
||||||
const { user } = session as unknown as Session;
|
const { user } = session as unknown as Session;
|
||||||
|
|
||||||
setUserDislikes([...user.UserDislikesID]);
|
|
||||||
setUserLikes([...user.UserLikesID]);
|
|
||||||
|
|
||||||
return fetch(`/api/users/${user.id}`)
|
return fetch(`/api/users/${user.id}`)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
return res.json();
|
return res.json();
|
||||||
@@ -76,6 +72,20 @@ export default function Dashboard() {
|
|||||||
if (status === "unauthenticated") router.push("/");
|
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 (
|
return (
|
||||||
<>
|
<>
|
||||||
<Head>
|
<Head>
|
||||||
@@ -105,10 +115,7 @@ export default function Dashboard() {
|
|||||||
<CardUser
|
<CardUser
|
||||||
users={listUsers.users}
|
users={listUsers.users}
|
||||||
loggedUser={loggedUser}
|
loggedUser={loggedUser}
|
||||||
userLikes={userLikes}
|
setMatch={setNewMatch}
|
||||||
setUserLikes={setUserLikes}
|
|
||||||
userDislikes={userDislikes}
|
|
||||||
setUserDislikes={setUserDislikes}
|
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</Box>
|
</Box>
|
||||||
|
|||||||
Reference in New Issue
Block a user