Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 3892 | 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'

const SuggestedGroupsHelper = ({ suggestedClassname }) => {
  const [suggestedGroups, setSuggestedGroups] = useState([])
  const [lookMore, setLookMore] = useState(false)

  useEffect(() => {
    const url = '/helpers/groups-suggestion'

    axios.get(url)
      .then(({ data }) =>
        data.success &&
        setSuggestedGroups(data.data.sort((a, b) => parseInt(a.priority) - parseInt(b.priority)).reverse())
      )
  }, [])

  const getData = () => {
    let infoFollows = [...suggestedGroups]
    if (!lookMore) {
      infoFollows = infoFollows.slice(0, 3)
    }
    return infoFollows
  }
  return (
    <div className={`${suggestedClassname || ''} peopleYouMayKnow`}>
      <div className="sd-title d-flex align-items-center justify-content-between">
        <h3>Grupos:</h3>
        {suggestedGroups.length >= 3 &&
          <a
            href="#"
            onClick={(e) => {
              e.preventDefault()
              setLookMore(!lookMore)
            }}
          >
            {lookMore ? 'Ver menos' : 'Ver mas'}
          </a>
        }
      </div>
      <div className="suggest-list">
        {suggestedGroups.length
          ? getData().map(({ id, name, image, profile }) =>
            <div className='user' key={id}>
              <div className="w-100 d-flex align-items-center" style={{ gap: '.5rem' }}>
                <a href={profile} target="_blank" rel="noreferrer">
                  <img src={image} alt={`${name} profile image`} />
                </a>
                <h4>{name}</h4>
              </div>
              <div className="w-100 d-flex align-items-center justify-content-end" style={{ gap: '.5rem' }}>
                <a
                  className="btn btn-primary"
                  href={profile}
                >
                  Ver Grupo
                </a>
              </div>
            </div>
          )
          : <div className="view-more">Sin sugerencias</div>
        }
      </div>
    </div>
  )
}

export default SuggestedGroupsHelper