Spaces:
Sleeping
Sleeping
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>MysteryBox - Login</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"> | |
| <script> | |
| tailwind.config = { | |
| theme: { | |
| extend: { | |
| animation: { | |
| 'float': 'float 6s ease-in-out infinite', | |
| 'pulse-slow': 'pulse 4s cubic-bezier(0.4, 0, 0.6, 1) infinite', | |
| }, | |
| keyframes: { | |
| float: { | |
| '0%, 100%': { transform: 'translateY(0)' }, | |
| '50%': { transform: 'translateY(-10px)' }, | |
| } | |
| } | |
| } | |
| } | |
| } | |
| </script> | |
| <style> | |
| @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap'); | |
| body { | |
| font-family: 'Poppins', sans-serif; | |
| } | |
| .mystery-bg { | |
| background: linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%); | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .mystery-bg::before { | |
| content: ""; | |
| position: absolute; | |
| width: 200%; | |
| height: 200%; | |
| top: -50%; | |
| left: -50%; | |
| z-index: 0; | |
| background: radial-gradient(circle, rgba(255,255,255,0.1) 10%, transparent 10.5%); | |
| background-size: 20px 20px; | |
| transform: rotate(30deg); | |
| animation: pulse-slow 8s infinite; | |
| } | |
| .confetti { | |
| position: absolute; | |
| width: 10px; | |
| height: 10px; | |
| background-color: rgba(255, 255, 255, 0.5); | |
| opacity: 0; | |
| } | |
| .btn-glow:hover { | |
| box-shadow: 0 0 15px rgba(139, 92, 246, 0.6); | |
| } | |
| .input-focus:focus { | |
| box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.3); | |
| } | |
| </style> | |
| </head> | |
| <body class="bg-gray-100"> | |
| <div class="min-h-screen flex"> | |
| <!-- Left Section (Banner / Design / Info) --> | |
| <div class="hidden lg:flex w-1/2 mystery-bg text-white flex-col justify-center items-center p-12 relative"> | |
| <div class="relative z-10 text-center"> | |
| <div class="absolute -top-16 left-1/2 transform -translate-x-1/2"> | |
| <div class="w-32 h-32 bg-white bg-opacity-20 rounded-full flex items-center justify-center"> | |
| <i class="fas fa-gift text-6xl text-white animate-float"></i> | |
| </div> | |
| </div> | |
| <h1 class="text-5xl font-bold mb-6 mt-8">Welcome Back <span class="text-yellow-300">🎁</span></h1> | |
| <p class="text-xl mb-8 max-w-md mx-auto leading-relaxed">Log in and unlock your MysteryBox surprises! Exclusive deals and rewards await.</p> | |
| <div class="bg-white bg-opacity-10 p-6 rounded-2xl backdrop-blur-sm border border-white border-opacity-20"> | |
| <h3 class="text-xl font-semibold mb-3">Why join us?</h3> | |
| <ul class="space-y-2 text-left"> | |
| <li class="flex items-center"><i class="fas fa-check-circle text-emerald-300 mr-2"></i> Exclusive mystery deals</li> | |
| <li class="flex items-center"><i class="fas fa-check-circle text-emerald-300 mr-2"></i> Personalized recommendations</li> | |
| <li class="flex items-center"><i class="fas fa-check-circle text-emerald-300 mr-2"></i> Early access to new boxes</li> | |
| </ul> | |
| </div> | |
| </div> | |
| <!-- Animated confetti --> | |
| <div class="confetti" style="top: 20%; left: 30%; animation: fall 8s linear infinite 1s;"></div> | |
| <div class="confetti" style="top: 10%; left: 60%; animation: fall 10s linear infinite 2s;"></div> | |
| <div class="confetti" style="top: 15%; left: 80%; animation: fall 9s linear infinite 0.5s;"></div> | |
| </div> | |
| <!-- Right Section (Login Form) --> | |
| <div class="w-full lg:w-1/2 flex flex-col justify-center items-center bg-white"> | |
| <div class="max-w-md w-full p-8 space-y-6"> | |
| <div class="text-center"> | |
| <h2 class="text-4xl font-bold text-gray-900 bg-clip-text text-transparent bg-gradient-to-r from-purple-600 to-purple-400">Login</h2> | |
| <p class="text-gray-600 mt-2">Enter your credentials to continue your mystery journey</p> | |
| </div> | |
| <!-- Form --> | |
| <form method="POST" class="mt-8 space-y-6"> | |
| {% csrf_token %} | |
| <div class="relative"> | |
| <label class="block text-gray-700 font-medium mb-2">Email</label> | |
| <div class="relative"> | |
| <i class="fas fa-envelope absolute left-3 top-3 text-gray-400"></i> | |
| <input type="email" name="email" required class="w-full pl-10 pr-3 py-3 border border-gray-300 rounded-xl focus:outline-none input-focus focus:border-purple-500 transition duration-300" placeholder="Enter your email"> | |
| </div> | |
| </div> | |
| <div class="relative"> | |
| <label class="block text-gray-700 font-medium mb-2">Password</label> | |
| <div class="relative"> | |
| <i class="fas fa-lock absolute left-3 top-3 text-gray-400"></i> | |
| <input type="password" name="password" required class="w-full pl-10 pr-3 py-3 border border-gray-300 rounded-xl focus:outline-none input-focus focus:border-purple-500 transition duration-300" placeholder="Enter your password"> | |
| </div> | |
| </div> | |
| <div class="flex justify-between items-center text-sm"> | |
| <label class="flex items-center"> | |
| <input type="checkbox" class="form-checkbox h-4 w-4 text-purple-600 rounded focus:ring-purple-500"> | |
| <span class="ml-2 text-gray-700">Remember me</span> | |
| </label> | |
| <a href="/accounts/reset-password" class="text-purple-600 hover:text-purple-800 transition duration-300 font-medium">Forgot Password?</a> | |
| </div> | |
| <button type="submit" class="w-full py-3 px-4 bg-gradient-to-r from-purple-700 to-purple-500 hover:from-purple-600 hover:to-purple-400 text-white font-semibold rounded-xl shadow-md transition duration-300 btn-glow flex items-center justify-center"> | |
| <span>Login</span> | |
| <i class="fas fa-arrow-right ml-2"></i> | |
| </button> | |
| </form> | |
| <!-- Divider --> | |
| <div class="flex items-center my-6"> | |
| <div class="flex-grow border-t border-gray-300"></div> | |
| <span class="px-3 text-gray-500 text-sm">OR</span> | |
| <div class="flex-grow border-t border-gray-300"></div> | |
| </div> | |
| <!-- Social Login --> | |
| <div class="flex justify-center space-x-4"> | |
| <a href="#" class="px-4 py-2.5 bg-blue-600 text-white rounded-xl shadow hover:bg-blue-700 transition duration-300 flex items-center space-x-2"> | |
| <i class="fab fa-facebook-f"></i> | |
| <span>Facebook</span> | |
| </a> | |
| <a href="#" class="px-4 py-2.5 bg-red-500 text-white rounded-xl shadow hover:bg-red-600 transition duration-300 flex items-center space-x-2"> | |
| <i class="fab fa-google"></i> | |
| <span>Google</span> | |
| </a> | |
| </div> | |
| <!-- Signup Redirect --> | |
| <p class="text-center text-gray-600 pt-4"> | |
| Don't have an account? | |
| <a href="/Accounts/signup" class="text-purple-600 font-medium hover:text-purple-800 transition duration-300">Sign Up</a> | |
| </p> | |
| </div> | |
| </div> | |
| </div> | |
| <style> | |
| .confetti { | |
| position: absolute; | |
| width: 10px; | |
| height: 10px; | |
| background-color: rgba(255, 255, 255, 0.7); | |
| opacity: 0; | |
| } | |
| @keyframes fall { | |
| 0% { | |
| opacity: 1; | |
| transform: translateY(0) rotate(0deg); | |
| } | |
| 100% { | |
| opacity: 0; | |
| transform: translateY(100vh) rotate(360deg); | |
| } | |
| } | |
| </style> | |
| </body> | |
| </html> |