Merge version_1 into main #2

Merged
bender merged 2 commits from version_1 into main 2026-03-12 13:29:58 +00:00
2 changed files with 34 additions and 54 deletions

View File

@@ -19,7 +19,7 @@ export default function LandingPage() {
borderRadius="rounded"
contentWidth="mediumLarge"
sizing="medium"
background="floatingGradient"
background="circleGradient"
cardStyle="layered-gradient"
primaryButtonStyle="flat"
secondaryButtonStyle="glass"
@@ -53,25 +53,25 @@ export default function LandingPage() {
{ text: "View Menu", href: "#meals" }
]}
buttonAnimation="slide-up"
background={{ variant: "floatingGradient" }}
background={{ variant: "plain" }}
carouselItems={[
{
id: "1", imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg?_wi=1", imageAlt: "Fresh crispy fried chicken"
id: "1", imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg", imageAlt: "Fresh crispy fried chicken"
},
{
id: "2", imageSrc: "http://img.b2bpic.net/free-photo/top-view-fried-chicken-legs-with-french-fries-sauce_23-2148646609.jpg?_wi=1", imageAlt: "Chicken meal combo"
id: "2", imageSrc: "http://img.b2bpic.net/free-photo/top-view-fried-chicken-legs-with-french-fries-sauce_23-2148646609.jpg", imageAlt: "Chicken meal combo"
},
{
id: "3", imageSrc: "http://img.b2bpic.net/free-photo/burger-with-meat-white-fried-cheese_140725-2355.jpg?_wi=1", imageAlt: "Crispy chicken sandwich"
id: "3", imageSrc: "http://img.b2bpic.net/free-photo/burger-with-meat-white-fried-cheese_140725-2355.jpg", imageAlt: "Crispy chicken sandwich"
},
{
id: "4", imageSrc: "http://img.b2bpic.net/free-photo/sauce-near-nuggets-beer_23-2147765506.jpg?_wi=1", imageAlt: "Fried chicken wings"
id: "4", imageSrc: "http://img.b2bpic.net/free-photo/sauce-near-nuggets-beer_23-2147765506.jpg", imageAlt: "Fried chicken wings"
},
{
id: "5", imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg?_wi=2", imageAlt: "Premium fried chicken"
id: "5", imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg", imageAlt: "Premium fried chicken"
},
{
id: "6", imageSrc: "http://img.b2bpic.net/free-photo/top-view-fried-chicken-legs-with-french-fries-sauce_23-2148646609.jpg?_wi=2", imageAlt: "Delicious chicken meal"
id: "6", imageSrc: "http://img.b2bpic.net/free-photo/top-view-fried-chicken-legs-with-french-fries-sauce_23-2148646609.jpg", imageAlt: "Delicious chicken meal"
}
]}
autoPlay={true}
@@ -92,13 +92,13 @@ export default function LandingPage() {
useInvertedBackground={false}
products={[
{
id: "1", name: "Crispy Chicken Box", price: "45 EGP", variant: "4 pieces with fries", imageSrc: "http://img.b2bpic.net/free-photo/top-view-fried-chicken-legs-with-french-fries-sauce_23-2148646609.jpg?_wi=3", imageAlt: "Crispy chicken box meal"
id: "1", name: "Crispy Chicken Box", price: "45 EGP", variant: "4 pieces with fries", imageSrc: "http://img.b2bpic.net/free-photo/top-view-fried-chicken-legs-with-french-fries-sauce_23-2148646609.jpg", imageAlt: "Crispy chicken box meal"
},
{
id: "2", name: "Spicy Chicken Sandwich", price: "35 EGP", variant: "With lettuce and sauce", imageSrc: "http://img.b2bpic.net/free-photo/burger-with-meat-white-fried-cheese_140725-2355.jpg?_wi=2", imageAlt: "Spicy chicken sandwich"
id: "2", name: "Spicy Chicken Sandwich", price: "35 EGP", variant: "With lettuce and sauce", imageSrc: "http://img.b2bpic.net/free-photo/burger-with-meat-white-fried-cheese_140725-2355.jpg", imageAlt: "Spicy chicken sandwich"
},
{
id: "3", name: "Chicken Wings Basket", price: "55 EGP", variant: "8 pieces crispy wings", imageSrc: "http://img.b2bpic.net/free-photo/sauce-near-nuggets-beer_23-2147765506.jpg?_wi=2", imageAlt: "Golden chicken wings"
id: "3", name: "Chicken Wings Basket", price: "55 EGP", variant: "8 pieces crispy wings", imageSrc: "http://img.b2bpic.net/free-photo/sauce-near-nuggets-beer_23-2147765506.jpg", imageAlt: "Golden chicken wings"
}
]}
/>
@@ -111,7 +111,7 @@ export default function LandingPage() {
tag="Our Promise"
tagIcon={Heart}
tagAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg?_wi=3"
imageSrc="http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg"
imageAlt="Fresh fried chicken preparation"
buttons={[
{ text: "Learn More", href: "#contact" }
@@ -128,7 +128,7 @@ export default function LandingPage() {
tag="Order Now"
tagIcon={Zap}
tagAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg?_wi=4"
imageSrc="http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg"
imageAlt="Fast food ordering"
mediaAnimation="slide-up"
mediaPosition="right"
@@ -158,7 +158,7 @@ export default function LandingPage() {
description="Located at 306 Corniche Street, El Tor, South Sinai. We're open 24 hours for your convenience. Stop by anytime for fresh, crispy fried chicken."
tagIcon={MapPin}
tagAnimation="slide-up"
background={{ variant: "floatingGradient" }}
background={{ variant: "plain" }}
useInvertedBackground={false}
buttonText="Get Directions"
inputPlaceholder="Enter your message"
@@ -178,10 +178,10 @@ export default function LandingPage() {
useInvertedBackground={false}
testimonials={[
{
id: "1", name: "Ahmed Hassan", handle: "@ahmmed_happy", testimonial: "Best fried chicken in El Tor! The crispy coating is perfect and the service is incredibly fast. I order at least twice a week.", imageSrc: "http://img.b2bpic.net/free-photo/friendly-looking-optimstic-handsome-mature-masculine-male-with-blue-eyes-bristle-smiling-joyfully-as-standing-casually-blue-shirt-against-gray-wall_176420-43532.jpg?_wi=1", imageAlt: "Ahmed Hassan"
id: "1", name: "Ahmed Hassan", handle: "@ahmmed_happy", testimonial: "Best fried chicken in El Tor! The crispy coating is perfect and the service is incredibly fast. I order at least twice a week.", imageSrc: "http://img.b2bpic.net/free-photo/friendly-looking-optimstic-handsome-mature-masculine-male-with-blue-eyes-bristle-smiling-joyfully-as-standing-casually-blue-shirt-against-gray-wall_176420-43532.jpg", imageAlt: "Ahmed Hassan"
},
{
id: "2", name: "Fatima Ali", handle: "@fatima_loves_food", testimonial: "Fresh ingredients and authentic taste. ChickenBox never disappoints. Worth every penny for the quality.", imageSrc: "http://img.b2bpic.net/free-photo/emotional-young-male-with-blue-shirt-standing-gate-with-slight-smile-his-face_181624-27994.jpg?_wi=1", imageAlt: "Fatima Ali"
id: "2", name: "Fatima Ali", handle: "@fatima_loves_food", testimonial: "Fresh ingredients and authentic taste. ChickenBox never disappoints. Worth every penny for the quality.", imageSrc: "http://img.b2bpic.net/free-photo/emotional-young-male-with-blue-shirt-standing-gate-with-slight-smile-his-face_181624-27994.jpg", imageAlt: "Fatima Ali"
},
{
id: "3", name: "Mohammed Samir", handle: "@mo_samir_eats", testimonial: "Call them and your order is ready in minutes. Always hot, always crispy. This is fast food done right!", imageSrc: "http://img.b2bpic.net/free-photo/emotional-african-american-male-round-spectacles-opens-mouth-excitement-exclaims-joyfully_273609-8712.jpg", imageAlt: "Mohammed Samir"
@@ -190,10 +190,10 @@ export default function LandingPage() {
id: "4", name: "Sara Ibrahim", handle: "@sara_foodie", testimonial: "The sandwiches are incredible. Top-notch quality chicken with perfect seasoning. Highly recommended!", imageSrc: "http://img.b2bpic.net/free-photo/happy-beautiful-long-haired-young-woman-posing-kitchen_74855-8068.jpg", imageAlt: "Sara Ibrahim"
},
{
id: "5", name: "Khalid Rashid", handle: "@khalid_local", testimonial: "24/7 service is a game-changer. Late night cravings solved. ChickenBox is my go-to place.", imageSrc: "http://img.b2bpic.net/free-photo/friendly-looking-optimstic-handsome-mature-masculine-male-with-blue-eyes-bristle-smiling-joyfully-as-standing-casually-blue-shirt-against-gray-wall_176420-43532.jpg?_wi=2", imageAlt: "Khalid Rashid"
id: "5", name: "Khalid Rashid", handle: "@khalid_local", testimonial: "24/7 service is a game-changer. Late night cravings solved. ChickenBox is my go-to place.", imageSrc: "http://img.b2bpic.net/free-photo/friendly-looking-optimstic-handsome-mature-masculine-male-with-blue-eyes-bristle-smiling-joyfully-as-standing-casually-blue-shirt-against-gray-wall_176420-43532.jpg", imageAlt: "Khalid Rashid"
},
{
id: "6", name: "Hana Mostafa", handle: "@hana_eats_well", testimonial: "Family favorite for years now. Consistent quality, friendly staff, and unbeatable prices.", imageSrc: "http://img.b2bpic.net/free-photo/emotional-young-male-with-blue-shirt-standing-gate-with-slight-smile-his-face_181624-27994.jpg?_wi=2", imageAlt: "Hana Mostafa"
id: "6", name: "Hana Mostafa", handle: "@hana_eats_well", testimonial: "Family favorite for years now. Consistent quality, friendly staff, and unbeatable prices.", imageSrc: "http://img.b2bpic.net/free-photo/emotional-young-male-with-blue-shirt-standing-gate-with-slight-smile-his-face_181624-27994.jpg", imageAlt: "Hana Mostafa"
}
]}
/>

View File

@@ -1,51 +1,31 @@
"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;
}
const SvgTextLogo = memo<SvgTextLogoProps>(function SvgTextLogo({
logoText,
adjustHeightFactor,
verticalAlign = "top",
className = "",
}) {
const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor);
const SvgTextLogo: React.FC<SvgTextLogoProps> = ({ text, className = '' }) => {
return (
<svg
ref={svgRef}
viewBox={viewBox}
className={cls("w-full", className)}
style={{ aspectRatio: aspectRatio }}
preserveAspectRatio="none"
role="img"
aria-label={`${logoText} logo`}
viewBox="0 0 300 100"
className={className}
xmlns="http://www.w3.org/2000/svg"
aria-label={text}
>
<text
ref={textRef}
x="0"
y={verticalAlign === "center" ? "50%" : "0"}
className="font-bold fill-current"
style={{
fontSize: "20px",
letterSpacing: "-0.02em",
dominantBaseline: verticalAlign === "center" ? "middle" : "text-before-edge"
}}
x="50%"
y="50%"
textAnchor="middle"
dominantBaseline="central"
fontSize="48"
fontWeight="bold"
fill="currentColor"
>
{logoText}
{text}
</text>
</svg>
);
});
SvgTextLogo.displayName = "SvgTextLogo";
};
export default SvgTextLogo;