diff --git a/vula-index.json b/vula-index.json new file mode 100644 index 0000000..4575e2e --- /dev/null +++ b/vula-index.json @@ -0,0 +1,494 @@ +{ + "projectName": "Masai Suites", + "businessType": "hotel", + "industry": "hotel", + "tone": "", + "tier": 2, + "serviceType": "hotel", + "generatedAt": "2026-07-25T11:13:24.233Z", + "sections": [ + { + "name": "SavannaSanctuaryHeroSection", + "importPath": "@/components/sections/SavannaSanctuaryHeroSection", + "position": 0, + "role": "hero", + "hasImage": true, + "hasForm": false, + "itemCount": 3, + "layout": "flex-row", + "headings": [ + "Rest, Roam, Reconnect" + ], + "buttonLabels": [], + "people": [], + "allText": [ + "next/image", + "next/link", + "savannasanctuaryhero", + "savanna-sanctuary", + "relative min-h-[80vh] overflow-hidden", + "absolute inset-0", + "kenBurns 16s ease-in-out infinite", + "Savanna landscape at golden hour", + "object-cover", + "100vw", + "absolute inset-0 bg-gradient-to-t from-black/70 via-black/40 to-black/20", + "relative z-10 flex flex-col items-center justify-center min-h-[80vh] text-center px-6 text-white", + "text-5xl font-bold mb-4", + "Rest, Roam, Reconnect", + "text-lg text-white/80 max-w-2xl mb-8", + "Find your rhythm beneath wide Kenyan skies — where the earth steadies\n your breath and every sunset offers a fresh beginning.", + "inline-flex items-center justify-center px-8 py-3 rounded-full bg-[#F1C40F] text-black font-semibold hover:bg-[#D4AC0D] transition-colors duration-200", + "Book a Room" + ] + }, + { + "name": "SereneSuitesSection", + "importPath": "@/components/sections/SereneSuitesSection", + "position": 1, + "role": "unknown", + "hasImage": true, + "hasForm": false, + "itemCount": 8, + "layout": "grid", + "headings": [ + "Suites That Sink You Into Stillness", + "{room.title}" + ], + "buttonLabels": [], + "people": [], + "allText": [ + "use client", + "@/hooks/useMedusaProducts", + "next/image", + "next/link", + "KSh", + "serenesuites", + "serene-suites", + "py-20 px-4 bg-[#FDF6EC]", + "max-w-6xl mx-auto text-center", + "text-[#2C1810] animate-pulse", + "Loading rooms…", + "text-[#2C1810]", + "Unable to load rooms. Please try again later.", + "max-w-6xl mx-auto", + "text-4xl font-bold text-[#2C1810] text-center mb-4", + "Suites That Sink You Into Stillness", + "text-lg text-[#2C1810]/80 text-center max-w-2xl mx-auto mb-12", + "Every room at Masai Suites is designed as a haven — natural materials,\n soft linens, and a quiet palette that lets the outside in.", + "grid grid-cols-1 md:grid-cols-3 gap-8", + "rounded-xl overflow-hidden bg-white shadow-md", + "h-48 w-full", + "w-full h-full object-cover", + "w-full h-full bg-[#E8DCD4]", + "p-5", + "text-xl font-bold text-[#2C1810] mb-2", + "text-[#2C1810]/70 text-sm mb-3 line-clamp-2", + "text-lg font-semibold text-[#C0392B] mb-4", + "text-sm font-normal text-[#2C1810]/60", + "per night", + "inline-block w-full text-center py-2 px-4 rounded-full bg-[#F1C40F] text-black font-semibold hover:bg-[#D4AC0D] transition-colors duration-200", + "Book Now" + ] + }, + { + "name": "RootsOfMasaiSection", + "importPath": "@/components/sections/RootsOfMasaiSection", + "position": 2, + "role": "unknown", + "hasImage": true, + "hasForm": false, + "itemCount": 3, + "layout": "grid", + "headings": [ + "Rooted in Maasai Heritage" + ], + "buttonLabels": [], + "people": [], + "allText": [ + "next/image", + "rootsofmasai", + "roots-of-masai", + "py-20 px-4 bg-white", + "max-w-6xl mx-auto grid grid-cols-1 md:grid-cols-2 gap-12 items-center", + "relative h-80 md:h-96 rounded-2xl overflow-hidden", + "Maasai elder in traditional attire", + "object-cover", + "(max-width: 768px) 100vw, 50vw", + "text-4xl font-bold text-[#2C1810] mb-6", + "Rooted in Maasai Heritage", + "text-lg text-[#2C1810]/80 mb-4", + "Masai Suites was born from a deep respect for the land and the people\n who have called it home for centuries. Our lodge sits on a stretch of\n savanna where the Maasai have grazed cattle and held ceremonies\n under the same acacia trees that shade our verandas.", + "We work directly with local Maasai artisans who craft the furniture,\n textiles, and decor that fill every room. Each piece tells a story —\n a pattern first drawn in the sand, a bead colour chosen for its\n meaning, a carving passed down through generations.", + "text-lg text-[#2C1810]/80", + "Sustainability isn't a tagline here; it is the foundation. Solar\n energy, rainwater harvesting, and a zero-waste kitchen are as\n natural as the morning breeze. When you stay with us, you become\n part of a circle that honours the earth and uplifts the community." + ] + }, + { + "name": "EarthlyComfortsSection", + "importPath": "@/components/sections/EarthlyComfortsSection", + "position": 3, + "role": "unknown", + "hasImage": false, + "hasForm": false, + "itemCount": 4, + "layout": "grid", + "headings": [ + "Simple Comforts, Deeply Rooted", + "{item.title}" + ], + "buttonLabels": [], + "people": [], + "allText": [ + "lucide-react", + "Nature-Inspired Spa", + "Treatments using local botanicals — aloe, baobab oil, and wild honey — in an open-air spa overlooking the plains.", + "Open-Air Lounges", + "Unwind on shaded verandas with woven loungers, crackling fire pits, and endless views of the savanna.", + "Farm-to-Table Dining", + "Our kitchen sources produce from nearby farms and our own herb garden — expect grilled nyama choma, fresh sukuma wiki, and seasonal fruits.", + "Guided Nature Walks", + "Walk with Maasai guides who name every bird, plant, and track — a calm, educational way to read the landscape.", + "earthlycomforts", + "earthly-comforts", + "py-20 px-4 bg-[#FDF6EC]", + "max-w-6xl mx-auto", + "text-4xl font-bold text-[#2C1810] text-center mb-4", + "Simple Comforts, Deeply Rooted", + "text-lg text-[#2C1810]/80 text-center max-w-xl mx-auto mb-12", + "Every detail at Masai Suites is intentional — from the linens to the\n meals — grounding you in a sense of ease.", + "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-8", + "rounded-xl overflow-hidden bg-white shadow-md p-6 text-center", + "inline-flex items-center justify-center w-12 h-12 rounded-full bg-[#C0392B]/10 mb-4", + "w-6 h-6 text-[#C0392B]", + "text-lg font-bold text-[#2C1810] mb-2", + "text-sm text-[#2C1810]/70" + ] + }, + { + "name": "SeasonalSanctuaryOffersSection", + "importPath": "@/components/sections/SeasonalSanctuaryOffersSection", + "position": 4, + "role": "cms-promotions", + "hasImage": true, + "hasForm": false, + "itemCount": -1, + "layout": "grid", + "headings": [ + "Sanctuary Offers", + "{d.title}" + ], + "buttonLabels": [], + "people": [], + "allText": [ + "use client", + "@/hooks/useEmDashContent", + "next/image", + "next/link", + "promotions", + "flex justify-center py-16", + "w-8 h-8 rounded-full border-2 border-[#C0392B] border-t-transparent animate-spin", + "sanctuary-offers", + "seasonalsanctuaryoffers", + "py-20 bg-[#FDF6EC]", + "max-w-7xl mx-auto px-4", + "text-center mb-12", + "text-[#E67E22] text-sm font-semibold tracking-widest uppercase", + "Seasonal Highlights", + "text-4xl font-bold text-[#2C1810] mt-2", + "Sanctuary Offers", + "text-[#2C1810]/70 max-w-2xl mx-auto mt-4", + "Exclusive packages for the perfect escape", + "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8", + "rounded-xl overflow-hidden bg-white shadow-lg hover:shadow-xl transition-shadow duration-200", + "relative h-48 w-full", + "Offer image", + "object-cover", + "(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw", + "p-5", + "text-xl font-semibold text-[#2C1810]", + "text-[#2C1810]/70 mt-2 text-sm leading-relaxed", + "mt-4 flex items-center justify-between", + "text-[#E67E22] font-bold text-lg", + "inline-flex items-center px-4 py-2 bg-[#F1C40F] text-black rounded-full text-sm font-semibold hover:bg-[#e6b800] transition-colors", + "Book Now" + ], + "cmsCollection": "promotions" + }, + { + "name": "EarthyMomentsGallerySection", + "importPath": "@/components/sections/EarthyMomentsGallerySection", + "position": 5, + "role": "gallery", + "hasImage": true, + "hasForm": false, + "itemCount": -1, + "layout": "flex-row", + "headings": [ + "Earthy Moments", + "{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-[#C0392B] border-t-transparent animate-spin", + "earthy-moments", + "earthymomentsgallery", + "py-20 bg-[#FDF6EC]", + "max-w-7xl mx-auto px-4", + "text-center mb-12", + "text-[#E67E22] text-sm font-semibold tracking-widest uppercase", + "Visual Stories", + "text-4xl font-bold text-[#2C1810] mt-2", + "Earthy Moments", + "text-[#2C1810]/70 max-w-2xl mx-auto mt-4", + "A glimpse into the soul of Masai Suites", + "columns-1 sm:columns-2 lg:columns-3 gap-6 space-y-6", + "break-inside-avoid rounded-xl overflow-hidden bg-white shadow-lg hover:shadow-xl transition-shadow duration-200 group", + "relative w-full h-auto", + "Gallery image", + "object-cover w-full h-auto group-hover:scale-105 transition-transform duration-500 ease-out", + "(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw", + "p-4", + "text-lg font-semibold text-[#2C1810]", + "text-[#2C1810]/60 text-sm mt-1" + ], + "cmsCollection": "gallery" + }, + { + "name": "GuestReflectionsSection", + "importPath": "@/components/sections/GuestReflectionsSection", + "position": 6, + "role": "blog", + "hasImage": true, + "hasForm": false, + "itemCount": -1, + "layout": "grid", + "headings": [ + "Guest Reflections" + ], + "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-[#C0392B] border-t-transparent animate-spin", + "review", + "guest-reflections", + "guestreflections", + "py-20 bg-[#FDF6EC]", + "max-w-7xl mx-auto px-4", + "text-center mb-12", + "text-[#E67E22] text-sm font-semibold tracking-widest uppercase", + "Guest Voices", + "text-4xl font-bold text-[#2C1810] mt-2", + "Guest Reflections", + "text-[#2C1810]/70 max-w-2xl mx-auto mt-4", + "Honest stories from travellers who stayed with us", + "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8", + "rounded-xl overflow-hidden bg-white shadow-lg hover:shadow-xl transition-shadow duration-200", + "p-5", + "w-8 h-8 text-[#E67E22] mb-3", + "text-[#2C1810]/80 text-sm leading-relaxed italic", + "“", + "...", + "”", + "mt-4 flex items-center gap-3", + "relative w-10 h-10 rounded-full overflow-hidden flex-shrink-0", + "Guest", + "object-cover", + "40px", + "font-semibold text-[#2C1810] text-sm", + "Anonymous Guest", + "text-[#2C1810]/50 text-xs" + ], + "cmsCollection": "posts" + }, + { + "name": "StoriesOfTheLandSection", + "importPath": "@/components/sections/StoriesOfTheLandSection", + "position": 7, + "role": "blog", + "hasImage": true, + "hasForm": false, + "itemCount": -1, + "layout": "grid", + "headings": [ + "Stories of the Land", + "{d.title}" + ], + "buttonLabels": [], + "people": [], + "allText": [ + "use client", + "@/hooks/useEmDashContent", + "next/image", + "next/link", + "lucide-react", + "posts", + "flex justify-center py-16", + "w-8 h-8 rounded-full border-2 border-[#C0392B] border-t-transparent animate-spin", + "blog", + "stories-of-the-land", + "storiesoftheland", + "py-20 bg-[#FDF6EC]", + "max-w-7xl mx-auto px-4", + "text-center mb-12", + "text-[#E67E22] text-sm font-semibold tracking-widest uppercase", + "From the Savanna", + "text-4xl font-bold text-[#2C1810] mt-2", + "Stories of the Land", + "text-[#2C1810]/70 max-w-2xl mx-auto mt-4", + "Tales of nature, culture, and discovery from the heart of Kenya", + "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8", + "rounded-xl overflow-hidden bg-white shadow-lg hover:shadow-xl transition-shadow duration-200 group", + "relative h-48 w-full", + "Story image", + "object-cover group-hover:scale-105 transition-transform duration-500 ease-out", + "(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw", + "p-5", + "flex items-center gap-2 mb-2", + "text-[#C0392B] text-xs font-semibold uppercase tracking-wider", + "text-[#2C1810]/50 text-xs", + "by", + "text-lg font-semibold text-[#2C1810]", + "text-[#2C1810]/70 text-sm mt-2 leading-relaxed line-clamp-3", + "inline-flex items-center gap-1 mt-4 text-[#E67E22] font-semibold text-sm hover:text-[#c96b1c] transition-colors", + "Read More", + "w-4 h-4" + ], + "cmsCollection": "posts" + }, + { + "name": "BookYourSanctuarySection", + "importPath": "@/components/sections/BookYourSanctuarySection", + "position": 8, + "role": "booking", + "hasImage": false, + "hasForm": false, + "itemCount": 1, + "layout": "single", + "headings": [ + "Book Your Sanctuary" + ], + "buttonLabels": [ + "Reserve Your Stay" + ], + "people": [], + "allText": [ + "use client", + "@/components/ui/Button", + "book-your-sanctuary", + "py-24 px-6", + "#FDF6EC", + "max-w-2xl mx-auto text-center", + "text-4xl md:text-5xl font-bold mb-6", + "#2C1810", + "Book Your Sanctuary", + "text-lg mb-4", + "#5a4a3f", + "Secure a serene escape into the heart of Kenya. Your room at Masai Suites awaits — a\n grounded retreat where every detail whispers calm.", + "text-sm mb-8", + "#7a6a5f", + "No deposit required. Free cancellation up to 48 hours before check-in.\n Your peace of mind, guaranteed.", + "default", + "lg", + "font-semibold rounded-full px-10 py-4", + "#F1C40F", + "#1a1a1a", + "none", + "Reserve Your Stay" + ] + }, + { + "name": "FindUsAndConnectSection", + "importPath": "@/components/sections/FindUsAndConnectSection", + "position": 9, + "role": "unknown", + "hasImage": false, + "hasForm": true, + "itemCount": -1, + "layout": "grid", + "headings": [ + "Find Us & Connect", + "Opening Hours", + "Send Us a Message" + ], + "buttonLabels": [ + "Send Message" + ], + "people": [], + "allText": [ + "use client", + "react", + "lucide-react", + "@/components/ui/Button", + "@/components/ui/Input", + "@/hooks/useEmDashContent", + "business_hours", + "flex justify-center py-16", + "w-8 h-8 rounded-full border-2 border-current border-t-transparent animate-spin", + "find-us", + "findusandconnect", + "py-24 px-6", + "#FDF6EC", + "max-w-6xl mx-auto grid md:grid-cols-2 gap-12", + "text-3xl md:text-4xl font-bold mb-8", + "#2C1810", + "Find Us & Connect", + "rounded-xl overflow-hidden bg-white shadow-md mb-8", + "h-48 w-full bg-[#E0D6C8] flex items-center justify-center text-[#2C1810]/60", + "w-8 h-8 mr-2", + "text-lg font-medium", + "Map Loaded Here", + "space-y-4 mb-8", + "flex items-start gap-3", + "w-5 h-5 mt-0.5", + "#C0392B", + "Masai Suites, Nairobi, Kenya", + "flex items-center gap-3", + "w-5 h-5", + "+254 712 345 678", + "info@masaisuites.com", + "rounded-xl overflow-hidden bg-white shadow-md p-5", + "flex items-center gap-2 mb-4", + "#E67E22", + "font-semibold text-lg", + "Opening Hours", + "space-y-2", + "flex justify-between text-sm", + "font-medium", + "#5a4a3f", + "Closed", + "text-xs italic", + "#7a6a5f", + "rounded-xl overflow-hidden bg-white shadow-md p-8", + "text-xl font-semibold mb-6", + "Send Us a Message", + "text-center py-8", + "Thank you! We will get back to you soon.", + "space-y-5", + "block text-sm font-medium mb-1" + ], + "cmsCollection": "business_hours" + } + ], + "navigationLinks": [ + "Masai Suites", + "Home", + "Serene Suites", + "Roots Of Masai", + "Earthy Moments Gallery", + "Find Us And Connect", + "Book a Room" + ] +} \ No newline at end of file