{"id":22238551,"url":"https://github.com/tomatophp/filament-settings-hub","last_synced_at":"2025-04-05T13:02:33.237Z","repository":{"id":231904598,"uuid":"783014266","full_name":"tomatophp/filament-settings-hub","owner":"tomatophp","description":"Manage your app settings with GUI and helpers","archived":false,"fork":false,"pushed_at":"2025-02-26T03:04:54.000Z","size":3559,"stargazers_count":49,"open_issues_count":1,"forks_count":8,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T12:03:04.074Z","etag":null,"topics":["filamentphp","filamentphp-plugin","integration","manage-settings","settings","spatie-settings"],"latest_commit_sha":null,"homepage":"https://tomatophp.com/en/open-source/filament-settings-hub","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tomatophp.png","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","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["3x1io"]}},"created_at":"2024-04-06T17:42:17.000Z","updated_at":"2025-03-23T18:30:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"44049e48-cd40-4ce7-8cf4-e0632d072ebf","html_url":"https://github.com/tomatophp/filament-settings-hub","commit_stats":null,"previous_names":["tomatophp/filament-settings-hub"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomatophp%2Ffilament-settings-hub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomatophp%2Ffilament-settings-hub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomatophp%2Ffilament-settings-hub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomatophp%2Ffilament-settings-hub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tomatophp","download_url":"https://codeload.github.com/tomatophp/filament-settings-hub/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247339148,"owners_count":20923013,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["filamentphp","filamentphp-plugin","integration","manage-settings","settings","spatie-settings"],"created_at":"2024-12-03T03:17:01.092Z","updated_at":"2025-04-05T13:02:33.184Z","avatar_url":"https://github.com/tomatophp.png","language":"PHP","funding_links":["https://github.com/sponsors/3x1io"],"categories":[],"sub_categories":[],"readme":"![Screenshot](https://raw.githubusercontent.com/tomatophp/filament-settings-hub/master/arts/3x1io-tomato-settings-hub.jpg)\n\n# Filament Settings Hub\n\n[![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)\n[![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)\n[![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)\n[![Latest Stable Version](https://poser.pugx.org/tomatophp/filament-settings-hub/version.svg)](https://packagist.org/packages/tomatophp/filament-settings-hub)\n[![License](https://poser.pugx.org/tomatophp/filament-settings-hub/license.svg)](https://packagist.org/packages/tomatophp/filament-settings-hub)\n[![Downloads](https://poser.pugx.org/tomatophp/filament-settings-hub/d/total.svg)](https://packagist.org/packages/tomatophp/filament-settings-hub)\n\nManage your Filament app settings with GUI and helpers\n\n## Screenshots\n\n![Screenshot](https://raw.githubusercontent.com/tomatophp/filament-settings-hub/master/arts/settings-hub.png)\n![Screenshot](https://raw.githubusercontent.com/tomatophp/filament-settings-hub/master/arts/setting-page.png)\n\n## Installation\n\n```bash\ncomposer require tomatophp/filament-settings-hub\n```\n\nafter publish and migrate settings table please run this command\n\n```bash\nphp artisan filament-settings-hub:install\n```\n\nfinally register the plugin on `/app/Providers/Filament/AdminPanelProvider.php`\n\n```php\n-\u003eplugin(\n    \\TomatoPHP\\FilamentSettingsHub\\FilamentSettingsHubPlugin::make()\n        -\u003eallowSiteSettings()\n        -\u003eallowSocialMenuSettings()\n)\n```\n\n## Usage\n\nyou can use this package by use this helper function\n\n```php\nsetting($key, 'default value');\n```\n\nto register new setting to the hub page you can use Facade class on your provider like this\n\n```php\nuse TomatoPHP\\FilamentSettingsHub\\Facades\\FilamentSettingsHub;\nuse TomatoPHP\\FilamentSettingsHub\\Services\\Contracts\\SettingHold;\n\nFilamentSettingsHub::register([\n    SettingHold::make()\n        -\u003eorder(2)\n        -\u003elabel('Site Settings') // to translate label just use direct translation path like `messages.text.name`\n        -\u003eicon('heroicon-o-globe-alt')\n        -\u003eroute('filament.admin.pages.site-settings') // use page / route\n        -\u003epage(\\TomatoPHP\\FilamentSettingsHub\\Pages\\SiteSettings::class) // use page / route \n        -\u003edescription('Name, Logo, Site Profile') // to translate label just use direct translation path like `messages.text.name`\n        -\u003egroup('General') // to translate label just use direct translation path like `messages.text.name`,\n]);\n\n```\n\nand now you can see your settings on the setting hub page.\n\n## Allow Shield \n\nto 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\n\n```php\n-\u003eplugin(\n    \\TomatoPHP\\FilamentSettingsHub\\FilamentSettingsHubPlugin::make()\n        -\u003eallowShield()\n)\n```\n\nto make a secure setting page just use this trait \n\n```php\nuse TomatoPHP\\FilamentSettingsHub\\Traits\\UseShield;\n```\n\n## Change Upload File System for Logo / Profile\n\non your config `filament-settings-hub.php` you can change the file system for the logo / profile\n\n```php\n'upload' =\u003e [\n    'disk' =\u003e 's3',\n    'path' =\u003e 'settings',\n],\n```\n\n## Publish Assets\n\nyou can publish config file by use this command\n\n```bash\nphp artisan vendor:publish --tag=\"filament-settings-hub-config\"\n```\n\nyou can publish views file by use this command\n\n```bash\nphp artisan vendor:publish --tag=\"filament-settings-hub-views\"\n```\n\nyou can publish languages file by use this command\n\n```bash\nphp artisan vendor:publish --tag=\"filament-settings-hub-lang\"\n```\n\nyou can publish migrations file by use this command\n\n```bash\nphp artisan vendor:publish --tag=\"filament-settings-hub-migrations\"\n```\n\n## Testing\n\nif you like to run `PEST` testing just use this command\n\n```bash\ncomposer test\n```\n\n## Code Style\n\nif you like to fix the code style just use this command\n\n```bash\ncomposer format\n```\n\n## PHPStan\n\nif you like to check the code by `PHPStan` just use this command\n\n```bash\ncomposer analyse\n```\n\n## Other Filament Packages\n\nCheckout our [Awesome TomatoPHP](https://github.com/tomatophp/awesome)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomatophp%2Ffilament-settings-hub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomatophp%2Ffilament-settings-hub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomatophp%2Ffilament-settings-hub/lists"}