Merge version_2_1781486336320 into main #3
@@ -1,118 +1,33 @@
|
||||
import AboutTextSplit from '@/components/sections/about/AboutTextSplit';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FaqTwoColumn from '@/components/sections/faq/FaqTwoColumn';
|
||||
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
|
||||
import HeroCenteredLogos from '@/components/sections/hero/HeroCenteredLogos';
|
||||
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
|
||||
import TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
|
||||
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 MenuSection from './HomePage/sections/Menu';
|
||||
import StatsSection from './HomePage/sections/Stats';
|
||||
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">
|
||||
<HeroCenteredLogos
|
||||
title="911: The Fast Lane to Flavor"
|
||||
description="Ready to eat? Shawarma so fast and fresh, it’s practically emergency-ready. Experience the fire of authentic flavor delivered straight to you."
|
||||
primaryButton={{
|
||||
text: "Call for Delivery", href: "tel:0791191120"}}
|
||||
secondaryButton={{
|
||||
text: "Explore Menu", href: "#menu"}}
|
||||
avatarsSrc={[]}
|
||||
avatarText=""
|
||||
names={[]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/meat-shaurma-rolls-lavash-with-colorful-cherry-tomatoes_114579-7266.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutTextSplit
|
||||
title="Why 911?"
|
||||
descriptions={[
|
||||
"At 911, we believe that great food shouldn't wait. Inspired by the speed and intensity of our namesake, we have mastered the art of high-quality, fast-turnaround shawarma.", "Our fire-grilled meats are seasoned with secret family blends and served with fresh, locally sourced ingredients. Whether it's a quick lunch, a family feast, or a late-night craving, we’re here to serve delicious, hot, and reliable food faster than anyone else in town."]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="menu" data-section="menu">
|
||||
<SectionErrorBoundary name="menu">
|
||||
<FeaturesImageBento
|
||||
tag="Our Signature Menu"
|
||||
title="Hungry for More?"
|
||||
description="Explore our delicious selection of freshly prepared meals."
|
||||
items={[
|
||||
{ title: "Shawarma Meals", description: "Authentic, fire-grilled perfection (وجبات الشاورما).", imageSrc: "http://img.b2bpic.net/free-photo/sandwich-pita-bread-wooden-board_140725-1420.jpg" },
|
||||
{ title: "Family Meals", description: "Perfectly sized for everyone (الوجبات العائلية).", imageSrc: "http://img.b2bpic.net/free-photo/clay-plate-full-appetizers-including-goldy-chicken-nuggets-with-chrispy-crust-delicious-canapes-with-herring-cherry-tomatoes-served-with-garlic-sauce-decorated-with-salad-leaves-cheese_132075-13074.jpg" },
|
||||
{ title: "Broasted Chicken", description: "Crispy and juicy perfection (البروستد).", imageSrc: "http://img.b2bpic.net/free-photo/burger-black-bread-bun-with-fried-egg_114579-3298.jpg" },
|
||||
{ title: "Appetizers", description: "Small bites, big flavor (مقبلات).", imageSrc: "http://img.b2bpic.net/free-photo/top-view-olive-sandwiches-with-bread-sliced-cucumbers_114579-5979.jpg" },
|
||||
{ title: "Special Wraps", description: "Our chef's unique recipe creations.", imageSrc: "http://img.b2bpic.net/free-photo/grilled-hamburger-meal-with-fries-cheese-generative-ai_188544-8488.jpg" },
|
||||
{ title: "Dips & Sides", description: "Garlic cream, pickles, and more.", imageSrc: "http://img.b2bpic.net/free-photo/top-view-hand-taking-one-foods-from-delicious-best-snack-wine-brown-tray-ice-background_140725-141657.jpg" },
|
||||
{ title: "Classic Combo", description: "The ultimate quick lunch deal.", imageSrc: "http://img.b2bpic.net/free-photo/crispy-fried-chicken-drumsticks-chicken-menu-view_140725-56867.jpg" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<MenuSection />
|
||||
|
||||
<div id="stats" data-section="stats">
|
||||
<SectionErrorBoundary name="stats">
|
||||
<MetricsMediaCards
|
||||
tag="Our Service"
|
||||
title="Speed is Our Priority"
|
||||
description="We don't just deliver food; we deliver satisfaction at lightning speed."
|
||||
metrics={[
|
||||
{ value: "15min", title: "Average Delivery", description: "From our fire to your doorstep.", imageSrc: "http://img.b2bpic.net/free-photo/side-view-shawarma-with-fried-potatoes-ayran-mayonnaise-board-cookware_176474-3213.jpg" },
|
||||
{ value: "24/7", title: "Service Hours", description: "Hungry at 3 AM? We're open.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-delicious-fast-food-meal_23-2149291680.jpg" },
|
||||
{ value: "100%", title: "Freshness", description: "Never frozen, always grilled.", imageSrc: "http://img.b2bpic.net/free-photo/top-view-fish-chips-plate-with-lemon-slice-copy-space_23-2148784865.jpg" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<StatsSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialMarqueeCards
|
||||
tag="Reviews"
|
||||
title="What Our Fans Say"
|
||||
description="Don't take our word for it, hear what our customers have to say about the fastest food in town."
|
||||
testimonials={[
|
||||
{ name: "Ali Hassan", role: "Foodie", quote: "The best shawarma in the city, hands down!", imageSrc: "http://img.b2bpic.net/free-photo/portrait-cute-shy-young-asian-woman-standing-front-cafe-entrance-touching-her-neck_1258-199358.jpg" },
|
||||
{ name: "Sarah Ahmed", role: "Regular Customer", quote: "Super fast delivery and the chicken is always hot.", imageSrc: "http://img.b2bpic.net/free-photo/front-view-woman-eating-seaweed-snacks_23-2150872525.jpg" },
|
||||
{ name: "Omar Mahmoud", role: "Fan", quote: "The 911 family meal is our weekly weekend ritual.", imageSrc: "http://img.b2bpic.net/free-photo/front-view-young-female-courier-yellow-shirt-red-cape-holding-plastic-coffee-cups-blue-space-job_140725-29221.jpg" },
|
||||
{ name: "Fatima Zahra", role: "Local", quote: "The garlic dip is life-changing. Great service!", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-woman-with-delicious-hot-dog_23-2150347894.jpg" },
|
||||
{ name: "Youssef Ibrahim", role: "Frequent Diner", quote: "Consistently great taste every single time.", imageSrc: "http://img.b2bpic.net/free-photo/diverse-teenagers-practicing-health-wellness-activities-themselves-their-community_23-2151416177.jpg" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqTwoColumn
|
||||
tag="Questions"
|
||||
title="Got Questions?"
|
||||
description="Here is everything you need to know about our services."
|
||||
items={[
|
||||
{ question: "Do you deliver to my area?", answer: "We cover most districts. Call us to confirm!" },
|
||||
{ question: "Are you open on weekends?", answer: "We are open 24/7, including all weekends and holidays." },
|
||||
{ question: "How can I customize my meal?", answer: "You can add special requests during your phone order." },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FaqSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Get In Touch"
|
||||
text="Ready for your meal? Call the experts in speed and flavor."
|
||||
primaryButton={{ text: "079 119 1120", href: "tel:0791191120" }}
|
||||
secondaryButton={{ text: "Email Us", href: "mailto:info@911food.com" }}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
20
src/pages/HomePage/sections/About.tsx
Normal file
20
src/pages/HomePage/sections/About.tsx
Normal file
@@ -0,0 +1,20 @@
|
||||
// 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 AboutTextSplit from '@/components/sections/about/AboutTextSplit';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function AboutSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutTextSplit
|
||||
title="Why 911?"
|
||||
descriptions={[
|
||||
"At 911, we believe that great food shouldn't wait. Inspired by the speed and intensity of our namesake, we have mastered the art of high-quality, fast-turnaround shawarma.", "Our fire-grilled meats are seasoned with secret family blends and served with fresh, locally sourced ingredients. Whether it's a quick lunch, a family feast, or a late-night craving, we’re here to serve delicious, hot, and reliable food faster than anyone else in town."]}
|
||||
/>
|
||||
</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="Get In Touch"
|
||||
text="Ready for your meal? Call the experts in speed and flavor."
|
||||
primaryButton={{ text: "079 119 1120", href: "tel:0791191120" }}
|
||||
secondaryButton={{ text: "Email Us", href: "mailto:info@911food.com" }}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
25
src/pages/HomePage/sections/Faq.tsx
Normal file
25
src/pages/HomePage/sections/Faq.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 "faq" section.
|
||||
|
||||
import React from 'react';
|
||||
import FaqTwoColumn from '@/components/sections/faq/FaqTwoColumn';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FaqSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqTwoColumn
|
||||
tag="Questions"
|
||||
title="Got Questions?"
|
||||
description="Here is everything you need to know about our services."
|
||||
items={[
|
||||
{ question: "Do you deliver to my area?", answer: "We cover most districts. Call us to confirm!" },
|
||||
{ question: "Are you open on weekends?", answer: "We are open 24/7, including all weekends and holidays." },
|
||||
{ question: "How can I customize my meal?", answer: "You can add special requests during your phone order." },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
27
src/pages/HomePage/sections/Hero.tsx
Normal file
27
src/pages/HomePage/sections/Hero.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 "hero" section.
|
||||
|
||||
import React from 'react';
|
||||
import HeroCenteredLogos from '@/components/sections/hero/HeroCenteredLogos';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroCenteredLogos
|
||||
title="911: The Fast Lane to Flavor"
|
||||
description="Ready to eat? Shawarma so fast and fresh, it’s practically emergency-ready. Experience the fire of authentic flavor delivered straight to you."
|
||||
primaryButton={{
|
||||
text: "Call for Delivery", href: "tel:0791191120"}}
|
||||
secondaryButton={{
|
||||
text: "Explore Menu", href: "#menu"}}
|
||||
avatarsSrc={[]}
|
||||
avatarText=""
|
||||
names={[]}
|
||||
imageSrc="https://storage.googleapis.com/webild/users/user_3F9SKfpkNw5HpBrCxJ00V5VGyUj/uploaded-1781486335201-40m0oijw.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
29
src/pages/HomePage/sections/Menu.tsx
Normal file
29
src/pages/HomePage/sections/Menu.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 "menu" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function MenuSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="menu" data-section="menu">
|
||||
<SectionErrorBoundary name="menu">
|
||||
<FeaturesImageBento
|
||||
tag="Our Signature Menu"
|
||||
title="Hungry for More?"
|
||||
description="Explore our delicious selection of freshly prepared meals."
|
||||
items={[
|
||||
{ title: "Shawarma Meals", description: "Authentic, fire-grilled perfection (وجبات الشاورما).", imageSrc: "http://img.b2bpic.net/free-photo/sandwich-pita-bread-wooden-board_140725-1420.jpg" },
|
||||
{ title: "Family Meals", description: "Perfectly sized for everyone (الوجبات العائلية).", imageSrc: "http://img.b2bpic.net/free-photo/clay-plate-full-appetizers-including-goldy-chicken-nuggets-with-chrispy-crust-delicious-canapes-with-herring-cherry-tomatoes-served-with-garlic-sauce-decorated-with-salad-leaves-cheese_132075-13074.jpg" },
|
||||
{ title: "Broasted Chicken", description: "Crispy and juicy perfection (البروستد).", imageSrc: "http://img.b2bpic.net/free-photo/burger-black-bread-bun-with-fried-egg_114579-3298.jpg" },
|
||||
{ title: "Appetizers", description: "Small bites, big flavor (مقبلات).", imageSrc: "http://img.b2bpic.net/free-photo/top-view-olive-sandwiches-with-bread-sliced-cucumbers_114579-5979.jpg" },
|
||||
{ title: "Special Wraps", description: "Our chef's unique recipe creations.", imageSrc: "http://img.b2bpic.net/free-photo/grilled-hamburger-meal-with-fries-cheese-generative-ai_188544-8488.jpg" },
|
||||
{ title: "Dips & Sides", description: "Garlic cream, pickles, and more.", imageSrc: "http://img.b2bpic.net/free-photo/top-view-hand-taking-one-foods-from-delicious-best-snack-wine-brown-tray-ice-background_140725-141657.jpg" },
|
||||
{ title: "Classic Combo", description: "The ultimate quick lunch deal.", imageSrc: "http://img.b2bpic.net/free-photo/crispy-fried-chicken-drumsticks-chicken-menu-view_140725-56867.jpg" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
25
src/pages/HomePage/sections/Stats.tsx
Normal file
25
src/pages/HomePage/sections/Stats.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 "stats" section.
|
||||
|
||||
import React from 'react';
|
||||
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function StatsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="stats" data-section="stats">
|
||||
<SectionErrorBoundary name="stats">
|
||||
<MetricsMediaCards
|
||||
tag="Our Service"
|
||||
title="Speed is Our Priority"
|
||||
description="We don't just deliver food; we deliver satisfaction at lightning speed."
|
||||
metrics={[
|
||||
{ value: "15min", title: "Average Delivery", description: "From our fire to your doorstep.", imageSrc: "http://img.b2bpic.net/free-photo/side-view-shawarma-with-fried-potatoes-ayran-mayonnaise-board-cookware_176474-3213.jpg" },
|
||||
{ value: "24/7", title: "Service Hours", description: "Hungry at 3 AM? We're open.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-delicious-fast-food-meal_23-2149291680.jpg" },
|
||||
{ value: "100%", title: "Freshness", description: "Never frozen, always grilled.", imageSrc: "http://img.b2bpic.net/free-photo/top-view-fish-chips-plate-with-lemon-slice-copy-space_23-2148784865.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 TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialMarqueeCards
|
||||
tag="Reviews"
|
||||
title="What Our Fans Say"
|
||||
description="Don't take our word for it, hear what our customers have to say about the fastest food in town."
|
||||
testimonials={[
|
||||
{ name: "Ali Hassan", role: "Foodie", quote: "The best shawarma in the city, hands down!", imageSrc: "http://img.b2bpic.net/free-photo/portrait-cute-shy-young-asian-woman-standing-front-cafe-entrance-touching-her-neck_1258-199358.jpg" },
|
||||
{ name: "Sarah Ahmed", role: "Regular Customer", quote: "Super fast delivery and the chicken is always hot.", imageSrc: "http://img.b2bpic.net/free-photo/front-view-woman-eating-seaweed-snacks_23-2150872525.jpg" },
|
||||
{ name: "Omar Mahmoud", role: "Fan", quote: "The 911 family meal is our weekly weekend ritual.", imageSrc: "http://img.b2bpic.net/free-photo/front-view-young-female-courier-yellow-shirt-red-cape-holding-plastic-coffee-cups-blue-space-job_140725-29221.jpg" },
|
||||
{ name: "Fatima Zahra", role: "Local", quote: "The garlic dip is life-changing. Great service!", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-woman-with-delicious-hot-dog_23-2150347894.jpg" },
|
||||
{ name: "Youssef Ibrahim", role: "Frequent Diner", quote: "Consistently great taste every single time.", imageSrc: "http://img.b2bpic.net/free-photo/diverse-teenagers-practicing-health-wellness-activities-themselves-their-community_23-2151416177.jpg" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user