wotz/filament-admin-bar

Admin bar for filament
1,542
Install
composer require wotz/filament-admin-bar
Latest Version:v2.1.2
PHP:^8.3
License:MIT
Last Updated:Sep 10, 2026
Links: GitHub  ·  Packagist
Maintainer: Who Owns The Zebra

Admin bar for filament

This package will add an admin bar to the frontend, only visible for logged in Filament users.

img.png

Tabs

Five tabs ship with the package, and each decides for itself whether it has anything to show:

Tab Shows
SEO What the page reports to search engines
Translatable strings The copy on this page, editable in place
Media The images on this page, and which of them have no alt text
Records The CMS records behind this page, linked to their edit screens
Redirect Only on a 404: create a redirect from the URL that just failed

Only the active tab is rendered. Listing a tab therefore costs what it costs when somebody opens it, not on every frontend request an admin makes.

Telling the bar which record a page is

Detail pages need no wiring: anything bound to the route is picked up, so the "Edit page in CMS" action and the Records tab work on them out of the box.

Index and home pages resolve their record some other way, so they say so — usually from the one place an application already funnels them through:

admin_bar_record($staticPage);          // this page contains it
admin_bar_record($vacancy, primary: true); // this page *is* it

The header action opens the primary record. Everything else is a click away in the Records tab.

Sharing the corner

The closed trigger sits against the bottom edge, and so does everything else that wants to be permanent — a dev toolbar, a cookie strip. It steps along the edge to clear anything small parked in its corner, and takes itself out of the way entirely while something spans that edge, coming back when it closes. Laravel Debugbar does all three: a corner button, a full-width strip, and an open panel.

inset_inline sets where it rests when the corner is free.

Telling the bar which images a page draws

The Media tab lists the images the page loaded and flags the ones with no alt text. A page draws them from a great many templates and from one model, so the model is where to say it:

Attachment::retrieved(fn (Attachment $attachment) => admin_bar_media($attachment));

Nothing is collected outside a page view, so a queued job that walks the whole library costs nothing.

The redirect tab

It only appears on a 404, which is the one moment the old URL is in front of you. Your error view has to say so before the layout renders the bar:

@php
    \Wotz\FilamentAdminBar\Tabs\RedirectsTab::markNotFound();
@endphp

Editable strings

The package ships a Translator that records which keys a page resolved, so the Translatable strings tab knows what to offer. TranslationLoader swaps it in for Laravel's own — register it in bootstrap/providers.php, before anything that resolves a translation:

return [
    // …
    Wotz\FilamentAdminBar\TranslationLoader::class,
];

Keys are collected for the whole page view, including the lazy Livewire components and deferred islands it renders afterwards, and the list starts empty on the next page. Nothing is recorded for a visitor who is not signed in to the panel.

Installation

You can install the package via composer:

composer require wotz/filament-admin-bar

DO NOT forget to publish the CSS files, or the bar will not be visible:

php artisan vendor:publish --force --tag=filament-admin-bar-assets

You can publish the config file with:

php artisan vendor:publish --tag="filament-admin-bar-config"

This is the contents of the published config file:

return [
    'tabs' => [
        Wotz\FilamentAdminBar\Tabs\SeoTab::class,
        Wotz\FilamentAdminBar\Tabs\TranslatableStringsTab::class,
    ],
    'translatable-strings-tab' => [
        'excluded' => [
            'filament-admin-bar::*',
            'routes.*',
        ],
    ],
];

Optionally, you can publish the views using

php artisan vendor:publish --tag="filament-admin-bar-views"

Usage

<livewire:admin-bar />

Documentation

For the full documentation, check here.

Testing

vendor/bin/pest

Changelog

Please see CHANGELOG for more information on what has changed recently.

Upgrading

Please see UPGRADING for more information on how to upgrade to a new version.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

If you discover any security-related issues, please email info@whoownsthezebra.be instead of using the issue tracker.

License

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

Related Packages

wotz/filament-translatable-strings

This package manages translatable strings in Filament.

1,610 1
wotz/filament-resource-picker

This is my package filament-resource-picker

2,519 2
wotz/filament-translatable-tabs

This is my package filament-translatable-tabs

4,757 1
wotz/filament-placeholder-input

A field for Filament that allows you to add content to another field

2,240 1