
Change the default page instead of Dashboard for Panels
- 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

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])

Related Tricks:
let users select a color for the panel
how to make actions sticky in tables when you have a lot of columns
Usability: Knowing whether or not the record was saved.
when you have a lot of resources, let your users search for what they looking for int he sidebar.
how to use an action as a headerAction or as a table row action without code duplication