diff --git a/src/app/p/[secret]/reports/page.tsx b/src/app/p/[secret]/reports/page.tsx
index ce3889a..607a57d 100644
--- a/src/app/p/[secret]/reports/page.tsx
+++ b/src/app/p/[secret]/reports/page.tsx
@@ -3,7 +3,8 @@
import { useState } from "react";
import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query";
import { useTRPC } from "@/trpc/client";
-import { Flag, Trash2, X, Loader2, CheckCheck } from "lucide-react";
+import { getMediaUrl } from "@/lib/media-url";
+import { Flag, Trash2, X, Loader2, CheckCheck, MessageCircle, Heart, ImageOff } from "lucide-react";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { Badge } from "@/components/ui/badge";
@@ -79,71 +80,151 @@ export default function AdminReportsPage() {
Keine offenen Reports — alles sauber.
) : (
-
+
{reports.map((report) => (
-
+ {/* Report header */}
+
+
-
-
-
- {REASON_LABELS[report.reason] ?? report.reason}
-
-
- von {report.reporter.name}
-
-
- {new Date(report.createdAt).toLocaleDateString("de-DE")}
-
-
-
- {report.notes && (
-
{report.notes}
- )}
-
-
- {report.targetPostId && (
-
Post: {report.targetPostId}
- )}
- {report.targetPetId && (
-
Pet: {report.targetPetId}
+
+
+
+ {REASON_LABELS[report.reason] ?? report.reason}
+
+
+ gemeldet von{" "}
+ {report.reporter.name}
+
+
+ {new Date(report.createdAt).toLocaleDateString("de-DE", {
+ day: "2-digit",
+ month: "2-digit",
+ year: "numeric",
+ hour: "2-digit",
+ minute: "2-digit",
+ })}
+
+
+ {report.notes && (
+
+ “{report.notes}”
+
)}
-
-
-
-
- {report.targetPostId && (
+ {/* Actions */}
+
- )}
+ {report.targetPostId && (
+
+ )}
+
+
+ {/* Post preview */}
+ {report.post ? (
+
+ {/* Image strip */}
+
+ {report.post.images.length > 0 ? (
+ report.post.images.map((img, i) => (
+ // eslint-disable-next-line @next/next/no-img-element
+
)
+ ))
+ ) : (
+
+
+
+ )}
+
+
+ {/* Post meta */}
+
+
+ {/* Pet */}
+
+ {report.post.pet.avatarKey ? (
+ // eslint-disable-next-line @next/next/no-img-element
+
)
+ ) : (
+
+ )}
+
+ {report.post.pet.name}
+
+
+ {new Date(report.post.createdAt).toLocaleDateString("de-DE")}
+
+
+
+ {/* Caption */}
+ {report.post.caption ? (
+
+ {report.post.caption}
+
+ ) : (
+
Kein Caption
+ )}
+
+
+ {/* Counts */}
+
+
+
+ {report.post._count.reactions}
+
+
+
+ {report.post._count.comments}
+
+
+
+
+ ) : report.targetPetId ? (
+
+
+ Profil-Report — Pet-ID:{" "}
+ {report.targetPetId}
+
+
+ ) : null}
))}
)}
+ {/* Confirm dialog */}