From c339c40341ee9b8b957771fc8164aef818a4bca1 Mon Sep 17 00:00:00 2001 From: Dharit Tantiviramanond Date: Mon, 16 Sep 2024 12:28:09 -0400 Subject: [PATCH 1/3] Harmonize web challenge UI --- .../ChallengeRewardsDrawerContent.tsx | 13 -- .../ChallengeRewardsTile.tsx | 14 +- .../audio-rewards-page/RewardsTile.module.css | 4 - .../AudioMatchingRewardsModalContent.tsx | 48 ++++-- .../ChallengeRewardsModal.tsx | 153 +++++++++++------- .../ProgressDescription.tsx | 30 ++-- .../ChallengeRewardsModal/ProgressReward.tsx | 20 ++- .../ChallengeRewardsModal/styles.module.css | 111 ------------- 8 files changed, 163 insertions(+), 230 deletions(-) diff --git a/packages/mobile/src/components/challenge-rewards-drawer/ChallengeRewardsDrawerContent.tsx b/packages/mobile/src/components/challenge-rewards-drawer/ChallengeRewardsDrawerContent.tsx index 057cd686ef1..a33691b4b59 100644 --- a/packages/mobile/src/components/challenge-rewards-drawer/ChallengeRewardsDrawerContent.tsx +++ b/packages/mobile/src/components/challenge-rewards-drawer/ChallengeRewardsDrawerContent.tsx @@ -130,10 +130,6 @@ export const ChallengeRewardsDrawerContent = ({ ) : messages.incomplete - const claimableAmountText = `${formatNumberCommas(claimableAmount)} ${ - messages.claimableLabel - }` - const renderCooldownSummaryTable = () => { if (isCooldownChallenge && !isCooldownChallengesEmpty) { return ( @@ -216,15 +212,6 @@ export const ChallengeRewardsDrawerContent = ({ renderCooldownSummaryTable() ) : ( <> - - {claimableAmountText} - @@ -523,30 +541,45 @@ const ChallengeRewardsBody = ({ dismissModal }: BodyProps) => { ) } else { return ( -
+ {isMobile ? ( <> -
-
+ + {renderProgressBar()} -
- {renderProgressStatusLabel()} -
+
+ + {renderProgressStatusLabel()} + + {modalType === 'profile-completion' ? : null} {renderCooldownSummaryTable()} ) : ( <> -
-
+ + { amount={formatNumberCommas(challenge?.totalAmount ?? '')} subtext={messages.audio} /> -
- {renderProgressBar()} - {renderProgressStatusLabel()} -
+ + + {renderProgressStatusLabel()} + {renderProgressBar()} + + {modalType === 'profile-completion' ? : null} + {renderCooldownSummaryTable()} )} @@ -567,7 +611,7 @@ const ChallengeRewardsBody = ({ dismissModal }: BodyProps) => { {buttonLink && !audioToClaim ? (
+ ) } } diff --git a/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ProgressDescription.tsx b/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ProgressDescription.tsx index 8d9e750f8fb..a09905a77ee 100644 --- a/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ProgressDescription.tsx +++ b/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ProgressDescription.tsx @@ -1,8 +1,6 @@ import { ReactNode } from 'react' -import { Text } from '@audius/harmony' - -import { useWithMobileStyle } from 'hooks/useWithMobileStyle' +import { Flex, Text } from '@audius/harmony' import styles from './styles.module.css' @@ -20,18 +18,20 @@ export const ProgressDescription = ({ label?: ReactNode description: ReactNode }) => { - const wm = useWithMobileStyle(styles.mobile) return ( -
- - {label} - - {description} -
+ + + + {label} + + {description} + + ) } diff --git a/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ProgressReward.tsx b/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ProgressReward.tsx index 5252e0e2d41..812af4a8319 100644 --- a/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ProgressReward.tsx +++ b/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ProgressReward.tsx @@ -1,6 +1,4 @@ -import { Text } from '@audius/harmony' - -import { useWithMobileStyle } from 'hooks/useWithMobileStyle' +import { Flex, Text } from '@audius/harmony' import styles from './styles.module.css' @@ -16,16 +14,24 @@ export const ProgressReward = ({ amount: string subtext: string }) => { - const wm = useWithMobileStyle(styles.mobile) return ( -
- {messages.reward} + + + {messages.reward} + {amount} {subtext} -
+ ) } diff --git a/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/styles.module.css b/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/styles.module.css index f07f7f48f0d..1091250828d 100644 --- a/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/styles.module.css +++ b/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/styles.module.css @@ -62,90 +62,10 @@ font-size: var(--harmony-font-l); } -.progressCard { - width: 100%; - display: flex; - flex: 1 1 0%; - flex-direction: column; - border: 1px solid var(--harmony-border-strong); - border-radius: 8px; - overflow: hidden; -} -.progressCard.mobile { - border-radius: 16px; -} - -.progressInfo { - display: flex; - justify-content: center; -} -.progressInfo.mobile { - padding: 16px 0px; -} - -.progressDescription { - display: flex; - flex-direction: column; - flex: 1 1 0%; - gap: var(--harmony-unit-3); - padding: var(--harmony-unit-4) var(--harmony-unit-6); -} - -.progressDescription.mobile { - width: 100%; - padding: 0px 20px; - margin-bottom: 20px; -} - -.progressReward { - padding: var(--harmony-unit-4); - text-align: center; - border-left: 1px solid var(--harmony-border-strong); - max-width: 200px; -} -.progressReward.mobile { - padding: 0 16px; - border: none; -} - -.progressBarSection { - border-top: 1px solid var(--harmony-border-strong); - padding: 24px 72px; -} -.progressBarSection.mobile { - flex: 1 1 0%; - border-top: none; - border-left: 1px solid var(--harmony-border-strong); - padding: 0 16px; -} .progressBar.mobile { padding: 14px 0; } -.progressStatus { - padding: 12px 32px; - text-align: center; - border-top: 1px solid var(--harmony-border-strong); -} -.progressStatus h3 { - margin-bottom: 0px; -} -.progressStatus.incomplete { - background-color: var(--harmony-n-50); -} -.progressStatus.incomplete h3 { - color: var(--harmony-n-400); -} -.progressStatus.inProgress { - background-color: var(--harmony-n-50); -} -.progressStatus.inProgress h3 { - color: var(--harmony-s-200); -} -.progressStatus.complete { - background-color: var(--harmony-bg-surface-1); -} - .buttonLink { margin-top: 32px; } @@ -198,16 +118,6 @@ } /* Profile Tasks Styles */ -.profileTaskContainer { - display: flex; - flex-direction: column; - flex-wrap: wrap; - gap: 12px; - justify-content: center; - max-height: 100px; - margin-bottom: 32px; - padding: 0 64px; -} .profileTaskContainer.mobile { width: 100%; padding: 0 12px; @@ -322,24 +232,3 @@ .buttonSpacer { width: 10px; } - -/* Audio matching styles */ -.audioMatchingContainer { - gap: var(--harmony-unit-8); -} -.audioMatchingContainer.mobile { - gap: var(--harmony-unit-6); -} -.audioMatchingDescription { - display: flex; - flex-direction: column; - gap: var(--harmony-unit-3); -} -.audioMatchingTotalContainer { - display: flex; - align-items: center; - justify-content: center; - border-top: 1px solid var(--harmony-border-strong); - padding: var(--harmony-unit-4) var(--harmony-unit-6); - background-color: var(--harmony-bg-surface-2); -} From 01b1a932068a913f3aa8c6db9e3980a8d538ca13 Mon Sep 17 00:00:00 2001 From: Dharit Tantiviramanond Date: Mon, 16 Sep 2024 13:30:57 -0400 Subject: [PATCH 2/3] more fixes --- .../ChallengeRewardsModal.tsx | 35 +++++++++++-------- .../ChallengeRewardsModal/ProgressReward.tsx | 6 +++- .../ChallengeRewardsModal/styles.module.css | 1 + 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ChallengeRewardsModal.tsx b/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ChallengeRewardsModal.tsx index 3a192a437ce..369ae229f1f 100644 --- a/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ChallengeRewardsModal.tsx +++ b/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ChallengeRewardsModal.tsx @@ -195,6 +195,7 @@ const TwitterShareButton = ({ const ProfileChecks = () => { const completionStages = useSelector(getCompletionStages) const wm = useWithMobileStyle(styles.mobile) + const isMobile = useIsMobile() const config: Record = { [messages.profileCheckNameAndHandle]: completionStages.hasNameAndHandle, @@ -212,8 +213,8 @@ const ProfileChecks = () => { column gap='m' wrap='wrap' - ph='xl' - pv='m' + ph={isMobile ? undefined : 'xl'} + pv={isMobile ? undefined : 'm'} justifyContent='center' css={{ maxHeight: '150px' @@ -445,28 +446,32 @@ const ChallengeRewardsBody = ({ dismissModal }: BodyProps) => { const renderProgressBar = () => { if (showProgressBar && challenge.max_steps) { - return ( + return isMobile ? ( - {isMobile ? ( - - {messages.progress} - - ) : null} + + {messages.progress} + + ) : ( + ) } return null @@ -579,7 +584,7 @@ const ChallengeRewardsBody = ({ dismissModal }: BodyProps) => { w='100%' backgroundColor='surface1' > - + { + const isMobile = useIsMobile() return ( Date: Mon, 16 Sep 2024 14:59:32 -0400 Subject: [PATCH 3/3] dylan PR comments --- .../AudioMatchingRewardsModalContent.tsx | 13 +++++++------ .../ChallengeRewardsModal.tsx | 18 ++++++++++-------- .../ProgressDescription.tsx | 10 +--------- .../ChallengeRewardsModal/ProgressReward.tsx | 2 +- 4 files changed, 19 insertions(+), 24 deletions(-) diff --git a/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/AudioMatchingRewardsModalContent.tsx b/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/AudioMatchingRewardsModalContent.tsx index 5e7d2e3520d..da1cfd96acb 100644 --- a/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/AudioMatchingRewardsModalContent.tsx +++ b/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/AudioMatchingRewardsModalContent.tsx @@ -17,6 +17,7 @@ import { Flex, IconArrowRight, IconCloudUpload, + Paper, Text } from '@audius/harmony' import { useSelector } from 'react-redux' @@ -25,7 +26,6 @@ import LoadingSpinner from 'components/loading-spinner/LoadingSpinner' import { SummaryTable } from 'components/summary-table' import { useIsMobile } from 'hooks/useIsMobile' import { useNavigateToPage } from 'hooks/useNavigateToPage' -import { useWithMobileStyle } from 'hooks/useWithMobileStyle' import { ProgressDescription } from './ProgressDescription' import { ProgressReward } from './ProgressReward' @@ -186,8 +186,9 @@ export const AudioMatchingRewardsModalContent = ({ {isMobile ? ( <> {progressDescription} - {progressReward} {progressStatusLabel} - + {renderCooldownSummaryTable()} ) : ( <> - {progressStatusLabel} - + {renderCooldownSummaryTable()} )} diff --git a/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ChallengeRewardsModal.tsx b/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ChallengeRewardsModal.tsx index 369ae229f1f..a97a9a042c3 100644 --- a/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ChallengeRewardsModal.tsx +++ b/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ChallengeRewardsModal.tsx @@ -32,7 +32,8 @@ import { Button, Text, ProgressBar, - Flex + Flex, + Paper } from '@audius/harmony' import cn from 'classnames' import { push as pushRoute } from 'connected-react-router' @@ -217,7 +218,7 @@ const ProfileChecks = () => { pv={isMobile ? undefined : 'm'} justifyContent='center' css={{ - maxHeight: '150px' + maxHeight: 150 }} > {Object.keys(config).map((key) => ( @@ -351,7 +352,7 @@ const ChallengeRewardsBody = ({ dismissModal }: BodyProps) => { size='l' strength='strong' color='subdued' - css={{ whiteSpace: 'nowrap' }} + ellipses > {fillString( progressLabel, @@ -553,12 +554,12 @@ const ChallengeRewardsBody = ({ dismissModal }: BodyProps) => { label={progressDescriptionLabel} description={progressDescription} /> - @@ -571,14 +572,15 @@ const ChallengeRewardsBody = ({ dismissModal }: BodyProps) => { {renderProgressStatusLabel()} - + {modalType === 'profile-completion' ? : null} {renderCooldownSummaryTable()} ) : ( <> - { {renderProgressBar()} {modalType === 'profile-completion' ? : null} - + {renderCooldownSummaryTable()} )} diff --git a/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ProgressDescription.tsx b/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ProgressDescription.tsx index a09905a77ee..06026196edb 100644 --- a/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ProgressDescription.tsx +++ b/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ProgressDescription.tsx @@ -2,8 +2,6 @@ import { ReactNode } from 'react' import { Flex, Text } from '@audius/harmony' -import styles from './styles.module.css' - const messages = { task: 'Task' } @@ -21,13 +19,7 @@ export const ProgressDescription = ({ return ( - + {label} {description} diff --git a/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ProgressReward.tsx b/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ProgressReward.tsx index 25d9cbf79db..fbfd190d1fe 100644 --- a/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ProgressReward.tsx +++ b/packages/web/src/pages/audio-rewards-page/components/modals/ChallengeRewardsModal/ProgressReward.tsx @@ -24,7 +24,7 @@ export const ProgressReward = ({ borderLeft={isMobile ? undefined : 'strong'} css={{ textAlign: 'center', - maxWidth: '200px' + maxWidth: 200 }} >