Skip to content
Snippets Groups Projects
Commit 0e0b9eed authored by Guilherme Eduardo's avatar Guilherme Eduardo Committed by jsk22
Browse files

Issue #294: UPDATE remove duplicate user resources

parent 4066da4a
No related branches found
No related tags found
1 merge request!294Issue/271.1 create new backend routes connection
......@@ -15,6 +15,8 @@ import Loading from "@/app/components/Loading";
*
*/
export default function ProfileResources({ id, idLogin }) {
//Concateno tanto os arrays de recursos em homologação quanto aceitos
const [uniqueResources, setUniqueResources] = useState([])
const [resources, setResources] = useState([])
const [homologaResources, setHomologaResources] = useState([])
const token = getStoredValue("access_token")
......@@ -48,6 +50,7 @@ export default function ProfileResources({ id, idLogin }) {
.catch((error) => {
console.error(error);
});
};
const fetchSubmissions = async (id) => {
......@@ -85,6 +88,22 @@ export default function ProfileResources({ id, idLogin }) {
setTotalCount(resourcesCount + homologaCount)
}, [resourcesCount, homologaCount])
useEffect(() => {
if (resources.length > 0 || homologaResources.length > 0) {
const unified = [...resources, ...homologaResources];
// Remove recursos duplicados com base no id (Retorna a primeira ocorrência)
const remove_duplicates = unified.filter((item, index, array) => {
return array.findIndex(obj => obj.id === item.id) === index;
});
// Atualiza o estado com os únicos
setUniqueResources(remove_duplicates);
}
}, [resources, homologaResources]);
return (
<>
......@@ -113,27 +132,16 @@ export default function ProfileResources({ id, idLogin }) {
) : (
<div className="p-3 my-5 mb-24 mx-5 rounded-md min-w-[200px] min-h-[180px] bg-white-HC-dark ">
<div className="flex flex-wrap justify-center">
{resources.map((resource, index) => (
<Cards
id={resource.id}
key={index}
title={resource.name}
author={resource.publisher.name}
avatar={resource.publisher.avatar}
image={resource.thumbnail}
updated_at={resource.updated_at}
/>
))}
{homologaResources.map((resource, index) => (
{uniqueResources.map((resource, index) => (
<Cards
id={resource.id}
id={resource.learning_object?.id || resource?.id}
key={index}
title={resource.learning_object.name}
author={resource.learning_object.author}
avatar={resource.submitter.avatar}
image={resource.learning_object.thumbnail}
updated_at={resource.learning_object.updated_at}
homologa={resource.status}
title={resource?.name || resource.learning_object?.name}
author={resource.publisher?.name || resource.learning_object?.author}
avatar={resource.publisher?.avatar || resource.submitter?.avatar}
image={resource?.thumbnail || resource.learning_object?.thumbnail}
updated_at={resource?.updated_at || resource.learning_object?.updated_at}
homologa={resource?.status}
/>
))}
</div>
......
......@@ -29,6 +29,7 @@ export default function Recurso({ params }) {
const [complained, setComplained] = useState();
const [isSmallScreen, setIsSmallScreen] = useState(false);
const searchParams = useSearchParams();
const [userData, setUserData] = useState();
const collectionId = searchParams.get("collectionId");
......@@ -50,6 +51,10 @@ export default function Recurso({ params }) {
setLearningObject(response.data);
setState(response.data.state === "submitted");
setComplained(response.data.state === "suspended");
let data = JSON.parse(getStoredValue("user_data"));
setUserData(data)
} catch (error) {
setError(true);
}
......@@ -113,7 +118,11 @@ export default function Recurso({ params }) {
</div>
{state && (
<div className=" flex items-center mt-5">
{
learningObject.publisher?.id !== userData.id ?
<button onClick={() => setSubmitOpen(true)} className="bg-orange-HC-white p-2 text-white-HC-dark-underline font-semi-bold rounded-lg hover:bg-darkOrange-HC-dark hover:text-white outline outline-1 outline-ice-HC-white">Avaliar Submissão</button>
: null
}
</div>
)}
{complained && (
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment