import { Newspaper } from "lucide-react"; import Link from "next/link"; import { redirect } from "next/navigation"; import { getTranslations } from "next-intl/server"; import { createArticle } from "@/actions/admin-articles"; import { ArticleForm } from "@/components/admin/article-form"; import { canAccess, getAdminContext, PERMS } from "@/lib/permissions"; // TODO: Cache Components adoption. Refactor this route so this opt-out can be removed. // See: https://nextjs.org/docs/app/guides/migrating-to-cache-components export const instant = false; export default async function NewArticle({ searchParams, }: { searchParams: Promise<{ error?: string }>; }) { const { session, permissions } = await getAdminContext(); if (!canAccess(permissions, PERMS.NEWS_EDIT, session.user.rank)) { redirect("/admin"); } const { error } = await searchParams; const t = await getTranslations("pages.admin.articles"); return (

{t("form.title")}

← {t("title")}

{error ? (

Error: {error}

) : null}
); }