3 Commits

Author SHA1 Message Date
fe5e6c0185 Merge version_2_1781385971143 into main
Merge version_2_1781385971143 into main
2026-06-13 21:27:45 +00:00
kudinDmitriyUp
8a2e333566 Bob AI: Added a Featured In social proof section. 2026-06-13 21:27:06 +00:00
fd872748a4 Merge version_1_1781384859256 into main
Merge version_1_1781384859256 into main
2026-06-13 21:08:55 +00:00
9 changed files with 281 additions and 145 deletions

View File

@@ -1,156 +1,35 @@
import AboutMediaOverlay from '@/components/sections/about/AboutMediaOverlay';
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion';
import FeaturesMediaCarousel from '@/components/sections/features/FeaturesMediaCarousel';
import HeroBrand from '@/components/sections/hero/HeroBrand';
import PricingMediaCards from '@/components/sections/pricing/PricingMediaCards';
import TestimonialColumnMarqueeCards from '@/components/sections/testimonial/TestimonialColumnMarqueeCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
// AUTO-GENERATED shell by per-section-migrate.
// Section bodies live in ./<PageBase>/sections/<X>.tsx. Edit the section
// files directly. Non-block content (wrappers, non-inlinable sections) is
// preserved inline; extracted section blocks become <XSection/> refs.
export default function HomePage() {
import React from 'react';
import HeroSection from './HomePage/sections/Hero';
import AboutSection from './HomePage/sections/About';
import FeaturesSection from './HomePage/sections/Features';
import PricingSection from './HomePage/sections/Pricing';
import TestimonialsSection from './HomePage/sections/Testimonials';
import FaqSection from './HomePage/sections/Faq';
import ContactSection from './HomePage/sections/Contact';
import SocialProofSection from './HomePage/sections/SocialProof';export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroBrand
brand="Akwa Ngala"
description="Crafting bespoke elegance in the heart of Owerri. Transforming visions into timeless couture for the discerning individual at Ikenegbu Layout."
primaryButton={{
text: "Explore Collection", href: "#features"}}
secondaryButton={{
text: "Book Consultation", href: "#pricing"}}
imageSrc="http://img.b2bpic.net/free-photo/close-up-industrial-sewing-machine_482257-90413.jpg"
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<SocialProofSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutMediaOverlay
tag="Our Legacy"
title="Excellence in Craftsmanship"
description="Akwa Ngala represents the pinnacle of fashion design in Ikenegbu. We blend traditional techniques with modern aesthetic, creating pieces that resonate with grace and identity."
imageSrc="http://img.b2bpic.net/free-photo/front-view-brazilian-woman-working-as-clothing-designer_23-2150762250.jpg"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesMediaCarousel
tag="Our Work"
title="Bespoke Collections"
description="Each garment is a unique creation, meticulously designed and tailored to fit your lifestyle and preference."
items={[
{
title: "Couture Gowns", description: "Hand-stitched evening elegance.", buttonIcon: "Sparkles", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-girl-s-day-concept_23-2148594300.jpg"},
{
title: "Bespoke Suiting", description: "Tailored precision for gentlemen.", buttonIcon: "CheckCircle", imageSrc: "http://img.b2bpic.net/free-photo/ukrainian-embroidery-folk-arts-crafts_469670-25.jpg"},
{
title: "Traditional Fusion", description: "Modern twists on cultural styles.", buttonIcon: "Zap", imageSrc: "http://img.b2bpic.net/free-photo/mature-creative-handsome-dark-haired-caucasian-male-fashion-designer-black-suit-cutting-out-clothes-parts-from-fabric-with-scissors-spending-evening-studio_176420-11843.jpg"},
{
title: "Bridal Wear", description: "Memorable pieces for your big day.", buttonIcon: "Star", imageSrc: "http://img.b2bpic.net/free-photo/technology-makes-work-easier-portrait-focused-determined-designer-drawing-new-garment-concept-measure-everything-calculating-with-smartphone-sitting-near-sewing-machine-fabric_176420-14585.jpg"},
{
title: "Casual Luxury", description: "Elevated daily wear essentials.", buttonIcon: "Award", imageSrc: "http://img.b2bpic.net/free-photo/blonde-girl-with-short-blonde-hair-poses-white-suit-by-ladder_8353-5468.jpg"},
{
title: "Custom Embroidery", description: "Intricate detailing by hand.", buttonIcon: "Shield", imageSrc: "http://img.b2bpic.net/free-photo/fabric-textured-background_53876-14873.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
<FeaturesSection />
<div id="pricing" data-section="pricing">
<SectionErrorBoundary name="pricing">
<PricingMediaCards
tag="Services"
title="Bespoke Design Experience"
description="Select the level of craftsmanship and service your vision deserves."
plans={[
{
tag: "Basic Fitting", price: "Custom", period: "/service", features: [
"Personal consultation", "Fabric selection support", "Single fitting session"],
primaryButton: {
text: "Inquire", href: "#contact"},
imageSrc: "http://img.b2bpic.net/free-photo/man-working-darkroom-side-view_23-2149893931.jpg"},
{
tag: "Premium Couture", price: "Custom", period: "/service", features: [
"Dedicated designer", "Full fitting suite", "Fabric sourcing concierge", "Multiple design iterations"],
primaryButton: {
text: "Inquire", href: "#contact"},
imageSrc: "http://img.b2bpic.net/free-photo/classy-man-tailor-shop_53876-24894.jpg"},
{
tag: "Bridal Package", price: "Custom", period: "/service", features: [
"Comprehensive bridal consultation", "Embroidery and beadwork", "3+ fitting sessions", "On-site dressing support"],
primaryButton: {
text: "Inquire", href: "#contact"},
imageSrc: "http://img.b2bpic.net/free-photo/woman-making-jacket_23-2148898068.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
<PricingSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialColumnMarqueeCards
tag="Client Stories"
title="Expressions of Elegance"
description="Trusted by Owerris finest to bring their fashion dreams to life."
testimonials={[
{
name: "Chioma Okafor", role: "Entrepreneur", quote: "Akwa Ngala turned my vision into the perfect dress. Absolute perfection.", imageSrc: "http://img.b2bpic.net/free-photo/adult-brunette-woman-violet-gown-background-old-vintage-house-with-stairs_627829-8784.jpg"},
{
name: "Obinna Nwachukwu", role: "Architect", quote: "The tailoring on my suit was unparalleled. Exceptional attention to detail.", imageSrc: "http://img.b2bpic.net/free-photo/happy-friends-shopping-clothes_23-2148385702.jpg"},
{
name: "Amaka Ezenwa", role: "Doctor", quote: "Their work for my traditional wedding was breathtaking. Truly works of art.", imageSrc: "http://img.b2bpic.net/free-photo/fashion-portrait-two-stylish-caucasian-woman-blazers-french-cap-classic-white-hat-stand_343596-2183.jpg"},
{
name: "Chidi Ude", role: "Lawyer", quote: "Professional, punctual, and highly skilled. The best in Ikenegbu.", imageSrc: "http://img.b2bpic.net/free-photo/young-caucasian-woman-holding-shopping-bags-make-selfie-by-camera-clothing-store_839833-1916.jpg"},
{
name: "Ifunanya Okoro", role: "Consultant", quote: "I love how they blend modern styles with our heritage. Beautiful work.", imageSrc: "http://img.b2bpic.net/free-photo/woman-dress_1303-3787.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqTabbedAccordion
tag="Information"
title="Frequently Asked Questions"
description="Clear answers to help you get started with your bespoke experience."
categories={[
{
name: "Process", items: [
{
question: "How long does a custom piece take?", answer: "Typical lead time is 2-4 weeks depending on the complexity of your garment."},
{
question: "Do you provide fabrics?", answer: "We curate luxury fabrics, but you are welcome to bring your own for approval."},
],
},
{
name: "Appointments", items: [
{
question: "Where are you located?", answer: "We are located at Ikenegbu Layout, Owerri, Imo State."},
{
question: "How do I book?", answer: "Use the contact form below or visit our studio in Owerri."},
],
},
]}
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Book Now"
text="Ready to design your unique piece? Get in touch with Akwa Ngala to start your bespoke journey today."
primaryButton={{
text: "Contact Studio", href: "mailto:info@akwangala.com"}}
secondaryButton={{
text: "View Location", href: "https://maps.google.com"}}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

View File

@@ -0,0 +1,21 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "about" section.
import React from 'react';
import AboutMediaOverlay from '@/components/sections/about/AboutMediaOverlay';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutMediaOverlay
tag="Our Legacy"
title="Excellence in Craftsmanship"
description="Akwa Ngala represents the pinnacle of fashion design in Ikenegbu. We blend traditional techniques with modern aesthetic, creating pieces that resonate with grace and identity."
imageSrc="http://img.b2bpic.net/free-photo/front-view-brazilian-woman-working-as-clothing-designer_23-2150762250.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,23 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "contact" section.
import React from 'react';
import ContactCta from '@/components/sections/contact/ContactCta';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ContactSection(): React.JSX.Element {
return (
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Book Now"
text="Ready to design your unique piece? Get in touch with Akwa Ngala to start your bespoke journey today."
primaryButton={{
text: "Contact Studio", href: "mailto:info@akwangala.com"}}
secondaryButton={{
text: "View Location", href: "https://maps.google.com"}}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,38 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "faq" section.
import React from 'react';
import FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FaqSection(): React.JSX.Element {
return (
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqTabbedAccordion
tag="Information"
title="Frequently Asked Questions"
description="Clear answers to help you get started with your bespoke experience."
categories={[
{
name: "Process", items: [
{
question: "How long does a custom piece take?", answer: "Typical lead time is 2-4 weeks depending on the complexity of your garment."},
{
question: "Do you provide fabrics?", answer: "We curate luxury fabrics, but you are welcome to bring your own for approval."},
],
},
{
name: "Appointments", items: [
{
question: "Where are you located?", answer: "We are located at Ikenegbu Layout, Owerri, Imo State."},
{
question: "How do I book?", answer: "Use the contact form below or visit our studio in Owerri."},
],
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,34 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "features" section.
import React from 'react';
import FeaturesMediaCarousel from '@/components/sections/features/FeaturesMediaCarousel';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FeaturesSection(): React.JSX.Element {
return (
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesMediaCarousel
tag="Our Work"
title="Bespoke Collections"
description="Each garment is a unique creation, meticulously designed and tailored to fit your lifestyle and preference."
items={[
{
title: "Couture Gowns", description: "Hand-stitched evening elegance.", buttonIcon: "Sparkles", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-girl-s-day-concept_23-2148594300.jpg"},
{
title: "Bespoke Suiting", description: "Tailored precision for gentlemen.", buttonIcon: "CheckCircle", imageSrc: "http://img.b2bpic.net/free-photo/ukrainian-embroidery-folk-arts-crafts_469670-25.jpg"},
{
title: "Traditional Fusion", description: "Modern twists on cultural styles.", buttonIcon: "Zap", imageSrc: "http://img.b2bpic.net/free-photo/mature-creative-handsome-dark-haired-caucasian-male-fashion-designer-black-suit-cutting-out-clothes-parts-from-fabric-with-scissors-spending-evening-studio_176420-11843.jpg"},
{
title: "Bridal Wear", description: "Memorable pieces for your big day.", buttonIcon: "Star", imageSrc: "http://img.b2bpic.net/free-photo/technology-makes-work-easier-portrait-focused-determined-designer-drawing-new-garment-concept-measure-everything-calculating-with-smartphone-sitting-near-sewing-machine-fabric_176420-14585.jpg"},
{
title: "Casual Luxury", description: "Elevated daily wear essentials.", buttonIcon: "Award", imageSrc: "http://img.b2bpic.net/free-photo/blonde-girl-with-short-blonde-hair-poses-white-suit-by-ladder_8353-5468.jpg"},
{
title: "Custom Embroidery", description: "Intricate detailing by hand.", buttonIcon: "Shield", imageSrc: "http://img.b2bpic.net/free-photo/fabric-textured-background_53876-14873.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,24 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "hero" section.
import React from 'react';
import HeroBrand from '@/components/sections/hero/HeroBrand';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroBrand
brand="Akwa Ngala"
description="Crafting bespoke elegance in the heart of Owerri. Transforming visions into timeless couture for the discerning individual at Ikenegbu Layout."
primaryButton={{
text: "Explore Collection", href: "#features"}}
secondaryButton={{
text: "Book Consultation", href: "#pricing"}}
imageSrc="http://img.b2bpic.net/free-photo/close-up-industrial-sewing-machine_482257-90413.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,40 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "pricing" section.
import React from 'react';
import PricingMediaCards from '@/components/sections/pricing/PricingMediaCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function PricingSection(): React.JSX.Element {
return (
<div id="pricing" data-section="pricing">
<SectionErrorBoundary name="pricing">
<PricingMediaCards
tag="Services"
title="Bespoke Design Experience"
description="Select the level of craftsmanship and service your vision deserves."
plans={[
{
tag: "Basic Fitting", price: "Custom", period: "/service", features: [
"Personal consultation", "Fabric selection support", "Single fitting session"],
primaryButton: {
text: "Inquire", href: "#contact"},
imageSrc: "http://img.b2bpic.net/free-photo/man-working-darkroom-side-view_23-2149893931.jpg"},
{
tag: "Premium Couture", price: "Custom", period: "/service", features: [
"Dedicated designer", "Full fitting suite", "Fabric sourcing concierge", "Multiple design iterations"],
primaryButton: {
text: "Inquire", href: "#contact"},
imageSrc: "http://img.b2bpic.net/free-photo/classy-man-tailor-shop_53876-24894.jpg"},
{
tag: "Bridal Package", price: "Custom", period: "/service", features: [
"Comprehensive bridal consultation", "Embroidery and beadwork", "3+ fitting sessions", "On-site dressing support"],
primaryButton: {
text: "Inquire", href: "#contact"},
imageSrc: "http://img.b2bpic.net/free-photo/woman-making-jacket_23-2148898068.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,45 @@
import TextAnimation from '@/components/ui/TextAnimation';
import ScrollReveal from '@/components/ui/ScrollReveal';
import LoopCarousel from '@/components/ui/LoopCarousel';
export default function SocialProofSection() {
return (
<section data-webild-section="social-proof" id="social-proof" className="relative w-full py-24 bg-background overflow-hidden">
<div className="w-content-width mx-auto px-6 mb-12 text-center">
<TextAnimation
text="Featured In"
variant="fade-blur"
tag="h3"
className="text-sm font-bold uppercase tracking-widest text-muted-foreground mb-4"
gradientText={false}
/>
<TextAnimation
text="Trusted & Recognized"
variant="slide-up"
tag="h2"
className="text-3xl md:text-4xl font-bold text-foreground mb-4"
gradientText={false}
/>
<ScrollReveal variant="fade" delay={0.2}>
<p className="text-lg text-muted-foreground max-w-2xl mx-auto">
Recognized by leading fashion publications and local business associations for our commitment to couture excellence in Imo State.
</p>
</ScrollReveal>
</div>
<ScrollReveal variant="slide-up" delay={0.4}>
<div className="w-full border-y border-border py-8 bg-card/30">
<LoopCarousel>
{["Owerri Fashion Week", "Imo State Business Association", "BellaNaija Style", "AsoEbiBella", "Genevieve Magazine", "African Couture Council"].map((name, idx) => (
<div key={idx} className="flex items-center justify-center px-8 md:px-16">
<span className="text-xl md:text-2xl font-bold text-foreground/60 whitespace-nowrap">
{name}
</span>
</div>
))}
</LoopCarousel>
</div>
</ScrollReveal>
</section>
);
}

View File

@@ -0,0 +1,32 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "testimonials" section.
import React from 'react';
import TestimonialColumnMarqueeCards from '@/components/sections/testimonial/TestimonialColumnMarqueeCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialColumnMarqueeCards
tag="Client Stories"
title="Expressions of Elegance"
description="Trusted by Owerris finest to bring their fashion dreams to life."
testimonials={[
{
name: "Chioma Okafor", role: "Entrepreneur", quote: "Akwa Ngala turned my vision into the perfect dress. Absolute perfection.", imageSrc: "http://img.b2bpic.net/free-photo/adult-brunette-woman-violet-gown-background-old-vintage-house-with-stairs_627829-8784.jpg"},
{
name: "Obinna Nwachukwu", role: "Architect", quote: "The tailoring on my suit was unparalleled. Exceptional attention to detail.", imageSrc: "http://img.b2bpic.net/free-photo/happy-friends-shopping-clothes_23-2148385702.jpg"},
{
name: "Amaka Ezenwa", role: "Doctor", quote: "Their work for my traditional wedding was breathtaking. Truly works of art.", imageSrc: "http://img.b2bpic.net/free-photo/fashion-portrait-two-stylish-caucasian-woman-blazers-french-cap-classic-white-hat-stand_343596-2183.jpg"},
{
name: "Chidi Ude", role: "Lawyer", quote: "Professional, punctual, and highly skilled. The best in Ikenegbu.", imageSrc: "http://img.b2bpic.net/free-photo/young-caucasian-woman-holding-shopping-bags-make-selfie-by-camera-clothing-store_839833-1916.jpg"},
{
name: "Ifunanya Okoro", role: "Consultant", quote: "I love how they blend modern styles with our heritage. Beautiful work.", imageSrc: "http://img.b2bpic.net/free-photo/woman-dress_1303-3787.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
);
}