File size: 2,020 Bytes
7d3a75b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// Vérifier si le navigateur prend en charge les Service Workers
if ('serviceWorker' in navigator) {
  window.addEventListener('load', function() {
    navigator.serviceWorker.register('/static/js/service-worker.js')
      .then(function(registration) {
        console.log('Service Worker enregistré avec succès:', registration.scope);
      })
      .catch(function(error) {
        console.log('Échec de l\'enregistrement du Service Worker:', error);
      });
  });
}

// Gestion des événements d'installation de PWA
let deferredPrompt;

window.addEventListener('beforeinstallprompt', (e) => {
  // Empêcher Chrome 67 et versions ultérieures d'afficher automatiquement l'invite
  e.preventDefault();
  // Stocker l'événement pour l'utiliser plus tard
  deferredPrompt = e;
  
  // Vous pouvez ajouter ici un bouton ou une bannière pour suggérer l'installation
  // Par exemple :
  /*
  const installBanner = document.createElement('div');
  installBanner.id = 'install-banner';
  installBanner.innerHTML = `
    <p>Installez Mariam AI sur votre appareil!</p>
    <button id="install-button">Installer</button>
    <button id="close-banner">✕</button>
  `;
  document.body.appendChild(installBanner);
  
  document.getElementById('install-button').addEventListener('click', (e) => {
    // Afficher l'invite d'installation
    deferredPrompt.prompt();
    // Attendre que l'utilisateur réponde à l'invite
    deferredPrompt.userChoice.then((choiceResult) => {
      if (choiceResult.outcome === 'accepted') {
        console.log('L\'utilisateur a accepté l\'installation');
      } else {
        console.log('L\'utilisateur a refusé l\'installation');
      }
      // Réinitialiser la variable car on ne peut utiliser l'événement qu'une fois
      deferredPrompt = null;
      // Cacher la bannière
      installBanner.style.display = 'none';
    });
  });
  
  document.getElementById('close-banner').addEventListener('click', (e) => {
    installBanner.style.display = 'none';
  });
  */
});