# Decap CMS config for /admin (Bunny auth at bennospaintingservices.com.au/admin)
# base_url must be origin only; auth_endpoint = full path to auth
# GitHub OAuth App callback: https://bennospaintingservices.com.au/admin/callback

backend:
  name: github
  repo: sulli1986/bennos-painting-services
  branch: master
  base_url: https://bennospaintingservices.com.au
  auth_endpoint: /admin/auth

media_folder: public/uploads
public_folder: /uploads

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

# Custom logo on login page (Stride IT). Use /admin/logo.png; CSS in admin layout inverts for light background so text is black.
logo:
  src: /admin/logo.png
  show_in_header: true

collections:
  - name: site
    label: Site Settings
    description: Global business details, contact info, services and reviews.
    files:
      - name: siteContent
        label: Site Wide Content
        file: src/content/site.json
        fields:
          - { name: businessName, label: Business Name, widget: string }
          - { name: painterRegistration, label: Painter registration (e.g. Registered Painter WA - PP101942), widget: string, required: false }
          - { name: tagline, label: Tagline, widget: string, required: false }
          - { name: location, label: Location, widget: string }
          - { name: phone, label: Phone, widget: string }
          - { name: email, label: Email, widget: string }
          - { name: facebookUrl, label: Facebook URL, widget: string, required: false }
          - { name: instagramUrl, label: Instagram URL, widget: string, required: false }
          - name: serviceArea
            label: Service Areas
            label_singular: Service Area
            widget: list
            summary: "{{fields.item}}"
            field:
              { name: item, label: Area, widget: string }
          - { name: googleReviewsUrl, label: "Google Reviews URL", widget: string, required: false }
          - name: reviews
            label: Reviews
            label_singular: Review
            widget: list
            summary: "{{fields.source}} – {{fields.author}}"
            fields:
              - { name: source, label: Source (e.g. Facebook, Google), widget: string }
              - { name: rating, label: Rating (1–5), widget: number, value_type: int, min: 1, max: 5 }
              - { name: quote, label: Quote, widget: text }
              - { name: author, label: Author, widget: string }
          - name: aggregateRating
            label: "Review stats (for search/schema)"
            widget: object
            required: false
            fields:
              - { name: ratingValue, label: "Average rating (e.g. 4.9)", widget: string }
              - { name: reviewCount, label: "Total review count (e.g. 25)", widget: string }

  - name: pages
    label: Pages
    description: Edit the content and SEO for the Home, About, Services, Contact, Quote and Gallery pages.
    files:
      - name: home
        label: Home Page
        file: src/content/home.json
        fields:
          - label: SEO
            name: seo
            widget: object
            collapsed: true
            required: false
            fields:
              - { name: title, label: SEO Title, widget: string, required: false, hint: "Defaults to a home page title based on business name and location." }
              - { name: description, label: SEO Description, widget: text, required: false, hint: "Short summary for the home page search result. Leave blank to use the default." }
          - name: hero
            label: "Home — Hero"
            widget: object
            fields:
              - { name: headline, label: Headline, widget: string }
              - { name: subheading, label: Subheading, widget: text }
              - { name: subtext, label: Subtext (under headline), widget: string, required: false }
              - { name: introParagraph, label: Intro paragraph, widget: text, required: false }
              - { name: callLabel, label: Call button label, widget: string, required: false }
              - { name: quoteLabel, label: Quote button label, widget: string, required: false }
              - { name: primaryCta, label: Primary CTA Label, widget: string, required: false }
              - { name: secondaryCta, label: Secondary CTA Label, widget: string, required: false }
          - name: homeLocalHeadline
            label: "Home — Local painter section headline"
            widget: string
          - { name: homeLocalParagraph, label: "Home — Local painter paragraph", widget: text }
          - name: homeLocalCards
            label: "Home — Value cards (4)"
            widget: list
            max: 4
            summary: "{{fields.title}}"
            fields:
              - { name: title, label: Title, widget: string }
              - { name: description, label: Description, widget: text }
          - name: homeShowcaseHeadline
            label: "Home — Before/after section headline"
            widget: string
          - { name: homeShowcaseParagraph, label: "Home — Before/after paragraph", widget: text }
          - { name: homeShowcaseGalleryLinkText, label: "Home — Gallery link text", widget: string, required: false }
          - name: homeBeforeAfterPairs
            label: "Home — Before & after pairs"
            widget: list
            summary: "{{fields.label}}"
            fields:
              - { name: label, label: Label, widget: string }
              - { name: beforeImage, label: Before image, widget: image }
              - { name: afterImage, label: After image, widget: image }
              - { name: beforeAlt, label: Before alt text, widget: string }
              - { name: afterAlt, label: After alt text, widget: string }
          - { name: homeServicesHeadline, label: "Home — Services section headline", widget: string }
          - { name: homeServicesSubtext, label: "Home — Services section subtext", widget: text }
          - name: services
            label: "Home — Services cards"
            label_singular: Service
            widget: list
            summary: "{{fields.title}}"
            fields:
              - { name: title, label: Title, widget: string }
              - { name: description, label: Description, widget: text }
              - { name: image, label: Image, widget: image, required: false }
              - name: bullets
                label: Bullet points
                label_singular: Bullet
                widget: list
                required: false
                field:
                  { name: item, label: Point, widget: string }
          - { name: homeProcessHeadline, label: "Home — Process section headline", widget: string }
          - { name: homeProcessParagraph, label: "Home — Process section paragraph", widget: text }
          - name: homeProcessSteps
            label: "Home — Process steps (3)"
            widget: list
            max: 3
            summary: "{{fields.title}}"
            fields:
              - { name: title, label: Title, widget: string }
              - { name: description, label: Description, widget: text }
          - { name: homeProcessCtaHeadline, label: "Home — Process CTA headline", widget: string }
          - { name: homeProcessCtaParagraph, label: "Home — Process CTA paragraph", widget: text }
          - { name: homeReviewsHeadline, label: "Home — Reviews section headline", widget: string }
          - { name: homeReviewsParagraph, label: "Home — Reviews section paragraph", widget: text }

      - name: about
        label: About Page
        file: src/content/about.json
        fields:
          - label: SEO
            name: seo
            widget: object
            collapsed: true
            required: false
            fields:
              - { name: title, label: SEO Title, widget: string, required: false, hint: "Defaults to a sensible About page title if left blank." }
              - { name: description, label: SEO Description, widget: text, required: false, hint: "Short summary that appears in Google search results. Leave blank to use the default." }
          - { name: heroHeadline, label: Hero Headline, widget: string }
          - { name: heroSubtext, label: Hero Subtext, widget: text }
          - { name: heroImage, label: Hero Image, widget: image, required: false }
          - name: storyParagraphs
            label: Story Paragraphs
            widget: list
            field:
              { name: item, label: Paragraph, widget: text }
          - { name: areaHeadline, label: Area Section Headline, widget: string }

      - name: services
        label: Services Page
        file: src/content/services.json
        fields:
          - label: SEO
            name: seo
            widget: object
            collapsed: true
            required: false
            fields:
              - { name: title, label: SEO Title, widget: string, required: false, hint: "Defaults to a Services page title if left blank." }
              - { name: description, label: SEO Description, widget: text, required: false, hint: "Short summary that appears in Google search results. Leave blank to use the default." }
          - { name: heroHeadline, label: Hero Headline, widget: string }
          - { name: heroSubtext, label: Hero Subtext, widget: text }
          - { name: heroImage, label: Hero Image, widget: image, required: false }
          - { name: quoteCtaHeadline, label: Quote Section Headline, widget: string }
          - { name: quoteCtaText, label: Quote Section Text, widget: text }
          - name: services
            label: Services (detailed sections)
            label_singular: Service
            widget: list
            summary: "{{fields.title}}"
            fields:
              - { name: title, label: Title, widget: string }
              - { name: description, label: Description, widget: text }
              - { name: image, label: Image, widget: image, required: false }
              - name: bullets
                label: Bullet points
                label_singular: Bullet
                widget: list
                required: false
                field:
                  { name: item, label: Point, widget: string }

      - name: contact
        label: Contact Page
        file: src/content/contact.json
        fields:
          - label: SEO
            name: seo
            widget: object
            collapsed: true
            required: false
            fields:
              - { name: title, label: SEO Title, widget: string, required: false, hint: "Defaults to a Contact page title if left blank." }
              - { name: description, label: SEO Description, widget: text, required: false, hint: "Short summary that appears in Google search results. Leave blank to use the default." }
          - { name: heroHeadline, label: Hero Headline, widget: string }
          - { name: heroSubtext, label: Hero Subtext, widget: text }
          - { name: heroImage, label: Hero Image, widget: image, required: false }
          - { name: hours, label: Business Hours, widget: string }

      - name: quote
        label: Quote Page
        file: src/content/quote.json
        fields:
          - label: SEO
            name: seo
            widget: object
            collapsed: true
            required: false
            fields:
              - { name: title, label: SEO Title, widget: string, required: false, hint: "Defaults to a Quote page title if left blank." }
              - { name: description, label: SEO Description, widget: text, required: false, hint: "Short summary that appears in Google search results. Leave blank to use the default." }
          - { name: heroHeadline, label: Hero Headline, widget: string }
          - { name: heroSubtext, label: Hero Subtext, widget: text }
          - { name: heroImage, label: Hero Image, widget: image, required: false }

      - name: gallery
        label: Gallery Page
        description: "After adding or removing images, click **Save** at the top of the page to publish. The Save bar stays visible while you scroll."
        file: src/content/gallery.json
        fields:
          - label: SEO
            name: seo
            widget: object
            collapsed: true
            required: false
            fields:
              - { name: title, label: SEO Title, widget: string, required: false, hint: "Defaults to a Gallery page title if left blank." }
              - { name: description, label: SEO Description, widget: text, required: false, hint: "Short summary that appears in Google search results. Leave blank to use the default." }
          - name: images
            label: Gallery Images
            label_singular: Image
            widget: list
            summary: "{{fields.alt}}"
            fields:
              - { name: image, label: Image, widget: image }
              - { name: alt, label: Alt text, widget: string }
              - { name: caption, label: Caption, widget: string }
          - name: beforeAfterPairs
            label: Before & After Pairs
            label_singular: Pair
            widget: list
            summary: "{{fields.label}}"
            fields:
              - { name: label, label: Label, widget: string }
              - { name: beforeImage, label: Before Image, widget: image }
              - { name: afterImage, label: After Image, widget: image }
              - { name: beforeAlt, label: Before Alt text, widget: string }
              - { name: afterAlt, label: After Alt text, widget: string }
