diff --git a/src/components/layout/dashboard/left_panel/LeftPanel.tsx b/src/components/layout/dashboard/left_panel/LeftPanel.tsx index c940cfe..336c523 100644 --- a/src/components/layout/dashboard/left_panel/LeftPanel.tsx +++ b/src/components/layout/dashboard/left_panel/LeftPanel.tsx @@ -41,7 +41,12 @@ export default function LeftPanel(props) { maxHeight={"50vh"} /> - + {user.firstName} {user.lastName} @@ -78,10 +83,11 @@ export default function LeftPanel(props) { } - onClickHandler={() => router.push("/graphique")}> - Statistiques - + leftIcon={} + onClickHandler={() => router.push("/graphique")} + > + Statistiques + { - const { user } = session as unknown as Session; + const { data: matches } = useQuery({ + queryKey: ["matches"], + queryFn: async () => { + return fetch( + `/api/notifications/?where={"type": "${NotificationType.NEW_MATCH}"}` + ) + .then((res) => res.json()) + .catch((err) => { + return err; + }); + }, + }); - return fetch(`/api/users/${user.id}`) - .then((res) => res.json()) - .catch((err) => { - return err; - }); - }, - }); + const { data: userData } = useQuery({ + queryKey: ["matchesUser"], + enabled: status === "authenticated", + queryFn: async () => { + const { user } = session as unknown as Session; + return fetch(`/api/users/${user.id}?include=Notification,Message`) + .then((res) => res.json()) + .catch((err) => { + return err; + }); + }, + }); + + console.log(userData); + + const { data: messages } = useQuery({ + queryKey: ["messages"], + queryFn: async () => { + return fetch(`/api/messages/`) + .then((res) => res.json()) + .catch((err) => { + return err; + }); + }, + }); return ( <> - - + + + + + } + onClickHandler={() => router.push("/dashboard")} + > + Accueil + - - + } + onClickHandler={() => router.push("/map")} + > + Carte + - } - onClickHandler={() => router.push("/dashboard")}> - Accueil - + } + onClickHandler={() => router.push("/profile")} + > + Profil + - } - onClickHandler={() => router.push("/map")}> - Carte - + } + onClickHandler={() => signOut({ callbackUrl: "/" })} + > + Déconnexion + + + + + + + + + Bénéfices + + + + Recette dus aux abonnements + 0.00€ + + + 0% Mai 2022 - Mai 2023 + + - } - onClickHandler={() => router.push("/profile")}> - Profil - + + + Infos des échanges de touts les utilisateurs + + + + + Messages envoyés + + {Boolean(messages) ? messages.length : "-"} + + + + Matchs + + {Boolean(matches) ? matches.length / 2 : "-"} + + + + + + {Boolean(userData) + ? `Infos des échanges de ${userData?.firstName} ${userData?.lastName}` + : "Infos des échanges de l'utilisateur"} + + + + + Messages envoyés + + {Boolean(userData) ? userData.Message.length : "-"} + + + + Matchs + + {Boolean(userData) + ? userData.Notification.filter((notif) => { + return notif.type === NotificationType.NEW_MATCH; + }).length + : "-"} + + + - } - onClickHandler={() => signOut({ callbackUrl: "/" })}> - Déconnexion - - - - - - - - - Bénéfices - - - - Recette dus aux abonnements - 0.00€ - Mai 2022 - Mai 2023 - - - - - Infos des échanges - - - - - Messages envoyés - 345,670 - - - 23.36% - - - - Matchs - 45 - - - 9.05% - - - - - - - Date de création des comptes depuis l'ouverture. - - - - - - - - - - Proportion du genre des utilisateurs. - - - - - - - + + + Date de création des comptes depuis l'ouverture. + + + + + + + + + Proportion du genre des utilisateurs. + + + + + + + ); }