Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
2277 stevensc 1
import React from 'react'
2614 stevensc 2
import { useNavigate } from 'react-router-dom'
861 stevensc 3
import { useSelector } from 'react-redux'
5 stevensc 4
 
2780 stevensc 5
import { useFetch } from '@hooks'
5 stevensc 6
 
2277 stevensc 7
import Widget from '@app/components/UI/Widget'
2280 stevensc 8
import List from '@app/components/UI/List'
2277 stevensc 9
import EmptySection from '@app/components/UI/EmptySection'
10
 
5 stevensc 11
export default function HomeNews({ currentPost }) {
2279 stevensc 12
  const { data: news } = useFetch('/helpers/posts', [])
861 stevensc 13
  const labels = useSelector(({ intl }) => intl.labels)
2614 stevensc 14
  const navigate = useNavigate()
5 stevensc 15
 
16
  return (
2277 stevensc 17
    <Widget>
18
      <Widget.Header title={labels.posts} />
861 stevensc 19
 
2277 stevensc 20
      <Widget.Body>
2279 stevensc 21
        {news?.length <= 0 ? (
22
          <EmptySection message={labels.not_available_posts} />
23
        ) : null}
24
 
2280 stevensc 25
        <List styles={{ maxHeight: '380px', overflow: 'scroll' }}>
2279 stevensc 26
          {news?.map(({ link, title, image, date }) => {
2278 stevensc 27
            if (link.includes(currentPost)) return null
5 stevensc 28
 
2278 stevensc 29
            return (
2280 stevensc 30
              <List.Item
2278 stevensc 31
                key={title}
32
                title={title}
33
                image={image}
34
                subheader={date}
35
                avatarVariant='square'
2614 stevensc 36
                onClick={() => navigate(link)}
2278 stevensc 37
              />
38
            )
39
          })}
40
        </List>
2277 stevensc 41
      </Widget.Body>
42
    </Widget>
861 stevensc 43
  )
5 stevensc 44
}