Settings Hub

Manage your app settings with GUI and helpers

Screenshot

Filament Settings Hub

Latest Stable Version License Downloads

Manage your Filament app settings with GUI and helpers

Screenshots

Screenshot Screenshot

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

Share To Social Networks

Login To Leave a Comment