Merge version_2_1781447395089 into main #1

Merged
bender merged 1 commits from version_2_1781447395089 into main 2026-06-14 14:32:30 +00:00
9 changed files with 369 additions and 233 deletions

View File

@@ -1,245 +1,36 @@
import AboutTestimonial from '@/components/sections/about/AboutTestimonial';
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import FeaturesMediaCards from '@/components/sections/features/FeaturesMediaCards';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import HeroBillboardBrand from '@/components/sections/hero/HeroBillboardBrand';
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
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 FeaturesSection from './HomePage/sections/Features';
import AboutSection from './HomePage/sections/About';
import ProductSection from './HomePage/sections/Product';
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="Fresh Halal Meat & International Groceries in Saint-Laurent"
description="Serving Montreal families with quality halal meats, imported foods, fresh groceries, and exceptional service."
primaryButton={{
text: "Call Now",
href: "tel:+15147441355",
}}
secondaryButton={{
text: "Get Directions",
href: "https://maps.google.com/?q=2170+Rue+Patricia+Saint-Laurent+QC",
}}
imageSrc="http://img.b2bpic.net/free-photo/female-butcher-demonstrating-meat-woman_7502-4774.jpg"
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesMediaCards
tag="Our Specialities"
title="Freshness You Can Trust"
description="From farm-fresh halal meats to authentic international pantry essentials."
items={[
{
title: "Fresh Halal Meat",
description: "Hand-slaughtered premium quality meat daily.",
imageSrc: "http://img.b2bpic.net/free-photo/unrecognizable-tattoed-butcher-black-gloves-holds-piece-luxury-whale-meat-white-craft-paper_346278-672.jpg",
},
{
title: "Imported Foods",
description: "Authentic spices and Middle Eastern goods.",
imageSrc: "http://img.b2bpic.net/free-photo/woman-taking-delicious-almonds-from-market_23-2148648966.jpg",
},
{
title: "Fresh Produce",
description: "Seasonal fruits and vegetables daily.",
imageSrc: "http://img.b2bpic.net/free-photo/buying-fresh-onion_1098-19414.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<FeaturesSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutTestimonial
tag="About Marché Rizwan"
quote="Marché Rizwan is a staple of Saint-Laurent, dedicated to providing high-quality halal meats and diverse international products to our community."
author="Management"
role="Marché Rizwan Saint-Laurent"
imageSrc="http://img.b2bpic.net/free-photo/food-delivery-man-buying-products-grocery-store_1303-27751.jpg"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="product" data-section="product">
<SectionErrorBoundary name="product">
<FeaturesRevealCardsBento
tag="Our Products"
title="Explore Our Selection"
description="Premium groceries sourced for your family's needs."
items={[
{
title: "Halal Meats",
description: "Fresh Beef, Chicken, Goat, & Lamb.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-red-raw-fresh-meat-black-board-brown-wooden-hammer-ax-pastel-red-background_179666-47226.jpg",
},
{
title: "Imported Middle Eastern",
description: "Authentic pantry essentials.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/assorted-spices-kitchen-table_114579-6298.jpg",
},
{
title: "Fresh Produce",
description: "Seasonal fruits & vegetables.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/fresh-market_53876-16596.jpg",
},
{
title: "Rice & Grains",
description: "Premium quality everyday essentials.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/unfocused-background-colorful-products_1203-1578.jpg",
},
{
title: "Herbs & Spices",
description: "Flavorful ingredients.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-smiling-woman-serving-food-container-while-buying-bulk-supermarket_662251-1368.jpg",
},
{
title: "Frozen Foods",
description: "Quick meal solutions.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/new-normal-after-covid-epidemic-young-smart-asian-female-shopping-new-lifestyle-supermarket-with-face-shild-mask-protection-hand-choose-fresh-vegetable-fruit-new-normal-lifestyle_609648-2190.jpg",
},
{
title: "Everyday Staples",
description: "Dairy and pantry must-haves.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/fresh-vegetables-blue-crates-shelf-with-price-label_23-2147916211.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<ProductSection />
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsMediaCards
tag="Why Customers Choose Us"
title="Experience Excellence"
description="Your trusted local market for over years."
metrics={[
{
value: "4.3/5",
title: "Google Rating",
description: "Trusted by over 265+ satisfied local customers.",
imageSrc: "http://img.b2bpic.net/free-photo/overhead-view-red-raw-fresh-meat-black-board-brown-wooden-hammer-pastel-red-background_179666-47463.jpg",
},
{
value: "Fresh",
title: "Daily Quality",
description: "Freshness guaranteed in every piece of meat.",
imageSrc: "http://img.b2bpic.net/free-photo/copy-space-raw-meat_23-2148599774.jpg",
},
{
value: "Premium",
title: "Authentic Products",
description: "Imported and locally sourced pantry items.",
imageSrc: "http://img.b2bpic.net/free-photo/still-life-with-various-spices_23-2149444650.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<MetricsSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialOverlayCards
tag="Reviews"
title="Community Love"
description="What our customers say about us."
testimonials={[
{
name: "Sarah Ahmed",
role: "Regular Customer",
company: "Saint-Laurent",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/young-hispanic-woman-smiling-confident-holding-take-away-paper-bag-street_839833-1756.jpg",
},
{
name: "John Doe",
role: "Local Resident",
company: "Montreal",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/family-supermarket-beautiful-young-mom-her-little-daughter-smiling-buying-food-concept-healthy-eating-harvest_169016-4713.jpg",
},
{
name: "Fatima Y.",
role: "Frequent Shopper",
company: "Saint-Laurent",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/young-crazy-man-happy-expression_1194-1993.jpg",
},
{
name: "Mark S.",
role: "Local Patron",
company: "Montreal",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiley-woman-holding-shopping-bags-outside_23-2148728595.jpg",
},
{
name: "Layla M.",
role: "Regular Visitor",
company: "Saint-Laurent",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-holding-colorful-gift-bag-white-background-high-quality-photo_114579-23191.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSplitMedia
tag="FAQs"
title="Common Questions"
description="Everything you need to know about our products."
items={[
{
question: "Is all your meat halal?",
answer: "Yes, we exclusively serve 100% hand-slaughtered halal meat.",
},
{
question: "Do you offer delivery?",
answer: "Currently we focus on in-store shopping experience.",
},
{
question: "Are you open on weekends?",
answer: "Yes, we are open to serve you throughout the week.",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/racks-salmon-smoking-small-smoker_169016-36322.jpg"
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Visit Us"
text="Find us at 2170 Rue Patricia, Saint-Laurent. Call us: (514) 744-1355."
primaryButton={{
text: "Get Directions",
href: "https://maps.google.com/?q=2170+Rue+Patricia+Saint-Laurent+QC",
}}
secondaryButton={{
text: "Call Now",
href: "tel:+15147441355",
}}
/>
</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="About Marché Rizwan"
quote="Marché Rizwan is a staple of Saint-Laurent, dedicated to providing high-quality halal meats and diverse international products to our community."
author="Management"
role="Marché Rizwan Saint-Laurent"
imageSrc="http://img.b2bpic.net/free-photo/food-delivery-man-buying-products-grocery-store_1303-27751.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,65 @@
/* 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: "Get Directions",
href: "https://maps.google.com/?q=2170+Rue+Patricia+Saint-Laurent+QC"
};
const secondaryButton = {
text: "Call Now",
href: "tel:+15147441355"
};
const ContactInline = () => {
return (
<section aria-label="Contact section" className="py-20">
<div className="w-content-width mx-auto">
<ScrollReveal variant="slide-up">
<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 w-full">
<div className="px-3 py-1 mb-1 text-sm card rounded w-fit">
<p>{"Visit Us"}</p>
</div>
<TextAnimation
text={"Find us at 2170 Rue Patricia, Saint-Laurent. Call us: (514) 744-1355."}
variant="fade"
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="flex flex-wrap justify-center gap-3 mt-2 md:mt-3">
<Button text={secondaryButton.text} href={secondaryButton.href} variant="primary" animationDelay={0.1} />
</div>
<div className="w-full h-[400px] rounded-lg overflow-hidden border border-border mt-8">
<iframe
src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2795.347313886561!2d-73.6826136844406!3d45.52321497910167!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x4cc9185c182281a1%3A0x6a0c5b5a8b5e5a5!2s2170%20Rue%20Patricia%2C%20Saint-Laurent%2C%20QC%20H4L%202X8!5e0!3m2!1sen!2sca!4v1650000000000!5m2!1sen!2sca"
width="100%"
height="100%"
style={{ border: 0 }}
allowFullScreen={true}
loading="lazy"
referrerPolicy="no-referrer-when-downgrade"
title="Marché Rizwan Location"
></iframe>
</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,35 @@
// 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="FAQs"
title="Common Questions"
description="Everything you need to know about our products."
items={[
{
question: "Is all your meat halal?",
answer: "Yes, we exclusively serve 100% hand-slaughtered halal meat.",
},
{
question: "Do you offer delivery?",
answer: "Currently we focus on in-store shopping experience.",
},
{
question: "Are you open on weekends?",
answer: "Yes, we are open to serve you throughout the week.",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/racks-salmon-smoking-small-smoker_169016-36322.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,37 @@
// 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="Our Specialities"
title="Freshness You Can Trust"
description="From farm-fresh halal meats to authentic international pantry essentials."
items={[
{
title: "Fresh Halal Meat",
description: "Hand-slaughtered premium quality meat daily.",
imageSrc: "http://img.b2bpic.net/free-photo/unrecognizable-tattoed-butcher-black-gloves-holds-piece-luxury-whale-meat-white-craft-paper_346278-672.jpg",
},
{
title: "Imported Foods",
description: "Authentic spices and Middle Eastern goods.",
imageSrc: "http://img.b2bpic.net/free-photo/woman-taking-delicious-almonds-from-market_23-2148648966.jpg",
},
{
title: "Fresh Produce",
description: "Seasonal fruits and vegetables daily.",
imageSrc: "http://img.b2bpic.net/free-photo/buying-fresh-onion_1098-19414.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,25 @@
// 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="Fresh Halal Meat & International Groceries in Saint-Laurent"
description="Serving Montreal families with quality halal meats, imported foods, fresh groceries, and exceptional service."
primaryButton={{
text: "Call Now",
href: "tel:+15147441355",
}}
secondaryButton={{"href":"#contact","text":"Get Directions"}}
imageSrc="http://img.b2bpic.net/free-photo/female-butcher-demonstrating-meat-woman_7502-4774.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 "metrics" section.
import React from 'react';
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MetricsSection(): React.JSX.Element {
return (
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsMediaCards
tag="Why Customers Choose Us"
title="Experience Excellence"
description="Your trusted local market for over years."
metrics={[
{
value: "4.3/5",
title: "Google Rating",
description: "Trusted by over 265+ satisfied local customers.",
imageSrc: "http://img.b2bpic.net/free-photo/overhead-view-red-raw-fresh-meat-black-board-brown-wooden-hammer-pastel-red-background_179666-47463.jpg",
},
{
value: "Fresh",
title: "Daily Quality",
description: "Freshness guaranteed in every piece of meat.",
imageSrc: "http://img.b2bpic.net/free-photo/copy-space-raw-meat_23-2148599774.jpg",
},
{
value: "Premium",
title: "Authentic Products",
description: "Imported and locally sourced pantry items.",
imageSrc: "http://img.b2bpic.net/free-photo/still-life-with-various-spices_23-2149444650.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,64 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "product" section.
import React from 'react';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ProductSection(): React.JSX.Element {
return (
<div id="product" data-section="product">
<SectionErrorBoundary name="product">
<FeaturesRevealCardsBento
tag="Our Products"
title="Explore Our Selection"
description="Premium groceries sourced for your family's needs."
items={[
{
title: "Halal Meats",
description: "Fresh Beef, Chicken, Goat, & Lamb.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-red-raw-fresh-meat-black-board-brown-wooden-hammer-ax-pastel-red-background_179666-47226.jpg",
},
{
title: "Imported Middle Eastern",
description: "Authentic pantry essentials.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/assorted-spices-kitchen-table_114579-6298.jpg",
},
{
title: "Fresh Produce",
description: "Seasonal fruits & vegetables.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/fresh-market_53876-16596.jpg",
},
{
title: "Rice & Grains",
description: "Premium quality everyday essentials.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/unfocused-background-colorful-products_1203-1578.jpg",
},
{
title: "Herbs & Spices",
description: "Flavorful ingredients.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-smiling-woman-serving-food-container-while-buying-bulk-supermarket_662251-1368.jpg",
},
{
title: "Frozen Foods",
description: "Quick meal solutions.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/new-normal-after-covid-epidemic-young-smart-asian-female-shopping-new-lifestyle-supermarket-with-face-shild-mask-protection-hand-choose-fresh-vegetable-fruit-new-normal-lifestyle_609648-2190.jpg",
},
{
title: "Everyday Staples",
description: "Dairy and pantry must-haves.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/fresh-vegetables-blue-crates-shelf-with-price-label_23-2147916211.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 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="Community Love"
description="What our customers say about us."
testimonials={[
{
name: "Sarah Ahmed",
role: "Regular Customer",
company: "Saint-Laurent",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/young-hispanic-woman-smiling-confident-holding-take-away-paper-bag-street_839833-1756.jpg",
},
{
name: "John Doe",
role: "Local Resident",
company: "Montreal",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/family-supermarket-beautiful-young-mom-her-little-daughter-smiling-buying-food-concept-healthy-eating-harvest_169016-4713.jpg",
},
{
name: "Fatima Y.",
role: "Frequent Shopper",
company: "Saint-Laurent",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/young-crazy-man-happy-expression_1194-1993.jpg",
},
{
name: "Mark S.",
role: "Local Patron",
company: "Montreal",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiley-woman-holding-shopping-bags-outside_23-2148728595.jpg",
},
{
name: "Layla M.",
role: "Regular Visitor",
company: "Saint-Laurent",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-holding-colorful-gift-bag-white-background-high-quality-photo_114579-23191.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}