Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
1 www 1
import React from "react";
2
import { useEffect, useState } from "react";
2248 stevensc 3
import { axios } from "../../../utils";
1 www 4
 
5
const SuggestedGroupsHelper = (props) => {
6
  // props destructuring
7
  const { groupId } = props;
8
 
9
  // states
10
  const [suggestedGroups, setSuggestedGroups] = useState([]);
1773 steven 11
  const [lookMore, setLookMore] = useState(false);
1 www 12
  useEffect(() => {
13
    axios.get(`/helpers/groups-suggestion/${groupId}`).then((response) => {
14
      const resData = response.data;
15
      if (resData.success) {
16
        setSuggestedGroups(resData.data);
17
      } else {
18
        // alert error
19
      }
20
    });
21
  }, []);
1773 steven 22
 
23
  const getData = () => {
24
    let infoFollows = [...suggestedGroups]
2248 stevensc 25
    if (!lookMore) {
1773 steven 26
      infoFollows = infoFollows.slice(0, 5);
27
    }
28
    return infoFollows
29
  }
1 www 30
  return (
2433 stevensc 31
    <div className="right-sidebar border-radius border-gray p-3">
2248 stevensc 32
      <div className="sd-title">
33
        <h3>Grupos Similares</h3>
34
      </div>
1 www 35
      <div
2249 stevensc 36
        className="mb-2"
1 www 37
        id="suggestions-similar-groups"
2248 stevensc 38
        style={{ height: "80%", overflowY: "auto" }}
1 www 39
      >
40
        {suggestedGroups.length ? (
1773 steven 41
          getData().map(({ id, name, image, profile }) => (
1 www 42
            <div className="suggestion-usd" key={id}>
43
              <div
44
                className="row"
45
              >
46
                <div
47
                  className="col-md-4 col-sm-12"
48
                >
49
                  <img
50
                    style={{ width: "50px", height: "auto" }}
51
                    src={image}
52
                    alt=""
53
                  />
54
                </div>
55
                <div
2433 stevensc 56
                  className="col-8 d-flex align-items-center justify-content-start p-0"
1 www 57
                >
58
                  <div className="sgt-text">
59
                    <h4
60
                      className="cursor-pointer"
61
                      onClick={() => window.location.href = profile}
62
                    >{name}</h4>
63
                  </div>
64
                </div>
65
              </div>
66
            </div>
67
          ))
68
        ) : (
69
          <div className="view-more">Sin sugerencias</div>
70
        )}
71
      </div>
2248 stevensc 72
      {
73
        suggestedGroups.length >= 5 && (
74
          <div className="w-100 text-center">
75
            <button className="btn btn-primary" onClick={() => setLookMore(!lookMore)}>
76
              {lookMore ? 'Ver menos' : 'Ver mas'}
77
            </button>
78
          </div>
79
        )
80
      }
81
    </div>
1 www 82
  );
83
};
84
 
85
export default SuggestedGroupsHelper;