Files
biblical-guide.com/payload/globals/SiteSettings.ts
Andrei 9b5c0ed8bb build: production build with Phase 1 2025 Bible Reader implementation complete
Includes all Phase 1 features:
- Search-first navigation with auto-complete
- Responsive reading interface (desktop/tablet/mobile)
- 4 customization presets + full fine-tuning controls
- Layered details panel with notes, bookmarks, highlights
- Smart offline caching with IndexedDB and auto-sync
- Full accessibility (WCAG 2.1 AA)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-11 20:38:01 +00:00

142 lines
2.9 KiB
TypeScript

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',
},
};