import { prisma } from '@/lib/db'; import { getSession } from '@/lib/auth'; import { redirect } from 'next/navigation'; import { Trash2, Plus } from 'lucide-react'; import { addGalleryItem, deleteGalleryItem } from '../actions'; import { revalidatePath } from 'next/cache'; import type { Gallery } from '@prisma/client'; export default async function GalleryAdminPage() { const session = await getSession(); if (!session) redirect('/admin/login'); const galleryItems = await prisma.gallery.findMany({ orderBy: { createdAt: 'desc' } }); return (

Galeri Yönetimi

{/* Ekleme Formu */}

Yeni Resim Ekle

{ 'use server'; const title = formData.get('title') as string; const category = formData.get('category') as string; const imageUrl = formData.get('imageUrl') as string; if (title && category && imageUrl) { await addGalleryItem({ title, category, imageUrl }); revalidatePath('/admin/gallery'); } }} className="space-y-4">
{/* Listeleme */}

Mevcut Resimler ({galleryItems.length})

{galleryItems.map((item: Gallery) => (
{/* eslint-disable-next-line @next/next/no-img-element */} {item.title}

{item.title}

{item.category}

{ 'use server'; await deleteGalleryItem(item.id); revalidatePath('/admin/gallery'); }}>
))} {galleryItems.length === 0 && (
Galeriye henüz resim eklenmemiş.
)}
); }