backend:
  name: github
  repo: duttasounak/unitech-india-site
  branch: main
  base_url: https://unitechindia.in
  auth_endpoint: auth

publish_mode: simple

media_folder: "src/image"
public_folder: "/image"

collections:
  - name: "posts"
    label: "News & Updates"
    folder: "src/posts"
    create: true
    slug: "{{slug}}"
    fields:
      - { label: "Title", name: "title", widget: "string" }
      - { label: "Publish Date", name: "date", widget: "datetime" }
      - { label: "Excerpt", name: "excerpt", widget: "text", hint: "A one or two sentence teaser shown on the news listing page and homepage." }
      - { label: "Image", name: "image", widget: "image", required: false }
      - { label: "Body", name: "body", widget: "markdown" }

  - name: "site-content"
    label: "Site Content"
    files:
      - name: "site-settings"
        label: "Site Settings"
        file: "src/_data/site.json"
        description: "Shared across every page: header/footer contact info, logo, footer columns."
        fields:
          - { label: "Phone Number", name: "phone", widget: "string" }
          - { label: "Secondary Phone Number", name: "phoneSecondary", widget: "string" }
          - { label: "Email", name: "email", widget: "string" }
          - { label: "WhatsApp Link", name: "whatsappUrl", widget: "string", hint: "e.g. https://wa.me/917603062700" }
          - { label: "Address", name: "address", widget: "text" }
          - { label: "Business Hours", name: "businessHours", widget: "string" }
          - { label: "Google Maps Embed URL (Contact page map - on Google Maps, open the location, click Share > Embed a map > COPY HTML, then paste just the src=\"...\" URL here, not the whole <iframe> tag; or ask Claude to convert a maps.app.goo.gl link)", name: "mapEmbedUrl", widget: "string", required: false }
          - { label: "Vendor/Subcontractor Note", name: "vendorNote", widget: "text", hint: "Shown in the \"Vendors & Subcontractors\" section on the Contact area - a separate lane from the general client enquiry form." }
          - { label: "Vendor/Subcontractor Email (optional)", name: "vendorEmail", widget: "string", required: false, hint: "Leave blank to use the main Email above - only set this if suppliers/subcontractors should reach a different inbox." }
          - { label: "Corporate/Head Office Address", name: "corporateOffice", widget: "text" }
          - { label: "Logo", name: "logo", widget: "image" }
          - { label: "LinkedIn URL", name: "linkedinUrl", widget: "string" }
          - { label: "\"Contact Us\" Button Link", name: "requestQuoteUrl", widget: "string" }
          - { label: "Footer Tagline", name: "footerTagline", widget: "string" }
          - { label: "Footer Blurb", name: "footerBlurb", widget: "text" }
          - { label: "Secondary Page Banner Image", name: "aboutBanImage", widget: "image", hint: "Shown at the top of every page except the homepage." }
          - label: "\"For Expert Help\" Block"
            name: "helpCall"
            widget: "object"
            fields:
              - { label: "Icon", name: "icon", widget: "select", options: ["fa-phone", "fa-phone-square", "fa-mobile", "fa-headphones", "fa-comments"] }
              - { label: "Heading", name: "heading", widget: "string" }
              - { label: "Body", name: "body", widget: "text" }
          - label: "\"Get Enquiry\" Block"
            name: "helpEnquiry"
            widget: "object"
            fields:
              - { label: "Icon", name: "icon", widget: "select", options: ["fa-envelope", "fa-envelope-o", "fa-paper-plane", "fa-at", "fa-comment"] }
              - { label: "Heading", name: "heading", widget: "string" }
              - { label: "Body", name: "body", widget: "text" }
          - label: "Footer Columns"
            name: "footerColumns"
            widget: "object"
            fields:
              - label: "Quick Links"
                name: "quickLinks"
                widget: "list"
                fields:
                  - { label: "Label", name: "label", widget: "string" }
                  - { label: "URL", name: "url", widget: "string" }
              - label: "Our Verticals"
                name: "verticals"
                widget: "list"
                fields:
                  - { label: "Label", name: "label", widget: "string" }
                  - { label: "URL", name: "url", widget: "string" }
                  - { label: "Opens in a new tab (external link)", name: "external", widget: "boolean", required: false, default: false }

      - name: "home-page"
        label: "Home Page"
        file: "src/_data/pages/home.json"
        fields:
          - label: "Page Sections"
            name: "blocks"
            widget: "list"
            hint: "This is the whole home page, built from sections (\"blocks\") in order. Add a new one with \"Add\", pick its type, fill in the fields, and drag to reorder - no code changes needed. The Profile Viewer and Contact sections always stay fixed at the bottom of the page and aren't part of this list."
            types:
              - label: "Hero Banner"
                name: "hero"
                fields:
                  - { label: "Background Image", name: "image", widget: "image" }
                  - { label: "Headline", name: "heading", widget: "string" }
                  - { label: "Sub-headline", name: "subheading", widget: "text", required: false }
                  - { label: "Text Alignment", name: "align", widget: "select", options: ["left", "center"], default: "left" }
                  - { label: "Button Text", name: "ctaText", widget: "string", required: false }
                  - { label: "Profile PDF", name: "profilePdf", widget: "file", required: false, media_folder: "src/files", public_folder: "/files", hint: "Upload the group profile PDF here. Powers both the hero button and the \"Profile Viewer\" section further down the page - update it here whenever the profile changes, and both update together." }
                  - { label: "Button Link (only used if no Profile PDF is uploaded above)", name: "ctaLink", widget: "string", required: false, hint: "Leave Button Text, Profile PDF and Button Link all blank to hide the button." }
                  - label: "Additional Photos (optional - shown below this section)"
                    name: "extraPhotos"
                    widget: "list"
                    required: false
                    fields:
                      - { label: "Image", name: "image", widget: "image" }
                      - { label: "Alt Text", name: "alt", widget: "string", required: false }
                  - label: "Additional Video (optional - shown below this section)"
                    name: "extraVideo"
                    widget: "file"
                    required: false
                    media_folder: "/src/video"
                    public_folder: "/video"
                    hint: "Keep well under 100MB (GitHub's hard file-size limit) - ideally under ~40-50MB for a short clip, since this site has no video compression and serves the file as-is."
                  - label: "Additional Link (optional - a button shown below this section)"
                    name: "extraLink"
                    widget: "object"
                    required: false
                    fields:
                      - { label: "Button Text", name: "text", widget: "string", required: false }
                      - { label: "URL", name: "url", widget: "string", required: false }
              - label: "Stats / Credibility Bar"
                name: "statsBar"
                fields:
                  - { label: "Statement", name: "statement", widget: "text", required: false, hint: "Optional short line, e.g. a positioning statement." }
                  - label: "Stats"
                    name: "stats"
                    widget: "list"
                    required: false
                    hint: "Optional. Only add real, confirmed figures here (e.g. years in business, number of completed projects) - never a placeholder or estimated number. Leave empty if you don't have a real figure yet."
                    fields:
                      - { label: "Label", name: "label", widget: "string" }
                      - { label: "Value", name: "value", widget: "string" }
                  - label: "Additional Photos (optional - shown below this section)"
                    name: "extraPhotos"
                    widget: "list"
                    required: false
                    fields:
                      - { label: "Image", name: "image", widget: "image" }
                      - { label: "Alt Text", name: "alt", widget: "string", required: false }
                  - label: "Additional Video (optional - shown below this section)"
                    name: "extraVideo"
                    widget: "file"
                    required: false
                    media_folder: "/src/video"
                    public_folder: "/video"
                    hint: "Keep well under 100MB (GitHub's hard file-size limit) - ideally under ~40-50MB for a short clip, since this site has no video compression and serves the file as-is."
                  - label: "Additional Link (optional - a button shown below this section)"
                    name: "extraLink"
                    widget: "object"
                    required: false
                    fields:
                      - { label: "Button Text", name: "text", widget: "string", required: false }
                      - { label: "URL", name: "url", widget: "string", required: false }
              - label: "Services / Verticals Grid"
                name: "servicesGrid"
                fields:
                  - { label: "Heading", name: "heading", widget: "string" }
                  - label: "Cards"
                    name: "cards"
                    widget: "list"
                    fields:
                      - { label: "Image", name: "image", widget: "image" }
                      - { label: "Title", name: "title", widget: "string" }
                      - { label: "Body", name: "body", widget: "text" }
                      - { label: "Link", name: "link", widget: "string" }
                      - { label: "Opens in a new tab (external link)", name: "external", widget: "boolean", required: false, default: false }
                  - label: "Additional Photos (optional - shown below this section)"
                    name: "extraPhotos"
                    widget: "list"
                    required: false
                    fields:
                      - { label: "Image", name: "image", widget: "image" }
                      - { label: "Alt Text", name: "alt", widget: "string", required: false }
                  - label: "Additional Video (optional - shown below this section)"
                    name: "extraVideo"
                    widget: "file"
                    required: false
                    media_folder: "/src/video"
                    public_folder: "/video"
                    hint: "Keep well under 100MB (GitHub's hard file-size limit) - ideally under ~40-50MB for a short clip, since this site has no video compression and serves the file as-is."
                  - label: "Additional Link (optional - a button shown below this section)"
                    name: "extraLink"
                    widget: "object"
                    required: false
                    fields:
                      - { label: "Button Text", name: "text", widget: "string", required: false }
                      - { label: "URL", name: "url", widget: "string", required: false }
              - label: "Project Portfolio Grid"
                name: "projectGrid"
                hint: "The actual photos/captions shown here come from \"Landmark Projects Gallery\" below, grouped by category - this block only controls the heading and intro line shown above them."
                fields:
                  - { label: "Heading", name: "heading", widget: "string" }
                  - { label: "Intro Text", name: "intro", widget: "text", required: false }
                  - label: "Additional Photos (optional - shown below this section)"
                    name: "extraPhotos"
                    widget: "list"
                    required: false
                    fields:
                      - { label: "Image", name: "image", widget: "image" }
                      - { label: "Alt Text", name: "alt", widget: "string", required: false }
                  - label: "Additional Video (optional - shown below this section)"
                    name: "extraVideo"
                    widget: "file"
                    required: false
                    media_folder: "/src/video"
                    public_folder: "/video"
                    hint: "Keep well under 100MB (GitHub's hard file-size limit) - ideally under ~40-50MB for a short clip, since this site has no video compression and serves the file as-is."
                  - label: "Additional Link (optional - a button shown below this section)"
                    name: "extraLink"
                    widget: "object"
                    required: false
                    fields:
                      - { label: "Button Text", name: "text", widget: "string", required: false }
                      - { label: "URL", name: "url", widget: "string", required: false }
              - label: "Latest News Grid"
                name: "newsGrid"
                hint: "Automatically shows your most recent News & Updates posts - add/edit those under the News & Updates collection, not here."
                fields:
                  - { label: "Heading", name: "heading", widget: "string" }
                  - { label: "Number of posts to show", name: "count", widget: "number", value_type: "int", default: 2 }
                  - label: "Additional Photos (optional - shown below this section)"
                    name: "extraPhotos"
                    widget: "list"
                    required: false
                    fields:
                      - { label: "Image", name: "image", widget: "image" }
                      - { label: "Alt Text", name: "alt", widget: "string", required: false }
                  - label: "Additional Video (optional - shown below this section)"
                    name: "extraVideo"
                    widget: "file"
                    required: false
                    media_folder: "/src/video"
                    public_folder: "/video"
                    hint: "Keep well under 100MB (GitHub's hard file-size limit) - ideally under ~40-50MB for a short clip, since this site has no video compression and serves the file as-is."
                  - label: "Additional Link (optional - a button shown below this section)"
                    name: "extraLink"
                    widget: "object"
                    required: false
                    fields:
                      - { label: "Button Text", name: "text", widget: "string", required: false }
                      - { label: "URL", name: "url", widget: "string", required: false }
              - label: "Call-to-Action Banner"
                name: "ctaBanner"
                hint: "A full-width accent-colored band with a short message and a button - use sparingly, this is the one section on the page meant to stand out in the brand color."
                fields:
                  - { label: "Heading", name: "heading", widget: "string" }
                  - { label: "Body", name: "body", widget: "text", required: false }
                  - { label: "Button Text", name: "buttonText", widget: "string" }
                  - { label: "Button Link", name: "buttonLink", widget: "string" }
                  - label: "Additional Photos (optional - shown below this section)"
                    name: "extraPhotos"
                    widget: "list"
                    required: false
                    fields:
                      - { label: "Image", name: "image", widget: "image" }
                      - { label: "Alt Text", name: "alt", widget: "string", required: false }
                  - label: "Additional Video (optional - shown below this section)"
                    name: "extraVideo"
                    widget: "file"
                    required: false
                    media_folder: "/src/video"
                    public_folder: "/video"
                    hint: "Keep well under 100MB (GitHub's hard file-size limit) - ideally under ~40-50MB for a short clip, since this site has no video compression and serves the file as-is."

      - name: "projects-page"
        label: "Projects Page"
        file: "src/_data/pages/projects.json"
        hint: "The full portfolio lives on its own Projects page (projects.html) for SEO. The Home page's gallery section shows only the first group below as a featured teaser, with a \"View All Projects\" link to the full page."
        fields:
          - { label: "Page Heading", name: "pageHeading", widget: "string" }
          - { label: "Intro Body", name: "introBody", widget: "markdown" }
          - label: "Project Groups"
            name: "groups"
            widget: "list"
            fields:
              - { label: "Group Title", name: "title", widget: "string" }
              - label: "Items"
                name: "items"
                widget: "list"
                fields:
                  - { label: "Caption", name: "caption", widget: "string" }
                  - { label: "Image", name: "image", widget: "image" }

      - name: "about-page"
        label: "About Page"
        file: "src/_data/pages/about.json"
        hint: "Keep this factual - only real, already-established facts about the group, not invented history/certifications/figures."
        fields:
          - { label: "Page Heading", name: "pageHeading", widget: "string" }
          - { label: "Intro", name: "intro", widget: "text" }
          - label: "What We Do"
            name: "whatWeDo"
            widget: "list"
            fields:
              - { label: "Division Title", name: "title", widget: "string" }
              - { label: "Body", name: "body", widget: "text" }
          - { label: "Where We Work", name: "whereWeWork", widget: "text" }

      - name: "career-page"
        label: "Career Page"
        file: "src/_data/pages/career.json"
        fields:
          - { label: "Page Heading", name: "pageHeading", widget: "string" }
          - { label: "Intro Heading", name: "introHeading", widget: "string" }
          - label: "Job Listings"
            name: "jobs"
            widget: "list"
            fields:
              - { label: "Title", name: "title", widget: "string" }
              - { label: "Body", name: "body", widget: "text" }
              - { label: "Apply Email Subject", name: "mailSubject", widget: "string" }
              - { label: "Photo", name: "image", widget: "image", required: false, hint: "Leave blank if no real, relevant photo is available yet - an unrelated stock photo is worse than none." }

      - name: "news-page"
        label: "News Page"
        file: "src/_data/pages/news.json"
        fields:
          - { label: "Page Heading", name: "pageHeading", widget: "string" }
          - { label: "Intro Heading", name: "introHeading", widget: "string" }


      - name: "stirrups-page"
        label: "Stirrups Page"
        file: "src/_data/pages/stirrups.json"
        hint: "The machine-made stirrups product page (stirrups.html). Where a photo or video is left blank, a labelled placeholder is shown on the live page until real media is added."
        fields:
          - label: "Hero"
            name: "hero"
            widget: "object"
            fields:
              - { label: "Kicker", name: "kicker", widget: "string" }
              - { label: "Heading", name: "heading", widget: "string" }
              - { label: "Highlighted Heading Text (shown in gold)", name: "headingHighlight", widget: "string" }
              - { label: "Copy", name: "copy", widget: "text" }
              - { label: "Background Image", name: "image", widget: "image" }
              - label: "Benefits"
                name: "benefits"
                widget: "list"
                fields:
                  - { label: "Icon", name: "icon", widget: "select", options: ["fa-bullseye", "fa-check-circle", "fa-calendar-check-o", "fa-headphones", "fa-truck", "fa-clock-o"] }
                  - { label: "Title", name: "title", widget: "string" }
                  - { label: "Body", name: "body", widget: "string" }
          - label: "Strip Items (short points under the hero)"
            name: "strip"
            widget: "list"
            field: { label: "Point", name: "point", widget: "string" }
          - label: "Quote Form"
            name: "quote"
            widget: "object"
            fields:
              - { label: "Heading", name: "heading", widget: "string" }
              - { label: "Body", name: "body", widget: "text" }
              - label: "Shape Options"
                name: "shapes"
                widget: "list"
                field: { label: "Shape", name: "shape", widget: "string" }
              - { label: "Submit Button Text", name: "submitLabel", widget: "string" }
              - { label: "Fine Print", name: "fine", widget: "string" }
          - label: "Why Machine-Made"
            name: "why"
            widget: "object"
            fields:
              - { label: "Heading", name: "heading", widget: "string" }
              - { label: "Lead", name: "lead", widget: "text" }
              - label: "Cards"
                name: "cards"
                widget: "list"
                fields:
                  - { label: "Title", name: "title", widget: "string" }
                  - { label: "Body", name: "body", widget: "text" }
              - label: "Comparison Table Rows"
                name: "rows"
                widget: "list"
                fields:
                  - { label: "Label", name: "label", widget: "string" }
                  - { label: "Hand-bending on site", name: "hand", widget: "string" }
                  - { label: "Unitech machine-made", name: "machine", widget: "string" }
              - { label: "Button Text", name: "ctaLabel", widget: "string" }
          - label: "Process Video"
            name: "video"
            widget: "object"
            fields:
              - { label: "Heading", name: "heading", widget: "string" }
              - { label: "Lead", name: "lead", widget: "text" }
              - { label: "Video File (MP4)", name: "file", widget: "file", required: false, hint: "Leave blank to show a placeholder." }
          - label: "Applications & Gallery"
            name: "applications"
            widget: "object"
            fields:
              - { label: "Heading", name: "heading", widget: "string" }
              - { label: "Lead", name: "lead", widget: "text" }
              - label: "Application Cards"
                name: "items"
                widget: "list"
                fields:
                  - { label: "Title", name: "title", widget: "string" }
                  - { label: "Body", name: "body", widget: "text" }
                  - { label: "Photo", name: "image", widget: "image", required: false }
              - label: "Gallery Photos"
                name: "gallery"
                widget: "list"
                fields:
                  - { label: "Caption", name: "caption", widget: "string" }
                  - { label: "Photo", name: "image", widget: "image", required: false }
          - label: "Sizes & Shapes"
            name: "shapes"
            widget: "object"
            fields:
              - { label: "Kicker", name: "kicker", widget: "string" }
              - { label: "Heading", name: "heading", widget: "string" }
              - { label: "Intro", name: "intro", widget: "text" }
              - label: "Cards"
                name: "cards"
                widget: "list"
                fields:
                  - { label: "Icon", name: "icon", widget: "select", options: ["multiple", "custom", "exact", "quality"] }
                  - { label: "Title", name: "title", widget: "string" }
                  - { label: "Body", name: "body", widget: "text" }
          - label: "FAQ"
            name: "faq"
            widget: "object"
            fields:
              - { label: "Kicker", name: "kicker", widget: "string" }
              - { label: "Heading", name: "heading", widget: "string" }
              - { label: "Intro", name: "intro", widget: "text" }
              - label: "Questions"
                name: "items"
                widget: "list"
                fields:
                  - { label: "Question", name: "q", widget: "string" }
                  - { label: "Answer", name: "a", widget: "text" }
          - label: "Closing Bar"
            name: "miniCta"
            widget: "object"
            fields:
              - { label: "Heading", name: "heading", widget: "string" }
              - { label: "Body", name: "body", widget: "string" }
              - { label: "Button Text", name: "buttonLabel", widget: "string" }
