Skip to content

Commit 660b46f

Browse files
authored
Lucide icons (#118)
* Install `codewithdennis/filament-lucide-icons` * Use Lucide icons in Filament * Update laravel-boost.mdc * Fix code style
1 parent a5bec9a commit 660b46f

File tree

7 files changed

+153
-7
lines changed

7 files changed

+153
-7
lines changed

.cursor/rules/laravel-boost.mdc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -657,7 +657,7 @@ Forms\Components\Select::make('user_id')
657657
- All action classes extend `Filament\Actions\Action`. No action classes exist in `Filament\Tables\Actions`.
658658
- The `Form` & `Infolist` layout components have been moved to `Filament\Schemas\Components`, for example `Grid`, `Section`, `Fieldset`, `Tabs`, `Wizard`, etc.
659659
- A new `Repeater` component for Forms has been added.
660-
- Icons now use the `Filament\Support\Icons\Heroicon` Enum by default. Other options are available and documented.
660+
- Icons now use the `CodeWithDennis\FilamentLucideIcons\Enums\LucideIcon` Enum by default. Other options are available and documented.
661661

662662
### Organize Component Classes Structure
663663
- Schema components: `Schemas/Components/`

app/Filament/Pages/Dashboard.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
3+
namespace App\Filament\Pages;
4+
5+
use CodeWithDennis\FilamentLucideIcons\Enums\LucideIcon;
6+
7+
class Dashboard extends \Filament\Pages\Dashboard
8+
{
9+
protected static string|\BackedEnum|null $navigationIcon = LucideIcon::House;
10+
}

app/Filament/Resources/Users/Tables/UsersTable.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44

55
use App\Enums\Role;
66
use App\Models\User;
7+
use CodeWithDennis\FilamentLucideIcons\Enums\LucideIcon;
78
use Filament\Actions\BulkActionGroup;
89
use Filament\Actions\DeleteBulkAction;
910
use Filament\Actions\EditAction;
10-
use Filament\Support\Icons\Heroicon;
1111
use Filament\Tables\Columns\TextColumn;
1212
use Filament\Tables\Filters\SelectFilter;
1313
use Filament\Tables\Filters\TernaryFilter;
@@ -27,8 +27,8 @@ public static function configure(Table $table): Table
2727
TextColumn::make('email')
2828
->tooltip(fn (User $user) => $user->hasVerifiedEmail() ? 'Email Verified' : 'Email Not Verified')
2929
->icon(fn (User $user) => match ($user->hasVerifiedEmail()) {
30-
true => Heroicon::OutlinedCheckCircle,
31-
false => Heroicon::OutlinedXCircle,
30+
true => LucideIcon::CircleCheck,
31+
false => LucideIcon::XCircle,
3232
})
3333
->iconColor(fn (User $user) => match ($user->hasVerifiedEmail()) {
3434
true => 'success',

app/Filament/Resources/Users/UserResource.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use App\Filament\Resources\Users\Schemas\UserForm;
99
use App\Filament\Resources\Users\Tables\UsersTable;
1010
use App\Models\User;
11+
use CodeWithDennis\FilamentLucideIcons\Enums\LucideIcon;
1112
use Filament\Resources\Resource;
1213
use Filament\Schemas\Schema;
1314
use Filament\Tables\Table;
@@ -17,7 +18,7 @@ class UserResource extends Resource
1718
{
1819
protected static ?string $model = User::class;
1920

20-
protected static string|\BackedEnum|null $navigationIcon = 'heroicon-o-users';
21+
protected static string|\BackedEnum|null $navigationIcon = LucideIcon::Users;
2122

2223
protected static ?string $recordTitleAttribute = 'email';
2324

app/Providers/Filament/AdminPanelProvider.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
namespace App\Providers\Filament;
44

55
use App\Filament\Pages\Auth\Login;
6+
use App\Filament\Pages\Dashboard;
67
use Filament\Http\Middleware\Authenticate;
78
use Filament\Http\Middleware\DisableBladeIconComponents;
89
use Filament\Http\Middleware\DispatchServingFilamentEvent;
9-
use Filament\Pages\Dashboard;
1010
use Filament\Panel;
1111
use Filament\PanelProvider;
1212
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;

composer.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"license": "MIT",
66
"require": {
77
"php": "^8.4",
8+
"codewithdennis/filament-lucide-icons": "^4.0",
89
"filament/filament": "^4.0",
910
"inertiajs/inertia-laravel": "^2.0",
1011
"laravel/framework": "^12.0",

composer.lock

Lines changed: 135 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)