Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
4011 stevensc 1
/* eslint-disable react/prop-types */
2
import React from "react";
2885 stevensc 3
import { useDispatch } from "react-redux";
4011 stevensc 4
import useFetchHelper from "../../../hooks/useFetchHelper";
2885 stevensc 5
import { addNotification } from "../../../redux/notification/notification.actions";
2232 stevensc 6
import { axios } from "../../../utils";
1 www 7
 
4011 stevensc 8
const PeopleYouMayKnow = ({ url = `/helpers/people-you-may-know` }) => {
4006 stevensc 9
 
4011 stevensc 10
  const { data: peopleYouMayKnow } = useFetchHelper(url)
2885 stevensc 11
  const dispatch = useDispatch()
1 www 12
 
2885 stevensc 13
  const handleConnect = (url) => {
14
    axios.post(url)
15
      .then(({ data }) => {
16
        if (!data.success) {
17
          return dispatch(addNotification({
18
            style: 'danger',
19
            msg: typeof data.data === 'string'
20
              ? data.data
21
              : 'Ha ocurrido un error'
22
          }))
23
        }
24
 
4006 stevensc 25
        dispatch(addNotification({ style: 'success', msg: data.data }))
4009 stevensc 26
        return
2885 stevensc 27
      })
28
  }
29
 
1 www 30
  return (
3921 stevensc 31
    <div className='peopleYouMayKnow'>
2890 stevensc 32
      <div className="sd-title d-flex align-items-center justify-content-between">
33
        <h3>Conecta con:</h3>
3921 stevensc 34
        <a href="/connection/people-you-may-know" target="_blank">
35
          Ver más
36
        </a>
2890 stevensc 37
      </div>
3837 stevensc 38
      <div className='suggest-list'>
4012 stevensc 39
        {peopleYouMayKnow
3921 stevensc 40
          ? peopleYouMayKnow.map(({ id, image, link_cancel, link_request, name, profile }) =>
41
            <div className='user' key={id}>
42
              <div className="w-100 d-flex align-items-center" style={{ gap: '.5rem' }}>
43
                <a href={profile} target="_blank" rel="noreferrer">
44
                  <img src={image} alt={`${name} profile image`} />
45
                </a>
46
                <h4>{name}</h4>
47
              </div>
48
              <div className="w-100 d-flex align-items-center justify-content-start" style={{ gap: '.5rem' }}>
49
                {link_request &&
50
                  <button
51
                    className="btn btn-primary"
52
                    onClick={() => handleConnect(link_request)}
53
                  >
54
                    Conectar
55
                  </button>
56
                }
57
                {link_cancel &&
58
                  <button
59
                    className="btn btn-secondary"
60
                    onClick={() => handleConnect(link_cancel)}
61
                  >
62
                    Cancelar
63
                  </button>
64
                }
65
              </div>
66
            </div>
67
          )
3506 stevensc 68
          : <div className="view-more">Sin sugerencias</div>
69
        }
2890 stevensc 70
      </div>
2885 stevensc 71
    </div >
1 www 72
  );
73
};
74
 
75
export default PeopleYouMayKnow;