Add PWAServiceProvider and pwa-install.js for PWA integration

This commit is contained in:
dhanabalan
2025-11-04 17:11:22 +05:30
parent 9cf5e34568
commit ba60c41951
3 changed files with 174 additions and 76 deletions

View File

@@ -0,0 +1,43 @@
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Filament\Support\Facades\FilamentView;
class PWAServiceProvider extends ServiceProvider
{
/**
* Register services.
*/
public function register(): void
{
//
}
/**
* Bootstrap services.
*/
public function boot(): void
{
FilamentView::registerRenderHook(
'panels::head.end',
fn() => '
<link rel="manifest" href="' . asset('manifest.json') . '">
<meta name="theme-color" content="#007bff">
<script>
if ("serviceWorker" in navigator) {
navigator.serviceWorker.register("/sw.js")
.then(reg => console.log("Service Worker registered:", reg.scope))
.catch(err => console.error("Service Worker registration failed:", err));
}
</script>
'
);
FilamentView::registerRenderHook('panels::body.end', function () {
return '<script src="' . asset('js/pwa-install.js') . '"></script>';
});
}
}