dashboard -> admin

This commit is contained in:
punkfairie 2025-02-20 20:44:59 -08:00
parent cea65304c3
commit 1e3801bf6e
Signed by: punkfairie
GPG key ID: B3C5488E9A1A7CA6
12 changed files with 44 additions and 32 deletions

View file

@ -28,7 +28,7 @@ public function store(LoginRequest $request): RedirectResponse
$request->session()->regenerate();
return redirect()->intended(route('dashboard', absolute: false));
return redirect()->intended(route('admin', absolute: false));
}
/**

View file

@ -24,8 +24,8 @@ public function show(): View
*/
public function store(Request $request): RedirectResponse
{
if (! Auth::guard('web')->validate([
'email' => $request->user()->email,
if (!Auth::guard('web')->validate([
'email' => $request->user()->email,
'password' => $request->password,
])) {
throw ValidationException::withMessages([
@ -35,6 +35,6 @@ public function store(Request $request): RedirectResponse
$request->session()->put('auth.password_confirmed_at', time());
return redirect()->intended(route('dashboard', absolute: false));
return redirect()->intended(route('admin', absolute: false));
}
}

View file

@ -14,7 +14,7 @@ class EmailVerificationNotificationController extends Controller
public function store(Request $request): RedirectResponse
{
if ($request->user()->hasVerifiedEmail()) {
return redirect()->intended(route('dashboard', absolute: false));
return redirect()->intended(route('admin', absolute: false));
}
$request->user()->sendEmailVerificationNotification();

View file

@ -15,7 +15,7 @@ class EmailVerificationPromptController extends Controller
public function __invoke(Request $request): RedirectResponse|View
{
return $request->user()->hasVerifiedEmail()
? redirect()->intended(route('dashboard', absolute: false))
: view('auth.verify-email');
? redirect()->intended(route('admin', absolute: false))
: view('auth.verify-email');
}
}

View file

@ -30,14 +30,21 @@ public function create(): View
public function store(Request $request): RedirectResponse
{
$request->validate([
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'lowercase', 'email', 'max:255', 'unique:'.User::class],
'name' => ['required', 'string', 'max:255'],
'email' => [
'required',
'string',
'lowercase',
'email',
'max:255',
'unique:'.User::class
],
'password' => ['required', 'confirmed', Rules\Password::defaults()],
]);
$user = User::create([
'name' => $request->name,
'email' => $request->email,
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->password),
]);
@ -45,6 +52,6 @@ public function store(Request $request): RedirectResponse
Auth::login($user);
return redirect(route('dashboard', absolute: false));
return redirect(route('admin', absolute: false));
}
}

View file

@ -12,16 +12,18 @@ class VerifyEmailController extends Controller
/**
* Mark the authenticated user's email address as verified.
*/
public function __invoke(EmailVerificationRequest $request): RedirectResponse
{
public function __invoke(EmailVerificationRequest $request
): RedirectResponse {
if ($request->user()->hasVerifiedEmail()) {
return redirect()->intended(route('dashboard', absolute: false).'?verified=1');
return redirect()->intended(route('admin', absolute: false)
.'?verified=1');
}
if ($request->user()->markEmailAsVerified()) {
event(new Verified($request->user()));
}
return redirect()->intended(route('dashboard', absolute: false).'?verified=1');
return redirect()->intended(route('admin', absolute: false)
.'?verified=1');
}
}

View file

@ -1,6 +1,6 @@
<x-app-layout>
<x-slot:header>
<h2>Dashboard</h2>
<h2>Admin</h2>
</x-slot>
<div>You're logged in!</div>

View file

@ -1,7 +1,7 @@
@if (Route::has('login'))
<nav>
@auth
<a href="{{ route('dashboard') }}">Dashboard</a>
<a href="{{ route('admin') }}">Admin</a>
@else
<a href="{{ route('login') }}">Log in</a>

View file

@ -7,14 +7,17 @@
return view('welcome');
});
Route::get('/dashboard', function () {
return view('dashboard');
})->middleware(['auth', 'verified'])->name('dashboard');
Route::get('/admin', function () {
return view('admin');
})->middleware(['auth', 'verified'])->name('admin');
Route::middleware('auth')->group(function () {
Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
Route::get('/profile', [ProfileController::class, 'edit'])
->name('profile.edit');
Route::patch('/profile', [ProfileController::class, 'update'])
->name('profile.update');
Route::delete('/profile', [ProfileController::class, 'destroy'])
->name('profile.destroy');
});
require __DIR__.'/auth.php';

View file

@ -12,19 +12,19 @@
$user = User::factory()->create();
$response = $this->post('/login', [
'email' => $user->email,
'email' => $user->email,
'password' => 'password',
]);
$this->assertAuthenticated();
$response->assertRedirect(route('dashboard', absolute: false));
$response->assertRedirect(route('admin', absolute: false));
});
test('users can not authenticate with invalid password', function () {
$user = User::factory()->create();
$this->post('/login', [
'email' => $user->email,
'email' => $user->email,
'password' => 'wrong-password',
]);

View file

@ -28,7 +28,7 @@
Event::assertDispatched(Verified::class);
expect($user->fresh()->hasVerifiedEmail())->toBeTrue();
$response->assertRedirect(route('dashboard', absolute: false).'?verified=1');
$response->assertRedirect(route('admin', absolute: false).'?verified=1');
});
test('email is not verified with invalid hash', function () {

View file

@ -8,12 +8,12 @@
test('new users can register', function () {
$response = $this->post('/register', [
'name' => 'Test User',
'email' => 'test@example.com',
'password' => 'password',
'name' => 'Test User',
'email' => 'test@example.com',
'password' => 'password',
'password_confirmation' => 'password',
]);
$this->assertAuthenticated();
$response->assertRedirect(route('dashboard', absolute: false));
$response->assertRedirect(route('admin', absolute: false));
});