Merge version_2_1781622180481 into main #1

Merged
bender merged 1 commits from version_2_1781622180481 into main 2026-06-16 15:04:59 +00:00
9 changed files with 198 additions and 223 deletions

View File

@@ -42,7 +42,7 @@ export default function Layout() {
<SiteBackgroundSlot />
<SectionErrorBoundary name="navbar">
<NavbarDropdown
logo="LUXE"
logo="HABERDASHER"
ctaButton={{
text: "Shop Now",
href: "#products",

View File

@@ -1,233 +1,33 @@
import AboutTestimonial from '@/components/sections/about/AboutTestimonial';
import ContactCta from '@/components/sections/contact/ContactCta';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import FeaturesMediaCards from '@/components/sections/features/FeaturesMediaCards';
import HeroBillboardTiltedCarousel from '@/components/sections/hero/HeroBillboardTiltedCarousel';
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
import TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards';
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 ProductsSection from './HomePage/sections/Products';
import FeaturesSection from './HomePage/sections/Features';
import TestimonialsSection from './HomePage/sections/Testimonials';
import MetricsSection from './HomePage/sections/Metrics';
import AboutSection from './HomePage/sections/About';
import ContactSection from './HomePage/sections/Contact';
export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroBillboardTiltedCarousel
tag="New Season Arrival"
title="Define Your Silhouette"
description="Experience the epitome of luxury craftsmanship and modern elegance in every stitch."
primaryButton={{
text: "Shop The Collection",
href: "#products",
}}
secondaryButton={{
text: "Our Story",
href: "#about",
}}
items={[
{
imageSrc: "http://img.b2bpic.net/free-photo/fashion-model-red-haired-girl-with-originally-make-up-like-leopard-predator-isolated-black-studio-portrait_627829-10495.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/spotlight-portrait-golden-hour_23-2151915122.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/portrait-beautiful-young-female-wearing-formal-suit_23-2148880273.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/young-transgender-person-looking-away_23-2148827036.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-woman-business-suit_1303-17714.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/portrait-black-woman-autumn-style_633478-358.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="products" data-section="products">
<SectionErrorBoundary name="products">
<FeaturesImageBento
tag="Featured Items"
title="Essentials"
description="Discover our signature pieces curated for the modern wardrobe."
items={[
{
title: "Leather Accessory",
description: "Classic leather craftsmanship.",
imageSrc: "http://img.b2bpic.net/free-photo/cup-coffee-with-dslr-camera-phone_53876-71248.jpg",
},
{
title: "Design Eyewear",
description: "Modern bold frames.",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-lovable-cute-lady-with-red-lips-wearing-sunglasses-is-smiling-while-waiting-friends-open-air-cafeteria_291650-2574.jpg",
},
{
title: "Silk Scarf",
description: "Elegant silk artistry.",
imageSrc: "http://img.b2bpic.net/free-photo/view-women-s-purse-tiles-with-mediterranean-aesthetics_23-2150916725.jpg",
},
{
title: "Signature Footwear",
description: "Refined leather comfort.",
imageSrc: "http://img.b2bpic.net/free-photo/shoes_1303-3611.jpg",
},
{
title: "Designer Belt",
description: "Defined waist styling.",
imageSrc: "http://img.b2bpic.net/free-photo/fashion-portrait-young-elegant-woman_1328-2703.jpg",
},
{
title: "Fragrance",
description: "Signature aromatic notes.",
imageSrc: "http://img.b2bpic.net/free-photo/flat-lay-bottle-fan-yellow-background_23-2148306729.jpg",
},
{
title: "Jewelry",
description: "Fine gold accents.",
imageSrc: "http://img.b2bpic.net/free-photo/expensive-golden-ring-with-human-hand-stand-display_23-2150347078.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<ProductsSection />
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesMediaCards
tag="Craftsmanship"
title="Quality Defined"
description="Our commitment to ethical production and high-end materials."
items={[
{
title: "Ethical Production",
description: "Sustainable and mindful techniques.",
imageSrc: "http://img.b2bpic.net/free-photo/woman-tailor-working-leather-fabric_1303-23391.jpg",
},
{
title: "Premium Materials",
description: "Sourced from the finest mills globally.",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-jacket-with-accesories_122409-41.jpg",
},
{
title: "Expert Atelier",
description: "Handcrafted by master artisans.",
imageSrc: "http://img.b2bpic.net/free-photo/essential-elements-fashion-design-studio_23-2150414747.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<FeaturesSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialOverlayCards
tag="Reviews"
title="Client Voices"
description="Hear what our global community says."
testimonials={[
{
name: "Eleanor Vance",
role: "Creative Lead",
company: "Studio",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/glamorous-black-haired-woman-with-bright-makeup-posing-with-surprised-smile_197531-6564.jpg",
},
{
name: "Marcus Thorne",
role: "CEO",
company: "Thorne Group",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-young-woman-posing-studio_23-2149392882.jpg",
},
{
name: "Sophia Chen",
role: "Designer",
company: "Vogue",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/silly-brunette-woman-pucker-lips-looking-coy-cute-aside-logo-thinking-wants-something-pondering-with-coquettish-face-standing-white-background_176420-46709.jpg",
},
{
name: "Julianne Moore",
role: "Curator",
company: "Art Collective",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-teens-wearing-y2k-fashion_23-2150759626.jpg",
},
{
name: "Alexander King",
role: "Architect",
company: "Design House",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-attractive-blonde-female-posing-while-sitting-barstool_181624-45892.jpg",
},
{
name: "Chloe Bennett",
role: "Consultant",
company: "Retail Group",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/curly-hair-girl-isolated-white-studio-background_627829-9891.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsSimpleCards
tag="Our Growth"
title="Numbers That Matter"
description="A testament to our quality and reach."
metrics={[
{
value: "10K+",
description: "Satisfied Global Clients",
},
{
value: "50+",
description: "Artisan Workshops",
},
{
value: "200+",
description: "Exclusive Styles Launching Annually",
},
]}
/>
</SectionErrorBoundary>
</div>
<MetricsSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutTestimonial
tag="Our Story"
quote="Fashion is not just clothing; it is a canvas of personal identity, crafted with care for the longevity of the planet."
author="Elena V."
role="Founder & Creative Director"
imageSrc="http://img.b2bpic.net/free-photo/handsome-bearded-fashion-designer-taking-break-from-work-thinking-about-new-designs_613910-5289.jpg"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Connect"
text="Join our newsletter for early access to upcoming collections."
primaryButton={{
text: "Subscribe",
href: "#",
}}
secondaryButton={{
text: "Contact Support",
href: "#",
}}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

View File

@@ -0,0 +1,22 @@
// 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 AboutTestimonial from '@/components/sections/about/AboutTestimonial';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutTestimonial
tag="Our Heritage"
quote="A suit is not just clothing; it is a canvas of personal identity, crafted with care for the longevity of the planet."
author="Arthur V."
role="Master Tailor & Founder"
imageSrc="https://images.unsplash.com/photo-1556905055-8f358a7a47b2?auto=format&fit=crop&q=80&w=800"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,27 @@
// 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="Connect"
text="Join our newsletter for early access to upcoming collections."
primaryButton={{
text: "Subscribe",
href: "#",
}}
secondaryButton={{
text: "Contact Support",
href: "#",
}}
/>
</SectionErrorBoundary>
</div>
);
}

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 "features" section.
import React from 'react';
import FeaturesMediaCards from '@/components/sections/features/FeaturesMediaCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FeaturesSection(): React.JSX.Element {
return (
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesMediaCards
tag="Craftsmanship"
title="Quality Defined"
description="Our commitment to ethical production and high-end materials."
items={[{"imageSrc":"https://images.unsplash.com/photo-1556905055-8f358a7a47b2?auto=format&fit=crop&q=80&w=800","title":"Ethical Production","description":"Sustainable and mindful techniques."},{"imageSrc":"https://images.unsplash.com/photo-1584916201218-f4242ceb4809?auto=format&fit=crop&q=80&w=800","title":"Premium Materials","description":"Sourced from the finest mills globally."},{"description":"Handcrafted by master artisans.","imageSrc":"https://images.unsplash.com/photo-1598808503746-f34c53b9323e?auto=format&fit=crop&q=80&w=800","title":"Expert Atelier"}]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,29 @@
// 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 HeroBillboardTiltedCarousel from '@/components/sections/hero/HeroBillboardTiltedCarousel';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroBillboardTiltedCarousel
tag="Bespoke Tailoring"
title="Define Your Silhouette"
description="Experience the epitome of luxury craftsmanship and modern elegance in every stitch of our bespoke menswear."
primaryButton={{
text: "Shop The Collection",
href: "#products",
}}
secondaryButton={{
text: "Our Story",
href: "#about",
}}
items={[{"imageSrc":"https://images.unsplash.com/photo-1593030761757-71fae45fa0e7?auto=format&fit=crop&q=80&w=800"},{"imageSrc":"https://images.unsplash.com/photo-1617137968427-85924c800a22?auto=format&fit=crop&q=80&w=800"},{"imageSrc":"https://images.unsplash.com/photo-1594938298596-70f56fb3cecb?auto=format&fit=crop&q=80&w=800"},{"imageSrc":"https://images.unsplash.com/photo-1598808503746-f34c53b9323e?auto=format&fit=crop&q=80&w=800"},{"imageSrc":"https://images.unsplash.com/photo-1603252109303-2751441dd157?auto=format&fit=crop&q=80&w=800"},{"imageSrc":"https://images.unsplash.com/photo-1592878904946-b3cd8ae243d0?auto=format&fit=crop&q=80&w=800"}]}
/>
</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 "metrics" section.
import React from 'react';
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MetricsSection(): React.JSX.Element {
return (
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsSimpleCards
tag="Our Growth"
title="Numbers That Matter"
description="A testament to our quality and reach."
metrics={[
{
value: "10K+",
description: "Satisfied Global Clients",
},
{
value: "50+",
description: "Artisan Workshops",
},
{
value: "200+",
description: "Exclusive Styles Launching Annually",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

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 "products" section.
import React from 'react';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ProductsSection(): React.JSX.Element {
return (
<div id="products" data-section="products">
<SectionErrorBoundary name="products">
<FeaturesImageBento
tag="Featured Items"
title="Gentleman's Essentials"
description="Discover our signature pieces curated for the modern gentleman's wardrobe."
items={[{"description":"Classic leather craftsmanship.","imageSrc":"https://images.unsplash.com/photo-1627123424574-724758594e93?auto=format&fit=crop&q=80&w=800","title":"Leather Briefcase"},{"description":"Modern bold frames.","title":"Design Eyewear","imageSrc":"https://images.unsplash.com/photo-1511499767150-a48a237f0083?auto=format&fit=crop&q=80&w=800"},{"description":"Elegant silk artistry.","imageSrc":"https://images.unsplash.com/photo-1601173431331-b05348dcb990?auto=format&fit=crop&q=80&w=800","title":"Silk Pocket Square"},{"title":"Oxford Shoes","imageSrc":"https://images.unsplash.com/photo-1614252235316-8501f4aa64eb?auto=format&fit=crop&q=80&w=800","description":"Refined leather comfort."},{"title":"Designer Belt","imageSrc":"https://images.unsplash.com/photo-1624222247344-550fb60583dc?auto=format&fit=crop&q=80&w=800","description":"Defined waist styling."},{"imageSrc":"https://images.unsplash.com/photo-1594035910387-fea47794261f?auto=format&fit=crop&q=80&w=800","title":"Cologne","description":"Signature aromatic notes."},{"imageSrc":"https://images.unsplash.com/photo-1611591437281-460bfbe1220a?auto=format&fit=crop&q=80&w=800","title":"Cufflinks","description":"Fine gold accents."}]}
/>
</SectionErrorBoundary>
</div>
);
}

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 "testimonials" section.
import React from 'react';
import TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialOverlayCards
tag="Reviews"
title="Client Voices"
description="Hear what our global community says."
testimonials={[{"company":"Studio","rating":5,"name":"James Vance","imageSrc":"https://images.unsplash.com/photo-1506794778202-cad84cf45f1d?auto=format&fit=crop&q=80&w=800","role":"Creative Lead"},{"rating":5,"company":"Thorne Group","imageSrc":"https://images.unsplash.com/photo-1500648767791-00dcc994a43e?auto=format&fit=crop&q=80&w=800","role":"CEO","name":"Marcus Thorne"},{"company":"Vogue","rating":5,"name":"Arthur Chen","role":"Designer","imageSrc":"https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?auto=format&fit=crop&q=80&w=800"},{"imageSrc":"https://images.unsplash.com/photo-1519085360753-af0119f7cbe7?auto=format&fit=crop&q=80&w=800","role":"Curator","name":"Julian Moore","rating":5,"company":"Art Collective"},{"name":"Alexander King","role":"Architect","imageSrc":"https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?auto=format&fit=crop&q=80&w=800","rating":5,"company":"Design House"},{"company":"Retail Group","rating":5,"name":"Charles Bennett","role":"Consultant","imageSrc":"https://images.unsplash.com/photo-1506794778202-cad84cf45f1d?auto=format&fit=crop&q=80&w=800"}]}
/>
</SectionErrorBoundary>
</div>
);
}