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;
|