import type { CollectionConfig } from "payload"; import { isAdmin } from "@/access"; export const GroupRegistrations: CollectionConfig = { slug: "group-registrations", labels: { singular: "Gruppenanmeldung", plural: "Gruppenanmeldungen", }, admin: { useAsTitle: "name", defaultColumns: ["name", "email", "offer", "status", "registeredAt"], group: "Buchungen", description: "Anmeldungen und Bewerbungen für Gruppenangebote.", }, access: { read: isAdmin, create: () => false, update: isAdmin, delete: isAdmin, }, timestamps: true, fields: [ { name: "offer", type: "relationship", relationTo: "offers", label: "Angebot", required: true, index: true }, { type: "row", fields: [ { name: "name", type: "text", label: "Name", required: true, admin: { width: "50%" } }, { name: "email", type: "email", label: "E-Mail", required: true, admin: { width: "50%" } }, ], }, { name: "phone", type: "text", label: "Telefon" }, { name: "message", type: "textarea", label: "Nachricht / Motivation" }, { name: "status", type: "select", label: "Status", required: true, defaultValue: "pending", options: [ { label: "Zu prüfen", value: "pending" }, { label: "Angenommen", value: "accepted" }, { label: "Warteliste", value: "waitlist" }, { label: "Abgelehnt", value: "rejected" }, { label: "Storniert", value: "cancelled" }, ], }, { name: "registeredAt", type: "date", label: "Eingegangen am", defaultValue: () => new Date().toISOString(), admin: { position: "sidebar" } }, ], };