diff --git a/src/app/page.tsx b/src/app/page.tsx index 0d1ee63..3fe8139 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -20,7 +20,7 @@ export default function LandingPage() { borderRadius="pill" contentWidth="mediumLarge" sizing="mediumLarge" - background="grid" + background="circleGradient" cardStyle="gradient-mesh" primaryButtonStyle="radial-glow" secondaryButtonStyle="layered" @@ -45,17 +45,17 @@ export default function LandingPage() { title="Hamza Cafe & Restaurant" description="Experience authentic Egyptian cuisine, fresh grilled meats, traditional dishes, and modern creations in a warm, welcoming atmosphere near Fewa Station." tag="Since 1999" - background={{ variant: "grid" }} + background={{ variant: "sparkles-gradient" }} buttons={[ { text: "View Menu", href: "#menu" }, { text: "Make Reservation", href: "tel:01024252503" } ]} mediaItems={[ - { imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-woman-sitting-table_23-2149684348.jpg?_wi=1", imageAlt: "Hamza Cafe welcoming entrance" }, - { imageSrc: "http://img.b2bpic.net/free-photo/kebab-set-with-various-meat-pieces-lemon-slices_140725-3431.jpg?_wi=1", imageAlt: "Grilled meats and kebab platter" }, - { imageSrc: "http://img.b2bpic.net/free-photo/top-view-azerbaijani-pilaf-rice-cooked-with-lamb-dried-fruits-garnished-with-gazmag_141793-2107.jpg?_wi=1", imageAlt: "Traditional tajine dish" }, - { imageSrc: "http://img.b2bpic.net/free-photo/rustic-bread-baked-homemade-brick-oven-generated-by-ai_188544-16070.jpg?_wi=1", imageAlt: "Fresh pizza from wood-fired oven" }, - { imageSrc: "http://img.b2bpic.net/free-photo/napoleon-tart-with-cream-raspberry-orange-cherry-marshmallows-mint-side-view_141793-3774.jpg?_wi=1", imageAlt: "Delicious crepes and desserts" } + { imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-woman-sitting-table_23-2149684348.jpg", imageAlt: "Hamza Cafe welcoming entrance" }, + { imageSrc: "http://img.b2bpic.net/free-photo/kebab-set-with-various-meat-pieces-lemon-slices_140725-3431.jpg", imageAlt: "Grilled meats and kebab platter" }, + { imageSrc: "http://img.b2bpic.net/free-photo/top-view-azerbaijani-pilaf-rice-cooked-with-lamb-dried-fruits-garnished-with-gazmag_141793-2107.jpg", imageAlt: "Traditional tajine dish" }, + { imageSrc: "http://img.b2bpic.net/free-photo/rustic-bread-baked-homemade-brick-oven-generated-by-ai_188544-16070.jpg", imageAlt: "Fresh pizza from wood-fired oven" }, + { imageSrc: "http://img.b2bpic.net/free-photo/napoleon-tart-with-cream-raspberry-orange-cherry-marshmallows-mint-side-view_141793-3774.jpg", imageAlt: "Delicious crepes and desserts" } ]} /> @@ -73,6 +73,7 @@ export default function LandingPage() { imageAlt="Chef preparing authentic cuisine" useInvertedBackground={false} mediaAnimation="slide-up" + metricsAnimation="slide-up" /> @@ -83,16 +84,16 @@ export default function LandingPage() { tag="Popular" products={[ { - id: "grilled-1", name: "Hamza Special Kebab", price: "120-180 EGP", variant: "Lamb • Beef • Chicken", imageSrc: "http://img.b2bpic.net/free-photo/kebab-set-with-various-meat-pieces-lemon-slices_140725-3431.jpg?_wi=2", imageAlt: "Grilled kebab platter" + id: "grilled-1", name: "Hamza Special Kebab", price: "120-180 EGP", variant: "Lamb • Beef • Chicken", imageSrc: "http://img.b2bpic.net/free-photo/kebab-set-with-various-meat-pieces-lemon-slices_140725-3431.jpg", imageAlt: "Grilled kebab platter" }, { - id: "tajine-1", name: "Traditional Tajine", price: "130-200 EGP", variant: "Meat • Rice • Vegetables", imageSrc: "http://img.b2bpic.net/free-photo/top-view-azerbaijani-pilaf-rice-cooked-with-lamb-dried-fruits-garnished-with-gazmag_141793-2107.jpg?_wi=2", imageAlt: "Slow-cooked tajine" + id: "tajine-1", name: "Traditional Tajine", price: "130-200 EGP", variant: "Meat • Rice • Vegetables", imageSrc: "http://img.b2bpic.net/free-photo/top-view-azerbaijani-pilaf-rice-cooked-with-lamb-dried-fruits-garnished-with-gazmag_141793-2107.jpg", imageAlt: "Slow-cooked tajine" }, { - id: "pizza-1", name: "Wood-Fired Pizza", price: "100-150 EGP", variant: "Margherita • Cheese • Sausage", imageSrc: "http://img.b2bpic.net/free-photo/rustic-bread-baked-homemade-brick-oven-generated-by-ai_188544-16070.jpg?_wi=2", imageAlt: "Fresh pizza" + id: "pizza-1", name: "Wood-Fired Pizza", price: "100-150 EGP", variant: "Margherita • Cheese • Sausage", imageSrc: "http://img.b2bpic.net/free-photo/rustic-bread-baked-homemade-brick-oven-generated-by-ai_188544-16070.jpg", imageAlt: "Fresh pizza" }, { - id: "dessert-1", name: "Nutella Crepes", price: "50-80 EGP", variant: "Nutella • Honey • Fresh Fruit", imageSrc: "http://img.b2bpic.net/free-photo/napoleon-tart-with-cream-raspberry-orange-cherry-marshmallows-mint-side-view_141793-3774.jpg?_wi=2", imageAlt: "Sweet crepes" + id: "dessert-1", name: "Nutella Crepes", price: "50-80 EGP", variant: "Nutella • Honey • Fresh Fruit", imageSrc: "http://img.b2bpic.net/free-photo/napoleon-tart-with-cream-raspberry-orange-cherry-marshmallows-mint-side-view_141793-3774.jpg", imageAlt: "Sweet crepes" } ]} gridVariant="uniform-all-items-equal" @@ -190,7 +191,7 @@ export default function LandingPage() { ]} textarea={{ name: "message", placeholder: "Tell us about your reservation or inquiry...", rows: 5, required: true }} useInvertedBackground={false} - imageSrc="http://img.b2bpic.net/free-photo/medium-shot-woman-sitting-table_23-2149684348.jpg?_wi=2" + imageSrc="http://img.b2bpic.net/free-photo/medium-shot-woman-sitting-table_23-2149684348.jpg" imageAlt="Hamza Cafe dining ambiance" mediaAnimation="slide-up" mediaPosition="right" diff --git a/src/components/shared/SvgTextLogo/SvgTextLogo.tsx b/src/components/shared/SvgTextLogo/SvgTextLogo.tsx index f214190..9ccceb5 100644 --- a/src/components/shared/SvgTextLogo/SvgTextLogo.tsx +++ b/src/components/shared/SvgTextLogo/SvgTextLogo.tsx @@ -1,51 +1,41 @@ -"use client"; - -import { memo } from "react"; -import useSvgTextLogo from "./useSvgTextLogo"; -import { cls } from "@/lib/utils"; +import React from 'react'; interface SvgTextLogoProps { - logoText: string; - adjustHeightFactor?: number; - verticalAlign?: "top" | "center"; + text: string; className?: string; + fontSize?: number; + fontWeight?: number | string; + letterSpacing?: string; } -const SvgTextLogo = memo(function SvgTextLogo({ - logoText, - adjustHeightFactor, - verticalAlign = "top", - className = "", -}) { - const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor); - +const SvgTextLogo: React.FC = ({ + text, + className = '', + fontSize = 32, + fontWeight = 700, + letterSpacing = '0.05em', +}) => { return ( - {logoText} + {text} ); -}); +}; -SvgTextLogo.displayName = "SvgTextLogo"; - -export default SvgTextLogo; +export default SvgTextLogo; \ No newline at end of file