Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 2332 | 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 { useForm } from "react-hook-form";
import { axios } from "../../../utils";
import Spinner from "../../../shared/loading-spinner/Spinner";
import { connect } from "react-redux";
import { addNotification } from "../../../redux/notification/notification.actions";
import CompanyTemplate from "./companyTemplate/CompanyTemplate";
import SearchList from "../../../components/SearchList";
import Profile from "../../../components/Profile";

const RequestSent = (props) => {
  // states
  const [companies, setCompanies] = useState([]);
  const [loading, setLoading] = useState(true);
  useEffect(() => {
    fetchCompanies();
  }, []);

  const fetchCompanies = async (searchParam = '') => {
    setLoading(true);
    await axios
      .get("/company/requests-sent?search=" + searchParam)
      .then((response) => {
        const resData = response.data;
        (resData);
        if (resData.success) {
          setCompanies(resData.data);
        }
      });
    setLoading(false);
  };

  return (
    <section className="companies-info">
      <div className="container">
        <SearchList
          title="Solicitudes enviadas"
          fetchCallback={fetchCompanies}
        />

        <div
          className="companies-list"
          id="profiles-container"
          style={{
            position: "relative",
          }}
        >
          {companies.length > 0 ? (
            companies.map(({ name, image, link_cancel, link_view }, id) => (
              <Profile
                image={image}
                name={name}
                link_cancel={link_cancel}
                link_view={link_view}
                key={id}
                fetchCallback={fetchCompanies}
                btnAcceptTitle='Ver Empresa'
                btnCancelTitle='Cancelar solicitud'
              />
            ))
          ) : (
            <div style={{ margin: "auto", textAlign: "center" }}>
              Ningún registro coincidio con su consulta
            </div>
          )}
          {loading && (
            <div className="spinner-container">
              <Spinner />
            </div>
          )}
          {/* <!--product-feed-tab end--> */}
        </div>
      </div>
    </section >
  );
};

// const mapStateToProps = (state) => ({});

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

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