Manage your Filament app settings with GUI and helpers
composer require tomatophp/filament-settings-hubfadymondy after publish and migrate settings table please run this command
php artisan filament-settings-hub:installfinally register the plugin on /app/Providers/Filament/AdminPanelProvider.php
->plugin(
\TomatoPHP\FilamentSettingsHub\FilamentSettingsHubPlugin::make()
->allowSiteSettings()
->allowSocialMenuSettings()
)you can use this package by use this helper function
setting($key, 'default value');to register new setting to the hub page you can use Facade class on your provider like this
use TomatoPHP\FilamentSettingsHub\Facades\FilamentSettingsHub;
use TomatoPHP\FilamentSettingsHub\Services\Contracts\SettingHold;
FilamentSettingsHub::register([
SettingHold::make()
->order(2)
->label('Site Settings') // to translate label just use direct translation path like `messages.text.name`
->icon('heroicon-o-globe-alt')
->route('filament.admin.pages.site-settings') // use page / route
->page(\TomatoPHP\FilamentSettingsHub\Pages\SiteSettings::class) // use page / route
->description('Name, Logo, Site Profile') // to translate label just use direct translation path like `messages.text.name`
->group('General') // to translate label just use direct translation path like `messages.text.name`,
]);and now you can see your settings on the setting hub page.
to allow filament-shield for the settings please install it and config it first then you can use this method
->plugin(
\TomatoPHP\FilamentSettingsHub\FilamentSettingsHubPlugin::make()
->allowShield()
)to make a secure setting page just use this trait
use TomatoPHP\FilamentSettingsHub\Traits\UseShield;on your config filament-settings-hub.php you can change the file system for the logo / profile
'upload' => [
'disk' => 's3',
'path' => 'settings',
],you can publish config file by use this command
php artisan vendor:publish --tag="filament-settings-hub-config"you can publish views file by use this command
php artisan vendor:publish --tag="filament-settings-hub-views"you can publish languages file by use this command
php artisan vendor:publish --tag="filament-settings-hub-lang"you can publish migrations file by use this command
php artisan vendor:publish --tag="filament-settings-hub-migrations"if you like to run PEST testing just use this command
composer testif you like to fix the code style just use this command
composer formatif you like to check the code by PHPStan just use this command
composer analyseCheckout our Awesome TomatoPHP


