65 lines
3.8 KiB
PHP
65 lines
3.8 KiB
PHP
@extends('layouts.nova')
|
||
|
||
@section('content')
|
||
<div class="flex-1 flex items-center justify-center px-6 py-16 min-h-[calc(100vh-4rem)] box-border">
|
||
<div class="max-w-5xl w-full">
|
||
<div class="rounded-2xl border border-white/10 bg-slate-900/70 backdrop-blur shadow-xl p-8 auth-card">
|
||
<h2 class="text-2xl font-semibold mb-2 text-white">Create Account</h2>
|
||
|
||
<p class="text-sm text-white/60 mb-6">Start with your email. You’ll choose a password and username after verification.</p>
|
||
|
||
@include('auth.partials.help-links', [
|
||
'title' => 'Need help before you start?',
|
||
'description' => 'Use the signup and login guide if you want a clearer view of verification, recovery, or what happens after the first account step.',
|
||
])
|
||
|
||
@if($errors->has('oauth'))
|
||
<div class="rounded-lg bg-red-900/40 border border-red-500/40 px-4 py-3 text-sm text-red-300 mb-4">
|
||
{{ $errors->first('oauth') }}
|
||
</div>
|
||
@endif
|
||
|
||
@if($errors->has('bot'))
|
||
<div class="rounded-lg bg-red-900/40 border border-red-500/40 px-4 py-3 text-sm text-red-300 mb-4">
|
||
{{ $errors->first('bot') }}
|
||
</div>
|
||
@endif
|
||
|
||
@include('auth.partials.social-login', ['dividerLabel' => 'or register with email'])
|
||
<form method="POST" action="{{ route('register') }}" class="space-y-5" data-bot-form>
|
||
@csrf
|
||
<input type="text" name="homepage_url" value="" tabindex="-1" autocomplete="off" class="hidden" aria-hidden="true">
|
||
<input type="hidden" name="_bot_fingerprint" value="">
|
||
|
||
<div>
|
||
<label class="block text-sm mb-1 text-white/80" for="email">Email</label>
|
||
<input id="email" name="email" type="email" required placeholder="you@example.com" value="{{ old('email', $prefillEmail ?? '') }}" class="w-full rounded-lg bg-slate-950/70 border border-white/10 px-4 py-3 text-sm focus:outline-none focus:ring-2 focus:ring-cyan-500 text-white" />
|
||
<x-input-error :messages="$errors->get('email')" class="mt-2" />
|
||
</div>
|
||
|
||
@if(($turnstile['enabled'] ?? false) && (($turnstile['siteKey'] ?? '') !== ''))
|
||
<div class="space-y-2" data-turnstile-container>
|
||
<div
|
||
class="cf-turnstile"
|
||
data-sitekey="{{ $turnstile['siteKey'] }}"
|
||
data-theme="dark"
|
||
></div>
|
||
<p class="text-xs text-white/50" data-turnstile-status>Complete the security check before continuing.</p>
|
||
</div>
|
||
<x-input-error :messages="$errors->get('turnstile_token')" class="mt-2" />
|
||
@endif
|
||
|
||
<button type="submit" class="w-full rounded-lg py-3 font-medium bg-gradient-to-r from-cyan-500 to-sky-400 hover:from-cyan-400 hover:to-sky-300 text-slate-900 transition disabled:cursor-not-allowed disabled:opacity-60" data-turnstile-submit>Continue</button>
|
||
|
||
<p class="text-sm text-center text-white/60">Already registered? <a href="{{ route('login') }}" class="text-cyan-400 hover:underline">Sign in</a></p>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
@if(($turnstile['enabled'] ?? false) && (($turnstile['siteKey'] ?? '') !== '') && (($turnstile['scriptUrl'] ?? '') !== ''))
|
||
<script src="{{ $turnstile['scriptUrl'] }}" @if(($turnstile['cspNonce'] ?? '') !== '') nonce="{{ $turnstile['cspNonce'] }}" @endif async defer></script>
|
||
<script src="{{ asset('js/register-turnstile.js') }}" @if(($turnstile['cspNonce'] ?? '') !== '') nonce="{{ $turnstile['cspNonce'] }}" @endif defer></script>
|
||
@endif
|
||
@include('partials.bot-fingerprint-script')
|
||
@endsection
|