If you want to customize the dashboard (e.g., change navigation labels, groups, or specific widget selection), the recommended approach is to disable the default dashboard and create a custom Filament page.
- Generate a new page:
php artisan filament:page MyCustomDashboardPage
- Register the desired widgets in
getHeaderWidgets() or getFooterWidgets():
<?php
namespace App\Filament\Pages;
use Filament\Pages\Page;
use BezhanSalleh\GoogleAnalytics\Widgets;
class MyCustomDashboardPage extends Page
{
protected static ?string $navigationIcon = 'heroicon-o-document-text';
protected static string $view = 'filament.pages.my-custom-dashboard-page';
protected function getHeaderWidgets(): array
{
return [
Widgets\PageViewsWidget::class,
Widgets\VisitorsWidget::class,
// Add other widgets here...
];
}
}
<?php
namespace App\Filament\Pages;
use Filament\Pages\Page;
use BezhanSalleh\GoogleAnalytics\Widgets;
class MyCustomDashboardPage extends Page
{
protected static ?string $navigationIcon = 'heroicon-o-document-text';
protected static string $view = 'filament.pages.my-custom-dashboard-page';
protected function getHeaderWidgets(): array
{
return [
Widgets\PageViewsWidget::class,
Widgets\VisitorsWidget::class,
Widgets\ActiveUsersOneDayWidget::class,
Widgets\ActiveUsersSevenDayWidget::class,
Widgets\ActiveUsersTwentyEightDayWidget::class,
Widgets\SessionsWidget::class,
Widgets\SessionsByCountryWidget::class,
Widgets\SessionsDurationWidget::class,
Widgets\SessionsByDeviceWidget::class,
n Widgets\MostVisitedPagesWidget::class,
Widgets\TopReferrersListWidget::class,
];
}
}