import { validateFaviconField } from '../../../modules/seo/index.js'; /** * General site identity fields. * Consumed by SEO/OG (siteName, defaultShareImage) and frontend (logo, favicon). */ export const generalFields = [ { name: 'siteName', type: 'text', admin: { description: 'Used in page titles and Open Graph metadata.' }, localized: true, required: true }, { name: 'titleOrder', type: 'select', admin: { description: 'Which comes first in browser tabs.' }, defaultValue: 'page-first', options: [ { label: 'Page first — About Us | Acme', value: 'page-first' }, { label: 'Site first — Acme | About Us', value: 'site-first' } ] }, { name: 'titleSeparator', type: 'select', admin: { description: 'Separates the page title from the site name in browser tabs.' }, defaultValue: '|', options: [ { label: 'Pipe — Page | Site', value: '|' }, { label: 'Dash — Page – Site', value: '–' }, { label: 'Hyphen — Page - Site', value: '-' }, { label: 'Bullet — Page · Site', value: '·' }, { label: 'Slash — Page / Site', value: '/' } ] }, { name: 'logo', type: 'upload', admin: { description: 'Primary site logo. Also used for Organization structured data (buildOrganizationJsonLd).' }, relationTo: 'media' }, { name: 'defaultShareImage', type: 'upload', admin: { description: 'Fallback Open Graph image when a page has none.' }, relationTo: 'media' }, { name: 'favicon', type: 'upload', admin: { description: 'Square icon, PNG or SVG, min. 48×48px (Google requires this to show it in search). Rendered via buildIconsMetadata.' }, hooks: { // Warns the editor at save time if the favicon is too small (<48×48) or // not square — Google won't display such favicons in search results. beforeValidate: [ validateFaviconField ] }, relationTo: 'media' } ]; //# sourceMappingURL=general.js.map