Implement SeoTrait across components for improved SEO integration.

This commit is contained in:
HolgerHatGarKeineNode
2025-11-22 22:16:55 +01:00
parent 25843db5a9
commit d359dd56b0
31 changed files with 202 additions and 73 deletions

View File

@@ -1,11 +1,15 @@
<?php
use App\Traits\SeoTrait;
use Illuminate\Support\Facades\Auth;
use Illuminate\Validation\ValidationException;
use Livewire\Attributes\Layout;
use Livewire\Volt\Component;
new #[Layout('components.layouts.auth')] class extends Component {
new #[Layout('components.layouts.auth')]
class extends Component {
use SeoTrait;
public string $password = '';
/**
@@ -17,7 +21,7 @@ new #[Layout('components.layouts.auth')] class extends Component {
'password' => ['required', 'string'],
]);
if (! Auth::guard('web')->validate([
if (!Auth::guard('web')->validate([
'email' => Auth::user()->email,
'password' => $this->password,
])) {
@@ -39,7 +43,7 @@ new #[Layout('components.layouts.auth')] class extends Component {
/>
<!-- Session Status -->
<x-auth-session-status class="text-center" :status="session('status')" />
<x-auth-session-status class="text-center" :status="session('status')"/>
<form wire:submit="confirmPassword" class="flex flex-col gap-6">
<!-- Password -->

View File

@@ -1,10 +1,14 @@
<?php
use App\Traits\SeoTrait;
use Illuminate\Support\Facades\Password;
use Livewire\Attributes\Layout;
use Livewire\Volt\Component;
new #[Layout('components.layouts.auth')] class extends Component {
new #[Layout('components.layouts.auth')]
class extends Component {
use SeoTrait;
public string $email = '';
/**
@@ -23,10 +27,11 @@ new #[Layout('components.layouts.auth')] class extends Component {
}; ?>
<div class="flex flex-col gap-6">
<x-auth-header :title="__('Forgot password')" :description="__('Enter your email to receive a password reset link')" />
<x-auth-header :title="__('Forgot password')"
:description="__('Enter your email to receive a password reset link')"/>
<!-- Session Status -->
<x-auth-session-status class="text-center" :status="session('status')" />
<x-auth-session-status class="text-center" :status="session('status')"/>
<form wire:submit="sendPasswordResetLink" class="flex flex-col gap-6">
<!-- Email Address -->

View File

@@ -1,6 +1,7 @@
<?php
use App\Models\User;
use App\Traits\SeoTrait;
use Illuminate\Auth\Events\Registered;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
@@ -8,7 +9,10 @@ use Illuminate\Validation\Rules;
use Livewire\Attributes\Layout;
use Livewire\Volt\Component;
new #[Layout('components.layouts.auth')] class extends Component {
new #[Layout('components.layouts.auth')]
class extends Component {
use SeoTrait;
public string $name = '';
public string $email = '';
public string $password = '';
@@ -21,7 +25,7 @@ new #[Layout('components.layouts.auth')] class extends Component {
{
$validated = $this->validate([
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'lowercase', 'email', 'max:255', 'unique:' . User::class],
'email' => ['required', 'string', 'lowercase', 'email', 'max:255', 'unique:'.User::class],
'password' => ['required', 'string', 'confirmed', Rules\Password::defaults()],
]);
@@ -36,10 +40,11 @@ new #[Layout('components.layouts.auth')] class extends Component {
}; ?>
<div class="flex flex-col gap-6">
<x-auth-header :title="__('Create an account')" :description="__('Enter your details below to create your account')" />
<x-auth-header :title="__('Create an account')"
:description="__('Enter your details below to create your account')"/>
<!-- Session Status -->
<x-auth-session-status class="text-center" :status="session('status')" />
<x-auth-session-status class="text-center" :status="session('status')"/>
<form wire:submit="register" class="flex flex-col gap-6">
<!-- Name -->

View File

@@ -1,5 +1,6 @@
<?php
use App\Traits\SeoTrait;
use Illuminate\Auth\Events\PasswordReset;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Password;
@@ -10,7 +11,10 @@ use Livewire\Attributes\Layout;
use Livewire\Attributes\Locked;
use Livewire\Volt\Component;
new #[Layout('components.layouts.auth')] class extends Component {
new #[Layout('components.layouts.auth')]
class extends Component {
use SeoTrait;
#[Locked]
public string $token = '';
public string $email = '';
@@ -69,10 +73,10 @@ new #[Layout('components.layouts.auth')] class extends Component {
}; ?>
<div class="flex flex-col gap-6">
<x-auth-header :title="__('Reset password')" :description="__('Please enter your new password below')" />
<x-auth-header :title="__('Reset password')" :description="__('Please enter your new password below')"/>
<!-- Session Status -->
<x-auth-session-status class="text-center" :status="session('status')" />
<x-auth-session-status class="text-center" :status="session('status')"/>
<form wire:submit="resetPassword" class="flex flex-col gap-6">
<!-- Email Address -->

View File

@@ -1,12 +1,16 @@
<?php
use App\Livewire\Actions\Logout;
use App\Traits\SeoTrait;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Session;
use Livewire\Attributes\Layout;
use Livewire\Volt\Component;
new #[Layout('components.layouts.auth')] class extends Component {
new #[Layout('components.layouts.auth')]
class extends Component {
use SeoTrait;
/**
* Send an email verification notification to the user.
*/