Files
pds/app/Providers/PWAServiceProvider.php

44 lines
1.2 KiB
PHP

<?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>';
});
}
}