Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
968 stevensc 1
import React, { useMemo } from 'react'
966 stevensc 2
import { Link } from 'react-router-dom'
967 stevensc 3
import { Avatar, Box } from '@mui/material'
966 stevensc 4
import { Visibility, Group, Share } from '@mui/icons-material'
5 stevensc 5
 
966 stevensc 6
import TagsList from '../UI/TagsList'
1507 stevensc 7
import WidgetWrapper from '../widgets/WidgetLayout'
968 stevensc 8
import Paraphrase from '../UI/Paraphrase'
5 stevensc 9
 
979 stevensc 10
const SearchItem = ({ entity = {} }) => {
11
  const {
12
    name,
13
    industry,
14
    description,
15
    skills,
16
    common_connection,
17
    views,
18
    image,
19
    company_name,
20
    title,
21
    url,
22
    followers,
23
    company_size,
24
    view_common_connection
25
  } = entity
26
 
974 stevensc 27
  const userSkills = useMemo(() => {
28
    if (!skills) {
29
      return []
30
    }
968 stevensc 31
 
974 stevensc 32
    return Object.entries(skills).map((skill) => {
33
      return { value: skill[0], name: skill[1] }
34
    })
35
  }, [skills])
36
 
5 stevensc 37
  return (
1507 stevensc 38
    <WidgetWrapper>
39
      <WidgetWrapper.Body>
968 stevensc 40
        <Box
41
          display='flex'
42
          justifyContent='space-between'
43
          alignItems='flex-start'
44
        >
45
          <Box display='inline-flex' alignItems='center' gap={1}>
967 stevensc 46
            <Avatar src={image} sx={{ width: 60, height: 60 }} />
5 stevensc 47
 
967 stevensc 48
            <Box display='flex' flexDirection='column'>
49
              <Link to={url}>
50
                <h2>{title || name}</h2>
51
              </Link>
52
              {company_name && <h4>{company_name}</h4>}
53
              {company_size && <p>Empresa {company_size}</p>}
54
              {industry && <p>{industry}</p>}
55
            </Box>
56
          </Box>
57
 
968 stevensc 58
          <Box display='inline-flex' alignItems='center' gap={1}>
967 stevensc 59
            {!company_name && view_common_connection && (
60
              <span>
61
                <Share />
62
                {common_connection} comunes
63
              </span>
64
            )}
65
 
66
            {followers ? (
67
              <span>
68
                <Group />
69
                {followers}
70
              </span>
71
            ) : null}
72
 
73
            {views ? (
74
              <span>
75
                <Visibility />
76
                {views}
77
              </span>
78
            ) : null}
79
          </Box>
80
        </Box>
81
 
968 stevensc 82
        <Paraphrase>{description || ''}</Paraphrase>
967 stevensc 83
 
968 stevensc 84
        <TagsList tags={userSkills} />
1507 stevensc 85
      </WidgetWrapper.Body>
86
    </WidgetWrapper>
5 stevensc 87
  )
88
}
89
 
90
export default SearchItem