diff --git a/app/locales/en.js b/app/locales/en.js index 0e223f0051..d88ea2a46f 100644 --- a/app/locales/en.js +++ b/app/locales/en.js @@ -287,7 +287,13 @@ export default { manual: 'Manage projects individually', beta: 'Get beta project email updates and become a beta tester', partnerPreferences: 'Zooniverse partner email preferences', - nasa: 'Get periodic email updates from NASA regarding broader NASA citizen science projects and efforts' + nasa: 'Get periodic email updates from NASA regarding broader NASA citizen science projects and efforts', + emailValid: 'Valid email', + emailInvalid: 'Verified email', + emailInvalidPrompt: 'Please re-enter your email above', + emailVerified: 'Verified email', + emailUnverified: 'Unverified email', + emailUnverifiedPrompt: 'Resend confirmation email' }, talk: { section: 'Talk email preferences', diff --git a/app/pages/settings/email.jsx b/app/pages/settings/email.jsx index 4ef325995b..159414818e 100644 --- a/app/pages/settings/email.jsx +++ b/app/pages/settings/email.jsx @@ -140,6 +140,8 @@ Pagination.defaultProps = { page: 1 }; +const FAUX_PARAGRAPH_STYLE = { margin: '1em 0' }; + class EmailSettingsPage extends React.Component { constructor(props) { super(props); @@ -151,6 +153,7 @@ class EmailSettingsPage extends React.Component { }; this.handleProjectPreferenceChange = this.handleProjectPreferenceChange.bind(this); this.handleTalkPreferenceChange = this.handleTalkPreferenceChange.bind(this); + this.requestConfirmationEmail = this.requestConfirmationEmail.bind(this); this.getProjectForPreferences(props.user); this.getTalkPreferences(); } @@ -197,6 +200,10 @@ class EmailSettingsPage extends React.Component { }); } + requestConfirmationEmail() { + console.log('+++ Send confirmation email!') + } + handleProjectPreferenceChange(index, event) { const { projectPreferences } = this.state; projectPreferences[index].update({ @@ -235,23 +242,66 @@ class EmailSettingsPage extends React.Component { } render() { + const isEmailValid = !!this.props.user?.valid_email; + const isEmailVerfied = !!this.props.user?.confirmed_at; + return (
+