Skip to content

tomatophp/filament-settings-hub

Repository files navigation

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