Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev 3432 Rev 3694
Línea 1... Línea 1...
1
import React, { useState } from "react";
1
import React, { useState } from 'react';
2
import { Link } from "react-router-dom";
2
import { Link } from 'react-router-dom';
3
import { useDispatch, useSelector } from "react-redux";
3
import { useDispatch, useSelector } from 'react-redux';
-
 
4
import Facebook from '@mui/icons-material/Facebook';
4
import { Facebook, Instagram, Twitter } from "@mui/icons-material";
5
import Instagram from '@mui/icons-material/Instagram';
-
 
6
import Twitter from '@mui/icons-material/Twitter';
Línea 5... Línea 7...
5
 
7
 
6
import { axios } from "../utils";
8
import { axios } from '../utils';
Línea 7... Línea 9...
7
import { addNotification } from "../redux/notification/notification.actions";
9
import { addNotification } from '../redux/notification/notification.actions';
8
 
10
 
Línea 9... Línea 11...
9
import ConfirmModal from "../../shared/confirm-modal/ConfirmModal";
11
import ConfirmModal from '../../shared/confirm-modal/ConfirmModal';
10
import SocialNetworks from "../../shared/social-networks/SocialNetwors";
12
import SocialNetworks from '../../shared/social-networks/SocialNetwors';
11
 
13
 
12
const ProfileInfo = ({
14
const ProfileInfo = ({
Línea 20... Línea 22...
20
  showContact,
22
  showContact,
21
  fullName,
23
  fullName,
22
  linkInmail,
24
  linkInmail,
23
  connectUrl,
25
  connectUrl,
24
  cancelUrl,
26
  cancelUrl,
25
  isEdit,
27
  isEdit
26
}) => {
28
}) => {
27
  const [isAdded, setIsAdded] = useState(!connectUrl);
29
  const [isAdded, setIsAdded] = useState(!connectUrl);
28
  const [connectionUrl, setConnectionUrl] = useState(connectUrl || cancelUrl);
30
  const [connectionUrl, setConnectionUrl] = useState(connectUrl || cancelUrl);
29
  const [showConfirmModal, setShowConfirmModal] = useState(false);
31
  const [showConfirmModal, setShowConfirmModal] = useState(false);
30
  const labels = useSelector(({ intl }) => intl.labels);
32
  const labels = useSelector(({ intl }) => intl.labels);
Línea 42... Línea 44...
42
 
44
 
43
  const connect = () => {
45
  const connect = () => {
44
    axios.post(connectionUrl).then((response) => {
46
    axios.post(connectionUrl).then((response) => {
45
      const { data, success } = response.data;
47
      const { data, success } = response.data;
46
      if (!success) {
48
      if (!success) {
47
        dispatch(addNotification({ style: "danger", msg: data }));
49
        dispatch(addNotification({ style: 'danger', msg: data }));
48
        return;
50
        return;
49
      }
51
      }
50
      dispatch(addNotification({ style: "success", msg: data }));
52
      dispatch(addNotification({ style: 'success', msg: data }));
51
      getProfile();
53
      getProfile();
52
      setIsAdded(!isAdded);
54
      setIsAdded(!isAdded);
53
    });
55
    });
Línea 57... Línea 59...
57
    setShowConfirmModal(!showConfirmModal);
59
    setShowConfirmModal(!showConfirmModal);
58
  };
60
  };
Línea 59... Línea 61...
59
 
61
 
60
  return (
62
  return (
61
    <>
63
    <>
62
      <div className="profile-info">
64
      <div className='profile-info'>
63
        <img id="user-profile-img" src={image} alt="profile-image" />
65
        <img id='user-profile-img' src={image} alt='profile-image' />
64
        <h3>{fullName}</h3>
66
        <h3>{fullName}</h3>
65
        <div className="row">
67
        <div className='row'>
66
          {facebook && (
68
          {facebook && (
67
            <a href={facebook} target="_blank" rel="noreferrer">
69
            <a href={facebook} target='_blank' rel='noreferrer'>
68
              <Facebook />
70
              <Facebook />
69
            </a>
71
            </a>
70
          )}
72
          )}
71
          {twitter && (
73
          {twitter && (
72
            <a href={twitter} target="_blank" rel="noreferrer">
74
            <a href={twitter} target='_blank' rel='noreferrer'>
73
              <Twitter />
75
              <Twitter />
74
            </a>
76
            </a>
75
          )}
77
          )}
76
          {instagram && (
78
          {instagram && (
77
            <a href={instagram} target="_blank" rel="noreferrer">
79
            <a href={instagram} target='_blank' rel='noreferrer'>
78
              <Instagram />
80
              <Instagram />
79
            </a>
81
            </a>
80
          )}
82
          )}
81
        </div>
83
        </div>
82
        <div className="row">
84
        <div className='row'>
83
          {following && (
85
          {following && (
84
            <span>
86
            <span>
85
              <b>{following}</b>
87
              <b>{following}</b>
86
              <br />
88
              <br />
Línea 93... Línea 95...
93
              <br />
95
              <br />
94
              Seguidores
96
              Seguidores
95
            </span>
97
            </span>
96
          )}
98
          )}
97
        </div>
99
        </div>
98
        <div className="row ">
100
        <div className='row '>
99
          {showContact && (
101
          {showContact && (
100
            <>
102
            <>
101
              <button
103
              <button
102
                className={`btn btn-${isAdded ? "secondary" : "primary"}`}
104
                className={`btn btn-${isAdded ? 'secondary' : 'primary'}`}
103
                onClick={() =>
-
 
104
                  isAdded ? toggleConfirmationModal() : connect()
105
                onClick={() => (isAdded ? toggleConfirmationModal() : connect())}
105
                }
-
 
106
              >
106
              >
107
                {isAdded ? labels.cancel : labels.add}
107
                {isAdded ? labels.cancel : labels.add}
108
              </button>
108
              </button>
109
              <Link to={linkInmail} className="btn btn-tertiary">
109
              <Link to={linkInmail} className='btn btn-tertiary'>
110
                {labels.message}
110
                {labels.message}
111
              </Link>
111
              </Link>
112
            </>
112
            </>
113
          )}
113
          )}
114
        </div>
114
        </div>
115
        {isEdit && (
115
        {isEdit && (
116
          <SocialNetworks
116
          <SocialNetworks
117
            type="profile"
117
            type='profile'
118
            profileId={id}
118
            profileId={id}
119
            facebook={facebook}
119
            facebook={facebook}
120
            instagram={instagram}
120
            instagram={instagram}
121
            twitter={twitter}
121
            twitter={twitter}
122
          />
122
          />