Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 3892 | Rev 3895 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 3892 Rev 3894
Línea 1... Línea 1...
1
/* eslint-disable react/prop-types */
1
/* eslint-disable react/prop-types */
2
import React from "react";
2
import React from "react";
3
import { useEffect, useState } from "react";
3
import { useEffect, useState } from "react";
4
import { axios } from "../../../utils";
4
import { axios } from "../../../utils";
Línea 5... Línea 5...
5
 
5
 
Línea 6... Línea 6...
6
const CompanyFollowersHelper = ({ companyId }) => {
6
const CompanyFollowers = ({ companyId }) => {
-
 
7
 
7
 
8
  const [companyFollowers, setCompanyFollowers] = useState([]);
Línea 8... Línea 9...
8
  const [companyFollowers, setCompanyFollowers] = useState([]);
9
  const [showFollowersModal, setShowFollowersModal] = useState(false);
9
  const [lookMore, setLookMore] = useState(false);
10
  const [lookMore, setLookMore] = useState(false);
10
 
11
 
Línea 22... Línea 23...
22
    }
23
    }
23
    return infoFollows
24
    return infoFollows
24
  }
25
  }
Línea 25... Línea 26...
25
 
26
 
-
 
27
  return (
26
  return (
28
    <>
27
    <div className="peopleYouMayKnow">
29
      <div className="peopleYouMayKnow">
28
      <div className="sd-title d-flex align-items-center justify-content-between">
30
        <div className="sd-title d-flex align-items-center justify-content-between">
29
        <h3>Seguidores:</h3>
31
          <h3>Seguidores:</h3>
30
        <a href="#"
32
          <a href="#"
31
          onClick={(e) => {
33
            onClick={(e) => {
32
            e.preventDefault()
34
              e.preventDefault()
-
 
35
              setLookMore(!lookMore)
-
 
36
            }}
-
 
37
          >
-
 
38
            {lookMore ? 'Ver menos' : 'Ver mas'}
-
 
39
          </a>
-
 
40
        </div>
-
 
41
        <div className="suggest-list">
-
 
42
          {companyFollowers.length
-
 
43
            ? getData().map((follower) =>
-
 
44
              <CompanyFollowers.Template
-
 
45
                key={follower.id}
-
 
46
                follower={follower}
-
 
47
              />
-
 
48
            )
33
            setLookMore(!lookMore)
49
            : <div className="view-more">Sin seguidores</div>
-
 
50
          }
-
 
51
        </div>
-
 
52
      </div>
-
 
53
      <button
-
 
54
        onClick={() => setShowFollowersModal(!showFollowersModal)}
-
 
55
        className="btn btn-primary btn-sm w-100 d-md-none"
-
 
56
      >
-
 
57
        Ver seguidores
-
 
58
      </button>
-
 
59
      <CompanyFollowers.Modal
-
 
60
        isShow={showFollowersModal}
-
 
61
        companyFollowers={() => getData()}
-
 
62
        handleClose={() => setShowFollowersModal(false)}
-
 
63
      />
-
 
64
    </>
-
 
65
  );
-
 
66
};
-
 
67
 
-
 
68
 
-
 
69
const Template = ({ follower }) => {
-
 
70
  const { name, image, profile } = follower
-
 
71
 
-
 
72
  return (
-
 
73
    <div className='user'>
-
 
74
      <div className="w-100 d-flex align-items-center" style={{ gap: '.5rem' }}>
-
 
75
        <a href={profile} target="_blank" rel="noreferrer">
-
 
76
          <img src={image} alt={`${name} profile image`} />
-
 
77
        </a>
-
 
78
        <h4>{name}</h4>
-
 
79
      </div>
-
 
80
      <div className="w-100 d-flex align-items-center justify-content-start" style={{ gap: '.5rem' }}>
-
 
81
        <a
-
 
82
          href={profile}
-
 
83
          className="btn btn-primary"
-
 
84
          target='_blank'
34
          }}
85
          rel="noreferrer"
35
        >
86
        >
36
          {lookMore ? 'Ver menos' : 'Ver mas'}
87
          Ver perfil
37
        </a>
88
        </a>
-
 
89
      </div>
-
 
90
    </div>
-
 
91
  )
-
 
92
}
-
 
93
 
-
 
94
const Modal = ({
-
 
95
  isShow = false,
-
 
96
  handleClose = function () { },
-
 
97
  companyFollowers = []
-
 
98
}) => {
-
 
99
  return (
38
      </div>
100
    <Modal show={isShow} onHide={handleClose}>
-
 
101
      <Modal.Header closeButton>
-
 
102
        <h3>Seguidores</h3>
-
 
103
      </Modal.Header>
39
      <div className="suggest-list">
104
      <Modal.Body>
40
        {companyFollowers.length
105
        {companyFollowers.length
41
          ? getData().map(({ id, name, image, profile }) => (
106
          ? companyFollowers.map((follower) =>
42
            <div className='user' key={id}>
-
 
43
              <div className="w-100 d-flex align-items-center" style={{ gap: '.5rem' }}>
-
 
44
                <a href={profile} target="_blank" rel="noreferrer">
-
 
45
                  <img src={image} alt={`${name} profile image`} />
-
 
46
                </a>
107
            <CompanyFollowers.Template
47
                <h4>{name}</h4>
-
 
48
              </div>
-
 
49
              <div className="w-100 d-flex align-items-center justify-content-start" style={{ gap: '.5rem' }}>
-
 
50
                <a
108
              key={follower.id}
51
                  href={profile}
-
 
52
                  className="btn btn-primary"
-
 
53
                  target='_blank'
-
 
54
                  rel="noreferrer"
-
 
55
                >
-
 
56
                  Ver perfil
-
 
57
                </a>
-
 
58
              </div>
109
              follower={follower}
59
            </div>
110
            />
60
          ))
111
          )
61
          : <div className="view-more">Sin seguidores</div>
112
          : <div className="view-more">Sin seguidores</div>
62
        }
113
        }
63
      </div>
114
      </Modal.Body>
64
    </div>
115
    </Modal>
65
  );
116
  )
-
 
117
}
-
 
118
 
-
 
119
CompanyFollowers.Template = Template
Línea 66... Línea 120...
66
};
120
CompanyFollowers.Modal = Modal