Compare commits

...

82 Commits

Author SHA1 Message Date
9abdace094 Switch to version 48: modified src/pages/HomePage/sections/Contact.tsx 2026-06-16 14:51:16 +00:00
e60273b8ee Merge version_49_1781621407255 into main
Merge version_49_1781621407255 into main
2026-06-16 14:50:26 +00:00
69b84877d8 Update src/pages/HomePage/sections/Contact.tsx 2026-06-16 14:50:22 +00:00
be89867ec5 Merge version_48_1781587077644 into main
Merge version_48_1781587077644 into main
2026-06-16 05:18:18 +00:00
517ba56d91 Update src/pages/HomePage/sections/Contact.tsx 2026-06-16 05:18:11 +00:00
b1cffe274a Merge version_47_1781587054664 into main
Merge version_47_1781587054664 into main
2026-06-16 05:17:51 +00:00
34b60991ad Update src/pages/HomePage/sections/Contact.tsx 2026-06-16 05:17:48 +00:00
deb1aeec7a Merge version_46_1781586997110 into main
Merge version_46_1781586997110 into main
2026-06-16 05:16:54 +00:00
23fc37a4a6 Update src/pages/HomePage/sections/Contact.tsx 2026-06-16 05:16:50 +00:00
0471b12852 Switch to version 45: modified src/pages/HomePage/sections/Contact.tsx 2026-06-16 05:15:55 +00:00
f51eee97b3 Merge version_46_1781586724516 into main
Merge version_46_1781586724516 into main
2026-06-16 05:12:21 +00:00
6cfb452c1f Update src/pages/HomePage/sections/Contact.tsx 2026-06-16 05:12:18 +00:00
10e010a57b Merge version_45_1781586172458 into main
Merge version_45_1781586172458 into main
2026-06-16 05:03:12 +00:00
e01a98d5ed Update src/pages/HomePage/sections/Contact.tsx 2026-06-16 05:03:06 +00:00
837d6f0d1b Switch to version 44: modified src/pages/HomePage/sections/Contact.tsx 2026-06-16 05:02:11 +00:00
0bef9e0ebd Switch to version 43: modified src/pages/HomePage/sections/Contact.tsx 2026-06-16 04:59:32 +00:00
4859bda1a4 Merge version_44_1781579256455 into main
Merge version_44_1781579256455 into main
2026-06-16 03:07:53 +00:00
6ddc031a76 Update src/pages/HomePage/sections/Contact.tsx 2026-06-16 03:07:50 +00:00
e7694636c4 Merge version_43_1781579041130 into main
Merge version_43_1781579041130 into main
2026-06-16 03:04:19 +00:00
0ede1f2497 Update src/pages/HomePage/sections/Hero.tsx 2026-06-16 03:04:16 +00:00
ce48dc07d8 Merge version_42_1781578979129 into main
Merge version_42_1781578979129 into main
2026-06-16 03:03:20 +00:00
b59f2385e9 Update src/pages/HomePage/sections/Hero.tsx 2026-06-16 03:03:13 +00:00
628679b459 Merge version_41_1781578962709 into main
Merge version_41_1781578962709 into main
2026-06-16 03:03:03 +00:00
b41b9871ed Update src/pages/HomePage/sections/Hero.tsx 2026-06-16 03:02:56 +00:00
cad2e1cc84 Merge version_40_1781578920179 into main
Merge version_40_1781578920179 into main
2026-06-16 03:02:17 +00:00
3d238b3680 Update src/pages/HomePage/sections/Hero.tsx 2026-06-16 03:02:14 +00:00
8f675b2220 Merge version_39_1781578788484 into main
Merge version_39_1781578788484 into main
2026-06-16 03:00:14 +00:00
dc19f2a4f7 Update src/pages/HomePage/sections/Hero.tsx 2026-06-16 03:00:11 +00:00
13ea6c86df Merge version_38_1781578774357 into main
Merge version_38_1781578774357 into main
2026-06-16 02:59:55 +00:00
76153bf056 Update src/pages/HomePage/sections/Hero.tsx 2026-06-16 02:59:48 +00:00
50e691cecd Merge version_37_1781578757409 into main
Merge version_37_1781578757409 into main
2026-06-16 02:59:34 +00:00
ffbcc03d32 Update src/pages/HomePage/sections/Hero.tsx 2026-06-16 02:59:30 +00:00
ec26665075 Merge version_36_1781578729495 into main
Merge version_36_1781578729495 into main
2026-06-16 02:59:06 +00:00
b725e0e165 Update src/pages/HomePage/sections/Hero.tsx 2026-06-16 02:59:03 +00:00
c0a62dc9d3 Merge version_35_1781578697735 into main
Merge version_35_1781578697735 into main
2026-06-16 02:58:34 +00:00
3cf3cb8fe6 Update src/pages/HomePage/sections/Hero.tsx 2026-06-16 02:58:31 +00:00
6074065bd4 Merge version_34_1781578644403 into main
Merge version_34_1781578644403 into main
2026-06-16 02:57:41 +00:00
7ff268366e Update src/pages/HomePage/sections/Hero.tsx 2026-06-16 02:57:38 +00:00
ef5fb27eeb Merge version_33_1781578631163 into main
Merge version_33_1781578631163 into main
2026-06-16 02:57:29 +00:00
e15a361371 Update src/pages/HomePage/sections/Hero.tsx 2026-06-16 02:57:25 +00:00
ccee6b0f7c Merge version_32_1781578615055 into main
Merge version_32_1781578615055 into main
2026-06-16 02:57:12 +00:00
80f14b3bd9 Update src/pages/HomePage/sections/Hero.tsx 2026-06-16 02:57:09 +00:00
762107932b Merge version_31_1781578595814 into main
Merge version_31_1781578595814 into main
2026-06-16 02:56:52 +00:00
a1a48e504d Update src/pages/HomePage/sections/Hero.tsx 2026-06-16 02:56:48 +00:00
2c0c07f3a2 Merge version_30_1781578400003 into main
Merge version_30_1781578400003 into main
2026-06-16 02:53:37 +00:00
241ca5238d Update src/pages/HomePage/sections/Hero.tsx 2026-06-16 02:53:33 +00:00
2de6a12273 Merge version_29_1781577912508 into main
Merge version_29_1781577912508 into main
2026-06-16 02:47:08 +00:00
kudinDmitriyUp
651c40223b Bob AI: Changed hero description text color to black for better visi 2026-06-16 02:46:25 +00:00
0783c89bb3 Merge version_28_1781577832246 into main
Merge version_28_1781577832246 into main
2026-06-16 02:44:08 +00:00
785e203fec Update src/pages/HomePage.tsx 2026-06-16 02:44:05 +00:00
ee6f658beb Merge version_27_1781577798142 into main
Merge version_27_1781577798142 into main
2026-06-16 02:43:36 +00:00
68f2fddd4d Update src/pages/HomePage.tsx 2026-06-16 02:43:30 +00:00
3b02cf2acd Merge version_26_1781577773676 into main
Merge version_26_1781577773676 into main
2026-06-16 02:43:12 +00:00
f85f96dd67 Update src/pages/HomePage.tsx 2026-06-16 02:43:05 +00:00
1c8df85e2f Merge version_25_1781577678603 into main
Merge version_25_1781577678603 into main
2026-06-16 02:41:35 +00:00
60ad47a8b1 Merge version_24_1781577606178 into main
Merge version_24_1781577606178 into main
2026-06-16 02:40:21 +00:00
07fbae970a Merge version_23_1781577575912 into main
Merge version_23_1781577575912 into main
2026-06-16 02:39:52 +00:00
c97cf96668 Merge version_22_1781577474180 into main
Merge version_22_1781577474180 into main
2026-06-16 02:38:09 +00:00
3cb035fe9d Merge version_21_1781577463155 into main
Merge version_21_1781577463155 into main
2026-06-16 02:37:59 +00:00
4b2673ee24 Update src/pages/HomePage.tsx 2026-06-16 02:37:56 +00:00
7020d2049b Merge version_20_1781577363156 into main
Merge version_20_1781577363156 into main
2026-06-16 02:36:18 +00:00
52bca9a977 Merge version_19_1781577338898 into main
Merge version_19_1781577338898 into main
2026-06-16 02:35:57 +00:00
ddab8f3515 Merge version_18_1781577276555 into main
Merge version_18_1781577276555 into main
2026-06-16 02:35:05 +00:00
c824e71172 Merge version_17_1781577262285 into main
Merge version_17_1781577262285 into main
2026-06-16 02:35:01 +00:00
beeee1dc34 Update src/pages/HomePage.tsx 2026-06-16 02:34:56 +00:00
ec8251a4b1 Merge version_16_1781577158345 into main
Merge version_16_1781577158345 into main
2026-06-16 02:32:51 +00:00
84fb0fdf39 Update src/pages/HomePage.tsx 2026-06-16 02:32:48 +00:00
75018b8b1e Merge version_15_1781577072168 into main
Merge version_15_1781577072168 into main
2026-06-16 02:31:25 +00:00
c334229a6c Merge version_14_1781577060021 into main
Merge version_14_1781577060021 into main
2026-06-16 02:31:13 +00:00
118824317c Merge version_13_1781577041500 into main
Merge version_13_1781577041500 into main
2026-06-16 02:30:58 +00:00
b38f8f5967 Merge version_12_1781577009333 into main
Merge version_12_1781577009333 into main
2026-06-16 02:30:22 +00:00
7280114d9a Merge version_11_1781576993383 into main
Merge version_11_1781576993383 into main
2026-06-16 02:30:10 +00:00
4df44b295a Merge version_10_1781576948546 into main
Merge version_10_1781576948546 into main
2026-06-16 02:29:21 +00:00
be906a44ac Merge version_9_1781576927764 into main
Merge version_9_1781576927764 into main
2026-06-16 02:29:00 +00:00
47c5b98ccf Merge version_8_1781576906009 into main
Merge version_8_1781576906009 into main
2026-06-16 02:28:38 +00:00
9b9328ebc0 Merge version_7_1781576810229 into main
Merge version_7_1781576810229 into main
2026-06-16 02:27:05 +00:00
01f5ba9779 Merge version_6_1781576796828 into main
Merge version_6_1781576796828 into main
2026-06-16 02:26:48 +00:00
1b3dc87e4e Merge version_5_1781576784798 into main
Merge version_5_1781576784798 into main
2026-06-16 02:26:37 +00:00
f5977ed866 Merge version_4_1781576706057 into main
Merge version_4_1781576706057 into main
2026-06-16 02:25:17 +00:00
4580baf8b5 Merge version_3_1781576618084 into main
Merge version_3_1781576618084 into main
2026-06-16 02:23:50 +00:00
d87eac034d Merge version_2_1781576551609 into main
Merge version_2_1781576551609 into main
2026-06-16 02:22:45 +00:00
6154682972 Merge version_1_1781576143227 into main
Merge version_1_1781576143227 into main
2026-06-16 02:16:09 +00:00
9 changed files with 380 additions and 276 deletions

View File

@@ -1,288 +1,36 @@
import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqTwoColumn from '@/components/sections/faq/FaqTwoColumn';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import FeaturesMediaCarousel from '@/components/sections/features/FeaturesMediaCarousel';
import HeroOverlayMarquee from '@/components/sections/hero/HeroOverlayMarquee';
import PricingSimpleCards from '@/components/sections/pricing/PricingSimpleCards';
import TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards';
import { Award, CheckCircle, GraduationCap, Star, Target, Waves } from "lucide-react";
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 ServicesSection from './HomePage/sections/Services';
import ProductSection from './HomePage/sections/Product';
import PricingSection from './HomePage/sections/Pricing';
import ReviewsSection from './HomePage/sections/Reviews';
import FaqSection from './HomePage/sections/Faq';
import ContactSection from './HomePage/sections/Contact';
export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroOverlayMarquee
tag="West Metro Surf & Charters"
title="NorthWakeSurfCo"
description="Professional surf lessons and boat charters in the West Metro lakes area. Your personal captain for stress-free fun on the water."
primaryButton={{
text: "Book Your Session",
href: "#contact",
}}
secondaryButton={{
text: "View Pricing",
href: "#pricing",
}}
items={[
{
text: "Lessons & Charters",
icon: Waves,
},
{
text: "All Skill Levels",
icon: Award,
},
{
text: "Kids Camps",
icon: GraduationCap,
},
]}
imageSrc="https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576145801-kb33aru8.png?_wi=1"
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutFeaturesSplit
tag="Dylan Nelson - Your Captain"
title="Why NorthWakeSurfCo?"
description="I'm Dylan Nelson, your dedicated captain and instructor. Whether you need professional surf lessons on my loaded Malibu 23 LSV or want me to captain your own boat for a stress-free day on Lake Minnetonka, Waconia, or Independence, I'm here to ensure you have a blast."
items={[
{
icon: Star,
title: "Flexible Hours",
description: "Weekdays: 4pm-10pm | Weekends: 10am-6pm",
},
{
icon: Target,
title: "All Ages & Skills",
description: "Perfect for beginners to pros and kids camps.",
},
{
icon: CheckCircle,
title: "On-Call Service",
description: "Highly flexible and adaptable to your needs.",
},
]}
imageSrc="https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576145803-c6mhlaw5.png?_wi=1"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="services" data-section="services">
<SectionErrorBoundary name="services">
<FeaturesMediaCarousel
tag="Our Offerings"
title="Aquatic Experiences"
description="From expert surf coaching to boat captaining services, we handle everything."
items={[
{
title: " Surf Lessons",
description: "Learn to shred behind the Malibu 23 LSV.",
buttonIcon: "Waves",
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781577568821-30vgvlia.png",
},
{
title: "Private Charters",
description: "Stress-free days on the water for your group.",
buttonIcon: "Ship",
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781577467359-htvk7ice.png",
},
{
title: "Kids Surf Camps",
description: "Fun, safe, and skill-focused learning for kids.",
buttonIcon: "Star",
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781577356942-kc0gftwx.png",
},
]}
/>
</SectionErrorBoundary>
</div>
<ServicesSection />
<div id="product" data-section="product">
<SectionErrorBoundary name="product">
<FeaturesImageBento
tag="The Equipment"
title="Loaded Malibu 23 LSV"
description="The best surf boat on the market, professionally operated by your captain."
items={[
{
title: "Elite Performance",
description: "Premium wake surfing technology.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576145804-mlhqdvbg.png?_wi=2",
},
{
title: "Safety First",
description: "Pro-level gear provided.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576145804-esjbqy4s.png?_wi=2",
},
{
title: "Expert Captaining",
description: "Stress-free navigation.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576145806-zpcm2nzc.png?_wi=2",
},
{
title: "Instruction",
description: "Coaching by Dylan Nelson.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576145801-kb33aru8.png?_wi=2",
},
{
title: "Flexible Booking",
description: "On-call service.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576145803-c6mhlaw5.png?_wi=2",
},
{
title: "Kids Focus",
description: "Special camps and lessons.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576547187-qx4hkd9v.png",
},
{
title: "West Metro Lakes",
description: "Independence, Minnetonka, Waconia.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576613213-umrrbd00.png",
},
]}
/>
</SectionErrorBoundary>
</div>
<ProductSection />
<div id="pricing" data-section="pricing">
<SectionErrorBoundary name="pricing">
<PricingSimpleCards
tag="Pricing & Packages"
title="Simple Booking Options"
description="Straightforward rates for lessons and captaining."
plans={[
{
tag: "Private Lesson/Charter/Charter",
price: "$180/hr",
description: "On our boat (Malibu 23 LSV)",
features: [
"2-hour minimum ($400)",
"Professional coaching",
"Pro equipment included",
],
},
{
tag: "Captain/Mobile",
price: "$125/hr",
description: "On your boat",
features: [
"2-hour minimum ($300)",
"Stress-free captaining",
"Your own gear",
],
},
{
tag: "Late Late Notice",
price: "$100",
description: "Same day booking fee",
features: [
"Applicable to all bookings",
"Same day/Short notice",
"Flexible service",
],
},
]}
/>
</SectionErrorBoundary>
</div>
<PricingSection />
<div id="reviews" data-section="reviews">
<SectionErrorBoundary name="reviews">
<TestimonialOverlayCards
tag="Testimonials"
title="5-Star Experiences"
description="See why locals trust Dylan for their time on the water."
testimonials={[
{
name: "Aaron Nelson",
role: "Surf Lessons ",
company: "Lake Minnetonka",
rating: 5,
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781577003524-3mfik4jb.png",
},
{
name: "Jason Reed",
role: "Charter Guest",
company: "Lake Independence",
rating: 5,
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576987925-5vbxlqxl.png",
},
{
name: "Jennifer Nelson",
role: "Boat Owner",
company: "Lake Waconia",
rating: 5,
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576943539-vv624led.png",
},
{
name: "Erik Estrada",
role: "Charter Guest",
company: "West Metro",
rating: 5,
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576922805-1bnfu5p3.png",
},
{
name: "Christopher Estrada",
role: "Surf Lessons ",
company: "Lake Minnetonka",
rating: 5,
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576900467-8z6eeucl.png",
},
]}
/>
</SectionErrorBoundary>
</div>
<ReviewsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqTwoColumn
tag="FAQ"
title="Questions Answered"
description="Everything you need to know about booking with us."
items={[
{
question: "What lakes do you cover?",
answer: "I mainly serve Lake Independence, Lake Minnetonka, and Lake Waconia, plus others in the West Metro.",
},
{
question: "Can I have you captain my boat?",
answer: "Yes! I offer mobile captain services for $125/hr so you can stay stress-free on your own boat.",
},
{
question: "What if I need a last-minute session?",
answer: "We offer late/same-day booking for a $100 short-notice fee.",
},
{
question: "Do you offer kids' lessons?",
answer: "Absolutely! I specialize in teaching all ages and levels, including kids' camps.",
},
]}
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Book Now"
text="Ready to get on the water? Call Dylan at ( or book your spot today."
primaryButton={{
text: "Call Dylan",
href: "tel:6128142431",
}}
secondaryButton={{
text: "Follow on Instagram",
href: "https://instagram.com/northwakesurfco",
}}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

View File

@@ -0,0 +1,39 @@
// 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 AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
import { Award, CheckCircle, GraduationCap, Star, Target, Waves } from "lucide-react";
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutFeaturesSplit
tag="Dylan Nelson - Your Captain"
title="Why NorthWakeSurfCo?"
description="I'm Dylan Nelson, your dedicated captain and instructor. Whether you need professional surf lessons on my loaded Malibu 23 LSV or want me to captain your own boat for a stress-free day on Lake Minnetonka, Waconia, or Independence, I'm here to ensure you have a blast."
items={[
{
icon: Star,
title: "Flexible Hours",
description: "Weekdays: 4pm-10pm | Weekends: 10am-6pm",
},
{
icon: Target,
title: "All Ages & Skills",
description: "Perfect for beginners to pros and kids camps.",
},
{
icon: CheckCircle,
title: "On-Call Service",
description: "Highly flexible and adaptable to your needs.",
},
]}
imageSrc="https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576145803-c6mhlaw5.png?_wi=1"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,27 @@
// 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="Book Now"
text="Ready to get on the water? Call Dylan at (612-814-2431) or message me on Facebook"
primaryButton={{
text: "Call Dylan",
href: "tel:6128142431",
}}
secondaryButton={{
text: "Follow on Facebook",
href: "https://instagram.com/northwakesurfco",
}}
/>
</SectionErrorBoundary>
</div>
);
}

View 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="FAQ"
title="Questions Answered"
description="Everything you need to know about booking with us."
items={[
{
question: "What lakes do you cover?",
answer: "I mainly serve Lake Independence, Lake Minnetonka, and Lake Waconia, plus others in the West Metro.",
},
{
question: "Can I have you captain my boat?",
answer: "Yes! I offer mobile captain services for $125/hr so you can stay stress-free on your own boat.",
},
{
question: "What if I need a last-minute session?",
answer: "We offer late/same-day booking for a $100 short-notice fee.",
},
{
question: "Do you offer kids' lessons?",
answer: "Absolutely! I specialize in teaching all ages and levels, including kids' camps.",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,46 @@
// 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 HeroOverlayMarquee from '@/components/sections/hero/HeroOverlayMarquee';
import { Award, CheckCircle, GraduationCap, Star, Target, Waves } from "lucide-react";
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<div className="[&_p]:!text-black [&_p]:!font-medium [&_p]:!drop-shadow-md">
<HeroOverlayMarquee
tag="West Metro Surf & Charters"
title=" "
description=""
primaryButton={{
text: "Book Your Session",
href: "#contact",
}}
secondaryButton={{
text: "View Pricing",
href: "#pricing",
}}
items={[
{
text: "Lessons & Charters",
icon: Waves,
},
{
text: "All Skill Levels",
icon: Award,
},
{
text: "Kids Camps",
icon: GraduationCap,
},
]}
imageSrc="https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576145801-kb33aru8.png?_wi=1"
/>
</div>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,52 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "pricing" section.
import React from 'react';
import PricingSimpleCards from '@/components/sections/pricing/PricingSimpleCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function PricingSection(): React.JSX.Element {
return (
<div id="pricing" data-section="pricing">
<SectionErrorBoundary name="pricing">
<PricingSimpleCards
tag="Pricing & Packages"
title="Simple Booking Options"
description="Straightforward rates for lessons and captaining."
plans={[
{
tag: "Private Lesson/Charter/Charter",
price: "$180/hr",
description: "On our boat (Malibu 23 LSV)",
features: [
"2-hour minimum ($400)",
"Professional coaching",
"Pro equipment included",
],
},
{
tag: "Captain/Mobile",
price: "$125/hr",
description: "On your boat",
features: [
"2-hour minimum ($300)",
"Stress-free captaining",
"Your own gear",
],
},
{
tag: "Late Late Notice",
price: "$100",
description: "Same day booking fee",
features: [
"Applicable to all bookings",
"Same day/Short notice",
"Flexible service",
],
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,57 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "product" section.
import React from 'react';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ProductSection(): React.JSX.Element {
return (
<div id="product" data-section="product">
<SectionErrorBoundary name="product">
<FeaturesImageBento
tag="The Equipment"
title="Loaded Malibu 23 LSV"
description="The best surf boat on the market, professionally operated by your captain."
items={[
{
title: "Elite Performance",
description: "Premium wake surfing technology.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576145804-mlhqdvbg.png?_wi=2",
},
{
title: "Safety First",
description: "Pro-level gear provided.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576145804-esjbqy4s.png?_wi=2",
},
{
title: "Expert Captaining",
description: "Stress-free navigation.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576145806-zpcm2nzc.png?_wi=2",
},
{
title: "",
description: "Coaching by Dylan Nelson.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576145801-kb33aru8.png?_wi=2",
},
{
title: "Flexible Booking",
description: "On-call service.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576145803-c6mhlaw5.png?_wi=2",
},
{
title: "Kids Focus",
description: "Special camps and lessons.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576547187-qx4hkd9v.png",
},
{
title: "West Metro Lakes",
description: "Independence, Minnetonka, Waconia.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576613213-umrrbd00.png",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,57 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "reviews" section.
import React from 'react';
import TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ReviewsSection(): React.JSX.Element {
return (
<div id="reviews" data-section="reviews">
<SectionErrorBoundary name="reviews">
<TestimonialOverlayCards
tag="Testimonials"
title="5-Star Experiences"
description="See why locals trust Dylan for their time on the water."
testimonials={[
{
name: "Aaron Nelson",
role: "Surf Lessons ",
company: "Lake Minnetonka",
rating: 5,
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781577003524-3mfik4jb.png",
},
{
name: "Carson Rock",
role: "Charter Guest",
company: "Lake Independence",
rating: 5,
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576987925-5vbxlqxl.png",
},
{
name: "Jennifer Johnson",
role: "Boat Owner",
company: "Lake Waconia",
rating: 5,
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576943539-vv624led.png",
},
{
name: "Erik Estrada",
role: "Charter Guest",
company: "West Metro",
rating: 5,
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576922805-1bnfu5p3.png",
},
{
name: "Christopher Estrada",
role: "Surf Lessons ",
company: "Lake Minnetonka",
rating: 5,
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781576900467-8z6eeucl.png",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,40 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "services" section.
import React from 'react';
import FeaturesMediaCarousel from '@/components/sections/features/FeaturesMediaCarousel';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ServicesSection(): React.JSX.Element {
return (
<div id="services" data-section="services">
<SectionErrorBoundary name="services">
<FeaturesMediaCarousel
tag="Our Offerings"
title="Aquatic Experiences"
description="From expert surf coaching to boat captaining services, we handle everything."
items={[
{
title: " Surf Lessons",
description: "Learn to shred behind the Malibu 23 LSV.",
buttonIcon: "Waves",
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781577568821-30vgvlia.png",
},
{
title: "Private Charters",
description: "Stress-free days on the water for your group.",
buttonIcon: "Ship",
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781577467359-htvk7ice.png",
},
{
title: "Kids Surf Camps",
description: "Fun, safe, and skill-focused learning for kids.",
buttonIcon: "Star",
imageSrc: "https://storage.googleapis.com/webild/users/user_3FCIN8Atu7x49OpvWJ7VHozMAvL/uploaded-1781577356942-kc0gftwx.png",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}