From 43a154537c4d398b97b6d0697ed19b37307345dd Mon Sep 17 00:00:00 2001 From: Vula Builder Date: Sat, 25 Jul 2026 19:05:15 +0000 Subject: [PATCH] Deploy --- vula-index.json | 497 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 497 insertions(+) create mode 100644 vula-index.json diff --git a/vula-index.json b/vula-index.json new file mode 100644 index 0000000..52b7236 --- /dev/null +++ b/vula-index.json @@ -0,0 +1,497 @@ +{ + "projectName": "Masai Suites", + "businessType": "hotel", + "industry": "hotel", + "tone": "", + "tier": 2, + "serviceType": "hotel", + "generatedAt": "2026-07-25T14:43:20.817Z", + "sections": [ + { + "name": "HeroSection", + "importPath": "@/components/sections/HeroSection", + "position": 0, + "role": "hero", + "hasImage": true, + "hasForm": false, + "itemCount": 4, + "layout": "flex-row", + "headings": [], + "buttonLabels": [], + "people": [ + "Masai Suites" + ], + "allText": [ + "next/image", + "next/link", + "hero", + "relative flex flex-col md:flex-row min-h-[82vh]", + "relative w-full md:w-1/2 h-72 md:h-auto min-h-[320px] overflow-hidden", + "Masai Suites", + "object-cover", + "(max-width: 768px) 100vw, 50vw", + "absolute inset-0", + "linear-gradient(135deg, #8b5a3c, #d4af37)", + "w-full md:w-1/2 flex flex-col justify-center px-8 lg:px-16 py-14", + "#17120f", + "#eeeae7", + "uppercase tracking-[0.32em] text-[11.5px] text-[#6b8e23] mb-4", + "text-4xl lg:text-5xl font-light tracking-[0.01em] mb-6 max-w-4xl", + "Boutique accommodation that fuses modern comfort with Maasai cultural", + "italic", + "#6b8e23", + "elements, offering.", + "text-base lg:text-lg mb-8 max-w-lg", + "#a89c94", + "Professional boutique hotel in South Africa.", + "w-fit", + "inline-block border border-[#6b8e23] text-[#6b8e23] px-9 py-4 text-[12.5px] uppercase tracking-[0.24em] hover:bg-[#6b8e23] hover:text-black transition-all duration-300", + "Book a room" + ] + }, + { + "name": "RoomsSection", + "importPath": "@/components/sections/RoomsSection", + "position": 1, + "role": "unknown", + "hasImage": true, + "hasForm": false, + "itemCount": 13, + "layout": "grid", + "headings": [], + "buttonLabels": [ + "Book This Room", + "View All Rooms — Personalise Your Stay" + ], + "people": [], + "allText": [ + "use client", + "next/image", + "next/link", + "@/hooks/useMedusaProducts", + "@/components/ui/Card", + "@/components/ui/Button", + "@/components/ui/Badge", + "KSh", + "rooms", + "our-rooms", + "py-24 bg-[#17120f]", + "max-w-7xl mx-auto px-4", + "text-center mb-16", + "flex items-center justify-center gap-4 mb-6", + "block w-14 h-px bg-[#d4af37]", + "text-[10px] tracking-[0.25em] uppercase text-[#d4af37] font-sans", + "The Suites", + "text-4xl md:text-5xl font-light font-serif text-[#eeeae7]", + "Where", + "italic text-[#d4af37]", + "craft", + "meets comfort", + "mt-4 text-[#eeeae7]/60 max-w-xl mx-auto", + "Each of our six signature suites is a harmonious fusion of contemporary elegance and handcrafted Maasai detail.", + "flex justify-center py-16", + "w-8 h-8 border-2 border-[#d4af37] border-t-transparent rounded-full animate-spin", + "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8", + "bg-[#1e1a16] border border-[#403630] rounded-lg overflow-hidden", + "relative aspect-[4/3] overflow-hidden", + "(max-width: 768px) 100vw, 33vw", + "object-cover transition-transform duration-500 hover:scale-105", + "accent", + "absolute top-3 left-3 bg-[#6b8e23]/80 text-[#eeeae7] text-xs", + "From", + "/ night", + "p-4", + "text-lg font-serif text-[#eeeae7]", + "px-4 pb-2", + "text-sm text-[#eeeae7]/60 line-clamp-2", + "p-4 pt-2", + "outline", + "sm", + "border-[#d4af37] text-[#d4af37] hover:bg-[#d4af37]/10 w-full", + "Book This Room", + "text-center mt-12", + "ghost", + "text-[#d4af37] border border-[#d4af37]/30 hover:bg-[#d4af37]/10", + "View All Rooms — Personalise Your Stay" + ] + }, + { + "name": "OurStorySection", + "importPath": "@/components/sections/OurStorySection", + "position": 2, + "role": "about", + "hasImage": true, + "hasForm": false, + "itemCount": 9, + "layout": "flex-row", + "headings": [], + "buttonLabels": [ + "Read the Full Story", + "Begin Your Journey" + ], + "people": [], + "allText": [ + "next/image", + "next/link", + "@/components/ui/Button", + "ourstory", + "our-story", + "py-24 bg-[#1e1a16]", + "max-w-7xl mx-auto px-4", + "flex flex-col lg:flex-row items-center gap-12", + "w-full lg:w-1/2 relative", + "relative h-[400px] lg:h-[500px] overflow-hidden rounded-lg border border-[#403630]", + "Maasai elder sharing stories at a traditional manyatta", + "(max-width: 1024px) 100vw, 50vw", + "object-cover", + "absolute inset-0 bg-gradient-to-t from-[#17120f]/80 to-transparent", + "absolute -bottom-6 -right-6 w-48 h-48 lg:w-64 lg:h-64 overflow-hidden rounded-lg border-2 border-[#d4af37] shadow-2xl", + "Handcrafted Maasai beadwork detail on a suite door", + "(max-width: 1024px) 30vw, 20vw", + "w-full lg:w-1/2 space-y-6", + "flex items-center gap-4 mb-4", + "block w-14 h-px bg-[#d4af37]", + "text-[10px] tracking-[0.25em] uppercase text-[#d4af37] font-sans", + "Our Roots", + "text-4xl md:text-5xl font-light font-serif text-[#eeeae7]", + "Born from a", + "italic text-[#d4af37]", + "friendship", + "with the land", + "text-[#eeeae7]/70 leading-relaxed", + "Masai Suites began with a decade of living among the Maasai — learning the rhythm of the Rift Valley, \n the weight of a beaded necklace, the story in a single acacia tree. Our founder, a conservation architect, \n partnered with Maasai elders to design six suites that honor the landscape without overwhelming it.", + "Every timber beam was sourced from sustainably managed forests in the Aberdares. \n Every woven ceiling echoes a manyatta roof. Our community partnership ensures that 15% of every booking \n funds local schools and water projects in the adjacent Olkiramatian group ranch.", + "flex flex-wrap gap-4 pt-4", + "outline", + "border-[#d4af37] text-[#d4af37] hover:bg-[#d4af37]/10", + "Read the Full Story", + "default", + "bg-[#8b5a3c] hover:bg-[#7a4d34] text-[#eeeae7] border border-[#d4af37]/30", + "Begin Your Journey" + ] + }, + { + "name": "SpecialOffersSection", + "importPath": "@/components/sections/SpecialOffersSection", + "position": 3, + "role": "cms-promotions", + "hasImage": true, + "hasForm": false, + "itemCount": -1, + "layout": "grid", + "headings": [], + "buttonLabels": [ + "Book Now" + ], + "people": [], + "allText": [ + "use client", + "@/hooks/useEmDashContent", + "next/image", + "next/link", + "@/components/ui/Button", + "@/components/ui/Card", + "promotions", + "flex justify-center py-24", + "w-8 h-8 rounded-full border-2 border-current border-t-transparent animate-spin", + "special-offers", + "specialoffers", + "py-24 bg-[#17120f]", + "max-w-7xl mx-auto px-4", + "flex items-center justify-center gap-4 mb-12", + "block w-14 h-px bg-[#d4af37]/50", + "text-[#d4af37] tracking-[0.2em] text-xs font-sans uppercase", + "Seasonal Offers", + "text-4xl md:text-5xl font-light text-[#eeeae7] text-center mb-16", + "Cormorant Garamond, serif", + "italic text-[#d4af37]", + "Exclusive", + "Packages", + "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8", + "bg-[#1c1612] border border-[#403630]/50 rounded-lg overflow-hidden group", + "relative h-52 overflow-hidden", + "Promotion", + "(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw", + "object-cover transition-transform duration-500 group-hover:scale-105", + "h-full w-full bg-[#2a1f1a]", + "text-[#eeeae7] text-lg font-sans tracking-wide", + "text-[#c0b8ae] text-sm leading-relaxed line-clamp-3", + "text-[#d4af37] font-semibold mt-4 text-base", + "KSh", + "/ night", + "pt-0", + "default", + "sm", + "bg-[#8b5a3c] hover:bg-[#7a4c31] text-[#eeeae7] border-none", + "Book Now" + ], + "cmsCollection": "promotions" + }, + { + "name": "GallerySection", + "importPath": "@/components/sections/GallerySection", + "position": 4, + "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-24", + "w-8 h-8 rounded-full border-2 border-current border-t-transparent animate-spin", + "py-24 bg-[#1c1612]", + "max-w-7xl mx-auto px-4", + "flex items-center justify-center gap-4 mb-12", + "block w-14 h-px bg-[#d4af37]/50", + "text-[#d4af37] tracking-[0.2em] text-xs font-sans uppercase", + "Visual Diary", + "text-4xl md:text-5xl font-light text-[#eeeae7] text-center mb-16", + "Cormorant Garamond, serif", + "italic text-[#d4af37]", + "Moments", + "at Masai Suites", + "grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4", + "group relative aspect-square overflow-hidden rounded-sm border border-[#403630]/50", + "Gallery image", + "(max-width: 768px) 50vw, (max-width: 1024px) 33vw, 25vw", + "object-cover transition-transform duration-500 group-hover:scale-105", + "h-full w-full bg-[#2a1f1a]", + "absolute inset-0 bg-gradient-to-t from-black/70 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end p-3", + "text-[#eeeae7] text-sm font-sans tracking-wide" + ], + "cmsCollection": "gallery" + }, + { + "name": "GuestStoriesSection", + "importPath": "@/components/sections/GuestStoriesSection", + "position": 5, + "role": "blog", + "hasImage": true, + "hasForm": false, + "itemCount": -1, + "layout": "grid", + "headings": [], + "buttonLabels": [], + "people": [], + "allText": [ + "use client", + "@/hooks/useEmDashContent", + "next/image", + "@/components/ui/Card", + "posts", + "flex justify-center py-24", + "w-8 h-8 rounded-full border-2 border-current border-t-transparent animate-spin", + "guest-stories", + "gueststories", + "py-24 bg-[#17120f]", + "max-w-7xl mx-auto px-4", + "flex items-center justify-center gap-4 mb-12", + "block w-14 h-px bg-[#d4af37]/50", + "text-[#d4af37] tracking-[0.2em] text-xs font-sans uppercase", + "Guest Stories", + "text-4xl md:text-5xl font-light text-[#eeeae7] text-center mb-16", + "Cormorant Garamond, serif", + "italic text-[#d4af37]", + "Voices", + "of Our Guests", + "grid grid-cols-1 md:grid-cols-3 gap-8", + "bg-[#1c1612] border border-[#403630]/50 rounded-lg p-0", + "relative h-44 overflow-hidden rounded-t-lg", + "Guest story", + "(max-width: 768px) 100vw, 33vw", + "object-cover", + "h-full w-full bg-[#2a1f1a]", + "flex items-center gap-2 mb-2", + "text-[#6b8e23] text-xs tracking-widest uppercase font-sans", + "text-[#eeeae7] text-lg font-sans tracking-wide leading-snug", + "text-[#c0b8ae] text-sm leading-relaxed line-clamp-4", + "text-[#d4af37] text-xs mt-4 font-sans uppercase tracking-wider" + ], + "cmsCollection": "posts" + }, + { + "name": "BookingCTASection", + "importPath": "@/components/sections/BookingCTASection", + "position": 6, + "role": "booking", + "hasImage": false, + "hasForm": false, + "itemCount": 3, + "layout": "flex-row", + "headings": [], + "buttonLabels": [ + "Book a Room" + ], + "people": [], + "allText": [ + "next/link", + "@/components/ui/Button", + "bookingcta", + "book-now", + "py-32 bg-[#17120f] relative overflow-hidden", + "absolute inset-0 bg-[radial-gradient(ellipse_at_center,_rgba(139,90,60,0.15)_0%,_transparent_70%)]", + "relative z-10 container mx-auto px-4 text-center max-w-2xl", + "flex items-center justify-center gap-4 mb-6", + "h-px w-14 bg-[#d4af37]", + "text-xs uppercase tracking-[0.2em] text-[#d4af37]", + "Reserve now", + "text-4xl md:text-5xl font-light text-[#eeeae7] mb-6 leading-tight", + "Your Kenyan Escape", + "italic text-[#d4af37] font-serif", + "Awaits", + "text-lg text-[#c4b8ae] mb-8 max-w-lg mx-auto", + "Flexible dates + seamless online booking. Reserve your suite in minutes.", + "default", + "lg", + "bg-[#8b5a3c] hover:bg-[#7a4e34] text-white px-10 py-3 text-base rounded-sm", + "Book a Room" + ] + }, + { + "name": "LocationSection", + "importPath": "@/components/sections/LocationSection", + "position": 7, + "role": "unknown", + "hasImage": true, + "hasForm": false, + "itemCount": -1, + "layout": "grid", + "headings": [ + "Masai Suites location" + ], + "buttonLabels": [], + "people": [], + "allText": [ + "use client", + "@/hooks/useEmDashContent", + "lucide-react", + "business_hours", + "flex justify-center py-16 bg-[#17120f]", + "w-8 h-8 rounded-full border-2 border-current border-t-transparent animate-spin text-[#d4af37]", + "location", + "py-28 bg-[#1a1511]", + "container mx-auto px-4 max-w-7xl", + "text-center mb-14", + "flex items-center justify-center gap-4 mb-5", + "h-px w-14 bg-[#d4af37]", + "text-xs uppercase tracking-[0.2em] text-[#d4af37]", + "Find us", + "text-4xl md:text-5xl font-light text-[#eeeae7] mb-4", + "Nestled on the edge of", + "italic text-[#d4af37] font-serif", + "Nairobi", + "text-[#c4b8ae] max-w-xl mx-auto", + "A peaceful retreat minutes from Nairobi National Park and the city centre.", + "grid md:grid-cols-2 gap-8 items-start", + "border border-[#403630] overflow-hidden rounded-sm", + "Masai Suites location", + "100%", + "340", + "lazy", + "w-full", + "space-y-8", + "flex items-center gap-2 text-sm uppercase tracking-[0.1em] text-[#d4af37] mb-4", + "w-4 h-4", + "Reception hours", + "space-y-2 border border-[#403630] rounded-sm p-4", + "flex justify-between text-sm text-[#c4b8ae]", + "font-medium text-[#eeeae7]", + "Closed", + "Driving from Nairobi", + "text-sm text-[#c4b8ae] leading-relaxed", + "Take Langata Road south past the National Park gate. After 8 km,\n turn onto Magadi Road at the", + "text-[#eeeae7]", + "Oloolua", + "junction.\n Masai Suites is 800 m ahead on the right – look for the acacia-lined driveway.", + "flex items-start gap-2 text-sm text-[#c4b8ae]", + "w-4 h-4 mt-0.5 shrink-0 text-[#d4af37]", + "Off Magadi Road, Langata, Nairobi", + "GPS", + ": -1.2920, 36.8179" + ], + "cmsCollection": "business_hours" + }, + { + "name": "ContactEnquirySection", + "importPath": "@/components/sections/ContactEnquirySection", + "position": 8, + "role": "contact", + "hasImage": false, + "hasForm": true, + "itemCount": 10, + "layout": "grid", + "headings": [], + "buttonLabels": [], + "people": [], + "allText": [ + "use client", + "react", + "@/components/ui/Button", + "@/components/ui/Input", + "lucide-react", + "contactenquiry", + "enquire", + "py-28 bg-[#17120f]", + "container mx-auto px-4 max-w-7xl", + "text-center mb-14", + "flex items-center justify-center gap-4 mb-5", + "h-px w-14 bg-[#d4af37]", + "text-xs uppercase tracking-[0.2em] text-[#d4af37]", + "Get in touch", + "text-4xl md:text-5xl font-light text-[#eeeae7] mb-4", + "Let us craft your", + "italic text-[#d4af37] font-serif", + "stay", + "text-[#c4b8ae] max-w-lg mx-auto", + "Bespoke arrangements, group stays, or any special request – we are here to listen.", + "grid md:grid-cols-2 gap-12 items-start max-w-4xl mx-auto", + "space-y-5", + "Your name", + "bg-[#1a1511] border-[#403630] text-[#eeeae7] placeholder:text-[#6b5f55] rounded-sm", + "email", + "Email address", + "tel", + "Phone (optional)", + "Tell us about your plans...", + "w-full bg-[#1a1511] border border-[#403630] text-[#eeeae7] placeholder:text-[#6b5f55] rounded-sm px-4 py-3 text-sm focus:outline-none focus:ring-1 focus:ring-[#d4af37] resize-none", + "text-sm text-[#6b8e23]", + "Enquiry sent – we will respond within 24 hours.", + "submit", + "default", + "lg", + "w-full bg-[#8b5a3c] hover:bg-[#7a4e34] text-white rounded-sm", + "w-4 h-4 mr-2", + "Send Enquiry", + "space-y-8 pt-2", + "flex items-start gap-4", + "w-5 h-5 mt-0.5 text-[#d4af37] shrink-0", + "text-sm uppercase tracking-wider text-[#6b5f55] mb-1", + "Call us", + "text-[#eeeae7]", + "+254 712 345 678", + "Email", + "info@masaisuites.com", + "border-t border-[#403630] pt-6", + "text-sm text-[#c4b8ae] leading-relaxed", + "Prefer WhatsApp? Send a message to the same number.\n We aim to reply within 30 minutes during reception hours." + ] + } + ], + "navigationLinks": [ + "Masai Suites", + "Home", + "Rooms", + "Our Story", + "Special Offers", + "Gallery", + "Location", + "Book a Room" + ] +} \ No newline at end of file