Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 2330 | 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";
3
import styled from "styled-components";
1158 stevensc 4
import { axios } from "../../../utils";
1 www 5
import Spinner from "../../../shared/loading-spinner/Spinner";
6
import { connect } from "react-redux";
7
import { addNotification } from "../../../redux/notification/notification.actions";
1590 steven 8
import SearchList from "../../../components/SearchList";
9
import Profile from "../../../components/Profile";
1 www 10
 
11
const StyledSpinnerContainer = styled.div`
12
  position: absolute;
13
  left: 0;
14
  top: 0;
15
  width: 100%;
16
  height: 100%;
17
  background: rgba(255, 255, 255, 0.4);
18
  display: flex;
19
  justify-content: center;
20
  align-items: center;
21
  z-index: 300;
22
`;
23
 
24
const FollowingCompanies = (props) => {
25
  // states
26
  const [companies, setCompanies] = useState([]);
27
  const [loading, setLoading] = useState(true);
28
  useEffect(() => {
29
    fetchCompanies();
30
  }, []);
31
 
1158 stevensc 32
  const fetchCompanies = async (searchParam = '') => {
1 www 33
    setLoading(true);
34
    await axios
35
      .get(
1158 stevensc 36
        "/company/following-companies?search=" + searchParam)
1 www 37
      .then((response) => {
38
        const resData = response.data;
39
        if (resData.success) {
40
          setCompanies(resData.data);
41
        }
42
      });
43
    setLoading(false);
44
  };
45
 
46
 
2330 stevensc 47
 
1 www 48
  return (
49
    <React.Fragment>
50
      <section className="companies-info">
51
        <div className="container">
1590 steven 52
          <SearchList
53
            title="Empresas que sigo"
54
            fetchCallback={fetchCompanies}
55
          />
1 www 56
          <div className="companies-list">
2330 stevensc 57
            {
58
              companies.length
59
                ?
60
                companies.map(({ image, name, link_view, link_unfollow }, index) => (
61
                  <Profile
62
                    image={image}
63
                    name={name}
64
                    link_view={link_view}
65
                    key={index}
66
                    fetchCallback={fetchCompanies}
67
                    link_unfollow={link_unfollow}
2507 stevensc 68
                    btnAcceptTitle='Ver Empresa'
2330 stevensc 69
                  />
70
                ))
71
                :
72
                <div style={{ margin: "auto", textAlign: "center" }}>
73
                  Ningún registro coincidio con su consulta
74
                </div>
75
            }
76
            {
77
              loading
78
              &&
79
              <StyledSpinnerContainer>
80
                <Spinner />
81
              </StyledSpinnerContainer>
82
            }
1 www 83
            {/* <!--product-feed-tab end--> */}
84
          </div>
85
        </div>
86
      </section>
87
    </React.Fragment>
88
  );
89
};
90
 
91
// const mapStateToProps = (state) => ({
92
 
93
// })
94
 
95
const mapDispatchToProps = {
96
  addNotification: (notification) => addNotification(notification),
97
};
98
 
99
export default connect(null, mapDispatchToProps)(FollowingCompanies);