Merge version_9 into main

Merge version_9 into main
This commit was merged in pull request #10.
This commit is contained in:
2025-12-19 23:08:08 +00:00
2 changed files with 249 additions and 573 deletions

View File

@@ -1274,4 +1274,4 @@ export default function RootLayout({
</ServiceWrapper> </ServiceWrapper>
</html> </html>
); );
} }

View File

@@ -1,53 +1,16 @@
"use client"; "use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import { motion } from 'framer-motion'; import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
import HeroOverlayBottomSplit from '@/components/sections/hero/HeroOverlayBottomSplit';
const containerVariants = { import TextAbout from '@/components/sections/about/TextAbout';
hidden: { opacity: 0 }, import ProductCardSix from '@/components/sections/product/ProductCardSix';
visible: { import PricingCardFive from '@/components/sections/pricing/PricingCardFive';
opacity: 1, import TestimonialCardTen from '@/components/sections/testimonial/TestimonialCardTen';
transition: { import SocialProofThree from '@/components/sections/socialProof/SocialProofThree';
staggerChildren: 0.1, import ContactSplit from '@/components/sections/contact/ContactSplit';
delayChildren: 0.2, import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
}, import { Coffee, Star, Users, Award } from 'lucide-react';
},
};
const itemVariants = {
hidden: { opacity: 0, y: 20 },
visible: {
opacity: 1,
y: 0,
transition: {
duration: 0.8,
ease: "easeOut",
},
},
};
const slideInVariants = {
hidden: { opacity: 0, x: -50 },
visible: {
opacity: 1,
x: 0,
transition: {
duration: 0.8,
ease: "easeOut",
},
},
};
const fadeInVariants = {
hidden: { opacity: 0 },
visible: {
opacity: 1,
transition: {
duration: 1,
ease: "easeOut",
},
},
};
export default function LandingPage() { export default function LandingPage() {
return ( return (
@@ -63,538 +26,251 @@ export default function LandingPage() {
secondaryButtonStyle="glass" secondaryButtonStyle="glass"
headingFontWeight="normal" headingFontWeight="normal"
> >
<motion.div <div id="nav" data-section="nav">
id="nav" <NavbarStyleFullscreen
data-section="nav" links={[
initial="hidden" { label: "Home", href: "hero" },
whileInView="visible" { label: "Menu", href: "menu" },
viewport={{ once: true, amount: 0.5 }} { label: "About", href: "about" },
variants={fadeInVariants} { label: "Reviews", href: "testimonials" },
> { label: "Contact", href: "contact" }
<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"> ]}
<div className="max-w-4xl text-center space-y-8"> logoSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140108208-9jx2n5py.jpg"
<div className="space-y-4"> email="hello@brewhaven.com"
<h1 className="text-4xl md:text-6xl font-bold text-amber-900"> title="Brew Haven"
Brew Haven subtitle="Specialty Coffee & More"
</h1> />
<p className="text-xl md:text-2xl text-amber-700"> </div>
Specialty Coffee & More
</p>
</div>
<nav className="flex flex-wrap justify-center gap-6 text-lg">
<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 <div id="hero" data-section="hero">
id="hero" <HeroOverlayBottomSplit
data-section="hero" title="Craft Coffee, Crafted with Care"
initial="hidden" description="Discover specialty coffee roasted fresh daily. We bring the finest beans from around the world to your cup."
whileInView="visible" primaryButtonText="Explore Menu"
viewport={{ once: true, amount: 0.3 }} primaryButtonHref="#menu"
variants={containerVariants} secondaryButtonText="Visit Us Today"
> secondaryButtonHref="#contact"
<div className="relative min-h-screen flex items-center justify-center"> image="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140053900-frhkawzl.jpg"
<div className="absolute inset-0 bg-black/40"></div> />
<img </div>
src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140053900-frhkawzl.jpg"
alt="Specialty coffee in a ceramic cup"
className="absolute inset-0 w-full h-full object-cover"
/>
<div className="relative z-10 text-center text-white max-w-4xl px-4">
<h1 className="text-4xl md:text-6xl font-bold mb-6">
Craft Coffee, Crafted with Care
</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 <div id="about" data-section="about">
id="about" <TextAbout
data-section="about" description="We believe in honest coffee. Every cup tells a story of passion, quality, and connection to the farmers who grew it."
initial="hidden" />
whileInView="visible" </div>
viewport={{ once: true, amount: 0.3 }}
variants={slideInVariants}
>
<div className="py-20 px-4">
<div className="max-w-4xl mx-auto text-center space-y-8">
<h2 className="text-3xl md:text-5xl font-bold text-gray-900">
We believe in honest coffee. Every cup tells a story of passion, quality, and connection to the farmers who grew it.
</h2>
<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 <div id="menu" data-section="menu">
id="menu" <ProductCardSix
data-section="menu" title="Menu"
initial="hidden" description="Explore our signature drinks and freshly baked pastries. Each item is crafted with precision and care."
whileInView="visible" products={[
viewport={{ once: true, amount: 0.3 }} {
variants={containerVariants} title: "Single Origin Espresso",
> price: "$4.50",
<div className="py-20 px-4 bg-gray-50"> image: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183740051-csjqe6w0.jpg"
<div className="max-w-6xl mx-auto"> },
<div className="text-center mb-12"> {
<h2 className="text-3xl md:text-5xl font-bold text-gray-900 mb-4"> title: "Artisan Cappuccino",
Menu price: "$5.75",
</h2> image: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140052116-ugc31hy1.jpg"
<p className="text-xl text-gray-700"> },
Explore our signature drinks and freshly baked pastries. Each item is crafted with precision and care. {
</p> title: "Fresh Pastries",
</div> price: "$3.50",
<div className="grid grid-cols-1 md:grid-cols-3 gap-8"> image: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183584228-m2bixr3w.jpg"
<div className="bg-white rounded-lg overflow-hidden shadow-lg"> }
<img ]}
src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183740051-csjqe6w0.jpg" />
alt="Single origin espresso shot" </div>
className="w-full h-64 object-cover"
/>
<div className="p-6">
<h3 className="text-xl font-bold mb-2">Single Origin Espresso</h3>
<p className="text-amber-600 font-semibold text-lg">$4.50</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-1766140052116-ugc31hy1.jpg"
alt="Cappuccino with latte art"
className="w-full h-64 object-cover"
/>
<div className="p-6">
<h3 className="text-xl font-bold mb-2">Artisan Cappuccino</h3>
<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 <div id="competitors" data-section="competitors">
id="competitors" <PricingCardFive
data-section="competitors" badge="Our Advantage"
initial="hidden" title="How We Compare"
whileInView="visible" description="See why Brew Haven stands out from the competition. We deliver superior quality, service, and value."
viewport={{ once: true, amount: 0.3 }} plans={[
variants={containerVariants} {
> planName: "Standard Coffee Shop",
<div className="py-20 px-4"> price: "$3-4",
<div className="max-w-6xl mx-auto"> priceUnit: "/cup",
<div className="text-center mb-12"> description: "Mass-produced, pre-roasted beans with inconsistent quality and limited selections.",
<div className="inline-flex items-center gap-2 bg-amber-100 text-amber-800 px-4 py-2 rounded-full mb-4"> features: [
<span>Our Advantage</span> "Pre-roasted beans",
</div> "Limited drink options",
<h2 className="text-3xl md:text-5xl font-bold text-gray-900 mb-4"> "Standard service",
How We Compare "Basic pastries"
</h2> ],
<p className="text-xl text-gray-700"> buttonText: "Learn More",
See why Brew Haven stands out from the competition. We deliver superior quality, service, and value. buttonHref: "#",
</p> isPopular: false
</div> },
<div className="grid grid-cols-1 md:grid-cols-3 gap-8"> {
<div className="bg-white rounded-lg p-8 shadow-lg"> planName: "Corporate Chain",
<div className="bg-gray-100 text-gray-800 px-3 py-1 rounded-full text-sm inline-block mb-4"> price: "$5-7",
Standard Coffee Shop priceUnit: "/cup",
</div> description: "Branded experience with standardized recipes and high-volume production prioritizing speed over quality.",
<div className="mb-4"> features: [
<span className="text-3xl font-bold">$3-4</span> "Standardized recipes",
<span className="text-gray-600">/cup</span> "Quick service",
</div> "Branded atmosphere",
<p className="text-gray-700 mb-6"> "Commercial pastries"
Mass-produced, pre-roasted beans with inconsistent quality and limited selections. ],
</p> buttonText: "Learn More",
<div className="mb-6"> buttonHref: "#",
<h4 className="font-semibold mb-3">What You Get:</h4> isPopular: false
<ul className="space-y-2"> },
<li className="flex items-center gap-2"> {
<span className="w-2 h-2 bg-gray-400 rounded-full"></span> planName: "Brew Haven",
Pre-roasted beans price: "$4.50-5.75",
</li> priceUnit: "/cup",
<li className="flex items-center gap-2"> description: "Specialty-roasted fresh daily with personalized service and artisanal craftsmanship in every cup.",
<span className="w-2 h-2 bg-gray-400 rounded-full"></span> features: [
Limited drink options "Fresh daily roasting",
</li> "Single-origin selections",
<li className="flex items-center gap-2"> "Personalized service",
<span className="w-2 h-2 bg-gray-400 rounded-full"></span> "Handcrafted pastries",
Standard service "Knowledgeable baristas",
</li> "Community focus"
<li className="flex items-center gap-2"> ],
<span className="w-2 h-2 bg-gray-400 rounded-full"></span> buttonText: "Visit Us Today",
Basic pastries buttonHref: "#contact",
</li> isPopular: true
</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 </div>
</a>
</div>
<div className="bg-white rounded-lg p-8 shadow-lg">
<div className="bg-gray-100 text-gray-800 px-3 py-1 rounded-full text-sm inline-block mb-4">
Corporate Chain
</div>
<div className="mb-4">
<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 <div id="testimonials" data-section="testimonials">
id="testimonials" <TestimonialCardTen
data-section="testimonials" title="What Our Customers Say"
initial="hidden" description="Join hundreds of satisfied coffee lovers who have made Brew Haven their daily ritual."
whileInView="visible" testimonials={[
viewport={{ once: true, amount: 0.3 }} {
variants={containerVariants} title: "The Perfect Morning Ritual",
> testimonial: "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="py-20 px-4 bg-gray-50"> customerName: "Sarah Martinez",
<div className="max-w-6xl mx-auto"> customerTitle: "Designer",
<div className="text-center mb-12"> customerImage: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183586665-q5sajrdt.jpg"
<h2 className="text-3xl md:text-5xl font-bold text-gray-900 mb-4"> },
What Our Customers Say {
</h2> title: "Atmosphere & Excellence Combined",
<p className="text-xl text-gray-700"> testimonial: "What sets Brew Haven apart is their commitment to both quality and warmth. The baristas genuinely care, and it shows in every interaction.",
Join hundreds of satisfied coffee lovers who have made Brew Haven their daily ritual. customerName: "James Chen",
</p> customerTitle: "Entrepreneur",
</div> customerImage: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183587552-1pqoe5c0.jpg"
<div className="grid grid-cols-1 md:grid-cols-2 gap-8"> },
<div className="bg-white rounded-lg p-8 shadow-lg"> {
<h3 className="text-xl font-bold mb-4">The Perfect Morning Ritual</h3> title: "A Coffee Lover's Dream",
<p className="text-gray-700 mb-6"> testimonial: "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.",
"The quality of coffee here is unmatched. Every single cup is perfectly crafted and tastes like pure happiness. This place has become my sanctuary." customerName: "Emily Rodriguez",
</p> customerTitle: "Travel Writer",
<div className="flex items-center gap-4"> customerImage: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766154634313-y5tjxwwi.jpg"
<img },
src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183586665-q5sajrdt.jpg" {
alt="Sarah Martinez portrait" title: "More Than Just Coffee",
className="w-12 h-12 rounded-full object-cover" testimonial: "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.",
/> customerName: "Michael Thompson",
<div> customerTitle: "Graphic Designer",
<div className="font-semibold">Sarah Martinez</div> customerImage: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766182321167-i4kvpj5f.jpg"
<div className="text-gray-600">Designer</div> }
</div> ]}
</div> />
</div> </div>
<div className="bg-white rounded-lg p-8 shadow-lg">
<h3 className="text-xl font-bold mb-4">Atmosphere & Excellence Combined</h3>
<p className="text-gray-700 mb-6">
"What sets Brew Haven apart is their commitment to both quality and warmth. The baristas genuinely care, and it shows in every interaction."
</p>
<div className="flex items-center gap-4">
<img
src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183587552-1pqoe5c0.jpg"
alt="James Chen portrait"
className="w-12 h-12 rounded-full object-cover"
/>
<div>
<div className="font-semibold">James Chen</div>
<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 <div id="social-proof" data-section="social-proof">
id="social-proof" <SocialProofThree
data-section="social-proof" title="Trusted by Coffee Enthusiasts"
initial="hidden" description="We partner with the finest roasters and certification organizations committed to quality and sustainability."
whileInView="visible" logos={[
viewport={{ once: true, amount: 0.3 }} {
variants={fadeInVariants} src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183580042-1z23mdom.jpg",
> alt: "Partner logo"
<div className="py-20 px-4"> },
<div className="max-w-6xl mx-auto"> {
<div className="text-center mb-12"> src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766162773520-d3l7c32r.jpg",
<h2 className="text-3xl md:text-5xl font-bold text-gray-900 mb-4"> alt: "Partner logo"
Trusted by Coffee Enthusiasts },
</h2> {
<p className="text-xl text-gray-700"> src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140106374-le5uxrj5.jpg",
We partner with the finest roasters and certification organizations committed to quality and sustainability. alt: "Partner logo"
</p> },
</div> {
<div className="grid grid-cols-2 md:grid-cols-4 gap-8 items-center justify-items-center"> src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183581068-iklr7ul7.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" /> alt: "Partner logo"
<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" /> },
<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" /> {
<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" /> src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140107205-4bafhl5z.jpg",
<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" /> alt: "Partner logo"
<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" /> },
<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" /> src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183582037-814qymx8.jpg",
</div> alt: "Partner logo"
</div> },
</div> {
</motion.div> src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140109000-ndb7534s.jpg",
alt: "Partner logo"
},
{
src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183582950-ea055ote.jpg",
alt: "Partner logo"
}
]}
/>
</div>
<motion.div <div id="contact" data-section="contact">
id="contact" <ContactSplit
data-section="contact" badge="Stay Connected"
initial="hidden" title="Join Our Coffee Community"
whileInView="visible" description="Subscribe to our newsletter for new roasts, brewing tips, and exclusive member-only events. We share your passion for great coffee."
viewport={{ once: true, amount: 0.3 }} emailPlaceholder="Enter your email"
variants={slideInVariants} buttonText="Subscribe"
> disclaimerText="We respect your inbox. Unsubscribe anytime."
<div className="py-20 px-4 bg-gray-50"> image="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183585667-fud4izge.jpg"
<div className="max-w-6xl mx-auto"> />
<div className="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center"> </div>
<div>
<div className="bg-amber-100 text-amber-800 px-4 py-2 rounded-full inline-block mb-6">
Stay Connected
</div>
<h2 className="text-3xl md:text-5xl font-bold text-gray-900 mb-6">
Join Our Coffee Community
</h2>
<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 <div id="footer" data-section="footer">
id="footer" <FooterBaseCard
data-section="footer" title="Brew Haven"
initial="hidden" links={[
whileInView="visible" {
viewport={{ once: true, amount: 0.5 }} title: "Coffee",
variants={fadeInVariants} links: [
> { label: "Our Menu", href: "#menu" },
<div className="bg-gray-900 text-white py-16 px-4"> { label: "Brewing Guide", href: "#" },
<div className="max-w-6xl mx-auto"> { label: "Single Origins", href: "#" }
<div className="grid grid-cols-1 md:grid-cols-5 gap-8"> ]
<div className="md:col-span-1"> },
<h3 className="text-2xl font-bold mb-4">Brew Haven</h3> {
</div> title: "Visit Us",
<div> links: [
<h4 className="font-semibold mb-4">Coffee</h4> { label: "Location & Hours", href: "#contact" },
<ul className="space-y-2"> { label: "Make a Reservation", href: "#" },
<li><a href="#menu" className="text-gray-400 hover:text-white transition-colors">Our Menu</a></li> { label: "Gift Cards", href: "#" }
<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> },
</ul> {
</div> title: "About",
<div> links: [
<h4 className="font-semibold mb-4">Visit Us</h4> { label: "Our Story", href: "#about" },
<ul className="space-y-2"> { label: "Sustainability", href: "#" },
<li><a href="#contact" className="text-gray-400 hover:text-white transition-colors">Location & Hours</a></li> { label: "Careers", href: "#" }
<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> },
</ul> {
</div> title: "Connect",
<div> links: [
<h4 className="font-semibold mb-4">About</h4> { label: "Instagram", href: "#" },
<ul className="space-y-2"> { label: "Facebook", href: "#" },
<li><a href="#about" className="text-gray-400 hover:text-white transition-colors">Our Story</a></li> { label: "Contact Us", href: "#contact" }
<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> }
</ul> ]}
</div> copyright="© 2025 Brew Haven. All rights reserved."
<div> />
<h4 className="font-semibold mb-4">Connect</h4> </div>
<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>
</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>
</ThemeProvider> </ThemeProvider>
); );
} }