Compare commits

...

2 Commits

Author SHA1 Message Date
kudinDmitriyUp
c24ff1996b Bob AI: Rewrite the calls-to-action (CTAs) within the 'Beers' sectio 2026-06-02 14:58:17 +00:00
c210f3c561 Merge version_14_1780411748635 into main
Merge version_14_1780411748635 into main
2026-06-02 14:51:05 +00:00

View File

@@ -1,74 +1,75 @@
import React from 'react';
import ScrollReveal from '@/components/ui/ScrollReveal';
import Button from '@/components/ui/Button';
import Card from '@/components/ui/Card';
import Tag from '@/components/ui/Tag';
import ScrollReveal from '@/components/ui/ScrollReveal';
import TextAnimation from '@/components/ui/TextAnimation';
export default function BeersSection() {
const beers = [
{
name: "Mountain Peak Pilsner",
style: "Crisp & Refreshing Pilsner",
description: "Crisp and brilliantly clear, this classic pilsner delivers delicate floral hop aromas over a crackery malt base, finishing with a refreshing, snappy bite.",
alt: "Glass of crisp pilsner beer on a wooden table",
abv: "4.8% ABV"
style: "Pilsner",
description: "Crisp and refreshing with a floral hop aroma and a clean, snappy finish. Perfect for a sunny day on the trails.",
imageSrc: "",
imageAlt: "Glass of crisp Mountain Peak Pilsner beer on a wooden table"
},
{
name: "Pine Ridge IPA",
style: "West Coast IPA",
description: "A bold West Coast classic bursting with resinous pine and bright grapefruit zest. Supported by a lean caramel malt backbone for a perfectly bitter, dry finish.",
alt: "Pint of hazy IPA beer with a thick head",
abv: "6.5% ABV"
style: "India Pale Ale",
description: "Bold pine and citrus notes balanced by a sturdy malt backbone. A true Vermont-style IPA with a resinous kick.",
imageSrc: "",
imageAlt: "Pint of hazy Pine Ridge IPA beer with hops in the background"
},
{
name: "Amber Glow Ale",
style: "American Amber Ale",
description: "Deep copper in color, offering rich layers of toasted biscuit and sweet caramel. Balanced by a gentle earthy hop profile for a smooth, highly drinkable experience.",
alt: "Glass of amber ale beer with condensation",
abv: "5.2% ABV"
},
{
name: "Midnight Stout",
style: "Oatmeal Stout",
description: "Velvety and pitch-black, featuring decadent notes of dark chocolate, espresso, and roasted barley. A luxurious, full-bodied stout with a remarkably smooth finish.",
alt: "Pint of dark stout beer with a creamy tan head",
abv: "7.0% ABV"
name: "Black Bear Stout",
style: "Stout",
description: "Rich and complex with deep flavors of roasted coffee, dark chocolate, and a hint of vanilla. Smooth and warming.",
imageSrc: "",
imageAlt: "Dark and rich Black Bear Stout beer in a snifter glass"
}
];
return (
<section id="beers" className="bg-background">
<div className="max-w-content-width mx-auto px-6">
<ScrollReveal variant="slide-up" className="text-center flex flex-col items-center">
<Tag text="Our Signature Collection" className="mb-6" />
<h2 className="text-4xl md:text-5xl font-bold text-foreground mb-4">Crafted for Every Palate</h2>
<div className="text-center">
<TextAnimation text="Our Beers" variant="slide-up" gradientText={false} tag="h2" className="text-4xl md:text-5xl font-bold text-foreground mb-4" />
<ScrollReveal variant="slide-up" delay={0.1}>
<p className="text-lg text-muted-foreground max-w-content-width mx-auto">
Discover our core lineup of artisanal beers, brewed with passion, precision, and the finest local ingredients.
Discover our core lineup of artisanal brews, crafted with passion and the finest local ingredients.
</p>
</ScrollReveal>
</div>
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8">
<div className="grid grid-cols-1 md:grid-cols-3 gap-8">
{beers.map((beer, index) => (
<ScrollReveal key={index} variant="slide-up" delay={index * 0.1}>
<Card className="h-full flex flex-col overflow-hidden group border border-border/50">
<div className="relative h-64 overflow-hidden bg-card">
<Card className="h-full flex flex-col overflow-hidden border border-border/50 bg-card hover:-translate-y-1 transition-transform duration-300">
<div className="relative h-64 overflow-hidden">
<img
src=""
alt={beer.alt}
className="w-full h-full object-cover transition-transform duration-700 group-hover:scale-105"
src={beer.imageSrc}
alt={beer.imageAlt}
className="w-full h-full object-cover transition-transform duration-500 hover:scale-105"
/>
<div className="absolute top-4 right-4">
<Tag text={beer.abv} className="bg-background/90 backdrop-blur-sm text-foreground" />
<div className="absolute top-4 right-4 bg-background/90 backdrop-blur-sm px-3 py-1 rounded-full text-xs font-medium text-foreground">
{beer.style}
</div>
</div>
<div className="p-6 flex flex-col flex-grow">
<p className="text-xs font-bold text-accent mb-2 uppercase tracking-widest">{beer.style}</p>
<h3 className="text-xl font-bold text-foreground mb-3">{beer.name}</h3>
<p className="text-muted-foreground text-sm flex-grow leading-relaxed">{beer.description}</p>
<h3 className="text-xl font-bold text-foreground mb-2">{beer.name}</h3>
<p className="text-muted-foreground mb-6 flex-grow">{beer.description}</p>
<Button text="Explore Our Brews" variant="primary" className="w-full" />
</div>
</Card>
</ScrollReveal>
))}
</div>
<div className="text-center">
<ScrollReveal variant="slide-up" delay={0.4}>
<Button text="Find Your Favorite Beer" variant="secondary" href="#taproom" />
</ScrollReveal>
</div>
</div>
</section>
);