diff --git a/src/common-components/RedirectLogistration.jsx b/src/common-components/RedirectLogistration.jsx index 7845277f..1adf7a91 100644 --- a/src/common-components/RedirectLogistration.jsx +++ b/src/common-components/RedirectLogistration.jsx @@ -26,6 +26,7 @@ function RedirectLogistration(props) { // Redirect to Progressive Profiling after successful registration if (redirectToWelcomePage) { + // TODO: Do we still need this cookie? setCookie('van-504-returning-user', true); const registrationResult = { redirectUrl: finalRedirectUrl, success }; return ( diff --git a/src/common-components/SwitchContent.jsx b/src/common-components/SwitchContent.jsx deleted file mode 100644 index 04db9109..00000000 --- a/src/common-components/SwitchContent.jsx +++ /dev/null @@ -1,62 +0,0 @@ -import React from 'react'; - -import { TransitionReplace } from '@edx/paragon'; -import PropTypes from 'prop-types'; - -const onChildExit = (htmlNode) => { - // If the leaving child has focus, take control and redirect it - if (htmlNode.contains(document.activeElement)) { - // Get the newly entering sibling. - // It's the previousSibling, but not for any explicit reason. So checking for both. - const enteringChild = htmlNode.previousSibling || htmlNode.nextSibling; - - // There's no replacement, do nothing. - if (!enteringChild) return; // eslint-disable-line curly - - // Get all the focusable elements in the entering child and focus the first one - const focusableElements = enteringChild.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'); - if (focusableElements.length) { - focusableElements[0].focus(); - } - } -}; - -function SwitchContent({ expression, cases, className }) { - const getContent = (caseKey) => { - if (cases[caseKey]) { - if (typeof cases[caseKey] === 'string') { - return getContent(cases[caseKey]); - } - return React.cloneElement(cases[caseKey], { key: caseKey }); - } else if (cases.default) { // eslint-disable-line no-else-return - if (typeof cases.default === 'string') { - return getContent(cases.default); - } - React.cloneElement(cases.default, { key: 'default' }); - } - - return null; - }; - - return ( - - {getContent(expression)} - - ); -} - -SwitchContent.propTypes = { - expression: PropTypes.string, - cases: PropTypes.objectOf(PropTypes.node).isRequired, - className: PropTypes.string, -}; - -SwitchContent.defaultProps = { - expression: null, - className: null, -}; - -export default SwitchContent; diff --git a/src/common-components/messages.jsx b/src/common-components/messages.jsx index e1029f74..a47166f3 100644 --- a/src/common-components/messages.jsx +++ b/src/common-components/messages.jsx @@ -1,29 +1,13 @@ import { defineMessages } from '@edx/frontend-platform/i18n'; const messages = defineMessages({ + // institution login strings 'institution.login.page.sub.heading': { id: 'institution.login.page.sub.heading', defaultMessage: 'Choose your institution from the list below', description: 'Heading of the institutions list', }, - // Confirmation Alert Message - 'forgot.password.confirmation.title': { - id: 'forgot.password.confirmation.title', - defaultMessage: 'Check your email', - description: 'Forgot password confirmation message title', - }, - 'forgot.password.confirmation.support.link': { - id: 'forgot.password.confirmation.support.link', - defaultMessage: 'contact technical support', - description: 'Technical support link text', - }, - 'forgot.password.confirmation.info': { - id: 'forgot.password.confirmation.info', - defaultMessage: 'If you do not receive a password reset message after 1 minute, verify that you entered the correct ' - + 'email address, or check your spam folder.', - description: 'Part of message that appears after user requests password change', - }, - // Logistration strinsg + // logistration strings 'logistration.sign.in': { id: 'logistration.sign.in', defaultMessage: 'Sign in', @@ -34,27 +18,12 @@ const messages = defineMessages({ defaultMessage: 'Register', description: 'Text that appears on the tab to switch between login and register', }, - 'internal.server.error.message': { - id: 'internal.server.error.message', - defaultMessage: 'An error has occurred. Try refreshing the page, or check your internet connection.', - description: 'Error message that appears when server responds with 500 error code', - }, - 'server.ratelimit.error.message': { - id: 'server.ratelimit.error.message', - defaultMessage: 'An error has occurred because of too many requests. Please try again after some time.', - description: 'Error message that appears when server responds with 429 error code', - }, // enterprise sso strings 'enterprisetpa.title.heading': { id: 'enterprisetpa.title.heading', defaultMessage: 'Would you like to sign in using your {providerName} credentials?', description: 'Header text used in enterprise third party authentication', }, - 'enterprisetpa.sso.button.title': { - id: 'enterprisetpa.sso.button.title', - defaultMessage: 'Sign in using {providerName}', - description: 'Text for third party auth provider buttons', - }, 'enterprisetpa.login.button.text': { id: 'enterprisetpa.login.button.text', defaultMessage: 'Show me other ways to sign in or register', diff --git a/src/forgot-password/messages.js b/src/forgot-password/messages.js index d65475b5..09e60707 100644 --- a/src/forgot-password/messages.js +++ b/src/forgot-password/messages.js @@ -51,11 +51,6 @@ const messages = defineMessages({ defaultMessage: 'Enter your email', description: 'Error message that appears when user tries to submit empty email field', }, - 'forgot.password.invalid.email.message': { - id: 'forgot.password.invalid.email.message', - defaultMessage: "The email address you've provided isn't formatted correctly.", - description: 'message for invalid email', - }, 'forgot.password.email.help.text': { id: 'forgot.password.email.help.text', defaultMessage: 'The email address you used to register with {platformName}', @@ -129,10 +124,5 @@ const messages = defineMessages({ defaultMessage: 'An error has occurred. Try refreshing the page, or check your internet connection.', description: 'Error message that appears when server responds with 500 error code', }, - 'rate.limit.error': { - id: 'rate.limit.error', - defaultMessage: 'An error has occurred because of too many requests. Please try again after some time.', - description: 'Error message that appears when server responds with 429 error code', - }, }); export default messages; diff --git a/src/login/messages.jsx b/src/login/messages.jsx index 2e76b956..03e0cf26 100644 --- a/src/login/messages.jsx +++ b/src/login/messages.jsx @@ -22,36 +22,11 @@ const messages = defineMessages({ defaultMessage: 'Sign in', description: 'Sign in button label that appears on login page', }, - 'sign.in.btn.pending.state': { - id: 'sign.in.btn.pending.state', - defaultMessage: 'Loading', - description: 'Title of icon that appears when button is in pending state', - }, - 'need.help.signing.in.collapsible.menu': { - id: 'need.help.signing.in.collapsible.menu', - defaultMessage: 'Need help signing in?', - description: 'A button for collapsible need help signing in menu on login page', - }, - 'forgot.password.link': { - id: 'forgot.password.link', - defaultMessage: 'Forgot my password', - description: 'Forgot password link', - }, 'forgot.password': { id: 'forgot.password', defaultMessage: 'Forgot password', description: 'Button text for forgot password', }, - 'other.sign.in.issues': { - id: 'other.sign.in.issues', - defaultMessage: 'Other sign in issues', - description: 'A link that redirects to sign-in issues help', - }, - 'need.other.help.signing.in.collapsible.menu': { - id: 'need.other.help.signing.in.collapsible.menu', - defaultMessage: 'Need other help signing in?', - description: 'A button for collapsible need other help signing in menu on forgot password page', - }, 'institution.login.button': { id: 'institution.login.button', defaultMessage: 'Institution/campus credentials', @@ -67,16 +42,6 @@ const messages = defineMessages({ defaultMessage: 'Choose your institution from the list below', description: 'Heading of the institutions list', }, - 'institution.login.page.back.button': { - id: 'institution.login.page.back.button', - defaultMessage: 'Back to sign in', - description: 'return to login page', - }, - 'create.an.account': { - id: 'create.an.account', - defaultMessage: 'Create an account', - description: 'Message on button to return to register page', - }, 'login.other.options.heading': { id: 'login.other.options.heading', defaultMessage: 'Or sign in with:', @@ -99,21 +64,11 @@ const messages = defineMessages({ defaultMessage: 'To protect your account, it\'s been temporarily locked. Try again in 30 minutes.', description: 'Part of message for when user account has been locked out after multiple failed login attempts', }, - 'first.time.here': { - id: 'first.time.here', - defaultMessage: 'First time here?', - description: 'A question that appears before sign up link', - }, 'enterprise.login.btn.text': { id: 'enterprise.login.btn.text', defaultMessage: 'Company or school credentials', description: 'Company or school login link text.', }, - 'email.format.validation.message': { - id: 'email.format.validation.message', - defaultMessage: 'The email address you\'ve provided isn\'t formatted correctly.', - description: 'Validation message that appears when email address format is incorrect', - }, 'username.or.email.format.validation.less.chars.message': { id: 'username.or.email.format.validation.less.chars.message', defaultMessage: 'Username or email must have at least 3 characters.', @@ -129,16 +84,6 @@ const messages = defineMessages({ defaultMessage: 'Enter your password', description: 'Validation message that appears when password is empty', }, - 'register.link': { - id: 'register.link', - defaultMessage: 'Create an account', - description: 'Register page link', - }, - 'sign.in.heading': { - id: 'sign.in.heading', - defaultMessage: 'Sign in', - description: 'Sign in text', - }, // Account Activation Strings 'account.activation.success.message.title': { id: 'account.activation.success.message.title', @@ -165,11 +110,6 @@ const messages = defineMessages({ defaultMessage: 'contact support', description: 'Link text used in account activation error message to go to learner help center', }, - 'tpa.account.link': { - id: 'tpa.account.link', - defaultMessage: '{provider} account', - description: 'Link text error message used to go to SSO when staff user try to login through password.', - }, // Email Confirmation Strings 'account.confirmation.success.message.title': { id: 'account.confirmation.success.message.title', @@ -191,6 +131,11 @@ const messages = defineMessages({ defaultMessage: 'Your email could not be confirmed', description: 'Account verification error message title', }, + 'tpa.account.link': { + id: 'tpa.account.link', + defaultMessage: '{provider} account', + description: 'Link text error message used to go to SSO when staff user try to login through password.', + }, 'internal.server.error.message': { id: 'internal.server.error.message', defaultMessage: 'An error has occurred. Try refreshing the page, or check your internet connection.', @@ -216,16 +161,6 @@ const messages = defineMessages({ defaultMessage: 'The username, email, or password you entered is incorrect. Please try again.', description: 'Error message for incorrect email or password', }, - 'login.failed.attempt.error': { - id: 'login.failed.attempt.error', - defaultMessage: 'You have {remainingAttempts} more sign in attempts before your account is temporarily locked.', - description: 'Failed login attempts error message', - }, - 'login.locked.out.error.message': { - id: 'login.locked.out.error.message', - defaultMessage: 'To protect your account, it’s been temporarily locked. Try again in {lockedOutPeriod} minutes.', - description: 'Account locked out user message', - }, 'login.form.invalid.error.message': { id: 'login.form.invalid.error.message', defaultMessage: 'Please fill in the fields below.', diff --git a/src/progressive-profiling/messages.jsx b/src/progressive-profiling/messages.jsx index 0b3f9852..1a15a014 100644 --- a/src/progressive-profiling/messages.jsx +++ b/src/progressive-profiling/messages.jsx @@ -11,81 +11,6 @@ const messages = defineMessages({ defaultMessage: 'A few questions for you will help us get smarter.', description: 'The page heading for the progressive profiling page.', }, - 'gender.options.label': { - id: 'gender.options.label', - defaultMessage: 'Gender (optional)', - description: 'Placeholder for the gender options dropdown', - }, - 'gender.options.f': { - id: 'gender.options.f', - defaultMessage: 'Female', - description: 'The label for the female gender option.', - }, - 'gender.options.m': { - id: 'gender.options.m', - defaultMessage: 'Male', - description: 'The label for the male gender option.', - }, - 'gender.options.o': { - id: 'gender.options.o', - defaultMessage: 'Other/Prefer not to say', - description: 'The label for catch-all gender option.', - }, - 'education.levels.label': { - id: 'education.levels.label', - defaultMessage: 'Highest level of education completed (optional)', - description: 'Placeholder for the education levels dropdown.', - }, - 'education.levels.p': { - id: 'education.levels.p', - defaultMessage: 'Doctorate', - description: 'Selected by the user if their highest level of education is a doctorate degree.', - }, - 'education.levels.m': { - id: 'education.levels.m', - defaultMessage: "Master's or professional degree", - description: "Selected by the user if their highest level of education is a master's or professional degree from a college or university.", - }, - 'education.levels.b': { - id: 'education.levels.b', - defaultMessage: "Bachelor's degree", - description: "Selected by the user if their highest level of education is a four year college or university bachelor's degree.", - }, - 'education.levels.a': { - id: 'education.levels.a', - defaultMessage: "Associate's degree", - description: "Selected by the user if their highest level of education is an associate's degree. 1-2 years of college or university.", - }, - 'education.levels.hs': { - id: 'education.levels.hs', - defaultMessage: 'Secondary/high school', - description: 'Selected by the user if their highest level of education is secondary or high school. 9-12 years of education.', - }, - 'education.levels.jhs': { - id: 'education.levels.jhs', - defaultMessage: 'Junior secondary/junior high/middle school', - description: 'Selected by the user if their highest level of education is junior or middle school. 6-8 years of education.', - }, - 'education.levels.el': { - id: 'education.levels.el', - defaultMessage: 'Elementary/primary school', - description: 'Selected by the user if their highest level of education is elementary or primary school. 1-5 years of education.', - }, - 'education.levels.none': { - id: 'education.levels.none', - defaultMessage: 'No formal education', - description: 'Selected by the user to describe their education.', - }, - 'education.levels.other': { - id: 'education.levels.other', - defaultMessage: 'Other education', - description: 'Selected by the user if they have a type of education not described by the other choices.', - }, - 'year.of.birth.label': { - id: 'year.of.birth.label', - defaultMessage: 'Year of birth (optional)', - description: 'Placeholder for the year of birth options dropdown', - }, 'optional.fields.information.link': { id: 'optional.fields.information.link', defaultMessage: 'Learn more about how we use this information.', diff --git a/src/register/messages.jsx b/src/register/messages.jsx index 03f48326..d944f733 100644 --- a/src/register/messages.jsx +++ b/src/register/messages.jsx @@ -64,11 +64,6 @@ const messages = defineMessages({ defaultMessage: 'Create an account for free', description: 'Label text for registration form submission button', }, - 'create.an.account.btn.pending.state': { - id: 'create.an.account.btn.pending.state', - defaultMessage: 'Loading', - description: 'Title of icon that appears when button is in pending state', - }, 'registration.other.options.heading': { id: 'registration.other.options.heading', defaultMessage: 'Or register with:', @@ -85,11 +80,6 @@ const messages = defineMessages({ defaultMessage: 'Register with institution/campus credentials', description: 'Heading of institution page', }, - 'create.an.account': { - id: 'create.an.account', - defaultMessage: 'Create an account', - description: 'Message on button to return to register page', - }, // Validation messages 'empty.name.field.error': { id: 'empty.name.field.error', @@ -101,11 +91,6 @@ const messages = defineMessages({ defaultMessage: 'Enter your email', description: 'Error message for empty email field', }, - 'email.do.not.match': { - id: 'email.do.not.match', - defaultMessage: 'The email addresses do not match.', - description: 'Email not match to confirm email', - }, 'empty.username.field.error': { id: 'empty.username.field.error', defaultMessage: 'Username must be between 2 and 30 characters', @@ -121,16 +106,16 @@ const messages = defineMessages({ defaultMessage: 'Select your country or region of residence', description: 'Error message when no country/region is selected', }, + 'email.do.not.match': { + id: 'email.do.not.match', + defaultMessage: 'The email addresses do not match.', + description: 'Email not match to confirm email', + }, 'email.invalid.format.error': { id: 'email.invalid.format.error', defaultMessage: 'Enter a valid email address', description: 'Validation error for invalid email address', }, - 'email.ratelimit.less.chars.validation.message': { - id: 'email.ratelimit.less.chars.validation.message', - defaultMessage: 'Email must have 3 characters.', - description: 'Validation message that appears when email address is less than 3 characters', - }, 'username.validation.message': { id: 'username.validation.message', defaultMessage: 'Username must be between 2 and 30 characters', @@ -151,11 +136,6 @@ const messages = defineMessages({ defaultMessage: 'Usernames can only contain letters (A-Z, a-z), numerals (0-9), underscores (_), and hyphens (-). Usernames cannot contain spaces', description: 'Validation message that appears when username format is invalid', }, - 'support.education.research': { - id: 'support.education.research', - defaultMessage: 'Support education research by providing additional information. (Optional)', - description: 'Text for a checkbox to ask user for if they are willing to provide extra information for education research', - }, // Error messages 'registration.request.failure.header': { id: 'registration.request.failure.header', @@ -203,82 +183,6 @@ const messages = defineMessages({ defaultMessage: 'Terms of Service', description: 'Text for the hyperlink that redirects user to the terms of service', }, - // Optional fields - 'registration.year.of.birth.label': { - id: 'registration.year.of.birth.label', - defaultMessage: 'Year of birth (optional)', - description: 'Placeholder for the year of birth options dropdown', - }, - 'registration.field.gender.options.label': { - id: 'registration.field.gender.options.label', - defaultMessage: 'Gender (optional)', - description: 'Placeholder for the gender options dropdown', - }, - 'registration.field.gender.options.f': { - id: 'registration.field.gender.options.f', - defaultMessage: 'Female', - description: 'The label for the female gender option.', - }, - 'registration.field.gender.options.m': { - id: 'registration.field.gender.options.m', - defaultMessage: 'Male', - description: 'The label for the male gender option.', - }, - 'registration.field.gender.options.o': { - id: 'registration.field.gender.options.o', - defaultMessage: 'Other/Prefer not to say', - description: 'The label for catch-all gender option.', - }, - 'registration.field.education.levels.label': { - id: 'registration.field.education.levels.label', - defaultMessage: 'Highest level of education completed (optional)', - description: 'Placeholder for the education levels dropdown.', - }, - 'registration.field.education.levels.p': { - id: 'registration.field.education.levels.p', - defaultMessage: 'Doctorate', - description: 'Selected by the user if their highest level of education is a doctorate degree.', - }, - 'registration.field.education.levels.m': { - id: 'registration.field.education.levels.m', - defaultMessage: "Master's or professional degree", - description: "Selected by the user if their highest level of education is a master's or professional degree from a college or university.", - }, - 'registration.field.education.levels.b': { - id: 'registration.field.education.levels.b', - defaultMessage: "Bachelor's degree", - description: "Selected by the user if their highest level of education is a four year college or university bachelor's degree.", - }, - 'registration.field.education.levels.a': { - id: 'registration.field.education.levels.a', - defaultMessage: "Associate's degree", - description: "Selected by the user if their highest level of education is an associate's degree. 1-2 years of college or university.", - }, - 'registration.field.education.levels.hs': { - id: 'registration.field.education.levels.hs', - defaultMessage: 'Secondary/high school', - description: 'Selected by the user if their highest level of education is secondary or high school. 9-12 years of education.', - }, - 'registration.field.education.levels.jhs': { - id: 'registration.field.education.levels.jhs', - defaultMessage: 'Junior secondary/junior high/middle school', - description: 'Selected by the user if their highest level of education is junior or middle school. 6-8 years of education.', - }, - 'registration.field.education.levels.el': { - id: 'registration.field.education.levels.el', - defaultMessage: 'Elementary/primary school', - description: 'Selected by the user if their highest level of education is elementary or primary school. 1-5 years of education.', - }, - 'registration.field.education.levels.none': { - id: 'registration.field.education.levels.none', - defaultMessage: 'No formal education', - description: 'Selected by the user to describe their education.', - }, - 'registration.field.education.levels.other': { - id: 'registration.field.education.levels.other', - defaultMessage: 'Other education', - description: 'Selected by the user if they have a type of education not described by the other choices.', - }, // miscellaneous strings 'registration.username.suggestion.label': { id: 'registration.username.suggestion.label', diff --git a/src/reset-password/messages.js b/src/reset-password/messages.js index 6319b6bc..1a8fcd45 100644 --- a/src/reset-password/messages.js +++ b/src/reset-password/messages.js @@ -47,26 +47,6 @@ const messages = defineMessages({ defaultMessage: 'Confirm your password', description: 'Field validation message when confirm password is empty', }, - 'forgot.password.confirmation.sign.in.link': { - id: 'forgot.password.confirmation.sign.in.link', - defaultMessage: 'sign in', - description: 'link text used in message to refer to sign in page', - }, - 'reset.password.request.forgot.password.text': { - id: 'reset.password.request.forgot.password.text', - defaultMessage: 'Forgot password', - description: 'Forgot password text', - }, - 'reset.password.request.invalid.token.header': { - id: 'reset.password.request.invalid.token.header', - defaultMessage: 'Invalid password reset link', - description: 'Invalid password reset link help text heading', - }, - 'reset.password.empty.new.password.field.error': { - id: 'reset.password.empty.new.password.field.error', - defaultMessage: 'Please enter your new password.', - description: 'Error message that appears when user tries to submit form with empty New Password field', - }, // alert banner strings 'reset.password.failure.heading': { id: 'reset.password.failure.heading', @@ -78,16 +58,6 @@ const messages = defineMessages({ defaultMessage: 'Please check your responses and try again.', description: 'Error message for reset password page', }, - 'reset.password.request.server.error': { - id: 'reset.password.request.server.error', - defaultMessage: 'Failed to reset password', - description: 'Failed to reset password error message heading.', - }, - 'reset.password.token.validation.sever.error': { - id: 'reset.password.token.validation.sever.error', - defaultMessage: 'Token validation failure', - description: 'Failed to validate reset password token error message.', - }, 'reset.server.rate.limit.error': { id: 'reset.server.rate.limit.error', defaultMessage: 'Too many requests.',