From b429b316b036ff3c11a37f5ffb26a8712b170b9b Mon Sep 17 00:00:00 2001 From: Vula Builder Date: Sun, 26 Jul 2026 16:40:54 +0000 Subject: [PATCH] Deploy --- vula-index.json | 610 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 610 insertions(+) create mode 100644 vula-index.json diff --git a/vula-index.json b/vula-index.json new file mode 100644 index 0000000..021f1a2 --- /dev/null +++ b/vula-index.json @@ -0,0 +1,610 @@ +{ + "projectName": "vaVenda Lodge", + "businessType": "hotel", + "industry": "hotel", + "tone": "", + "tier": 2, + "serviceType": "hotel", + "generatedAt": "2026-07-26T16:05:47.477Z", + "sections": [ + { + "name": "HeroSection", + "importPath": "@/components/sections/HeroSection", + "position": 0, + "role": "hero", + "hasImage": false, + "hasForm": false, + "itemCount": 0, + "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", + "#f9f7f4", + "#211c0d", + "uppercase tracking-[0.1em] text-[12.5px] font-semibold opacity-60 mb-4", + "vaVenda Lodge", + "text-6xl lg:text-7xl font-extrabold tracking-[-0.02em] mb-7 max-w-4xl", + "A boutique lodge in Limpopo offering deep Venda cultural immersion", + "text-[#18181b]", + "combined with.", + "text-lg lg:text-xl max-w-xl mb-10", + "#6e6853", + "Professional boutique hotel in South Africa.", + "inline-block bg-[#18181b] 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": 10, + "layout": "grid", + "headings": [ + "A Family's Vision, A Village's Welcome" + ], + "buttonLabels": [], + "people": [], + "allText": [ + "use client", + "next/image", + "ourstory", + "our-story", + "py-20 lg:py-28", + "#ffffff", + "container mx-auto px-4", + "grid grid-cols-1 lg:grid-cols-2 gap-12 items-center", + "inline-block text-[#16a34a] text-sm md:text-base tracking-widest uppercase font-semibold mb-3", + "Founded in 2015", + "text-3xl md:text-5xl font-bold leading-tight mb-6", + "#211c0d", + "A Family's Vision, A Village's Welcome", + "space-y-4 text-base leading-relaxed", + "#211c0d/80", + "vaVenda Lodge was born from a single belief: that the most authentic travel experiences\n are shared around a table, under a thatched roof, with the sounds of the bushveld as your soundtrack.\n Our founder, Makhado Ravele, returned to his ancestral land in the Soutpansberg mountains with a dream\n to welcome the world into his home.", + "Every detail — from the hand-stamped clay walls to the indigenous garden paths — is a tribute to the\n Venda people's deep connection with nature. We partner with local artisans, storytellers, and guides\n to ensure every guest leaves with more than a tan: they take home a piece of Venda soul.", + "border-l-4 pl-4 italic text-lg", + "#d4af37", + "\"I am because we are.\" — Ubuntu philosophy, echoed in every interaction at vaVenda.", + "relative", + "aspect-[4/3] rounded-2xl overflow-hidden shadow-xl", + "Limpopo bushveld at sunrise", + "(max-width: 768px) 100vw, 50vw", + "object-cover", + "absolute -bottom-6 -left-6 w-36 h-36 rounded-full overflow-hidden border-4 border-white shadow-lg", + "Makhado Ravele, founder of vaVenda Lodge", + "144px", + "grid grid-cols-2 md:grid-cols-4 gap-8 mt-20 pt-12 border-t", + "#e2dfd4", + "Suites", + "Venda Artisans Featured", + "12", + "Years Open", + "Languages Spoken", + "text-center", + "text-4xl font-bold", + "text-sm uppercase tracking-wider mt-1", + "#211c0d/60", + "mt-12 text-center text-sm", + "Makhado, Limpopo, South Africa  ·  +27 15 001 2345  ·  info@vavendalodge.co.za" + ] + }, + { + "name": "RoomsSection", + "importPath": "@/components/sections/RoomsSection", + "position": 2, + "role": "unknown", + "hasImage": true, + "hasForm": false, + "itemCount": 16, + "layout": "grid", + "headings": [ + "Six Rooms, Six Stories" + ], + "buttonLabels": [ + "Book Now", + "View All Rooms & Availability" + ], + "people": [], + "allText": [ + "use client", + "@/hooks/useMedusaProducts", + "@/components/ui/Card", + "@/components/ui/Button", + "next/link", + "next/image", + "lucide-react", + "rooms", + "py-20", + "#f9f7f4", + "container mx-auto px-4 text-center", + "animate-pulse space-y-4", + "h-8 bg-[#e2dfd4] rounded w-1/3 mx-auto", + "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mt-12", + "h-80 bg-[#e2dfd4] rounded-xl", + "py-20 lg:py-28", + "container mx-auto px-4", + "text-center mb-14", + "inline-block text-[#16a34a] text-sm md:text-base tracking-widest uppercase font-semibold mb-2", + "Venda-Inspired Accommodation", + "text-3xl md:text-5xl font-bold", + "#211c0d", + "Six Rooms, Six Stories", + "mt-4 max-w-2xl mx-auto", + "#211c0d/80", + "Each suite handcrafted with locally woven textiles and named after Venda clans and landmarks.", + "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8", + "group overflow-hidden rounded-2xl shadow-lg transition-all duration-300 hover:shadow-xl hover:-translate-y-1", + "relative h-60 overflow-hidden", + "(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw", + "object-cover transition-transform duration-500 group-hover:scale-105", + "absolute top-4 right-4 bg-[#18181b] text-white text-sm font-bold px-3 py-1 rounded-full", + "/ night", + "text-xl font-bold", + "text-sm leading-relaxed line-clamp-3", + "#211c0d/70", + "Experience the authentic Venda charm in our carefully curated space.", + "flex items-center gap-1 mt-4", + "w-4 h-4 fill-[#d4af37] text-[#d4af37]", + "w-full", + "default", + "Book Now", + "text-center mt-12", + "outline", + "lg", + "View All Rooms & Availability" + ] + }, + { + "name": "VendaExperiencesSection", + "importPath": "@/components/sections/VendaExperiencesSection", + "position": 3, + "role": "unknown", + "hasImage": true, + "hasForm": false, + "itemCount": 4, + "layout": "grid", + "headings": [ + "Beyond the Lodge", + "{activity.title}" + ], + "buttonLabels": [ + "Enquire Now" + ], + "people": [ + "Craft Workshops" + ], + "allText": [ + "use client", + "next/link", + "next/image", + "@/components/ui/Button", + "lucide-react", + "Traditional Dance & Drumming", + "Join local Venda dancers in a rhythmic evening under the stars. Learn the tshikona reed dance or beat the djembe around a fire.", + "Village Walk & Storytelling", + "Walk through the neighbouring Makhado village with an elder guide who shares oral histories, folklore, and the meaning behind Venda symbols.", + "Home-Cooked Venda Cuisine", + "Taste dishes passed down through generations: morogo with pap, tshiovha (pumpkin leaves), and freshly brewed mageu. Cook alongside our chefs.", + "Craft Workshops", + "Try your hand at clay pottery, basket weaving, or beadwork with Venda artisans. Take home your own creation as a souvenir.", + "vendaexperiences", + "venda-experiences", + "py-20 lg:py-28", + "#f9f7f4", + "container mx-auto px-4", + "text-center mb-14", + "inline-block text-[#16a34a] text-sm md:text-base tracking-widest uppercase font-semibold mb-2", + "Cultural Immersion", + "text-3xl md:text-5xl font-bold", + "#211c0d", + "Beyond the Lodge", + "mt-4 max-w-2xl mx-auto", + "#211c0d/80", + "Step into daily Venda life — each experience is led by community members who open their homes and\n their hearts.", + "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6", + "group relative rounded-2xl overflow-hidden bg-white shadow-md hover:shadow-xl transition-all duration-300", + "relative h-48 overflow-hidden", + "(max-width: 768px) 100vw, 50vw", + "object-cover transition-transform duration-500 group-hover:scale-105", + "absolute inset-0 bg-gradient-to-t from-black/40 to-transparent", + "p-6", + "flex items-center gap-3 mb-3", + "p-2 rounded-lg", + "#d4af37/15", + "w-5 h-5", + "#d4af37", + "text-lg font-bold", + "text-sm leading-relaxed", + "#211c0d/70", + "mt-5", + "outline", + "sm", + "w-full", + "Enquire Now", + "mt-16 text-center", + "text-sm", + "#211c0d/60" + ] + }, + { + "name": "CulturalInsightsSection", + "importPath": "@/components/sections/CulturalInsightsSection", + "position": 4, + "role": "blog", + "hasImage": true, + "hasForm": false, + "itemCount": -1, + "layout": "grid", + "headings": [ + "Cultural Insights", + "{d.title}" + ], + "buttonLabels": [], + "people": [], + "allText": [ + "use client", + "next/image", + "next/link", + "@/components/ui/Badge", + "lucide-react", + "@/hooks/useEmDashContent", + "posts", + "flex justify-center py-16", + "w-8 h-8 rounded-full border-2 border-current border-t-transparent animate-spin", + "cultural-insights", + "culturalinsights", + "py-20 bg-white", + "container mx-auto px-4", + "text-[2rem] font-display font-bold text-[#18181b] text-center mb-4", + "Cultural Insights", + "text-center text-[#211c0d] mb-12 max-w-2xl mx-auto font-serif italic", + "Explore Venda traditions, local recipes, and travel tips from our team.", + "grid grid-cols-1 md:grid-cols-3 gap-8", + "group rounded-2xl overflow-hidden shadow-[0_4px_20px_rgba(0,0,0,0.06)] hover:shadow-[0_8px_30px_rgba(0,0,0,0.12)] transition-all duration-300 border border-[#e2dfd4]", + "relative h-48 overflow-hidden", + "(max-width: 768px) 100vw, 33vw", + "object-cover group-hover:scale-105 transition-transform duration-500", + "p-5", + "outline", + "border-[#16a34a] text-[#16a34a] text-xs mb-2", + "text-lg font-semibold text-[#18181b] mb-2", + "text-sm text-[#211c0d] font-serif italic leading-relaxed mb-4", + "...", + "flex items-center justify-between", + "text-xs text-[#16a34a]", + "text-[#d4af37] text-sm font-medium flex items-center gap-1 group-hover:underline", + "Read more", + "w-3 h-3" + ], + "cmsCollection": "posts" + }, + { + "name": "SpecialsSection", + "importPath": "@/components/sections/SpecialsSection", + "position": 5, + "role": "cms-campaigns", + "hasImage": true, + "hasForm": false, + "itemCount": -1, + "layout": "grid", + "headings": [ + "Seasonal Offers" + ], + "buttonLabels": [ + "Book Now" + ], + "people": [], + "allText": [ + "use client", + "next/image", + "next/link", + "@/components/ui/Button", + "@/components/ui/Badge", + "@/components/ui/Card", + "@/hooks/useEmDashContent", + "campaigns", + "flex justify-center py-16", + "w-8 h-8 rounded-full border-2 border-current border-t-transparent animate-spin", + "specials", + "py-20 bg-[#f9f7f4]", + "container mx-auto px-4", + "text-[2rem] font-display font-bold text-[#18181b] text-center mb-4", + "Seasonal Offers", + "text-center text-[#211c0d] mb-12 max-w-2xl mx-auto", + "Limited-time stays that celebrate the richness of Venda culture and nature.", + "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8", + "group overflow-hidden rounded-2xl shadow-[0_4px_20px_rgba(0,0,0,0.08)] hover:shadow-[0_8px_30px_rgba(0,0,0,0.12)] transition-all duration-300", + "relative h-48 overflow-hidden", + "(max-width: 768px) 100vw, 50vw", + "object-cover group-hover:scale-105 transition-transform duration-500", + "absolute top-3 left-3 flex gap-2", + "success", + "bg-[#16a34a] text-white border-0", + "Limited", + "bg-[#d4af37] text-white border-0", + "Seasonal", + "text-xl font-semibold text-[#18181b]", + "text-[#211c0d] font-serif italic", + "...", + "pt-0", + "default", + "bg-[#d4af37] hover:bg-[#b8962e] text-white w-full", + "outline", + "border-[#d4af37] text-[#d4af37] hover:bg-[#d4af37]/10 w-full", + "Book Now" + ], + "cmsCollection": "campaigns" + }, + { + "name": "GallerySection", + "importPath": "@/components/sections/GallerySection", + "position": 6, + "role": "gallery", + "hasImage": true, + "hasForm": false, + "itemCount": -1, + "layout": "grid", + "headings": [ + "Moments at vaVenda", + "{selected.title}" + ], + "buttonLabels": [], + "people": [], + "allText": [ + "use client", + "react", + "next/image", + "lucide-react", + "@/hooks/useEmDashContent", + "gallery", + "flex justify-center py-16", + "w-8 h-8 rounded-full border-2 border-current border-t-transparent animate-spin", + "py-20 bg-white", + "container mx-auto px-4", + "text-[2rem] font-display font-bold text-[#18181b] text-center mb-4", + "Moments at vaVenda", + "text-center text-[#211c0d] mb-12 max-w-2xl mx-auto font-serif italic", + "Every corner tells a story — from the warmth of our thatched lapa to the quiet of the bushveld at dawn.", + "grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4", + "relative group cursor-pointer overflow-hidden rounded-xl aspect-square", + "Gallery image", + "(max-width: 768px) 50vw, 33vw", + "object-cover group-hover:scale-105 transition-transform duration-500", + "absolute inset-0 bg-black/0 group-hover:bg-black/30 transition-colors duration-300 flex items-end p-3", + "text-white text-sm font-medium opacity-0 group-hover:opacity-100 transition-opacity duration-300", + "Untitled", + "fixed inset-0 z-50 bg-black/80 flex items-center justify-center p-4", + "relative max-w-4xl w-full bg-white rounded-2xl overflow-hidden shadow-2xl", + "absolute top-3 right-3 z-10 bg-white/80 rounded-full p-1 hover:bg-white transition-colors", + "w-5 h-5 text-[#18181b]", + "relative h-[50vh] md:h-[60vh]", + "100vw", + "object-contain", + "p-6 bg-white", + "text-xl font-semibold text-[#18181b]", + "mt-2 text-[#211c0d] font-serif italic" + ], + "cmsCollection": "gallery" + }, + { + "name": "GuestStoriesSection", + "importPath": "@/components/sections/GuestStoriesSection", + "position": 7, + "role": "blog", + "hasImage": false, + "hasForm": false, + "itemCount": -1, + "layout": "grid", + "headings": [ + "What Our Guests Say" + ], + "buttonLabels": [], + "people": [], + "allText": [ + "use client", + "lucide-react", + "@/hooks/useEmDashContent", + "posts", + "flex justify-center py-16", + "w-8 h-8 rounded-full border-2 border-current border-t-transparent animate-spin", + "guest-stories", + "gueststories", + "py-20 bg-[#f9f7f4]", + "container mx-auto px-4", + "text-[2rem] font-display font-bold text-[#18181b] text-center mb-4", + "What Our Guests Say", + "text-center text-[#211c0d] mb-12 max-w-2xl mx-auto font-serif italic", + "Real stories from travelers who found something special in the heart of Limpopo.", + "grid grid-cols-1 md:grid-cols-3 gap-6", + "bg-white rounded-2xl p-6 shadow-[0_4px_20px_rgba(0,0,0,0.06)] border border-[#e2dfd4] relative", + "absolute top-4 left-4 text-[#d4af37] opacity-20 w-10 h-10", + "relative z-10", + "text-[#211c0d] font-serif italic mb-4 leading-relaxed", + "A truly unforgettable experience.", + "flex items-center gap-3", + "w-10 h-10 rounded-full bg-[#d4af37]/20 flex items-center justify-center text-[#d4af37] font-bold text-sm", + "text-sm font-semibold text-[#18181b]", + "Guest", + "text-xs text-[#16a34a]" + ], + "cmsCollection": "posts" + }, + { + "name": "BookingCTASection", + "importPath": "@/components/sections/BookingCTASection", + "position": 8, + "role": "booking", + "hasImage": false, + "hasForm": false, + "itemCount": 3, + "layout": "unknown", + "headings": [ + "Ready to Experience Venda?" + ], + "buttonLabels": [ + "Reserve Your Stay" + ], + "people": [], + "allText": [ + "use client", + "@/components/ui/Button", + "bookingcta", + "booking-cta", + "relative bg-[#c0653a] text-white py-20 px-6 overflow-hidden", + "absolute inset-0 bg-gradient-to-r from-[#c0653a]/80 to-[#d4af37]/20 z-0", + "relative z-10 max-w-4xl mx-auto text-center", + "text-4xl md:text-5xl font-bold mb-6 font-bricolage", + "Ready to Experience Venda?", + "text-lg md:text-xl mb-8 text-white/90 max-w-2xl mx-auto font-lora italic", + "The baobab trees are waiting, the fire is lit, and your suite is ready. Book now and feel the warmth of Limpopo.", + "accent", + "lg", + "bg-[#18181b] text-white hover:bg-[#18181b]/90 px-8 py-3 text-lg", + "Reserve Your Stay", + "absolute bottom-0 left-0 right-0 h-2 bg-[#d4af37]/40" + ] + }, + { + "name": "LocationSection", + "importPath": "@/components/sections/LocationSection", + "position": 9, + "role": "unknown", + "hasImage": true, + "hasForm": false, + "itemCount": 4, + "layout": "grid", + "headings": [ + "Find Us in the Heart of Limpopo", + "vaVenda Lodge interactive map" + ], + "buttonLabels": [], + "people": [], + "allText": [ + "use client", + "@/components/ui/Card", + "lucide-react", + "vaVenda Lodge", + "Farm 45, Alldays Road, Alldays, Limpopo", + "From Polokwane", + "2h15min via R521 north. Turn left onto Alldays Road after 85 km.", + "Mapungubwe National Park", + "45 min drive – UNESCO World Heritage site with ancient gold rhino artifacts.", + "Northern Sotho & Venda Villages", + "Guided cultural tours available – meet local artisans and taste traditional dishes.", + "location", + "py-24 bg-[#f9f7f4]", + "max-w-7xl mx-auto px-4", + "text-3xl md:text-4xl font-bold text-[#211c0d] text-center mb-4 font-bricolage", + "Find Us in the Heart of Limpopo", + "text-[#211c0d]/70 text-center max-w-2xl mx-auto mb-12 font-lora italic", + "Nestled between the baobab-studded savannah and the ancient sandstone hills, vaVenda Lodge is remote enough to feel like a secret, yet close enough to major attractions.", + "grid md:grid-cols-2 gap-8 mb-12", + "rounded-xl overflow-hidden shadow-md border border-[#e2dfd4] h-80", + "100%", + "lazy", + "no-referrer-when-downgrade", + "vaVenda Lodge interactive map", + "space-y-4", + "border border-[#e2dfd4] shadow-sm", + "flex items-start gap-4 p-5", + "bg-[#d4af37]/10 p-2 rounded-full", + "w-5 h-5 text-[#d4af37]", + "font-semibold text-[#211c0d]", + "text-sm text-[#211c0d]/70", + "text-center", + "text-[#211c0d]/60 text-sm", + "GPS coordinates:", + "S 22° 59' 15.6\" E 29° 07' 26.8\" – accurate for offline navigation." + ] + }, + { + "name": "ContactSection", + "importPath": "@/components/sections/ContactSection", + "position": 10, + "role": "contact", + "hasImage": true, + "hasForm": true, + "itemCount": 13, + "layout": "grid", + "headings": [ + "We can't wait to welcome you", + "Visit Us", + "vaVenda Lodge location" + ], + "buttonLabels": [ + "Send Message" + ], + "people": [], + "allText": [ + "use client", + "@/components/ui/Card", + "@/components/ui/Button", + "@/components/ui/Input", + "lucide-react", + "react", + "Thank you! We will get back to you soon.", + "contact", + "py-24 bg-[#f9f7f4]", + "max-w-7xl mx-auto px-4", + "grid md:grid-cols-2 gap-12 items-start", + "border border-[#e2dfd4] shadow-md", + "p-8", + "text-3xl font-bold text-[#211c0d] mb-2 font-bricolage", + "We can't wait to welcome you", + "text-[#211c0d]/70 mb-6 font-lora italic", + "Send us a message and we'll reply within 24 hours.", + "space-y-4", + "Your name", + "email", + "Email address", + "Your message...", + "w-full border border-[#e2dfd4] rounded-lg px-4 py-3 focus:outline-none focus:ring-2 focus:ring-[#d4af37] resize-none bg-white", + "submit", + "default", + "w-full bg-[#d4af37] text-[#211c0d] hover:bg-[#d4af37]/90", + "Send Message", + "space-y-8", + "text-xl font-semibold text-[#211c0d] mb-4 font-bricolage", + "Visit Us", + "space-y-4 text-[#211c0d]/80", + "flex items-start gap-3", + "w-5 h-5 text-[#16a34a] mt-1 shrink-0", + "font-medium", + "vaVenda Lodge", + "text-sm", + "Farm 45, Alldays Road", + "Alldays, 0909, Limpopo", + "South Africa", + "flex items-center gap-3", + "w-5 h-5 text-[#16a34a] shrink-0", + "+27 15 012 3456", + "bookings@vavendalodge.co.za", + "_blank", + "noopener noreferrer", + "flex items-center gap-3 text-[#16a34a] hover:text-[#16a34a]/80 transition-colors", + "w-5 h-5", + "text-sm font-medium", + "WhatsApp Us", + "rounded-lg overflow-hidden shadow-md border border-[#e2dfd4] h-64" + ] + } + ], + "navigationLinks": [ + "vaVenda Lodge", + "Home", + "Our Story", + "Specials", + "Gallery", + "Cultural Insights", + "Contact", + "Book a Room" + ] +} \ No newline at end of file