import React, { useEffect, useRef, useState} from 'react';

import _service from '@netuno/service-client';

import { Form, Input, Button, Upload, notification } from 'antd';

import "./index.less";

const { TextArea } = Input;

export default ({ communityUid, onPublish })=> {
    const form = useRef(null);
    const onFinish = (values)=> {
        _service({
            method: 'PUT',
            url: "api/publications",
            data: {
                community_uid: communityUid,
                message: values.message
            },
            success: (response) => {
                if (onPublish) {
                    onPublish();
                }
                form.current.resetFields();
                notification["error"]({
                    message: 'Publicação',
                    description: 'A publicação foi guardada com sucesso.',
                });
            },
            fail: (e) => {
                console.log("Service Error", e);
                notification["error"]({
                    message: 'Publicação',
                    description: 'Não foi possível guardar a publicação.',
                });
            }
        });
    };
    return (
        <Form
            ref={ form }
            name="basic"
            layout="vertical"
            onFinish={ onFinish }
            >
                <Form.Item
                    label="Mensagem"
                    name="message"
                    rules={
                        [{
                            required: true,
                            message: "Por favor preencha a mensagem."
                        }]
                    }>
                    <TextArea rows={4} /> 
                </Form.Item>
                <Form.Item>
                    <Button type="primary" htmlType="submit">
                        Publicar
                    </Button>
                </Form.Item>
        </Form>
    );
};
