import { ContentCard, EmptyState } from "@/components/public/ui"; import { prisma } from "@/lib/prisma"; export const dynamic = "force-dynamic"; export const metadata = { title: "Photos" }; type Photo = { id: number; userId: number; roomId: number; timestamp: number; url: string; }; function formatDate(timestamp: number): string { return new Date(timestamp * 1000) .toISOString() .slice(0, 16) .replace("T", " "); } export default async function PhotosPage() { let photos: Photo[] = []; try { photos = await prisma.cameraWeb.findMany({ orderBy: { timestamp: "desc" }, take: 48, }); } catch { photos = []; } return (
{photos.length === 0 ? ( No photos yet. ) : (
{photos.map((p) => (
{/* eslint-disable-next-line @next/next/no-img-element */} {`Photo

{formatDate(p.timestamp)}

by user #{p.userId}

))}
)}
); }