Merge version_4_1782141699832 into main #5

Merged
bender merged 1 commits from version_4_1782141699832 into main 2026-06-22 15:23:57 +00:00
8 changed files with 305 additions and 218 deletions

View File

@@ -1,229 +1,33 @@
import AboutMediaOverlay from '@/components/sections/about/AboutMediaOverlay';
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import HeroBillboardBrand from '@/components/sections/hero/HeroBillboardBrand';
import MetricsFeatureCards from '@/components/sections/metrics/MetricsFeatureCards';
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
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">
<HeroBillboardBrand
brand="Abusara Jewelry"
description="Exquisite gold and diamond collections crafted with passion in the heart of Swefieh, Amman."
primaryButton={{
text: "Call Now",
href: "tel:+962799070487",
}}
secondaryButton={{
text: "Visit Us",
href: "https://maps.app.goo.gl/XV48+M5",
}}
imageSrc="https://storage.googleapis.com/webild/users/user_3FUbuhBWo8zY2VefkIjcEiJMeRr/uploaded-1782135384906-mmw66f06.jpg"
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutMediaOverlay
tag="Our Story"
title="A Legacy of Craftsmanship"
description="Owned and operated by the Abu Sara family, we bring decades of expertise to every piece. Known as one of Amman's most trusted destinations for unique gold and contemporary jewelry designs."
imageSrc="https://storage.googleapis.com/webild/users/user_3FUbuhBWo8zY2VefkIjcEiJMeRr/uploaded-1782135525561-g8cgld3l.jpg"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="products" data-section="products">
<SectionErrorBoundary name="products">
<FeaturesRevealCardsBento
tag="Our Collection"
title="Timeless Elegance"
description="Discover our signature pieces ranging from classic gold sets to modern, contemporary designs."
items={[
{
title: "Engagement Rings",
description: "Custom crafted diamonds.",
href: "#contact",
imageSrc: "http://img.b2bpic.net/free-photo/view-luxurious-golden-ring-with-marble_23-2150329645.jpg",
},
{
title: "Gold Necklaces",
description: "Intricate gold art pieces.",
href: "#contact",
imageSrc: "http://img.b2bpic.net/free-photo/expensive-golden-ring-with-white-powder-background_23-2150347035.jpg",
},
{
title: "Premium Bracelets",
description: "Handcrafted gold design.",
href: "#contact",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-gold-chains-still-life_23-2149560666.jpg",
},
{
title: "Signature Earrings",
description: "Unique daily wear sets.",
href: "#contact",
imageSrc: "http://img.b2bpic.net/free-photo/golden-easter-eggs-by-easter-decorations_1303-30816.jpg",
},
{
title: "Bridal Sets",
description: "Full ensemble jewelry.",
href: "#contact",
imageSrc: "http://img.b2bpic.net/free-photo/hands-bride-belt-with-diamonds_627829-11933.jpg",
},
{
title: "Wedding Bands",
description: "Timeless golden classics.",
href: "#contact",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-luxury-wedding-stationery_23-2148651984.jpg",
},
{
title: "Custom Design",
description: "Tailor-made masterpieces.",
href: "#contact",
imageSrc: "http://img.b2bpic.net/free-photo/christmas-tree-decoration-close-up-ball-bauble-pine-branches-background_169016-49138.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<ProductsSection />
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsFeatureCards
tag="Why Choose Us"
title="Excellence in Every Detail"
description="Building trust through quality and dedicated service."
metrics={[
{
value: "4.9",
title: "Google Rating",
features: [
"141+ Reviews",
"Trusted by families",
"Highest service standards",
],
},
{
value: "40+",
title: "Years Experience",
features: [
"Family owned",
"Artisanal quality",
"Amman legacy",
],
},
{
value: "100%",
title: "Genuine Quality",
features: [
"Certified gold",
"Authentic diamonds",
"Lifetime craftsmanship",
],
},
]}
/>
</SectionErrorBoundary>
</div>
<MetricsSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialRatingCards
tag="Testimonials"
title="What Our Clients Say"
description="Honest feedback from our valued family of customers."
testimonials={[
{
name: "Sandra Khalil",
role: "Customer",
quote: "Highly Recommended! Fantastic experience and service.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/grateful-charming-blond-european-25s-woman-silver-party-dress-press-palms-heart-feel-thankful-appreciate-effort-cherish-romantic-gesture-receive-flattering-compliments-gifts-smiling-happily_1258-308442.jpg",
},
{
name: "Yahya Aldeeb",
role: "Local Guide",
quote: "Very unique collection. Omar is really a kind person.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/woman-paying-with-credit-card-shopping_329181-18778.jpg",
},
{
name: "Tala Kayed",
role: "Client",
quote: "My favourite gold shop in Amman, wonderful family.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/couple-jewelry-shop-choosing-necklace-together_1303-30656.jpg",
},
{
name: "Amal Hassan",
role: "Client",
quote: "Classy treatment and beautiful variety of models.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/female-sales-person-jewelry-store_1303-30652.jpg",
},
{
name: "Samir Mahmoud",
role: "Client",
quote: "Truly modern pieces and exceptional customer care.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/look-my-ring-is-very-similar_329181-8041.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSplitMedia
tag="Support"
title="Frequently Asked Questions"
description="Have questions about our jewelry or services? We're here to help."
items={[
{
question: "Where are you located?",
answer: "We are located at Al-Qimma St., Swefieh branch, Amman.",
},
{
question: "What are your opening hours?",
answer: "We are open daily until 9 PM.",
},
{
question: "Can I order custom designs?",
answer: "Yes, we specialize in bespoke jewelry designs tailored to your needs.",
},
{
question: "How can I contact you?",
answer: "You can reach us by phone at 07 9907 0487.",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/front-view-various-precious-stones_23-2148643245.jpg"
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Contact Us"
text="Visit us at our Swefieh branch today or reach out for inquiries."
primaryButton={{
text: "Call Now: 07 9907 0487",
href: "tel:+962799070487",
}}
secondaryButton={{
text: "Visit on Instagram",
href: "https://instagram.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 Story"
title="A Legacy of Craftsmanship"
description="Owned and operated by the Abu Sara family, we bring decades of expertise to every piece. Known as one of Amman's most trusted destinations for unique gold and contemporary jewelry designs."
imageSrc="https://storage.googleapis.com/webild/users/user_3FUbuhBWo8zY2VefkIjcEiJMeRr/uploaded-1782135525561-g8cgld3l.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,68 @@
/* eslint-disable */
// @ts-nocheck — generated by catalog-eject; runtime-correct but TS strict-mode false-positives on inlined catalog body
import ScrollReveal from "@/components/ui/ScrollReveal";
import TextAnimation from "@/components/ui/TextAnimation";
import Button from "@/components/ui/Button";
const primaryButton = {
text: "Call Now: 07 9907 0487",
href: "tel:+962799070487"
};
const secondaryButton = {
text: "Visit on Instagram",
href: "https://instagram.com"
};
const ContactInline = () => {
return (
<section aria-label="Contact section" className="py-20">
<div className="w-content-width mx-auto">
<ScrollReveal variant="fade-blur">
<div className="flex flex-col items-center gap-8 md:gap-10 py-20 px-8 rounded card">
<div className="flex flex-col items-center gap-2">
<div className="px-3 py-1 mb-1 text-sm card rounded w-fit">
<p>{"Contact Us"}</p>
</div>
<TextAnimation
text={"Visit us at our Swefieh or Khalda branches today or reach out for inquiries."}
variant="slide-up"
gradientText={true}
tag="h2"
className="md:max-w-8/10 text-5xl 2xl:text-6xl leading-[1.15] font-semibold text-center text-balance"
/>
<div className="grid grid-cols-1 md:grid-cols-2 gap-8 mt-8 w-full max-w-4xl">
<div className="flex flex-col items-center p-6 card rounded border border-border/50">
<h3 className="text-2xl font-semibold text-foreground mb-4">Swefieh Branch</h3>
<p className="text-accent text-center mb-6">Swefieh, Amman, Jordan</p>
<div className="flex flex-wrap justify-center gap-3">
<Button text="Call: 07 9907 0487" href="tel:+962799070487" variant="primary" />
<Button text="Instagram" href="https://instagram.com" variant="secondary" animationDelay={0.1} />
</div>
</div>
<div className="flex flex-col items-center p-6 card rounded border border-border/50">
<h3 className="text-2xl font-semibold text-foreground mb-4">Khalda Branch</h3>
<p className="text-accent text-center mb-6">Khalda, Amman, Jordan</p>
<div className="flex flex-wrap justify-center gap-3">
<Button text="Call: 07 9907 0487" href="tel:+962799070487" variant="primary" />
<Button text="Instagram" href="https://instagram.com" variant="secondary" animationDelay={0.1} />
</div>
</div>
</div>
</div>
</div>
</ScrollReveal>
</div>
</section>
);
};
export default function ContactSection() {
return (
<div data-webild-section="contact" id="contact">
<ContactInline />
</div>
);
}

View File

@@ -0,0 +1,39 @@
// 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 FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FaqSection(): React.JSX.Element {
return (
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSplitMedia
tag="Support"
title="Frequently Asked Questions"
description="Have questions about our jewelry or services? We're here to help."
items={[
{
question: "Where are you located?",
answer: "We are located at Al-Qimma St., Swefieh branch, Amman.",
},
{
question: "What are your opening hours?",
answer: "We are open daily until 9 PM.",
},
{
question: "Can I order custom designs?",
answer: "Yes, we specialize in bespoke jewelry designs tailored to your needs.",
},
{
question: "How can I contact you?",
answer: "You can reach us by phone at 07 9907 0487.",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/front-view-various-precious-stones_23-2148643245.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,28 @@
// 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 HeroBillboardBrand from '@/components/sections/hero/HeroBillboardBrand';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroBillboardBrand
brand="Abusara Jewelry"
description="Exquisite gold and diamond collections crafted with passion in the heart of Swefieh, Amman."
primaryButton={{
text: "Call Now",
href: "tel:+962799070487",
}}
secondaryButton={{
text: "Visit Us",
href: "https://maps.app.goo.gl/XV48+M5",
}}
imageSrc="https://storage.googleapis.com/webild/users/user_3FUbuhBWo8zY2VefkIjcEiJMeRr/uploaded-1782135384906-mmw66f06.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,49 @@
// 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 MetricsFeatureCards from '@/components/sections/metrics/MetricsFeatureCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MetricsSection(): React.JSX.Element {
return (
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsFeatureCards
tag="Why Choose Us"
title="Excellence in Every Detail"
description="Building trust through quality and dedicated service."
metrics={[
{
value: "4.9",
title: "Google Rating",
features: [
"141+ Reviews",
"Trusted by families",
"Highest service standards",
],
},
{
value: "40+",
title: "Years Experience",
features: [
"Family owned",
"Artisanal quality",
"Amman legacy",
],
},
{
value: "100%",
title: "Genuine Quality",
features: [
"Certified gold",
"Authentic diamonds",
"Lifetime craftsmanship",
],
},
]}
/>
</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 FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ProductsSection(): React.JSX.Element {
return (
<div id="products" data-section="products">
<SectionErrorBoundary name="products">
<FeaturesRevealCardsBento
tag="Our Collection"
title="Timeless Elegance"
description="Discover our signature pieces ranging from classic gold sets to modern, contemporary designs."
items={[{"description":"Custom crafted diamonds.","title":"Engagement Rings","href":"#contact","imageSrc":"https://storage.googleapis.com/webild/users/user_3FUbuhBWo8zY2VefkIjcEiJMeRr/uploaded-1782135384906-mmw66f06.jpg"},{"imageSrc":"https://storage.googleapis.com/webild/users/user_3FUbuhBWo8zY2VefkIjcEiJMeRr/uploaded-1782135384909-qnijmuya.jpg","href":"#contact","title":"Gold Necklaces","description":"Intricate gold art pieces."},{"title":"Premium Bracelets","description":"Handcrafted gold design.","imageSrc":"https://storage.googleapis.com/webild/users/user_3FUbuhBWo8zY2VefkIjcEiJMeRr/uploaded-1782135384911-1vkse4p6.jpg","href":"#contact"},{"description":"Unique daily wear sets.","title":"Signature Earrings","href":"#contact","imageSrc":"https://storage.googleapis.com/webild/users/user_3FUbuhBWo8zY2VefkIjcEiJMeRr/uploaded-1782135384911-06tepbah.jpg"},{"title":"Bridal Sets","description":"Full ensemble jewelry.","imageSrc":"https://storage.googleapis.com/webild/users/user_3FUbuhBWo8zY2VefkIjcEiJMeRr/uploaded-1782135384912-aeh91huc.jpg","href":"#contact"},{"description":"Timeless golden classics.","title":"Wedding Bands","href":"#contact","imageSrc":"https://storage.googleapis.com/webild/users/user_3FUbuhBWo8zY2VefkIjcEiJMeRr/uploaded-1782135525561-g8cgld3l.jpg"},{"description":"Tailor-made masterpieces.","title":"Custom Design","href":"#contact","imageSrc":"https://storage.googleapis.com/webild/users/user_3FUbuhBWo8zY2VefkIjcEiJMeRr/uploaded-1782135525562-ym6o0q76.jpg"}]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,57 @@
// 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 TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialRatingCards
tag="Testimonials"
title="What Our Clients Say"
description="Honest feedback from our valued family of customers."
testimonials={[
{
name: "Sandra Khalil",
role: "Customer",
quote: "Highly Recommended! Fantastic experience and service.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/grateful-charming-blond-european-25s-woman-silver-party-dress-press-palms-heart-feel-thankful-appreciate-effort-cherish-romantic-gesture-receive-flattering-compliments-gifts-smiling-happily_1258-308442.jpg",
},
{
name: "Yahya Aldeeb",
role: "Local Guide",
quote: "Very unique collection. Omar is really a kind person.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/woman-paying-with-credit-card-shopping_329181-18778.jpg",
},
{
name: "Tala Kayed",
role: "Client",
quote: "My favourite gold shop in Amman, wonderful family.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/couple-jewelry-shop-choosing-necklace-together_1303-30656.jpg",
},
{
name: "Amal Hassan",
role: "Client",
quote: "Classy treatment and beautiful variety of models.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/female-sales-person-jewelry-store_1303-30652.jpg",
},
{
name: "Samir Mahmoud",
role: "Client",
quote: "Truly modern pieces and exceptional customer care.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/look-my-ring-is-very-similar_329181-8041.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}