a mini social media app for small communities
1@include 'partial/header.html'
2
3<script src="/static/js/password.js"></script>
4
5<h1>register</h1>
6
7<div>
8 @if ctx.form_error != ''
9 <p>error: @ctx.form_error</p>
10 @end
11
12 @if ctx.is_logged_in()
13 <p>you are already logged in as @{user.get_name()}!</p>
14 <a href="/api/user/logout">log out</a>
15 @else
16 <form action="/api/user/register" method="post" beep-redirect="/me">
17 <label for="username">username:</label>
18 <input
19 type="text"
20 name="username"
21 id="username"
22 pattern="@app.config.user.username_pattern"
23 minlength="@app.config.user.username_min_len"
24 maxlength="@app.config.user.username_max_len"
25 required
26 >
27 <br>
28 <label for="password">password: <a href="#" id="view-password" style="display: inline;">view</a></label>
29 <input
30 type="password"
31 name="password"
32 id="password"
33 pattern="@app.config.user.password_pattern"
34 minlength="@app.config.user.password_min_len"
35 maxlength="@app.config.user.password_max_len"
36 required
37 >
38 <br>
39 <label for="confirm-password">confirm password: <a href="#" id="view-confirm-password" style="display: inline;">view</a></label>
40 <input
41 type="password"
42 name="confirm-password"
43 id="confirm-password"
44 pattern="@app.config.user.password_pattern"
45 minlength="@app.config.user.password_min_len"
46 maxlength="@app.config.user.password_max_len"
47 required
48 >
49 <br>
50 <p>passwords match: <span id="passwords-match">yes</span></p>
51 <br>
52 @if app.config.instance.invite_only
53 <label for="invite-code">invite code:</label>
54 <input type="text" name="invite-code" id="invite-code" required>
55 <br>
56 @end
57 @if app.config.hcaptcha.enabled
58 <div class="h-captcha" data-sitekey="@{app.config.hcaptcha.site_key}"></div>
59 <script src="https://js.hcaptcha.com/1/api.js" async defer></script>
60 <br>
61 @end
62 <input type="submit" value="register">
63 </form>
64 @end
65</div>
66
67<script>
68 add_password_checkers('password', 'confirm-password', 'passwords-match');
69</script>
70
71@include 'partial/footer.html'