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;