2 Commits

Author SHA1 Message Date
714aa2af49 Merge version_2_1781464166994 into main
Merge version_2_1781464166994 into main
2026-06-14 19:10:36 +00:00
kudinDmitriyUp
769ed0ef16 Bob AI: Update primary color to #001122 2026-06-14 19:09:53 +00:00
9 changed files with 319 additions and 229 deletions

View File

@@ -8,7 +8,7 @@
--background: #f5faff;
--card: #ffffff;
--foreground: #001122;
--primary-cta: #15479c;
--primary-cta: #001122;
--primary-cta-text: #f5faff;
--secondary-cta: #ffffff;
--secondary-cta-text: #001122;

View File

@@ -1,239 +1,33 @@
import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
import ContactCta from '@/components/sections/contact/ContactCta';
import FeaturesBorderGlow from '@/components/sections/features/FeaturesBorderGlow';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import HeroBillboardBrand from '@/components/sections/hero/HeroBillboardBrand';
import PricingHighlightedCards from '@/components/sections/pricing/PricingHighlightedCards';
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
import { Award, Crown, Heart, ShieldCheck, Sparkles, Truck } from "lucide-react";
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 FeaturesSection from './HomePage/sections/Features';
import ProductsSection from './HomePage/sections/Products';
import PricingSection from './HomePage/sections/Pricing';
import TestimonialsSection from './HomePage/sections/Testimonials';
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="قصر البارون"
description="مرحباً بك في قصر البارون للحلويات، حيث الجودة والمذاق المميز."
primaryButton={{
text: "تصفح المنتجات",
href: "#products",
}}
secondaryButton={{
text: "عروض اليوم",
href: "#pricing",
}}
imageSrc="http://img.b2bpic.net/free-photo/asian-couple-shopping-flowers-barcelona_657883-571.jpg"
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutFeaturesSplit
tag="قصتنا"
title="جودة لا تضاهى"
description="نحن نستخدم أجود المكونات الطبيعية لنقدم لكم حلويات استثنائية."
items={[
{
icon: Crown,
title: "خبرة عريقة",
description: "أكثر من 20 عاماً في عالم الحلويات.",
},
{
icon: Sparkles,
title: "جودة المكونات",
description: "نختار بعناية أجود المواد الخام.",
},
{
icon: Truck,
title: "توصيل سريع",
description: "نصلكم أينما كنتم في أسرع وقت.",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/standing-male-restaurant-hotel-equipment_1134-1294.jpg"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesBorderGlow
tag="مميزاتنا"
title="لماذا تختار قصر البارون؟"
description="نحن ندمج بين التقاليد والابتكار لنرضي ذائقتكم."
features={[
{
icon: Award,
title: "مذاق فريد",
description: "وصفات خاصة لا تجدها إلا عندنا.",
},
{
icon: ShieldCheck,
title: "معايير السلامة",
description: "نلتزم بأعلى درجات النظافة والتعقيم.",
},
{
icon: Heart,
title: "حب وتقدير",
description: "صنعنا كل قطعة حب خالص لكم.",
},
]}
/>
</SectionErrorBoundary>
</div>
<FeaturesSection />
<div id="products" data-section="products">
<SectionErrorBoundary name="products">
<FeaturesImageBento
tag="قائمة المنتجات"
title="أشهى الحلويات"
description="تشكيلة واسعة تلبي كافة مناسباتكم."
items={[
{
title: "تورتات",
description: "تورتات مخصصة لكل المناسبات",
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-elegant-cake-topper_23-2149232365.jpg",
},
{
title: "جاتوه",
description: "قطع جاتوه فاخرة",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-chocolate-eclairs-currants-grey-plate-cookies-fork-chopping-board-white-wooden-table_140725-90096.jpg",
},
{
title: "شرقية",
description: "حلويات شرقية تقليدية",
imageSrc: "http://img.b2bpic.net/free-photo/eastern-sweets-assorted-traditional-turkish-delight-with-nuts_114579-11171.jpg",
},
{
title: "غربية",
description: "حلويات غربية حديثة",
imageSrc: "http://img.b2bpic.net/free-photo/front-view-little-cookie-cake-with-lemon-slices-candies-dark-background-cake-biscuit-fruit-citrus-sweet-cookies_140725-110230.jpg",
},
{
title: "شوكولاتة",
description: "شوكولاتة بلجيكية فاخرة",
imageSrc: "http://img.b2bpic.net/free-photo/still-life-delicious-marzipan-dessert_23-2149715449.jpg",
},
{
title: "مناسبات",
description: "صواني هدايا ومناسبات",
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-valentines-present-with-macarons_23-2148389569.jpg",
},
{
title: "حلويات الموسم",
description: "أحدث ابتكاراتنا",
imageSrc: "http://img.b2bpic.net/free-photo/hand-holding-golden-plate-with-cake_23-2149455777.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<ProductsSection />
<div id="pricing" data-section="pricing">
<SectionErrorBoundary name="pricing">
<PricingHighlightedCards
tag="العروض"
title="عروضنا الحالية"
description="لا تفوت عروضنا الأسبوعية المميزة."
plans={[
{
tag: "باقة الفرح",
price: "499 EGP",
description: "تشكيلة مختارة",
features: [
"صينية حلويات شرقية",
"كيكة فانيليا",
"توصيل مجاني",
],
primaryButton: {
text: "اطلب الآن",
href: "#",
},
},
{
tag: "باقة العائلة",
price: "299 EGP",
description: "سعادة لكل أفراد العائلة",
features: [
"تشكيلة جاتوه",
"علبة شوكولاتة",
"مشروب هدية",
],
primaryButton: {
text: "اطلب الآن",
href: "#",
},
},
]}
/>
</SectionErrorBoundary>
</div>
<PricingSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialRatingCards
tag="آراء العملاء"
title="ماذا يقول عملاؤنا عنا؟"
description="تجربة حقيقية تعكس جودتنا."
testimonials={[
{
name: "أحمد محمود",
role: "عميل دائم",
quote: "أفضل حلويات جربتها في حياتي، جودة خيالية!",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-handsome-business-man_23-2148479507.jpg",
},
{
name: "سارة علي",
role: "مخططة مناسبات",
quote: "خدمة التوصيل سريعة والجاتوه كان طازجاً جداً.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/business-woman-green-suit-using-phone-outside-street_1303-29546.jpg",
},
{
name: "محمد حسين",
role: "عميل جديد",
quote: "التورتة كانت تحفة فنية ومذاق رائع.",
rating: 4,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-beautiful-teenager_23-2149153385.jpg",
},
{
name: "نور الدين",
role: "عميل دائم",
quote: "الأسعار مناسبة جداً مقارنة بالجودة العالية.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/excited-confident-beauty-woman-pointing-fingers-camera-smiling-invite-beckon-you-join_1258-162404.jpg",
},
{
name: "مريم عمر",
role: "عميل دائم",
quote: "تشكيلة الشوكولاتة عندهم خرافية.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/top-view-arrangement-with-smiley-emoji-card_23-2148860297.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="تواصل معنا"
text="هل لديك استفسار؟ فريقنا مستعد لخدمتك على مدار الساعة."
primaryButton={{
text: "راسلنا واتساب",
href: "https://wa.me/201000000000",
}}
secondaryButton={{
text: "اتصل بنا",
href: "tel:01000000000",
}}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

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 "about" section.
import React from 'react';
import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
import { Award, Crown, Heart, ShieldCheck, Sparkles, Truck } from "lucide-react";
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutFeaturesSplit
tag="قصتنا"
title="جودة لا تضاهى"
description="نحن نستخدم أجود المكونات الطبيعية لنقدم لكم حلويات استثنائية."
items={[
{
icon: Crown,
title: "خبرة عريقة",
description: "أكثر من 20 عاماً في عالم الحلويات.",
},
{
icon: Sparkles,
title: "جودة المكونات",
description: "نختار بعناية أجود المواد الخام.",
},
{
icon: Truck,
title: "توصيل سريع",
description: "نصلكم أينما كنتم في أسرع وقت.",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/standing-male-restaurant-hotel-equipment_1134-1294.jpg"
/>
</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="تواصل معنا"
text="هل لديك استفسار؟ فريقنا مستعد لخدمتك على مدار الساعة."
primaryButton={{
text: "راسلنا واتساب",
href: "https://wa.me/201000000000",
}}
secondaryButton={{
text: "اتصل بنا",
href: "tel:01000000000",
}}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,38 @@
// 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 FeaturesBorderGlow from '@/components/sections/features/FeaturesBorderGlow';
import { Award, Crown, Heart, ShieldCheck, Sparkles, Truck } from "lucide-react";
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FeaturesSection(): React.JSX.Element {
return (
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesBorderGlow
tag="مميزاتنا"
title="لماذا تختار قصر البارون؟"
description="نحن ندمج بين التقاليد والابتكار لنرضي ذائقتكم."
features={[
{
icon: Award,
title: "مذاق فريد",
description: "وصفات خاصة لا تجدها إلا عندنا.",
},
{
icon: ShieldCheck,
title: "معايير السلامة",
description: "نلتزم بأعلى درجات النظافة والتعقيم.",
},
{
icon: Heart,
title: "حب وتقدير",
description: "صنعنا كل قطعة حب خالص لكم.",
},
]}
/>
</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="قصر البارون"
description="مرحباً بك في قصر البارون للحلويات، حيث الجودة والمذاق المميز."
primaryButton={{
text: "تصفح المنتجات",
href: "#products",
}}
secondaryButton={{
text: "عروض اليوم",
href: "#pricing",
}}
imageSrc="http://img.b2bpic.net/free-photo/asian-couple-shopping-flowers-barcelona_657883-571.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,50 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "pricing" section.
import React from 'react';
import PricingHighlightedCards from '@/components/sections/pricing/PricingHighlightedCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function PricingSection(): React.JSX.Element {
return (
<div id="pricing" data-section="pricing">
<SectionErrorBoundary name="pricing">
<PricingHighlightedCards
tag="العروض"
title="عروضنا الحالية"
description="لا تفوت عروضنا الأسبوعية المميزة."
plans={[
{
tag: "باقة الفرح",
price: "499 EGP",
description: "تشكيلة مختارة",
features: [
"صينية حلويات شرقية",
"كيكة فانيليا",
"توصيل مجاني",
],
primaryButton: {
text: "اطلب الآن",
href: "#",
},
},
{
tag: "باقة العائلة",
price: "299 EGP",
description: "سعادة لكل أفراد العائلة",
features: [
"تشكيلة جاتوه",
"علبة شوكولاتة",
"مشروب هدية",
],
primaryButton: {
text: "اطلب الآن",
href: "#",
},
},
]}
/>
</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 "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="قائمة المنتجات"
title="أشهى الحلويات"
description="تشكيلة واسعة تلبي كافة مناسباتكم."
items={[
{
title: "تورتات",
description: "تورتات مخصصة لكل المناسبات",
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-elegant-cake-topper_23-2149232365.jpg",
},
{
title: "جاتوه",
description: "قطع جاتوه فاخرة",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-chocolate-eclairs-currants-grey-plate-cookies-fork-chopping-board-white-wooden-table_140725-90096.jpg",
},
{
title: "شرقية",
description: "حلويات شرقية تقليدية",
imageSrc: "http://img.b2bpic.net/free-photo/eastern-sweets-assorted-traditional-turkish-delight-with-nuts_114579-11171.jpg",
},
{
title: "غربية",
description: "حلويات غربية حديثة",
imageSrc: "http://img.b2bpic.net/free-photo/front-view-little-cookie-cake-with-lemon-slices-candies-dark-background-cake-biscuit-fruit-citrus-sweet-cookies_140725-110230.jpg",
},
{
title: "شوكولاتة",
description: "شوكولاتة بلجيكية فاخرة",
imageSrc: "http://img.b2bpic.net/free-photo/still-life-delicious-marzipan-dessert_23-2149715449.jpg",
},
{
title: "مناسبات",
description: "صواني هدايا ومناسبات",
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-valentines-present-with-macarons_23-2148389569.jpg",
},
{
title: "حلويات الموسم",
description: "أحدث ابتكاراتنا",
imageSrc: "http://img.b2bpic.net/free-photo/hand-holding-golden-plate-with-cake_23-2149455777.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="آراء العملاء"
title="ماذا يقول عملاؤنا عنا؟"
description="تجربة حقيقية تعكس جودتنا."
testimonials={[
{
name: "أحمد محمود",
role: "عميل دائم",
quote: "أفضل حلويات جربتها في حياتي، جودة خيالية!",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-handsome-business-man_23-2148479507.jpg",
},
{
name: "سارة علي",
role: "مخططة مناسبات",
quote: "خدمة التوصيل سريعة والجاتوه كان طازجاً جداً.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/business-woman-green-suit-using-phone-outside-street_1303-29546.jpg",
},
{
name: "محمد حسين",
role: "عميل جديد",
quote: "التورتة كانت تحفة فنية ومذاق رائع.",
rating: 4,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-beautiful-teenager_23-2149153385.jpg",
},
{
name: "نور الدين",
role: "عميل دائم",
quote: "الأسعار مناسبة جداً مقارنة بالجودة العالية.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/excited-confident-beauty-woman-pointing-fingers-camera-smiling-invite-beckon-you-join_1258-162404.jpg",
},
{
name: "مريم عمر",
role: "عميل دائم",
quote: "تشكيلة الشوكولاتة عندهم خرافية.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/top-view-arrangement-with-smiley-emoji-card_23-2148860297.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}