/** * External dependencies */ import { __ } from '@wordpress/i18n'; import { escapeHTML } from '@wordpress/escape-html'; /** * Internal dependencies */ import { ErrorObject } from '.'; export interface ErrorMessageProps { /** * The error object. */ error: ErrorObject; } const getErrorMessage = ( { message, type }: ErrorObject ) => { if ( ! message ) { return __( 'An unknown error occurred which prevented the block from being updated.', 'woo-gutenberg-products-block' ); } if ( type === 'general' ) { return ( { __( 'The following error was returned', 'woo-gutenberg-products-block' ) }
{ escapeHTML( message ) }
); } if ( type === 'api' ) { return ( { __( 'The following error was returned from the API', 'woo-gutenberg-products-block' ) }
{ escapeHTML( message ) }
); } return message; }; const ErrorMessage = ( { error }: ErrorMessageProps ): JSX.Element => (
{ getErrorMessage( error ) }
); export default ErrorMessage;