From 80d75a7a57dd03d35d051a61dda5f50b69595d48 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 21 Dec 2025 20:26:17 -0500 Subject: [PATCH] update frontend --- public/pwaInstall.js | 16 +++++++--------- src/main.jsx | 13 ++++++------- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/public/pwaInstall.js b/public/pwaInstall.js index 422e3a4..4c78f78 100644 --- a/public/pwaInstall.js +++ b/public/pwaInstall.js @@ -1,26 +1,24 @@ // src/pwaInstall.js let deferredPrompt = null; -let promptShown = false; -// Stocke l'événement natif (se déclenche après interactions) +// Stocke l'événement natif quand Chrome le déclenche window.addEventListener('beforeinstallprompt', (e) => { e.preventDefault(); deferredPrompt = e; - console.log('PWA: Install prompt ready - button can trigger it now'); + console.log('PWA: Install prompt ready - button can trigger it'); }); // Fonction appelée par le bouton "Install" export function promptInstall() { - if (deferredPrompt && !promptShown) { - console.log('PWA: Triggering native prompt'); + if (deferredPrompt) { + console.log('PWA: Triggering native install prompt'); deferredPrompt.prompt(); - promptShown = true; - deferredPrompt.userChoice.then((choiceResult) => { - console.log('PWA Install outcome:', choiceResult.outcome); + deferredPrompt.userChoice.then((choice) => { + console.log('PWA Install outcome:', choice.outcome); deferredPrompt = null; }); } else { - console.log('PWA: No prompt ready - scroll/click more on the site'); + console.log('PWA: No prompt ready yet - scroll/click more'); alert('PWA not ready yet. Try scrolling the map, clicking filters or markers, then click Install again.'); } } \ No newline at end of file diff --git a/src/main.jsx b/src/main.jsx index 6790e7d..d94e74b 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -18,6 +18,9 @@ import "./styles/maps.css"; // ✅ pour la barre de recherche (taille + couleurs import { AuthProvider } from "./auth/AuthContext.jsx"; +// Import pour PWA install +import { promptInstall } from './pwaInstall'; + ReactDOM.createRoot(document.getElementById("root")).render( @@ -26,15 +29,11 @@ ReactDOM.createRoot(document.getElementById("root")).render( ); -// Enregistre le service worker pour PWA (offline + install) - sans crash +// Enregistre le service worker pour PWA if ('serviceWorker' in navigator) { window.addEventListener('load', () => { navigator.serviceWorker.register('/service-worker.js') - .then(reg => { - console.log('Service Worker registered:', reg); - }) - .catch(err => { - console.error('Service Worker failed:', err); - }); + .then(reg => console.log('Service Worker registered')) + .catch(err => console.error('Service Worker failed:', err)); }); } \ No newline at end of file