44 lines
1.2 KiB
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>';
|
|
});
|
|
|
|
}
|
|
}
|