mirror of
https://github.com/filamentphp/filament.git
synced 2026-09-24 15:42:09 +08:00
Make "home" configurable
This commit is contained in:
@@ -56,6 +56,18 @@ return [
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Home
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The path to the "home" route for Filament.
|
||||
| This is used by Filament authentication to redirect users after login.
|
||||
|
|
||||
*/
|
||||
|
||||
'home' => 'filament.dashboard', // string or named route
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Navigation
|
||||
|
||||
@@ -8,6 +8,7 @@ use Illuminate\Support\Facades\{
|
||||
Request,
|
||||
File,
|
||||
Storage,
|
||||
Route,
|
||||
};
|
||||
use Illuminate\Support\{
|
||||
Str,
|
||||
@@ -166,6 +167,17 @@ class Filament
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the path to the "home" route for Filament.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function home()
|
||||
{
|
||||
$home = config('filament.home');
|
||||
return Route::has($home) ? route($home) : $home;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a secure Glide image URL.
|
||||
*
|
||||
|
||||
@@ -5,6 +5,7 @@ namespace Filament\Http\Livewire\Auth;
|
||||
use Livewire\Component;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Filament;
|
||||
use Filament\Traits\ThrottlesLogins;
|
||||
|
||||
class Login extends Component
|
||||
@@ -37,7 +38,7 @@ class Login extends Component
|
||||
}
|
||||
|
||||
if (Auth::attempt($data, (bool) $this->remember)) {
|
||||
return redirect()->intended(route('filament.dashboard'));
|
||||
return redirect()->intended(Filament::home());
|
||||
}
|
||||
|
||||
$this->incrementLoginAttempts($request);
|
||||
|
||||
@@ -6,6 +6,7 @@ use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Auth\Events\Registered;
|
||||
use Livewire\Component;
|
||||
use Filament;
|
||||
|
||||
class Register extends Component
|
||||
{
|
||||
@@ -39,7 +40,7 @@ class Register extends Component
|
||||
event(new Registered($user));
|
||||
Auth::login($user);
|
||||
|
||||
return redirect()->route('filament.dashboard');
|
||||
return redirect()->to(Filament::home());
|
||||
}
|
||||
|
||||
public function render()
|
||||
|
||||
@@ -11,6 +11,7 @@ use Illuminate\Support\Facades\{
|
||||
Password,
|
||||
};
|
||||
use Livewire\Component;
|
||||
use Filament;
|
||||
|
||||
class ResetPassword extends Component
|
||||
{
|
||||
@@ -47,7 +48,7 @@ class ResetPassword extends Component
|
||||
|
||||
if ($status === Password::PASSWORD_RESET) {
|
||||
Auth::login($this->user);
|
||||
return redirect()->route('filament.dashboard');
|
||||
return redirect()->to(Filament::home());
|
||||
} else {
|
||||
$this->addError('email', __($status));
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ namespace Filament\Tests\Feature;
|
||||
|
||||
use Livewire\Livewire;
|
||||
use Filament\Tests\TestCase;
|
||||
use Filament;
|
||||
use Filament\Tests\Database\Models\User;
|
||||
use Filament\Http\Livewire\Auth\Login;
|
||||
|
||||
@@ -25,7 +26,7 @@ class LoginTest extends TestCase
|
||||
->set('email', $user->email)
|
||||
->set('password', 'password')
|
||||
->call('login')
|
||||
->assertRedirect(route('filament.dashboard'));
|
||||
->assertRedirect(Filament::home());
|
||||
|
||||
$this->assertAuthenticated();
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ namespace Filament\Tests\Feature;
|
||||
|
||||
use Livewire\Livewire;
|
||||
use Filament\Tests\TestCase;
|
||||
use Filament;
|
||||
use Filament\Tests\Database\Models\User;
|
||||
use Filament\Http\Livewire\Auth\Logout;
|
||||
|
||||
@@ -14,7 +15,7 @@ class LogoutTest extends TestCase
|
||||
$this->withoutExceptionHandling();
|
||||
$user = User::factory()->create();
|
||||
$this->actingAs($user)
|
||||
->get(route('filament.dashboard'))
|
||||
->get(Filament::home())
|
||||
->assertSeeLivewire('filament-logout');
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ namespace Filament\Tests\Feature;
|
||||
|
||||
use Livewire\Livewire;
|
||||
use Filament\Tests\TestCase;
|
||||
use Filament;
|
||||
use Filament\Http\Livewire\Auth\Register;
|
||||
use Filament\Tests\Database\Models\User;
|
||||
|
||||
@@ -25,7 +26,7 @@ class RegisterTest extends TestCase
|
||||
->set('password_confirmation', 'password')
|
||||
->call('register')
|
||||
->assertHasNoErrors(['name', 'email', 'password', 'password_confirmation'])
|
||||
->assertRedirect(route('filament.dashboard'));
|
||||
->assertRedirect(Filament::home());
|
||||
|
||||
$this->assertDatabaseHas('users', [
|
||||
'name' => 'Me',
|
||||
|
||||
@@ -6,9 +6,12 @@ use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Password;
|
||||
use Livewire\Livewire;
|
||||
use Filament\Tests\TestCase;
|
||||
use Filament;
|
||||
use Filament\Tests\Database\Models\User;
|
||||
use Filament\Http\Livewire\Auth\Login;
|
||||
use Filament\Http\Livewire\Auth\ResetPassword;
|
||||
use Filament\Http\Livewire\Auth\{
|
||||
Login,
|
||||
ResetPassword,
|
||||
};
|
||||
|
||||
class ResetPasswordTest extends TestCase
|
||||
{
|
||||
@@ -93,7 +96,7 @@ class ResetPasswordTest extends TestCase
|
||||
|
||||
public function test_user_can_reset_password_with_valid_token()
|
||||
{
|
||||
$dashboard = route('filament.dashboard');
|
||||
$dashboard = Filament::home();
|
||||
|
||||
Livewire::test(ResetPassword::class, ['token' => $this->token])
|
||||
->set('email', $this->user->email)
|
||||
|
||||
Reference in New Issue
Block a user