Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
4313 stevensc 1
/* eslint-disable react/prop-types */
4316 stevensc 2
import React, { useEffect, useState } from 'react'
3
import axios from '../../../../utils/axios'
4313 stevensc 4
import ExpandMoreIcon from '@mui/icons-material/ExpandMore'
5
import GroupIcon from '@mui/icons-material/Group'
4314 stevensc 6
import EmptySection from '../../../../shared/empty-section/EmptySection'
4313 stevensc 7
 
4316 stevensc 8
const HelpersContainer = () => {
4313 stevensc 9
 
10
  return (
11
    <div className='sidebar__bottom'>
12
      <HelpersContainer.Item />
13
    </div>
14
  )
15
}
16
 
17
const Item = ({ url = '/helpers/my-groups', title = 'Mis grupos' }) => {
18
 
19
  const [widgetData, setWidgetData] = useState([]);
20
  const [lookMore, setLookMore] = useState(false);
21
 
22
  const getData = () => {
23
    axios.get(url)
24
      .then(({ data: response }) => {
25
        const { success, data } = response
26
        if (success) {
4316 stevensc 27
          setWidgetData(data.slice(0, 3).sort((a, b) => a.priority - b.priority).reverse());
4313 stevensc 28
        }
29
      });
30
  }
31
 
32
  useEffect(() => {
33
    getData()
34
  }, []);
35
 
36
  return (
37
    <div className='sidebar__recent-item__container'>
38
 
39
      <section className='sidebar__recent-item'>
40
        <p>{title}</p>
41
        <div className='sidebar__recent-actions'>
4314 stevensc 42
          <button className='sidebar__recent-icon' onClick={() => setLookMore(!lookMore)}>
4313 stevensc 43
            <ExpandMoreIcon />
44
          </button>
45
        </div>
4314 stevensc 46
      </section>
4313 stevensc 47
 
4314 stevensc 48
      <ul className={`helper__list ${lookMore ? 'show' : 'hide'}`}>
49
        {widgetData.length
4316 stevensc 50
          ? widgetData.map(({ id, name, profile }) =>
4314 stevensc 51
            <li key={id}>
4316 stevensc 52
              <a href={profile} className='helper__list-item'>
4313 stevensc 53
                <GroupIcon />
4314 stevensc 54
                <span>{name}</span>
55
              </a>
56
            </li>
57
          )
58
          : <EmptySection message='Sin resultados' />
59
        }
4313 stevensc 60
 
4314 stevensc 61
      </ul>
62
 
4313 stevensc 63
    </div>
64
  )
65
}
66
 
67
HelpersContainer.Item = Item
68
 
69
export default HelpersContainer