From 5c2fdc10e12ebda64dc1b62fa78fc3e556233c5d Mon Sep 17 00:00:00 2001
From: Maria Sauer <mcs22@inf.ufpr.br>
Date: Thu, 20 Mar 2025 10:08:51 -0300
Subject: [PATCH] Issue #269: profile bugs

---
 src/app/perfil/[id]/components/FollowersCards.js   |  5 ++++-
 src/app/perfil/[id]/components/FollowingCards.js   |  6 ++++--
 src/app/perfil/[id]/components/ProfileResources.js | 11 +++++++----
 src/app/recurso/[id]/page.js                       |  2 +-
 4 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/src/app/perfil/[id]/components/FollowersCards.js b/src/app/perfil/[id]/components/FollowersCards.js
index a0207902..12523e82 100644
--- a/src/app/perfil/[id]/components/FollowersCards.js
+++ b/src/app/perfil/[id]/components/FollowersCards.js
@@ -42,7 +42,10 @@ export default function FollowersCards({ id, count }) {
         };
 
         fetchData();
-    }, [id, numberCards, token, client, uid, expiry]);
+    // token changes after each request so if we put as dependecy it will keep changing and make more than one request.
+    // to solve this we probably need useContext.
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+    }, [id, numberCards, client, uid, expiry]);
 
     const toggleContent = () => {
         setNumberCards((prevNumberCards) => prevNumberCards + 12);
diff --git a/src/app/perfil/[id]/components/FollowingCards.js b/src/app/perfil/[id]/components/FollowingCards.js
index 4abd67d2..1b93226d 100644
--- a/src/app/perfil/[id]/components/FollowingCards.js
+++ b/src/app/perfil/[id]/components/FollowingCards.js
@@ -21,7 +21,6 @@ export default function FollowingCards({ id, count }) {
     const uid = getStoredValue("uid");
     const expiry = getStoredValue("expiry");
     const [got, setGot] = useState(false);
-
     useEffect(() => {
         const fetchData = async () => {
             try {
@@ -42,7 +41,10 @@ export default function FollowingCards({ id, count }) {
         };
 
         fetchData();
-    }, [id, numberCards, token, client, uid, expiry]);
+        // token changes after each request so if we put as dependecy it will keep changing and make more than one request.
+        // to solve this we probably need useContext.
+        // eslint-disable-next-line react-hooks/exhaustive-deps
+    }, [id, numberCards, client, uid, expiry]);
 
     const toggleContent = () => {
         setNumberCards((prevNumberCards) => prevNumberCards + 12);
diff --git a/src/app/perfil/[id]/components/ProfileResources.js b/src/app/perfil/[id]/components/ProfileResources.js
index 717d23d3..290cc3a7 100644
--- a/src/app/perfil/[id]/components/ProfileResources.js
+++ b/src/app/perfil/[id]/components/ProfileResources.js
@@ -69,10 +69,13 @@ export default function ProfileResources({ id, idLogin }) {
           console.error(error);
         });
     };
-
+    idLogin === id
     fetchLearningObjects(id);
-    fetchSubmissions(id);
-  }, [id, numberCards, token, client, uid, expiry]);
+
+    //só aparece os recursos em homologação se o perfil acessado for o mesmo do logado
+    if (idLogin === id) fetchSubmissions(id);
+
+  }, [id, numberCards, token, client, uid, expiry, idLogin]);
 
   const toggleContent = () => {
     setNumberCards(numberCards + 12)
@@ -131,7 +134,7 @@ export default function ProfileResources({ id, idLogin }) {
                     image={resource.learning_object.thumbnail}
                     updated_at={resource.learning_object.updated_at}
                     homologa={resource.status}
-                  />                                    
+                  />
                 ))}
               </div>
             </div>
diff --git a/src/app/recurso/[id]/page.js b/src/app/recurso/[id]/page.js
index cf746253..02ed9e7e 100644
--- a/src/app/recurso/[id]/page.js
+++ b/src/app/recurso/[id]/page.js
@@ -51,7 +51,7 @@ export default function Recurso({ params }) {
           };
         }
 
-        const response = await mecredApi.get(`learning_objects/${params.id}`);
+        const response = await mecredApi.get(`learning_objects/${params.id}`, { headers });
 
         setLearningObject(response.data);
         setState(response.data.state === "submitted");
-- 
GitLab