From aae075c0ea9270670345c2aa525817f1bf8fbfaa Mon Sep 17 00:00:00 2001 From: Elliott Coleman Date: Thu, 13 Feb 2025 11:16:43 +0000 Subject: [PATCH] feat(LIVE-17004) extract swap parameters from deeplink --- .changeset/real-buttons-sleep.md | 5 ++++ .../useDeeplinking/useDeepLinkHandler.ts | 23 ++++++++++++++++--- 2 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 .changeset/real-buttons-sleep.md diff --git a/.changeset/real-buttons-sleep.md b/.changeset/real-buttons-sleep.md new file mode 100644 index 000000000000..2939ee7281f4 --- /dev/null +++ b/.changeset/real-buttons-sleep.md @@ -0,0 +1,5 @@ +--- +"ledger-live-desktop": minor +--- + +Extract swap parameters from deeplink diff --git a/apps/ledger-live-desktop/src/renderer/hooks/useDeeplinking/useDeepLinkHandler.ts b/apps/ledger-live-desktop/src/renderer/hooks/useDeeplinking/useDeepLinkHandler.ts index dd4223ff0000..0c7fb63feacb 100644 --- a/apps/ledger-live-desktop/src/renderer/hooks/useDeeplinking/useDeepLinkHandler.ts +++ b/apps/ledger-live-desktop/src/renderer/hooks/useDeeplinking/useDeepLinkHandler.ts @@ -33,7 +33,7 @@ export function useDeepLinkHandler() { ( pathname: string, state?: { - [k: string]: string; + [k: string]: string | Object; }, search?: string, ) => { @@ -203,9 +203,26 @@ export function useDeepLinkHandler() { } break; } - case "swap": - navigate("/swap"); + case "swap": { + const { amountFrom, fromToken, toToken } = query; + + const state: { + defaultToken?: { fromTokenId: string; toTokenId: string }; + defaultAmountFrom?: string; + } = {}; + + if (fromToken !== toToken) { + state.defaultToken = { fromTokenId: fromToken, toTokenId: toToken }; + } + + if (amountFrom) { + state.defaultAmountFrom = amountFrom; + } + + navigate("/swap", state); + break; + } case "bridge": { const { origin, appName } = query;