import { useState, useEffect } from 'react'; import './PWAInstallPrompt.css'; /** * Composant pour afficher un message d'onboarding PWA * Spécialement pour iOS qui nécessite l'installation manuelle */ export default function PWAInstallPrompt() { const [showPrompt, setShowPrompt] = useState(false); const [isIOS, setIsIOS] = useState(false); const [isStandalone, setIsStandalone] = useState(false); useEffect(() => { // Détecter iOS const iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; setIsIOS(iOS); // Détecter si déjà en mode standalone (installé) const standalone = window.matchMedia('(display-mode: standalone)').matches || window.navigator.standalone || document.referrer.includes('android-app://'); setIsStandalone(standalone); // Vérifier si l'utilisateur a déjà vu le prompt const hasSeenPrompt = localStorage.getItem('pwa-install-prompt-seen'); // Afficher le prompt si iOS, pas installé, et jamais vu if (iOS && !standalone && !hasSeenPrompt) { // Afficher après 3 secondes pour ne pas être intrusif setTimeout(() => { setShowPrompt(true); }, 3000); } }, []); const handleDismiss = () => { setShowPrompt(false); localStorage.setItem('pwa-install-prompt-seen', 'true'); }; if (!showPrompt || !isIOS || isStandalone) { return null; } return (

Installation requise pour les notifications

Pour recevoir les notifications d'appels, vous devez installer l'application sur votre écran d'accueil.

1

Appuyez sur le bouton Partager

2

Sélectionnez Sur l'écran d'accueil

3

Tapez Ajouter

); }