From b2a96e0a09adffaf178b88177757186cf0aab534 Mon Sep 17 00:00:00 2001 From: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com> Date: Mon, 28 Mar 2022 19:51:58 +0530 Subject: [PATCH] fix(client): sign up for email list directly (#45508) * fix(client): sign up for email list directly * fix: remove extraneous code --- .../chinese-traditional/translations.json | 1 + client/i18n/locales/chinese/translations.json | 1 + client/i18n/locales/english/translations.json | 1 + client/i18n/locales/espanol/translations.json | 1 + client/i18n/locales/italian/translations.json | 1 + .../i18n/locales/japanese/translations.json | 1 + .../i18n/locales/portuguese/translations.json | 1 + .../i18n/locales/ukrainian/translations.json | 1 + .../__snapshots__/email-sign-up.test.js.snap | 24 ++---- client/src/pages/email-sign-up.tsx | 84 +++++++++++++------ 10 files changed, 73 insertions(+), 43 deletions(-) diff --git a/client/i18n/locales/chinese-traditional/translations.json b/client/i18n/locales/chinese-traditional/translations.json index 0599a47892..7d592a0485 100644 --- a/client/i18n/locales/chinese-traditional/translations.json +++ b/client/i18n/locales/chinese-traditional/translations.json @@ -26,6 +26,7 @@ "off": "關閉", "on": "打開", "sign-in": "登錄", + "sign-up-email-list": "Sign up for Quincy's weekly emails", "sign-out": "退出", "curriculum": "課程", "forum": "論壇", diff --git a/client/i18n/locales/chinese/translations.json b/client/i18n/locales/chinese/translations.json index 907a790058..cf5c4fd788 100644 --- a/client/i18n/locales/chinese/translations.json +++ b/client/i18n/locales/chinese/translations.json @@ -26,6 +26,7 @@ "off": "关闭", "on": "打开", "sign-in": "登录", + "sign-up-email-list": "Sign up for Quincy's weekly emails", "sign-out": "退出", "curriculum": "课程", "forum": "论坛", diff --git a/client/i18n/locales/english/translations.json b/client/i18n/locales/english/translations.json index 84cebf0e56..b0fc4200ae 100644 --- a/client/i18n/locales/english/translations.json +++ b/client/i18n/locales/english/translations.json @@ -26,6 +26,7 @@ "off": "Off", "on": "On", "sign-in": "Sign in", + "sign-up-email-list": "Sign up for Quincy's weekly emails", "sign-out": "Sign out", "curriculum": "Curriculum", "forum": "Forum", diff --git a/client/i18n/locales/espanol/translations.json b/client/i18n/locales/espanol/translations.json index 27b90308e7..ea8c4564cc 100644 --- a/client/i18n/locales/espanol/translations.json +++ b/client/i18n/locales/espanol/translations.json @@ -26,6 +26,7 @@ "off": "Apagado", "on": "Encendido", "sign-in": "Iniciar sesión", + "sign-up-email-list": "Sign up for Quincy's weekly emails", "sign-out": "Cerrar sesión", "curriculum": "Currículo", "forum": "Foro", diff --git a/client/i18n/locales/italian/translations.json b/client/i18n/locales/italian/translations.json index 14dafb2e57..b657bfa545 100644 --- a/client/i18n/locales/italian/translations.json +++ b/client/i18n/locales/italian/translations.json @@ -26,6 +26,7 @@ "off": "Off", "on": "On", "sign-in": "Accedi", + "sign-up-email-list": "Sign up for Quincy's weekly emails", "sign-out": "Esci", "curriculum": "Curriculum", "forum": "Forum", diff --git a/client/i18n/locales/japanese/translations.json b/client/i18n/locales/japanese/translations.json index 9077377ebf..a9d553f81e 100644 --- a/client/i18n/locales/japanese/translations.json +++ b/client/i18n/locales/japanese/translations.json @@ -26,6 +26,7 @@ "off": "オフ", "on": "オン", "sign-in": "サインイン", + "sign-up-email-list": "Sign up for Quincy's weekly emails", "sign-out": "サインアウト", "curriculum": "カリキュラム", "forum": "フォーラム", diff --git a/client/i18n/locales/portuguese/translations.json b/client/i18n/locales/portuguese/translations.json index 2c451874fd..b2cedf0df1 100644 --- a/client/i18n/locales/portuguese/translations.json +++ b/client/i18n/locales/portuguese/translations.json @@ -26,6 +26,7 @@ "off": "Desligado", "on": "Ligado", "sign-in": "Iniciar sessão", + "sign-up-email-list": "Sign up for Quincy's weekly emails", "sign-out": "Encerrar sessão", "curriculum": "Currículo", "forum": "Fórum", diff --git a/client/i18n/locales/ukrainian/translations.json b/client/i18n/locales/ukrainian/translations.json index 304fc72137..fa87fcaaae 100644 --- a/client/i18n/locales/ukrainian/translations.json +++ b/client/i18n/locales/ukrainian/translations.json @@ -26,6 +26,7 @@ "off": "Вимкнути", "on": "Увімкнути", "sign-in": "Увійти", + "sign-up-email-list": "Sign up for Quincy's weekly emails", "sign-out": "Вийти", "curriculum": "Навчальна програма", "forum": "Форум", diff --git a/client/src/pages/__snapshots__/email-sign-up.test.js.snap b/client/src/pages/__snapshots__/email-sign-up.test.js.snap index 1449d8c393..1931f92d7b 100644 --- a/client/src/pages/__snapshots__/email-sign-up.test.js.snap +++ b/client/src/pages/__snapshots__/email-sign-up.test.js.snap @@ -119,16 +119,8 @@ exports[` Non-Authenticated user "not accepted terms and conditio />
-
Non-Authenticated user "not accepted terms and conditio } } /> -
-
- + buttons.sign-up-email-list +
void; acceptedPrivacyTerms: boolean; + isSignedIn: boolean; t: TFunction; } const mapStateToProps = createSelector( userSelector, - ({ acceptedPrivacyTerms }: { acceptedPrivacyTerms: boolean }) => ({ - acceptedPrivacyTerms + isSignedInSelector, + ( + { acceptedPrivacyTerms }: { acceptedPrivacyTerms: boolean }, + isSignedIn: boolean + ) => ({ + acceptedPrivacyTerms, + isSignedIn }) ); const mapDispatchToProps = (dispatch: Dispatch) => @@ -33,10 +39,12 @@ const RedirectToLearn = createRedirect('/learn'); function AcceptPrivacyTerms({ acceptTerms, acceptedPrivacyTerms, + isSignedIn, t }: AcceptPrivacyTermsProps) { const acceptedPrivacyRef = useRef(acceptedPrivacyTerms); const acceptTermsRef = useRef(acceptTerms); + useEffect(() => { acceptedPrivacyRef.current = acceptedPrivacyTerms; acceptTermsRef.current = acceptTerms; @@ -59,28 +67,10 @@ function AcceptPrivacyTerms({ acceptTerms(isWeeklyEmailAccepted); } - return acceptedPrivacyTerms ? ( - - ) : ( - <> - - {t('misc.email-signup')} | freeCodeCamp.org - - + function renderEmailListOptin(isSignedIn: boolean) { + if (isSignedIn) { + return ( - - - -
- -
- - - {t('misc.quincy')} - -

{t('misc.email-blast')}

- - + + + ); + } + } + + return acceptedPrivacyTerms ? ( + + ) : ( + <> + + {t('misc.email-signup')} | freeCodeCamp.org + + + + + + +
+ +
+ + + {t('misc.quincy')} + +

{t('misc.email-blast')}

+ + + {renderEmailListOptin(isSignedIn)}