diff --git a/vula-index.json b/vula-index.json new file mode 100644 index 0000000..5e30215 --- /dev/null +++ b/vula-index.json @@ -0,0 +1,529 @@ +{ + "projectName": "Masai Suites", + "businessType": "hotel", + "industry": "hotel", + "tone": "", + "tier": 2, + "serviceType": "hotel", + "generatedAt": "2026-07-25T13:56:01.123Z", + "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", + "#f9f4f4", + "#210d0d", + "uppercase tracking-[0.1em] text-[12.5px] font-semibold opacity-60 mb-4", + "Masai Suites", + "text-6xl lg:text-7xl font-extrabold tracking-[-0.02em] mb-7 max-w-4xl", + "A boutique hotel in Kenya that blends modern comfort with authentic", + "text-[#d4af37]", + "Maasai culture,.", + "text-lg lg:text-xl max-w-xl mb-10", + "#6e5353", + "Professional boutique hotel in South Africa.", + "inline-block bg-[#d4af37] 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": "MaasaiSuitesRoomsSection", + "importPath": "@/components/sections/MaasaiSuitesRoomsSection", + "position": 1, + "role": "unknown", + "hasImage": true, + "hasForm": false, + "itemCount": 12, + "layout": "grid", + "headings": [ + "Handcrafted Suites with a View", + "{room.title}" + ], + "buttonLabels": [ + "Book Now", + "Explore All Suites" + ], + "people": [], + "allText": [ + "use client", + "@/hooks/useMedusaProducts", + "@/components/ui/Card", + "@/components/ui/Button", + "next/image", + "next/link", + "KSh", + "maasaisuitesrooms", + "rooms", + "py-20 bg-[#f9f4f4]", + "max-w-7xl mx-auto px-4 text-center", + "animate-pulse space-y-4", + "h-8 bg-[#e2d4d4] rounded w-1/3 mx-auto", + "grid grid-cols-1 md:grid-cols-3 gap-6 mt-12", + "h-64 bg-[#e2d4d4] rounded-xl", + "max-w-7xl mx-auto px-4", + "font-bricolage text-3xl md:text-5xl font-bold text-[#210d0d] text-center mb-4", + "Handcrafted Suites with a View", + "font-lora text-center text-[#210d0d]/70 max-w-2xl mx-auto mb-12 italic", + "Each room weaves Maasai artisanry with modern comfort — overlooking the endless savannah.", + "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8", + "overflow-hidden rounded-xl shadow-md bg-white border border-[#e2d4d4] transition-all duration-200 ease-out hover:shadow-lg hover:-translate-y-1", + "relative h-56 overflow-hidden", + "(max-width: 768px) 100vw, 50vw", + "object-cover hover:scale-105 transition-transform duration-500 ease-out", + "p-5", + "font-bricolage text-xl font-semibold text-[#210d0d] mb-2", + "font-lora text-sm text-[#210d0d]/70 mb-4 leading-relaxed", + "...", + "flex items-center justify-between", + "font-bricolage text-lg font-bold text-[#d4af37]", + "/night", + "outline", + "sm", + "border-[#dc2626] text-[#dc2626] hover:bg-[#dc2626] hover:text-[#f9f4f4] rounded-lg transition-all duration-200 ease-out", + "Book Now", + "text-center mt-12", + "default", + "lg", + "bg-[#dc2626] hover:bg-[#b71c1c] text-[#f9f4f4] px-8 py-3 rounded-xl shadow-md transition-all duration-200 ease-out", + "Explore All Suites" + ] + }, + { + "name": "MaasaiHeritageSection", + "importPath": "@/components/sections/MaasaiHeritageSection", + "position": 2, + "role": "unknown", + "hasImage": true, + "hasForm": false, + "itemCount": 3, + "layout": "grid", + "headings": [ + "Born of the Mara, guided by tradition" + ], + "buttonLabels": [], + "people": [], + "allText": [ + "use client", + "next/image", + "maasaiheritage", + "our-story", + "py-20 bg-[#210d0d] text-[#f9f4f4]", + "max-w-7xl mx-auto px-4 grid grid-cols-1 lg:grid-cols-2 gap-12 items-center", + "relative h-80 lg:h-96 rounded-xl overflow-hidden shadow-xl", + "Maasai elders sharing stories", + "(max-width: 1024px) 100vw, 50vw", + "object-cover", + "font-bricolage text-3xl md:text-5xl font-bold mb-6", + "Born of the Mara, guided by tradition", + "font-lora text-lg leading-relaxed mb-6 italic text-[#e2d4d4]/80", + "Masai Suites began as a family lodge in 2012, built on land blessed by the local Moran warriors. Every beam, bead, and blanket carries the craftsmanship of Laikipia artisans. Our team of 40 staff — over half from nearby Manyattas — welcome you not as guests, but as extended family.", + "font-lora text-base leading-relaxed text-[#e2d4d4]/60 italic", + "From the shuka-wrapped welcome to the evening nyama choma under acacia stars, we invite you to live the Maasai philosophy of "Enoosas" — togetherness." + ] + }, + { + "name": "MaasaiExperiencesSection", + "importPath": "@/components/sections/MaasaiExperiencesSection", + "position": 3, + "role": "unknown", + "hasImage": true, + "hasForm": false, + "itemCount": 3, + "layout": "grid", + "headings": [ + "Beyond the Suite", + "{exp.title}" + ], + "buttonLabels": [ + "Book Now", + "View All Experiences" + ], + "people": [ + "Guided Safari Walk", + "Maasai Village Immersion", + "Sundowner Bush Dinner" + ], + "allText": [ + "use client", + "@/components/ui/Card", + "@/components/ui/Button", + "next/image", + "next/link", + "safari-walk", + "Guided Safari Walk", + "Track lion prides and elephant herds with a KPSGA-certified guide — just you and the wild.", + "KSh 8,500 per person", + "village-visit", + "Maasai Village Immersion", + "Spend a morning with a boma: learn beadwork, milking, and the art of jumping dance.", + "KSh 4,500 per person", + "sundowner-dinner", + "Sundowner Bush Dinner", + "A private four-course feast on the escarpment — lanterns, gin tonics, and a horizon of fire.", + "KSh 12,000 per couple", + "maasaiexperiences", + "experiences", + "py-20 bg-[#f9f4f4]", + "max-w-7xl mx-auto px-4", + "font-bricolage text-3xl md:text-5xl font-bold text-[#210d0d] text-center mb-4", + "Beyond the Suite", + "font-lora text-center text-[#210d0d]/70 max-w-2xl mx-auto mb-12 italic", + "Curated adventures that bring the Mara into your soul — from dawn tracking to starlit feasts.", + "grid grid-cols-1 md:grid-cols-3 gap-8", + "overflow-hidden rounded-xl shadow-md bg-white border border-[#e2d4d4] transition-all duration-200 ease-out hover:shadow-lg hover:-translate-y-1", + "relative h-48 overflow-hidden", + "(max-width: 768px) 100vw, 33vw", + "object-cover hover:scale-105 transition-transform duration-500 ease-out", + "p-5", + "font-bricolage text-xl font-semibold text-[#210d0d] mb-2", + "font-lora text-sm text-[#210d0d]/70 mb-4 leading-relaxed", + "flex items-center justify-between", + "font-bricolage text-lg font-bold text-[#d4af37]", + "outline", + "sm", + "border-[#dc2626] text-[#dc2626] hover:bg-[#dc2626] hover:text-[#f9f4f4] rounded-lg transition-all duration-200 ease-out", + "Book Now", + "text-center mt-12", + "secondary", + "lg", + "bg-[#0f52ba] hover:bg-[#0a3d8f] text-[#f9f4f4] px-8 py-3 rounded-xl shadow-md transition-all duration-200 ease-out", + "View All Experiences" + ] + }, + { + "name": "MasaiSuitesPromotionsSection", + "importPath": "@/components/sections/MasaiSuitesPromotionsSection", + "position": 4, + "role": "cms-promotions", + "hasImage": true, + "hasForm": false, + "itemCount": -1, + "layout": "grid", + "headings": [ + "Limited-time packages for extraordinary safaris", + "{d.title}" + ], + "buttonLabels": [ + "Book Now" + ], + "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-current border-t-transparent animate-spin", + "special-offers", + "masaisuitespromotions", + "bg-[#f9f4f4] py-16", + "max-w-7xl mx-auto px-4", + "text-3xl md:text-4xl font-bold text-[#210d0d] mb-2 tracking-tight", + "Limited-time packages for extraordinary safaris", + "text-[#210d0d] opacity-70 mb-10 text-lg max-w-2xl", + "Curated seasonal offers crafted for the discerning traveller—book direct for exclusive perks.", + "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6", + "group bg-white rounded-xl overflow-hidden shadow-[0_8px_30px_rgba(210,13,13,0.06)] border border-[#e2d4d4] transition-all duration-300 hover:shadow-[0_12px_40px_rgba(210,13,13,0.12)] hover:-translate-y-1", + "relative aspect-[4/3] overflow-hidden", + "Promotion image", + "(max-width: 768px) 100vw, 33vw", + "object-cover transition-transform duration-500 group-hover:scale-105", + "p-5", + "text-xl font-semibold text-[#210d0d] mb-2", + "text-[#210d0d] opacity-70 text-sm mb-3 line-clamp-2", + "flex items-center justify-between", + "text-lg font-bold text-[#d4af37]", + "bg-[#dc2626] text-white px-4 py-2 rounded-lg text-sm font-medium transition-all duration-200 hover:bg-[#b81e1e] active:scale-95", + "Book Now" + ], + "cmsCollection": "promotions" + }, + { + "name": "BoutiqueGallerySection", + "importPath": "@/components/sections/BoutiqueGallerySection", + "position": 5, + "role": "gallery", + "hasImage": true, + "hasForm": false, + "itemCount": -1, + "layout": "grid", + "headings": [ + "Moments that linger long after you leave" + ], + "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", + "boutiquegallery", + "bg-white py-16", + "max-w-7xl mx-auto px-4", + "text-3xl md:text-4xl font-bold text-[#210d0d] mb-3 tracking-tight", + "Moments that linger long after you leave", + "text-[#210d0d] opacity-70 mb-10 max-w-xl", + "From golden sunrises to candlelit dinners—our curated gallery captures the soul of Masai Suites.", + "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 md:gap-6", + "group relative aspect-[4/3] rounded-xl overflow-hidden shadow-[0_4px_20px_rgba(210,13,13,0.06)] border border-[#e2d4d4]", + "Gallery image", + "(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw", + "object-cover transition-transform duration-500 group-hover:scale-105", + "absolute inset-0 bg-gradient-to-t from-[#210d0d]/70 via-transparent to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end p-4", + "text-white font-semibold text-sm", + "text-white/80 text-xs mt-0.5 line-clamp-1" + ], + "cmsCollection": "gallery" + }, + { + "name": "GuestRavesSection", + "importPath": "@/components/sections/GuestRavesSection", + "position": 6, + "role": "blog", + "hasImage": true, + "hasForm": false, + "itemCount": -1, + "layout": "grid", + "headings": [ + "What our guests say" + ], + "buttonLabels": [], + "people": [], + "allText": [ + "use client", + "@/hooks/useEmDashContent", + "next/image", + "posts", + "flex justify-center py-16", + "w-8 h-8 rounded-full border-2 border-current border-t-transparent animate-spin", + "guest-reviews", + "guestraves", + "bg-[#f9f4f4] py-16", + "max-w-5xl mx-auto px-4", + "text-3xl md:text-4xl font-bold text-[#210d0d] mb-3 text-center tracking-tight", + "What our guests say", + "text-[#210d0d] opacity-70 text-center mb-10 max-w-xl mx-auto", + "Real stories from travellers who found more than a room—they found a home in the Mara.", + "grid grid-cols-1 md:grid-cols-3 gap-6", + "bg-white rounded-xl p-6 border border-[#e2d4d4] shadow-[0_4px_20px_rgba(210,13,13,0.05)] flex flex-col", + "text-[#d4af37] text-lg mb-3", + "★★★★★", + "text-[#210d0d] opacity-80 italic text-sm leading-relaxed flex-1", + "mt-4 pt-4 border-t border-[#e2d4d4] flex items-center gap-3", + "relative w-10 h-10 rounded-full overflow-hidden shrink-0", + "Guest", + "40px", + "object-cover", + "text-sm font-semibold text-[#210d0d]", + "text-xs text-[#210d0d] opacity-60" + ], + "cmsCollection": "posts" + }, + { + "name": "StayPracticalSection", + "importPath": "@/components/sections/StayPracticalSection", + "position": 7, + "role": "unknown", + "hasImage": false, + "hasForm": false, + "itemCount": -1, + "layout": "grid", + "headings": [ + "Everything you need for a seamless stay", + "Reception & Dining Hours", + "Contact & Check-in Info" + ], + "buttonLabels": [], + "people": [], + "allText": [ + "use client", + "@/hooks/useEmDashContent", + "business_hours", + "flex justify-center py-16", + "w-8 h-8 rounded-full border-2 border-current border-t-transparent animate-spin", + "stay-info", + "staypractical", + "bg-white py-16", + "max-w-5xl mx-auto px-4", + "text-3xl md:text-4xl font-bold text-[#210d0d] mb-3 tracking-tight", + "Everything you need for a seamless stay", + "text-[#210d0d] opacity-70 mb-10 max-w-xl", + "Check-in, dining hours, and how to reach us—so nothing surprises you.", + "grid grid-cols-1 md:grid-cols-2 gap-8", + "bg-[#f9f4f4] rounded-xl p-6 border border-[#e2d4d4]", + "font-semibold text-[#210d0d] mb-4", + "Reception & Dining Hours", + "space-y-2", + "flex justify-between text-sm text-[#210d0d] opacity-80", + "font-medium", + "text-[#dc2626]", + "Closed", + "Contact & Check-in Info", + "space-y-3 text-sm text-[#210d0d] opacity-80", + "flex items-start gap-2", + "font-medium shrink-0", + "Check-in:", + "2:00 PM – 10:00 PM (late arrival by arrangement)", + "Check-out:", + "11:00 AM", + "Phone:", + "+254 712 345 678", + "Email:", + "break-all", + "info@masaisuites.com", + "Address:", + "Mara Serena Road, Maasai Mara, Kenya" + ], + "cmsCollection": "business_hours" + }, + { + "name": "ReserveYourSuiteSection", + "importPath": "@/components/sections/ReserveYourSuiteSection", + "position": 8, + "role": "booking", + "hasImage": false, + "hasForm": true, + "itemCount": 5, + "layout": "grid", + "headings": [ + "Secure your Maasai Mara escape" + ], + "buttonLabels": [ + "Check Availability" + ], + "people": [], + "allText": [ + "use client", + "react", + "@/components/ui/Button", + "@/components/ui/Input", + "@/components/ui/Badge", + "lucide-react", + "next/link", + "reserveyoursuite", + "book-now", + "bg-[#f9f4f4] py-20 px-4", + "max-w-4xl mx-auto", + "text-center mb-10", + "text-4xl md:text-5xl font-bold text-[#210d0d] mb-4 font-sans", + "Secure your Maasai Mara escape", + "text-lg text-[#210d0d]/70 italic font-serif max-w-2xl mx-auto", + "Best rate guarantee — cancel free up to 48 hours before check-in.", + "bg-white rounded-2xl shadow-lg p-8 md:p-10 max-w-lg mx-auto", + "grid grid-cols-1 sm:grid-cols-2 gap-4 mb-6", + "Check-in", + "date", + "w-full", + "Check-out", + "block w-full", + "default", + "lg", + "w-full text-lg", + "Check Availability", + "flex flex-wrap justify-center gap-3 mt-6", + "outline", + "flex items-center gap-1 text-sm px-3 py-1 border-[#d4af37] text-[#d4af37]", + "w-4 h-4", + "Best Rate Guarantee", + "flex items-center gap-1 text-sm px-3 py-1 border-[#0f52ba] text-[#0f52ba]", + "Free Cancellation", + "flex items-center gap-1 text-sm px-3 py-1 border-[#dc2626] text-[#dc2626]", + "Instant Confirmation" + ] + }, + { + "name": "GetInTouchSection", + "importPath": "@/components/sections/GetInTouchSection", + "position": 9, + "role": "contact", + "hasImage": true, + "hasForm": true, + "itemCount": 14, + "layout": "grid", + "headings": [ + "Get in touch", + "Masai Suites Location" + ], + "buttonLabels": [ + "Send Message" + ], + "people": [ + "Masai Suites Location" + ], + "allText": [ + "use client", + "react", + "@/components/ui/Button", + "@/components/ui/Input", + "lucide-react", + "Thank you! We will get back to you within 24 hours.", + "getintouch", + "contact", + "bg-white py-20 px-4", + "max-w-6xl mx-auto", + "text-center mb-12", + "text-4xl md:text-5xl font-bold text-[#210d0d] font-sans", + "Get in touch", + "text-lg text-[#210d0d]/70 italic font-serif max-w-xl mx-auto mt-3", + "Let us craft your perfect Maasai Mara experience.", + "grid grid-cols-1 lg:grid-cols-2 gap-12 items-start", + "bg-[#f9f4f4] rounded-2xl shadow-md p-8", + "space-y-5", + "Your Name", + "text", + "Email Address", + "email", + "block text-sm font-medium text-[#210d0d] mb-1", + "Message", + "w-full rounded-lg border border-[#e2d4d4] bg-white px-4 py-3 text-sm text-[#210d0d] placeholder:text-[#210d0d]/40 focus:outline-none focus:ring-2 focus:ring-[#dc2626]", + "Tell us about your stay preferences...", + "default", + "lg", + "submit", + "w-full", + "Send Message", + "space-y-8", + "space-y-4", + "flex items-start gap-4", + "w-5 h-5 mt-1 text-[#0f52ba]", + "font-semibold text-[#210d0d]", + "WhatsApp / Phone", + "text-[#210d0d]/70", + "+254 700 123456", + "Email", + "info@masaisuites.com", + "Location", + "Maasai Mara National Reserve, Kenya", + "rounded-2xl overflow-hidden shadow-md h-64 bg-[#f9f4f4]", + "Masai Suites Location", + "100%", + "lazy", + "no-referrer-when-downgrade" + ] + } + ], + "navigationLinks": [ + "Masai Suites", + "Home", + "Maasai Suites Rooms", + "Maasai Heritage", + "Boutique Gallery", + "Get In Touch", + "Book a Room" + ] +} \ No newline at end of file