import type { CollectionConfig } from 'payload'
import { anyone, isEditorOrAdmin } from '../access/roles'

export const Media: CollectionConfig = {
  slug: 'media',
  admin: { group: 'Content' },
  access: { read: anyone, create: isEditorOrAdmin, update: isEditorOrAdmin, delete: isEditorOrAdmin },
  upload: {
    staticDir: process.env.MEDIA_DIR || 'uploads',
    focalPoint: true,
    imageSizes: [
      { name: 'thumb', width: 480, formatOptions: { format: 'webp', options: { quality: 78 } } },
      { name: 'card', width: 1024, formatOptions: { format: 'webp', options: { quality: 80 } } },
      { name: 'hero', width: 1920, formatOptions: { format: 'webp', options: { quality: 82 } } },
    ],
  },
  fields: [
    { name: 'alt', type: 'text', required: true, admin: { description: 'Required for accessibility + SEO.' } },
  ],
}
