import Link from "next/link"; import { getTranslations } from "next-intl/server"; import { Newspaper } from "lucide-react"; import { StatusCard } from "@/components/admin/dashboard"; import { deleteArticle } from "@/actions/admin-articles"; import { prisma } from "@/lib/prisma"; export const dynamic = "force-dynamic"; export default async function AdminArticles({ searchParams }: { searchParams: Promise<{ error?: string }> }) { const { error } = await searchParams; const t = await getTranslations("pages.admin.articles"); const articles = await prisma.websiteArticles .findMany({ orderBy: { createdAt: "desc" }, select: { id: true, title: true, slug: true, createdAt: true }, take: 50, }) .catch(() => []); const latest = articles[0]?.createdAt ? articles[0].createdAt.toISOString().slice(0, 10) : "—"; return (

{t("title")}

{t("subtitle")}

+ {t("newArticle")}
{error ?

Error: {error}

: null}

{t("recentArticles")}

{articles.length === 0 ? (
{t("noArticles")}
) : ( {articles.map((a) => ( ))}
{t("colTitle")} {t("colSlug")} {t("colCreated")} {t("colActions")}
{a.title} {a.slug} {a.createdAt ? a.createdAt.toISOString().slice(0, 10) : "—"}
{t("edit")}
)}
); }