Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 1580 | Rev 5144 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import React from "react";
import { useEffect, useState } from "react";
import { connect } from "react-redux";
import { axios } from "../../../utils";
import { addNotification } from "../../../redux/notification/notification.actions";
import Spinner from "../../../shared/loading-spinner/Spinner";
import "../../../css/shared/global.scss";
import SearchList from "../../../components/SearchList";
import Profile from "../../../components/Profile";

const PeopleYouMayKnow = (props) => {
  // states
  const [entities, setEntities] = useState([]);
  const [loading, setLoading] = useState(false);
  useEffect(() => {
    fetchEntitys();
  }, []);

  const fetchEntitys = async (searchValue) => {
    setLoading(true);
    await axios
      .get("/connection/people-blocked?search=" + (searchValue || ''))
      .then((response) => {
        const resData = response.data;
        if (resData.success) {
          setEntities(resData.data);
        }
      });
    setLoading(false);
  };

  return (
    <section className="companies-info">
      <div className="container">
        <SearchList
          title="Personas Bloqueadas"
          fetchCallback={fetchEntitys}
        />
        <div
          className="companies-list"
          id="profiles-container"
          style={{ position: "relative", padding: "0 15px" }}
        >
          {entities.length > 0 ? (
            entities.map(
              ({ image, link_unblock, link_view, name }, index) => (
                <Profile
                  image={image}
                  name={name}
                  key={index}
                  link_view={link_view}
                  link_unblock={link_unblock}
                  fetchCallback={fetchEntitys}
                />
              )
            )
          ) : (
            <p>No hay resultados</p>
          )}
          {loading ? (
            <div className="spinner-container">
              <Spinner />
            </div>
          ) : (
            ""
          )}
        </div>
      </div>
    </section>
  );
};

const mapDispatchToProps = {
  addNotification: (notification) => addNotification(notification),
};

export default connect(null, mapDispatchToProps)(PeopleYouMayKnow);