| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>FitTrack - Workout Tracker</title> |
| <link rel="icon" type="image/x-icon" href="/static/favicon.ico"> |
| <script src="https://cdn.tailwindcss.com"></script> |
| <link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet"> |
| <script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script> |
| <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script> |
| <script src="https://unpkg.com/feather-icons"></script> |
| <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/fullcalendar@5.11.3/main.min.css"> |
| <script src="https://cdn.jsdelivr.net/npm/fullcalendar@5.11.3/main.min.js"></script> |
| <style> |
| .fc-day:hover { |
| background-color: #f3f4f6; |
| cursor: pointer; |
| } |
| .workout-modal { |
| transition: all 0.3s ease; |
| } |
| </style> |
| </head> |
| <body class="bg-gray-50"> |
| |
| <nav class="bg-indigo-600 text-white shadow-lg"> |
| <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> |
| <div class="flex justify-between h-16 items-center"> |
| <div class="flex items-center"> |
| <i data-feather="activity" class="mr-2"></i> |
| <span class="text-xl font-bold">FitTrack</span> |
| </div> |
| <div class="hidden md:flex space-x-8"> |
| <a href="#" class="hover:text-indigo-200">Home</a> |
| <a href="#calendar" class="hover:text-indigo-200">Calendar</a> |
| <a href="#merch" class="hover:text-indigo-200">Merch</a> |
| <a href="#pricing" class="hover:text-indigo-200">Pricing</a> |
| </div> |
| <div class="md:hidden"> |
| <button id="mobile-menu-button" class="p-2"> |
| <i data-feather="menu"></i> |
| </button> |
| </div> |
| </div> |
| </div> |
| |
| <div id="mobile-menu" class="hidden md:hidden bg-indigo-700 px-2 pt-2 pb-3 space-y-1"> |
| <a href="#" class="block px-3 py-2 rounded-md text-base font-medium hover:bg-indigo-600">Home</a> |
| <a href="#calendar" class="block px-3 py-2 rounded-md text-base font-medium hover:bg-indigo-600">Calendar</a> |
| <a href="#merch" class="block px-3 py-2 rounded-md text-base font-medium hover:bg-indigo-600">Merch</a> |
| <a href="#pricing" class="block px-3 py-2 rounded-md text-base font-medium hover:bg-indigo-600">Pricing</a> |
| </div> |
| </nav> |
|
|
| |
| <section class="bg-gradient-to-r from-indigo-500 to-purple-600 text-white py-20"> |
| <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center"> |
| <h1 class="text-4xl md:text-5xl font-bold mb-6" data-aos="fade-up">Track Your Workouts Like A Pro</h1> |
| <p class="text-xl mb-8 max-w-3xl mx-auto" data-aos="fade-up" data-aos-delay="100"> |
| Schedule, track, and analyze your workouts with our intuitive fitness calendar. |
| </p> |
| <div class="flex justify-center space-x-4" data-aos="fade-up" data-aos-delay="200"> |
| <a href="#calendar" class="bg-white text-indigo-600 px-6 py-3 rounded-lg font-medium hover:bg-gray-100 transition duration-300"> |
| View Calendar |
| </a> |
| <a href="#pricing" class="bg-transparent border-2 border-white px-6 py-3 rounded-lg font-medium hover:bg-white hover:text-indigo-600 transition duration-300"> |
| Get Started |
| </a> |
| </div> |
| </div> |
| </section> |
|
|
| |
| <section id="calendar" class="py-16 bg-white"> |
| <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> |
| <h2 class="text-3xl font-bold text-center mb-12 text-gray-800">Workout Calendar</h2> |
| <div class="bg-white rounded-xl shadow-lg p-4 md:p-6" data-aos="fade-up"> |
| <div id="calendar-container"></div> |
| </div> |
| </div> |
| </section> |
|
|
| |
| <div id="workout-modal" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center hidden z-50 workout-modal"> |
| <div class="bg-white rounded-lg p-6 max-w-md w-full mx-4" data-aos="zoom-in"> |
| <div class="flex justify-between items-center mb-4"> |
| <h3 class="text-xl font-bold text-gray-800" id="workout-date">Workout for May 15</h3> |
| <button id="close-modal" class="text-gray-500 hover:text-gray-700"> |
| <i data-feather="x"></i> |
| </button> |
| </div> |
| <div class="mb-6"> |
| <h4 class="text-lg font-semibold mb-2">Today's Workout:</h4> |
| <p id="workout-details" class="text-gray-700">5 rounds for time: 10 pull-ups, 20 push-ups, 30 squats</p> |
| </div> |
| <div class="mb-6"> |
| <h4 class="text-lg font-semibold mb-2">Track Your Results:</h4> |
| <textarea class="w-full border rounded-lg p-3 focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500" rows="3" placeholder="Enter your time, reps, or notes..."></textarea> |
| </div> |
| <div class="flex justify-end space-x-3"> |
| <button class="px-4 py-2 bg-gray-200 text-gray-800 rounded-lg hover:bg-gray-300">Save</button> |
| <button class="px-4 py-2 bg-indigo-600 text-white rounded-lg hover:bg-indigo-700">Share</button> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <section id="merch" class="py-16 bg-gray-50"> |
| <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> |
| <h2 class="text-3xl font-bold text-center mb-12 text-gray-800">Our Merchandise</h2> |
| <div class="grid grid-cols-1 md:grid-cols-3 gap-8"> |
| |
| <div class="bg-white rounded-xl shadow-md overflow-hidden" data-aos="fade-up"> |
| <img src="http://static.photos/sport/640x360/1" alt="FitTrack T-Shirt" class="w-full h-64 object-cover"> |
| <div class="p-6"> |
| <h3 class="text-xl font-semibold mb-2">FitTrack T-Shirt</h3> |
| <p class="text-gray-600 mb-4">High-quality cotton tee with our logo</p> |
| <div class="flex justify-between items-center"> |
| <span class="text-lg font-bold">$29.99</span> |
| <button class="px-4 py-2 bg-indigo-600 text-white rounded-lg hover:bg-indigo-700">Add to Cart</button> |
| </div> |
| </div> |
| </div> |
| |
| <div class="bg-white rounded-xl shadow-md overflow-hidden" data-aos="fade-up" data-aos-delay="100"> |
| <img src="http://static.photos/sport/640x360/2" alt="Performance Tank" class="w-full h-64 object-cover"> |
| <div class="p-6"> |
| <h3 class="text-xl font-semibold mb-2">Performance Tank</h3> |
| <p class="text-gray-600 mb-4">Breathable fabric for intense workouts</p> |
| <div class="flex justify-between items-center"> |
| <span class="text-lg font-bold">$34.99</span> |
| <button class="px-4 py-2 bg-indigo-600 text-white rounded-lg hover:bg-indigo-700">Add to Cart</button> |
| </div> |
| </div> |
| </div> |
| |
| <div class="bg-white rounded-xl shadow-md overflow-hidden" data-aos="fade-up" data-aos-delay="200"> |
| <img src="http://static.photos/sport/640x360/3" alt="Gym Hoodie" class="w-full h-64 object-cover"> |
| <div class="p-6"> |
| <h3 class="text-xl font-semibold mb-2">Gym Hoodie</h3> |
| <p class="text-gray-600 mb-4">Stay warm during warm-ups and cool-downs</p> |
| <div class="flex justify-between items-center"> |
| <span class="text-lg font-bold">$49.99</span> |
| <button class="px-4 py-2 bg-indigo-600 text-white rounded-lg hover:bg-indigo-700">Add to Cart</button> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </section> |
|
|
| |
| <section id="pricing" class="py-16 bg-white"> |
| <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> |
| <h2 class="text-3xl font-bold text-center mb-12 text-gray-800">Simple Pricing</h2> |
| <div class="grid grid-cols-1 md:grid-cols-3 gap-8"> |
| |
| <div class="bg-gray-50 rounded-xl shadow-md overflow-hidden" data-aos="fade-up"> |
| <div class="p-6 border-b border-gray-200"> |
| <h3 class="text-xl font-semibold mb-2">Basic</h3> |
| <p class="text-gray-600">For casual fitness enthusiasts</p> |
| </div> |
| <div class="p-6"> |
| <div class="mb-6"> |
| <span class="text-4xl font-bold">$9.99</span> |
| <span class="text-gray-600">/month</span> |
| </div> |
| <ul class="space-y-3 mb-8"> |
| <li class="flex items-center"> |
| <i data-feather="check" class="text-green-500 mr-2"></i> |
| <span>Workout Calendar</span> |
| </li> |
| <li class="flex items-center"> |
| <i data-feather="check" class="text-green-500 mr-2"></i> |
| <span>Basic Tracking</span> |
| </li> |
| <li class="flex items-center"> |
| <i data-feather="x" class="text-red-500 mr-2"></i> |
| <span class="text-gray-400">Advanced Analytics</span> |
| </li> |
| <li class="flex items-center"> |
| <i data-feather="x" class="text-red-500 mr-2"></i> |
| <span class="text-gray-400">Coach Access</span> |
| </li> |
| </ul> |
| <button class="w-full px-4 py-3 bg-gray-200 text-gray-800 rounded-lg hover:bg-gray-300">Get Started</button> |
| </div> |
| </div> |
| |
| <div class="bg-indigo-600 text-white rounded-xl shadow-lg overflow-hidden transform scale-105" data-aos="fade-up" data-aos-delay="100"> |
| <div class="p-6 border-b border-indigo-500"> |
| <h3 class="text-xl font-semibold mb-2">Pro</h3> |
| <p>For serious athletes</p> |
| </div> |
| <div class="p-6"> |
| <div class="mb-6"> |
| <span class="text-4xl font-bold">$19.99</span> |
| <span>/month</span> |
| </div> |
| <ul class="space-y-3 mb-8"> |
| <li class="flex items-center"> |
| <i data-feather="check" class="text-green-300 mr-2"></i> |
| <span>Workout Calendar</span> |
| </li> |
| <li class="flex items-center"> |
| <i data-feather="check" class="text-green-300 mr-2"></i> |
| <span>Advanced Tracking</span> |
| </li> |
| <li class="flex items-center"> |
| <i data-feather="check" class="text-green-300 mr-2"></i> |
| <span>Performance Analytics</span> |
| </li> |
| <li class="flex items-center"> |
| <i data-feather="check" class="text-green-300 mr-2"></i> |
| <span>Coach Access</span> |
| </li> |
| </ul> |
| <button class="w-full px-4 py-3 bg-white text-indigo-600 rounded-lg hover:bg-gray-100 font-medium">Get Started</button> |
| </div> |
| </div> |
| |
| <div class="bg-gray-50 rounded-xl shadow-md overflow-hidden" data-aos="fade-up" data-aos-delay="200"> |
| <div class="p-6 border-b border-gray-200"> |
| <h3 class="text-xl font-semibold mb-2">Premium</h3> |
| <p class="text-gray-600">For gyms and teams</p> |
| </div> |
| <div class="p-6"> |
| <div class="mb-6"> |
| <span class="text-4xl font-bold">$49.99</span> |
| <span class="text-gray-600">/month</span> |
| </div> |
| <ul class="space-y-3 mb-8"> |
| <li class="flex items-center"> |
| <i data-feather="check" class="text-green-500 mr-2"></i> |
| <span>Unlimited Members</span> |
| </li> |
| <li class="flex items-center"> |
| <i data-feather="check" class="text-green-500 mr-2"></i> |
| <span>Team Management</span> |
| </li> |
| <li class="flex items-center"> |
| <i data-feather="check" class="text-green-500 mr-2"></i> |
| <span>Advanced Analytics</span> |
| </li> |
| <li class="flex items-center"> |
| <i data-feather="check" class="text-green-500 mr-2"></i> |
| <span>Priority Support</span> |
| </li> |
| </ul> |
| <button class="w-full px-4 py-3 bg-gray-200 text-gray-800 rounded-lg hover:bg-gray-300">Contact Us</button> |
| </div> |
| </div> |
| </div> |
| </div> |
| </section> |
|
|
| |
| <div id="payment-modal" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center hidden z-50"> |
| <div class="bg-white rounded-lg p-6 max-w-md w-full mx-4" data-aos="zoom-in"> |
| <div class="flex justify-between items-center mb-4"> |
| <h3 class="text-xl font-bold text-gray-800">Complete Payment</h3> |
| <button id="close-payment-modal" class="text-gray-500 hover:text-gray-700"> |
| <i data-feather="x"></i> |
| </button> |
| </div> |
| <div class="mb-6"> |
| <div class="mb-4"> |
| <label class="block text-gray-700 mb-2">Card Number</label> |
| <input type="text" class="w-full border rounded-lg p-3 focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500" placeholder="1234 5678 9012 3456"> |
| </div> |
| <div class="grid grid-cols-2 gap-4 mb-4"> |
| <div> |
| <label class="block text-gray-700 mb-2">Expiry Date</label> |
| <input type="text" class="w-full border rounded-lg p-3 focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500" placeholder="MM/YY"> |
| </div> |
| <div> |
| <label class="block text-gray-700 mb-2">CVC</label> |
| <input type="text" class="w-full border rounded-lg p-3 focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500" placeholder="123"> |
| </div> |
| </div> |
| <div class="mb-4"> |
| <label class="block text-gray-700 mb-2">Name on Card</label> |
| <input type="text" class="w-full border rounded-lg p-3 focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500" placeholder="John Doe"> |
| </div> |
| </div> |
| <button class="w-full px-4 py-3 bg-indigo-600 text-white rounded-lg hover:bg-indigo-700 font-medium">Pay $19.99</button> |
| </div> |
| </div> |
|
|
| |
| <footer class="bg-gray-800 text-white py-12"> |
| <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> |
| <div class="grid grid-cols-1 md:grid-cols-4 gap-8"> |
| <div> |
| <h3 class="text-lg font-semibold mb-4">FitTrack</h3> |
| <p class="text-gray-400">Helping you achieve your fitness goals one workout at a time.</p> |
| </div> |
| <div> |
| <h3 class="text-lg font-semibold mb-4">Quick Links</h3> |
| <ul class="space-y-2"> |
| <li><a href="#" class="text-gray-400 hover:text-white">Home</a></li> |
| <li><a href="#calendar" class="text-gray-400 hover:text-white">Calendar</a></li> |
| <li><a href="#merch" class="text-gray-400 hover:text-white">Merch</a></li> |
| <li><a href="#pricing" class="text-gray-400 hover:text-white">Pricing</a></li> |
| </ul> |
| </div> |
| <div> |
| <h3 class="text-lg font-semibold mb-4">Support</h3> |
| <ul class="space-y-2"> |
| <li><a href="#" class="text-gray-400 hover:text-white">Contact Us</a></li> |
| <li><a href="#" class="text-gray-400 hover:text-white">FAQs</a></li> |
| <li><a href="#" class="text-gray-400 hover:text-white">Privacy Policy</a></li> |
| <li><a href="#" class="text-gray-400 hover:text-white">Terms of Service</a></li> |
| </ul> |
| </div> |
| <div> |
| <h3 class="text-lg font-semibold mb-4">Connect</h3> |
| <div class="flex space-x-4"> |
| <a href="#" class="text-gray-400 hover:text-white"><i data-feather="facebook"></i></a> |
| <a href="#" class="text-gray-400 hover:text-white"><i data-feather="instagram"></i></a> |
| <a href="#" class="text-gray-400 hover:text-white"><i data-feather="twitter"></i></a> |
| <a href="#" class="text-gray-400 hover:text-white"><i data-feather="youtube"></i></a> |
| </div> |
| </div> |
| </div> |
| <div class="border-t border-gray-700 mt-8 pt-8 text-center text-gray-400"> |
| <p>© 2023 FitTrack. All rights reserved.</p> |
| </div> |
| </div> |
| </footer> |
|
|
| <script> |
| document.addEventListener('DOMContentLoaded', function() { |
| |
| AOS.init({ |
| duration: 800, |
| easing: 'ease-in-out', |
| once: true |
| }); |
| |
| |
| feather.replace(); |
| |
| |
| const mobileMenuButton = document.getElementById('mobile-menu-button'); |
| const mobileMenu = document.getElementById('mobile-menu'); |
| |
| mobileMenuButton.addEventListener('click', function() { |
| mobileMenu.classList.toggle('hidden'); |
| }); |
| |
| |
| const calendarEl = document.getElementById('calendar-container'); |
| const calendar = new FullCalendar.Calendar(calendarEl, { |
| initialView: 'dayGridMonth', |
| headerToolbar: { |
| left: 'prev,next today', |
| center: 'title', |
| right: 'dayGridMonth,timeGridWeek,timeGridDay' |
| }, |
| events: [ |
| { |
| title: 'CrossFit WOD', |
| start: new Date(), |
| backgroundColor: '#4f46e5', |
| borderColor: '#4f46e5' |
| }, |
| { |
| title: 'Strength Training', |
| start: new Date(new Date().setDate(new Date().getDate() + 2)), |
| backgroundColor: '#7c3aed', |
| borderColor: '#7c3aed' |
| }, |
| { |
| title: 'Endurance Workout', |
| start: new Date(new Date().setDate(new Date().getDate() + 5)), |
| backgroundColor: '#9333ea', |
| borderColor: '#9333ea' |
| } |
| ], |
| dateClick: function(info) { |
| const modal = document.getElementById('workout-modal'); |
| const dateElement = document.getElementById('workout-date'); |
| |
| |
| const options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }; |
| const formattedDate = info.date.toLocaleDateString('en-US', options); |
| |
| dateElement.textContent = `Workout for ${formattedDate}`; |
| modal.classList.remove('hidden'); |
| } |
| }); |
| calendar.render(); |
| |
| |
| const closeModal = document.getElementById('close-modal'); |
| const workoutModal = document.getElementById('workout-modal'); |
| |
| closeModal.addEventListener('click', function() { |
| workoutModal.classList.add('hidden'); |
| }); |
| |
| |
| const closePaymentModal = document.getElementById('close-payment-modal'); |
| const paymentModal = document.getElementById('payment-modal'); |
| |
| if (closePaymentModal) { |
| closePaymentModal.addEventListener('click', function() { |
| paymentModal.classList.add('hidden'); |
| }); |
| } |
| |
| |
| const proPlanButton = document.querySelector('.bg-white.text-indigo-600'); |
| if (proPlanButton) { |
| proPlanButton.addEventListener('click', function(e) { |
| e.preventDefault(); |
| paymentModal.classList.remove('hidden'); |
| }); |
| } |
| }); |
| </script> |
| </body> |
| </html> |
|
|