Compare commits
2 Commits
version_1_
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 95bc94d20b | |||
|
|
92222bd362 |
@@ -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 */
|
||||
|
||||
@@ -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 />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
27
src/pages/HomePage/sections/Contact.tsx
Normal file
27
src/pages/HomePage/sections/Contact.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 "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>
|
||||
);
|
||||
}
|
||||
49
src/pages/HomePage/sections/Features.tsx
Normal file
49
src/pages/HomePage/sections/Features.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
44
src/pages/HomePage/sections/Hero.tsx
Normal file
44
src/pages/HomePage/sections/Hero.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
57
src/pages/HomePage/sections/Menu.tsx
Normal file
57
src/pages/HomePage/sections/Menu.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
42
src/pages/HomePage/sections/Testimonials.tsx
Normal file
42
src/pages/HomePage/sections/Testimonials.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user