backend:
  name: gitea
  repo: versa/versa-website
  branch: main
  base_url: https://codefloe.com
  api_root: https://codefloe.com/api/v1
  app_id: b11713d0-598a-498d-a66e-4909f3452647

publish_mode: editorial_workflow

site_url: https://versa.training
display_url: https://versa.training

media_folder: src/assets/images/uploads
public_folder: '@/assets/images/uploads'

collections:
  - name: authors
    label: Authors
    label_singular: Author
    folder: src/content/authors
    extension: yaml
    format: yml
    create: true
    delete: true
    identifier_field: name
    slug: '{{fields.name | slug}}'
    fields:
      - { name: name, label: Name, widget: string }
      - { name: title, label: Title, widget: string }
      - name: avatar
        label: Avatar
        widget: image
        required: false
        media_folder: '/src/assets/images/authors'
        public_folder: '@/assets/images/authors'

  - name: blog-posts
    label: Blog Posts
    label_singular: Blog Post
    folder: src/content/blog-posts
    extension: mdoc
    format: mdoc-frontmatter
    create: true
    delete: true
    fields:
      - { name: title, label: Title, widget: string }
      - { name: description, label: Description, widget: text }
      - { name: label, label: Topic Label, widget: string }
      - name: published
        label: Published
        widget: datetime
        format: 'YYYY-MM-DD'
        date_format: 'YYYY-MM-DD'
        time_format: false
      - name: locale
        label: Locale
        widget: select
        default: de
        options:
          - { label: Deutsch, value: de }
          - { label: English, value: en }
      - { name: translationKey, label: Translation Key, widget: string, required: false, hint: 'Shared identifier linking this entry to its counterpart in the other locale.' }
      - name: image
        label: Post Image
        widget: image
        required: false
        media_folder: '/src/assets/images/blog'
        public_folder: '@/assets/images/blog'
      - { name: imageSource, label: Image Source / Bildquelle, widget: string, required: false, hint: 'Optional credit line shown in small grey text below the image (e.g. "Photo: Jane Doe / Unsplash").' }
      - name: author
        label: Author
        widget: relation
        collection: authors
        value_field: '{{slug}}'
        search_fields: [name]
        display_fields: [name]
      - { name: body, label: Body, widget: markdown }

  - name: case-studies
    label: Case Studies
    label_singular: Case Study
    folder: src/content/case-studies
    extension: mdoc
    format: mdoc-frontmatter
    create: true
    delete: true
    fields:
      - { name: title, label: Title, widget: string }
      - { name: description, label: Description, widget: text }
      - { name: category, label: Category, widget: string }
      - name: locale
        label: Locale
        widget: select
        default: de
        options:
          - { label: Deutsch, value: de }
          - { label: English, value: en }
      - { name: translationKey, label: Translation Key, widget: string, required: false, hint: 'Shared identifier linking this entry to its counterpart in the other locale.' }
      - { name: orgName, label: Organisation Name, widget: string }
      - name: orgLogo
        label: Organisation Logo
        widget: image
        required: false
        media_folder: '/src/assets/images/case-studies/logos'
        public_folder: '@/assets/images/case-studies/logos'
      - name: heroImage
        label: Hero Image
        widget: image
        required: false
        media_folder: '/src/assets/images/case-studies'
        public_folder: '@/assets/images/case-studies'
      - name: stats
        label: Stats
        widget: list
        fields:
          - { name: value, label: Value, widget: string }
          - { name: label, label: Label, widget: string }
      - { name: body, label: Body, widget: markdown }

  - name: jobs
    label: Jobs
    label_singular: Job
    folder: src/content/jobs
    extension: mdoc
    format: mdoc-frontmatter
    create: true
    delete: true
    fields:
      - { name: title, label: Title, widget: string }
      - { name: description, label: Description, widget: text, hint: 'Short pitch shown on the careers listing.' }
      - { name: type, label: Type, widget: string, hint: 'e.g. Vollzeit, Pflichtpraktikum, Masterarbeit, FemTech-Praktikum.' }
      - { name: location, label: Location Mode, widget: string, hint: 'e.g. Hybrid, Remote, Vor Ort.' }
      - { name: city, label: City, widget: string, default: 'Graz, Österreich' }
      - name: availableFrom
        label: Available From
        widget: datetime
        format: 'YYYY-MM-DD'
        date_format: 'YYYY-MM-DD'
        time_format: false
      - { name: duration, label: Duration, widget: string, required: false, hint: 'e.g. "Bis zu 6 Monate". Leave empty for ongoing positions.' }
      - { name: applyUrl, label: External Apply URL, widget: string, required: false, hint: 'Optional. If empty, applications go to mail@versa.training.' }
      - name: published
        label: Published
        widget: datetime
        format: 'YYYY-MM-DD'
        date_format: 'YYYY-MM-DD'
        time_format: false
      - { name: body, label: Body, widget: markdown }
