Merge version_9 into main #9

Merged
development merged 1 commits from version_9 into main 2025-12-19 23:06:15 +00:00

View File

@@ -1,16 +1,6 @@
"use client"; "use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
import HeroOverlayBottomSplit from '@/components/sections/hero/HeroOverlayBottomSplit';
import TextAbout from '@/components/sections/about/TextAbout';
import ProductCardSix from '@/components/sections/product/ProductCardSix';
import TestimonialCardTen from '@/components/sections/testimonial/TestimonialCardTen';
import SocialProofThree from '@/components/sections/socialProof/SocialProofThree';
import ContactSplit from '@/components/sections/contact/ContactSplit';
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
import PricingCardFive from '@/components/sections/pricing/PricingCardFive';
import { Zap, Heart, Smile, Sun } from 'lucide-react';
import { motion } from 'framer-motion'; import { motion } from 'framer-motion';
const containerVariants = { const containerVariants = {
@@ -62,16 +52,16 @@ const fadeInVariants = {
export default function LandingPage() { export default function LandingPage() {
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="bounce-effect" defaultButtonVariant="text-stagger"
defaultTextAnimation="entrance-slide" defaultTextAnimation="entrance-slide"
borderRadius="rounded" borderRadius="rounded"
contentWidth="medium" contentWidth="medium"
sizing="medium" sizing="medium"
background="floatingGradient" background="circleGradient"
cardStyle="gradient-mesh" cardStyle="glass-elevated"
primaryButtonStyle="neon-glow-border" primaryButtonStyle="gradient"
secondaryButtonStyle="minimal" secondaryButtonStyle="glass"
headingFontWeight="bold" headingFontWeight="normal"
> >
<motion.div <motion.div
id="nav" id="nav"
@@ -81,20 +71,45 @@ export default function LandingPage() {
viewport={{ once: true, amount: 0.5 }} viewport={{ once: true, amount: 0.5 }}
variants={fadeInVariants} variants={fadeInVariants}
> >
<NavbarStyleFullscreen <div className="min-h-screen bg-gradient-to-br from-amber-50 via-orange-50 to-amber-100 flex items-center justify-center px-4">
navItems={[ <div className="max-w-4xl text-center space-y-8">
{ name: "Home", id: "hero" }, <div className="space-y-4">
{ name: "Menu", id: "menu" }, <h1 className="text-4xl md:text-6xl font-bold text-amber-900">
{ name: "About", id: "about" }, Brew Haven
{ name: "Reviews", id: "testimonials" }, </h1>
{ name: "Contact", id: "contact" } <p className="text-xl md:text-2xl text-amber-700">
]} Specialty Coffee & More
logoSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140108208-9jx2n5py.jpg" </p>
logoAlt="Coffeeshop Logo" </div>
brandName="Brew Haven"
bottomLeftText="Specialty Coffee & More" <nav className="flex flex-wrap justify-center gap-6 text-lg">
bottomRightText="hello@brewhaven.com" <a href="#hero" className="text-amber-800 hover:text-amber-600 transition-colors">
/> Home
</a>
<a href="#menu" className="text-amber-800 hover:text-amber-600 transition-colors">
Menu
</a>
<a href="#about" className="text-amber-800 hover:text-amber-600 transition-colors">
About
</a>
<a href="#testimonials" className="text-amber-800 hover:text-amber-600 transition-colors">
Reviews
</a>
<a href="#contact" className="text-amber-800 hover:text-amber-600 transition-colors">
Contact
</a>
</nav>
<div className="flex justify-between items-center max-w-2xl mx-auto pt-8 text-amber-700">
<span>hello@brewhaven.com</span>
<img
src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140108208-9jx2n5py.jpg"
alt="Coffeeshop Logo"
className="h-12 w-12 object-cover rounded-full"
/>
</div>
</div>
</div>
</motion.div> </motion.div>
<motion.div <motion.div
@@ -105,18 +120,30 @@ export default function LandingPage() {
viewport={{ once: true, amount: 0.3 }} viewport={{ once: true, amount: 0.3 }}
variants={containerVariants} variants={containerVariants}
> >
<HeroOverlayBottomSplit <div className="relative min-h-screen flex items-center justify-center">
title="Craft Coffee, Crafted with Care" <div className="absolute inset-0 bg-black/40"></div>
description="Discover specialty coffee roasted fresh daily. We bring the finest beans from around the world to your cup." <img
buttons={[ src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140053900-frhkawzl.jpg"
{ text: "Explore Menu", href: "menu" }, alt="Specialty coffee in a ceramic cup"
{ text: "Visit Us Today", href: "contact" } className="absolute inset-0 w-full h-full object-cover"
]} />
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140053900-frhkawzl.jpg" <div className="relative z-10 text-center text-white max-w-4xl px-4">
imageAlt="Specialty coffee in a ceramic cup" <h1 className="text-4xl md:text-6xl font-bold mb-6">
showDimOverlay={true} Craft Coffee, Crafted with Care
ariaLabel="Hero section showcasing specialty coffee" </h1>
/> <p className="text-xl md:text-2xl mb-8">
Discover specialty coffee roasted fresh daily. We bring the finest beans from around the world to your cup.
</p>
<div className="flex flex-col sm:flex-row gap-4 justify-center">
<a href="#menu" className="bg-amber-600 hover:bg-amber-700 text-white px-8 py-3 rounded-lg transition-colors">
Explore Menu
</a>
<a href="#contact" className="bg-transparent border-2 border-white hover:bg-white hover:text-black text-white px-8 py-3 rounded-lg transition-colors">
Visit Us Today
</a>
</div>
</div>
</div>
</motion.div> </motion.div>
<motion.div <motion.div
@@ -127,14 +154,21 @@ export default function LandingPage() {
viewport={{ once: true, amount: 0.3 }} viewport={{ once: true, amount: 0.3 }}
variants={slideInVariants} variants={slideInVariants}
> >
<TextAbout <div className="py-20 px-4">
title="We believe in honest coffee. Every cup tells a story of passion, quality, and connection to the farmers who grew it." <div className="max-w-4xl mx-auto text-center space-y-8">
useInvertedBackground="noInvert" <h2 className="text-3xl md:text-5xl font-bold text-gray-900">
buttons={[ We believe in honest coffee. Every cup tells a story of passion, quality, and connection to the farmers who grew it.
{ text: "Our Story", href: "about" }, </h2>
{ text: "Learn More", href: "contact" } <div className="flex flex-col sm:flex-row gap-4 justify-center">
]} <a href="#about" className="bg-amber-600 hover:bg-amber-700 text-white px-8 py-3 rounded-lg transition-colors">
/> Our Story
</a>
<a href="#contact" className="bg-gray-200 hover:bg-gray-300 text-gray-900 px-8 py-3 rounded-lg transition-colors">
Learn More
</a>
</div>
</div>
</div>
</motion.div> </motion.div>
<motion.div <motion.div
@@ -145,38 +179,53 @@ export default function LandingPage() {
viewport={{ once: true, amount: 0.3 }} viewport={{ once: true, amount: 0.3 }}
variants={containerVariants} variants={containerVariants}
> >
<ProductCardSix <div className="py-20 px-4 bg-gray-50">
title="Menu" <div className="max-w-6xl mx-auto">
description="Explore our signature drinks and freshly baked pastries. Each item is crafted with precision and care." <div className="text-center mb-12">
products={[ <h2 className="text-3xl md:text-5xl font-bold text-gray-900 mb-4">
{ Menu
id: "1", </h2>
name: "Single Origin Espresso", <p className="text-xl text-gray-700">
price: "$4.50", Explore our signature drinks and freshly baked pastries. Each item is crafted with precision and care.
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183740051-csjqe6w0.jpg", </p>
imageAlt: "Single origin espresso shot" </div>
}, <div className="grid grid-cols-1 md:grid-cols-3 gap-8">
{ <div className="bg-white rounded-lg overflow-hidden shadow-lg">
id: "2", <img
name: "Artisan Cappuccino", src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183740051-csjqe6w0.jpg"
price: "$5.75", alt="Single origin espresso shot"
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140052116-ugc31hy1.jpg", className="w-full h-64 object-cover"
imageAlt: "Cappuccino with latte art" />
}, <div className="p-6">
{ <h3 className="text-xl font-bold mb-2">Single Origin Espresso</h3>
id: "3", <p className="text-amber-600 font-semibold text-lg">$4.50</p>
name: "Fresh Pastries", </div>
price: "$3.50", </div>
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183584228-m2bixr3w.jpg", <div className="bg-white rounded-lg overflow-hidden shadow-lg">
imageAlt: "Assorted fresh baked pastries" <img
} src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140052116-ugc31hy1.jpg"
]} alt="Cappuccino with latte art"
gridVariant="uniform-all-items-equal" className="w-full h-64 object-cover"
animationType="slide-up" />
containerStyle="default" <div className="p-6">
textboxLayout="default" <h3 className="text-xl font-bold mb-2">Artisan Cappuccino</h3>
useInvertedBackground="noInvert" <p className="text-amber-600 font-semibold text-lg">$5.75</p>
/> </div>
</div>
<div className="bg-white rounded-lg overflow-hidden shadow-lg">
<img
src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183584228-m2bixr3w.jpg"
alt="Assorted fresh baked pastries"
className="w-full h-64 object-cover"
/>
<div className="p-6">
<h3 className="text-xl font-bold mb-2">Fresh Pastries</h3>
<p className="text-amber-600 font-semibold text-lg">$3.50</p>
</div>
</div>
</div>
</div>
</div>
</motion.div> </motion.div>
<motion.div <motion.div
@@ -187,66 +236,139 @@ export default function LandingPage() {
viewport={{ once: true, amount: 0.3 }} viewport={{ once: true, amount: 0.3 }}
variants={containerVariants} variants={containerVariants}
> >
<PricingCardFive <div className="py-20 px-4">
title="How We Compare" <div className="max-w-6xl mx-auto">
description="See why Brew Haven stands out from the competition. We deliver superior quality, service, and value." <div className="text-center mb-12">
tag="Our Advantage" <div className="inline-flex items-center gap-2 bg-amber-100 text-amber-800 px-4 py-2 rounded-full mb-4">
tagIcon={Zap} <span>Our Advantage</span>
animationType="slide-up" </div>
variant="card" <h2 className="text-3xl md:text-5xl font-bold text-gray-900 mb-4">
textboxLayout="default" How We Compare
useInvertedBackground="noInvert" </h2>
plans={[ <p className="text-xl text-gray-700">
{ See why Brew Haven stands out from the competition. We deliver superior quality, service, and value.
id: "competitor-1", </p>
tag: "Standard Coffee Shop", </div>
price: "$3-4", <div className="grid grid-cols-1 md:grid-cols-3 gap-8">
period: "/cup", <div className="bg-white rounded-lg p-8 shadow-lg">
description: "Mass-produced, pre-roasted beans with inconsistent quality and limited selections.", <div className="bg-gray-100 text-gray-800 px-3 py-1 rounded-full text-sm inline-block mb-4">
button: { text: "Learn More", href: "#" }, Standard Coffee Shop
featuresTitle: "What You Get:", </div>
features: [ <div className="mb-4">
"Pre-roasted beans", <span className="text-3xl font-bold">$3-4</span>
"Limited drink options", <span className="text-gray-600">/cup</span>
"Standard service", </div>
"Basic pastries" <p className="text-gray-700 mb-6">
] Mass-produced, pre-roasted beans with inconsistent quality and limited selections.
}, </p>
{ <div className="mb-6">
id: "competitor-2", <h4 className="font-semibold mb-3">What You Get:</h4>
tag: "Corporate Chain", <ul className="space-y-2">
price: "$5-7", <li className="flex items-center gap-2">
period: "/cup", <span className="w-2 h-2 bg-gray-400 rounded-full"></span>
description: "Branded experience with standardized recipes and high-volume production prioritizing speed over quality.", Pre-roasted beans
button: { text: "Learn More", href: "#" }, </li>
featuresTitle: "What You Get:", <li className="flex items-center gap-2">
features: [ <span className="w-2 h-2 bg-gray-400 rounded-full"></span>
"Standardized recipes", Limited drink options
"Quick service", </li>
"Branded atmosphere", <li className="flex items-center gap-2">
"Commercial pastries" <span className="w-2 h-2 bg-gray-400 rounded-full"></span>
] Standard service
}, </li>
{ <li className="flex items-center gap-2">
id: "brew-haven", <span className="w-2 h-2 bg-gray-400 rounded-full"></span>
tag: "Brew Haven", Basic pastries
tagIcon: Zap, </li>
price: "$4.50-5.75", </ul>
period: "/cup", </div>
description: "Specialty-roasted fresh daily with personalized service and artisanal craftsmanship in every cup.", <a href="#" className="block w-full text-center bg-gray-200 hover:bg-gray-300 text-gray-900 px-6 py-3 rounded-lg transition-colors">
button: { text: "Visit Us Today", href: "contact" }, Learn More
featuresTitle: "What You Get:", </a>
features: [ </div>
"Fresh daily roasting", <div className="bg-white rounded-lg p-8 shadow-lg">
"Single-origin selections", <div className="bg-gray-100 text-gray-800 px-3 py-1 rounded-full text-sm inline-block mb-4">
"Personalized service", Corporate Chain
"Handcrafted pastries", </div>
"Knowledgeable baristas", <div className="mb-4">
"Community focus" <span className="text-3xl font-bold">$5-7</span>
] <span className="text-gray-600">/cup</span>
} </div>
]} <p className="text-gray-700 mb-6">
/> Branded experience with standardized recipes and high-volume production prioritizing speed over quality.
</p>
<div className="mb-6">
<h4 className="font-semibold mb-3">What You Get:</h4>
<ul className="space-y-2">
<li className="flex items-center gap-2">
<span className="w-2 h-2 bg-gray-400 rounded-full"></span>
Standardized recipes
</li>
<li className="flex items-center gap-2">
<span className="w-2 h-2 bg-gray-400 rounded-full"></span>
Quick service
</li>
<li className="flex items-center gap-2">
<span className="w-2 h-2 bg-gray-400 rounded-full"></span>
Branded atmosphere
</li>
<li className="flex items-center gap-2">
<span className="w-2 h-2 bg-gray-400 rounded-full"></span>
Commercial pastries
</li>
</ul>
</div>
<a href="#" className="block w-full text-center bg-gray-200 hover:bg-gray-300 text-gray-900 px-6 py-3 rounded-lg transition-colors">
Learn More
</a>
</div>
<div className="bg-white rounded-lg p-8 shadow-lg border-2 border-amber-500">
<div className="bg-amber-100 text-amber-800 px-3 py-1 rounded-full text-sm inline-flex items-center gap-2 mb-4">
<span>Brew Haven</span>
</div>
<div className="mb-4">
<span className="text-3xl font-bold">$4.50-5.75</span>
<span className="text-gray-600">/cup</span>
</div>
<p className="text-gray-700 mb-6">
Specialty-roasted fresh daily with personalized service and artisanal craftsmanship in every cup.
</p>
<div className="mb-6">
<h4 className="font-semibold mb-3">What You Get:</h4>
<ul className="space-y-2">
<li className="flex items-center gap-2">
<span className="w-2 h-2 bg-amber-500 rounded-full"></span>
Fresh daily roasting
</li>
<li className="flex items-center gap-2">
<span className="w-2 h-2 bg-amber-500 rounded-full"></span>
Single-origin selections
</li>
<li className="flex items-center gap-2">
<span className="w-2 h-2 bg-amber-500 rounded-full"></span>
Personalized service
</li>
<li className="flex items-center gap-2">
<span className="w-2 h-2 bg-amber-500 rounded-full"></span>
Handcrafted pastries
</li>
<li className="flex items-center gap-2">
<span className="w-2 h-2 bg-amber-500 rounded-full"></span>
Knowledgeable baristas
</li>
<li className="flex items-center gap-2">
<span className="w-2 h-2 bg-amber-500 rounded-full"></span>
Community focus
</li>
</ul>
</div>
<a href="#contact" className="block w-full text-center bg-amber-600 hover:bg-amber-700 text-white px-6 py-3 rounded-lg transition-colors">
Visit Us Today
</a>
</div>
</div>
</div>
</div>
</motion.div> </motion.div>
<motion.div <motion.div
@@ -257,51 +379,88 @@ export default function LandingPage() {
viewport={{ once: true, amount: 0.3 }} viewport={{ once: true, amount: 0.3 }}
variants={containerVariants} variants={containerVariants}
> >
<TestimonialCardTen <div className="py-20 px-4 bg-gray-50">
title="What Our Customers Say" <div className="max-w-6xl mx-auto">
description="Join hundreds of satisfied coffee lovers who have made Brew Haven their daily ritual." <div className="text-center mb-12">
variant="card" <h2 className="text-3xl md:text-5xl font-bold text-gray-900 mb-4">
textboxLayout="default" What Our Customers Say
useInvertedBackground="noInvert" </h2>
testimonials={[ <p className="text-xl text-gray-700">
{ Join hundreds of satisfied coffee lovers who have made Brew Haven their daily ritual.
id: "1", </p>
title: "The Perfect Morning Ritual", </div>
quote: "The quality of coffee here is unmatched. Every single cup is perfectly crafted and tastes like pure happiness. This place has become my sanctuary.", <div className="grid grid-cols-1 md:grid-cols-2 gap-8">
name: "Sarah Martinez", <div className="bg-white rounded-lg p-8 shadow-lg">
role: "Designer", <h3 className="text-xl font-bold mb-4">The Perfect Morning Ritual</h3>
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183586665-q5sajrdt.jpg", <p className="text-gray-700 mb-6">
imageAlt: "Sarah Martinez portrait" "The quality of coffee here is unmatched. Every single cup is perfectly crafted and tastes like pure happiness. This place has become my sanctuary."
}, </p>
{ <div className="flex items-center gap-4">
id: "2", <img
title: "Atmosphere & Excellence Combined", src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183586665-q5sajrdt.jpg"
quote: "What sets Brew Haven apart is their commitment to both quality and warmth. The baristas genuinely care, and it shows in every interaction.", alt="Sarah Martinez portrait"
name: "James Chen", className="w-12 h-12 rounded-full object-cover"
role: "Entrepreneur", />
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183587552-1pqoe5c0.jpg", <div>
imageAlt: "James Chen portrait" <div className="font-semibold">Sarah Martinez</div>
}, <div className="text-gray-600">Designer</div>
{ </div>
id: "3", </div>
title: "A Coffee Lover's Dream", </div>
quote: "I've traveled extensively and tasted coffee everywhere. This is genuinely some of the best I've ever had. The single-origin selections are phenomenal.", <div className="bg-white rounded-lg p-8 shadow-lg">
name: "Emily Rodriguez", <h3 className="text-xl font-bold mb-4">Atmosphere & Excellence Combined</h3>
role: "Travel Writer", <p className="text-gray-700 mb-6">
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766154634313-y5tjxwwi.jpg", "What sets Brew Haven apart is their commitment to both quality and warmth. The baristas genuinely care, and it shows in every interaction."
imageAlt: "Emily Rodriguez portrait" </p>
}, <div className="flex items-center gap-4">
{ <img
id: "4", src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183587552-1pqoe5c0.jpg"
title: "More Than Just Coffee", alt="James Chen portrait"
quote: "It's not just the coffee that brings me back daily. It's the community, the knowledge the team shares, and the genuine care they put into everything.", className="w-12 h-12 rounded-full object-cover"
name: "Michael Thompson", />
role: "Graphic Designer", <div>
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766182321167-i4kvpj5f.jpg", <div className="font-semibold">James Chen</div>
imageAlt: "Michael Thompson portrait" <div className="text-gray-600">Entrepreneur</div>
} </div>
]} </div>
/> </div>
<div className="bg-white rounded-lg p-8 shadow-lg">
<h3 className="text-xl font-bold mb-4">A Coffee Lover's Dream</h3>
<p className="text-gray-700 mb-6">
"I've traveled extensively and tasted coffee everywhere. This is genuinely some of the best I've ever had. The single-origin selections are phenomenal."
</p>
<div className="flex items-center gap-4">
<img
src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766154634313-y5tjxwwi.jpg"
alt="Emily Rodriguez portrait"
className="w-12 h-12 rounded-full object-cover"
/>
<div>
<div className="font-semibold">Emily Rodriguez</div>
<div className="text-gray-600">Travel Writer</div>
</div>
</div>
</div>
<div className="bg-white rounded-lg p-8 shadow-lg">
<h3 className="text-xl font-bold mb-4">More Than Just Coffee</h3>
<p className="text-gray-700 mb-6">
"It's not just the coffee that brings me back daily. It's the community, the knowledge the team shares, and the genuine care they put into everything."
</p>
<div className="flex items-center gap-4">
<img
src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766182321167-i4kvpj5f.jpg"
alt="Michael Thompson portrait"
className="w-12 h-12 rounded-full object-cover"
/>
<div>
<div className="font-semibold">Michael Thompson</div>
<div className="text-gray-600">Graphic Designer</div>
</div>
</div>
</div>
</div>
</div>
</div>
</motion.div> </motion.div>
<motion.div <motion.div
@@ -312,25 +471,28 @@ export default function LandingPage() {
viewport={{ once: true, amount: 0.3 }} viewport={{ once: true, amount: 0.3 }}
variants={fadeInVariants} variants={fadeInVariants}
> >
<SocialProofThree <div className="py-20 px-4">
title="Trusted by Coffee Enthusiasts" <div className="max-w-6xl mx-auto">
description="We partner with the finest roasters and certification organizations committed to quality and sustainability." <div className="text-center mb-12">
logos={[ <h2 className="text-3xl md:text-5xl font-bold text-gray-900 mb-4">
"https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183580042-1z23mdom.jpg", Trusted by Coffee Enthusiasts
"https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766162773520-d3l7c32r.jpg", </h2>
"https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140106374-le5uxrj5.jpg", <p className="text-xl text-gray-700">
"https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183581068-iklr7ul7.jpg", We partner with the finest roasters and certification organizations committed to quality and sustainability.
"https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140107205-4bafhl5z.jpg", </p>
"https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183582037-814qymx8.jpg", </div>
"https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140109000-ndb7534s.jpg", <div className="grid grid-cols-2 md:grid-cols-4 gap-8 items-center justify-items-center">
"https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183582950-ea055ote.jpg" <img src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183580042-1z23mdom.jpg" alt="Partner logo" className="h-16 object-contain grayscale hover:grayscale-0 transition-all" />
]} <img src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766162773520-d3l7c32r.jpg" alt="Partner logo" className="h-16 object-contain grayscale hover:grayscale-0 transition-all" />
animationType="slide-up" <img src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140106374-le5uxrj5.jpg" alt="Partner logo" className="h-16 object-contain grayscale hover:grayscale-0 transition-all" />
textboxLayout="default" <img src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183581068-iklr7ul7.jpg" alt="Partner logo" className="h-16 object-contain grayscale hover:grayscale-0 transition-all" />
useInvertedBackground="noInvert" <img src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140107205-4bafhl5z.jpg" alt="Partner logo" className="h-16 object-contain grayscale hover:grayscale-0 transition-all" />
speed={40} <img src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183582037-814qymx8.jpg" alt="Partner logo" className="h-16 object-contain grayscale hover:grayscale-0 transition-all" />
topMarqueeDirection="left" <img src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140109000-ndb7534s.jpg" alt="Partner logo" className="h-16 object-contain grayscale hover:grayscale-0 transition-all" />
/> <img src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183582950-ea055ote.jpg" alt="Partner logo" className="h-16 object-contain grayscale hover:grayscale-0 transition-all" />
</div>
</div>
</div>
</motion.div> </motion.div>
<motion.div <motion.div
@@ -341,18 +503,43 @@ export default function LandingPage() {
viewport={{ once: true, amount: 0.3 }} viewport={{ once: true, amount: 0.3 }}
variants={slideInVariants} variants={slideInVariants}
> >
<ContactSplit <div className="py-20 px-4 bg-gray-50">
tag="Stay Connected" <div className="max-w-6xl mx-auto">
title="Join Our Coffee Community" <div className="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center">
description="Subscribe to our newsletter for new roasts, brewing tips, and exclusive member-only events. We share your passion for great coffee." <div>
useInvertedBackground="noInvert" <div className="bg-amber-100 text-amber-800 px-4 py-2 rounded-full inline-block mb-6">
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183585667-fud4izge.jpg" Stay Connected
imageAlt="Brew Haven coffeeshop interior" </div>
mediaPosition="right" <h2 className="text-3xl md:text-5xl font-bold text-gray-900 mb-6">
inputPlaceholder="Enter your email" Join Our Coffee Community
buttonText="Subscribe" </h2>
termsText="We respect your inbox. Unsubscribe anytime." <p className="text-xl text-gray-700 mb-8">
/> Subscribe to our newsletter for new roasts, brewing tips, and exclusive member-only events. We share your passion for great coffee.
</p>
<div className="flex flex-col sm:flex-row gap-4">
<input
type="email"
placeholder="Enter your email"
className="flex-1 px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-amber-500"
/>
<button className="bg-amber-600 hover:bg-amber-700 text-white px-8 py-3 rounded-lg transition-colors">
Subscribe
</button>
</div>
<p className="text-sm text-gray-600 mt-4">
We respect your inbox. Unsubscribe anytime.
</p>
</div>
<div>
<img
src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183585667-fud4izge.jpg"
alt="Brew Haven coffeeshop interior"
className="w-full h-96 object-cover rounded-lg"
/>
</div>
</div>
</div>
</div>
</motion.div> </motion.div>
<motion.div <motion.div
@@ -363,44 +550,50 @@ export default function LandingPage() {
viewport={{ once: true, amount: 0.5 }} viewport={{ once: true, amount: 0.5 }}
variants={fadeInVariants} variants={fadeInVariants}
> >
<FooterBaseCard <div className="bg-gray-900 text-white py-16 px-4">
logoText="Brew Haven" <div className="max-w-6xl mx-auto">
columns={[ <div className="grid grid-cols-1 md:grid-cols-5 gap-8">
{ <div className="md:col-span-1">
title: "Coffee", <h3 className="text-2xl font-bold mb-4">Brew Haven</h3>
items: [ </div>
{ label: "Our Menu", href: "#menu" }, <div>
{ label: "Brewing Guide", href: "#" }, <h4 className="font-semibold mb-4">Coffee</h4>
{ label: "Single Origins", href: "#" } <ul className="space-y-2">
] <li><a href="#menu" className="text-gray-400 hover:text-white transition-colors">Our Menu</a></li>
}, <li><a href="#" className="text-gray-400 hover:text-white transition-colors">Brewing Guide</a></li>
{ <li><a href="#" className="text-gray-400 hover:text-white transition-colors">Single Origins</a></li>
title: "Visit Us", </ul>
items: [ </div>
{ label: "Location & Hours", href: "#contact" }, <div>
{ label: "Make a Reservation", href: "#" }, <h4 className="font-semibold mb-4">Visit Us</h4>
{ label: "Gift Cards", href: "#" } <ul className="space-y-2">
] <li><a href="#contact" className="text-gray-400 hover:text-white transition-colors">Location & Hours</a></li>
}, <li><a href="#" className="text-gray-400 hover:text-white transition-colors">Make a Reservation</a></li>
{ <li><a href="#" className="text-gray-400 hover:text-white transition-colors">Gift Cards</a></li>
title: "About", </ul>
items: [ </div>
{ label: "Our Story", href: "#about" }, <div>
{ label: "Sustainability", href: "#" }, <h4 className="font-semibold mb-4">About</h4>
{ label: "Careers", href: "#" } <ul className="space-y-2">
] <li><a href="#about" className="text-gray-400 hover:text-white transition-colors">Our Story</a></li>
}, <li><a href="#" className="text-gray-400 hover:text-white transition-colors">Sustainability</a></li>
{ <li><a href="#" className="text-gray-400 hover:text-white transition-colors">Careers</a></li>
title: "Connect", </ul>
items: [ </div>
{ label: "Instagram", href: "#" }, <div>
{ label: "Facebook", href: "#" }, <h4 className="font-semibold mb-4">Connect</h4>
{ label: "Contact Us", href: "#contact" } <ul className="space-y-2">
] <li><a href="#" className="text-gray-400 hover:text-white transition-colors">Instagram</a></li>
} <li><a href="#" className="text-gray-400 hover:text-white transition-colors">Facebook</a></li>
]} <li><a href="#contact" className="text-gray-400 hover:text-white transition-colors">Contact Us</a></li>
copyrightText="© 2025 Brew Haven. All rights reserved." </ul>
/> </div>
</div>
<div className="border-t border-gray-800 mt-12 pt-8 text-center">
<p className="text-gray-400">© 2025 Brew Haven. All rights reserved.</p>
</div>
</div>
</div>
</motion.div> </motion.div>
</ThemeProvider> </ThemeProvider>
); );