Rev 5567 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
/* eslint-disable react/prop-types */
import React, { useEffect, useState } from 'react'
import { useDispatch } from 'react-redux'
import { setIntlLabels } from '../../../../redux/intl/intl.action'
import Cover from '../../../../shared/cover/Cover'
import Overview from '../../../components/overview/Overview'
import Experiences from '../../../components/experiences/Experiences'
import Educations from '../../../components/educations/Educations'
import Location from '../../../components/location/Location'
import Languages from '../../../components/languages/Languages'
import Skills from '../../../components/skills/Skills'
import Aptitudes from '../../../components/aptitudes/Aptitudes'
import HobbiesAndInterests from '../../../components/hobbies-and-interests/HobbiesAndInterests'
import ProfileInfo from '../../../components/ProfileInfo'
const Edit = ({ profile, labels }) => {
const [languages, setLanguages] = useState([])
const [skills, setSkills] = useState([])
const [aptitudes, setAptitudes] = useState([])
const [hobbiesAndInterests, setHobbiesAndInterests] = useState([])
const dispatch = useDispatch()
const {
profileId,
cover,
overview,
formatted_address,
experiences,
educations,
months,
languages: userLanguages,
skills: userSkills,
aptitudes: userAptitudes,
hobbiesAndInterests: userHobbiesAndInterests,
sizes,
options,
} = profile
useEffect(() => {
dispatch(setIntlLabels(labels))
}, [])
useEffect(() => {
const adapters = [
{
value: userSkills,
setter: setSkills,
},
{
value: userLanguages,
setter: setLanguages,
},
{
value: userAptitudes,
setter: setAptitudes,
},
{
value: userHobbiesAndInterests,
setter: setHobbiesAndInterests,
},
]
adapters.map((adapter) => {
const value = Object.entries(adapter.value).map(([key, value]) => ({
value: key,
name: value,
}))
adapter.setter(value)
})
}, [])
return (
<>
<Cover
isEdit
type="user"
cover={cover}
profileId={profileId}
id={profile.uuid}
size={sizes.cover}
/>
<main className="main-section-data container px-0">
<aside className="main-left-sidebar">
<ProfileInfo
isEdit
id={profile.uuid}
facebook={profile.facebook}
twitter={profile.twitter}
instagram={profile.instagram}
follower={profile.follower}
following={profile.following}
fullName={profile.fullName}
image={profile.image}
/>
</aside>
<div className="feed-section">
<h2>{profile.fullName}</h2>
<Overview isEdit overview={overview} userId={profile.uuid} />
<Experiences
isEdit
experiences={experiences}
userId={profile.uuid}
companySizesOptions={options.companySizes}
industriesOptions={options.industries}
months={months}
/>
<Educations
isEdit
educations={educations}
degreesOptions={options.degrees}
userId={profile.uuid}
/>
<Location isEdit address={formatted_address} userId={profile.uuid} />
<Languages
isEdit
languages={languages}
languagesOptions={options.languages}
userId={profile.uuid}
/>
<Skills
isEdit
skills={skills}
skillsOptions={options.skills}
userId={profile.uuid}
/>
<Aptitudes
isEdit
aptitudes={aptitudes}
aptitudesOptions={options.aptitudes}
userId={profile.uuid}
/>
<HobbiesAndInterests
isEdit
hobbiesAndInterest={hobbiesAndInterests}
hobbiesAndInterestsOptions={options.hobbiesAndInterests}
userId={profile.uuid}
/>
</div>
<aside className="right-sidebar"></aside>
</main>
</>
)
}
export default Edit