import React, { useContext } from 'react'; import PropTypes from 'prop-types'; import { Color, SEVERITIES, Size, TypographyVariant, } from '../../../helpers/constants/design-system'; import { I18nContext } from '../../../../.storybook/i18n'; import { BannerAlert, ButtonLink } from '../../component-library'; import Typography from '../../ui/typography/typography'; import { SECURITY_PROVIDER_MESSAGE_SEVERITIES } from './security-provider-banner-message.constants'; export default function SecurityProviderBannerMessage({ securityProviderResponse, }) { const t = useContext(I18nContext); let messageTitle; let messageText; let severity; if ( securityProviderResponse.flagAsDangerous === SECURITY_PROVIDER_MESSAGE_SEVERITIES.MALICIOUS ) { messageTitle = securityProviderResponse.reason_header === '' ? t('requestFlaggedAsMaliciousFallbackCopyReasonTitle') : securityProviderResponse.reason_header; messageText = securityProviderResponse.reason === '' ? t('requestFlaggedAsMaliciousFallbackCopyReason') : securityProviderResponse.reason; severity = SEVERITIES.DANGER; } else if ( securityProviderResponse.flagAsDangerous === SECURITY_PROVIDER_MESSAGE_SEVERITIES.NOT_SAFE ) { messageTitle = t('requestMayNotBeSafe'); messageText = t('requestMayNotBeSafeError'); severity = SEVERITIES.WARNING; } else { messageTitle = t('requestNotVerified'); messageText = t('requestNotVerifiedError'); severity = SEVERITIES.WARNING; } return ( {messageText} {t('thisIsBasedOn')} {t('openSeaNew')} ); } SecurityProviderBannerMessage.propTypes = { securityProviderResponse: PropTypes.object, };