Add PWA support by registering service worker and including manifest link in head

This commit is contained in:
dhanabalan
2025-11-04 14:54:31 +05:30
parent dec1a436a3
commit a7c9e14271

View File

@@ -25,12 +25,31 @@ use Illuminate\Session\Middleware\StartSession;
use Illuminate\View\Middleware\ShareErrorsFromSession; use Illuminate\View\Middleware\ShareErrorsFromSession;
use Althinect\FilamentSpatieRolesPermissions\Middleware\SyncSpatiePermissionsWithFilamentTenants; use Althinect\FilamentSpatieRolesPermissions\Middleware\SyncSpatiePermissionsWithFilamentTenants;
use Filament\View\PanelsRenderHook; use Filament\View\PanelsRenderHook;
use Filament\Support\Facades\FilamentView;
class AdminPanelProvider extends PanelProvider class AdminPanelProvider extends PanelProvider
{ {
public function panel(Panel $panel): Panel public function panel(Panel $panel): Panel
{ {
FilamentView::registerRenderHook(
'head.start',
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(function(registration) {
console.log("Service Worker registered with scope:", registration.scope);
}).catch(function(err) {
console.log("Service Worker registration failed:", err);
});
}
</script>
'
);
return $panel return $panel
->default() ->default()
->id('admin') ->id('admin')