sw-fe/public/pwaInstall.js

25 lines
870 B
JavaScript

// src/pwaInstall.js
let deferredPrompt = null;
// Stocke l'événement natif quand Chrome le déclenche
window.addEventListener('beforeinstallprompt', (e) => {
// Empêche le prompt auto (on veut le contrôler)
e.preventDefault();
deferredPrompt = e;
console.log('PWA: Install prompt ready - ready to trigger on button click');
});
// Fonction appelée par le bouton "Install"
export function promptInstall() {
if (deferredPrompt) {
console.log('PWA: Triggering native install prompt');
deferredPrompt.prompt();
deferredPrompt.userChoice.then((choiceResult) => {
console.log('PWA Install outcome:', choiceResult.outcome);
deferredPrompt = null;
});
} else {
console.log('PWA: No prompt ready yet - wait for beforeinstallprompt event');
alert('PWA not ready yet. Try scrolling or interacting more with the site.');
}
}