4 Commits

Author SHA1 Message Date
4cb93af518 Update src/app/page.tsx 2026-06-11 00:59:46 +00:00
7e1b84504c Add src/components/BranchSelector.tsx 2026-06-11 00:59:22 +00:00
c4a0c0a528 Update src/app/page.tsx 2026-06-11 00:59:22 +00:00
44e320a7a5 Merge version_1 into main
Merge version_1 into main
2026-06-11 00:45:23 +00:00
2 changed files with 122 additions and 11 deletions

View File

@@ -110,7 +110,7 @@ export default function LandingPage() {
],
},
{
tag: "Family Pack", title: "Feast for Four", subtitle: "8pcs chicken, family fries & salad", description: "Perfect for sharing with family and friends, featuring generous portions of our famous fried chicken.", imageSrc: "http://img.b2bpic.net/free-photo/high-angle-arrangement-with-chicken-nuggets_23-2148314146.jpg", imageAlt: "Family Feast Offer", buttons: [
tag: "Family Pack", title: "Feast for Four", subtitle: "8pcs chicken, family fries & salad", description: "Perfect for sharing with family and friends, featuring generous portions of our famous fried chicken.", imageSrc: "http://img.b2bpic.net/free-photo/high-angle-arrangement-with-chicken-nuggets_23-2148314146.jpg?_wi=1", imageAlt: "Family Feast Offer", buttons: [
{
text: "View Deal", href: "/offers"},
],
@@ -129,23 +129,35 @@ export default function LandingPage() {
useInvertedBackground={true}
products={[
{
id: "p1", brand: "Fried Chicken", name: "Classic Chicken Bucket", price: "IQD 15,000", rating: 5,
id: "p1", brand: "Fried Chicken", name: "Classic Chicken Bucket (8 pcs)", price: "IQD 25,000", rating: 5,
reviewCount: "256", imageSrc: "http://img.b2bpic.net/free-photo/still-life-fast-food-dishes_23-2149187929.jpg", imageAlt: "Classic Chicken Bucket"},
{
id: "p2", brand: "Fried Chicken", name: "Zinger Supreme Sandwich", price: "IQD 7,500", rating: 4,
reviewCount: "198", imageSrc: "http://img.b2bpic.net/free-photo/delicious-hot-dogs-with-fried-onion-rings_23-2147684581.jpg", imageAlt: "Zinger Supreme Sandwich"},
id: "p2", brand: "Fried Chicken", name: "Zinger Supreme Sandwich Meal", price: "IQD 10,000", rating: 4,
reviewCount: "198", imageSrc: "http://img.b2bpic.net/free-photo/delicious-hot-dogs-with-fried-onion-rings_23-2147684581.jpg", imageAlt: "Zinger Supreme Sandwich Meal"},
{
id: "p3", brand: "Fried Chicken", name: "Broasted Chicken Combo", price: "IQD 12,000", rating: 5,
reviewCount: "142", imageSrc: "http://img.b2bpic.net/free-photo/still-life-recipe-with-plantain_23-2151062777.jpg", imageAlt: "Broasted Chicken Combo"},
id: "p3", brand: "Fried Chicken", name: "Broasted Chicken Platter (4 pcs)", price: "IQD 18,000", rating: 5,
reviewCount: "142", imageSrc: "http://img.b2bpic.net/free-photo/still-life-recipe-with-plantain_23-2151062777.jpg", imageAlt: "Broasted Chicken Platter"},
{
id: "p4", brand: "Fried Chicken", name: "Crispy Chicken Strips", price: "IQD 6,000", rating: 4,
id: "p4", brand: "Fried Chicken", name: "Crispy Chicken Strips (6 pcs)", price: "IQD 9,000", rating: 4,
reviewCount: "110", imageSrc: "http://img.b2bpic.net/free-photo/woman-sticking-great-britain-flag-fish-chips-dish-paper-cup_23-2148784934.jpg", imageAlt: "Crispy Chicken Strips Platter"},
{
id: "p5", brand: "Fried Chicken", name: "Fiery Hot Wings", price: "IQD 8,000", rating: 4,
reviewCount: "95", imageSrc: "http://img.b2bpic.net/free-photo/appetizing-glazed-sesame-chicken-wings-dark-bowl_84443-85767.jpg", imageAlt: "Fiery Hot Wings"},
id: "p5", brand: "Fried Chicken", name: "Spicy Hot Wings (10 pcs)", price: "IQD 12,000", rating: 4,
reviewCount: "95", imageSrc: "http://img.b2bpic.net/free-photo/appetizing-glazed-sesame-chicken-wings-dark-bowl_84443-85767.jpg", imageAlt: "Spicy Hot Wings"},
{
id: "p6", brand: "Fried Chicken", name: "Golden French Fries", price: "IQD 3,000", rating: 5,
reviewCount: "301", imageSrc: "http://img.b2bpic.net/free-photo/fried-potato-with-ketchup-juice_140725-3649.jpg", imageAlt: "Golden French Fries"},
id: "p6", brand: "Fried Chicken", name: "Chicken Nuggets (10 pcs)", price: "IQD 7,000", rating: 4,
reviewCount: "80", imageSrc: "http://img.b2bpic.net/free-photo/high-angle-arrangement-with-chicken-nuggets_23-2148314146.jpg?_wi=2", imageAlt: "Chicken Nuggets"},
{
id: "p7", brand: "Fried Chicken", name: "Coleslaw Salad", price: "IQD 4,000", rating: 4,
reviewCount: "60", imageSrc: "http://img.b2bpic.net/free-photo/top-view-salad-bowl-with-fresh-ingredients_23-2149179043.jpg", imageAlt: "Coleslaw Salad"},
{
id: "p8", brand: "Fried Chicken", name: "Large French Fries", price: "IQD 5,000", rating: 5,
reviewCount: "301", imageSrc: "http://img.b2bpic.net/free-photo/fried-potato-with-ketchup-juice_140725-3649.jpg", imageAlt: "Large French Fries"},
{
id: "p9", brand: "Fried Chicken", name: "Soft Drink (Can)", price: "IQD 2,000", rating: 4,
reviewCount: "150", imageSrc: "http://img.b2bpic.net/free-photo/sweet-soda-drink-ice-cup_140725-78224.jpg", imageAlt: "Soft Drink Can"},
{
id: "p10", brand: "Fried Chicken", name: "Chicken Shawarma Wrap", price: "IQD 8,500", rating: 4,
reviewCount: "120", imageSrc: "http://img.b2bpic.net/free-photo/homemade-shawarma-pita-plate_23-2148967520.jpg", imageAlt: "Chicken Shawarma Wrap"}
]}
title="Our Most Popular Choices"
description="Discover what everyone's craving from our diverse menu, from classic buckets to spicy zingers."

View File

@@ -0,0 +1,99 @@
"use client";
import React, { useState } from 'react';
import { MapPin, Phone, Mail, Clock } from 'lucide-react';
interface Branch {
id: string;
name: string;
address: string;
phone: string;
email: string;
hours: string;
}
const branches: Branch[] = [
{
id: 'baghdad-main',
name: 'Baghdad Main Branch',
address: '123 Main St, Baghdad',
phone: '+964 770 123 4567',
email: 'baghdad.main@friedchicken.iq',
hours: 'Mon-Sun: 10:00 AM - 11:00 PM',
},
{
id: 'erbil-city',
name: 'Erbil City Center',
address: '456 Erbil Rd, Erbil',
phone: '+964 750 987 6543',
email: 'erbil.city@friedchicken.iq',
hours: 'Mon-Sat: 11:00 AM - 10:00 PM',
},
{
id: 'basra-port',
name: 'Basra Port Area',
address: '789 Port Ave, Basra',
phone: '+964 780 112 2334',
email: 'basra.port@friedchicken.iq',
hours: 'Mon-Sun: 09:00 AM - 10:00 PM',
},
];
export default function BranchSelector() {
const [selectedBranchId, setSelectedBranchId] = useState<string>(branches[0].id);
const selectedBranch = branches.find(branch => branch.id === selectedBranchId);
return (
<div className="relative z-10 p-4 bg-background/80 backdrop-blur-sm rounded-lg shadow-lg max-w-md mx-auto mt-8 mb-4">
<h3 className="text-xl font-semibold mb-4 text-foreground text-center">Select Your Branch</h3>
<div className="relative">
<select
value={selectedBranchId}
onChange={(e) => setSelectedBranchId(e.target.value)}
className="block w-full px-4 py-2 pr-8 text-foreground bg-card border border-card-border rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-primary-cta focus:border-primary-cta appearance-none"
aria-label="Select a branch"
>
{branches.map((branch) => (
<option key={branch.id} value={branch.id}>
{branch.name}
</option>
))}
</select>
<div className="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-foreground">
<svg
className="h-4 w-4"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 20 20"
fill="currentColor"
aria-hidden="true"
>
<path
fillRule="evenodd"
d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z"
clipRule="evenodd"
/>
</svg>
</div>
</div>
{selectedBranch && (
<div className="mt-6 p-4 border border-card-border rounded-md bg-card text-foreground">
<h4 className="text-lg font-medium mb-2">{selectedBranch.name}</h4>
<p className="flex items-center text-sm mb-1">
<MapPin className="mr-2 h-4 w-4 text-accent" /> {selectedBranch.address}
</p>
<p className="flex items-center text-sm mb-1">
<Phone className="mr-2 h-4 w-4 text-accent" /> {selectedBranch.phone}
</p>
<p className="flex items-center text-sm mb-1">
<Mail className="mr-2 h-4 w-4 text-accent" /> {selectedBranch.email}
</p>
<p className="flex items-center text-sm">
<Clock className="mr-2 h-4 w-4 text-accent" /> {selectedBranch.hours}
</p>
</div>
)}
</div>
);
}