import React, { useEffect, useState, useRef } from 'react'; import { InputText } from 'primereact/inputtext'; import { Button } from 'primereact/button'; import { InputTextarea } from 'primereact/inputtextarea'; import { useCookies } from "react-cookie"; import { DataTable } from 'primereact/datatable'; import { Column } from 'primereact/column'; import { Toast } from 'primereact/toast'; import { Dialog } from 'primereact/dialog'; import { Toolbar } from 'primereact/toolbar'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faHome, faUserAlt } from '@fortawesome/free-solid-svg-icons'; import { faCommentAlt } from '@fortawesome/free-solid-svg-icons'; import { faEllipsis } from '@fortawesome/free-solid-svg-icons'; import classNames from 'classnames'; const RegistroComunicado = () => { const emptyComunicado = { _id: null, post: '', user_id: '', community_id: '' }; useEffect(() => { listaComunis(); }, []) const [comunicado, setComunicado] = useState(emptyComunicado); const [comunicados, setComunicados] = useState([]); const [saveButtonLabel, setSaveButtonLabel] = useState('Registrar'); const [comunicadoId, setComunicadoId] = useState(null); const [showDeleteDialog, setShowDeleteDialog] = useState(false); const [submitted, setSubmitted] = useState(false); const toast = useRef(null); const dt = useRef(null); const [cookies, setCookie] = useCookies(); const [globalFilter, setGlobalFilter] = useState(null); async function listaComunis() { let comunicadosResponse = await fetch('http://localhost:4000/post/allPosts', { method: 'GET' }); const comunicadosJson = await comunicadosResponse.json(); const comunicadosCommunity = comunicadosJson.message.filter((comunicado) => { return comunicado.community_id === cookies.community_id; }) setComunicados(comunicadosCommunity); console.log(comunicadosCommunity); } const saveComunicado = () => { if (comunicado._id === null) { var data = { post: comunicado.post, user_id: cookies.id, community_id: cookies.community_id }; fetch('http://localhost:4000/post/createPost', { cache: 'no-cache', method: 'POST', body: JSON.stringify(data), headers: { 'Content-Type': 'application/json' } }).then((response) => { if (response.status != 201) console.log('Ocurrió un error con el servicio: ' + response.status); else return response.json(); }).then((_response) => { setComunicado(emptyComunicado); listaComunis(); }).catch( err => console.log('Ocurrió un error con el fetch', err) ); } else { const data = { _id: comunicado._id, post: comunicado.post, user_id: comunicado.user_id, community_id: comunicado.community_id }; fetch(`http://localhost:4000/post/updatePost/${comunicado._id}`, { cache: 'no-cache', method: 'PUT', body: JSON.stringify(data), headers: { 'Content-Type': 'application/json' } }).then((response) => { if (response.status != 200) console.log('Ocurrió un error con el servicio: ' + response.status); else return response.json(); }).then((_response) => { setComunicado(emptyComunicado); setSaveButtonLabel('Registrar'); listaComunis(); }).catch( err => console.log('Ocurrió un error con el fetch', err) ); } } const header = (
Comunicados de la comunidad
setGlobalFilter(e.target.value)} placeholder="Buscar..." />
); const headerPost = ( <>

{' '} {' '} Descripción comunicado

) const leftToolbarTemplate = () => { return (
) } const rightToolbarTemplate = () => { return (