Compare commits
10 Commits
version_13
...
version_17
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d304be0199 | ||
| b8bb7a6d5f | |||
| dfe477646a | |||
|
|
7a6adf8255 | ||
| 69582c45b1 | |||
|
|
c24ff1996b | ||
| c210f3c561 | |||
|
|
e2dcc2d5e5 | ||
| ea750d0b01 | |||
| 3618dd9836 |
@@ -1,76 +1,86 @@
|
||||
"use client";
|
||||
import { ImageOrVideo, ScrollReveal, TextAnimation } from '@/components/ui';
|
||||
|
||||
const beers = [
|
||||
{
|
||||
name: "Mountain IPA",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/mountain-ipa.jpg",
|
||||
abv: "6.5%",
|
||||
ibu: "60",
|
||||
description: "A vibrant, hop-forward IPA bursting with notes of pine, citrus, and a hint of tropical fruit. Its crisp bitterness is balanced by a smooth malt backbone, leading to a refreshing finish. Pairs perfectly with spicy tacos, grilled burgers, or sharp cheddar cheese."
|
||||
},
|
||||
{
|
||||
name: "Riverbend Lager",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/riverbend-lager.jpg",
|
||||
abv: "5.0%",
|
||||
ibu: "20",
|
||||
description: "A clean, crisp, and exceptionally smooth lager with subtle notes of toasted grain and a delicate floral hop aroma. Its light body and refreshing character make it incredibly drinkable. Excellent with light salads, seafood, or classic pub fare like fish and chips."
|
||||
},
|
||||
{
|
||||
name: "Forest Stout",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/forest-stout.jpg",
|
||||
abv: "7.2%",
|
||||
ibu: "35",
|
||||
description: "A rich and robust stout with deep flavors of roasted coffee, dark chocolate, and a hint of caramel. Its creamy texture and warming finish make it a perfect companion for cooler evenings. Ideal with hearty stews, barbecued ribs, or decadent chocolate desserts."
|
||||
},
|
||||
{
|
||||
name: "Sunset Wheat Ale",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/sunset-wheat-ale.jpg",
|
||||
abv: "5.2%",
|
||||
ibu: "15",
|
||||
description: "A refreshing and hazy wheat ale with bright notes of orange peel and coriander. Its smooth, effervescent body and subtle sweetness make it perfect for a warm afternoon. Pairs wonderfully with grilled chicken, fruit tarts, or goat cheese salads."
|
||||
},
|
||||
{
|
||||
name: "Trailblazer Pale Ale",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/trailblazer-pale-ale.jpg",
|
||||
abv: "5.8%",
|
||||
ibu: "40",
|
||||
description: "A classic American Pale Ale with a balanced hop profile, offering aromas of grapefruit and floral notes. Its medium body and crisp finish make it a versatile choice for any occasion. Great with pizza, burgers, or a variety of cheeses."
|
||||
}
|
||||
];
|
||||
import React from 'react';
|
||||
import ScrollReveal from '@/components/ui/ScrollReveal';
|
||||
import TextAnimation from '@/components/ui/TextAnimation';
|
||||
import GridOrCarousel from '@/components/ui/GridOrCarousel';
|
||||
import Card from '@/components/ui/Card';
|
||||
import Tag from '@/components/ui/Tag';
|
||||
|
||||
export default function BeersSection() {
|
||||
return (
|
||||
<div data-webild-section="beers-section" id="beers" className="relative w-full bg-background">
|
||||
<div className="max-w-content-width mx-auto px-6">
|
||||
<ScrollReveal variant="slide-up" delay={0.1}>
|
||||
<TextAnimation
|
||||
text="Our Craft Beers"
|
||||
tag="h2"
|
||||
variant="slide-up"
|
||||
gradientText
|
||||
className="text-4xl md:text-5xl font-bold text-center"
|
||||
/>
|
||||
</ScrollReveal>
|
||||
<ScrollReveal variant="slide-up" delay={0.2}>
|
||||
<p className="mt-4 text-lg text-muted-foreground text-center max-w-content-width mx-auto">
|
||||
Explore our diverse selection of handcrafted beers, brewed with passion and the finest ingredients.
|
||||
</p>
|
||||
</ScrollReveal>
|
||||
const beers = [
|
||||
{
|
||||
name: "Mountain Pale Ale",
|
||||
type: "Pale Ale",
|
||||
abv: "5.5%",
|
||||
description: "A crisp and refreshing pale ale with notes of pine and citrus, brewed with local mountain spring water.",
|
||||
alt: "Glass of pale ale craft beer with pine background"
|
||||
},
|
||||
{
|
||||
name: "Cedar Stout",
|
||||
type: "Stout",
|
||||
abv: "7.2%",
|
||||
description: "Rich and complex with deep roasted coffee and dark chocolate flavors, perfect for chilly evenings.",
|
||||
alt: "Pint of dark stout craft beer with roasted coffee beans"
|
||||
},
|
||||
{
|
||||
name: "Valley IPA",
|
||||
type: "IPA",
|
||||
abv: "6.8%",
|
||||
description: "A hop-forward India Pale Ale bursting with tropical fruit aromas and a smooth, bitter finish.",
|
||||
alt: "Glass of IPA craft beer with tropical fruits"
|
||||
},
|
||||
{
|
||||
name: "Sunset Amber",
|
||||
type: "Amber Ale",
|
||||
abv: "5.0%",
|
||||
description: "A perfectly balanced amber ale featuring toasted caramel malts and a subtle earthy hop profile.",
|
||||
alt: "Glass of amber ale craft beer on a wooden table"
|
||||
}
|
||||
];
|
||||
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
|
||||
return (
|
||||
<section id="beers" className="relative bg-background overflow-hidden">
|
||||
<div className="absolute top-0 left-1/2 -translate-x-1/2 w-[800px] h-[400px] bg-primary-cta/5 blur-[120px] rounded-full pointer-events-none -z-10" />
|
||||
|
||||
<div className="max-w-content-width mx-auto px-6">
|
||||
<div className="text-center">
|
||||
<ScrollReveal variant="slide-up">
|
||||
<TextAnimation
|
||||
text="Our Beers"
|
||||
variant="fade-blur"
|
||||
gradientText={false}
|
||||
tag="h2"
|
||||
className="text-4xl md:text-5xl lg:text-6xl font-bold text-foreground mb-6"
|
||||
/>
|
||||
<p className="text-lg md:text-xl text-muted-foreground max-w-content-width mx-auto">
|
||||
Crafted with passion and precision, our core lineup features something for every palate.
|
||||
</p>
|
||||
</ScrollReveal>
|
||||
</div>
|
||||
|
||||
<GridOrCarousel>
|
||||
{beers.map((beer, index) => (
|
||||
<ScrollReveal key={beer.name} variant="slide-up" delay={0.3 + index * 0.1}>
|
||||
<div className="bg-card p-6 rounded-lg shadow-lg flex flex-col items-center text-center">
|
||||
<ImageOrVideo imageSrc={beer.imageSrc} className="w-32 h-32 object-cover rounded-full mb-4" />
|
||||
<h3 className="text-2xl font-semibold text-foreground">{beer.name}</h3>
|
||||
<p className="text-muted-foreground mt-2">ABV: {beer.abv} | IBU: {beer.ibu}</p>
|
||||
<p className="text-sm text-muted-foreground mt-4 max-w-prose">{beer.description}</p>
|
||||
</div>
|
||||
<ScrollReveal key={index} variant="slide-up" delay={index * 0.1}>
|
||||
<Card className="h-full flex flex-col overflow-hidden border border-border/50 bg-card hover:-translate-y-2 transition-all duration-300 hover:shadow-xl">
|
||||
<div className="relative h-72 w-full bg-muted/50">
|
||||
<img
|
||||
src=""
|
||||
alt={beer.alt}
|
||||
className="w-full h-full object-cover"
|
||||
/>
|
||||
<div className="absolute top-4 right-4 flex flex-col gap-2 items-end">
|
||||
<Tag text={beer.type} className="bg-background/90 backdrop-blur-md border-none shadow-sm" />
|
||||
<Tag text={`ABV ${beer.abv}`} className="bg-primary-cta text-primary-cta-text border-none shadow-sm" />
|
||||
</div>
|
||||
</div>
|
||||
<div className="p-8 flex-grow flex flex-col">
|
||||
<h3 className="text-2xl font-bold text-foreground mb-3">{beer.name}</h3>
|
||||
<p className="text-muted-foreground flex-grow leading-relaxed">{beer.description}</p>
|
||||
</div>
|
||||
</Card>
|
||||
</ScrollReveal>
|
||||
))}
|
||||
</div>
|
||||
</GridOrCarousel>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user