Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cf6376c902 | |||
| 4f2ea7a93b | |||
| bd1d310ef9 | |||
| 41ac7fee4b | |||
| 190a3c9b82 | |||
| f9134e0d0e | |||
| 51de695da7 | |||
| fe53eeaf54 | |||
| 9bf0f8a576 | |||
| cefeb160d2 | |||
| f033eecab4 | |||
| e9fd1637e0 | |||
| 4915a8924d | |||
| c59562bd2d |
@@ -6,20 +6,16 @@ import "@/lib/gsap-setup";
|
||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
||||
import Tag from "@/tag/Tag";
|
||||
import { getVisualEditScript } from "@/utils/visual-edit-script";
|
||||
import { Playfair_Display } from "next/font/google";
|
||||
import { Montserrat } from "next/font/google";
|
||||
|
||||
const halant = Halant({
|
||||
variable: "--font-halant",
|
||||
subsets: ["latin"],
|
||||
weight: ["300", "400", "500", "600", "700"],
|
||||
});
|
||||
|
||||
const inter = Inter({
|
||||
variable: "--font-inter",
|
||||
subsets: ["latin"],
|
||||
});
|
||||
|
||||
export const metadata: Metadata = { title: 'Elite Fitness Coaching | Transform Your Body & Mind', description: 'Achieve your peak performance with personalized fitness training, custom nutrition plans, and expert guidance tailored to your unique health goals.' };
|
||||
|
||||
const playfair = Playfair_Display({ variable: "--font-playfair", subsets: ["latin"], weight: ["400", "500", "600", "700", "800", "900"] });
|
||||
const montserrat = Montserrat({ variable: "--font-montserrat", subsets: ["latin"] });
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: Readonly<{
|
||||
@@ -28,9 +24,7 @@ export default function RootLayout({
|
||||
return (
|
||||
<html lang="en" suppressHydrationWarning>
|
||||
<ServiceWrapper>
|
||||
<body
|
||||
className={`${halant.variable} ${inter.variable} antialiased`}
|
||||
>
|
||||
<body className={`${playfair.variable} ${montserrat.variable} antialiased`}>
|
||||
<Tag />
|
||||
{children}
|
||||
<script
|
||||
|
||||
183
src/app/page.tsx
183
src/app/page.tsx
@@ -5,192 +5,127 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen";
|
||||
import HeroSplitKpi from "@/components/sections/hero/HeroSplitKpi";
|
||||
import TextAbout from "@/components/sections/about/TextAbout";
|
||||
import MetricCardOne from "@/components/sections/metrics/MetricCardOne";
|
||||
import FeatureCardSeven from "@/components/sections/feature/FeatureCardSeven";
|
||||
import FeatureBento from "@/components/sections/feature/FeatureBento";
|
||||
import PricingCardOne from "@/components/sections/pricing/PricingCardOne";
|
||||
import SocialProofOne from "@/components/sections/socialProof/SocialProofOne";
|
||||
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm";
|
||||
import ContactSplit from "@/components/sections/contact/ContactSplit";
|
||||
import ContactCTA from "@/components/sections/contact/ContactCTA";
|
||||
import FooterSimple from "@/components/sections/footer/FooterSimple";
|
||||
import { Award, TrendingUp, Trophy, Zap, Star, Dumbbell, Heart, Lightbulb, Compass, Mail, Instagram, Twitter, Linkedin } from "lucide-react";
|
||||
import { Dumbbell } from "lucide-react";
|
||||
|
||||
export default function PersonalTrainerPage() {
|
||||
export default function ChristinaFitLifePage() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="directional-hover"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="pill"
|
||||
defaultButtonVariant="hover-bubble"
|
||||
defaultTextAnimation="reveal-blur"
|
||||
borderRadius="soft"
|
||||
contentWidth="medium"
|
||||
sizing="mediumLarge"
|
||||
background="aurora"
|
||||
cardStyle="gradient-bordered"
|
||||
primaryButtonStyle="primary-glow"
|
||||
secondaryButtonStyle="layered"
|
||||
sizing="medium"
|
||||
background="noise"
|
||||
cardStyle="glass-elevated"
|
||||
primaryButtonStyle="gradient"
|
||||
secondaryButtonStyle="glass"
|
||||
headingFontWeight="semibold"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleFullscreen
|
||||
navItems={[
|
||||
{ name: "Home", id: "home" },
|
||||
{ name: "Home", id: "hero" },
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Certifications", id: "achievements" },
|
||||
{ name: "Services", id: "services" },
|
||||
{ name: "Programs", id: "services" },
|
||||
{ name: "Pricing", id: "pricing" },
|
||||
{ name: "Contact", id: "contact" }
|
||||
]}
|
||||
brandName="Personal Trainer"
|
||||
bottomLeftText="Certified Professional"
|
||||
bottomRightText="contact@trainer.com"
|
||||
brandName="Christina’s Fit Life"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="hero" data-section="hero">
|
||||
<HeroSplitKpi
|
||||
title="Transform Your Body, Transform Your Life"
|
||||
description="Expert personal training designed for your goals. Whether you're starting your fitness journey or taking your performance to the next level, I provide personalized coaching, proven methods, and unwavering support to help you achieve lasting results."
|
||||
background={{ variant: "rotated-rays-static-grid" }}
|
||||
title="Elevate Your Life, One Step at a Time"
|
||||
description="Customized fitness coaching designed for the busy mom who wants to regain her confidence, vitality, and strength. Join a community built on balance, not deprivation."
|
||||
background={{ variant: "sparkles-gradient" }}
|
||||
kpis={[
|
||||
{ value: "500+", label: "Clients Transformed" },
|
||||
{ value: "10+", label: "Years Experience" },
|
||||
{ value: "95%", label: "Goal Achievement Rate" }
|
||||
{ value: "100%", label: "Personalized" },
|
||||
{ value: "Flexible", label: "Approach" },
|
||||
{ value: "Mom-Tested", label: "Methods" }
|
||||
]}
|
||||
enableKpiAnimation={true}
|
||||
tag="Professional Coach"
|
||||
tagIcon={Award}
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DbxJR6IxC1XHwzUSsYvpr3NNCx/uploaded-1778565239456-76fxax8u.jpg"
|
||||
imageAlt="Professional Personal Trainer"
|
||||
imagePosition="right"
|
||||
buttons={[
|
||||
{ text: "Start Your Journey", href: "#about" },
|
||||
{ text: "View Training Programs", href: "#services" }
|
||||
{ text: "Apply for Coaching", href: "#contact" },
|
||||
{ text: "View Programs", href: "#services" },
|
||||
{ text: "Learn More", href: "#about" }
|
||||
]}
|
||||
mediaAnimation="slide-up"
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DbxJR6IxC1XHwzUSsYvpr3NNCx/uploaded-1778565239456-76fxax8u.jpg"
|
||||
imageAlt="Christina fit life"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<TextAbout
|
||||
title="My Commitment to Your Success: Every client deserves a personalized approach. With over a decade of experience in fitness coaching, I combine evidence-based training methods with genuine passion for helping you reach your potential. My philosophy centers on sustainable results, injury prevention, and building habits that last a lifetime."
|
||||
useInvertedBackground={false}
|
||||
buttons={[
|
||||
{ text: "Learn My Story", href: "#achievements" },
|
||||
{ text: "Explore Methods", href: "#philosophy" }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="achievements" data-section="achievements">
|
||||
<MetricCardOne
|
||||
title="Professional Credentials & Experience"
|
||||
description="Certified expertise in personal training and athletic development"
|
||||
tag="Qualifications"
|
||||
tagIcon={TrendingUp}
|
||||
metrics={[
|
||||
{ id: "1", value: "150", title: "Certified Personal Trainer", description: "National Academy of Sports Medicine certification", icon: Trophy },
|
||||
{ id: "2", value: "500", title: "Specializations", description: "Strength, conditioning, nutrition, mobility, recovery", icon: Zap },
|
||||
{ id: "3", value: "950", title: "Success Stories", description: "Clients who achieved their fitness goals with guidance", icon: Star },
|
||||
]}
|
||||
gridVariant="uniform-all-items-equal"
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
title="Hi, I'm Christina. I know the unique challenges of being a mom and wanting to feel like yourself again. My mission is to simplify fitness so you can thrive as a parent and a woman, without the burnout."
|
||||
useInvertedBackground={false}
|
||||
ariaLabel="About section"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="services" data-section="services">
|
||||
<FeatureCardSeven
|
||||
title="Personalized Training Programs"
|
||||
description="Customized fitness solutions tailored to your unique goals and lifestyle"
|
||||
tag="Service Offerings"
|
||||
title="My Coaching Programs"
|
||||
description="Progressive paths to your best self."
|
||||
tag="Coaching"
|
||||
tagIcon={Dumbbell}
|
||||
features={[
|
||||
{
|
||||
title: "One-on-One Personal Training", description: "Individual coaching sessions focused entirely on your goals, form, and progression. Each workout is designed based on your fitness level, preferences, and objectives with real-time feedback and adjustments.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DbxJR6IxC1XHwzUSsYvpr3NNCx/uploaded-1778565319822-rjdf8fid.jpg", imageAlt: "One-on-one personal training session"
|
||||
},
|
||||
{
|
||||
title: "Small Group Training Classes", description: "Build community while reaching your fitness goals in small, focused groups. Receive personalized attention in a motivating environment with other like-minded individuals committed to transformation.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DbxJR6IxC1XHwzUSsYvpr3NNCx/uploaded-1778565341961-l7pyl2nu.jpg", imageAlt: "Small group fitness class"
|
||||
},
|
||||
{
|
||||
title: "Online Coaching Programs", description: "Train from anywhere with customized workout plans, nutrition guidance, and video form checks. Stay connected with regular progress assessments and program adjustments based on your results and feedback.", imageSrc: "https://img.b2bpic.net/free-photo/people-training-athletics_23-2151077709.jpg?id=150856792", imageAlt: "Online fitness coaching platform"
|
||||
}
|
||||
{ title: "Foundation", description: "Building healthy habits and establishing your base.", imageSrc: "https://img.b2bpic.net/free-photo/people-training-athletics_23-2151077709.jpg?id=150856792&_wi=1" },
|
||||
{ title: "Elevation", description: "Taking your fitness to the next level of performance.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DbxJR6IxC1XHwzUSsYvpr3NNCx/uploaded-1778565319822-rjdf8fid.jpg" },
|
||||
{ title: "Transformation", description: "Complete lifestyle shift for long-term health.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DbxJR6IxC1XHwzUSsYvpr3NNCx/uploaded-1778565341961-l7pyl2nu.jpg" }
|
||||
]}
|
||||
textboxLayout="default"
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
buttons={[
|
||||
{ text: "Book Consultation", href: "#contact" }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="philosophy" data-section="philosophy">
|
||||
<FeatureBento
|
||||
title="My Training Philosophy"
|
||||
description="Holistic approach to fitness and wellness"
|
||||
tag="Training Method"
|
||||
tagIcon={Compass}
|
||||
features={[
|
||||
{
|
||||
title: "Progressive Overload", description: "Systematically increase intensity and challenge to drive continuous improvement and prevent plateaus in your fitness journey", bentoComponent: "animated-bar-chart"
|
||||
},
|
||||
{
|
||||
title: "Functional Fitness", description: "Training that improves real-world strength, mobility, and movement patterns for better performance in daily life", bentoComponent: "3d-stack-cards", items: [
|
||||
{ icon: Dumbbell, title: "Strength", subtitle: "Build Power", detail: "Compound movements for lasting gains" },
|
||||
{ icon: Heart, title: "Endurance", subtitle: "Boost Stamina", detail: "Cardiovascular and muscular conditioning" },
|
||||
{ icon: Lightbulb, title: "Mobility", subtitle: "Improve Range", detail: "Enhanced flexibility and joint health" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Sustainable Habits", description: "Build consistent routines that fit your lifestyle and lead to long-term results, not quick fixes", bentoComponent: "timeline", heading: "Your Training Journey", subheading: "Three phases to transformation", items: [
|
||||
{ label: "Foundation", detail: "Building proper form and establishing baseline fitness" },
|
||||
{ label: "Progression", detail: "Gradually increasing intensity and complexity" },
|
||||
{ label: "Mastery", detail: "Peak performance and maintaining long-term results" }
|
||||
],
|
||||
completedLabel: "Your transformation begins"
|
||||
}
|
||||
<div id="pricing" data-section="pricing">
|
||||
<PricingCardOne
|
||||
title="Investment Options"
|
||||
description="Flexible payment plans to suit your budget, including Affirm and Afterpay."
|
||||
plans={[
|
||||
{ id: "plan1", badge: "Affirm/Afterpay", price: "$199/mo", subtitle: "Essential access", features: ["Custom workouts", "Support"] },
|
||||
{ id: "plan2", badge: "Most Popular", price: "$299/mo", subtitle: "Complete transformation", features: ["Custom workouts", "Nutrition", "Weekly check-ins"] },
|
||||
{ id: "plan3", badge: "Premium", price: "$499/mo", subtitle: "1-on-1 focus", features: ["Personal coaching", "Direct access", "Full support"] }
|
||||
]}
|
||||
textboxLayout="default"
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={true}
|
||||
buttons={[
|
||||
{ text: "Start Training", href: "#contact" }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SocialProofOne
|
||||
title="Trusted by Fitness Enthusiasts"
|
||||
description="Hear from clients who have achieved their transformation goals."
|
||||
names={["Jessica C.", "Marcus R.", "David W.", "Alex K.", "Sarah P.", "Jordan B.", "Elena M.", "Kevin L."]}
|
||||
useInvertedBackground={false}
|
||||
title="Social Community"
|
||||
names={["Instagram", "Facebook", "Twitter", "LinkedIn"]}
|
||||
description="Follow along for daily tips and mom-hacks."
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactSplitForm
|
||||
title="Ready to Start Your Transformation?"
|
||||
description="Fill out the form below to book your free consultation and kickstart your fitness journey. I look forward to working with you!"
|
||||
inputs={[
|
||||
{ name: "name", type: "text", placeholder: "Full Name" },
|
||||
{ name: "email", type: "email", placeholder: "Email Address" }
|
||||
]}
|
||||
textarea={{ name: "goals", placeholder: "Briefly describe your fitness goals..." }}
|
||||
buttonText="Submit Request"
|
||||
onSubmit={(data) => console.log(data)}
|
||||
useInvertedBackground={true}
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DbxJR6IxC1XHwzUSsYvpr3NNCx/uploaded-1778565369691-92lmelu9.jpg"
|
||||
<ContactCTA
|
||||
tag="Join the Movement"
|
||||
title="Ready to start your journey?"
|
||||
description="Apply today to reserve your spot in my coaching program."
|
||||
buttons={[{ text: "Submit Application", href: "#contact" }]}
|
||||
background={{ variant: "sparkles-gradient" }}
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterSimple
|
||||
columns={[
|
||||
{ title: "Company", items: [{ label: "About" }, { label: "Careers" }] },
|
||||
{ title: "Support", items: [{ label: "Contact" }, { label: "FAQ" }] },
|
||||
{ title: "Legal", items: [{ label: "Privacy Policy" }, { label: "Terms of Service" }] }
|
||||
]}
|
||||
bottomLeftText="© 2025 Professional Personal Training"
|
||||
columns={[{ title: "Company", items: [{ label: "About" }, { label: "Privacy" }] }]}
|
||||
bottomLeftText="© 2025 Christina’s Fit Life"
|
||||
bottomRightText="All rights reserved."
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -11,7 +11,7 @@ html {
|
||||
body {
|
||||
background-color: var(--background);
|
||||
color: var(--foreground);
|
||||
font-family: var(--font-inter), sans-serif;
|
||||
font-family: var(--font-playfair), sans-serif;
|
||||
position: relative;
|
||||
min-height: 100vh;
|
||||
overscroll-behavior: none;
|
||||
@@ -24,5 +24,5 @@ h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-family: var(--font-libre-baskerville), serif;
|
||||
font-family: var(--font-playfair), serif;
|
||||
}
|
||||
|
||||
@@ -10,15 +10,15 @@
|
||||
--accent: #ffffff;
|
||||
--background-accent: #ffffff; */
|
||||
|
||||
--background: #ffffff;
|
||||
--card: #f9f9f9;
|
||||
--foreground: #120006e6;
|
||||
--background: #fffafa;
|
||||
--card: #fff7f7;
|
||||
--foreground: #1a0000;
|
||||
--primary-cta: #e63946;
|
||||
--primary-cta-text: #ffffff;
|
||||
--secondary-cta: #f9f9f9;
|
||||
--secondary-cta-text: #120006e6;
|
||||
--accent: #e2e2e2;
|
||||
--background-accent: #c4c4c4;
|
||||
--primary-cta-text: #fffafa;
|
||||
--secondary-cta: #ffffff;
|
||||
--secondary-cta-text: #1a0000;
|
||||
--accent: #f5c4c7;
|
||||
--background-accent: #f09199;
|
||||
|
||||
/* text sizing - set by ThemeProvider */
|
||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||
|
||||
Reference in New Issue
Block a user