From 4718d119060aefc7974b067c97705f0c956b0a73 Mon Sep 17 00:00:00 2001 From: Kieran Date: Mon, 27 Feb 2023 21:24:12 +0000 Subject: [PATCH] auto-close lnurl flow after WebLN payment success --- packages/app/src/Element/SendSats.tsx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/app/src/Element/SendSats.tsx b/packages/app/src/Element/SendSats.tsx index cdb9cd2..f4c76ba 100644 --- a/packages/app/src/Element/SendSats.tsx +++ b/packages/app/src/Element/SendSats.tsx @@ -15,9 +15,10 @@ import Modal from "Element/Modal"; import QrCode from "Element/QrCode"; import Copy from "Element/Copy"; import useWebln from "Hooks/useWebln"; +import { LNURL, LNURLError, LNURLErrorCode, LNURLInvoice, LNURLSuccessAction } from "LNURL"; +import { debounce } from "Util"; import messages from "./messages"; -import { LNURL, LNURLError, LNURLErrorCode, LNURLInvoice, LNURLSuccessAction } from "LNURL"; enum ZapType { PublicZap = 1, @@ -91,6 +92,15 @@ export default function SendSats(props: SendSatsProps) { } }, [props.show]); + useEffect(() => { + if (success && !success.url) { + // Fire onClose when success is set with no URL action + return debounce(1_000, () => { + onClose(); + }); + } + }, [success]); + useEffect(() => { if (props.lnurl && props.show) { try {