Настройка плагина в Filament
Давайте зададим настройку плагина. Цвет темы удобно передать одной цепочкой при регистрации на /admin, не размазывая значение по разным файлам.
В BlogPlugin.php
добавим свойство
и публичный метод
color,
который вернёт
тот же экземпляр:
<?php
namespace App\Filament\Plugins;
use App\Filament\Pages\ReportPage;
use Filament\Contracts\Plugin;
use Filament\Panel;
class BlogPlugin implements Plugin
{
protected ?string $color = null;
public function getId(): string
{
return 'blog';
}
public static function make(): static
{
return app(static::class);
}
public function color(string $color): static
{
$this->color = $color;
return $this;
}
public function getColor(): ?string
{
return $this->color;
}
public function register(Panel $panel): void
{
$panel->pages([
ReportPage::class,
]);
}
public function boot(Panel $panel): void
{
}
}
?>
В провайдере панели
вызовем color
между make
и plugin:
<?php
namespace App\Providers\Filament;
use App\Filament\Plugins\BlogPlugin;
use Filament\Panel;
use Filament\PanelProvider;
class AdminPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
->default()
->id('admin')
->path('admin')
->login()
->plugin(
BlogPlugin::make()->color('amber'),
);
}
}
?>
Передайте плагину цвет при подключении.