Spaces:
Sleeping
Sleeping
File size: 4,643 Bytes
0db9c87 15ce0cf 0db9c87 15ce0cf 0db9c87 15ce0cf 0db9c87 15ce0cf 0db9c87 15ce0cf 0db9c87 15ce0cf 0db9c87 15ce0cf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 |
<!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>
<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>
<div id="otp-section">
<input type="text" id="phone-number" placeholder="Enter your mobile number">
<button onclick="sendOTP()">Send OTP</button>
<input type="text" id="otp-input" placeholder="Enter OTP">
<button onclick="verifyOTP()">Verify OTP</button>
</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> |