import React, { PureComponent } from 'react'
import PropTypes from 'prop-types'
import { getEnvironmentType } from '../../../../app/scripts/lib/util'
import { ENVIRONMENT_TYPE_POPUP } from '../../../../app/scripts/lib/enums'
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