communitypulse-hub / login.html
vanrowin's picture
Create me a community website page that has menu for login to access the admin and users profile. admin profile can feed users monthly dues, community expenses, finance report on balance, donations while users profile will show profile and his monthly dues
f5c42d2 verified
Raw
History Blame Contribute Delete
6.99 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login | CommunityPulse Hub</title>
<link rel="stylesheet" href="style.css">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://unpkg.com/feather-icons"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script>
tailwind.config = {
theme: {
extend: {
colors: {
primary: {
500: '#6366f1',
600: '#4f46e5'
},
secondary: {
500: '#8b5cf6',
600: '#7c3aed'
}
}
}
}
}
</script>
</head>
<body class="bg-gray-50 min-h-screen flex flex-col">
<custom-navbar></custom-navbar>
<main class="flex-grow flex items-center justify-center py-12 px-4 sm:px-6 lg:px-8">
<div class="w-full max-w-md space-y-8">
<div class="text-center">
<i data-feather="users" class="mx-auto h-12 w-12 text-primary-500"></i>
<h2 class="mt-6 text-3xl font-extrabold text-gray-900">Sign in to your account</h2>
<p class="mt-2 text-sm text-gray-600">
Or <a href="/register.html" class="font-medium text-primary-500 hover:text-primary-600">register for an account</a>
</p>
</div>
<form class="mt-8 space-y-6" id="loginForm">
<div class="rounded-md shadow-sm space-y-4">
<div>
<label for="email" class="block text-sm font-medium text-gray-700 mb-1">Email address</label>
<input id="email" name="email" type="email" autocomplete="email" required
class="appearance-none relative block w-full px-3 py-3 border border-gray-300 placeholder-gray-500 text-gray-900 rounded-md focus:outline-none focus:ring-primary-500 focus:border-primary-500 focus:z-10 sm:text-sm"
placeholder="Email address">
</div>
<div>
<label for="password" class="block text-sm font-medium text-gray-700 mb-1">Password</label>
<input id="password" name="password" type="password" autocomplete="current-password" required
class="appearance-none relative block w-full px-3 py-3 border border-gray-300 placeholder-gray-500 text-gray-900 rounded-md focus:outline-none focus:ring-primary-500 focus:border-primary-500 focus:z-10 sm:text-sm"
placeholder="Password">
</div>
</div>
<div class="flex items-center justify-between">
<div class="flex items-center">
<input id="remember-me" name="remember-me" type="checkbox"
class="h-4 w-4 text-primary-500 focus:ring-primary-500 border-gray-300 rounded">
<label for="remember-me" class="ml-2 block text-sm text-gray-900">Remember me</label>
</div>
<div class="text-sm">
<a href="/forgot-password.html" class="font-medium text-primary-500 hover:text-primary-600">Forgot your password?</a>
</div>
</div>
<div>
<button type="submit" class="group relative w-full flex justify-center py-3 px-4 border border-transparent text-sm font-medium rounded-md text-white bg-primary-500 hover:bg-primary-600 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary-500 transition duration-300">
<span class="absolute left-0 inset-y-0 flex items-center pl-3">
<i data-feather="log-in" class="h-5 w-5 text-primary-200 group-hover:text-primary-100"></i>
</span>
Sign in
</button>
</div>
</form>
<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">Or continue with</span>
</div>
</div>
<div class="mt-6 grid grid-cols-2 gap-3">
<div>
<a href="#" 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-500 hover:bg-gray-50 transition duration-300">
<i data-feather="facebook" class="h-5 w-5 text-blue-600"></i>
</a>
</div>
<div>
<a href="#" 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-500 hover:bg-gray-50 transition duration-300">
<i data-feather="github" class="h-5 w-5 text-gray-800"></i>
</a>
</div>
</div>
</div>
</div>
</main>
<custom-footer></custom-footer>
<script src="components/navbar.js"></script>
<script src="components/footer.js"></script>
<script src="script.js"></script>
<script>
document.getElementById('loginForm').addEventListener('submit', function(e) {
e.preventDefault();
// In a real app, you would validate and send to server
const email = document.getElementById('email').value;
const password = document.getElementById('password').value;
// Simulate login - in production, this would be an API call
if (email && password) {
// Determine if this is admin or user
const isAdmin = email.includes('admin@');
localStorage.setItem('authToken', 'simulated-token');
localStorage.setItem('userRole', isAdmin ? 'admin' : 'user');
if (isAdmin) {
window.location.href = '/admin-dashboard.html';
} else {
window.location.href = '/user-dashboard.html';
}
} else {
alert('Please enter both email and password');
}
});
feather.replace();
</script>
</body>
</html>