From 4364db502cee96b21f683f5945a5d8487b004705 Mon Sep 17 00:00:00 2001 From: Nikki Kang Date: Thu, 2 Nov 2023 13:45:24 -0300 Subject: [PATCH] plug pages into audius values --- .../src/components/layout/Flex/index.ts | 1 + .../pages/sign-in-page/SignInPage.module.css | 4 - .../pages/sign-in-page/SignInPageDesktop.tsx | 15 +- .../desktop/LeftContentContainer.module.css | 4 + .../desktop/LeftContentContainer.tsx | 25 ++ .../sign-up-page/pages/CreatePasswordPage.tsx | 290 ++++++++++-------- .../sign-up-page/pages/SignUpPage.module.css | 4 - .../pages/sign-up-page/pages/SignUpPage.tsx | 197 ++++++------ .../styles/CreatePasswordPage.module.css | 17 +- 9 files changed, 305 insertions(+), 252 deletions(-) create mode 100644 packages/web/src/pages/sign-on/components/desktop/LeftContentContainer.module.css create mode 100644 packages/web/src/pages/sign-on/components/desktop/LeftContentContainer.tsx diff --git a/packages/harmony/src/components/layout/Flex/index.ts b/packages/harmony/src/components/layout/Flex/index.ts index 12035e6be9c..f44f7c9b385 100644 --- a/packages/harmony/src/components/layout/Flex/index.ts +++ b/packages/harmony/src/components/layout/Flex/index.ts @@ -1 +1,2 @@ export { Flex } from './Flex' +export { FlexProps } from './types' diff --git a/packages/web/src/pages/sign-in-page/SignInPage.module.css b/packages/web/src/pages/sign-in-page/SignInPage.module.css index c18e247e5c2..0292f0fa773 100644 --- a/packages/web/src/pages/sign-in-page/SignInPage.module.css +++ b/packages/web/src/pages/sign-in-page/SignInPage.module.css @@ -1,7 +1,3 @@ -.root { - background-color: var(--harmony-white); -} - .logo { max-height: 160px; max-width: 160px; diff --git a/packages/web/src/pages/sign-in-page/SignInPageDesktop.tsx b/packages/web/src/pages/sign-in-page/SignInPageDesktop.tsx index 086db71f0c7..5d1b9fd44f4 100644 --- a/packages/web/src/pages/sign-in-page/SignInPageDesktop.tsx +++ b/packages/web/src/pages/sign-in-page/SignInPageDesktop.tsx @@ -17,6 +17,7 @@ import { PageWithAudiusValues } from 'pages/sign-on/components/desktop/PageWithA import { SIGN_UP_PAGE } from 'utils/route' import styles from './SignInPage.module.css' +import { LeftContentContainer } from 'pages/sign-on/components/desktop/LeftContentContainer' const messages = { title: 'Sign Into Audius', @@ -31,17 +32,7 @@ export const SignInPageDesktop = () => { return ( - + {/* TODO: confirm 40px spacing value */} { to={SIGN_UP_PAGE} text={messages.createAccount} />{' '} - + ) diff --git a/packages/web/src/pages/sign-on/components/desktop/LeftContentContainer.module.css b/packages/web/src/pages/sign-on/components/desktop/LeftContentContainer.module.css new file mode 100644 index 00000000000..294b1fa21f2 --- /dev/null +++ b/packages/web/src/pages/sign-on/components/desktop/LeftContentContainer.module.css @@ -0,0 +1,4 @@ +.root { + background-color: var(--harmony-white); + text-align: left; +} diff --git a/packages/web/src/pages/sign-on/components/desktop/LeftContentContainer.tsx b/packages/web/src/pages/sign-on/components/desktop/LeftContentContainer.tsx new file mode 100644 index 00000000000..aa6d5e5e0fd --- /dev/null +++ b/packages/web/src/pages/sign-on/components/desktop/LeftContentContainer.tsx @@ -0,0 +1,25 @@ +import { PropsWithChildren } from 'react' + +import { Flex, FlexProps } from '@audius/harmony' + +import styles from './LeftContentContainer.module.css' + +type LeftContentContainerProps = PropsWithChildren + +export const LeftContentContainer = (props: LeftContentContainerProps) => { + const { children, ...restProps } = props + + return ( + + {children} + + ) +} diff --git a/packages/web/src/pages/sign-up-page/pages/CreatePasswordPage.tsx b/packages/web/src/pages/sign-up-page/pages/CreatePasswordPage.tsx index 29b3ded030c..38682fa0ac6 100644 --- a/packages/web/src/pages/sign-up-page/pages/CreatePasswordPage.tsx +++ b/packages/web/src/pages/sign-up-page/pages/CreatePasswordPage.tsx @@ -5,6 +5,7 @@ import { Button, ButtonType, Flex, + IconArrowLeft, IconArrowRight, Text, TextInput @@ -22,6 +23,7 @@ import { ExternalLink } from 'components/link' import { useNavigateToPage } from 'hooks/useNavigateToPage' import { PRIVACY_POLICY, + SIGN_UP_EMAIL_PAGE, SIGN_UP_HANDLE_PAGE, SIGN_UP_START_PAGE, TERMS_OF_SERVICE @@ -36,6 +38,9 @@ import { getNumberRequirementStatus, isRequirementsFulfilled } from '../utils/passwordRequirementUtils' +import { PageWithAudiusValues } from 'pages/sign-on/components/desktop/PageWithAudiusValues' +import { LeftContentContainer } from 'pages/sign-on/components/desktop/LeftContentContainer' +import { IconButton } from '@audius/stems' const messages = { createYourPassword: 'Create Your Password', @@ -57,7 +62,8 @@ const messages = { "By clicking continue, you state you have read and agree to Audius' ", termsOfService: 'Terms of Service', and: ' and ', - privacyPolicy: 'Privacy Policy.' + privacyPolicy: 'Privacy Policy.', + goBack: 'Go back' } const initialValues = { @@ -81,6 +87,10 @@ export const CreatePasswordPage = () => { } }, [emailField.value, navigate]) + const handleClickBackIcon = useCallback(() => { + navigate(SIGN_UP_EMAIL_PAGE) + }, []) + const handleSubmit = useCallback( async ({ password, confirmPassword }: CreatePasswordValues) => { const fulfillsRequirements = await isRequirementsFulfilled({ @@ -223,142 +233,156 @@ export const CreatePasswordPage = () => { const isValid = !hasPasswordError && !hasConfirmPasswordError return ( - // TODO: Remove all props and styles expect `direction='column'` when this page is plugged into sign up modal. - - - - - {messages.createYourPassword} - - - - - {messages.description} - - - - - {messages.yourEmail} - - - {emailField.value} - - - - - - {({ - values, - setFieldValue, - isSubmitting, - handleBlur: formikHandleBlur, - touched - }) => ( -
- - + + + + + } + className={styles.backIcon} + /> + + + {messages.createYourPassword} + + + + + {messages.description} + + + + + {messages.yourEmail} + + + {emailField.value} + + + + + + {({ + values, + setFieldValue, + isSubmitting, + handleBlur: formikHandleBlur, + touched + }) => ( + - { - setFieldValue('password', e.target.value) - handlePasswordChange({ - password: e.target.value, - confirmPassword: values.confirmPassword - }) - }} - onBlur={(e) => { - formikHandleBlur(e) - handlePasswordBlur(values) - }} - label={messages.passwordLabel} - value={values.password} - error={touched.password && hasPasswordError} - /> - { - setFieldValue('confirmPassword', e.target.value) - handleConfirmPasswordChange({ - password: values.password, - confirmPassword: e.target.value - }) - }} - onBlur={(e) => { - formikHandleBlur(e) - handleConfirmPasswordBlur(values) - }} - label={messages.confirmPasswordLabel} - value={values.confirmPassword} - error={touched.confirmPassword && hasConfirmPasswordError} - /> - - - {requirements.map((req) => ( - - ))} - - + + + { + setFieldValue('password', e.target.value) + handlePasswordChange({ + password: e.target.value, + confirmPassword: values.confirmPassword + }) + }} + onBlur={(e) => { + formikHandleBlur(e) + handlePasswordBlur(values) + }} + label={messages.passwordLabel} + value={values.password} + error={touched.password && hasPasswordError} + /> + { + setFieldValue('confirmPassword', e.target.value) + handleConfirmPasswordChange({ + password: values.password, + confirmPassword: e.target.value + }) + }} + onBlur={(e) => { + formikHandleBlur(e) + handleConfirmPasswordBlur(values) + }} + label={messages.confirmPasswordLabel} + value={values.confirmPassword} + error={ + touched.confirmPassword && hasConfirmPasswordError + } + /> + + + {requirements.map((req) => ( + + ))} + + - - - {messages.agreeTo} - - {messages.termsOfService} - - {messages.and} - - {messages.privacyPolicy} - - - - - - - )} -
-
+ + + {messages.agreeTo} + + {messages.termsOfService} + + {messages.and} + + {messages.privacyPolicy} + + + + +
+ + )} + + + + ) } diff --git a/packages/web/src/pages/sign-up-page/pages/SignUpPage.module.css b/packages/web/src/pages/sign-up-page/pages/SignUpPage.module.css index 55e0c078b3b..a91e3c1ee9f 100644 --- a/packages/web/src/pages/sign-up-page/pages/SignUpPage.module.css +++ b/packages/web/src/pages/sign-up-page/pages/SignUpPage.module.css @@ -6,10 +6,6 @@ object-fit: contain; } -.leftAlignText { - text-align: left; -} - .flex1 { flex: 1; } diff --git a/packages/web/src/pages/sign-up-page/pages/SignUpPage.tsx b/packages/web/src/pages/sign-up-page/pages/SignUpPage.tsx index 6fabb7557e3..d2c551146ee 100644 --- a/packages/web/src/pages/sign-up-page/pages/SignUpPage.tsx +++ b/packages/web/src/pages/sign-up-page/pages/SignUpPage.tsx @@ -26,6 +26,8 @@ import { EMAIL_REGEX } from 'utils/email' import { SIGN_IN_PAGE, SIGN_UP_PASSWORD_PAGE } from 'utils/route' import styles from './SignUpPage.module.css' +import { LeftContentContainer } from 'pages/sign-on/components/desktop/LeftContentContainer' +import { PageWithAudiusValues } from 'pages/sign-on/components/desktop/PageWithAudiusValues' const messages = { title: 'Sign Up For Audius', @@ -90,101 +92,108 @@ export const SignUpPage = () => { ) return ( - - {({ isSubmitting }) => ( -
- - - - - {messages.title} - - - {messages.subHeader} - - - - - - - - {messages.socialsDividerText} - - - - - + + + {({ isSubmitting }) => ( + + + - - - - - - - - - {messages.haveAccount}{' '} - {/* TODO [C-3278]: Update with Harmony Link */} - - {messages.signIn} - - - - -
- )} -
+ + {messages.title} + + + {messages.subHeader} + + + + + + + + {messages.socialsDividerText} + + + + + + + + + + + + + + {messages.haveAccount}{' '} + {/* TODO [C-3278]: Update with Harmony Link */} + + {messages.signIn} + + + + + + )} + + + ) } diff --git a/packages/web/src/pages/sign-up-page/styles/CreatePasswordPage.module.css b/packages/web/src/pages/sign-up-page/styles/CreatePasswordPage.module.css index b6f7579e381..68d50492106 100644 --- a/packages/web/src/pages/sign-up-page/styles/CreatePasswordPage.module.css +++ b/packages/web/src/pages/sign-up-page/styles/CreatePasswordPage.module.css @@ -1,8 +1,15 @@ -.contentContainer { - background-color: var(--static-white); - text-align: left; -} - .formOuterContainer { flex-grow: 1; } + +.backIcon { + color: var(--harmony-n-400); +} + +.backIcon:hover { + color: var(--harmony-n-600); +} + +.backIcon path { + fill: currentColor; +}