diff --git a/hooks/useHandleLinking.ts b/hooks/useHandleLinking.ts index bd9c2ee..4a255d6 100644 --- a/hooks/useHandleLinking.ts +++ b/hooks/useHandleLinking.ts @@ -31,8 +31,13 @@ export function useHandleLinking() { url: currentUrl, }, }); - break; + return; } } + + // Code below here is only executed if the link could not be handled + router.replace({ + pathname: "/", + }); }, [url, hasNavigationState]); } diff --git a/pages/Wildcard.tsx b/pages/Wildcard.tsx index d0f1f07..ecc7d1b 100644 --- a/pages/Wildcard.tsx +++ b/pages/Wildcard.tsx @@ -18,7 +18,6 @@ export function Wildcard() { /> Loading - {pathname} ); } diff --git a/pages/send/LNURLPay.tsx b/pages/send/LNURLPay.tsx index dac7e5a..f7859d4 100644 --- a/pages/send/LNURLPay.tsx +++ b/pages/send/LNURLPay.tsx @@ -12,10 +12,11 @@ import { DualCurrencyInput } from "~/components/DualCurrencyInput"; import DismissableKeyboardView from "~/components/DismissableKeyboardView"; export function LNURLPay() { - const { lnurlDetailsJSON, originalText } = + const { lnurlDetailsJSON, originalText, humanReadablePaymentInfo } = useLocalSearchParams() as unknown as { lnurlDetailsJSON: string; originalText: string; + humanReadablePaymentInfo: string; }; const lnurlDetails: LNURLPayServiceResponse = JSON.parse(lnurlDetailsJSON); const [isLoading, setLoading] = React.useState(false); @@ -72,7 +73,7 @@ export function LNURLPay() { To - {originalText.toLowerCase().replace("lightning:", "")} + {humanReadablePaymentInfo} diff --git a/pages/send/Send.tsx b/pages/send/Send.tsx index 313c401..c128bfb 100644 --- a/pages/send/Send.tsx +++ b/pages/send/Send.tsx @@ -74,6 +74,7 @@ export function Send() { } console.log("loading payment", text); const originalText = text; + let humanReadablePaymentInfo = text; setLoading(true); try { if (text.startsWith("bitcoin:")) { @@ -88,6 +89,7 @@ export function Send() { if (text.startsWith("lightning:")) { text = text.substring("lightning:".length); } + const lnurlValue = lnurl.findLnurl(text); console.log("Checked lnurl value", text, lnurlValue); if (lnurlValue) { @@ -97,16 +99,21 @@ export function Send() { throw new Error("LNURL tag " + lnurlDetails.tag + " not supported"); } + humanReadablePaymentInfo = lnurlValue; + router.replace({ pathname: "/send/lnurl-pay", params: { lnurlDetailsJSON: JSON.stringify(lnurlDetails), originalText, + humanReadablePaymentInfo }, }); return true; } else { + humanReadablePaymentInfo = text; + // Check if this is a valid invoice new Invoice({ pr: text, @@ -114,7 +121,7 @@ export function Send() { router.replace({ pathname: "/send/confirm", - params: { invoice: text, originalText }, + params: { invoice: text, originalText, humanReadablePaymentInfo }, }); return true;