"use client"; import { useEffect, useState } from "react"; import { Check, Eye, X } from "lucide-react"; import Link from "next/link"; import { getReports, handleMarkAsResolved } from "./actions"; export default function ReportPage() { const [reports, setReports] = useState< { id: number; timestamp: string; erledigt: boolean; sender: { id: string; firstname: string; lastname: string; publicId: string; }; reported: { id: string; firstname: string; lastname: string; publicId: string; }; }[] >([]); useEffect(() => { const fetchReports = async () => { const reps = await getReports(); const transformedReports = reps.map((report) => ({ id: report.id, timestamp: report.timestamp.toISOString(), erledigt: report.erledigt, sender: { id: report.sender.id, firstname: report.sender.firstname, lastname: report.sender.lastname, publicId: report.sender.publicId, }, reported: { id: report.reported.id, firstname: report.reported.firstname, lastname: report.reported.lastname, publicId: report.reported.publicId, }, })); setReports(transformedReports); }; fetchReports(); }, []); return ( <>
{" "} Reports
{reports.map((report) => ( ))}
Erledigt Sender Reported Time ID Actions
{report.erledigt ? ( ) : ( )} {`${report.sender.firstname} ${report.sender.lastname} (${report.sender.publicId})`} {`${report.reported.firstname} ${report.reported.lastname} (${report.reported.publicId})`} {new Date(report.timestamp).toLocaleString()} {report.id}
{!report.erledigt && ( )}
); }