diff --git a/src/app/components/InfiniteScroll.js b/src/app/components/InfiniteScroll.js index ba1d3639244aa7b1e12f85a3fb9f08f5a1de86c0..1f1fa624fe19a16844c31cc1f3408ca979197307 100644 --- a/src/app/components/InfiniteScroll.js +++ b/src/app/components/InfiniteScroll.js @@ -1,5 +1,5 @@ import React, { useState, useEffect, useCallback } from "react"; -import InfiniteScrollCards from "./InfiniteScrollCards";'' +import InfiniteScrollCards from "./InfiniteScrollCards"; import mecredApi from "@/axiosConfig"; import Loading from "./Loading"; import { useSearchParams, useRouter } from "next/navigation"; diff --git a/src/app/components/UsersPageCard.js b/src/app/components/UsersPageCard.js index 055a5948d845fe68b92eb13e01624d136924af01..e868234f6cabb06e6c2e821dd0fa7f651aa55abc 100644 --- a/src/app/components/UsersPageCard.js +++ b/src/app/components/UsersPageCard.js @@ -15,18 +15,21 @@ import mecredApi from "@/axiosConfig"; export default function UsersPageCard({ item }) { const [achievements, setAchievements] = useState(null); - const fetchAchievements = async (id) => { - await mecredApi - .get(`/unlocked_achievements/user/${id}?limit=1000`) - .then(({ data }) => { - setAchievements(data); - }) - .catch(() => setError(true)) - } + useEffect(() => { + const fetchAchievements = async (id) => { + if (!id) + return; + await mecredApi + .get(`/unlocked_achievements/user/${id}?limit=1000`) + .then(({ data }) => { + setAchievements(data); + }) + .catch(() => console.error("Não encontrou conquistas")) + } + fetchAchievements(item?.id); + }, [item]) - fetchAchievements(item.id); - function getRandomBg(id) { const colors = [ "bg-turquoise-HC-white", @@ -37,7 +40,6 @@ export default function UsersPageCard({ item }) { "bg-pink-HC-white", "bg-red-HC-white", "bg-darkGray-HC-white", - "bg-ice-HC-white", ] return colors[id % colors.length]; @@ -59,13 +61,13 @@ export default function UsersPageCard({ item }) { <p className=" font-bold text-darkGray-HC-white-underline text-center">{item["name"]}</p> </div> - <hr className="border-lightGray-HC-white h-1 mx-4 "/> + <hr className="border-lightGray-HC-white h-1 mx-4 " /> <div className="flex items-center flex-col gap-1 py-3 "> <div className="grid grid-cols-2 justify-start gap-1"> <div className="flex items-center mb-2"> - <img className="flex h-[20px] px-1 text-mediumGray-HC-white invertLogo-HC-white" + <img className="flex h-[20px] px-1 text-mediumGray-HC-white invertLogo-HC-white" src="/nivel.svg" - alt="Icon nivel" + alt="Icon nivel" /> <p className="mt-2 text-sm text-darkGray-HC-white-underline px-1">Nível: {item["level"]}</p> </div> @@ -82,9 +84,9 @@ export default function UsersPageCard({ item }) { <p className="text-sm text-darkGray-HC-white-underline inline px-1">Recursos: {item["learning_objects_count"]}</p> </div> <div className="flex items-center mb-2"> - <img className="flex h-[20px] px-1 invertLogo-HC-white" + <img className="flex h-[20px] px-1 invertLogo-HC-white" src="/conquistas.svg" - alt="Icon conquista" + alt="Icon conquista" /> <p className="mt-2 text-sm text-darkGray-HC-white-underline px-1">Conquistas: {achievements?.length}</p> </div> diff --git a/src/app/perfil/[id]/components/FollowersCards.js b/src/app/perfil/[id]/components/FollowersCards.js index f4102bea7aa42188521e4426b68563419c8bc37c..147e3e2730272195ca78292c2ed6a09ce205637b 100644 --- a/src/app/perfil/[id]/components/FollowersCards.js +++ b/src/app/perfil/[id]/components/FollowersCards.js @@ -61,7 +61,7 @@ export default function FollowersCards({ id, count }) { <div className="p-3 my-5 rounded-md min-w-[200px] min-h-[180px]"> <div className="flex flex-wrap justify-center"> {followers.map((item, i) => ( - item.follower && ( + item.follower?.id && ( <Fragment key={i}> <UsersPageCard item={item.follower} /> </Fragment> diff --git a/src/app/perfil/[id]/components/FollowingCards.js b/src/app/perfil/[id]/components/FollowingCards.js index b04101d724275a7c75b1949c3e9e5cc41ce71250..c7a5dca167e4dba8ccb6d3e01f8f88a6100558fc 100644 --- a/src/app/perfil/[id]/components/FollowingCards.js +++ b/src/app/perfil/[id]/components/FollowingCards.js @@ -61,7 +61,7 @@ export default function FollowingCards({ id, count }) { <div className="p-3 my-5 rounded-md min-w-[200px] min-h-[180px]"> <div className="flex flex-wrap justify-center"> {following.map((item, i) => ( - item && ( + item.followable?.id && ( <Fragment key={i}> <UsersPageCard item={item.followable} /> </Fragment>