Fix routing issues. Fix panel layout.
This commit is contained in:
@@ -2,6 +2,7 @@ import React from 'react'
|
||||
import { api } from 'src/API'
|
||||
import PropTypes from 'prop-types'
|
||||
import { MessageModal, WaitModal } from '../Modal'
|
||||
import { Logout } from '.'
|
||||
import autobind from 'autobind-decorator'
|
||||
|
||||
export class ConfirmEmail extends React.Component {
|
||||
@@ -17,7 +18,8 @@ export class ConfirmEmail extends React.Component {
|
||||
}
|
||||
|
||||
componentDidMount(props) {
|
||||
let emailToken = new URLSearchParams(decodeURIComponent(window.location.search)).get('email-token')
|
||||
const emailToken = new URLSearchParams(decodeURIComponent(window.location.search)).get('email-token')
|
||||
|
||||
this.setState({ waitModal: { message: 'Validating Email...' } })
|
||||
if (emailToken) {
|
||||
api.confirmEmail(emailToken).then((response) => {
|
||||
@@ -29,21 +31,17 @@ export class ConfirmEmail extends React.Component {
|
||||
this.props.history.replace('/login')
|
||||
}
|
||||
}).catch((err) => {
|
||||
console.error(err)
|
||||
const supportEmail = 'support@kingstonsoftware.solutions' // TODO: From configuration
|
||||
const message = err.message.includes('The token was not found')
|
||||
? 'This email address may have already been confirmed.'
|
||||
: `Please contact ${supportEmail} to request a new user invitation`
|
||||
this.setState({
|
||||
waitModal: null,
|
||||
messageModal: {
|
||||
title: 'Error Verifying Email...',
|
||||
message: `We couldn't complete that request. ${message}`
|
||||
icon: 'hand',
|
||||
message: `Please contact ${process.env.REACT_APP_SUPPORT_EMAIL} to request another confirmation email.`,
|
||||
detail: err.message
|
||||
}
|
||||
})
|
||||
})
|
||||
} else {
|
||||
this.props.history.replace('/login')
|
||||
this.props.history.replace('/')
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,14 +52,23 @@ export class ConfirmEmail extends React.Component {
|
||||
}
|
||||
|
||||
render() {
|
||||
const { messageModal, waitModal } = this.state
|
||||
|
||||
if (api.loggedInUser) {
|
||||
return <Logout redirect={`${window.location.pathname}${window.location.search}`} />
|
||||
}
|
||||
|
||||
return (
|
||||
<div>
|
||||
<WaitModal active={!!this.state.waitModal}
|
||||
message={this.state.waitModal ? this.state.waitModal.message : ''} />
|
||||
<WaitModal
|
||||
active={!!waitModal}
|
||||
message={waitModal ? waitModal.message : ''} />
|
||||
|
||||
<MessageModal error open={!!this.state.messageModal}
|
||||
title={this.state.messageModal ? this.state.messageModal.title : ''}
|
||||
message={this.state.messageModal ? this.state.messageModal.message : ''}
|
||||
<MessageModal
|
||||
open={!!messageModal}
|
||||
icon={messageModal ? messageModal.icon : ''}
|
||||
message={messageModal ? messageModal.message : ''}
|
||||
detail={messageModal ? messageModal.title : ''}
|
||||
onDismiss={this.handleMessageModalDismiss} />
|
||||
</div>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user