Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 4824 | Rev 5377 | 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="suggestions-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='postsList'>
                                <img src={element.image} alt={`${element.title} image`} />
                                <div className="d-flex flex-column" style={{ gap: '.5rem' }}>
                                    <a href={element.link} target='secondary'>
                                        <h4>{element.title}</h4>
                                    </a>
                                    <span>{element.date}</span>
                                </div>
                                <a
                                    className="btn btn-primary"
                                    href={element.link}
                                    target="secondary"
                                >
                                    {LABELS.VIEW_MORE}
                                </a>
                            </div>
                    )
                  })}
            </div>
        </div>
  )
}