"use client" import { useState, useEffect } from "react" import { Button } from "@/components/ui/button" import { X } from "lucide-react" export function InstallPrompt() { const [show, setShow] = useState(false) const [isIOS, setIsIOS] = useState(false) const [isStandalone, setIsStandalone] = useState(false) useEffect(() => { // Prüfe ob bereits als PWA installiert const standalone = window.matchMedia('(display-mode: standalone)').matches || (window.navigator as any).standalone || document.referrer.includes('android-app://') setIsStandalone(standalone) // Prüfe iOS const isIOSDevice = /iPad|iPhone|iPod/.test(navigator.userAgent) && !(window as any).MSStream setIsIOS(isIOSDevice) // Zeige Prompt nur wenn nicht bereits installiert und nicht bereits geschlossen const dismissed = localStorage.getItem('install-prompt-dismissed') if (!standalone && !dismissed) { // Verzögert anzeigen setTimeout(() => setShow(true), 3000) } }, []) const handleDismiss = () => { setShow(false) localStorage.setItem('install-prompt-dismissed', 'true') } if (!show || isStandalone) return null return (
WrestleDesk als App installieren
{isIOS ? (Tippe auf Teilen → "Zum Home Screen hinzufügen"
) : (Installieren für schnellen Zugriff
)}