backend:
  name: github
  repo: Flexpertise888/activation-platform
  branch: main
  # Target domain for the admin app (ichange.com.au), not yet connected —
  # update this to match wherever sites/admin is actually deployed (an
  # interim *.vercel.app URL until the domain is connected, matching the
  # same pattern used for the other sites), and update the GitHub OAuth
  # App's callback URL to match at the same time.
  base_url: https://ichange.com.au
  auth_endpoint: api/auth

publish_mode: simple
# Still OiU-specific: uploads land in sites/oiu/public/uploads, which only
# OiU's own deployment serves as static files. Fine for OiU-only content,
# but an image referenced by imale/imwoman/isenior/itisit content won't
# resolve on those sites' domains. Media needs a shared, cross-site-servable
# location (and each site wired to serve it) before that works — not solved
# yet, deliberately out of scope of just moving the admin app.
media_folder: sites/oiu/public/uploads
public_folder: /uploads

# Forces filenames/slugs to plain ASCII. Without this, a title typed with a
# smart/curly apostrophe (e.g. "Don't" via autocorrect) produces a filename
# containing that literal Unicode character, which breaks the Article/Song/
# etc. detail page URL (a real bug hit in production — see git history).
slug:
  encoding: "ascii"
  clean_accents: true
  sanitize_replacement: "-"

site_url: https://ichange.com.au
display_url: https://ichange.com.au

collections:
  - name: ecosystems
    label: Ecosystems
    label_singular: Ecosystem
    folder: packages/content/content/ecosystems
    create: true
    slug: "{{slug}}"
    identifier_field: title
    summary: "{{title}} (channels: {{fields.publicationChannels}})"
    fields:
      - { label: "Identifier", name: id, widget: string, hint: "Format ECO-XXX — check existing entries for the next number." }
      - { label: "Title", name: title, widget: string }
      - { label: "Summary", name: summary, widget: text, hint: "One or two sentences. Shown on cards and in search." }
      - label: "Ecosystem Type"
        name: ecosystemType
        widget: select
        options:
          - { label: "Master Ecosystem", value: master }
          - { label: "Branch Ecosystem", value: branch }
      - label: "Parent Ecosystem"
        name: parentEcosystem
        widget: relation
        collection: ecosystems
        search_fields: [title]
        value_field: "{{slug}}"
        display_fields: [title]
        required: false
        hint: "Only set this for a Branch Ecosystem."
      - { label: "Featured Quote", name: featuredQuote, widget: string, required: false }
      - { label: "Hero Image", name: heroImage, widget: image, required: false }
      - { label: "Featured on Home", name: featuredStatus, widget: boolean, default: false, required: false }
      - label: "Site Visibility"
        name: publicationStatus
        widget: select
        default: draft
        hint: "Not the same as the Published button above (that just saves to GitHub). This field controls whether it shows on the actual website — only \"Live on Website\" does."
        options:
          - { label: "Draft", value: draft }
          - { label: "Review", value: review }
          - { label: "Approved", value: approved }
          - { label: "Live on Website", value: published }
          - { label: "Archived", value: archived }
          - { label: "Retired", value: retired }
      - label: "Publication Channels"
        name: publicationChannels
        widget: select
        multiple: true
        default: [oiu]
        hint: "Which site(s) this shows on. Separate from Site Visibility above — that controls whether it's live at all; this controls where."
        options:
          - { label: "OiU", value: oiu }
          - { label: "itisit", value: itisit }
          - { label: "imale", value: imale }
          - { label: "imwoman", value: imwoman }
          - { label: "isenior", value: isenior }
      - { label: "Published Date", name: publishedDate, widget: datetime, required: false }
      - label: "Taxonomy"
        name: primaryTaxonomy
        widget: object
        hint: "Per the Framework Taxonomy Standard. Category must belong to the chosen Pillar — option labels below are prefixed with their Pillar to make this easy to check."
        fields:
          - label: "Pillar"
            name: pillar
            widget: select
            options:
              - Age
              - Identity
              - "Life Stages"
              - Sport
              - Interests
              - Wellbeing
              - Countries
              - Products
              - WorkLife
          - label: "Category"
            name: category
            widget: select
            hint: "Must belong to the Pillar selected above."
            options:
              - { label: "Age — Youth", value: Youth }
              - { label: "Age — Adults", value: Adults }
              - { label: "Age — Seniors", value: Seniors }
              - { label: "Identity — Men", value: Men }
              - { label: "Identity — Women", value: Women }
              - { label: "Identity — LGBTQ+", value: "LGBTQ+" }
              - { label: "Identity — Gay", value: Gay }
              - { label: "Identity — Lesbian", value: Lesbian }
              - { label: "Identity — Bisexual", value: Bisexual }
              - { label: "Identity — Transgender", value: Transgender }
              - { label: "Identity — Queer", value: Queer }
              - { label: "Identity — Non-binary", value: "Non-binary" }
              - { label: "Identity — Intersex", value: Intersex }
              - { label: "Identity — Asexual", value: Asexual }
              - { label: "Identity — Heterosexuals", value: Heterosexuals }
              - { label: "Life Stages — Married", value: Married }
              - { label: "Life Stages — Engaged", value: Engaged }
              - { label: "Life Stages — Divorced", value: Divorced }
              - { label: "Life Stages — Separated", value: Separated }
              - { label: "Life Stages — Parents", value: Parents }
              - { label: "Life Stages — Pregnant", value: Pregnant }
              - { label: "Life Stages — Retired", value: Retired }
              - { label: "Sport — Athletics", value: Athletics }
              - { label: "Sport — Football", value: Football }
              - { label: "Sport — Golf", value: Golf }
              - { label: "Interests — Gardening", value: Gardening }
              - { label: "Interests — Music", value: Music }
              - { label: "Interests — Sculpting", value: Sculpting }
              - { label: "Interests — Singing", value: Singing }
              - { label: "Interests — Cooking", value: Cooking }
              - { label: "Interests — Travel", value: Travel }
              - { label: "Interests — Reading", value: Reading }
              - { label: "Wellbeing — Disability", value: Disability }
              - { label: "Wellbeing — Vegan", value: Vegan }
              - { label: "Wellbeing — Vegetarian", value: Vegetarian }
              - { label: "Countries — Australia", value: Australia }
              - { label: "Countries — New Zealand", value: "New Zealand" }
              - { label: "Products — Cheese", value: Cheese }
              - { label: "Products — Chutney", value: Chutney }
              - { label: "Products — Jams", value: Jams }
              - { label: "Products — Preserves", value: Preserves }
              - { label: "WorkLife — Secretaries", value: Secretaries }
              - { label: "WorkLife — Apiarists", value: Apiarists }
              - { label: "WorkLife — Winemakers", value: Winemakers }
              - { label: "WorkLife — Actors", value: Actors }
              - { label: "WorkLife — Authors", value: Authors }
              - { label: "WorkLife — Copywriters", value: Copywriters }
              - { label: "WorkLife — Graphic Designers", value: "Graphic Designers" }
              - { label: "WorkLife — Historians", value: Historians }
              - { label: "WorkLife — Librarians", value: Librarians }
              - { label: "WorkLife — Translators", value: Translators }
              - { label: "WorkLife — Tutors", value: Tutors }
              - { label: "WorkLife — Tennis Coaches", value: "Tennis Coaches" }
              - { label: "WorkLife — Acupuncturists", value: Acupuncturists }
          - label: "Theme"
            name: theme
            widget: select
            options:
              - Success
              - Purpose
              - Identity
              - Relationships
              - Communication
              - Growth
              - Change
              - Wellbeing
              - Confidence
              - Kindness
              - Perspective
              - Balance
              - Belonging
              - Trust
              - Courage
              - Gratitude
              - Resilience
              - Creativity
              - Family
              - Community
          - label: "Emotion"
            name: emotion
            widget: select
            required: false
            hint: "Recommended, not mandatory."
            options:
              - Hope
              - Joy
              - Calm
              - Reflection
              - Inspiration
              - Confidence
              - Gratitude
              - Belonging
              - Comfort
              - Curiosity
              - Humour
              - Courage
      - { label: "Description", name: body, widget: markdown, modes: ["rich_text", "raw"] }

  - name: articles
    label: Articles
    label_singular: Article
    folder: packages/content/content/articles
    create: true
    slug: "{{slug}}"
    identifier_field: title
    summary: "{{title}} (channels: {{fields.publicationChannels}})"
    fields:
      - { label: "Identifier", name: id, widget: string, hint: "Format ART-XXX — check existing entries for the next number." }
      - { label: "Title", name: title, widget: string }
      - { label: "Summary", name: summary, widget: text }
      - label: "Primary Ecosystem"
        name: primaryEcosystem
        widget: relation
        collection: ecosystems
        search_fields: [title]
        value_field: "{{slug}}"
        display_fields: [title]
      - { label: "Hero Image", name: heroImage, widget: image, required: false }
      - { label: "Reading Time", name: readingTime, widget: string, required: false, hint: "e.g. 4 min" }
      - { label: "Author", name: author, widget: string, required: false }
      - { label: "Featured on Home", name: featuredStatus, widget: boolean, default: false, required: false }
      - label: "Site Visibility"
        name: publicationStatus
        widget: select
        default: draft
        hint: "Not the same as the Published button above (that just saves to GitHub). This field controls whether it shows on the actual website — only \"Live on Website\" does."
        options:
          - { label: "Draft", value: draft }
          - { label: "Review", value: review }
          - { label: "Approved", value: approved }
          - { label: "Live on Website", value: published }
          - { label: "Archived", value: archived }
          - { label: "Retired", value: retired }
      - label: "Publication Channels"
        name: publicationChannels
        widget: select
        multiple: true
        default: [oiu]
        hint: "Which site(s) this shows on. Separate from Site Visibility above — that controls whether it's live at all; this controls where."
        options:
          - { label: "OiU", value: oiu }
          - { label: "itisit", value: itisit }
          - { label: "imale", value: imale }
          - { label: "imwoman", value: imwoman }
          - { label: "isenior", value: isenior }
      - { label: "Published Date", name: publishedDate, widget: datetime, required: false }
      - label: "Taxonomy"
        name: primaryTaxonomy
        widget: object
        hint: "Per the Framework Taxonomy Standard. Category must belong to the chosen Pillar — option labels below are prefixed with their Pillar to make this easy to check."
        fields:
          - label: "Pillar"
            name: pillar
            widget: select
            options:
              - Age
              - Identity
              - "Life Stages"
              - Sport
              - Interests
              - Wellbeing
              - Countries
              - Products
              - WorkLife
          - label: "Category"
            name: category
            widget: select
            hint: "Must belong to the Pillar selected above."
            options:
              - { label: "Age — Youth", value: Youth }
              - { label: "Age — Adults", value: Adults }
              - { label: "Age — Seniors", value: Seniors }
              - { label: "Identity — Men", value: Men }
              - { label: "Identity — Women", value: Women }
              - { label: "Identity — LGBTQ+", value: "LGBTQ+" }
              - { label: "Identity — Gay", value: Gay }
              - { label: "Identity — Lesbian", value: Lesbian }
              - { label: "Identity — Bisexual", value: Bisexual }
              - { label: "Identity — Transgender", value: Transgender }
              - { label: "Identity — Queer", value: Queer }
              - { label: "Identity — Non-binary", value: "Non-binary" }
              - { label: "Identity — Intersex", value: Intersex }
              - { label: "Identity — Asexual", value: Asexual }
              - { label: "Identity — Heterosexuals", value: Heterosexuals }
              - { label: "Life Stages — Married", value: Married }
              - { label: "Life Stages — Engaged", value: Engaged }
              - { label: "Life Stages — Divorced", value: Divorced }
              - { label: "Life Stages — Separated", value: Separated }
              - { label: "Life Stages — Parents", value: Parents }
              - { label: "Life Stages — Pregnant", value: Pregnant }
              - { label: "Life Stages — Retired", value: Retired }
              - { label: "Sport — Athletics", value: Athletics }
              - { label: "Sport — Football", value: Football }
              - { label: "Sport — Golf", value: Golf }
              - { label: "Interests — Gardening", value: Gardening }
              - { label: "Interests — Music", value: Music }
              - { label: "Interests — Sculpting", value: Sculpting }
              - { label: "Interests — Singing", value: Singing }
              - { label: "Interests — Cooking", value: Cooking }
              - { label: "Interests — Travel", value: Travel }
              - { label: "Interests — Reading", value: Reading }
              - { label: "Wellbeing — Disability", value: Disability }
              - { label: "Wellbeing — Vegan", value: Vegan }
              - { label: "Wellbeing — Vegetarian", value: Vegetarian }
              - { label: "Countries — Australia", value: Australia }
              - { label: "Countries — New Zealand", value: "New Zealand" }
              - { label: "Products — Cheese", value: Cheese }
              - { label: "Products — Chutney", value: Chutney }
              - { label: "Products — Jams", value: Jams }
              - { label: "Products — Preserves", value: Preserves }
              - { label: "WorkLife — Secretaries", value: Secretaries }
              - { label: "WorkLife — Apiarists", value: Apiarists }
              - { label: "WorkLife — Winemakers", value: Winemakers }
              - { label: "WorkLife — Actors", value: Actors }
              - { label: "WorkLife — Authors", value: Authors }
              - { label: "WorkLife — Copywriters", value: Copywriters }
              - { label: "WorkLife — Graphic Designers", value: "Graphic Designers" }
              - { label: "WorkLife — Historians", value: Historians }
              - { label: "WorkLife — Librarians", value: Librarians }
              - { label: "WorkLife — Translators", value: Translators }
              - { label: "WorkLife — Tutors", value: Tutors }
              - { label: "WorkLife — Tennis Coaches", value: "Tennis Coaches" }
              - { label: "WorkLife — Acupuncturists", value: Acupuncturists }
          - label: "Theme"
            name: theme
            widget: select
            options:
              - Success
              - Purpose
              - Identity
              - Relationships
              - Communication
              - Growth
              - Change
              - Wellbeing
              - Confidence
              - Kindness
              - Perspective
              - Balance
              - Belonging
              - Trust
              - Courage
              - Gratitude
              - Resilience
              - Creativity
              - Family
              - Community
          - label: "Emotion"
            name: emotion
            widget: select
            required: false
            hint: "Recommended, not mandatory."
            options:
              - Hope
              - Joy
              - Calm
              - Reflection
              - Inspiration
              - Confidence
              - Gratitude
              - Belonging
              - Comfort
              - Curiosity
              - Humour
              - Courage
      - label: "Related Articles"
        name: relatedArticles
        widget: relation
        collection: articles
        search_fields: [title]
        value_field: "{{slug}}"
        display_fields: [title]
        multiple: true
        required: false
      - label: "Related Songs"
        name: relatedSongs
        widget: relation
        collection: songs
        search_fields: [title]
        value_field: "{{slug}}"
        display_fields: [title]
        multiple: true
        required: false
      - { label: "Article Body", name: body, widget: markdown, modes: ["rich_text", "raw"] }

  - name: songs
    label: Songs
    label_singular: Song
    folder: packages/content/content/songs
    create: true
    slug: "{{slug}}"
    identifier_field: title
    summary: "{{title}} (channels: {{fields.publicationChannels}})"
    fields:
      - { label: "Identifier", name: id, widget: string, hint: "Format SNG-XXX — check existing entries for the next number." }
      - { label: "Title", name: title, widget: string }
      - { label: "Summary", name: summary, widget: text }
      - label: "Primary Ecosystem"
        name: primaryEcosystem
        widget: relation
        collection: ecosystems
        search_fields: [title]
        value_field: "{{slug}}"
        display_fields: [title]
      - { label: "Artwork", name: artwork, widget: image, required: false }
      - { label: "Hero Image", name: heroImage, widget: image, required: false, hint: "Used if no Artwork is set." }
      - { label: "Listen Link", name: audioReference, widget: string, required: false, hint: "A link to where people can hear the song — DistroKid, Spotify, Apple Music, etc. This becomes a \"Listen to this Song\" button; it is NOT a place to paste a raw audio file, and won't play inline. Leave blank until a link exists." }
      - { label: "Featured on Home", name: featuredStatus, widget: boolean, default: false, required: false }
      - label: "Site Visibility"
        name: publicationStatus
        widget: select
        default: draft
        hint: "Not the same as the Published button above (that just saves to GitHub). This field controls whether it shows on the actual website — only \"Live on Website\" does."
        options:
          - { label: "Draft", value: draft }
          - { label: "Review", value: review }
          - { label: "Approved", value: approved }
          - { label: "Live on Website", value: published }
          - { label: "Archived", value: archived }
          - { label: "Retired", value: retired }
      - label: "Publication Channels"
        name: publicationChannels
        widget: select
        multiple: true
        default: [oiu]
        hint: "Which site(s) this shows on. Separate from Site Visibility above — that controls whether it's live at all; this controls where."
        options:
          - { label: "OiU", value: oiu }
          - { label: "itisit", value: itisit }
          - { label: "imale", value: imale }
          - { label: "imwoman", value: imwoman }
          - { label: "isenior", value: isenior }
      - { label: "Published Date", name: publishedDate, widget: datetime, required: false }
      - label: "Taxonomy"
        name: primaryTaxonomy
        widget: object
        hint: "Per the Framework Taxonomy Standard. Category must belong to the chosen Pillar — option labels below are prefixed with their Pillar to make this easy to check."
        fields:
          - label: "Pillar"
            name: pillar
            widget: select
            options:
              - Age
              - Identity
              - "Life Stages"
              - Sport
              - Interests
              - Wellbeing
              - Countries
              - Products
              - WorkLife
          - label: "Category"
            name: category
            widget: select
            hint: "Must belong to the Pillar selected above."
            options:
              - { label: "Age — Youth", value: Youth }
              - { label: "Age — Adults", value: Adults }
              - { label: "Age — Seniors", value: Seniors }
              - { label: "Identity — Men", value: Men }
              - { label: "Identity — Women", value: Women }
              - { label: "Identity — LGBTQ+", value: "LGBTQ+" }
              - { label: "Identity — Gay", value: Gay }
              - { label: "Identity — Lesbian", value: Lesbian }
              - { label: "Identity — Bisexual", value: Bisexual }
              - { label: "Identity — Transgender", value: Transgender }
              - { label: "Identity — Queer", value: Queer }
              - { label: "Identity — Non-binary", value: "Non-binary" }
              - { label: "Identity — Intersex", value: Intersex }
              - { label: "Identity — Asexual", value: Asexual }
              - { label: "Identity — Heterosexuals", value: Heterosexuals }
              - { label: "Life Stages — Married", value: Married }
              - { label: "Life Stages — Engaged", value: Engaged }
              - { label: "Life Stages — Divorced", value: Divorced }
              - { label: "Life Stages — Separated", value: Separated }
              - { label: "Life Stages — Parents", value: Parents }
              - { label: "Life Stages — Pregnant", value: Pregnant }
              - { label: "Life Stages — Retired", value: Retired }
              - { label: "Sport — Athletics", value: Athletics }
              - { label: "Sport — Football", value: Football }
              - { label: "Sport — Golf", value: Golf }
              - { label: "Interests — Gardening", value: Gardening }
              - { label: "Interests — Music", value: Music }
              - { label: "Interests — Sculpting", value: Sculpting }
              - { label: "Interests — Singing", value: Singing }
              - { label: "Interests — Cooking", value: Cooking }
              - { label: "Interests — Travel", value: Travel }
              - { label: "Interests — Reading", value: Reading }
              - { label: "Wellbeing — Disability", value: Disability }
              - { label: "Wellbeing — Vegan", value: Vegan }
              - { label: "Wellbeing — Vegetarian", value: Vegetarian }
              - { label: "Countries — Australia", value: Australia }
              - { label: "Countries — New Zealand", value: "New Zealand" }
              - { label: "Products — Cheese", value: Cheese }
              - { label: "Products — Chutney", value: Chutney }
              - { label: "Products — Jams", value: Jams }
              - { label: "Products — Preserves", value: Preserves }
              - { label: "WorkLife — Secretaries", value: Secretaries }
              - { label: "WorkLife — Apiarists", value: Apiarists }
              - { label: "WorkLife — Winemakers", value: Winemakers }
              - { label: "WorkLife — Actors", value: Actors }
              - { label: "WorkLife — Authors", value: Authors }
              - { label: "WorkLife — Copywriters", value: Copywriters }
              - { label: "WorkLife — Graphic Designers", value: "Graphic Designers" }
              - { label: "WorkLife — Historians", value: Historians }
              - { label: "WorkLife — Librarians", value: Librarians }
              - { label: "WorkLife — Translators", value: Translators }
              - { label: "WorkLife — Tutors", value: Tutors }
              - { label: "WorkLife — Tennis Coaches", value: "Tennis Coaches" }
              - { label: "WorkLife — Acupuncturists", value: Acupuncturists }
          - label: "Theme"
            name: theme
            widget: select
            options:
              - Success
              - Purpose
              - Identity
              - Relationships
              - Communication
              - Growth
              - Change
              - Wellbeing
              - Confidence
              - Kindness
              - Perspective
              - Balance
              - Belonging
              - Trust
              - Courage
              - Gratitude
              - Resilience
              - Creativity
              - Family
              - Community
          - label: "Emotion"
            name: emotion
            widget: select
            required: false
            hint: "Recommended, not mandatory."
            options:
              - Hope
              - Joy
              - Calm
              - Reflection
              - Inspiration
              - Confidence
              - Gratitude
              - Belonging
              - Comfort
              - Curiosity
              - Humour
              - Courage
      - label: "Related Articles"
        name: relatedArticles
        widget: relation
        collection: articles
        search_fields: [title]
        value_field: "{{slug}}"
        display_fields: [title]
        multiple: true
        required: false
      - { label: "Lyrics", name: body, widget: markdown, modes: ["rich_text", "raw"] }

  - name: assets
    label: Assets
    label_singular: Asset
    folder: packages/content/content/assets
    create: true
    slug: "{{slug}}"
    identifier_field: title
    summary: "{{title}} (channels: {{fields.publicationChannels}})"
    fields:
      - { label: "Identifier", name: id, widget: string, hint: "Format AST-XXX — check existing entries for the next number." }
      - { label: "Title", name: title, widget: string }
      - { label: "Summary", name: summary, widget: text }
      - label: "Asset Type"
        name: assetType
        widget: select
        options:
          - { label: "Reel", value: reel }
          - { label: "Story Post", value: story-post }
          - { label: "Carousel", value: carousel }
          - { label: "Question Post", value: question-post }
          - { label: "Poll Post", value: poll-post }
          - { label: "Caption Variation", value: caption-variation }
          - { label: "Quote Graphic", value: quote-graphic }
      - label: "Primary Ecosystem"
        name: primaryEcosystem
        widget: relation
        collection: ecosystems
        search_fields: [title]
        value_field: "{{slug}}"
        display_fields: [title]
      - { label: "Preview Image", name: previewMedia, widget: image, required: false }
      - label: "Site Visibility"
        name: publicationStatus
        widget: select
        default: draft
        hint: "Not the same as the Published button above (that just saves to GitHub). This field controls whether it shows on the actual website — only \"Live on Website\" does."
        options:
          - { label: "Draft", value: draft }
          - { label: "Review", value: review }
          - { label: "Approved", value: approved }
          - { label: "Live on Website", value: published }
          - { label: "Archived", value: archived }
          - { label: "Retired", value: retired }
      - label: "Publication Channels"
        name: publicationChannels
        widget: select
        multiple: true
        default: [oiu]
        hint: "Which site(s) this shows on. Separate from Site Visibility above — that controls whether it's live at all; this controls where."
        options:
          - { label: "OiU", value: oiu }
          - { label: "itisit", value: itisit }
          - { label: "imale", value: imale }
          - { label: "imwoman", value: imwoman }
          - { label: "isenior", value: isenior }
      - { label: "Published Date", name: publishedDate, widget: datetime, required: false }
      - label: "Taxonomy"
        name: primaryTaxonomy
        widget: object
        hint: "Per the Framework Taxonomy Standard. Category must belong to the chosen Pillar — option labels below are prefixed with their Pillar to make this easy to check."
        fields:
          - label: "Pillar"
            name: pillar
            widget: select
            options:
              - Age
              - Identity
              - "Life Stages"
              - Sport
              - Interests
              - Wellbeing
              - Countries
              - Products
              - WorkLife
          - label: "Category"
            name: category
            widget: select
            hint: "Must belong to the Pillar selected above."
            options:
              - { label: "Age — Youth", value: Youth }
              - { label: "Age — Adults", value: Adults }
              - { label: "Age — Seniors", value: Seniors }
              - { label: "Identity — Men", value: Men }
              - { label: "Identity — Women", value: Women }
              - { label: "Identity — LGBTQ+", value: "LGBTQ+" }
              - { label: "Identity — Gay", value: Gay }
              - { label: "Identity — Lesbian", value: Lesbian }
              - { label: "Identity — Bisexual", value: Bisexual }
              - { label: "Identity — Transgender", value: Transgender }
              - { label: "Identity — Queer", value: Queer }
              - { label: "Identity — Non-binary", value: "Non-binary" }
              - { label: "Identity — Intersex", value: Intersex }
              - { label: "Identity — Asexual", value: Asexual }
              - { label: "Identity — Heterosexuals", value: Heterosexuals }
              - { label: "Life Stages — Married", value: Married }
              - { label: "Life Stages — Engaged", value: Engaged }
              - { label: "Life Stages — Divorced", value: Divorced }
              - { label: "Life Stages — Separated", value: Separated }
              - { label: "Life Stages — Parents", value: Parents }
              - { label: "Life Stages — Pregnant", value: Pregnant }
              - { label: "Life Stages — Retired", value: Retired }
              - { label: "Sport — Athletics", value: Athletics }
              - { label: "Sport — Football", value: Football }
              - { label: "Sport — Golf", value: Golf }
              - { label: "Interests — Gardening", value: Gardening }
              - { label: "Interests — Music", value: Music }
              - { label: "Interests — Sculpting", value: Sculpting }
              - { label: "Interests — Singing", value: Singing }
              - { label: "Interests — Cooking", value: Cooking }
              - { label: "Interests — Travel", value: Travel }
              - { label: "Interests — Reading", value: Reading }
              - { label: "Wellbeing — Disability", value: Disability }
              - { label: "Wellbeing — Vegan", value: Vegan }
              - { label: "Wellbeing — Vegetarian", value: Vegetarian }
              - { label: "Countries — Australia", value: Australia }
              - { label: "Countries — New Zealand", value: "New Zealand" }
              - { label: "Products — Cheese", value: Cheese }
              - { label: "Products — Chutney", value: Chutney }
              - { label: "Products — Jams", value: Jams }
              - { label: "Products — Preserves", value: Preserves }
              - { label: "WorkLife — Secretaries", value: Secretaries }
              - { label: "WorkLife — Apiarists", value: Apiarists }
              - { label: "WorkLife — Winemakers", value: Winemakers }
              - { label: "WorkLife — Actors", value: Actors }
              - { label: "WorkLife — Authors", value: Authors }
              - { label: "WorkLife — Copywriters", value: Copywriters }
              - { label: "WorkLife — Graphic Designers", value: "Graphic Designers" }
              - { label: "WorkLife — Historians", value: Historians }
              - { label: "WorkLife — Librarians", value: Librarians }
              - { label: "WorkLife — Translators", value: Translators }
              - { label: "WorkLife — Tutors", value: Tutors }
              - { label: "WorkLife — Tennis Coaches", value: "Tennis Coaches" }
              - { label: "WorkLife — Acupuncturists", value: Acupuncturists }
          - label: "Theme"
            name: theme
            widget: select
            options:
              - Success
              - Purpose
              - Identity
              - Relationships
              - Communication
              - Growth
              - Change
              - Wellbeing
              - Confidence
              - Kindness
              - Perspective
              - Balance
              - Belonging
              - Trust
              - Courage
              - Gratitude
              - Resilience
              - Creativity
              - Family
              - Community
          - label: "Emotion"
            name: emotion
            widget: select
            required: false
            hint: "Recommended, not mandatory."
            options:
              - Hope
              - Joy
              - Calm
              - Reflection
              - Inspiration
              - Confidence
              - Gratitude
              - Belonging
              - Comfort
              - Curiosity
              - Humour
              - Courage
      - label: "Related Articles"
        name: relatedArticles
        widget: relation
        collection: articles
        search_fields: [title]
        value_field: "{{slug}}"
        display_fields: [title]
        multiple: true
        required: false
      - { label: "Notes", name: body, widget: markdown, required: false, modes: ["rich_text", "raw"] }

  - name: products
    label: Products
    label_singular: Product
    folder: packages/content/content/products
    create: true
    slug: "{{slug}}"
    identifier_field: title
    summary: "{{title}} (channels: {{fields.publicationChannels}})"
    fields:
      - { label: "Identifier", name: id, widget: string, hint: "Format PRD-XXX — check existing entries for the next number." }
      - { label: "Title", name: title, widget: string }
      - { label: "Summary", name: summary, widget: text }
      - label: "Product Type"
        name: productType
        widget: select
        options:
          - { label: "Physical", value: physical }
          - { label: "Digital", value: digital }
      - { label: "Primary Product Image", name: primaryProductImage, widget: image }
      - label: "Primary Ecosystem"
        name: primaryEcosystem
        widget: relation
        collection: ecosystems
        search_fields: [title]
        value_field: "{{slug}}"
        display_fields: [title]
      - label: "Shopify Product Link"
        name: commerceReference
        widget: string
        required: false
        hint: "Paste the Shopify product page URL here. Leave blank to keep the Buy button hidden — the page will show \"not available for purchase yet\" instead."
      - label: "Site Visibility"
        name: publicationStatus
        widget: select
        default: draft
        hint: "Not the same as the Published button above (that just saves to GitHub). This field controls whether it shows on the actual website — only \"Live on Website\" does. Keep this as Draft until a Shopify Product Link is set."
        options:
          - { label: "Draft", value: draft }
          - { label: "Review", value: review }
          - { label: "Approved", value: approved }
          - { label: "Live on Website", value: published }
          - { label: "Archived", value: archived }
          - { label: "Retired", value: retired }
      - label: "Publication Channels"
        name: publicationChannels
        widget: select
        multiple: true
        default: [oiu]
        hint: "Which site(s) this shows on. Separate from Site Visibility above — that controls whether it's live at all; this controls where."
        options:
          - { label: "OiU", value: oiu }
          - { label: "itisit", value: itisit }
          - { label: "imale", value: imale }
          - { label: "imwoman", value: imwoman }
          - { label: "isenior", value: isenior }
      - { label: "Published Date", name: publishedDate, widget: datetime, required: false }
      - label: "Taxonomy"
        name: primaryTaxonomy
        widget: object
        hint: "Per the Framework Taxonomy Standard. Category must belong to the chosen Pillar — option labels below are prefixed with their Pillar to make this easy to check."
        fields:
          - label: "Pillar"
            name: pillar
            widget: select
            options:
              - Age
              - Identity
              - "Life Stages"
              - Sport
              - Interests
              - Wellbeing
              - Countries
              - Products
              - WorkLife
          - label: "Category"
            name: category
            widget: select
            hint: "Must belong to the Pillar selected above."
            options:
              - { label: "Age — Youth", value: Youth }
              - { label: "Age — Adults", value: Adults }
              - { label: "Age — Seniors", value: Seniors }
              - { label: "Identity — Men", value: Men }
              - { label: "Identity — Women", value: Women }
              - { label: "Identity — LGBTQ+", value: "LGBTQ+" }
              - { label: "Identity — Gay", value: Gay }
              - { label: "Identity — Lesbian", value: Lesbian }
              - { label: "Identity — Bisexual", value: Bisexual }
              - { label: "Identity — Transgender", value: Transgender }
              - { label: "Identity — Queer", value: Queer }
              - { label: "Identity — Non-binary", value: "Non-binary" }
              - { label: "Identity — Intersex", value: Intersex }
              - { label: "Identity — Asexual", value: Asexual }
              - { label: "Identity — Heterosexuals", value: Heterosexuals }
              - { label: "Life Stages — Married", value: Married }
              - { label: "Life Stages — Engaged", value: Engaged }
              - { label: "Life Stages — Divorced", value: Divorced }
              - { label: "Life Stages — Separated", value: Separated }
              - { label: "Life Stages — Parents", value: Parents }
              - { label: "Life Stages — Pregnant", value: Pregnant }
              - { label: "Life Stages — Retired", value: Retired }
              - { label: "Sport — Athletics", value: Athletics }
              - { label: "Sport — Football", value: Football }
              - { label: "Sport — Golf", value: Golf }
              - { label: "Interests — Gardening", value: Gardening }
              - { label: "Interests — Music", value: Music }
              - { label: "Interests — Sculpting", value: Sculpting }
              - { label: "Interests — Singing", value: Singing }
              - { label: "Interests — Cooking", value: Cooking }
              - { label: "Interests — Travel", value: Travel }
              - { label: "Interests — Reading", value: Reading }
              - { label: "Wellbeing — Disability", value: Disability }
              - { label: "Wellbeing — Vegan", value: Vegan }
              - { label: "Wellbeing — Vegetarian", value: Vegetarian }
              - { label: "Countries — Australia", value: Australia }
              - { label: "Countries — New Zealand", value: "New Zealand" }
              - { label: "Products — Cheese", value: Cheese }
              - { label: "Products — Chutney", value: Chutney }
              - { label: "Products — Jams", value: Jams }
              - { label: "Products — Preserves", value: Preserves }
              - { label: "WorkLife — Secretaries", value: Secretaries }
              - { label: "WorkLife — Apiarists", value: Apiarists }
              - { label: "WorkLife — Winemakers", value: Winemakers }
              - { label: "WorkLife — Actors", value: Actors }
              - { label: "WorkLife — Authors", value: Authors }
              - { label: "WorkLife — Copywriters", value: Copywriters }
              - { label: "WorkLife — Graphic Designers", value: "Graphic Designers" }
              - { label: "WorkLife — Historians", value: Historians }
              - { label: "WorkLife — Librarians", value: Librarians }
              - { label: "WorkLife — Translators", value: Translators }
              - { label: "WorkLife — Tutors", value: Tutors }
              - { label: "WorkLife — Tennis Coaches", value: "Tennis Coaches" }
              - { label: "WorkLife — Acupuncturists", value: Acupuncturists }
          - label: "Theme"
            name: theme
            widget: select
            options:
              - Success
              - Purpose
              - Identity
              - Relationships
              - Communication
              - Growth
              - Change
              - Wellbeing
              - Confidence
              - Kindness
              - Perspective
              - Balance
              - Belonging
              - Trust
              - Courage
              - Gratitude
              - Resilience
              - Creativity
              - Family
              - Community
          - label: "Emotion"
            name: emotion
            widget: select
            required: false
            hint: "Recommended, not mandatory."
            options:
              - Hope
              - Joy
              - Calm
              - Reflection
              - Inspiration
              - Confidence
              - Gratitude
              - Belonging
              - Comfort
              - Curiosity
              - Humour
              - Courage
      - label: "Related Articles"
        name: relatedArticles
        widget: relation
        collection: articles
        search_fields: [title]
        value_field: "{{slug}}"
        display_fields: [title]
        multiple: true
        required: false
      - label: "Related Songs"
        name: relatedSongs
        widget: relation
        collection: songs
        search_fields: [title]
        value_field: "{{slug}}"
        display_fields: [title]
        multiple: true
        required: false
      - { label: "Product Story", name: body, widget: markdown, modes: ["rich_text", "raw"] }
