import { GlobalConfig } from 'payload'; export const SiteSettings: GlobalConfig = { slug: 'site-settings', admin: { group: 'Configuration', }, fields: [ { name: 'siteName', type: 'text', required: true, defaultValue: 'Biblical Guide', }, { name: 'siteDescription', type: 'textarea', required: true, }, { name: 'siteUrl', type: 'text', required: true, defaultValue: 'https://biblical-guide.com', }, { name: 'contactEmail', type: 'email', required: true, }, { name: 'paymentSettings', type: 'group', fields: [ { name: 'stripePublishableKey', type: 'text', required: true, admin: { description: 'Public Stripe key for frontend', }, }, { name: 'enableDonations', type: 'checkbox', defaultValue: true, }, { name: 'minimumDonation', type: 'number', defaultValue: 1, min: 0, admin: { description: 'Minimum donation amount in dollars', }, }, ], }, { name: 'emailSettings', type: 'group', fields: [ { name: 'fromEmail', type: 'email', required: true, admin: { description: 'Email address for transactional emails', }, }, { name: 'fromName', type: 'text', defaultValue: 'Biblical Guide', }, { name: 'adminEmail', type: 'email', required: true, admin: { description: 'Admin notification email', }, }, ], }, { name: 'socialMedia', type: 'group', fields: [ { name: 'facebook', type: 'text', admin: { description: 'Facebook URL', }, }, { name: 'twitter', type: 'text', admin: { description: 'Twitter/X URL', }, }, { name: 'instagram', type: 'text', admin: { description: 'Instagram URL', }, }, { name: 'youtube', type: 'text', admin: { description: 'YouTube channel URL', }, }, ], }, { name: 'maintenanceMode', type: 'checkbox', defaultValue: false, admin: { description: 'Enable to put the site in maintenance mode', }, }, { name: 'maintenanceMessage', type: 'textarea', admin: { condition: (data) => data?.maintenanceMode === true, description: 'Message to display during maintenance', }, }, ], access: { read: () => true, update: ({ req }) => req.user?.role === 'super-admin', }, };