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 StockBotao = ({ produto, onClose }) => {
    const [ loading, setLoading ] = useState(false);
    const [ data, setData ] = useState([]);

    useEffect(() => {
        setLoading(true);
        const fail = ()=> {
            setLoading(false);
            notification["error"]({
                message: 'Lista de Stock',
                description: 'Houve uma falha ao carregar o stock de produtos...',
                style: {
                    marginTop: 100,
                }
            });
        };
        netuno.service({
            url: '/services/produtos',
            method: 'POST',
            credentials: 'include',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify({
                uid: produto.uid
            }),
            success: (response)=> {
                if (response.json) {
                    setData(response.json);
                    setLoading(false);
                } else {
                    fail();
                }
            },
            fail: ()=> {
                fail();
            }
        });
    }, []);
    return <Modal
        title="Produtos"
        visible={true}
        onOk={()=> { onClose() } }
        onCancel={()=> { onClose() } }>
        { loading && <Spin /> }
        { data.length > 0 ?
            data.map(
                (item)=> (
                    <div>
                        <Title level={3}>{item.nome}</Title>
                        <p>Categoria: {item.categoria}</p>
                        <p>Preco: {item.preco}</p>
                        <p>Stock: {item.stock}</p>
                    </div>
                )
            )
        : <p>Não existe.</p> }
    </Modal>;
};

StockBotao.propTypes = {
    produto: PropTypes.object.isRequired,
    onClose: PropTypes.func.isRequired
};

export default StockBotao;