Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tomatophp/filament-settings-hub
Manage your app settings with GUI and helpers
https://github.com/tomatophp/filament-settings-hub
filamentphp filamentphp-plugin integration manage-settings settings spatie-settings
Last synced: 3 days ago
JSON representation
Manage your app settings with GUI and helpers
- Host: GitHub
- URL: https://github.com/tomatophp/filament-settings-hub
- Owner: tomatophp
- License: mit
- Created: 2024-04-06T17:42:17.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-11-28T14:40:35.000Z (about 1 month ago)
- Last Synced: 2024-12-24T07:13:59.785Z (10 days ago)
- Topics: filamentphp, filamentphp-plugin, integration, manage-settings, settings, spatie-settings
- Language: PHP
- Homepage: https://tomatophp.com/en/open-source/filament-settings-hub
- Size: 3.37 MB
- Stars: 41
- Watchers: 1
- Forks: 6
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
![Screenshot](https://raw.githubusercontent.com/tomatophp/filament-settings-hub/master/arts/3x1io-tomato-settings-hub.jpg)
# Filament Settings Hub
[![Dependabot Updates](https://github.com/tomatophp/filament-settings-hub/actions/workflows/dependabot/dependabot-updates/badge.svg)](https://github.com/tomatophp/filament-settings-hub/actions/workflows/dependabot/dependabot-updates)
[![PHP Code Styling](https://github.com/tomatophp/filament-settings-hub/actions/workflows/fix-php-code-styling.yml/badge.svg)](https://github.com/tomatophp/filament-settings-hub/actions/workflows/fix-php-code-styling.yml)
[![Tests](https://github.com/tomatophp/filament-settings-hub/actions/workflows/tests.yml/badge.svg)](https://github.com/tomatophp/filament-settings-hub/actions/workflows/tests.yml)
[![Latest Stable Version](https://poser.pugx.org/tomatophp/filament-settings-hub/version.svg)](https://packagist.org/packages/tomatophp/filament-settings-hub)
[![License](https://poser.pugx.org/tomatophp/filament-settings-hub/license.svg)](https://packagist.org/packages/tomatophp/filament-settings-hub)
[![Downloads](https://poser.pugx.org/tomatophp/filament-settings-hub/d/total.svg)](https://packagist.org/packages/tomatophp/filament-settings-hub)Manage your Filament app settings with GUI and helpers
## Screenshots
![Screenshot](https://raw.githubusercontent.com/tomatophp/filament-settings-hub/master/arts/settings-hub.png)
![Screenshot](https://raw.githubusercontent.com/tomatophp/filament-settings-hub/master/arts/setting-page.png)## Installation
```bash
composer require tomatophp/filament-settings-hub
```after publish and migrate settings table please run this command
```bash
php artisan filament-settings-hub:install
```finally register the plugin on `/app/Providers/Filament/AdminPanelProvider.php`
```php
->plugin(
\TomatoPHP\FilamentSettingsHub\FilamentSettingsHubPlugin::make()
->allowSiteSettings()
->allowSocialMenuSettings()
)
```## Usage
you can use this package by use this helper function
```php
setting($key, 'default value');
```to register new setting to the hub page you can use Facade class on your provider like this
```php
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](https://github.com/bezhanSalleh/filament-shield) for the settings please install it and config it first then you can use this method
```php
->plugin(
\TomatoPHP\FilamentSettingsHub\FilamentSettingsHubPlugin::make()
->allowShield()
)
```to make a secure setting page just use this trait
```php
use TomatoPHP\FilamentSettingsHub\Traits\UseShield;
```## Publish Assets
you can publish config file by use this command
```bash
php artisan vendor:publish --tag="filament-settings-hub-config"
```you can publish views file by use this command
```bash
php artisan vendor:publish --tag="filament-settings-hub-views"
```you can publish languages file by use this command
```bash
php artisan vendor:publish --tag="filament-settings-hub-lang"
```you can publish migrations file by use this command
```bash
php artisan vendor:publish --tag="filament-settings-hub-migrations"
```## Testing
if you like to run `PEST` testing just use this command
```bash
composer test
```## Code Style
if you like to fix the code style just use this command
```bash
composer format
```## PHPStan
if you like to check the code by `PHPStan` just use this command
```bash
composer analyse
```## Other Filament Packages
Checkout our [Awesome TomatoPHP](https://github.com/tomatophp/awesome)