Spaces:
Running
Running
| <html lang="en" class="dark"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Login | CondoControl Pro</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 src="https://unpkg.com/feather-icons"></script> | |
| <script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.globe.min.js"></script> | |
| <script> | |
| tailwind.config = { | |
| darkMode: 'class', | |
| theme: { | |
| extend: { | |
| colors: { | |
| primary: { | |
| 500: '#d946ef', | |
| 600: '#c026d3', | |
| } | |
| } | |
| } | |
| } | |
| } | |
| </script> | |
| <style> | |
| @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); | |
| body { | |
| font-family: 'Inter', sans-serif; | |
| @apply bg-gray-900 text-gray-100; | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div id="vanta-bg" class="fixed inset-0 -z-10"></div> | |
| <div class="min-h-screen flex items-center justify-center px-4"> | |
| <div class="w-full max-w-md bg-gray-800/80 backdrop-blur-md rounded-xl shadow-xl overflow-hidden border border-gray-700"> | |
| <div class="p-8"> | |
| <div class="text-center mb-8"> | |
| <div class="flex justify-center"> | |
| <i data-feather="home" class="text-primary-500 h-10 w-10"></i> | |
| </div> | |
| <h2 class="mt-4 text-2xl font-bold text-white">Welcome back</h2> | |
| <p class="mt-2 text-sm text-gray-400">Login to your CondoControl dashboard</p> | |
| </div> | |
| <form class="space-y-6"> | |
| <div> | |
| <label for="email" class="block text-sm font-medium text-gray-300 mb-1">Email</label> | |
| <div class="relative"> | |
| <div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none"> | |
| <i data-feather="mail" class="h-5 w-5 text-gray-500"></i> | |
| </div> | |
| <input id="email" name="email" type="email" autocomplete="email" required | |
| class="bg-gray-700 text-white w-full pl-10 pr-3 py-3 rounded-lg border border-gray-600 focus:border-primary-500 focus:ring-1 focus:ring-primary-500 focus:outline-none transition"> | |
| </div> | |
| </div> | |
| <div> | |
| <label for="password" class="block text-sm font-medium text-gray-300 mb-1">Password</label> | |
| <div class="relative"> | |
| <div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none"> | |
| <i data-feather="lock" class="h-5 w-5 text-gray-500"></i> | |
| </div> | |
| <input id="password" name="password" type="password" autocomplete="current-password" required | |
| class="bg-gray-700 text-white w-full pl-10 pr-3 py-3 rounded-lg border border-gray-600 focus:border-primary-500 focus:ring-1 focus:ring-primary-500 focus:outline-none transition"> | |
| </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-600 rounded bg-gray-700"> | |
| <label for="remember-me" class="ml-2 block text-sm text-gray-300">Remember me</label> | |
| </div> | |
| <div class="text-sm"> | |
| <a href="#" class="font-medium text-primary-500 hover:text-primary-400">Forgot password?</a> | |
| </div> | |
| </div> | |
| <div> | |
| <button type="submit" class="w-full flex justify-center py-3 px-4 border border-transparent rounded-lg shadow-sm text-sm font-medium text-white bg-primary-500 hover:bg-primary-600 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary-500 transition"> | |
| 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-600"></div> | |
| </div> | |
| <div class="relative flex justify-center text-sm"> | |
| <span class="px-2 bg-gray-800 text-gray-400">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-600 rounded-lg shadow-sm bg-gray-700 text-sm font-medium text-gray-300 hover:bg-gray-600 transition"> | |
| <i data-feather="github" class="h-5 w-5"></i> | |
| </a> | |
| </div> | |
| <div> | |
| <a href="#" class="w-full inline-flex justify-center py-2 px-4 border border-gray-600 rounded-lg shadow-sm bg-gray-700 text-sm font-medium text-gray-300 hover:bg-gray-600 transition"> | |
| <i data-feather="google" class="h-5 w-5"></i> | |
| </a> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="px-8 py-4 bg-gray-900/50 text-center"> | |
| <p class="text-sm text-gray-400"> | |
| Don't have an account? | |
| <a href="#" class="font-medium text-primary-500 hover:text-primary-400">Sign up</a> | |
| </p> | |
| </div> | |
| </div> | |
| </div> | |
| <script> | |
| // Initialize Vanta.js background | |
| VANTA.GLOBE({ | |
| el: "#vanta-bg", | |
| mouseControls: true, | |
| touchControls: true, | |
| gyroControls: false, | |
| minHeight: 200.00, | |
| minWidth: 200.00, | |
| scale: 1.00, | |
| scaleMobile: 1.00, | |
| color: 0xd946ef, | |
| backgroundColor: 0x111827, | |
| size: 0.7 | |
| }); | |
| // Initialize feather icons | |
| feather.replace(); | |
| </script> | |
| </body> | |
| </html> | |