diff --git a/packages/harmony/src/foundations/shadows/Shadow.stories.mdx b/packages/harmony/src/foundations/shadows/Shadow.stories.mdx index 7e5c33a2693..3f1183bac84 100644 --- a/packages/harmony/src/foundations/shadows/Shadow.stories.mdx +++ b/packages/harmony/src/foundations/shadows/Shadow.stories.mdx @@ -68,6 +68,7 @@ export function ShadowLevel(props) { + -| Name | Description | -| --------------- | ------------------------------------------------------------------------------------------------- | -| shadow-near | Optimal for onPress states on cards. | -| shadow-mid | Used for smaller card elements and the default state for card elements with a hover interaction. | -| shadow-far | Used for hover state for card elements, larger cards/sections without hover states, and modals | -| shadow-emphasis | Used for separating elements from their background | -| shadow-special | Shadow derived from the dominate color of the artwork it’s surrounding. Used for playing artwork. | +| Name | Description | +| ------------------- | ------------------------------------------------------------------------------------------------- | +| shadow-near | Optimal for onPress states on cards. | +| shadow-mid | Used for smaller card elements and the default state for card elements with a hover interaction. | +| shadow-mid-inverted | This is the same as mid but with the values offset the other direction. | +| shadow-far | Used for hover state for card elements, larger cards/sections without hover states, and modals | +| shadow-emphasis | Used for separating elements from their background | +| shadow-special | Shadow derived from the dominate color of the artwork it’s surrounding. Used for playing artwork. | ## Usage and examples diff --git a/packages/harmony/src/foundations/shadows/shadows.css b/packages/harmony/src/foundations/shadows/shadows.css index 74050156d73..b9a061a77e3 100644 --- a/packages/harmony/src/foundations/shadows/shadows.css +++ b/packages/harmony/src/foundations/shadows/shadows.css @@ -7,6 +7,8 @@ root { 0px 0px 6px 0px rgba(0, 0, 0, 0.02); --harmony-shadow-mid: 0px 4px 8px 0px rgba(0, 0, 0, 0.06), 0px 0px 4px 0px rgba(0, 0, 0, 0.04); + --harmony-shadow-mid-inverted: 0px -4px 8px 0px rgba(0, 0, 0, 0.06), + 0px 0px 4px 0px rgba(0, 0, 0, 0.04); --harmony-shadow-far: 0px 8px 16px 0px rgba(0, 0, 0, 0.08), 0px 0px 4px 0px rgba(0, 0, 0, 0.04); --harmony-shadow-emphasis: 0px 1.34018px 8px 0px rgba(0, 0, 0, 0.2), diff --git a/packages/harmony/src/foundations/shadows/shadows.ts b/packages/harmony/src/foundations/shadows/shadows.ts index d93a8b98efe..7605e214464 100644 --- a/packages/harmony/src/foundations/shadows/shadows.ts +++ b/packages/harmony/src/foundations/shadows/shadows.ts @@ -1,6 +1,8 @@ export const shadows = { near: '0px 2px 4px 0px rgba(0, 0, 0, 0.08), 0px 0px 6px 0px rgba(0, 0, 0, 0.02)', mid: '0px 4px 8px 0px rgba(0, 0, 0, 0.06), 0px 0px 4px 0px rgba(0, 0, 0, 0.04)', + midInverted: + '0px -4px 8px 0px rgba(0, 0, 0, 0.06), 0px 0px 4px 0px rgba(0, 0, 0, 0.04)', far: '0px 8px 16px 0px rgba(0, 0, 0, 0.08), 0px 0px 4px 0px rgba(0, 0, 0, 0.04)', emphasis: '0px 1.34018px 8px 0px rgba(0, 0, 0, 0.2), 0px 6px 15px 0px rgba(0, 0, 0, 0.1)', diff --git a/packages/web/src/pages/sign-up-page/SignUpRootPage.tsx b/packages/web/src/pages/sign-up-page/SignUpRootPage.tsx index fdbfdebf26f..bbdeaa46036 100644 --- a/packages/web/src/pages/sign-up-page/SignUpRootPage.tsx +++ b/packages/web/src/pages/sign-up-page/SignUpRootPage.tsx @@ -1,3 +1,4 @@ +import { Box } from '@audius/harmony' import { useSelector } from 'react-redux' import { Redirect, Route, RouteProps, Switch } from 'react-router-dom' @@ -103,7 +104,7 @@ export function SignUpRoute({ children, ...rest }: RouteProps) { export const SignUpRootPage = () => { return ( -
+ @@ -144,6 +145,6 @@ export const SignUpRootPage = () => { -
+ ) } diff --git a/packages/web/src/pages/sign-up-page/components/ContinueFooter.module.css b/packages/web/src/pages/sign-up-page/components/ContinueFooter.module.css new file mode 100644 index 00000000000..cd6df78e161 --- /dev/null +++ b/packages/web/src/pages/sign-up-page/components/ContinueFooter.module.css @@ -0,0 +1,4 @@ +.container { + position: sticky; + bottom: 0; +} diff --git a/packages/web/src/pages/sign-up-page/components/ContinueFooter.tsx b/packages/web/src/pages/sign-up-page/components/ContinueFooter.tsx new file mode 100644 index 00000000000..37f848d93b6 --- /dev/null +++ b/packages/web/src/pages/sign-up-page/components/ContinueFooter.tsx @@ -0,0 +1,24 @@ +import { PropsWithChildren } from 'react' + +import { Flex } from '@audius/harmony' + +import styles from './ContinueFooter.module.css' + +type ContinueFooterProps = PropsWithChildren<{}> + +export const ContinueFooter = ({ children }: ContinueFooterProps) => { + return ( + + {children} + + ) +} diff --git a/packages/web/src/pages/sign-up-page/pages/PickHandlePage.module.css b/packages/web/src/pages/sign-up-page/pages/PickHandlePage.module.css index b8897482035..5825190e529 100644 --- a/packages/web/src/pages/sign-up-page/pages/PickHandlePage.module.css +++ b/packages/web/src/pages/sign-up-page/pages/PickHandlePage.module.css @@ -1,4 +1,4 @@ -.container { +.contentContainer { max-width: 610px; margin: 0 auto; } diff --git a/packages/web/src/pages/sign-up-page/pages/PickHandlePage.tsx b/packages/web/src/pages/sign-up-page/pages/PickHandlePage.tsx index 45e3aeb2153..a07b5ea4fae 100644 --- a/packages/web/src/pages/sign-up-page/pages/PickHandlePage.tsx +++ b/packages/web/src/pages/sign-up-page/pages/PickHandlePage.tsx @@ -1,7 +1,15 @@ import { useCallback, useContext, useEffect, useMemo, useRef } from 'react' import { AudiusQueryContext, useDebouncedCallback } from '@audius/common' -import { Box, Button, Flex, Text } from '@audius/harmony' +import { + Box, + Button, + Flex, + IconArrowRight, + PlainButton, + PlainButtonType, + Text +} from '@audius/harmony' import { Form, Formik, FormikProps, useFormikContext } from 'formik' import { isEmpty } from 'lodash' import { useDispatch, useSelector } from 'react-redux' @@ -13,8 +21,9 @@ import { getHandleField } from 'common/store/pages/signon/selectors' import { HarmonyTextField } from 'components/form-fields/HarmonyTextField' import { useNavigateToPage } from 'hooks/useNavigateToPage' import { audiusBackendInstance } from 'services/audius-backend/audius-backend-instance' -import { SIGN_UP_FINISH_PROFILE_PAGE } from 'utils/route' +import { SIGN_UP_FINISH_PROFILE_PAGE, SIGN_UP_PASSWORD_PAGE } from 'utils/route' +import { ContinueFooter } from '../components/ContinueFooter' import { generateHandleSchema, errorMessages as handleErrorMessages @@ -30,6 +39,7 @@ const messages = { handle: 'Handle', continue: 'Continue', linkToClaim: 'Link to claim.', + goBack: 'Go Back', ...handleErrorMessages } @@ -101,6 +111,10 @@ export const PickHandlePage = () => { const { value } = useSelector(getHandleField) + const handleClickBackIcon = useCallback(() => { + navigate(SIGN_UP_PASSWORD_PAGE) + }, [navigate]) + const handleSubmit = useCallback( (values: PickHandleValues) => { const { handle } = values @@ -115,53 +129,64 @@ export const PickHandlePage = () => { } return ( - - - {({ isSubmitting, isValid, isValidating }) => ( -
- - - - - 1 {messages.outOf} 2 - - - - - {messages.pickYourHandle} - - - - - {messages.handleDescription} - + + {({ isSubmitting, isValid, isValidating }) => ( + + + + + + + + 1 {messages.outOf} 2 + + + + + {messages.pickYourHandle} + + + + + {messages.handleDescription} + + + + + - - - - - - - )} -
-
+ + + + + + {messages.goBack} + + +
+ )} + ) }