28 lines
1007 B
JavaScript
28 lines
1007 B
JavaScript
// src/pwaInstall.js
|
|
let deferredPrompt = null;
|
|
|
|
// Écoute l'événement natif PWA (se déclenche quand Chrome pense que l'app est installable)
|
|
window.addEventListener('beforeinstallprompt', (e) => {
|
|
// Empêche le prompt auto (on veut le contrôler avec le bouton)
|
|
e.preventDefault();
|
|
deferredPrompt = e;
|
|
console.log('PWA install prompt ready - waiting for user click');
|
|
});
|
|
|
|
// Fonction appelée quand on clique sur le bouton "Install"
|
|
export function promptInstall() {
|
|
if (deferredPrompt) {
|
|
deferredPrompt.prompt(); // Affiche le prompt natif "Add to home screen"
|
|
deferredPrompt.userChoice.then((choiceResult) => {
|
|
if (choiceResult.outcome === 'accepted') {
|
|
console.log('User accepted PWA install');
|
|
} else {
|
|
console.log('User dismissed PWA install');
|
|
}
|
|
deferredPrompt = null;
|
|
});
|
|
} else {
|
|
console.log('No install prompt available yet - try again later');
|
|
alert('PWA installation not ready yet. Try again in a few seconds.');
|
|
}
|
|
} |