Implemented logout,delete account with fortify in laravel for front use a livewire with tailwind css

This commit is contained in:
Nima8FT 2025-04-19 15:16:30 +03:30
parent 15ea8afa24
commit 665ad1ab7c
6 changed files with 75 additions and 2 deletions

View File

@ -0,0 +1,32 @@
<?php
namespace App\Livewire;
use Livewire\Component;
use Illuminate\Support\Facades\Auth;
class DeleteAccount extends Component
{
public function deleteAccount()
{
try {
$user = auth()->user();
Auth::logout();
$user->delete();
// invalidate session
session()->invalidate();
session()->regenerateToken();
return redirect('/login')->with('status', 'Your account has been deleted successfully.');
} catch (\Exception $e) {
session()->flash('error', 'There was a problem deleting your account.');
}
}
public function render()
{
return view('livewire.delete-account');
}
}

View File

@ -0,0 +1,24 @@
<?php
namespace App\Livewire;
use Livewire\Component;
use Illuminate\Support\Facades\Auth;
class Logout extends Component
{
public function logout()
{
Auth::logout();
session()->invalidate();
session()->regenerateToken();
return redirect()->route('login');
}
public function render()
{
return view('livewire.logout');
}
}

View File

@ -2,7 +2,9 @@
namespace App\Livewire;
use GuzzleHttp\Psr7\Request;
use Livewire\Component;
use Illuminate\Support\Facades\Auth;
class Profile extends Component
{

View File

@ -0,0 +1,6 @@
<div>
<button wire:click='deleteAccount'
class="px-4 py-2 border border-red-700 text-white rounded-md hover:bg-red-700 cursor-pointer transition ease-in-out duration-300 font-bold">
Delete Account
</button>
</div>

View File

@ -0,0 +1,6 @@
<div>
<button wire:click='logout'
class="px-4 py-2 border border-red-700 text-white rounded-md hover:bg-red-700 cursor-pointer transition ease-in-out duration-300 font-bold">
Logout
</button>
</div>

View File

@ -1,3 +1,6 @@
<div>
<h1>you are logged in</h1>
<div class="bg-[#0d1b2a] h-screen flex justify-center items-center flex-col space-y-8">
<livewire:logout />
<livewire:delete-account />
</div>