gab-social/app/javascript/gabsocial/components/bundle_modal_error.js

52 lines
1.4 KiB
JavaScript
Raw Normal View History

2019-07-02 08:10:25 +01:00
import { defineMessages, injectIntl } from 'react-intl';
2020-03-26 03:11:32 +00:00
import Button from './button';
2019-07-02 08:10:25 +01:00
const messages = defineMessages({
error: { id: 'bundle_modal_error.message', defaultMessage: 'Something went wrong while loading this component.' },
retry: { id: 'bundle_modal_error.retry', defaultMessage: 'Try again' },
close: { id: 'bundle_modal_error.close', defaultMessage: 'Close' },
});
2020-02-24 21:56:07 +00:00
export default
@injectIntl
class BundleModalError extends PureComponent {
2019-07-02 08:10:25 +01:00
static propTypes = {
onRetry: PropTypes.func.isRequired,
onClose: PropTypes.func.isRequired,
intl: PropTypes.object.isRequired,
}
handleRetry = () => {
this.props.onRetry();
}
render () {
const { onClose, intl: { formatMessage } } = this.props;
// Keep the markup in sync with <ModalLoading />
// (make sure they have the same dimensions)
return (
<div className='modal-root__modal error-modal'>
<div className='error-modal__body'>
2020-03-26 03:11:32 +00:00
<Button title={formatMessage(messages.retry)} icon='refresh' onClick={this.handleRetry} size={64} />
2019-07-02 08:10:25 +01:00
{formatMessage(messages.error)}
</div>
<div className='error-modal__footer'>
<div>
<button
onClick={onClose}
className='error-modal__nav onboarding-modal__skip'
>
{formatMessage(messages.close)}
</button>
</div>
</div>
</div>
);
}
}