logo light

Change the default page instead of Dashboard for Panels

Image Description
By: Lara Zeus
  • Published: 26 Mar 2025 Updated: 26 Mar 2025

set any page like List Or view page as the main page instead of using a dashboard page in filamentPHP

Change the default page instead of Dashboard for Panels

in some cases you want the default page in the / route to be something else, like a list page for a resource, here is how you can do it:

Using Custom Login Response:

you can create a `CustomLoginResponse` and redirect the users after login to that page:

1class CustomLoginResponse extends LoginResponse
2{
3 public function toResponse($request): RedirectResponse|Redirector
4 {
5 return redirect()->intended(YourResource::getUrl());
6 }
7}

and register it in your panel provider:

1return $panel
2 ->bootUsing(function (): void {
3 app()->bind(LoginResponse::class, CustomLoginResponse::class);
4 })

Thanks to Leandro Ferreira for the idea

Using Laravel Routes:

you can redirect the user to the resource you want when they access the / page:

1Route::redirect('/admin/', '/admin/users');

Changeing the slug for the resource:

you can set the slug for your class, for example let say you want the users to be redirected to the List Users page:

set the slug in the ListUsers

1protected static ?string $slug = '/';

and in you panel provider, disable the dashboard page and add the ListUsers:

1->pages([
2 //Pages\Dashboard::class,
3 UserResource\Pages\ListUsers::class
4])

Back to Tricks