Pinnable Navigation plugin screenshot
Dark mode ready
Multilingual support
Supports v5.x

Pinnable Navigation

Community

Pinnable navigation support for Filament 5 panels.

Tags: Panels
Supported versions:
5.x
Devletes avatar Author: Devletes

Package health

Beta

Automated checks of this plugin's Composer package

100 / 100
Security 100
Maintenance 100
Ecosystem 100
15 checks
  • Passed: GitHub Actions pinned to SHA
  • Skipped: GitLab CI includes pinned to SHA
  • Passed: Open security advisories
  • Passed: Dependabot PR responsiveness — No open Dependabot PRs.
  • Skipped: Renovate MR responsiveness
  • Passed: Dependabot or Renovate configured
  • Passed: Dependency update cooldown configured
  • Passed: Provides a security policy
  • Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
  • Passed: Commit and release recency — Active: last commit 12 days ago; last release 12 days ago.
  • Passed: composer.lock not committed by library composer.lock is absent from the released dist archive.
  • Passed: Dist archive is lean
  • Passed: Current Laravel version supported — Package dependencies resolve together with current Laravel 13.0.
  • Passed: Current PHP version supported — Constraint ^8.2 supports current PHP 8.5.
  • Skipped: Current Symfony version supported
Third-party plugin. This is built by the community, not the Filament team. Filament does not review, endorse, or vet the security of plugins outside the filament/ namespace. Review the source and install at your own risk. Found malware or an unresolved security issue the author won't address? Report it .
Powered by Plumb Last scanned 1 month ago

Documentation

Latest Version on Packagist Total Downloads License GitHub Stars

Allow users to dynamically pin sidebar navigation items to a pinned group.

#Requirements

  • PHP ^8.2
  • Filament ^5.0

#Installation

composer require devletes/filament-pinnable-navigation

Register the plugin on any panel:

use Devletes\FilamentPinnableNavigation\PinnableNavigationPlugin;
use Filament\Panel;

public function panel(Panel $panel): Panel
{
    return $panel
        ->default()
        ->id('admin')
        ->path('admin')
        ->plugin(PinnableNavigationPlugin::make());
}

#Configuration

Publish the config file if you want to customize behavior:

php artisan vendor:publish --tag="pinnable-navigation-config"

Default configuration:

return [
    'database_enabled' => false,
    'table_name' => 'pinned_navigation_items',
    'group_title' => 'Pinned',
    'group_icon' => 'heroicon-o-star',
    'pin_icon' => 'heroicon-o-star',
    'unpin_icon' => 'heroicon-s-star',
    'show_in_resource' => true,
    'accordion_mode' => true,
];

Configuration options:

  • database_enabled: Persist pins in the database instead of browser localStorage.
  • table_name: Database table used when database persistence is enabled.
  • group_title: Label used for the synthetic pinned group.
  • group_icon: Optional icon shown for the pinned group.
  • pin_icon: Icon used when an item is not pinned.
  • unpin_icon: Icon used when an item is already pinned.
  • show_in_resource: Show the page-header pin toggle on Filament resource index pages.
  • accordion_mode: Keep only one managed navigation group open at a time. Disable it to fall back to Filament's default grouped navigation behavior.

#Persistence

By default, pin state is stored in browser localStorage per panel and authenticated user. No migration is required in this mode.

If you want to persist pins in the database instead:

  1. Publish the config file.
  2. Publish the package migrations.
  3. Set database_enabled to true.
  4. Run migrations.
php artisan vendor:publish --tag="pinnable-navigation-migrations"
php artisan migrate

#Usage

  • Grouped navigation items can be pinned from the sidebar.
  • When show_in_resource is enabled, the current resource page can also be pinned or unpinned from the page header.
  • Pinned items are shown in a dedicated group at the top of the sidebar.

#Screenshots

#Pin navigation items from the sidebar

Sidebar item available to pin

#Dedicated pinned group

Pinned group with one item

#Multiple pinned items

Pinned group with multiple items

#Need something custom?

We build production Filament panels and plugins for teams that want to ship fast without compromising on polish. If you need a custom feature, an extended variant of this package, or a fully bespoke component built for your stack, we can help.

Typical engagements: new Filament plugins, custom resources/widgets/actions, theme + UX work, integrations with your existing services, and one-off tailored forks of our open-source packages.

#Credits

#License

MIT. See LICENSE.md.