import { useMemo } from 'react'; import { Spinner } from '../../internal/components/Spinner'; import { ErrorSvg } from '../../internal/svg/errorSvg'; import { SuccessSvg } from '../../internal/svg/successSvg'; import { cn, text } from '../../styles/theme'; import type { TransactionToastIconProps } from '../types'; import { useTransactionContext } from './TransactionProvider'; export function TransactionToastIcon({ className }: TransactionToastIconProps) { const { errorMessage, isLoading, receipt, transactionHash, transactionId } = useTransactionContext(); const isInProgress = isLoading || !!transactionId || !!transactionHash; const icon = useMemo(() => { // txn successful if (receipt) { return ; } if (errorMessage) { return ; } if (isInProgress) { return ; } return null; }, [isInProgress, errorMessage, receipt]); if (!icon) { return null; } return
{icon}
; }