tomatophp / filament-settings-hub
Manage your Filament app settings with GUI and helpers
Fund package maintenance!
3x1io
Installs: 5 533
Dependents: 6
Suggesters: 0
Security: 0
Stars: 25
Watchers: 1
Forks: 4
Open Issues: 1
Requires
- php: ^8.2|^8.3
- filament/filament: ^3.2
- filament/notifications: ^3.2
- filament/spatie-laravel-settings-plugin: ^3.2
- genealabs/laravel-model-caching: ^11.0
- spatie/laravel-sitemap: ^7.2
- tomatophp/console-helpers: ^1.1
Requires (Dev)
- laravel/pint: ^1.18
- livewire/livewire: ^2.10|^3.0
- nunomaduro/larastan: ^2.9
- orchestra/testbench: ^9.5
- pestphp/pest: ^2.36
- pestphp/pest-plugin-laravel: ^2.4
- pestphp/pest-plugin-livewire: ^2.1
- phpstan/extension-installer: ^1.4
- phpstan/phpstan-deprecation-rules: ^1.2
- phpstan/phpstan-phpunit: ^1.4
README
Filament Settings Hub
Manage your Filament app settings with GUI and helpers
Screenshots
Installation
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() )
Usage
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
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"
Testing
if you like to run PEST
testing just use this command
composer test
Code Style
if you like to fix the code style just use this command
composer format
PHPStan
if you like to check the code by PHPStan
just use this command
composer analyse
Other Filament Packages
Checkout our Awesome TomatoPHP