20 Commits

Author SHA1 Message Date
c84625191e Update src/app/page.tsx 2026-03-08 22:13:54 +00:00
fd3ef2f466 Update src/app/page.tsx 2026-03-08 22:12:43 +00:00
382150a3bc Update src/app/page.tsx 2026-03-08 22:10:16 +00:00
fb5b47aab5 Update src/app/page.tsx 2026-03-08 22:09:37 +00:00
20059929a6 Update src/app/page.tsx 2026-03-08 22:08:49 +00:00
8971f2314a Update src/app/page.tsx 2026-03-08 22:05:16 +00:00
83a7eb7c41 Update src/app/page.tsx 2026-03-08 22:02:59 +00:00
1e6b1b43b7 Update src/app/page.tsx 2026-03-08 22:02:23 +00:00
f968bcc13f Update src/app/page.tsx 2026-03-07 02:16:12 +00:00
b7fff1b9a9 Update src/app/page.tsx 2026-03-07 02:07:11 +00:00
b181b4ddee Update src/app/page.tsx 2026-03-07 02:03:48 +00:00
dbe2e43bf0 Update src/app/page.tsx 2026-03-07 02:03:32 +00:00
a494a9b8e9 Update src/app/page.tsx 2026-03-07 02:02:48 +00:00
b33b068014 Update src/app/page.tsx 2026-03-07 01:53:05 +00:00
b295031842 Update src/app/page.tsx 2026-03-07 01:44:44 +00:00
ec154b8c99 Update src/app/page.tsx 2026-03-07 00:34:59 +00:00
097ee76e53 Update src/app/layout.tsx 2026-03-07 00:34:59 +00:00
344050f746 Merge version_5 into main
Merge version_5 into main
2026-03-07 00:26:27 +00:00
63b8ff5ed3 Update src/app/page.tsx 2026-03-07 00:26:23 +00:00
5bdbc626df Merge version_4 into main
Merge version_4 into main
2026-03-07 00:20:48 +00:00
2 changed files with 44 additions and 73 deletions

View File

@@ -1,54 +1,24 @@
import type { Metadata } from "next";
import { Libre_Baskerville } from "next/font/google";
import { Inter } from "next/font/google";
import "./globals.css";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
const libreBaskerville = Libre_Baskerville({
variable: "--font-libre-baskerville", subsets: ["latin"],
weight: ["400", "700"],
});
const inter = Inter({
variable: "--font-inter", subsets: ["latin"],
});
export const metadata: Metadata = {
title: "Learn Skateboarding in Marrakech with Houda Ait Lahcen", description: "Book an authentic skateboarding experience in Tamelslohte, Marrakech. Learn from an expert skater instructor with 5+ years experience. 5% supports CJF Morocco youth programs.", keywords: "skateboarding lessons marrakech, learn skateboard morocco, skateboard coaching tamelslohte, skateboard instructor marrakech, beginner skateboarding, CJF morocco", metadataBase: new URL("https://houdasskateboarding.com"),
alternates: {
canonical: "https://houdasskateboarding.com"
},
openGraph: {
title: "Learn Skateboarding in Marrakech with Houda Ait Lahcen", description: "Expert skateboarding coaching in beautiful Tamelslohte. Build confidence, balance, and skills. 5% to CJF Morocco.", url: "https://houdasskateboarding.com", siteName: "Houda's Skateboarding", type: "website", images: [
{
url: "http://img.b2bpic.net/free-photo/cute-girl-roller-skating_1303-8881.jpg", alt: "Female skateboarder in Marrakech"
},
],
},
twitter: {
card: "summary_large_image", title: "Learn Skateboarding in Marrakech", description: "Expert coaching from Morocco's best skater girl. Build confidence on the board.", images: ["http://img.b2bpic.net/free-photo/cute-girl-roller-skating_1303-8881.jpg"],
},
robots: {
index: true,
follow: true,
},
};
title: "Houda's Skateboarding Experience", description: "Learn skateboarding in Marrakech with professional coaching from Morocco's best skater girl."};
export default function RootLayout({
children,
}: Readonly<{
}: {
children: React.ReactNode;
}>) {
}) {
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body
className={`${libreBaskerville.variable} ${inter.variable} antialiased`}
>
<Tag />
{children}
<html lang="en">
<body className={inter.variable}>
{children}
<script
dangerouslySetInnerHTML={{
__html: `
@@ -1416,7 +1386,6 @@ export default function RootLayout({
}}
/>
</body>
</ServiceWrapper>
</html>
);
}

View File

@@ -4,9 +4,9 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
import HeroLogoBillboard from "@/components/sections/hero/HeroLogoBillboard";
import TextAbout from "@/components/sections/about/TextAbout";
import SplitAbout from "@/components/sections/about/SplitAbout";
import FeatureCardSeven from "@/components/sections/feature/FeatureCardSeven";
import PricingCardNine from "@/components/sections/pricing/PricingCardNine";
import SocialProofOne from "@/components/sections/socialProof/SocialProofOne";
import FaqSplitText from "@/components/sections/faq/FaqSplitText";
import ContactSplit from "@/components/sections/contact/ContactSplit";
import FooterBaseCard from "@/components/sections/footer/FooterBaseCard";
@@ -27,7 +27,7 @@ export default function LandingPage() {
>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
brandName="Houda's Skateboarding"
brandName="Book Your Skatebording & Surfskate Experience Today"
navItems={[
{ name: "About", id: "about" },
{ name: "What You'll Learn", id: "features" },
@@ -43,8 +43,8 @@ export default function LandingPage() {
<div id="hero" data-section="hero">
<HeroLogoBillboard
logoText="Houda's Skateboarding"
description="Learn skateboarding or surf skate with confidence. Build strong balance, control, and smooth turns through clear, focused coaching in beautiful Tamelslohte, Marrakech."
logoText=""
description="Learn skateboarding or surf skate with confidence. Build strong balance, control, and smooth turns through clear, focused coaching in Tameslouht or Marrakech."
buttons={[
{
text: "Book Your Experience", href: "https://www.airbnb.com/experiences/6774219?viralityEntryPoint=2&s=76"
@@ -52,7 +52,7 @@ export default function LandingPage() {
{ text: "Learn More" },
]}
background={{ variant: "sparkles-gradient" }}
imageSrc="http://img.b2bpic.net/free-photo/cute-girl-roller-skating_1303-8881.jpg?_wi=1"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AVSnAj9MzGOThMDqSI4t30YgeB/uploaded-1773007372231-tufcrmsc.jpg"
imageAlt="Female skateboarder performing at skateboard park"
mediaAnimation="slide-up"
frameStyle="card"
@@ -60,14 +60,31 @@ export default function LandingPage() {
</div>
<div id="about" data-section="about">
<TextAbout
<SplitAbout
tag="Meet Your Coach"
title="Houda Ait Lahcen - Skateboarding Instructor & Girls Supporter"
description="Learn from Morocco's best skater girl with years of experience coaching beginners and intermediate riders."
buttons={[
{
text: "Reserve Your Spot", href: "https://www.airbnb.com/experiences/6774219?viralityEntryPoint=2&s=76"
},
]}
bulletPoints={[
{
title: "Expert Coach", description: "Years of professional skateboarding experience with a passion for teaching"
},
{
title: "Safety First", description: "All equipment provided, professional protective gear included"
},
{
title: "Personal Attention", description: "Step by step coaching tailored to your skill level and learning pace"
},
]}
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AVSnAj9MzGOThMDqSI4t30YgeB/uploaded-1772847116738-v7uf3uyb.jpg"
imageAlt="Houda skateboarding instructor"
mediaAnimation="slide-up"
imagePosition="right"
textboxLayout="default"
useInvertedBackground={true}
/>
</div>
@@ -80,15 +97,15 @@ export default function LandingPage() {
features={[
{
id: 1,
title: "Warm-Up & Balance", description: "We begin with a dynamic warm-up to activate balance, body control, and confidence before stepping on the board.", imageSrc: "http://img.b2bpic.net/free-photo/skate-parkteens-skate-park_23-2149836894.jpg?_wi=1"
title: "Warm-Up & Balance", description: "We begin with a dynamic warm-up to activate balance, body control, and confidence before stepping on the board.", imageSrc: "http://img.b2bpic.net/free-photo/young-couple-enjoys-playing-sports-morning-open-air-warm-up-before-exercise_146671-14939.jpg?id=9277056"
},
{
id: 2,
title: "Safety & Gear Check", description: "Learn proper stance, safe stopping techniques, and riding basics with professional-grade equipment and guidance.", imageSrc: "http://img.b2bpic.net/free-photo/cropped-shot-legs-longboard-skater-girl-riding-her-skateboard-street-female-teenager-cru_1258-138262.jpg"
title: "Safety & Gear Check", description: "Learn proper stance, safe stopping techniques, and riding basics with safety equipment and guidance.", imageSrc: "http://img.b2bpic.net/free-photo/guys-skate-pool_1321-1334.jpg?id=3202066"
},
{
id: 3,
title: "Personal Coaching", description: "One-on-one instruction with Morocco's best skater girl, including hands-on skating practice and personalized learning.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-skateboarders-feet-skating_171337-9160.jpg"
title: "Personal Coaching", description: "Steaby step coaching with Morocco's best skater girl, including hands-on skating practice and personalized learning.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-skateboarders-feet-skating_171337-9160.jpg"
},
]}
animationType="blur-reveal"
@@ -100,20 +117,20 @@ export default function LandingPage() {
<div id="pricing" data-section="pricing">
<PricingCardNine
title="Skateboarding Experience"
description="All sessions include professional coaching, safety equipment, and community support. 5% of proceeds benefit CJF Morocco."
description="All sessions include professional coaching, safety equipment, and community support. 8% of proceeds benefit CJF Morocco a youth led organization ."
tag="Competitive Pricing"
plans={[
{
id: "session", title: "Single Session", price: "$32", period: "per guest", imageSrc: "http://img.b2bpic.net/free-photo/cute-girl-roller-skating_1303-8881.jpg?_wi=2", features: [
"1.5-2 hour coaching session", "Professional equipment included", "Beginner-friendly instruction", "Tea & Atlas views included"
id: "session", title: "Single Session", price: "$32", period: "per guest", imageSrc: "http://img.b2bpic.net/free-photo/woman-having-fun-with-skateboarding_329181-12953.jpg?id=12929860", features: [
"1.3 hour coaching session", "Professional equipment included", "Beginner-friendly instruction", "Tea & relaxing area and discussion "
],
button: {
text: "Book Now", href: "https://www.airbnb.com/experiences/6774219?viralityEntryPoint=2&s=76"
},
},
{
id: "package", title: "3-Session Package", price: "$85", period: "per guest", imageSrc: "http://img.b2bpic.net/free-photo/skate-parkteens-skate-park_23-2149836894.jpg?_wi=2", features: [
"3 coaching sessions (best value)", "Skill progression tracking", "Professional equipment", "Complimentary refreshments"
id: "package", title: "3-Session Package", price: "$85", period: "per guest", imageSrc: "http://img.b2bpic.net/premium-photo/two-skateboarders-performing-tricks-simultaneously_274719-11841.jpg?id=92853095", features: [
"3 coaching sessions (best value)", "Skill progression tracking", "Professional equipment", ""
],
button: {
text: "Book Package", href: "https://www.airbnb.com/experiences/6774219?viralityEntryPoint=2&s=76"
@@ -126,21 +143,6 @@ export default function LandingPage() {
/>
</div>
<div id="social-proof" data-section="social-proof">
<SocialProofOne
title="Trusted by Skateboarders Worldwide"
description="Join hundreds of learners from around the world who have built confidence on the skateboard."
tag="Community Impact"
textboxLayout="default"
useInvertedBackground={false}
names={[
"Marrakech Skateboard Community", "CJF Morocco Programs", "Atlas Mountain Sports", "Tameslouht Fiere et Fort", "International Skate Alliance", "Women Skater Network", "Moroccan Youth Sports", "Inclusive Skateboarding Initiative"
]}
speed={40}
showCard={true}
/>
</div>
<div id="faq" data-section="faq">
<FaqSplitText
sideTitle="Frequently Asked Questions"
@@ -166,7 +168,7 @@ export default function LandingPage() {
id: "5", title: "Do you accommodate people with mobility issues?", content: "We have a step-free bathroom available and a quiet retreat space. Contact us to discuss specific accessibility needs."
},
{
id: "6", title: "Where exactly do we meet?", content: "Sessions are held in Tamelslohte, Marrakech. You'll enjoy spectacular Atlas Mountain views and access to Fiere et Fort skateboard park."
id: "6", title: "Where exactly do we meet?", content: "Sessions are held in Tamelslohte, Marrakech. You'll enjoy spectacular Atlas Mountain views and access to Fiere et Fort skatepark."
},
]}
/>
@@ -176,23 +178,23 @@ export default function LandingPage() {
<ContactSplit
tag="Get In Touch"
title="Ready to Learn?"
description="Let's learn together and try a new experience where you learn not just skating but confidence. Join our skateboarding community in Marrakech. Book your experience today and become part of a movement supporting youth skateboarding across Morocco."
description="Let's learn together and try a new experience where you learn not just skating but confidence. Join our skateboarding community in Marrakech. Book your experience today and become part of a movement supporting children skateboarding across Morocco."
tagAnimation="slide-up"
background={{ variant: "radial-gradient" }}
useInvertedBackground={false}
imageSrc="http://img.b2bpic.net/free-photo/ksar-ait-ben-haddou-surrounded-by-greenery-sunlight-blue-sky-morocco_181624-14248.jpg"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AVSnAj9MzGOThMDqSI4t30YgeB/uploaded-1772848005706-orzy7qlk.jpg"
imageAlt="Atlas Mountains and Tamelslohte landscape in Marrakech"
mediaAnimation="opacity"
mediaPosition="right"
inputPlaceholder="your@email.com"
buttonText="Join Our Community"
termsText="By booking, you support CJF Morocco programs serving local youth. 5% of proceeds go directly to community development."
termsText="By booking, you support CJF Morocco programs serving local youth. 8% of proceeds go directly to community development."
/>
</div>
<div id="footer" data-section="footer">
<FooterBaseCard
logoText="Houda's Skateboarding"
logoText="Ready to book your new experience "
columns={[
{
title: "Experience", items: [
@@ -231,7 +233,7 @@ export default function LandingPage() {
],
},
]}
copyrightText="Let's Learn Together and Try a New Experience Where You Learn Not Just Skating But Confidence — © 2025 Houda's Skateboarding Experience in Tameslouht, Marrakech, Morocco. 5% of proceeds support CJF Morocco community programs."
copyrightText="Let's Learn Together and Try a New Experience Where You Learn Not Just Skating But Confidence — © 2025 Houda's Skateboarding Experience in Tameslouht, Marrakech, Morocco. 8% of proceeds support CJF Morocco community programs."
/>
</div>
</ThemeProvider>