|
|
|
|
@@ -1,64 +1,76 @@
|
|
|
|
|
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
|
|
|
|
// file as the canonical source for the "beers" section.
|
|
|
|
|
|
|
|
|
|
import React from 'react';
|
|
|
|
|
import FeaturesRevealCardsBentoSharp from '@/components/sections/features/FeaturesRevealCardsBentoSharp';
|
|
|
|
|
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
|
|
|
|
import { Button } from '@/components/ui/Button';
|
|
|
|
|
import Card from '@/components/ui/Card';
|
|
|
|
|
import ScrollReveal from '@/components/ui/ScrollReveal';
|
|
|
|
|
import TextAnimation from '@/components/ui/TextAnimation';
|
|
|
|
|
|
|
|
|
|
export default function BeersSection() {
|
|
|
|
|
const beers = [
|
|
|
|
|
{
|
|
|
|
|
name: "Mountain Peak Pilsner",
|
|
|
|
|
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: "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: "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"
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
export default function BeersSection(): React.JSX.Element {
|
|
|
|
|
return (
|
|
|
|
|
<div id="beers" data-section="beers">
|
|
|
|
|
<SectionErrorBoundary name="beers">
|
|
|
|
|
<FeaturesRevealCardsBentoSharp
|
|
|
|
|
tag="Our Signature Collection"
|
|
|
|
|
title="Taste the Craftsmanship"
|
|
|
|
|
description="From crisp lagers to robust stouts, each Cedar Mountain brew tells a story of Vermont's rich landscape and our dedication to the art of brewing. Discover our most popular and beloved beers."
|
|
|
|
|
items={[
|
|
|
|
|
{
|
|
|
|
|
title: "Maple Amber Ale",
|
|
|
|
|
description: "A rich, malty ale with subtle notes of Vermont maple syrup, balanced by a clean hop finish. Perfect for any season.",
|
|
|
|
|
href: "#",
|
|
|
|
|
imageSrc: "http://img.b2bpic.net/free-photo/composed-books-autumnal-goods_23-2147687094.jpg",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "Cascade IPA",
|
|
|
|
|
description: "Our flagship IPA, bursting with vibrant citrus and pine aromas from generous Cascade hop additions. Bold, refreshing, and truly iconic.",
|
|
|
|
|
href: "#",
|
|
|
|
|
imageSrc: "http://img.b2bpic.net/free-psd/flat-design-oktoberfest-celebration-poster_23-2150683567.jpg",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "Stout Mountain Porter",
|
|
|
|
|
description: "A dark and brooding porter with deep roasted malt flavors, hints of chocolate and coffee, and a creamy texture. A comforting classic.",
|
|
|
|
|
href: "#",
|
|
|
|
|
imageSrc: "http://img.b2bpic.net/free-photo/front-view-bottles-bear-dark-background_140725-94854.jpg",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "Summertime Lager",
|
|
|
|
|
description: "Light, crisp, and incredibly refreshing. Our lager is brewed for sunny days and good company, with a clean finish that invites another sip.",
|
|
|
|
|
href: "#",
|
|
|
|
|
imageSrc: "http://img.b2bpic.net/free-photo/celebration-beer-cheers-concept-close-up-hand-holding-up-glasses-beer-man_1150-6458.jpg",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "Harvest Wheat Beer",
|
|
|
|
|
description: "A hazy, unfiltered wheat beer brewed with local Vermont wheat, offering subtle fruit and spice notes. A true taste of the harvest.",
|
|
|
|
|
href: "#",
|
|
|
|
|
imageSrc: "http://img.b2bpic.net/free-photo/composition-with-tasty-american-beer_23-2148907632.jpg",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "Barrel-Aged Scotch Ale",
|
|
|
|
|
description: "A robust Scotch Ale aged in oak barrels, developing complex vanilla, caramel, and smoky characteristics. A beer for sipping and savoring.",
|
|
|
|
|
href: "#",
|
|
|
|
|
imageSrc: "http://img.b2bpic.net/free-photo/pints-draught-beer-macro-photography_53876-101409.jpg",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "Raspberry Sour",
|
|
|
|
|
description: "A delightfully tart and fruity sour ale, brewed with real Vermont raspberries for a vibrant color and juicy, refreshing flavor.",
|
|
|
|
|
href: "#",
|
|
|
|
|
imageSrc: "http://img.b2bpic.net/free-photo/close-up-friends-beach-with-beer_23-2147827103.jpg",
|
|
|
|
|
},
|
|
|
|
|
]}
|
|
|
|
|
/>
|
|
|
|
|
</SectionErrorBoundary>
|
|
|
|
|
<section id="beers" className="bg-background">
|
|
|
|
|
<div className="max-w-content-width mx-auto px-6">
|
|
|
|
|
<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 brews, crafted with passion and the finest local ingredients.
|
|
|
|
|
</p>
|
|
|
|
|
</ScrollReveal>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<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 border border-border/50 bg-card hover:-translate-y-1 transition-transform duration-300">
|
|
|
|
|
<div className="relative h-64 overflow-hidden">
|
|
|
|
|
<img
|
|
|
|
|
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 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">
|
|
|
|
|
<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>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|