Merge version_30_1782586024789 into main #31
@@ -1,219 +1,35 @@
|
||||
import AboutText from '@/components/sections/about/AboutText';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FaqTwoColumn from '@/components/sections/faq/FaqTwoColumn';
|
||||
import FeaturesArrowCards from '@/components/sections/features/FeaturesArrowCards';
|
||||
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
|
||||
import HeroSplitMediaGrid from '@/components/sections/hero/HeroSplitMediaGrid';
|
||||
import TestimonialColumnMarqueeCards from '@/components/sections/testimonial/TestimonialColumnMarqueeCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
// AUTO-GENERATED shell by per-section-migrate.
|
||||
// Section bodies live in ./<PageBase>/sections/<X>.tsx. Edit the section
|
||||
// files directly. Non-block content (wrappers, non-inlinable sections) is
|
||||
// preserved inline; extracted section blocks become <XSection/> refs.
|
||||
|
||||
export default function HomePage() {
|
||||
import React from 'react';
|
||||
import HeroSection from './HomePage/sections/Hero';
|
||||
import AboutSection from './HomePage/sections/About';
|
||||
import FeaturesSection from './HomePage/sections/Features';
|
||||
import ProductsSection from './HomePage/sections/Products';
|
||||
import TestimonialsSection from './HomePage/sections/Testimonials';
|
||||
import FaqSection from './HomePage/sections/Faq';
|
||||
import ContactSection from './HomePage/sections/Contact';
|
||||
|
||||
|
||||
import ReservationsCtaSection from './HomePage/sections/ReservationsCta';export default function HomePage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroSplitMediaGrid
|
||||
tag="Southern Vermont's Premiere Taqueria"
|
||||
title="Authentic Mexican Flavors in Wilmington"
|
||||
description="Experience fresh, creative Mexican cuisine in a warm, friendly atmosphere. From classic margaritas to our famous casita style tacos, we bring the best of Mexico to Vermont."
|
||||
primaryButton={{
|
||||
text: "See Menu",
|
||||
href: "#products",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Reserve Table",
|
||||
href: "#contact",
|
||||
}}
|
||||
items={[
|
||||
{
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782583772817-n6egaer7.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782584263660-flxntje2.webp",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
<ReservationsCtaSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutText
|
||||
title="Tucked away in Wilmington, we offer a cozy getaway for those seeking authentic Mexican fare, long-list spirits, and an experience that keeps you coming back."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesArrowCards
|
||||
tag="What We Offer"
|
||||
title="More Than Just Tacos"
|
||||
description="Discover why our guests make the trip to see us time and again."
|
||||
items={[
|
||||
{
|
||||
title: "Indoor & Outdoor Dining",
|
||||
tags: [
|
||||
"Summer Vibe",
|
||||
"Patio",
|
||||
],
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782583772819-g1g6b63j.jpg?_wi=1",
|
||||
},
|
||||
{
|
||||
title: "Full Bar",
|
||||
tags: [
|
||||
"Unique Drinks",
|
||||
"Margaritas",
|
||||
],
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782584284949-jcwitqln.avif",
|
||||
},
|
||||
{
|
||||
title: "Catering Services",
|
||||
tags: [
|
||||
"Events",
|
||||
"Groups",
|
||||
],
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782583772820-tmeo3g68.jpg?_wi=1",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FeaturesSection />
|
||||
|
||||
<div id="products" data-section="products">
|
||||
<SectionErrorBoundary name="products">
|
||||
<FeaturesImageBento
|
||||
tag="Our Menu"
|
||||
title="Flavor Favorites"
|
||||
description="Fresh, locally-loved authentic Mexican dishes prepared with care."
|
||||
items={[
|
||||
{
|
||||
title: "Taco Salad Bowl",
|
||||
description: "Fresh, crisp veggies and signature toppings.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782585032446-ujwtjzft.webp",
|
||||
},
|
||||
{
|
||||
title: "Salsa & Chips",
|
||||
description: "Classic house-made daily.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782584897843-bsq8qi4f.webp",
|
||||
},
|
||||
{
|
||||
title: "Sizzling Fajitas",
|
||||
description: "Blackened fish or seasoned chicken.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782584975412-u13svmmm.webp",
|
||||
},
|
||||
{
|
||||
title: "Classic Margaritas",
|
||||
description: "The perfect companion to any meal.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782584413256-96n9gecc.avif",
|
||||
},
|
||||
{
|
||||
title: "Carne ",
|
||||
description: "Served with Potatoes and Salad Potatoes and Salad",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782584752436-d6qlaoo7.webp",
|
||||
},
|
||||
{
|
||||
title: "Chimichanga",
|
||||
description: "Served with Mexican Salad",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782583772819-v63rvp8k.jpg?_wi=2",
|
||||
},
|
||||
{
|
||||
title: "Churros",
|
||||
description: "Sugary dessert perfection.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782585100899-2z38r47t.webp",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ProductsSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialColumnMarqueeCards
|
||||
tag="Happy Guests"
|
||||
title="Reviews From The Heart"
|
||||
description="Don't just take our word for it—our guests share their love for La Casita."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Lynette Martin",
|
||||
role: "Local Guide",
|
||||
quote: "Outstanding authentic Mexican food. Salsa was delicious. 10/10.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-waitress-standing-counter_1170-668.jpg",
|
||||
},
|
||||
{
|
||||
name: "Teresa Palermo",
|
||||
role: "Foodie",
|
||||
quote: "The fried shrimp tacos are the BEST tacos I have ever had anywhere!",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-with-short-curly-hair-colorful-shirt-smiling-cheerfully-showing-thumbs-up-green-wall_141793-29344.jpg",
|
||||
},
|
||||
{
|
||||
name: "Michael Kostka",
|
||||
role: "Guest",
|
||||
quote: "Ground beef tacos are the best I’ve ever had.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-cheerful-call-center-agent-talking-with-customer_482257-117926.jpg",
|
||||
},
|
||||
{
|
||||
name: "Wilson H",
|
||||
role: "Regular",
|
||||
quote: "Amazing food, great drinks, and top service every time.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/laughing-woman-with-dish-menu_23-2147681115.jpg",
|
||||
},
|
||||
{
|
||||
name: "Laurie Laizure",
|
||||
role: "Diner",
|
||||
quote: "Cool place featuring a few swings at the bar and cool decor.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/side-view-friends-eating-restaurant_23-2150491790.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqTwoColumn
|
||||
tag="Useful Info"
|
||||
title="Common Questions"
|
||||
items={[
|
||||
{
|
||||
question: "Where are you located?",
|
||||
answer: "14 South Main St, Wilmington, VT 05363. Look for the back of The Anchor parking lot.",
|
||||
},
|
||||
{
|
||||
question: "Are you closed on Wednesdays?",
|
||||
answer: "Yes, we are closed on Wednesdays.",
|
||||
},
|
||||
{
|
||||
question: "Do you offer catering?",
|
||||
answer: "Yes, we cater events of all sizes including our popular taco bar option.",
|
||||
},
|
||||
{
|
||||
question: "Do you take reservations?",
|
||||
answer: "Yes, we recommend making a reservation during peak times.",
|
||||
},
|
||||
]}
|
||||
description="Everything you need to know about your next visit to La Casita."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FaqSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Visit Us"
|
||||
text="14 South Main St, Wilmington, VT
|
||||
Sunday 12:00 PM - 9:00 PM, Monday-Thursday 4:00 PM - 8:30 PM, Friday-Saturday 4:00 PM - 9:00 PM."
|
||||
primaryButton={{
|
||||
text: "Call 802-464-8500",
|
||||
href: "tel:8024648500",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Email Us",
|
||||
href: "mailto:tlawrence@lacasitavt.com",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
18
src/pages/HomePage/sections/About.tsx
Normal file
18
src/pages/HomePage/sections/About.tsx
Normal file
@@ -0,0 +1,18 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "about" section.
|
||||
|
||||
import React from 'react';
|
||||
import AboutText from '@/components/sections/about/AboutText';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function AboutSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutText
|
||||
title="Tucked away in Wilmington, we offer a cozy getaway for those seeking authentic Mexican fare, long-list spirits, and an experience that keeps you coming back."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
28
src/pages/HomePage/sections/Contact.tsx
Normal file
28
src/pages/HomePage/sections/Contact.tsx
Normal file
@@ -0,0 +1,28 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "contact" section.
|
||||
|
||||
import React from 'react';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ContactSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Visit Us"
|
||||
text="14 South Main St, Wilmington, VT
|
||||
Sunday 12:00 PM - 9:00 PM, Monday-Thursday 4:00 PM - 8:30 PM, Friday-Saturday 4:00 PM - 9:00 PM."
|
||||
primaryButton={{
|
||||
text: "Call 802-464-8500",
|
||||
href: "tel:8024648500",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Email Us",
|
||||
href: "mailto:tlawrence@lacasitavt.com",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
38
src/pages/HomePage/sections/Faq.tsx
Normal file
38
src/pages/HomePage/sections/Faq.tsx
Normal file
@@ -0,0 +1,38 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "faq" section.
|
||||
|
||||
import React from 'react';
|
||||
import FaqTwoColumn from '@/components/sections/faq/FaqTwoColumn';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FaqSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqTwoColumn
|
||||
tag="Useful Info"
|
||||
title="Common Questions"
|
||||
items={[
|
||||
{
|
||||
question: "Where are you located?",
|
||||
answer: "14 South Main St, Wilmington, VT 05363. Look for the back of The Anchor parking lot.",
|
||||
},
|
||||
{
|
||||
question: "Are you closed on Wednesdays?",
|
||||
answer: "Yes, we are closed on Wednesdays.",
|
||||
},
|
||||
{
|
||||
question: "Do you offer catering?",
|
||||
answer: "Yes, we cater events of all sizes including our popular taco bar option.",
|
||||
},
|
||||
{
|
||||
question: "Do you take reservations?",
|
||||
answer: "Yes, we recommend making a reservation during peak times.",
|
||||
},
|
||||
]}
|
||||
description="Everything you need to know about your next visit to La Casita."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
46
src/pages/HomePage/sections/Features.tsx
Normal file
46
src/pages/HomePage/sections/Features.tsx
Normal file
@@ -0,0 +1,46 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "features" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesArrowCards from '@/components/sections/features/FeaturesArrowCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FeaturesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesArrowCards
|
||||
tag="What We Offer"
|
||||
title="More Than Just Tacos"
|
||||
description="Discover why our guests make the trip to see us time and again."
|
||||
items={[
|
||||
{
|
||||
title: "Indoor & Outdoor Dining",
|
||||
tags: [
|
||||
"Summer Vibe",
|
||||
"Patio",
|
||||
],
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782583772819-g1g6b63j.jpg?_wi=1",
|
||||
},
|
||||
{
|
||||
title: "Full Bar",
|
||||
tags: [
|
||||
"Unique Drinks",
|
||||
"Margaritas",
|
||||
],
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782584284949-jcwitqln.avif",
|
||||
},
|
||||
{
|
||||
title: "Catering Services",
|
||||
tags: [
|
||||
"Events",
|
||||
"Groups",
|
||||
],
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782583772820-tmeo3g68.jpg?_wi=1",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
36
src/pages/HomePage/sections/Hero.tsx
Normal file
36
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,36 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "hero" section.
|
||||
|
||||
import React from 'react';
|
||||
import HeroSplitMediaGrid from '@/components/sections/hero/HeroSplitMediaGrid';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroSplitMediaGrid
|
||||
tag="Southern Vermont's Premiere Taqueria"
|
||||
title="Authentic Mexican Flavors in Wilmington"
|
||||
description="Experience fresh, creative Mexican cuisine in a warm, friendly atmosphere. From classic margaritas to our famous casita style tacos, we bring the best of Mexico to Vermont."
|
||||
primaryButton={{
|
||||
text: "See Menu",
|
||||
href: "#products",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Reserve Table",
|
||||
href: "#contact",
|
||||
}}
|
||||
items={[
|
||||
{
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782583772817-n6egaer7.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782584263660-flxntje2.webp",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
57
src/pages/HomePage/sections/Products.tsx
Normal file
57
src/pages/HomePage/sections/Products.tsx
Normal file
@@ -0,0 +1,57 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "products" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ProductsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="products" data-section="products">
|
||||
<SectionErrorBoundary name="products">
|
||||
<FeaturesImageBento
|
||||
tag="Our Menu"
|
||||
title="Flavor Favorites"
|
||||
description="Fresh, locally-loved authentic Mexican dishes prepared with care."
|
||||
items={[
|
||||
{
|
||||
title: "Taco Salad Bowl",
|
||||
description: "Fresh, crisp veggies and signature toppings.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782585032446-ujwtjzft.webp",
|
||||
},
|
||||
{
|
||||
title: "Salsa & Chips",
|
||||
description: "Classic house-made daily.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782584897843-bsq8qi4f.webp",
|
||||
},
|
||||
{
|
||||
title: "Sizzling Fajitas",
|
||||
description: "Blackened fish or seasoned chicken.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782584975412-u13svmmm.webp",
|
||||
},
|
||||
{
|
||||
title: "Classic Margaritas",
|
||||
description: "The perfect companion to any meal.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782584413256-96n9gecc.avif",
|
||||
},
|
||||
{
|
||||
title: "Carne ",
|
||||
description: "Served with Potatoes and Salad Potatoes and Salad",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782584752436-d6qlaoo7.webp",
|
||||
},
|
||||
{
|
||||
title: "Chimichanga",
|
||||
description: "Served with Mexican Salad",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782583772819-v63rvp8k.jpg?_wi=2",
|
||||
},
|
||||
{
|
||||
title: "Churros",
|
||||
description: "Sugary dessert perfection.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FJRV03nE3LwAAG5jRBAh31loHt/uploaded-1782585100899-2z38r47t.webp",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
45
src/pages/HomePage/sections/ReservationsCta.tsx
Normal file
45
src/pages/HomePage/sections/ReservationsCta.tsx
Normal file
@@ -0,0 +1,45 @@
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
import TextAnimation from "@/components/ui/TextAnimation";
|
||||
import ScrollReveal from "@/components/ui/ScrollReveal";
|
||||
import Button from "@/components/ui/Button";
|
||||
import Tag from "@/components/ui/Tag";
|
||||
|
||||
export default function ReservationsCtaSection() {
|
||||
return (
|
||||
<div id="reservations-cta" data-webild-section="reservations-cta">
|
||||
<SectionErrorBoundary name="reservations-cta">
|
||||
<section className="relative w-full py-24 bg-background">
|
||||
<div className="w-content-width mx-auto">
|
||||
<ScrollReveal variant="fade">
|
||||
<div className="card p-12 md:p-20 flex flex-col items-center text-center gap-8 rounded-2xl">
|
||||
<Tag text="Reservations" />
|
||||
<TextAnimation
|
||||
text="Book Your Table Today"
|
||||
variant="fade-blur"
|
||||
tag="h2"
|
||||
className="text-4xl md:text-6xl font-bold text-foreground"
|
||||
gradientText={false}
|
||||
/>
|
||||
<p className="text-lg md:text-xl text-accent max-w-2xl">
|
||||
Join us for authentic Mexican flavors. Call or email us to make a reservation.
|
||||
</p>
|
||||
<div className="flex flex-col sm:flex-row gap-4 justify-center mt-4 w-full sm:w-auto">
|
||||
<Button
|
||||
text="Call 802-464-8500"
|
||||
href="tel:802-464-8500"
|
||||
variant="primary"
|
||||
/>
|
||||
<Button
|
||||
text="Email Us"
|
||||
href="mailto:tlawrence@lacasitavt.com"
|
||||
variant="secondary"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</ScrollReveal>
|
||||
</div>
|
||||
</section>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
52
src/pages/HomePage/sections/Testimonials.tsx
Normal file
52
src/pages/HomePage/sections/Testimonials.tsx
Normal file
@@ -0,0 +1,52 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "testimonials" section.
|
||||
|
||||
import React from 'react';
|
||||
import TestimonialColumnMarqueeCards from '@/components/sections/testimonial/TestimonialColumnMarqueeCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialColumnMarqueeCards
|
||||
tag="Happy Guests"
|
||||
title="Reviews From The Heart"
|
||||
description="Don't just take our word for it—our guests share their love for La Casita."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Lynette Martin",
|
||||
role: "Local Guide",
|
||||
quote: "Outstanding authentic Mexican food. Salsa was delicious. 10/10.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-waitress-standing-counter_1170-668.jpg",
|
||||
},
|
||||
{
|
||||
name: "Teresa Palermo",
|
||||
role: "Foodie",
|
||||
quote: "The fried shrimp tacos are the BEST tacos I have ever had anywhere!",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-with-short-curly-hair-colorful-shirt-smiling-cheerfully-showing-thumbs-up-green-wall_141793-29344.jpg",
|
||||
},
|
||||
{
|
||||
name: "Michael Kostka",
|
||||
role: "Guest",
|
||||
quote: "Ground beef tacos are the best I’ve ever had.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-cheerful-call-center-agent-talking-with-customer_482257-117926.jpg",
|
||||
},
|
||||
{
|
||||
name: "Wilson H",
|
||||
role: "Regular",
|
||||
quote: "Amazing food, great drinks, and top service every time.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/laughing-woman-with-dish-menu_23-2147681115.jpg",
|
||||
},
|
||||
{
|
||||
name: "Laurie Laizure",
|
||||
role: "Diner",
|
||||
quote: "Cool place featuring a few swings at the bar and cool decor.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/side-view-friends-eating-restaurant_23-2150491790.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user