diff --git a/src/app/components/MenuProfile.js b/src/app/components/MenuProfile.js
index c191ca2c06df271785ec7416c828702e9bfb368d..c74d4b5f62367435abfc18cb4d9f852b65a506e6 100644
--- a/src/app/components/MenuProfile.js
+++ b/src/app/components/MenuProfile.js
@@ -103,7 +103,7 @@ export default function AccountMenu() {
 
   return (
     <>
-      {logged ? (
+      {loggedIn ? (
         <Box className="mr-5 flex align-center">
           <IconButton
             onClick={handleClick}
diff --git a/src/app/components/Notifications.js b/src/app/components/Notifications.js
index 83aa18451e265a6f3567418ee74c35fb70582761..9345ba8e033931b039171a6a87a6e6c5a7056d93 100644
--- a/src/app/components/Notifications.js
+++ b/src/app/components/Notifications.js
@@ -35,7 +35,7 @@ export default function Notifications({id}) {
         //chama funcao
          getNotifications()
    
-        }, [loggedIn, uid, client, token])
+        }, [loggedIn])
 
     const postViewNotification = async (payload) => {
         console.log("oiii", payload)
@@ -53,4 +53,4 @@ export default function Notifications({id}) {
 
     return <ModalNotifications countNotifications={countNotifications} notifications={notifications} postViewNotification={postViewNotification} />
     
-}
\ No newline at end of file
+}
diff --git a/src/app/entrar/page.js b/src/app/entrar/page.js
index 59444d6a8ddcdf8893dda1fa7fa5819004a3d593..b0858217e9b8a440303fe7ecbc8bb8048627582f 100644
--- a/src/app/entrar/page.js
+++ b/src/app/entrar/page.js
@@ -65,9 +65,6 @@ function Login() {
   const userLogin = async (event) => {
     event.preventDefault();
     await logIn(userEmail, userPassword)
-      .then((res) => {
-      console.log(res);
-    })
       .catch((error) => {
         console.log(error);
         setErrorMessage(error['response']['data']['error']['message']);
diff --git a/src/app/perfil/[id]/components/UserCard.js b/src/app/perfil/[id]/components/UserCard.js
index fd8b617e9836bfa16f98282996364e46366087cf..3d51fb096bb920b8a1268cb805c37cafbe0abec2 100644
--- a/src/app/perfil/[id]/components/UserCard.js
+++ b/src/app/perfil/[id]/components/UserCard.js
@@ -116,7 +116,7 @@ export default function UserCard({ profileData, idLogin, achievements, progresse
     useEffect(() => {
         if (!loggedIn)
             return;
-        setProfileInfo(userData()["user"])
+        setProfileInfo(userData())
         console.log(profileData)
         const fetchFollowers = async () => {
             await mecredApi.get(`public/user/followers/${profileData.id}`, {
@@ -303,4 +303,4 @@ export default function UserCard({ profileData, idLogin, achievements, progresse
             </div>
         </div>
     );
-}
\ No newline at end of file
+}
diff --git a/src/app/perfil/[id]/page.js b/src/app/perfil/[id]/page.js
index 95cd964f7a7b7f1e8d94e7f185488dd99f06ad7c..40bdd07391bd883076e47d792529b6ae86fdb5a5 100644
--- a/src/app/perfil/[id]/page.js
+++ b/src/app/perfil/[id]/page.js
@@ -1,5 +1,5 @@
-"use client"
-import UserCard from "./components/UserCard"
+"use client";
+import UserCard from "./components/UserCard";
 import { getStoredValue } from "../../handlers/localStorageHandler";
 import { useEffect, useState } from "react";
 import Overlay from "../../components/Overlay";
@@ -7,124 +7,89 @@ import mecredApi from "@/axiosConfig";
 import { authHeaders, isLoggedIn, userData } from "@/app/handlers/loginHandler";
 import ErrorComponent from "@/app/components/ErrorComponent";
 
-export default function Perfil({ params }) {
-    const [profileData, setProfileData] = useState(null);
-    const [achievements, setAchievements] = useState(null);
-    const [items, setItems] = useState(null);
-    const [store, setStore] = useState(null);
-    const [progresses, setProgresses] = useState(null);
-    const [error, setError] = useState(false)
-    const [idLogin, setIdLogin] = useState(0)
-
-
-    const optTab = getStoredValue("tab");
-
-    /**
-     * Se o usuário não estiver logado faz apenas uma requisição simples das informações do usuário
-     * Se estiver logado, verifica se o perfil acessado (params.id) é o perfil do usuário logado, pois algumas ações são diferentes
-     * Atribui o id do usuário logado à idLogin para futuras verificações
-    */
-    useEffect(() => {
-
-        /*  Pega as estatisticas do usuario 
-            Mostra na barra de stats mesmo deslogado
-        */
-        const fetchAchievements = async (id) => {
-            await mecredApi
-                .get(`public/userAchievements/${id}/achievements`)
-                .then(({ data }) => {
-                    setAchievements(data);
-                })
-                .catch(() => setError(true))
-        }
-
-        fetchAchievements(params.id);
-
-        // const fetchProgresses = async (id) => {
-        //     await mecredApi
-        //         .get(`/user_progresses/${id}`)
-        //         .then(({ data }) => {
-        //             setProgresses(data);
-        //         })
-        //         .catch(() => setError(true))
-        // }
-
-        // fetchProgresses(params.id)
-
-        const fetchItems = async (id) => {
-            await mecredApi
-                .get(`public/user-items/${id}/items?limit=1000`)
-                .then(({ data }) => {
-                    setItems(data);
-                })
-                .catch(() => setError(true))
-        }
-
-        fetchItems(params.id)
-
-        if (isLoggedIn()) {
-            let data = userData()
-
-            const fetchUser = async (id) => {
-                await mecredApi
-                    .get(`api/user/${id}`, {
-                        headers: authHeaders()
-                    })
-                    .then(({ data }) => {
-                        console.log(data)
-                        setProfileData(data);
-                    })
-                    .catch(() => setError(true))
-            }
-
-            fetchUser(params.id)
-            setIdLogin(data["user"]["id"])
-
-            const fetchStore = async (id) => {
-                await mecredApi
-                    .get(`public/user-items/${id}/items?filter={"state" : "active"}&item_type=badge&unlock_rule=purchase&limit=1000`)
-                    .then(({ data }) => {
-                        setStore(data)
-                        console.log(data)
-                    })
-                    .catch(() => setError(true))
-            }
-
-            fetchStore(params.id)
-
-        } else {
-            const fetchUser = async (id) => {
-                await mecredApi
-                    .get(`api/user/${id}`)
-                    .then(({ data }) => {
-                        setProfileData(data);
-                    })
-                    .catch(() => setError(true))
-            }
-
-            fetchUser(params.id)
-        }
-
-    }, [params])
-
-    return (
-        <>
-            <Overlay type="twoColumns">
-                {error ? <ErrorComponent name="Usuário" /> :
-                    (profileData &&
-                        <UserCard
-                            profileData={profileData}
-                            idLogin={idLogin}
-                            achievements={achievements}
-                            progresses={progresses}
-                            setItems={setItems}
-                            items={items}
-                            store={store}
-                            tab={optTab}
-                        />
-                    )}
-            </Overlay>
-        </>
-    );
+export default function Perfil() {
+  const [profileData, setProfileData] = useState(null);
+  const [achievements, setAchievements] = useState(null);
+  const [items, setItems] = useState(null);
+  const [store, setStore] = useState(null);
+  const [progresses, setProgresses] = useState(null);
+  const [error, setError] = useState(false);
+
+  const optTab = getStoredValue("tab");
+
+  useEffect(() => {
+    if (!isLoggedIn()) {
+      setError(true);
+      return;
+    }
+
+    const user = userData();
+    console.log(user.id);
+    const userId = user?.id;
+
+    if (!userId) {
+      setError(true);
+      return;
+    }
+
+    const fetchUserData = async () => {
+      try {
+        // Perfil completo
+        const profileRes = await mecredApi.get(`api/user/${userId}`, {
+          headers: authHeaders(),
+        });
+        setProfileData(profileRes.data);
+
+        // Conquistas públicas
+        const achievementsRes = await mecredApi.get(
+          `public/userAchievements/${userId}/achievements`
+        );
+        setAchievements(achievementsRes.data);
+
+        // Itens públicos
+        const itemsRes = await mecredApi.get(
+          `public/user-items/${userId}/items?limit=1000`
+        );
+        setItems(itemsRes.data);
+
+        // Loja (badges desbloqueáveis por compra)
+        const storeRes = await mecredApi.get(
+          `public/user-items/${userId}/items?filter={"state":"active"}&item_type=badge&unlock_rule=purchase&limit=1000`
+        );
+        setStore(storeRes.data);
+
+        // Progressos (descomente se necessário)
+        // const progressesRes = await mecredApi.get(`/user_progresses/${userId}`);
+        // setProgresses(progressesRes.data);
+
+      } catch (e) {
+        console.error(e);
+        setError(true);
+      }
+    };
+
+    fetchUserData();
+  }, []);
+
+  return (
+    <Overlay type="twoColumns">
+      {error ? (
+        <ErrorComponent name="Usuário" />
+      ) : (
+        profileData && (
+          <UserCard
+            profileData={profileData}
+            idLogin={profileData.id}
+            achievements={achievements}
+            progresses={progresses}
+            setItems={setItems}
+            items={items}
+            store={store}
+            tab={optTab}
+          />
+        )
+      )}
+    </Overlay>
+  );
 }