From 40459dcf46ff9ef75546550668b46bb08f22cde5 Mon Sep 17 00:00:00 2001 From: Salmatcre8 Date: Sun, 26 Apr 2026 19:11:25 +0100 Subject: [PATCH 1/2] feat: add keyboard navigation focus trap to modals --- components/escrow/TransactionConfirmModal.tsx | 11 ++- components/ui/confirm-dialog.tsx | 19 +++--- hooks/useFocusTrap.ts | 68 +++++++++++++++++++ 3 files changed, 89 insertions(+), 9 deletions(-) create mode 100644 hooks/useFocusTrap.ts diff --git a/components/escrow/TransactionConfirmModal.tsx b/components/escrow/TransactionConfirmModal.tsx index 64d3c3f1..0637346a 100644 --- a/components/escrow/TransactionConfirmModal.tsx +++ b/components/escrow/TransactionConfirmModal.tsx @@ -16,6 +16,8 @@ interface TransactionConfirmModalProps { error?: string | null; } +import { useFocusTrap } from "@/hooks/useFocusTrap"; + /** * A modal for confirming Stellar transactions. * Displays amount, estimated fee, and provides feedback during/after submission. @@ -32,13 +34,20 @@ export default function TransactionConfirmModal({ transactionHash, error, }: TransactionConfirmModalProps) { + const containerRef = useFocusTrap(isOpen, onClose); + if (!isOpen) return null; const isSuccess = !!transactionHash; return (
-
+