Add all files
This commit is contained in:
48
themes/lucentui/views/auth/2fa.blade.php
Normal file
48
themes/lucentui/views/auth/2fa.blade.php
Normal file
@@ -0,0 +1,48 @@
|
||||
<div class="bg-background-secondary/50 bg-background-secondary/50 backdrop-blur-md grid w-full max-w-6xl mx-auto overflow-hidden text-color-base rounded-2xl shadow-2xl md:grid-cols-2" style="margin: 200px auto;">
|
||||
<div class="hidden md:flex flex-col justify-between p-10 animated-gradient bg-gradient-to-br from-primary to-secondary">
|
||||
<div>
|
||||
<div class="mt-8 text-white">
|
||||
<h2 class="text-4xl font-extrabold leading-tight tracking-tight">
|
||||
Secure Your Account with Next-Level Protection!
|
||||
</h2>
|
||||
<p class="mt-4 text-2xl font-semibold text-white/90">Your Safety, Our Priority!</p>
|
||||
<p class="mt-3 text-white/80">
|
||||
We're committed to keeping your account safe. Two-Factor Authentication adds an extra layer of security, ensuring only you can access your data. Verify and proceed with confidence!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<p class="text-sm text-white/70">© {{ date('Y') }} {{ config('app.name') }} | All rights reserved.</p>
|
||||
</div>
|
||||
|
||||
<div class="p-8 sm:p-12 form-fade-in">
|
||||
<form wire:submit="verify" class="w-full">
|
||||
<div class="mb-10 text-center md:text-left">
|
||||
<h1 class="text-4xl font-extrabold tracking-tight">{{ __('auth.verify_2fa') }}</h1>
|
||||
<p class="mt-2 text-neutral-400">{{ __('Enter the code from your authenticator app to proceed.') }}</p>
|
||||
</div>
|
||||
|
||||
<div class="space-y-8 text-color-base">
|
||||
<div class="form-input-container">
|
||||
<input
|
||||
name="code"
|
||||
type="text"
|
||||
placeholder=" "
|
||||
wire:model="code"
|
||||
required
|
||||
class="text-color-base form-input" />
|
||||
<label for="code" class="form-input-label">{{ __('account.input.two_factor_code') }}</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<x-button.primary class="w-full py-3 text-base font-bold transition-all transform rounded-lg shadow-lg hover:bg-primary focus:outline-none focus:ring-4 focus:ring-primary-500 hover:-translate-y-0.5 mt-8" type="submit">
|
||||
{{ __('auth.verify') }}
|
||||
</x-button.primary>
|
||||
|
||||
<div class="mt-10 text-sm text-center text-neutral-400">
|
||||
<a class="font-semibold text-primary transition-colors hover:text-secondary" href="{{ route('register') }}" wire:navigate>
|
||||
{{ __('auth.dont_have_account') }}
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
81
themes/lucentui/views/auth/login.blade.php
Normal file
81
themes/lucentui/views/auth/login.blade.php
Normal file
@@ -0,0 +1,81 @@
|
||||
<div class="bg-background-secondary/50 bg-background-secondary/50 backdrop-blur-md grid w-full max-w-6xl mx-auto overflow-hidden text-color-base rounded-2xl shadow-2xl md:grid-cols-2" style="margin: 50px auto;">
|
||||
<div class="hidden md:flex flex-col justify-between p-10 animated-gradient bg-gradient-to-br from-primary to-secondary">
|
||||
<div>
|
||||
<div class="mt-8 text-white">
|
||||
<h2 class="text-4xl font-extrabold leading-tight tracking-tight">
|
||||
Manage Your Billing with Ease
|
||||
</h2>
|
||||
<p class="mt-4 text-2xl font-semibold text-white/90">Stay on Top of Your Payments</p>
|
||||
<p class="mt-3 text-white/80">
|
||||
Access your invoices, update payment methods, and keep track of your subscriptions all in one place.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<p class="text-sm text-white/70">© {{ date('Y') }} {{ config('app.name') }} | All rights reserved.</p>
|
||||
</div>
|
||||
|
||||
<div class="p-8 sm:p-12 form-fade-in">
|
||||
<form wire:submit="submit" id="login" class="w-full">
|
||||
<div class="mb-10 text-center md:text-left">
|
||||
<h1 class="text-4xl font-extrabold tracking-tight">{{ __('auth.sign_in_title') }}</h1>
|
||||
<p class="mt-2 text-neutral-400">{{ __('auth.already_have_account') }}</p>
|
||||
</div>
|
||||
|
||||
<x-form.input name="email" type="email" :label="__('general.input.email')"
|
||||
:placeholder="__('general.input.email_placeholder')" wire:model="email" hideRequiredIndicator required />
|
||||
<x-form.input name="password" type="password" :label="__('general.input.password')"
|
||||
:placeholder="__('general.input.password_placeholder')" required hideRequiredIndicator wire:model="password" />
|
||||
|
||||
<div class="flex flex-col sm:flex-row sm:items-center sm:justify-between mt-4 space-y-3 sm:space-y-0 sm:space-x-5">
|
||||
<x-form.checkbox name="remember" label="Remember me" wire:model="remember" />
|
||||
|
||||
<a class="text-sm font-medium text-primary transition-colors hover:text-secondary" href="{{ route('password.request') }}">
|
||||
{{ __('auth.forgot_password') }}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="mt-4 mb-6">
|
||||
<x-captcha :form="'login'" />
|
||||
</div>
|
||||
|
||||
<x-button.primary class="w-full py-3 text-base font-bold transition-all transform rounded-lg shadow-lg hover:bg-primary focus:outline-none focus:ring-4 focus:ring-primary-500 hover:-translate-y-0.5 mt-5" type="submit">
|
||||
{{ __('auth.sign_in') }}
|
||||
</x-button.primary>
|
||||
|
||||
@if (config('settings.oauth_github') || config('settings.oauth_google') || config('settings.oauth_discord'))
|
||||
<div class="relative flex items-center w-full my-8">
|
||||
<div class="flex-grow border-t border-base-600"></div>
|
||||
<span class="flex-shrink mx-4 text-xs font-medium uppercase text-base">{{ __('auth.or_sign_in_with') }}</span>
|
||||
<div class="flex-grow border-t border-base-600"></div>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-1 gap-4 sm:grid-cols-2 w-full">
|
||||
@foreach (['github', 'google', 'discord'] as $provider)
|
||||
@if (config('settings.oauth_' . $provider))
|
||||
<a href="{{ route('oauth.redirect', $provider) }}" class="flex items-center justify-center w-full py-2.5 border border-background bg-primary dark:bg-background rounded-lg text-white hover:bg-secondary hover:border-secondary transition-all space-x-2">
|
||||
<img src="/assets/images/{{ $provider }}-light.svg" alt="{{ ucfirst($provider) }}" class="size-5 block dark:hidden">
|
||||
<img src="/assets/images/{{ $provider }}-dark.svg" alt="{{ ucfirst($provider) }}" class="size-5 hidden dark:block">
|
||||
<span class="text-sm font-medium">{{ ucfirst($provider) }}</span>
|
||||
</a>
|
||||
@endif
|
||||
@endforeach
|
||||
<a href="https://billing.virtnet.bond/oauth/authentik" class="flex items-center justify-center w-full py-2.5 border border-background bg-primary dark:bg-background rounded-lg text-white hover:bg-secondary hover:border-secondary transition-all space-x-2">
|
||||
<img src="https://logonoid.com/images/openid-logo.png" class="size-5 block dark:hidden">
|
||||
<img src="https://logonoid.com/images/openid-logo.png" class="size-5 hidden dark:block">
|
||||
<span class="text-sm font-medium">OpenID Connect</span>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if(!config('settings.registration_disabled', false))
|
||||
<div class="mt-10 text-sm text-center text-neutral-400">
|
||||
{{ __("auth.dont_have_account") }}
|
||||
<a class="font-semibold text-primary transition-colors hover:text-secondary" href="{{ route('register') }}" wire:navigate>
|
||||
{{ __('auth.sign_up') }}
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
5
themes/lucentui/views/auth/logout.blade.php
Normal file
5
themes/lucentui/views/auth/logout.blade.php
Normal file
@@ -0,0 +1,5 @@
|
||||
<div>
|
||||
<button wire:click="logout" class="flex flex-row items-center p-3 gap-2 text-sm font-semibold text-error/80 rounded-2xl hover:text-error">
|
||||
{{ __('auth.logout') }}
|
||||
</button>
|
||||
</div>
|
||||
42
themes/lucentui/views/auth/password/request.blade.php
Normal file
42
themes/lucentui/views/auth/password/request.blade.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<div class="bg-background-secondary/50 bg-background-secondary/50 backdrop-blur-md grid w-full max-w-6xl mx-auto overflow-hidden text-color-base rounded-2xl shadow-2xl md:grid-cols-2" style="margin: 200px auto;">
|
||||
<div class="hidden md:flex flex-col justify-between p-10 animated-gradient bg-gradient-to-br from-primary to-secondary">
|
||||
<div>
|
||||
<div class="mt-8 text-white">
|
||||
<h2 class="text-4xl font-extrabold leading-tight tracking-tight">
|
||||
Reset Your Password
|
||||
</h2>
|
||||
<p class="mt-4 text-2xl font-semibold text-white/90">Secure Access Restoration</p>
|
||||
<p class="mt-3 text-white/80">
|
||||
Enter your email address below and we'll send you a link to reset your password. Check your inbox for the reset instructions.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<p class="text-sm text-white/70">© {{ date('Y') }} {{ config('app.name') }} | All rights reserved.</p>
|
||||
</div>
|
||||
|
||||
<div class="p-8 sm:p-12 form-fade-in">
|
||||
<form wire:submit="submit" id="reset" class="w-full">
|
||||
<div class="mb-10 text-center md:text-left">
|
||||
<h1 class="text-4xl font-extrabold tracking-tight">{{ __('auth.reset_password') }}</h1>
|
||||
</div>
|
||||
|
||||
<div class="space-y-8 text-color-base">
|
||||
<x-form.input name="email" type="text" :label="__('auth.input.email_label')" :placeholder="__('auth.input.email')" wire:model="email" required />
|
||||
</div>
|
||||
|
||||
<div class="mt-8">
|
||||
<x-captcha :form="'reset'" />
|
||||
</div>
|
||||
|
||||
<x-button.primary class="w-full py-3 text-base font-bold transition-all transform rounded-lg shadow-lg hover:bg-primary focus:outline-none focus:ring-4 focus:ring-primary-500 hover:-translate-y-0.5 mt-6" type="submit">
|
||||
{{ __('auth.reset_password') }}
|
||||
</x-button.primary>
|
||||
|
||||
<div class="mt-10 text-sm text-center text-neutral-400">
|
||||
<a class="font-semibold text-primary transition-colors hover:text-secondary" href="{{ route('login') }}" wire:navigate>
|
||||
{{ __('auth.already_have_account') }}
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
47
themes/lucentui/views/auth/password/reset.blade.php
Normal file
47
themes/lucentui/views/auth/password/reset.blade.php
Normal file
@@ -0,0 +1,47 @@
|
||||
<div class="bg-background-secondary grid w-full max-w-6xl mx-auto overflow-hidden text-color-base rounded-2xl shadow-2xl md:grid-cols-2" style="margin: 200px auto;">
|
||||
<div class="hidden md:flex flex-col justify-between p-10 animated-gradient bg-gradient-to-br from-primary to-secondary">
|
||||
<div>
|
||||
<div class="mt-8 text-white">
|
||||
<h2 class="text-4xl font-extrabold leading-tight tracking-tight">
|
||||
Reset Your Password
|
||||
</h2>
|
||||
<p class="mt-4 text-2xl font-semibold text-white/90">Secure Access Restoration</p>
|
||||
<p class="mt-3 text-white/80">
|
||||
Create a new password for your account. Choose a strong password to keep your account secure and access all your billing features safely.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<p class="text-sm text-white/70">© {{ date('Y') }} {{ config('app.name') }} | All rights reserved.</p>
|
||||
</div>
|
||||
|
||||
<div class="p-8 sm:p-12 form-fade-in">
|
||||
<form wire:submit="submit" id="reset" class="w-full">
|
||||
<div class="mb-10 text-center md:text-left">
|
||||
<h1 class="text-4xl font-extrabold tracking-tight">{{ __('auth.reset_password') }}</h1>
|
||||
</div>
|
||||
|
||||
<div class="space-y-8 text-color-base">
|
||||
<x-form.input name="email" type="text" :label="__('auth.input.email_label')" :placeholder="__('auth.input.email')"
|
||||
wire:model="email" required disabled />
|
||||
<x-form.password-strength name="password" :label="__('general.input.password')" :placeholder="__('general.input.password_placeholder')"
|
||||
wire:model="password" required />
|
||||
<x-form.input name="password_confirm" type="password" :label="__('Confirm Password')"
|
||||
:placeholder="__('Confirm your password')" wire:model="password_confirmation" required />
|
||||
</div>
|
||||
|
||||
<div class="mt-8">
|
||||
<x-captcha :form="'reset'" />
|
||||
</div>
|
||||
|
||||
<x-button.primary class="w-full py-3 text-base font-bold transition-all transform rounded-lg shadow-lg hover:bg-primary focus:outline-none focus:ring-4 focus:ring-primary-500 hover:-translate-y-0.5 mt-6" type="submit">
|
||||
{{ __('auth.reset_password') }}
|
||||
</x-button.primary>
|
||||
|
||||
<div class="mt-10 text-sm text-center text-neutral-400">
|
||||
<a class="font-semibold text-primary transition-colors hover:text-secondary" href="{{ route('login') }}" wire:navigate>
|
||||
{{ __('auth.already_have_account') }}
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
84
themes/lucentui/views/auth/register.blade.php
Normal file
84
themes/lucentui/views/auth/register.blade.php
Normal file
@@ -0,0 +1,84 @@
|
||||
<div class="bg-background-secondary/50 bg-background-secondary/50 backdrop-blur-md grid w-full max-w-6xl mx-auto overflow-hidden text-color-base rounded-2xl shadow-2xl md:grid-cols-2">
|
||||
<div class="hidden md:flex flex-col justify-between p-10 animated-gradient bg-gradient-to-br from-primary to-secondary">
|
||||
<div>
|
||||
<div class="mt-8 text-white">
|
||||
<h2 class="text-4xl font-extrabold leading-tight tracking-tight">
|
||||
Manage Your Billing with Ease
|
||||
</h2>
|
||||
<p class="mt-4 text-2xl font-semibold text-white/90">Stay on Top of Your Payments</p>
|
||||
<p class="mt-3 text-white/80">
|
||||
Access your invoices, update payment methods, and keep track of your subscriptions all in one place.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<p class="text-sm text-white/70">© {{ date('Y') }} {{ config('app.name') }} | All rights reserved.</p>
|
||||
</div>
|
||||
|
||||
<div class="p-8 sm:p-12 form-fade-in">
|
||||
<form wire:submit.prevent="submit" id="register" class="w-full">
|
||||
<div class="mb-10 text-center md:text-left">
|
||||
<h1 class="text-4xl font-extrabold tracking-tight">{{ __('auth.sign_up_title') }}</h1>
|
||||
</div>
|
||||
|
||||
<div class="space-y-2 text-color-base">
|
||||
<x-form.input name="first_name" type="text" :label="__('general.input.first_name')"
|
||||
:placeholder="__('general.input.first_name_placeholder')" wire:model="first_name" required />
|
||||
<x-form.input name="last_name" type="text" :label="__('general.input.last_name')"
|
||||
:placeholder="__('general.input.last_name_placeholder')" wire:model="last_name" required />
|
||||
<x-form.input name="email" type="email" :label="__('general.input.email')"
|
||||
:placeholder="__('general.input.email_placeholder')" required wire:model="email" divClass="col-span-2" />
|
||||
<x-form.password-strength name="password" :label="__('general.input.password')" :placeholder="__('general.input.password_placeholder')"
|
||||
wire:model="password" required />
|
||||
<x-form.input name="password_confirm" type="password" :label="__('Confirm Password')"
|
||||
:placeholder="__('Confirm your password')" wire:model="password_confirmation" required />
|
||||
|
||||
{{-- Custom Properties Section --}}
|
||||
@if ($custom_properties->isNotEmpty())
|
||||
<div class="relative flex items-center w-full my-8">
|
||||
<div class="flex-grow border-t border-base"></div>
|
||||
<span class="flex-shrink mx-4 text-xs font-medium uppercase text-base">{{ __('Additional Information') }}</span>
|
||||
<div class="flex-grow border-t border-base"></div>
|
||||
</div>
|
||||
<div class="space-y-2">
|
||||
<x-form.properties :custom_properties="$custom_properties" :properties="$properties" class="text-color-base form-input" />
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="mt-4 mb-6">
|
||||
<x-captcha :form="'register'" />
|
||||
</div>
|
||||
|
||||
<x-button.primary class="w-full py-3 text-base font-bold transition-all transform rounded-lg shadow-lg hover:bg-primary focus:outline-none focus:ring-4 focus:ring-primary-500 hover:-translate-y-0.5" type="submit">
|
||||
{{ __('auth.sign_up') }}
|
||||
</x-button.primary>
|
||||
|
||||
@if (config('settings.oauth_github') || config('settings.oauth_google') || config('settings.oauth_discord'))
|
||||
<div class="relative flex items-center w-full my-8">
|
||||
<div class="flex-grow border-t border-base-600"></div>
|
||||
<span class="flex-shrink mx-4 text-xs font-medium uppercase text-base">{{ __('auth.or_sign_in_with') }}</span>
|
||||
<div class="flex-grow border-t border-base-600"></div>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-1 gap-4 sm:grid-cols-2 w-full">
|
||||
@foreach (['github', 'google', 'discord'] as $provider)
|
||||
@if (config('settings.oauth_' . $provider))
|
||||
<a href="{{ route('oauth.redirect', $provider) }}" class="flex items-center justify-center w-full py-2.5 border border-background bg-primary dark:bg-background rounded-lg text-white hover:bg-secondary hover:border-secondary transition-all space-x-2">
|
||||
<img src="/assets/images/{{ $provider }}-light.svg" alt="{{ ucfirst($provider) }}" class="size-5 block dark:hidden">
|
||||
<img src="/assets/images/{{ $provider }}-dark.svg" alt="{{ ucfirst($provider) }}" class="size-5 hidden dark:block">
|
||||
<span class="text-sm font-medium">{{ ucfirst($provider) }}</span>
|
||||
</a>
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="mt-10 text-sm text-center text-neutral-400">
|
||||
{{ __("auth.already_have_account") }}
|
||||
<a class="font-semibold text-primary transition-colors hover:text-secondary" href="{{ route('login') }}" wire:navigate>
|
||||
{{ __('auth.sign_in') }}
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
36
themes/lucentui/views/auth/verify-email.blade.php
Normal file
36
themes/lucentui/views/auth/verify-email.blade.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<div class="bg-background-secondary/50 bg-background-secondary/50 backdrop-blur-md grid w-full max-w-6xl mx-auto overflow-hidden text-color-base rounded-2xl shadow-2xl md:grid-cols-2" style="margin: 200px auto;">
|
||||
<div class="hidden md:flex flex-col justify-between p-10 animated-gradient bg-gradient-to-br from-primary to-secondary">
|
||||
<div>
|
||||
<div class="mt-8 text-white">
|
||||
<h2 class="text-4xl font-extrabold leading-tight tracking-tight">
|
||||
Verify Your Email to Get Started!
|
||||
</h2>
|
||||
<p class="mt-4 text-2xl font-semibold text-white/90">Your Gateway to Best Service!</p>
|
||||
<p class="mt-3 text-white/80">
|
||||
We've sent a verification link to your email address. Please check your inbox and click the link to activate your account. This ensures the security and integrity of your experience.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<p class="text-sm text-white/70">© {{ date('Y') }} {{ config('app.name') }} | All rights reserved.</p>
|
||||
</div>
|
||||
|
||||
<div class="p-8 sm:p-12 form-fade-in">
|
||||
<form wire:submit.prevent="submit" id="verify-email" class="w-full">
|
||||
<div class="mb-10 text-center md:text-left">
|
||||
<h1 class="text-4xl font-extrabold tracking-tight">{{ __('auth.verification.notice') }}</h1>
|
||||
<p class="mt-2 text-neutral-400">{{ __('auth.verification.check_your_email') }}</p>
|
||||
</div>
|
||||
|
||||
<div class="space-y-8 text-color-base">
|
||||
</div>
|
||||
|
||||
<p class="text-base text-left text-neutral-400 mb-4">{{ __('auth.verification.not_received') }}</p>
|
||||
|
||||
<x-captcha :form="'verify-email'" />
|
||||
|
||||
<x-button.primary class="w-full py-3 text-base font-bold transition-all transform rounded-lg shadow-lg hover:bg-primary focus:outline-none focus:ring-4 focus:ring-primary-500 hover:-translate-y-0.5 mt-4" type="submit">
|
||||
{{ __('auth.verification.request_another') }}
|
||||
</x-button.primary>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user