Merge version_1_1781465750631 into main #3

Merged
bender merged 1 commits from version_1_1781465750631 into main 2026-06-14 19:38:19 +00:00

View File

@@ -11,165 +11,131 @@ import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HomePage() {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroBillboard
tag="Expert Tennis Coaching"
title="Master Your Game with WillPlay"
description="Professional, inclusive tennis coaching for all ages and skill levels. Join our vibrant tennis community today."
primaryButton={{
text: "Find a Class", href: "#classes"}}
secondaryButton={{
text: "Learn More", href: "#about"}}
imageSrc="http://img.b2bpic.net/free-photo/kids-playing-badminton-medium-shot_23-2149199858.jpg"
/>
</SectionErrorBoundary>
</div>
tag="Expert Tennis Coaching"
title="Master Your Game with WillPlay"
description="Professional, inclusive tennis coaching for all ages and skill levels. Join our vibrant tennis community today."
primaryButton={{ text: "Find a Class", href: "#classes" }}
secondaryButton={{ text: "Learn More", href: "#about" }}
imageSrc="http://img.b2bpic.net/free-photo/kids-playing-badminton-medium-shot_23-2149199858.jpg"
/>
</SectionErrorBoundary>
</div>
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutFeaturesSplit
tag="Our Philosophy"
title="Tennis for Everyone"
description="We believe tennis is a lifelong sport. Our coaching sessions are designed to foster fun, skill development, and healthy competition in a safe environment."
items={[
{
icon: "Users", title: "Inclusive Programs", description: "Classes designed for every age group and ability level."},
{
icon: "Award", title: "Qualified Coaches", description: "LTA-accredited coaches dedicated to your progress."},
{
icon: "Smile", title: "Fun Environment", description: "Community-focused play that prioritizes enjoyment."},
]}
imageSrc="http://img.b2bpic.net/free-photo/front-view-couple-playing-tennis_23-2148250984.jpg"
/>
</SectionErrorBoundary>
</div>
tag="Our Philosophy"
title="Tennis for Everyone"
description="We believe tennis is a lifelong sport. Our coaching sessions are designed to foster fun, skill development, and healthy competition in a safe environment."
items={[
{ icon: "Users", title: "Inclusive Programs", description: "Classes designed for every age group and ability level." },
{ icon: "Award", title: "Qualified Coaches", description: "LTA-accredited coaches dedicated to your progress." },
{ icon: "Smile", title: "Fun Environment", description: "Community-focused play that prioritizes enjoyment." },
]}
imageSrc="http://img.b2bpic.net/free-photo/front-view-couple-playing-tennis_23-2148250984.jpg"
/>
</SectionErrorBoundary>
</div>
<div id="classes" data-section="classes">
<SectionErrorBoundary name="classes">
<div id="classes" data-section="classes">
<SectionErrorBoundary name="classes">
<FeaturesBento
tag="Programs"
title="Coaching Pathways"
description="Explore our comprehensive coaching programs, from junior talent development to adult social tennis sessions."
features={[
{
title: "Junior Academy", description: "Fun-based learning for children aged 4-16.", bentoComponent: "media-stack", mediaItems: [
{
imageSrc: "http://img.b2bpic.net/free-photo/portrait-beautiful-woman-playing-tennis-outdoor_72229-359.jpg"},
{
imageSrc: "http://img.b2bpic.net/free-photo/tennis-player-with-her-racket_23-2148208281.jpg"},
{
imageSrc: "http://img.b2bpic.net/free-photo/competitive-couple-playing-squash_329181-18932.jpg"},
]
},
{
title: "Adult Improvers", description: "Take your game to the next level with focused tactical and technical sessions.", bentoComponent: "icon-text-marquee", centerIcon: "Zap", marqueeTexts: [
"Forehand Drills", "Backhand Technique", "Match Tactics", "Serving Clinic"]
},
{
title: "Social Play", description: "Meet new friends and enjoy the social side of tennis in a relaxed setting.", bentoComponent: "info-card-marquee", infoCards: [
{
icon: "Calendar", label: "Weekly Sessions", value: "Every Sat"},
{
icon: "Clock", label: "Duration", value: "90 Mins"},
{
icon: "MapPin", label: "Location", value: "Main Court"},
]
},
]}
/>
</SectionErrorBoundary>
</div>
tag="Programs"
title="Coaching Pathways"
description="Explore our comprehensive coaching programs, from junior talent development to adult social tennis sessions."
features={[
{
title: "Junior Academy", description: "Fun-based learning for children aged 4-16.", bentoComponent: "media-stack", mediaItems: [
{ imageSrc: "http://img.b2bpic.net/free-photo/portrait-beautiful-woman-playing-tennis-outdoor_72229-359.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/tennis-player-with-her-racket_23-2148208281.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/competitive-couple-playing-squash_329181-18932.jpg" },
]
},
{
title: "Adult Improvers", description: "Take your game to the next level with focused tactical and technical sessions.", bentoComponent: "icon-text-marquee", centerIcon: "Zap", marqueeTexts: ["Forehand Drills", "Backhand Technique", "Match Tactics", "Serving Clinic"]
},
{
title: "Social Play", description: "Meet new friends and enjoy the social side of tennis in a relaxed setting.", bentoComponent: "info-card-marquee", infoCards: [
{ icon: "Calendar", label: "Weekly Sessions", value: "Every Sat" },
{ icon: "Clock", label: "Duration", value: "90 Mins" },
{ icon: "MapPin", label: "Location", value: "Main Court" },
]
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsSimpleCards
tag="Impact"
title="Making an Impact on the Court"
description="We are proud of our community growth and commitment to local tennis development."
metrics={[
{
value: "500+", description: "Students Coached"},
{
value: "20+", description: "Weekly Sessions"},
{
value: "10", description: "Accredited Coaches"},
{
value: "4.9", description: "Average Rating"},
]}
/>
</SectionErrorBoundary>
</div>
tag="Impact"
title="Making an Impact on the Court"
description="We are proud of our community growth and commitment to local tennis development."
metrics={[
{ value: "500+", description: "Students Coached" },
{ value: "20+", description: "Weekly Sessions" },
{ value: "10", description: "Accredited Coaches" },
{ value: "4.9", description: "Average Rating" },
]}
/>
</SectionErrorBoundary>
</div>
<div id="pricing" data-section="pricing">
<SectionErrorBoundary name="pricing">
<div id="pricing" data-section="pricing">
<SectionErrorBoundary name="pricing">
<PricingHighlightedCards
tag="Membership"
title="Flexible Coaching Options"
description="Choose a plan that fits your playing schedule and goals."
plans={[
{
tag: "Starter", price: "£10", description: "Per session drop-in for beginners.", features: [
"Standard session access", "Equipment included"],
primaryButton: {
text: "Book Now", href: "#contact"},
},
{
tag: "Monthly", price: "£35", description: "Best value for regular players.", features: [
"4 sessions per month", "Priority booking", "Social event invites"],
highlight: "Most Popular", primaryButton: {
text: "Book Now", href: "#contact"},
},
{
tag: "Elite", price: "£120", description: "Intensive coaching for advanced progression.", features: [
"12 sessions per month", "1-on-1 coaching session", "Personalized feedback"],
primaryButton: {
text: "Book Now", href: "#contact"},
},
]}
/>
</SectionErrorBoundary>
</div>
tag="Membership"
title="Flexible Coaching Options"
description="Choose a plan that fits your playing schedule and goals."
plans={[
{
tag: "Starter", price: "£10", description: "Per session drop-in for beginners.", features: ["Standard session access", "Equipment included"],
primaryButton: { text: "Book Now", href: "#contact" },
},
{
tag: "Monthly", price: "£35", description: "Best value for regular players.", features: ["4 sessions per month", "Priority booking", "Social event invites"],
highlight: "Most Popular", primaryButton: { text: "Book Now", href: "#contact" },
},
{
tag: "Elite", price: "£120", description: "Intensive coaching for advanced progression.", features: ["12 sessions per month", "1-on-1 coaching session", "Personalized feedback"],
primaryButton: { text: "Book Now", href: "#contact" },
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialRatingCards
tag="Testimonials"
title="What Our Players Say"
description="Hear stories from our community about how WillPlay Tennis has improved their game and fitness."
testimonials={[
{
name: "Sarah J.", role: "Adult Student", quote: "WillPlay has completely transformed my forehand. The atmosphere is so welcoming!", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/people-having-happy-retirement-activity_23-2149168888.jpg"},
{
name: "Tom B.", role: "Junior Parent", quote: "My kids love the junior academy sessions. They've made so many new friends.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/kid-crouching-tennis-field_23-2148218702.jpg"},
{
name: "Helen M.", role: "Improver", quote: "Great coaching that breaks down technical stuff into simple moves. Really helpful.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/mature-man-with-sustainable-mobility-skateboard_23-2149129319.jpg"},
{
name: "David W.", role: "Club Member", quote: "Fantastic community spirit. Highly recommend for any level of player.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/female-tennis-player-tennis-court_1303-23251.jpg"},
{
name: "Clare P.", role: "Adult Beginner", quote: "I was scared to start, but the team made me feel confident from session one.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-kid-field_23-2149457268.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
tag="Testimonials"
title="What Our Players Say"
description="Hear stories from our community about how WillPlay Tennis has improved their game and fitness."
testimonials={[
{ name: "Sarah J.", role: "Adult Student", quote: "WillPlay has completely transformed my forehand. The atmosphere is so welcoming!", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/people-having-happy-retirement-activity_23-2149168888.jpg" },
{ name: "Tom B.", role: "Junior Parent", quote: "My kids love the junior academy sessions. They've made so many new friends.", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/kid-crouching-tennis-field_23-2148218702.jpg" },
{ name: "Helen M.", role: "Improver", quote: "Great coaching that breaks down technical stuff into simple moves. Really helpful.", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/mature-man-with-sustainable-mobility-skateboard_23-2149129319.jpg" },
{ name: "David W.", role: "Club Member", quote: "Fantastic community spirit. Highly recommend for any level of player.", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/female-tennis-player-tennis-court_1303-23251.jpg" },
{ name: "Clare P.", role: "Adult Beginner", quote: "I was scared to start, but the team made me feel confident from session one.", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-kid-field_23-2149457268.jpg" },
]}
/>
</SectionErrorBoundary>
</div>
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Get in touch"
text="Ready to get on court? Contact us to book your first trial session or ask about our upcoming program schedules."
primaryButton={{
text: "Email Us", href: "mailto:info@willplay.co.uk"}},
secondaryButton={{
text: "Visit Our ClubSpark", href: "https://clubspark.lta.org.uk/WillPlay"}}
/>
</SectionErrorBoundary>
</div>
tag="Get in touch"
text="Ready to get on court? Contact us to book your first trial session or ask about our upcoming program schedules."
primaryButton={{ text: "Email Us", href: "mailto:info@willplay.co.uk" }}
secondaryButton={{ text: "Visit Our ClubSpark", href: "https://clubspark.lta.org.uk/WillPlay" }}
/>
</SectionErrorBoundary>
</div>
</>
);
}