diff --git a/app/components/UI/LightningInvoiceInput.js b/app/components/UI/LightningInvoiceInput.js index a5057ff1..3ef8fe30 100644 --- a/app/components/UI/LightningInvoiceInput.js +++ b/app/components/UI/LightningInvoiceInput.js @@ -1,9 +1,11 @@ import React from 'react' import PropTypes from 'prop-types' +import { FormattedMessage, injectIntl } from 'react-intl' import { asField } from 'informed' import { isOnchain, isLn } from 'lib/utils/crypto' import TextArea from 'components/UI/TextArea' import FormFieldMessage from 'components/UI/FormFieldMessage' +import messages from './messages' /** * @render react @@ -30,19 +32,28 @@ class LightningInvoiceInput extends React.Component { } validate = value => { + const { intl } = this.props const { network, chain, required } = this.props + + let chainName = `${chain}/lightning` + if (network !== 'mainnet') { + chainName += ` (${network})` + } + if (required && (!value || value.trim() === '')) { - return 'This is a required field' + return intl.formatMessage({ ...messages.required_field }) } if (value && !isLn(value, chain, network) && !isOnchain(value, chain, network)) { - return 'Not a valid address.' + return intl.formatMessage({ ...messages.invalid_request }, { chain: chainName }) } } render() { + const { intl } = this.props + return ( { const { value } = fieldState const { chain, network, ...rest } = props + + let chainName = isLn(value, chain, network) ? 'lightning' : chain + if (network !== 'mainnet') { + chainName += ` (${network})` + } return (