Compare commits

...

8 Commits

Author SHA1 Message Date
kudinDmitriyUp
87b70ffcf0 Bob AI: fix build errors (attempt 1) 2026-06-02 13:13:11 +00:00
kudinDmitriyUp
af016b7dc8 Bob AI: Locate badge elements within the home section (assumed to be 2026-06-02 13:12:16 +00:00
d300cd9834 Merge version_4_1780405336764 into main
Merge version_4_1780405336764 into main
2026-06-02 13:06:13 +00:00
kudinDmitriyUp
e1874f6bb0 Bob AI (stub): make badges in hero sections each on in different color 2026-06-02 13:06:09 +00:00
46736ec39c Merge version_3_1780405209697 into main
Merge version_3_1780405209697 into main
2026-06-02 13:00:40 +00:00
kudinDmitriyUp
4f414deb3f Bob AI: Add FaqSimple section (faq) 2026-06-02 13:00:33 +00:00
b25ab02db6 Merge version_2_1780404978372 into main
Merge version_2_1780404978372 into main
2026-06-02 12:58:21 +00:00
kudinDmitriyUp
7674a998e9 Bob AI: Add a new section to the page.
INLINE-ONLY (Option A archit
2026-06-02 12:57:39 +00:00

View File

@@ -3,8 +3,15 @@ import ContactCta from '@/components/sections/contact/ContactCta';
import FeaturesMediaCards from '@/components/sections/features/FeaturesMediaCards';
import FeaturesRevealCardsBentoSharp from '@/components/sections/features/FeaturesRevealCardsBentoSharp';
import HeroOverlayMarquee from '@/components/sections/hero/HeroOverlayMarquee';
import { Award, Droplet, Leaf, Users } from "lucide-react";
import { Award, Droplet, Leaf, Users, Star } from "lucide-react";
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
import TextAnimation from "@/components/ui/TextAnimation";
import ScrollReveal from "@/components/ui/ScrollReveal";
import GridOrCarousel from "@/components/ui/GridOrCarousel";
import FaqSimple from '@/components/sections/faq/FaqSimple';
{/* webild-stub @2026-06-02T13:06:08.765Z: make badges in hero sections each on in different color */}
export default function HomePage() {
return (
@@ -156,6 +163,82 @@ export default function HomePage() {
</SectionErrorBoundary>
</div>
<div id="testimonials" data-section="testimonials" data-webild-section="TestimonialQuoteCards">
<SectionErrorBoundary name="testimonials">
<section aria-label="Testimonials section" className="">
<div className="flex flex-col gap-8">
<div className="flex flex-col items-center w-content-width mx-auto gap-2">
<div className="px-3 py-1 mb-1 text-sm card rounded w-fit">
<p>What Our Guests Say</p>
</div>
<TextAnimation
text="Cheers from the Community"
variant="slide-up"
gradientText={true}
tag="h2"
className="md:max-w-8/10 text-6xl 2xl:text-7xl leading-[1.15] font-semibold text-center text-balance"
/>
<TextAnimation
text="Don't just take our word for it. Here's what craft beer lovers have to say about their experiences at Cedar Mountain Brewery."
variant="slide-up"
gradientText={false}
tag="p"
className="md:max-w-7/10 text-lg md:text-xl leading-snug text-center text-balance"
/>
</div>
<ScrollReveal variant="fade-blur">
<GridOrCarousel>
{[
{
name: "Sarah Jenkins",
role: "Local Enthusiast",
quote: "The Cascade IPA is hands down the best I've had in Vermont. The taproom atmosphere is so welcoming, and the staff really knows their stuff!",
},
{
name: "Mike & Emily",
role: "Weekend Visitors",
quote: "We stopped by during our road trip and ended up staying for hours. The Maple Amber Ale and the live music made for a perfect afternoon.",
},
{
name: "David Chen",
role: "Homebrewer",
quote: "You can taste the dedication to traditional craft in every sip of the Stout Mountain Porter. It's inspiring to see a brewery so committed to quality.",
}
].map((testimonial, i) => (
<div key={i} className="flex flex-col gap-4 xl:gap-5 2xl:gap-6 p-6 xl:p-7 2xl:p-8 h-full card rounded">
<div className="flex gap-1">
{[...Array(5)].map((_, j) => (
<Star key={j} className="size-5 text-accent fill-accent" />
))}
</div>
<p className="text-lg md:text-xl leading-snug flex-grow">"{testimonial.quote}"</p>
<div className="flex flex-col gap-1 mt-4">
<span className="text-base font-semibold">{testimonial.name}</span>
<span className="text-sm opacity-70">{testimonial.role}</span>
</div>
</div>
))}
</GridOrCarousel>
</ScrollReveal>
</div>
</section>
</SectionErrorBoundary>
</div>
<div id="faq" data-section="faq" data-webild-section="FaqSimple">
<FaqSimple
tag="Your Questions Answered"
title="Frequently Asked Questions"
description="Find answers to common questions about Cedar Mountain Brewery, our beers, taproom, and special events. We're here to help you plan your visit."
primaryButton={{"text":"Visit Our Taproom","href":"/taproom"}}
secondaryButton={{"text":"Explore Our Beers","href":"/beers"}}
items={[{"question":"What types of beer does Cedar Mountain Brewery offer?","answer":"We brew a diverse range of craft beers, including crisp lagers, hoppy IPAs, rich stouts, and seasonal ales. Our selection is constantly evolving, often featuring unique Vermont-inspired ingredients. Please check our 'Beers' page for our current tap list and availability."},{"question":"What are your taproom hours and location?","answer":"Our taproom is located in the heart of Vermont. We are open Wednesday to Friday from 3 PM - 9 PM, Saturday from 12 PM - 10 PM, and Sunday from 12 PM - 7 PM. We are closed on Monday and Tuesday. You can find our full address and directions on our 'Contact Us' page."},{"question":"Do you host special events or private parties?","answer":"Yes, we regularly host live music, trivia nights, and seasonal festivals. Our taproom is also available for private event bookings. Visit our 'Events' page for an up-to-date schedule or contact us directly to inquire about hosting your private gathering."},{"question":"Can I take a tour of the Cedar Mountain brewery?","answer":"We offer guided brewery tours on Saturdays at 2 PM and 4 PM. These tours provide a behind-the-scenes look at our brewing process and include a tasting flight. Reservations are highly recommended due to limited space."},{"question":"Where can I purchase Cedar Mountain beers to take home?","answer":"Our beers are available for purchase directly from our taproom in growlers, cans, and bottles. You can also find select Cedar Mountain brews at various local Vermont retailers and restaurants. Check our website for a list of distributors."}]}
/>
</div>
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
@@ -174,4 +257,4 @@ export default function HomePage() {
</div>
</>
);
}
}