Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f3735b20b7 | |||
| af27c3504b | |||
| 90db726739 | |||
| 26ad4ab061 | |||
| 35ab3c0501 | |||
| 3cea4f15e9 | |||
| 5defc4fba6 | |||
| 571179e8dc | |||
| 82f48962ad | |||
| 1ff99be7d4 | |||
| 19342b43ac | |||
| 0b4031e55d |
141
src/app/page.tsx
141
src/app/page.tsx
@@ -2,38 +2,37 @@
|
|||||||
|
|
||||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
import ReactLenis from "lenis/react";
|
import ReactLenis from "lenis/react";
|
||||||
import ContactCenter from '@/components/sections/contact/ContactCenter';
|
import ContactCTA from '@/components/sections/contact/ContactCTA';
|
||||||
import FeatureCardTwentyFour from '@/components/sections/feature/FeatureCardTwentyFour';
|
import FeatureCardNineteen from '@/components/sections/feature/FeatureCardNineteen';
|
||||||
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
|
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
|
||||||
import HeroPersonalLinks from '@/components/sections/hero/HeroPersonalLinks';
|
import HeroBillboardDashboard from '@/components/sections/hero/HeroBillboardDashboard';
|
||||||
import SplitAbout from '@/components/sections/about/SplitAbout';
|
import MediaAbout from '@/components/sections/about/MediaAbout';
|
||||||
import MetricCardFourteen from '@/components/sections/metrics/MetricCardFourteen';
|
import MetricCardTwo from '@/components/sections/metrics/MetricCardTwo';
|
||||||
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
|
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
|
||||||
import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
|
import ProductCardFour from '@/components/sections/product/ProductCardFour';
|
||||||
import SocialProofOne from '@/components/sections/socialProof/SocialProofOne';
|
import TestimonialCardSixteen from '@/components/sections/testimonial/TestimonialCardSixteen';
|
||||||
import TestimonialCardTwo from '@/components/sections/testimonial/TestimonialCardTwo';
|
import { Coffee, Zap, Target } from "lucide-react";
|
||||||
import { Award, Shield, Zap, Coffee, Mail } from "lucide-react";
|
|
||||||
|
|
||||||
export default function LandingPage() {
|
export default function LandingPage() {
|
||||||
return (
|
return (
|
||||||
<ThemeProvider
|
<ThemeProvider
|
||||||
defaultButtonVariant="expand-hover"
|
defaultButtonVariant="expand-hover"
|
||||||
defaultTextAnimation="background-highlight"
|
defaultTextAnimation="reveal-blur"
|
||||||
borderRadius="pill"
|
borderRadius="pill"
|
||||||
contentWidth="mediumLarge"
|
contentWidth="mediumLarge"
|
||||||
sizing="largeSizeMediumTitles"
|
sizing="largeSizeMediumTitles"
|
||||||
background="noiseDiagonalGradient"
|
background="noiseDiagonalGradient"
|
||||||
cardStyle="glass-elevated"
|
cardStyle="glass-depth"
|
||||||
primaryButtonStyle="primary-glow"
|
primaryButtonStyle="primary-glow"
|
||||||
secondaryButtonStyle="layered"
|
secondaryButtonStyle="glass"
|
||||||
headingFontWeight="bold"
|
headingFontWeight="extrabold"
|
||||||
>
|
>
|
||||||
<ReactLenis root>
|
<ReactLenis root>
|
||||||
<div id="nav" data-section="nav">
|
<div id="nav" data-section="nav">
|
||||||
<NavbarStyleApple
|
<NavbarStyleFullscreen
|
||||||
brandName="Revolver Espresso"
|
brandName="Revolver Espresso"
|
||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Our Story", id: "#about" },
|
{ name: "Story", id: "#about" },
|
||||||
{ name: "Roasts", id: "#products" },
|
{ name: "Roasts", id: "#products" },
|
||||||
{ name: "Process", id: "#features" },
|
{ name: "Process", id: "#features" },
|
||||||
{ name: "Contact", id: "#contact" },
|
{ name: "Contact", id: "#contact" },
|
||||||
@@ -42,121 +41,103 @@ export default function LandingPage() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="hero" data-section="hero">
|
<div id="hero" data-section="hero">
|
||||||
<HeroPersonalLinks
|
<HeroBillboardDashboard
|
||||||
background={{ variant: "sparkles-gradient" }}
|
|
||||||
title="Revolver Espresso"
|
title="Revolver Espresso"
|
||||||
linkCards={[
|
description="Precision-roasted specialty coffee for the refined palate. Crafted with passion, delivered to your cup."
|
||||||
{ title: "Our Roasts", description: "Shop the latest specialty collection", button: { text: "Shop Now", href: "#products" }, icon: Coffee },
|
background={{ variant: "sparkles-gradient" }}
|
||||||
{ title: "The Process", description: "See how we craft every cup", button: { text: "Learn More", href: "#features" }, icon: Zap },
|
dashboard={{
|
||||||
{ title: "Contact Us", description: "Get in touch with our team", button: { text: "Message", href: "#contact" }, icon: Mail },
|
title: "Our Roastery Overview", stats: [
|
||||||
]}
|
{ title: "Roasts", values: [15, 20, 25], description: "Monthly batches" },
|
||||||
|
{ title: "Growth", values: [10, 5, 15], description: "Year over year" },
|
||||||
|
{ title: "Reach", values: [50, 60, 75], description: "Global estates" }
|
||||||
|
],
|
||||||
|
logoIcon: Coffee,
|
||||||
|
sidebarItems: [{ icon: Coffee }, { icon: Zap }],
|
||||||
|
listItems: [{ icon: Target, title: "Batch 402", status: "Roasted" }],
|
||||||
|
buttons: [{ text: "Shop Roasts", href: "#products" }],
|
||||||
|
imageSrc: "https://images.unsplash.com/photo-1559056199-641a0ac8b55e?q=80&w=2070&auto=format&fit=crop&_wi=1"
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="about" data-section="about">
|
<div id="about" data-section="about">
|
||||||
<SplitAbout
|
<MediaAbout
|
||||||
title="Refining the Coffee Experience"
|
title="Refining the Coffee Experience"
|
||||||
description="At Revolver Espresso, we believe in the art of the perfect brew. Our mission is to bridge the gap between world-class specialty estates and your daily ritual."
|
description="At Revolver Espresso, we believe in the art of the perfect brew. We bridge the gap between world-class specialty estates and your daily ritual."
|
||||||
bulletPoints={[
|
imageSrc="https://images.unsplash.com/photo-1495474472287-4d71bcdd2085?q=80&w=2070&auto=format&fit=crop"
|
||||||
{ title: "Direct Trade", description: "Fair partnerships with ethical estates globally.", icon: Shield },
|
|
||||||
{ title: "Artisanal Roasting", description: "Precision controlled small-batch roasting.", icon: Award },
|
|
||||||
{ title: "Expert Mastery", description: "Training the next generation of baristas.", icon: Zap },
|
|
||||||
]}
|
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/close-up-hand-preparing-coffee-with-machine_23-2148892831.jpg"
|
|
||||||
textboxLayout="split"
|
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="features" data-section="features">
|
<div id="features" data-section="features">
|
||||||
<FeatureCardTwentyFour
|
<FeatureCardNineteen
|
||||||
title="Precision Craft"
|
title="Precision Craft"
|
||||||
description="Explore our dedication to the coffee lifecycle."
|
description="Explore our dedication to the coffee lifecycle."
|
||||||
animationType="slide-up"
|
|
||||||
textboxLayout="split"
|
textboxLayout="split"
|
||||||
useInvertedBackground={true}
|
useInvertedBackground={true}
|
||||||
features={[
|
features={[
|
||||||
{
|
{ tag: "Sourcing", title: "Origin Selection", subtitle: "Top 1%", description: "Hand-selected sustainable beans.", imageSrc: "https://images.unsplash.com/photo-1447933601403-8c6f83105a60?q=80&w=2070&auto=format&fit=crop" }
|
||||||
id: "f1", title: "Origin Selection", author: "Master Roaster", description: "Sourcing only the top 1% of harvested cherries.", tags: ["Sustainable", "Organic"],
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/closeup-shot-male-hands-sorting-harvested-coffee-fruits-before-drying_181624-58904.jpg"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "f2", title: "Roast Science", author: "QA Dept", description: "Thermodynamic profiling for consistent flavor.", tags: ["Tech", "Precision"],
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/barista-grind-coffee-bean-with-grinder-machine-barista-prepares-coffee_169016-61314.jpg"
|
|
||||||
}
|
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="products" data-section="products">
|
<div id="products" data-section="products">
|
||||||
<ProductCardTwo
|
<ProductCardFour
|
||||||
title="Curated Blends"
|
title="Curated Blends"
|
||||||
description="Premium selections for the discerning palate."
|
description="Specialty beans for your daily ritual."
|
||||||
gridVariant="four-items-2x2-equal-grid"
|
gridVariant="bento-grid"
|
||||||
animationType="slide-up"
|
animationType="slide-up"
|
||||||
textboxLayout="inline-image"
|
textboxLayout="split"
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
products={[
|
products={[
|
||||||
{ id: "p1", brand: "Revolver", name: "Midnight Velvet", price: "$24.00", rating: 5, reviewCount: "128", imageSrc: "http://img.b2bpic.net/free-photo/high-angle-glass-with-delicious-coffee-table_23-2149514314.jpg" },
|
{ id: "p1", name: "Midnight Velvet", price: "$24", variant: "Dark Roast", imageSrc: "https://images.unsplash.com/photo-1559056199-641a0ac8b55e?q=80&w=2070&auto=format&fit=crop&_wi=2" },
|
||||||
{ id: "p2", brand: "Revolver", name: "Highland Gold", price: "$26.00", rating: 5, reviewCount: "96", imageSrc: "http://img.b2bpic.net/free-photo/top-view-new-year-concept_23-2148346429.jpg" },
|
{ id: "p2", name: "Morning Sun", price: "$22", variant: "Light Roast", imageSrc: "https://images.unsplash.com/photo-1582136757025-2e650c33a921?q=80&w=2070&auto=format&fit=crop" },
|
||||||
|
{ id: "p3", name: "Espresso Gold", price: "$26", variant: "Medium Roast", imageSrc: "https://images.unsplash.com/photo-1611854779393-1b2da9d400fe?q=80&w=2070&auto=format&fit=crop" }
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="testimonials" data-section="testimonials">
|
<div id="testimonials" data-section="testimonials">
|
||||||
<TestimonialCardTwo
|
<TestimonialCardSixteen
|
||||||
title="Community Voices"
|
title="Community Voices"
|
||||||
description="Voices from our global coffee network."
|
description="Global coffee lovers trust our craft."
|
||||||
animationType="slide-up"
|
animationType="blur-reveal"
|
||||||
|
kpiItems={[{ value: "18yr", label: "Heritage" }, { value: "50+", label: "Estates" }, { value: "100%", label: "Ethical" }]}
|
||||||
textboxLayout="split"
|
textboxLayout="split"
|
||||||
useInvertedBackground={true}
|
useInvertedBackground={true}
|
||||||
testimonials={[
|
testimonials={[
|
||||||
{ id: "t1", name: "Sarah J.", role: "Coffee Aficionado", testimonial: "The most consistent specialty roast I have ever found.", imageSrc: "http://img.b2bpic.net/free-photo/positive-young-woman-with-curly-hair-giggles-happily-holds-disposable-cup-coffee-enjoys-aromatic-beverage-dressed-casual-orange-jumper-isolated-white-background-drinking-concept_273609-61071.jpg" },
|
{ id: "t1", name: "Sarah J.", role: "Coffee Expert", company: "Roast Journal", rating: 5, imageSrc: "https://images.unsplash.com/photo-1544717302-de2939b7ef71?q=80&w=2070&auto=format&fit=crop" }
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="metrics" data-section="metrics">
|
<div id="metrics" data-section="metrics">
|
||||||
<MetricCardFourteen
|
<MetricCardTwo
|
||||||
title="Our Reach"
|
title="The Numbers"
|
||||||
tag="Impact"
|
description="Growing a sustainable future."
|
||||||
metrics={[
|
metrics={[{ id: "m1", value: "50+", description: "Estates" }, { id: "m2", value: "18yr", description: "Experience" }, { id: "m3", value: "100%", description: "Ethical" }]}
|
||||||
{ id: "m1", value: "50+", description: "Global estates supported" },
|
gridVariant="uniform-all-items-equal"
|
||||||
{ id: "m2", value: "18yr", description: "Years of roasting heritage" },
|
animationType="slide-up"
|
||||||
{ id: "m3", value: "100%", description: "Ethical sustainability index" },
|
textboxLayout="split"
|
||||||
]}
|
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="social-proof" data-section="social-proof">
|
|
||||||
<SocialProofOne
|
|
||||||
names={["Barista Weekly", "Global Coffee News", "The Roast Journal", "Modern Espresso", "Café Life"]}
|
|
||||||
title="Proudly Featured"
|
|
||||||
description="As seen in top coffee publications globally."
|
|
||||||
textboxLayout="split"
|
|
||||||
useInvertedBackground={true}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="contact" data-section="contact">
|
<div id="contact" data-section="contact">
|
||||||
<ContactCenter
|
<ContactCTA
|
||||||
title="Stay Connected"
|
title="Stay Connected"
|
||||||
description="Join our inner circle for early access and events."
|
description="Join our inner circle for exclusive roasts and early access events."
|
||||||
tag="Newsletter"
|
tag="Newsletter"
|
||||||
|
buttons={[{ text: "Join Today" }]}
|
||||||
background={{ variant: "sparkles-gradient" }}
|
background={{ variant: "sparkles-gradient" }}
|
||||||
useInvertedBackground={true}
|
useInvertedBackground={false}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="footer" data-section="footer">
|
<div id="footer" data-section="footer">
|
||||||
<FooterBaseReveal
|
<FooterBaseCard
|
||||||
logoText="Revolver Espresso"
|
logoText="Revolver Espresso"
|
||||||
columns={[
|
columns={[{ title: "Menu", items: [{ label: "Shop", href: "#products" }, { label: "Process", href: "#features" }] }]}
|
||||||
{ title: "Company", items: [{ label: "Our Story", href: "#about" }, { label: "Roastery", href: "#" }] },
|
|
||||||
{ title: "Shop", items: [{ label: "Beans", href: "#products" }, { label: "Equipment", href: "#" }] },
|
|
||||||
{ title: "Support", items: [{ label: "Contact", href: "#contact" }, { label: "Privacy", href: "#" }] },
|
|
||||||
]}
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</ReactLenis>
|
</ReactLenis>
|
||||||
|
|||||||
Reference in New Issue
Block a user