diff --git a/app/Http/Controllers/Auth/ImpersonatedUserController.php b/app/Http/Controllers/Auth/ImpersonatedUserController.php index aa20423..8e0d59b 100644 --- a/app/Http/Controllers/Auth/ImpersonatedUserController.php +++ b/app/Http/Controllers/Auth/ImpersonatedUserController.php @@ -11,6 +11,7 @@ class ImpersonatedUserController extends Controller public function store(User $user) { Session()->put('impersonate', Auth::id()); + Session()->put('impersonate_name', $user->name); Auth::login($user); @@ -24,6 +25,7 @@ public function destroy() Auth::loginUsingId($adminId); Session()->forget('impersonate'); + Session()->forget('impersonate_name'); return to_route('admin.dashboard'); } diff --git a/resources/views/components/impersonate-alert.blade.php b/resources/views/components/impersonate-alert.blade.php new file mode 100644 index 0000000..ce260e6 --- /dev/null +++ b/resources/views/components/impersonate-alert.blade.php @@ -0,0 +1,8 @@ +
+ +
+ You are impersonating as {{session()->get('impersonate_name', 'a User')}} + +
+
+
diff --git a/resources/views/components/layout.blade.php b/resources/views/components/layout.blade.php index 7bb929b..7364cfd 100644 --- a/resources/views/components/layout.blade.php +++ b/resources/views/components/layout.blade.php @@ -26,6 +26,9 @@ diff --git a/resources/views/components/ui/button.blade.php b/resources/views/components/ui/button.blade.php index cdfdddf..a39b000 100644 --- a/resources/views/components/ui/button.blade.php +++ b/resources/views/components/ui/button.blade.php @@ -23,7 +23,9 @@ @if($icon !=='') @svg("heroicon-o-$icon", 'w-5 h-5') @endif -

{{$slot}}

+ @if(isset($slot)) +

{{$slot}}

+ @endif @else diff --git a/routes/web/auth.php b/routes/web/auth.php index 6e4fc26..6b5f63f 100644 --- a/routes/web/auth.php +++ b/routes/web/auth.php @@ -17,7 +17,9 @@ ->middleware('auth') ->name('logout'); -Route::middleware([HasRole::class.':'.UserTypes::Admin->value, 'auth'])->group(function () { - Route::get('/impersonate/{user}', [ImpersonatedUserController::class, 'store'])->name('impersonate'); - Route::delete('/impersonate', [ImpersonatedUserController::class, 'destroy'])->name('impersonate.destroy'); +Route::middleware('auth')->group(function () { + Route::get('/impersonate/{user}', [ImpersonatedUserController::class, 'store']) + ->middleware(HasRole::class.':'.UserTypes::Admin->value) + ->name('impersonate'); + Route::get('/impersonate', [ImpersonatedUserController::class, 'destroy'])->name('impersonate.destroy'); });