import React from 'react'; import PropTypes from 'prop-types'; import { useSelector } from 'react-redux'; import { PriorityLevels } from '../../../../shared/constants/gas'; import { submittedPendingTransactionsSelector } from '../../../selectors'; import { useGasFeeContext } from '../../../contexts/gasFee'; import { useI18nContext } from '../../../hooks/useI18nContext'; import { BannerAlert, ButtonLink, Text } from '../../component-library'; import SimulationErrorMessage from '../../ui/simulation-error-message'; import { SEVERITIES } from '../../../helpers/constants/design-system'; import ZENDESK_URLS from '../../../helpers/constants/zendesk-url'; const TransactionAlerts = ({ userAcknowledgedGasMissing, setUserAcknowledgedGasMissing, }) => { const { estimateUsed, hasSimulationError, supportsEIP1559, isNetworkBusy } = useGasFeeContext(); const pendingTransactions = useSelector(submittedPendingTransactionsSelector); const t = useI18nContext(); return (
{supportsEIP1559 && hasSimulationError && ( )} {supportsEIP1559 && pendingTransactions?.length > 0 && ( {pendingTransactions?.length === 1 ? t('pendingTransactionSingle', [pendingTransactions?.length]) : t('pendingTransactionMultiple', [ pendingTransactions?.length, ])} {' '} {t('pendingTransactionInfo')} {t('learnCancelSpeeedup', [ {t('cancelSpeedUp')} , ])} )} {estimateUsed === PriorityLevels.low && ( {t('lowPriorityMessage')} )} {supportsEIP1559 && isNetworkBusy ? ( {t('networkIsBusy')} ) : null}
); }; TransactionAlerts.propTypes = { userAcknowledgedGasMissing: PropTypes.bool, setUserAcknowledgedGasMissing: PropTypes.func, }; export default TransactionAlerts;