diff options
| author | ertopogo <erwin.t.pombett@gmail.com> | 2026-02-19 11:34:16 +0100 |
|---|---|---|
| committer | ertopogo <erwin.t.pombett@gmail.com> | 2026-02-19 11:34:16 +0100 |
| commit | a21bd6a6710d123ef3bfc3c9aab37fc0c276f9c5 (patch) | |
| tree | e2cc828607ea91e5c90ae0ea98c6b7d11324eaf1 /src/collections/Media.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/Media.ts')
| -rw-r--r-- | src/collections/Media.ts | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/collections/Media.ts b/src/collections/Media.ts new file mode 100644 index 0000000..19cba0c --- /dev/null +++ b/src/collections/Media.ts @@ -0,0 +1,34 @@ +import type { CollectionConfig } from "payload"; + +export const Media: CollectionConfig = { + slug: "media", + admin: { + useAsTitle: "alt", + }, + access: { + read: () => true, + create: ({ req: { user } }) => !!user, + update: ({ req: { user } }) => !!user, + delete: ({ req: { user } }) => user?.role === "admin", + }, + upload: { + mimeTypes: ["image/*", "application/pdf"], + staticDir: "media", + imageSizes: [ + { name: "thumbnail", width: 300, height: 300, position: "centre" }, + { name: "card", width: 768, height: 432, position: "centre" }, + { name: "hero", width: 1920, height: 1080, position: "centre" }, + ], + }, + fields: [ + { + name: "alt", + type: "text", + required: true, + }, + { + name: "caption", + type: "text", + }, + ], +}; |
