import Link from "next/link"; import { getTranslations } from "next-intl/server"; import { StatusCard } from "@/components/admin/dashboard"; import { prisma } from "@/lib/prisma"; import { redirect } from "next/navigation"; import { canAccess, getAdminContext, PERMS } from "@/lib/permissions"; import { AdsTable } from "./ads-table"; export const dynamic = "force-dynamic"; export default async function AdminAds() { const { session, permissions } = await getAdminContext(); if (!canAccess(permissions, PERMS.PAGES_VIEW, session.user.rank)) { redirect("/admin"); } const t = await getTranslations("pages.admin.ads"); let ads: Awaited>; try { ads = await prisma.websiteAds.findMany({ orderBy: { id: "desc" }, take: 500, }); } catch { ads = []; } const latest = ads[0]?.createdAt ? ads[0].createdAt.toISOString().slice(0, 10) : "—"; return (
+ {t("newAd")}

{t("allAds")}

{ads.length === 0 ? (
{t("noAds")}
) : ( ({ id: String(ad.id), image: ad.image, createdAt: ad.createdAt ? ad.createdAt.toISOString().slice(0, 10) : null, }))} /> )}
); }