From a44d037c2cb730088cb2412b2a50d481b9db8337 Mon Sep 17 00:00:00 2001 From: Vula Builder Date: Sun, 26 Jul 2026 17:04:54 +0000 Subject: [PATCH] Deploy --- vula-index.json | 440 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 440 insertions(+) create mode 100644 vula-index.json diff --git a/vula-index.json b/vula-index.json new file mode 100644 index 0000000..8dc28cd --- /dev/null +++ b/vula-index.json @@ -0,0 +1,440 @@ +{ + "projectName": "Zulwini Lodge", + "businessType": "hotel", + "industry": "hotel", + "tone": "", + "tier": 2, + "serviceType": "hotel", + "generatedAt": "2026-07-26T17:03:35.456Z", + "sections": [ + { + "name": "HeroSection", + "importPath": "@/components/sections/HeroSection", + "position": 0, + "role": "hero", + "hasImage": true, + "hasForm": false, + "itemCount": 4, + "layout": "flex-row", + "headings": [], + "buttonLabels": [], + "people": [ + "Zulwini Lodge" + ], + "allText": [ + "next/image", + "next/link", + "hero", + "relative min-h-[88vh] text-white", + "Zulwini Lodge", + "absolute inset-0 object-cover", + "100vw", + "absolute inset-0", + "linear-gradient(135deg, #ea580c, #2563eb)", + "absolute inset-0 bg-gradient-to-t from-black/60 via-black/30 to-black/10", + "absolute top-6 right-6 z-20 w-24 h-24 rounded-full flex items-center justify-center text-center text-[13px] font-bold leading-tight text-white -rotate-12", + "#ea580c", + "Fresh daily", + "relative z-10 flex flex-col items-center justify-center min-h-[88vh] text-center px-6", + "uppercase tracking-[0.1em] text-[12.5px] font-semibold text-white/70 mb-4", + "text-5xl lg:text-6xl font-extrabold tracking-[-0.02em] mb-6 max-w-4xl", + "A boutique lodge offering intimate luxury bush accommodation in KwaZulu", + "text-[#ea580c]", + "Natal, combining.", + "text-lg lg:text-xl text-white/80 max-w-2xl mb-9", + "Professional boutique lodge in South Africa.", + "inline-block bg-[#ea580c] text-white px-8 py-4 text-base font-bold rounded-xl shadow-lg hover:-translate-y-0.5 transition-all duration-200", + "Book a room" + ] + }, + { + "name": "OurStorySection", + "importPath": "@/components/sections/OurStorySection", + "position": 1, + "role": "about", + "hasImage": true, + "hasForm": false, + "itemCount": 9, + "layout": "grid", + "headings": [ + "Born from a love of Zululand" + ], + "buttonLabels": [ + "Read the full story" + ], + "people": [], + "allText": [ + "next/image", + "next/link", + "@/components/ui/Button", + "ourstory", + "our-story", + "py-20 bg-white", + "container mx-auto px-4", + "grid grid-cols-1 lg:grid-cols-2 gap-12 items-center", + "relative", + "relative overflow-hidden rounded-2xl shadow-[0_20px_50px_-12px_rgba(0,0,0,0.25)]", + "Zulwini Lodge — traditional Zulu welcome ceremony at sunset", + "object-cover w-full h-full", + "absolute -top-4 -right-4 w-28 h-28 bg-[#ea580c] rounded-full flex items-center justify-center rotate-12 shadow-lg", + "text-white font-bold text-sm text-center leading-tight", + "Family-run", + "since 2012", + "absolute -bottom-8 -left-8 w-64 h-48 rounded-2xl overflow-hidden shadow-xl rotate-[-3deg] hidden lg:block border-4 border-white", + "Lodge infinity pool blending into the bushveld horizon", + "256px", + "object-cover", + "text-sm uppercase tracking-[0.2em] text-[#ea580c] font-semibold mb-2", + "Our Story", + "text-3xl md:text-4xl font-bold text-[#21140d] mb-6", + "Bricolage Grotesque, sans-serif", + "Born from a love of Zululand", + "space-y-4 text-[#21140d]/80", + "Lora, serif", + "italic", + "Zulwini Lodge began in 2012 when the Mthembu family transformed their 500-hectare family farm into an exclusive bush retreat, determined to share the raw beauty of northern KwaZulu-Natal with the world. Every suite is named after a Zulu clan — Indlovu, Nkosi, Mvula — and furnished with hand-carved headboards and woven", + "ilala palm lampshades sourced from the nearby Hluhluwe community.", + "We work with three local women's cooperatives who supply the beadwork and pottery that adorn each room. Solar power heats all water, and 60% of our produce comes from our own permaculture garden — the rest from neighbouring farms within a 20 km radius. The result is a lodge that treads lightly and welcomes warmly, in the true spirit of ubuntu.", + "mt-8", + "outline", + "border-[#ea580c] text-[#ea580c] hover:bg-[#ea580c] hover:text-white transition-all duration-200 ease-out", + "Read the full story" + ] + }, + { + "name": "RoomsSection", + "importPath": "@/components/sections/RoomsSection", + "position": 2, + "role": "unknown", + "hasImage": true, + "hasForm": false, + "itemCount": 12, + "layout": "grid", + "headings": [ + "Suites designed for the bush" + ], + "buttonLabels": [ + "View & Book", + "See all suites →" + ], + "people": [], + "allText": [ + "use client", + "@/hooks/useMedusaProducts", + "next/image", + "next/link", + "@/components/ui/Card", + "@/components/ui/Button", + "@/components/ui/Badge", + "rooms", + "py-20 bg-[#f9f5f4]", + "container mx-auto px-4", + "text-center mb-12", + "text-sm uppercase tracking-[0.2em] text-[#ea580c] font-semibold mb-2", + "Six exclusive suites", + "text-3xl md:text-4xl font-bold text-[#21140d]", + "Bricolage Grotesque, sans-serif", + "Suites designed for the bush", + "mt-3 text-[#21140d]/70 max-w-2xl mx-auto", + "Lora, serif", + "italic", + "Each suite tells a story — Zulu beadwork, private decks, freestanding baths overlooking the acacia plain.", + "text-center py-12", + "inline-block w-8 h-8 border-2 border-[#ea580c] border-t-transparent rounded-full animate-spin", + "mt-4 text-[#21140d]/60", + "Loading suites...", + "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8", + "bg-white border border-[#e2d9d4] overflow-hidden hover:shadow-xl transition-shadow duration-300", + "relative h-56 overflow-hidden", + "Zulwini Lodge suite", + "(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw", + "object-cover hover:scale-105 transition-transform duration-500 ease-out", + "pb-2 pt-4 px-5", + "flex items-center justify-between", + "text-xl font-bold text-[#21140d]", + "Bush Suite", + "default", + "bg-[#ea580c] text-white text-sm px-3 py-1", + "/ night", + "px-5 pb-5", + "text-[#21140d]/70 text-sm line-clamp-2 mb-4", + "Enjoy panoramic views, en-suite bathroom with outdoor shower, and a private deck.", + "outline", + "sm", + "w-full border-[#ea580c] text-[#ea580c] hover:bg-[#ea580c] hover:text-white transition-all duration-200 ease-out", + "View & Book", + "col-span-full text-center text-[#21140d]/60", + "No suites available at the moment. Please check back soon.", + "text-center mt-10", + "bg-[#ea580c] hover:bg-[#d04d0a] text-white px-8 py-3", + "See all suites →" + ] + }, + { + "name": "SafariExperiencesSection", + "importPath": "@/components/sections/SafariExperiencesSection", + "position": 3, + "role": "unknown", + "hasImage": true, + "hasForm": false, + "itemCount": 4, + "layout": "grid", + "headings": [ + "{exp.title}" + ], + "buttonLabels": [], + "people": [], + "allText": [ + "next/image", + "lucide-react", + "Guided Game Drives", + "Open-vehicle drives through Hluhluwe-iMfolozi Park with expert trackers—early mornings and golden sundowners included.", + "Walking Safaris", + "Follow the spoor of the Big Five on foot with armed rangers who read the bush like a storybook.", + "Sundowner Boma Dinners", + "Evenings under a KZN sky: fire-roasted meats, local wine, and the crackle of a mopane fire.", + "Zulu Cultural Immersion", + "Visit a neighbouring village for beading, dancing, and stories passed down through generations.", + "safariexperiences", + "safari-experiences", + "relative py-20 bg-[#f9f5f4] overflow-hidden", + "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", + "grid lg:grid-cols-2 gap-12 items-center", + "relative", + "relative overflow-hidden rounded-2xl shadow-2xl -rotate-2 z-10", + "Safari vehicle at sunset in KwaZulu Natal", + "object-cover w-full h-80 lg:h-96", + "absolute -top-4 -left-4 z-20 w-24 h-24 bg-[#ea580c] rounded-full flex items-center justify-center rotate-12 shadow-lg", + "text-white text-xs font-bold text-center leading-tight", + "Big Five", + "Territory", + "absolute -bottom-6 -right-6 w-56 h-36 overflow-hidden rounded-xl shadow-xl rotate-3 border-4 border-[#f9f5f4] z-20", + "Zulu cultural dancers", + "object-cover w-full h-full", + "text-sm uppercase tracking-widest text-[#2563eb] mb-2", + "Safari Experiences", + "text-4xl lg:text-5xl font-bold text-[#21140d] mb-6 leading-tight", + "The bush speaks —", + "italic font-normal text-2xl lg:text-3xl", + "we answer", + "space-y-6", + "flex gap-4", + "mt-1 flex-shrink-0 w-10 h-10 bg-[#ea580c]/10 rounded-full flex items-center justify-center", + "w-5 h-5 text-[#ea580c]", + "text-lg font-semibold text-[#21140d]", + "text-[#21140d]/70 italic text-sm" + ] + }, + { + "name": "SpecialsSection", + "importPath": "@/components/sections/SpecialsSection", + "position": 4, + "role": "cms-promotions", + "hasImage": true, + "hasForm": false, + "itemCount": -1, + "layout": "grid", + "headings": [ + "Specials worth the trip", + "{d.title}" + ], + "buttonLabels": [ + "Book Now" + ], + "people": [], + "allText": [ + "use client", + "@/hooks/useEmDashContent", + "next/image", + "next/link", + "@/components/ui/Card", + "@/components/ui/Badge", + "@/components/ui/Button", + "promotions", + "flex justify-center py-16", + "w-8 h-8 rounded-full border-2 border-current border-t-transparent animate-spin", + "specials", + "py-20 bg-white", + "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", + "text-center mb-12", + "text-sm uppercase tracking-widest text-[#2563eb] mb-2", + "Limited Offers", + "text-4xl font-bold text-[#21140d] mb-4", + "Specials worth the trip", + "text-[#21140d]/70 italic max-w-2xl mx-auto", + "Exclusive packages and seasonal deals crafted for unforgettable stays.", + "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8", + "overflow-hidden rounded-2xl shadow-2xl border-0 group", + "relative aspect-video overflow-hidden", + "Promotion", + "(max-width: 768px) 100vw, 33vw", + "object-cover transition-transform duration-500 ease-out group-hover:scale-105", + "default", + "absolute top-3 right-3 text-sm font-bold shadow-lg", + "From", + "p-6", + "text-xl font-bold text-[#21140d] mb-2", + "text-[#21140d]/70 text-sm italic mb-4", + "w-full", + "Book Now" + ], + "cmsCollection": "promotions" + }, + { + "name": "GallerySection", + "importPath": "@/components/sections/GallerySection", + "position": 5, + "role": "gallery", + "hasImage": true, + "hasForm": false, + "itemCount": -1, + "layout": "grid", + "headings": [ + "Glimpses of Zulwini", + "{d.title}" + ], + "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", + "py-20 bg-[#f9f5f4]", + "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", + "text-center mb-12", + "text-sm uppercase tracking-widest text-[#2563eb] mb-2", + "Visual Stories", + "text-4xl font-bold text-[#21140d] mb-4", + "Glimpses of Zulwini", + "text-[#21140d]/70 italic max-w-2xl mx-auto", + "From sunrise game drives to star-lit bomas — every frame tells a story.", + "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6", + "group relative overflow-hidden rounded-2xl shadow-xl aspect-video cursor-pointer", + "Gallery image", + "(max-width: 640px) 100vw, (max-width: 1024px) 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", + "absolute bottom-4 left-4 text-white", + "text-lg font-bold", + "text-sm italic opacity-90" + ], + "cmsCollection": "gallery" + }, + { + "name": "BookingCTASection", + "importPath": "@/components/sections/BookingCTASection", + "position": 6, + "role": "booking", + "hasImage": false, + "hasForm": false, + "itemCount": 1, + "layout": "single", + "headings": [ + "Reserve Your Slice of the Wild" + ], + "buttonLabels": [ + "Check Availability" + ], + "people": [], + "allText": [ + "use client", + "next/link", + "@/components/ui/Button", + "bookingcta", + "book-now", + "bg-[#ea580c] py-16 md:py-24", + "container mx-auto px-4 text-center", + "text-3xl md:text-4xl font-bold text-white mb-4", + "Reserve Your Slice of the Wild", + "text-lg md:text-xl text-white/90 mb-8 max-w-2xl mx-auto", + "Book your luxury bush stay at Zulwini Lodge – a few clicks and you are set for an unforgettable escape into KwaZulu-Natal.", + "outline", + "border-white text-white hover:bg-white hover:text-[#ea580c] text-lg px-8 py-3", + "Check Availability" + ] + }, + { + "name": "ContactSection", + "importPath": "@/components/sections/ContactSection", + "position": 7, + "role": "contact", + "hasImage": true, + "hasForm": true, + "itemCount": 4, + "layout": "grid", + "headings": [ + "Get in Touch", + "Zulwini Lodge location" + ], + "buttonLabels": [ + "Send Message" + ], + "people": [], + "allText": [ + "use client", + "react", + "next/link", + "@/components/ui/Button", + "@/components/ui/Input", + "@/components/ui/Card", + "lucide-react", + "Thank you! Your enquiry has been sent to our reservations team.", + "Phone", + "+27 35 562 0123", + "tel:+27355620123", + "WhatsApp", + "Email", + "reservations@zulwinilodge.co.za", + "mailto:reservations@zulwinilodge.co.za", + "Address", + "R22, Hluhluwe, KwaZulu-Natal, 3960", + "contact", + "py-16 md:py-24 bg-[#f9f5f4]", + "container mx-auto px-4", + "text-3xl md:text-4xl font-bold text-[#21140d] text-center mb-12", + "Get in Touch", + "grid md:grid-cols-2 gap-8", + "mb-6 border-[#e2d9d4]", + "space-y-4 p-6", + "flex items-start gap-3", + "w-5 h-5 mt-1 text-[#ea580c] flex-shrink-0", + "font-semibold text-[#21140d]", + "text-[#ea580c] hover:underline", + "text-gray-600", + "rounded-2xl overflow-hidden shadow-md border border-[#e2d9d4]", + "100%", + "250", + "lazy", + "no-referrer-when-downgrade", + "Zulwini Lodge location", + "border-[#e2d9d4]", + "text-[#21140d]", + "Send us an Enquiry", + "space-y-4", + "Your name", + "email", + "Your email", + "tel", + "Phone number", + "w-full rounded-xl border border-[#e2d9d4] bg-background p-3 focus:outline-none focus:ring-2 focus:ring-[#ea580c]", + "Your message...", + "submit", + "default", + "w-full bg-[#ea580c] text-white" + ] + } + ], + "navigationLinks": [ + "Zulwini Lodge", + "Home", + "Rooms", + "Our Story", + "Safari Experiences", + "Gallery", + "Contact", + "Book a Room" + ] +} \ No newline at end of file