From 83db357d81325e6e1516e5bb73c042d7578fea65 Mon Sep 17 00:00:00 2001 From: Guilherme Eduardo <gegs23@inf.ufpr.br> Date: Tue, 11 Mar 2025 10:37:00 -0300 Subject: [PATCH] Issue #265: FIX view stats bar offline --- src/app/perfil/[id]/page.js | 124 +++++++++++++++--------------------- 1 file changed, 52 insertions(+), 72 deletions(-) diff --git a/src/app/perfil/[id]/page.js b/src/app/perfil/[id]/page.js index 34fa4cf6..431cb8d6 100644 --- a/src/app/perfil/[id]/page.js +++ b/src/app/perfil/[id]/page.js @@ -27,6 +27,43 @@ export default function Perfil({ params }) { * 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(`/unlocked_achievements/user/${id}?limit=1000`) + .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(`/users/${id}/items/?item_type=badge&limit=1000`) + .then(({ data }) => { + setItems(data); + }) + .catch(() => setError(true)) + } + + fetchItems(params.id) + if (isLoggedIn()) { let data = getStoredValue("user_data") let dataJson = JSON.parse(data); @@ -49,70 +86,12 @@ export default function Perfil({ params }) { } fetchUser(params.id) - setIdLogin(dataJson["id"]) - const fetchAchievements = async (id) => { - await mecredApi - .get(`/unlocked_achievements/user/${id}?limit=1000`, { - headers: { - 'access-token': token, - 'token-type': 'Bearer', - 'client': client, - 'uid': uid, - 'Expires': 0 - } - }) - .then(({ data }) => { - setAchievements(data); - }) - .catch(() => setError(true)) - } - - fetchAchievements(params.id); - - const fetchProgresses = async (id) => { - await mecredApi - .get(`/user_progresses/${id}`, { - headers: { - 'access-token': token, - 'token-type': 'Bearer', - 'client': client, - 'uid': uid, - 'Expires': 0 - } - }) - .then(({ data }) => { - setProgresses(data); - }) - .catch(() => setError(true)) - } - - fetchProgresses(params.id) - - const fetchItems = async (id) => { - await mecredApi - .get(`/users/${id}/items/?item_type=badge&limit=1000`, { - headers: { - 'access-token': token, - 'token-type': 'Bearer', - 'client': client, - 'uid': uid, - 'Expires': 0 - } - }) - .then(({ data }) => { - setItems(data); - }) - .catch(() => setError(true)) - } - - fetchItems(params.id) - const fetchStore = async () => { await mecredApi - .get(`/items?filter={"state" : "active"}&item_type=badge&unlock_rule=purchase&limit=1000`) - .then (({data}) => { + .get(`/items?filter={"state" : "active"}&item_type=badge&unlock_rule=purchase&limit=1000`) + .then(({ data }) => { setStore(data) }) .catch(() => setError(true)) @@ -139,19 +118,20 @@ export default function Perfil({ params }) { <> <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} - /> - )} + (profileData && + <UserCard + profileData={profileData} + idLogin={idLogin} + achievements={achievements} + progresses={progresses} + setItems={setItems} + items={items} + store={store} + tab={optTab} + /> + )} </Overlay> </> ); } + -- GitLab