Merge version_1_1781465750631 into main
Merge version_1_1781465750631 into main
This commit was merged in pull request #3.
This commit is contained in:
@@ -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>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user