| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>Signup</title> |
| <style> |
| body { |
| font-family: Arial, sans-serif; |
| background: linear-gradient(to right, #6a11cb, #2575fc); |
| margin: 0; |
| display: flex; |
| justify-content: center; |
| align-items: center; |
| height: 100vh; |
| color: #fff; |
| } |
| .form-container { |
| background: #ffffff; |
| padding: 20px 30px; |
| border-radius: 10px; |
| width: 100%; |
| max-width: 400px; |
| text-align: center; |
| box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); |
| color: #333; |
| } |
| .form-container h2 { |
| margin-bottom: 20px; |
| color: #333; |
| } |
| .form-container label { |
| display: block; |
| text-align: left; |
| margin: 10px 0 5px; |
| } |
| .form-container input { |
| width: 100%; |
| padding: 10px; |
| margin-bottom: 15px; |
| border: 1px solid #ccc; |
| border-radius: 5px; |
| } |
| .form-container button { |
| width: 100%; |
| padding: 10px; |
| background-color: #6a11cb; |
| color: #fff; |
| border: none; |
| border-radius: 5px; |
| font-size: 16px; |
| cursor: pointer; |
| } |
| .form-container button:hover { |
| background-color: #2575fc; |
| } |
| .form-container p { |
| margin-top: 10px; |
| } |
| .form-container a { |
| color: #6a11cb; |
| text-decoration: none; |
| } |
| .form-container a:hover { |
| text-decoration: underline; |
| } |
| .error-message { |
| color: red; |
| margin-top: 10px; |
| } |
| </style> |
| </head> |
| <body> |
| <div class="form-container"> |
| <h2>Signup</h2> |
| <form action="/signup" method="POST"> |
| <label for="name">Name:</label> |
| <input type="text" id="name" name="name" placeholder="Enter your name" required> |
| |
| <label for="phone">Phone:</label> |
| <input type="text" id="phone" name="phone" placeholder="Enter your phone number" required> |
| |
| <label for="email">Email:</label> |
| <input type="email" id="email" name="email" placeholder="Enter your email" required> |
| |
| <label for="password">Password:</label> |
| <input type="password" id="password" name="password" placeholder="Enter your password" required> |
| <label for="referral">Referral Code:</label> |
| <input type="text" id="referral" name="referral" placeholder="Enter referral code (optional)"> |
| |
| <button type="submit">Sign Up</button> |
| </form> |
| <p>Already have an account? <a href="/login">Login</a></p> |
| {% if error %} |
| <p class="error-message">{{ error }}</p> |
| {% endif %} |
| </div> |
| |
| <script> |
| function sendOTP() { |
| const phone = document.getElementById('phone-number').value; |
| fetch('/send_otp', { |
| method: 'POST', |
| headers: { 'Content-Type': 'application/json' }, |
| body: JSON.stringify({ phone }) |
| }) |
| .then(response => response.json()) |
| .then(data => { |
| if (data.success) { |
| alert(data.message); |
| } else { |
| alert('Error sending OTP: ' + (data.error || 'Unknown error')); |
| } |
| }) |
| .catch(error => console.error('Error:', error)); |
| } |
| |
| function verifyOTP() { |
| const phone = document.getElementById('phone').value; |
| const otp = document.getElementById('otp').value; |
| |
| fetch('/verify_otp', { |
| method: 'POST', |
| headers: { 'Content-Type': 'application/json' }, |
| body: JSON.stringify({ phone, otp }) |
| }) |
| .then(response => response.json()) |
| .then(data => { |
| if (data.success) { |
| alert(data.message); |
| } else { |
| alert(data.error); |
| } |
| }) |
| .catch(error => console.error('Error:', error)); |
| } |
| </script> |
| |
| </body> |
| </html> |