'use client'; import { Avatar, Address as OCKAddress } from '@/identity'; import { PressableIcon } from '@/internal/components/PressableIcon'; import { TextInput } from '@/internal/components/TextInput'; import { backArrowSvg } from '@/internal/svg/backArrowSvg'; import { useState } from 'react'; import type { Address } from 'viem'; import { useAppchainBridgeContext } from './AppchainBridgeProvider'; export const AppchainBridgeAddressInput = () => { const { setIsAddressModalOpen, handleAddressSelect } = useAppchainBridgeContext(); const [address, setAddress] = useState
(null); const [isValidAddress, setIsValidAddress] = useState(false); const validateAddress = (addr: string) => { return /^0x[a-fA-F0-9]{40}$/.test(addr); }; const backButton = ( { setIsAddressModalOpen(false); }} >
{backArrowSvg}
); return (
{backButton}

Send to

To { const addr = value as Address; setAddress(addr); setIsValidAddress(validateAddress(addr)); }} value={address || ''} />
{address && !isValidAddress && (

Please enter a valid Ethereum address

)} {address && isValidAddress && ( )}
); };