2 Commits

Author SHA1 Message Date
95bc94d20b Merge version_2_1781576100628 into main
Merge version_2_1781576100628 into main
2026-06-16 02:16:17 +00:00
kudinDmitriyUp
92222bd362 Bob AI: Darken accent color for better text visibility 2026-06-16 02:15:38 +00:00
7 changed files with 238 additions and 173 deletions

View File

@@ -12,7 +12,7 @@
--primary-cta-text: #f6f0e9;
--secondary-cta: #efe7dd;
--secondary-cta-text: #2b180a;
--accent: #94877c;
--accent: #5c4f45;
--background-accent: #afa094;
/* @layout/border-radius/rounded */

View File

@@ -1,181 +1,27 @@
import ContactCta from '@/components/sections/contact/ContactCta';
import FeaturesDetailedCards from '@/components/sections/features/FeaturesDetailedCards';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import HeroOverlayMarquee from '@/components/sections/hero/HeroOverlayMarquee';
import TestimonialTrustCard from '@/components/sections/testimonial/TestimonialTrustCard';
import { Car, Users, Utensils } 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 FeaturesSection from './HomePage/sections/Features';
import MenuSection from './HomePage/sections/Menu';
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">
<HeroOverlayMarquee
tag="مرحباً بكم في Sohar"
title="عالحطب.. نكهة الأصالة ولمة الحبايب في قلب صحار"
description="أجواء عصرية، أطباق حلال مميزة، وقهوة تعدّل المزاج."
primaryButton={{
text: "اطلب الآن عبر طلبات",
href: "#",
}}
secondaryButton={{
text: "احجز طاولتك",
href: "#contact",
}}
imageSrc="http://img.b2bpic.net/free-photo/front-view-assortments-cake-decorating-ingredients_23-2148368259.jpg"
items={[
{
text: "أجواء عائلية",
icon: Users,
},
{
text: "أطباق حلال",
icon: Utensils,
},
{
text: "مواقف متوفرة",
icon: Car,
},
]}
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesDetailedCards
tag="لماذا عالحطب؟"
title="نقاط القوة"
description="نتميز بتفاصيل دقيقة تضمن لك تجربة استثنائية."
items={[
{
title: "قهوة وحلويات لا تُقاوم",
description: "ابدأ يومك أو انهِه بألذ تفاصيل الحلى والقهوة الرائعة.",
tags: [
"قهوة",
"حلى",
],
imageSrc: "http://img.b2bpic.net/free-photo/barista-work-coffee-shop_158595-2328.jpg",
},
{
title: "جلسات لكل الأوقات",
description: "أجواء هادئة وعصرية تناسب تجمعات الأصدقاء والطلاب والعائلات.",
tags: [
"جلسات",
"عصري",
],
imageSrc: "http://img.b2bpic.net/free-photo/full-shot-women-enjoying-delicious-food_23-2150312331.jpg",
},
{
title: "راحة الجميع تهمنا",
description: "مرافق مجهزة بالكامل لتسهيل حركة ذوي الاحتياجات الخاصة.",
tags: [
"مرافق",
"خدمة",
],
imageSrc: "http://img.b2bpic.net/free-photo/man-wheelchair-having-inclusive-office-job_23-2149571039.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<FeaturesSection />
<div id="menu" data-section="menu">
<SectionErrorBoundary name="menu">
<FeaturesImageBento
tag="قائمة الطعام"
title="العرض البصري"
description="تصفح مأكولاتنا الشهيرة والمميزة."
items={[
{
title: "الوجبات الرئيسية",
description: "أطباق غنية تُحضر بشغف لتناسب الجميع.",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-yummy-waffle-cakes-with-fruits-dark-background_140725-80340.jpg",
},
{
title: "إفطار متأخر",
description: "خيارات خفيفة وسريعة ومثالية للسياح.",
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-woman-taking-photos_23-2149250088.jpg",
},
{
title: "قهوة مختصة",
description: "قهوتنا التي يشهد لها زوارنا.",
imageSrc: "http://img.b2bpic.net/free-photo/wide-angle-shot-several-tables-put-front-glass-building_181624-9903.jpg",
},
{
title: "حلويات",
description: "أشهى أنواع الحلى والحلويات.",
imageSrc: "http://img.b2bpic.net/free-photo/cookie-with-dogwoods-inside-brown-plate-grey_140725-29923.jpg",
},
{
title: "مقبلات",
description: "أطباق جانبية تفتح الشهية.",
imageSrc: "http://img.b2bpic.net/free-photo/lunch-home-with-friends_23-2148451598.jpg",
},
{
title: "مشروبات باردة",
description: "مرطبات تناسب أجواء سلطنة عمان.",
imageSrc: "http://img.b2bpic.net/free-photo/person-waiting-food-restaurant_23-2149269219.jpg",
},
{
title: "عروض المجموعات",
description: "قائمة مخصصة للمجموعات الكبيرة.",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-sweet-yummy-cookies-with-cup-coffee-sweet-bangles-grey-background-cookie-sugar-sweet-coffee_140725-31008.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<MenuSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialTrustCard
quote="أجواء راقية، أكل حلال متميز، ومواقف السيارات متوفرة دائماً.. المكان المفضل للمجموعات في صحار!"
rating={5}
author="محمد علي، زائر دائم"
avatars={[
{
name: "محمد",
imageSrc: "http://img.b2bpic.net/free-photo/young-waitress-assisting-woman-with-choosing-order-from-menu-bar_637285-2309.jpg",
},
{
name: "سارة",
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-young-girl-with-dark-hair-beret-classic-beige-trench-coat-sitting-table-city-cafe-terrace-smiling-having-cheesecake-tea-breakfast_197531-24446.jpg",
},
{
name: "أحمد",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-beautiful-black-skinned-woman-wearing-blouse-flower-headband-enjoying-dinner-while-eating-restaurant_613910-18777.jpg",
},
{
name: "ليلى",
imageSrc: "http://img.b2bpic.net/free-photo/man-enjoying-christmas-dinner-with-his-family_23-2149144995.jpg",
},
{
name: "خالد",
imageSrc: "http://img.b2bpic.net/free-photo/front-view-delicious-thanksgiving-meal_23-2148629540.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="تواصل معنا"
text="هل تود حجز طاولة أو الاستفسار؟ يسعدنا استقبالكم يومياً."
primaryButton={{
text: "اتصل الآن",
href: "tel:+96897407470",
}}
secondaryButton={{
text: "موقعنا على الخريطة",
href: "#",
}}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

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: "tel:+96897407470",
}}
secondaryButton={{
text: "موقعنا على الخريطة",
href: "#",
}}
/>
</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 "features" section.
import React from 'react';
import FeaturesDetailedCards from '@/components/sections/features/FeaturesDetailedCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FeaturesSection(): React.JSX.Element {
return (
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesDetailedCards
tag="لماذا عالحطب؟"
title="نقاط القوة"
description="نتميز بتفاصيل دقيقة تضمن لك تجربة استثنائية."
items={[
{
title: "قهوة وحلويات لا تُقاوم",
description: "ابدأ يومك أو انهِه بألذ تفاصيل الحلى والقهوة الرائعة.",
tags: [
"قهوة",
"حلى",
],
imageSrc: "http://img.b2bpic.net/free-photo/barista-work-coffee-shop_158595-2328.jpg",
},
{
title: "جلسات لكل الأوقات",
description: "أجواء هادئة وعصرية تناسب تجمعات الأصدقاء والطلاب والعائلات.",
tags: [
"جلسات",
"عصري",
],
imageSrc: "http://img.b2bpic.net/free-photo/full-shot-women-enjoying-delicious-food_23-2150312331.jpg",
},
{
title: "راحة الجميع تهمنا",
description: "مرافق مجهزة بالكامل لتسهيل حركة ذوي الاحتياجات الخاصة.",
tags: [
"مرافق",
"خدمة",
],
imageSrc: "http://img.b2bpic.net/free-photo/man-wheelchair-having-inclusive-office-job_23-2149571039.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,44 @@
// 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 HeroOverlayMarquee from '@/components/sections/hero/HeroOverlayMarquee';
import { Car, Users, Utensils } from "lucide-react";
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroOverlayMarquee
tag="مرحباً بكم في Sohar"
title="عالحطب.. نكهة الأصالة ولمة الحبايب في قلب صحار"
description="أجواء عصرية، أطباق حلال مميزة، وقهوة تعدّل المزاج."
primaryButton={{
text: "اطلب الآن عبر طلبات",
href: "#",
}}
secondaryButton={{
text: "احجز طاولتك",
href: "#contact",
}}
imageSrc="http://img.b2bpic.net/free-photo/front-view-assortments-cake-decorating-ingredients_23-2148368259.jpg"
items={[
{
text: "أجواء عائلية",
icon: Users,
},
{
text: "أطباق حلال",
icon: Utensils,
},
{
text: "مواقف متوفرة",
icon: Car,
},
]}
/>
</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 "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="قائمة الطعام"
title="العرض البصري"
description="تصفح مأكولاتنا الشهيرة والمميزة."
items={[
{
title: "الوجبات الرئيسية",
description: "أطباق غنية تُحضر بشغف لتناسب الجميع.",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-yummy-waffle-cakes-with-fruits-dark-background_140725-80340.jpg",
},
{
title: "إفطار متأخر",
description: "خيارات خفيفة وسريعة ومثالية للسياح.",
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-woman-taking-photos_23-2149250088.jpg",
},
{
title: "قهوة مختصة",
description: "قهوتنا التي يشهد لها زوارنا.",
imageSrc: "http://img.b2bpic.net/free-photo/wide-angle-shot-several-tables-put-front-glass-building_181624-9903.jpg",
},
{
title: "حلويات",
description: "أشهى أنواع الحلى والحلويات.",
imageSrc: "http://img.b2bpic.net/free-photo/cookie-with-dogwoods-inside-brown-plate-grey_140725-29923.jpg",
},
{
title: "مقبلات",
description: "أطباق جانبية تفتح الشهية.",
imageSrc: "http://img.b2bpic.net/free-photo/lunch-home-with-friends_23-2148451598.jpg",
},
{
title: "مشروبات باردة",
description: "مرطبات تناسب أجواء سلطنة عمان.",
imageSrc: "http://img.b2bpic.net/free-photo/person-waiting-food-restaurant_23-2149269219.jpg",
},
{
title: "عروض المجموعات",
description: "قائمة مخصصة للمجموعات الكبيرة.",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-sweet-yummy-cookies-with-cup-coffee-sweet-bangles-grey-background-cookie-sugar-sweet-coffee_140725-31008.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,42 @@
// 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 TestimonialTrustCard from '@/components/sections/testimonial/TestimonialTrustCard';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialTrustCard
quote="أجواء راقية، أكل حلال متميز، ومواقف السيارات متوفرة دائماً.. المكان المفضل للمجموعات في صحار!"
rating={5}
author="محمد علي، زائر دائم"
avatars={[
{
name: "محمد",
imageSrc: "http://img.b2bpic.net/free-photo/young-waitress-assisting-woman-with-choosing-order-from-menu-bar_637285-2309.jpg",
},
{
name: "سارة",
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-young-girl-with-dark-hair-beret-classic-beige-trench-coat-sitting-table-city-cafe-terrace-smiling-having-cheesecake-tea-breakfast_197531-24446.jpg",
},
{
name: "أحمد",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-beautiful-black-skinned-woman-wearing-blouse-flower-headband-enjoying-dinner-while-eating-restaurant_613910-18777.jpg",
},
{
name: "ليلى",
imageSrc: "http://img.b2bpic.net/free-photo/man-enjoying-christmas-dinner-with-his-family_23-2149144995.jpg",
},
{
name: "خالد",
imageSrc: "http://img.b2bpic.net/free-photo/front-view-delicious-thanksgiving-meal_23-2148629540.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}