import { useState, useEffect } from 'react'; import { Download, X } from 'lucide-react'; import { Button } from '@/components/ui/button'; export default function InstallPrompt() { const [deferredPrompt, setDeferredPrompt] = useState(null); const [showPrompt, setShowPrompt] = useState(false); useEffect(() => { const handler = (e: any) => { e.preventDefault(); setDeferredPrompt(e); setShowPrompt(true); }; window.addEventListener('beforeinstallprompt', handler); return () => { window.removeEventListener('beforeinstallprompt', handler); }; }, []); const handleInstall = async () => { if (!deferredPrompt) return; deferredPrompt.prompt(); const { outcome } = await deferredPrompt.userChoice; if (outcome === 'accepted') { setDeferredPrompt(null); setShowPrompt(false); } }; if (!showPrompt) return null; return (

Install App

Install QA Hub for a better experience and offline access.

); }