From 9ded1294786f23ff9741094d0dc56eb77f819bb1 Mon Sep 17 00:00:00 2001 From: AgendaPro Dev Date: Mon, 27 Jul 2026 16:32:58 -0600 Subject: [PATCH] fix: harden PWA install prompt --- src/components/AdminShell.tsx | 2 +- src/components/AppShell.tsx | 2 +- src/components/InstallAppPrompt.tsx | 29 +++++++++++++++++++++++++---- src/components/Modal.tsx | 1 + src/lib/useInstallPrompt.ts | 22 ++++++++++++++++------ 5 files changed, 44 insertions(+), 12 deletions(-) diff --git a/src/components/AdminShell.tsx b/src/components/AdminShell.tsx index 4f8ad16..f08ea59 100644 --- a/src/components/AdminShell.tsx +++ b/src/components/AdminShell.tsx @@ -133,7 +133,7 @@ export function AdminShell() { Admin
- +
diff --git a/src/components/AppShell.tsx b/src/components/AppShell.tsx index e763e41..34ab9bf 100644 --- a/src/components/AppShell.tsx +++ b/src/components/AppShell.tsx @@ -166,7 +166,7 @@ export function AppShell() { AgendaMax
- +
diff --git a/src/components/InstallAppPrompt.tsx b/src/components/InstallAppPrompt.tsx index 9133381..a0db0a7 100644 --- a/src/components/InstallAppPrompt.tsx +++ b/src/components/InstallAppPrompt.tsx @@ -3,16 +3,26 @@ import { Download, PlusSquare, Share } from "lucide-react"; import { Modal } from "./Modal"; import { useInstallPrompt } from "../lib/useInstallPrompt"; -export function InstallAppPrompt() { +export function InstallAppPrompt({ compact = false }: { compact?: boolean }) { const { state, install } = useInstallPrompt(); const [iosOpen, setIosOpen] = useState(false); + const buttonClassName = compact + ? "btn btn-secondary h-9 w-9 shrink-0 justify-center p-0" + : "btn btn-secondary w-full justify-start"; if (state === "unsupported" || state === "installed") return null; if (state === "ios-instructions") { return ( <> - setIosOpen(false)} title="Instalar AgendaMax" subtitle="Safari lo aƱade a tu pantalla de inicio.">
@@ -25,5 +35,16 @@ export function InstallAppPrompt() { ); } - return ; + return ( + + ); } diff --git a/src/components/Modal.tsx b/src/components/Modal.tsx index 0992928..642b89c 100644 --- a/src/components/Modal.tsx +++ b/src/components/Modal.tsx @@ -48,6 +48,7 @@ export function Modal({ open, onClose, title, subtitle, children, size = "md", f