Files
Arkie-Library-Frontend/src/wallet/deepLinks.ts

32 lines
902 B
TypeScript
Raw Normal View History

2026-06-02 00:32:46 +08:00
type WalletKind = "tokenPocket" | "metaMask" | "imToken";
function currentDappUrl(): string {
if (typeof window === "undefined") return "https://ark-library.com";
return window.location.href;
}
export function walletDeepLink(
kind: WalletKind,
dappUrl = currentDappUrl(),
): string {
switch (kind) {
case "tokenPocket":
return `tpdapp://open?params=${encodeURIComponent(
JSON.stringify({ url: dappUrl, chain: "ETH" }),
)}`;
case "metaMask":
2026-06-02 01:06:55 +08:00
return `https://metamask.app.link/dapp/${encodeURIComponent(
dappUrl.replace(/^https?:\/\//, ""),
)}`;
2026-06-02 00:32:46 +08:00
case "imToken":
return `imtokenv2://navigate/DappView?url=${encodeURIComponent(dappUrl)}`;
default:
return dappUrl;
}
}
export function openWalletDeepLink(kind: WalletKind): void {
if (typeof window === "undefined") return;
window.location.href = walletDeepLink(kind);
}