From 8f06502edea2fb45766f48ed7c45e68c539cd757 Mon Sep 17 00:00:00 2001 From: Guilherme Eduardo <gegs23@inf.ufpr.br> Date: Wed, 14 May 2025 09:14:15 -0300 Subject: [PATCH] Issue #314: FIX delete resource bug --- src/app/components/Cards.js | 3 --- .../[id]/components/ProfileResources.js | 4 ++-- .../recurso/[id]/components/deleteModal.js | 22 +++++++++---------- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/src/app/components/Cards.js b/src/app/components/Cards.js index 956e1167..5497d7ac 100644 --- a/src/app/components/Cards.js +++ b/src/app/components/Cards.js @@ -268,6 +268,3 @@ export default function Cards(props) { </Card> ); } - - - diff --git a/src/app/perfil/[id]/components/ProfileResources.js b/src/app/perfil/[id]/components/ProfileResources.js index 6880c468..b445709d 100644 --- a/src/app/perfil/[id]/components/ProfileResources.js +++ b/src/app/perfil/[id]/components/ProfileResources.js @@ -29,7 +29,7 @@ export default function ProfileResources({ id, idLogin }) { const [uniqueCount, setuniqueCount] = useState(0) const [totalCount, setTotalCount] = useState(0) const [got, setGot] = useState(false) - const [idResources, setIdResources] = useState(null) + useEffect(() => { const fetchLearningObjects = async (id) => { @@ -179,4 +179,4 @@ export default function ProfileResources({ id, idLogin }) { </> ); -} \ No newline at end of file +} diff --git a/src/app/recurso/[id]/components/deleteModal.js b/src/app/recurso/[id]/components/deleteModal.js index 6d39d873..cd807b66 100644 --- a/src/app/recurso/[id]/components/deleteModal.js +++ b/src/app/recurso/[id]/components/deleteModal.js @@ -1,3 +1,4 @@ + import mecredApi from "@/axiosConfig" import { Modal } from "@mui/material" import { getStoredValue } from "@/app/handlers/localStorageHandler" @@ -11,7 +12,7 @@ import { useState, useEffect, useLayoutEffect } from "react"; * @param {Number} props.resourceId Id do recurso a ser guardado * @returns Coleções que o usuário pode guardar tal recurso */ -export default function DeleteModal({ setUniqueResources, userProfile, open, onClose, resourceId }) { +export default function DeleteModal({ setUniqueResources, userProfile, open, onClose, idLogin, resourceId }) { const token = getStoredValue("access_token"); const client = getStoredValue("client"); @@ -33,23 +34,22 @@ export default function DeleteModal({ setUniqueResources, userProfile, open, onC await mecredApi.delete(url, headers) .then(() => { + //Verifique se o usuário está na própria página de perfil if (userProfile) { onClose() } else { - router.push("/busca?page=Collection"); + router.push(`/perfil/${idLogin}`) } - }) - + }) + + /*Esse modal(deletaModal) é utilizado em outro lugar (actionButtons), ou seja, precisamos verificar o setUniqueResources */ + setUniqueResources && + setUniqueResources(old => { + return old.filter(resource => resource.learning_object?.id !== resourceId); + }); - setUniqueResources(old => { - return old.filter(resource => resource.learning_object.id !== resourceId); - }) - //router.push("/busca?page=Collection") } - - - return ( <Modal open={open} -- GitLab