'use server';

import { prisma } from '@/lib/prisma';
import { revalidatePath } from 'next/cache';

export async function kirimKomentar(data: { nama: string; isi: string; tipe?: string }) {
    try {
        if (!data.nama?.trim() || !data.isi?.trim()) {
            return { success: false, message: 'Nama dan komentar tidak boleh kosong.' };
        }
        if (data.nama.length > 100) return { success: false, message: 'Nama terlalu panjang.' };
        if (data.isi.length > 1000) return { success: false, message: 'Komentar terlalu panjang (maks 1000 karakter).' };

        await prisma.komentarBeranda.create({
            data: {
                nama: data.nama.trim(),
                isi: data.isi.trim(),
                tipe: data.tipe || 'KOMENTAR',
                isApproved: false,
            },
        });
        revalidatePath('/');
        return { success: true, message: 'Komentar berhasil dikirim! Menunggu moderasi admin.' };
    } catch (e: any) {
        return { success: false, message: e.message };
    }
}

export async function getKomentarPublik() {
    try {
        return await prisma.komentarBeranda.findMany({
            where: { isApproved: true, tipe: 'KOMENTAR' },
            orderBy: { createdAt: 'desc' },
            take: 20,
        });
    } catch {
        return [];
    }
}
