Mercurial
comparison mrjunejune/src/public/pwa-register.js @ 211:a6d8d32a0261
[MrJuneJune] Simple animations for darkmode.
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Sun, 15 Feb 2026 21:38:23 -0800 |
| parents | 3b47e82ac57e |
| children |
comparison
equal
deleted
inserted
replaced
| 210:0abed117e623 | 211:a6d8d32a0261 |
|---|---|
| 2 if ('serviceWorker' in navigator) { | 2 if ('serviceWorker' in navigator) { |
| 3 window.addEventListener('load', () => { | 3 window.addEventListener('load', () => { |
| 4 navigator.serviceWorker | 4 navigator.serviceWorker |
| 5 .register('/public/sw.js') | 5 .register('/public/sw.js') |
| 6 .then((registration) => { | 6 .then((registration) => { |
| 7 console.log('[PWA] Service Worker registered:', registration.scope); | 7 // console.log('[PWA] Service Worker registered:', registration.scope); |
| 8 | 8 |
| 9 // Check for updates periodically | 9 // Check for updates periodically |
| 10 setInterval(() => { | 10 setInterval(() => { |
| 11 registration.update(); | 11 registration.update(); |
| 12 }, 60000); // Check every minute | 12 }, 60000); // Check every minute |
| 70 installBtn.remove(); | 70 installBtn.remove(); |
| 71 }); | 71 }); |
| 72 | 72 |
| 73 document.body.appendChild(installBtn); | 73 document.body.appendChild(installBtn); |
| 74 | 74 |
| 75 // setTimeout(() => { | 75 setTimeout(() => { |
| 76 // installBtn.style.opacity = '0'; | 76 installBtn.style.opacity = '0'; |
| 77 // installBtn.style.transition = 'opacity 0.3s'; | 77 installBtn.style.transition = 'opacity 0.3s'; |
| 78 // setTimeout(() => installBtn.remove(), 300); | 78 setTimeout(() => installBtn.remove(), 300); |
| 79 // }, 10000); | 79 }, 5000); |
| 80 } | 80 } |
| 81 | 81 |
| 82 window.addEventListener('appinstalled', () => { | 82 window.addEventListener('appinstalled', () => { |
| 83 console.log('[PWA] App installed successfully!'); | 83 console.log('[PWA] App installed successfully!'); |
| 84 deferredPrompt = null; | 84 deferredPrompt = null; |