import { useState } from 'react'; import { writeText } from '@tauri-apps/plugin-clipboard-manager'; import { Copy, Check, Plus, QrCode } from 'lucide-react'; import { invoke } from '@tauri-apps/api/core'; import { useWalletStore } from '../store/wallet'; export default function Receive() { const { addresses, refreshAddresses } = useWalletStore(); const [copied, setCopied] = useState(null); const [generating, setGenerating] = useState(false); const handleCopy = async (address: string) => { await writeText(address); setCopied(address); setTimeout(() => setCopied(null), 2000); }; const handleGenerateAddress = async () => { setGenerating(true); try { await invoke('generate_address', { label: null }); await refreshAddresses(); } catch (error) { console.error('Failed to generate address:', error); } finally { setGenerating(false); } }; const primaryAddress = addresses[0]?.address; return (

Receive SYN

{/* Primary address with QR placeholder */} {primaryAddress && (
Primary Address
{/* QR Code placeholder */}
QR Code
{/* Address with copy */}

{primaryAddress}

)} {/* All addresses */}

All Addresses

{addresses.map((addr, i) => (
#{addr.index} {addr.label && ( {addr.label} )} {i === 0 && ( Primary )}

{addr.address}

))} {addresses.length === 0 && (

No addresses yet. Generate one to receive funds.

)}
); }