This commit is contained in:
Charles 2025-06-24 07:42:56 -04:00
parent e80dd1c613
commit 11b3acf8fc
10 changed files with 25 additions and 13 deletions

View File

@ -21,7 +21,7 @@ enum BackupStatus: string implements HasColor, HasIcon, HasLabel
}; };
} }
public function getColor(): ?string public function getColor(): string
{ {
return match ($this) { return match ($this) {
self::InProgress => 'primary', self::InProgress => 'primary',

View File

@ -40,7 +40,7 @@ enum ContainerStatus: string implements HasColor, HasIcon, HasLabel
}; };
} }
public function getColor(bool $hex = false): ?string public function getColor(bool $hex = false): string
{ {
if ($hex) { if ($hex) {
return match ($this) { return match ($this) {

View File

@ -17,8 +17,6 @@ class Health extends Page
protected string $view = 'filament.pages.health'; protected string $view = 'filament.pages.health';
protected array $extraAttributes = [];
/** @var array<string, string> */ /** @var array<string, string> */
protected $listeners = [ protected $listeners = [
'refresh-component' => '$refresh', 'refresh-component' => '$refresh',

View File

@ -59,6 +59,7 @@ class Settings extends Page implements HasSchemas
protected string $view = 'filament.pages.settings'; protected string $view = 'filament.pages.settings';
/** @var array<string, mixed>|null */
public ?array $data = []; public ?array $data = [];
public function mount(): void public function mount(): void
@ -82,6 +83,7 @@ class Settings extends Page implements HasSchemas
} }
/** /**
* @return array<Component>
* @throws Exception * @throws Exception
*/ */
protected function getFormSchema(): array protected function getFormSchema(): array

View File

@ -26,7 +26,7 @@ class EggResource extends Resource
public static function getNavigationBadge(): ?string public static function getNavigationBadge(): ?string
{ {
return static::getModel()::count() ?: null; return ($count = static::getModel()::count()) > 0 ? (string) $count : null;
} }
public static function getNavigationGroup(): ?string public static function getNavigationGroup(): ?string

View File

@ -69,7 +69,7 @@ class RoleResource extends Resource
public static function getNavigationBadge(): ?string public static function getNavigationBadge(): ?string
{ {
return static::getModel()::count() ?: null; return ($count = static::getModel()::count()) > 0 ? (string) $count : null;
} }
/** /**

View File

@ -13,9 +13,12 @@ use App\Traits\Filament\CanCustomizePages;
use App\Traits\Filament\CanCustomizeRelations; use App\Traits\Filament\CanCustomizeRelations;
use App\Traits\Filament\CanModifyForm; use App\Traits\Filament\CanModifyForm;
use App\Traits\Filament\CanModifyTable; use App\Traits\Filament\CanModifyTable;
use Exception;
use Filament\Facades\Filament; use Filament\Facades\Filament;
use Filament\Forms\Components\CheckboxList; use Filament\Forms\Components\CheckboxList;
use Filament\Forms\Components\TextInput; use Filament\Forms\Components\TextInput;
use Filament\Resources\Pages\PageRegistration;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Resource; use Filament\Resources\Resource;
use Filament\Actions\DeleteBulkAction; use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction; use Filament\Actions\EditAction;
@ -62,9 +65,12 @@ class UserResource extends Resource
public static function getNavigationBadge(): ?string public static function getNavigationBadge(): ?string
{ {
return static::getModel()::count() ?: null; return ($count = static::getModel()::count()) > 0 ? (string) $count : null;
} }
/**
* @throws Exception
*/
public static function defaultTable(Table $table): Table public static function defaultTable(Table $table): Table
{ {
return $table return $table

View File

@ -5,10 +5,11 @@ namespace App\Filament\Admin\Resources\UserResource\Pages;
use App\Filament\Admin\Resources\UserResource; use App\Filament\Admin\Resources\UserResource;
use App\Traits\Filament\CanCustomizeHeaderActions; use App\Traits\Filament\CanCustomizeHeaderActions;
use App\Traits\Filament\CanCustomizeHeaderWidgets; use App\Traits\Filament\CanCustomizeHeaderWidgets;
use Filament\Resources\Pages\ListRecords;
use Filament\Actions\Action; use Filament\Actions\Action;
use Filament\Actions\ActionGroup; use Filament\Actions\ActionGroup;
use Filament\Actions\CreateAction; use Filament\Actions\CreateAction;
use Filament\Resources\Pages\ListRecords; use Filament\Actions\DeleteAction;
class ListUsers extends ListRecords class ListUsers extends ListRecords
{ {
@ -17,7 +18,7 @@ class ListUsers extends ListRecords
protected static string $resource = UserResource::class; protected static string $resource = UserResource::class;
/** @return array<Action|ActionGroup> */ /** @return array<Action|ActionGroup|CreateAction|DeleteAction> */
protected function getDefaultHeaderActions(): array protected function getDefaultHeaderActions(): array
{ {
return [ return [

View File

@ -54,7 +54,7 @@ class WebhookResource extends Resource
public static function getNavigationBadge(): ?string public static function getNavigationBadge(): ?string
{ {
return static::getModel()::count() ?: null; return ($count = static::getModel()::count()) > 0 ? (string) $count : null;
} }
public static function getNavigationGroup(): ?string public static function getNavigationGroup(): ?string

View File

@ -3,12 +3,15 @@
namespace App\Traits\Filament; namespace App\Traits\Filament;
use App\Enums\HeaderActionPosition; use App\Enums\HeaderActionPosition;
use Exception;
use Filament\Actions\Action; use Filament\Actions\Action;
use Filament\Actions\ActionGroup; use Filament\Actions\ActionGroup;
use Filament\Actions\CreateAction;
use Filament\Actions\DeleteAction;
trait CanCustomizeHeaderActions trait CanCustomizeHeaderActions
{ {
/** @var array<string, Action|ActionGroup> */ /** @var array<Action|ActionGroup|CreateAction|DeleteAction> */
protected static array $customHeaderActions = []; protected static array $customHeaderActions = [];
public static function registerCustomHeaderActions(HeaderActionPosition $position, Action|ActionGroup ...$customHeaderActions): void public static function registerCustomHeaderActions(HeaderActionPosition $position, Action|ActionGroup ...$customHeaderActions): void
@ -16,13 +19,15 @@ trait CanCustomizeHeaderActions
static::$customHeaderActions[$position->value] = array_merge(static::$customHeaderActions[$position->value] ?? [], $customHeaderActions); static::$customHeaderActions[$position->value] = array_merge(static::$customHeaderActions[$position->value] ?? [], $customHeaderActions);
} }
/** @return array<Action|ActionGroup> */ /** @return array<int,CreateAction> */
protected function getDefaultHeaderActions(): array protected function getDefaultHeaderActions(): array
{ {
return []; return [];
} }
/** @return array<Action|ActionGroup> */ /** @return array<Action|ActionGroup|CreateAction|DeleteAction>
* @throws Exception
*/
protected function getHeaderActions(): array protected function getHeaderActions(): array
{ {
return array_merge( return array_merge(