import { auth } from "@/lib/auth" import { redirect } from "next/navigation" import { prisma } from "@/lib/prisma" import Link from "next/link" import PhotoThumbnail from "@/components/PhotoThumbnail" import DeletePhotoButton from "@/components/DeletePhotoButton" // Enable caching for this page export const revalidate = 60 // Revalidate every 60 seconds export default async function PhotosPage() { console.log("PhotosPage: Starting, calling auth()...") const session = await auth() console.log("PhotosPage: auth() returned", { hasSession: !!session, sessionType: typeof session, sessionUser: session?.user, sessionKeys: session ? Object.keys(session) : [], sessionString: JSON.stringify(session, null, 2) }) if (!session) { console.log("PhotosPage: No session, redirecting to login") redirect("/login") } if (!session.user) { console.log("PhotosPage: Session exists but no user, redirecting to login") redirect("/login") } console.log("PhotosPage: Session valid, rendering page") // Limit to 50 photos per page for performance const photos = await prisma.photo.findMany({ take: 50, orderBy: { createdAt: "desc" }, include: { uploader: { select: { name: true, }, }, }, }) return (
No photos yet. Be the first to upload one!
Uploaded by {photo.uploader.name}
{photo.points} {photo.points === 1 ? "pt" : "pts"}{new Date(photo.createdAt).toLocaleDateString()}