rsnext/examples/cms-payload/payload/collections/Pages.ts
Steven 4466ba436b
chore(examples): use default prettier for examples/templates (#60530)
## Description
This PR ensures that the default prettier config is used for examples
and templates.

This config is compatible with `prettier@3` as well (upgrading prettier
is bigger change that can be a future PR).

## Changes
- Updated `.prettierrc.json` in root with `"trailingComma": "es5"` (will
be needed upgrading to prettier@3)
- Added `examples/.prettierrc.json` with default config (this will
change every example)
- Added `packages/create-next-app/templates/.prettierrc.json` with
default config (this will change every template)

## Related

- Fixes #54402
- Closes #54409
2024-01-11 16:01:44 -07:00

57 lines
1.3 KiB
TypeScript

import { CollectionConfig } from "payload/types";
import { publishedOnly } from "../access/publishedOnly";
import { CallToAction } from "../blocks/CallToAction";
import { Content } from "../blocks/Content";
import { MediaBlock } from "../blocks/Media";
import { hero } from "../fields/hero";
import { slugField } from "../fields/slug";
import { regenerateStaticPage } from "../utilities/regenerateStaticPage";
export const Pages: CollectionConfig = {
slug: "pages",
admin: {
useAsTitle: "title",
defaultColumns: ["title", "slug", "updatedAt"],
preview: (doc, { locale }) => {
if (doc?.slug) {
return `/${doc.slug}${locale ? `?locale=${locale}` : ""}`;
}
return "";
},
},
access: {
read: publishedOnly,
},
hooks: {
afterChange: [regenerateStaticPage],
},
fields: [
{
name: "title",
type: "text",
required: true,
},
{
type: "tabs",
tabs: [
{
label: "Hero",
fields: [hero],
},
{
label: "Content",
fields: [
{
name: "layout",
type: "blocks",
required: true,
blocks: [CallToAction, Content, MediaBlock],
},
],
},
],
},
slugField(),
],
};