Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
5473 stevensc 1
import React, { useState } from 'react'
5868 stevensc 2
import EmptySection from '../../../../../shared/empty-section/EmptySection'
3
import EducationCard from '../../../../pages/view/templates/linkedin/components/cards/EducationCard'
4
import ExperienceCard from '../../../../pages/view/templates/linkedin/components/cards/ExperienceCard'
5
import ItemsList from '../../../../pages/view/templates/linkedin/components/cards/ItemsList'
6
import ProfileCard from '../../../../pages/view/templates/linkedin/components/ProfileCard'
7
import ProfileWidget from '../../../../pages/view/templates/linkedin/components/ProfileWidget'
8
import AptitudesModal from '../../../../components/aptitudes/AptitudesModal'
9
import EducationModal from '../../../../components/educations/EducationModal'
10
import ExperienceModal from '../../../../components/experiences/ExperienceModal'
11
import HobbiesModal from '../../../../components/hobbies-and-interests/HobbiesModal'
12
import LanguagesModal from '../../../../components/languages/LanguagesModal'
13
import LocationModal from '../../../../components/location/LocationModal'
14
import SkillsModal from '../../../../components/skills/SkillsModal'
5473 stevensc 15
 
16
const EditView = (userInfo) => {
17
  const {
5865 stevensc 18
    experience: userExperiences,
19
    educations: userEducations,
20
    languages: userLanguages,
21
    skills: userSkills,
22
    aptitudes: userAptitudes,
23
    hobbiesAndInterests: userHobbiesAndInterests,
5473 stevensc 24
    months,
5865 stevensc 25
    options,
26
    formatted_address,
5473 stevensc 27
  } = userInfo
28
 
29
  const [experiences, setExperiences] = useState(userExperiences)
30
  const [educations, setEducations] = useState(userEducations)
31
  const [languages, setLanguages] = useState(userLanguages)
32
  const [skills, setSkills] = useState(userSkills)
33
  const [aptitudes, setAptitudes] = useState(userAptitudes)
5865 stevensc 34
  const [hobbiesAndInterests, setHobbiesAndInterests] = useState(
35
    userHobbiesAndInterests
36
  )
5473 stevensc 37
  const [address, setAddress] = useState(formatted_address)
38
 
39
  const [modalShow, setModalShow] = useState(null)
40
  const [settedDescription, setSettedDescription] = useState('')
41
  const [postUrl, setPostUrl] = useState('')
42
  const [isEdit, setIsEdit] = useState(false)
43
 
44
  const handleEdit = (modalName, url, description) => {
45
    setModalShow(modalName)
46
    setPostUrl(url)
47
    setSettedDescription(description)
48
  }
49
 
50
  const handleAdd = (modalName, url) => {
51
    setModalShow(modalName)
52
    setPostUrl(url)
53
  }
54
 
55
  const closeModal = () => {
56
    setSettedDescription('')
57
    setPostUrl('')
58
    setIsEdit(false)
59
    setModalShow(null)
60
  }
61
 
62
  const renderModal = {
5865 stevensc 63
    Experiencia: (
64
      <ExperienceModal
65
        companySizesOptions={options.companySizes}
66
        industriesOptions={options.industries}
67
        months={months}
68
        setUserExperiences={(newExperiences) => setExperiences(newExperiences)}
69
        show={modalShow === 'Experiencia'}
70
        postUrl={postUrl}
71
        closeModal={closeModal}
72
        settedDescription={settedDescription}
73
      />
74
    ),
75
    Educación: (
76
      <EducationModal
77
        closeModal={closeModal}
78
        postUrl={postUrl}
79
        setEducations={(newEducations) => setEducations(newEducations)}
80
        show={modalShow === 'Educación'}
81
        settedDescription={settedDescription}
82
        degreesOptions={options.degrees}
83
      />
84
    ),
85
    Habilidades: (
86
      <SkillsModal
87
        closeModal={closeModal}
88
        setSkills={(newSkills) => setSkills(newSkills)}
89
        show={modalShow === 'Habilidades'}
90
        skillsOptions={options.skills}
91
        userIdEncrypted={userInfo.userProfileIdEncrypted}
92
        userSkillsArray={skills}
93
      />
94
    ),
95
    Idiomas: (
96
      <LanguagesModal
97
        show={modalShow === 'Idiomas'}
98
        closeModal={closeModal}
99
        userIdEncrypted={userInfo.userProfileIdEncrypted}
100
        languagesOptions={options.languages}
101
        userLanguages={languages}
102
        setLanguages={(newLanguages) => setLanguages(newLanguages)}
103
      />
104
    ),
105
    Aptitudes: (
106
      <AptitudesModal
107
        show={modalShow === 'Aptitudes'}
108
        closeModal={closeModal}
109
        userIdEncrypted={userInfo.userProfileIdEncrypted}
110
        aptitudesOptions={options.aptitudes}
111
        userAptitudes={aptitudes}
112
        setAptitudes={(newAptitudes) => setAptitudes(newAptitudes)}
113
      />
114
    ),
115
    'Hobbies e Intereses': (
116
      <HobbiesModal
117
        show={modalShow === 'Hobbies e Intereses'}
118
        closeModal={closeModal}
119
        userIdEncrypted={userInfo.userProfileIdEncrypted}
120
        hobbiesAndInterestsOptions={options.hobbiesAndInterests}
121
        userHobbiesAndInterests={hobbiesAndInterests}
122
        setUserHobbiesAndInterests={(newHobbiesAndInterests) =>
123
          setHobbiesAndInterests(newHobbiesAndInterests)
124
        }
125
      />
126
    ),
127
    Ubicación: (
128
      <LocationModal
129
        isModalOpen={modalShow === 'Ubicación'}
130
        closeModal={() => setModalShow(null)}
131
        setSettedAddress={(newAddress) => setAddress(newAddress)}
132
        userIdEncrypted={userInfo.userProfileIdEncrypted}
133
      />
134
    ),
5473 stevensc 135
  }
136
 
5869 stevensc 137
  return {
138
    /* <main className="w-100">
5865 stevensc 139
      <div className="container">
140
        <div className="main d-flex flex-column" style={{ gap: '.5rem' }}>
141
          <ProfileCard {...{ ...userInfo, formatted_address: address }} />
142
          <ProfileWidget
143
            title="Experiencia"
144
            onEdit={() => setIsEdit(!isEdit)}
145
            onAdd={handleAdd}
146
            addUrl={`/profile/my-profiles/experience/${userInfo.userProfileIdEncrypted}/operation/add`}
147
          >
148
            {experiences.map((experience, index) => {
149
              return (
150
                <ExperienceCard
151
                  key={index}
152
                  experience={experience}
153
                  months={userInfo.months}
154
                  isEdit={isEdit}
155
                  onEdit={handleEdit}
156
                  setExperiences={(newExperiences) =>
157
                    setExperiences(newExperiences)
158
                  }
159
                />
160
              )
161
            })}
162
          </ProfileWidget>
163
          <ProfileWidget
164
            title="Educación"
165
            onEdit={() => setIsEdit(!isEdit)}
166
            onAdd={handleAdd}
167
            addUrl={`/profile/my-profiles/education/${userInfo.userProfileIdEncrypted}/operation/add`}
168
          >
169
            {educations.map((education, index) => {
170
              return (
171
                <EducationCard
172
                  key={index}
173
                  education={education}
174
                  isEdit={isEdit}
175
                  onEdit={handleEdit}
176
                  setEducations={(newEducations) =>
177
                    setEducations(newEducations)
178
                  }
179
                />
180
              )
181
            })}
182
          </ProfileWidget>
183
          <ProfileWidget
184
            title="Ubicación"
185
            onEdit={() => setModalShow('Ubicación')}
186
            justEdit
187
          >
188
            <div className="card__items">
189
              <p>{address}</p>
5473 stevensc 190
            </div>
5865 stevensc 191
          </ProfileWidget>
192
          <ProfileWidget
193
            title="Idiomas"
194
            onEdit={() => setModalShow('Idiomas')}
195
            justEdit
196
          >
197
            {!languages.length ? (
198
              <EmptySection align="left" message="Sin información" />
199
            ) : (
200
              <ItemsList value={languages} />
201
            )}
202
          </ProfileWidget>
203
          <ProfileWidget
204
            title="Habilidades"
205
            onEdit={() => setModalShow('Habilidades')}
206
            justEdit
207
          >
208
            {!skills.length ? (
209
              <EmptySection align="left" message="Sin información" />
210
            ) : (
211
              <ItemsList value={skills} />
212
            )}
213
          </ProfileWidget>
214
          <ProfileWidget
215
            title="Aptitudes"
216
            onEdit={() => setModalShow('Aptitudes')}
217
            justEdit
218
          >
219
            {!aptitudes.length ? (
220
              <EmptySection align="left" message="Sin información" />
221
            ) : (
222
              <ItemsList value={aptitudes} />
223
            )}
224
          </ProfileWidget>
225
          <ProfileWidget
226
            title="Pasatiempos e intereses"
227
            onEdit={() => setModalShow('Hobbies e Intereses')}
228
            justEdit
229
          >
230
            {!hobbiesAndInterests.length ? (
231
              <EmptySection align="left" message="Sin información" />
232
            ) : (
233
              <ItemsList value={hobbiesAndInterests} />
234
            )}
235
          </ProfileWidget>
236
          {renderModal[modalShow]}
237
        </div>
238
      </div>
5869 stevensc 239
    </main> */
240
  }
5473 stevensc 241
}
242
 
243
export default EditView