Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
5 stevensc 1
import React, { useEffect, useState } from 'react'
2
import { useSelector } from 'react-redux'
3047 stevensc 3
import { IconButton, Typography } from '@mui/material'
4
import { Edit } from '@mui/icons-material'
5 stevensc 5
 
2864 stevensc 6
import { parse } from '@utils'
7
 
3047 stevensc 8
import Widget from '@components/UI/Widget'
9
import EmptySection from '@components/UI/EmptySection'
5 stevensc 10
import OverviewModal from './OverviewModal'
11
 
3047 stevensc 12
const Overview = ({ overview: defaultValue, id, edit }) => {
704 stevensc 13
  const [overview, setOverview] = useState('')
5 stevensc 14
  const [isModalOpen, setIsModalOpen] = useState(false)
15
  const labels = useSelector(({ intl }) => intl.labels)
16
 
17
  const toggleModal = () => {
18
    setIsModalOpen(!isModalOpen)
19
  }
20
 
704 stevensc 21
  useEffect(() => {
22
    setOverview(defaultValue)
23
  }, [defaultValue])
24
 
5 stevensc 25
  return (
26
    <>
3047 stevensc 27
      <Widget>
28
        <Widget.Header
29
          title='Visión general'
3053 stevensc 30
          renderAction={() => {
31
            if (!edit) return
32
            return (
3047 stevensc 33
              <IconButton onClick={toggleModal}>
34
                <Edit />
35
              </IconButton>
36
            )
3053 stevensc 37
          }}
3047 stevensc 38
        />
39
 
40
        <Widget.Body>
41
          {overview ? (
42
            <Typography>{parse(overview)}</Typography>
43
          ) : (
44
            <EmptySection align='left' message={labels.empty} />
5 stevensc 45
          )}
3047 stevensc 46
        </Widget.Body>
47
      </Widget>
48
 
5 stevensc 49
      <OverviewModal
3047 stevensc 50
        id={id}
5 stevensc 51
        isOpen={isModalOpen}
704 stevensc 52
        overview={overview}
5 stevensc 53
        closeModal={toggleModal}
54
        onComplete={(newOverview) => setOverview(newOverview)}
55
      />
56
    </>
57
  )
58
}
59
 
60
export default Overview