import { prisma } from '@/lib/db'; import { getSession } from '@/lib/auth'; import { redirect } from 'next/navigation'; import { Trash2, Plus, Briefcase } from 'lucide-react'; import { addServiceItem, deleteServiceItem } from '../actions'; import { revalidatePath } from 'next/cache'; import type { Service } from '@prisma/client'; export default async function ServicesAdminPage() { const session = await getSession(); if (!session) redirect('/admin/login'); const services = await prisma.service.findMany({ orderBy: { createdAt: 'desc' } }); return (

Hizmetlerimiz Yönetimi

{/* Ekleme Formu */}

Yeni Hizmet Ekle

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

Mevcut Hizmetler ({services.length})

{services.map((item: Service) => (
{item.iconUrl ? ( // eslint-disable-next-line @next/next/no-img-element {item.title} ) : ( )}

{item.title}

{item.description}

{ 'use server'; await deleteServiceItem(item.id); revalidatePath('/admin/services'); }}>
))} {services.length === 0 && (
Henüz hizmet eklenmemiş.
)}
); }