Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Filament Topbar Menu

Filament Topbar Menu Laravel Package

vaslv/filament-topbar-menu

A Filament 5 plugin that adds a configurable topbar menu right after the logo, linking to external URLs or named Laravel routes with nested dropdowns, icons and favicons, visibility rules, automatic caching, a full resource with drag-and-drop reordering, a responsive mobile panel, and 13 bundled tra...

View on GitHub
Deep Wiki
Context7

A configurable topbar menu plugin for Filament 5 — external and internal links, dropdowns, favicons, caching.

Frequently asked questions about Filament Topbar Menu
How do I install the Filament topbar menu plugin in a Laravel app?
Run composer require vaslv/filament-topbar-menu, then php artisan migrate, then register the plugin on your Filament panel with the ->plugin() call in your PanelProvider. That is the whole setup for a Filament 5 panel, and most developers already familiar with Filament can verify it in about half a day. If you prefer to own the files, you can publish the migration, config and views with vendor:publish instead of using the bundled ones.
Does this topbar menu package require a database table and migration?
Yes. Unlike a config-only link list, it ships a migration, an Eloquent model, an admin resource, a view page and a cache layer, so php artisan migrate becomes part of your deploy pipeline. Teams that do not want bundled files can vendor:publish the migration, config and views and manage them themselves. The payoff is that content editors manage menu items through a Filament resource instead of asking a developer to edit code.
How do I link the topbar menu to an external URL or a named Laravel route?
Menu items support external URLs and internal named routes, including route parameters, and you create them through the plugin's Filament resource rather than in a config file. A top-level item with children automatically becomes a dropdown group that toggles like Filament's own top-navigation groups. Ordering is drag-and-drop and items can be deactivated without deleting them, so you can stage changes safely.
Does the topbar menu query the database on every page render?
No. The menu is cached and that cache is flushed automatically whenever an item changes, so there is no database query at render time. Icons and favicons are resolved ahead of time and cached rather than fetched during the request. That matters because the topbar sits in the chrome of every panel page, where a per-request query would be paid on every single screen.
How many levels of nested dropdowns can the topbar menu have?
Two. A top-level item with children renders as a dropdown group, but a third-level item is kept in the table and never rendered, which means an editor can create something that silently disappears. A parent whose children are all hidden either degrades to its own link or vanishes entirely. Document the two-level limit for your content team, or you will get bug reports about menu items that never show up.
How does the topbar menu behave on mobile and tablet screens?
The menu renders twice: dropdowns in the topbar on desktop, and on mobile a slide-in panel that reuses Filament's own sidebar markup, opened by its own button next to the hamburger icon. That keeps the menu from being buried below the panel's navigation, and an in-sidebar variant is a single method call away. Budget part of your verification time for checking behaviour below the lg breakpoint at 1024px.
Which PHP, Laravel and Filament versions does this package support?
It requires PHP 8.2 or newer and pins Filament ^5.0 only, so your Laravel version needs to be one that Filament 5 itself supports. Its CI matrix covers PHP 8.2, 8.3 and 8.4 including --prefer-lowest, plus MySQL 8 and PostgreSQL 16, with one leg running without ext-intl. If you fork or patch it, run your own CI against the database engine you actually use in production, because driver-specific SQL in SQLite is more forgiving than MySQL.
Is favicon fetching safe, and what happens without ext-intl?
Treat favicon resolution as a server-side fetch: a previous SSRF issue in this package reached a release because filter_var classified ::ffff:127.0.0.1 differently across PHP minor versions, so keep the dependency patched and restrict the URLs editors may enter. Favicons are cached rather than fetched at render time, but the fetch still runs when an item is saved. ext-intl is optional and recommended: without it, hide_on_current_domain stops matching internationalized domains and IDN favicons fail quietly.
Can I control who sees or edits topbar menu items?
Each item can be shown or hidden with per-item visibility rules such as hide_on_current_domain, and items can be deactivated instead of deleted. Control who may edit them with standard Filament policies, and call ->resource(false) on panels whose users should not see the admin resource, especially public-facing ones. Be aware that deleting a parent cascades its children at the database level with no confirmation, which is a real content-loss risk for non-technical editors.
Should I use this package or just a Blade partial for topbar links?
If you only need a handful of static route links, a Blade partial rendered through a panel render hook satisfies the requirement without a table, an admin resource and a cache layer. Adopt this package when non-technical editors genuinely need to manage a menu with dropdowns, icons and external links. Before shipping, agree on an exit plan: the package builds on Filament's non-contractual fi-* class names, so a Filament 5.x bump could break the markup, and you should know whether you would fork it to a path repository or drop it.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo