Manage your Filament app settings with GUI and helpers
composer require tomatophp/filament-settings-hub
after publish and migrate settings table please run this command
php artisan filament-settings-hub:install
finally register the plugin on /app/Providers/Filament/AdminPanelProvider.php
->plugin(
\TomatoPHP\FilamentSettingsHub\FilamentSettingsHubPlugin::make()
->allowLocationSettings()
->allowSiteSettings()
->allowSocialMenuSettings()
)
you can use this package by use this helper function
settings($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.
we have a ready to use helper for currency settings
dollar($amount)
it will return the money amount with the currency symbol
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;
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 test
if you like to fix the code style just use this command
composer format
if you like to check the code by PHPStan
just use this command
composer analyse
Checkout our Awesome TomatoPHP