34 lines
993 B
JavaScript
34 lines
993 B
JavaScript
// src/pwaInstall.js
|
|
let deferredPrompt = null;
|
|
let promptShown = false; // Flag pour n'afficher qu'une fois
|
|
|
|
window.addEventListener('beforeinstallprompt', (e) => {
|
|
e.preventDefault();
|
|
deferredPrompt = e;
|
|
console.log('PWA install prompt ready');
|
|
|
|
// Affiche le prompt automatiquement après 5 secondes (une seule fois)
|
|
setTimeout(() => {
|
|
if (!promptShown && deferredPrompt) {
|
|
deferredPrompt.prompt();
|
|
promptShown = true;
|
|
deferredPrompt.userChoice.then((choice) => {
|
|
console.log('Install outcome:', choice.outcome);
|
|
deferredPrompt = null;
|
|
});
|
|
}
|
|
}, 5000); // 5000 ms = 5 secondes
|
|
});
|
|
|
|
export function promptInstall() {
|
|
if (deferredPrompt && !promptShown) {
|
|
deferredPrompt.prompt();
|
|
promptShown = true;
|
|
deferredPrompt.userChoice.then((choice) => {
|
|
console.log('Install outcome:', choice.outcome);
|
|
deferredPrompt = null;
|
|
});
|
|
} else {
|
|
console.log('No install prompt available or already shown');
|
|
}
|
|
} |