363 lines
20 KiB
TypeScript
363 lines
20 KiB
TypeScript
"use client";
|
|
|
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
|
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
|
import HeroBillboardScroll from '@/components/sections/hero/HeroBillboardScroll';
|
|
import AboutMetric from '@/components/sections/about/AboutMetric';
|
|
import FeatureCardThree from '@/components/sections/feature/featureCardThree/FeatureCardThree';
|
|
import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
|
|
import PricingCardOne from '@/components/sections/pricing/PricingCardOne';
|
|
import TestimonialCardOne from '@/components/sections/testimonial/TestimonialCardOne';
|
|
import ContactSplit from '@/components/sections/contact/ContactSplit';
|
|
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
|
|
import { Zap, Flame, Camera, CreditCard, Star, Award, Users, Dumbbell, Heart, MessageSquare, Sparkles } from "lucide-react";
|
|
import { useState } from "react";
|
|
import { Textarea } from "@/components/form/Textarea";
|
|
|
|
const assetMap: Record<string, string> = {
|
|
"hero-gym-banner": "http://img.b2bpic.net/free-photo/sports-equipment-dumbbells-gym_169016-59099.jpg", "gym-interior": "http://img.b2bpic.net/free-photo/low-angle-view-young-sportsmen-cycling-exercise-bikes-while-working-out-gym_637285-2532.jpg", "trainer-madhan": "http://img.b2bpic.net/free-photo/indian-man-doing-excercisses-special-equipment-gym-with-personal-trainer_1157-51767.jpg", "weight-loss-training": "http://img.b2bpic.net/free-photo/fat-woman-dieting-fitness-portrait-obese-woman-working-out-gym_1157-48530.jpg", "muscle-building": "http://img.b2bpic.net/free-photo/training-cross-fit-gym_169016-1992.jpg", "personal-training": "http://img.b2bpic.net/free-photo/indian-man-doing-excercisses-special-equipment-gym-with-personal-trainer_1157-51767.jpg", "diet-guidance": "http://img.b2bpic.net/free-photo/veggie-lettering-notebook-surrounded-by-veggie-food_23-2148305836.jpg", "gym-equipment-1": "http://img.b2bpic.net/free-photo/black-dumbbells-with-different-weight_7502-8973.jpg", "gym-equipment-2": "http://img.b2bpic.net/free-photo/male-feet-sneakers-running-treadmill-gym-exercise-concept_335224-798.jpg", "transformation-before-after": "http://img.b2bpic.net/free-photo/people-working-out-indoors-together-with-jump-rope_23-2149175362.jpg", "testimonial-1": "http://img.b2bpic.net/free-photo/smiling-athletic-man-black-background_613910-9870.jpg", "testimonial-2": "http://img.b2bpic.net/free-photo/cheerful-young-sports-woman-with-arms-crossed_171337-8914.jpg", "testimonial-3": "http://img.b2bpic.net/free-photo/smiling-athletic-man-black-background_613910-9870.jpg", "testimonial-4": "http://img.b2bpic.net/free-photo/portrait-smiling-young-sportswoman_171337-10026.jpg"};
|
|
|
|
function getAssetUrl(assetId: string): string {
|
|
return assetMap[assetId] || "/placeholders/placeholder1.webp";
|
|
}
|
|
|
|
export default function FitnessEmpire() {
|
|
const [formData, setFormData] = useState({
|
|
name: "", phone: "", email: "", message: ""
|
|
});
|
|
|
|
const handleFormChange = (field: string, value: string) => {
|
|
setFormData(prev => ({
|
|
...prev,
|
|
[field]: value
|
|
}));
|
|
};
|
|
|
|
const handleFormSubmit = (email: string) => {
|
|
console.log("Form submitted:", { ...formData, email });
|
|
};
|
|
|
|
return (
|
|
<ThemeProvider
|
|
defaultButtonVariant="shift-hover"
|
|
defaultTextAnimation="background-highlight"
|
|
borderRadius="soft"
|
|
contentWidth="mediumSmall"
|
|
sizing="mediumSizeLargeTitles"
|
|
background="none"
|
|
cardStyle="gradient-bordered"
|
|
primaryButtonStyle="diagonal-gradient"
|
|
secondaryButtonStyle="layered"
|
|
headingFontWeight="bold"
|
|
>
|
|
<div id="nav" data-section="nav">
|
|
<NavbarLayoutFloatingOverlay
|
|
brandName="Fitness Empire"
|
|
navItems={[
|
|
{ name: "Home", id: "hero" },
|
|
{ name: "About", id: "about" },
|
|
{ name: "Services", id: "services" },
|
|
{ name: "Gallery", id: "gallery" },
|
|
{ name: "Pricing", id: "pricing" },
|
|
{ name: "Reviews", id: "reviews" },
|
|
{ name: "Contact", id: "contact" },
|
|
]}
|
|
button={{ text: "Join Now", href: "contact" }}
|
|
buttonClassName="bg-gradient-to-r from-orange-500 to-red-600 hover:from-orange-600 hover:to-red-700"
|
|
/>
|
|
</div>
|
|
|
|
<div id="hero" data-section="hero">
|
|
<HeroBillboardScroll
|
|
title="Transform Your Body at Fitness Empire"
|
|
description="Professional coaching, state-of-the-art equipment, and personalized training programs designed to help you achieve your fitness goals and transform your life."
|
|
tag="Premium Fitness Training"
|
|
tagIcon={Zap}
|
|
tagAnimation="slide-up"
|
|
background={{ variant: "plain" }}
|
|
imageSrc={getAssetUrl("hero-gym-banner")}
|
|
imageAlt="Fitness Empire gym equipment and training facility"
|
|
buttons={[
|
|
{ text: "Join Now", href: "contact" },
|
|
{ text: "Learn More", href: "about" },
|
|
]}
|
|
buttonAnimation="slide-up"
|
|
className="min-h-screen"
|
|
containerClassName="flex items-center justify-center"
|
|
textBoxClassName="text-center max-w-2xl"
|
|
titleClassName="text-5xl md:text-7xl font-bold mb-6"
|
|
descriptionClassName="text-lg md:text-xl text-gray-300 mb-8"
|
|
buttonContainerClassName="flex flex-col sm:flex-row gap-4 justify-center"
|
|
/>
|
|
</div>
|
|
|
|
<div id="about" data-section="about">
|
|
<AboutMetric
|
|
title="About Fitness Empire - Your Ultimate Fitness Destination in Thiruvallur"
|
|
metrics={[
|
|
{ icon: Users, label: "Happy Clients", value: "250+" },
|
|
{ icon: Award, label: "Years Experience", value: "10+yrs" },
|
|
{ icon: Dumbbell, label: "Expert Trainers", value: "Professional" },
|
|
{ icon: Heart, label: "Success Rate", value: "99%" },
|
|
]}
|
|
metricsAnimation="slide-up"
|
|
useInvertedBackground={false}
|
|
containerClassName="py-16 md:py-24"
|
|
titleClassName="text-4xl md:text-5xl font-bold mb-12"
|
|
metricsContainerClassName="grid grid-cols-2 md:grid-cols-4 gap-8"
|
|
/>
|
|
</div>
|
|
|
|
<div id="services" data-section="services">
|
|
<FeatureCardThree
|
|
title="Our Premium Services"
|
|
description="Comprehensive fitness solutions tailored to your specific goals and fitness level"
|
|
tag="Services"
|
|
tagIcon={Flame}
|
|
tagAnimation="slide-up"
|
|
features={[
|
|
{
|
|
id: "01", title: "Weight Loss Training", description: "Intensive programs combining cardio, strength training, and nutrition guidance to achieve sustainable weight loss results.", imageSrc: getAssetUrl("weight-loss-training"),
|
|
imageAlt: "Weight loss training program"},
|
|
{
|
|
id: "02", title: "Muscle Building", description: "Advanced strength training protocols designed to maximize muscle growth, increase strength, and build your ideal physique.", imageSrc: getAssetUrl("muscle-building"),
|
|
imageAlt: "Muscle building strength training"},
|
|
{
|
|
id: "03", title: "Personal Training", description: "One-on-one coaching sessions with our certified trainers who create customized workout plans based on your goals.", imageSrc: getAssetUrl("personal-training"),
|
|
imageAlt: "Personal training session"},
|
|
{
|
|
id: "04", title: "Diet Guidance", description: "Professional nutritional counseling and meal planning to support your fitness journey and maximize results.", imageSrc: getAssetUrl("diet-guidance"),
|
|
imageAlt: "Diet and nutrition guidance"},
|
|
]}
|
|
gridVariant="two-columns-alternating-heights"
|
|
animationType="slide-up"
|
|
textboxLayout="default"
|
|
useInvertedBackground={false}
|
|
buttons={[{ text: "Get Started", href: "contact" }]}
|
|
buttonAnimation="slide-up"
|
|
containerClassName="py-16 md:py-24"
|
|
/>
|
|
</div>
|
|
|
|
<div id="gallery" data-section="gallery">
|
|
<ProductCardTwo
|
|
title="Fitness Empire Gallery"
|
|
description="Explore our state-of-the-art equipment, training facilities, and member transformations"
|
|
tag="Visual Journey"
|
|
tagIcon={Camera}
|
|
tagAnimation="slide-up"
|
|
products={[
|
|
{
|
|
id: "1", brand: "Fitness Empire", name: "Premium Dumbbells & Weights", price: "Training Equipment", rating: 5,
|
|
reviewCount: "Professional Grade", imageSrc: getAssetUrl("gym-equipment-1"),
|
|
imageAlt: "Premium dumbbells and weight training equipment"},
|
|
{
|
|
id: "2", brand: "Fitness Empire", name: "Cardio Equipment Zone", price: "State-of-the-Art", rating: 5,
|
|
reviewCount: "Latest Technology", imageSrc: getAssetUrl("gym-equipment-2"),
|
|
imageAlt: "Modern cardio and treadmill equipment"},
|
|
{
|
|
id: "3", brand: "Fitness Empire", name: "Member Transformations", price: "Real Results", rating: 5,
|
|
reviewCount: "Success Stories", imageSrc: getAssetUrl("transformation-before-after"),
|
|
imageAlt: "Before and after fitness transformation"},
|
|
]}
|
|
gridVariant="three-columns-all-equal-width"
|
|
animationType="slide-up"
|
|
textboxLayout="default"
|
|
useInvertedBackground={false}
|
|
containerClassName="py-16 md:py-24"
|
|
/>
|
|
</div>
|
|
|
|
<div id="pricing" data-section="pricing">
|
|
<PricingCardOne
|
|
title="Flexible Membership Plans"
|
|
description="Choose the perfect plan for your fitness journey. All plans include access to premium equipment and facilities."
|
|
tag="Pricing"
|
|
tagIcon={CreditCard}
|
|
tagAnimation="slide-up"
|
|
plans={[
|
|
{
|
|
id: "monthly", badge: "Popular", badgeIcon: Sparkles,
|
|
price: "₹2,500/month", subtitle: "Perfect for beginners getting started", features: [
|
|
"Unlimited gym access", "Basic training guidance", "Equipment usage training", "Member community"],
|
|
},
|
|
{
|
|
id: "quarterly", badge: "Best Value", badgeIcon: Star,
|
|
price: "₹6,500/quarter", subtitle: "Ideal for committed fitness enthusiasts", features: [
|
|
"Unlimited gym access", "2 personal training sessions/month", "Nutrition consultation", "Progress tracking", "Member community"],
|
|
},
|
|
{
|
|
id: "yearly", badge: "Maximum Savings", badgeIcon: Award,
|
|
price: "₹20,000/year", subtitle: "Best for serious fitness transformation", features: [
|
|
"Unlimited gym access", "4 personal training sessions/month", "Premium nutrition planning", "Transformation program", "1-on-1 coaching support", "VIP member benefits"],
|
|
},
|
|
]}
|
|
animationType="slide-up"
|
|
textboxLayout="default"
|
|
useInvertedBackground={false}
|
|
buttons={[{ text: "Join Now", href: "contact" }]}
|
|
buttonAnimation="slide-up"
|
|
containerClassName="py-16 md:py-24"
|
|
/>
|
|
</div>
|
|
|
|
<div id="reviews" data-section="reviews">
|
|
<TestimonialCardOne
|
|
title="Member Success Stories"
|
|
description="Real transformations from our satisfied members. Join 250+ happy clients who have achieved their fitness goals."
|
|
tag="Google Rating: 4.7 ⭐"
|
|
tagIcon={Star}
|
|
tagAnimation="slide-up"
|
|
testimonials={[
|
|
{
|
|
id: "1", name: "Rajesh Kumar", role: "Fitness Enthusiast", company: "Lost 15kg in 4 months", rating: 5,
|
|
imageSrc: getAssetUrl("testimonial-1"),
|
|
imageAlt: "Rajesh Kumar transformation"},
|
|
{
|
|
id: "2", name: "Priya Sharma", role: "Transformation Coach", company: "Gained confidence & strength", rating: 5,
|
|
imageSrc: getAssetUrl("testimonial-2"),
|
|
imageAlt: "Priya Sharma fitness success"},
|
|
{
|
|
id: "3", name: "Arun Patel", role: "Professional Athlete", company: "Improved performance 40%", rating: 5,
|
|
imageSrc: getAssetUrl("testimonial-3"),
|
|
imageAlt: "Arun Patel athletic performance"},
|
|
{
|
|
id: "4", name: "Divya Reddy", role: "Wellness Advocate", company: "Found perfect balance", rating: 5,
|
|
imageSrc: getAssetUrl("testimonial-4"),
|
|
imageAlt: "Divya Reddy wellness journey"},
|
|
]}
|
|
gridVariant="uniform-all-items-equal"
|
|
animationType="slide-up"
|
|
textboxLayout="default"
|
|
useInvertedBackground={false}
|
|
containerClassName="py-16 md:py-24"
|
|
/>
|
|
</div>
|
|
|
|
<div id="contact" data-section="contact">
|
|
<div className="max-w-4xl mx-auto px-4 md:px-8 py-16 md:py-24">
|
|
<div className="mb-12 text-center">
|
|
<div className="inline-flex items-center gap-2 px-4 py-2 rounded-full bg-orange-500 bg-opacity-20 mb-6">
|
|
<MessageSquare size={16} className="text-orange-500" />
|
|
<span className="text-sm font-medium text-orange-500">Get In Touch</span>
|
|
</div>
|
|
<h2 className="text-4xl md:text-5xl font-bold mb-4">Visit Fitness Empire Today</h2>
|
|
<p className="text-lg text-gray-400 mb-8">Located at No 158/8, By-Pass Road, Periyakuppam, Thiruvallur. Contact us for gym tours, membership queries, or any fitness questions. Join our community of 250+ successful members transforming their lives.</p>
|
|
</div>
|
|
|
|
<div className="bg-gradient-to-br from-orange-500 to-red-600 rounded-2xl p-8 md:p-12">
|
|
<form className="space-y-6">
|
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
|
<div>
|
|
<label className="block text-sm font-medium text-white mb-2">Full Name *</label>
|
|
<input
|
|
type="text"
|
|
placeholder="Enter your full name"
|
|
value={formData.name}
|
|
onChange={(e) => handleFormChange("name", e.target.value)}
|
|
className="w-full px-4 py-3 rounded-lg bg-white bg-opacity-20 border border-white border-opacity-30 text-white placeholder-white placeholder-opacity-50 focus:outline-none focus:ring-2 focus:ring-white focus:border-transparent"
|
|
required
|
|
/>
|
|
</div>
|
|
<div>
|
|
<label className="block text-sm font-medium text-white mb-2">Phone Number *</label>
|
|
<input
|
|
type="tel"
|
|
placeholder="Enter your phone number"
|
|
value={formData.phone}
|
|
onChange={(e) => handleFormChange("phone", e.target.value)}
|
|
className="w-full px-4 py-3 rounded-lg bg-white bg-opacity-20 border border-white border-opacity-30 text-white placeholder-white placeholder-opacity-50 focus:outline-none focus:ring-2 focus:ring-white focus:border-transparent"
|
|
required
|
|
/>
|
|
</div>
|
|
</div>
|
|
|
|
<div>
|
|
<label className="block text-sm font-medium text-white mb-2">Email Address *</label>
|
|
<input
|
|
type="email"
|
|
placeholder="Enter your email address"
|
|
value={formData.email}
|
|
onChange={(e) => handleFormChange("email", e.target.value)}
|
|
className="w-full px-4 py-3 rounded-lg bg-white bg-opacity-20 border border-white border-opacity-30 text-white placeholder-white placeholder-opacity-50 focus:outline-none focus:ring-2 focus:ring-white focus:border-transparent"
|
|
required
|
|
/>
|
|
</div>
|
|
|
|
<div>
|
|
<label className="block text-sm font-medium text-white mb-2">Message</label>
|
|
<Textarea
|
|
value={formData.message}
|
|
onChange={(value) => handleFormChange("message", value)}
|
|
placeholder="Tell us about your fitness goals..."
|
|
rows={5}
|
|
className="w-full px-4 py-3 rounded-lg bg-white bg-opacity-20 border border-white border-opacity-30 text-white placeholder-white placeholder-opacity-50 focus:outline-none focus:ring-2 focus:ring-white focus:border-transparent"
|
|
/>
|
|
</div>
|
|
|
|
<div className="flex items-start gap-3">
|
|
<input type="checkbox" id="terms" className="mt-1" />
|
|
<label htmlFor="terms" className="text-sm text-white text-opacity-90">
|
|
By clicking Connect, you agree to be contacted about our fitness programs and special offers.
|
|
</label>
|
|
</div>
|
|
|
|
<button
|
|
type="button"
|
|
onClick={() => handleFormSubmit(formData.email)}
|
|
className="w-full px-6 py-3 bg-white text-orange-600 font-semibold rounded-lg hover:bg-gray-100 transition-colors"
|
|
>
|
|
Connect via WhatsApp
|
|
</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="footer" data-section="footer">
|
|
<FooterLogoEmphasis
|
|
logoText="Fitness Empire"
|
|
columns={[
|
|
{
|
|
items: [
|
|
{ label: "Home", href: "#hero" },
|
|
{ label: "About", href: "#about" },
|
|
{ label: "Services", href: "#services" },
|
|
{ label: "Gallery", href: "#gallery" },
|
|
],
|
|
},
|
|
{
|
|
items: [
|
|
{ label: "Membership", href: "#pricing" },
|
|
{ label: "Reviews", href: "#reviews" },
|
|
{ label: "Contact", href: "#contact" },
|
|
{ label: "WhatsApp", href: "https://wa.me/918754609123" },
|
|
],
|
|
},
|
|
{
|
|
items: [
|
|
{ label: "Address", href: "#" },
|
|
{ label: "No 158/8, By-Pass Road", href: "#" },
|
|
{ label: "Periyakuppam, Thiruvallur", href: "#" },
|
|
{ label: "Phone: 08754609123", href: "tel:08754609123" },
|
|
],
|
|
},
|
|
{
|
|
items: [
|
|
{ label: "Instagram", href: "https://instagram.com" },
|
|
{ label: "Privacy Policy", href: "#" },
|
|
{ label: "Terms & Conditions", href: "#" },
|
|
{ label: "© 2024 Fitness Empire", href: "#" },
|
|
],
|
|
},
|
|
]}
|
|
containerClassName="bg-gradient-to-b from-black to-gray-950"
|
|
logoClassName="text-3xl md:text-4xl font-bold mb-12"
|
|
columnsClassName="grid grid-cols-2 md:grid-cols-4 gap-8"
|
|
itemClassName="text-sm text-gray-400 hover:text-orange-500 transition-colors"
|
|
/>
|
|
</div>
|
|
</ThemeProvider>
|
|
);
|
|
}
|