feat(auth): registration and login
This commit is contained in:
@@ -1,49 +1,46 @@
|
||||
@extends('layouts.nova')
|
||||
|
||||
@section('content')
|
||||
<div class="px-4 py-8 md:px-6 md:py-10">
|
||||
<div class="mx-auto w-full max-w-xl rounded-2xl border border-sb-line bg-panel-dark shadow-sb p-6 md:p-8">
|
||||
<h1 class="text-2xl font-semibold text-white">Log in</h1>
|
||||
<p class="mt-2 text-sm text-sb-muted">Sign in to continue to your Skinbase account.</p>
|
||||
<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">Login</h2>
|
||||
|
||||
<x-auth-session-status class="mt-4 mb-2 text-green-300" :status="session('status')" />
|
||||
<p class="text-sm text-white/60 mb-6">Access your Skinbase account.</p>
|
||||
|
||||
<form method="POST" action="{{ route('login') }}" class="mt-4 space-y-4">
|
||||
@csrf
|
||||
<x-auth-session-status class="mt-4 mb-2 text-green-300" :status="session('status')" />
|
||||
|
||||
<div>
|
||||
<x-input-label for="email" :value="__('Email')" class="text-sb-muted" />
|
||||
<x-text-input id="email" class="block mt-1 w-full bg-black/20 border-sb-line text-white" type="email" name="email" :value="old('email')" required autofocus autocomplete="username" />
|
||||
<x-input-error :messages="$errors->get('email')" class="mt-2" />
|
||||
</div>
|
||||
<form method="POST" action="{{ route('login') }}" class="space-y-5">
|
||||
@csrf
|
||||
|
||||
<div>
|
||||
<x-input-label for="password" :value="__('Password')" class="text-sb-muted" />
|
||||
<x-text-input id="password" class="block mt-1 w-full bg-black/20 border-sb-line text-white" type="password" name="password" required autocomplete="current-password" />
|
||||
<x-input-error :messages="$errors->get('password')" class="mt-2" />
|
||||
</div>
|
||||
<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') }}" 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-purple-500 text-white" />
|
||||
<x-input-error :messages="$errors->get('email')" class="mt-2" />
|
||||
</div>
|
||||
|
||||
<div class="block mt-1">
|
||||
<label for="remember_me" class="inline-flex items-center">
|
||||
<input id="remember_me" type="checkbox" class="rounded border-sb-line bg-black/20 text-sb-blue shadow-sm focus:ring-sb-blue" name="remember">
|
||||
<span class="ms-2 text-sm text-sb-muted">{{ __('Remember me') }}</span>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label class="block text-sm mb-1 text-white/80" for="password">Password</label>
|
||||
<input id="password" name="password" type="password" required placeholder="••••••••••" 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-purple-500 text-white" />
|
||||
<x-input-error :messages="$errors->get('password')" class="mt-2" />
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-between pt-2">
|
||||
@if (Route::has('password.request'))
|
||||
<a class="underline text-sm text-sb-muted hover:text-white" href="{{ route('password.request') }}">
|
||||
{{ __('Forgot your password?') }}
|
||||
</a>
|
||||
@else
|
||||
<span></span>
|
||||
@endif
|
||||
<div class="flex items-center justify-between text-sm text-white/60">
|
||||
<label class="flex items-center gap-2">
|
||||
<input type="checkbox" name="remember" class="rounded bg-slate-800 border-white/20" />
|
||||
Remember me
|
||||
</label>
|
||||
|
||||
<x-primary-button class="justify-center">
|
||||
{{ __('Log in') }}
|
||||
</x-primary-button>
|
||||
</div>
|
||||
</form>
|
||||
@if (Route::has('password.request'))
|
||||
<a href="{{ route('password.request') }}" class="text-purple-400 hover:underline">Forgot password?</a>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<button type="submit" class="w-full rounded-lg py-3 font-medium bg-gradient-to-r from-purple-500 to-pink-500 hover:from-purple-400 hover:to-pink-400 text-white transition">Sign In</button>
|
||||
|
||||
<p class="text-sm text-center text-white/60">Don’t have an account? <a href="{{ route('register') }}" class="text-purple-400 hover:underline">Create one</a></p>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
Reference in New Issue
Block a user