runtrack / index.html
mdarlen's picture
implemente a tela de contato - Follow Up Deployment
1e5d9ea verified
Raw
History Blame Contribute Delete
79.7 kB
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>RunTrack - Seu Portal de Corridas</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
.gradient-bg {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.event-card:hover {
transform: translateY(-5px);
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.login-modal {
transition: all 0.3s ease;
}
.countdown-digit {
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(5px);
}
.custom-checkbox:checked {
background-color: #667eea;
border-color: #667eea;
}
</style>
</head>
<body class="font-sans bg-gray-50">
<!-- Header/Navigation -->
<header class="gradient-bg text-white sticky top-0 z-50 shadow-lg">
<div class="container mx-auto px-4 py-3 flex justify-between items-center">
<div class="flex items-center space-x-2">
<i class="fas fa-running text-2xl"></i>
<h1 class="text-2xl font-bold">RunTrack</h1>
</div>
<nav class="hidden md:flex space-x-8">
<a href="#events" class="hover:text-purple-200 transition">Eventos</a>
<a href="#features" class="hover:text-purple-200 transition">Recursos</a>
<a href="#testimonials" class="hover:text-purple-200 transition">Depoimentos</a>
<a href="#contact" class="hover:text-purple-200 transition">Contato</a>
</nav>
<div class="flex items-center space-x-4">
<button id="loginBtn" class="bg-white text-purple-700 px-4 py-2 rounded-full font-medium hover:bg-purple-100 transition">Login</button>
<button class="md:hidden text-white" id="mobileMenuBtn">
<i class="fas fa-bars text-2xl"></i>
</button>
</div>
</div>
<!-- Mobile Menu -->
<div id="mobileMenu" class="hidden md:hidden gradient-bg absolute w-full left-0 px-4 pb-4 shadow-lg">
<div class="flex flex-col space-y-3">
<a href="#events" class="hover:text-purple-200 transition py-2 border-b border-purple-300">Eventos</a>
<a href="#features" class="hover:text-purple-200 transition py-2 border-b border-purple-300">Recursos</a>
<a href="#testimonials" class="hover:text-purple-200 transition py-2 border-b border-purple-300">Depoimentos</a>
<a href="#contact" class="hover:text-purple-200 transition py-2">Contato</a>
</div>
</div>
</header>
<!-- Hero Section -->
<section class="gradient-bg text-white py-20">
<div class="container mx-auto px-4 flex flex-col md:flex-row items-center">
<div class="md:w-1/2 mb-10 md:mb-0">
<h2 class="text-4xl md:text-5xl font-bold mb-6">Transforme sua paixão por corridas em conquistas</h2>
<p class="text-xl mb-8 text-purple-100">Cadastre-se, escolha seus eventos favoritos e acompanhe tudo em um só lugar.</p>
<div class="flex flex-col sm:flex-row space-y-4 sm:space-y-0 sm:space-x-4">
<button id="signupBtn" class="bg-white text-purple-700 px-6 py-3 rounded-full font-bold hover:bg-purple-100 transition flex items-center justify-center">
<i class="fas fa-user-plus mr-2"></i> Criar Conta
</button>
<button class="border-2 border-white text-white px-6 py-3 rounded-full font-bold hover:bg-white hover:text-purple-700 transition flex items-center justify-center">
<i class="fas fa-play-circle mr-2"></i> Ver Vídeo
</button>
</div>
</div>
<div class="md:w-1/2 flex justify-center">
<div class="relative">
<img src="https://images.unsplash.com/photo-1552674605-db6ffd4facb5?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80"
alt="Corredores em uma maratona"
class="rounded-xl shadow-2xl w-full max-w-md border-8 border-white">
<div class="absolute -bottom-6 -right-6 bg-white text-purple-800 p-4 rounded-xl shadow-lg">
<div class="text-center">
<p class="text-sm font-semibold">Próximo Evento</p>
<p class="text-xl font-bold">Maratona do Rio</p>
<div class="flex justify-center space-x-2 mt-2" id="countdown">
<div class="countdown-digit px-3 py-1 rounded">
<span class="font-bold block">12</span>
<span class="text-xs">dias</span>
</div>
<div class="countdown-digit px-3 py-1 rounded">
<span class="font-bold block">08</span>
<span class="text-xs">horas</span>
</div>
<div class="countdown-digit px-3 py-1 rounded">
<span class="font-bold block">45</span>
<span class="text-xs">min</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Events Section -->
<section id="events" class="py-16 bg-white">
<div class="container mx-auto px-4">
<div class="text-center mb-12">
<h2 class="text-3xl font-bold text-gray-800 mb-4">Eventos em Destaque</h2>
<p class="text-gray-600 max-w-2xl mx-auto">Encontre os melhores eventos de corrida e maratonas para participar e acompanhar</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
<!-- Event Card 1 -->
<div class="event-card bg-white rounded-xl overflow-hidden shadow-md transition duration-300">
<div class="relative">
<img src="https://images.unsplash.com/photo-1543351611-58f69d7c1781?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1374&q=80"
alt="Maratona de São Paulo"
class="w-full h-48 object-cover">
<div class="absolute top-4 right-4 bg-purple-600 text-white px-3 py-1 rounded-full text-sm font-bold">
5K/10K/21K
</div>
</div>
<div class="p-6">
<div class="flex justify-between items-start mb-3">
<h3 class="text-xl font-bold text-gray-800">Maratona de São Paulo</h3>
<span class="bg-purple-100 text-purple-800 text-xs px-2 py-1 rounded">Popular</span>
</div>
<div class="flex items-center text-gray-600 mb-4">
<i class="fas fa-calendar-day mr-2 text-purple-600"></i>
<span>25 Nov 2023</span>
<i class="fas fa-map-marker-alt ml-4 mr-2 text-purple-600"></i>
<span>São Paulo, SP</span>
</div>
<p class="text-gray-600 mb-6">A maior maratona da América Latina com percursos para todos os níveis.</p>
<div class="flex justify-between items-center">
<button class="text-purple-600 font-medium hover:text-purple-800 transition flex items-center" onclick="showEventDetails('Maratona de São Paulo', 'https://images.unsplash.com/photo-1543351611-58f69d7c1781?ixlib=rb-4.0.3&amp;ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&amp;auto=format&amp;fit=crop&amp;w=1374&amp;q=80', '25 Nov 2023', 'São Paulo, SP', '5K, 10K, 21K', 'Maratona', 'A maior maratona da América Latina com percursos para todos os níveis. Com organização de primeira e estrutura completa para atletas de todos os níveis.', ['06:00 - Credenciamento', '07:00 - Largada 21K', '07:30 - Largada 10K', '08:00 - Largada 5K'])">
<i class="fas fa-info-circle mr-2"></i> Detalhes
</button>
<button class="bg-purple-600 text-white px-4 py-2 rounded-full hover:bg-purple-700 transition flex items-center">
<i class="fas fa-plus mr-2"></i> Adicionar
</button>
</div>
</div>
</div>
<!-- Event Card 2 -->
<div class="event-card bg-white rounded-xl overflow-hidden shadow-md transition duration-300">
<div class="relative">
<img src="https://images.unsplash.com/photo-1571008887538-b36bb32f4571?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80"
alt="Corrida da Meia Noite"
class="w-full h-48 object-cover">
<div class="absolute top-4 right-4 bg-purple-600 text-white px-3 py-1 rounded-full text-sm font-bold">
5K/10K
</div>
</div>
<div class="p-6">
<div class="flex justify-between items-start mb-3">
<h3 class="text-xl font-bold text-gray-800">Corrida da Meia Noite</h3>
<span class="bg-yellow-100 text-yellow-800 text-xs px-2 py-1 rounded">Novidade</span>
</div>
<div class="flex items-center text-gray-600 mb-4">
<i class="fas fa-calendar-day mr-2 text-purple-600"></i>
<span>31 Dez 2023</span>
<i class="fas fa-map-marker-alt ml-4 mr-2 text-purple-600"></i>
<span>Rio de Janeiro, RJ</span>
</div>
<p class="text-gray-600 mb-6">Comece o ano novo correndo em uma experiência única com iluminação especial.</p>
<div class="flex justify-between items-center">
<button class="text-purple-600 font-medium hover:text-purple-800 transition flex items-center">
<i class="fas fa-info-circle mr-2"></i> Detalhes
</button>
<button class="bg-purple-600 text-white px-4 py-2 rounded-full hover:bg-purple-700 transition flex items-center">
<i class="fas fa-plus mr-2"></i> Adicionar
</button>
</div>
</div>
</div>
<!-- Event Card 3 -->
<div class="event-card bg-white rounded-xl overflow-hidden shadow-md transition duration-300">
<div class="relative">
<img src="https://images.unsplash.com/photo-1517649763962-0c623066013b?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D3D&auto=format&fit=crop&w=1470&q=80"
alt="Desafio das Montanhas"
class="w-full h-48 object-cover">
<div class="absolute top-4 right-4 bg-purple-600 text-white px-3 py-1 rounded-full text-sm font-bold">
15K Trail
</div>
</div>
<div class="p-6">
<div class="flex justify-between items-start mb-3">
<h3 class="text-xl font-bold text-gray-800">Desafio das Montanhas</h3>
<span class="bg-red-100 text-red-800 text-xs px-2 py-1 rounded">Difícil</span>
</div>
<div class="flex items-center text-gray-600 mb-4">
<i class="fas fa-calendar-day mr-2 text-purple-600"></i>
<span>15 Jan 2024</span>
<i class="fas fa-map-marker-alt ml-4 mr-2 text-purple-600"></i>
<span>Campos do Jordão, SP</span>
</div>
<p class="text-gray-600 mb-6">Trail running em um dos percursos mais desafiadores do país, com paisagens incríveis.</p>
<div class="flex justify-between items-center">
<button class="text-purple-600 font-medium hover:text-purple-800 transition flex items-center">
<i class="fas fa-info-circle mr-2"></i> Detalhes
</button>
<button class="bg-purple-600 text-white px-4 py-2 rounded-full hover:bg-purple-700 transition flex items-center">
<i class="fas fa-plus mr-2"></i> Adicionar
</button>
</div>
</div>
</div>
</div>
<div class="text-center mt-12">
<button class="border-2 border-purple-600 text-purple-600 px-6 py-3 rounded-full font-bold hover:bg-purple-600 hover:text-white transition">
Ver Todos os Eventos
</button>
</div>
</div>
</section>
<!-- Features Section -->
<section id="features" class="py-16 bg-gray-50">
<div class="container mx-auto px-4">
<div class="text-center mb-12">
<h2 class="text-3xl font-bold text-gray-800 mb-4">Como Funciona</h2>
<p class="text-gray-600 max-w-2xl mx-auto">Tudo que você precisa para acompanhar seus eventos favoritos em um só lugar</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
<!-- Feature 1 -->
<div class="bg-white p-8 rounded-xl shadow-sm text-center">
<div class="bg-purple-100 w-16 h-16 rounded-full flex items-center justify-center mx-auto mb-6">
<i class="fas fa-calendar-check text-purple-600 text-2xl"></i>
</div>
<h3 class="text-xl font-bold text-gray-800 mb-3">Seus Eventos</h3>
<p class="text-gray-600">Adicione os eventos que vai participar e acompanhe todas as informações importantes em um painel personalizado.</p>
</div>
<!-- Feature 2 -->
<div class="bg-white p-8 rounded-xl shadow-sm text-center">
<div class="bg-purple-100 w-16 h-16 rounded-full flex items-center justify-center mx-auto mb-6">
<i class="fas fa-bell text-purple-600 text-2xl"></i>
</div>
<h3 class="text-xl font-bold text-gray-800 mb-3">Lembretes</h3>
<p class="text-gray-600">Receba notificações sobre datas importantes, treinos recomendados e novidades sobre seus eventos.</p>
</div>
<!-- Feature 3 -->
<div class="bg-white p-8 rounded-xl shadow-sm text-center">
<div class="bg-purple-100 w-16 h-16 rounded-full flex items-center justify-center mx-auto mb-6">
<i class="fas fa-chart-line text-purple-600 text-2xl"></i>
</div>
<h3 class="text-xl font-bold text-gray-800 mb-3">Estatísticas</h3>
<p class="text-gray-600">Acompanhe seu progresso, compare seus tempos e veja sua evolução em todos os eventos que participou.</p>
</div>
</div>
<div class="mt-16 bg-white rounded-xl shadow-sm overflow-hidden">
<div class="flex flex-col md:flex-row">
<div class="md:w-1/2 p-8 md:p-12">
<h3 class="text-2xl font-bold text-gray-800 mb-4">Painel Personalizado</h3>
<p class="text-gray-600 mb-6">Após fazer login, você pode personalizar completamente seu painel para acompanhar exatamente o que é importante para você.</p>
<div class="space-y-4">
<div class="flex items-start">
<div class="flex-shrink-0 mt-1">
<div class="bg-purple-100 w-8 h-8 rounded-full flex items-center justify-center">
<i class="fas fa-check text-purple-600 text-sm"></i>
</div>
</div>
<div class="ml-3">
<p class="text-gray-800 font-medium">Seleção de eventos favoritos</p>
<p class="text-gray-600 text-sm">Adicione e organize os eventos que vai participar</p>
</div>
</div>
<div class="flex items-start">
<div class="flex-shrink-0 mt-1">
<div class="bg-purple-100 w-8 h-8 rounded-full flex items-center justify-center">
<i class="fas fa-check text-purple-600 text-sm"></i>
</div>
</div>
<div class="ml-3">
<p class="text-gray-800 font-medium">Configuração de notificações</p>
<p class="text-gray-600 text-sm">Escolha quais alertas deseja receber</p>
</div>
</div>
<div class="flex items-start">
<div class="flex-shrink-0 mt-1">
<div class="bg-purple-100 w-8 h-8 rounded-full flex items-center justify-center">
<i class="fas fa-check text-purple-600 text-sm"></i>
</div>
</div>
<div class="ml-3">
<p class="text-gray-800 font-medium">Integração com wearables</p>
<p class="text-gray-600 text-sm">Conecte seu relógio ou aplicativo de corrida</p>
</div>
</div>
</div>
</div>
<div class="md:w-1/2 bg-gray-100 flex items-center justify-center p-8">
<div class="relative w-full max-w-md">
<img src="https://images.unsplash.com/photo-1551632811-561732d1e306?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80"
alt="Painel de usuário"
class="rounded-lg shadow-lg w-full">
<div class="absolute -bottom-6 -left-6 bg-white p-4 rounded-lg shadow-lg">
<div class="flex items-center">
<div class="bg-purple-600 text-white p-2 rounded-full mr-3">
<i class="fas fa-trophy"></i>
</div>
<div>
<p class="text-sm font-bold">Conquista</p>
<p class="text-xs">5 eventos completados</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Testimonials Section -->
<section id="testimonials" class="py-16 bg-white">
<div class="container mx-auto px-4">
<div class="text-center mb-12">
<h2 class="text-3xl font-bold text-gray-800 mb-4">O que os corredores dizem</h2>
<p class="text-gray-600 max-w-2xl mx-auto">Veja como o RunTrack está ajudando corredores a se organizarem melhor</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
<!-- Testimonial 1 -->
<div class="bg-gray-50 p-8 rounded-xl">
<div class="flex items-center mb-4">
<div class="text-yellow-400 mr-2">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
</div>
</div>
<p class="text-gray-700 mb-6">"O RunTrack mudou completamente como eu me organizo para as corridas. Nunca mais perdi uma data importante e consigo acompanhar tudo em um só lugar."</p>
<div class="flex items-center">
<img src="https://randomuser.me/api/portraits/women/44.jpg"
alt="Ana Santos"
class="w-12 h-12 rounded-full mr-4 object-cover">
<div>
<p class="font-bold text-gray-800">Ana Santos</p>
<p class="text-sm text-gray-600">Maratonista, 12 eventos</p>
</div>
</div>
</div>
<!-- Testimonial 2 -->
<div class="bg-gray-50 p-8 rounded-xl">
<div class="flex items-center mb-4">
<div class="text-yellow-400 mr-2">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
</div>
</div>
<p class="text-gray-700 mb-6">"Adoro poder personalizar meu painel com exatamente o que preciso. As notificações me ajudam a não perder nenhum treino importante antes dos eventos."</p>
<div class="flex items-center">
<img src="https://randomuser.me/api/portraits/men/32.jpg"
alt="Carlos Oliveira"
class="w-12 h-12 rounded-full mr-4 object-cover">
<div>
<p class="font-bold text-gray-800">Carlos Oliveira</p>
<p class="text-sm text-gray-600">Corredor amador, 5 eventos</p>
</div>
</div>
</div>
<!-- Testimonial 3 -->
<div class="bg-gray-50 p-8 rounded-xl">
<div class="flex items-center mb-4">
<div class="text-yellow-400 mr-2">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star-half-alt"></i>
</div>
</div>
<p class="text-gray-700 mb-6">"Como organizador de eventos, recomendo o RunTrack para todos os participantes. Facilita muito a comunicação e o acompanhamento."</p>
<div class="flex items-center">
<img src="https://randomuser.me/api/portraits/women/68.jpg"
alt="Mariana Costa"
class="w-12 h-12 rounded-full mr-4 object-cover">
<div>
<p class="font-bold text-gray-800">Mariana Costa</p>
<p class="text-sm text-gray-600">Organizadora de eventos</p>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- CTA Section -->
<section class="gradient-bg text-white py-16">
<div class="container mx-auto px-4 text-center">
<h2 class="text-3xl md:text-4xl font-bold mb-6">Pronto para transformar sua experiência com corridas?</h2>
<p class="text-xl text-purple-100 mb-8 max-w-2xl mx-auto">Cadastre-se gratuitamente e comece a acompanhar seus eventos favoritos hoje mesmo.</p>
<div class="flex flex-col sm:flex-row justify-center space-y-4 sm:space-y-0 sm:space-x-4">
<button id="ctaSignupBtn" class="bg-white text-purple-700 px-8 py-4 rounded-full font-bold hover:bg-purple-100 transition flex items-center justify-center mx-auto sm:mx-0">
<i class="fas fa-user-plus mr-3"></i> Criar Minha Conta
</button>
<button class="border-2 border-white text-white px-8 py-4 rounded-full font-bold hover:bg-white hover:text-purple-700 transition flex items-center justify-center mx-auto sm:mx-0">
<i class="fas fa-question-circle mr-3"></i> Saber Mais
</button>
</div>
</div>
</section>
<!-- Contact Section -->
<section id="contact" class="py-16 bg-white">
<div class="container mx-auto px-4">
<div class="text-center mb-12">
<h2 class="text-3xl font-bold text-gray-800 mb-4">Entre em Contato</h2>
<p class="text-gray-600 max-w-2xl mx-auto">Tem dúvidas ou sugestões? Envie-nos uma mensagem!</p>
</div>
<div class="max-w-4xl mx-auto bg-gray-50 rounded-xl shadow-sm overflow-hidden">
<div class="md:flex">
<div class="md:w-1/2 bg-gradient-to-br from-purple-600 to-blue-500 p-8 text-white">
<h3 class="text-xl font-bold mb-6">Informações de Contato</h3>
<div class="space-y-6">
<div class="flex items-start">
<div class="bg-white bg-opacity-20 p-3 rounded-full mr-4">
<i class="fas fa-map-marker-alt"></i>
</div>
<div>
<h4 class="font-bold">Endereço</h4>
<p>Av. Paulista, 1000<br>São Paulo, SP</p>
</div>
</div>
<div class="flex items-start">
<div class="bg-white bg-opacity-20 p-3 rounded-full mr-4">
<i class="fas fa-phone-alt"></i>
</div>
<div>
<h4 class="font-bold">Telefone</h4>
<p>(11) 1234-5678</p>
</div>
</div>
<div class="flex items-start">
<div class="bg-white bg-opacity-20 p-3 rounded-full mr-4">
<i class="fas fa-envelope"></i>
</div>
<div>
<h4 class="font-bold">Email</h4>
<p>contato@runtrack.com</p>
</div>
</div>
<div class="flex items-start">
<div class="bg-white bg-opacity-20 p-3 rounded-full mr-4">
<i class="fas fa-clock"></i>
</div>
<div>
<h4 class="font-bold">Horário</h4>
<p>Seg-Sex: 9h às 18h<br>Sáb: 9h às 12h</p>
</div>
</div>
</div>
</div>
<div class="md:w-1/2 p-8">
<form id="contactForm" class="space-y-6">
<div>
<label for="name" class="block text-sm font-medium text-gray-700 mb-1">Nome</label>
<input type="text" id="name" name="name" required
class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-600 focus:border-transparent">
</div>
<div>
<label for="email" class="block text-sm font-medium text-gray-700 mb-1">Email</label>
<input type="email" id="email" name="email" required
class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-600 focus:border-transparent">
</div>
<div>
<label for="subject" class="block text-sm font-medium text-gray-700 mb-1">Assunto</label>
<input type="text" id="subject" name="subject" required
class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-600 focus:border-transparent">
</div>
<div>
<label for="message" class="block text-sm font-medium text-gray-700 mb-1">Mensagem</label>
<textarea id="message" name="message" rows="4" required
class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-600 focus:border-transparent"></textarea>
</div>
<button type="submit" class="w-full bg-purple-600 text-white py-3 px-4 rounded-lg font-bold hover:bg-purple-700 transition">
<i class="fas fa-paper-plane mr-2"></i> Enviar Mensagem
</button>
</form>
</div>
</div>
</div>
</div>
</section>
<!-- Footer -->
<footer class="bg-gray-900 text-white py-12">
<div class="container mx-auto px-4">
<div class="grid grid-cols-1 md:grid-cols-4 gap-8">
<div>
<div class="flex items-center space-x-2 mb-4">
<i class="fas fa-running text-2xl text-purple-500"></i>
<h3 class="text-xl font-bold">RunTrack</h3>
</div>
<p class="text-gray-400 mb-4">Sua plataforma completa para acompanhamento de eventos de corrida.</p>
<div class="flex space-x-4">
<a href="#" class="text-gray-400 hover:text-white transition">
<i class="fab fa-facebook-f"></i>
</a>
<a href="#" class="text-gray-400 hover:text-white transition">
<i class="fab fa-twitter"></i>
</a>
<a href="#" class="text-gray-400 hover:text-white transition">
<i class="fab fa-instagram"></i>
</a>
<a href="#" class="text-gray-400 hover:text-white transition">
<i class="fab fa-linkedin-in"></i>
</a>
</div>
</div>
<div>
<h4 class="text-lg font-bold mb-4">Links Rápidos</h4>
<ul class="space-y-2">
<li><a href="#" class="text-gray-400 hover:text-white transition">Sobre Nós</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition">Eventos</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition">Recursos</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition">Preços</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition">FAQ</a></li>
</ul>
</div>
<div>
<h4 class="text-lg font-bold mb-4">Eventos</h4>
<ul class="space-y-2">
<li><a href="#" class="text-gray-400 hover:text-white transition">Maratonas</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition">Meias Maratonas</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition">Corridas de Rua</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition">Trail Running</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition">Corridas Virtuais</a></li>
</ul>
</div>
<div>
<h4 class="text-lg font-bold mb-4">Contato</h4>
<ul class="space-y-3">
<li class="flex items-start">
<i class="fas fa-map-marker-alt text-purple-500 mt-1 mr-3"></i>
<span class="text-gray-400">Av. Paulista, 1000<br>São Paulo, SP</span>
</li>
<li class="flex items-center">
<i class="fas fa-phone-alt text-purple-500 mr-3"></i>
<span class="text-gray-400">(11) 1234-5678</span>
</li>
<li class="flex items-center">
<i class="fas fa-envelope text-purple-500 mr-3"></i>
<span class="text-gray-400">contato@runtrack.com</span>
</li>
</ul>
</div>
</div>
<div class="border-t border-gray-800 mt-12 pt-8 flex flex-col md:flex-row justify-between items-center">
<p class="text-gray-400 text-sm mb-4 md:mb-0">© 2023 RunTrack. Todos os direitos reservados.</p>
<div class="flex space-x-6">
<a href="#" class="text-gray-400 hover:text-white text-sm transition">Termos de Serviço</a>
<a href="#" class="text-gray-400 hover:text-white text-sm transition">Política de Privacidade</a>
<a href="#" class="text-gray-400 hover:text-white text-sm transition">Cookies</a>
</div>
</div>
</div>
</footer>
<!-- Event Details Modal -->
<div id="eventDetailsModal" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 opacity-0 pointer-events-none transition-opacity duration-300">
<div class="bg-white rounded-xl shadow-2xl w-full max-w-4xl max-h-[90vh] overflow-y-auto transform transition-all duration-300 scale-95">
<div class="p-6">
<div class="flex justify-between items-center mb-6">
<h3 class="text-2xl font-bold text-gray-800" id="eventDetailsTitle">Detalhes do Evento</h3>
<button id="closeEventDetailsModal" class="text-gray-500 hover:text-gray-700">
<i class="fas fa-times"></i>
</button>
</div>
<div class="flex flex-col lg:flex-row gap-8">
<div class="lg:w-1/2">
<img id="eventDetailsImage" src="" alt="Event image" class="w-full h-64 lg:h-96 object-cover rounded-lg">
<div class="mt-6 bg-gray-50 p-4 rounded-lg">
<h4 class="font-bold text-lg mb-3">Informações</h4>
<div class="grid grid-cols-2 gap-4">
<div>
<p class="text-sm text-gray-500">Data</p>
<p class="font-medium" id="eventDetailsDate"></p>
</div>
<div>
<p class="text-sm text-gray-500">Local</p>
<p class="font-medium" id="eventDetailsLocation"></p>
</div>
<div>
<p class="text-sm text-gray-500">Distâncias</p>
<p class="font-medium" id="eventDetailsDistances"></p>
</div>
<div>
<p class="text-sm text-gray-500">Tipo</p>
<p class="font-medium" id="eventDetailsType"></p>
</div>
</div>
</div>
</div>
<div class="lg:w-1/2">
<div class="mb-6">
<h4 class="font-bold text-lg mb-3">Sobre o Evento</h4>
<p class="text-gray-600" id="eventDetailsDescription"></p>
</div>
<div class="mb-6">
<h4 class="font-bold text-lg mb-3">Programação</h4>
<ul class="space-y-3" id="eventDetailsSchedule">
<!-- Will be populated by JS -->
</ul>
</div>
<div class="bg-purple-50 p-4 rounded-lg">
<h4 class="font-bold text-lg mb-3">Inscrição</h4>
<p class="text-gray-600 mb-4">Garanta sua vaga neste evento incrível!</p>
<div class="flex flex-col sm:flex-row gap-3">
<button class="bg-purple-600 text-white px-6 py-3 rounded-lg font-bold hover:bg-purple-700 transition flex-1" onclick="subscribeToEvent()">
<i class="fas fa-ticket-alt mr-2"></i> Inscrever-se
</button>
<button id="favoriteBtn" class="border border-purple-600 text-purple-600 px-6 py-3 rounded-lg font-bold hover:bg-purple-50 transition flex-1" onclick="toggleFavorite()">
<i id="favoriteIcon" class="far fa-heart mr-2"></i> <span id="favoriteText">Favoritar</span>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Login Modal -->
<div id="loginModal" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 opacity-0 pointer-events-none transition-opacity duration-300 login-modal">
<div class="bg-white rounded-xl shadow-2xl w-full max-w-md transform transition-all duration-300 scale-95">
<div class="p-6">
<div class="flex justify-between items-center mb-6">
<h3 class="text-2xl font-bold text-gray-800">Acesse sua conta</h3>
<button id="closeLoginModal" class="text-gray-500 hover:text-gray-700">
<i class="fas fa-times"></i>
</button>
</div>
<form id="loginForm" class="space-y-6">
<div>
<label for="email" class="block text-sm font-medium text-gray-700 mb-1">E-mail</label>
<input type="email" id="email" name="email" required
class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-600 focus:border-transparent">
</div>
<div>
<div class="flex justify-between items-center mb-1">
<label for="password" class="block text-sm font-medium text-gray-700">Senha</label>
<a href="#" class="text-sm text-purple-600 hover:text-purple-800">Esqueceu a senha?</a>
</div>
<input type="password" id="password" name="password" required
class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-600 focus:border-transparent">
</div>
<div class="flex items-center">
<input type="checkbox" id="remember" name="remember"
class="h-4 w-4 text-purple-600 focus:ring-purple-500 border-gray-300 rounded custom-checkbox">
<label for="remember" class="ml-2 block text-sm text-gray-700">Lembrar de mim</label>
</div>
<button type="submit" class="w-full bg-purple-600 text-white py-3 px-4 rounded-lg font-bold hover:bg-purple-700 transition flex items-center justify-center">
<i class="fas fa-sign-in-alt mr-2"></i> Entrar
</button>
</form>
<div class="mt-6 text-center">
<p class="text-gray-600">Não tem uma conta? <button id="switchToSignup" class="text-purple-600 font-medium hover:text-purple-800">Cadastre-se</button></p>
</div>
<div class="mt-6">
<div class="relative">
<div class="absolute inset-0 flex items-center">
<div class="w-full border-t border-gray-300"></div>
</div>
<div class="relative flex justify-center text-sm">
<span class="px-2 bg-white text-gray-500">Ou entre com</span>
</div>
</div>
<div class="mt-6 grid grid-cols-2 gap-3">
<button type="button" class="w-full inline-flex justify-center py-2 px-4 border border-gray-300 rounded-md shadow-sm bg-white text-sm font-medium text-gray-700 hover:bg-gray-50">
<i class="fab fa-google text-red-500 mr-2"></i> Google
</button>
<button type="button" class="w-full inline-flex justify-center py-2 px-4 border border-gray-300 rounded-md shadow-sm bg-white text-sm font-medium text-gray-700 hover:bg-gray-50">
<i class="fab fa-facebook-f text-blue-600 mr-2"></i> Facebook
</button>
</div>
</div>
</div>
</div>
</div>
<!-- Signup Modal -->
<div id="signupModal" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 opacity-0 pointer-events-none transition-opacity duration-300 login-modal">
<div class="bg-white rounded-xl shadow-2xl w-full max-w-md transform transition-all duration-300 scale-95">
<div class="p-6">
<div class="flex justify-between items-center mb-6">
<h3 class="text-2xl font-bold text-gray-800">Crie sua conta</h3>
<button id="closeSignupModal" class="text-gray-500 hover:text-gray-700">
<i class="fas fa-times"></i>
</button>
</div>
<form id="signupForm" class="space-y-6">
<div>
<label for="signupName" class="block text-sm font-medium text-gray-700 mb-1">Nome Completo</label>
<input type="text" id="signupName" name="name" required
class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-600 focus:border-transparent">
</div>
<div>
<label for="signupEmail" class="block text-sm font-medium text-gray-700 mb-1">E-mail</label>
<input type="email" id="signupEmail" name="email" required
class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-600 focus:border-transparent">
</div>
<div>
<label for="signupPassword" class="block text-sm font-medium text-gray-700 mb-1">Senha</label>
<input type="password" id="signupPassword" name="password" required
class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-600 focus:border-transparent">
<p class="mt-1 text-xs text-gray-500">Mínimo de 8 caracteres com letras e números</p>
</div>
<div>
<label for="signupConfirmPassword" class="block text-sm font-medium text-gray-700 mb-1">Confirme a Senha</label>
<input type="password" id="signupConfirmPassword" name="confirmPassword" required
class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-600 focus:border-transparent">
</div>
<div class="flex items-start">
<div class="flex items-center h-5">
<input type="checkbox" id="terms" name="terms" required
class="h-4 w-4 text-purple-600 focus:ring-purple-500 border-gray-300 rounded custom-checkbox">
</div>
<div class="ml-3 text-sm">
<label for="terms" class="font-medium text-gray-700">Eu concordo com os <a href="#" class="text-purple-600 hover:text-purple-800">Termos de Serviço</a> e <a href="#" class="text-purple-600 hover:text-purple-800">Política de Privacidade</a></label>
</div>
</div>
<button type="submit" class="w-full bg-purple-600 text-white py-3 px-4 rounded-lg font-bold hover:bg-purple-700 transition flex items-center justify-center">
<i class="fas fa-user-plus mr-2"></i> Criar Conta
</button>
</form>
<div class="mt-6 text-center">
<p class="text-gray-600">Já tem uma conta? <button id="switchToLogin" class="text-purple-600 font-medium hover:text-purple-800">Faça login</button></p>
</div>
<div class="mt-6">
<div class="relative">
<div class="absolute inset-0 flex items-center">
<div class="w-full border-t border-gray-300"></div>
</div>
<div class="relative flex justify-center text-sm">
<span class="px-2 bg-white text-gray-500">Ou cadastre-se com</span>
</div>
</div>
<div class="mt-6 grid grid-cols-2 gap-3">
<button type="button" class="w-full inline-flex justify-center py-2 px-4 border border-gray-300 rounded-md shadow-sm bg-white text-sm font-medium text-gray-700 hover:bg-gray-50">
<i class="fab fa-google text-red-500 mr-2"></i> Google
</button>
<button type="button" class="w-full inline-flex justify-center py-2 px-4 border border-gray-300 rounded-md shadow-sm bg-white text-sm font-medium text-gray-700 hover:bg-gray-50">
<i class="fab fa-facebook-f text-blue-600 mr-2"></i> Facebook
</button>
</div>
</div>
</div>
</div>
</div>
<!-- User Dashboard Modal (shown after login) -->
<div id="userDashboard" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 opacity-0 pointer-events-none transition-opacity duration-300 login-modal">
<div class="bg-white rounded-xl shadow-2xl w-full max-w-4xl transform transition-all duration-300 scale-95">
<div class="p-6">
<div class="flex justify-between items-center mb-6">
<h3 class="text-2xl font-bold text-gray-800">Meu Painel de Eventos</h3>
<button id="closeDashboard" class="text-gray-500 hover:text-gray-700">
<i class="fas fa-times"></i>
</button>
</div>
<div class="flex flex-col md:flex-row gap-6">
<!-- User Profile -->
<div class="md:w-1/3 bg-gray-50 p-6 rounded-lg">
<div class="flex flex-col items-center mb-6">
<img src="https://randomuser.me/api/portraits/men/46.jpg"
alt="User profile"
class="w-24 h-24 rounded-full mb-4 object-cover border-4 border-purple-200">
<h4 class="text-xl font-bold text-gray-800">João Silva</h4>
<p class="text-gray-600">Corredor desde 2018</p>
</div>
<div class="space-y-4">
<div class="bg-white p-4 rounded-lg shadow-sm">
<h5 class="font-bold text-gray-700 mb-2 flex items-center">
<i class="fas fa-trophy text-purple-600 mr-2"></i> Estatísticas
</h5>
<div class="grid grid-cols-2 gap-2 text-sm">
<div>
<p class="text-gray-500">Eventos</p>
<p class="font-bold">5</p>
</div>
<div>
<p class="text-gray-500">KM totais</p>
<p class="font-bold">78.5</p>
</div>
<div>
<p class="text-gray-500">Melhor tempo</p>
<p class="font-bold">1:52:34</p>
</div>
<div>
<p class="text-gray-500">Nível</p>
<p class="font-bold">Intermediário</p>
</div>
</div>
</div>
<div class="bg-white p-4 rounded-lg shadow-sm">
<h5 class="font-bold text-gray-700 mb-2 flex items-center">
<i class="fas fa-cog text-purple-600 mr-2"></i> Configurações
</h5>
<div class="space-y-3 text-sm">
<div class="flex items-center justify-between">
<span>Notificações</span>
<label class="relative inline-flex items-center cursor-pointer">
<input type="checkbox" value="" class="sr-only peer" checked>
<div class="w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-purple-300 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-purple-600"></div>
</label>
</div>
<div class="flex items-center justify-between">
<span>Modo Escuro</span>
<label class="relative inline-flex items-center cursor-pointer">
<input type="checkbox" value="" class="sr-only peer">
<div class="w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-purple-300 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-purple-600"></div>
</label>
</div>
<button class="w-full text-purple-600 hover:text-purple-800 text-left mt-2">
<i class="fas fa-sign-out-alt mr-2"></i> Sair
</button>
</div>
</div>
</div>
</div>
<!-- Events Section -->
<div class="md:w-2/3">
<div class="flex justify-between items-center mb-6">
<h4 class="text-lg font-bold text-gray-800">Meus Eventos</h4>
<button class="text-purple-600 hover:text-purple-800 font-medium flex items-center">
<i class="fas fa-plus mr-2"></i> Adicionar Evento
</button>
</div>
<!-- Upcoming Events -->
<div class="mb-8">
<h5 class="font-bold text-gray-700 mb-4 flex items-center">
<i class="fas fa-calendar-alt text-purple-600 mr-2"></i> Próximos Eventos
</h5>
<div class="space-y-4">
<!-- Event 1 -->
<div class="bg-white border border-gray-200 rounded-lg p-4 hover:shadow-md transition">
<div class="flex flex-col sm:flex-row sm:items-center sm:justify-between">
<div class="mb-3 sm:mb-0">
<h6 class="font-bold text-gray-800">Maratona de São Paulo</h6>
<div class="flex items-center text-sm text-gray-600 mt-1">
<i class="fas fa-calendar-day mr-2 text-purple-600"></i>
<span>25 Nov 2023</span>
<i class="fas fa-map-marker-alt ml-4 mr-2 text-purple-600"></i>
<span>São Paulo, SP</span>
</div>
</div>
<div class="flex space-x-2">
<button class="bg-purple-100 text-purple-700 px-3 py-1 rounded-full text-sm hover:bg-purple-200 transition">
<i class="fas fa-bell mr-1"></i> Lembretes
</button>
<button class="bg-gray-100 text-gray-700 px-3 py-1 rounded-full text-sm hover:bg-gray-200 transition">
<i class="fas fa-ellipsis-h"></i>
</button>
</div>
</div>
<div class="mt-3 pt-3 border-t border-gray-100 flex justify-between items-center">
<div class="flex items-center">
<div class="w-2 h-2 bg-green-500 rounded-full mr-2"></div>
<span class="text-sm text-gray-600">Treino em andamento</span>
</div>
<div class="text-sm">
<span class="text-gray-600">Faltam</span>
<span class="font-bold ml-1">12 dias</span>
</div>
</div>
</div>
<!-- Event 2 -->
<div class="bg-white border border-gray-200 rounded-lg p-4 hover:shadow-md transition">
<div class="flex flex-col sm:flex-row sm:items-center sm:justify-between">
<div class="mb-3 sm:mb-0">
<h6 class="font-bold text-gray-800">Corrida da Meia Noite</h6>
<div class="flex items-center text-sm text-gray-600 mt-1">
<i class="fas fa-calendar-day mr-2 text-purple-600"></i>
<span>31 Dez 2023</span>
<i class="fas fa-map-marker-alt ml-4 mr-2 text-purple-600"></i>
<span>Rio de Janeiro, RJ</span>
</div>
</div>
<div class="flex space-x-2">
<button class="bg-purple-100 text-purple-700 px-3 py-1 rounded-full text-sm hover:bg-purple-200 transition">
<i class="fas fa-bell mr-1"></i> Lembretes
</button>
<button class="bg-gray-100 text-gray-700 px-3 py-1 rounded-full text-sm hover:bg-gray-200 transition">
<i class="fas fa-ellipsis-h"></i>
</button>
</div>
</div>
<div class="mt-3 pt-3 border-t border-gray-100 flex justify-between items-center">
<div class="flex items-center">
<div class="w-2 h-2 bg-yellow-500 rounded-full mr-2"></div>
<span class="text-sm text-gray-600">Inscrição confirmada</span>
</div>
<div class="text-sm">
<span class="text-gray-600">Faltam</span>
<span class="font-bold ml-1">48 dias</span>
</div>
</div>
</div>
</div>
</div>
<!-- Past Events -->
<div>
<h5 class="font-bold text-gray-700 mb-4 flex items-center">
<i class="fas fa-history text-purple-600 mr-2"></i> Eventos Anteriores
</h5>
<div class="space-y-4">
<!-- Past Event 1 -->
<div class="bg-white border border-gray-200 rounded-lg p-4 hover:shadow-md transition">
<div class="flex flex-col sm:flex-row sm:items-center sm:justify-between">
<div class="mb-3 sm:mb-0">
<h6 class="font-bold text-gray-800">Meia Maratona do Rio</h6>
<div class="flex items-center text-sm text-gray-600 mt-1">
<i class="fas fa-calendar-day mr-2 text-purple-600"></i>
<span>15 Ago 2023</span>
<i class="fas fa-map-marker-alt ml-4 mr-2 text-purple-600"></i>
<span>Rio de Janeiro, RJ</span>
</div>
</div>
<div class="flex space-x-2">
<button class="bg-purple-100 text-purple-700 px-3 py-1 rounded-full text-sm hover:bg-purple-200 transition">
<i class="fas fa-medal mr-1"></i> 2:05:34
</button>
<button class="bg-gray-100 text-gray-700 px-3 py-1 rounded-full text-sm hover:bg-gray-200 transition">
<i class="fas fa-ellipsis-h"></i>
</button>
</div>
</div>
<div class="mt-3 pt-3 border-t border-gray-100">
<div class="flex items-center">
<div class="w-2 h-2 bg-purple-500 rounded-full mr-2"></div>
<span class="text-sm text-gray-600">Concluído - 21º na categoria</span>
</div>
</div>
</div>
<!-- Past Event 2 -->
<div class="bg-white border border-gray-200 rounded-lg p-4 hover:shadow-md transition">
<div class="flex flex-col sm:flex-row sm:items-center sm:justify-between">
<div class="mb-3 sm:mb-0">
<h6 class="font-bold text-gray-800">Corrida das Pontes</h6>
<div class="flex items-center text-sm text-gray-600 mt-1">
<i class="fas fa-calendar-day mr-2 text-purple-600"></i>
<span>12 Jun 2023</span>
<i class="fas fa-map-marker-alt ml-4 mr-2 text-purple-600"></i>
<span>Florianópolis, SC</span>
</div>
</div>
<div class="flex space-x-2">
<button class="bg-purple-100 text-purple-700 px-3 py-1 rounded-full text-sm hover:bg-purple-200 transition">
<i class="fas fa-medal mr-1"></i> 1:52:34
</button>
<button class="bg-gray-100 text-gray-700 px-3 py-1 rounded-full text-sm hover:bg-gray-200 transition">
<i class="fas fa-ellipsis-h"></i>
</button>
</div>
</div>
<div class="mt-3 pt-3 border-t border-gray-100">
<div class="flex items-center">
<div class="w-2 h-2 bg-purple-500 rounded-full mr-2"></div>
<span class="text-sm text-gray-600">Concluído - 15º na categoria</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
// Smooth scroll to contact section
function scrollToContact() {
const contactSection = document.getElementById('contact');
contactSection.scrollIntoView({ behavior: 'smooth' });
}
// Mobile Menu Toggle
const mobileMenuBtn = document.getElementById('mobileMenuBtn');
const mobileMenu = document.getElementById('mobileMenu');
mobileMenuBtn.addEventListener('click', () => {
mobileMenu.classList.toggle('hidden');
});
// Login Modal
const loginBtn = document.getElementById('loginBtn');
const loginModal = document.getElementById('loginModal');
const closeLoginModal = document.getElementById('closeLoginModal');
loginBtn.addEventListener('click', () => {
loginModal.classList.remove('opacity-0', 'pointer-events-none');
document.querySelector('#loginModal > div').classList.remove('scale-95');
});
closeLoginModal.addEventListener('click', () => {
loginModal.classList.add('opacity-0', 'pointer-events-none');
document.querySelector('#loginModal > div').classList.add('scale-95');
});
// Signup Modal
const signupBtn = document.getElementById('signupBtn');
const ctaSignupBtn = document.getElementById('ctaSignupBtn');
const signupModal = document.getElementById('signupModal');
const closeSignupModal = document.getElementById('closeSignupModal');
signupBtn.addEventListener('click', () => {
signupModal.classList.remove('opacity-0', 'pointer-events-none');
document.querySelector('#signupModal > div').classList.remove('scale-95');
loginModal.classList.add('opacity-0', 'pointer-events-none');
document.querySelector('#loginModal > div').classList.add('scale-95');
});
ctaSignupBtn.addEventListener('click', () => {
signupModal.classList.remove('opacity-0', 'pointer-events-none');
document.querySelector('#signupModal > div').classList.remove('scale-95');
});
closeSignupModal.addEventListener('click', () => {
signupModal.classList.add('opacity-0', 'pointer-events-none');
document.querySelector('#signupModal > div').classList.add('scale-95');
});
// Switch between Login and Signup
const switchToSignup = document.getElementById('switchToSignup');
const switchToLogin = document.getElementById('switchToLogin');
switchToSignup.addEventListener('click', () => {
loginModal.classList.add('opacity-0', 'pointer-events-none');
document.querySelector('#loginModal > div').classList.add('scale-95');
signupModal.classList.remove('opacity-0', 'pointer-events-none');
document.querySelector('#signupModal > div').classList.remove('scale-95');
});
switchToLogin.addEventListener('click', () => {
signupModal.classList.add('opacity-0', 'pointer-events-none');
document.querySelector('#signupModal > div').classList.add('scale-95');
loginModal.classList.remove('opacity-0', 'pointer-events-none');
document.querySelector('#loginModal > div').classList.remove('scale-95');
});
// User Dashboard (after login)
const loginForm = document.getElementById('loginForm');
const userDashboard = document.getElementById('userDashboard');
const closeDashboard = document.getElementById('closeDashboard');
loginForm.addEventListener('submit', (e) => {
e.preventDefault();
loginModal.classList.add('opacity-0', 'pointer-events-none');
document.querySelector('#loginModal > div').classList.add('scale-95');
userDashboard.classList.remove('opacity-0', 'pointer-events-none');
document.querySelector('#userDashboard > div').classList.remove('scale-95');
});
closeDashboard.addEventListener('click', () => {
userDashboard.classList.add('opacity-0', 'pointer-events-none');
document.querySelector('#userDashboard > div').classList.add('scale-95');
});
// Signup Form Submission
const signupForm = document.getElementById('signupForm');
signupForm.addEventListener('submit', (e) => {
e.preventDefault();
signupModal.classList.add('opacity-0', 'pointer-events-none');
document.querySelector('#signupModal > div').classList.add('scale-95');
userDashboard.classList.remove('opacity-0', 'pointer-events-none');
document.querySelector('#userDashboard > div').classList.remove('scale-95');
});
// Event Details Modal
const eventDetailsModal = document.getElementById('eventDetailsModal');
const closeEventDetailsModal = document.getElementById('closeEventDetailsModal');
function showEventDetails(title, image, date, location, distances, type, description, schedule) {
document.getElementById('eventDetailsTitle').textContent = title;
document.getElementById('eventDetailsImage').src = image;
document.getElementById('eventDetailsDate').textContent = date;
document.getElementById('eventDetailsLocation').textContent = location;
document.getElementById('eventDetailsDistances').textContent = distances;
document.getElementById('eventDetailsType').textContent = type;
document.getElementById('eventDetailsDescription').textContent = description;
const scheduleList = document.getElementById('eventDetailsSchedule');
scheduleList.innerHTML = '';
schedule.forEach(item => {
const li = document.createElement('li');
li.className = 'flex items-start';
li.innerHTML = `
<div class="bg-purple-100 w-6 h-6 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
<i class="fas fa-circle text-purple-600 text-xs"></i>
</div>
<span>${item}</span>
`;
scheduleList.appendChild(li);
});
eventDetailsModal.classList.remove('opacity-0', 'pointer-events-none');
document.querySelector('#eventDetailsModal > div').classList.remove('scale-95');
}
closeEventDetailsModal.addEventListener('click', () => {
eventDetailsModal.classList.add('opacity-0', 'pointer-events-none');
document.querySelector('#eventDetailsModal > div').classList.add('scale-95');
});
// Simple countdown timer (for demo purposes)
function updateCountdown() {
const countdownElements = document.querySelectorAll('#countdown > div');
const daysElement = countdownElements[0].querySelector('span:first-child');
const hoursElement = countdownElements[1].querySelector('span:first-child');
const minutesElement = countdownElements[2].querySelector('span:first-child');
// This is just for demo - in a real app you would calculate the actual time remaining
let days = parseInt(daysElement.textContent);
let hours = parseInt(hoursElement.textContent);
let minutes = parseInt(minutesElement.textContent);
minutes--;
if (minutes < 0) {
minutes = 59;
hours--;
if (hours < 0) {
hours = 23;
days--;
}
}
daysElement.textContent = days.toString().padStart(2, '0');
hoursElement.textContent = hours.toString().padStart(2, '0');
minutesElement.textContent = minutes.toString().padStart(2, '0');
}
setInterval(updateCountdown, 60000); // Update every minute
// Favorite functionality
let isFavorited = false;
function toggleFavorite() {
isFavorited = !isFavorited;
const icon = document.getElementById('favoriteIcon');
const text = document.getElementById('favoriteText');
const btn = document.getElementById('favoriteBtn');
if (isFavorited) {
icon.classList.remove('far');
icon.classList.add('fas');
text.textContent = 'Favoritado';
btn.classList.add('bg-purple-100', 'border-purple-700');
btn.classList.remove('hover:bg-purple-50');
// Show confirmation
const eventTitle = document.getElementById('eventDetailsTitle').textContent;
alert(`"${eventTitle}" foi adicionado aos seus favoritos!`);
} else {
icon.classList.remove('fas');
icon.classList.add('far');
text.textContent = 'Favoritar';
btn.classList.remove('bg-purple-100', 'border-purple-700');
btn.classList.add('hover:bg-purple-50');
}
}
// Contact Form Submission
const contactForm = document.getElementById('contactForm');
contactForm.addEventListener('submit', (e) => {
e.preventDefault();
// Get form values
const name = document.getElementById('name').value;
const email = document.getElementById('email').value;
const subject = document.getElementById('subject').value;
const message = document.getElementById('message').value;
// In a real app, you would send this data to your backend here
console.log('Contact form submitted:', { name, email, subject, message });
// Show success message
alert(`Obrigado, ${name}! Sua mensagem foi enviada com sucesso. Entraremos em contato em breve.`);
// Reset form
contactForm.reset();
});
// Subscription function
function subscribeToEvent() {
const eventTitle = document.getElementById('eventDetailsTitle').textContent;
// Show confirmation modal
const modal = document.createElement('div');
modal.className = 'fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50';
modal.innerHTML = `
<div class="bg-white rounded-xl shadow-2xl p-6 w-full max-w-md">
<div class="flex justify-between items-center mb-4">
<h3 class="text-xl font-bold">Inscrição Confirmada</h3>
<button onclick="this.parentElement.parentElement.parentElement.remove()" class="text-gray-500 hover:text-gray-700">
<i class="fas fa-times"></i>
</button>
</div>
<p class="mb-6">Sua inscrição para <strong>${eventTitle}</strong> foi confirmada com sucesso!</p>
<div class="flex justify-end">
<button onclick="this.parentElement.parentElement.parentElement.remove()"
class="bg-purple-600 text-white px-4 py-2 rounded-lg hover:bg-purple-700 transition">
OK
</button>
</div>
</div>
`;
document.body.appendChild(modal);
// In a real app, you would send this to your backend API here
console.log(`User subscribed to: ${eventTitle}`);
}
</script>
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=mdarlen/runtrack" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>