From 5a65ceea6fb1b4846a0f82c40416ab98ebaa47e9 Mon Sep 17 00:00:00 2001 From: rfhferreira <rfhferreira@inf.ufpr.br> Date: Fri, 18 Apr 2025 12:57:17 -0300 Subject: [PATCH] HOTFIX: Verified --- src/app/perfil/[id]/components/GroupButton.js | 27 +++------- src/app/perfil/[id]/components/UserCard.js | 53 ++++++++++--------- 2 files changed, 34 insertions(+), 46 deletions(-) diff --git a/src/app/perfil/[id]/components/GroupButton.js b/src/app/perfil/[id]/components/GroupButton.js index ccfd928c..cfa838fe 100644 --- a/src/app/perfil/[id]/components/GroupButton.js +++ b/src/app/perfil/[id]/components/GroupButton.js @@ -60,21 +60,6 @@ export default function GroupButton({ profileData, idLogin }) { setFollow(!follow); } - - function shareLink(url) { - if (navigator.share) { - navigator.share({ - title: "Compartilhar", - url: url, - }) - .then(() => console.log("Compartilhamento realizado com sucesso")) - .catch((error) => console.error("Erro ao compartilhar:", error)); - } else { - console.log("Compartilhamento nativo não suportado"); - } - } - - /** * Atualiza o perfil para marcar com seguindo */ @@ -85,13 +70,13 @@ export default function GroupButton({ profileData, idLogin }) { const ReportedModal = ({ open, onClose }) => { return ( - <Modal open={open} onClose={onClose} className="grid place-items-center" slotProps={{ - backdrop: { - sx: { - backgroundColor: "rgba(0, 0, 0, 0.3)", // Ajuste a opacidade conforme necessário - }, + <Modal open={open} onClose={onClose} className="grid place-items-center" slotProps={{ + backdrop: { + sx: { + backgroundColor: "rgba(0, 0, 0, 0.3)", // Ajuste a opacidade conforme necessário }, - }}> + }, + }}> <div className="flex flex-col justify-center bg-ice-HC-dark p-5 rounded outline outline-1 outline-ice-HC-white"> <p className="text-xl justify-center flex text-darkGray-HC-white mb-2">O usuário já foi denunciado!</p> <div className="flex flex-row justify-center mt-2"> diff --git a/src/app/perfil/[id]/components/UserCard.js b/src/app/perfil/[id]/components/UserCard.js index f31a2781..422a1d68 100644 --- a/src/app/perfil/[id]/components/UserCard.js +++ b/src/app/perfil/[id]/components/UserCard.js @@ -21,6 +21,7 @@ import ProfileAchievementsMenu from "./ProfileAchievementsMenu"; import { Person } from "@mui/icons-material"; import { TramSharp } from '@mui/icons-material'; +/* Não precisa mais com o Verificado const roles = [ { id: 1, @@ -73,7 +74,7 @@ const roles = [ translate: "" } -] +] */ function getRandomBg(id) { @@ -101,10 +102,10 @@ function getRandomBg(id) { export default function UserCard({ profileData, idLogin, achievements, progresses, setItems, items, store }) { const [followers, setFollowers] = useState(0) const [following, setFollowing] = useState(0) - const [translateItems, setTranslateItems] = useState("") + // const [translateItems, setTranslateItems] = useState("") Não precisa mais com o Verificado const [optButton, setOptButton] = useState(0) const [verifyCurator, setVerifyCurator] = useState(false) - const [userVerified, setUserVerified] = useState (false) + const [userVerified, setUserVerified] = useState(false) const [medalActive, setMedalActive] = useState(0) @@ -154,18 +155,19 @@ export default function UserCard({ profileData, idLogin, achievements, progresse } //Conta quantas medalhas ativas o usuário possui - const countMedalBeingUsed = items?.filter (item => item.being_used).length; + const countMedalBeingUsed = items?.filter(item => item.being_used).length; setMedalActive(countMedalBeingUsed) fetchFollowers() - verifier() + verifier() /** * Função que faz a tradução conforme os cargos do usuário. * Busca em `roles` qual respectiva tradução no array. * A função trata cargos repetidos e, como "submitter" é um cargo de todos os usuários, é retirado da lista. * Função serve também para verificar se o usuário (no caso, o usuário logado) é curador, para ter permissão de homologação - */ + + NÃO PRECISA MAIS DEVIDO AO VERIFICADO const itemsRoles = async () => { let items = [] for (let i = 0; i < profileData["roles"].length; i++) { @@ -179,30 +181,31 @@ export default function UserCard({ profileData, idLogin, achievements, progresse } itemsRoles() - .then(roles => setTranslateItems(roles)) + .then(roles => setTranslateItems(roles)) + */ }, [profileData]) // Função que análisa se o usuário é considerado "verificado" conforme cargo const verifier = async () => { const all_roles = [ - "teacher", "admin", "curator", "moderator", - "supervisor", "editor", "partner", "publisher", "submitter" + "teacher", "admin", "curator", "moderator", + "supervisor", "editor", "partner", "publisher", "submitter" ]; - + // Extrai todos os nomes dos cargos do usuário const user_roles = profileData["roles"].map(role => role.name); // Verifica se algum cargo do usuário está na lista de roles permitidos const verifier_user_roles = user_roles.find(role => all_roles.includes(role)); - + if (verifier_user_roles) { - setUserVerified(true); + setUserVerified(true); } - }; - + }; + + + - - /* * Menu de seleção do usuário * Verifica se o usuário está logado para definir as opções @@ -261,7 +264,7 @@ export default function UserCard({ profileData, idLogin, achievements, progresse <div className=' flex flex-col justify-start '> <div className='flex flex-row max-sm:flex-col-reverse'> - <div className={`flex flex-row w-2/3 max-sm:w-full items-center text-darkGray-HC-white font-bold max-sm:text-3xl text-4xl max-sm:mr-5 max-sm:mb-5 ${medalActive === 0 ? "mb-3" : ""}`}> + <div className={`flex flex-row w-2/3 max-sm:w-full items-center text-darkGray-HC-white font-bold max-sm:text-3xl text-4xl max-sm:mr-5 max-sm:mb-5 ${medalActive === 0 ? "mb-3" : ""}`}> <img src="/usuario-perfil.svg" alt="perfil" className='flex aspect-square mr-4 max-lg:mx-4 w-[28px] h-[28px] rounded-full' /> <div className='shrink-0 max-lg:w-[20px] max-lg:h-[20px] h-[28px] p-0 m-0' /> {profileData["name"]} @@ -280,14 +283,14 @@ export default function UserCard({ profileData, idLogin, achievements, progresse )} */} <div className='mb-3'> - {translateItems && - <div className='flex flex-row items-center mt-1 text-darkGray-HC-white max-sm:text-base text-xl'> - {userVerified ? <img src="/usuario-verificado.svg" alt="verificado" className='flex aspect-square mr-4 max-lg:mx-4 w-[28px] h-[28px] rounded-full' /> - : - null - } - <div className='shrink-0 h-[28px] max-lg:w-[20px] max-lg:h-[20px]' /> - {translateItems} + {userVerified && + <div className='flex flex-row items-center mt-3 text-darkGray-HC-white max-sm:text-base text-xl'> + <img + src="/usuario-verificado.svg" + alt="verificado" + className='flex aspect-square mr-4 max-lg:mx-4 w-[28px] h-[28px] rounded-full' + /> + <span>Verificado</span> </div> } </div> -- GitLab