From f6f24257d54813ab6984e44958f9f8f93ca41f9b Mon Sep 17 00:00:00 2001 From: SaraJane Date: Thu, 15 Jan 2026 13:01:22 +0000 Subject: [PATCH] feat: copy addr, hyperlinks to ALGO/USDC dispenser --- .../src/components/Account.tsx | 45 +++++++++++++++---- .../src/components/TokenizeAsset.tsx | 41 +++++++++++++++++ 2 files changed, 77 insertions(+), 9 deletions(-) diff --git a/projects/TokenizeRWATemplate-frontend/src/components/Account.tsx b/projects/TokenizeRWATemplate-frontend/src/components/Account.tsx index 0e81154..d3a396e 100644 --- a/projects/TokenizeRWATemplate-frontend/src/components/Account.tsx +++ b/projects/TokenizeRWATemplate-frontend/src/components/Account.tsx @@ -1,4 +1,4 @@ -import { useMemo } from 'react' +import { useMemo, useState } from 'react' import { useUnifiedWallet } from '../hooks/useUnifiedWallet' import { ellipseAddress } from '../utils/ellipseAddress' import { getAlgodConfigFromViteEnvironment } from '../utils/network/getAlgoClientConfigs' @@ -18,6 +18,7 @@ import { getAlgodConfigFromViteEnvironment } from '../utils/network/getAlgoClien const Account = () => { const { activeAddress } = useUnifiedWallet() const algoConfig = getAlgodConfigFromViteEnvironment() + const [copied, setCopied] = useState(false) // Normalize network name for Lora const networkName = useMemo(() => { @@ -33,16 +34,42 @@ const Account = () => { const loraUrl = `https://lora.algokit.io/${networkName}/account/${address}/` + const handleCopy = async () => { + try { + await navigator.clipboard.writeText(address) + setCopied(true) + setTimeout(() => setCopied(false), 1500) + } catch (e) { + console.error('Failed to copy address', e) + } + } + return (
- - Address: {ellipseAddress(address)} - +
+ + Address: {ellipseAddress(address)} + + + {/* Copy button */} + +
Network: {networkName}
diff --git a/projects/TokenizeRWATemplate-frontend/src/components/TokenizeAsset.tsx b/projects/TokenizeRWATemplate-frontend/src/components/TokenizeAsset.tsx index 2ac52ed..1604425 100644 --- a/projects/TokenizeRWATemplate-frontend/src/components/TokenizeAsset.tsx +++ b/projects/TokenizeRWATemplate-frontend/src/components/TokenizeAsset.tsx @@ -649,6 +649,27 @@ export default function TokenizeAsset() {

Tokenize on Algorand

Mint standard ASAs or mint an NFT-style ASA on TestNet.

+ {/* TestNet funding helper */} +
+
+
+ Need TestNet ALGO to get started? Use the Algorand TestNet Dispenser. + + Tip: fund the connected address, then refresh your balance. + +
+ + + Open Dispenser ↗ + +
+
+
@@ -1143,6 +1164,26 @@ export default function TokenizeAsset() {

Transfer

Send ALGO, USDC, or any ASA (including NFTs) to another wallet.

+ {/* TestNet USDC helper */} +
+
+
+ Need TestNet USDC? Use Circle’s faucet, then transfer it like any ASA. + + Note: you may need to opt-in to the USDC asset before receiving it. + +
+ + + Open USDC Faucet ↗ + +
+
{/* Mode selector */}