Files
Vula Builder 0427316119 Deploy
2026-07-26 17:41:15 +00:00

547 lines
19 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"projectName": "Mpofana Lodge",
"businessType": "hotel",
"industry": "hotel",
"tone": "",
"tier": 2,
"serviceType": "hotel",
"generatedAt": "2026-07-26T17:29:49.390Z",
"sections": [
{
"name": "HeroSection",
"importPath": "@/components/sections/HeroSection",
"position": 0,
"role": "hero",
"hasImage": false,
"hasForm": false,
"itemCount": 1,
"layout": "flex-row",
"headings": [],
"buttonLabels": [],
"people": [],
"allText": [
"next/link",
"hero",
"relative min-h-[72vh] flex flex-col items-center justify-center px-6 py-24 text-center",
"#0f1712",
"#e7eeea",
"pointer-events-none absolute inset-4 z-20 border",
"#16a34a59",
"uppercase tracking-[0.32em] text-[11.5px] text-[#16a34a] mb-4",
"Mpofana Lodge",
"text-6xl lg:text-7xl font-light tracking-[0.01em] mb-7 max-w-4xl",
"Luxury bush accommodation in the heart of KwaZulu Natal offering an",
"italic",
"#16a34a",
"authentic African.",
"text-lg lg:text-xl max-w-xl mb-10",
"#94a89c",
"Professional boutique lodge in South Africa.",
"inline-block border border-[#16a34a] text-[#16a34a] px-9 py-4 text-[12.5px] uppercase tracking-[0.24em] hover:bg-[#16a34a] hover:text-black transition-all duration-300",
"Book a room"
]
},
{
"name": "BushStorySection",
"importPath": "@/components/sections/BushStorySection",
"position": 1,
"role": "about",
"hasImage": true,
"hasForm": false,
"itemCount": 5,
"layout": "grid",
"headings": [],
"buttonLabels": [],
"people": [],
"allText": [
"next/image",
"@/components/ui/Badge",
"bushstory",
"bush-story",
"py-24 bg-[#0f1712]",
"max-w-7xl mx-auto px-4",
"flex items-center gap-4 justify-center mb-4",
"h-px w-14 bg-[#d4af37]",
"text-[#d4af37] font-sans tracking-[0.2em] uppercase text-xs",
"Our Heritage",
"font-serif text-4xl md:text-5xl text-[#e7eeea] text-center font-light mb-16",
"Born from a love of the",
"italic text-[#d4af37]",
"wild",
"grid grid-cols-1 lg:grid-cols-2 gap-12 items-center",
"relative h-72 lg:h-96 overflow-hidden rounded-lg border border-white/10",
"KwaZulu-Natal landscape",
"(max-width: 1024px) 100vw, 50vw",
"object-cover",
"space-y-6",
"text-[#b0c4b4] leading-relaxed",
"Mpofana Lodge was built on a private reserve in the heart of KwaZulu-Natal's bushveld, a region where the rolling hills meet acacia-dotted plains. Our founder, a wildlife guide with two decades of deep-bush experience, envisioned a place where luxury and authenticity coexist.",
"Every suite was positioned by hand to catch the morning sun and frame the waterhole view. The lodge operates on off-grid solar power and sources fresh produce from local farms — a quiet commitment to the land that sustains us.",
"outline",
"border-[#d4af37] text-[#d4af37] text-xs",
"Est. 2017 · 6 suites · 1 500 ha reserve"
]
},
{
"name": "LuxuryAccommodationsSection",
"importPath": "@/components/sections/LuxuryAccommodationsSection",
"position": 2,
"role": "unknown",
"hasImage": true,
"hasForm": false,
"itemCount": 15,
"layout": "grid",
"headings": [],
"buttonLabels": [
"View Room"
],
"people": [],
"allText": [
"use client",
"next/image",
"next/link",
"@/hooks/useMedusaProducts",
"@/components/ui/Card",
"@/components/ui/Button",
"@/components/ui/Badge",
"luxuryaccommodations",
"luxury-accommodations",
"py-24 bg-[#15221a]",
"max-w-7xl mx-auto px-4",
"flex items-center gap-4 justify-center mb-4",
"h-px w-14 bg-[#d4af37]",
"text-[#d4af37] font-sans tracking-[0.2em] uppercase text-xs",
"The Suites",
"font-serif text-4xl md:text-5xl text-[#e7eeea] text-center font-light mb-12",
"Where each room tells a",
"italic text-[#d4af37]",
"wilderness",
"story",
"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",
"animate-pulse",
"h-48 bg-white/5 rounded-t-lg",
"h-4 bg-white/10 rounded w-3/4 mb-2",
"h-3 bg-white/5 rounded w-1/2",
"text-red-400 text-center",
"Unable to load rooms. Please try again later.",
"border border-white/10 rounded-lg overflow-hidden group",
"relative h-48 overflow-hidden",
"(max-width: 768px) 100vw, 33vw",
"object-cover group-hover:scale-105 transition-transform duration-500 ease-out",
"font-serif text-xl text-[#e7eeea]",
"text-sm text-[#b0c4b4] line-clamp-2",
"accent",
"mt-3",
"/ night",
"outline",
"sm",
"w-full text-[#d4af37] border-[#d4af37] hover:bg-[#d4af37] hover:text-[#0f1712]",
"View Room"
]
},
{
"name": "SafariExperiencesSection",
"importPath": "@/components/sections/SafariExperiencesSection",
"position": 3,
"role": "unknown",
"hasImage": true,
"hasForm": false,
"itemCount": 3,
"layout": "grid",
"headings": [],
"buttonLabels": [],
"people": [
"Game Drives",
"Bush Walks",
"Cultural Encounters"
],
"allText": [
"next/image",
"@/components/ui/Card",
"@/components/ui/Badge",
"Game Drives",
"Twicedaily guided safaris in open vehicles. Track lion, leopard and elephant with rangers who grew up on these trails.",
"Daily",
"Bush Walks",
"Walk the ancient paths with a Zulu tracker. Learn the medicinal flora and read the prints left in the red sand.",
"By request",
"Cultural Encounters",
"Visit a nearby Zulu homestead to hear oral histories, taste amasi and witness beadwork that tells a story.",
"Halfday",
"safariexperiences",
"safari-experiences",
"py-24 bg-[#15221a]",
"max-w-7xl mx-auto px-4",
"flex items-center gap-4 justify-center mb-4",
"h-px w-14 bg-[#d4af37]",
"text-[#d4af37] font-sans tracking-[0.2em] uppercase text-xs",
"Experiences",
"font-serif text-4xl md:text-5xl text-[#e7eeea] text-center font-light mb-16",
"The",
"italic text-[#d4af37]",
"bush",
"is your playground",
"grid grid-cols-1 md:grid-cols-3 gap-6",
"border border-white/10 rounded-lg overflow-hidden group",
"relative h-56 overflow-hidden",
"(max-width: 768px) 100vw, 33vw",
"object-cover group-hover:scale-105 transition-transform duration-500 ease-out",
"absolute top-3 left-3",
"accent",
"text-xs",
"font-serif text-xl text-[#e7eeea]",
"text-sm text-[#b0c4b4]"
]
},
{
"name": "CurrentOffersSection",
"importPath": "@/components/sections/CurrentOffersSection",
"position": 4,
"role": "cms-promotions",
"hasImage": true,
"hasForm": false,
"itemCount": -1,
"layout": "grid",
"headings": [
"{d.title}"
],
"buttonLabels": [
"Book Now"
],
"people": [],
"allText": [
"use client",
"@/hooks/useEmDashContent",
"next/image",
"@/components/ui/Button",
"@/components/ui/Card",
"promotions",
"flex justify-center py-16",
"w-8 h-8 rounded-full border-2 border-current border-t-transparent animate-spin",
"current-offers",
"currentoffers",
"py-24 bg-[#0f1712]",
"max-w-7xl mx-auto px-4",
"flex items-center justify-center gap-6 mb-16",
"block w-14 h-px bg-[#d4af37]",
"text-[#d4af37] uppercase tracking-[0.2em] text-sm font-medium",
"Seasonal Invitations",
"text-4xl md:text-5xl font-light text-center mb-12 text-[#e7eeea]",
"Exclusive",
"italic text-[#d4af37]",
"Offers",
"Await",
"grid grid-cols-1 md:grid-cols-3 gap-8",
"bg-[#15271c] border border-[#304036] overflow-hidden",
"relative h-56 overflow-hidden",
"(max-width: 768px) 100vw, 33vw",
"object-cover hover:scale-105 transition-transform duration-500 ease-out",
"p-6",
"text-xl font-semibold text-[#e7eeea] mb-2",
"text-[#a0b4a7] text-sm leading-relaxed",
"px-6 pb-6 pt-0 flex items-center justify-between",
"text-[#d4af37] text-lg font-bold",
"number",
"secondary",
"sm",
"bg-[#16a34a] text-white hover:bg-[#12913f] border-0",
"Book Now"
],
"cmsCollection": "promotions"
},
{
"name": "GuestTestimonialsSection",
"importPath": "@/components/sections/GuestTestimonialsSection",
"position": 5,
"role": "testimonials",
"hasImage": false,
"hasForm": false,
"itemCount": 3,
"layout": "grid",
"headings": [],
"buttonLabels": [],
"people": [],
"allText": [
"use client",
"Sarah & James McIntyre",
"From Cape Town",
"The most magical bush break. Every detail was flawless, from sundowners to the roaring campfire.",
"Oliver Schmidt",
"Travel journalist",
"Mpofana Lodge captures the soul of Zululand. A place where time slows and wildlife thrives.",
"Amina & David Osei",
"Anniversary stay",
"Pure luxury woven into nature. The suite, the game drives, the hospitality — unforgettable.",
"guesttestimonials",
"guest-testimonials",
"py-24 bg-[#15271c]",
"max-w-7xl mx-auto px-4",
"flex items-center justify-center gap-6 mb-16",
"block w-14 h-px bg-[#d4af37]",
"text-[#d4af37] uppercase tracking-[0.2em] text-sm font-medium",
"Word of Mouth",
"text-4xl md:text-5xl font-light text-center mb-16 text-[#e7eeea]",
"What",
"italic text-[#d4af37]",
"Guests Say",
"grid grid-cols-1 md:grid-cols-3 gap-8",
"p-6 border border-[#304036] rounded-md bg-[#0f1712]",
"text-[#e7eeea] leading-relaxed mb-6 italic",
"“",
"”",
"font-semibold text-[#d4af37]",
"text-sm text-[#6b8c78]"
]
},
{
"name": "GuestGallerySection",
"importPath": "@/components/sections/GuestGallerySection",
"position": 6,
"role": "gallery",
"hasImage": true,
"hasForm": false,
"itemCount": -1,
"layout": "grid",
"headings": [],
"buttonLabels": [],
"people": [],
"allText": [
"use client",
"@/hooks/useEmDashContent",
"next/image",
"gallery",
"flex justify-center py-16",
"w-8 h-8 rounded-full border-2 border-current border-t-transparent animate-spin",
"guest-gallery",
"guestgallery",
"py-24 bg-[#15271c]",
"max-w-7xl mx-auto px-4",
"flex items-center justify-center gap-6 mb-16",
"block w-14 h-px bg-[#d4af37]",
"text-[#d4af37] uppercase tracking-[0.2em] text-sm font-medium",
"Moments Captured",
"text-4xl md:text-5xl font-light text-center mb-12 text-[#e7eeea]",
"The",
"italic text-[#d4af37]",
"Gallery",
"of Bush Life",
"grid grid-cols-2 md:grid-cols-3 gap-4",
"relative aspect-video overflow-hidden rounded-md border border-[#304036] group",
"(max-width: 768px) 50vw, 33vw",
"object-cover transition-transform duration-500 ease-out group-hover:scale-105",
"absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end p-4",
"text-sm text-white font-medium"
],
"cmsCollection": "gallery"
},
{
"name": "LodgeJournalSection",
"importPath": "@/components/sections/LodgeJournalSection",
"position": 7,
"role": "blog",
"hasImage": true,
"hasForm": false,
"itemCount": -1,
"layout": "flex-row",
"headings": [
"{d.title}"
],
"buttonLabels": [],
"people": [],
"allText": [
"use client",
"@/hooks/useEmDashContent",
"next/image",
"lucide-react",
"posts",
"flex justify-center py-16",
"w-8 h-8 rounded-full border-2 border-current border-t-transparent animate-spin",
"lodge-journal",
"lodgejournal",
"py-24 bg-[#0f1712]",
"max-w-7xl mx-auto px-4",
"flex items-center justify-center gap-6 mb-16",
"block w-14 h-px bg-[#d4af37]",
"text-[#d4af37] uppercase tracking-[0.2em] text-sm font-medium",
"Lodge Journal",
"text-4xl md:text-5xl font-light text-center mb-12 text-[#e7eeea]",
"Stories from",
"italic text-[#d4af37]",
"the Bush",
"space-y-10",
"md:flex-row-reverse",
"w-full md:w-1/2 relative h-64 overflow-hidden rounded-md border border-[#304036]",
"(max-width: 768px) 100vw, 50vw",
"object-cover hover:scale-105 transition-transform duration-500 ease-out",
"w-full md:w-1/2",
"text-xs uppercase tracking-widest text-[#d4af37] font-medium",
"Journal",
"text-2xl font-semibold mt-2 mb-3 text-[#e7eeea]",
"text-[#a0b4a7] leading-relaxed mb-4",
"flex items-center gap-4 text-sm text-[#6b8c78]",
"flex items-center gap-1",
"w-4 h-4",
"Mpofana Team",
"Recently"
],
"cmsCollection": "posts"
},
{
"name": "BookingCTASection",
"importPath": "@/components/sections/BookingCTASection",
"position": 8,
"role": "booking",
"hasImage": false,
"hasForm": false,
"itemCount": 2,
"layout": "flex-row",
"headings": [],
"buttonLabels": [
"Reserve Your Room"
],
"people": [],
"allText": [
"next/link",
"@/components/ui/Button",
"booking-cta",
"py-28 bg-[#0f1712] border-t border-[#304036]",
"container mx-auto px-4 max-w-4xl text-center",
"flex items-center justify-center gap-4 mb-6",
"block w-14 h-px bg-[#d4af37]",
"text-[#d4af37] text-xs font-sans uppercase tracking-[0.2em]",
"Reserve Your Sanctuary",
"font-serif font-light text-4xl md:text-5xl text-[#e7eeea] leading-tight mb-6",
"italic text-[#d4af37]",
"Best",
"available rate,",
"no hidden fees",
"text-[#b0bfb8] text-lg max-w-xl mx-auto mb-10",
"Effortless reservation with a direct booking promise — the price you\n see is the price you pay.",
"default",
"lg",
"bg-[#d4af37] hover:bg-[#c9a230] text-[#0f1712] px-10 py-3 text-lg font-sans uppercase tracking-widest",
"Reserve Your Room"
]
},
{
"name": "ContactSection",
"importPath": "@/components/sections/ContactSection",
"position": 9,
"role": "contact",
"hasImage": true,
"hasForm": false,
"itemCount": -1,
"layout": "grid",
"headings": [
"Opening Hours",
"Mpofana Lodge location"
],
"buttonLabels": [
"WhatsApp Us"
],
"people": [],
"allText": [
"use client",
"@/hooks/useEmDashContent",
"lucide-react",
"@/components/ui/Badge",
"business_hours",
"flex justify-center py-16",
"w-8 h-8 rounded-full border-2 border-[#d4af37] border-t-transparent animate-spin",
"R618, Mkuze, KwaZulu-Natal, 3965",
"+27 82 123 4567",
"reservations@mpofanalodge.co.za",
"contact",
"py-28 bg-[#0a120e] text-[#e7eeea] border-t border-[#304036]",
"container mx-auto px-4 max-w-6xl",
"flex items-center justify-center gap-4 mb-6",
"block w-14 h-px bg-[#d4af37]",
"text-[#d4af37] text-xs font-sans uppercase tracking-[0.2em]",
"Get in Touch",
"font-serif font-light text-4xl md:text-5xl text-center leading-tight mb-16",
"We're here to",
"italic text-[#d4af37]",
"help",
"grid grid-cols-1 lg:grid-cols-2 gap-12",
"rounded-lg overflow-hidden border border-[#304036] h-80",
"100%",
"lazy",
"no-referrer-when-downgrade",
"Mpofana Lodge location",
"space-y-8",
"space-y-4",
"flex items-start gap-3",
"w-5 h-5 text-[#d4af37] mt-0.5 shrink-0",
"text-[#b0bfb8]",
"flex items-center gap-3",
"w-5 h-5 text-[#d4af37] shrink-0",
"_blank",
"noopener noreferrer",
"text-[#b0bfb8] hover:text-[#d4af37] transition-colors duration-200 underline underline-offset-2",
"WhatsApp Us",
"border-t border-[#304036] pt-6",
"font-sans text-xs uppercase tracking-[0.15em] text-[#d4af37] mb-4",
"Opening Hours",
"space-y-2",
"flex justify-between text-sm text-[#b0bfb8]",
"font-medium",
"Closed",
"text-[#6a7a72] ml-2",
"text-[#6a7a72] text-xs mt-3",
"* Public holidays may affect hours.",
"bg-[#1a2720] rounded-lg p-5 border border-[#304036]",
"text-[#b0bfb8] text-sm"
],
"cmsCollection": "business_hours"
},
{
"name": "LodgePoliciesSection",
"importPath": "@/components/sections/LodgePoliciesSection",
"position": 10,
"role": "unknown",
"hasImage": false,
"hasForm": false,
"itemCount": -1,
"layout": "grid",
"headings": [],
"buttonLabels": [],
"people": [],
"allText": [
"use client",
"@/hooks/useEmDashContent",
"@/components/ui/Card",
"policies",
"flex justify-center py-16",
"w-8 h-8 rounded-full border-2 border-[#d4af37] border-t-transparent animate-spin",
"lodge-policies",
"lodgepolicies",
"py-28 bg-[#0f1712] border-t border-[#304036]",
"container mx-auto px-4 max-w-6xl",
"flex items-center justify-center gap-4 mb-6",
"block w-14 h-px bg-[#d4af37]",
"text-[#d4af37] text-xs font-sans uppercase tracking-[0.2em]",
"Lodge Policies",
"font-serif font-light text-4xl md:text-5xl text-center text-[#e7eeea] leading-tight mb-16",
"Designed for your",
"italic text-[#d4af37]",
"ease",
"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",
"bg-[#1a2720] border border-[#304036] rounded-lg",
"text-lg font-sans uppercase tracking-widest text-[#d4af37]",
"text-[#b0bfb8] text-sm leading-relaxed",
"text-center text-[#6a7a72] text-sm mt-12",
"Policy details coming soon. For immediate questions, please contact\n us directly."
],
"cmsCollection": "policies"
}
],
"navigationLinks": [
"Mpofana Lodge",
"Home",
"Luxury Accommodations",
"Bush Story",
"Guest Gallery",
"Contact",
"Book a Room"
]
}