Files
pds/public/js/pwa-init.js
2025-11-13 09:01:14 +05:30

27 lines
980 B
JavaScript

(function() {
// Function to check if app is installed
function isPWAInstalled() {
return (window.matchMedia('(display-mode: standalone)').matches)
|| (window.navigator.standalone === true);
}
// Only run if PWA not installed and not injected yet
if (!isPWAInstalled() && !localStorage.getItem('pwaInjected')) {
// Dynamically inject manifest
const link = document.createElement('link');
link.rel = 'manifest';
link.href = '/manifest.json';
document.head.appendChild(link);
// Register Service Worker
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/sw.js')
.then(reg => console.log('Service Worker registered:', reg.scope))
.catch(err => console.error('SW registration failed:', err));
}
// Mark as injected to prevent running again
localStorage.setItem('pwaInjected', 'true');
}
})();