summaryrefslogtreecommitdiff
path: root/src/collections/Testimonials.ts
diff options
context:
space:
mode:
authorertopogo <erwin.t.pombett@gmail.com>2026-02-19 11:34:16 +0100
committerertopogo <erwin.t.pombett@gmail.com>2026-02-19 11:34:16 +0100
commita21bd6a6710d123ef3bfc3c9aab37fc0c276f9c5 (patch)
treee2cc828607ea91e5c90ae0ea98c6b7d11324eaf1 /src/collections/Testimonials.ts
feat: initial project setup - Next.js 16, Payload CMS v3, palette Mapuche
Next.js 16 App Router + TypeScript + Tailwind CSS v4. Payload CMS v3 with PostgreSQL adapter. Mapuche Corporate palette. Public pages, Docker Compose + Caddy, security middleware. Co-authored-by: Cursor <cursoragent@cursor.com>
Diffstat (limited to 'src/collections/Testimonials.ts')
-rw-r--r--src/collections/Testimonials.ts42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/collections/Testimonials.ts b/src/collections/Testimonials.ts
new file mode 100644
index 0000000..3c5d532
--- /dev/null
+++ b/src/collections/Testimonials.ts
@@ -0,0 +1,42 @@
+import type { CollectionConfig } from "payload";
+
+export const Testimonials: CollectionConfig = {
+ slug: "testimonials",
+ admin: {
+ useAsTitle: "clientName",
+ },
+ access: {
+ read: () => true,
+ create: ({ req: { user } }) => user?.role === "admin",
+ update: ({ req: { user } }) => user?.role === "admin",
+ delete: ({ req: { user } }) => user?.role === "admin",
+ },
+ fields: [
+ {
+ name: "clientName",
+ type: "text",
+ required: true,
+ },
+ {
+ name: "company",
+ type: "text",
+ },
+ {
+ name: "role",
+ type: "text",
+ },
+ {
+ name: "quote",
+ type: "textarea",
+ required: true,
+ },
+ {
+ name: "featured",
+ type: "checkbox",
+ defaultValue: false,
+ admin: {
+ position: "sidebar",
+ },
+ },
+ ],
+};