mirror of
https://github.com/PGYER/codefever.git
synced 2026-06-08 07:02:51 +08:00
fix(Commit Email): seperate each eamil validation message (github #51)
This commit is contained in:
@@ -105,8 +105,8 @@ class UserSettingEmail extends React.Component {
|
||||
error: {},
|
||||
validationEmail: null,
|
||||
code: '',
|
||||
codeDisabled: false,
|
||||
count: 121
|
||||
codeDisabled: [],
|
||||
count: {}
|
||||
}
|
||||
|
||||
const { intl } = props
|
||||
@@ -220,7 +220,12 @@ class UserSettingEmail extends React.Component {
|
||||
resentCommitEmailCode (email) {
|
||||
const { intl } = this.props
|
||||
const { codeDisabled } = this.state
|
||||
if (codeDisabled) {
|
||||
|
||||
if (typeof codeDisabled[email] === 'undefined') {
|
||||
codeDisabled[email] = false
|
||||
}
|
||||
|
||||
if (codeDisabled[email]) {
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -231,20 +236,31 @@ class UserSettingEmail extends React.Component {
|
||||
.then((data) => {
|
||||
if (!data.code) {
|
||||
this.props.dispatchEvent(EventGenerator.NewNotification(intl.formatMessage({ id: 'message.emailCodeHasSendNewEmail' }), 0))
|
||||
this.countDown()
|
||||
this.countDown(email)
|
||||
} else {
|
||||
this.props.dispatchEvent(EventGenerator.NewNotification(intl.formatMessage({ id: 'message.error.getEmailCodeFail' }), 2))
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
countDown () {
|
||||
let { count } = this.state
|
||||
if (count) {
|
||||
this.setState({ codeDisabled: true, count: --count })
|
||||
window.setTimeout(() => this.countDown(), 1000)
|
||||
countDown (email) {
|
||||
const { count, codeDisabled } = this.state
|
||||
|
||||
if (typeof count[email] === 'undefined') {
|
||||
count[email] = 120
|
||||
}
|
||||
|
||||
if (count[email]) {
|
||||
this.setState({
|
||||
codeDisabled: { ...codeDisabled, [email]: true },
|
||||
count: { ...count, [email]: --count[email] }
|
||||
})
|
||||
window.setTimeout(() => this.countDown(email), 1000)
|
||||
} else {
|
||||
this.setState({ codeDisabled: false, count: 121 })
|
||||
this.setState({
|
||||
codeDisabled: { ...codeDisabled, [email]: false },
|
||||
count: { ...count, [email]: 120 }
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -331,12 +347,12 @@ class UserSettingEmail extends React.Component {
|
||||
? <Typography variant='body2' component='div'>{intl.formatMessage({ id: 'message.contactedEmail' })}</Typography>
|
||||
: <Typography variant='body2' component='div'>
|
||||
{intl.formatMessage({ id: 'message.shouldValidation' })}
|
||||
<a href='#' disabled={codeDisabled}
|
||||
className={[classes.btn, codeDisabled ? classes.disabled : ''].join(' ')}
|
||||
<a href='#' disabled={codeDisabled[item.email]}
|
||||
className={[classes.btn, codeDisabled[item.email] ? classes.disabled : ''].join(' ')}
|
||||
onClick={e => this.resentCommitEmailCode(item.email)}
|
||||
>
|
||||
{intl.formatMessage({ id: 'message.resendEmail' })}?
|
||||
{codeDisabled && '(' + count + ')'}
|
||||
{codeDisabled[item.email] && '(' + count[item.email] + ')'}
|
||||
</a>
|
||||
</Typography>,
|
||||
item.email !== primaryEmail && <React.Fragment>
|
||||
|
||||
Reference in New Issue
Block a user