56 lines
1.8 KiB
Smarty
56 lines
1.8 KiB
Smarty
|
<!DOCTYPE html>
|
||
|
<html>
|
||
|
<head>
|
||
|
<meta charset="utf-8">
|
||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
|
<meta name="robots" content="noindex, nofollow">
|
||
|
|
||
|
<title>{{ str['sign-up'] }}</title>
|
||
|
|
||
|
<link rel="stylesheet" href="{{ url('static', filename='style.css') }}">
|
||
|
</head>
|
||
|
|
||
|
<body>
|
||
|
<main>
|
||
|
<h1>{{ str['sign-up'] }}</h1>
|
||
|
|
||
|
<form name="signupForm" method="post">
|
||
|
|
||
|
<label for="username">{{ str['inv-code'] }}</label>
|
||
|
<input id="invite_code" name="invite_code" type="text" required autofocus>
|
||
|
|
||
|
<label for="username">{{ str['usrn'] }}</label>
|
||
|
<input id="username" name="username" type="text" required>
|
||
|
|
||
|
<label for="firstname">{{ str['fn'] }}</label>
|
||
|
<input id="firstname" name="firstname" type="text" class="not-required">
|
||
|
|
||
|
<label for="surname">{{ str['sn'] }}</label>
|
||
|
<input id="surname" name="surname" type="text" class="not-required">
|
||
|
|
||
|
<label for="email">{{ str['email'] }}</label>
|
||
|
<input id="email" name="email" type="email" required>
|
||
|
|
||
|
<label for="password">{{ str['pwd'] }}</label>
|
||
|
<input id="password" name="password" type="password" required>
|
||
|
|
||
|
<label for="confirm-password">{{ str['conf-pwd'] }}</label>
|
||
|
<input id="confirm-password" name="confirm-password" type="password"
|
||
|
pattern=".{8,}" oninvalid="SetCustomValidity('Password must be at least 8 characters long.')" required>
|
||
|
|
||
|
<button class="green" type="submit">{{ str['sign-up'] }}</button>
|
||
|
<a href="/">{{ str['or-sign-in'] }}</a>
|
||
|
|
||
|
</form>
|
||
|
|
||
|
%for type, text, animation in get('alerts', []):
|
||
|
<div class="alerts {{ animation }}">
|
||
|
<div class="alert {{ type }}">{{ text }}</div>
|
||
|
</div>
|
||
|
%end
|
||
|
|
||
|
</main>
|
||
|
</body>
|
||
|
</html>
|