local_backend: true

publish_mode: editorial_workflow

backend:
  name: github
  repo: ezk84/magpie
  branch: main
  base_url: https://magpiemaintenance.web.app
  auth_endpoint: oauth/auth

media_folder: public/uploads
public_folder: /uploads

collections:
  - name: settings
    label: Site settings
    files:
      - name: site
        label: Site settings
        file: src/content/settings/site.yml
        fields:
          - { label: Company name, name: companyName, widget: string }
          - { label: Tagline, name: tagline, widget: string }
          - { label: Description, name: description, widget: text }
          - { label: Phone, name: phone, widget: string }
          - { label: Secondary phone, name: phoneSecondary, widget: string, required: false }
          - { label: Email, name: email, widget: string }
          - { label: ABN, name: abn, widget: string, required: false }
          - { label: Address, name: address, widget: text, required: false }
          - label: Hours
            name: hours
            widget: list
            fields:
              - { label: Days, name: days, widget: string }
              - { label: Time, name: time, widget: string }
          - label: Navigation
            name: navigation
            widget: list
            fields:
              - { label: Label, name: label, widget: string }
              - { label: Href, name: href, widget: string }
          - label: Footer services
            name: footerServices
            widget: list
            required: false
            fields:
              - { label: Label, name: label, widget: string }
              - { label: Href, name: href, widget: string }
          - label: Social links
            name: socials
            widget: list
            required: false
            fields:
              - { label: Label, name: label, widget: string }
              - { label: URL, name: url, widget: string }

  - name: pages
    label: Pages
    files:
      - name: home
        label: Home
        file: src/content/pages/home.md
        fields:
          - { label: Title, name: title, widget: string }
          - { label: Description, name: description, widget: text }
          - { label: CTA label, name: ctaLabel, widget: string, required: false }
          - { label: CTA href, name: ctaHref, widget: string, required: false }
          - label: Hero slides
            name: slides
            widget: list
            required: false
            fields:
              - { label: Title, name: title, widget: string }
              - { label: Image, name: image, widget: image }
          - label: Why choose us
            name: whyChoose
            widget: list
            required: false
            fields:
              - { label: Title, name: title, widget: string }
              - { label: Body, name: body, widget: text }
              - {
                  label: "Icon (Font Awesome name, e.g. line-chart)",
                  name: icon,
                  widget: string,
                  required: false,
                }
          - label: Why choose columns
            name: whyChooseColumns
            widget: number
            value_type: int
            default: 4
            required: false
            hint: Desktop column count (2, 3, or 4)
          - label: Specialised services
            name: specialisedServices
            widget: list
            required: false
            fields:
              - { label: Title, name: title, widget: string }
              - { label: Body, name: body, widget: text }
              - { label: Href, name: href, widget: string }
              - { label: Image, name: image, widget: image, required: false }
              - { label: Second rotating image, name: secondImage, widget: image, required: false }
              - { label: CTA label, name: ctaLabel, widget: string, required: false }
          - { label: Body, name: body, widget: markdown }
      - name: about
        label: About
        file: src/content/pages/about.md
        fields:
          - { label: Title, name: title, widget: string }
          - { label: Description, name: description, widget: text }
          - { label: Hero title, name: heroTitle, widget: string, required: false }
          - { label: Vision, name: vision, widget: text, required: false }
          - { label: Mission, name: mission, widget: text, required: false }
          - { label: Body, name: body, widget: markdown }
      - name: services
        label: Services
        file: src/content/pages/services.md
        fields:
          - { label: Title, name: title, widget: string }
          - { label: Description, name: description, widget: text }
          - { label: Hero title, name: heroTitle, widget: string, required: false }
          - label: Commitment
            name: commitment
            widget: list
            required: false
            field: { label: Item, name: item, widget: string }
      - name: contact
        label: Contact
        file: src/content/pages/contact.md
        fields:
          - { label: Title, name: title, widget: string }
          - { label: Description, name: description, widget: text }
          - { label: Hero title, name: heroTitle, widget: string, required: false }
          - { label: Hero subtitle, name: heroSubtitle, widget: text, required: false }
          - { label: CTA label, name: ctaLabel, widget: string, required: false }
          - { label: CTA href, name: ctaHref, widget: string, required: false }
          - { label: Body, name: body, widget: markdown }

  - name: services
    label: Services
    folder: src/content/services
    create: true
    slug: "{{slug}}"
    extension: md
    format: frontmatter
    fields:
      - { label: Title, name: title, widget: string }
      - { label: Summary, name: summary, widget: text }
      - { label: Order, name: order, widget: number, value_type: int, default: 0 }
      - { label: Featured on home, name: featured, widget: boolean, default: false }
      - { label: Image, name: image, widget: image, required: false }
      - label: Highlights
        name: highlights
        widget: list
        required: false
        fields:
          - { label: Title, name: title, widget: string }
          - { label: Body, name: body, widget: text }
          - { label: Icon (Font Awesome name), name: icon, widget: string, required: false }
      - label: Highlight columns
        name: highlightColumns
        widget: number
        value_type: int
        default: 3
        required: false
        hint: Desktop column count (2, 3, or 4)
      - label: Lists
        name: lists
        widget: list
        required: false
        fields:
          - { label: Title, name: title, widget: string }
          - label: Items
            name: items
            widget: list
            field: { label: Item, name: item, widget: string }
      - { label: Body, name: body, widget: markdown }

  - name: testimonials
    label: Testimonials
    folder: src/content/testimonials
    create: true
    slug: "{{slug}}"
    extension: md
    format: frontmatter
    fields:
      - { label: Quote, name: quote, widget: text }
      - { label: Name, name: name, widget: string }
      - { label: Location, name: location, widget: string }
      - { label: Service slug, name: service, widget: string, required: false }
      - { label: Featured on home, name: featured, widget: boolean, default: false }
      - { label: Order, name: order, widget: number, value_type: int, default: 0 }
