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) {
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) {
return match ($this) {

View File

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

View File

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

View File

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

View File

@ -69,7 +69,7 @@ class RoleResource extends Resource
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\CanModifyForm;
use App\Traits\Filament\CanModifyTable;
use Exception;
use Filament\Facades\Filament;
use Filament\Forms\Components\CheckboxList;
use Filament\Forms\Components\TextInput;
use Filament\Resources\Pages\PageRegistration;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Resource;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction;
@ -62,9 +65,12 @@ class UserResource extends Resource
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
{
return $table

View File

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

View File

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

View File

@ -3,12 +3,15 @@
namespace App\Traits\Filament;
use App\Enums\HeaderActionPosition;
use Exception;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Actions\CreateAction;
use Filament\Actions\DeleteAction;
trait CanCustomizeHeaderActions
{
/** @var array<string, Action|ActionGroup> */
/** @var array<Action|ActionGroup|CreateAction|DeleteAction> */
protected static array $customHeaderActions = [];
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);
}
/** @return array<Action|ActionGroup> */
/** @return array<int,CreateAction> */
protected function getDefaultHeaderActions(): array
{
return [];
}
/** @return array<Action|ActionGroup> */
/** @return array<Action|ActionGroup|CreateAction|DeleteAction>
* @throws Exception
*/
protected function getHeaderActions(): array
{
return array_merge(