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
{% extends "layout.html" %}
{% block title %}sign up — kitgit{% endblock %}
{% block content %}
<section class="kg-section kg-auth">
{% if !signups_enabled %}
<div class="kg-flash kg-flash--banner">
{% if invite.is_empty() %}
{{ signup_disabled_message }}
{% else %}
Invite-only signup — your invite code unlocks registration.
{% endif %}
</div>
{% endif %}
<p class="kg-landing__brand">
<span class="kg-mark__glyph" aria-hidden="true">狐</span>
<span class="kg-mark__name">kitgit</span>
</p>
<h1 class="kg-title">sign up</h1>
{% if let Some(err) = error %}
<div class="kg-flash">{{ err }}</div>
{% endif %}
<form class="kg-form" method="post" action="/auth/signup" autocomplete="on">
{% if !signups_enabled %}
<label>
invite code
<input type="text" name="invite" required value="{{ invite }}" autocomplete="off" spellcheck="false" placeholder="Enter invite code" />
</label>
{% endif %}
<label>
username
<input type="text" name="username" required autofocus autocomplete="username" pattern="[A-Za-z0-9._\-]+" minlength="2" />
</label>
<label>
display name
<input type="text" name="display_name" autocomplete="name" />
</label>
<label>
email
<input type="email" name="email" required autocomplete="email" />
</label>
<label>
password
<input type="password" name="password" required minlength="8" autocomplete="new-password" />
</label>
<div class="kg-actions">
<button class="kg-btn" type="submit">create account</button>
</div>
</form>
<p class="kg-meta" style="margin-top:1.25rem">
Already have an account? <a href="/auth/login">Log in</a>
</p>
</section>
{% endblock %}