# GENERATED from admin/config.yml by `node cms/build.mjs`. Do not edit by hand.
# PRODUCTION example: Decap config for a separate, client-owned CONTENT repo (only content/ and assets/ in it).
# Copy it to <admin project>/public/config.yml and replace every PLACEHOLDER. No real repo, OAuth app or secret exists yet.
# ---------------------------------------------------------------------------
# Riverlight Web editing screen (Decap CMS) for Speech & Language Pathways.
# This file decides what Haley sees in the editor. It only edits TEXT and PHOTOS, which live in the
# separable folder content-repo/ (content/*.json and assets/). Layout and design are not editable here.
#
# TRIAL vs PRODUCTION
#  - This trial has no second repo, so the editor below points at THIS repo's content-repo/ folder
#    (paths start with ).
#  - Production points at a separate, client-owned CONTENT repo that holds only content/ and assets/.
#    cms/config.production.example.yml is generated from this file with those paths (and placeholder repo
#    name) filled in. Editors get Write access to the content repo only, never to the site repo.
#
# demo/config.yml and ../cms/config.production.example.yml are GENERATED from this file by
# `node cms/build.mjs`. Edit THIS file only.
# ---------------------------------------------------------------------------

# BEGIN backend
backend:
  name: github
  # TRIAL: this repo. PRODUCTION: the client-owned CONTENT repo ("client-org/<client>-content", public).
  repo: 4jftjjfw9m-web/cms-test-content
  # The branch editors save to. This trial points at the trial branch, never at main.
  # Production: "main" of the content repo; a webhook then asks the host to rebuild (~1-2 minutes).
  branch: main
  # --- Sign-in (GitHub OAuth) needs a tiny "auth proxy" that is NOT set up in this trial. ---
  # Both values below are PLACEHOLDERS. No OAuth app or secret exists yet. In production the proxy
  # lives on the ADMIN origin (the same origin that serves /admin), e.g. https://admin.<client-domain>.
  # See /workspace/riverlight-ops/cms-pattern/README.md ("Auth options").
  base_url: https://cms-admin-test.pages.dev
  auth_endpoint: /api/cms/auth
  commit_messages:
    create: "Website text: add {{collection}} item"
    update: "Website text: update {{collection}}"
    delete: "Website text: remove {{collection}} item"
    uploadMedia: "Website photo: add {{path}}"
    deleteMedia: "Website photo: remove {{path}}"
# END backend

# Saved straight to the branch above (no draft step). To add a "review before publishing"
# step, set: publish_mode: editorial_workflow  (needs GitHub pull requests; see README).
# site_url / display_url (the "view live site" link) are left out on purpose in this hidden trial.
locale: en
search: false

# Photos are uploaded into the content repo's assets folder. On the website they are published to the separate
# folder uploads/ (so an uploaded photo can never replace a design image) and referred to as "uploads/<file>".
media_folder: assets
public_folder: uploads

collections:
  - name: home
    label: Home page
    label_singular: Home page
    description: The top of the home page, the "Who can we help?" list and the three ways to work with Haley.
    editor: { preview: false }
    files:
      - name: home
        label: Home page text
        file: content/home.json
        format: json
        fields:
          - label: Top banner
            name: hero
            widget: object
            collapsed: false
            fields:
              - { label: Small line above the headline, name: kicker, widget: string }
              - { label: Headline - first line, name: line1, widget: string, hint: 'Put *one star* on each side of a word to slant it. Put **two stars** on each side of words to color them.' }
              - { label: Headline - second line, name: line2, widget: string }
              - { label: Headline - third line, name: line3, widget: string }
              - { label: Paragraph under the headline, name: intro, widget: text }
              - { label: First button - text, name: button1_label, widget: string }
              - label: First button - where it goes
                name: button1_goes_to
                widget: select
                options:
                  - { label: The contact form, value: '#contact' }
                  - { label: Speech therapy section, value: '#therapy' }
                  - { label: Parent coaching section, value: '#coaching' }
                  - { label: Summer 2027 section, value: '#summer' }
                  - { label: Team section, value: '#team' }
              - { label: Phone button - text, name: button2_label, widget: string, hint: 'The phone number is added after this text automatically. To change the number, go to "Contact info".' }
              - { label: Handwritten note next to the logo, name: badge, widget: string }
          - label: '"Who can we help?" section'
            name: who
            widget: object
            collapsed: true
            fields:
              - { label: Section title, name: heading, widget: string }
              - { label: Sentence under the title, name: intro, widget: string }
              - label: Groups of people you help
                name: people
                widget: list
                label_singular: group
                hint: One short line per group. Use the arrows or drag to put them in order.
                field: { label: Group, name: group, widget: string }
          - label: '"Three ways we work with families" section'
            name: ways
            widget: object
            collapsed: true
            fields:
              - { label: Small line above the title, name: kicker, widget: string }
              - { label: Section title, name: heading, widget: string }
              - label: The ways (cards)
                name: cards
                widget: list
                label_singular: card
                summary: '{{fields.title}}'
                hint: 'The cards are numbered 01, 02, 03 automatically.'
                fields:
                  - { label: Title, name: title, widget: string }
                  - { label: One-line description, name: description, widget: string }
                  - label: Clicking it jumps to
                    name: goes_to
                    widget: select
                    options:
                      - { label: Speech therapy section, value: '#therapy' }
                      - { label: Parent coaching section, value: '#coaching' }
                      - { label: Summer 2027 section, value: '#summer' }
                      - { label: The contact form, value: '#contact' }
                      - { label: Team section, value: '#team' }

  - name: therapy
    label: Speech therapy
    label_singular: Speech therapy page text
    description: The speech therapy section, its three topic tabs, the flower quote and the funding box.
    editor: { preview: false }
    files:
      - name: therapy
        label: Speech therapy section
        file: content/therapy.json
        format: json
        fields:
          - { label: Small line above the title, name: kicker, widget: string }
          - { label: Section title, name: heading, widget: string }
          - { label: Sentence under the title, name: intro, widget: text }
          - label: Topic tabs
            name: topics
            widget: list
            label_singular: topic
            summary: '{{fields.tab_label}}'
            hint: Each topic is a tab on the page. The first one is shown when the page opens.
            fields:
              - { label: Tab name, name: tab_label, widget: string }
              - { label: Heading inside the tab, name: title, widget: string }
              - { label: Text, name: text, widget: markdown, buttons: [bold, italic, link], modes: [rich_text], editor_components: [], hint: 'Press Enter twice for a new paragraph. Use the B button to make words bold.' }
              - { label: Highlighted closing line, name: highlight, widget: string, required: false }
          - label: Quote with the flower
            name: quote
            widget: object
            fields:
              - { label: Quote (no quote marks needed), name: text, widget: text }
              - { label: Who said it, name: author, widget: string }
          - label: Funding information box
            name: funding
            widget: object
            fields:
              - { label: Box title, name: title, widget: string }
              - { label: Text, name: text, widget: markdown, buttons: [bold, italic, link], modes: [rich_text], editor_components: [] }

  - name: coaching
    label: Parent & caregiver coaching
    label_singular: Parent & caregiver coaching text
    description: The coaching section, including the three coaching steps.
    editor: { preview: false }
    files:
      - name: coaching
        label: Parent & caregiver coaching section
        file: content/coaching.json
        format: json
        fields:
          - { label: Small line above the title, name: kicker, widget: string }
          - { label: Section title, name: heading, widget: string }
          - { label: Text, name: text, widget: markdown, buttons: [bold, italic, link], modes: [rich_text], editor_components: [], hint: Press Enter twice for a new paragraph. }
          - { label: Photo, name: photo, widget: image, required: false, choose_url: false, media_library: { config: { max_file_size: 800000 } }, hint: 'Best size: about 1000 pixels wide, under 800 KB.' }
          - { label: Photo description (for people using screen readers), name: photo_description, widget: string, required: false }
          - { label: Title above the steps, name: steps_heading, widget: string }
          - label: Steps
            name: steps
            widget: list
            label_singular: step
            summary: '{{fields.title}}'
            hint: The steps are numbered automatically.
            fields:
              - { label: Step name, name: title, widget: string }
              - { label: How long and how, name: length, widget: string, hint: 'For example: 30 min · virtual' }
              - { label: What happens, name: text, widget: text }
          - { label: Note under the steps, name: note, widget: markdown, buttons: [bold, italic, link], modes: [rich_text], editor_components: [] }
          - { label: Button text, name: button_label, widget: string }

  - name: summer
    label: Summer 2027 intensives
    label_singular: Summer 2027 text
    description: The Summer 2027 mini-intensives section.
    editor: { preview: false }
    files:
      - name: summer
        label: Summer 2027 section
        file: content/summer.json
        format: json
        fields:
          - { label: Small line above the title, name: kicker, widget: string }
          - { label: Section title, name: heading, widget: string }
          - { label: Paragraph, name: intro, widget: text }
          - label: Big numbers
            name: numbers
            widget: list
            label_singular: number
            summary: '{{fields.value}} {{fields.label}}'
            fields:
              - { label: Number, name: value, widget: string, hint: 'For example: 60 or 4–5' }
              - { label: What it counts, name: label, widget: string }
          - label: Information boxes
            name: boxes
            widget: list
            label_singular: box
            summary: '{{fields.title}}'
            fields:
              - { label: Box title, name: title, widget: string }
              - label: Bullet points
                name: points
                widget: list
                label_singular: point
                field: { label: Point, name: point, widget: text }
          - { label: Interest form button - text, name: form_button_label, widget: string }
          - { label: Interest form button - web address, name: form_link, widget: string, hint: 'The full address of your Google form, starting with https://' }
          - { label: Second button - text (goes to the contact form), name: info_button_label, widget: string }

  - name: testimonials
    label: Parent testimonials
    label_singular: Testimonials
    description: What families say about working with Haley.
    editor: { preview: false }
    files:
      - name: testimonials
        label: Parent testimonials
        file: content/testimonials.json
        format: json
        fields:
          - { label: Small line above the title, name: kicker, widget: string }
          - { label: Section title, name: heading, widget: string }
          - label: Testimonials
            name: quotes
            widget: list
            label_singular: testimonial
            summary: '{{fields.name}}'
            hint: Click "Add testimonial" for a new one. Drag to change the order.
            add_to_top: false
            fields:
              - { label: First name (or initials), name: name, widget: string, hint: Shown under the quote. }
              - { label: What they said, name: text, widget: text, hint: 'Do not type quote marks, they are added for you. Leave a blank line between paragraphs.' }

  - name: team
    label: Team
    label_singular: Team
    description: The people in "Meet the team", with photos.
    editor: { preview: false }
    files:
      - name: team
        label: Team members
        file: content/team.json
        format: json
        fields:
          - { label: Small line above the title, name: kicker, widget: string }
          - { label: Section title, name: heading, widget: string }
          - label: People
            name: members
            widget: list
            label_singular: person
            summary: '{{fields.name}}'
            hint: The first person is shown larger. Drag to change the order.
            fields:
              - { label: Name and credentials, name: name, widget: string, hint: 'For example: Shannon Walsh, M.S. CCC-SLP' }
              - { label: Pronouns, name: pronouns, widget: string, required: false, hint: 'For example: she/her. Brackets are added for you.' }
              - { label: Job title, name: role, widget: string }
              - { label: Second line under the title, name: extra_line, widget: string, required: false }
              - { label: Email, name: email, widget: string, required: false }
              - { label: Photo, name: photo, widget: image, required: false, choose_url: false, media_library: { config: { max_file_size: 800000 } }, hint: 'Square or slightly tall photos look best. About 800 pixels wide, under 800 KB. Without a photo, the person''s initials are shown.' }
              - { label: Photo description (for people using screen readers), name: photo_description, widget: string, required: false, hint: 'For example: Shannon Walsh, smiling' }

  - name: contact
    label: Contact info
    label_singular: Contact info
    description: Email, phone number and the "Let's chat" section. The phone number and email are also used in the buttons, footer and phone menu.
    editor: { preview: false }
    files:
      - name: contact
        label: Contact info
        file: content/contact.json
        format: json
        fields:
          - { label: Small line above the title, name: kicker, widget: string }
          - { label: Section title, name: heading, widget: string }
          - { label: Email address, name: email, widget: string, hint: 'Used in the contact section, footer and "Email" button.' }
          - { label: Phone number, name: phone, widget: string, hint: 'Ten digits, like 612-254-1880. Used in the home page button, contact section, footer and "Call" / "Text" buttons.' }
          - { label: Sentence under the contact details, name: note, widget: text }

  - name: settings
    label: Site name & search text
    label_singular: Site name & search text
    description: The business name, and the title and short description shown in Google results and browser tabs.
    editor: { preview: false }
    files:
      - name: settings
        label: Site name & search text
        file: content/settings.json
        format: json
        fields:
          - { label: Page title (browser tab and Google), name: page_title, widget: string }
          - { label: Short description (shown in Google), name: meta_description, widget: text, hint: 'About 150 characters works best.' }
          - { label: Name in the top corner - small first line, name: brand_top, widget: string }
          - { label: Name in the top corner - big second line, name: brand_bottom, widget: string }
          - { label: Full business name (footer), name: business_name, widget: string }
