Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 3288 | Rev 3290 | 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";
2925 stevensc 5
import styles from "../people-you-may-know/peopleYouMayKnow.module.scss";
1 www 6
 
7
const SuggestedGroupsHelper = (props) => {
8
  // props destructuring
9
  const { groupId } = props;
10
 
11
  // states
12
  const [suggestedGroups, setSuggestedGroups] = useState([]);
1773 steven 13
  const [lookMore, setLookMore] = useState(false);
1 www 14
  useEffect(() => {
2950 stevensc 15
    const url = '/helpers/groups-suggestion'
2925 stevensc 16
 
2924 stevensc 17
    axios.get(url)
18
      .then(({ data }) => {
19
        if (data.success) {
3289 stevensc 20
          setSuggestedGroups(data.data.sort((a, b) => parseInt(a.priority) - parseInt(b.priority)));
2924 stevensc 21
        }
22
      });
1 www 23
  }, []);
1773 steven 24
 
25
  const getData = () => {
26
    let infoFollows = [...suggestedGroups]
2248 stevensc 27
    if (!lookMore) {
2926 stevensc 28
      infoFollows = infoFollows.slice(0, 3);
1773 steven 29
    }
30
    return infoFollows
31
  }
1 www 32
  return (
2926 stevensc 33
    <div className={styles.peopleYouMayKnow}>
2931 stevensc 34
      <div className="sd-title d-flex align-items-center justify-content-between">
2926 stevensc 35
        <h3>Grupos:</h3>
36
        {
37
          suggestedGroups.length >= 3 &&
38
          <a
39
            href="#"
40
            onClick={(e) => {
41
              e.preventDefault()
42
              setLookMore(!lookMore)
43
            }}
44
          >
45
            {lookMore ? 'Ver menos' : 'Ver mas'}
46
          </a>
47
        }
2248 stevensc 48
      </div>
1 www 49
      <div
2249 stevensc 50
        className="mb-2"
1 www 51
        id="suggestions-similar-groups"
2248 stevensc 52
        style={{ height: "80%", overflowY: "auto" }}
1 www 53
      >
54
        {suggestedGroups.length ? (
1773 steven 55
          getData().map(({ id, name, image, profile }) => (
2925 stevensc 56
            <div className={styles.user} key={id}>
57
              <div className="w-100 d-flex align-items-center" style={{ gap: '.5rem' }}>
3286 stevensc 58
                <a href={profile} target="_blank" rel="noreferrer">
2925 stevensc 59
                  <img src={image} alt={`${name} profile image`} />
60
                </a>
61
                <h4>{name}</h4>
62
              </div>
2927 stevensc 63
              <div className="w-100 d-flex align-items-center justify-content-end" style={{ gap: '.5rem' }}>
2925 stevensc 64
                <a
65
                  className="btn btn-primary"
66
                  href={profile}
1 www 67
                >
3050 stevensc 68
                  Ver Grupo
2925 stevensc 69
                </a>
1 www 70
              </div>
71
            </div>
72
          ))
73
        ) : (
74
          <div className="view-more">Sin sugerencias</div>
75
        )}
76
      </div>
2248 stevensc 77
    </div>
1 www 78
  );
79
};
80
 
81
export default SuggestedGroupsHelper;