Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/joaopaulolndev/filament-general-settings
Create really fast and easily general settings for your Laravel Filament project.
https://github.com/joaopaulolndev/filament-general-settings
Last synced: 1 day ago
JSON representation
Create really fast and easily general settings for your Laravel Filament project.
- Host: GitHub
- URL: https://github.com/joaopaulolndev/filament-general-settings
- Owner: joaopaulolndev
- License: mit
- Created: 2024-05-04T15:02:43.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-06-04T14:19:28.000Z (7 months ago)
- Last Synced: 2024-06-10T11:17:38.418Z (7 months ago)
- Language: PHP
- Homepage:
- Size: 609 KB
- Stars: 46
- Watchers: 1
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
# Filament General Settings
[![Latest Version on Packagist](https://img.shields.io/packagist/v/joaopaulolndev/filament-general-settings.svg?style=flat-square)](https://packagist.org/packages/joaopaulolndev/filament-general-settings)
[![GitHub Tests Action Status](https://img.shields.io/github/actions/workflow/status/joaopaulolndev/filament-general-settings/run-tests.yml?branch=main&label=tests&style=flat-square)](https://github.com/joaopaulolndev/filament-general-settings/actions?query=workflow%3Arun-tests+branch%3Amain)
[![GitHub Code Style Action Status](https://img.shields.io/github/actions/workflow/status/joaopaulolndev/filament-general-settings/fix-php-code-style-issues.yml?branch=main&label=code%20style&style=flat-square)](https://github.com/joaopaulolndev/filament-general-settings/actions?query=workflow%3A"Fix+PHP+code+style+issues"+branch%3Amain)
[![Total Downloads](https://img.shields.io/packagist/dt/joaopaulolndev/filament-general-settings.svg?style=flat-square)](https://packagist.org/packages/joaopaulolndev/filament-general-settings)Create really fast and easily general settings for your Laravel Filament project.
![Screenshot of Application Feature](https://raw.githubusercontent.com/joaopaulolndev/filament-general-settings/main/art/joaopaulolndev-filament-general-settings.jpg)## Features & Screenshots
- **Application:** Manage your system general settings, such as title, description, and theme color.
- **Analytics:** Add your Google Analytics tracking code to your system.
- **SEO Meta:** Manage your SEO meta tags, such as title, description, and keywords.
- **Email:** Manage your email settings, such as SMTP server, port, and credentials.
- **Social Media Network:** Manage your social media network links, such as Facebook, Twitter, and Instagram.
- **Support**: [Laravel 11](https://laravel.com) and [Filament 3.x](https://filamentphp.com)## Installation
You can install the package via composer:
```bash
composer require joaopaulolndev/filament-general-settings
```You can publish and run the migrations with:
```bash
php artisan vendor:publish --tag="filament-general-settings-migrations"
php artisan migrate
```You can publish the config file with:
```bash
php artisan vendor:publish --tag="filament-general-settings-config"
```Optionally, you can publish the views using
```bash
php artisan vendor:publish --tag="filament-general-settings-views"
```Optionally, you can publish the translations using
```bash
php artisan vendor:publish --tag="filament-general-settings-translations"
```Optionally, you can publish the assets using.
Ex: to show images in default email providers.
```bash
php artisan vendor:publish --tag="filament-general-settings-assets"
```![Screenshot of Default Email Providers](https://raw.githubusercontent.com/joaopaulolndev/filament-general-settings/main/art/default_email_provider_images.png)
This is the contents of the published config file:
```php
return [
'show_application_tab' => true,
'show_analytics_tab' => true,
'show_seo_tab' => true,
'show_email_tab' => true,
'show_social_networks_tab' => true,
'expiration_cache_config_time' => 60,
];
```Optionally, if you would like to add custom tabs and custom fields follow the example on configuration using the keys `show_custom_tabs` and `custom_tabs`.
```php
use Joaopaulolndev\FilamentGeneralSettings\Enums\TypeFieldEnum;return [
'show_application_tab' => true,
'show_analytics_tab' => true,
'show_seo_tab' => true,
'show_email_tab' => true,
'show_social_networks_tab' => true,
'expiration_cache_config_time' => 60,
'show_custom_tabs'=> true,
'custom_tabs' => [
'more_configs' => [
'label' => 'More Configs',
'icon' => 'heroicon-o-plus-circle',
'columns' => 1,
'fields' => [
'custom_field_1' => [
'type' => TypeFieldEnum::Text->value,
'label' => 'Custom Textfield 1',
'placeholder' => 'Custom Field 1',
'required' => true,
'rules' => 'required|string|max:255',
],
'custom_field_2' => [
'type' => TypeFieldEnum::Select->value,
'label' => 'Custom Select 2',
'placeholder' => 'Select',
'required' => true,
'options' => [
'option_1' => 'Option 1',
'option_2' => 'Option 2',
'option_3' => 'Option 3',
],
],
'custom_field_3' => [
'type' => TypeFieldEnum::Textarea->value,
'label' => 'Custom Textarea 3',
'placeholder' => 'Textarea',
'rows' => '3',
'required' => true,
],
'custom_field_4' => [
'type' => TypeFieldEnum::Datetime->value,
'label' => 'Custom Datetime 4',
'placeholder' => 'Datetime',
'seconds' => false,
],
'custom_field_5' => [
'type' => TypeFieldEnum::Boolean->value,
'label' => 'Custom Boolean 5',
'placeholder' => 'Boolean'
],
]
],
]
];
```
### Enabling Logo and Favicon FeatureTo enable the feature for choosing a logo and favicon within the application tab, you need the following steps:
1. Publish the migration file to add the `site_logo` and `site_favicon` fields to the general settings table (only if you have installed the package before this feature):
```bash
php artisan vendor:publish --tag="filament-general-settings-migrations"
php artisan migrate
```2. Publish the configuration file:
```bash
php artisan vendor:publish --tag="filament-general-settings-config"
```3. Open the published configuration file config/filament-general-settings.php and set the following key to true:
```bash
return [
// Other configuration settings...
'show_logo_and_favicon' => true,
];
```
## Usage
Add in AdminPanelProvider.php
```phpuse Joaopaulolndev\FilamentGeneralSettings\FilamentGeneralSettingsPlugin;
...
->plugins([
FilamentGeneralSettingsPlugin::make()
])
```
if you want to show for specific parameters to sort, icon, title, navigation group, navigation label and can access, you can use the following example:
```php
->plugins([
FilamentGeneralSettingsPlugin::make()
->canAccess(fn() => auth()->user()->id === 1)
->setSort(3)
->setIcon('heroicon-o-cog')
->setNavigationGroup('Settings')
->setTitle('General Settings')
->setNavigationLabel('General Settings'),
])
```## Testing
```bash
composer test
```## Changelog
Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.
## Contributing
Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.
## Security Vulnerabilities
Please review [our security policy](../../security/policy) on how to report security vulnerabilities.
## Credits
- [João Paulo Leite Nascimento](https://github.com/joaopaulolndev)
- [All Contributors](../../contributors)## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.