129 lines
5.7 KiB
HTML
129 lines
5.7 KiB
HTML
{%- import 'util/helpers.html' as help -%}
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<script defer src="{{'js/bootstrap.js' | asset}}"></script>
|
|
|
|
<link rel="icon" type="image/webp" href="{{'icon.webp' | asset_siteimg}}">
|
|
|
|
<meta name="description" content="{{DESCRIPTION}}">
|
|
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline'; connect-src 'self'; object-src 'none';">
|
|
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
|
|
<meta name="author" content="">
|
|
<meta property="og:type" content="article">
|
|
<meta property="og:title" content="{{SITE_NAME}}">
|
|
<meta property="og:site_name" content="{{SITE}}">
|
|
<meta property="og:image" content="{{'site_preview.webp' | asset_siteimg}}">
|
|
<meta property="og:url" content="{{SITE_FULL}}">
|
|
<meta property="og:description" name="description" content="{{SITE_NAME}} - {{DESCRIPTION}}">
|
|
<meta property="og:author" name="author" content="{{SITE_FULL}}">
|
|
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
<meta name="twitter:site" content="{{SITE_FULL}}">
|
|
<meta name="twitter:title" content="{{SITE_NAME}}">
|
|
<meta name="twitter:creator" content="{{SITE_FULL}}">
|
|
<meta name="twitter:description" content="{{SITE_NAME}} - {{DESCRIPTION}}">
|
|
<meta name="twitter:image" content="{{'site_preview.webp' | asset_siteimg}}">
|
|
<meta name="twitter:url" content="{{SITE_FULL}}">
|
|
|
|
<title>{% if ref_user %}{{ref_user.username}} invites you to {{SITE_NAME}}{% else %}Sign up - {{SITE_NAME}}{% endif %}</title>
|
|
|
|
<style>:root{--primary:#{{DEFAULT_COLOR}}</style>
|
|
<link rel="stylesheet" href="{{'css/main-dev.css' | asset}}">
|
|
<link rel="stylesheet" href="{{('css/'~DEFAULT_THEME~'.css') | asset}}">
|
|
|
|
</head>
|
|
|
|
<body id="login">
|
|
<div id="register-form-container">
|
|
<div id="register-form">
|
|
<div class="form-header">
|
|
{% if ref_user %}
|
|
<h1 class="form-header-text">@{{ref_user.username}} has invited you!</h1>
|
|
<p class="form-header-text-alt">Looks like someone wants you to join {{SITE_NAME}}.</p>
|
|
{% else %}
|
|
<h1 class="form-header-text">Create your account.</h1>
|
|
<p class="form-header-text-alt">No email address required.</p>
|
|
{% endif %}
|
|
</div>
|
|
|
|
<form action="/signup" method="post" class="mt-md-3" id="signup">
|
|
|
|
{% if error %}<span class="text-danger">{{error}}</span><br>{% endif %}
|
|
|
|
<input type="hidden" name="formkey" value="{{formkey}}">
|
|
<input type="hidden" name="now" value="{{now}}">
|
|
|
|
{% if redirect %}<input type="hidden" name="redirect" value="{{redirect}}">{% endif %}
|
|
{% if ref_user %}
|
|
<input type="hidden" name="referred_by" value="{{ref_user.id}}">{% endif %}
|
|
|
|
<label for="username-register" class="form-group">
|
|
<span class="form-title">Username</span>
|
|
<input autocomplete="off" class="form-block" id="username-register"
|
|
aria-describedby="usernameHelpRegister" type="text" name="username" pattern="[a-zA-Z0-9_\-]{3,25}" min="3" max="25" required="">
|
|
<small id="usernameHelpRegister"></small>
|
|
</label>
|
|
|
|
<label for="email-register" class="form-group">
|
|
<span class="form-title">Email Address <small class="form-title-alt">(optional)</small></span>
|
|
|
|
<input autocomplete="off" class="form-block" id="email-register"
|
|
aria-describedby="emailHelpRegister" type="email" pattern='([A-Za-z0-9]+[.-_])*[A-Za-z0-9]+@[A-Za-z0-9-]+(\.[A-Z|a-z]{2,})+' name="email" readonly onfocus="if (this.hasAttribute('readonly')) {this.removeAttribute('readonly');this.blur();this.focus()}">
|
|
</label>
|
|
|
|
<label for="password-register" class="form-group">
|
|
<span class="form-title">Password</span>
|
|
|
|
<input autocomplete="off" class="form-block" id="password-register"
|
|
aria-describedby="passwordHelpReigster" type="password" name="password" required="">
|
|
<small id="passwordHelpRegister" class="form-text font-weight-bold text-muted d-none mt-1">Minimum of 8
|
|
characters
|
|
required.</small>
|
|
<small id="passwordHelpSuccess" class="form-text font-weight-bold text-success d-none mt-1">Your password meets the requirements.
|
|
</small>
|
|
</label>
|
|
|
|
<label for="password_confirm" class="form-group">
|
|
<span class="form-title">Confirm Password</span>
|
|
|
|
<input autocomplete="off" class="form-block" id="password_confirm"
|
|
aria-describedby="passwordConfirmHelp" type="password" name="password_confirm"
|
|
required="">
|
|
|
|
</label>
|
|
|
|
<label class="form-group terms" for="termsCheck">
|
|
<input autocomplete="off" type="checkbox" id="termsCheck" required>
|
|
I accept the <a href="/logged_out/sidebar">rules</a>
|
|
</label>
|
|
|
|
{% if hcaptcha %}
|
|
<div class="h-captcha" data-sitekey="{{hcaptcha}}"></div>
|
|
{% endif %}
|
|
|
|
<button class="btn btn-primary form-block" id="register_button">Register</button>
|
|
|
|
<div class="account-already-have">
|
|
Already have an account? <a href="/login{{'?redirect='+redirect if redirect else ''}}" class="font-weight-bold toggle-login">Log in</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="splash-wrapper">
|
|
<img alt="cover" loading="lazy" class="splash-img" src="{{'cover.webp' | asset_siteimg}}"></img>
|
|
</div>
|
|
<script defer src="/assets/js/signup.js?v=4000"></script>
|
|
|
|
{% if hcaptcha %}
|
|
<script defer src="/assets/js/hcaptcha.js?v=4000"></script>
|
|
{% endif %}
|
|
|
|
</body>
|
|
|
|
</html>
|