{
  "$comment": "MGM Group — Homepage Strapi content-type blueprint. This is NOT a runtime file. It documents the exact Collection Types, Single Types, and fields to create in the Strapi admin so the Next.js data layer in src/lib/api/homepage.ts can consume them. API IDs (singular#plural) must match the keys used in the fetchers.",
  "strapiVersion": ">=4.x (also works on v5)",
  "contentTypes": {
    "singleTypes": [
      {
        "apiId": "homepage-config",
        "displayName": "Homepage Config",
        "kind": "single",
        "description": "Central config for all homepage section headers, descriptions, CTAs and watermarks.",
        "attributes": {
          "heroCtaLabel": { "type": "string", "default": "Explore Our Businesses" },
          "heroCtaHref": { "type": "string", "default": "/about" },

          "leadership": {
            "$ref": "component:section-header",
            "fields": {
              "badge": { "type": "string", "default": "Our leadership" },
              "description": { "type": "text" }
            }
          },
          "leadershipWatermark": {
            "type": "text",
            "description": "one watermark line per row, e.g. Leaders at on one line, MGM on the next"
          },

          "vision": {
            "$ref": "component:section-header",
            "extraFields": {
              "description": { "type": "text" },
              "image": { "type": "media", "allowedTypes": ["images"] }
            }
          },

          "legacy": {
            "fields": {
              "badge": { "type": "string" },
              "description": { "type": "text" },
              "backgroundImage": { "type": "media", "allowedTypes": ["images"] },
              "image": { "type": "media", "allowedTypes": ["images"] },
              "ctaLabel": { "type": "string" },
              "ctaHref": { "type": "string" }
            }
          },

          "businessPortfolio": { "$ref": "component:section-header" },
          "partners": { "$ref": "component:section-header" },

          "glance": { "$ref": "component:section-header" },

          "testimonials": {
            "$ref": "component:section-header",
            "extraFields": {
              "mobileDescription": { "type": "text" }
            }
          },

          "sustainability": { "$ref": "component:section-header" },

          "awards": {
            "$ref": "component:section-header",
            "extraFields": {
              "watermarkLines": { "type": "text", "description": "one watermark line per row, e.g. awards & on one line, recognisations on the next" }
            }
          },

          "eventEnquiry": {
            "fields": {
              "heading": { "type": "string" },
              "ctaLabel": { "type": "string" },
              "ctaHref": { "type": "string" }
            }
          },

          "pressRelease": { "$ref": "component:section-header" },

          "philanthropic": {
            "$ref": "component:section-header",
            "extraFields": {
              "watermarkText": { "type": "string" }
            }
          },

          "gallery": { "$ref": "component:section-header" },
          "newsletters": { "$ref": "component:section-header" },

          "partnerCta": {
            "fields": {
              "heading": { "type": "string" },
              "headingLine2": { "type": "string" },
              "ctaLabel": { "type": "string" },
              "ctaHref": { "type": "string" }
            }
          }
        }
      }
    ],

    "collectionTypes": [
      {
        "apiId": "hero-slides",
        "displayName": "Hero Slide",
        "kind": "collection",
        "attributes": {
          "heading": { "type": "string", "required": true },
          "description": { "type": "text" },
          "highlight": { "type": "string", "description": "gradient-highlighted word at end of description" },
          "backgroundImage": { "type": "media", "allowedTypes": ["images"], "required": true },
          "mobileBackgroundImage": { "type": "media", "allowedTypes": ["images"] },
          "thumbnail": { "type": "media", "allowedTypes": ["images"] },
          "thumbnailAlt": { "type": "string" }
        }
      },
      {
        "apiId": "leaders",
        "displayName": "Leader",
        "kind": "collection",
        "attributes": {
          "name": { "type": "string", "required": true },
          "title": { "type": "string" },
          "image": { "type": "media", "allowedTypes": ["images"], "required": true }
        }
      },
      {
        "apiId": "vision-stats",
        "displayName": "Vision Stat",
        "kind": "collection",
        "attributes": {
          "icon": { "type": "media", "allowedTypes": ["images", "files"] },
          "value": { "type": "string", "required": true },
          "label": { "type": "string", "required": true }
        }
      },
      {
        "apiId": "businesses",
        "displayName": "Business / Past Venture",
        "kind": "collection",
        "attributes": {
          "name": { "type": "string", "required": true },
          "description": { "type": "text" },
          "image": { "type": "media", "allowedTypes": ["images"], "required": true },
          "logo": { "type": "media", "allowedTypes": ["images"] },
          "logoBg": { "type": "string", "default": "#ffffff" }
        }
      },
      {
        "apiId": "partners",
        "displayName": "Partner",
        "kind": "collection",
        "attributes": {
          "name": { "type": "string", "required": true },
          "logo": { "type": "media", "allowedTypes": ["images"], "required": true }
        }
      },
      {
        "apiId": "glance-stats",
        "displayName": "Glance Stat",
        "kind": "collection",
        "attributes": {
          "icon": { "type": "media", "allowedTypes": ["images"] },
          "value": { "type": "string", "required": true },
          "label": { "type": "string", "required": true }
        }
      },
      {
        "apiId": "testimonials",
        "displayName": "Testimonial",
        "kind": "collection",
        "attributes": {
          "quote": { "type": "text", "required": true },
          "name": { "type": "string", "required": true },
          "role": { "type": "string" },
          "avatar": { "type": "media", "allowedTypes": ["images"] },
          "rating": { "type": "integer", "default": 5, "min": 0, "max": 5 }
        }
      },
      {
        "apiId": "initiatives",
        "displayName": "Sustainability Initiative",
        "kind": "collection",
        "attributes": {
          "number": { "type": "string", "description": "e.g. 01, 02, 03" },
          "title": { "type": "string", "required": true },
          "description": { "type": "text" },
          "image": { "type": "media", "allowedTypes": ["images"], "required": true }
        }
      },
      {
        "apiId": "awards",
        "displayName": "Award",
        "kind": "collection",
        "attributes": {
          "year": { "type": "string" },
          "title": { "type": "string", "required": true },
          "image": { "type": "media", "allowedTypes": ["images"], "required": true }
        }
      },
      {
        "apiId": "press-releases",
        "displayName": "Press Release",
        "kind": "collection",
        "attributes": {
          "date": { "type": "string", "description": "display string e.g. 'April 2023'" },
          "title": { "type": "string", "required": true },
          "description": { "type": "text" },
          "image": { "type": "media", "allowedTypes": ["images"], "required": true }
        }
      },
      {
        "apiId": "philanthropic-activities",
        "displayName": "Philanthropic Activity",
        "kind": "collection",
        "attributes": {
          "title": { "type": "string", "required": true },
          "highlight": { "type": "text", "description": "short tagline shown in highlighted box" },
          "description": { "type": "richtext" },
          "image": { "type": "media", "allowedTypes": ["images"], "required": true }
        }
      },
      {
        "apiId": "gallery-images",
        "displayName": "Gallery Image",
        "kind": "collection",
        "attributes": {
          "image": { "type": "media", "allowedTypes": ["images"], "required": true },
          "alt": { "type": "string" }
        }
      },
      {
        "apiId": "newsletter-items",
        "displayName": "Newsletter Item",
        "kind": "collection",
        "attributes": {
          "title": { "type": "string", "required": true },
          "date": { "type": "string" },
          "image": { "type": "media", "allowedTypes": ["images"], "description": "PDF thumbnail" },
          "pdfFile": { "type": "media", "allowedTypes": ["files"], "description": "the PDF" }
        }
      }
    ]
  },

  "sharedComponents": {
    "section-header": {
      "$comment": "Reusable component (Strapi Component) referenced by $ref above. Create this once in Components builder.",
      "fields": {
        "badge": { "type": "string" },
        "description": { "type": "text" }
      }
    }
  },

  "setupSteps": [
    "0. This Strapi project already lives in ./cms — run it with `cd cms && npm run develop`.",
    "1. Create a new Strapi project (already done here): `npx create-strapi@latest cms`",
    "2. In Content-Type Builder, create the reusable Component 'section-header' (badge, description).",
    "3. Create each Collection Type and Single Type exactly as listed above (apiId must match).",
    "4. Add media fields and mark required fields.",
    "5. Settings → Users & Permissions → Roles → Public → tick 'find' for every collection/single type (or generate an API token and set STRAPI_TOKEN in .env.local).",
    "6. Add content entries for each collection.",
    "7. Set NEXT_PUBLIC_STRAPI_URL (and STRAPI_TOKEN) in the Next.js .env.local and rebuild."
  ]
}
