tomatophp/filament-settings-hub

Manage your Filament app settings with GUI and helpers
63,137 58
Install
composer require tomatophp/filament-settings-hub
Latest Version:5.0.1
PHP:^8.2
License:MIT
Last Updated:Sep 14, 2026
Links: GitHub  ·  Packagist
Maintainer: fadymondy

Screenshot

Filament Settings Hub

Dependabot Updates PHP Code Styling Tests Latest Stable Version License Downloads

Manage your Filament app settings with GUI and helpers

Screenshots

Try it live on demo.tomatophp.com.

Demo dark Demo light

Screenshot Screenshot

Version Compatibility

Package Filament Laravel PHP
5.x 5.x 12.x / 13.x 8.2+
4.x 4.x 11.x / 12.x 8.2+
2.x 3.x 10.x / 11.x 8.1+

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()
        ->allowSiteSettings()
        ->allowSocialMenuSettings()
        ->allowColorSettings() // optional, see below
)

Color settings

allowColorSettings() adds a page to store your site's primary, secondary and tertiary colors. It is off by default because it uses its own site_colors settings group: php artisan filament-settings-hub:install publishes that settings migration (running the command again never duplicates migrations), then run php artisan migrate. Read the values anywhere with setting('site_primary_color'), setting('site_secondary_color') and setting('site_tertiary_color').

Usage

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.

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;

Change Upload File System for Logo / Profile

on your config filament-settings-hub.php you can change the file system for the logo / profile

'upload' => [
    'disk' => 's3',
    'path' => 'settings',
],

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

Related Packages

juniyasyos/filament-settings-hub-kaido

Manage your Filament app settings with GUI and helpers

1,873 0
tomatophp/filament-withdrawals

Manage your wallet withdrawals in FilamentPHP

2,254 7
tomatophp/filament-pwa

get a PWA feature on your FilamentPHP app with settings from panel

26,718 93
tomatophp/filament-invoices

Generate and manage your invoices / payments using multi currencies and multi ty...

4,377 108
tomatophp/filament-ecommerce

Build your own ecommerce store with FilamentPHP with the Power of Tomato CMS Bui...

4,580 102