New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

jeffersongoncalves/filament-pwa

Filament plugin that injects the full PWA <head> markup (favicons, Apple touch icons, manifest link, msapplication tiles, theme-color and mobile web-app metas) into your panels via laravel-pwa-favicon.
5,008 4
Install
composer require jeffersongoncalves/filament-pwa
Latest Version:3.1.0
PHP:^8.3
Laravel:11 · 12 · 13
License:MIT
Last Updated:Oct 25, 2026
Links: GitHub  ·  Packagist
Maintainer: jeffersongoncalves

Filament PWA

Filament PWA

Buy Me A Coffee

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads License

A thin Filament plugin that turns your panels into installable Progressive Web Apps. It registers a PanelsRenderHook::HEAD_START render hook that injects the PWA <head> markup into your panels:

  • the web app manifest <link rel="manifest">,
  • the <meta name="theme-color"> tag, and
  • the Apple touch icon <link> tags produced by laravel-pwa-favicon.

This plugin is built on top of the laravel-pwa-favicon package. The favicon/manifest routes (/manifest.json, /browserconfig.xml, /favicon.ico, ...) are registered by that package's service provider — this plugin only injects the matching <head> tags into your Filament panels.

Compatibility

Branch Filament PHP Laravel
1.x ^3.0 ^8.2 | ^8.3 11.*
2.x ^4.0 ^8.2 | ^8.3 | ^8.4 11.* | 12.*
3.x ^5.0 ^8.3 12.* | 13.*

Installation

You can install the package via composer:

composer require jeffersongoncalves/filament-pwa:^1.0

The jeffersongoncalves/laravel-pwa-favicon package is installed as a dependency. Follow its README to publish the favicon assets and enable the manifest/favicon routes — without it the manifest link will point at a route that does not exist.

Usage

Register the plugin in your PanelProvider:

use JeffersonGoncalves\Filament\Pwa\FilamentPwaPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentPwaPlugin::make(),
        ]);
}

The plugin will inject the manifest link, the theme-color meta tag and the Apple touch icon links into the panel's <head>.

Customisation

FilamentPwaPlugin::make()
    ->themeColor('#0ea5e9')          // <meta name="theme-color">, defaults to #ffffff
    ->manifestUrl('/manifest.json'), // <link rel="manifest"> href, defaults to /manifest.json

themeColor() also accepts a Closure, evaluated each time the <head> renders. Use it for per-request values, which is required under Laravel Octane where the panel is registered once per worker:

FilamentPwaPlugin::make()
    ->themeColor(fn (): string => request()->cookie('theme') === 'light' ? '#fffef9' : '#0b0a09');

The render hook is scoped to the panel it is registered on, so you can enable the PWA <head> markup per panel.

Testing

composer test

Changelog

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

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

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

Related Packages

pxlrbt/filament-favicon

Favicon Column and Entry for Filament

21,919 20
alareqi/filament-pwa

A comprehensive PWA (Progressive Web App) plugin for Filament v3 and v4 admin pa...

12,116 16
jeffersongoncalves/filament-logo

A simple yet effective Filament plugin that automatically adds the Filament logo...

18,307 5
jeffersongoncalves/filament-qrcode-field

A Laravel Filament package that provides QR Code field functionality for your we...

11,622 20
jeffersongoncalves/filament-sensible-defaults

A Filament plugin that applies a curated set of sensible, opinionated UI default...

5,691 2

Version History

Version Released PHP License
3.1.0 ^8.3 MIT
3.0.0 ^8.3 MIT
2.1.0 ^8.2|^8.3|^8.4 MIT
2.0.0 ^8.2|^8.3|^8.4 MIT
1.1.0 ^8.2|^8.3 MIT