mirror of
git://f0xx.org/ac/ac-be-auth
synced 2026-07-29 04:19:06 +03:00
77 lines
4.1 KiB
PHP
77 lines
4.1 KiB
PHP
<?php
|
|
$bp = Auth::basePath();
|
|
$auth = Auth::authUrl();
|
|
$registerPending = !empty($registerPending);
|
|
$registerExpiresAt = (string) ($registerExpiresAt ?? '');
|
|
$registerEmail = (string) ($registerEmail ?? '');
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html lang="en" data-theme="dark">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>Register — <?= h(cfg('app_name')) ?></title>
|
|
<script>
|
|
(function () {
|
|
var t = localStorage.getItem('crash_console_theme');
|
|
if (t === 'light' || t === 'dark') document.documentElement.setAttribute('data-theme', t);
|
|
var l = localStorage.getItem('crash_console_lang');
|
|
if (l === 'en' || l === 'ru') document.documentElement.setAttribute('lang', l);
|
|
})();
|
|
</script>
|
|
<link rel="icon" type="image/x-icon" href="<?= h($bp) ?>/assets/favicon.ico">
|
|
<link rel="apple-touch-icon" href="<?= h($bp) ?>/assets/apple-touch-icon.ico">
|
|
<link rel="stylesheet" href="<?= h($bp) ?>/assets/css/app.css">
|
|
<script src="<?= h($bp) ?>/assets/js/i18n.js" defer></script>
|
|
<script src="<?= h($bp) ?>/assets/js/register.js" defer></script>
|
|
<?php AnalyticsHead::render('crashes_register'); ?>
|
|
</head>
|
|
<body class="login-page" data-base-path="<?= h($bp) ?>"
|
|
data-auth-base="<?= h($auth) ?>"
|
|
<?= $registerPending ? ' data-register-pending="1"' : '' ?>
|
|
<?= $registerExpiresAt !== '' ? ' data-register-expires-ts="' . (int) strtotime($registerExpiresAt) . '"' : '' ?>
|
|
<?= $registerEmail !== '' ? ' data-register-email="' . h($registerEmail) . '"' : '' ?>>
|
|
<div class="login-locale">
|
|
<label class="toolbar-select locale-toolbar-select" data-i18n-title="lang.label" title="Language">
|
|
<span class="locale-flag" aria-hidden="true">🇬🇧</span>
|
|
<select class="lang-select" data-i18n-aria="lang.label" aria-label="Language">
|
|
<option value="en">EN</option>
|
|
<option value="ru">RU</option>
|
|
</select>
|
|
</label>
|
|
</div>
|
|
<form class="login-card" id="register-form" method="post" action="<?= h($auth) ?>/register"<?= $registerPending ? ' hidden' : '' ?>>
|
|
<h1 data-i18n="register.title">Create account</h1>
|
|
<p class="muted" data-i18n="register.hint">We will email a verification link before you can sign in.</p>
|
|
<?php if (!empty($registerError)): ?>
|
|
<div class="alert"><?= h($registerError) ?></div>
|
|
<?php endif; ?>
|
|
<label><span data-i18n="register.email">Email</span>
|
|
<input name="email" type="email" autocomplete="email" required value="<?= h($registerEmail) ?>"></label>
|
|
<label><span data-i18n="register.username">Username</span>
|
|
<input name="username" autocomplete="username" value="<?= h($registerUsername ?? '') ?>"></label>
|
|
<label><span data-i18n="register.password">Password</span>
|
|
<input name="password" type="password" autocomplete="new-password" minlength="10" required></label>
|
|
<button type="submit" data-i18n="register.submit">Register</button>
|
|
<p class="hint"><a href="<?= h($auth) ?>/login" data-i18n="register.back_login">Back to sign in</a></p>
|
|
</form>
|
|
|
|
<section class="login-card" id="register-pending"<?= $registerPending ? '' : ' hidden' ?>>
|
|
<h1 data-i18n="register.pending_title">Check your email</h1>
|
|
<p class="muted" data-i18n="register.pending_hint">We sent a verification link. Confirm your email before signing in.</p>
|
|
<?php if (!empty($registerSuccess)): ?>
|
|
<div class="alert alert--ok"><?= h($registerSuccess) ?></div>
|
|
<?php endif; ?>
|
|
<p id="register-pending-email" class="muted"><?= $registerEmail !== '' ? h($registerEmail) : '' ?></p>
|
|
<p class="register-countdown-wrap">
|
|
<span data-i18n="register.countdown_label">Link expires in</span>
|
|
<strong id="register-countdown" aria-live="polite">—</strong>
|
|
</p>
|
|
<p id="register-resend-status" class="muted" aria-live="polite"></p>
|
|
<button type="button" class="btn" id="register-resend-btn" data-i18n="register.resend">Resend verification email</button>
|
|
<p class="hint"><a href="<?= h($auth) ?>/login" data-i18n="register.back_login">Back to sign in</a></p>
|
|
</section>
|
|
<?php platform_render_footer(); ?>
|
|
</body>
|
|
</html>
|