Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
3537 stevensc 1
import React from 'react';
2
import { useParams } from 'react-router-dom';
3
import { useSelector } from 'react-redux';
4
import { Box, Grid } from '@mui/material';
5 stevensc 5
 
3537 stevensc 6
import { useFetch } from '@hooks';
7
import { formatObjectToArray } from '@utils';
5 stevensc 8
 
3537 stevensc 9
import ProfileCard from '@components/profile/ProfileCard';
10
import LocationCard from '@components/profile/location/LocationCard';
11
import LanguagesCard from '@components/profile/languages/LanguagesCard';
12
import SkillsCard from '@components/profile/skills/SkillsCard';
13
import AptitudesCard from '@components/profile/aptitudes/AptitudesCard';
14
import HobbiesCard from '@components/profile/hobbies/HobbiesCard';
15
import SuggestWidget from '@components/widgets/default/SuggestWidget';
16
import EducationsCard from '@components/profile/educations/educations-card';
17
import ExperiencesCard from '@components/profile/experiences/experiences-card';
2902 stevensc 18
 
5 stevensc 19
const ProfileViewPage = () => {
3537 stevensc 20
  const labels = useSelector(({ intl }) => intl.labels);
21
  const { uuid } = useParams();
3040 stevensc 22
 
3537 stevensc 23
  const { data: profile } = useFetch(`/profile/view/${uuid}`);
5 stevensc 24
 
2902 stevensc 25
  return (
3274 stevensc 26
    <Grid container spacing={1}>
27
      <Grid item xs md={8} spacing={1} direction='column'>
3031 stevensc 28
        <Box sx={{ display: 'flex', flexDirection: 'column', gap: 1 }}>
3537 stevensc 29
          <ProfileCard
30
            cover={profile.cover}
31
            avatar={profile.image}
32
            name={profile.full_name}
33
            description={profile.overview}
34
            address={profile.formatted_address}
35
            coverUrl={profile.link_cover_upload}
36
            avatarUrl={profile.link_image_upload}
37
            coverSize={profile.image_size_cover}
38
            avatarSize={profile.image_size_profile}
39
            requestConnection={profile.request_connection}
40
            linkRequest={profile.link_request}
41
            linkCancel={profile.link_cancel}
42
            linkInmail={profile.link_inmail}
43
            following={profile.following}
44
            totalConnections={profile.follower}
45
            facebook={profile.facebook}
46
            twitter={profile.twitter}
47
            instagram={profile.instagram}
3031 stevensc 48
          />
2902 stevensc 49
 
3537 stevensc 50
          <ExperiencesCard experiences={profile?.user_experiences} uuid={uuid} />
51
 
3031 stevensc 52
          <EducationsCard educations={profile?.user_educations} uuid={uuid} />
2902 stevensc 53
 
3031 stevensc 54
          <LocationCard address={profile?.formatted_address} uuid={uuid} />
2902 stevensc 55
 
3537 stevensc 56
          <LanguagesCard languages={formatObjectToArray(profile?.user_languages)} uuid={uuid} />
2902 stevensc 57
 
3537 stevensc 58
          <SkillsCard skills={formatObjectToArray(profile?.user_skills)} uuid={uuid} />
2902 stevensc 59
 
3537 stevensc 60
          <AptitudesCard aptitudes={formatObjectToArray(profile?.user_aptitudes)} uuid={uuid} />
2902 stevensc 61
 
3031 stevensc 62
          <HobbiesCard
63
            hobbies={formatObjectToArray(profile?.user_hobbies_and_interests)}
64
            uuid={uuid}
65
          />
66
        </Box>
2902 stevensc 67
      </Grid>
68
 
3029 stevensc 69
      <Grid item xs md={4}>
2902 stevensc 70
        {profile?.user_profile_id && (
71
          <SuggestWidget
72
            url={`/helpers/people-viewed-profile/${profile?.user_profile_id}`}
73
            title={labels.who_has_seen_this_profile}
74
          />
75
        )}
76
      </Grid>
77
    </Grid>
3537 stevensc 78
  );
79
};
5 stevensc 80
 
3537 stevensc 81
export default ProfileViewPage;