Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Register - ClipsCompass</title> | |
| <link rel="icon" type="image/x-icon" href="/static/favicon.ico"> | |
| <script src="https://cdn.tailwindcss.com"></script> | |
| <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script> | |
| <script> | |
| tailwind.config = { | |
| theme: { | |
| extend: { | |
| colors: { | |
| primary: '#3B82F6', | |
| secondary: '#1E40AF', | |
| accent: '#10B981' | |
| } | |
| } | |
| } | |
| } | |
| </script> | |
| </head> | |
| <body class="bg-gray-50 min-h-screen flex items-center justify-center"> | |
| <div class="max-w-md w-full space-y-8"> | |
| <div> | |
| <div class="flex justify-center"> | |
| <i data-feather="compass" class="h-12 w-12 text-primary"></i> | |
| </div> | |
| <h2 class="mt-6 text-center text-3xl font-extrabold text-gray-900"> | |
| Create your account | |
| </h2> | |
| <p class="mt-2 text-center text-sm text-gray-600"> | |
| Or | |
| <a href="/login" class="font-medium text-primary hover:text-secondary"> | |
| sign in to existing account | |
| </a> | |
| </p> | |
| </div> | |
| <form class="mt-8 space-y-6" action="/api/register" method="POST"> | |
| <div class="rounded-md shadow-sm space-y-4"> | |
| <div> | |
| <label for="fullName" class="sr-only">Full Name</label> | |
| <input id="fullName" name="fullName" type="text" autocomplete="name" required | |
| class="appearance-none rounded-md relative block w-full px-3 py-2 border border-gray-300 placeholder-gray-500 text-gray-900 focus:outline-none focus:ring-primary focus:border-primary focus:z-10 sm:text-sm" | |
| placeholder="Full Name"> | |
| </div> | |
| <div> | |
| <label for="email" class="sr-only">Email address</label> | |
| <input id="email" name="email" type="email" autocomplete="email" required | |
| class="appearance-none rounded-md relative block w-full px-3 py-2 border border-gray-300 placeholder-gray-500 text-gray-900 focus:outline-none focus:ring-primary focus:border-primary focus:z-10 sm:text-sm" | |
| placeholder="Email address"> | |
| </div> | |
| <div> | |
| <label for="role" class="sr-only">Role</label> | |
| <select id="role" name="role" required | |
| class="appearance-none rounded-md relative block w-full px-3 py-2 border border-gray-300 placeholder-gray-500 text-gray-900 focus:outline-none focus:ring-primary focus:border-primary focus:z-10 sm:text-sm"> | |
| <option value="">Select Role</option> | |
| <option value="member">Member</option> | |
| <option value="leader">Team Leader</option> | |
| </select> | |
| </div> | |
| <div> | |
| <label for="password" class="sr-only">Password</label> | |
| <input id="password" name="password" type="password" autocomplete="new-password" required | |
| class="appearance-none rounded-md relative block w-full px-3 py-2 border border-gray-300 placeholder-gray-500 text-gray-900 focus:outline-none focus:ring-primary focus:border-primary focus:z-10 sm:text-sm" | |
| placeholder="Password"> | |
| </div> | |
| <div> | |
| <label for="confirmPassword" class="sr-only">Confirm Password</label> | |
| <input id="confirmPassword" name="confirmPassword" type="password" autocomplete="new-password" required | |
| class="appearance-none rounded-md relative block w-full px-3 py-2 border border-gray-300 placeholder-gray-500 text-gray-900 focus:outline-none focus:ring-primary focus:border-primary focus:z-10 sm:text-sm" | |
| placeholder="Confirm Password"> | |
| </div> | |
| </div> | |
| <div class="flex items-center"> | |
| <input id="agree-terms" name="agree-terms" type="checkbox" required | |
| class="h-4 w-4 text-primary focus:ring-primary border-gray-300 rounded"> | |
| <label for="agree-terms" class="ml-2 block text-sm text-gray-900"> | |
| I agree to the | |
| <a href="#" class="font-medium text-primary hover:text-secondary">terms and conditions</a> | |
| </label> | |
| </div> | |
| <div> | |
| <button type="submit" | |
| class="group relative w-full flex justify-center py-2 px-4 border border-transparent text-sm font-medium rounded-md text-white bg-primary hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary"> | |
| Create Account | |
| </button> | |
| </div> | |
| </form> | |
| </div> | |
| <script> | |
| document.addEventListener('DOMContentLoaded', function() { | |
| feather.replace(); | |
| // Handle registration form submission | |
| const registerForm = document.querySelector('form'); | |
| if (registerForm) { | |
| registerForm.addEventListener('submit', function(e) { | |
| e.preventDefault(); | |
| // Simulate successful registration | |
| localStorage.setItem('isLoggedIn', 'true'); | |
| localStorage.setItem('userData', JSON.stringify({ | |
| fullName: document.getElementById('fullName').value, | |
| email: document.getElementById('email').value, | |
| role: document.getElementById('role').value | |
| })); | |
| window.location.href = '/dashboard'; | |
| }); | |
| } | |
| }); | |
| </script> | |
| </body> | |
| </html> |