import { ArrowRightOutlined, LoadingOutlined, PauseCircleOutlined } from '@ant-design/icons' import { Timeline, Typography } from 'antd' import { renderProcessError, renderProcessMessage } from '../../../services/processRenderer' import { ExtendedTransactionRequest } from '../../../services/routingService' import { formatTokenAmount } from '../../../services/utils' import { Execution } from '../../../types' import Clock from '../../Clock' interface SimpleTransferStepProps { simpleTransfer: ExtendedTransactionRequest isSwapping: boolean simpleTransferDestination?: string simpleStepExecution?: Execution isMobile: boolean } export const SimpleTransferStep = ({ simpleTransfer, isSwapping, simpleTransferDestination, simpleStepExecution, isMobile, }: SimpleTransferStepProps) => { const parseSimpleTransferExecution = () => { if (!simpleStepExecution) { return [] } return simpleStepExecution.process.map((process, index, processList) => { const type = process.status === 'DONE' ? 'success' : process.status === 'FAILED' ? 'danger' : undefined const hasFailed = process.status === 'FAILED' const isLastPendingProcess = index === processList.length - 1 && process.status === 'PENDING' return (

{renderProcessMessage(process)}

{hasFailed && ( {renderProcessError(process)} )}
) }) } const parseSimpleTransferDestination = (destination?: string) => { return destination?.substring(0, 9) + '...' } const parseSimpleTransferStep = () => { const index = 0 const isDone = simpleStepExecution && simpleStepExecution.status === 'DONE' const isLoading = isSwapping && simpleStepExecution && simpleStepExecution.status === 'PENDING' const isPaused = !isSwapping && simpleStepExecution && simpleStepExecution.status === 'PENDING' const color = isDone ? 'green' : simpleStepExecution ? 'blue' : 'gray' return [

Transfer USDC

{formatTokenAmount(simpleTransfer.token, simpleTransfer.amount)} {' '} {parseSimpleTransferDestination(simpleTransferDestination)}
, : isPaused ? : null}> {parseSimpleTransferExecution()} , ] } return parseSimpleTransferStep() }