Skip to content
Snippets Groups Projects
Commit 87445ec1 authored by esrsc23's avatar esrsc23 Committed by jsk22
Browse files

Issue #291: User card: update information

parent f9c42e99
No related branches found
No related tags found
No related merge requests found
...@@ -155,7 +155,10 @@ export default function SearchComponent({ setFilterState, filterState, sizeWindo ...@@ -155,7 +155,10 @@ export default function SearchComponent({ setFilterState, filterState, sizeWindo
id="buscar" id="buscar"
type="text" type="text"
placeholder="Digite aqui o que você deseja pesquisar" placeholder="Digite aqui o que você deseja pesquisar"
className="p-2 px-5 rounded-lg outline outline-1 font-light text-2xl placeholder:text-lightGray-HC-dark outline-ice-HC-white align-middle h-full w-full" className="p-2 px-5 rounded-lg outline outline-1 font-light text-2xl
text-darkGray-HC-dark
placeholder:text-darkGray-HC-dark
outline-ice-HC-white align-middle h-full w-full"
onFocus={handleFocus} onFocus={handleFocus}
onBlur={handleBlur} onBlur={handleBlur}
onChange={(e) => { onChange={(e) => {
......
'use client'
import { mecredURL } from "@/axiosConfig"; import { mecredURL } from "@/axiosConfig";
import { CollectionsBookmark, Person, Subject } from "@mui/icons-material" import { CollectionsBookmark, Person, Subject } from "@mui/icons-material"
import { useEffect, useState } from 'react';
import { Avatar, Divider } from "@mui/material" import { Avatar, Divider } from "@mui/material"
import Link from "next/link" import Link from "next/link"
import mecredApi from "@/axiosConfig";
/** /**
* *
...@@ -10,6 +13,20 @@ import Link from "next/link" ...@@ -10,6 +13,20 @@ import Link from "next/link"
* @returns * @returns
*/ */
export default function UsersPageCard({ item }) { export default function UsersPageCard({ item }) {
const [achievements, setAchievements] = useState(null);
const fetchAchievements = async (id) => {
await mecredApi
.get(`/unlocked_achievements/user/${id}?limit=1000`)
.then(({ data }) => {
setAchievements(data);
})
.catch(() => setError(true))
}
fetchAchievements(item.id);
function getRandomBg(id) { function getRandomBg(id) {
const colors = [ const colors = [
"bg-turquoise-HC-white", "bg-turquoise-HC-white",
...@@ -30,7 +47,7 @@ export default function UsersPageCard({ item }) { ...@@ -30,7 +47,7 @@ export default function UsersPageCard({ item }) {
return ( return (
item && item &&
<Link tabIndex="-1" href={`/perfil/${item["id"]}`}> <Link tabIndex="-1" href={`/perfil/${item["id"]}`}>
<div id="conteudo" tabIndex="0" className="flex flex-col w-[300px] min-h-[270px] bg-white-HC-dark outline outline-1 outline-ice-HC-white m-4 rounded-lg hover:bg-ice-HC-dark-hover focus:bg-ice-HC-dark-hover"> <div id="conteudo" tabIndex="0" className="flex flex-col w-[300px] min-h-[270px] bg-ice-HC-dark outline outline-1 outline-lightGray-HC-white m-4 rounded-lg hover:bg-ice-HC-dark-hover focus:bg-ice-HC-dark-hover">
<div className="grid justify-items-center h-[200px] pt-2"> <div className="grid justify-items-center h-[200px] pt-2">
{item["avatar"] ? {item["avatar"] ?
<Avatar src={mecredURL + item["avatar"]} sx={{ position: "inherit" }} className=" min-h-[120px] min-w-[120px] m-2" /> <Avatar src={mecredURL + item["avatar"]} sx={{ position: "inherit" }} className=" min-h-[120px] min-w-[120px] m-2" />
...@@ -42,21 +59,35 @@ export default function UsersPageCard({ item }) { ...@@ -42,21 +59,35 @@ export default function UsersPageCard({ item }) {
<p className=" font-bold text-darkGray-HC-white-underline text-center">{item["name"]}</p> <p className=" font-bold text-darkGray-HC-white-underline text-center">{item["name"]}</p>
</div> </div>
<Divider className="mx-4" /> <hr className="border-lightGray-HC-white h-1 mx-4 "/>
<div className="flex items-center flex-col gap-1 py-3 "> <div className="flex items-center flex-col gap-1 py-3 ">
<div className="flex flex-col justify-start gap-1"> <div className="grid grid-cols-2 justify-start gap-1">
<div className="flex"> <div className="flex items-center mb-2">
<Person fontSize="small" className="text-darkGray-HC-white-underline mt-2" /> <img className="flex h-[20px] px-1 text-mediumGray-HC-white invertLogo-HC-white"
src="/nivel.svg"
alt="Icon nivel"
/>
<p className="mt-2 text-sm text-darkGray-HC-white-underline px-1">Nível: {item["level"]}</p>
</div>
<div className="flex items-center mb-2">
<Person fontSize="small" className="text-darkGray-HC-white mt-2" />
<p className="mt-2 text-sm text-darkGray-HC-white-underline px-1">Seguidores: {item["follows_count"]}</p> <p className="mt-2 text-sm text-darkGray-HC-white-underline px-1">Seguidores: {item["follows_count"]}</p>
</div> </div>
{/* <div className="flex"> {/* <div className="flex">
<CollectionsBookmark fontSize="small" className="text-darkGray-HC-white-underline" /> <CollectionsBookmark fontSize="small" className="text-darkGray-HC-white-underline" />
<p className="text-sm text-darkGray-HC-white-underline inline px-1">Coleções: {item["collections_count"]} </p> <p className="text-sm text-darkGray-HC-white-underline inline px-1">Coleções: {item["collections_count"]} </p>
</div> */} </div> */}
<div className="flex"> <div className="flex items-center mb-2">
<Subject fontSize="small" className="text-darkGray-HC-white-underline" /> <Subject fontSize="small" className="text-darkGray-HC-white" />
<p className="text-sm text-darkGray-HC-white-underline inline px-1">Recursos: {item["learning_objects_count"]}</p> <p className="text-sm text-darkGray-HC-white-underline inline px-1">Recursos: {item["learning_objects_count"]}</p>
</div> </div>
<div className="flex items-center mb-2">
<img className="flex h-[20px] px-1 invertLogo-HC-white"
src="/conquistas.svg"
alt="Icon conquista"
/>
<p className="mt-2 text-sm text-darkGray-HC-white-underline px-1">Conquistas: {achievements?.length}</p>
</div>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -61,7 +61,7 @@ export default function FollowersCards({ id, count }) { ...@@ -61,7 +61,7 @@ export default function FollowersCards({ id, count }) {
<div className="p-3 my-5 rounded-md min-w-[200px] min-h-[180px]"> <div className="p-3 my-5 rounded-md min-w-[200px] min-h-[180px]">
<div className="flex flex-wrap justify-center"> <div className="flex flex-wrap justify-center">
{followers.map((item, i) => ( {followers.map((item, i) => (
item && ( item.follower && (
<Fragment key={i}> <Fragment key={i}>
<UsersPageCard item={item.follower} /> <UsersPageCard item={item.follower} />
</Fragment> </Fragment>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment