Settings Hub
Manage your app settings with GUI and helpers
Filament Settings Hub
Manage your Filament app settings with GUI and helpers
Screenshots
Installation
composer require tomatophp/filament-settings-hub
now you need to publish and migrate settings table
php artisan vendor:publish --provider="Spatie\LaravelSettings\LaravelSettingsServiceProvider" --tag="migrations"
after publish and migrate settings table please run this command
php artisan filament-settings-hub:install
finally reigster the plugin on /app/Providers/Filament/AdminPanelProvider.php
->plugin(
\TomatoPHP\FilamentSettingsHub\FilamentSettingsHubPlugin::make()
->allowLocationSettings()
->allowSiteSettings()
->allowSocialMenuSettings()
)
Usage
you can use this package by use this helper function
settings($key);
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
Allow Shield
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;
Publish Assets
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"
Other Filament Packages
Checkout our Awesome TomatoPHP