diff --git a/src/register/RegistrationPage.jsx b/src/register/RegistrationPage.jsx index 1bde373a..191b7057 100644 --- a/src/register/RegistrationPage.jsx +++ b/src/register/RegistrationPage.jsx @@ -229,14 +229,27 @@ class RegistrationPage extends React.Component { this.setState({ ...state }); } - handleSuggestionClick = (suggestion) => { + handleSuggestionClick = (e, suggestion) => { const { errors } = this.state; - errors.username = ''; - this.setState({ - username: suggestion, - errors, - }); - this.props.clearUsernameSuggestions(); + if (e.target.name === 'username') { + errors.username = ''; + this.setState({ + username: suggestion, + errors, + }); + this.props.clearUsernameSuggestions(); + } else if (e.target.name === 'email') { + errors.email = ''; + this.setState({ + email: suggestion, + suggestedServiceLevelDomain: '', + suggestedSldMessage: '', + suggestedTopLevelDomain: '', + suggestedTldMessage: '', + borderClass: '', + errors, + }); + } } isFormValid(validations) { @@ -362,12 +375,31 @@ class RegistrationPage extends React.Component { if (this.state.suggestedTopLevelDomain) { return ( -

{this.state.suggestedTldMessage}{this.state.suggestedTopLevelDomain}?

+

{this.state.suggestedTldMessage} + { e.preventDefault(); this.handleSuggestionClick(e, this.state.suggestedTopLevelDomain); }} + >{this.state.suggestedTopLevelDomain} + ? +

); } if (this.state.suggestedServiceLevelDomain) { - return {this.state.suggestedSldMessage}{this.state.suggestedServiceLevelDomain}?; + return ( + {this.state.suggestedSldMessage} + { + e.preventDefault(); + this.handleSuggestionClick(e, this.state.suggestedServiceLevelDomain); + }} + >{this.state.suggestedServiceLevelDomain} + ? + + ); } return null; diff --git a/src/register/UsernameField.jsx b/src/register/UsernameField.jsx index 0dfc4dfe..7fc07492 100644 --- a/src/register/UsernameField.jsx +++ b/src/register/UsernameField.jsx @@ -18,10 +18,11 @@ const UsernameField = (props) => { {usernameSuggestions.map((username, index) => (