Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 3837 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3286 stevensc 1
/* eslint-disable react/prop-types */
1 www 2
import React from "react";
3
import { useEffect, useState } from "react";
2248 stevensc 4
import { axios } from "../../../utils";
1 www 5
 
3609 stevensc 6
const SuggestedGroupsHelper = ({ suggestedClassname }) => {
1 www 7
 
8
  const [suggestedGroups, setSuggestedGroups] = useState([]);
1773 steven 9
  const [lookMore, setLookMore] = useState(false);
3506 stevensc 10
 
1 www 11
  useEffect(() => {
2950 stevensc 12
    const url = '/helpers/groups-suggestion'
2925 stevensc 13
 
2924 stevensc 14
    axios.get(url)
3506 stevensc 15
      .then(({ data }) =>
16
        data.success &&
17
        setSuggestedGroups(data.data.sort((a, b) => parseInt(a.priority) - parseInt(b.priority)).reverse())
18
      )
1 www 19
  }, []);
1773 steven 20
 
21
  const getData = () => {
22
    let infoFollows = [...suggestedGroups]
2248 stevensc 23
    if (!lookMore) {
2926 stevensc 24
      infoFollows = infoFollows.slice(0, 3);
1773 steven 25
    }
26
    return infoFollows
27
  }
1 www 28
  return (
3892 stevensc 29
    <div className={`${suggestedClassname || ''} peopleYouMayKnow`}>
2931 stevensc 30
      <div className="sd-title d-flex align-items-center justify-content-between">
2926 stevensc 31
        <h3>Grupos:</h3>
3506 stevensc 32
        {suggestedGroups.length >= 3 &&
2926 stevensc 33
          <a
34
            href="#"
35
            onClick={(e) => {
36
              e.preventDefault()
37
              setLookMore(!lookMore)
38
            }}
39
          >
40
            {lookMore ? 'Ver menos' : 'Ver mas'}
41
          </a>
42
        }
2248 stevensc 43
      </div>
3837 stevensc 44
      <div className="suggest-list">
3506 stevensc 45
        {suggestedGroups.length
46
          ? getData().map(({ id, name, image, profile }) =>
47
            <div className='user' key={id}>
2925 stevensc 48
              <div className="w-100 d-flex align-items-center" style={{ gap: '.5rem' }}>
3286 stevensc 49
                <a href={profile} target="_blank" rel="noreferrer">
2925 stevensc 50
                  <img src={image} alt={`${name} profile image`} />
51
                </a>
52
                <h4>{name}</h4>
53
              </div>
2927 stevensc 54
              <div className="w-100 d-flex align-items-center justify-content-end" style={{ gap: '.5rem' }}>
2925 stevensc 55
                <a
56
                  className="btn btn-primary"
57
                  href={profile}
1 www 58
                >
3050 stevensc 59
                  Ver Grupo
2925 stevensc 60
                </a>
1 www 61
              </div>
62
            </div>
3506 stevensc 63
          )
64
          : <div className="view-more">Sin sugerencias</div>
65
        }
1 www 66
      </div>
2248 stevensc 67
    </div>
1 www 68
  );
69
};
70
 
71
export default SuggestedGroupsHelper;