mirror of
https://github.com/mCaptcha/mCaptcha.git
synced 2026-02-11 10:05:41 +00:00
184 lines
3.9 KiB
HTML
184 lines
3.9 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Login | mCaptcha</title>
|
|
</head>
|
|
<body>
|
|
<img src="/img/icon-trans.png" class="form__logo" alt="" />
|
|
<h2 class="form__brand">Sign in to mCaptcha</h2>
|
|
|
|
<div class="form-container">
|
|
<form class="form__box">
|
|
<label class="form__in-group" for="username"
|
|
>Username
|
|
<input
|
|
class="form__in-field"
|
|
type="text"
|
|
name="username"
|
|
id="username"
|
|
required
|
|
/>
|
|
</label>
|
|
|
|
<label for="password" class="form__in-group"
|
|
>Password
|
|
<input
|
|
class="form__in-field"
|
|
type="password"
|
|
name="password"
|
|
id="password"
|
|
required
|
|
/>
|
|
<!--
|
|
<a class="form__pw-recovery" -href="/recovert/password"
|
|
>Forgot password?</a
|
|
>
|
|
-->
|
|
</label>
|
|
<button class="form__submit-button" type="submit">
|
|
Submit
|
|
</button>
|
|
</form>
|
|
<div class="form__secondary-action">
|
|
<p class="form__secondary-action__banner">New to mCaptcha? <a href="/signup" class="form__secondary-action__link">Create account</a></p>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
<style>
|
|
* {
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
|
|
.form__logo {
|
|
width: 120px;
|
|
padding-top: 50px;
|
|
display: block;
|
|
margin: auto;
|
|
}
|
|
|
|
.form__brand {
|
|
padding: 10px 0;
|
|
text-align: center;
|
|
}
|
|
|
|
|
|
.form-container {
|
|
max-width: 40%;
|
|
min-width: 20%;
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -49.9%);
|
|
box-sizing: border-box;
|
|
margin: auto;
|
|
padding: 20px 0;
|
|
}
|
|
|
|
.form__box {
|
|
border: 1px solid #eaecef;
|
|
background-color: #f6f8fa;
|
|
border-radius: 5px;
|
|
padding: 20px 0;
|
|
}
|
|
|
|
.form__in-group {
|
|
display: block;
|
|
position: relative;
|
|
margin: auto;
|
|
max-width: 80%;
|
|
padding: 10px 0px;
|
|
|
|
box-sizing: content-box;
|
|
|
|
align-items: center;
|
|
align-content: center;
|
|
}
|
|
|
|
.form__in-field {
|
|
display: block;
|
|
box-sizing: border-box;
|
|
margin: 10px 0;
|
|
padding: 10px 0;
|
|
width: 100%;
|
|
}
|
|
|
|
.form__pw-recovery {
|
|
text-decoration: none;
|
|
color: rgb(3, 102, 214);
|
|
font-size: 0.8rem;
|
|
}
|
|
|
|
.form__submit-button {
|
|
display: block;
|
|
border: 1px solid skyblue;
|
|
background: #2ea44f;
|
|
color: white;
|
|
height: 40px;
|
|
border-radius: 5px;
|
|
width: 80%;
|
|
margin: auto;
|
|
}
|
|
|
|
|
|
.form__secondary-action {
|
|
display: block;
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.form__secondary-action__banner {
|
|
display: block;
|
|
margin: auto;
|
|
max-width: 80%;
|
|
text-align: center;
|
|
}
|
|
|
|
.form__secondary-action__link{
|
|
text-decoration: none;
|
|
color: rgb(3, 102, 214);
|
|
}
|
|
|
|
</style>
|
|
<script>
|
|
export const SUBMIT = '/';
|
|
|
|
export const isBlankString = (event, value, field) => {
|
|
if (!value.replace(/\s/g, '').length) {
|
|
event.preventDefautl()
|
|
alert(`${field} can't be empty`);
|
|
}
|
|
};
|
|
|
|
export const genJsonPayload = payload => {
|
|
let value = {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
},
|
|
body: JSON.stringify(payload),
|
|
};
|
|
return value;
|
|
};
|
|
|
|
const submit = async e => {
|
|
let name = document.getElementById('name').value;
|
|
isBlankString(e, name, 'Name');
|
|
|
|
let registration_number = document.getElementById('email').value;
|
|
isBlankString(e, registration_number, 'Registration number');
|
|
|
|
let email = document.getElementById('email').value;
|
|
isBlankString(e, email, 'email');
|
|
|
|
console.log(`from signup: PoW: ${pow}`);
|
|
|
|
};
|
|
|
|
let form = document.getElementById('form');
|
|
|
|
form.addEventListener('submit', submit, true);
|
|
</script>
|
|
</html>
|