update frontend

This commit is contained in:
Your Name 2025-12-21 20:26:17 -05:00
parent 4d2f81f434
commit 80d75a7a57
2 changed files with 13 additions and 16 deletions

View File

@ -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.');
}
}

View File

@ -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(
<React.StrictMode>
<AuthProvider>
@ -26,15 +29,11 @@ ReactDOM.createRoot(document.getElementById("root")).render(
</React.StrictMode>
);
// 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));
});
}