Rev 5285 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
/* eslint-disable react/prop-types */import React, { useEffect, useState } from 'react'import axios from '../../../../utils/axios'import Avatar from '../../../../shared/Avatar/Avatar'import EmptySection from '../../../../shared/empty-section/EmptySection'import ExpandLessIcon from '@mui/icons-material/ExpandLess'import ExpandMoreIcon from '@mui/icons-material/ExpandMore'const GroupsInfo = ({url = '/helpers/my-groups',title = 'Mis grupos',display = false,}) => {const [widgetData, setWidgetData] = useState([])const [displayMenu, setDisplayMenu] = useState(display)const [lookMore, setLookMore] = useState(false)const getData = () => {axios.get(url).then(({ data: response }) => {const { success, data } = responseif (success) {setWidgetData(data.sort((a, b) => a.priority - b.priority).reverse())}})}useEffect(() => {getData()}, [])const dataSlice = () => {let infoFollows = [...widgetData]if (!lookMore) {infoFollows = infoFollows.slice(0, 3)}return infoFollows}return (<div className="sidebar__recent-item__container"><section className="sidebar__recent-item"><p>{title}</p><buttonclassName="sidebar__recent-icon"onClick={() => setDisplayMenu(!displayMenu)}>{displayMenu ? <ExpandLessIcon /> : <ExpandMoreIcon />}</button></section><ul className={`helper__list ${displayMenu ? 'show' : 'hide'}`}>{widgetData.length ? (dataSlice().map(({ id, name, profile, image }) => (<li key={id}><ahref={profile}className="helper__list-item"target="secondary"><Avatar imageUrl={image} size="md" name={name} /><span>{name}</span></a></li>))) : (<EmptySection message={LABELS.DATATABLE_EMPTY} />)}{widgetData.length >= 3 && (<liclassName="helper__list-item justify-content-center cursor-pointer py-2"onClick={() => setLookMore(!lookMore)}><span>{lookMore ? LABELS.VIEW_LESS : LABELS.VIEW_MORE}</span></li>)}</ul></div>)}export default GroupsInfo