"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 ( <>
| 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 && (
)}
|