Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
5475 stevensc 1
import React, { useEffect } from 'react'
5473 stevensc 2
import parse from 'html-react-parser'
3
import { useDispatch } from 'react-redux'
4
import { setIntlLabels } from '../../../../redux/intl/intl.action'
5475 stevensc 5
 
5473 stevensc 6
import EmptySection from '../../../../shared/empty-section/EmptySection'
7
import SuggestWidget from '../../../../shared/helpers/my-groups-helper/SuggestWidget'
8
import ProfileInfo from '../../../components/ProfileInfo'
9
import Overview from '../../../components/overview/Overview'
5475 stevensc 10
import Experiences from '../../../components/experiences/Experiences'
5473 stevensc 11
 
12
const View = ({
13
  userIdEncrypted,
14
  cover,
15
  overview,
16
  userExperiences,
17
  userEducations,
18
  formatted_address,
19
  months,
20
  userLanguages,
21
  userSkills,
22
  userAptitudes,
23
  userHobbiesAndInterests,
24
  CancelConnectionUrl,
25
  RequestConnectionUrl,
26
  profileId,
27
  labels,
28
  ...profileProps
29
}) => {
30
  const dispatch = useDispatch()
31
 
32
  useEffect(() => {
33
    dispatch(setIntlLabels(labels))
34
  }, [])
35
 
36
  return (
37
    <>
38
      <section className="cover-sec">
39
        <img
40
          id="user-cover-img"
41
          src={`/storage/type/user-cover/code/${userIdEncrypted}/${
42
            cover ? `filename/${cover}` : ''
43
          }`}
44
          alt=""
45
        />
46
      </section>
47
      <main className="main-section-data container px-0">
48
        <ProfileInfo
49
          {...profileProps}
50
          id={userIdEncrypted}
51
          cancelUrl={CancelConnectionUrl}
52
          connectUrl={RequestConnectionUrl}
53
        />
54
        <section className="feed-section">
55
          <Overview overview={overview} userId={userIdEncrypted} />
5475 stevensc 56
          <Experiences
57
            userId={userIdEncrypted}
58
            experiences={userExperiences}
59
            months={months}
60
          />
5473 stevensc 61
          <div className="user-profile-extended-ov">
62
            <h3>{labels.EDUCATION}</h3>
63
            {!userEducations.length ? (
64
              <EmptySection align="left" message={labels.EMPTY} />
65
            ) : (
66
              <span id="education-records">
67
                {userEducations.map(
68
                  (
69
                    {
70
                      degree,
71
                      university,
72
                      from_year,
73
                      to_year,
74
                      field_of_study,
75
                      formatted_address,
76
                      description,
77
                    },
78
                    id
79
                  ) => (
80
                    <div key={id}>
81
                      {id >= 1 && <hr />}
82
                      <p>{degree}</p>
83
                      <p>{university}</p>
84
                      <p>{`${from_year} - ${to_year || 'Actual'}`}</p>
85
                      {field_of_study && <p>{field_of_study}</p>}
86
                      <p>{formatted_address}</p>
87
                      {description && <p>{parse(description)}</p>}
88
                    </div>
89
                  )
90
                )}
91
              </span>
92
            )}
93
          </div>
94
          <div className="user-profile-extended-ov">
95
            <h3>{labels.LOCATION}</h3>
96
            {!formatted_address ? (
97
              <EmptySection align="left" message={labels.EMPTY} />
98
            ) : (
99
              <p id="location-formatted_address">{formatted_address}</p>
100
            )}
101
          </div>
102
          <div className="user-profile-extended-ov">
103
            <h3>{labels.LANGUAGES}</h3>
104
            {!userLanguages.length ? (
105
              <EmptySection align="left" message={labels.EMPTY} />
106
            ) : (
107
              <ul id="list-languages">
108
                {userLanguages.map(({ name, value }) => (
109
                  <li key={value}>
110
                    <a href="#" title="">
111
                      {name}
112
                    </a>
113
                  </li>
114
                ))}
115
              </ul>
116
            )}
117
          </div>
118
          <div className="user-profile-extended-ov">
119
            <h3>{labels.SKILLS}</h3>
120
            {!userSkills.length ? (
121
              <EmptySection align="left" message={labels.EMPTY} />
122
            ) : (
123
              <ul id="list-skills">
124
                {userSkills.map(({ name, value }) => (
125
                  <li key={value}>
126
                    <a href="#" title="">
127
                      {name}
128
                    </a>
129
                  </li>
130
                ))}
131
              </ul>
132
            )}
133
          </div>
134
          <div className="user-profile-extended-ov">
135
            <h3>{labels.APTITUDES}</h3>
136
            {!userAptitudes.length ? (
137
              <EmptySection align="left" message={labels.EMPTY} />
138
            ) : (
139
              <ul id="list-skills">
140
                {userAptitudes.map(({ name, value }) => (
141
                  <li key={value}>
142
                    <a href="#" title="">
143
                      {name}
144
                    </a>
145
                  </li>
146
                ))}
147
              </ul>
148
            )}
149
          </div>
150
          <div className="user-profile-extended-ov">
151
            <h3>{labels.HOBBIES_AND_INTERESTS}</h3>
152
            {!userHobbiesAndInterests.length ? (
153
              <EmptySection align="left" message={labels.EMPTY} />
154
            ) : (
155
              <ul id="list-skills">
156
                {userHobbiesAndInterests.map(({ name, value }) => (
157
                  <li key={value}>
158
                    <a href="#" title="">
159
                      {name}
160
                    </a>
161
                  </li>
162
                ))}
163
              </ul>
164
            )}
165
          </div>
166
        </section>
167
        <SuggestWidget
168
          url={`/helpers/people-viewed-profile/${profileId}`}
169
          btnLabelAccept="Ver perfil"
170
          title="Quien ha visitado esta perfil"
171
        />
172
      </main>
173
    </>
174
  )
175
}
176
 
177
export default View