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

// Booking add-ons, one doc per market. Editor-owned (not money policy, just options).
export const Addons: CollectionConfig = {
  slug: 'addons',
  admin: { useAsTitle: 'market', group: 'Booking' },
  access: { read: anyone, create: isEditorOrAdmin, update: isEditorOrAdmin, delete: isEditorOrAdmin },
  versions: { drafts: true },
  fields: [
    {
      name: 'market', type: 'select', required: true, unique: true,
      options: [{ label: 'RS', value: 'RS' }, { label: 'BA', value: 'BA' }],
    },
    {
      name: 'items', type: 'array', required: true,
      fields: [
        { name: 'addonId', type: 'text', required: true, admin: { description: 'Stable id, e.g. spare, insurance' } },
        { name: 'name', type: 'text', required: true, ...loc },
        { name: 'price', type: 'number', admin: { description: 'Leave empty if included free' } },
        { name: 'suggested', type: 'checkbox', defaultValue: false },
        { name: 'included', type: 'checkbox', defaultValue: false },
      ],
    },
  ],
}
