forked from rDrama/rDrama
149 lines
5.8 KiB
HTML
149 lines
5.8 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>
|
|
|
|
<link rel="preload" href="/assets/css/fa.css?v=52" as="style" onload="this.onload=null;this.rel='stylesheet'">
|
|
<noscript><link rel="stylesheet" href="/assets/css/fa.css?v=52"></noscript>
|
|
</head>
|
|
|
|
<body class="relative h-full bg-gradient-to-t from-gray-500 to-gray-400">
|
|
|
|
{% include "header-tw.html" %}
|
|
|
|
<div class="absolute bottom-0 left-0 h-[70%] w-full overflow-hidden px-4">
|
|
<div class="rounded-t-md h-full w-full bg-gray-500/50 shadow-inner"></div>
|
|
</div>
|
|
|
|
<div class="relative min-h-full flex flex-col items-center justify-center pt-16 pb-12 px-4 sm:px-6 lg:px-8">
|
|
|
|
<div class="max-w-md w-full space-y-8">
|
|
|
|
{% if ref_user %}
|
|
<h1 class="text-center h2">@{{ref_user.username}} has invited you!</h1>
|
|
<p class="mx-auto text-gray-500">Looks like someone wants you to join {{'SITE_NAME' | app_config}}.</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" id="signup">
|
|
|
|
{% if error %}<div class="text-red-600 mb-2">{{error}}</div>{% endif %}
|
|
|
|
<div class="hidden">
|
|
<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>
|
|
|
|
<div class="space-y-4">
|
|
|
|
|
|
<h2 class="font-medium text-xl md:text-2xl">
|
|
Create an Account
|
|
</h2>
|
|
|
|
<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-700 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>
|
|
|
|
</div>
|
|
|
|
</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>
|