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

@@ -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"> <div id="hero" data-section="hero">
<a href="#hero" className="text-amber-800 hover:text-amber-600 transition-colors"> <HeroOverlayBottomSplit
Home title="Craft Coffee, Crafted with Care"
</a> description="Discover specialty coffee roasted fresh daily. We bring the finest beans from around the world to your cup."
<a href="#menu" className="text-amber-800 hover:text-amber-600 transition-colors"> primaryButtonText="Explore Menu"
Menu primaryButtonHref="#menu"
</a> secondaryButtonText="Visit Us Today"
<a href="#about" className="text-amber-800 hover:text-amber-600 transition-colors"> secondaryButtonHref="#contact"
About image="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140053900-frhkawzl.jpg"
</a> />
<a href="#testimonials" className="text-amber-800 hover:text-amber-600 transition-colors"> </div>
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"> <div id="about" data-section="about">
<span>hello@brewhaven.com</span> <TextAbout
<img description="We believe in honest coffee. Every cup tells a story of passion, quality, and connection to the farmers who grew it."
src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140108208-9jx2n5py.jpg" />
alt="Coffeeshop Logo" </div>
className="h-12 w-12 object-cover rounded-full"
/>
</div>
</div>
</div>
</motion.div>
<motion.div <div id="menu" data-section="menu">
id="hero" <ProductCardSix
data-section="hero" 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="relative min-h-screen flex items-center justify-center"> image: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183740051-csjqe6w0.jpg"
<div className="absolute inset-0 bg-black/40"></div> },
<img {
src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140053900-frhkawzl.jpg" title: "Artisan Cappuccino",
alt="Specialty coffee in a ceramic cup" price: "$5.75",
className="absolute inset-0 w-full h-full object-cover" image: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140052116-ugc31hy1.jpg"
/> },
<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"> title: "Fresh Pastries",
Craft Coffee, Crafted with Care price: "$3.50",
</h1> image: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183584228-m2bixr3w.jpg"
<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"> </div>
<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="competitors" data-section="competitors">
id="about" <PricingCardFive
data-section="about" 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={slideInVariants} {
> planName: "Standard Coffee Shop",
<div className="py-20 px-4"> price: "$3-4",
<div className="max-w-4xl mx-auto text-center space-y-8"> priceUnit: "/cup",
<h2 className="text-3xl md:text-5xl font-bold text-gray-900"> description: "Mass-produced, pre-roasted beans with inconsistent quality and limited selections.",
We believe in honest coffee. Every cup tells a story of passion, quality, and connection to the farmers who grew it. features: [
</h2> "Pre-roasted beans",
<div className="flex flex-col sm:flex-row gap-4 justify-center"> "Limited drink options",
<a href="#about" className="bg-amber-600 hover:bg-amber-700 text-white px-8 py-3 rounded-lg transition-colors"> "Standard service",
Our Story "Basic pastries"
</a> ],
<a href="#contact" className="bg-gray-200 hover:bg-gray-300 text-gray-900 px-8 py-3 rounded-lg transition-colors"> buttonText: "Learn More",
Learn More buttonHref: "#",
</a> isPopular: false
</div> },
</div> {
</div> planName: "Corporate Chain",
</motion.div> price: "$5-7",
priceUnit: "/cup",
description: "Branded experience with standardized recipes and high-volume production prioritizing speed over quality.",
features: [
"Standardized recipes",
"Quick service",
"Branded atmosphere",
"Commercial pastries"
],
buttonText: "Learn More",
buttonHref: "#",
isPopular: false
},
{
planName: "Brew Haven",
price: "$4.50-5.75",
priceUnit: "/cup",
description: "Specialty-roasted fresh daily with personalized service and artisanal craftsmanship in every cup.",
features: [
"Fresh daily roasting",
"Single-origin selections",
"Personalized service",
"Handcrafted pastries",
"Knowledgeable baristas",
"Community focus"
],
buttonText: "Visit Us Today",
buttonHref: "#contact",
isPopular: true
}
]}
/>
</div>
<motion.div <div id="testimonials" data-section="testimonials">
id="menu" <TestimonialCardTen
data-section="menu" 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"> },
Menu {
</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.",
Explore our signature drinks and freshly baked pastries. Each item is crafted with precision and care. 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-3 gap-8"> },
<div className="bg-white rounded-lg overflow-hidden shadow-lg"> {
<img title: "A Coffee Lover's Dream",
src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183740051-csjqe6w0.jpg" 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.",
alt="Single origin espresso shot" customerName: "Emily Rodriguez",
className="w-full h-64 object-cover" customerTitle: "Travel Writer",
/> customerImage: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766154634313-y5tjxwwi.jpg"
<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> title: "More Than Just Coffee",
</div> 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.",
</div> customerName: "Michael Thompson",
<div className="bg-white rounded-lg overflow-hidden shadow-lg"> customerTitle: "Graphic Designer",
<img customerImage: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766182321167-i4kvpj5f.jpg"
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>
<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="social-proof" data-section="social-proof">
id="competitors" <SocialProofThree
data-section="competitors" 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={containerVariants} 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",
<div className="inline-flex items-center gap-2 bg-amber-100 text-amber-800 px-4 py-2 rounded-full mb-4"> alt: "Partner logo"
<span>Our Advantage</span> },
</div> {
<h2 className="text-3xl md:text-5xl font-bold text-gray-900 mb-4"> src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140106374-le5uxrj5.jpg",
How We Compare alt: "Partner logo"
</h2> },
<p className="text-xl text-gray-700"> {
See why Brew Haven stands out from the competition. We deliver superior quality, service, and value. src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183581068-iklr7ul7.jpg",
</p> alt: "Partner logo"
</div> },
<div className="grid grid-cols-1 md:grid-cols-3 gap-8"> {
<div className="bg-white rounded-lg p-8 shadow-lg"> src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140107205-4bafhl5z.jpg",
<div className="bg-gray-100 text-gray-800 px-3 py-1 rounded-full text-sm inline-block mb-4"> alt: "Partner logo"
Standard Coffee Shop },
</div> {
<div className="mb-4"> src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183582037-814qymx8.jpg",
<span className="text-3xl font-bold">$3-4</span> alt: "Partner logo"
<span className="text-gray-600">/cup</span> },
</div> {
<p className="text-gray-700 mb-6"> src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766140109000-ndb7534s.jpg",
Mass-produced, pre-roasted beans with inconsistent quality and limited selections. alt: "Partner logo"
</p> },
<div className="mb-6"> {
<h4 className="font-semibold mb-3">What You Get:</h4> src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183582950-ea055ote.jpg",
<ul className="space-y-2"> alt: "Partner logo"
<li className="flex items-center gap-2"> }
<span className="w-2 h-2 bg-gray-400 rounded-full"></span> ]}
Pre-roasted beans />
</li> </div>
<li className="flex items-center gap-2">
<span className="w-2 h-2 bg-gray-400 rounded-full"></span>
Limited drink options
</li>
<li className="flex items-center gap-2">
<span className="w-2 h-2 bg-gray-400 rounded-full"></span>
Standard service
</li>
<li className="flex items-center gap-2">
<span className="w-2 h-2 bg-gray-400 rounded-full"></span>
Basic 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">
<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="contact" data-section="contact">
id="testimonials" <ContactSplit
data-section="testimonials" 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={containerVariants} 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="text-center mb-12"> </div>
<h2 className="text-3xl md:text-5xl font-bold text-gray-900 mb-4">
What Our Customers Say
</h2>
<p className="text-xl text-gray-700">
Join hundreds of satisfied coffee lovers who have made Brew Haven their daily ritual.
</p>
</div>
<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>
<p className="text-gray-700 mb-6">
"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">
<img
src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766183586665-q5sajrdt.jpg"
alt="Sarah Martinez portrait"
className="w-12 h-12 rounded-full object-cover"
/>
<div>
<div className="font-semibold">Sarah Martinez</div>
<div className="text-gray-600">Designer</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="footer" data-section="footer">
id="social-proof" <FooterBaseCard
data-section="social-proof" title="Brew Haven"
initial="hidden" links={[
whileInView="visible" {
viewport={{ once: true, amount: 0.3 }} title: "Coffee",
variants={fadeInVariants} links: [
> { label: "Our Menu", href: "#menu" },
<div className="py-20 px-4"> { label: "Brewing Guide", href: "#" },
<div className="max-w-6xl mx-auto"> { label: "Single Origins", href: "#" }
<div className="text-center mb-12"> ]
<h2 className="text-3xl md:text-5xl font-bold text-gray-900 mb-4"> },
Trusted by Coffee Enthusiasts {
</h2> title: "Visit Us",
<p className="text-xl text-gray-700"> links: [
We partner with the finest roasters and certification organizations committed to quality and sustainability. { label: "Location & Hours", href: "#contact" },
</p> { label: "Make a Reservation", href: "#" },
</div> { label: "Gift Cards", href: "#" }
<div className="grid grid-cols-2 md:grid-cols-4 gap-8 items-center justify-items-center"> ]
<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" /> {
<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" /> title: "About",
<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" /> links: [
<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" /> { label: "Our Story", href: "#about" },
<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" /> { label: "Sustainability", href: "#" },
<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" /> { label: "Careers", href: "#" }
<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> title: "Connect",
</motion.div> links: [
{ label: "Instagram", href: "#" },
<motion.div { label: "Facebook", href: "#" },
id="contact" { label: "Contact Us", href: "#contact" }
data-section="contact" ]
initial="hidden" }
whileInView="visible" ]}
viewport={{ once: true, amount: 0.3 }} copyright="© 2025 Brew Haven. All rights reserved."
variants={slideInVariants} />
> </div>
<div className="py-20 px-4 bg-gray-50">
<div className="max-w-6xl mx-auto">
<div className="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center">
<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
id="footer"
data-section="footer"
initial="hidden"
whileInView="visible"
viewport={{ once: true, amount: 0.5 }}
variants={fadeInVariants}
>
<div className="bg-gray-900 text-white py-16 px-4">
<div className="max-w-6xl mx-auto">
<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>
<div>
<h4 className="font-semibold mb-4">Coffee</h4>
<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>
</ul>
</div>
<div>
<h4 className="font-semibold mb-4">Visit Us</h4>
<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>
</ul>
</div>
<div>
<h4 className="font-semibold mb-4">About</h4>
<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>
</ul>
</div>
<div>
<h4 className="font-semibold mb-4">Connect</h4>
<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>
); );
} }