14 Commits

Author SHA1 Message Date
e17f22ad65 Merge version_11 into main
Merge version_11 into main
2026-02-10 05:18:22 +00:00
e4ee55de26 Update src/app/page.tsx 2026-02-10 05:18:17 +00:00
9d09e9595e Update src/app/layout.tsx 2026-02-10 05:18:16 +00:00
bdd544dab8 Update src/app/blog/page.tsx 2026-02-10 05:18:14 +00:00
00a53de631 Merge version_10 into main
Merge version_10 into main
2026-02-10 05:12:49 +00:00
c5c7a25877 Update src/app/page.tsx 2026-02-10 05:12:44 +00:00
98f8bfe312 Merge version_9 into main
Merge version_9 into main
2026-02-10 05:06:50 +00:00
a1c09c70ec Merge version_8 into main
Merge version_8 into main
2026-02-10 05:03:23 +00:00
e0b315a31c Merge version_7 into main
Merge version_7 into main
2026-02-10 04:57:43 +00:00
b5ad703896 Merge version_6 into main
Merge version_6 into main
2026-02-10 04:54:01 +00:00
209ee1020b Merge version_5 into main
Merge version_5 into main
2026-02-10 04:49:52 +00:00
8f14fc74f4 Merge version_4 into main
Merge version_4 into main
2026-02-10 04:46:12 +00:00
fc7ee7496c Merge version_3 into main
Merge version_3 into main
2026-02-10 04:41:34 +00:00
2294b56ccf Merge version_2 into main
Merge version_2 into main
2026-02-10 04:35:00 +00:00
3 changed files with 54 additions and 11 deletions

View File

@@ -162,4 +162,4 @@ export default function BlogPage() {
</ReactLenis>
</ThemeProvider>
);
}
}

View File

@@ -7,8 +7,7 @@ const manrope = Manrope({
});
export const metadata: Metadata = {
title: "FitPro Toronto - Personal Training", description: "Professional personal training in Toronto tailored to your unique goals."
};
title: "FitPro Toronto - Personal Training", description: "Professional personal training in Toronto tailored to your unique goals."};
export default function RootLayout({
children,
@@ -1238,4 +1237,4 @@ export default function RootLayout({
</body>
</html>
);
}
}

View File

@@ -11,11 +11,12 @@ import TestimonialCardFifteen from '@/components/sections/testimonial/Testimonia
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import ContactFaq from '@/components/sections/contact/ContactFaq';
import FooterMedia from '@/components/sections/footer/FooterMedia';
import { Award, Dumbbell, Phone, Trophy, Zap } from "lucide-react";
import { useEffect, useRef } from "react";
import { Award, Dumbbell, Phone, Trophy, Zap, Clock } from "lucide-react";
import { useEffect, useRef, useState } from "react";
export default function LandingPage() {
const brandListRef = useRef<HTMLDivElement>(null);
const [timeLeft, setTimeLeft] = useState<string>("5:00");
useEffect(() => {
if (!brandListRef.current) return;
@@ -44,6 +45,25 @@ export default function LandingPage() {
animateScroll();
}, []);
useEffect(() => {
const startTime = Date.now();
const durationMs = 5 * 60 * 1000; // 5 minutes
const updateTimer = () => {
const elapsed = Date.now() - startTime;
const remaining = Math.max(0, durationMs - elapsed);
const minutes = Math.floor(remaining / 60000);
const seconds = Math.floor((remaining % 60000) / 1000);
setTimeLeft(`${minutes}:${seconds.toString().padStart(2, '0')}`);
if (remaining > 0) {
requestAnimationFrame(updateTimer);
}
};
updateTimer();
}, []);
const brands = [
"Gold's Gym Partners", "Fitness Canada Certified", "NASM Certified", "ACE Certified", "ISSA Certified", "IIFYM Certified", "PN Level 1 Certified", "TRX Certified", "CrossFit Level 1", "NCCPT Certified"
];
@@ -162,10 +182,6 @@ export default function LandingPage() {
{
id: 3,
tag: "Nutrition", title: "Nutrition Planning", subtitle: "Fuel your body for optimal results", description: "Science-backed nutrition guidance and meal planning tailored to your fitness goals. Learn sustainable eating habits that complement your training program.", imageSrc: "https://img.b2bpic.net/free-photo/healthy-menu-recipe-food-diet_53876-122837.jpg", imageAlt: "Healthy nutrition meal planning consultation"
},
{
id: 4,
tag: "Digital Coaching", title: "Online Training Programs", subtitle: "Train anywhere, anytime with expert guidance", description: "Flexible online coaching programs with customized workouts, progress tracking, and ongoing support. Perfect for busy Toronto professionals.", imageSrc: "https://img.b2bpic.net/free-photo/happy-athletic-woman-using-laptop-while-having-online-exercise-class-home_637285-5355.jpg", imageAlt: "Virtual fitness coaching session"
}
]}
/>
@@ -230,6 +246,34 @@ export default function LandingPage() {
/>
</div>
<style jsx>{`
@keyframes countdown-pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.7; }
}
.limited-offer-tag {
position: absolute;
top: 12px;
right: 12px;
background: linear-gradient(135deg, #ff3d4a 0%, #e63946 100%);
color: white;
padding: 6px 12px;
border-radius: 6px;
display: flex;
align-items: center;
gap: 6px;
font-size: 12px;
font-weight: 600;
z-index: 10;
animation: countdown-pulse 1s ease-in-out infinite;
box-shadow: 0 4px 12px rgba(230, 57, 70, 0.4);
}
.timer-text {
font-family: 'Courier New', monospace;
letter-spacing: 0.5px;
}
`}</style>
<div id="testimonials" data-section="testimonials">
<TestimonialCardFifteen
testimonial="Working with this trainer completely changed my life. I went from zero fitness experience to running a 5K and feeling stronger than ever. The personalized approach and constant encouragement made all the difference."
@@ -346,4 +390,4 @@ export default function LandingPage() {
</div>
</ThemeProvider>
);
}
}