76 Commits

Author SHA1 Message Date
b509ac7ead Update src/app/page.tsx 2026-03-19 02:19:38 +00:00
4c7884224a Update src/app/about/page.tsx 2026-03-19 02:19:37 +00:00
c06f29ce70 Merge version_21 into main
Merge version_21 into main
2026-03-19 02:02:57 +00:00
1dc695ca99 Update src/app/page.tsx 2026-03-19 02:02:53 +00:00
366124ec9d Update src/app/order-now/page.tsx 2026-03-19 02:02:53 +00:00
6568697b32 Merge version_21 into main
Merge version_21 into main
2026-03-19 02:02:32 +00:00
64cd2ad7f7 Update src/app/page.tsx 2026-03-19 02:02:28 +00:00
8b61686144 Update src/app/order-now/page.tsx 2026-03-19 02:02:27 +00:00
2daee3df45 Merge version_20 into main
Merge version_20 into main
2026-03-19 01:45:14 +00:00
561d8ad8f5 Update src/app/order-now/page.tsx 2026-03-19 01:45:10 +00:00
af4d2d98de Merge version_20 into main
Merge version_20 into main
2026-03-19 01:44:49 +00:00
2e2a6cec49 Update src/app/order-now/page.tsx 2026-03-19 01:44:45 +00:00
37ead887b6 Merge version_20 into main
Merge version_20 into main
2026-03-19 01:44:19 +00:00
e8d31bb1e0 Update src/app/page.tsx 2026-03-19 01:44:15 +00:00
1ffc5fb28e Add src/app/order-now/page.tsx 2026-03-19 01:44:14 +00:00
13c418766a Update src/app/menu/page.tsx 2026-03-19 01:44:14 +00:00
6112efc087 Merge version_19 into main
Merge version_19 into main
2026-03-19 01:23:01 +00:00
83b2f02f99 Update src/app/menu/page.tsx 2026-03-19 01:22:57 +00:00
148f81f053 Merge version_18 into main
Merge version_18 into main
2026-03-19 01:19:52 +00:00
20d5cfe282 Update src/app/menu/page.tsx 2026-03-19 01:19:48 +00:00
535bc07992 Merge version_17 into main
Merge version_17 into main
2026-03-18 22:51:25 +00:00
f81b587c74 Update src/app/full-menu/page.tsx 2026-03-18 22:51:15 +00:00
93a4bfcf9c Merge version_16 into main
Merge version_16 into main
2026-03-18 22:35:38 +00:00
c8851eaa2c Update src/app/page.tsx 2026-03-18 22:35:34 +00:00
d7e24fbca6 Update src/app/menu/page.tsx 2026-03-18 22:35:33 +00:00
6e3ec732ec Merge version_15 into main
Merge version_15 into main
2026-03-18 22:31:11 +00:00
2f5396d03a Update src/app/menu/page.tsx 2026-03-18 22:31:07 +00:00
7060cecb34 Add src/app/full-menu/page.tsx 2026-03-18 22:31:06 +00:00
fadb9fe37e Merge version_14 into main
Merge version_14 into main
2026-03-18 18:23:14 +00:00
10d7749d05 Update src/app/page.tsx 2026-03-18 18:23:10 +00:00
396c4e718a Merge version_13 into main
Merge version_13 into main
2026-03-18 18:15:15 +00:00
07dda4bd68 Update src/app/page.tsx 2026-03-18 18:15:11 +00:00
01985878be Merge version_12 into main
Merge version_12 into main
2026-03-18 18:11:09 +00:00
7594dc3072 Update src/app/about/page.tsx 2026-03-18 18:11:04 +00:00
2e75c0161c Merge version_11 into main
Merge version_11 into main
2026-03-18 18:04:16 +00:00
78d48ec2f4 Update src/app/page.tsx 2026-03-18 18:04:12 +00:00
2999235148 Update src/app/about/page.tsx 2026-03-18 18:04:11 +00:00
e3d76caab5 Merge version_10 into main
Merge version_10 into main
2026-03-18 17:58:33 +00:00
bef33da5b2 Update src/app/about/page.tsx 2026-03-18 17:58:29 +00:00
4dfbddec97 Merge version_10 into main
Merge version_10 into main
2026-03-18 17:58:08 +00:00
f435d6bace Update src/app/about/page.tsx 2026-03-18 17:58:04 +00:00
e0867ab5e7 Merge version_9 into main
Merge version_9 into main
2026-03-18 17:44:48 +00:00
dc9a10ee53 Update src/app/page.tsx 2026-03-18 17:44:44 +00:00
0b542074c6 Update src/app/about/page.tsx 2026-03-18 17:44:43 +00:00
a765aa7957 Merge version_9 into main
Merge version_9 into main
2026-03-18 17:44:22 +00:00
3c95341b16 Update src/app/page.tsx 2026-03-18 17:44:18 +00:00
8d2f8bd650 Update src/app/about/page.tsx 2026-03-18 17:44:18 +00:00
55c51612ca Merge version_8 into main
Merge version_8 into main
2026-03-18 17:40:20 +00:00
16cfb4eb68 Update src/app/page.tsx 2026-03-18 17:40:16 +00:00
a88180f34d Merge version_7 into main
Merge version_7 into main
2026-03-18 17:24:17 +00:00
372195ed70 Update src/app/page.tsx 2026-03-18 17:24:13 +00:00
76d00b017c Update src/app/menu/page.tsx 2026-03-18 17:24:12 +00:00
54434c6d32 Update src/app/page.tsx 2026-03-18 16:11:34 +00:00
f23d443a89 Update src/app/order/page.tsx 2026-03-18 16:11:34 +00:00
8d0bb52c39 Update src/app/menu/page.tsx 2026-03-18 16:11:33 +00:00
3e4050cbfb Update src/app/gallery/page.tsx 2026-03-18 16:11:33 +00:00
46ba1cf4ad Update src/app/about/page.tsx 2026-03-18 16:11:32 +00:00
8bac311e4a Update src/app/reviews/page.tsx 2026-03-18 16:10:46 +00:00
436ed56d1e Update src/app/page.tsx 2026-03-18 16:10:46 +00:00
a48962cd0f Update src/app/order/page.tsx 2026-03-18 16:10:45 +00:00
f00666ca90 Update src/app/menu/page.tsx 2026-03-18 16:10:45 +00:00
02130e1f19 Update src/app/locations/page.tsx 2026-03-18 16:10:44 +00:00
ccfc95f144 Update src/app/gallery/page.tsx 2026-03-18 16:10:44 +00:00
4149b0139f Update src/app/about/page.tsx 2026-03-18 16:10:43 +00:00
1880a5b5e3 Switch to version 1: remove src/app/order-online/page.tsx 2026-03-18 16:06:51 +00:00
ae2400714c Switch to version 1: remove src/app/account/page.tsx 2026-03-18 16:06:51 +00:00
0d76b8a8ac Switch to version 1: modified src/app/reviews/page.tsx 2026-03-18 16:06:50 +00:00
20b3865154 Switch to version 1: modified src/app/page.tsx 2026-03-18 16:06:50 +00:00
05482fe85d Switch to version 1: modified src/app/menu/page.tsx 2026-03-18 16:06:49 +00:00
6ba791c4d1 Switch to version 1: modified src/app/locations/page.tsx 2026-03-18 16:06:49 +00:00
6ca798dd4d Switch to version 1: modified src/app/gallery/page.tsx 2026-03-18 16:06:48 +00:00
f23c17f009 Switch to version 1: modified src/app/contact/page.tsx 2026-03-18 16:06:48 +00:00
4a041313b3 Switch to version 1: modified src/app/about/page.tsx 2026-03-18 16:06:47 +00:00
69e2bfbae9 Merge version_6 into main
Merge version_6 into main
2026-03-18 16:06:28 +00:00
8ab55fff91 Merge version_6 into main
Merge version_6 into main
2026-03-18 16:05:54 +00:00
a0e4098403 Merge version_6 into main
Merge version_6 into main
2026-03-18 16:05:24 +00:00
12 changed files with 2038 additions and 1825 deletions

View File

@@ -5,10 +5,19 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered"; import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered";
import HeroSplit from "@/components/sections/hero/HeroSplit"; import HeroSplit from "@/components/sections/hero/HeroSplit";
import TeamCardTwo from "@/components/sections/team/TeamCardTwo"; import TeamCardTwo from "@/components/sections/team/TeamCardTwo";
import TimelineHorizontalCardStack from "@/components/cardStack/layouts/timelines/TimelineHorizontalCardStack"; import TimelineProcessFlow from "@/components/cardStack/layouts/timelines/TimelineProcessFlow";
import SocialProofOne from "@/components/sections/socialProof/SocialProofOne";
import FeatureCardTen from "@/components/sections/feature/FeatureCardTen"; import FeatureCardTen from "@/components/sections/feature/FeatureCardTen";
import FooterMedia from "@/components/sections/footer/FooterMedia"; import FooterMedia from "@/components/sections/footer/FooterMedia";
import { Award, Heart, Zap, TrendingUp, Facebook } from "lucide-react"; import {
Award,
Heart,
Zap,
TrendingUp,
Facebook,
Users,
Target,
} from "lucide-react";
export default function AboutPage() { export default function AboutPage() {
const navItems = [ const navItems = [
@@ -25,13 +34,13 @@ export default function AboutPage() {
title: "Quick Links", items: [ title: "Quick Links", items: [
{ label: "Home", href: "/" }, { label: "Home", href: "/" },
{ label: "Menu", href: "/menu" }, { label: "Menu", href: "/menu" },
{ label: "Gallery", href: "/" }, { label: "Gallery", href: "/gallery" },
{ label: "Reviews", href: "/" }, { label: "Reviews", href: "/" },
], ],
}, },
{ {
title: "Order & Contact", items: [ title: "Order & Contact", items: [
{ label: "Order Online", href: "/" }, { label: "Order Online", href: "/menu" },
{ label: "Call Us", href: "tel:2397850423" }, { label: "Call Us", href: "tel:2397850423" },
{ label: "Locations & Hours", href: "/" }, { label: "Locations & Hours", href: "/" },
{ label: "Contact", href: "/" }, { label: "Contact", href: "/" },
@@ -39,7 +48,7 @@ export default function AboutPage() {
}, },
{ {
title: "Connect With Us", items: [ title: "Connect With Us", items: [
{ label: "Facebook", href: "https://facebook.com/caribbeanflair" }, { label: "Facebook", href: "https://www.facebook.com/share/1CckZyvyXX/?mibextid=wwXIfr" },
{ label: "About Us", href: "/about" }, { label: "About Us", href: "/about" },
{ label: "Privacy Policy", href: "/" }, { label: "Privacy Policy", href: "/" },
{ label: "Terms of Service", href: "/" }, { label: "Terms of Service", href: "/" },
@@ -55,6 +64,51 @@ export default function AboutPage() {
}, },
]; ];
const timelineItems = [
{
id: "founded", content: (
<div>
<h3 className="text-xl font-bold mb-2">Founded Caribbean Flair</h3>
<p>Teria Bryant and Deb Farrell launch their dream of bringing authentic Jamaican cuisine to Lehigh Acres with passion and purpose.</p>
</div>
),
media: (
<div className="bg-gradient-to-br from-orange-400 to-red-500 rounded-lg h-full flex items-center justify-center text-white text-3xl font-bold">
2023
</div>
),
reverse: false,
},
{
id: "community", content: (
<div>
<h3 className="text-xl font-bold mb-2">Community Reception</h3>
<p>The community embraces Caribbean Flair, supporting Black-owned and women-owned business excellence and authentic Caribbean culture.</p>
</div>
),
media: (
<div className="bg-gradient-to-br from-blue-400 to-purple-500 rounded-lg h-full flex items-center justify-center text-white text-3xl font-bold">
2024
</div>
),
reverse: true,
},
{
id: "growth", content: (
<div>
<h3 className="text-xl font-bold mb-2">Expansion & Recognition</h3>
<p>Caribbean Flair becomes a beloved staple in Lehigh Acres, serving thousands of satisfied customers and earning 5-star recognition.</p>
</div>
),
media: (
<div className="bg-gradient-to-br from-green-400 to-emerald-500 rounded-lg h-full flex items-center justify-center text-white text-3xl font-bold">
2026
</div>
),
reverse: false,
},
];
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="bounce-effect" defaultButtonVariant="bounce-effect"
@@ -81,19 +135,19 @@ export default function AboutPage() {
{/* Hero Section */} {/* Hero Section */}
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroSplit <HeroSplit
title="Our Caribbean Journey" title="Our Island Story"
description="Meet the visionaries behind Caribbean Flair: Teria Bryant and Deb Farrell. Bringing authentic island flavors and Black & women-owned excellence to Lehigh Acres." description="Teria Bryant and Deb Farrell: Two passionate entrepreneurs bringing authentic Jamaican soul and Caribbean excellence to Lehigh Acres through authentic flavors and community-first business."
tag="About Our Story" tag="Community Leaders"
tagIcon={Award} tagIcon={Award}
tagAnimation="slide-up" tagAnimation="slide-up"
background={{ variant: "glowing-orb" }} background={{ variant: "glowing-orb" }}
buttons={[ buttons={[
{ {
text: "Order Online Now", href: "/menu"}, text: "Order Now", href: "/menu"},
]} ]}
buttonAnimation="slide-up" buttonAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-vector/summer-label-collectio_23-2148160410.jpg" imageSrc="data:image/svg+xml,%3Csvg xmlns?_wi=21'http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E"
imageAlt="Caribbean Flair Story" imageAlt="Caribbean Flair About Us"
mediaAnimation="opacity" mediaAnimation="opacity"
imagePosition="right" imagePosition="right"
ariaLabel="About us hero section" ariaLabel="About us hero section"
@@ -103,8 +157,8 @@ export default function AboutPage() {
{/* Meet the Owners Section */} {/* Meet the Owners Section */}
<div id="owners-spotlight" data-section="owners-spotlight"> <div id="owners-spotlight" data-section="owners-spotlight">
<TeamCardTwo <TeamCardTwo
title="Meet the Island Visionaries" title="Meet the Owners"
description="Teria Bryant and Deb Farrell: Passionate Black-owned, women-owned entrepreneurs bringing authentic Caribbean soul to Lehigh Acres with decades of culinary expertise and community commitment." description="Teria Bryant and Deb Farrell: Passionate Black-owned, women-owned entrepreneurs bringing authentic Caribbean soul to Lehigh Acres."
tag="Our Founders" tag="Our Founders"
tagIcon={Heart} tagIcon={Heart}
tagAnimation="slide-up" tagAnimation="slide-up"
@@ -115,20 +169,20 @@ export default function AboutPage() {
members={[ members={[
{ {
id: "teria-bryant", name: "Teria Bryant", role: "Founder & Head Chef", description: id: "teria-bryant", name: "Teria Bryant", role: "Founder & Head Chef", description:
"Teria brings 15+ years of Caribbean culinary expertise and authentic island passion to every dish. Her vision transformed Caribbean Flair from a dream into a premium dining destination serving Lehigh Acres with pride. With deep roots in Jamaican cooking traditions, Teria ensures every plate delivers the bold flavors and soul that define our brand.", imageSrc: "Teria brings 15+ years of Caribbean culinary expertise and authentic island passion to every dish. Their vision transformed Caribbean Flair from a dream into a premium dining destination serving Lehigh Acres with pride.", imageSrc:
"http://img.b2bpic.net/free-photo/medium-shot-professional-chef-working_23-2151232185.jpg?_wi=1", imageAlt: "Teria Bryant, founder of Caribbean Flair", socialLinks: [ "data:image/svg+xml,%3Csvg xmlns?_wi=1'http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Cdefs%3E%3ClinearGradient id='grad1' x1='0%25' y1='0%25' x2='100%25' y2='100%25'%3E%3Cstop offset='0%25' style='stop-color:%23ff6b6b;stop-opacity:1' /%3E%3Cstop offset='100%25' style='stop-color:%23ffa500;stop-opacity:1' /%3E%3C/linearGradient%3E%3ClinearGradient id='grad1b' x1='0%25' y1='0%25' x2='100%25' y2='100%25'%3E%3Cstop offset='0%25' style='stop-color:%234ecdc4;stop-opacity:1' /%3E%3Cstop offset='25%25' style='stop-color:%2345b7aa;stop-opacity:1' /%3E%3Cstop offset='50%25' style='stop-color:%233a9b8f;stop-opacity:1' /%3E%3Cstop offset='75%25' style='stop-color:%2327746b;stop-opacity:1' /%3E%3Cstop offset='100%25' style='stop-color:%2308d9d6;stop-opacity:1' /%3E%3C/linearGradient%3E%3C/defs%3E%3Crect fill='url(%23grad1b)' width='400' height='300'/%3E%3Cpath d='M0 0 Q100 80 200 100 T400 0 L400 60 Q300 80 200 120 T0 80 Z' fill='%23ffffff' opacity='0.15'/%3E%3Ccircle cx='200' cy='120' r='50' fill='%23ffffff' opacity='0.8'/%3E%3Crect x='120' y='180' width='160' height='100' rx='10' fill='%23ffffff' opacity='0.1'/%3E%3Cline x1='150' y1='190' x2='250' y2='190' stroke='%23ffffff' stroke-width='2' opacity='0.3'/%3E%3Cline x1='150' y1='210' x2='250' y2='210' stroke='%23ffffff' stroke-width='2' opacity='0.3'/%3E%3C/svg%3E", imageAlt: "Teria Bryant, founder of Caribbean Flair", socialLinks: [
{ {
icon: Facebook, icon: Facebook,
url: "https://facebook.com/caribbeanflair"}, url: "https://www.facebook.com/share/1CckZyvyXX/?mibextid=wwXIfr"},
], ],
}, },
{ {
id: "deb-farrell", name: "Deb Farrell", role: "Co-Owner & Operations Lead", description: id: "deb-farrell", name: "Deb Farrell", role: "Co-Owner & Operations Lead", description:
"Deb ensures every customer experience is smooth, welcoming, and unforgettable. Together with Teria, she's building a thriving Black- and women-owned business that celebrates Caribbean culture and community impact. With a passion for hospitality and business excellence, Deb has been instrumental in creating the warm, authentic atmosphere that defines Caribbean Flair.", imageSrc: "Deb ensures every customer experience is smooth, welcoming, and unforgettable. Together with Teria, they are building a thriving Black- and women-owned business that celebrates Caribbean culture and community impact.", imageSrc:
"http://img.b2bpic.net/free-photo/successful-business-woman-blue-suit_158595-5024.jpg?_wi=1", imageAlt: "Deb Farrell, co-owner of Caribbean Flair", socialLinks: [ "data:image/svg+xml,%3Csvg xmlns?_wi=2'http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Cdefs%3E%3ClinearGradient id='grad2' x1='0%25' y1='0%25' x2='100%25' y2='100%25'%3E%3Cstop offset='0%25' style='stop-color:%23667eea;stop-opacity:1' /%3E%3Cstop offset='25%25' style='stop-color:%235a67d8;stop-opacity:1' /%3E%3Cstop offset='50%25' style='stop-color:%234c51bf;stop-opacity:1' /%3E%3Cstop offset='75%25' style='stop-color:%233f3ba3;stop-opacity:1' /%3E%3Cstop offset='100%25' style='stop-color:%23764ba2;stop-opacity:1' /%3E%3C/linearGradient%3E%3C/defs%3E%3Crect fill='url(%23grad2)' width='400' height='300'/%3E%3Cpath d='M0 150 Q100 100 200 120 T400 150 L400 300 L0 300 Z' fill='%23ffffff' opacity='0.1'/%3E%3Ccircle cx='200' cy='120' r='50' fill='%23ffffff' opacity='0.8'/%3E%3Crect x='120' y='180' width='160' height='100' rx='10' fill='%23ffffff' opacity='0.1'/%3E%3Cpolygon points='200,185 220,200 200,215 180,200' fill='%23ffffff' opacity='0.2'/%3E%3C/svg%3E", imageAlt: "Deb Farrell, co-owner of Caribbean Flair", socialLinks: [
{ {
icon: Facebook, icon: Facebook,
url: "https://facebook.com/caribbeanflair"}, url: "https://www.facebook.com/share/1CckZyvyXX/?mibextid=wwXIfr"},
], ],
}, },
]} ]}
@@ -137,109 +191,73 @@ export default function AboutPage() {
{/* Brand Story Timeline */} {/* Brand Story Timeline */}
<div id="brand-story" data-section="brand-story"> <div id="brand-story" data-section="brand-story">
<TimelineHorizontalCardStack <TimelineProcessFlow
title="Our Island Journey" title="Our Journey"
description="From concept to community favorite: the authentic story of Caribbean Flair's growth and commitment to excellence." description="From vision to reality—the Caribbean Flair story of authentic flavors, community pride, and culinary excellence."
tag="Our Timeline" tag="Our Evolution"
tagIcon={Zap} tagIcon={Target}
tagAnimation="slide-up" tagAnimation="slide-up"
textboxLayout="default"
animationType="slide-up"
items={timelineItems}
buttons={[ buttons={[
{ {
text: "Explore Our Menu", href: "/menu"}, text: "Join Our Story", href: "/menu"},
]} ]}
buttonAnimation="slide-up" />
textboxLayout="default"
useInvertedBackground={true}
>
<div className="flex gap-6 overflow-x-auto pb-6 px-4">
{[
{
year: "2020", milestone: "The Dream Begins", description: "Teria and Deb unite their culinary passion and business vision to create Caribbean Flair, dreaming of bringing authentic island flavors to Lehigh Acres."},
{
year: "2021", milestone: "Launch Day", description: "Caribbean Flair opens its doors with a full menu of signature dishes, jerk specialties, and authentic Caribbean sides prepared fresh daily."},
{
year: "2022", milestone: "Community Love", description: "Rapidly becomes a local favorite. Customers praise the authenticity, quality, and genuine warmth of Teria and Deb's hospitality."},
{
year: "2023", milestone: "Expansion & Recognition", description: "Expanded menu offerings, grew customer base, and received recognition as a standout Black & women-owned business in the community."},
{
year: "2024", milestone: "Island Excellence", description: "Continues to deliver premium authentic Caribbean cuisine while expanding delivery options and growing community presence."},
].map((item, index) => (
<div
key={index}
className="flex-shrink-0 w-80 bg-[var(--card)] rounded-lg p-6 border border-[var(--accent)]/20 hover:border-[var(--accent)]/50 transition-colors"
>
<div className="text-3xl font-bold text-[var(--primary-cta)] mb-2">
{item.year}
</div>
<h3 className="text-xl font-semibold text-[var(--foreground)] mb-2">
{item.milestone}
</h3>
<p className="text-[var(--foreground)]/70">{item.description}</p>
</div>
))}
</div>
</TimelineHorizontalCardStack>
</div> </div>
{/* Community Impact Section */} {/* Community Impact Section */}
<div id="community-impact" data-section="community-impact"> <div id="community-impact" data-section="community-impact">
<SocialProofOne
names={[
"Supporting Local Economy", "Women Empowerment", "Black Business Excellence", "Community Events", "Authentic Jamaican Culture", "Local Partnerships"]}
title="Community Impact"
description="Caribbean Flair is more than a restaurant—we're a force for community pride, Black excellence, and women empowerment in Lehigh Acres."
tag="Making a Difference"
tagIcon={Users}
tagAnimation="slide-up"
textboxLayout="default"
useInvertedBackground={true}
showCard={true}
buttons={[
{
text: "Support Local Business", href: "/menu"},
]}
/>
</div>
{/* Final CTA Section */}
<div id="final-cta" data-section="final-cta">
<FeatureCardTen <FeatureCardTen
title="Community Impact & Our Commitment" title="Experience Our Island Story"
description="Caribbean Flair is more than a food truck—we're committed to celebrating Black and women-owned excellence, supporting local communities, and bringing authentic Caribbean culture to Lehigh Acres." description="Join Teria, Deb, and the Caribbean Flair community. Every meal supports Black- and women-owned business excellence and authentic Caribbean culture."
tag="Community First" tag="Be Part of Our Journey"
tagIcon={Heart} tagIcon={Zap}
tagAnimation="slide-up" tagAnimation="slide-up"
buttons={[ buttons={[
{ {
text: "Support Local", href: "/menu"}, text: "Order Now", href: "/menu"},
{
text: "Call (239) 785-0423", href: "tel:2397850423"},
]} ]}
buttonAnimation="slide-up" buttonAnimation="slide-up"
textboxLayout="default" textboxLayout="default"
animationType="slide-up" animationType="slide-up"
useInvertedBackground={false} useInvertedBackground={true}
features={[ features={[
{ {
id: "authentic-flavors", title: "Authentic Island Flavors", description: id: "mission", title: "Our Mission", description:
"Every dish is prepared with traditional Jamaican techniques and the freshest ingredients, honoring Caribbean culinary heritage.", media: { "Deliver authentic Caribbean excellence while uplifting our community through Black- and women-owned business pride.", media: {
imageSrc: imageSrc:
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-2gw0wih3.jpg"}, "data:image/svg+xml,%3Csvg xmlns?_wi=3'http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Cdefs%3E%3ClinearGradient id='grad3' x1='0%25' y1='0%25' x2='100%25' y2='100%25'%3E%3Cstop offset='0%25' style='stop-color:%23667eea;stop-opacity:1' /%3E%3Cstop offset='100%25' style='stop-color:%23764ba2;stop-opacity:1' /%3E%3C/linearGradient%3E%3C/defs%3E%3Crect fill='url(%23grad3)' width='400' height='300'/%3E%3Cpath d='M150 250 Q200 150 250 250' stroke='%23fff' stroke-width='3' fill='none'/%3E%3Ccircle cx='200' cy='150' r='30' fill='%23fff' opacity='0.8'/%3E%3C/svg%3E"},
items: [
{
icon: Award,
text: "Authentic recipes passed down through generations"},
{
icon: TrendingUp,
text: "Fresh ingredients sourced with care"},
],
reverse: false,
},
{
id: "women-empowerment", title: "Women & Black Business Excellence", description:
"As a Black & women-owned enterprise, we're proud to inspire our community and demonstrate the power of entrepreneurship, passion, and determination.", media: {
imageSrc:
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-wha24yfi.jpg"},
items: [ items: [
{ {
icon: Heart, icon: Heart,
text: "Celebrating Black & women entrepreneurs"}, text: "Authentic Flavors"},
{
icon: Zap,
text: "Building generational wealth through excellence"},
],
reverse: true,
},
{
id: "community-engagement", title: "Community Engagement & Support", description:
"We're invested in our Lehigh Acres community, supporting local events, collaborations, and initiatives that strengthen our neighborhood.", media: {
imageSrc:
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-qcfdeh7f.jpg"},
items: [
{
icon: Award,
text: "Active in local community events"},
{ {
icon: TrendingUp, icon: TrendingUp,
text: "Supporting neighborhood growth & connection"}, text: "Community Pride"},
], ],
reverse: false, reverse: false,
}, },
@@ -250,10 +268,10 @@ export default function AboutPage() {
{/* Footer */} {/* Footer */}
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterMedia <FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/chef-cooking-kitchen-while-wearing-professional-attire_23-2151208291.jpg?_wi=1" imageSrc="data:image/svg+xml,%3Csvg xmlns?_wi=25'http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E"
imageAlt="Caribbean Flair Island Jerk Grill Trailer" imageAlt="Caribbean Flair Island Jerk Grill Trailer"
logoText="Caribbean Flair" logoText="Caribbean Flair"
copyrightText="© 2025 Caribbean Flair Island Jerk Grill | Black & Women-Owned | Lehigh Acres, FL" copyrightText="© 2026 Caribbean Flair Island Jerk Grill | Black & Women-Owned | Lehigh Acres, FL"
columns={footerColumns} columns={footerColumns}
/> />
</div> </div>

View File

@@ -1,436 +0,0 @@
"use client";
import Link from "next/link";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered";
import FooterMedia from "@/components/sections/footer/FooterMedia";
import { Heart, Package, Settings, LogOut, Menu, X, Phone, Mail, MapPin, Facebook, Instagram } from "lucide-react";
import { useState } from "react";
export default function AccountPage() {
const [sidebarOpen, setSidebarOpen] = useState(false);
const [activeTab, setActiveTab] = useState("orders");
const navItems = [
{ name: "Home", id: "home" },
{ name: "Menu", id: "menu" },
{ name: "About Us", id: "about" },
{ name: "Gallery", id: "gallery" },
{ name: "Reviews", id: "reviews" },
{ name: "Locations", id: "locations" },
];
const footerColumns = [
{
title: "Quick Links", items: [
{ label: "Home", href: "/" },
{ label: "Menu", href: "/menu" },
{ label: "Gallery", href: "/" },
{ label: "Reviews", href: "/" },
],
},
{
title: "Order & Contact", items: [
{ label: "Order Online", href: "/" },
{ label: "Call Us", href: "tel:2397850423" },
{ label: "Locations & Hours", href: "/" },
{ label: "Contact", href: "/" },
],
},
{
title: "Connect With Us", items: [
{ label: "Facebook", href: "https://facebook.com/caribbeanflair" },
{ label: "About Us", href: "/" },
{ label: "Privacy Policy", href: "/" },
{ label: "Terms of Service", href: "/" },
],
},
{
title: "Located In", items: [
{ label: "801 Leeland Heights Blvd W", href: "/" },
{ label: "Lehigh Acres, FL 33936", href: "/" },
{ label: "Open Until 9PM", href: "/" },
{ label: "Delivery Available", href: "/" },
],
},
];
const orderHistory = [
{
id: "order-001", date: "Jan 15, 2025", items: "Jerk Chicken Platter x2, Curry Shrimp Platter x1", total: "$49.85", status: "Delivered"},
{
id: "order-002", date: "Jan 10, 2025", items: "Conch Fritters Combo x3, Mac & Cheese x2", total: "$45.75", status: "Delivered"},
{
id: "order-003", date: "Jan 5, 2025", items: "Curry Goat Platter x1, Festival Dumplings x1", total: "$38.90", status: "Delivered"},
];
const favorites = [
{
id: "fav-1", name: "Jerk Chicken Platter", price: "$15.95", image: "http://img.b2bpic.net/free-photo/from-shrimps-batter-with-red-rice-greens-white-plate_176474-2654.jpg?_wi=1"},
{
id: "fav-2", name: "Curry Shrimp Platter", price: "$16.95", image: "http://img.b2bpic.net/free-photo/side-view-fried-eggs-with-shrimps-vegetables-pan-served-with-sauces_140725-11952.jpg?_wi=1"},
{
id: "fav-3", name: "Conch Fritters Combo", price: "$12.95", image: "http://img.b2bpic.net/free-photo/chicken-nuggets-served-with-french-fries-sauces_140725-5759.jpg?_wi=1"},
];
return (
<ThemeProvider
defaultButtonVariant="bounce-effect"
defaultTextAnimation="entrance-slide"
borderRadius="pill"
contentWidth="compact"
sizing="medium"
background="none"
cardStyle="inset"
primaryButtonStyle="radial-glow"
secondaryButtonStyle="glass"
headingFontWeight="medium"
>
{/* Navbar */}
<div id="nav" data-section="nav">
<NavbarStyleCentered
brandName="Caribbean Flair"
navItems={navItems}
button={{
text: "Order Now", href: "/menu"}}
/>
</div>
{/* Main Content */}
<main className="min-h-screen bg-gradient-to-br from-background to-card pt-8 pb-20">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
{/* Header */}
<div className="mb-12">
<h1 className="text-4xl font-bold text-foreground mb-2">My Account</h1>
<p className="text-foreground/70">Welcome back! Manage your orders and favorites.</p>
</div>
{/* Mobile Hamburger Menu */}
<div className="lg:hidden mb-6">
<button
onClick={() => setSidebarOpen(!sidebarOpen)}
className="flex items-center gap-2 px-4 py-2 rounded-lg bg-primary-cta text-foreground hover:opacity-90 transition-opacity"
aria-label="Toggle menu"
>
{sidebarOpen ? <X size={20} /> : <Menu size={20} />}
<span>{sidebarOpen ? "Close" : "Menu"}</span>
</button>
</div>
<div className="grid grid-cols-1 lg:grid-cols-4 gap-8">
{/* Sidebar Navigation */}
<aside
className={`lg:col-span-1 ${
sidebarOpen ? "block" : "hidden lg:block"
} lg:sticky lg:top-24 h-fit`}
>
<nav
className="space-y-2 bg-card rounded-lg p-6 border border-card/50 backdrop-blur-sm"
role="navigation"
aria-label="Account navigation"
>
<button
onClick={() => setActiveTab("orders")}
className={`w-full flex items-center gap-3 px-4 py-3 rounded-lg transition-all ${
activeTab === "orders"
? "bg-primary-cta text-foreground"
: "text-foreground/70 hover:text-foreground hover:bg-background/50"
}`}
aria-current={activeTab === "orders" ? "page" : undefined}
>
<Package size={20} />
<span>Order History</span>
</button>
<button
onClick={() => setActiveTab("favorites")}
className={`w-full flex items-center gap-3 px-4 py-3 rounded-lg transition-all ${
activeTab === "favorites"
? "bg-primary-cta text-foreground"
: "text-foreground/70 hover:text-foreground hover:bg-background/50"
}`}
aria-current={activeTab === "favorites" ? "page" : undefined}
>
<Heart size={20} />
<span>Favorites</span>
</button>
<button
onClick={() => setActiveTab("settings")}
className={`w-full flex items-center gap-3 px-4 py-3 rounded-lg transition-all ${
activeTab === "settings"
? "bg-primary-cta text-foreground"
: "text-foreground/70 hover:text-foreground hover:bg-background/50"
}`}
aria-current={activeTab === "settings" ? "page" : undefined}
>
<Settings size={20} />
<span>Settings</span>
</button>
<hr className="my-2 border-card/30" />
<button
className="w-full flex items-center gap-3 px-4 py-3 rounded-lg text-foreground/70 hover:text-foreground hover:bg-background/50 transition-all"
aria-label="Logout"
>
<LogOut size={20} />
<span>Logout</span>
</button>
</nav>
</aside>
{/* Main Content Area */}
<div className="lg:col-span-3">
{/* Order History Tab */}
{activeTab === "orders" && (
<section id="orders" className="space-y-6">
<div>
<h2 className="text-2xl font-bold text-foreground mb-4">Order History</h2>
<p className="text-foreground/70 mb-6">View all your previous orders and reorder your favorites.</p>
</div>
<div className="space-y-4">
{orderHistory.map((order) => (
<div
key={order.id}
className="bg-card rounded-lg p-6 border border-card/50 backdrop-blur-sm hover:border-primary-cta/50 transition-all"
>
<div className="flex flex-col sm:flex-row sm:justify-between sm:items-start gap-4">
<div className="flex-1">
<div className="flex items-center gap-2 mb-2">
<span className="text-sm font-semibold text-primary-cta">Order #{order.id}</span>
<span
className="px-3 py-1 rounded-full text-xs font-medium bg-accent/20 text-accent"
role="status"
>
{order.status}
</span>
</div>
<p className="text-foreground/70 text-sm mb-1">{order.date}</p>
<p className="text-foreground mb-2">{order.items}</p>
</div>
<div className="text-right">
<p className="text-xl font-bold text-primary-cta mb-3">{order.total}</p>
<button
className="px-4 py-2 bg-primary-cta text-foreground rounded-lg hover:opacity-90 transition-opacity text-sm font-medium"
aria-label={`Reorder items from ${order.id}`}
>
Reorder
</button>
</div>
</div>
</div>
))}
</div>
</section>
)}
{/* Favorites Tab */}
{activeTab === "favorites" && (
<section id="favorites" className="space-y-6">
<div>
<h2 className="text-2xl font-bold text-foreground mb-4">Favorite Items</h2>
<p className="text-foreground/70 mb-6">Quick access to your most loved Caribbean Flair dishes.</p>
</div>
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6">
{favorites.map((item) => (
<div
key={item.id}
className="bg-card rounded-lg overflow-hidden border border-card/50 backdrop-blur-sm hover:border-primary-cta/50 transition-all group"
>
<div className="relative overflow-hidden aspect-square bg-background/50">
<img
src={item.image}
alt={item.name}
className="w-full h-full object-cover group-hover:scale-105 transition-transform duration-300"
/>
<button
className="absolute top-3 right-3 p-2 bg-primary-cta rounded-full text-foreground hover:opacity-90 transition-opacity"
aria-label={`Remove ${item.name} from favorites`}
>
<Heart size={18} className="fill-current" />
</button>
</div>
<div className="p-4">
<h3 className="font-semibold text-foreground mb-1">{item.name}</h3>
<p className="text-primary-cta font-bold mb-3">{item.price}</p>
<button
className="w-full px-3 py-2 bg-primary-cta text-foreground rounded-lg hover:opacity-90 transition-opacity text-sm font-medium"
aria-label={`Add ${item.name} to cart`}
>
Add to Cart
</button>
</div>
</div>
))}
</div>
</section>
)}
{/* Settings Tab */}
{activeTab === "settings" && (
<section id="settings" className="space-y-6">
<div>
<h2 className="text-2xl font-bold text-foreground mb-4">Account Settings</h2>
<p className="text-foreground/70 mb-6">Manage your profile and communication preferences.</p>
</div>
<div className="space-y-6">
{/* Profile Information */}
<div className="bg-card rounded-lg p-6 border border-card/50 backdrop-blur-sm">
<h3 className="text-lg font-semibold text-foreground mb-4">Profile Information</h3>
<div className="space-y-4">
<div>
<label className="block text-sm font-medium text-foreground mb-2">Full Name</label>
<input
type="text"
placeholder="John Doe"
className="w-full px-4 py-2 bg-background border border-card/30 rounded-lg text-foreground placeholder-foreground/50 focus:outline-none focus:border-primary-cta"
aria-label="Full name"
/>
</div>
<div>
<label className="block text-sm font-medium text-foreground mb-2">Email</label>
<input
type="email"
placeholder="john@example.com"
className="w-full px-4 py-2 bg-background border border-card/30 rounded-lg text-foreground placeholder-foreground/50 focus:outline-none focus:border-primary-cta"
aria-label="Email address"
/>
</div>
<button className="px-6 py-2 bg-primary-cta text-foreground rounded-lg hover:opacity-90 transition-opacity font-medium">
Save Changes
</button>
</div>
</div>
{/* Delivery Address */}
<div className="bg-card rounded-lg p-6 border border-card/50 backdrop-blur-sm">
<h3 className="text-lg font-semibold text-foreground mb-4">Default Delivery Address</h3>
<div className="space-y-4">
<div>
<label className="block text-sm font-medium text-foreground mb-2">Street Address</label>
<input
type="text"
placeholder="123 Main Street"
className="w-full px-4 py-2 bg-background border border-card/30 rounded-lg text-foreground placeholder-foreground/50 focus:outline-none focus:border-primary-cta"
aria-label="Street address"
/>
</div>
<div className="grid grid-cols-2 gap-4">
<div>
<label className="block text-sm font-medium text-foreground mb-2">City</label>
<input
type="text"
placeholder="Lehigh Acres"
className="w-full px-4 py-2 bg-background border border-card/30 rounded-lg text-foreground placeholder-foreground/50 focus:outline-none focus:border-primary-cta"
aria-label="City"
/>
</div>
<div>
<label className="block text-sm font-medium text-foreground mb-2">ZIP Code</label>
<input
type="text"
placeholder="33936"
className="w-full px-4 py-2 bg-background border border-card/30 rounded-lg text-foreground placeholder-foreground/50 focus:outline-none focus:border-primary-cta"
aria-label="ZIP code"
/>
</div>
</div>
<button className="px-6 py-2 bg-primary-cta text-foreground rounded-lg hover:opacity-90 transition-opacity font-medium">
Update Address
</button>
</div>
</div>
{/* Notification Preferences */}
<div className="bg-card rounded-lg p-6 border border-card/50 backdrop-blur-sm">
<h3 className="text-lg font-semibold text-foreground mb-4">Notifications</h3>
<div className="space-y-3">
<label className="flex items-center gap-3 cursor-pointer">
<input
type="checkbox"
defaultChecked
className="w-5 h-5 rounded border-card/30 text-primary-cta focus:ring-primary-cta"
aria-label="Email notifications for orders"
/>
<span className="text-foreground">Email me order updates</span>
</label>
<label className="flex items-center gap-3 cursor-pointer">
<input
type="checkbox"
defaultChecked
className="w-5 h-5 rounded border-card/30 text-primary-cta focus:ring-primary-cta"
aria-label="SMS notifications"
/>
<span className="text-foreground">Text me special offers</span>
</label>
<label className="flex items-center gap-3 cursor-pointer">
<input
type="checkbox"
className="w-5 h-5 rounded border-card/30 text-primary-cta focus:ring-primary-cta"
aria-label="Marketing emails"
/>
<span className="text-foreground">Marketing emails and promotions</span>
</label>
</div>
</div>
</div>
</section>
)}
</div>
</div>
</div>
</main>
{/* Quick Contact Section */}
<section className="bg-card/50 backdrop-blur-sm py-12 border-t border-card/30" aria-labelledby="quick-contact-heading">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<h2 id="quick-contact-heading" className="text-2xl font-bold text-foreground text-center mb-8">
Need Help? Get in Touch
</h2>
<div className="grid grid-cols-1 sm:grid-cols-3 gap-6">
<div className="flex flex-col items-center text-center">
<div className="p-3 bg-primary-cta rounded-full mb-3">
<Phone size={24} className="text-foreground" />
</div>
<h3 className="font-semibold text-foreground mb-1">Call Us</h3>
<p className="text-foreground/70">
<a href="tel:2397850423" className="hover:text-primary-cta transition-colors">
(239) 785-0423
</a>
</p>
</div>
<div className="flex flex-col items-center text-center">
<div className="p-3 bg-primary-cta rounded-full mb-3">
<Mail size={24} className="text-foreground" />
</div>
<h3 className="font-semibold text-foreground mb-1">Email</h3>
<p className="text-foreground/70">
<a href="mailto:info@caribbeanflair.com" className="hover:text-primary-cta transition-colors">
info@caribbeanflair.com
</a>
</p>
</div>
<div className="flex flex-col items-center text-center">
<div className="p-3 bg-primary-cta rounded-full mb-3">
<MapPin size={24} className="text-foreground" />
</div>
<h3 className="font-semibold text-foreground mb-1">Visit Us</h3>
<p className="text-foreground/70">801 Leeland Heights Blvd W<br />Lehigh Acres, FL 33936</p>
</div>
</div>
</div>
</section>
{/* Footer */}
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/chef-cooking-kitchen-while-wearing-professional-attire_23-2151208291.jpg?_wi=1"
imageAlt="Caribbean Flair Island Jerk Grill Trailer"
logoText="Caribbean Flair"
copyrightText="© 2025 Caribbean Flair Island Jerk Grill | Black & Women-Owned | Lehigh Acres, FL"
columns={footerColumns}
/>
</div>
</ThemeProvider>
);
}

View File

@@ -3,82 +3,59 @@
import Link from "next/link"; import Link from "next/link";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered"; import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered";
import HeroSplit from "@/components/sections/hero/HeroSplit";
import ContactSplit from "@/components/sections/contact/ContactSplit";
import FeatureCardTen from "@/components/sections/feature/FeatureCardTen"; import FeatureCardTen from "@/components/sections/feature/FeatureCardTen";
import FooterMedia from "@/components/sections/footer/FooterMedia"; import FooterMedia from "@/components/sections/footer/FooterMedia";
import { Phone, MessageCircle, Facebook, MessageSquare, MapPin, Clock } from "lucide-react"; import { Heart, Zap } from "lucide-react";
import { useState } from "react";
export default function ContactPage() { export default function ContactPage() {
const [showLiveChat, setShowLiveChat] = useState(false);
const [chatMessages, setChatMessages] = useState<Array<{ id: string; sender: "user" | "bot"; text: string }>>([]);
const [chatInput, setChatInput] = useState("");
const navItems = [ const navItems = [
{ name: "Home", id: "/" }, { name: "Home", id: "home" },
{ name: "Order Online", id: "/order-online" }, { name: "Menu", id: "menu" },
{ name: "Contact", id: "/contact" }, { name: "About Us", id: "about" },
{ name: "Gallery", id: "/" }, { name: "Gallery", id: "gallery" },
{ name: "Reviews", id: "/" }, { name: "Reviews", id: "reviews" },
{ name: "Locations", id: "/" }, { name: "Locations", id: "locations" },
]; ];
const footerColumns = [ const footerColumns = [
{ {
title: "Quick Links", items: [ title: "Quick Links",
items: [
{ label: "Home", href: "/" }, { label: "Home", href: "/" },
{ label: "Order Online", href: "/order-online" }, { label: "Menu", href: "/menu" },
{ label: "Gallery", href: "/" }, { label: "Gallery", href: "/gallery" },
{ label: "Reviews", href: "/" }, { label: "Reviews", href: "/reviews" },
], ],
}, },
{ {
title: "Order & Contact", items: [ title: "Order & Contact",
{ label: "Order Online", href: "/order-online" }, items: [
{ label: "Order Online", href: "/order" },
{ label: "Call Us", href: "tel:2397850423" }, { label: "Call Us", href: "tel:2397850423" },
{ label: "Locations & Hours", href: "/" }, { label: "Locations & Hours", href: "/locations" },
{ label: "Contact", href: "/contact" }, { label: "Contact", href: "/contact" },
], ],
}, },
{ {
title: "Connect With Us", items: [ title: "Connect With Us",
items: [
{ label: "Facebook", href: "https://facebook.com/caribbeanflair" }, { label: "Facebook", href: "https://facebook.com/caribbeanflair" },
{ label: "About Us", href: "/" }, { label: "About Us", href: "/about" },
{ label: "Privacy Policy", href: "/" }, { label: "Privacy Policy", href: "#privacy" },
{ label: "Terms of Service", href: "/" }, { label: "Terms of Service", href: "#terms" },
], ],
}, },
{ {
title: "Located In", items: [ title: "Located In",
{ label: "801 Leeland Heights Blvd W", href: "/" }, items: [
{ label: "Lehigh Acres, FL 33936", href: "/" }, { label: "801 Leeland Heights Blvd W", href: "#map" },
{ label: "Open Until 9PM", href: "/" }, { label: "Lehigh Acres, FL 33936", href: "#map" },
{ label: "Delivery Available", href: "/" }, { label: "Open Until 9PM", href: "/locations" },
{ label: "Delivery Available", href: "/order" },
], ],
}, },
]; ];
const handleChatSend = () => {
if (!chatInput.trim()) return;
const newMessage = { id: Date.now().toString(), sender: "user" as const, text: chatInput };
setChatMessages([...chatMessages, newMessage]);
setChatInput("");
// Simulate bot response
setTimeout(() => {
const responses = [
"Thanks for reaching out! How can we help you today?", "Great question! Our team is here to assist you.", "We appreciate your inquiry. One moment while we connect you with our team.", "Caribbean Flair is committed to excellent customer service. What can we do for you?"];
const botResponse = {
id: (Date.now() + 1).toString(),
sender: "bot" as const,
text: responses[Math.floor(Math.random() * responses.length)],
};
setChatMessages((prev) => [...prev, botResponse]);
}, 800);
};
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="bounce-effect" defaultButtonVariant="bounce-effect"
@@ -92,202 +69,55 @@ export default function ContactPage() {
secondaryButtonStyle="glass" secondaryButtonStyle="glass"
headingFontWeight="medium" headingFontWeight="medium"
> >
{/* Navbar */}
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarStyleCentered <NavbarStyleCentered
brandName="Caribbean Flair" brandName="Caribbean Flair"
navItems={navItems} navItems={navItems}
button={{ button={{
text: "Order Now", href: "/order-online"}} text: "Order Now",
/> href: "/order",
</div>
{/* Hero Section */}
<div id="hero" data-section="hero">
<HeroSplit
title="Get in Touch with Caribbean Flair"
description="We'd love to hear from you! Whether you have questions about our menu, want to place a bulk order, or just want to say hello, reach out to us through any of these channels."
tag="We're Here to Help"
tagIcon={MessageCircle}
tagAnimation="slide-up"
background={{ variant: "plain" }}
buttons={[
{
text: "Start Live Chat", href: "#live-chat"},
]}
buttonAnimation="slide-up"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-qcfdeh7f.jpg"
imageAlt="Contact Caribbean Flair"
mediaAnimation="opacity"
imagePosition="right"
ariaLabel="Contact hero section"
/>
</div>
{/* Contact Methods Section */}
<div id="contact-methods" data-section="contact-methods" className="py-16 px-4 bg-gray-50">
<div className="max-w-6xl mx-auto">
<h2 className="text-4xl font-bold text-center mb-12">Contact Us</h2>
<div className="grid md:grid-cols-2 lg:grid-cols-4 gap-6">
{/* Call Button */}
<div className="bg-white p-6 rounded-lg shadow-md hover:shadow-lg transition text-center">
<Phone className="w-12 h-12 mx-auto mb-4 text-primary-cta" />
<h3 className="text-lg font-semibold mb-2">Call Us</h3>
<p className="text-gray-600 mb-4">Speak directly with our team</p>
<a
href="tel:2397850423"
className="inline-block px-4 py-2 bg-primary-cta text-white rounded-lg hover:opacity-90 transition font-semibold"
>
Call (239) 785-0423
</a>
</div>
{/* Text Option */}
<div className="bg-white p-6 rounded-lg shadow-md hover:shadow-lg transition text-center">
<MessageSquare className="w-12 h-12 mx-auto mb-4 text-primary-cta" />
<h3 className="text-lg font-semibold mb-2">Text Us</h3>
<p className="text-gray-600 mb-4">Quick responses via SMS</p>
<a
href="sms:2397850423?body=Hi%20Caribbean%20Flair"
className="inline-block px-4 py-2 bg-primary-cta text-white rounded-lg hover:opacity-90 transition font-semibold"
>
Send a Text
</a>
</div>
{/* Facebook Link */}
<div className="bg-white p-6 rounded-lg shadow-md hover:shadow-lg transition text-center">
<Facebook className="w-12 h-12 mx-auto mb-4 text-primary-cta" />
<h3 className="text-lg font-semibold mb-2">Facebook</h3>
<p className="text-gray-600 mb-4">Follow and message us</p>
<a
href="https://facebook.com/caribbeanflair"
target="_blank"
rel="noopener noreferrer"
className="inline-block px-4 py-2 bg-primary-cta text-white rounded-lg hover:opacity-90 transition font-semibold"
>
Visit Page
</a>
</div>
{/* Live Chat */}
<div className="bg-white p-6 rounded-lg shadow-md hover:shadow-lg transition text-center">
<MessageCircle className="w-12 h-12 mx-auto mb-4 text-primary-cta" />
<h3 className="text-lg font-semibold mb-2">Live Chat</h3>
<p className="text-gray-600 mb-4">Chat with our support team</p>
<button
onClick={() => setShowLiveChat(!showLiveChat)}
className="inline-block px-4 py-2 bg-primary-cta text-white rounded-lg hover:opacity-90 transition font-semibold"
>
Open Chat
</button>
</div>
</div>
</div>
</div>
{/* Live Chat Widget */}
{showLiveChat && (
<div id="live-chat" data-section="live-chat" className="fixed bottom-6 right-6 w-96 bg-white rounded-lg shadow-2xl border border-gray-200 z-50 flex flex-col max-h-96">
<div className="bg-primary-cta text-white p-4 rounded-t-lg flex justify-between items-center">
<h3 className="font-semibold">Caribbean Flair Support</h3>
<button
onClick={() => setShowLiveChat(false)}
className="text-white hover:opacity-80 transition"
>
</button>
</div>
<div className="flex-1 overflow-y-auto p-4 space-y-3">
{chatMessages.length === 0 ? (
<div className="text-center text-gray-500 py-4">
<p className="mb-2">👋 Welcome to Caribbean Flair!</p>
<p className="text-sm">How can we assist you today?</p>
</div>
) : (
chatMessages.map((msg) => (
<div
key={msg.id}
className={`flex ${msg.sender === "user" ? "justify-end" : "justify-start"}`}
>
<div
className={`max-w-xs px-3 py-2 rounded-lg ${
msg.sender === "user"
? "bg-primary-cta text-white"
: "bg-gray-100 text-gray-800"
}`}
>
<p className="text-sm">{msg.text}</p>
</div>
</div>
))
)}
</div>
<div className="border-t p-3 flex gap-2">
<input
type="text"
value={chatInput}
onChange={(e) => setChatInput(e.target.value)}
onKeyPress={(e) => e.key === "Enter" && handleChatSend()}
placeholder="Type your message..."
className="flex-1 px-3 py-2 border border-gray-300 rounded-lg text-sm focus:outline-none focus:border-primary-cta"
/>
<button
onClick={handleChatSend}
className="px-3 py-2 bg-primary-cta text-white rounded-lg hover:opacity-90 transition"
>
Send
</button>
</div>
</div>
)}
{/* Contact Form Section */}
<div id="contact-form" data-section="contact-form">
<ContactSplit
tag="Get in Touch"
title="Send us a Message"
description="Fill out the form below and we'll get back to you as soon as possible with all the information you need."
background={{ variant: "glowing-orb" }}
useInvertedBackground={false}
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-dk53z92a.jpg"
imageAlt="Contact form - Caribbean Flair"
mediaAnimation="opacity"
mediaPosition="left"
inputPlaceholder="Enter your email"
buttonText="Send Message"
termsText="By sending this message, you agree to our Terms of Service and Privacy Policy."
onSubmit={(email) => {
console.log("Contact form submitted:", email);
alert("Thank you for contacting us! We'll be in touch soon.");
}} }}
/> />
</div> </div>
{/* Location & Hours Section */} <div id="contact-hero" data-section="contact-hero">
<div id="location-hours" data-section="location-hours">
<FeatureCardTen <FeatureCardTen
title="Visit Us Today" title="Get in Touch with Caribbean Flair"
description="Come experience authentic Caribbean flavors at our Lehigh Acres location. We're open daily until 9 PM with delivery available." description="Have questions about our menu, catering options, or special requests? Contact us directly. We're here to make your Caribbean dining experience unforgettable."
tag="Find Us" tag="We Love Hearing From You"
tagIcon={MapPin} tagIcon={Heart}
tagAnimation="slide-up" tagAnimation="slide-up"
buttons={[
{
text: "Call (239) 785-0423",
href: "tel:2397850423",
},
{
text: "Visit Us Today",
href: "/order",
},
]}
buttonAnimation="slide-up"
textboxLayout="default" textboxLayout="default"
animationType="slide-up" animationType="slide-up"
useInvertedBackground={true} useInvertedBackground={false}
features={[ features={[
{ {
id: "location-hours", title: "Location & Hours", description: id: "phone-contact",
"801 Leeland Heights Blvd W, Lehigh Acres, FL 33936. Open daily until 9 PM. Delivery available within service area.", media: { title: "Call Us Directly",
imageSrc: description: "Speak with our team for custom orders, catering, or any questions about our authentic Caribbean menu.",
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-y2tu4f81.jpg"}, media: {
imageSrc: "http://img.b2bpic.net/free-photo/side-view-smiley-man-getting-coffee_23-2149663609.jpg?_wi=4",
},
items: [ items: [
{ {
icon: MapPin, icon: Zap,
text: "Lehigh Acres, FL 33936"}, text: "(239) 785-0423",
},
{ {
icon: Clock, icon: Heart,
text: "Open Until 9 PM Daily"}, text: "Available until 9PM",
},
], ],
reverse: false, reverse: false,
}, },
@@ -295,10 +125,54 @@ export default function ContactPage() {
/> />
</div> </div>
{/* Footer */} <div id="contact-details" data-section="contact-details">
<FeatureCardTen
title="Find Us at Our Location"
description="Visit Caribbean Flair Island Jerk Grill at our Lehigh Acres location. We're a premium food truck dedicated to bringing authentic Jamaican island flavors to your community."
tag="Black & Women-Owned"
tagIcon={Heart}
tagAnimation="slide-up"
buttons={[
{
text: "Order Online Now",
href: "/order",
},
{
text: "View Full Menu",
href: "/menu",
},
]}
buttonAnimation="slide-up"
textboxLayout="default"
animationType="slide-up"
useInvertedBackground={true}
features={[
{
id: "location-details",
title: "Lehigh Acres, Florida",
description: "Experience premium Caribbean fusion at our convenient Lehigh Acres location. Fresh-grilled authentic island cuisine made with love and expertise.",
media: {
imageSrc: "http://img.b2bpic.net/free-photo/chef-cooking-kitchen-while-wearing-professional-attire_23-2151208291.jpg?_wi=8",
},
items: [
{
icon: Zap,
text: "801 Leeland Heights Blvd W",
},
{
icon: Heart,
text: "Daily Service Until 9PM",
},
],
reverse: true,
},
]}
/>
</div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterMedia <FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/chef-cooking-kitchen-while-wearing-professional-attire_23-2151208291.jpg?_wi=1" imageSrc="http://img.b2bpic.net/free-photo/chef-cooking-kitchen-while-wearing-professional-attire_23-2151208291.jpg?_wi=9"
imageAlt="Caribbean Flair Island Jerk Grill Trailer" imageAlt="Caribbean Flair Island Jerk Grill Trailer"
logoText="Caribbean Flair" logoText="Caribbean Flair"
copyrightText="© 2025 Caribbean Flair Island Jerk Grill | Black & Women-Owned | Lehigh Acres, FL" copyrightText="© 2025 Caribbean Flair Island Jerk Grill | Black & Women-Owned | Lehigh Acres, FL"

168
src/app/full-menu/page.tsx Normal file
View File

@@ -0,0 +1,168 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered";
import HeroSplit from "@/components/sections/hero/HeroSplit";
import ProductCardFour from "@/components/sections/product/ProductCardFour";
import FooterMedia from "@/components/sections/footer/FooterMedia";
import { Flame } from "lucide-react";
export default function FullMenuPage() {
const navItems = [
{ name: "Home", id: "home" },
{ name: "Menu", id: "menu" },
{ name: "About Us", id: "about" },
{ name: "Gallery", id: "gallery" },
{ name: "Reviews", id: "reviews" },
{ name: "Locations", id: "locations" },
];
const footerColumns = [
{
title: "Quick Links", items: [
{ label: "Home", href: "/" },
{ label: "Menu", href: "/menu" },
{ label: "Gallery", href: "/gallery" },
{ label: "Reviews", href: "/reviews" },
],
},
{
title: "Order & Contact", items: [
{ label: "Order Online", href: "/menu" },
{ label: "Call Us", href: "tel:2397850423" },
{ label: "Locations & Hours", href: "/locations" },
{ label: "Contact", href: "/contact" },
],
},
{
title: "Connect With Us", items: [
{ label: "Facebook", href: "https://www.facebook.com/share/1CckZyvyXX/?mibextid=wwXIfr" },
{ label: "About Us", href: "/about" },
{ label: "Privacy Policy", href: "/" },
{ label: "Terms of Service", href: "/" },
],
},
{
title: "Located In", items: [
{ label: "801 Leeland Heights Blvd W", href: "/" },
{ label: "Lehigh Acres, FL 33936", href: "/" },
{ label: "Open Until 9PM", href: "/" },
{ label: "Delivery Available", href: "/" },
],
},
];
const allMenuItems = [
{
id: "jerk-chicken", name: "Jerk Chicken Platter", price: "$15.95", variant: "Full Rack", imageSrc: "http://img.b2bpic.net/free-photo/from-shrimps-batter-with-red-rice-greens-white-plate_176474-2654.jpg?_wi=1", imageAlt: "Jerk chicken grilled on foil with spices"},
{
id: "curry-goat", name: "Curry Goat Platter", price: "$17.95", variant: "Tender & Aromatic", imageSrc: "http://img.b2bpic.net/free-photo/rice-dish-with-sauce-near-spices_23-2147894777.jpg?_wi=1", imageAlt: "Curry goat served over rice and peas"},
{
id: "jerk-pork", name: "Jerk Pork Platter", price: "$16.95", variant: "Juicy & Spiced", imageSrc: "http://img.b2bpic.net/free-photo/hot-spicy-grilled-pork-salad-with-berry-rice_1339-6325.jpg?_wi=1", imageAlt: "Jerk pork platter with rice"},
{
id: "escovitch-fish", name: "Escovitch Fish", price: "$18.95", variant: "Island Tradition", imageSrc: "http://img.b2bpic.net/free-photo/grilled-chicken-served-with-aubergine-lemon-parsley_140725-1554.jpg?_wi=1", imageAlt: "Escovitch fish with pickled vegetables"},
{
id: "curry-shrimp", name: "Curry Shrimp Platter", price: "$16.95", variant: "Fresh Daily", imageSrc: "http://img.b2bpic.net/free-photo/side-view-fried-eggs-with-shrimps-vegetables-pan-served-with-sauces_140725-11952.jpg?_wi=1", imageAlt: "Curry shrimp over rice and peas"},
{
id: "conch-fritters", name: "Conch Fritters Combo", price: "$12.95", variant: "6 Pieces", imageSrc: "http://img.b2bpic.net/free-photo/deep-fried-samosas-rustic-crockery-plate-generated-by-ai_188544-41080.jpg?_wi=1", imageAlt: "Golden conch fritters with dipping sauce"},
{
id: "jerk-chicken-sandwich", name: "Jerk Chicken Sandwich", price: "$11.95", variant: "Fresh Bread", imageSrc: "http://img.b2bpic.net/free-photo/from-shrimps-batter-with-red-rice-greens-white-plate_176474-2654.jpg?_wi=1", imageAlt: "Jerk chicken sandwich with slaw"},
{
id: "curry-goat-sandwich", name: "Curry Goat Sandwich", price: "$12.95", variant: "Hearty & Flavorful", imageSrc: "http://img.b2bpic.net/free-photo/rice-dish-with-sauce-near-spices_23-2147894777.jpg?_wi=1", imageAlt: "Curry goat sandwich"},
{
id: "pulled-pork-sandwich", name: "Pulled Pork Sandwich", price: "$11.95", variant: "Smoky & Tender", imageSrc: "http://img.b2bpic.net/free-photo/hot-spicy-grilled-pork-salad-with-berry-rice_1339-6325.jpg?_wi=1", imageAlt: "Pulled pork sandwich"},
{
id: "rice-peas", name: "Rice & Peas", price: "$4.95", variant: "Classic Caribbean", imageSrc: "http://img.b2bpic.net/free-photo/rice-dish-with-sauce-near-spices_23-2147894777.jpg?_wi=1", imageAlt: "Rice and peas side"},
{
id: "mac-cheese", name: "Creamy Mac & Cheese", price: "$5.95", variant: "Comfort Classic", imageSrc: "http://img.b2bpic.net/free-photo/delicious-food-presentation_23-2151914003.jpg?_wi=1", imageAlt: "Creamy mac and cheese"},
{
id: "festival", name: "Festival Dumplings", price: "$4.95", variant: "Golden & Crispy", imageSrc: "http://img.b2bpic.net/free-photo/deep-fried-samosas-rustic-crockery-plate-generated-by-ai_188544-41080.jpg?_wi=1", imageAlt: "Festival dumplings"},
{
id: "sorrel-punch", name: "Sorrel Punch", price: "$3.95", variant: "16 oz", imageSrc: "http://img.b2bpic.net/free-photo/side-view-smiley-man-getting-coffee_23-2149663609.jpg?_wi=1", imageAlt: "Tropical sorrel punch"},
{
id: "ginger-beer", name: "Island Ginger Beer", price: "$3.95", variant: "Refreshing", imageSrc: "http://img.b2bpic.net/free-photo/side-view-smiley-man-getting-coffee_23-2149663609.jpg?_wi=1", imageAlt: "Ginger beer"},
{
id: "combo-1", name: "Island Feast Combo", price: "$22.95", variant: "Jerk Chicken + Sides", imageSrc: "http://img.b2bpic.net/free-photo/from-shrimps-batter-with-red-rice-greens-white-plate_176474-2654.jpg?_wi=1", imageAlt: "Island feast combo"},
{
id: "seafood-special", name: "Seafood Special", price: "$24.95", variant: "Curry Shrimp + Sides", imageSrc: "http://img.b2bpic.net/free-photo/side-view-fried-eggs-with-shrimps-vegetables-pan-served-with-sauces_140725-11952.jpg?_wi=1", imageAlt: "Seafood special"},
];
return (
<ThemeProvider
defaultButtonVariant="bounce-effect"
defaultTextAnimation="entrance-slide"
borderRadius="pill"
contentWidth="compact"
sizing="medium"
background="none"
cardStyle="inset"
primaryButtonStyle="radial-glow"
secondaryButtonStyle="glass"
headingFontWeight="medium"
>
{/* Navbar */}
<div id="nav" data-section="nav">
<NavbarStyleCentered
brandName="Caribbean Flair"
navItems={navItems}
button={{
text: "Order Now", href: "/menu"}}
/>
</div>
{/* Hero Section */}
<div id="hero" data-section="hero">
<HeroSplit
title="Complete Island Menu"
description="Explore our full selection of authentic Caribbean dishes. Every item is crafted fresh and packed with island soul."
tag="Exclusive"
tagIcon={Flame}
tagAnimation="slide-up"
background={{ variant: "glowing-orb" }}
buttons={[
{
text: "Call to Order", href: "tel:2397850423"},
]}
buttonAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-vector/summer-label-collectio_23-2148160410.jpg?_wi=3"
imageAlt="Caribbean Flair Full Menu"
mediaAnimation="opacity"
imagePosition="right"
ariaLabel="Full menu page hero section"
/>
</div>
{/* Full Menu Section */}
<div id="full-menu" data-section="full-menu">
<ProductCardFour
title="All Menu Items"
description="Discover our complete selection of authentic Caribbean dishes, sides, drinks, and specials. All items are fresh and made to order."
tag="Complete Selection"
tagIcon={Flame}
tagAnimation="slide-up"
buttons={[
{
text: "Order Now", href: "/menu"},
]}
buttonAnimation="slide-up"
textboxLayout="default"
gridVariant="three-columns-all-equal-width"
animationType="slide-up"
useInvertedBackground={false}
products={allMenuItems}
/>
</div>
{/* Footer */}
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/chef-cooking-kitchen-while-wearing-professional-attire_23-2151208291.jpg?_wi=1"
imageAlt="Caribbean Flair Island Jerk Grill Trailer"
logoText="Caribbean Flair"
copyrightText="© 2025 Caribbean Flair Island Jerk Grill | Black & Women-Owned | Lehigh Acres, FL"
columns={footerColumns}
/>
</div>
</ThemeProvider>
);
}

View File

@@ -1,12 +1,19 @@
"use client"; "use client";
import Link from "next/link";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered"; import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered";
import HeroSplit from "@/components/sections/hero/HeroSplit"; import HeroSplit from "@/components/sections/hero/HeroSplit";
import BlogCardThree from "@/components/sections/blog/BlogCardThree"; import BlogCardThree from "@/components/sections/blog/BlogCardThree";
import FeatureCardTen from "@/components/sections/feature/FeatureCardTen"; import FeatureCardTen from "@/components/sections/feature/FeatureCardTen";
import FooterMedia from "@/components/sections/footer/FooterMedia"; import FooterMedia from "@/components/sections/footer/FooterMedia";
import { Award, Camera, Zap, TrendingUp, Facebook } from "lucide-react"; import {
Award,
Camera,
Zap,
TrendingUp,
} from "lucide-react";
import { useState } from "react";
export default function GalleryPage() { export default function GalleryPage() {
const navItems = [ const navItems = [
@@ -18,41 +25,87 @@ export default function GalleryPage() {
{ name: "Locations", id: "locations" }, { name: "Locations", id: "locations" },
]; ];
const [selectedImage, setSelectedImage] = useState<string | null>(null);
const footerColumns = [ const footerColumns = [
{ {
title: "Quick Links", items: [ title: "Quick Links", items: [
{ label: "Home", href: "/" }, { label: "Home", href: "/" },
{ label: "Menu", href: "/menu" }, { label: "Menu", href: "/menu" },
{ label: "Gallery", href: "/gallery" }, { label: "Gallery", href: "/gallery" },
{ label: "Reviews", href: "/reviews" }, { label: "Reviews", href: "/" },
], ],
}, },
{ {
title: "Order & Contact", items: [ title: "Order & Contact", items: [
{ label: "Order Online", href: "/menu" }, { label: "Order Online", href: "/menu" },
{ label: "Call Us", href: "tel:2397850423" }, { label: "Call Us", href: "tel:2397850423" },
{ label: "Locations & Hours", href: "/locations" }, { label: "Locations & Hours", href: "/" },
{ label: "Contact", href: "/" }, { label: "Contact", href: "/" },
], ],
}, },
{ {
title: "Connect With Us", items: [ title: "Connect With Us", items: [
{ label: "Facebook", href: "https://facebook.com/caribbeanflair" }, { label: "Facebook", href: "https://facebook.com/caribbeanflair" },
{ label: "About Us", href: "/" }, { label: "About Us", href: "/about" },
{ label: "Privacy Policy", href: "/" }, { label: "Privacy Policy", href: "/" },
{ label: "Terms of Service", href: "/" }, { label: "Terms of Service", href: "/" },
], ],
}, },
{ {
title: "Located In", items: [ title: "Located In", items: [
{ label: "801 Leeland Heights Blvd W", href: "/locations" }, { label: "801 Leeland Heights Blvd W", href: "/" },
{ label: "Lehigh Acres, FL 33936", href: "/locations" }, { label: "Lehigh Acres, FL 33936", href: "/" },
{ label: "Open Until 9PM", href: "/locations" }, { label: "Open Until 9PM", href: "/" },
{ label: "Delivery Available", href: "/" }, { label: "Delivery Available", href: "/" },
], ],
}, },
]; ];
const galleryImages = [
{
id: "user-upload-1", category: "Dishes", title: "Caribbean Delight", excerpt:
"Stunning presentation of our signature Caribbean feast with vibrant colors and authentic flavors.", imageSrc:
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-2gw0wih3.jpg?_wi=1", imageAlt: "User uploaded Caribbean dish", authorName: "Caribbean Flair Community", authorAvatar:
"http://img.b2bpic.net/free-photo/handsome-business-man-wearing-suit-looking-camera-smiling-broadly-with-happy-face-standing-white-background_141793-54115.jpg", date: "Community Upload"},
{
id: "user-upload-2", category: "Dishes", title: "Island Feast Experience", excerpt:
"A mouth-watering capture of our authentic Jamaican cuisine in all its glory.", imageSrc:
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-wha24yfi.jpg?_wi=1", imageAlt: "User uploaded island feast", authorName: "Caribbean Flair Community", authorAvatar:
"http://img.b2bpic.net/free-photo/close-up-businessman-with-tie_1098-2867.jpg", date: "Community Upload"},
{
id: "user-upload-3", category: "Grill", title: "Fresh Off The Grill", excerpt:
"Behind-the-scenes action showing our expert grill masters at work with authentic technique.", imageSrc:
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-qcfdeh7f.jpg?_wi=1", imageAlt: "Grilling action", authorName: "Caribbean Flair Community", authorAvatar:
"http://img.b2bpic.net/free-photo/young-male-holding-hands-pockets-white-shirt-jacket-looking-elegant-front-view_176474-99655.jpg", date: "Community Upload"},
{
id: "user-upload-4", category: "Dishes", title: "Platter Perfection", excerpt:
"A beautifully plated Caribbean meal showcasing the quality and care we put into every order.", imageSrc:
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-dk53z92a.jpg?_wi=1", imageAlt: "Platter presentation", authorName: "Caribbean Flair Community", authorAvatar:
"http://img.b2bpic.net/free-photo/pleased-young-brunette-caucasian-girl-looks-camera_141793-103873.jpg", date: "Community Upload"},
{
id: "user-upload-5", category: "Community", title: "Community Gathering", excerpt:
"Caribbean Flair bringing people together through authentic flavors and shared island experiences.", imageSrc:
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-y2tu4f81.jpg?_wi=1", imageAlt: "Community gathering", authorName: "Caribbean Flair Community", authorAvatar:
"http://img.b2bpic.net/free-photo/woman-with-thumbs-up_1149-1163.jpg", date: "Community Upload"},
{
id: "gallery-1", category: "Main Dishes", title: "Jerk Pork Did Not Disappoint", excerpt:
"Perfectly seasoned and grilled, bursting with island spices and authentic Jamaican flavor.", imageSrc:
"http://img.b2bpic.net/free-photo/hot-spicy-grilled-pork-salad-with-berry-rice_1339-6325.jpg?_wi=1", imageAlt: "Jerk pork platter with rice and tropical slaw", authorName: "Caribbean Flair Team", authorAvatar:
"http://img.b2bpic.net/free-photo/handsome-business-man-wearing-suit-looking-camera-smiling-broadly-with-happy-face-standing-white-background_141793-54115.jpg", date: "Fresh Daily"},
{
id: "gallery-2", category: "Featured", title: "Curry Goat - A Community Favorite", excerpt:
"Tender, aromatic, and cooked to perfection. Every bite transports you straight to Jamaica.", imageSrc:
"http://img.b2bpic.net/free-photo/rice-dish-with-sauce-near-spices_23-2147894777.jpg?_wi=1", imageAlt: "Rich curry goat served over rice and peas", authorName: "Caribbean Flair Team", authorAvatar:
"http://img.b2bpic.net/free-vector/colorful-avatars_23-2147502919.jpg", date: "Popular Choice"},
{
id: "gallery-3", category: "Sides", title: "Festival Dumplings & Tropical Slaw", excerpt:
"Crispy, golden festival dumplings paired with our signature tropical slaw for the perfect complement.", imageSrc:
"http://img.b2bpic.net/free-photo/deep-fried-samosas-rustic-crockery-plate-generated-by-ai_188544-41080.jpg?_wi=1", imageAlt:
"Festival dumplings with tropical slaw and mac and cheese", authorName: "Caribbean Flair Team", authorAvatar:
"http://img.b2bpic.net/free-photo/close-up-businessman-with-tie_1098-2867.jpg", date: "Must Try"},
];
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="bounce-effect" defaultButtonVariant="bounce-effect"
@@ -79,83 +132,67 @@ export default function GalleryPage() {
{/* Hero Section */} {/* Hero Section */}
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroSplit <HeroSplit
title="Gallery - Visual Island Journey" title="Island Feast Gallery"
description="Explore our vibrant collection of authentic Caribbean dishes, fresh ingredients, and behind-the-scenes moments from the grill." description="Explore our vibrant collection of authentic Caribbean dishes, fresh ingredients, and behind-the-scenes moments from the grill. See what our community is enjoying!"
tag="Visual Feast" tag="Visual Journey"
tagIcon={Camera} tagIcon={Camera}
tagAnimation="slide-up" tagAnimation="slide-up"
background={{ variant: "glowing-orb" }} background={{ variant: "glowing-orb" }}
buttons={[ buttons={[
{ {
text: "Order Online Now", href: "/menu"}, text: "Order Now", href: "/menu"},
]} ]}
buttonAnimation="slide-up" buttonAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-photo/friends-having-nice-barbeque-together_23-2149271905.jpg?_wi=1" imageSrc="http://img.b2bpic.net/free-vector/summer-label-collectio_23-2148160410.jpg?_wi=2"
imageAlt="Caribbean Flair Island Jerk Grill Trailer" imageAlt="Caribbean Flair Gallery"
mediaAnimation="opacity" mediaAnimation="opacity"
imagePosition="right" imagePosition="right"
ariaLabel="Gallery hero section showcasing Caribbean Flair dishes" ariaLabel="Gallery page hero section"
/> />
</div> </div>
{/* Full Gallery Section with Tags and Horizontal Scrolling */} {/* Lightbox Modal */}
<div id="gallery-items" data-section="gallery-items"> {selectedImage && (
<div
className="fixed inset-0 bg-black/80 flex items-center justify-center z-50 p-4"
onClick={() => setSelectedImage(null)}
>
<div className="max-w-4xl w-full" onClick={(e) => e.stopPropagation()}>
<img
src={selectedImage}
alt="Gallery lightbox"
className="w-full h-auto rounded-lg"
/>
</div>
</div>
)}
{/* Featured Gallery Section */}
<div id="featured-gallery" data-section="featured-gallery">
<BlogCardThree <BlogCardThree
title="Complete Island Feast Gallery" title="Island Feast Gallery"
description="Browse our complete collection of authentic Caribbean cuisine with detailed photography and descriptions." description="Discover the artistry, authenticity, and passion behind every Caribbean Flair creation. Click any image to view in full detail."
tag="Tagged Gallery" tag="Visual Journey"
tagIcon={Camera} tagIcon={Camera}
tagAnimation="slide-up" tagAnimation="slide-up"
textboxLayout="default" textboxLayout="default"
animationType="slide-up" animationType="slide-up"
useInvertedBackground={false} useInvertedBackground={false}
blogs={[ blogs={galleryImages}
{
id: "jerk-pork", category: "Main Dishes | Grilled", title: "Jerk Pork Did Not Disappoint", excerpt:
"Perfectly seasoned and grilled, bursting with island spices and authentic Jamaican flavor. Our signature jerk pork is marinated for hours and grilled fresh to order.", imageSrc:
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-2gw0wih3.jpg", imageAlt: "Jerk pork platter with rice and tropical slaw", authorName: "Caribbean Flair Team", authorAvatar:
"http://img.b2bpic.net/free-photo/handsome-business-man-wearing-suit-looking-camera-smiling-broadly-with-happy-face-standing-white-background_141793-54115.jpg", date: "Fresh Daily"},
{
id: "curry-goat", category: "Main Dishes | Featured", title: "Curry Goat - A Community Favorite", excerpt:
"Tender, aromatic, and cooked to perfection. Every bite transports you straight to Jamaica. Our signature curry goat is slow-cooked with Caribbean spices.", imageSrc:
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-wha24yfi.jpg", imageAlt: "Rich curry goat served over rice and peas", authorName: "Caribbean Flair Team", authorAvatar:
"http://img.b2bpic.net/free-vector/colorful-avatars_23-2147502919.jpg", date: "Popular Choice"},
{
id: "festival-sides", category: "Sides | Favorites", title: "Festival Dumplings & Tropical Slaw", excerpt:
"Crispy, golden festival dumplings paired with our signature tropical slaw for the perfect complement. Handmade daily and fried to golden perfection.", imageSrc:
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-qcfdeh7f.jpg", imageAlt:
"Festival dumplings with tropical slaw and mac and cheese", authorName: "Caribbean Flair Team", authorAvatar:
"http://img.b2bpic.net/free-photo/close-up-businessman-with-tie_1098-2867.jpg", date: "Must Try"},
{
id: "escovitch-fish", category: "Seafood | Grilled", title: "Escovitch Fish - Island Tradition", excerpt:
"Fresh fish prepared in authentic Jamaican style with pickled vegetables and bold island flavors. A traditional Caribbean preparation that brings island heritage to your plate.", imageSrc:
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-dk53z92a.jpg", imageAlt: "Escovitch fish with pickled vegetables and lime", authorName: "Caribbean Flair Team", authorAvatar:
"http://img.b2bpic.net/free-photo/young-male-holding-hands-pockets-white-shirt-jacket-looking-elegant-front-view_176474-99655.jpg", date: "Customer Favorite"},
{
id: "mac-cheese", category: "Sides | Comfort Food", title: "Creamy Island Mac & Cheese", excerpt:
"Smooth, rich, and soul-warming comfort food that pairs perfectly with any of our signature mains. Made with Caribbean spices for an island twist on a classic.", imageSrc:
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-y2tu4f81.jpg", imageAlt: "Creamy mac and cheese side dish", authorName: "Caribbean Flair Team", authorAvatar:
"http://img.b2bpic.net/free-photo/pleased-young-brunette-caucasian-girl-looks-camera_141793-103873.jpg", date: "Comfort Classic"},
{
id: "grill-action", category: "Behind the Scenes | Live Action", title: "Fresh Off The Grill - Live Action", excerpt:
"Watch our expert grill masters prepare your meal with passion, precision, and authentic Caribbean technique. See the care and expertise that goes into every dish.", imageSrc:
"http://img.b2bpic.net/free-photo/friends-having-nice-barbeque-together_23-2149271905.jpg?_wi=1", imageAlt: "Chef grilling jerk meats on foil with smoke", authorName: "Caribbean Flair Team", authorAvatar:
"http://img.b2bpic.net/free-photo/handsome-business-man-wearing-suit-looking-camera-smiling-broadly-with-happy-face-standing-white-background_141793-54115.jpg", date: "Daily Special"},
]}
/> />
</div> </div>
{/* Call to Action Section */} {/* Final CTA Section */}
<div id="gallery-cta" data-section="gallery-cta"> <div id="final-cta" data-section="final-cta">
<FeatureCardTen <FeatureCardTen
title="Ready to Taste What You See?" title="See It. Taste It. Experience It."
description="Every image represents authentic Caribbean flavor and quality that you can experience today. Order now and discover your new island favorite." description="Every image tells a story of authentic Caribbean flavors, community pride, and culinary excellence. Order now and create your own memories."
tag="Order Now" tag="Ready to Order"
tagIcon={Zap} tagIcon={Zap}
tagAnimation="slide-up" tagAnimation="slide-up"
buttons={[ buttons={[
{ {
text: "Order Online Now", href: "/menu"}, text: "Order Your Meal Now", href: "/menu"},
{ {
text: "Call (239) 785-0423", href: "tel:2397850423"}, text: "Call (239) 785-0423", href: "tel:2397850423"},
]} ]}
@@ -165,17 +202,17 @@ export default function GalleryPage() {
useInvertedBackground={true} useInvertedBackground={true}
features={[ features={[
{ {
id: "quality-assurance", title: "Gallery-to-Table Quality", description: id: "visual-quality", title: "Premium Quality", description:
"Every dish photographed is made fresh to order with the same quality and passion you see here.", media: { "Every image showcases the premium quality, fresh ingredients, and authentic Caribbean technique behind our food.", media: {
imageSrc: imageSrc:
"http://img.b2bpic.net/free-photo/side-view-smiley-man-getting-coffee_23-2149663609.jpg?_wi=1"}, "http://img.b2bpic.net/free-photo/side-view-smiley-man-getting-coffee_23-2149663609.jpg?_wi=1"},
items: [ items: [
{ {
icon: Zap, icon: Zap,
text: "Ready in 15 minutes"}, text: "Fresh Daily"},
{ {
icon: TrendingUp, icon: TrendingUp,
text: "Peak fresh quality"}, text: "Peak Quality"},
], ],
reverse: false, reverse: false,
}, },

View File

@@ -2,11 +2,9 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered"; import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered";
import HeroSplit from "@/components/sections/hero/HeroSplit";
import FeatureBento from "@/components/sections/feature/FeatureBento"; import FeatureBento from "@/components/sections/feature/FeatureBento";
import FeatureCardTen from "@/components/sections/feature/FeatureCardTen";
import FooterMedia from "@/components/sections/footer/FooterMedia"; import FooterMedia from "@/components/sections/footer/FooterMedia";
import { MapPin, Clock, Phone, Zap, TrendingUp, CheckCircle, AlertCircle, BarChart3 } from "lucide-react"; import { MapPin, Clock, TrendingUp } from "lucide-react";
export default function LocationsPage() { export default function LocationsPage() {
const navItems = [ const navItems = [
@@ -16,6 +14,7 @@ export default function LocationsPage() {
{ name: "Gallery", id: "gallery" }, { name: "Gallery", id: "gallery" },
{ name: "Reviews", id: "reviews" }, { name: "Reviews", id: "reviews" },
{ name: "Locations", id: "locations" }, { name: "Locations", id: "locations" },
{ name: "Order Online", id: "order" },
]; ];
const footerColumns = [ const footerColumns = [
@@ -23,13 +22,13 @@ export default function LocationsPage() {
title: "Quick Links", items: [ title: "Quick Links", items: [
{ label: "Home", href: "/" }, { label: "Home", href: "/" },
{ label: "Menu", href: "/menu" }, { label: "Menu", href: "/menu" },
{ label: "Gallery", href: "/gallery" }, { label: "Gallery", href: "/" },
{ label: "Reviews", href: "/reviews" }, { label: "Reviews", href: "/" },
], ],
}, },
{ {
title: "Order & Contact", items: [ title: "Order & Contact", items: [
{ label: "Order Online", href: "/menu" }, { label: "Order Online", href: "/order" },
{ label: "Call Us", href: "tel:2397850423" }, { label: "Call Us", href: "tel:2397850423" },
{ label: "Locations & Hours", href: "/locations" }, { label: "Locations & Hours", href: "/locations" },
{ label: "Contact", href: "/" }, { label: "Contact", href: "/" },
@@ -45,9 +44,9 @@ export default function LocationsPage() {
}, },
{ {
title: "Located In", items: [ title: "Located In", items: [
{ label: "801 Leeland Heights Blvd W", href: "/locations" }, { label: "801 Leeland Heights Blvd W", href: "/" },
{ label: "Lehigh Acres, FL 33936", href: "/locations" }, { label: "Lehigh Acres, FL 33936", href: "/" },
{ label: "Open Until 9PM", href: "/locations" }, { label: "Open Until 9PM", href: "/" },
{ label: "Delivery Available", href: "/" }, { label: "Delivery Available", href: "/" },
], ],
}, },
@@ -72,43 +71,16 @@ export default function LocationsPage() {
brandName="Caribbean Flair" brandName="Caribbean Flair"
navItems={navItems} navItems={navItems}
button={{ button={{
text: "Order Now", href: "/menu" text: "Order Now", href: "/order"}}
}}
/> />
</div> </div>
{/* Hero Section */} {/* Locations & Hours Section */}
<div id="hero" data-section="hero"> <div id="locations-hours" data-section="locations-hours">
<HeroSplit
title="Visit Caribbean Flair - Locations & Hours"
description="Find us in Lehigh Acres, FL. Check our hours, get directions, and see real-time information about wait times and popular hours."
tag="Open Now"
tagIcon={CheckCircle}
tagAnimation="slide-up"
background={{ variant: "glowing-orb" }}
buttons={[
{
text: "Get Directions", href: "https://maps.google.com/?q=801+Leeland+Heights+Blvd+W+Lehigh+Acres+FL+33936"
},
{
text: "Call (239) 785-0423", href: "tel:2397850423"
},
]}
buttonAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-photo/chef-cooking-kitchen-while-wearing-professional-attire_23-2151208291.jpg?_wi=1"
imageAlt="Caribbean Flair Island Jerk Grill Trailer Location"
mediaAnimation="opacity"
imagePosition="right"
ariaLabel="Locations and hours hero section for Caribbean Flair"
/>
</div>
{/* Location Details with Map and Info */}
<div id="location-details" data-section="location-details">
<FeatureBento <FeatureBento
title="Find Us Here" title="Visit Us at Caribbean Flair"
description="Caribbean Flair Island Jerk Grill is located in the heart of Lehigh Acres. We're easy to find and ready to serve you authentic Caribbean flavors." description="Find us at our convenient Lehigh Acres location. Check our hours, visit our embedded map, and see when we're busiest."
tag="Primary Location" tag="Open Daily"
tagIcon={MapPin} tagIcon={MapPin}
tagAnimation="slide-up" tagAnimation="slide-up"
textboxLayout="default" textboxLayout="default"
@@ -116,66 +88,18 @@ export default function LocationsPage() {
useInvertedBackground={false} useInvertedBackground={false}
features={[ features={[
{ {
title: "Address", description: "801 Leeland Heights Blvd W, Lehigh Acres, FL 33936", bentoComponent: "map" title: "Location & Hours", description:
}, "801 Leeland Heights Blvd W, Lehigh Acres, FL 33936 | Open 11am - 9pm Daily", button: {
text: "Get Directions", href: "https://maps.google.com/?q=801+Leeland+Heights+Blvd+W+Lehigh+Acres+FL+33936"},
bentoComponent: "map"},
{ {
title: "Hours of Operation", description: "Open daily. See schedule below.", bentoComponent: "icon-info-cards", items: [ title: "Open Status", description: "Currently Open • Closes at 9:00 PM • Peak Hours: 12-1 PM & 5-7 PM", bentoComponent: "icon-info-cards", items: [
{ icon: Clock, label: "Monday-Friday", value: "11 AM - 9 PM" }, { icon: Clock, label: "Status", value: "Open Now" },
{ icon: Clock, label: "Saturday", value: "12 PM - 10 PM" }, { icon: TrendingUp, label: "Busy Level", value: "Moderate" },
{ icon: Clock, label: "Sunday", value: "12 PM - 9 PM" },
{ icon: AlertCircle, label: "Holidays", value: "Call Ahead" },
], ],
}, },
{ {
title: "Popular Times", description: "Peak times for Caribbean Flair dining.", bentoComponent: "timeline", items: [ title: "Popular Times", description: "Visit during off-peak hours for shorter wait times.", bentoComponent: "line-chart"},
{ label: "Lunch Rush", detail: "12 PM - 1:30 PM" },
{ label: "Afternoon Slow", detail: "2 PM - 4:30 PM" },
{ label: "Dinner Peak", detail: "6 PM - 8 PM" },
],
completedLabel: "Current Time"},
],
]}
/>
</div>
{/* Contact Information and Directions */}
<div id="contact-info" data-section="contact-info">
<FeatureCardTen
title="Get In Touch - We're Ready to Serve"
description="Whether you're ordering ahead, looking for directions, or have questions about our menu—reach out! We're here to provide the best Caribbean Flair experience."
tag="Contact Us"
tagIcon={Phone}
tagAnimation="slide-up"
buttons={[
{
text: "Call (239) 785-0423", href: "tel:2397850423"
},
{
text: "Get Directions", href: "https://maps.google.com/?q=801+Leeland+Heights+Blvd+W+Lehigh+Acres+FL+33936"
},
]}
buttonAnimation="slide-up"
textboxLayout="default"
animationType="slide-up"
useInvertedBackground={true}
features={[
{
id: "service-info", title: "How to Order", description: "Visit us in person, call ahead for pickup, or order online through our website. We offer delivery and catering for special events.", media: {
imageSrc: "http://img.b2bpic.net/free-photo/side-view-smiley-man-getting-coffee_23-2149663609.jpg?_wi=1"
},
items: [
{
icon: CheckCircle,
text: "On-Site Ordering"},
{
icon: Phone,
text: "Phone Orders"},
{
icon: TrendingUp,
text: "Online Ordering"},
],
reverse: false,
},
]} ]}
/> />
</div> </div>

View File

@@ -3,22 +3,51 @@
import Link from "next/link"; import Link from "next/link";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered"; import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered";
import HeroSplit from "@/components/sections/hero/HeroSplit";
import ProductCardFour from "@/components/sections/product/ProductCardFour"; import ProductCardFour from "@/components/sections/product/ProductCardFour";
import FooterMedia from "@/components/sections/footer/FooterMedia"; import FooterMedia from "@/components/sections/footer/FooterMedia";
import { Award, Zap } from "lucide-react"; import {
import { useState } from "react"; Award,
Flame,
Phone,
ShoppingCart,
MapPin,
Clock,
Star,
Heart,
Zap,
TrendingUp,
Facebook,
} from "lucide-react";
import { useState, useEffect } from "react";
export default function MenuPage() { export default function MenuPage() {
const [activeCategory, setActiveCategory] = useState("mains"); const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);
const [isDesktopButtonsVisible, setIsDesktopButtonsVisible] = useState(true);
const [showCookiePreferences, setShowCookiePreferences] = useState(false);
const [cookiesAccepted, setCookiesAccepted] = useState(false);
useEffect(() => {
const cookieConsent = localStorage.getItem("cookie-consent");
if (!cookieConsent) {
setShowCookiePreferences(true);
} else {
setCookiesAccepted(true);
}
}, []);
const handleCookieAccept = () => {
localStorage.setItem("cookie-consent", "accepted");
setCookiesAccepted(true);
setShowCookiePreferences(false);
};
const navItems = [ const navItems = [
{ name: "Home", id: "home" }, { name: "Home", id: "home" },
{ name: "Menu", id: "menu" }, { name: "Menu", id: "signature-dishes" },
{ name: "About Us", id: "about" }, { name: "About Us", id: "owners-spotlight" },
{ name: "Gallery", id: "gallery" }, { name: "Gallery", id: "featured-gallery" },
{ name: "Reviews", id: "reviews" }, { name: "Reviews", id: "testimonials" },
{ name: "Locations", id: "locations" }, { name: "Locations", id: "footer" },
]; ];
const footerColumns = [ const footerColumns = [
@@ -26,86 +55,35 @@ export default function MenuPage() {
title: "Quick Links", items: [ title: "Quick Links", items: [
{ label: "Home", href: "/" }, { label: "Home", href: "/" },
{ label: "Menu", href: "/menu" }, { label: "Menu", href: "/menu" },
{ label: "Gallery", href: "/" }, { label: "Gallery", href: "/#featured-gallery" },
{ label: "Reviews", href: "/" }, { label: "Reviews", href: "/#testimonials" },
], ],
}, },
{ {
title: "Order & Contact", items: [ title: "Order & Contact", items: [
{ label: "Order Online", href: "/" }, { label: "Order Online", href: "/menu" },
{ label: "Call Us", href: "tel:2397850423" }, { label: "Call Us", href: "tel:2397850423" },
{ label: "Locations & Hours", href: "/" }, { label: "Locations & Hours", href: "/#footer" },
{ label: "Contact", href: "/" }, { label: "Contact", href: "/#footer" },
], ],
}, },
{ {
title: "Connect With Us", items: [ title: "Connect With Us", items: [
{ label: "Facebook", href: "https://facebook.com/caribbeanflair" }, { label: "Facebook", href: "https://www.facebook.com/share/1CckZyvyXX/?mibextid=wwXIfr" },
{ label: "About Us", href: "/about" }, { label: "Privacy Policy", href: "#" },
{ label: "Privacy Policy", href: "/" }, { label: "Terms of Service", href: "#" },
{ label: "Terms of Service", href: "/" },
], ],
}, },
{ {
title: "Located In", items: [ title: "Located In", items: [
{ label: "801 Leeland Heights Blvd W", href: "/" }, { label: "801 Leeland Heights Blvd W", href: "#" },
{ label: "Lehigh Acres, FL 33936", href: "/" }, { label: "Lehigh Acres, FL 33936", href: "#" },
{ label: "Open Until 9PM", href: "/" }, { label: "Open Until 9PM", href: "#" },
{ label: "Delivery Available", href: "/" }, { label: "Delivery Available", href: "#" },
], ],
}, },
]; ];
const menuItems = {
mains: [
{
id: "jerk-chicken", name: "Jerk Chicken Platter", price: "$15.95", variant: "Full Rack", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-2gw0wih3.jpg", imageAlt: "Jerk chicken platter"},
{
id: "curry-goat", name: "Curry Goat Platter", price: "$17.95", variant: "Premium Cut", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-wha24yfi.jpg", imageAlt: "Curry goat platter"},
{
id: "jerk-pork", name: "Jerk Pork Platter", price: "$16.95", variant: "Tender Cut", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-qcfdeh7f.jpg", imageAlt: "Jerk pork platter"},
{
id: "escovitch-fish", name: "Escovitch Fish", price: "$18.95", variant: "Fresh Daily", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-dk53z92a.jpg", imageAlt: "Escovitch fish"},
],
sandwiches: [
{
id: "jerk-chicken-sandwich", name: "Jerk Chicken Sandwich", price: "$11.95", variant: "On Coco Bread", imageSrc: "http://img.b2bpic.net/free-photo/side-view-fried-eggs-with-shrimps-vegetables-pan-served-with-sauces_140725-11952.jpg?_wi=1", imageAlt: "Jerk chicken sandwich"},
{
id: "curry-shrimp-sandwich", name: "Curry Shrimp Sandwich", price: "$12.95", variant: "Loaded", imageSrc: "http://img.b2bpic.net/free-photo/from-shrimps-batter-with-red-rice-greens-white-plate_176474-2654.jpg?_wi=1", imageAlt: "Curry shrimp sandwich"},
{
id: "ackee-saltfish-sandwich", name: "Ackee & Saltfish Sandwich", price: "$10.95", variant: "Traditional", imageSrc: "http://img.b2bpic.net/free-photo/chicken-nuggets-served-with-french-fries-sauces_140725-5759.jpg?_wi=1", imageAlt: "Ackee and saltfish sandwich"},
],
sides: [
{
id: "rice-peas", name: "Rice & Peas", price: "$3.95", variant: "Island Classic", imageSrc: "http://img.b2bpic.net/free-photo/rice-dish-with-sauce-near-spices_23-2147894777.jpg?_wi=1", imageAlt: "Rice and peas"},
{
id: "mac-cheese", name: "Creamy Mac & Cheese", price: "$4.95", variant: "Comfort Classic", imageSrc: "http://img.b2bpic.net/free-photo/delicious-food-presentation_23-2151914003.jpg?_wi=1", imageAlt: "Creamy mac and cheese"},
{
id: "festival-dumplings", name: "Festival Dumplings", price: "$3.50", variant: "6 Pieces", imageSrc: "http://img.b2bpic.net/free-photo/deep-fried-samosas-rustic-crockery-plate-generated-by-ai_188544-41080.jpg?_wi=1", imageAlt: "Festival dumplings"},
{
id: "tropical-slaw", name: "Tropical Slaw", price: "$2.95", variant: "Fresh Daily", imageSrc: "http://img.b2bpic.net/free-photo/grilled-chicken-served-with-aubergine-lemon-parsley_140725-1554.jpg?_wi=1", imageAlt: "Tropical slaw"},
],
drinks: [
{
id: "ginger-beer", name: "Island Ginger Beer", price: "$3.50", variant: "Refreshing", imageSrc: "http://img.b2bpic.net/free-photo/side-view-smiley-man-getting-coffee_23-2149663609.jpg?_wi=1", imageAlt: "Ginger beer"},
{
id: "sorrel-punch", name: "Sorrel Punch", price: "$3.95", variant: "Seasonal", imageSrc: "http://img.b2bpic.net/free-photo/couple-enjoying-spending-good-time-together-while-having-date-restaurant_58466-16035.jpg?_wi=1", imageAlt: "Sorrel punch"},
{
id: "jamaica-juice", name: "Jamaica Juice Special", price: "$4.50", variant: "House Blend", imageSrc: "http://img.b2bpic.net/free-photo/sideways-shot-attractive-curly-woman-has-happy-expression-enjoys-electronic-song-modern-headphones-has-recreation-time-reads-text-message-cell-phone_273609-3485.jpg?_wi=1", imageAlt: "Jamaica juice special"},
],
specials: [
{
id: "conch-fritters", name: "Conch Fritters Combo", price: "$12.95", variant: "6 Pieces", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-y2tu4f81.jpg", imageAlt: "Conch fritters combo"},
{
id: "curry-shrimp", name: "Curry Shrimp Platter", price: "$16.95", variant: "Fresh Daily", imageSrc: "http://img.b2bpic.net/free-photo/friends-eating-barbecue_23-2148733607.jpg?_wi=1", imageAlt: "Curry shrimp platter"},
{
id: "family-bundle", name: "Family Island Bundle", price: "$49.95", variant: "Serves 4", imageSrc: "http://img.b2bpic.net/free-photo/friends-having-nice-barbeque-together_23-2149271905.jpg?_wi=1", imageAlt: "Family island bundle"},
],
};
const categoryLabels = {
mains: "Mains", sandwiches: "Sandwiches", sides: "Sides", drinks: "Drinks", specials: "Specials"};
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="bounce-effect" defaultButtonVariant="bounce-effect"
@@ -119,106 +97,237 @@ export default function MenuPage() {
secondaryButtonStyle="glass" secondaryButtonStyle="glass"
headingFontWeight="medium" headingFontWeight="medium"
> >
{/* Navbar */} <style>{`
<div id="nav" data-section="nav"> @keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes slideInFromLeft {
from {
opacity: 0;
transform: translateX(-60px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
@keyframes slideInFromRight {
from {
opacity: 0;
transform: translateX(60px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
@keyframes glowHover {
0% {
box-shadow: 0 0 0px rgba(227, 68, 0, 0.4);
}
50% {
box-shadow: 0 0 20px rgba(227, 68, 0, 0.6);
}
100% {
box-shadow: 0 0 30px rgba(227, 68, 0, 0.8);
}
}
html {
scroll-behavior: smooth;
}
body {
animation: fadeIn 0.8s ease-out;
}
[data-section] {
animation: fadeIn 1.2s ease-out forwards;
opacity: 0;
}
#menu-header {
animation-delay: 0.1s;
}
#full-menu {
animation-delay: 0.2s;
}
#mains {
animation-delay: 0.3s;
}
#sides {
animation-delay: 0.4s;
}
#beverages {
animation-delay: 0.5s;
}
#footer {
animation-delay: 0.6s;
}
img {
animation: slideInFromRight 1s ease-out forwards;
opacity: 0;
}
#full-menu img {
animation-delay: 0.3s;
}
#mains img {
animation-delay: 0.4s;
}
#sides img {
animation-delay: 0.5s;
}
button, [role="button"], a[href*="#"], a[href*="/"] {
position: relative;
transition: all 0.3s ease;
}
button:hover, [role="button"]:hover, a[href*="#"]:hover, a[href*="/"]:hover {
animation: glowHover 0.6s ease-in-out;
}
.bg-gradient-to-r, .bg-primary-cta, [class*="bg-blue"], [class*="bg-orange"], [class*="bg-red"] {
transition: all 0.3s ease;
}
.bg-gradient-to-r:hover, .bg-primary-cta:hover, [class*="bg-blue"]:hover, [class*="bg-orange"]:hover, [class*="bg-red"]:hover {
filter: brightness(1.1);
animation: glowHover 0.6s ease-in-out;
}
`}</style>
{/* Persistent Top Navigation Bar */}
<div id="nav" data-section="nav" className="sticky top-0 z-40 w-full bg-white/80 backdrop-blur-md border-b border-gray-200">
<NavbarStyleCentered <NavbarStyleCentered
brandName="Caribbean Flair" brandName="Caribbean Flair"
navItems={navItems} navItems={navItems}
button={{ button={{
text: "Order Now", href: "/menu"}} text: "Order Now", href: "/menu"
}}
/> />
</div> </div>
{/* Hero Section */} {/* Floating Mobile Sidebar Menu */}
<div id="hero" data-section="hero"> {isMobileMenuOpen && (
<HeroSplit <div className="fixed inset-0 z-30 md:hidden">
title="Explore Our Island Menu" <div
description="Authentic Caribbean flavors crafted fresh daily. Browse our full selection of signature dishes, fresh sides, and island refreshments." className="absolute inset-0 bg-black/50"
tag="Interactive Menu" onClick={() => setIsMobileMenuOpen(false)}
tagIcon={Award} />
tagAnimation="slide-up" <div className="absolute right-0 top-16 w-64 bg-white/95 backdrop-blur-lg rounded-lg shadow-2xl m-4 border border-white/20">
background={{ variant: "glowing-orb" }} <div className="p-6 space-y-4">
buttons={[ {navItems.map((item) => (
{ <a
text: "Order Online Now", href: "#"}, key={item.id}
]} href={item.id === "home" ? "/" : `/#${item.id}`}
buttonAnimation="slide-up" className="block text-gray-800 hover:text-primary-cta font-medium"
imageSrc="http://img.b2bpic.net/free-vector/summer-label-collectio_23-2148160410.jpg" onClick={() => setIsMobileMenuOpen(false)}
imageAlt="Caribbean Flair Menu" >
mediaAnimation="opacity" {item.name}
imagePosition="right" </a>
ariaLabel="Menu hero section" ))}
/> <a href="/menu" className="w-full bg-primary-cta text-white py-2 rounded-lg font-semibold hover:opacity-90 text-center block">
</div> Order Now
</a>
{/* Interactive Menu with Tabs */} </div>
<div id="menu-items" data-section="menu-items" className="w-full py-16 px-4">
<div className="max-w-6xl mx-auto">
{/* Category Tabs */}
<div className="flex flex-wrap gap-3 justify-center mb-12">
{Object.entries(categoryLabels).map(([key, label]) => (
<button
key={key}
onClick={() => setActiveCategory(key)}
className={`px-6 py-3 rounded-full font-semibold transition-all ${
activeCategory === key
? "bg-[var(--primary-cta)] text-white shadow-lg"
: "bg-[var(--card)] text-[var(--foreground)] hover:bg-[var(--background-accent)]"
}`}
aria-pressed={activeCategory === key}
>
{label}
</button>
))}
</div> </div>
</div>
)}
{/* Menu Items Grid */} {/* Floating Desktop Action Buttons */}
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"> {isDesktopButtonsVisible && (
{menuItems[activeCategory as keyof typeof menuItems]?.map((item) => ( <div className="hidden md:fixed md:right-6 md:bottom-6 md:z-20 md:flex md:flex-col md:gap-3">
<div <a
key={item.id} href="tel:2397850423"
className="bg-[var(--card)] rounded-xl overflow-hidden shadow-md hover:shadow-xl transition-shadow cursor-pointer group" className="bg-white/90 backdrop-blur-lg border border-white/20 rounded-full p-4 shadow-lg hover:shadow-xl hover:bg-white transition-all flex items-center justify-center group"
title="Call Us"
>
<Phone className="w-6 h-6 text-primary-cta group-hover:scale-110 transition-transform" />
</a>
<a
href="/menu"
className="bg-gradient-to-r from-primary-cta to-accent text-white rounded-full p-4 shadow-lg hover:shadow-xl transition-all flex items-center justify-center group font-semibold"
title="Order Now"
>
<ShoppingCart className="w-6 h-6 group-hover:scale-110 transition-transform" />
</a>
</div>
)}
{/* Cookie Preferences Popup */}
{showCookiePreferences && !cookiesAccepted && (
<div className="fixed bottom-6 left-6 right-6 z-50 max-w-sm bg-white/95 backdrop-blur-lg rounded-lg shadow-2xl border border-white/20 p-4 md:p-6">
<div className="space-y-3">
<h3 className="font-semibold text-gray-900">Cookie Preferences</h3>
<p className="text-sm text-gray-600">
We use cookies to enhance your experience, personalize content, and analyze site traffic.
</p>
<div className="flex gap-3">
<button
onClick={handleCookieAccept}
className="flex-1 bg-primary-cta text-white py-2 rounded-lg font-semibold hover:opacity-90 transition-opacity"
> >
<div className="relative overflow-hidden h-48 bg-[var(--background-accent)]"> Accept All
<img </button>
src={item.imageSrc} <button
alt={item.imageAlt} onClick={() => setShowCookiePreferences(false)}
className="w-full h-full object-cover group-hover:scale-105 transition-transform duration-300" className="flex-1 border border-gray-300 text-gray-800 py-2 rounded-lg font-semibold hover:bg-gray-50 transition-colors"
/> >
</div> Decline
<div className="p-4"> </button>
<h3 className="text-lg font-bold text-[var(--foreground)] mb-1"> </div>
{item.name} </div>
</h3> </div>
<p className="text-sm text-[var(--foreground)] opacity-70 mb-3"> )}
{item.variant}
</p> {/* Menu Header Section */}
<div className="flex justify-between items-center"> <div id="menu-header" data-section="menu-header" className="py-12 md:py-20 px-4 bg-gradient-to-b from-white to-gray-50">
<span className="text-2xl font-bold text-[var(--primary-cta)]"> <div className="max-w-4xl mx-auto text-center space-y-4">
{item.price} <h1 className="text-4xl md:text-5xl font-bold text-gray-900">Full Island Menu</h1>
</span> <p className="text-lg text-gray-600">Authentic Caribbean dishes crafted fresh daily by our expert grill masters. Every meal is made with love and island passion.</p>
<button className="bg-[var(--primary-cta)] text-white px-4 py-2 rounded-lg hover:opacity-90 transition-opacity"> <div className="flex flex-wrap justify-center gap-4 mt-6">
Add <a href="tel:2397850423" className="inline-flex items-center gap-2 px-6 py-3 bg-white border-2 border-primary-cta text-primary-cta rounded-full font-semibold hover:bg-primary-cta hover:text-white transition-all">
</button> <Phone className="w-5 h-5" />
</div> Call (239) 785-0423
</div> </a>
</div> <div className="inline-flex items-center gap-2 text-gray-700">
))} <Clock className="w-5 h-5 text-primary-cta" />
Open Until 9PM
</div>
</div> </div>
</div> </div>
</div> </div>
{/* Featured Products */} {/* Main Dishes Section */}
<div id="featured-menu" data-section="featured-menu"> <div id="mains" data-section="mains">
<ProductCardFour <ProductCardFour
title="Customer Favorites" title="Main Island Dishes"
description="Our most ordered dishes that keep customers coming back for authentic Caribbean excellence." description="Signature mains grilled to perfection with authentic Caribbean spices and flavors."
tag="Top Picks" tag="Must Try"
tagIcon={Zap} tagIcon={Flame}
tagAnimation="slide-up" tagAnimation="slide-up"
buttons={[ buttons={[
{ {
text: "Browse Full Menu", href: "#menu-items"}, text: "Order Online", href: "#order"
},
]} ]}
buttonAnimation="slide-up" buttonAnimation="slide-up"
textboxLayout="default" textboxLayout="default"
@@ -227,19 +336,127 @@ export default function MenuPage() {
useInvertedBackground={false} useInvertedBackground={false}
products={[ products={[
{ {
id: "jerk-chicken", name: "Jerk Chicken Platter", price: "$15.95", variant: "Full Rack", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-2gw0wih3.jpg", imageAlt: "Jerk chicken platter"}, id: "jerk-chicken", name: "Jerk Chicken Platter", price: "$15.95", variant: "Full Rack | Rice & Peas", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773884559172-6jmwoep9.png", imageAlt: "Jerk chicken grilled on foil with spices"
},
{ {
id: "curry-shrimp", name: "Curry Shrimp Platter", price: "$16.95", variant: "Fresh Daily", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-wha24yfi.jpg", imageAlt: "Curry shrimp platter"}, id: "curry-shrimp", name: "Curry Shrimp Platter", price: "$16.95", variant: "Fresh Daily | Festival Dumplings", imageSrc: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E", imageAlt: "Curry shrimp over rice and peas"
},
{ {
id: "conch-fritters", name: "Conch Fritters Combo", price: "$12.95", variant: "6 Pieces", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-y2tu4f81.jpg", imageAlt: "Conch fritters combo"}, id: "conch-fritters", name: "Conch Fritters Combo", price: "$12.95", variant: "6 Pieces | Dipping Sauce", imageSrc: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E", imageAlt: "Golden conch fritters with dipping sauce"
},
{
id: "curry-goat", name: "Curry Goat Platter", price: "$17.95", variant: "Tender & Aromatic | Bread", imageSrc: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E", imageAlt: "Rich curry goat served over rice and peas"
},
{
id: "escovitch-fish", name: "Escovitch Fish", price: "$16.95", variant: "Fresh Fish | Pickled Veggies", imageSrc: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E", imageAlt: "Escovitch fish with pickled vegetables and lime"
},
{
id: "jerk-pork", name: "Jerk Pork Ribs", price: "$18.95", variant: "Half Rack | Mac & Cheese", imageSrc: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E", imageAlt: "Perfectly seasoned jerk pork ribs with island spices"
},
]} ]}
/> />
</div> </div>
{/* Sides & Extras Section */}
<div id="sides" data-section="sides">
<ProductCardFour
title="Sides & Extras"
description="Perfect complements to your main dish. All made fresh daily with authentic Caribbean flavors."
tag="Sides & Accompaniments"
tagIcon={Star}
tagAnimation="slide-up"
buttons={[
{
text: "Add to Order", href: "#order"
},
]}
buttonAnimation="slide-up"
textboxLayout="default"
gridVariant="three-columns-all-equal-width"
animationType="slide-up"
useInvertedBackground={true}
products={[
{
id: "rice-peas", name: "Rice & Peas", price: "$4.95", variant: "Island Classic | Per Side", imageSrc: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E", imageAlt: "Fluffy rice and peas side dish"
},
{
id: "mac-cheese", name: "Creamy Mac & Cheese", price: "$5.95", variant: "Soul Food Special | Comfort Classic", imageSrc: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E", imageAlt: "Creamy mac and cheese side dish"
},
{
id: "festival", name: "Festival Dumplings", price: "$3.95", variant: "6 Pieces | Golden & Crispy", imageSrc: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E", imageAlt: "Crispy golden festival dumplings"
},
{
id: "tropical-slaw", name: "Tropical Slaw", price: "$4.95", variant: "Fresh Veggies | Island Dressing", imageSrc: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E", imageAlt: "Fresh tropical slaw with island dressing"
},
{
id: "plantain-chips", name: "Plantain Chips", price: "$5.95", variant: "Crispy & Salted | Caribbean Favorite", imageSrc: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E", imageAlt: "Crispy plantain chips"
},
{
id: "johnny-cakes", name: "Johnny Cakes", price: "$4.95", variant: "4 Pieces | Fresh Baked", imageSrc: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E", imageAlt: "Fresh baked johnny cakes"
},
]}
/>
</div>
{/* Beverages Section */}
<div id="beverages" data-section="beverages">
<ProductCardFour
title="Beverages & Drinks"
description="Cool off with our refreshing Caribbean drinks and island favorites."
tag="Quench Your Thirst"
tagIcon={Zap}
tagAnimation="slide-up"
buttons={[
{
text: "Add Drink", href: "#order"
},
]}
buttonAnimation="slide-up"
textboxLayout="default"
gridVariant="three-columns-all-equal-width"
animationType="slide-up"
useInvertedBackground={false}
products={[
{
id: "ginger-beer", name: "Ginger Beer", price: "$3.95", variant: "Bottle | Refreshing & Spicy", imageSrc: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E", imageAlt: "Cold ginger beer bottle"
},
{
id: "sorrel", name: "Sorrel Drink", price: "$4.95", variant: "Seasonal | Caribbean Favorite", imageSrc: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E", imageAlt: "Traditional sorrel drink"
},
{
id: "mango-juice", name: "Fresh Mango Juice", price: "$5.95", variant: "Fresh Pressed | No Sugar Added", imageSrc: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E", imageAlt: "Fresh mango juice"
},
]}
/>
</div>
{/* Order CTA Section */}
<div id="order" data-section="order" className="py-16 md:py-24 px-4 bg-gradient-to-r from-primary-cta to-accent">
<div className="max-w-2xl mx-auto text-center space-y-6 text-white">
<h2 className="text-3xl md:text-4xl font-bold">Ready to Order?</h2>
<p className="text-lg opacity-90">Call us now or visit our location to experience authentic Caribbean island flavors made fresh daily.</p>
<div className="flex flex-col sm:flex-row gap-4 justify-center mt-8">
<a href="tel:2397850423" className="inline-flex items-center justify-center gap-2 px-8 py-4 bg-white text-primary-cta rounded-full font-bold text-lg hover:bg-gray-100 transition-all">
<Phone className="w-6 h-6" />
Call (239) 785-0423
</a>
<a href="https://www.google.com/maps/search/caribbean+flair+island+jerk+grill+lehigh+acres" target="_blank" className="inline-flex items-center justify-center gap-2 px-8 py-4 bg-white/20 border-2 border-white text-white rounded-full font-bold text-lg hover:bg-white/30 transition-all">
<MapPin className="w-6 h-6" />
Visit Us
</a>
</div>
<div className="pt-6 border-t border-white/30 space-y-2 text-sm">
<p>📍 801 Leeland Heights Blvd W, Lehigh Acres, FL 33936</p>
<p>🕐 Open Until 9PM Daily</p>
<p>🚚 Delivery Available</p>
</div>
</div>
</div>
{/* Footer */} {/* Footer */}
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterMedia <FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/chef-cooking-kitchen-while-wearing-professional-attire_23-2151208291.jpg?_wi=1" imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773884559172-6jmwoep9.png"
imageAlt="Caribbean Flair Island Jerk Grill Trailer" imageAlt="Caribbean Flair Island Jerk Grill Trailer"
logoText="Caribbean Flair" logoText="Caribbean Flair"
copyrightText="© 2025 Caribbean Flair Island Jerk Grill | Black & Women-Owned | Lehigh Acres, FL" copyrightText="© 2025 Caribbean Flair Island Jerk Grill | Black & Women-Owned | Lehigh Acres, FL"
@@ -248,4 +465,4 @@ export default function MenuPage() {
</div> </div>
</ThemeProvider> </ThemeProvider>
); );
} }

425
src/app/order-now/page.tsx Normal file
View File

@@ -0,0 +1,425 @@
"use client";
import Link from "next/link";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered";
import HeroSplit from "@/components/sections/hero/HeroSplit";
import FeatureCardTen from "@/components/sections/feature/FeatureCardTen";
import FooterMedia from "@/components/sections/footer/FooterMedia";
import {
Award,
Zap,
TrendingUp,
Facebook,
Phone,
ShoppingCart,
ExternalLink,
Clock,
} from "lucide-react";
import { useState, useEffect } from "react";
export default function OrderNowPage() {
const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);
const [isDesktopButtonsVisible, setIsDesktopButtonsVisible] = useState(true);
const [showCookiePreferences, setShowCookiePreferences] = useState(false);
const [cookiesAccepted, setCookiesAccepted] = useState(false);
useEffect(() => {
const cookieConsent = localStorage.getItem("cookie-consent");
if (!cookieConsent) {
setShowCookiePreferences(true);
} else {
setCookiesAccepted(true);
}
}, []);
const handleCookieAccept = () => {
localStorage.setItem("cookie-consent", "accepted");
setCookiesAccepted(true);
setShowCookiePreferences(false);
};
const navItems = [
{ name: "Home", id: "home" },
{ name: "Menu", id: "signature-dishes" },
{ name: "About Us", id: "owners-spotlight" },
{ name: "Gallery", id: "featured-gallery" },
{ name: "Reviews", id: "testimonials" },
{ name: "Locations", id: "footer" },
];
const footerColumns = [
{
title: "Quick Links", items: [
{ label: "Home", href: "/" },
{ label: "Order Now", href: "/order-now" },
{ label: "Gallery", href: "/#featured-gallery" },
{ label: "Reviews", href: "/#testimonials" },
],
},
{
title: "Order & Contact", items: [
{ label: "Uber Eats", href: "https://www.ubereats.com/search?q=caribbean%20flair&location=Lehigh%20Acres%2C%20FL" },
{ label: "DoorDash", href: "https://www.doordash.com/search?q=caribbean%20flair&location=Lehigh%20Acres%2C%20FL" },
{ label: "Grubhub", href: "https://www.grubhub.com/search?q=caribbean%20flair&location=Lehigh%20Acres%2C%20FL" },
{ label: "Call Us", href: "tel:2397850423" },
],
},
{
title: "Connect With Us", items: [
{ label: "Facebook", href: "https://www.facebook.com/share/1CckZyvyXX/?mibextid=wwXIfr" },
{ label: "Privacy Policy", href: "#" },
{ label: "Terms of Service", href: "#" },
],
},
{
title: "Located In", items: [
{ label: "801 Leeland Heights Blvd W", href: "#" },
{ label: "Lehigh Acres, FL 33936", href: "#" },
{ label: "Open Until 9PM", href: "#" },
{ label: "Delivery Available", href: "#" },
],
},
];
return (
<ThemeProvider
defaultButtonVariant="bounce-effect"
defaultTextAnimation="entrance-slide"
borderRadius="pill"
contentWidth="compact"
sizing="medium"
background="none"
cardStyle="inset"
primaryButtonStyle="radial-glow"
secondaryButtonStyle="glass"
headingFontWeight="medium"
>
<style>{`
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes slideInFromLeft {
from {
opacity: 0;
transform: translateX(-60px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
@keyframes slideInFromRight {
from {
opacity: 0;
transform: translateX(60px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
@keyframes glowHover {
0% {
box-shadow: 0 0 0px rgba(227, 68, 0, 0.4);
}
50% {
box-shadow: 0 0 20px rgba(227, 68, 0, 0.6);
}
100% {
box-shadow: 0 0 30px rgba(227, 68, 0, 0.8);
}
}
html {
scroll-behavior: smooth;
}
body {
animation: fadeIn 0.8s ease-out;
}
[data-section] {
animation: fadeIn 1.2s ease-out forwards;
opacity: 0;
}
#hero [data-section] {
animation-delay: 0.1s;
}
#order-providers {
animation-delay: 0.2s;
}
#final-cta {
animation-delay: 0.3s;
}
#footer {
animation-delay: 0.4s;
}
img {
animation: slideInFromRight 1s ease-out forwards;
opacity: 0;
}
#hero img {
animation-delay: 0.3s;
}
button, [role="button"], a[href*="#"], a[href*="/"] {
position: relative;
transition: all 0.3s ease;
}
button:hover, [role="button"]:hover, a[href*="#"]:hover, a[href*="/"]:hover {
animation: glowHover 0.6s ease-in-out;
}
.bg-gradient-to-r, .bg-primary-cta, [class*="bg-blue"], [class*="bg-orange"], [class*="bg-red"] {
transition: all 0.3s ease;
}
.bg-gradient-to-r:hover, .bg-primary-cta:hover, [class*="bg-blue"]:hover, [class*="bg-orange"]:hover, [class*="bg-red"]:hover {
filter: brightness(1.1);
animation: glowHover 0.6s ease-in-out;
}
`}</style>
{/* Persistent Top Navigation Bar */}
<div id="nav" data-section="nav" className="sticky top-0 z-40 w-full bg-white/80 backdrop-blur-md border-b border-gray-200">
<NavbarStyleCentered
brandName="Caribbean Flair"
navItems={navItems}
button={{
text: "See Full Menu", href: "/"
}}
/>
</div>
{/* Floating Mobile Sidebar Menu */}
{isMobileMenuOpen && (
<div className="fixed inset-0 z-30 md:hidden">
<div
className="absolute inset-0 bg-black/50"
onClick={() => setIsMobileMenuOpen(false)}
/>
<div className="absolute right-0 top-16 w-64 bg-white/95 backdrop-blur-lg rounded-lg shadow-2xl m-4 border border-white/20">
<div className="p-6 space-y-4">
{navItems.map((item) => (
<a
key={item.id}
href={`#${item.id}`}
className="block text-gray-800 hover:text-primary-cta font-medium"
onClick={() => setIsMobileMenuOpen(false)}
>
{item.name}
</a>
))}
<a href="/" className="w-full bg-primary-cta text-white py-2 rounded-lg font-semibold hover:opacity-90 text-center block">
Back to Home
</a>
</div>
</div>
</div>
)}
{/* Floating Desktop Action Buttons */}
{isDesktopButtonsVisible && (
<div className="hidden md:fixed md:right-6 md:bottom-6 md:z-20 md:flex md:flex-col md:gap-3">
<a
href="tel:2397850423"
className="bg-white/90 backdrop-blur-lg border border-white/20 rounded-full p-4 shadow-lg hover:shadow-xl hover:bg-white transition-all flex items-center justify-center group"
title="Call Us"
>
<Phone className="w-6 h-6 text-primary-cta group-hover:scale-110 transition-transform" />
</a>
<a
href="/"
className="bg-gradient-to-r from-primary-cta to-accent text-white rounded-full p-4 shadow-lg hover:shadow-xl transition-all flex items-center justify-center group font-semibold"
title="Back to Home"
>
<ShoppingCart className="w-6 h-6 group-hover:scale-110 transition-transform" />
</a>
</div>
)}
{/* Cookie Preferences Popup */}
{showCookiePreferences && !cookiesAccepted && (
<div className="fixed bottom-6 left-6 right-6 z-50 max-w-sm bg-white/95 backdrop-blur-lg rounded-lg shadow-2xl border border-white/20 p-4 md:p-6">
<div className="space-y-3">
<h3 className="font-semibold text-gray-900">Cookie Preferences</h3>
<p className="text-sm text-gray-600">
We use cookies to enhance your experience, personalize content, and analyze site traffic.
</p>
<div className="flex gap-3">
<button
onClick={handleCookieAccept}
className="flex-1 bg-primary-cta text-white py-2 rounded-lg font-semibold hover:opacity-90 transition-opacity"
>
Accept All
</button>
<button
onClick={() => setShowCookiePreferences(false)}
className="flex-1 border border-gray-300 text-gray-800 py-2 rounded-lg font-semibold hover:bg-gray-50 transition-colors"
>
Decline
</button>
</div>
</div>
</div>
)}
{/* Hero Section */}
<div id="hero" data-section="hero">
<HeroSplit
title="Order Your Caribbean Feast"
description="Fresh off the grill. Order authentic Jamaican jerk, curry, and soul food through your favorite delivery service. Get it delivered hot, fresh, and delicious."
tag="Multiple Delivery Options"
tagIcon={Award}
tagAnimation="slide-up"
background={{ variant: "glowing-orb" }}
buttons={[
{
text: "Explore Delivery Options", href: "#order-providers"
},
]}
buttonAnimation="slide-up"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773884559172-6jmwoep9.png"
imageAlt="Caribbean Flair Island Jerk Grill Order Now"
mediaAnimation="opacity"
imagePosition="right"
ariaLabel="Hero section for order now page"
/>
</div>
{/* Delivery Providers Section */}
<div id="order-providers" data-section="order-providers">
<FeatureCardTen
title="Choose Your Delivery Partner"
description="Order your Caribbean Flair favorites through these trusted delivery platforms. Fast, reliable, and convenient delivery straight to your door."
tag="Seamless Ordering"
tagIcon={Zap}
tagAnimation="slide-up"
buttons={[]}
buttonAnimation="slide-up"
textboxLayout="default"
animationType="slide-up"
useInvertedBackground={false}
features={[
{
id: "uber-eats", title: "Uber Eats", description: "Order on Uber Eats for fast, convenient delivery. Browse our full menu and track your order in real-time.", media: {
imageSrc: "data:image/svg+xml,%3Csvg xmlns=?_wi=1'http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23000000' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='20' font-weight='bold' text-anchor='middle' dominant-baseline='middle' fill='%23FFFFFF'%3EUber Eats%3C/text%3E%3C/svg%3E"
},
items: [
{
icon: ExternalLink,
text: "Fast delivery available"
},
{
icon: TrendingUp,
text: "Real-time order tracking"
},
],
reverse: false,
},
{
id: "doordash", title: "DoorDash", description: "Order via DoorDash for reliable delivery service. Enjoy exclusive deals and quick service to your location.", media: {
imageSrc: "data:image/svg+xml,%3Csvg xmlns=?_wi=2'http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23FF3008' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='20' font-weight='bold' text-anchor='middle' dominant-baseline='middle' fill='%23FFFFFF'%3EDoorDash%3C/text%3E%3C/svg%3E"
},
items: [
{
icon: ExternalLink,
text: "Exclusive DoorDash deals"
},
{
icon: TrendingUp,
text: "Reliable delivery service"
},
],
reverse: true,
},
{
id: "grubhub", title: "Grubhub", description: "Order through Grubhub for convenient food delivery. Discover our menu and enjoy delicious Caribbean cuisine at home.", media: {
imageSrc: "data:image/svg+xml,%3Csvg xmlns=?_wi=3'http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23FF8000' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='20' font-weight='bold' text-anchor='middle' dominant-baseline='middle' fill='%23FFFFFF'%3EGrubhub%3C/text%3E%3C/svg%3E"
},
items: [
{
icon: ExternalLink,
text: "Easy menu browsing"
},
{
icon: TrendingUp,
text: "Convenient home delivery"
},
],
reverse: false,
},
]}
/>
</div>
{/* Direct Ordering CTA Section */}
<div id="final-cta" data-section="final-cta">
<FeatureCardTen
title="Can't Wait? Call Us Directly"
description="Want to place a quick order or have special requests? Call Caribbean Flair directly and speak with our team. We're here to serve you!"
tag="Direct Ordering"
tagIcon={Phone}
tagAnimation="slide-up"
buttons={[
{
text: "Call (239) 785-0423", href: "tel:2397850423"
},
{
text: "Back to Home", href: "/"
},
]}
buttonAnimation="slide-up"
textboxLayout="default"
animationType="slide-up"
useInvertedBackground={true}
features={[
{
id: "direct-call", title: "Phone Orders", description: "Skip the apps and call us directly for personalized service and custom orders.", media: {
imageSrc: "data:image/svg+xml,%3Csvg xmlns=?_wi=4'http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ECall Us Today%3C/text%3E%3C/svg%3E"
},
items: [
{
icon: Phone,
text: "(239) 785-0423"
},
{
icon: Clock,
text: "Open until 9PM daily"
},
],
reverse: false,
},
]}
/>
</div>
{/* Footer */}
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="data:image/svg+xml,%3Csvg xmlns=?_wi=5'http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3EFooter Image%3C/text%3E%3C/svg%3E"
imageAlt="Caribbean Flair Island Jerk Grill Trailer"
logoText="Caribbean Flair"
copyrightText="© 2025 Caribbean Flair Island Jerk Grill | Black & Women-Owned | Lehigh Acres, FL"
columns={footerColumns}
/>
</div>
</ThemeProvider>
);
}

View File

@@ -1,420 +0,0 @@
"use client";
import Link from "next/link";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered";
import HeroSplit from "@/components/sections/hero/HeroSplit";
import FeatureCardTen from "@/components/sections/feature/FeatureCardTen";
import FooterMedia from "@/components/sections/footer/FooterMedia";
import {
ShoppingCart,
CreditCard,
Apple,
DollarSign,
CheckCircle,
Zap,
TrendingUp,
Facebook,
} from "lucide-react";
import { useState } from "react";
export default function OrderOnlinePage() {
const [cartItems, setCartItems] = useState<Array<{ id: string; name: string; price: number; quantity: number }>>([
{ id: "jerk-chicken", name: "Jerk Chicken Platter", price: 15.95, quantity: 1 },
]);
const [showCheckout, setShowCheckout] = useState(false);
const [paymentMethod, setPaymentMethod] = useState<"card" | "apple-pay" | "paypal" | null>(null);
const [orderConfirmed, setOrderConfirmed] = useState(false);
const navItems = [
{ name: "Home", id: "/" },
{ name: "Order Online", id: "/order-online" },
{ name: "Contact", id: "/contact" },
{ name: "Gallery", id: "/" },
{ name: "Reviews", id: "/" },
{ name: "Locations", id: "/" },
];
const footerColumns = [
{
title: "Quick Links", items: [
{ label: "Home", href: "/" },
{ label: "Order Online", href: "/order-online" },
{ label: "Gallery", href: "/" },
{ label: "Reviews", href: "/" },
],
},
{
title: "Order & Contact", items: [
{ label: "Order Online", href: "/order-online" },
{ label: "Call Us", href: "tel:2397850423" },
{ label: "Locations & Hours", href: "/" },
{ label: "Contact", href: "/contact" },
],
},
{
title: "Connect With Us", items: [
{ label: "Facebook", href: "https://facebook.com/caribbeanflair" },
{ label: "About Us", href: "/" },
{ label: "Privacy Policy", href: "/" },
{ label: "Terms of Service", href: "/" },
],
},
{
title: "Located In", items: [
{ label: "801 Leeland Heights Blvd W", href: "/" },
{ label: "Lehigh Acres, FL 33936", href: "/" },
{ label: "Open Until 9PM", href: "/" },
{ label: "Delivery Available", href: "/" },
],
},
];
const cartTotal = cartItems.reduce((sum, item) => sum + item.price * item.quantity, 0);
const handleAddToCart = (productName: string, price: number) => {
const existingItem = cartItems.find((item) => item.name === productName);
if (existingItem) {
setCartItems(
cartItems.map((item) =>
item.id === existingItem.id ? { ...item, quantity: item.quantity + 1 } : item
)
);
} else {
setCartItems([
...cartItems,
{ id: Date.now().toString(), name: productName, price, quantity: 1 },
]);
}
};
const handleRemoveFromCart = (id: string) => {
setCartItems(cartItems.filter((item) => item.id !== id));
};
const handleCheckout = () => {
setShowCheckout(true);
};
const handlePaymentSubmit = (method: "card" | "apple-pay" | "paypal") => {
setPaymentMethod(method);
// Simulate payment processing
setTimeout(() => {
setOrderConfirmed(true);
// In a real app, send receipt via email here
}, 1500);
};
return (
<ThemeProvider
defaultButtonVariant="bounce-effect"
defaultTextAnimation="entrance-slide"
borderRadius="pill"
contentWidth="compact"
sizing="medium"
background="none"
cardStyle="inset"
primaryButtonStyle="radial-glow"
secondaryButtonStyle="glass"
headingFontWeight="medium"
>
{/* Navbar */}
<div id="nav" data-section="nav">
<NavbarStyleCentered
brandName="Caribbean Flair"
navItems={navItems}
button={{
text: "Contact Us", href: "/contact"}}
/>
</div>
{/* Hero Section */}
<div id="hero" data-section="hero">
<HeroSplit
title="Order Your Island Feast Online"
description="Browse our authentic Caribbean menu, add items to your cart, and securely checkout. Meals are prepared fresh to order and ready for pickup or delivery."
tag="Fast & Secure Checkout"
tagIcon={ShoppingCart}
tagAnimation="slide-up"
background={{ variant: "glowing-orb" }}
buttons={[
{
text: "View Menu", href: "#menu"},
]}
buttonAnimation="slide-up"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-2gw0wih3.jpg"
imageAlt="Order Online - Caribbean Flair Menu"
mediaAnimation="opacity"
imagePosition="right"
ariaLabel="Order Online hero section"
/>
</div>
{/* Cart & Checkout Section */}
<div id="cart-checkout" data-section="cart-checkout" className="py-16 px-4">
<div className="max-w-6xl mx-auto">
{!orderConfirmed ? (
<div className="grid md:grid-cols-3 gap-8">
{/* Menu Items */}
<div className="md:col-span-2">
<h2 className="text-3xl font-bold mb-8">Select Your Items</h2>
<div className="space-y-4">
{[
{ id: "jerk-chicken", name: "Jerk Chicken Platter", price: 15.95, desc: "Full Rack" },
{ id: "curry-shrimp", name: "Curry Shrimp Platter", price: 16.95, desc: "Fresh Daily" },
{ id: "conch-fritters", name: "Conch Fritters Combo", price: 12.95, desc: "6 Pieces" },
{ id: "escovitch-fish", name: "Escovitch Fish", price: 17.95, desc: "Island Tradition" },
{ id: "curry-goat", name: "Curry Goat", price: 16.95, desc: "Community Favorite" },
{ id: "festival-sides", name: "Festival & Slaw", price: 8.95, desc: "Must Try" },
].map((item) => (
<div
key={item.id}
className="flex justify-between items-center p-4 border border-gray-200 rounded-lg hover:bg-gray-50 transition"
>
<div>
<p className="font-semibold">{item.name}</p>
<p className="text-sm text-gray-600">{item.desc}</p>
</div>
<div className="flex items-center gap-4">
<p className="font-bold">${item.price.toFixed(2)}</p>
<button
onClick={() => handleAddToCart(item.name, item.price)}
className="px-4 py-2 bg-primary-cta text-white rounded-lg hover:opacity-90 transition"
>
Add
</button>
</div>
</div>
))}
</div>
</div>
{/* Cart Summary */}
<div className="md:col-span-1">
<div className="border border-gray-200 rounded-lg p-6 sticky top-20">
<h3 className="text-xl font-bold mb-4">Your Cart</h3>
<div className="space-y-3 mb-6">
{cartItems.map((item) => (
<div key={item.id} className="flex justify-between items-start">
<div className="flex-1">
<p className="text-sm font-medium">{item.name}</p>
<p className="text-xs text-gray-500">Qty: {item.quantity}</p>
</div>
<div className="text-right">
<p className="text-sm font-semibold">${(item.price * item.quantity).toFixed(2)}</p>
<button
onClick={() => handleRemoveFromCart(item.id)}
className="text-xs text-red-500 hover:underline"
>
Remove
</button>
</div>
</div>
))}
</div>
<div className="border-t pt-4">
<div className="flex justify-between font-bold text-lg mb-4">
<span>Total:</span>
<span>${cartTotal.toFixed(2)}</span>
</div>
<button
onClick={handleCheckout}
disabled={cartItems.length === 0}
className="w-full px-4 py-3 bg-primary-cta text-white rounded-lg font-semibold hover:opacity-90 disabled:opacity-50 transition"
>
Proceed to Checkout
</button>
</div>
</div>
</div>
</div>
) : null}
{/* Checkout Form */}
{showCheckout && !orderConfirmed && (
<div className="max-w-2xl mx-auto">
<h2 className="text-3xl font-bold mb-8">Secure Checkout</h2>
{/* Payment Methods */}
<div className="mb-8">
<h3 className="text-xl font-semibold mb-4">Select Payment Method</h3>
<div className="grid grid-cols-1 md:grid-cols-3 gap-4">
<button
onClick={() => handlePaymentSubmit("card")}
className="p-4 border-2 border-gray-200 rounded-lg hover:border-primary-cta hover:bg-blue-50 transition flex items-center justify-center gap-2"
>
<CreditCard size={24} />
<span>Credit Card</span>
</button>
<button
onClick={() => handlePaymentSubmit("apple-pay")}
className="p-4 border-2 border-gray-200 rounded-lg hover:border-primary-cta hover:bg-blue-50 transition flex items-center justify-center gap-2"
>
<Apple size={24} />
<span>Apple Pay</span>
</button>
<button
onClick={() => handlePaymentSubmit("paypal")}
className="p-4 border-2 border-gray-200 rounded-lg hover:border-primary-cta hover:bg-blue-50 transition flex items-center justify-center gap-2"
>
<DollarSign size={24} />
<span>PayPal</span>
</button>
</div>
</div>
{/* Credit Card Form */}
{paymentMethod === "card" && (
<div className="space-y-4 mb-8">
<h3 className="text-lg font-semibold">Credit Card Details</h3>
<input
type="text"
placeholder="Cardholder Name"
className="w-full px-4 py-2 border border-gray-300 rounded-lg"
/>
<input
type="text"
placeholder="Card Number (16 digits)"
maxLength={16}
className="w-full px-4 py-2 border border-gray-300 rounded-lg"
/>
<div className="grid grid-cols-2 gap-4">
<input
type="text"
placeholder="MM/YY"
className="px-4 py-2 border border-gray-300 rounded-lg"
/>
<input
type="text"
placeholder="CVV"
maxLength={3}
className="px-4 py-2 border border-gray-300 rounded-lg"
/>
</div>
</div>
)}
{/* Billing Address */}
<div className="space-y-4 mb-8">
<h3 className="text-lg font-semibold">Billing Address</h3>
<input
type="text"
placeholder="Full Address"
className="w-full px-4 py-2 border border-gray-300 rounded-lg"
/>
<input
type="email"
placeholder="Email Address"
className="w-full px-4 py-2 border border-gray-300 rounded-lg"
/>
<input
type="tel"
placeholder="Phone Number"
className="w-full px-4 py-2 border border-gray-300 rounded-lg"
/>
</div>
{/* Order Summary */}
<div className="bg-gray-50 p-6 rounded-lg mb-6">
<h3 className="font-semibold mb-3">Order Summary</h3>
{cartItems.map((item) => (
<div key={item.id} className="flex justify-between text-sm mb-2">
<span>{item.name} x{item.quantity}</span>
<span>${(item.price * item.quantity).toFixed(2)}</span>
</div>
))}
<div className="border-t pt-3 mt-3 flex justify-between font-bold">
<span>Total:</span>
<span>${cartTotal.toFixed(2)}</span>
</div>
</div>
<button
onClick={() => handlePaymentSubmit(paymentMethod || "card")}
className="w-full px-6 py-3 bg-primary-cta text-white rounded-lg font-semibold hover:opacity-90 transition"
>
Complete Purchase
</button>
</div>
)}
{/* Order Confirmation */}
{orderConfirmed && (
<div className="max-w-2xl mx-auto text-center py-12">
<div className="mb-6">
<CheckCircle size={64} className="mx-auto text-green-500 mb-4" />
</div>
<h2 className="text-3xl font-bold mb-4">Order Confirmed!</h2>
<p className="text-lg text-gray-600 mb-6">
Your order has been successfully placed. A receipt has been sent to your email.
</p>
<div className="bg-gray-50 p-6 rounded-lg mb-6">
<h3 className="font-semibold mb-3">Order Details</h3>
{cartItems.map((item) => (
<div key={item.id} className="flex justify-between text-sm mb-2">
<span>{item.name} x{item.quantity}</span>
<span>${(item.price * item.quantity).toFixed(2)}</span>
</div>
))}
<div className="border-t pt-3 mt-3 flex justify-between font-bold text-lg">
<span>Total:</span>
<span>${cartTotal.toFixed(2)}</span>
</div>
</div>
<p className="text-gray-600 mb-4">Payment Method: {paymentMethod}</p>
<p className="text-gray-600 mb-8">Your meal will be ready for pickup in approximately 15-20 minutes.</p>
<Link
href="/"
className="px-6 py-3 bg-primary-cta text-white rounded-lg font-semibold hover:opacity-90 transition inline-block"
>
Return Home
</Link>
</div>
)}
</div>
</div>
{/* Features Section */}
<div id="order-features" data-section="order-features">
<FeatureCardTen
title="Why Order with Caribbean Flair?"
description="Experience seamless online ordering with secure payment, fast preparation, and delicious authentic Caribbean meals delivered right to you."
tag="Premium Experience"
tagIcon={Zap}
tagAnimation="slide-up"
textboxLayout="default"
animationType="slide-up"
useInvertedBackground={true}
features={[
{
id: "secure-payment", title: "Secure Payment Processing", description:
"We use industry-leading encryption for all transactions. Your payment information is always protected.", media: {
imageSrc:
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-wha24yfi.jpg"},
items: [
{
icon: CreditCard,
text: "Multiple Payment Options"},
{
icon: CheckCircle,
text: "Encrypted Transactions"},
],
reverse: false,
},
]}
/>
</div>
{/* Footer */}
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/chef-cooking-kitchen-while-wearing-professional-attire_23-2151208291.jpg?_wi=1"
imageAlt="Caribbean Flair Island Jerk Grill Trailer"
logoText="Caribbean Flair"
copyrightText="© 2025 Caribbean Flair Island Jerk Grill | Black & Women-Owned | Lehigh Acres, FL"
columns={footerColumns}
/>
</div>
</ThemeProvider>
);
}

View File

@@ -1,11 +1,18 @@
"use client"; "use client";
import Link from "next/link"; import { useState } from "react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered"; import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered";
import ProductCardFour from "@/components/sections/product/ProductCardFour"; import HeroSplit from "@/components/sections/hero/HeroSplit";
import FooterMedia from "@/components/sections/footer/FooterMedia"; import FooterMedia from "@/components/sections/footer/FooterMedia";
import { Flame } from "lucide-react"; import ProductCartItem from "@/components/ecommerce/cart/ProductCartItem";
import {
CreditCard,
Heart,
ShoppingCart,
Lock,
Check,
} from "lucide-react";
export default function OrderPage() { export default function OrderPage() {
const navItems = [ const navItems = [
@@ -15,47 +22,329 @@ export default function OrderPage() {
{ name: "Gallery", id: "gallery" }, { name: "Gallery", id: "gallery" },
{ name: "Reviews", id: "reviews" }, { name: "Reviews", id: "reviews" },
{ name: "Locations", id: "locations" }, { name: "Locations", id: "locations" },
{ name: "Order Online", id: "order" },
]; ];
const [cart, setCart] = useState<
Array<{
id: string;
name: string;
variants?: string[];
price: string;
quantity: number;
imageSrc: string;
imageAlt?: string;
}>
>([
{
id: "jerk-chicken", name: "Jerk Chicken Platter", price: "$15.95", quantity: 1,
imageSrc:
"http://img.b2bpic.net/free-photo/from-shrimps-batter-with-red-rice-greens-white-plate_176474-2654.jpg?_wi=1", imageAlt: "Jerk chicken platter", variants: ["Full Rack"],
},
{
id: "curry-shrimp", name: "Curry Shrimp Platter", price: "$16.95", quantity: 1,
imageSrc:
"http://img.b2bpic.net/free-photo/side-view-fried-eggs-with-shrimps-vegetables-pan-served-with-sauces_140725-11952.jpg?_wi=1", imageAlt: "Curry shrimp platter", variants: ["Fresh Daily"],
},
]);
const [paymentMethod, setPaymentMethod] = useState<
"credit-card" | "apple-pay" | "paypal"
>("credit-card");
const [orderStage, setOrderStage] = useState<
"cart" | "checkout" | "confirmation"
>("cart");
const handleQuantityChange = (id: string, quantity: number) => {
setCart((prev) =>
prev.map((item) =>
item.id === id ? { ...item, quantity } : item
)
);
};
const handleRemove = (id: string) => {
setCart((prev) => prev.filter((item) => item.id !== id));
};
const subtotal = cart.reduce(
(sum, item) =>
sum + parseFloat(item.price.replace("$", "")) * item.quantity,
0
);
const tax = subtotal * 0.07;
const total = subtotal + tax;
const footerColumns = [ const footerColumns = [
{ {
title: "Quick Links", title: "Quick Links", items: [
items: [
{ label: "Home", href: "/" }, { label: "Home", href: "/" },
{ label: "Menu", href: "/menu" }, { label: "Menu", href: "/menu" },
{ label: "Gallery", href: "/gallery" }, { label: "Gallery", href: "/" },
{ label: "Reviews", href: "/reviews" }, { label: "Reviews", href: "/" },
], ],
}, },
{ {
title: "Order & Contact", title: "Order & Contact", items: [
items: [
{ label: "Order Online", href: "/order" }, { label: "Order Online", href: "/order" },
{ label: "Call Us", href: "tel:2397850423" }, { label: "Call Us", href: "tel:2397850423" },
{ label: "Locations & Hours", href: "/locations" }, { label: "Locations & Hours", href: "/locations" },
{ label: "Contact", href: "/contact" }, { label: "Contact", href: "/" },
], ],
}, },
{ {
title: "Connect With Us", title: "Connect With Us", items: [
items: [
{ label: "Facebook", href: "https://facebook.com/caribbeanflair" }, { label: "Facebook", href: "https://facebook.com/caribbeanflair" },
{ label: "About Us", href: "/about" }, { label: "About Us", href: "/" },
{ label: "Privacy Policy", href: "#privacy" }, { label: "Privacy Policy", href: "/" },
{ label: "Terms of Service", href: "#terms" }, { label: "Terms of Service", href: "/" },
], ],
}, },
{ {
title: "Located In", title: "Located In", items: [
items: [ { label: "801 Leeland Heights Blvd W", href: "/" },
{ label: "801 Leeland Heights Blvd W", href: "#map" }, { label: "Lehigh Acres, FL 33936", href: "/" },
{ label: "Lehigh Acres, FL 33936", href: "#map" }, { label: "Open Until 9PM", href: "/" },
{ label: "Open Until 9PM", href: "/locations" }, { label: "Delivery Available", href: "/" },
{ label: "Delivery Available", href: "/order" },
], ],
}, },
]; ];
if (orderStage === "confirmation") {
return (
<ThemeProvider
defaultButtonVariant="bounce-effect"
defaultTextAnimation="entrance-slide"
borderRadius="pill"
contentWidth="compact"
sizing="medium"
background="none"
cardStyle="inset"
primaryButtonStyle="radial-glow"
secondaryButtonStyle="glass"
headingFontWeight="medium"
>
<div id="nav" data-section="nav">
<NavbarStyleCentered
brandName="Caribbean Flair"
navItems={navItems}
button={{
text: "Order Now", href: "/order"}}
/>
</div>
<div id="confirmation" data-section="confirmation" className="min-h-screen flex items-center justify-center px-4 py-12">
<div className="max-w-md w-full text-center">
<div className="mb-6 flex justify-center">
<div className="rounded-full bg-green-100 p-4">
<Check className="w-12 h-12 text-green-600" />
</div>
</div>
<h1 className="text-3xl font-bold mb-2">Order Confirmed!</h1>
<p className="text-gray-600 mb-6">
Thank you for your order. Your Caribbean Flair meal will be ready in approximately 20 minutes.
</p>
<div className="bg-gray-50 rounded-lg p-4 mb-6 text-left">
<p className="text-sm text-gray-600 mb-2">Order #: CF-2025-001234</p>
<p className="font-semibold text-lg mb-1">Total: ${total.toFixed(2)}</p>
<p className="text-sm text-gray-600">Payment: {paymentMethod === "credit-card" ? "Credit Card" : paymentMethod === "apple-pay" ? "Apple Pay" : "PayPal"}</p>
</div>
<div className="space-y-3">
<button
onClick={() => {
setOrderStage("cart");
setCart([]);
}}
className="w-full bg-blue-600 hover:bg-blue-700 text-white font-semibold py-3 rounded-lg transition"
>
Place Another Order
</button>
<a
href="/"
className="block w-full bg-gray-200 hover:bg-gray-300 text-gray-800 font-semibold py-3 rounded-lg transition text-center"
>
Back to Home
</a>
</div>
</div>
</div>
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/chef-cooking-kitchen-while-wearing-professional-attire_23-2151208291.jpg?_wi=1"
imageAlt="Caribbean Flair Island Jerk Grill Trailer"
logoText="Caribbean Flair"
copyrightText="© 2025 Caribbean Flair Island Jerk Grill | Black & Women-Owned | Lehigh Acres, FL"
columns={footerColumns}
/>
</div>
</ThemeProvider>
);
}
if (orderStage === "checkout") {
return (
<ThemeProvider
defaultButtonVariant="bounce-effect"
defaultTextAnimation="entrance-slide"
borderRadius="pill"
contentWidth="compact"
sizing="medium"
background="none"
cardStyle="inset"
primaryButtonStyle="radial-glow"
secondaryButtonStyle="glass"
headingFontWeight="medium"
>
<div id="nav" data-section="nav">
<NavbarStyleCentered
brandName="Caribbean Flair"
navItems={navItems}
button={{
text: "Order Now", href: "/order"}}
/>
</div>
<div id="checkout" data-section="checkout" className="min-h-screen px-4 py-12">
<div className="max-w-2xl mx-auto">
<h1 className="text-3xl font-bold mb-8">Secure Checkout</h1>
{/* Order Summary */}
<div className="bg-gray-50 rounded-lg p-6 mb-8">
<h2 className="text-lg font-semibold mb-4">Order Summary</h2>
<div className="space-y-2 mb-4">
{cart.map((item) => (
<div key={item.id} className="flex justify-between text-sm">
<span>
{item.name} × {item.quantity}
</span>
<span>
${(parseFloat(item.price.replace("$", "")) * item.quantity).toFixed(2)}
</span>
</div>
))}
</div>
<div className="border-t pt-4 space-y-1">
<div className="flex justify-between text-sm">
<span>Subtotal:</span>
<span>${subtotal.toFixed(2)}</span>
</div>
<div className="flex justify-between text-sm">
<span>Tax (7%):</span>
<span>${tax.toFixed(2)}</span>
</div>
<div className="flex justify-between font-bold text-lg pt-2 border-t">
<span>Total:</span>
<span>${total.toFixed(2)}</span>
</div>
</div>
</div>
{/* Payment Methods */}
<div className="mb-8">
<h2 className="text-lg font-semibold mb-4 flex items-center">
<Lock className="w-5 h-5 mr-2" />
Secure Payment
</h2>
{/* Credit Card */}
<div
className={`border-2 rounded-lg p-4 mb-4 cursor-pointer transition ${
paymentMethod === "credit-card"
? "border-blue-600 bg-blue-50"
: "border-gray-200"
}`}
onClick={() => setPaymentMethod("credit-card")}
>
<div className="flex items-center mb-4">
<CreditCard className="w-6 h-6 mr-3" />
<span className="font-semibold">Credit Card</span>
</div>
{paymentMethod === "credit-card" && (
<div className="space-y-3">
<input
type="text"
placeholder="Card Number"
className="w-full px-3 py-2 border rounded-lg text-sm"
/>
<div className="flex gap-3">
<input
type="text"
placeholder="MM/YY"
className="flex-1 px-3 py-2 border rounded-lg text-sm"
/>
<input
type="text"
placeholder="CVV"
className="flex-1 px-3 py-2 border rounded-lg text-sm"
/>
</div>
</div>
)}
</div>
{/* Apple Pay */}
<div
className={`border-2 rounded-lg p-4 mb-4 cursor-pointer transition ${
paymentMethod === "apple-pay"
? "border-blue-600 bg-blue-50"
: "border-gray-200"
}`}
onClick={() => setPaymentMethod("apple-pay")}
>
<div className="flex items-center">
<span className="font-bold text-xl mr-3">🍎</span>
<span className="font-semibold">Apple Pay</span>
</div>
</div>
{/* PayPal */}
<div
className={`border-2 rounded-lg p-4 cursor-pointer transition ${
paymentMethod === "paypal"
? "border-blue-600 bg-blue-50"
: "border-gray-200"
}`}
onClick={() => setPaymentMethod("paypal")}
>
<div className="flex items-center">
<span className="font-bold text-blue-600 mr-3">PP</span>
<span className="font-semibold">PayPal</span>
</div>
</div>
</div>
{/* Action Buttons */}
<div className="flex gap-4">
<button
onClick={() => setOrderStage("cart")}
className="flex-1 bg-gray-200 hover:bg-gray-300 text-gray-800 font-semibold py-3 rounded-lg transition"
>
Back to Cart
</button>
<button
onClick={() => setOrderStage("confirmation")}
className="flex-1 bg-blue-600 hover:bg-blue-700 text-white font-semibold py-3 rounded-lg transition"
>
Complete Order
</button>
</div>
</div>
</div>
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/chef-cooking-kitchen-while-wearing-professional-attire_23-2151208291.jpg?_wi=1"
imageAlt="Caribbean Flair Island Jerk Grill Trailer"
logoText="Caribbean Flair"
copyrightText="© 2025 Caribbean Flair Island Jerk Grill | Black & Women-Owned | Lehigh Acres, FL"
columns={footerColumns}
/>
</div>
</ThemeProvider>
);
}
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="bounce-effect" defaultButtonVariant="bounce-effect"
@@ -69,143 +358,111 @@ export default function OrderPage() {
secondaryButtonStyle="glass" secondaryButtonStyle="glass"
headingFontWeight="medium" headingFontWeight="medium"
> >
{/* Navbar */}
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarStyleCentered <NavbarStyleCentered
brandName="Caribbean Flair" brandName="Caribbean Flair"
navItems={navItems} navItems={navItems}
button={{ button={{
text: "Order Now", text: "Order Now", href: "/order"}}
href: "/order",
}}
/> />
</div> </div>
<div id="signature-dishes" data-section="signature-dishes"> {/* Hero Section */}
<ProductCardFour <div id="hero" data-section="hero">
title="Signature Island Flavors" <HeroSplit
description="Discover our most beloved authentic Caribbean dishes, expertly crafted and grilled fresh daily. Order your favorites now and experience premium island cuisine delivered hot and delicious." title="Order Your Caribbean Feast Online"
tag="Most Ordered" description="Build your custom order from our signature island dishes. Fast, secure checkout with multiple payment options."
tagIcon={Flame} tag="Quick & Easy Ordering"
tagIcon={ShoppingCart}
tagAnimation="slide-up" tagAnimation="slide-up"
background={{ variant: "glowing-orb" }}
buttons={[ buttons={[
{ {
text: "Explore Full Menu", text: "Proceed to Checkout", onClick: () => setOrderStage("checkout"),
href: "/menu",
}, },
]} ]}
buttonAnimation="slide-up" buttonAnimation="slide-up"
textboxLayout="default" imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773849790665-2gw0wih3.jpg?_wi=2"
gridVariant="three-columns-all-equal-width" imageAlt="Caribbean Flair food display"
animationType="slide-up" mediaAnimation="opacity"
useInvertedBackground={false} imagePosition="right"
products={[ ariaLabel="Order online hero section"
{
id: "jerk-chicken",
name: "Jerk Chicken Platter",
price: "$15.95",
variant: "Full Rack",
imageSrc: "http://img.b2bpic.net/free-photo/from-shrimps-batter-with-red-rice-greens-white-plate_176474-2654.jpg?_wi=3",
imageAlt: "Jerk chicken grilled on foil with spices",
onProductClick: undefined,
onFavorite: undefined,
isFavorited: false,
},
{
id: "curry-shrimp",
name: "Curry Shrimp Platter",
price: "$16.95",
variant: "Fresh Daily",
imageSrc: "http://img.b2bpic.net/free-photo/side-view-fried-eggs-with-shrimps-vegetables-pan-served-with-sauces_140725-11952.jpg?_wi=4",
imageAlt: "Curry shrimp over rice and peas",
onProductClick: undefined,
onFavorite: undefined,
isFavorited: false,
},
{
id: "conch-fritters",
name: "Conch Fritters Combo",
price: "$12.95",
variant: "6 Pieces",
imageSrc: "http://img.b2bpic.net/free-photo/chicken-nuggets-served-with-french-fries-sauces_140725-5759.jpg?_wi=3",
imageAlt: "Golden conch fritters with dipping sauce",
onProductClick: undefined,
onFavorite: undefined,
isFavorited: false,
},
]}
/> />
</div> </div>
<div id="order-featured" data-section="order-featured"> {/* Shopping Cart Section */}
<ProductCardFour <div id="cart" data-section="cart" className="px-4 py-12">
title="Premium Island Combinations" <div className="max-w-4xl mx-auto">
description="Build your perfect Caribbean meal with our curated combinations. Each platter includes fresh sides and authentic island flavors prepared fresh on the grill." <h1 className="text-3xl font-bold mb-8">Your Cart</h1>
tag="Customer Favorites"
tagIcon={Flame} {cart.length === 0 ? (
tagAnimation="slide-up" <div className="text-center py-12">
buttons={[ <ShoppingCart className="w-16 h-16 mx-auto text-gray-400 mb-4" />
{ <p className="text-xl text-gray-600">Your cart is empty</p>
text: "View All Platters", <a
href: "/menu", href="/menu"
}, className="inline-block mt-6 bg-blue-600 hover:bg-blue-700 text-white font-semibold py-3 px-6 rounded-lg transition"
]} >
buttonAnimation="slide-up" Browse Menu
textboxLayout="default" </a>
gridVariant="two-columns-alternating-heights" </div>
animationType="slide-up" ) : (
useInvertedBackground={true} <>
products={[ <div className="space-y-4 mb-8">
{ {cart.map((item) => (
id: "jerk-pork-combo", <ProductCartItem
name: "Jerk Pork Festival Combo", key={item.id}
price: "$17.95", item={item}
variant: "Complete Platter", onQuantityChange={handleQuantityChange}
imageSrc: "http://img.b2bpic.net/free-photo/hot-spicy-grilled-pork-salad-with-berry-rice_1339-6325.jpg?_wi=4", onRemove={handleRemove}
imageAlt: "Jerk pork platter with rice and tropical slaw", />
onProductClick: undefined, ))}
onFavorite: undefined, </div>
isFavorited: false,
}, {/* Cart Summary */}
{ <div className="bg-gray-50 rounded-lg p-6 mb-6">
id: "curry-goat-combo", <div className="space-y-2 mb-4">
name: "Curry Goat Island Feast", <div className="flex justify-between">
price: "$18.95", <span>Subtotal:</span>
variant: "Family Style", <span>${subtotal.toFixed(2)}</span>
imageSrc: "http://img.b2bpic.net/free-photo/rice-dish-with-sauce-near-spices_23-2147894777.jpg?_wi=4", </div>
imageAlt: "Rich curry goat served over rice and peas", <div className="flex justify-between">
onProductClick: undefined, <span>Tax (7%):</span>
onFavorite: undefined, <span>${tax.toFixed(2)}</span>
isFavorited: false, </div>
}, <div className="border-t pt-4 flex justify-between font-bold text-lg">
{ <span>Total:</span>
id: "escovitch-fish-combo", <span>${total.toFixed(2)}</span>
name: "Escovitch Fish Special", </div>
price: "$16.95", </div>
variant: "Fresh Catch", </div>
imageSrc: "http://img.b2bpic.net/free-photo/grilled-chicken-served-with-aubergine-lemon-parsley_140725-1554.jpg?_wi=3",
imageAlt: "Escovitch fish with pickled vegetables and lime", {/* Action Buttons */}
onProductClick: undefined, <div className="flex gap-4">
onFavorite: undefined, <a
isFavorited: false, href="/menu"
}, className="flex-1 bg-gray-200 hover:bg-gray-300 text-gray-800 font-semibold py-3 rounded-lg transition text-center"
{ >
id: "seafood-festival", Continue Shopping
name: "Seafood Festival Platter", </a>
price: "$19.95", <button
variant: "Premium Mix", onClick={() => setOrderStage("checkout")}
imageSrc: "http://img.b2bpic.net/free-photo/deep-fried-samosas-rustic-crockery-plate-generated-by-ai_188544-41080.jpg?_wi=4", className="flex-1 bg-blue-600 hover:bg-blue-700 text-white font-semibold py-3 rounded-lg transition flex items-center justify-center"
imageAlt: "Festival dumplings with tropical slaw and mac and cheese", >
onProductClick: undefined, <Lock className="w-5 h-5 mr-2" />
onFavorite: undefined, Proceed to Checkout
isFavorited: false, </button>
}, </div>
]} </>
/> )}
</div>
</div> </div>
{/* Footer */}
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterMedia <FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/chef-cooking-kitchen-while-wearing-professional-attire_23-2151208291.jpg?_wi=10" imageSrc="http://img.b2bpic.net/free-photo/chef-cooking-kitchen-while-wearing-professional-attire_23-2151208291.jpg?_wi=1"
imageAlt="Caribbean Flair Island Jerk Grill Trailer" imageAlt="Caribbean Flair Island Jerk Grill Trailer"
logoText="Caribbean Flair" logoText="Caribbean Flair"
copyrightText="© 2025 Caribbean Flair Island Jerk Grill | Black & Women-Owned | Lehigh Acres, FL" copyrightText="© 2025 Caribbean Flair Island Jerk Grill | Black & Women-Owned | Lehigh Acres, FL"

View File

@@ -19,49 +19,74 @@ import {
Zap, Zap,
TrendingUp, TrendingUp,
Facebook, Facebook,
Phone,
ShoppingCart,
X,
MapPin,
Clock,
} from "lucide-react"; } from "lucide-react";
import { useState, useEffect } from "react";
export default function HomePage() { export default function HomePage() {
const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);
const [isDesktopButtonsVisible, setIsDesktopButtonsVisible] = useState(true);
const [showCookiePreferences, setShowCookiePreferences] = useState(false);
const [cookiesAccepted, setCookiesAccepted] = useState(false);
useEffect(() => {
const cookieConsent = localStorage.getItem("cookie-consent");
if (!cookieConsent) {
setShowCookiePreferences(true);
} else {
setCookiesAccepted(true);
}
}, []);
const handleCookieAccept = () => {
localStorage.setItem("cookie-consent", "accepted");
setCookiesAccepted(true);
setShowCookiePreferences(false);
};
const navItems = [ const navItems = [
{ name: "Home", id: "home" }, { name: "Home", id: "home" },
{ name: "Menu", id: "menu" }, { name: "Menu", id: "signature-dishes" },
{ name: "About Us", id: "about" }, { name: "About Us", id: "owners-spotlight" },
{ name: "Gallery", id: "gallery" }, { name: "Gallery", id: "featured-gallery" },
{ name: "Reviews", id: "reviews" }, { name: "Reviews", id: "testimonials" },
{ name: "Locations", id: "locations" }, { name: "Locations", id: "footer" },
]; ];
const footerColumns = [ const footerColumns = [
{ {
title: "Quick Links", items: [ title: "Quick Links", items: [
{ label: "Home", href: "/" }, { label: "Home", href: "/" },
{ label: "Menu", href: "/menu" }, { label: "Menu", href: "#signature-dishes" },
{ label: "Gallery", href: "/" }, { label: "Gallery", href: "#featured-gallery" },
{ label: "Reviews", href: "/" }, { label: "Reviews", href: "#testimonials" },
], ],
}, },
{ {
title: "Order & Contact", items: [ title: "Order & Contact", items: [
{ label: "Order Online", href: "/" }, { label: "Order Online", href: "/order-now" },
{ label: "Call Us", href: "tel:2397850423" }, { label: "Call Us", href: "tel:2397850423" },
{ label: "Locations & Hours", href: "/" }, { label: "Locations & Hours", href: "#footer" },
{ label: "Contact", href: "/" }, { label: "Contact", href: "#footer" },
], ],
}, },
{ {
title: "Connect With Us", items: [ title: "Connect With Us", items: [
{ label: "Facebook", href: "https://facebook.com/caribbeanflair" }, { label: "Facebook", href: "https://www.facebook.com/share/1CckZyvyXX/?mibextid=wwXIfr" },
{ label: "About Us", href: "/" }, { label: "Privacy Policy", href: "#" },
{ label: "Privacy Policy", href: "/" }, { label: "Terms of Service", href: "#" },
{ label: "Terms of Service", href: "/" },
], ],
}, },
{ {
title: "Located In", items: [ title: "Located In", items: [
{ label: "801 Leeland Heights Blvd W", href: "/" }, { label: "801 Leeland Heights Blvd W", href: "#" },
{ label: "Lehigh Acres, FL 33936", href: "/" }, { label: "Lehigh Acres, FL 33936", href: "#" },
{ label: "Open Until 9PM", href: "/" }, { label: "Open Until 9PM", href: "#" },
{ label: "Delivery Available", href: "/" }, { label: "Delivery Available", href: "#" },
], ],
}, },
]; ];
@@ -79,20 +104,215 @@ export default function HomePage() {
secondaryButtonStyle="glass" secondaryButtonStyle="glass"
headingFontWeight="medium" headingFontWeight="medium"
> >
{/* Navbar */} <style>{`
<div id="nav" data-section="nav"> @keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes slideInFromLeft {
from {
opacity: 0;
transform: translateX(-60px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
@keyframes slideInFromRight {
from {
opacity: 0;
transform: translateX(60px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
@keyframes glowHover {
0% {
box-shadow: 0 0 0px rgba(227, 68, 0, 0.4);
}
50% {
box-shadow: 0 0 20px rgba(227, 68, 0, 0.6);
}
100% {
box-shadow: 0 0 30px rgba(227, 68, 0, 0.8);
}
}
html {
scroll-behavior: smooth;
}
body {
animation: fadeIn 0.8s ease-out;
}
[data-section] {
animation: fadeIn 1.2s ease-out forwards;
opacity: 0;
}
#hero [data-section] {
animation-delay: 0.1s;
}
#signature-dishes {
animation-delay: 0.2s;
}
#featured-gallery {
animation-delay: 0.3s;
}
#testimonials {
animation-delay: 0.4s;
}
#owners-spotlight {
animation-delay: 0.5s;
}
#final-cta {
animation-delay: 0.6s;
}
#footer {
animation-delay: 0.7s;
}
img {
animation: slideInFromRight 1s ease-out forwards;
opacity: 0;
}
#hero img {
animation-delay: 0.3s;
}
#signature-dishes img {
animation-delay: 0.4s;
}
#featured-gallery img {
animation-delay: 0.5s;
}
button, [role="button"], a[href*="#"], a[href*="/"] {
position: relative;
transition: all 0.3s ease;
}
button:hover, [role="button"]:hover, a[href*="#"]:hover, a[href*="/"]:hover {
animation: glowHover 0.6s ease-in-out;
}
.bg-gradient-to-r, .bg-primary-cta, [class*="bg-blue"], [class*="bg-orange"], [class*="bg-red"] {
transition: all 0.3s ease;
}
.bg-gradient-to-r:hover, .bg-primary-cta:hover, [class*="bg-blue"]:hover, [class*="bg-orange"]:hover, [class*="bg-red"]:hover {
filter: brightness(1.1);
animation: glowHover 0.6s ease-in-out;
}
`}</style>
{/* Persistent Top Navigation Bar */}
<div id="nav" data-section="nav" className="sticky top-0 z-40 w-full bg-white/80 backdrop-blur-md border-b border-gray-200">
<NavbarStyleCentered <NavbarStyleCentered
brandName="Caribbean Flair" brandName="Caribbean Flair"
navItems={navItems} navItems={navItems}
button={{ button={{
text: "Order Now", href: "/menu"}} text: "Order Now", href: "/order-now"
}}
/> />
</div> </div>
{/* Floating Mobile Sidebar Menu */}
{isMobileMenuOpen && (
<div className="fixed inset-0 z-30 md:hidden">
<div
className="absolute inset-0 bg-black/50"
onClick={() => setIsMobileMenuOpen(false)}
/>
<div className="absolute right-0 top-16 w-64 bg-white/95 backdrop-blur-lg rounded-lg shadow-2xl m-4 border border-white/20">
<div className="p-6 space-y-4">
{navItems.map((item) => (
<a
key={item.id}
href={`#${item.id}`}
className="block text-gray-800 hover:text-primary-cta font-medium"
onClick={() => setIsMobileMenuOpen(false)}
>
{item.name}
</a>
))}
<a href="/order-now" className="w-full bg-primary-cta text-white py-2 rounded-lg font-semibold hover:opacity-90 text-center block">
Order Now
</a>
</div>
</div>
</div>
)}
{/* Floating Desktop Action Buttons */}
{isDesktopButtonsVisible && (
<div className="hidden md:fixed md:right-6 md:bottom-6 md:z-20 md:flex md:flex-col md:gap-3">
<a
href="tel:2397850423"
className="bg-white/90 backdrop-blur-lg border border-white/20 rounded-full p-4 shadow-lg hover:shadow-xl hover:bg-white transition-all flex items-center justify-center group"
title="Call Us"
>
<Phone className="w-6 h-6 text-primary-cta group-hover:scale-110 transition-transform" />
</a>
<a
href="/order-now"
className="bg-gradient-to-r from-primary-cta to-accent text-white rounded-full p-4 shadow-lg hover:shadow-xl transition-all flex items-center justify-center group font-semibold"
title="Order Now"
>
<ShoppingCart className="w-6 h-6 group-hover:scale-110 transition-transform" />
</a>
</div>
)}
{/* Cookie Preferences Popup */}
{showCookiePreferences && !cookiesAccepted && (
<div className="fixed bottom-6 left-6 right-6 z-50 max-w-sm bg-white/95 backdrop-blur-lg rounded-lg shadow-2xl border border-white/20 p-4 md:p-6">
<div className="space-y-3">
<h3 className="font-semibold text-gray-900">Cookie Preferences</h3>
<p className="text-sm text-gray-600">
We use cookies to enhance your experience, personalize content, and analyze site traffic.
</p>
<div className="flex gap-3">
<button
onClick={handleCookieAccept}
className="flex-1 bg-primary-cta text-white py-2 rounded-lg font-semibold hover:opacity-90 transition-opacity"
>
Accept All
</button>
<button
onClick={() => setShowCookiePreferences(false)}
className="flex-1 border border-gray-300 text-gray-800 py-2 rounded-lg font-semibold hover:bg-gray-50 transition-colors"
>
Decline
</button>
</div>
</div>
</div>
)}
{/* Hero Section */} {/* Hero Section */}
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroSplit <HeroSplit
title="Authentic Jamaican Island Flavors in Lehigh Acres" title="Caribbean Flair Island"
description="Fresh off the grill. Jerk, curry, and soul food made with love by Teria Bryant & Deb Farrell. Experience premium Caribbean fusion like never before." description="Fresh off the grill. Jerk, curry, and soul food made with love by Teria Bryant & Deb Farrell. Experience premium Caribbean fusion like never before."
tag="Black & Women-Owned" tag="Black & Women-Owned"
tagIcon={Award} tagIcon={Award}
@@ -100,12 +320,14 @@ export default function HomePage() {
background={{ variant: "glowing-orb" }} background={{ variant: "glowing-orb" }}
buttons={[ buttons={[
{ {
text: "Order Online Now", href: "/menu"}, text: "Order Online Now", href: "/order-now"
},
{ {
text: "View Full Menu", href: "/menu"}, text: "View Full Menu", href: "#signature-dishes"
},
]} ]}
buttonAnimation="slide-up" buttonAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-vector/summer-label-collectio_23-2148160410.jpg" imageSrc="data:image/svg+xml,%3Csvg xmlns=?_wi=6'http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E"
imageAlt="Red Caribbean Flair Island Jerk Grill Trailer" imageAlt="Red Caribbean Flair Island Jerk Grill Trailer"
mediaAnimation="opacity" mediaAnimation="opacity"
imagePosition="right" imagePosition="right"
@@ -123,7 +345,8 @@ export default function HomePage() {
tagAnimation="slide-up" tagAnimation="slide-up"
buttons={[ buttons={[
{ {
text: "Explore Full Menu", href: "/menu"}, text: "Order Now", href: "/order-now"
},
]} ]}
buttonAnimation="slide-up" buttonAnimation="slide-up"
textboxLayout="default" textboxLayout="default"
@@ -133,13 +356,16 @@ export default function HomePage() {
products={[ products={[
{ {
id: "jerk-chicken", name: "Jerk Chicken Platter", price: "$15.95", variant: "Full Rack", imageSrc: id: "jerk-chicken", name: "Jerk Chicken Platter", price: "$15.95", variant: "Full Rack", imageSrc:
"http://img.b2bpic.net/free-photo/from-shrimps-batter-with-red-rice-greens-white-plate_176474-2654.jpg?_wi=1", imageAlt: "Jerk chicken grilled on foil with spices"}, "https://upload.wikimedia.org/wikipedia/commons/thumb/8/8d/Jerk_chicken.jpg/1024px-Jerk_chicken.jpg", imageAlt: "Jerk chicken grilled on foil with spices"
},
{ {
id: "curry-shrimp", name: "Curry Shrimp Platter", price: "$16.95", variant: "Fresh Daily", imageSrc: id: "curry-shrimp", name: "Curry Shrimp Platter", price: "$16.95", variant: "Fresh Daily", imageSrc:
"http://img.b2bpic.net/free-photo/side-view-fried-eggs-with-shrimps-vegetables-pan-served-with-sauces_140725-11952.jpg?_wi=1", imageAlt: "Curry shrimp over rice and peas"}, "https://upload.wikimedia.org/wikipedia/commons/thumb/f/f3/Curry_shrimp.jpg/1024px-Curry_shrimp.jpg", imageAlt: "Curry shrimp over rice and peas"
},
{ {
id: "conch-fritters", name: "Conch Fritters Combo", price: "$12.95", variant: "6 Pieces", imageSrc: id: "conch-fritters", name: "Conch Fritters Combo", price: "$12.95", variant: "6 Pieces", imageSrc:
"http://img.b2bpic.net/free-photo/chicken-nuggets-served-with-french-fries-sauces_140725-5759.jpg?_wi=1", imageAlt: "Golden conch fritters with dipping sauce"}, "https://upload.wikimedia.org/wikipedia/commons/thumb/9/9e/Conch_fritters.jpg/1024px-Conch_fritters.jpg", imageAlt: "Golden conch fritters with dipping sauce"
},
]} ]}
/> />
</div> </div>
@@ -159,34 +385,40 @@ export default function HomePage() {
{ {
id: "jerk-pork", category: "Main Dishes", title: "Jerk Pork Did Not Disappoint", excerpt: id: "jerk-pork", category: "Main Dishes", title: "Jerk Pork Did Not Disappoint", excerpt:
"Perfectly seasoned and grilled, bursting with island spices and authentic Jamaican flavor.", imageSrc: "Perfectly seasoned and grilled, bursting with island spices and authentic Jamaican flavor.", imageSrc:
"http://img.b2bpic.net/free-photo/hot-spicy-grilled-pork-salad-with-berry-rice_1339-6325.jpg?_wi=1", imageAlt: "Jerk pork platter with rice and tropical slaw", authorName: "Caribbean Flair Team", authorAvatar: "data:image/svg+xml,%3Csvg xmlns=?_wi=10'http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E", imageAlt: "Jerk pork platter with rice and tropical slaw", authorName: "Caribbean Flair Team", authorAvatar:
"http://img.b2bpic.net/free-photo/handsome-business-man-wearing-suit-looking-camera-smiling-broadly-with-happy-face-standing-white-background_141793-54115.jpg", date: "Fresh Daily"}, "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='20' fill='%23e8e8e8'/%3E%3Ctext x='50%' y='50%' font-size='12' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3EAuthor%3C/text%3E%3C/svg%3E", date: "Fresh Daily"
},
{ {
id: "curry-goat", category: "Featured", title: "Curry Goat - A Community Favorite", excerpt: id: "curry-goat", category: "Featured", title: "Curry Goat - A Community Favorite", excerpt:
"Tender, aromatic, and cooked to perfection. Every bite transports you straight to Jamaica.", imageSrc: "Tender, aromatic, and cooked to perfection. Every bite transports you straight to Jamaica.", imageSrc:
"http://img.b2bpic.net/free-photo/rice-dish-with-sauce-near-spices_23-2147894777.jpg?_wi=1", imageAlt: "Rich curry goat served over rice and peas", authorName: "Caribbean Flair Team", authorAvatar: "data:image/svg+xml,%3Csvg xmlns=?_wi=11'http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E", imageAlt: "Rich curry goat served over rice and peas", authorName: "Caribbean Flair Team", authorAvatar:
"http://img.b2bpic.net/free-vector/colorful-avatars_23-2147502919.jpg", date: "Popular Choice"}, "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='20' fill='%23e8e8e8'/%3E%3Ctext x='50%' y='50%' font-size='12' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3EAuthor%3C/text%3E%3C/svg%3E", date: "Popular Choice"
},
{ {
id: "festival-sides", category: "Sides", title: "Festival Dumplings & Tropical Slaw", excerpt: id: "festival-sides", category: "Sides", title: "Festival Dumplings & Tropical Slaw", excerpt:
"Crispy, golden festival dumplings paired with our signature tropical slaw for the perfect complement.", imageSrc: "Crispy, golden festival dumplings paired with our signature tropical slaw for the perfect complement.", imageSrc:
"http://img.b2bpic.net/free-photo/deep-fried-samosas-rustic-crockery-plate-generated-by-ai_188544-41080.jpg?_wi=1", imageAlt: "data:image/svg+xml,%3Csvg xmlns=?_wi=12'http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E", imageAlt:
"Festival dumplings with tropical slaw and mac and cheese", authorName: "Caribbean Flair Team", authorAvatar: "Festival dumplings with tropical slaw and mac and cheese", authorName: "Caribbean Flair Team", authorAvatar:
"http://img.b2bpic.net/free-photo/close-up-businessman-with-tie_1098-2867.jpg", date: "Must Try"}, "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='20' fill='%23e8e8e8'/%3E%3Ctext x='50%' y='50%' font-size='12' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3EAuthor%3C/text%3E%3C/svg%3E", date: "Must Try"
},
{ {
id: "escovitch-fish", category: "Seafood", title: "Escovitch Fish - Island Tradition", excerpt: id: "escovitch-fish", category: "Seafood", title: "Escovitch Fish - Island Tradition", excerpt:
"Fresh fish prepared in authentic Jamaican style with pickled vegetables and bold island flavors.", imageSrc: "Fresh fish prepared in authentic Jamaican style with pickled vegetables and bold island flavors.", imageSrc:
"http://img.b2bpic.net/free-photo/grilled-chicken-served-with-aubergine-lemon-parsley_140725-1554.jpg?_wi=1", imageAlt: "Escovitch fish with pickled vegetables and lime", authorName: "Caribbean Flair Team", authorAvatar: "data:image/svg+xml,%3Csvg xmlns=?_wi=13'http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E", imageAlt: "Escovitch fish with pickled vegetables and lime", authorName: "Caribbean Flair Team", authorAvatar:
"http://img.b2bpic.net/free-photo/young-male-holding-hands-pockets-white-shirt-jacket-looking-elegant-front-view_176474-99655.jpg", date: "Customer Favorite"}, "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='20' fill='%23e8e8e8'/%3E%3Ctext x='50%' y='50%' font-size='12' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3EAuthor%3C/text%3E%3C/svg%3E", date: "Customer Favorite"
},
{ {
id: "mac-cheese", category: "Sides", title: "Creamy Island Mac & Cheese", excerpt: id: "mac-cheese", category: "Sides", title: "Creamy Island Mac & Cheese", excerpt:
"Smooth, rich, and soul-warming comfort food that pairs perfectly with any of our signature mains.", imageSrc: "Smooth, rich, and soul-warming comfort food that pairs perfectly with any of our signature mains.", imageSrc:
"http://img.b2bpic.net/free-photo/delicious-food-presentation_23-2151914003.jpg?_wi=1", imageAlt: "Creamy mac and cheese side dish", authorName: "Caribbean Flair Team", authorAvatar: "data:image/svg+xml,%3Csvg xmlns=?_wi=14'http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E", imageAlt: "Creamy mac and cheese side dish", authorName: "Caribbean Flair Team", authorAvatar:
"http://img.b2bpic.net/free-photo/pleased-young-brunette-caucasian-girl-looks-camera_141793-103873.jpg", date: "Comfort Classic"}, "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='20' fill='%23e8e8e8'/%3E%3Ctext x='50%' y='50%' font-size='12' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3EAuthor%3C/text%3E%3C/svg%3E", date: "Comfort Classic"
},
{ {
id: "grill-action", category: "Behind the Scenes", title: "Fresh Off The Grill - Live Action", excerpt: id: "grill-action", category: "Behind the Scenes", title: "Fresh Off The Grill - Live Action", excerpt:
"Watch our expert grill masters prepare your meal with passion, precision, and authentic Caribbean technique.", imageSrc: "Watch our expert grill masters prepare your meal with passion, precision, and authentic Caribbean technique.", imageSrc:
"http://img.b2bpic.net/free-photo/friends-having-nice-barbeque-together_23-2149271905.jpg?_wi=1", imageAlt: "Chef grilling jerk meats on foil with smoke", authorName: "Caribbean Flair Team", authorAvatar: "data:image/svg+xml,%3Csvg xmlns=?_wi=15'http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E", imageAlt: "Chef grilling jerk meats on foil with smoke", authorName: "Caribbean Flair Team", authorAvatar:
"http://img.b2bpic.net/free-photo/handsome-business-man-wearing-suit-looking-camera-smiling-broadly-with-happy-face-standing-white-background_141793-54115.jpg", date: "Daily Special"}, "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='20' fill='%23e8e8e8'/%3E%3Ctext x='50%' y='50%' font-size='12' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3EAuthor%3C/text%3E%3C/svg%3E", date: "Daily Special"
},
]} ]}
/> />
</div> </div>
@@ -205,35 +437,30 @@ export default function HomePage() {
showRating={true} showRating={true}
testimonials={[ testimonials={[
{ {
id: "review-1", name: "Sarah Johnson", handle: "@sarahjohn2024", testimonial: id: "review-1", name: "A wonderful escape from the rush", handle: "@happycustomer", testimonial: "Caribbean Flair is like stepping into a tropical paradise in the middle of Lehigh Acres. The food is authentic, the portions are generous, and you can taste the passion in every bite. Highly recommend!", rating: 5,
"Every dish packed with authentic island flavor! Teria and Deb truly know how to deliver Caribbean excellence.", rating: 5,
imageSrc: imageSrc:
"http://img.b2bpic.net/free-photo/young-woman-eating-delicious-tiramisu-cafe_1303-25270.jpg?_wi=1", imageAlt: "Sarah Johnson smiling"}, "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773858120920-110y3vfr.png", imageAlt: "Happy customer"
},
{ {
id: "review-2", name: "Michael Chen", handle: "@mikeflavorseek", testimonial: id: "review-2", name: "Authentic flavors that transport you", handle: "@flavorseeker", testimonial: "Every time I order from Caribbean Flair, I feel like I'm on vacation. The jerk seasoning is perfect, the sides are fresh, and Teria and Deb's passion for the business really shows. This is the real deal!", rating: 5,
"Jerk pork did not disappoint! Best food truck in Lehigh Acres. Fresh, authentic, and made with real passion.", rating: 5,
imageSrc: imageSrc:
"http://img.b2bpic.net/free-photo/couple-enjoying-spending-good-time-together-while-having-date-restaurant_58466-16035.jpg?_wi=1", imageAlt: "Michael Chen enjoying Caribbean Flair"}, "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773858120921-5ihmnmey.png", imageAlt: "Satisfied diner"
},
{ {
id: "review-3", name: "Amanda Davis", handle: "@amandataste", testimonial: id: "review-3", name: "Supporting local black-owned excellence", handle: "@communityproud", testimonial: "I love supporting local black-owned and women-owned businesses, and Caribbean Flair is setting the bar high. The quality of food is on par with restaurants charging twice the price. This is what community means!", rating: 5,
"The curry shrimp is absolutely incredible! You can taste the love in every bite. Supporting Black-owned, women-owned businesses never tasted so good.", rating: 5,
imageSrc: imageSrc:
"http://img.b2bpic.net/free-photo/sideways-shot-attractive-curly-woman-has-happy-expression-enjoys-electronic-song-modern-headphones-has-recreation-time-reads-text-message-cell-phone_273609-3485.jpg?_wi=1", imageAlt: "Amanda Davis with Caribbean Flair meal"}, "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773858120921-a2zauysc.png", imageAlt: "Community supporter"
},
{ {
id: "review-4", name: "David Martinez", handle: "@davidsflavorquests", testimonial: id: "review-4", name: "Best food truck experience ever", handle: "@foodlover", testimonial: "I've been to a lot of food trucks, but Caribbean Flair stands out. Fresh ingredients, perfect seasoning, quick service, and amazing people running it. This is exactly what Lehigh Acres needed!", rating: 5,
"Finally, real Caribbean food in Lehigh Acres! The menu, the quality, the service—everything is top-tier. This is my new favorite spot.", rating: 5,
imageSrc: imageSrc:
"http://img.b2bpic.net/free-photo/crazy-dealer-happy-expression_1194-4005.jpg?_wi=1", imageAlt: "David Martinez at Caribbean Flair"}, "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773858120921-ulw90m6s.png", imageAlt: "Food enthusiast"
},
{ {
id: "review-5", name: "Jessica Williams", handle: "@jessicaeats_local", testimonial: id: "review-5", name: "Worth every penny", handle: "@valueseeker", testimonial: "For the quality and quantity of food you get at Caribbean Flair, the prices are incredibly fair. You're not just getting a meal, you're getting an authentic Caribbean experience made with love and expertise.", rating: 5,
"Conch fritters are crispy heaven! The whole experience feels premium yet so authentic. Teria and Deb are changing the food game.", rating: 5,
imageSrc: imageSrc:
"http://img.b2bpic.net/free-photo/friends-eating-barbecue_23-2148733607.jpg?_wi=1", imageAlt: "Jessica Williams enjoying meal"}, "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773858120921-j0in75sv.png", imageAlt: "Value-conscious customer"
{ },
id: "review-6", name: "Robert Thompson", handle: "@robfeeds", testimonial:
"Island fusion done right. The quality of ingredients and cooking technique is professional-level. Worth every penny and the drive. Highly recommend!", rating: 5,
imageSrc:
"http://img.b2bpic.net/free-photo/woman-with-thumbs-up_1149-1163.jpg?_wi=1", imageAlt: "Robert Thompson thumbs up"},
]} ]}
/> />
</div> </div>
@@ -241,8 +468,8 @@ export default function HomePage() {
{/* Owners Spotlight Section */} {/* Owners Spotlight Section */}
<div id="owners-spotlight" data-section="owners-spotlight"> <div id="owners-spotlight" data-section="owners-spotlight">
<TeamCardTwo <TeamCardTwo
title="Meet the Island Visionaries" title="Meet the Owners"
description="Teria Bryant and Deb Farrell: Passionate Black-owned, women-owned entrepreneurs bringing authentic Caribbean soul to Lehigh Acres." description="Teris Bryan and Deb Farrell: Passionate entrepreneurs bringing authentic Caribbean soul to Lehigh Acres."
tag="Community Leaders" tag="Community Leaders"
tagIcon={Heart} tagIcon={Heart}
tagAnimation="slide-up" tagAnimation="slide-up"
@@ -253,20 +480,22 @@ export default function HomePage() {
members={[ members={[
{ {
id: "teria-bryant", name: "Teria Bryant", role: "Founder & Head Chef", description: id: "teria-bryant", name: "Teria Bryant", role: "Founder & Head Chef", description:
"Teria brings 15+ years of Caribbean culinary expertise and authentic island passion to every dish. Her vision transformed Caribbean Flair from a dream into a premium dining destination serving Lehigh Acres with pride.", imageSrc: "Teria brings 15+ years of Caribbean culinary expertise and authentic island passion to every dish. They transformed Caribbean Flair from a dream into a premium dining destination serving Lehigh Acres with pride.", videoSrc:
"http://img.b2bpic.net/free-photo/medium-shot-professional-chef-working_23-2151232185.jpg?_wi=1", imageAlt: "Teria Bryant, founder of Caribbean Flair", socialLinks: [ "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Afn0reuidgadYlHif4J2xHlmq8/uploaded-1773857612004-vaw7ydy1.jpg", videoAriaLabel: "Teria Bryant, founder of Caribbean Flair", socialLinks: [
{ {
icon: Facebook, icon: Facebook,
url: "https://facebook.com/caribbeanflair"}, url: "https://www.facebook.com/share/1CckZyvyXX/?mibextid=wwXIfr"
},
], ],
}, },
{ {
id: "deb-farrell", name: "Deb Farrell", role: "Co-Owner & Operations Lead", description: id: "deb-farrell", name: "Deb Farrell", role: "Co-Owner & Operations Lead", description:
"Deb ensures every customer experience is smooth, welcoming, and unforgettable. Together with Teria, she's building a thriving Black- and women-owned business that celebrates Caribbean culture and community impact.", imageSrc: "Deb ensures every customer experience is smooth, welcoming, and unforgettable. Together with Teria, they are building a thriving Black- and women-owned business that celebrates Caribbean culture and community impact.", videoSrc:
"http://img.b2bpic.net/free-photo/successful-business-woman-blue-suit_158595-5024.jpg?_wi=1", imageAlt: "Deb Farrell, co-owner of Caribbean Flair", socialLinks: [ "data:image/svg+xml,%3Csvg xmlns=?_wi=16'http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E", videoAriaLabel: "Deb Farrell, co-owner of Caribbean Flair", socialLinks: [
{ {
icon: Facebook, icon: Facebook,
url: "https://facebook.com/caribbeanflair"}, url: "https://www.facebook.com/share/1CckZyvyXX/?mibextid=wwXIfr"
},
], ],
}, },
]} ]}
@@ -283,9 +512,11 @@ export default function HomePage() {
tagAnimation="slide-up" tagAnimation="slide-up"
buttons={[ buttons={[
{ {
text: "Order Online Now", href: "/menu"}, text: "Order Online Now", href: "/order-now"
},
{ {
text: "Call (239) 785-0423", href: "tel:2397850423"}, text: "Call (239) 785-0423", href: "tel:2397850423"
},
]} ]}
buttonAnimation="slide-up" buttonAnimation="slide-up"
textboxLayout="default" textboxLayout="default"
@@ -296,14 +527,17 @@ export default function HomePage() {
id: "fast-delivery", title: "Fast & Fresh", description: id: "fast-delivery", title: "Fast & Fresh", description:
"Grilled fresh to order. Your meal arrives hot, delicious, and packed with island flavor.", media: { "Grilled fresh to order. Your meal arrives hot, delicious, and packed with island flavor.", media: {
imageSrc: imageSrc:
"http://img.b2bpic.net/free-photo/side-view-smiley-man-getting-coffee_23-2149663609.jpg?_wi=1"}, "data:image/svg+xml,%3Csvg xmlns=?_wi=17'http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E"
},
items: [ items: [
{ {
icon: Zap, icon: Zap,
text: "Ready in 15 minutes"}, text: "Ready in 15 minutes"
},
{ {
icon: TrendingUp, icon: TrendingUp,
text: "Peak fresh quality"}, text: "Peak fresh quality"
},
], ],
reverse: false, reverse: false,
}, },
@@ -311,13 +545,13 @@ export default function HomePage() {
/> />
</div> </div>
{/* Footer */} {/* Footer with Local Map Info and Social Links */}
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterMedia <FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/chef-cooking-kitchen-while-wearing-professional-attire_23-2151208291.jpg?_wi=1" imageSrc="data:image/svg+xml,%3Csvg xmlns=?_wi=18'http://www.w3.org/2000/svg' width='400' height='300' viewBox='0 0 400 300'%3E%3Crect fill='%23e8e8e8' width='400' height='300'/%3E%3Ctext x='50%' y='50%' font-size='16' text-anchor='middle' dominant-baseline='middle' fill='%23999'%3ETemplate Image%3C/text%3E%3C/svg%3E"
imageAlt="Caribbean Flair Island Jerk Grill Trailer" imageAlt="Caribbean Flair Island Jerk Grill Trailer"
logoText="Caribbean Flair" logoText="Caribbean Flair"
copyrightText="© 2025 Caribbean Flair Island Jerk Grill | Black & Women-Owned | Lehigh Acres, FL" copyrightText="© 2026 Caribbean Flair Island Jerk Grill | Black & Women-Owned | Lehigh Acres, FL"
columns={footerColumns} columns={footerColumns}
/> />
</div> </div>

View File

@@ -1,13 +1,11 @@
"use client"; "use client";
import Link from "next/link";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered"; import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered";
import HeroSplit from "@/components/sections/hero/HeroSplit";
import TestimonialCardThirteen from "@/components/sections/testimonial/TestimonialCardThirteen"; import TestimonialCardThirteen from "@/components/sections/testimonial/TestimonialCardThirteen";
import MetricCardThree from "@/components/sections/metrics/MetricCardThree";
import FeatureCardTen from "@/components/sections/feature/FeatureCardTen";
import FooterMedia from "@/components/sections/footer/FooterMedia"; import FooterMedia from "@/components/sections/footer/FooterMedia";
import { Star, Heart, Zap, TrendingUp, Award } from "lucide-react"; import { Star, Heart, Award } from "lucide-react";
export default function ReviewsPage() { export default function ReviewsPage() {
const navItems = [ const navItems = [
@@ -24,15 +22,15 @@ export default function ReviewsPage() {
title: "Quick Links", items: [ title: "Quick Links", items: [
{ label: "Home", href: "/" }, { label: "Home", href: "/" },
{ label: "Menu", href: "/menu" }, { label: "Menu", href: "/menu" },
{ label: "Gallery", href: "/gallery" }, { label: "Gallery", href: "/" },
{ label: "Reviews", href: "/reviews" }, { label: "Reviews", href: "/reviews" },
], ],
}, },
{ {
title: "Order & Contact", items: [ title: "Order & Contact", items: [
{ label: "Order Online", href: "/menu" }, { label: "Order Online", href: "/" },
{ label: "Call Us", href: "tel:2397850423" }, { label: "Call Us", href: "tel:2397850423" },
{ label: "Locations & Hours", href: "/locations" }, { label: "Locations & Hours", href: "/" },
{ label: "Contact", href: "/" }, { label: "Contact", href: "/" },
], ],
}, },
@@ -46,9 +44,9 @@ export default function ReviewsPage() {
}, },
{ {
title: "Located In", items: [ title: "Located In", items: [
{ label: "801 Leeland Heights Blvd W", href: "/locations" }, { label: "801 Leeland Heights Blvd W", href: "/" },
{ label: "Lehigh Acres, FL 33936", href: "/locations" }, { label: "Lehigh Acres, FL 33936", href: "/" },
{ label: "Open Until 9PM", href: "/locations" }, { label: "Open Until 9PM", href: "/" },
{ label: "Delivery Available", href: "/" }, { label: "Delivery Available", href: "/" },
], ],
}, },
@@ -77,62 +75,12 @@ export default function ReviewsPage() {
/> />
</div> </div>
{/* Hero Section */} {/* Five-Star Reviews Section */}
<div id="hero" data-section="hero"> <div id="reviews-featured" data-section="reviews-featured">
<HeroSplit
title="Customer Reviews - 5-Star Island Experiences"
description="See what our community says about their authentic Caribbean Flair dining experience. Real stories from real customers who love our island flavors."
tag="Highly Rated"
tagIcon={Star}
tagAnimation="slide-up"
background={{ variant: "glowing-orb" }}
buttons={[
{
text: "Order Online Now", href: "/menu"},
]}
buttonAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-photo/friends-eating-barbecue_23-2148733607.jpg?_wi=1"
imageAlt="Caribbean Flair Island Jerk Grill Trailer"
mediaAnimation="opacity"
imagePosition="right"
ariaLabel="Reviews hero section showcasing customer testimonials"
/>
</div>
{/* Review Statistics Section */}
<div id="review-stats" data-section="review-stats">
<MetricCardThree
title="Caribbean Flair by the Numbers"
description="Our commitment to quality and customer satisfaction, reflected in real community feedback."
tag="Community Verified"
tagIcon={Award}
tagAnimation="slide-up"
textboxLayout="default"
animationType="slide-up"
useInvertedBackground={false}
metrics={[
{
id: "rating", icon: Star,
title: "Average Rating", value: "4.9/5"},
{
id: "reviews", icon: Heart,
title: "Customer Reviews", value: "500+"},
{
id: "satisfaction", icon: Award,
title: "Satisfaction Rate", value: "98%"},
{
id: "returning", icon: TrendingUp,
title: "Returning Customers", value: "85%"},
]}
/>
</div>
{/* Full Testimonials Section */}
<div id="testimonials" data-section="testimonials">
<TestimonialCardThirteen <TestimonialCardThirteen
title="What Our Customers Say" title="Real Island Flavor Stories"
description="Real five-star reviews from customers who've experienced authentic Caribbean Flair dining." description="Hear from our community about their authentic Caribbean Flair dining experience. Our customers rate us 5-stars for quality, authenticity, and passionate service."
tag="5-Star Reviews" tag="5-Star Rated"
tagIcon={Star} tagIcon={Star}
tagAnimation="slide-up" tagAnimation="slide-up"
textboxLayout="default" textboxLayout="default"
@@ -142,22 +90,22 @@ export default function ReviewsPage() {
testimonials={[ testimonials={[
{ {
id: "review-1", name: "Sarah Johnson", handle: "@sarahjohn2024", testimonial: id: "review-1", name: "Sarah Johnson", handle: "@sarahjohn2024", testimonial:
"Every dish packed with authentic island flavor! Teria and Deb truly know how to deliver Caribbean excellence. I've been five times in the last month alone!", rating: 5, "Every dish packed with authentic island flavor! Teria and Deb truly know how to deliver Caribbean excellence. I've been here 5 times already!", rating: 5,
imageSrc: imageSrc:
"http://img.b2bpic.net/free-photo/young-woman-eating-delicious-tiramisu-cafe_1303-25270.jpg?_wi=1", imageAlt: "Sarah Johnson smiling"}, "http://img.b2bpic.net/free-photo/young-woman-eating-delicious-tiramisu-cafe_1303-25270.jpg?_wi=1", imageAlt: "Sarah Johnson smiling"},
{ {
id: "review-2", name: "Michael Chen", handle: "@mikeflavorseek", testimonial: id: "review-2", name: "Michael Chen", handle: "@mikeflavorseek", testimonial:
"Jerk pork did not disappoint! Best food truck in Lehigh Acres. Fresh, authentic, and made with real passion. This is my go-to spot every Friday!", rating: 5, "Jerk pork did not disappoint! Best food truck in Lehigh Acres. Fresh, authentic, and made with real passion. Absolutely worth the visit.", rating: 5,
imageSrc: imageSrc:
"http://img.b2bpic.net/free-photo/couple-enjoying-spending-good-time-together-while-having-date-restaurant_58466-16035.jpg?_wi=1", imageAlt: "Michael Chen enjoying Caribbean Flair"}, "http://img.b2bpic.net/free-photo/couple-enjoying-spending-good-time-together-while-having-date-restaurant_58466-16035.jpg?_wi=1", imageAlt: "Michael Chen enjoying Caribbean Flair"},
{ {
id: "review-3", name: "Amanda Davis", handle: "@amandataste", testimonial: id: "review-3", name: "Amanda Davis", handle: "@amandataste", testimonial:
"The curry shrimp is absolutely incredible! You can taste the love in every bite. Supporting Black-owned, women-owned businesses never tasted so good. Highly recommend!", rating: 5, "The curry shrimp is absolutely incredible! You can taste the love in every bite. Supporting Black-owned, women-owned businesses never tasted so good.", rating: 5,
imageSrc: imageSrc:
"http://img.b2bpic.net/free-photo/sideways-shot-attractive-curly-woman-has-happy-expression-enjoys-electronic-song-modern-headphones-has-recreation-time-reads-text-message-cell-phone_273609-3485.jpg?_wi=1", imageAlt: "Amanda Davis with Caribbean Flair meal"}, "http://img.b2bpic.net/free-photo/sideways-shot-attractive-curly-woman-has-happy-expression-enjoys-electronic-song-modern-headphones-has-recreation-time-reads-text-message-cell-phone_273609-3485.jpg?_wi=1", imageAlt: "Amanda Davis with Caribbean Flair meal"},
{ {
id: "review-4", name: "David Martinez", handle: "@davidsflavorquests", testimonial: id: "review-4", name: "David Martinez", handle: "@davidsflavorquests", testimonial:
"Finally, real Caribbean food in Lehigh Acres! The menu, the quality, the service—everything is top-tier. This is my new favorite spot for family dinners.", rating: 5, "Finally, real Caribbean food in Lehigh Acres! The menu, the quality, the service—everything is top-tier. This is my new favorite spot.", rating: 5,
imageSrc: imageSrc:
"http://img.b2bpic.net/free-photo/crazy-dealer-happy-expression_1194-4005.jpg?_wi=1", imageAlt: "David Martinez at Caribbean Flair"}, "http://img.b2bpic.net/free-photo/crazy-dealer-happy-expression_1194-4005.jpg?_wi=1", imageAlt: "David Martinez at Caribbean Flair"},
{ {
@@ -167,48 +115,15 @@ export default function ReviewsPage() {
"http://img.b2bpic.net/free-photo/friends-eating-barbecue_23-2148733607.jpg?_wi=1", imageAlt: "Jessica Williams enjoying meal"}, "http://img.b2bpic.net/free-photo/friends-eating-barbecue_23-2148733607.jpg?_wi=1", imageAlt: "Jessica Williams enjoying meal"},
{ {
id: "review-6", name: "Robert Thompson", handle: "@robfeeds", testimonial: id: "review-6", name: "Robert Thompson", handle: "@robfeeds", testimonial:
"Island fusion done right. The quality of ingredients and cooking technique is professional-level. Worth every penny and the drive. Highly recommend to everyone!", rating: 5, "Island fusion done right. The quality of ingredients and cooking technique is professional-level. Worth every penny and the drive. Highly recommend!", rating: 5,
imageSrc: imageSrc:
"http://img.b2bpic.net/free-photo/woman-with-thumbs-up_1149-1163.jpg?_wi=1", imageAlt: "Robert Thompson thumbs up"}, "http://img.b2bpic.net/free-photo/woman-with-thumbs-up_1149-1163.jpg?_wi=1", imageAlt: "Robert Thompson thumbs up"},
]} ]}
/>
</div>
{/* Call to Action Section */}
<div id="reviews-cta" data-section="reviews-cta">
<FeatureCardTen
title="Join Thousands of Satisfied Customers"
description="Experience why customers consistently give us 5-star reviews. Authentic Caribbean flavors, passionate owners, and community-driven quality that you can taste in every bite."
tag="Order Today"
tagIcon={Zap}
tagAnimation="slide-up"
buttons={[ buttons={[
{ {
text: "Order Online Now", href: "/menu"}, text: "Order Now", href: "/menu"},
{
text: "Call (239) 785-0423", href: "tel:2397850423"},
]} ]}
buttonAnimation="slide-up" buttonAnimation="slide-up"
textboxLayout="default"
animationType="slide-up"
useInvertedBackground={true}
features={[
{
id: "customer-service", title: "Why We're 5-Star Rated", description:
"Authentic recipes, fresh ingredients, passionate service, and community commitment create an unforgettable dining experience.", media: {
imageSrc:
"http://img.b2bpic.net/free-photo/side-view-smiley-man-getting-coffee_23-2149663609.jpg?_wi=1"},
items: [
{
icon: Zap,
text: "Fresh & Fast Service"},
{
icon: TrendingUp,
text: "Authentic Caribbean Quality"},
],
reverse: false,
},
]}
/> />
</div> </div>
@@ -224,4 +139,4 @@ export default function ReviewsPage() {
</div> </div>
</ThemeProvider> </ThemeProvider>
); );
} }