feature: parse error to ErrorMessage component

pull/508/head
Alexander Klein 2021-02-24 15:21:59 +01:00
parent 7eb0ca8034
commit c6c6ef1e8f
1 changed files with 15 additions and 2 deletions

View File

@ -1,14 +1,27 @@
import React from 'react';
import PropTypes from 'prop-types';
import { FormattedMessage } from 'react-intl';
import Icon from './Icon';
import Exclamation from 'assets/exclamation-triangle.svg';
import styles from './ErrorMessage.module.css';
export default function ErrorMessage() {
const DEFAULT_ID = 'message.failure';
const DEFAULT_MESSAGE = 'Something went wrong';
function ErrorMessage({ error }) {
const [id, defaultMessage] =
typeof error === 'string' ? error.split('\t') : [DEFAULT_ID, DEFAULT_MESSAGE];
return (
<div className={styles.error}>
<Icon icon={<Exclamation />} className={styles.icon} size="large" />
<FormattedMessage id="message.failure" defaultMessage="Something went wrong." />
<FormattedMessage id={id} defaultMessage={defaultMessage} />
</div>
);
}
ErrorMessage.propTypes = {
error: PropTypes.oneOfType([PropTypes.string, PropTypes.instanceOf(Error)]),
};
export default ErrorMessage;