Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
3719 stevensc 1
import React, { useState } from 'react';
2
import { Button, Typography } from '@mui/material';
3
import { East } from '@mui/icons-material';
4
import parse from 'html-react-parser';
5
import Widget from '@components/UI/Widget';
6
import Modal from '@components/UI/modal/Modal';
7
 
8
const AboutGroup = (group) => {
9
  const [showModal, setShowModal] = useState(false);
10
 
11
  const toggleModal = () => setShowModal(true);
12
 
13
  return (
14
    <>
15
      <Widget>
16
        <Widget.Header title='Acerca de este grupo' />
17
        <Widget.Body>
18
          <Typography>{parse(group.overview ?? 'Sin descripción')}</Typography>
19
        </Widget.Body>
20
        <Widget.Actions styles={{ padding: 0 }}>
21
          <Button onClick={toggleModal} fullWidth sx={{ borderRadius: 0 }}>
22
            Ver más
23
            <East />
24
          </Button>
25
        </Widget.Actions>
26
      </Widget>
27
      <AboutGroup.Modal show={showModal} closeModal={() => setShowModal(false)} group={group} />
28
    </>
29
  );
30
};
31
 
32
const AboutModal = ({ show, closeModal, group }) => {
33
  const { name, overview, group_type, industry, privacy, accessibility, website } = group;
34
 
35
  return (
36
    <Modal title='Acerca de este grupo' show={show} onClose={closeModal} showFooter={false}>
37
      <div className='description__label'>
38
        <label htmlFor='name'>Nombre</label>
39
        <p>{name}</p>
40
      </div>
41
      <div className='description__label'>
42
        <label htmlFor='name'>Descripción</label>
43
        {overview && parse(overview)}
44
      </div>
45
      <div className='description__label'>
46
        <label htmlFor='name'>Tipo de grupo</label>
47
        <p>{group_type}</p>
48
      </div>
49
      <div className='description__label'>
50
        <label htmlFor='name'>Industria</label>
51
        <p>{industry}</p>
52
      </div>
53
      <div className='description__label'>
54
        <label htmlFor='name'>Privacidad</label>
55
        <p>{privacy}</p>
56
      </div>
57
      <div className='description__label'>
58
        <label htmlFor='name'>Accesibilidad</label>
59
        <p>{accessibility}</p>
60
      </div>
61
      <div className='description__label'>
62
        <label htmlFor='name'>Sitio web</label>
63
        <a href={website} target='_blank' rel='noreferrer'>
64
          <p>{website}</p>
65
        </a>
66
      </div>
67
    </Modal>
68
  );
69
};
70
 
71
AboutGroup.Modal = AboutModal;
72
 
73
export default AboutGroup;