update frontend
This commit is contained in:
parent
4d2f81f434
commit
80d75a7a57
|
|
@ -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.');
|
||||
}
|
||||
}
|
||||
13
src/main.jsx
13
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(
|
||||
<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));
|
||||
});
|
||||
}
|
||||
Loading…
Reference in New Issue