Skip to content

Commit dd77555

Browse files
Add tooltips to actions across admin area (#2134)
Co-authored-by: Boy132 <[email protected]>
1 parent 297ecb5 commit dd77555

File tree

83 files changed

+505
-495
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+505
-495
lines changed

app/Enums/CustomizationKey.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ enum CustomizationKey: string
1111
case TopNavigation = 'top_navigation';
1212
case DashboardLayout = 'dashboard_layout';
1313

14+
case ButtonStyle = 'button_style';
15+
1416
public function getDefaultValue(): string|int|bool
1517
{
1618
return match ($this) {
@@ -20,6 +22,7 @@ public function getDefaultValue(): string|int|bool
2022
self::ConsoleGraphPeriod => 30,
2123
self::TopNavigation => config('panel.filament.default-navigation', 'sidebar'),
2224
self::DashboardLayout => 'grid',
25+
self::ButtonStyle => true,
2326
};
2427
}
2528

app/Filament/Admin/Pages/Health.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
use Filament\Actions\Action;
99
use Filament\Notifications\Notification;
1010
use Filament\Pages\Page;
11-
use Filament\Support\Enums\IconSize;
1211
use Illuminate\Support\Facades\Artisan;
1312
use Spatie\Health\Commands\RunHealthChecksCommand;
1413
use Spatie\Health\Enums\Status;
@@ -49,8 +48,8 @@ protected function getActions(): array
4948
{
5049
return [
5150
Action::make('refresh')
52-
->label(trans('admin/health.refresh'))
53-
->iconButton()->iconSize(IconSize::ExtraLarge)
51+
->hiddenLabel()
52+
->tooltip(trans('admin/health.refresh'))
5453
->icon(TablerIcon::Refresh)
5554
->action('refresh'),
5655
];

app/Filament/Admin/Pages/ListLogs.php

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
use Boquizo\FilamentLogViewer\Pages\ListLogs as BaseListLogs;
1010
use Boquizo\FilamentLogViewer\Tables\Columns\LevelColumn;
1111
use Boquizo\FilamentLogViewer\Tables\Columns\NameColumn;
12+
use Boquizo\FilamentLogViewer\UseCases\ParseDateUseCase;
1213
use Boquizo\FilamentLogViewer\Utils\Level;
1314
use Filament\Actions\Action;
1415
use Filament\Notifications\Notification;
15-
use Filament\Support\Enums\IconSize;
1616
use Filament\Tables\Table;
1717
use Illuminate\Support\Facades\Http;
1818

@@ -47,12 +47,14 @@ public static function table(Table $table): Table
4747
])
4848
->recordActions([
4949
ViewLogAction::make()
50-
->icon(TablerIcon::FileDescription)->iconSize(IconSize::Large)->iconButton(),
50+
->icon(TablerIcon::FileDescription)->iconButton(),
5151
DownloadAction::make()
52-
->icon(TablerIcon::FileDownload)->iconSize(IconSize::Large)->iconButton(),
52+
->tooltip(fn ($record) => trans('filament-log-viewer::log.table.actions.download.label', ['log' => ParseDateUseCase::execute($record['date'])]))
53+
->icon(TablerIcon::FileDownload)->iconButton(),
5354
Action::make('uploadLogs')
5455
->hiddenLabel()
55-
->icon(TablerIcon::WorldUpload)->iconSize(IconSize::Large)->iconButton()
56+
->tooltip(trans('admin/log.actions.upload_tooltip', ['url' => 'logs.pelican.dev']))
57+
->icon(TablerIcon::WorldUpload)
5658
->requiresConfirmation()
5759
->modalHeading(trans('admin/log.actions.upload_logs'))
5860
->modalDescription(fn ($record) => trans('admin/log.actions.upload_logs_description', ['file' => $record['date'], 'url' => 'https://logs.pelican.dev']))
@@ -101,7 +103,7 @@ public static function table(Table $table): Table
101103
->body("{$url}")
102104
->success()
103105
->actions([
104-
Action::make('viewLogs')
106+
Action::make('exclude_viewLogs')
105107
->label(trans('admin/log.actions.view_logs'))
106108
->url($url)
107109
->openUrlInNewTab(true),
@@ -120,7 +122,7 @@ public static function table(Table $table): Table
120122
}
121123
}),
122124
DeleteAction::make()
123-
->iconSize(IconSize::Medium)->iconButton(),
125+
->icon(TablerIcon::Trash)->iconButton(),
124126
]);
125127
}
126128
}

app/Filament/Admin/Pages/Settings.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
use Filament\Schemas\Components\Utilities\Set;
3939
use Filament\Schemas\Contracts\HasSchemas;
4040
use Filament\Schemas\Schema;
41-
use Filament\Support\Enums\IconSize;
4241
use Filament\Support\Enums\Width;
4342
use Illuminate\Http\Client\Factory;
4443
use Illuminate\Support\Arr;
@@ -245,14 +244,14 @@ private function generalSettings(): array
245244
->placeholder(trans('admin/setting.general.trusted_proxies_help'))
246245
->default(env('TRUSTED_PROXIES', implode(',', Arr::wrap(config('trustedproxy.proxies')))))
247246
->hintActions([
248-
Action::make('clear')
247+
Action::make('hint_clear')
249248
->label(trans('admin/setting.general.clear'))
250249
->color('danger')
251250
->icon(TablerIcon::Trash)
252251
->requiresConfirmation()
253252
->authorize(fn () => user()?->can('update settings'))
254253
->action(fn (Set $set) => $set('TRUSTED_PROXIES', [])),
255-
Action::make('cloudflare')
254+
Action::make('hint_cloudflare')
256255
->label(trans('admin/setting.general.set_to_cf'))
257256
->icon(TablerIcon::BrandCloudflare)
258257
->authorize(fn () => user()?->can('update settings'))
@@ -350,7 +349,7 @@ private function mailSettings(): array
350349
->live()
351350
->default(env('MAIL_MAILER', config('mail.default')))
352351
->hintAction(
353-
Action::make('test')
352+
Action::make('hint_test')
354353
->label(trans('admin/setting.mail.test_mail'))
355354
->icon(TablerIcon::Send)
356355
->hidden(fn (Get $get) => $get('MAIL_MAILER') === 'log')
@@ -853,9 +852,10 @@ protected function getDefaultHeaderActions(): array
853852
{
854853
return [
855854
Action::make('save')
856-
->iconButton()->iconSize(IconSize::ExtraLarge)
855+
->hiddenLabel()
857856
->icon(TablerIcon::DeviceFloppy)
858857
->action('save')
858+
->tooltip(trans('filament-panels::resources/pages/edit-record.form.actions.save.label'))
859859
->authorize(fn () => user()?->can('update settings'))
860860
->keyBindings(['mod+s']),
861861
];

app/Filament/Admin/Pages/ViewLogs.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
use Boquizo\FilamentLogViewer\Pages\ViewLog as BaseViewLog;
1111
use Filament\Actions\Action;
1212
use Filament\Notifications\Notification;
13-
use Filament\Support\Enums\IconSize;
1413
use Illuminate\Support\Facades\Http;
1514

1615
class ViewLogs extends BaseViewLog
@@ -21,14 +20,15 @@ public function getHeaderActions(): array
2120
{
2221
return [
2322
BackAction::make()
24-
->icon(TablerIcon::ArrowLeft)->iconSize(IconSize::ExtraLarge)->iconButton(),
23+
->tooltip(trans('filament-log-viewer::log.table.actions.close.label'))
24+
->icon(TablerIcon::ArrowLeft)->iconButton(),
2525
DeleteAction::make(withTooltip: true)
26-
->iconSize(IconSize::ExtraLarge)->iconButton(),
26+
->icon(TablerIcon::Trash)->iconButton(),
2727
DownloadAction::make(withTooltip: true)
28-
->icon(TablerIcon::FileDownload)->iconSize(IconSize::ExtraLarge)->iconButton(),
28+
->icon(TablerIcon::FileDownload)->iconButton(),
2929
Action::make('uploadLogs')
3030
->hiddenLabel()
31-
->icon(TablerIcon::WorldUpload)->iconSize(IconSize::ExtraLarge)->iconButton()
31+
->icon(TablerIcon::WorldUpload)
3232
->requiresConfirmation()
3333
->tooltip(trans('admin/log.actions.upload_tooltip', ['url' => 'logs.pelican.dev']))
3434
->modalHeading(trans('admin/log.actions.upload_logs'))
@@ -78,7 +78,7 @@ public function getHeaderActions(): array
7878
->body("{$url}")
7979
->success()
8080
->actions([
81-
Action::make('viewLogs')
81+
Action::make('exclude_viewLogs')
8282
->label(trans('admin/log.actions.view_logs'))
8383
->url($url)
8484
->openUrlInNewTab(true),

app/Filament/Admin/Resources/ApiKeys/ApiKeyResource.php

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use App\Traits\Filament\CanModifyTable;
1515
use BackedEnum;
1616
use Exception;
17+
use Filament\Actions\CreateAction;
1718
use Filament\Actions\DeleteAction;
1819
use Filament\Forms\Components\TagsInput;
1920
use Filament\Forms\Components\Textarea;
@@ -22,7 +23,6 @@
2223
use Filament\Resources\Resource;
2324
use Filament\Schemas\Components\Fieldset;
2425
use Filament\Schemas\Schema;
25-
use Filament\Support\Enums\IconSize;
2626
use Filament\Tables\Columns\TextColumn;
2727
use Filament\Tables\Table;
2828
use Illuminate\Database\Eloquent\Builder;
@@ -98,8 +98,12 @@ public static function defaultTable(Table $table): Table
9898
->url(fn (ApiKey $apiKey) => user()?->can('update', $apiKey->user) ? EditUser::getUrl(['record' => $apiKey->user]) : null),
9999
])
100100
->recordActions([
101-
DeleteAction::make()
102-
->iconButton()->iconSize(IconSize::ExtraLarge),
101+
DeleteAction::make(),
102+
])
103+
->toolbarActions([
104+
CreateAction::make()
105+
->hiddenLabel()
106+
->icon(TablerIcon::Plus),
103107
])
104108
->emptyStateIcon(TablerIcon::Key)
105109
->emptyStateDescription('')

app/Filament/Admin/Resources/ApiKeys/Pages/CreateApiKey.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
use Filament\Actions\Action;
1111
use Filament\Actions\ActionGroup;
1212
use Filament\Resources\Pages\CreateRecord;
13-
use Filament\Support\Enums\IconSize;
1413
use Illuminate\Database\Eloquent\Model;
1514
use Illuminate\Support\Str;
1615

@@ -27,8 +26,11 @@ class CreateApiKey extends CreateRecord
2726
protected function getDefaultHeaderActions(): array
2827
{
2928
return [
30-
$this->getCreateFormAction()->formId('form')
31-
->iconButton()->iconSize(IconSize::ExtraLarge)
29+
Action::make('create')
30+
->hiddenLabel()
31+
->action('create')
32+
->keyBindings(['mod+s'])
33+
->tooltip(trans('filament-panels::resources/pages/create-record.form.actions.create.label'))
3234
->icon(TablerIcon::FilePlus),
3335
];
3436
}

app/Filament/Admin/Resources/ApiKeys/Pages/ListApiKeys.php

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,15 @@
22

33
namespace App\Filament\Admin\Resources\ApiKeys\Pages;
44

5-
use App\Enums\TablerIcon;
65
use App\Filament\Admin\Resources\ApiKeys\ApiKeyResource;
76
use App\Traits\Filament\CanCustomizeHeaderActions;
87
use App\Traits\Filament\CanCustomizeHeaderWidgets;
9-
use Filament\Actions\Action;
10-
use Filament\Actions\ActionGroup;
11-
use Filament\Actions\CreateAction;
128
use Filament\Resources\Pages\ListRecords;
13-
use Filament\Support\Enums\IconSize;
149

1510
class ListApiKeys extends ListRecords
1611
{
1712
use CanCustomizeHeaderActions;
1813
use CanCustomizeHeaderWidgets;
1914

2015
protected static string $resource = ApiKeyResource::class;
21-
22-
/** @return array<Action|ActionGroup> */
23-
protected function getDefaultHeaderActions(): array
24-
{
25-
return [
26-
CreateAction::make()
27-
->iconButton()->iconSize(IconSize::ExtraLarge)
28-
->icon(TablerIcon::FilePlus),
29-
];
30-
}
3116
}

app/Filament/Admin/Resources/DatabaseHosts/DatabaseHostResource.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
use App\Traits\Filament\CanModifyTable;
1616
use BackedEnum;
1717
use Exception;
18+
use Filament\Actions\BulkActionGroup;
19+
use Filament\Actions\CreateAction;
1820
use Filament\Actions\DeleteBulkAction;
1921
use Filament\Actions\EditAction;
2022
use Filament\Actions\ViewAction;
@@ -96,8 +98,13 @@ public static function defaultTable(Table $table): Table
9698
->hidden(fn ($record) => static::getEditAuthorizationResponse($record)->allowed()),
9799
EditAction::make(),
98100
])
99-
->groupedBulkActions([
100-
DeleteBulkAction::make(),
101+
->toolbarActions([
102+
CreateAction::make()
103+
->hiddenLabel()
104+
->icon(TablerIcon::Plus),
105+
BulkActionGroup::make([
106+
DeleteBulkAction::make(),
107+
]),
101108
])
102109
->emptyStateIcon(TablerIcon::Database)
103110
->emptyStateDescription('')

app/Filament/Admin/Resources/DatabaseHosts/Pages/EditDatabaseHost.php

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
use Filament\Actions\DeleteAction;
1414
use Filament\Notifications\Notification;
1515
use Filament\Resources\Pages\EditRecord;
16-
use Filament\Support\Enums\IconSize;
1716
use Filament\Support\Exceptions\Halt;
1817
use Illuminate\Database\Eloquent\Model;
1918
use PDOException;
@@ -37,11 +36,13 @@ protected function getDefaultHeaderActions(): array
3736
{
3837
return [
3938
DeleteAction::make()
40-
->label(fn (DatabaseHost $databaseHost) => $databaseHost->databases()->count() > 0 ? trans('admin/databasehost.delete_help') : trans('filament-actions::delete.single.modal.actions.delete.label'))
41-
->disabled(fn (DatabaseHost $databaseHost) => $databaseHost->databases()->count() > 0)
42-
->iconButton()->iconSize(IconSize::ExtraLarge),
43-
$this->getSaveFormAction()->formId('form')
44-
->iconButton()->iconSize(IconSize::ExtraLarge)
39+
->tooltip(fn (DatabaseHost $databaseHost) => $databaseHost->databases()->count() > 0 ? trans('admin/databasehost.delete_help') : trans('filament-actions::delete.single.modal.actions.delete.label'))
40+
->disabled(fn (DatabaseHost $databaseHost) => $databaseHost->databases()->count() > 0),
41+
Action::make('save')
42+
->hiddenLabel()
43+
->action('save')
44+
->keyBindings(['mod+s'])
45+
->tooltip(trans('filament-panels::resources/pages/edit-record.form.actions.save.label'))
4546
->icon(TablerIcon::DeviceFloppy),
4647
];
4748
}

0 commit comments

Comments
 (0)