Rev 5376 | Rev 5440 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
/* eslint-disable react/prop-types */
import React, { useEffect, useState } from 'react'
import { addNotification } from '../../../redux/notification/notification.actions'
import EmptySection from '../../../shared/empty-section/EmptySection'
import { axios } from '../../../utils'
export default function HomeNews ({
classname = 'peopleYouMayKnow',
currentPost = null
}) {
const [news, setNews] = useState([])
const loadNews = () => {
axios.get('/helpers/posts')
.then(({ data: response }) => {
if (!response.success) {
addNotification({
style: 'danger',
msg: response.data
})
}
setNews(response.data)
})
.catch(() => {
addNotification({
style: 'danger',
msg: 'Disculpe, ha ocurrido un error buscando novedades'
})
})
}
useEffect(() => {
loadNews()
}, [])
return (
<div className={classname}>
<div className="sd-title">
<h3>{LABELS.POSTS}</h3>
</div>
<div className="posts-list">
{!news.length
? <EmptySection message={LABELS.NOT_AVAILABLE_POSTS} />
: news.map(element => {
if (element.link.includes(currentPost)) {
return null
}
return (
<div key={element.title} className='post-item'>
<img src={element.image} alt={`${element.title} image`} />
<a href={element.link} target='secondary'>
<h4>{element.title}</h4>
</a>
<span>{element.date}</span>
<a
className="btn btn-primary"
href={element.link}
target="secondary"
>
{LABELS.VIEW_MORE}
</a>
</div>
)
})}
</div>
</div>
)
}