Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
3503 stevensc 1
/* eslint-disable react/prop-types */
2369 stevensc 2
import React, { useEffect, useState } from 'react';
1386 steven 3
import { addNotification } from '../../../redux/notification/notification.actions';
4
import { axios } from '../../../utils';
5
 
3503 stevensc 6
export default function HomeNews({
7
    containerClassName = ''
8
}) {
1386 steven 9
    const [news, setNews] = useState([])
10
    const loadNews = () => {
11
        axios.get('/helpers/posts')
4088 stevensc 12
            .then(({data : response}) => {
13
                if (!response.success) {
14
                    addNotification({
15
                        style: "danger",
16
                        msg: response.data,
17
                    });
1386 steven 18
                }
4088 stevensc 19
                setNews(response.data)
1386 steven 20
            })
21
            .catch(() => {
22
                addNotification({
4088 stevensc 23
                    style: "danger",
1386 steven 24
                    msg: "Disculpe, ha ocurrido un error buscando novedades",
25
                });
26
            })
27
    }
4088 stevensc 28
 
1386 steven 29
    useEffect(() => {
30
        loadNews()
31
    }, [])
4088 stevensc 32
 
1386 steven 33
    return (
3921 stevensc 34
        <div className={`${containerClassName} peopleYouMayKnow`}>
35
            <div className="sd-title">
36
                <h3>Novedades</h3>
37
            </div>
38
            <div className="suggestions-list">
39
                {
40
                    news.map(element => {
41
                        return (
42
                            <div key={element.title} className='postsList'>
43
                                <img
44
                                    src={element.image}
45
                                    alt={`${element.title} image`}
46
                                />
4088 stevensc 47
                                <div className="d-flex flex-column" style={{ gap: '.5rem' }}>
3921 stevensc 48
                                    <h4>
49
                                        {element.title}
50
                                    </h4>
51
                                    <span>
52
                                        {element.date}
53
                                    </span>
1386 steven 54
                                </div>
3921 stevensc 55
                                <a
4088 stevensc 56
                                    className="btn btn-primary"
3921 stevensc 57
                                    href={element.link}
58
                                    target="_blank"
59
                                    rel="noreferrer"
60
                                >
61
                                    MÁS INF
62
                                </a>
63
                            </div>
64
                        )
65
                    })
66
                }
1386 steven 67
            </div>
2678 stevensc 68
        </div >
1386 steven 69
    )
70
}