PHPackages                             damodar-bhattarai/filament-settings - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. damodar-bhattarai/filament-settings

ActiveLibrary[Admin Panels](/categories/admin)

damodar-bhattarai/filament-settings
===================================

A Filament panel plugin for managing website settings with categorized tabs. Provides a beautiful UI for the damodar-bhattarai/settings package.

v1.2.1(1mo ago)2105↓28.6%MITPHPPHP ^8.2

Since Jun 10Pushed 1mo agoCompare

[ Source](https://github.com/damodar-bhattarai/filament-settings)[ Packagist](https://packagist.org/packages/damodar-bhattarai/filament-settings)[ RSS](/packages/damodar-bhattarai-filament-settings/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (10)Versions (4)Used By (0)

App Settings
============

[](#app-settings)

[![Latest Version on Packagist](https://camo.githubusercontent.com/db23796fef00d95b5243c7f52adb1999e01bff9025aa6faa17edc2517eb82164/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f64616d6f6461722d6268617474617261692f66696c616d656e742d73657474696e67732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/damodar-bhattarai/filament-settings)[![Total Downloads](https://camo.githubusercontent.com/d2cc0f6240b2b3ae4167970b737866fba42e9e84afb00fffaab69dcea85577a4/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f64616d6f6461722d6268617474617261692f66696c616d656e742d73657474696e67732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/damodar-bhattarai/filament-settings)[![License](https://camo.githubusercontent.com/dac933417ddd21df78488720f33e11f14cd3ded2821b252a4099e50b364f897a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f64616d6f6461722d6268617474617261692f66696c616d656e742d73657474696e67732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/damodar-bhattarai/filament-settings)

A powerful, tabbed settings management page for your Filament panel that lets you manage all your website settings — general info, social links, SEO, appearance, custom CSS/JS — from one beautiful interface.

[![App Settings Screenshot](https://raw.githubusercontent.com/damodar-bhattarai/filament-settings/main/art/screenshot.jpg)](https://raw.githubusercontent.com/damodar-bhattarai/filament-settings/main/art/screenshot.jpg)

Features
--------

[](#features)

- **📑 Tabbed Interface** — Settings organized into 6 default tabs: General, Contact, Social Media, SEO, Appearance, CSS &amp; Scripts
- **🎛️ Smart Field Types** — Automatically renders the right input based on setting type: text, textarea, image upload, file upload, color picker, toggle (switch), checkbox
- **🔧 Modify Fields Mode** — Permission-gated mode to add new settings, delete existing ones, reorder fields, edit labels, and move settings between tabs
- **🎨 CSS &amp; Scripts** — Dedicated tab with side-by-side CSS and JavaScript editors for Header, Body, and Footer sections
- **🔐 Flexible Authorization** — Control who can modify fields via plugin callback, Laravel Gate, or config
- **📦 Auto-Seeding** — Default settings are automatically seeded on first page load
- **⚡ Cache-Aware** — Automatically clears the settings cache after every save
- **🌗 Dark Theme Support** — Fully compatible with Filament's dark mode

Requirements
------------

[](#requirements)

- PHP 8.2+
- Laravel 10, 11, or 12
- Filament v4 or v5
- [`damodar-bhattarai/settings`](https://github.com/damodar-bhattarai/settings) package

Installation
------------

[](#installation)

### Step 1: Install via Composer

[](#step-1-install-via-composer)

```
composer require damodar-bhattarai/filament-settings
```

This will also install the [`damodar-bhattarai/settings`](https://github.com/damodar-bhattarai/settings) base package if not already installed. The plugin automatically copies and runs all required migrations on the first page load!

### Step 2: Register the Plugin

[](#step-2-register-the-plugin)

Add the plugin to your Filament panel provider (e.g., `app/Providers/Filament/AdminPanelProvider.php`):

```
use DamodarBhattarai\FilamentSettings\FilamentSettingsPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        // ... your other configuration
        ->plugins([
            FilamentSettingsPlugin::make(),
        ]);
}
```

### Step 3: Publish Config (Optional)

[](#step-3-publish-config-optional)

```
php artisan vendor:publish --tag="filament-settings-config"
```

That's it! Navigate to **Settings → App Settings** in your panel.

Usage
-----

[](#usage)

### Editing Settings

[](#editing-settings)

Simply visit the App Settings page, modify the values across any tab, and click **Save Settings**. All changes are persisted to the database and the settings cache is automatically cleared.

### Using Settings in Your Application

[](#using-settings-in-your-application)

Retrieve saved settings anywhere in your application using the base package's helpers:

```
// Get a single setting value
$siteName = settings('site_name');

// Get with a default fallback
$logo = settings('logo', 'default-logo.png');

// Get all settings as a collection
$all = settings();
```

### Modify Fields Mode

[](#modify-fields-mode)

Click the **"Modify Fields"** button in the page header to enter Modify Mode. This mode is permission-gated and allows you to:

ActionDescription**Add Setting**Create a new setting with a key, label, type, and target tab**Add Tab**Create a new tab group for organizing settings**Delete Setting**Remove a setting permanently (with confirmation)**Move Setting**Move a setting from one tab to another**Edit Label**Rename a setting's display label**Reorder**Move settings up or down within a tabClick **"Exit Modify Mode"** to return to value-only editing.

Configuration
-------------

[](#configuration)

### Plugin Options

[](#plugin-options)

Customize the plugin behavior using the fluent API:

```
FilamentSettingsPlugin::make()
    // Navigation
    ->navigationIcon('heroicon-o-cog-6-tooth')
    ->navigationGroup('Settings')
    ->navigationLabel('App Settings')
    ->navigationSort(100)

    // Page
    ->pageTitle('App Settings')
    ->slug('app-settings')

    // Authorization
    ->canModifyFields(true)
```

### Authorization

[](#authorization)

Control who can access the Modify Fields mode using one of three methods:

#### Option 1: Plugin Callback (Recommended)

[](#option-1-plugin-callback-recommended)

Best for role-based access. Works with any permission package (Spatie, Bouncer, etc.):

```
FilamentSettingsPlugin::make()
    ->canModifyFields(fn () => auth()->user()->hasRole('super_admin'))
```

#### Option 2: Laravel Gate

[](#option-2-laravel-gate)

Define a gate in your `AuthServiceProvider` or any service provider:

```
use Illuminate\Support\Facades\Gate;

Gate::define('modify-settings-fields', function ($user) {
    return $user->hasRole('admin');
});
```

#### Option 3: Config File

[](#option-3-config-file)

Set a static boolean in `config/filament-settings.php`:

```
'can_modify_fields' => true,
```

**Resolution priority:** Plugin callback → Laravel Gate → Config default.

#### Programmatic Control from Other Packages

[](#programmatic-control-from-other-packages)

Other packages can control the Modify Fields capability at runtime:

```
use DamodarBhattarai\FilamentSettings\FilamentSettingsPlugin;

// Disable modify mode
FilamentSettingsPlugin::get()->canModifyFields(false);

// Enable conditionally
FilamentSettingsPlugin::get()->canModifyFields(
    fn () => app('some-package')->allowsSettingsModification()
);
```

### Default Tabs &amp; Settings

[](#default-tabs--settings)

The plugin ships with 6 pre-configured tabs. Customize them in `config/filament-settings.php`:

TabDefault Settings**General**Site Name, Tagline, Logo, Favicon, Footer Text**Contact**Email, Phone, Address, Map Embed URL**Social Media**Facebook, Twitter/X, Instagram, YouTube, LinkedIn, TikTok**SEO**Meta Title, Meta Description, Meta Keywords, Google Analytics ID**Appearance**Primary Color, Secondary Color**CSS &amp; Scripts**Header/Body/Footer CSS and Scripts (side-by-side layout)You can add, remove, or modify any of these in the config file. Any groups created via the UI are also automatically displayed.

### Supported Field Types

[](#supported-field-types)

TypeComponentDescription`text`TextInputSingle-line text input`textarea`TextareaMulti-line text area with autosize`image`FileUploadImage upload with preview`file`FileUploadGeneral file upload`color`ColorPickerColor picker with hex output`switch`ToggleOn/off toggle switch`checkbox`CheckboxCheckbox input### Custom Config Example

[](#custom-config-example)

```
// config/filament-settings.php

'default_settings' => [
    'general' => [
        'label' => 'General',
        'icon' => 'heroicon-o-home',
        'sort' => 1,
        'settings' => [
            [
                'key' => 'site_name',
                'type' => 'text',
                'label' => 'Site Name',
                'value' => 'My Website',
            ],
            [
                'key' => 'maintenance_mode',
                'type' => 'switch',
                'label' => 'Maintenance Mode',
                'value' => false,
            ],
            // Add more settings...
        ],
    ],
    // Add more tabs...
],
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on recent changes.

Contributing
------------

[](#contributing)

Contributions are welcome! Please feel free to submit a Pull Request.

Credits
-------

[](#credits)

- [Damodar Bhattarai](https://github.com/damodar-bhattarai)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

###  Health Score

43

—

FairBetter than 89% of packages

Maintenance92

Actively maintained with recent releases

Popularity16

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~3 days

Total

3

Last Release

39d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9e37a956809c0468f2a0cb69ec9a9a2661588c147640e0e36861b27d842e4574?d=identicon)[damodar-bhattarai](/maintainers/damodar-bhattarai)

---

Tags

pluginlaravelSettingsadminfilamentpanel

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/damodar-bhattarai-filament-settings/health.svg)

```
[![Health](https://phpackages.com/badges/damodar-bhattarai-filament-settings/health.svg)](https://phpackages.com/packages/damodar-bhattarai-filament-settings)
```

###  Alternatives

[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3914.8k](/packages/rawilk-profile-filament-plugin)[awcodes/filament-curator

A media picker plugin for FilamentPHP.

437356.9k25](/packages/awcodes-filament-curator)[backstage/mails

View logged mails and events in a beautiful Filament UI.

16121.5k](/packages/backstage-mails)[stephenjude/filament-jetstream

A Laravel starter kit built with Filament inspired by Jetstream.

17760.2k3](/packages/stephenjude-filament-jetstream)[stephenjude/filament-two-factor-authentication

Filament Two Factor Authentication: Google 2FA + Passkey Authentication

84215.9k9](/packages/stephenjude-filament-two-factor-authentication)[marcelweidum/filament-passkeys

Use passkeys in your filamentphp app

6649.5k2](/packages/marcelweidum-filament-passkeys)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
