import React, { useState, useEffect, useContext } from 'react'; import { TokenContext } from '../utilities/token-provider'; import dateFormat from 'dateformat'; const ChatReports = props => { const [reports, setReports] = useState([]); const authTokens = useContext(TokenContext); useEffect(async () => { const result = await authTokens.tokenFetch(`${process.env.CHAT_URI}/admin/reports`, { method: 'GET', headers: { 'Access-Control-Allow-Origin': '*' } }); if (!result.ok) { const err = `${result.status}: ${await result.text()}`; console.log(err); alert(err); } else { setReports(await result.json()); } }, []); return ( {reports.map((report, index) => ( ))}
Date Username Room Name Content Reported By
{dateFormat(report.chatlog.createdAt, 'yyyy-mm-dd, H:MM:ss')} {report.chatlog.username} {report.chatlog.room} {report.chatlog.text} {report.reporter.join(', ')}
); }; const deleteReportsFor = (chatlogId, tokenFetch, setReports) => { tokenFetch(`${process.env.CHAT_URI}/admin/reports`, { method: 'DELETE', headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' }, body: JSON.stringify({ chatlogId }) }); setReports(reports => reports.filter(report => report.chatlogId != chatlogId)); }; export default ChatReports;