Add icon to all Create buttons in list views

This commit is contained in:
Nisse Lommerde 2025-02-11 21:40:22 -05:00
parent 16e17de6fb
commit e45041566a
19 changed files with 63 additions and 24 deletions

View File

@ -29,6 +29,7 @@ enum IconEnum: string
case TRASH = 'lucide-trash-2';
case SAVE = 'lucide-save';
case COPY = 'lucide-copy';
case NEW = 'lucide-plus';
// Invoice Status
case UNPAID = 'lucide-circle-x';

View File

@ -2,6 +2,7 @@
namespace App\Filament\Admin\Resources\ContactResource\Pages;
use App\Enums\IconEnum;
use App\Filament\Resources\ContactResource;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
@ -13,7 +14,8 @@ class ListContacts extends ListRecords
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
Actions\CreateAction::make()
->icon(IconEnum::NEW->value),
];
}
}

View File

@ -2,6 +2,7 @@
namespace App\Filament\Admin\Resources\CustomerResource\Pages;
use App\Enums\IconEnum;
use App\Filament\Admin\Resources\CustomerResource;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
@ -13,7 +14,8 @@ class ListCustomers extends ListRecords
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
Actions\CreateAction::make()
->icon(IconEnum::NEW->value),
];
}
}

View File

@ -2,6 +2,7 @@
namespace App\Filament\Admin\Resources\CustomerResource\RelationManagers;
use App\Enums\IconEnum;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Form;
use Filament\Resources\RelationManagers\RelationManager;
@ -41,7 +42,8 @@ public function table(Table $table): Table
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
Tables\Actions\CreateAction::make()
->icon(IconEnum::NEW->value),
])
->actions([
Tables\Actions\EditAction::make(),

View File

@ -2,6 +2,7 @@
namespace App\Filament\Admin\Resources\CustomerResource\RelationManagers;
use App\Enums\IconEnum;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\RelationManagers\RelationManager;
@ -40,7 +41,8 @@ public function table(Table $table): Table
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
Tables\Actions\CreateAction::make()
->icon(IconEnum::NEW->value),
])
->actions([
// Tables\Actions\EditAction::make(),

View File

@ -2,6 +2,7 @@
namespace App\Filament\Admin\Resources\InvoiceReportResource\Pages;
use App\Enums\IconEnum;
use App\Filament\Admin\Resources\InvoiceReportResource;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
@ -15,7 +16,8 @@ class ListInvoiceReports extends ListRecords
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
Actions\CreateAction::make()
->icon(IconEnum::NEW->value),
];
}
}

View File

@ -6,6 +6,7 @@
use App\Models\InvoiceReport;
use Filament\Actions\Action;
use Filament\Resources\Pages\ViewRecord;
use Illuminate\Contracts\Support\Htmlable;
class ViewInvoiceReport extends ViewRecord
{
@ -13,6 +14,11 @@ class ViewInvoiceReport extends ViewRecord
protected static ?string $title = 'View Invoice Report';
public function getTitle(): string|Htmlable
{
return parent::getTitle().' '.$this->record->internal_id;
}
protected function getHeaderActions(): array
{
return [

View File

@ -37,7 +37,8 @@ public function getTabs(): array
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
Actions\CreateAction::make()
->icon(IconEnum::NEW->value),
];
}
}

View File

@ -18,7 +18,8 @@ class ListOrders extends ListRecords
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
Actions\CreateAction::make()
->icon(IconEnum::NEW->value),
];
}

View File

@ -2,6 +2,7 @@
namespace App\Filament\Admin\Resources\OrderResource\RelationManagers;
use App\Enums\IconEnum;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\RelationManagers\RelationManager;
@ -35,15 +36,18 @@ public function table(Table $table): Table
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
Tables\Actions\CreateAction::make()
->icon(IconEnum::NEW->value),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
Tables\Actions\DeleteAction::make()
->icon(IconEnum::TRASH->value),
])
->bulkActions([
Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),
Tables\Actions\DeleteBulkAction::make()
->icon(IconEnum::TRASH->value),
]),
]);
}

View File

@ -2,6 +2,7 @@
namespace App\Filament\Admin\Resources\PackingSlipResource\Pages;
use App\Enums\IconEnum;
use App\Filament\Admin\Resources\PackingSlipResource;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;
@ -13,7 +14,8 @@ class EditPackingSlip extends EditRecord
protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make(),
Actions\DeleteAction::make()
->icon(IconEnum::TRASH->value),
];
}
}

View File

@ -2,6 +2,7 @@
namespace App\Filament\Admin\Resources\PackingSlipResource\Pages;
use App\Enums\IconEnum;
use App\Filament\Admin\Resources\PackingSlipResource;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
@ -13,7 +14,8 @@ class ListPackingSlips extends ListRecords
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
Actions\CreateAction::make()
->icon(IconEnum::NEW->value),
];
}
}

View File

@ -28,7 +28,8 @@ protected function getHeaderActions(): array
->send();
}),
Actions\CreateAction::make(),
Actions\CreateAction::make()
->icon(IconEnum::NEW->value),
];
}
}

View File

@ -2,6 +2,7 @@
namespace App\Filament\Admin\Resources\QuoteResource\Pages;
use App\Enums\IconEnum;
use App\Filament\Admin\Resources\QuoteResource;
use App\Models\Quote;
use Filament\Actions;
@ -12,20 +13,26 @@ class EditQuote extends EditRecord
{
protected static string $resource = QuoteResource::class;
public function getTitle(): string|\Illuminate\Contracts\Support\Htmlable
{
return parent::getTitle().' '.$this->record->getKey();
}
protected function getHeaderActions(): array
{
return [
Action::make('save')
->label('Save changes')
->action('save')
->icon('lucide-save'),
->icon(IconEnum::SAVE->value),
Action::make('print')
->icon('lucide-printer')
->icon(IconEnum::PRINT->value)
->url(fn (Quote $record) => route('pdf.quote', $record))
->openUrlInNewTab(),
Actions\DeleteAction::make(),
Actions\DeleteAction::make()
->icon(IconEnum::TRASH->value),
];
}
}

View File

@ -2,6 +2,7 @@
namespace App\Filament\Admin\Resources\QuoteResource\Pages;
use App\Enums\IconEnum;
use App\Filament\Admin\Resources\QuoteResource;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
@ -13,7 +14,8 @@ class ListQuotes extends ListRecords
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
Actions\CreateAction::make()
->icon(IconEnum::NEW->value),
];
}
}

View File

@ -2,6 +2,7 @@
namespace App\Filament\Admin\Resources\ShippingEntryResource\Pages;
use App\Enums\IconEnum;
use App\Filament\Admin\Resources\ShippingEntryResource;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
@ -13,7 +14,8 @@ class ListShippingEntries extends ListRecords
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
Actions\CreateAction::make()
->icon(IconEnum::NEW->value),
];
}
}

View File

@ -2,6 +2,7 @@
namespace App\Filament\Admin\Resources\TaxRateResource\Pages;
use App\Enums\IconEnum;
use App\Filament\Admin\Resources\TaxRateResource;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
@ -13,7 +14,8 @@ class ListTaxRates extends ListRecords
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
Actions\CreateAction::make()
->icon(IconEnum::NEW->value),
];
}
}

View File

@ -2,6 +2,7 @@
namespace App\Filament\Admin\Resources\UserResource\Pages;
use App\Enums\IconEnum;
use App\Filament\Admin\Resources\UserResource;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
@ -14,6 +15,7 @@ protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make()
->icon(IconEnum::NEW->value)
->modal(),
];
}

View File

@ -2,7 +2,6 @@
namespace App\Providers;
use Illuminate\Pagination\Paginator;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
@ -18,8 +17,5 @@ public function register(): void
/**
* Bootstrap any application services.
*/
public function boot(): void
{
Paginator::useBootstrapFive();
}
public function boot(): void {}
}