Merge version_3 into main #5
@@ -2,11 +2,16 @@
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||
import ContactCTA from '@/components/sections/contact/ContactCTA';
|
||||
import HeroCentered from '@/components/sections/hero/HeroCentered';
|
||||
import ProductCardFour from '@/components/sections/product/ProductCardFour';
|
||||
import FeatureCardTwentyOne from '@/components/sections/feature/FeatureCardTwentyOne';
|
||||
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
|
||||
import { Phone, MapPin } from 'lucide-react';
|
||||
import { Phone, Clock, MapPin, ShoppingCart, Star } from 'lucide-react';
|
||||
import { useState } from 'react';
|
||||
|
||||
export default function CallToOrderPage() {
|
||||
const [selectedOption, setSelectedOption] = useState('pickup');
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="hover-bubble"
|
||||
@@ -24,30 +29,93 @@ export default function CallToOrderPage() {
|
||||
<NavbarStyleCentered
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Menu", id: "/" },
|
||||
{ name: "About", id: "/" },
|
||||
{ name: "Menu", id: "#meals" },
|
||||
{ name: "About", id: "#about" },
|
||||
{ name: "Call to Order", id: "/call-to-order" },
|
||||
{ name: "Contact", id: "/" }
|
||||
{ name: "Contact", id: "#location" }
|
||||
]}
|
||||
button={{
|
||||
text: "Order Now", href: "tel:01100016162"
|
||||
text: "Call Now", href: "tel:01100016162"
|
||||
}}
|
||||
brandName="CHICKENBOX"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="call-to-order" data-section="call-to-order">
|
||||
<ContactCTA
|
||||
tag="Call to Order"
|
||||
tagIcon={Phone}
|
||||
title="Order Fresh Fried Chicken by Phone"
|
||||
description="Call us now to place your order. Our team will prepare your favorite fried chicken while you wait. Fast service, fresh ingredients, and unbeatable taste. We're open 24 hours for your convenience."
|
||||
buttons={[
|
||||
{ text: "Call: 01100016162", href: "tel:01100016162" },
|
||||
{ text: "Visit Us", href: "/" }
|
||||
]}
|
||||
<div id="hero" data-section="hero">
|
||||
<HeroCentered
|
||||
title="Ready to Order?"
|
||||
description="Choose your preferred delivery method and place your order now. Fresh, crispy chicken delivered your way."
|
||||
background={{ variant: "plain" }}
|
||||
avatars={[
|
||||
{ src: "http://img.b2bpic.net/free-photo/top-view-fried-chicken-legs-with-french-fries-sauce_23-2148646609.jpg?_wi=1", alt: "Fresh fried chicken" },
|
||||
{ src: "http://img.b2bpic.net/free-photo/sauce-near-nuggets-beer_23-2147765506.jpg?_wi=1", alt: "Chicken wings" },
|
||||
{ src: "http://img.b2bpic.net/free-photo/burger-with-meat-white-fried-cheese_140725-2355.jpg?_wi=1", alt: "Chicken sandwich" }
|
||||
]}
|
||||
avatarText="Ready in 10-15 minutes"
|
||||
buttons={[
|
||||
{ text: "Call Now", href: "tel:01100016162" },
|
||||
{ text: "View Menu", href: "/#meals" }
|
||||
]}
|
||||
buttonAnimation="slide-up"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="order-options" data-section="order-options">
|
||||
<FeatureCardTwentyOne
|
||||
title="Choose Your Order Method"
|
||||
description="Select how you'd like to receive your delicious meal. All options available 24/7."
|
||||
tag="Order Options"
|
||||
tagIcon={ShoppingCart}
|
||||
tagAnimation="slide-up"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg?_wi=3"
|
||||
imageAlt="Order options"
|
||||
mediaAnimation="slide-up"
|
||||
mediaPosition="right"
|
||||
useInvertedBackground={false}
|
||||
accordionItems={[
|
||||
{
|
||||
id: "pickup", title: "📍 Pickup Service", content: "<strong>Preparation Time:</strong> 10-15 minutes<br/><strong>Location:</strong> 306 Corniche Street, El Tor<br/><strong>Hours:</strong> Open 24/7<br/><br/>Order now and pick up your hot, fresh meal at our counter. No waiting in line—your order will be ready when you arrive!"
|
||||
},
|
||||
{
|
||||
id: "delivery", title: "🚗 Delivery Service", content: "<strong>Preparation Time:</strong> 15-20 minutes + delivery<br/><strong>Delivery Area:</strong> All of El Tor<br/><strong>Hours:</strong> Open 24/7<br/><br/>We'll deliver your favorite meals hot and fresh to your doorstep. Perfect for family gatherings or late-night cravings."
|
||||
},
|
||||
{
|
||||
id: "drive-through", title: "🚗 Drive-Through Service", content: "<strong>Preparation Time:</strong> 10-15 minutes<br/><strong>Location:</strong> 306 Corniche Street, El Tor<br/><strong>Hours:</strong> Open 24/7<br/><br/>Stay in your car and enjoy quick, convenient service. Perfect for busy schedules. Just call ahead to notify us."
|
||||
}
|
||||
]}
|
||||
buttons={[
|
||||
{ text: "Call to Order", href: "tel:01100016162" }
|
||||
]}
|
||||
buttonAnimation="slide-up"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="menu-preview" data-section="menu-preview">
|
||||
<ProductCardFour
|
||||
title="Quick Menu Preview"
|
||||
description="Browse our most popular items. Call us to order any of these delicious meals."
|
||||
tag="Popular Items"
|
||||
tagIcon={Star}
|
||||
tagAnimation="slide-up"
|
||||
textboxLayout="default"
|
||||
gridVariant="uniform-all-items-equal"
|
||||
animationType="slide-up"
|
||||
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: "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: "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"
|
||||
}
|
||||
]}
|
||||
buttons={[
|
||||
{ text: "Call Now to Order", href: "tel:01100016162" }
|
||||
]}
|
||||
buttonAnimation="slide-up"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -58,7 +126,7 @@ export default function CallToOrderPage() {
|
||||
text: "Call: 01100016162", href: "tel:01100016162"
|
||||
}}
|
||||
rightLink={{
|
||||
text: "306 Corniche Street, El Tor", href: "#location"
|
||||
text: "306 Corniche Street, El Tor", href: "#"
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
305
src/app/meal/[id]/page.tsx
Normal file
305
src/app/meal/[id]/page.tsx
Normal file
@@ -0,0 +1,305 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||
import { useState } from 'react';
|
||||
import { Heart, Plus, Minus, ShoppingCart, MapPin } from 'lucide-react';
|
||||
import Image from 'next/image';
|
||||
|
||||
const mealDetails: Record<string, any> = {
|
||||
"1": {
|
||||
id: "1", name: "Crispy Chicken Box", price: 45,
|
||||
originalPrice: 50,
|
||||
rating: 4.8,
|
||||
reviews: 1250,
|
||||
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", description: "Enjoy our signature crispy chicken box with 4 perfectly fried pieces and golden fries. Made with premium ingredients and our secret crispy coating.", ingredients: [
|
||||
"4 pieces premium fried chicken", "Golden french fries", "Crispy coating with secret spices", "Served with dipping sauce"
|
||||
],
|
||||
sizes: [
|
||||
{ id: "small", name: "Small (2 pieces)", price: 25 },
|
||||
{ id: "medium", name: "Medium (4 pieces)", price: 45 },
|
||||
{ id: "large", name: "Large (6 pieces)", price: 65 }
|
||||
],
|
||||
extras: [
|
||||
{ id: "extra-sauce", name: "Extra Sauce", price: 5 },
|
||||
{ id: "extra-fries", name: "Extra Fries", price: 10 },
|
||||
{ id: "coleslaw", name: "Coleslaw Salad", price: 8 },
|
||||
{ id: "mozzarella-sticks", name: "Mozzarella Sticks (6pc)", price: 15 }
|
||||
]
|
||||
},
|
||||
"2": {
|
||||
id: "2", name: "Spicy Chicken Sandwich", price: 35,
|
||||
originalPrice: 40,
|
||||
rating: 4.6,
|
||||
reviews: 890,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/burger-with-meat-white-fried-cheese_140725-2355.jpg?_wi=2", imageAlt: "Spicy chicken sandwich", description: "Crispy fried chicken breast on a toasted bun with fresh lettuce, tomatoes, pickles, and our signature spicy sauce.", ingredients: [
|
||||
"Crispy fried chicken breast", "Toasted bun", "Fresh lettuce", "Ripe tomatoes", "Pickles", "Spicy signature sauce"
|
||||
],
|
||||
sizes: [
|
||||
{ id: "regular", name: "Regular", price: 35 },
|
||||
{ id: "double", name: "Double Chicken", price: 55 }
|
||||
],
|
||||
extras: [
|
||||
{ id: "extra-sauce", name: "Extra Spicy Sauce", price: 3 },
|
||||
{ id: "cheese", name: "Cheddar Cheese", price: 5 },
|
||||
{ id: "bacon", name: "Crispy Bacon", price: 8 },
|
||||
{ id: "drink", name: "Soft Drink (500ml)", price: 10 }
|
||||
]
|
||||
},
|
||||
"3": {
|
||||
id: "3", name: "Chicken Wings Basket", price: 55,
|
||||
originalPrice: 65,
|
||||
rating: 4.9,
|
||||
reviews: 2150,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/sauce-near-nuggets-beer_23-2147765506.jpg?_wi=2", imageAlt: "Golden chicken wings", description: "8 pieces of crispy chicken wings perfectly seasoned and fried to golden perfection. Served with your choice of dipping sauce.", ingredients: [
|
||||
"8 pieces premium chicken wings", "Crispy golden coating", "Secret seasoning blend", "Choice of dipping sauce", "Served with lemon wedges"
|
||||
],
|
||||
sizes: [
|
||||
{ id: "half", name: "Half Basket (4 pieces)", price: 30 },
|
||||
{ id: "full", name: "Full Basket (8 pieces)", price: 55 },
|
||||
{ id: "double", name: "Double Basket (16 pieces)", price: 100 }
|
||||
],
|
||||
extras: [
|
||||
{ id: "garlic-sauce", name: "Garlic Sauce", price: 5 },
|
||||
{ id: "bbq-sauce", name: "BBQ Sauce", price: 5 },
|
||||
{ id: "ranch-sauce", name: "Ranch Sauce", price: 5 },
|
||||
{ id: "fries", name: "Large Fries", price: 10 }
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
const recommendedMeals = [
|
||||
{
|
||||
id: "1", name: "Crispy Chicken Box", price: "45 EGP", 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: "2", name: "Spicy Chicken Sandwich", price: "35 EGP", imageSrc: "http://img.b2bpic.net/free-photo/burger-with-meat-white-fried-cheese_140725-2355.jpg?_wi=2", imageAlt: "Spicy chicken sandwich"
|
||||
},
|
||||
{
|
||||
id: "3", name: "Chicken Wings Basket", price: "55 EGP", imageSrc: "http://img.b2bpic.net/free-photo/sauce-near-nuggets-beer_23-2147765506.jpg?_wi=2", imageAlt: "Golden chicken wings"
|
||||
}
|
||||
];
|
||||
|
||||
export default function MealDetailsPage({ params }: { params: { id: string } }) {
|
||||
const meal = mealDetails[params.id] || mealDetails["1"];
|
||||
const [isFavorited, setIsFavorited] = useState(false);
|
||||
const [quantity, setQuantity] = useState(1);
|
||||
const [selectedSize, setSelectedSize] = useState(meal.sizes[0]?.id || "");
|
||||
const [selectedExtras, setSelectedExtras] = useState<string[]>([]);
|
||||
|
||||
const handleAddExtra = (extraId: string) => {
|
||||
setSelectedExtras(prev =>
|
||||
prev.includes(extraId)
|
||||
? prev.filter(id => id !== extraId)
|
||||
: [...prev, extraId]
|
||||
);
|
||||
};
|
||||
|
||||
const currentSize = meal.sizes.find((s: any) => s.id === selectedSize) || meal.sizes[0];
|
||||
const extrasTotal = selectedExtras.reduce((sum: number, extraId: string) => {
|
||||
const extra = meal.extras.find((e: any) => e.id === extraId);
|
||||
return sum + (extra?.price || 0);
|
||||
}, 0);
|
||||
const totalPrice = (currentSize.price + extrasTotal) * quantity;
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="hover-bubble"
|
||||
defaultTextAnimation="reveal-blur"
|
||||
borderRadius="rounded"
|
||||
contentWidth="mediumLarge"
|
||||
sizing="medium"
|
||||
background="circleGradient"
|
||||
cardStyle="layered-gradient"
|
||||
primaryButtonStyle="flat"
|
||||
secondaryButtonStyle="glass"
|
||||
headingFontWeight="bold"
|
||||
>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleCentered
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Menu", id: "/" },
|
||||
{ name: "About", id: "/" },
|
||||
{ name: "Call to Order", id: "tel:01100016162" },
|
||||
{ name: "Contact", id: "/" }
|
||||
]}
|
||||
button={{
|
||||
text: "Order Now", href: "tel:01100016162"
|
||||
}}
|
||||
brandName="CHICKENBOX"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="min-h-screen bg-gradient-to-b from-slate-50 to-white pt-24 pb-12">
|
||||
<div className="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
|
||||
{/* Main Content */}
|
||||
<div className="grid grid-cols-1 lg:grid-cols-2 gap-8 mb-16">
|
||||
{/* Image Section */}
|
||||
<div className="flex flex-col items-center justify-center">
|
||||
<div className="relative w-full aspect-square mb-6 rounded-2xl overflow-hidden shadow-lg hover:shadow-xl transition-shadow">
|
||||
<Image
|
||||
src={meal.imageSrc}
|
||||
alt={meal.imageAlt}
|
||||
fill
|
||||
className="object-cover"
|
||||
priority
|
||||
/>
|
||||
<button
|
||||
onClick={() => setIsFavorited(!isFavorited)}
|
||||
className="absolute top-4 right-4 bg-white rounded-full p-3 shadow-md hover:shadow-lg transition-all"
|
||||
>
|
||||
<Heart
|
||||
size={24}
|
||||
className={isFavorited ? "fill-red-500 text-red-500" : "text-gray-400"}
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<div className="flex gap-2 text-sm text-gray-600">
|
||||
<span className="flex items-center gap-1">
|
||||
⭐ {meal.rating} ({meal.reviews} reviews)
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Details Section */}
|
||||
<div className="flex flex-col justify-start">
|
||||
<h1 className="text-4xl font-bold text-gray-900 mb-2">{meal.name}</h1>
|
||||
<p className="text-gray-600 mb-6">{meal.description}</p>
|
||||
|
||||
{/* Price */}
|
||||
<div className="flex items-baseline gap-3 mb-6">
|
||||
<span className="text-3xl font-bold text-orange-600">{currentSize.price} EGP</span>
|
||||
<span className="text-lg text-gray-400 line-through">{meal.originalPrice} EGP</span>
|
||||
</div>
|
||||
|
||||
{/* Size Selection */}
|
||||
<div className="mb-6">
|
||||
<h3 className="text-lg font-semibold text-gray-800 mb-3">Select Size</h3>
|
||||
<div className="grid grid-cols-1 gap-2">
|
||||
{meal.sizes.map((size: any) => (
|
||||
<button
|
||||
key={size.id}
|
||||
onClick={() => setSelectedSize(size.id)}
|
||||
className={`p-3 rounded-lg border-2 transition-all text-left ${
|
||||
selectedSize === size.id
|
||||
? "border-orange-600 bg-orange-50"
|
||||
: "border-gray-200 hover:border-orange-300"
|
||||
}`}
|
||||
>
|
||||
<div className="flex justify-between">
|
||||
<span className="font-medium text-gray-900">{size.name}</span>
|
||||
<span className="text-orange-600 font-semibold">{size.price} EGP</span>
|
||||
</div>
|
||||
</button>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Extras */}
|
||||
<div className="mb-6">
|
||||
<h3 className="text-lg font-semibold text-gray-800 mb-3">Add Extras</h3>
|
||||
<div className="grid grid-cols-1 gap-2">
|
||||
{meal.extras.map((extra: any) => (
|
||||
<button
|
||||
key={extra.id}
|
||||
onClick={() => handleAddExtra(extra.id)}
|
||||
className={`p-3 rounded-lg border-2 transition-all text-left ${
|
||||
selectedExtras.includes(extra.id)
|
||||
? "border-green-600 bg-green-50"
|
||||
: "border-gray-200 hover:border-green-300"
|
||||
}`}
|
||||
>
|
||||
<div className="flex justify-between items-center">
|
||||
<div className="flex items-center gap-2">
|
||||
<input
|
||||
type="checkbox"
|
||||
checked={selectedExtras.includes(extra.id)}
|
||||
readOnly
|
||||
className="w-4 h-4"
|
||||
/>
|
||||
<span className="font-medium text-gray-900">{extra.name}</span>
|
||||
</div>
|
||||
<span className="text-green-600 font-semibold">+{extra.price} EGP</span>
|
||||
</div>
|
||||
</button>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Quantity & Order */}
|
||||
<div className="flex gap-4">
|
||||
<div className="flex items-center gap-3 border-2 border-gray-200 rounded-lg p-2">
|
||||
<button
|
||||
onClick={() => setQuantity(Math.max(1, quantity - 1))}
|
||||
className="p-2 hover:bg-gray-100 rounded transition"
|
||||
>
|
||||
<Minus size={20} className="text-gray-600" />
|
||||
</button>
|
||||
<span className="font-bold text-lg w-8 text-center">{quantity}</span>
|
||||
<button
|
||||
onClick={() => setQuantity(quantity + 1)}
|
||||
className="p-2 hover:bg-gray-100 rounded transition"
|
||||
>
|
||||
<Plus size={20} className="text-gray-600" />
|
||||
</button>
|
||||
</div>
|
||||
<button
|
||||
onClick={() => alert(`Added ${quantity}x ${meal.name} to cart. Total: ${totalPrice} EGP`)}
|
||||
className="flex-1 bg-orange-600 hover:bg-orange-700 text-white font-bold py-3 px-6 rounded-lg flex items-center justify-center gap-2 transition"
|
||||
>
|
||||
<ShoppingCart size={20} />
|
||||
Add to Cart - {totalPrice} EGP
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Ingredients */}
|
||||
<div className="mb-16">
|
||||
<h2 className="text-2xl font-bold text-gray-900 mb-6">Ingredients & Details</h2>
|
||||
<div className="bg-white rounded-lg border-2 border-gray-200 p-6">
|
||||
<ul className="grid grid-cols-1 md:grid-cols-2 gap-4">
|
||||
{meal.ingredients.map((ingredient: string, index: number) => (
|
||||
<li key={index} className="flex items-start gap-3">
|
||||
<span className="text-green-600 text-xl font-bold">✓</span>
|
||||
<span className="text-gray-700">{ingredient}</span>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Recommended Meals */}
|
||||
<div>
|
||||
<h2 className="text-2xl font-bold text-gray-900 mb-6">Recommended for You</h2>
|
||||
<div className="grid grid-cols-1 md:grid-cols-3 gap-6">
|
||||
{recommendedMeals.map((recommendedMeal) => (
|
||||
<a
|
||||
key={recommendedMeal.id}
|
||||
href={`/meal/${recommendedMeal.id}`}
|
||||
className="group bg-white rounded-lg overflow-hidden shadow-md hover:shadow-lg transition-all"
|
||||
>
|
||||
<div className="relative w-full aspect-square overflow-hidden">
|
||||
<Image
|
||||
src={recommendedMeal.imageSrc}
|
||||
alt={recommendedMeal.imageAlt}
|
||||
fill
|
||||
className="object-cover group-hover:scale-105 transition-transform duration-300"
|
||||
/>
|
||||
</div>
|
||||
<div className="p-4">
|
||||
<h3 className="font-semibold text-gray-900 group-hover:text-orange-600 transition">
|
||||
{recommendedMeal.name}
|
||||
</h3>
|
||||
<p className="text-orange-600 font-bold mt-2">{recommendedMeal.price}</p>
|
||||
</div>
|
||||
</a>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
@@ -4,7 +4,7 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||
import ProductCardFour from '@/components/sections/product/ProductCardFour';
|
||||
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
|
||||
import { Star } from 'lucide-react';
|
||||
import { Star, MapPin } from 'lucide-react';
|
||||
|
||||
export default function MenuPage() {
|
||||
return (
|
||||
@@ -26,8 +26,8 @@ export default function MenuPage() {
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Menu", id: "/menu" },
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Location", id: "location" },
|
||||
{ name: "Contact", id: "contact" }
|
||||
{ name: "Call to Order", id: "tel:01100016162" },
|
||||
{ name: "Contact", id: "location" }
|
||||
]}
|
||||
button={{
|
||||
text: "Order Now", href: "tel:01100016162"
|
||||
@@ -36,41 +36,171 @@ export default function MenuPage() {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="full-menu" data-section="full-menu">
|
||||
<div id="chicken-boxes" data-section="chicken-boxes" className="pt-24">
|
||||
<ProductCardFour
|
||||
title="Complete Menu"
|
||||
description="Browse our full selection of fresh, delicious fried chicken meals. Every item is prepared to order with the finest ingredients."
|
||||
tag="All Items"
|
||||
title="Chicken Boxes"
|
||||
description="Choose from our signature crispy chicken box combinations, all served with fresh fries and your choice of sauce."
|
||||
tag="Main Selection"
|
||||
tagIcon={Star}
|
||||
tagAnimation="slide-up"
|
||||
textboxLayout="default"
|
||||
gridVariant="uniform-all-items-equal"
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
animationType="slide-up"
|
||||
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", onProductClick: () => window.location.href = '/menu/crispy-chicken-box'
|
||||
id: "1", name: "Classic 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=1", imageAlt: "Classic chicken box with fries"
|
||||
},
|
||||
{
|
||||
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", onProductClick: () => window.location.href = '/menu/spicy-chicken-sandwich'
|
||||
id: "2", name: "Spicy Chicken Box", price: "50 EGP", variant: "4 pieces spicy with fries", imageSrc: "http://img.b2bpic.net/free-photo/top-view-fried-chicken-legs-with-french-fries-sauce_23-2148646609.jpg?_wi=2", imageAlt: "Spicy chicken box with fries"
|
||||
},
|
||||
{
|
||||
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", onProductClick: () => window.location.href = '/menu/chicken-wings-basket'
|
||||
id: "3", name: "Family Chicken Box", price: "85 EGP", variant: "8 pieces mixed with large fries", imageSrc: "http://img.b2bpic.net/free-photo/top-view-fried-chicken-legs-with-french-fries-sauce_23-2148646609.jpg?_wi=3", imageAlt: "Family size chicken box"
|
||||
},
|
||||
{
|
||||
id: "4", name: "Chicken Tenders Combo", price: "50 EGP", variant: "6 pieces with sauce selection", imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg?_wi=1", imageAlt: "Chicken tenders combo", onProductClick: () => window.location.href = '/menu/chicken-tenders-combo'
|
||||
id: "4", name: "Crispy Wings Combo", price: "55 EGP", variant: "8 wings with fries", imageSrc: "http://img.b2bpic.net/free-photo/sauce-near-nuggets-beer_23-2147765506.jpg?_wi=1", imageAlt: "Crispy wings combo"
|
||||
},
|
||||
{
|
||||
id: "5", name: "Double Chicken Burger", price: "60 EGP", variant: "Two patties with double cheese", imageSrc: "http://img.b2bpic.net/free-photo/burger-with-meat-white-fried-cheese_140725-2355.jpg?_wi=3", imageAlt: "Double chicken burger", onProductClick: () => window.location.href = '/menu/double-chicken-burger'
|
||||
id: "5", name: "Mixed Grill Box", price: "65 EGP", variant: "Chicken & wings mix with fries", imageSrc: "http://img.b2bpic.net/free-photo/top-view-fried-chicken-legs-with-french-fries-sauce_23-2148646609.jpg?_wi=4", imageAlt: "Mixed grill chicken box"
|
||||
},
|
||||
{
|
||||
id: "6", name: "Family Box Supreme", price: "150 EGP", variant: "Mixed pieces for 4-5 people", imageSrc: "http://img.b2bpic.net/free-photo/top-view-fried-chicken-legs-with-french-fries-sauce_23-2148646609.jpg?_wi=4", imageAlt: "Family box supreme", onProductClick: () => window.location.href = '/menu/family-box-supreme'
|
||||
id: "6", name: "Premium Chicken Box", price: "95 EGP", variant: "12 pieces premium selection", imageSrc: "http://img.b2bpic.net/free-photo/top-view-fried-chicken-legs-with-french-fries-sauce_23-2148646609.jpg?_wi=5", imageAlt: "Premium chicken box large"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="sandwiches" data-section="sandwiches">
|
||||
<ProductCardFour
|
||||
title="Sandwiches"
|
||||
description="Freshly prepared sandwiches with our signature crispy chicken, perfect for a quick meal or snack."
|
||||
tag="Sandwich Selection"
|
||||
tagIcon={Star}
|
||||
tagAnimation="slide-up"
|
||||
textboxLayout="default"
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
animationType="slide-up"
|
||||
useInvertedBackground={false}
|
||||
products={[
|
||||
{
|
||||
id: "7", name: "Classic Chicken Sandwich", price: "35 EGP", variant: "Golden crispy chicken breast", imageSrc: "http://img.b2bpic.net/free-photo/burger-with-meat-white-fried-cheese_140725-2355.jpg?_wi=1", imageAlt: "Classic chicken sandwich"
|
||||
},
|
||||
{
|
||||
id: "7", name: "Spicy Wings Special", price: "65 EGP", variant: "10 pieces extra crispy and spicy", imageSrc: "http://img.b2bpic.net/free-photo/sauce-near-nuggets-beer_23-2147765506.jpg?_wi=3", imageAlt: "Spicy wings special", onProductClick: () => window.location.href = '/menu/spicy-wings-special'
|
||||
id: "8", name: "Spicy Chicken Sandwich", price: "38 EGP", variant: "With hot sauce and jalapeños", imageSrc: "http://img.b2bpic.net/free-photo/burger-with-meat-white-fried-cheese_140725-2355.jpg?_wi=2", imageAlt: "Spicy chicken sandwich"
|
||||
},
|
||||
{
|
||||
id: "8", name: "Classic Chicken Meal", price: "40 EGP", variant: "3 pieces with fries and drink", imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg?_wi=2", imageAlt: "Classic chicken meal", onProductClick: () => window.location.href = '/menu/classic-chicken-meal'
|
||||
id: "9", name: "Deluxe Chicken Sandwich", price: "45 EGP", variant: "With cheese and special sauce", imageSrc: "http://img.b2bpic.net/free-photo/burger-with-meat-white-fried-cheese_140725-2355.jpg?_wi=3", imageAlt: "Deluxe chicken sandwich with cheese"
|
||||
},
|
||||
{
|
||||
id: "10", name: "Crispy Chicken Wrap", price: "40 EGP", variant: "Wrapped in soft tortilla", imageSrc: "http://img.b2bpic.net/free-photo/burger-with-meat-white-fried-cheese_140725-2355.jpg?_wi=4", imageAlt: "Crispy chicken wrap"
|
||||
},
|
||||
{
|
||||
id: "11", name: "Grilled Chicken Sandwich", price: "42 EGP", variant: "Tender grilled chicken breast", imageSrc: "http://img.b2bpic.net/free-photo/burger-with-meat-white-fried-cheese_140725-2355.jpg?_wi=5", imageAlt: "Grilled chicken sandwich"
|
||||
},
|
||||
{
|
||||
id: "12", name: "Double Chicken Sandwich", price: "55 EGP", variant: "Two crispy chicken fillets", imageSrc: "http://img.b2bpic.net/free-photo/burger-with-meat-white-fried-cheese_140725-2355.jpg?_wi=6", imageAlt: "Double chicken sandwich"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="meals" data-section="meals">
|
||||
<ProductCardFour
|
||||
title="Complete Meals"
|
||||
description="Full meals with chicken, sides, and beverage included. Perfect for a complete dining experience."
|
||||
tag="Combo Meals"
|
||||
tagIcon={Star}
|
||||
tagAnimation="slide-up"
|
||||
textboxLayout="default"
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
animationType="slide-up"
|
||||
useInvertedBackground={false}
|
||||
products={[
|
||||
{
|
||||
id: "13", name: "Classic Meal", price: "60 EGP", variant: "2 pieces + fries + drink", imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg?_wi=1", imageAlt: "Classic chicken meal"
|
||||
},
|
||||
{
|
||||
id: "14", name: "Family Feast Meal", price: "120 EGP", variant: "6 pieces + 2 large sides + 2 drinks", imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg?_wi=2", imageAlt: "Family feast meal"
|
||||
},
|
||||
{
|
||||
id: "15", name: "Party Meal", price: "180 EGP", variant: "12 pieces + 3 sides + 3 drinks", imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg?_wi=3", imageAlt: "Party size meal"
|
||||
},
|
||||
{
|
||||
id: "16", name: "Wings Meal", price: "65 EGP", variant: "8 wings + fries + drink", imageSrc: "http://img.b2bpic.net/free-photo/sauce-near-nuggets-beer_23-2147765506.jpg?_wi=2", imageAlt: "Wings meal combo"
|
||||
},
|
||||
{
|
||||
id: "17", name: "Sandwich Meal", price: "50 EGP", variant: "1 sandwich + fries + drink", imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg?_wi=4", imageAlt: "Sandwich combo meal"
|
||||
},
|
||||
{
|
||||
id: "18", name: "Supreme Meal", price: "85 EGP", variant: "4 pieces + premium sides + drink", imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg?_wi=5", imageAlt: "Supreme chicken meal"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="sides" data-section="sides">
|
||||
<ProductCardFour
|
||||
title="Sides & Extras"
|
||||
description="Perfect accompaniments to your chicken order. Add your favorite sides to complete your meal."
|
||||
tag="Sides & Extras"
|
||||
tagIcon={Star}
|
||||
tagAnimation="slide-up"
|
||||
textboxLayout="default"
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
animationType="slide-up"
|
||||
useInvertedBackground={false}
|
||||
products={[
|
||||
{
|
||||
id: "19", name: "French Fries", price: "15 EGP", variant: "Regular order", imageSrc: "http://img.b2bpic.net/free-photo/top-view-fried-chicken-legs-with-french-fries-sauce_23-2148646609.jpg?_wi=6", imageAlt: "French fries"
|
||||
},
|
||||
{
|
||||
id: "20", name: "Sweet Potato Fries", price: "18 EGP", variant: "Crispy sweet potato", imageSrc: "http://img.b2bpic.net/free-photo/top-view-fried-chicken-legs-with-french-fries-sauce_23-2148646609.jpg?_wi=7", imageAlt: "Sweet potato fries"
|
||||
},
|
||||
{
|
||||
id: "21", name: "Garlic Bread", price: "20 EGP", variant: "Fresh baked garlic bread", imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg?_wi=6", imageAlt: "Garlic bread"
|
||||
},
|
||||
{
|
||||
id: "22", name: "Coleslaw", price: "15 EGP", variant: "Fresh crisp slaw", imageSrc: "http://img.b2bpic.net/free-photo/sauce-near-nuggets-beer_23-2147765506.jpg?_wi=3", imageAlt: "Coleslaw side"
|
||||
},
|
||||
{
|
||||
id: "23", name: "Corn Bread", price: "12 EGP", variant: "Warm corn bread roll", imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg?_wi=7", imageAlt: "Corn bread"
|
||||
},
|
||||
{
|
||||
id: "24", name: "Sauce Combo Pack", price: "10 EGP", variant: "3 sauce selections", imageSrc: "http://img.b2bpic.net/free-photo/sauce-near-nuggets-beer_23-2147765506.jpg?_wi=4", imageAlt: "Sauce pack"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="drinks" data-section="drinks">
|
||||
<ProductCardFour
|
||||
title="Beverages"
|
||||
description="Refresh yourself with our selection of cold drinks and beverages to complement your meal."
|
||||
tag="Drinks"
|
||||
tagIcon={Star}
|
||||
tagAnimation="slide-up"
|
||||
textboxLayout="default"
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
animationType="slide-up"
|
||||
useInvertedBackground={false}
|
||||
products={[
|
||||
{
|
||||
id: "25", name: "Soft Drink - Small", price: "8 EGP", variant: "Coke, Sprite, Fanta", imageSrc: "http://img.b2bpic.net/free-photo/sauce-near-nuggets-beer_23-2147765506.jpg?_wi=5", imageAlt: "Small soft drink"
|
||||
},
|
||||
{
|
||||
id: "26", name: "Soft Drink - Large", price: "12 EGP", variant: "Large cold beverage", imageSrc: "http://img.b2bpic.net/free-photo/sauce-near-nuggets-beer_23-2147765506.jpg?_wi=6", imageAlt: "Large soft drink"
|
||||
},
|
||||
{
|
||||
id: "27", name: "Juice - Fresh Orange", price: "15 EGP", variant: "Fresh squeezed orange", imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg?_wi=8", imageAlt: "Fresh orange juice"
|
||||
},
|
||||
{
|
||||
id: "28", name: "Juice - Mango", price: "15 EGP", variant: "Tropical mango juice", imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg?_wi=9", imageAlt: "Mango juice"
|
||||
},
|
||||
{
|
||||
id: "29", name: "Iced Tea", price: "10 EGP", variant: "Refreshing cold tea", imageSrc: "http://img.b2bpic.net/free-photo/sauce-near-nuggets-beer_23-2147765506.jpg?_wi=7", imageAlt: "Iced tea"
|
||||
},
|
||||
{
|
||||
id: "30", name: "Bottled Water", price: "5 EGP", variant: "Pure drinking water", imageSrc: "http://img.b2bpic.net/free-photo/top-view-fried-chicken-legs-with-french-fries-sauce_23-2148646609.jpg?_wi=8", imageAlt: "Bottled water"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
@@ -83,7 +213,7 @@ export default function MenuPage() {
|
||||
text: "Call: 01100016162", href: "tel:01100016162"
|
||||
}}
|
||||
rightLink={{
|
||||
text: "306 Corniche Street, El Tor", href: "#location"
|
||||
text: "306 Corniche Street, El Tor", href: "#"
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user