forked from rDrama/rDrama
139 lines
5.5 KiB
HTML
139 lines
5.5 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en" class="h-full">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
<meta name="description" content="Sign up in under 27 seconds.">
|
|
<meta name="author" content="">
|
|
<meta property="og:type" content="article" >
|
|
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" >
|
|
<meta property="og:site_name" content="{{request.host}}" >
|
|
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp?v=3" >
|
|
<meta property="og:url" content="{{request.host}}">
|
|
<meta property="og:description" name="description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}">
|
|
<meta property="og:author" name="author" content="{{request.host_url}}" >
|
|
<meta property="og:site_name" content="{{request.host}}" >
|
|
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
<meta name="twitter:site" content="{{request.host_url}}">
|
|
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" >
|
|
<meta name="twitter:creator" content="{{request.host_url}}">
|
|
<meta name="twitter:description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}" >
|
|
<meta name="twitter:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp?v=3" >
|
|
<meta name="twitter:url" content="{{request.host}}" >
|
|
|
|
<title>{% if ref_user %}{{ref_user.username}} invites you to {{'SITE_NAME' | app_config}}{% else %}Sign up - {{'SITE_NAME' | app_config}}{% endif %}</title>
|
|
|
|
<link rel="stylesheet" href="/assets/css/main.css?v=125">
|
|
|
|
{% assets 'css' %}
|
|
<link rel="stylesheet" href="{{ ASSET_URL }}">
|
|
{% endassets %}
|
|
|
|
<style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}</style>
|
|
</head>
|
|
|
|
<body class="h-full bg-gradient-to-t from-gray-500 to-gray-400">
|
|
|
|
<div class="min-h-full flex flex-col items-center justify-center py-12 px-4 sm:px-6 lg:px-8">
|
|
|
|
<div class="max-w-md w-full space-y-8">
|
|
|
|
<div class="mb-3">
|
|
<a href="/" class="text-decoration-none">
|
|
<span class="h3 text-primary">{{'SITE_NAME' | app_config}}</span>
|
|
</a>
|
|
</div>
|
|
|
|
{% if ref_user %}
|
|
<h1 class="h2">@{{ref_user.username}} has invited you!</h1>
|
|
<p class="text-muted mb-md-2">Looks like someone wants you to join {{'SITE_NAME' | app_config}}.</p>
|
|
{% else %}
|
|
<h1 class="h2">Create your account.</h1>
|
|
<p class="text-muted mb-md-2">No email address required.</p>
|
|
{% endif %}
|
|
|
|
<div class="max-w-2xl w-full space-y-8 px-6 py-5 bg-gray-200 rounded shadow-sm">
|
|
|
|
<form action="/signup" method="post" class="mt-8 space-y-4" 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 %}
|
|
|
|
<div>
|
|
<label for="username-register" class="label text-black">Username</label>
|
|
<input class="form-input" 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>
|
|
</div>
|
|
|
|
<div>
|
|
<label for="email-register" class="label text-black">
|
|
Email Address <span class="text-xs text-gray-500 font-normal pl-1">(optional)</span>
|
|
</label>
|
|
<input class="form-input" id="email-register" aria-describedby="emailHelpRegister" type="email" name="email">
|
|
</div>
|
|
|
|
<div>
|
|
<label for="password-register" class="label text-black">Password</label>
|
|
<input class="form-input" id="password-register"
|
|
aria-describedby="passwordHelpReigster" type="password" name="password" required="">
|
|
<small id="passwordHelpRegister" class="block mt-1 text-gray-500 hidden">
|
|
Minimum of 8 characters required.
|
|
</small>
|
|
<small id="passwordHelpSuccess" class="block mt-1 text-green-600 hidden">
|
|
Your password meets the requirements.
|
|
</small>
|
|
</div>
|
|
|
|
<div>
|
|
<label for="password_confirm" class="label text-black">Confirm Password</label>
|
|
<input class="form-input" id="password_confirm" aria-describedby="passwordConfirmHelp" type="password" name="password_confirm" required="">
|
|
<div class="mt-4">
|
|
<input type="checkbox" id="termsCheck" required>
|
|
<label class="text-gray-400 text-xs pl-1" for="termsCheck">
|
|
I accept the <a href="/rules" target="_blank" class="text-blue-500 hover:text-blue-600">terms and conditions</a>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
|
|
{% if hcaptcha %}
|
|
<div class="h-captcha" data-sitekey="{{ hcaptcha }}"></div>
|
|
{% endif %}
|
|
|
|
<button class="btn btn-green w-full" id="register_button">
|
|
Create account
|
|
</button>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="mx-auto text-gray-300/70 text-xs mt-4">
|
|
Already have an account?
|
|
<a href="/login{{'?redirect='+redirect if redirect else ''}}" class="font-bold text-gray-300/70 hover:text-gray-300">Log in</a>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<script src="/assets/js/signup.js?v=63"></script>
|
|
|
|
{% if hcaptcha %}
|
|
<script src="https://hcaptcha.com/1/api.js"></script>
|
|
{% endif %}
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/js/bootstrap.bundle.min.js"></script>
|
|
|
|
</body>
|
|
|
|
</html>
|