Deploy
This commit is contained in:
+814
@@ -0,0 +1,814 @@
|
||||
{
|
||||
"projectName": "Ngema Naturals",
|
||||
"businessType": "",
|
||||
"industry": "",
|
||||
"tone": "",
|
||||
"tier": 3,
|
||||
"generatedAt": "2026-07-28T09:23:25.406Z",
|
||||
"sections": [
|
||||
{
|
||||
"name": "HeritageGlowHeroSection",
|
||||
"importPath": "@/components/sections/HeritageGlowHeroSection",
|
||||
"position": 0,
|
||||
"role": "hero",
|
||||
"hasImage": true,
|
||||
"hasForm": false,
|
||||
"itemCount": -1,
|
||||
"layout": "flex-row",
|
||||
"headings": [
|
||||
"{d.title || 'Imvelo Yakho – Your Nature'}"
|
||||
],
|
||||
"buttonLabels": [],
|
||||
"people": [],
|
||||
"allText": [
|
||||
"use client",
|
||||
"@/hooks/useVulaContent",
|
||||
"next/image",
|
||||
"@/components/ui/Button",
|
||||
"lucide-react",
|
||||
"hero_banners",
|
||||
"flex justify-center py-16",
|
||||
"w-8 h-8 rounded-full border-2 border-current border-t-transparent animate-spin",
|
||||
"hero",
|
||||
"heritageglowhero",
|
||||
"relative min-h-[90vh] flex items-center overflow-hidden bg-[#2c331f]",
|
||||
"absolute inset-0",
|
||||
"Hero background",
|
||||
"object-cover opacity-50",
|
||||
"100vw",
|
||||
"absolute inset-0 bg-gradient-to-r from-[#2c331f]/80 to-transparent",
|
||||
"relative container mx-auto px-6 lg:px-12 z-10",
|
||||
"max-w-2xl",
|
||||
"text-4xl md:text-5xl lg:text-6xl font-bold text-[#f4f5f2] mb-6 leading-tight",
|
||||
"Imvelo Yakho – Your Nature",
|
||||
"text-lg md:text-xl text-[#daddd4] mb-8 max-w-xl",
|
||||
"Handcrafted skincare from Pretoria's indigenous botanicals – cold-pressed, small-batch, rooted in South African wisdom.",
|
||||
"#indigenous-botanicals",
|
||||
"default",
|
||||
"lg",
|
||||
"bg-[#ea580c] hover:bg-[#d24b0a] text-white border-none flex items-center gap-2",
|
||||
"Explore Our Range",
|
||||
"w-5 h-5"
|
||||
],
|
||||
"cmsCollection": "hero_banners"
|
||||
},
|
||||
{
|
||||
"name": "BrandCarouselSection",
|
||||
"importPath": "@/components/sections/BrandCarouselSection",
|
||||
"position": 1,
|
||||
"role": "partners",
|
||||
"hasImage": true,
|
||||
"hasForm": false,
|
||||
"itemCount": 4,
|
||||
"layout": "flex-row",
|
||||
"headings": [
|
||||
"Shop by Collection"
|
||||
],
|
||||
"buttonLabels": [],
|
||||
"people": [],
|
||||
"allText": [
|
||||
"use client",
|
||||
"react",
|
||||
"next/link",
|
||||
"next/image",
|
||||
"py-10 px-4",
|
||||
"max-w-7xl mx-auto",
|
||||
"text-xl font-bold mb-5",
|
||||
"Shop by Collection",
|
||||
"flex gap-4 overflow-x-auto pb-3 scrollbar-hide snap-x snap-mandatory",
|
||||
"flex-none snap-start w-36 group",
|
||||
"relative h-36 w-36 rounded-2xl overflow-hidden bg-muted mb-2 group-hover:shadow-md transition-shadow",
|
||||
"object-cover group-hover:scale-105 transition-transform duration-300",
|
||||
"w-full h-full flex items-center justify-center text-3xl font-bold text-primary/30 uppercase",
|
||||
"text-xs font-medium text-center line-clamp-2 group-hover:text-primary transition-colors"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "AdvertBannerSection",
|
||||
"importPath": "@/components/sections/AdvertBannerSection",
|
||||
"position": 2,
|
||||
"role": "hero",
|
||||
"hasImage": true,
|
||||
"hasForm": false,
|
||||
"itemCount": 4,
|
||||
"layout": "flex-row",
|
||||
"headings": [
|
||||
"{headline}"
|
||||
],
|
||||
"buttonLabels": [],
|
||||
"people": [],
|
||||
"allText": [
|
||||
"next/image",
|
||||
"next/link",
|
||||
"@/lib/cms",
|
||||
"relative w-full overflow-hidden rounded-2xl my-8 mx-auto max-w-7xl px-4",
|
||||
"relative h-64 md:h-80 w-full",
|
||||
"object-cover rounded-2xl",
|
||||
"absolute inset-0 bg-black/45 rounded-2xl",
|
||||
"absolute inset-0 flex flex-col items-center justify-center text-center px-6 gap-3",
|
||||
"text-2xl md:text-4xl font-bold text-white drop-shadow",
|
||||
"text-sm md:text-base text-white/90",
|
||||
"mt-2 inline-block bg-white text-black font-semibold px-6 py-2 rounded-full hover:bg-primary hover:text-white transition-colors text-sm",
|
||||
"flex flex-col items-center justify-center gap-3 py-16 px-6 text-center bg-primary/10 rounded-2xl",
|
||||
"text-2xl md:text-3xl font-bold",
|
||||
"text-muted-foreground",
|
||||
"inline-block bg-primary text-white font-semibold px-6 py-2 rounded-full hover:bg-primary/80 transition-colors text-sm"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "FeaturedProductsSection",
|
||||
"importPath": "@/components/sections/FeaturedProductsSection",
|
||||
"position": 3,
|
||||
"role": "services",
|
||||
"hasImage": false,
|
||||
"hasForm": false,
|
||||
"itemCount": 11,
|
||||
"layout": "grid",
|
||||
"headings": [
|
||||
"Featured Products"
|
||||
],
|
||||
"buttonLabels": [],
|
||||
"people": [],
|
||||
"allText": [
|
||||
"use client",
|
||||
"@/hooks/useFeaturedProducts",
|
||||
"next/link",
|
||||
"lucide-react",
|
||||
"@/hooks/useMedusaCart",
|
||||
"KSh",
|
||||
"py-20",
|
||||
"container mx-auto px-4",
|
||||
"grid grid-cols-2 md:grid-cols-4 gap-6",
|
||||
"aspect-square rounded-xl bg-muted animate-pulse",
|
||||
"featuredproducts",
|
||||
"flex items-center justify-between mb-10",
|
||||
"text-xs uppercase tracking-widest text-primary font-semibold mb-1",
|
||||
"Curated for You",
|
||||
"text-3xl font-bold text-foreground",
|
||||
"Featured Products",
|
||||
"text-sm font-semibold text-primary hover:underline underline-offset-4",
|
||||
"View all →",
|
||||
"group bg-card rounded-xl overflow-hidden border border-border hover:shadow-md transition-all",
|
||||
"block",
|
||||
"relative aspect-square bg-muted",
|
||||
"w-full h-full object-cover group-hover:scale-105 transition-transform duration-500",
|
||||
"w-full h-full flex items-center justify-center",
|
||||
"h-8 w-8 text-muted-foreground/30",
|
||||
"p-4",
|
||||
"text-sm font-semibold text-foreground line-clamp-2 mb-1 hover:text-primary transition-colors",
|
||||
"text-sm font-bold text-primary mb-3",
|
||||
"cart-drawer-open",
|
||||
"w-full text-xs bg-primary/10 text-primary hover:bg-primary hover:text-primary-foreground py-2 rounded-lg transition-colors font-medium disabled:opacity-40",
|
||||
"Add to Cart"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "IndigenousBotanicalsFeaturedSection",
|
||||
"importPath": "@/components/sections/IndigenousBotanicalsFeaturedSection",
|
||||
"position": 4,
|
||||
"role": "services",
|
||||
"hasImage": true,
|
||||
"hasForm": false,
|
||||
"itemCount": 8,
|
||||
"layout": "grid",
|
||||
"headings": [
|
||||
"Indigenous Botanicals",
|
||||
"{product.title}"
|
||||
],
|
||||
"buttonLabels": [],
|
||||
"people": [],
|
||||
"allText": [
|
||||
"use client",
|
||||
"@/hooks/useMedusaProducts",
|
||||
"@/hooks/useMedusaCart",
|
||||
"@/components/ui/Card",
|
||||
"@/components/ui/Button",
|
||||
"next/image",
|
||||
"next/link",
|
||||
"lucide-react",
|
||||
"KSh",
|
||||
"flex justify-center py-16",
|
||||
"w-8 h-8 rounded-full border-2 border-current border-t-transparent animate-spin",
|
||||
"cart-drawer-open",
|
||||
"indigenousbotanicalsfeatured",
|
||||
"indigenous-botanicals",
|
||||
"py-20 bg-[#f4f5f2]",
|
||||
"container mx-auto px-4",
|
||||
"text-center mb-12",
|
||||
"text-sm uppercase tracking-widest text-[#8b5a3c] mb-2",
|
||||
"Ubuhle Bendalo",
|
||||
"text-3xl md:text-4xl font-bold text-[#2c331f]",
|
||||
"Indigenous Botanicals",
|
||||
"text-[#8b5a3c] mt-3 max-w-xl mx-auto",
|
||||
"Handpicked from the wild – marula, rooibos, buchu – each jar tells a story of African earth.",
|
||||
"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6",
|
||||
"rounded-2xl border-none shadow-lg hover:shadow-xl transition-shadow duration-300 overflow-hidden bg-white",
|
||||
"block relative aspect-square overflow-hidden",
|
||||
"object-cover hover:scale-105 transition-transform duration-500",
|
||||
"(max-width: 768px) 100vw, 300px",
|
||||
"p-4 pb-2",
|
||||
"hover:underline",
|
||||
"font-semibold text-[#2c331f] text-lg truncate",
|
||||
"text-[#ea580c] font-bold mt-1",
|
||||
"p-4 pt-0",
|
||||
"default",
|
||||
"sm",
|
||||
"w-full bg-[#6b8e23] hover:bg-[#5a7a1e] text-white",
|
||||
"w-4 h-4 mr-2",
|
||||
"Add to Cart"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "BestsellersGridSection",
|
||||
"importPath": "@/components/sections/BestsellersGridSection",
|
||||
"position": 5,
|
||||
"role": "unknown",
|
||||
"hasImage": true,
|
||||
"hasForm": false,
|
||||
"itemCount": 9,
|
||||
"layout": "grid",
|
||||
"headings": [
|
||||
"Bestsellers",
|
||||
"{product.title}"
|
||||
],
|
||||
"buttonLabels": [],
|
||||
"people": [],
|
||||
"allText": [
|
||||
"use client",
|
||||
"@/hooks/useMedusaProducts",
|
||||
"@/hooks/useMedusaCart",
|
||||
"@/components/ui/Card",
|
||||
"@/components/ui/Button",
|
||||
"@/components/ui/Badge",
|
||||
"next/image",
|
||||
"next/link",
|
||||
"lucide-react",
|
||||
"KSh",
|
||||
"flex justify-center py-16",
|
||||
"w-8 h-8 rounded-full border-2 border-current border-t-transparent animate-spin",
|
||||
"cart-drawer-open",
|
||||
"bestsellersgrid",
|
||||
"bestsellers",
|
||||
"py-20 bg-white",
|
||||
"container mx-auto px-4",
|
||||
"text-center mb-12",
|
||||
"text-sm uppercase tracking-widest text-[#8b5a3c] mb-2",
|
||||
"Amandla Popular",
|
||||
"text-3xl md:text-4xl font-bold text-[#2c331f]",
|
||||
"Bestsellers",
|
||||
"text-[#8b5a3c] mt-3 max-w-xl mx-auto",
|
||||
"Our community's most-loved rituals – tried, tested, and adored across South Africa.",
|
||||
"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6",
|
||||
"rounded-2xl border-none shadow-lg hover:shadow-xl transition-shadow duration-300 overflow-hidden bg-[#f4f5f2]",
|
||||
"relative",
|
||||
"block relative aspect-square overflow-hidden",
|
||||
"object-cover hover:scale-105 transition-transform duration-500",
|
||||
"(max-width: 768px) 100vw, 300px",
|
||||
"accent",
|
||||
"absolute top-3 left-3 bg-[#ea580c] text-white text-xs px-2 py-1 rounded-full",
|
||||
"w-3 h-3 inline mr-1",
|
||||
"Bestseller",
|
||||
"p-4 pb-2",
|
||||
"hover:underline",
|
||||
"font-semibold text-[#2c331f] text-lg truncate",
|
||||
"text-[#ea580c] font-bold mt-1",
|
||||
"p-4 pt-0",
|
||||
"default",
|
||||
"sm",
|
||||
"w-full bg-[#6b8e23] hover:bg-[#5a7a1e] text-white",
|
||||
"w-4 h-4 mr-2",
|
||||
"Add to Cart"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "MostPopularSection",
|
||||
"importPath": "@/components/sections/MostPopularSection",
|
||||
"position": 6,
|
||||
"role": "unknown",
|
||||
"hasImage": false,
|
||||
"hasForm": false,
|
||||
"itemCount": 12,
|
||||
"layout": "grid",
|
||||
"headings": [
|
||||
"Most Popular"
|
||||
],
|
||||
"buttonLabels": [],
|
||||
"people": [],
|
||||
"allText": [
|
||||
"use client",
|
||||
"react",
|
||||
"@/hooks/useMedusaCart",
|
||||
"@/hooks/useMedusaProducts",
|
||||
"next/link",
|
||||
"lucide-react",
|
||||
"KSh",
|
||||
"py-20",
|
||||
"container mx-auto px-4",
|
||||
"grid grid-cols-2 md:grid-cols-4 gap-6",
|
||||
"aspect-square rounded-xl bg-muted animate-pulse",
|
||||
"mostpopular",
|
||||
"flex items-center justify-between mb-10",
|
||||
"flex items-center gap-3",
|
||||
"h-6 w-6 text-primary",
|
||||
"text-xs uppercase tracking-widest text-primary font-semibold mb-1",
|
||||
"Best Sellers",
|
||||
"text-3xl font-bold text-foreground",
|
||||
"Most Popular",
|
||||
"text-sm font-semibold text-primary hover:underline underline-offset-4 hidden md:inline-flex items-center gap-1",
|
||||
"View all →",
|
||||
"grid grid-cols-2 lg:grid-cols-4 gap-6",
|
||||
"group bg-card rounded-xl overflow-hidden border border-border hover:shadow-md transition-all relative",
|
||||
"absolute top-2 left-2 z-10 bg-primary text-primary-foreground text-xs font-semibold px-2 py-0.5 rounded-full",
|
||||
"Best Seller",
|
||||
"block overflow-hidden",
|
||||
"relative aspect-square bg-muted",
|
||||
"w-full h-full object-cover group-hover:scale-105 transition-transform duration-300",
|
||||
"w-full h-full flex items-center justify-center",
|
||||
"h-8 w-8 text-muted-foreground/30",
|
||||
"p-4",
|
||||
"text-sm font-semibold text-foreground line-clamp-2 mb-1 hover:text-primary transition-colors",
|
||||
"text-sm font-bold text-primary mb-3",
|
||||
"cart-drawer-open",
|
||||
"w-full text-xs bg-primary/10 text-primary hover:bg-primary hover:text-primary-foreground py-2 rounded-lg transition-colors font-medium disabled:opacity-40",
|
||||
"Add to Cart"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ProductCarouselSection",
|
||||
"importPath": "@/components/sections/ProductCarouselSection",
|
||||
"position": 7,
|
||||
"role": "services",
|
||||
"hasImage": true,
|
||||
"hasForm": false,
|
||||
"itemCount": 4,
|
||||
"layout": "flex-row",
|
||||
"headings": [
|
||||
"{section.title}"
|
||||
],
|
||||
"buttonLabels": [],
|
||||
"people": [],
|
||||
"allText": [
|
||||
"next/image",
|
||||
"next/link",
|
||||
"@/lib/cms",
|
||||
"KSh",
|
||||
"x-publishable-api-key",
|
||||
"py-8 px-4",
|
||||
"max-w-7xl mx-auto",
|
||||
"text-xl font-bold mb-5",
|
||||
"flex gap-4 overflow-x-auto pb-3 scrollbar-hide snap-x snap-mandatory",
|
||||
"flex-none snap-start w-44 group",
|
||||
"relative h-44 w-44 rounded-xl overflow-hidden bg-muted mb-2 group-hover:shadow-md transition-shadow",
|
||||
"object-cover group-hover:scale-105 transition-transform duration-300",
|
||||
"w-full h-full flex items-center justify-center text-muted-foreground text-xs",
|
||||
"No image",
|
||||
"text-xs font-medium line-clamp-2 group-hover:text-primary transition-colors mb-1",
|
||||
"text-xs font-bold text-primary"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "RootedHeritageStorySection",
|
||||
"importPath": "@/components/sections/RootedHeritageStorySection",
|
||||
"position": 8,
|
||||
"role": "about",
|
||||
"hasImage": true,
|
||||
"hasForm": false,
|
||||
"itemCount": 14,
|
||||
"layout": "grid",
|
||||
"headings": [
|
||||
"Rooted in Nature, Crafted by Hand",
|
||||
"Harvest",
|
||||
"Cold-Press",
|
||||
"Bottle"
|
||||
],
|
||||
"buttonLabels": [],
|
||||
"people": [],
|
||||
"allText": [
|
||||
"next/image",
|
||||
"lucide-react",
|
||||
"rootedheritagestory",
|
||||
"our-story",
|
||||
"py-20 bg-[#f4f5f2]",
|
||||
"container mx-auto px-4",
|
||||
"grid grid-cols-1 lg:grid-cols-2 gap-12 items-center",
|
||||
"relative aspect-[4/3] rounded-3xl overflow-hidden shadow-xl",
|
||||
"Rooibos fields in the Cederberg",
|
||||
"object-cover",
|
||||
"(max-width: 768px) 100vw, 50vw",
|
||||
"absolute inset-0 bg-[#6b8e23]/20",
|
||||
"text-sm uppercase tracking-widest text-[#8b5a3c] mb-2",
|
||||
"Ubuhle Bendalo",
|
||||
"text-3xl md:text-4xl font-bold text-[#2c331f] mb-6",
|
||||
"Rooted in Nature, Crafted by Hand",
|
||||
"space-y-4 text-[#2c331f]/80 max-w-prose",
|
||||
"Ngema Naturals was born in Pretoria, where we cold-press indigenous oils just as our grandmothers taught us – small batches, no shortcuts. Our marula is harvested from wild trees in KwaZulu-Natal; our rooibos comes from the Cederberg; our buchu is wildcrafted by the Cape.",
|
||||
"Every bottle carries the wisdom of generations. We partner directly with women-led cooperatives to ensure fair wages and ethical sourcing.",
|
||||
"mt-8 grid grid-cols-3 gap-4",
|
||||
"bg-white rounded-xl p-4 shadow-sm text-center",
|
||||
"w-6 h-6 text-[#6b8e23] mx-auto mb-2",
|
||||
"text-sm font-semibold text-[#2c331f]",
|
||||
"Wild Harvested",
|
||||
"Cold-Pressed",
|
||||
"Small-Batch",
|
||||
"mt-16 grid grid-cols-1 md:grid-cols-3 gap-6",
|
||||
"bg-white rounded-2xl p-6 shadow-sm",
|
||||
"font-bold text-[#2c331f] mb-2",
|
||||
"Harvest",
|
||||
"text-sm text-[#8b5a3c]",
|
||||
"Sustainably picked at peak ripeness from wild trees and fynbos.",
|
||||
"Cold-Press",
|
||||
"Extracted within 48 hours to preserve antioxidants and aroma.",
|
||||
"Bottle",
|
||||
"Hand-poured into amber glass, sealed with a story."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "HarvestPromoCampaignSection",
|
||||
"importPath": "@/components/sections/HarvestPromoCampaignSection",
|
||||
"position": 9,
|
||||
"role": "cms-campaigns",
|
||||
"hasImage": true,
|
||||
"hasForm": false,
|
||||
"itemCount": -1,
|
||||
"layout": "grid",
|
||||
"headings": [
|
||||
"{d.title}"
|
||||
],
|
||||
"buttonLabels": [],
|
||||
"people": [],
|
||||
"allText": [
|
||||
"use client",
|
||||
"react",
|
||||
"@/hooks/useVulaContent",
|
||||
"next/image",
|
||||
"next/link",
|
||||
"@/components/ui/Button",
|
||||
"@/components/ui/Badge",
|
||||
"campaigns",
|
||||
"flex justify-center py-16",
|
||||
"w-8 h-8 rounded-full border-2 border-[#6b8e23] border-t-transparent animate-spin",
|
||||
"harvestpromocampaign",
|
||||
"py-20 bg-[#f4f5f2]",
|
||||
"max-w-6xl mx-auto px-4",
|
||||
"relative overflow-hidden rounded-[28px] shadow-2xl",
|
||||
"#6b8e23",
|
||||
"grid md:grid-cols-2 items-center gap-8 p-8 md:p-12",
|
||||
"text-white",
|
||||
"accent",
|
||||
"mb-4 bg-[#ea580c] text-white px-4 py-1 rounded-full text-sm font-semibold",
|
||||
"text-3xl md:text-4xl font-bold mb-4 leading-tight",
|
||||
"text-white/80 mb-6 max-w-md",
|
||||
"default",
|
||||
"lg",
|
||||
"rounded-full bg-white text-[#6b8e23] hover:bg-white/90 transition-all duration-200",
|
||||
"mt-6 flex items-center gap-2 text-sm text-white/70",
|
||||
"inline-block w-2 h-2 rounded-full bg-[#ea580c]",
|
||||
"Limited time offer",
|
||||
"relative h-64 md:h-80 rounded-2xl overflow-hidden",
|
||||
"Campaign image",
|
||||
"object-cover",
|
||||
"(max-width: 768px) 100vw, 50vw",
|
||||
"flex justify-center gap-2 pb-6",
|
||||
"bg-white",
|
||||
"bg-white/40 hover:bg-white/60"
|
||||
],
|
||||
"cmsCollection": "campaigns"
|
||||
},
|
||||
{
|
||||
"name": "UbuntuGlowTestimonialsSection",
|
||||
"importPath": "@/components/sections/UbuntuGlowTestimonialsSection",
|
||||
"position": 10,
|
||||
"role": "blog",
|
||||
"hasImage": true,
|
||||
"hasForm": false,
|
||||
"itemCount": -1,
|
||||
"layout": "grid",
|
||||
"headings": [],
|
||||
"buttonLabels": [
|
||||
"Read more reviews →"
|
||||
],
|
||||
"people": [],
|
||||
"allText": [
|
||||
"use client",
|
||||
"@/hooks/useVulaContent",
|
||||
"next/image",
|
||||
"posts",
|
||||
"flex justify-center py-16",
|
||||
"w-8 h-8 rounded-full border-2 border-[#6b8e23] border-t-transparent animate-spin",
|
||||
"testimonials",
|
||||
"ubuntuglowtestimonials",
|
||||
"py-20 bg-[#f4f5f2]",
|
||||
"max-w-6xl mx-auto px-4",
|
||||
"text-center mb-12",
|
||||
"inline-block text-[#8b5a3c] text-sm font-semibold uppercase tracking-widest mb-2",
|
||||
"Ubuntu",
|
||||
"text-3xl md:text-4xl font-bold text-[#2c331f]",
|
||||
"text-[#6b8e23]",
|
||||
"I am because we are",
|
||||
"— real stories from our community",
|
||||
"grid md:grid-cols-3 gap-8",
|
||||
"bg-white rounded-[28px] p-8 shadow-lg hover:shadow-xl transition-all duration-200",
|
||||
"relative w-20 h-20 mx-auto mb-4 rounded-full overflow-hidden border-4 border-[#6b8e23]/20",
|
||||
"Customer",
|
||||
"object-cover",
|
||||
"80px",
|
||||
"text-center",
|
||||
"text-[#ea580c] text-lg mb-3",
|
||||
"★★★★★",
|
||||
"text-[#2c331f]/80 italic mb-4",
|
||||
"“",
|
||||
"”",
|
||||
"font-semibold text-[#2c331f]",
|
||||
"text-sm text-[#8b5a3c]",
|
||||
"text-center mt-8",
|
||||
"text-[#6b8e23] font-semibold hover:underline transition-all duration-200",
|
||||
"Read more reviews →"
|
||||
],
|
||||
"cmsCollection": "posts"
|
||||
},
|
||||
{
|
||||
"name": "IndigenousIngredientGallerySection",
|
||||
"importPath": "@/components/sections/IndigenousIngredientGallerySection",
|
||||
"position": 11,
|
||||
"role": "gallery",
|
||||
"hasImage": true,
|
||||
"hasForm": false,
|
||||
"itemCount": -1,
|
||||
"layout": "flex-row",
|
||||
"headings": [
|
||||
"{d.title}"
|
||||
],
|
||||
"buttonLabels": [],
|
||||
"people": [],
|
||||
"allText": [
|
||||
"use client",
|
||||
"@/hooks/useVulaContent",
|
||||
"next/image",
|
||||
"gallery",
|
||||
"flex justify-center py-16",
|
||||
"w-8 h-8 rounded-full border-2 border-[#6b8e23] border-t-transparent animate-spin",
|
||||
"indigenousingredientgallery",
|
||||
"py-20 bg-[#f4f5f2]",
|
||||
"max-w-6xl mx-auto px-4",
|
||||
"text-center mb-12",
|
||||
"text-3xl md:text-4xl font-bold text-[#2c331f]",
|
||||
"From harvest to",
|
||||
"text-[#6b8e23]",
|
||||
"bottle",
|
||||
"text-[#8b5a3c] mt-2 max-w-lg mx-auto",
|
||||
"Every step, rooted in tradition and transparency.",
|
||||
"columns-1 md:columns-2 lg:columns-3 gap-6 space-y-6",
|
||||
"break-inside-avoid bg-white rounded-[28px] overflow-hidden shadow-lg hover:shadow-xl transition-all duration-200 group",
|
||||
"relative w-full h-64 overflow-hidden",
|
||||
"Gallery image",
|
||||
"object-cover group-hover:scale-105 transition-transform duration-500",
|
||||
"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw",
|
||||
"p-5",
|
||||
"font-semibold text-[#2c331f] text-lg mb-1",
|
||||
"text-sm text-[#8b5a3c]/80"
|
||||
],
|
||||
"cmsCollection": "gallery"
|
||||
},
|
||||
{
|
||||
"name": "IkhambiBlogSection",
|
||||
"importPath": "@/components/sections/IkhambiBlogSection",
|
||||
"position": 12,
|
||||
"role": "blog",
|
||||
"hasImage": true,
|
||||
"hasForm": false,
|
||||
"itemCount": -1,
|
||||
"layout": "grid",
|
||||
"headings": [
|
||||
"{d.title}"
|
||||
],
|
||||
"buttonLabels": [
|
||||
"Read more →"
|
||||
],
|
||||
"people": [],
|
||||
"allText": [
|
||||
"use client",
|
||||
"@/hooks/useVulaContent",
|
||||
"next/image",
|
||||
"next/link",
|
||||
"@/components/ui/Button",
|
||||
"posts",
|
||||
"flex justify-center py-16",
|
||||
"w-8 h-8 rounded-full border-2 border-[#6b8e23] border-t-transparent animate-spin",
|
||||
"blog",
|
||||
"ikhambiblog",
|
||||
"py-20 bg-[#f4f5f2]",
|
||||
"max-w-6xl mx-auto px-4",
|
||||
"text-center mb-12",
|
||||
"text-3xl md:text-4xl font-bold text-[#2c331f]",
|
||||
"text-[#8b5a3c]",
|
||||
"Ikhambi",
|
||||
"— wisdom from the earth",
|
||||
"text-[#6b8e23] mt-2",
|
||||
"Deepen your ritual with stories and guides.",
|
||||
"grid md:grid-cols-3 gap-8",
|
||||
"bg-white rounded-[28px] overflow-hidden shadow-lg hover:shadow-xl transition-all duration-200 group",
|
||||
"relative h-48 overflow-hidden",
|
||||
"Blog image",
|
||||
"object-cover group-hover:scale-105 transition-transform duration-500",
|
||||
"(max-width: 768px) 100vw, 33vw",
|
||||
"p-6",
|
||||
"text-xs font-semibold text-[#ea580c] uppercase tracking-wider",
|
||||
"text-xl font-bold text-[#8b5a3c] mt-2 mb-2 leading-snug",
|
||||
"text-[#2c331f]/80 text-sm mb-4 line-clamp-3",
|
||||
"text-xs text-[#6b8e23] mb-4",
|
||||
"By",
|
||||
"ghost",
|
||||
"sm",
|
||||
"text-[#6b8e23] hover:text-[#6b8e23]/80 p-0",
|
||||
"Read more →"
|
||||
],
|
||||
"cmsCollection": "posts"
|
||||
},
|
||||
{
|
||||
"name": "VisitOurWorkshopSection",
|
||||
"importPath": "@/components/sections/VisitOurWorkshopSection",
|
||||
"position": 13,
|
||||
"role": "gallery",
|
||||
"hasImage": false,
|
||||
"hasForm": false,
|
||||
"itemCount": -1,
|
||||
"layout": "grid",
|
||||
"headings": [
|
||||
"Come See Us",
|
||||
"Ngema Naturals Workshop Map"
|
||||
],
|
||||
"buttonLabels": [],
|
||||
"people": [],
|
||||
"allText": [
|
||||
"use client",
|
||||
"@/hooks/useVulaContent",
|
||||
"lucide-react",
|
||||
"@/components/ui/Button",
|
||||
"business_hours",
|
||||
"flex justify-center py-16",
|
||||
"w-8 h-8 rounded-full border-2 border-current border-t-transparent animate-spin",
|
||||
"123 Marula Lane, Pretoria, 0002",
|
||||
"+27 12 345 6789",
|
||||
"hello@ngemanaturals.co.za",
|
||||
"123 Marula Lane, Pretoria, South Africa",
|
||||
"visit-us",
|
||||
"visitourworkshop",
|
||||
"py-20 bg-[#f4f5f2]",
|
||||
"container mx-auto px-4",
|
||||
"grid grid-cols-1 lg:grid-cols-2 gap-12 items-start",
|
||||
"mb-6",
|
||||
"text-sm uppercase tracking-wider text-[#6b8e23] mb-2",
|
||||
"Hamba Lapha",
|
||||
"text-4xl font-bold text-[#2c331f]",
|
||||
"Come See Us",
|
||||
"mt-4 text-[#8b5a3c] max-w-md",
|
||||
"Witness the cold-press process, pick up fresh batches, and connect personally with Mama Ngema.",
|
||||
"space-y-4",
|
||||
"flex items-center justify-between bg-white rounded-xl px-5 py-3 shadow-md",
|
||||
"font-medium text-[#2c331f]",
|
||||
"text-sm text-[#ea580c]",
|
||||
"Closed",
|
||||
"text-sm text-[#6b8e23]",
|
||||
"mt-8 space-y-3",
|
||||
"flex items-center gap-2 text-[#8b5a3c]",
|
||||
"w-5 h-5",
|
||||
"outline",
|
||||
"sm",
|
||||
"mt-2",
|
||||
"w-4 h-4 mr-2",
|
||||
"WhatsApp Us",
|
||||
"relative h-80 lg:h-full min-h-[300px] rounded-3xl overflow-hidden shadow-xl",
|
||||
"100%",
|
||||
"lazy",
|
||||
"no-referrer-when-downgrade",
|
||||
"Ngema Naturals Workshop Map"
|
||||
],
|
||||
"cmsCollection": "business_hours"
|
||||
},
|
||||
{
|
||||
"name": "EnquiryFormSection",
|
||||
"importPath": "@/components/sections/EnquiryFormSection",
|
||||
"position": 14,
|
||||
"role": "contact",
|
||||
"hasImage": true,
|
||||
"hasForm": true,
|
||||
"itemCount": 8,
|
||||
"layout": "grid",
|
||||
"headings": [
|
||||
"Ask me about ingredients, orders, or skincare rituals"
|
||||
],
|
||||
"buttonLabels": [],
|
||||
"people": [],
|
||||
"allText": [
|
||||
"use client",
|
||||
"react",
|
||||
"lucide-react",
|
||||
"next/image",
|
||||
"@/components/ui/Button",
|
||||
"@/components/ui/Input",
|
||||
"enquiryform",
|
||||
"contact",
|
||||
"py-20 bg-[#f4f5f2]",
|
||||
"container mx-auto px-4 max-w-5xl",
|
||||
"grid grid-cols-1 md:grid-cols-2 gap-12 items-center",
|
||||
"relative",
|
||||
"relative rounded-3xl overflow-hidden shadow-xl",
|
||||
"Mama Ngema in workshop",
|
||||
"object-cover w-full h-full",
|
||||
"absolute -bottom-4 -right-4 bg-white rounded-full px-6 py-3 shadow-lg",
|
||||
"text-sm font-medium text-[#6b8e23]",
|
||||
"Sawubona! Ask me anything.",
|
||||
"text-sm uppercase tracking-wider text-[#6b8e23] mb-2",
|
||||
"Talk to Mama Ngema",
|
||||
"text-3xl font-bold text-[#2c331f] mb-4",
|
||||
"Ask me about ingredients, orders, or skincare rituals",
|
||||
"text-[#8b5a3c] mb-6",
|
||||
"I reply within 24 hours. You can also reach me directly on WhatsApp or email.",
|
||||
"bg-white rounded-xl p-6 shadow-md text-center",
|
||||
"text-lg font-semibold text-[#6b8e23]",
|
||||
"Siyabonga! Your message has been received.",
|
||||
"text-sm text-[#8b5a3c] mt-2",
|
||||
"I'll get back to you soon.",
|
||||
"space-y-4",
|
||||
"text",
|
||||
"Your name",
|
||||
"email",
|
||||
"Your email",
|
||||
"Your message...",
|
||||
"w-full rounded-lg border border-[#daddd4] bg-white px-4 py-3 text-sm text-[#2c331f] placeholder:text-[#8b5a3c]/60 focus:outline-none focus:ring-2 focus:ring-[#6b8e23]",
|
||||
"submit",
|
||||
"default",
|
||||
"w-full",
|
||||
"w-4 h-4 mr-2",
|
||||
"Send Message",
|
||||
"mt-6 flex flex-wrap gap-3",
|
||||
"mailto:hello@ngemanaturals.co.za",
|
||||
"flex items-center gap-2 text-[#6b8e23] underline text-sm",
|
||||
"w-4 h-4",
|
||||
"hello@ngemanaturals.co.za",
|
||||
"_blank",
|
||||
"noopener noreferrer",
|
||||
"WhatsApp"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "EarthyNewsletterSection",
|
||||
"importPath": "@/components/sections/EarthyNewsletterSection",
|
||||
"position": 15,
|
||||
"role": "blog",
|
||||
"hasImage": true,
|
||||
"hasForm": true,
|
||||
"itemCount": 4,
|
||||
"layout": "grid",
|
||||
"headings": [
|
||||
"Get early access to small batches"
|
||||
],
|
||||
"buttonLabels": [],
|
||||
"people": [],
|
||||
"allText": [
|
||||
"use client",
|
||||
"react",
|
||||
"lucide-react",
|
||||
"next/image",
|
||||
"@/components/ui/Button",
|
||||
"@/components/ui/Input",
|
||||
"earthynewsletter",
|
||||
"newsletter",
|
||||
"py-20 bg-[#f4f5f2]",
|
||||
"container mx-auto px-4 max-w-5xl",
|
||||
"grid grid-cols-1 md:grid-cols-2 gap-8 items-center bg-white rounded-3xl shadow-xl overflow-hidden",
|
||||
"relative h-64 md:h-full min-h-[250px]",
|
||||
"Marula oil bottle",
|
||||
"(max-width: 768px) 100vw, 50vw",
|
||||
"object-cover",
|
||||
"p-8 md:p-12",
|
||||
"text-sm uppercase tracking-wider text-[#ea580c] mb-2",
|
||||
"Imvelo Tips",
|
||||
"text-2xl font-bold text-[#2c331f] mb-2",
|
||||
"Get early access to small batches",
|
||||
"text-[#8b5a3c] mb-6",
|
||||
"Subscribe for seasonal skincare tips, new product alerts, and exclusive offers from the workshop.",
|
||||
"text-lg font-semibold text-[#6b8e23]",
|
||||
"Siyabonga! You're on the list.",
|
||||
"flex flex-col sm:flex-row gap-3",
|
||||
"email",
|
||||
"Your email",
|
||||
"flex-1",
|
||||
"submit",
|
||||
"default",
|
||||
"whitespace-nowrap",
|
||||
"Subscribe",
|
||||
"w-4 h-4 ml-2"
|
||||
]
|
||||
}
|
||||
],
|
||||
"navigationLinks": [
|
||||
"Ngema Naturals",
|
||||
"Home",
|
||||
"Bestsellers Grid",
|
||||
"Rooted Heritage Story",
|
||||
"Visit Our Workshop",
|
||||
"Enquiry Form",
|
||||
"Products"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user