import { PERMS } from "@/lib/permission-slugs"; import { resolveHousekeepingRouteTitle } from "../../../foundation/page/route-copy"; import type { HousekeepingPageInput } from "../../../route-handlers"; import { contentQuery } from "../queries/content-queries"; import { ContentCommandForm } from "./content-command-form"; import { ContentPageFrame, type ContentPageProps, parseContentListInput, } from "./content-page-frame"; export function ContentEditorialPage({ title, context, result, routeId, }: ContentPageProps) { const canNews = context.has(PERMS.NEWS_EDIT); const canPages = context.has(PERMS.PAGES_EDIT); return ( {canNews && routeId?.includes("article") ? ( ) : null} {canPages && routeId === "content.editorial.tags" ? ( ) : null} {canPages && routeId === "content.editorial.writeable-boxes" ? ( ) : null} } /> ); } export async function renderContentEditorialPage(input: HousekeepingPageInput) { const routeId = input.match.routeId as ContentPageProps["routeId"]; const title = resolveHousekeepingRouteTitle(input, "Editorial content"); const result = await contentQuery.run(input.context, { routeId: routeId ?? "content.editorial.articles", params: input.match.params, list: parseContentListInput(input.searchParams ?? {}), }); return ( ); }