import React, { PureComponent } from 'react' import PropTypes from 'prop-types' import { getEnvironmentType } from '../../../../app/scripts/lib/util' import { ENVIRONMENT_TYPE_POPUP } from '../../../../shared/constants/app' class ErrorPage extends PureComponent { static contextTypes = { t: PropTypes.func.isRequired, } static propTypes = { error: PropTypes.object.isRequired, } renderErrorDetail(content) { return (
  • {content}

  • ) } renderErrorStack(title, stack) { return (
  • {title}
    {stack}
  • ) } render() { const { error } = this.props const { t } = this.context const isPopup = getEnvironmentType() === ENVIRONMENT_TYPE_POPUP return (

    {t('errorPageTitle')}

    {isPopup ? t('errorPagePopupMessage') : t('errorPageMessage')}

    {t('errorDetails')}
      {error.message ? this.renderErrorDetail(t('errorMessage', [error.message])) : null} {error.code ? this.renderErrorDetail(t('errorCode', [error.code])) : null} {error.name ? this.renderErrorDetail(t('errorName', [error.name])) : null} {error.stack ? this.renderErrorStack(t('errorStack'), error.stack) : null}
    ) } } export default ErrorPage