Merge version_4_1782084222136 into main #6
@@ -1,122 +1,33 @@
|
||||
import AboutMediaOverlay from '@/components/sections/about/AboutMediaOverlay';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion';
|
||||
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
|
||||
import HeroBillboardTiltedCarousel from '@/components/sections/hero/HeroBillboardTiltedCarousel';
|
||||
import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
|
||||
import TestimonialMarqueeOverlayCards from '@/components/sections/testimonial/TestimonialMarqueeOverlayCards';
|
||||
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 ProductsSection from './HomePage/sections/Products';
|
||||
import MetricsSection from './HomePage/sections/Metrics';
|
||||
import TestimonialsSection from './HomePage/sections/Testimonials';
|
||||
import FaqSection from './HomePage/sections/Faq';
|
||||
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="Elegance Redefined"
|
||||
title="Timeless Jewelry for Modern Icons"
|
||||
description="Discover a curation of handcrafted masterpieces that capture the essence of luxury and grace."
|
||||
primaryButton={{ text: "View Collection", href: "#products" }}
|
||||
secondaryButton={{ text: "Book Consultation", href: "#contact" }}
|
||||
items={[
|
||||
{ imageSrc: "https://storage.googleapis.com/webild/users/user_3FK5cEQFujJnwwHLMFL7P85Ro0d/uploaded-1782083922121-riwpg2vi.png" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/transparent-prism-with-jewels_23-2147960092.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/golden-wedding-rings-lie-transparent-table_8353-738.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/fashion-woman-with-feathers_1122-433.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/beautiful-engagement-ring-with-diamonds_23-2149509270.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/closeup-shot-two-silver-rings-leather-surface_181624-3587.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutMediaOverlay
|
||||
tag="Our Heritage"
|
||||
title="Three Decades of Artistry"
|
||||
description="From our founding in 1994, Lumière has been dedicated to crafting jewelry that tells a story. Every piece is born in our atelier, where tradition meets innovation."
|
||||
primaryButton={{ text: "Read Our Story", href: "#" }}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/artisan-doing-woodcutting_23-2150600784.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="products" data-section="products">
|
||||
<SectionErrorBoundary name="products">
|
||||
<FeaturesImageBento
|
||||
tag="Signature Collections"
|
||||
title="Curated Masterpieces"
|
||||
description="Explore our iconic designs, each meticulously crafted from conflict-free diamonds and recycled precious metals."
|
||||
items={[
|
||||
{ title: "Golden Radiance", description: "18k gold handcrafted bangles.", imageSrc: "http://img.b2bpic.net/free-photo/expensive-golden-ring-with-white-powder-background_23-2150347034.jpg" },
|
||||
{ title: "Diamond Essence", description: "Minimalist diamond stud collection.", imageSrc: "http://img.b2bpic.net/free-photo/high-angle-thimble-silk_23-2148897938.jpg" },
|
||||
{ title: "Azure Sapphire", description: "Rare blue gemstone necklaces.", imageSrc: "http://img.b2bpic.net/free-photo/vertical-closeup-shot-female-wearing-silver-necklace-with-beautiful-lock-pendant_181624-27833.jpg" },
|
||||
{ title: "Pearl Sovereignty", description: "Modern pearl and gold rings.", imageSrc: "http://img.b2bpic.net/free-photo/aesthetic-golden-earrings-with-rock_23-2149846563.jpg" },
|
||||
{ title: "Eternal Stack", description: "Signature gold designer rings.", imageSrc: "http://img.b2bpic.net/free-photo/two-golden-wedding-rings-lie-ray-light_8353-8127.jpg" },
|
||||
{ title: "Grand Link", description: "Intricate link bracelet series.", imageSrc: "http://img.b2bpic.net/free-photo/queen-crown-still-life_23-2150409288.jpg" },
|
||||
{ title: "Star Pendant", description: "Celestial diamond pendant design.", imageSrc: "http://img.b2bpic.net/free-photo/senior-with-necklace-looking-away-medium-shot_23-2148346154.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ProductsSection />
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsIconCards
|
||||
tag="Our Impact"
|
||||
title="By The Numbers"
|
||||
description="Excellence defined through decades of service and satisfied collectors worldwide."
|
||||
metrics={[
|
||||
{ icon: "Award", title: "Design Awards", value: "45+" },
|
||||
{ icon: "Diamond", title: "Carats Sourced", value: "12k" },
|
||||
{ icon: "Users", title: "Happy Clients", value: "8,000+" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<MetricsSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialMarqueeOverlayCards
|
||||
tag="Collector Reviews"
|
||||
title="Voices of Elegance"
|
||||
description="Hear what our distinguished clients say about their pieces from Lumière."
|
||||
testimonials={[
|
||||
{ name: "Sarah Miller", role: "Art Curator", company: "Global Fine Arts", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/very-elegant-woman-looking-away_329181-7317.jpg" },
|
||||
{ name: "Marcus Thorne", role: "Entrepreneur", company: "Thorne Capital", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/close-up-man-looking-time_549566-386.jpg" },
|
||||
{ name: "Elena Rossi", role: "Fashion Icon", company: "Vogue Italy", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/beautiful-brunette-woman-evening-dress-posing-holding-champaign-glass_176420-3753.jpg" },
|
||||
{ name: "David Chan", role: "CEO", company: "Chan Developments", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/blond-business-woman-standing-with-crossed-arms_23-2148095775.jpg" },
|
||||
{ name: "Olivia Smith", role: "Socialite", company: "Society Monthly", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/woman-feeling-save-her-man-s-arms_329181-10109.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqTabbedAccordion
|
||||
tag="Common Questions"
|
||||
title="Concierge Support"
|
||||
description="We are here to assist with every inquiry, from bespoke commissions to care instructions."
|
||||
categories={[
|
||||
{ name: "Care & Repair", items: [{ question: "How should I clean my gold jewelry?", answer: "Use a soft microfiber cloth and lukewarm water for gold pieces. Avoid harsh chemicals." }, { question: "Can you resize rings?", answer: "Yes, we offer complimentary resizing on all signature gold rings." }] },
|
||||
{ name: "Shipping", items: [{ question: "Is insurance included?", answer: "Every shipment is fully insured for the purchase value of the jewelry." }, { question: "Do you ship internationally?", answer: "We provide secure, white-glove international shipping to over 50 countries." }] }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FaqSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Private Consultation"
|
||||
text="Experience private concierge service. Book an appointment with our master artisans."
|
||||
primaryButton={{ text: "Schedule Visit", href: "#" }}
|
||||
secondaryButton={{ text: "Call Concierge", href: "tel:+18005550199" }}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
22
src/pages/HomePage/sections/About.tsx
Normal file
22
src/pages/HomePage/sections/About.tsx
Normal 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 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 Heritage"
|
||||
title="Three Decades of Artistry"
|
||||
description="From our founding in 1994, Lumière has been dedicated to crafting jewelry that tells a story. Every piece is born in our atelier, where tradition meets innovation."
|
||||
primaryButton={{ text: "Read Our Story", href: "#" }}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/artisan-doing-woodcutting_23-2150600784.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
21
src/pages/HomePage/sections/Contact.tsx
Normal file
21
src/pages/HomePage/sections/Contact.tsx
Normal file
@@ -0,0 +1,21 @@
|
||||
// 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="Private Consultation"
|
||||
text="Experience private concierge service. Book an appointment with our master artisans."
|
||||
primaryButton={{ text: "Schedule Visit", href: "#" }}
|
||||
secondaryButton={{ text: "Call Concierge", href: "tel:+18005550199" }}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
24
src/pages/HomePage/sections/Faq.tsx
Normal file
24
src/pages/HomePage/sections/Faq.tsx
Normal file
@@ -0,0 +1,24 @@
|
||||
// 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="Common Questions"
|
||||
title="Concierge Support"
|
||||
description="We are here to assist with every inquiry, from bespoke commissions to care instructions."
|
||||
categories={[
|
||||
{ name: "Care & Repair", items: [{ question: "How should I clean my gold jewelry?", answer: "Use a soft microfiber cloth and lukewarm water for gold pieces. Avoid harsh chemicals." }, { question: "Can you resize rings?", answer: "Yes, we offer complimentary resizing on all signature gold rings." }] },
|
||||
{ name: "Shipping", items: [{ question: "Is insurance included?", answer: "Every shipment is fully insured for the purchase value of the jewelry." }, { question: "Do you ship internationally?", answer: "We provide secure, white-glove international shipping to over 50 countries." }] }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
19
src/pages/HomePage/sections/Hero.tsx
Normal file
19
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,19 @@
|
||||
// Created by add_section_from_catalog (HeroOverlay).
|
||||
|
||||
import React from 'react';
|
||||
import HeroOverlay from '@/components/sections/hero/HeroOverlay';
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div data-webild-section="hero" id="hero">
|
||||
<HeroOverlay
|
||||
secondaryButton={{"href":"#contact","text":"Book Consultation"}}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/transparent-prism-with-jewels_23-2147960092.jpg"
|
||||
title="Timeless Jewelry for Modern Icons"
|
||||
description="Discover a curation of handcrafted masterpieces that capture the essence of luxury and grace."
|
||||
primaryButton={{"href":"#products","text":"View Collection"}}
|
||||
tag="Elegance Redefined"
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
25
src/pages/HomePage/sections/Metrics.tsx
Normal file
25
src/pages/HomePage/sections/Metrics.tsx
Normal file
@@ -0,0 +1,25 @@
|
||||
// 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 MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function MetricsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsIconCards
|
||||
tag="Our Impact"
|
||||
title="By The Numbers"
|
||||
description="Excellence defined through decades of service and satisfied collectors worldwide."
|
||||
metrics={[
|
||||
{ icon: "Award", title: "Design Awards", value: "45+" },
|
||||
{ icon: "Diamond", title: "Carats Sourced", value: "12k" },
|
||||
{ icon: "Users", title: "Happy Clients", value: "8,000+" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
29
src/pages/HomePage/sections/Products.tsx
Normal file
29
src/pages/HomePage/sections/Products.tsx
Normal file
@@ -0,0 +1,29 @@
|
||||
// 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="Signature Collections"
|
||||
title="Curated Masterpieces"
|
||||
description="Explore our iconic designs, each meticulously crafted from conflict-free diamonds and recycled precious metals."
|
||||
items={[
|
||||
{ title: "Golden Radiance", description: "18k gold handcrafted bangles.", imageSrc: "http://img.b2bpic.net/free-photo/expensive-golden-ring-with-white-powder-background_23-2150347034.jpg" },
|
||||
{ title: "Diamond Essence", description: "Minimalist diamond stud collection.", imageSrc: "http://img.b2bpic.net/free-photo/high-angle-thimble-silk_23-2148897938.jpg" },
|
||||
{ title: "Azure Sapphire", description: "Rare blue gemstone necklaces.", imageSrc: "http://img.b2bpic.net/free-photo/vertical-closeup-shot-female-wearing-silver-necklace-with-beautiful-lock-pendant_181624-27833.jpg" },
|
||||
{ title: "Pearl Sovereignty", description: "Modern pearl and gold rings.", imageSrc: "http://img.b2bpic.net/free-photo/aesthetic-golden-earrings-with-rock_23-2149846563.jpg" },
|
||||
{ title: "Eternal Stack", description: "Signature gold designer rings.", imageSrc: "http://img.b2bpic.net/free-photo/two-golden-wedding-rings-lie-ray-light_8353-8127.jpg" },
|
||||
{ title: "Grand Link", description: "Intricate link bracelet series.", imageSrc: "http://img.b2bpic.net/free-photo/queen-crown-still-life_23-2150409288.jpg" },
|
||||
{ title: "Star Pendant", description: "Celestial diamond pendant design.", imageSrc: "http://img.b2bpic.net/free-photo/senior-with-necklace-looking-away-medium-shot_23-2148346154.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
27
src/pages/HomePage/sections/Testimonials.tsx
Normal file
27
src/pages/HomePage/sections/Testimonials.tsx
Normal file
@@ -0,0 +1,27 @@
|
||||
// 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 TestimonialMarqueeOverlayCards from '@/components/sections/testimonial/TestimonialMarqueeOverlayCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialMarqueeOverlayCards
|
||||
tag="Collector Reviews"
|
||||
title="Voices of Elegance"
|
||||
description="Hear what our distinguished clients say about their pieces from Lumière."
|
||||
testimonials={[
|
||||
{ name: "Sarah Miller", role: "Art Curator", company: "Global Fine Arts", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/very-elegant-woman-looking-away_329181-7317.jpg" },
|
||||
{ name: "Marcus Thorne", role: "Entrepreneur", company: "Thorne Capital", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/close-up-man-looking-time_549566-386.jpg" },
|
||||
{ name: "Elena Rossi", role: "Fashion Icon", company: "Vogue Italy", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/beautiful-brunette-woman-evening-dress-posing-holding-champaign-glass_176420-3753.jpg" },
|
||||
{ name: "David Chan", role: "CEO", company: "Chan Developments", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/blond-business-woman-standing-with-crossed-arms_23-2148095775.jpg" },
|
||||
{ name: "Olivia Smith", role: "Socialite", company: "Society Monthly", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/woman-feeling-save-her-man-s-arms_329181-10109.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user