register.html
·
47 lines
·
2.3 KB
| 1 | {{define "content"}} |
| 2 | <div class="container" style="max-width:23rem;padding-top:2rem;"> |
| 3 | <div class="card"> |
| 4 | <div class="card-header"> |
| 5 | <h1 class="text-base font-semibold" style="margin:0;">{{t .Lang "auth.register.title"}}</h1> |
| 6 | </div> |
| 7 | {{if not .RegistrationOpen}} |
| 8 | <div class="card-body text-sm text-muted"> |
| 9 | <div class="flex items-center gap-2 text-destructive"> |
| 10 | {{icon "lock" "size-4"}} |
| 11 | <span>{{t .Lang "auth.register.disabled"}}</span> |
| 12 | </div> |
| 13 | </div> |
| 14 | {{else}} |
| 15 | <form method="post" action="/register" class="card-body flex flex-col gap-3"> |
| 16 | <input type="hidden" name="_csrf" value="{{.CSRFToken}}"> |
| 17 | {{if eq .RegistrationMode "confirm"}} |
| 18 | <div class="card p-2.5 text-xs text-muted" style="background:hsl(var(--muted) / 0.35);"> |
| 19 | {{t .Lang "auth.register.pending_notice"}} |
| 20 | </div> |
| 21 | {{end}} |
| 22 | <div> |
| 23 | <label class="label" for="username">{{t .Lang "auth.username"}}</label> |
| 24 | <input id="username" name="username" type="text" class="input font-mono" value="{{.FormUsername}}" placeholder="polar" required autofocus pattern="^[a-zA-Z0-9](?:[a-zA-Z0-9]|[-_][a-zA-Z0-9]){1,31}$"> |
| 25 | <div class="field-hint">{{t .Lang "auth.username_hint"}}</div> |
| 26 | </div> |
| 27 | <div> |
| 28 | <label class="label" for="email">{{t .Lang "auth.email"}}</label> |
| 29 | <input id="email" name="email" type="email" class="input" value="{{.FormEmail}}" placeholder="user@example.com" required autocomplete="email"> |
| 30 | </div> |
| 31 | <div> |
| 32 | <label class="label" for="password">{{t .Lang "auth.password"}}</label> |
| 33 | <input id="password" name="password" type="password" class="input" minlength="8" required autocomplete="new-password"> |
| 34 | <div class="field-hint">{{t .Lang "auth.password_hint"}}</div> |
| 35 | </div> |
| 36 | <button type="submit" class="btn btn-primary w-full mt-1"> |
| 37 | <span>{{t .Lang "auth.submit_register"}}</span> |
| 38 | </button> |
| 39 | </form> |
| 40 | {{end}} |
| 41 | <div class="card-footer text-xs text-muted flex items-center justify-between"> |
| 42 | <span>{{t .Lang "auth.have_account"}}</span> |
| 43 | <a href="/login" class="font-medium" style="color:hsl(var(--foreground));">{{t .Lang "nav.login"}} →</a> |
| 44 | </div> |
| 45 | </div> |
| 46 | </div> |
| 47 | {{end}} |