import React, { useState, useEffect } from "react";
import PropTypes from "prop-types";
import Modal from 'antd/lib/modal';
import Spin from 'antd/lib/spin';
import Typography from 'antd/lib/typography';


const { Title } = Typography;

const JanelaPublicacoes = ({pessoa, onClose}) => {
    const [loading, setLoading] = useState(false);
    const [data, setData] = useState([]);

    useEffect( () => {

        setLoading(true);
        const fail = ()=> {
            setLoading(false);
            notification["error"]({
                message: 'Lista de Publicações',
                description: 'Houve uma falha ao carregar a lista das publicações...',
                style: {
                    marginTop: 100,
                }
            });
        };
        netuno.service({
            url: '/services/pessoas/publicacoes',
            method: 'POST',
            credentials: 'include',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify({
                uid: pessoa.uid
            }),
            success: (response)=> {
                if (response.json) {
                    setData(response.json);
                    setLoading(false);
                } else {
                    fail();
                }
            },
            fail: ()=> {
                fail();
            }
        });

        
    }, []);

    return <Modal 
        title="Publicações" 
        visible={true}
        onOk = {() => {onClose()}}
        onCancel = { () => {onClose()} }>
            {loading && <Spin />}
            {data.length > 0 ?
            data.map(
                (item) => (
                    <div>
                        <Title level={3}>{item.nome}</Title>
                        {item.mensagem}
                        <p>{item.momento.replace(".0", "")}</p>
                    </div>
                )
            )
            : <p> Não fez publicacoes ainda.... </p> }
        </Modal>;
    
};


JanelaPublicacoes.propTypes = {
    pessoa: PropTypes.object.isRequired,
    onClose: PropTypes.func.isRequired
};

export default JanelaPublicacoes;