Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3697 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3719 stevensc 1
import React, { useMemo } from 'react';
2
import { useNavigate } from 'react-router-dom';
3
import { Box, Typography } from '@mui/material';
4
import Visibility from '@mui/icons-material/Visibility';
5
import Group from '@mui/icons-material/Group';
6
import Share from '@mui/icons-material/Share';
7
 
8
import { parse } from '@utils';
9
 
10
import Widget from '@components/UI/Widget';
11
import TagsList from '@components/UI/TagsList';
12
 
13
export default function SearchItem({
14
  item: {
15
    name,
16
    industry,
17
    description,
18
    skills,
19
    common_connection,
20
    views,
21
    image,
22
    company_name,
23
    title,
24
    url,
25
    followers,
26
    company_size,
27
    view_common_connection
28
  }
29
}) {
30
  const navigate = useNavigate();
31
  const userSkills = useMemo(() => {
32
    if (!skills) {
33
      return [];
34
    }
35
 
36
    return Object.entries(skills).map((skill) => {
37
      return { value: skill[0], label: skill[1] };
38
    });
39
  }, [skills]);
40
 
41
  return (
42
    <Widget>
43
      <Widget.Header
44
        avatar={image}
45
        title={title || name}
46
        onClick={() => navigate(url)}
47
        renderAction={() => {
48
          return (
49
            <Box display='inline-flex' alignItems='center' gap={1}>
50
              {!company_name && view_common_connection && (
51
                <Typography variant='overline'>
52
                  <Share />
53
                  {common_connection} comunes
54
                </Typography>
55
              )}
56
 
57
              {followers ? (
58
                <Typography variant='overline'>
59
                  <Group />
60
                  {followers}
61
                </Typography>
62
              ) : null}
63
 
64
              {views ? (
65
                <Typography variant='overline'>
66
                  <Visibility />
67
                  {views}
68
                </Typography>
69
              ) : null}
70
            </Box>
71
          );
72
        }}
73
      />
74
 
75
      <Widget.Body>
76
        {company_name && <Typography variant='h4'>{company_name}</Typography>}
77
        {company_size && <Typography>Empresa {company_size}</Typography>}
78
        {industry && <Typography>{industry}</Typography>}
79
        <Typography>{parse(description)}</Typography>
80
        {userSkills.length > 0 && <TagsList tags={userSkills} />}
81
      </Widget.Body>
82
    </Widget>
83
  );
84
}