Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
5496 stevensc 1
/* eslint-disable react/prop-types */
5890 stevensc 2
import React, { useEffect, useState } from 'react'
5496 stevensc 3
import { useDispatch } from 'react-redux'
4
import { setIntlLabels } from '../../../../redux/intl/intl.action'
5
 
6
import Cover from '../../../../shared/cover/Cover'
7
import Overview from '../../../components/overview/Overview'
8
import Experiences from '../../../components/experiences/Experiences'
9
import Educations from '../../../components/educations/Educations'
10
import Location from '../../../components/location/Location'
11
import Languages from '../../../components/languages/Languages'
12
import Skills from '../../../components/skills/Skills'
13
import Aptitudes from '../../../components/aptitudes/Aptitudes'
14
import HobbiesAndInterests from '../../../components/hobbies-and-interests/HobbiesAndInterests'
5566 stevensc 15
import ProfileInfo from '../../../components/ProfileInfo'
5496 stevensc 16
 
17
const Edit = ({ profile, labels }) => {
5890 stevensc 18
  const [languages, setLanguages] = useState([])
19
  const [skills, setSkills] = useState([])
20
  const [aptitudes, setAptitudes] = useState([])
21
  const [hobbiesAndInterests, setHobbiesAndInterests] = useState([])
5496 stevensc 22
  const dispatch = useDispatch()
23
 
24
  const {
25
    profileId,
26
    cover,
27
    overview,
28
    formatted_address,
29
    experiences,
30
    educations,
31
    months,
5890 stevensc 32
    languages: userLanguages,
33
    skills: userSkills,
34
    aptitudes: userAptitudes,
35
    hobbiesAndInterests: userHobbiesAndInterests,
5496 stevensc 36
    sizes,
37
    options,
38
  } = profile
39
 
40
  useEffect(() => {
41
    dispatch(setIntlLabels(labels))
42
  }, [])
43
 
5890 stevensc 44
  useEffect(() => {
45
    const adapters = [
46
      {
47
        value: userSkills,
48
        setter: setSkills,
49
      },
50
      {
51
        value: userLanguages,
52
        setter: setLanguages,
53
      },
54
      {
55
        value: userAptitudes,
56
        setter: setAptitudes,
57
      },
58
      {
59
        value: userHobbiesAndInterests,
60
        setter: setHobbiesAndInterests,
61
      },
62
    ]
63
 
64
    adapters.map((adapter) => {
65
      const value = Object.entries(adapter.value).map(([key, value]) => ({
66
        value: key,
67
        name: value,
68
      }))
69
      adapter.setter(value)
70
    })
71
  }, [])
72
 
5496 stevensc 73
  return (
74
    <>
75
      <Cover
76
        isEdit
77
        type="user"
78
        cover={cover}
79
        profileId={profileId}
80
        id={profile.uuid}
81
        size={sizes.cover}
82
      />
83
      <main className="main-section-data container px-0">
5562 stevensc 84
        <aside className="main-left-sidebar">
85
          <ProfileInfo
5566 stevensc 86
            isEdit
5567 stevensc 87
            id={profile.uuid}
5562 stevensc 88
            facebook={profile.facebook}
5566 stevensc 89
            twitter={profile.twitter}
5562 stevensc 90
            instagram={profile.instagram}
91
            follower={profile.follower}
92
            following={profile.following}
5566 stevensc 93
            fullName={profile.fullName}
5562 stevensc 94
            image={profile.image}
95
          />
96
        </aside>
5496 stevensc 97
        <div className="feed-section">
98
          <h2>{profile.fullName}</h2>
99
          <Overview isEdit overview={overview} userId={profile.uuid} />
100
          <Experiences
101
            isEdit
102
            experiences={experiences}
103
            userId={profile.uuid}
104
            companySizesOptions={options.companySizes}
105
            industriesOptions={options.industries}
106
            months={months}
107
          />
5497 stevensc 108
          <Educations
109
            isEdit
110
            educations={educations}
111
            degreesOptions={options.degrees}
112
            userId={profile.uuid}
113
          />
5496 stevensc 114
          <Location isEdit address={formatted_address} userId={profile.uuid} />
115
          <Languages
116
            isEdit
117
            languages={languages}
118
            languagesOptions={options.languages}
119
            userId={profile.uuid}
120
          />
121
          <Skills
122
            isEdit
123
            skills={skills}
124
            skillsOptions={options.skills}
125
            userId={profile.uuid}
126
          />
127
          <Aptitudes
128
            isEdit
129
            aptitudes={aptitudes}
130
            aptitudesOptions={options.aptitudes}
131
            userId={profile.uuid}
132
          />
133
          <HobbiesAndInterests
134
            isEdit
135
            hobbiesAndInterest={hobbiesAndInterests}
136
            hobbiesAndInterestsOptions={options.hobbiesAndInterests}
137
            userId={profile.uuid}
138
          />
139
        </div>
140
        <aside className="right-sidebar"></aside>
141
      </main>
142
    </>
143
  )
144
}
145
 
146
export default Edit