clipscompass-navigator / register.html
Modzeroo's picture
make all the pages that are in nav bar and make it dynamic
97645ee verified
<!DOCTYPE html>
<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>