PHPackages                             samuelterra22/filament-pwa - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. samuelterra22/filament-pwa

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

samuelterra22/filament-pwa
==========================

Progressive Web App (PWA) integration for FilamentPHP panels with configurable manifest, service worker, and offline support.

v1.0.0(2mo ago)00MITPHPPHP ^8.1CI passing

Since Apr 9Pushed 1w agoCompare

[ Source](https://github.com/samuelterra22/filament-pwa)[ Packagist](https://packagist.org/packages/samuelterra22/filament-pwa)[ Docs](https://github.com/samuelterra22/filament-pwa)[ RSS](/packages/samuelterra22-filament-pwa/feed)WikiDiscussions main Synced 2w ago

READMEChangelog (1)Dependencies (11)Versions (3)Used By (0)

Filament PWA
============

[](#filament-pwa)

[![Latest Version on Packagist](https://camo.githubusercontent.com/759e2b7c3a57da064fae0d2de64cf7dce930430c46d41e62120f84243b123d6a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f73616d75656c746572726132322f66696c616d656e742d7077612e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/samuelterra22/filament-pwa)[![GitHub Tests Action Status](https://camo.githubusercontent.com/afe33a76dfd76fd772413a7e8cbb5ea9ad2b6080111e619a752beaaf24c8d9b2/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f73616d75656c746572726132322f66696c616d656e742d7077612f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/samuelterra22/filament-pwa/actions?query=workflow%3Atests+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/b0dbc831d4b383da6fd546530f549e0ba3c0b7089f17af06ece2f44f7ccf9a9f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f73616d75656c746572726132322f66696c616d656e742d7077612e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/samuelterra22/filament-pwa)

Turn your Filament panel into an installable Progressive Web App. Manifest, service worker, offline page, icons, and splash screens — all configurable from the admin panel.

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

[](#installation)

```
composer require samuelterra22/filament-pwa
```

```
php artisan filament-pwa:install
```

```
use SamuelTerra22\FilamentPwa\FilamentPwaPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugin(FilamentPwaPlugin::make());
}
```

Done. Your panel is now a PWA.

Features
--------

[](#features)

FeatureDetailsWeb App ManifestDynamic `manifest.json` from database settingsService WorkerNetwork-first navigation, cache fallback, offline supportOffline PageBranded fallback when users lose connectivityOffline IndicatorReal-time banner when connection is lost/restoredInstall PromptCustom "Add to Home Screen" banner with dismiss &amp; 7-day snoozeUpdate NotificationDetects new service worker versions, one-click refreshIcons8 sizes (72x72 to 512x512) with built-in defaultsMaskable IconsConfigurable icon purpose (any, maskable, any maskable)Splash Screens10 sizes covering iPhone, iPad, and AndroidApp ScreenshotsUpload screenshots for richer install experienceApp ShortcutsQuick-action shortcuts with custom iconsSettings PageTabbed UI (General, Appearance, Icons, Splash, Shortcuts, Advanced, Screenshots)Advanced ManifestDescription, scope, language, text direction, app ID, categories, display overrideDark ModeInherits Filament panel theme automaticallyMultilingual49 languages includediOS / Android / WindowsFull meta tag support for all platformsRequirements
------------

[](#requirements)

- PHP 8.1+
- Laravel 11 or 12
- Filament 4.x

Usage
-----

[](#usage)

After installation, go to **Settings &gt; PWA** in your Filament panel to configure:

- App name, short name, start URL
- Theme color, background color, status bar color
- Display mode (standalone, fullscreen, minimal-ui, browser)
- Orientation (any, portrait, landscape)
- Upload custom icons and splash screens (with maskable icon support)
- Add app shortcuts
- App description, scope, language, text direction, app ID
- Categories and display override fallback chain
- Upload screenshots for richer install UX (narrow/wide form factors)

All changes take effect immediately — no deploy needed.

### Install Prompt

[](#install-prompt)

A themed "Add to Home Screen" banner appears automatically when the browser fires the `beforeinstallprompt` event. Users can dismiss it (snoozed for 7 days) or install the app with one tap. The banner uses your configured theme color and app icon.

### Offline Indicator

[](#offline-indicator)

A slim banner appears at the top of the page when the user loses connectivity, and briefly shows "Back online" when the connection is restored.

### Update Notification

[](#update-notification)

When a new service worker is detected, a banner prompts the user to refresh. Clicking the button triggers `skipWaiting` on the new worker and reloads the page seamlessly.

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

[](#configuration)

### Disable the settings page

[](#disable-the-settings-page)

```
FilamentPwaPlugin::make()
    ->settingsPage(false)
```

### Toggle PWA features

[](#toggle-pwa-features)

```
FilamentPwaPlugin::make()
    ->installPrompt(false)       // Disable the "Add to Home Screen" banner
    ->offlineIndicator(false)    // Disable the offline/online status banner
    ->updateNotification(false)  // Disable the "New version available" banner
```

All three features are **enabled by default**.

### Customize middleware

[](#customize-middleware)

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

```
// config/filament-pwa.php
return [
    'middlewares' => ['web'],
];
```

### Customize views or translations

[](#customize-views-or-translations)

```
php artisan vendor:publish --tag="filament-pwa-views"
php artisan vendor:publish --tag="filament-pwa-translations"
```

### Supported languages (49)

[](#supported-languages-49)

am, ar, az, bn, ca, ckb, cs, da, de, en, es, eu, fa, fi, fr, he, hr, hu, hy, id, it, ja, ka, km, ko, ku, lt, lus, mk, ms, nb, ne, nl, pl, pt, pt\_BR, ro, ru, sk, sr\_Cyrl, sr\_Latn, sv, tr, uk, uz, vi, zh\_CN, zh\_HK, zh\_TW

Testing
-------

[](#testing)

```
composer test
```

Or with Docker (no PHP required):

```
docker compose run --rm app composer install
docker compose run --rm app vendor/bin/pest
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Credits
-------

[](#credits)

- [Samuel Terra](https://github.com/samuelterra22)
- [All Contributors](../../contributors)

License
-------

[](#license)

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

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance92

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 73.3% of commits — single point of failure

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

Unknown

Total

1

Last Release

78d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/11915449?v=4)[Samuel Terra](/maintainers/samuelterra22)[@samuelterra22](https://github.com/samuelterra22)

---

Top Contributors

[![samuelterra22](https://avatars.githubusercontent.com/u/11915449?v=4)](https://github.com/samuelterra22 "samuelterra22 (11 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (2 commits)")

---

Tags

filament-pluginfilamentphpfilamentphp-pluginlaravelprogressive-web-apppwalaravelfilamentfilament-pluginofflinepwamanifestservice workerProgressive Web App

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/samuelterra22-filament-pwa/health.svg)

```
[![Health](https://phpackages.com/badges/samuelterra22-filament-pwa/health.svg)](https://phpackages.com/packages/samuelterra22-filament-pwa)
```

###  Alternatives

[erag/laravel-pwa

A simple and easy-to-use PWA (Progressive Web App) package for Laravel applications.

179110.0k](/packages/erag-laravel-pwa)[alareqi/filament-pwa

A comprehensive PWA (Progressive Web App) plugin for Filament v3 and v4 admin panels with offline functionality, installation prompts, and icon generation.

144.4k](/packages/alareqi-filament-pwa)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3913.7k](/packages/rawilk-profile-filament-plugin)[wsmallnews/filament-nestedset

Filament nestedset tree builder powered by kalnoy/nestedset with Filament v4 and v5 support

196.5k14](/packages/wsmallnews-filament-nestedset)[bezhansalleh/filament-google-analytics

Google Analytics integration for FilamentPHP

209175.5k8](/packages/bezhansalleh-filament-google-analytics)[finity-labs/fin-mail

A powerful email template manager and composer for Filament with dynamic token replacement, template versioning, and inline email sending.

272.7k1](/packages/finity-labs-fin-mail)

PHPackages © 2026

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