From 736c6776f3229edfdc3f118e56672ae34c498b68 Mon Sep 17 00:00:00 2001 From: Kristie Huang Date: Tue, 7 Nov 2023 12:25:03 -0500 Subject: [PATCH 1/8] feat [wip]: add android announcement banner --- .../AndroidAnnouncementBanner/index.tsx | 97 +++++++++++++++++++ .../AndroidAnnouncementBanner/styled.tsx | 84 ++++++++++++++++ src/components/TopLevelModals/index.tsx | 4 +- src/state/migrations/1.test.ts | 2 + src/state/migrations/2.test.ts | 1 + src/state/migrations/3.test.ts | 1 + src/state/reducerTypeTest.ts | 2 + src/state/user/hooks.tsx | 12 +++ src/state/user/reducer.test.ts | 8 ++ src/state/user/reducer.ts | 6 ++ 10 files changed, 215 insertions(+), 2 deletions(-) create mode 100644 src/components/Banner/AndroidAnnouncementBanner/index.tsx create mode 100644 src/components/Banner/AndroidAnnouncementBanner/styled.tsx diff --git a/src/components/Banner/AndroidAnnouncementBanner/index.tsx b/src/components/Banner/AndroidAnnouncementBanner/index.tsx new file mode 100644 index 00000000000..094c4bd8ff8 --- /dev/null +++ b/src/components/Banner/AndroidAnnouncementBanner/index.tsx @@ -0,0 +1,97 @@ +import { Trans } from '@lingui/macro' +import { InterfaceElementName } from '@uniswap/analytics-events' +import { ChainId } from '@uniswap/sdk-core' +import { useWeb3React } from '@web3-react/core' +import { ReactComponent as AppleLogo } from 'assets/svg/apple_logo.svg' +import baseLogoUrl from 'assets/svg/base_background_icon.svg' +import { ReactComponent as UniswapAppLogo } from 'assets/svg/uniswap_app_logo.svg' +import { useAndroidGALaunchFlagEnabled } from 'featureFlags/flags/androidGALaunch' +import { useScreenSize } from 'hooks/useScreenSize' +import { useLocation } from 'react-router-dom' +import { useHideAndroidAnnouncementBanner } from 'state/user/hooks' +import { ThemedText } from 'theme/components' +import { openDownloadApp, openWalletMicrosite } from 'utils/openDownloadApp' +import { isIOS, isMobileSafari } from 'utils/userAgent' + +import { BannerButton, BaseBackgroundImage, ButtonRow, PopupContainer, StyledXButton } from './styled' + +export default function AndroidAnnouncementBanner() { + const { chainId } = useWeb3React() + const [hideAndroidAnnouncementBanner, toggleHideAndroidAnnouncementBanner] = useHideAndroidAnnouncementBanner() + const location = useLocation() + const isLandingScreen = location.search === '?intro=true' || location.pathname === '/' + + const shouldDisplay = Boolean(!hideAndroidAnnouncementBanner && !isLandingScreen && chainId === ChainId.BASE) + + const screenSize = useScreenSize() + + const isAndroidGALaunched = useAndroidGALaunchFlagEnabled() + + if (!isAndroidGALaunched) return null + if (isMobileSafari) return null + + return ( + + { + // prevent click from bubbling to UI on the page underneath, i.e. clicking a token row + e.preventDefault() + e.stopPropagation() + toggleHideAndroidAnnouncementBanner() + }} + /> + + + + + + Swap on{' '} + + + {' '} + BASE in the Uniswap wallet + + + + + {isIOS ? ( + <> + + openDownloadApp({ + element: InterfaceElementName.UNISWAP_WALLET_BANNER_DOWNLOAD_BUTTON, + appStoreParams: 'pt=123625782&ct=base-app-banner&mt=8', + }) + } + > + {isAndroidGALaunched ? : } + + {!screenSize['xs'] ? Download : Download app} + + + + openWalletMicrosite()}> + + Learn more + + + + ) : ( + openWalletMicrosite()}> + + Learn more + + + )} + + + ) +} diff --git a/src/components/Banner/AndroidAnnouncementBanner/styled.tsx b/src/components/Banner/AndroidAnnouncementBanner/styled.tsx new file mode 100644 index 00000000000..b96cf72bedd --- /dev/null +++ b/src/components/Banner/AndroidAnnouncementBanner/styled.tsx @@ -0,0 +1,84 @@ +import walletBannerPhoneImageSrc from 'assets/images/wallet_banner_phone_image.png' +import { BaseButton } from 'components/Button' +import { OpacityHoverState } from 'components/Common' +import Row from 'components/Row' +import { X } from 'react-feather' +import styled from 'styled-components' +import { Z_INDEX } from 'theme/zIndex' + +export const PopupContainer = styled.div<{ show: boolean }>` + display: flex; + flex-direction: column; + justify-content: space-between; + + ${({ show }) => !show && 'display: none'}; + + background: url(${walletBannerPhoneImageSrc}); + background-repeat: no-repeat; + background-position: top 18px right 15px; + background-size: 166px; + + :hover { + background-size: 170px; + } + transition: background-size ${({ theme }) => theme.transition.duration.medium} + ${({ theme }) => theme.transition.timing.inOut}; + + background-color: ${({ theme }) => theme.chain_84531}; + color: ${({ theme }) => theme.neutral1}; + position: fixed; + z-index: ${Z_INDEX.sticky}; + + padding: 24px 16px 16px; + + border-radius: 20px; + bottom: 20px; + right: 20px; + width: 390px; + height: 164px; + + border: 1px solid ${({ theme }) => theme.surface3}; + + box-shadow: ${({ theme }) => theme.deprecated_deepShadow}; + + @media only screen and (max-width: ${({ theme }) => `${theme.breakpoint.md}px`}) { + bottom: 62px; + } + + @media only screen and (max-width: ${({ theme }) => `${theme.breakpoint.sm}px`}) { + background-position: top 32px right -10px; + width: unset; + right: 10px; + left: 10px; + height: 144px; + } + + user-select: none; +` + +export const BaseBackgroundImage = styled.img` + position: absolute; + top: 0; + left: 0; + height: 138px; + width: 138px; +` +export const ButtonRow = styled(Row)` + gap: 16px; +` +export const StyledXButton = styled(X)` + cursor: pointer; + position: absolute; + top: 21px; + right: 17px; + + color: ${({ theme }) => theme.white}; + ${OpacityHoverState}; +` + +export const BannerButton = styled(BaseButton)` + height: 40px; + border-radius: 16px; + padding: 10px; + ${OpacityHoverState}; +` diff --git a/src/components/TopLevelModals/index.tsx b/src/components/TopLevelModals/index.tsx index cdf45402544..a62f3cce0eb 100644 --- a/src/components/TopLevelModals/index.tsx +++ b/src/components/TopLevelModals/index.tsx @@ -2,7 +2,7 @@ import { useWeb3React } from '@web3-react/core' import { OffchainActivityModal } from 'components/AccountDrawer/MiniPortfolio/Activity/OffchainActivityModal' import UniwalletModal from 'components/AccountDrawer/UniwalletModal' import AirdropModal from 'components/AirdropModal' -import BaseAnnouncementBanner from 'components/Banner/BaseAnnouncementBanner' +import AndroidAnnouncementBanner from 'components/Banner/AndroidAnnouncementBanner' import AddressClaimModal from 'components/claim/AddressClaimModal' import ConnectedAccountBlocked from 'components/ConnectedAccountBlocked' import FiatOnrampModal from 'components/FiatOnrampModal' @@ -30,7 +30,7 @@ export default function TopLevelModals() { - + diff --git a/src/state/migrations/1.test.ts b/src/state/migrations/1.test.ts index 30c77054f46..23001b80b30 100644 --- a/src/state/migrations/1.test.ts +++ b/src/state/migrations/1.test.ts @@ -15,6 +15,7 @@ const previousState: PersistAppStateV1 = { tokens: {}, pairs: {}, timestamp: Date.now(), + hideAndroidAnnouncementBanner: false, hideBaseWalletBanner: false, }, _persist: { @@ -43,6 +44,7 @@ describe('migration to v1', () => { expect(result?.user?.tokens).toEqual({}) expect(result?.user?.pairs).toEqual({}) expect(result?.user?.timestamp).toEqual(previousState.user?.timestamp) + expect(result?.user?.hideAndroidAnnouncementBanner).toEqual(false) expect(result?.user?.hideBaseWalletBanner).toEqual(false) }) diff --git a/src/state/migrations/2.test.ts b/src/state/migrations/2.test.ts index 4945c82402a..a65282ef832 100644 --- a/src/state/migrations/2.test.ts +++ b/src/state/migrations/2.test.ts @@ -17,6 +17,7 @@ const previousState: PersistAppStateV2 = { tokens: {}, pairs: {}, timestamp: Date.now(), + hideAndroidAnnouncementBanner: false, hideBaseWalletBanner: false, }, _persist: { diff --git a/src/state/migrations/3.test.ts b/src/state/migrations/3.test.ts index 9d8437653da..f790a5f58d5 100644 --- a/src/state/migrations/3.test.ts +++ b/src/state/migrations/3.test.ts @@ -38,6 +38,7 @@ const previousState: PersistAppStateV3 = { }, pairs: {}, timestamp: Date.now(), + hideAndroidAnnouncementBanner: false, hideBaseWalletBanner: false, }, _persist: { diff --git a/src/state/reducerTypeTest.ts b/src/state/reducerTypeTest.ts index 5aadb432315..5a365d98069 100644 --- a/src/state/reducerTypeTest.ts +++ b/src/state/reducerTypeTest.ts @@ -87,7 +87,9 @@ interface ExpectedUserState { } } timestamp: number + hideAndroidAnnouncementBanner: boolean hideBaseWalletBanner: boolean + showSurveyPopup?: boolean disabledUniswapX?: boolean optedOutOfUniswapX?: boolean diff --git a/src/state/user/hooks.tsx b/src/state/user/hooks.tsx index 793e0f1bd77..86b8bfdcf21 100644 --- a/src/state/user/hooks.tsx +++ b/src/state/user/hooks.tsx @@ -15,6 +15,7 @@ import { useDefaultActiveTokens } from '../../hooks/Tokens' import { addSerializedPair, addSerializedToken, + updateHideAndroidAnnouncementBanner, updateHideBaseWalletBanner, updateHideClosedPositions, updateUserDeadline, @@ -217,6 +218,17 @@ export function useHideBaseWalletBanner(): [boolean, () => void] { return [hideBaseWalletBanner, toggleHideBaseWalletBanner] } +export function useHideAndroidAnnouncementBanner(): [boolean, () => void] { + const dispatch = useAppDispatch() + const hideAndroidAnnouncementBanner = useAppSelector((state) => state.user.hideAndroidAnnouncementBanner) + + const toggleHideAndroidAnnouncementBanner = useCallback(() => { + dispatch(updateHideAndroidAnnouncementBanner({ hideAndroidAnnouncementBanner: true })) + }, [dispatch]) + + return [hideAndroidAnnouncementBanner, toggleHideAndroidAnnouncementBanner] +} + export function useUserDisabledUniswapX(): boolean { return useAppSelector((state) => state.user.disabledUniswapX) ?? false } diff --git a/src/state/user/reducer.test.ts b/src/state/user/reducer.test.ts index 893dfa719d7..2661f17cbfa 100644 --- a/src/state/user/reducer.test.ts +++ b/src/state/user/reducer.test.ts @@ -5,6 +5,7 @@ import reducer, { addSerializedPair, addSerializedToken, initialState, + updateHideAndroidAnnouncementBanner, updateHideBaseWalletBanner, updateHideClosedPositions, updateSelectedWallet, @@ -77,6 +78,13 @@ describe('swap reducer', () => { }) }) + describe('updateHideAndroidAnnouncementBanner', () => { + it('updates the updateHideAndroidAnnouncementBanner', () => { + store.dispatch(updateHideAndroidAnnouncementBanner({ hideAndroidAnnouncementBanner: true })) + expect(store.getState().hideAndroidAnnouncementBanner).toEqual(true) + }) + }) + describe('updateHideBaseWalletBanner', () => { it('updates the updateHideBaseWalletBanner', () => { store.dispatch(updateHideBaseWalletBanner({ hideBaseWalletBanner: true })) diff --git a/src/state/user/reducer.ts b/src/state/user/reducer.ts index 5e49d567231..9af48af541f 100644 --- a/src/state/user/reducer.ts +++ b/src/state/user/reducer.ts @@ -47,6 +47,7 @@ export interface UserState { } timestamp: number + hideAndroidAnnouncementBanner: boolean hideBaseWalletBanner: boolean // legacy field indicating the user disabled UniswapX during the opt-in period, or dismissed the UniswapX opt-in modal. disabledUniswapX?: boolean @@ -73,6 +74,7 @@ export const initialState: UserState = { tokens: {}, pairs: {}, timestamp: currentTimestamp(), + hideAndroidAnnouncementBanner: false, hideBaseWalletBanner: false, showSurveyPopup: undefined, originCountry: undefined, @@ -108,6 +110,9 @@ const userSlice = createSlice({ updateHideClosedPositions(state, action) { state.userHideClosedPositions = action.payload.userHideClosedPositions }, + updateHideAndroidAnnouncementBanner(state, action) { + state.hideAndroidAnnouncementBanner = action.payload.hideAndroidAnnouncementBanner + }, updateHideBaseWalletBanner(state, action) { state.hideBaseWalletBanner = action.payload.hideBaseWalletBanner }, @@ -152,6 +157,7 @@ export const { updateUserDeadline, updateUserLocale, updateUserSlippageTolerance, + updateHideAndroidAnnouncementBanner, updateHideBaseWalletBanner, updateDisabledUniswapX, updateOptedOutOfUniswapX, From cda4e1c1ac4306161a54b10b7821b06108dc5e85 Mon Sep 17 00:00:00 2001 From: Kristie Huang Date: Tue, 7 Nov 2023 18:56:52 -0500 Subject: [PATCH 2/8] feat: [wip] add android announcement banner --- .../images/AndroidWallet-Thumbnail-Dark.png | Bin 0 -> 26441 bytes .../images/AndroidWallet-Thumbnail-Light.png | Bin 0 -> 21769 bytes .../AndroidAnnouncementBanner/index.tsx | 116 +++++++----------- .../AndroidAnnouncementBanner/styled.tsx | 86 ++++++------- .../Banner/BaseAnnouncementBanner/index.tsx | 105 ---------------- .../Banner/BaseAnnouncementBanner/styled.tsx | 84 ------------- 6 files changed, 81 insertions(+), 310 deletions(-) create mode 100644 src/assets/images/AndroidWallet-Thumbnail-Dark.png create mode 100644 src/assets/images/AndroidWallet-Thumbnail-Light.png delete mode 100644 src/components/Banner/BaseAnnouncementBanner/index.tsx delete mode 100644 src/components/Banner/BaseAnnouncementBanner/styled.tsx diff --git a/src/assets/images/AndroidWallet-Thumbnail-Dark.png b/src/assets/images/AndroidWallet-Thumbnail-Dark.png new file mode 100644 index 0000000000000000000000000000000000000000..4a09db432f05fd00832e85cf38d4797e5fc21c86 GIT binary patch literal 26441 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 - { - // prevent click from bubbling to UI on the page underneath, i.e. clicking a token row - e.preventDefault() - e.stopPropagation() - toggleHideAndroidAnnouncementBanner() - }} - /> - - - - - - Swap on{' '} - - - {' '} - BASE in the Uniswap wallet - - - - - {isIOS ? ( - <> - - openDownloadApp({ - element: InterfaceElementName.UNISWAP_WALLET_BANNER_DOWNLOAD_BUTTON, - appStoreParams: 'pt=123625782&ct=base-app-banner&mt=8', - }) - } - > - {isAndroidGALaunched ? : } - - {!screenSize['xs'] ? Download : Download app} - - - - openWalletMicrosite()}> - - Learn more - - - - ) : ( - openWalletMicrosite()}> - - Learn more - - - )} - + + + + + Uniswap on Android + + + Available now - download from the Google Play store today + + + openDownloadApp({ + element: InterfaceElementName.UNISWAP_WALLET_BANNER_DOWNLOAD_BUTTON, + isAndroidGALaunched, + }) + } + > + Download now + + + { + // prevent click from bubbling to UI on the page underneath, i.e. clicking a token row + e.preventDefault() + e.stopPropagation() + toggleHideAndroidAnnouncementBanner() + }} + /> + ) } diff --git a/src/components/Banner/AndroidAnnouncementBanner/styled.tsx b/src/components/Banner/AndroidAnnouncementBanner/styled.tsx index b96cf72bedd..62e16a86e55 100644 --- a/src/components/Banner/AndroidAnnouncementBanner/styled.tsx +++ b/src/components/Banner/AndroidAnnouncementBanner/styled.tsx @@ -1,45 +1,24 @@ -import walletBannerPhoneImageSrc from 'assets/images/wallet_banner_phone_image.png' -import { BaseButton } from 'components/Button' +import { ButtonText } from 'components/Button' import { OpacityHoverState } from 'components/Common' -import Row from 'components/Row' import { X } from 'react-feather' import styled from 'styled-components' import { Z_INDEX } from 'theme/zIndex' export const PopupContainer = styled.div<{ show: boolean }>` - display: flex; - flex-direction: column; - justify-content: space-between; - ${({ show }) => !show && 'display: none'}; - background: url(${walletBannerPhoneImageSrc}); - background-repeat: no-repeat; - background-position: top 18px right 15px; - background-size: 166px; - - :hover { - background-size: 170px; - } - transition: background-size ${({ theme }) => theme.transition.duration.medium} - ${({ theme }) => theme.transition.timing.inOut}; - - background-color: ${({ theme }) => theme.chain_84531}; + background-color: ${({ theme }) => theme.surface2}; color: ${({ theme }) => theme.neutral1}; position: fixed; z-index: ${Z_INDEX.sticky}; - padding: 24px 16px 16px; - border-radius: 20px; bottom: 20px; right: 20px; - width: 390px; - height: 164px; - - border: 1px solid ${({ theme }) => theme.surface3}; + width: 359px; + height: 92px; - box-shadow: ${({ theme }) => theme.deprecated_deepShadow}; + border: 1.3px solid ${({ theme }) => theme.surface3}; @media only screen and (max-width: ${({ theme }) => `${theme.breakpoint.md}px`}) { bottom: 62px; @@ -50,35 +29,50 @@ export const PopupContainer = styled.div<{ show: boolean }>` width: unset; right: 10px; left: 10px; - height: 144px; } user-select: none; ` - -export const BaseBackgroundImage = styled.img` - position: absolute; - top: 0; - left: 0; - height: 138px; - width: 138px; -` -export const ButtonRow = styled(Row)` - gap: 16px; -` export const StyledXButton = styled(X)` cursor: pointer; position: absolute; - top: 21px; - right: 17px; + top: 8px; + right: 8px; + padding: 4px; + border-radius: 50%; - color: ${({ theme }) => theme.white}; + background-color: ${({ theme }) => theme.surface5}; + color: ${({ theme }) => theme.neutral2}; ${OpacityHoverState}; ` -export const BannerButton = styled(BaseButton)` - height: 40px; - border-radius: 16px; - padding: 10px; - ${OpacityHoverState}; +export const Container = styled.div` + display: flex; + flex-direction: row; + justify-content: flex-start; + height: 100%; + overflow: hidden; + border-radius: 20px; +` +export const Thumbnail = styled.img` + width: 82px; +` +export const TextContainer = styled.div` + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 2px; + color: ${({ theme }) => theme.neutral2}; + padding: 10px 16px 16px; + line-height: 16px; + width: 245px; + + @media only screen and (max-width: ${({ theme }) => `${theme.breakpoint.sm}px`}) { + width: 245px; + } +` +export const DownloadButton = styled(ButtonText)` + line-height: 16px; + font-size: 14px; + color: ${({ theme }) => theme.accent1}; ` diff --git a/src/components/Banner/BaseAnnouncementBanner/index.tsx b/src/components/Banner/BaseAnnouncementBanner/index.tsx deleted file mode 100644 index e092b4e3641..00000000000 --- a/src/components/Banner/BaseAnnouncementBanner/index.tsx +++ /dev/null @@ -1,105 +0,0 @@ -import { Trans } from '@lingui/macro' -import { InterfaceElementName } from '@uniswap/analytics-events' -import { ChainId } from '@uniswap/sdk-core' -import { useWeb3React } from '@web3-react/core' -import { ReactComponent as AppleLogo } from 'assets/svg/apple_logo.svg' -import baseLogoUrl from 'assets/svg/base_background_icon.svg' -import { ReactComponent as UniswapAppLogo } from 'assets/svg/uniswap_app_logo.svg' -import { useAndroidGALaunchFlagEnabled } from 'featureFlags/flags/androidGALaunch' -import { useScreenSize } from 'hooks/useScreenSize' -import { useLocation } from 'react-router-dom' -import { useHideBaseWalletBanner } from 'state/user/hooks' -import { ThemedText } from 'theme/components' -import { openDownloadApp, openWalletMicrosite } from 'utils/openDownloadApp' -import { isAndroid, isIOS, isMobileSafari } from 'utils/userAgent' - -import { BannerButton, BaseBackgroundImage, ButtonRow, PopupContainer, StyledXButton } from './styled' - -export default function BaseWalletBanner() { - const { chainId } = useWeb3React() - const [hideBaseWalletBanner, toggleHideBaseWalletBanner] = useHideBaseWalletBanner() - const location = useLocation() - const isLandingScreen = location.search === '?intro=true' || location.pathname === '/' - - const shouldDisplay = Boolean(!hideBaseWalletBanner && !isLandingScreen && chainId === ChainId.BASE) - - const screenSize = useScreenSize() - - const isAndroidGALaunched = useAndroidGALaunchFlagEnabled() - - if (isMobileSafari) return null - - return ( - - { - // prevent click from bubbling to UI on the page underneath, i.e. clicking a token row - e.preventDefault() - e.stopPropagation() - toggleHideBaseWalletBanner() - }} - /> - - - - - - Swap on{' '} - - - {' '} - BASE in the Uniswap wallet - - - - - {isIOS || (isAndroidGALaunched && isAndroid) ? ( - <> - - openDownloadApp({ - element: InterfaceElementName.UNISWAP_WALLET_BANNER_DOWNLOAD_BUTTON, - isAndroidGALaunched, - }) - } - > - {isAndroidGALaunched ? : } - - {!screenSize['xs'] ? Download : Download app} - - - - - openWalletMicrosite({ element: InterfaceElementName.UNISWAP_WALLET_BANNER_DOWNLOAD_BUTTON }) - } - > - - Learn more - - - - ) : ( - openWalletMicrosite({ element: InterfaceElementName.UNISWAP_WALLET_BANNER_DOWNLOAD_BUTTON })} - > - - Learn more - - - )} - - - ) -} diff --git a/src/components/Banner/BaseAnnouncementBanner/styled.tsx b/src/components/Banner/BaseAnnouncementBanner/styled.tsx deleted file mode 100644 index b96cf72bedd..00000000000 --- a/src/components/Banner/BaseAnnouncementBanner/styled.tsx +++ /dev/null @@ -1,84 +0,0 @@ -import walletBannerPhoneImageSrc from 'assets/images/wallet_banner_phone_image.png' -import { BaseButton } from 'components/Button' -import { OpacityHoverState } from 'components/Common' -import Row from 'components/Row' -import { X } from 'react-feather' -import styled from 'styled-components' -import { Z_INDEX } from 'theme/zIndex' - -export const PopupContainer = styled.div<{ show: boolean }>` - display: flex; - flex-direction: column; - justify-content: space-between; - - ${({ show }) => !show && 'display: none'}; - - background: url(${walletBannerPhoneImageSrc}); - background-repeat: no-repeat; - background-position: top 18px right 15px; - background-size: 166px; - - :hover { - background-size: 170px; - } - transition: background-size ${({ theme }) => theme.transition.duration.medium} - ${({ theme }) => theme.transition.timing.inOut}; - - background-color: ${({ theme }) => theme.chain_84531}; - color: ${({ theme }) => theme.neutral1}; - position: fixed; - z-index: ${Z_INDEX.sticky}; - - padding: 24px 16px 16px; - - border-radius: 20px; - bottom: 20px; - right: 20px; - width: 390px; - height: 164px; - - border: 1px solid ${({ theme }) => theme.surface3}; - - box-shadow: ${({ theme }) => theme.deprecated_deepShadow}; - - @media only screen and (max-width: ${({ theme }) => `${theme.breakpoint.md}px`}) { - bottom: 62px; - } - - @media only screen and (max-width: ${({ theme }) => `${theme.breakpoint.sm}px`}) { - background-position: top 32px right -10px; - width: unset; - right: 10px; - left: 10px; - height: 144px; - } - - user-select: none; -` - -export const BaseBackgroundImage = styled.img` - position: absolute; - top: 0; - left: 0; - height: 138px; - width: 138px; -` -export const ButtonRow = styled(Row)` - gap: 16px; -` -export const StyledXButton = styled(X)` - cursor: pointer; - position: absolute; - top: 21px; - right: 17px; - - color: ${({ theme }) => theme.white}; - ${OpacityHoverState}; -` - -export const BannerButton = styled(BaseButton)` - height: 40px; - border-radius: 16px; - padding: 10px; - ${OpacityHoverState}; -` From 084804560125ca0c2a7083e92268733be9278184 Mon Sep 17 00:00:00 2001 From: Kristie Huang Date: Wed, 8 Nov 2023 13:32:04 -0500 Subject: [PATCH 3/8] finish css --- .../images/androidAnnouncementBannerQR.png | Bin 0 -> 61919 bytes .../AndroidAnnouncementBanner/index.tsx | 17 ++++++-- .../AndroidAnnouncementBanner/styled.tsx | 38 +++++++++++++----- 3 files changed, 41 insertions(+), 14 deletions(-) create mode 100644 src/assets/images/androidAnnouncementBannerQR.png diff --git a/src/assets/images/androidAnnouncementBannerQR.png b/src/assets/images/androidAnnouncementBannerQR.png new file mode 100644 index 0000000000000000000000000000000000000000..66ead3b8289efae89b7ead2c46f7c4c50ffdff15 GIT binary patch literal 61919 zcmeHw2{_g1+rKSKk)>p$LaSvkb+VPLNg-KN*;#!C@8^3o)4VhD{$_dK|GS;vbz>&;I%q z8+U|@uf|Ppx*8@PZ`B|><`6hLGuA%a6DSfD#I;(Aoo~A~$5%h91((}WJ68Cx{hPnX z{>hLehoTGr+23g>hDF z=a-+q?qr7$^kU)qhljrY%by1!rtJ9h&tH#WnQnzXS$dlf|JQ%{+v$a7;Y)E}f8yuguu!@qty^f7 zM(FQN?+LR*+`sqRDx{$o%MPCV>364B(dF6itubq{zFGj*V*TQKEYJGI_gJ3wOQ2+h z!LRnAf3asx=y5Y9`;{7D$Cx(aK$~s3|3kYX3r{_Ych}+1g_E0&j(_x1FK|yR3x8`& z?%AtZSrQ4^?sR>#w9LS>E|k{+XCFp-laKil(%0Oe3Szp5;rL=#cIQv1C|}Ie1R1Y z{(Htm&zEV{DOa{N_dD{MN)j!TX(N=wZ)%UpQXE`{_Vx&;bXWVXZqpD}R&DXnch598 zf=wcG#GJ8DRj)$BNiA~smx%AZKA2QV%Zv+KTNU4Mtd*ZVFzB$Fg%z>5{+fIkE>^zA zAq`O1hOT^&U~29M)`SoPr-B^=72)fDWPVNJ@!QEJa;h3%kPJ z8h3>a$GtV~&6vLH8XDwFIk6(|?c8=Ya1eH;qMb^jJE23UI}Em`Co*$PJ<}De7dy#W z$CNL2GF0j+@WOFD^9-dsi;5{Lx@^1i)=O-WvqUN0FWVV)2)Z-Gvpp1Nbv{7?U!109 zQJglNp=RMH8<>|Uy+0X8Fvz_}bT`8#h!)(xu1)K}HyY_jLx)gzw6r%6vgN3+oohv_ z;%h{^lwih;CeWPG32!v^Rq0<2PpH4;(^>`Fu3MtLTmp0mb!VFW>KkLL)b4FI`7#vC ze3?KrV>J#iXV-i9d+OyBU2Lflj#d4NYoDw5&_>MbZ$gKlI~{^i{7yOZ=a$ezpS6Un zC1iOa%M1S}1yZ^shvlIw+@rDmL^1g;x5PGUkDM!acufPgnx%A$W)zWOd$B4~s9Wrm z6Dbo2!LK;2k2GNf8^H3seu(@iq`FRYY;qBrkp2|xtEtN&#O~s%?a|NpNhh(~GM`vN zor-HPYRZ_rI1HOZtbC4ZVmU0rCU!G&jJl-J3^w^uAHQ!qG2k88MJRVpai$NajWL|>7CS;!N?OYMYD?Q2db z!sku55`Fc1@pRa!n((!_s`$QDHSMq!LT~U4bJ$A^`b%IFfh$#^jpn^8OShic?!P}d zGKy_$P=Z91?QB{ohg+)x7jbNG$$B2Gn1twTr#$6B? zrKJ;fIxjqSql^!VsKv1ojG_Zt&I^`XHJw(!wyaV-}$H1+&zGXUN z#C84PqYKR5cRvc9{Afm%8rFNO>NM@mM=*l!FBW#OH}j*RP1B1uZ0w%-*CxK4m|9`u zy@0)M=Dz;3O2Lfo)yOD9(u=yB(bN@PAA6(6>^=Q}-ppqiY~2%ajQd=aHPHPqUgZLr zGWeH->=L|hrkX{-)(JSg)QDPvCBg1L=xm3!eb`S=)$%lB%O?1YE-VtnYwF2)wcmki z+L3qvJliOvb!B(Q1#{1wKdb{st- zU^n{b60Bp|;9pWKTS*!gglx^UX*eKsh2_w?mEe%%U6_wfM{w-8-xbo2EgMhw1TUX9 z7qOWA>8O&6%+QNg-5|eNS7FZ~y=?Uz(D$*9_jvVvV6$xs-2vmK%-;LIG%eo}hU{j# zJ7QKb*ptuHGi0SMS>Dhs5so=It~SZg2T3yqoTEJSo4^v`AhLO1Gq?*nowW{EdST1P zN%ud;CB;E~9n?7~ro7mv-&I<>EU@UJ`gkgpa1;7|`osunSsqN?;1ar~Katsc&Ev%O z75d0-&UjV_##IzU_jQC*|B1WKgfE?6>Qy9^(pGNsc-ge6i-|e(eT$l(&6O80b>88= zlA2Uz?V3Moib7?Vu$J#3| z<{ZYk$p6H0Y}qO_B&FFeg1<-=Gg$7=| zF7Ama@ysb4tyk~FtxKII6Q}l86@M?i3tiC~65Z(pITW$$+%-H!asp)`e2S|!W0xn` z_sRk@2XAtJAL8ATlOZ8PF}hGTo=MUyd6|=uZoyDo{y8L(AR(!}%!dnIFbxNTM0eRW zKpYs$e$Ia}butbce54+gjDFS|;Bw8;*}QWjIo2ZoPf| zBq|GCje5!Vd`)6e6z@?>R_ALfMLt5L!MM_#y2$xEbhs8Wbbcb zBWZWMsi9srFmB;g8KTJUxvY+GuFnBR>Q+r2 z#qN9ehFh`%x%6^}(HjmZJ;=_BRD?ghk1030Fw?QNrX&E1onRldEq#oDPa z48-71Cu`a>9-TQ6?fH)LB4=a@HsQ-}zs)v6M+QyN1oriov*ut8Jh!x!(7~r#f9LIa zXmI4~#_km2<}5=S$s|2ZPm!ATh>{yt1PSqB>>>;{QcWG;1o<)OmG|p6Wq9$2naNixovB$lcQYb_houV zL}HI6TKUsg-hq)}D^I>xY>#gDu($Tl-~!euUtCt&xLcuB+ueTChbq;(qxDt06_zIr zd-vX!eBJqaob7GJDk6FTf%)+1yNZl**Lg>6ex^~f%Re_lCsTK`MaOl};Bad#2)I5< zcEbyUo+z-CVb$~jC()j5p&FQXfX#p#!pd*?>C>|v%$0Y1ZCfz6@}rFS2hqr5kLF%; zO;J-?{`qYpxX8iWYgbGr?w@=q=<4C>&*t7C%$#t}-5OpykWpso;-o?`qXhSRzeaJC z7Ix_i763ar^O2;`K*ghFDdJu*C;jQ3Przy>63xc$gn6#gOU66}><3&DCO`R|Pxor3 z72sU+t(jIp_M0_s-vQn`SZHOW$_h=a(8LN&|K~yzdbS-rDO7gg5?gF8wvEvHzHB3# zgAUiO!4qgBu6*PQJsLcGqL3-#qGOSfJ21y74^Hq&JL8;V5f$} zRJi5a9=ZCWI-Yr=q55ZHq3m9Gf~-=@S;O9>4PC+E**aS%a@%-xbI;9+q)cA?v4TPV zTg|z|l;7~H6>O-09IRPST4rA4GpkUT6LiiprN_gm2R0o=m&{V<1#%hQH8DJjncTu% z1%8sec_OydbGVMu8n&!%&uvNJ2_(%8*5VwN`5R#0&?P&eLzMcJ`^5O+GzDTzo2_vB-Dv}DY~>wKCwN*Yg$|b+wy$n8|dWLqc)J{SQAc4 zG55YXG#pKQK+edtbU63lQ3i7KogRPF#6~=tAZZH~Ef>fs4qLj&IO~1|7F`MYd z-+P3nUt;JWA6Ab~2%*%xy8?d!}U1?w3597T9&vxkdR*^7Wgwx;sW^|azNYP?feDeRBK z++OqJ#3W5p6zXE^<+!Ol5>>@J-5|$VW@!hH`DJhy@XMQ0Vb2Ntm|o?@{h z(J9ckSW!unpbc-BWtRLzL6tDi#5PD8`(>BFlcrxbBV%OW7@os&w#C4$C(PU_S#}uq z#3vF|SzCL5wP1L7^~?UoRPy-Z9+fgk;f|Pl!8`1T`HWHT-2oaGk#RS&jUt*s(Xi;W zqZ)s&O0>9FI(~u!UW-S}*QaQ{l%e4LXde2#8GYsfTYEDm;~?u@#AiBlOtLIV-Z05G z^9gLDE8R@9PWXO$!__hj$>@XH0k>HT$67d+$FV%_e?q9V&`H{KQ_QI21PAp3S5tW( znaey7M<9EK-T_373ZQWS$@5B1#OD&5@{L_iwlFeMiKf}W3Q-GU3vloA>_-%YIkPA_O_spV{r z_uA$C&3%KL?#FK?)A{p8kCExW`g!wUjJ7#4L%#`WD=8O+b_Vt<61hdp~aZrRc%3nUIjmmtLy z&4_G4zEMZr%wKwE;Y%Uj3FCqbt8c7X5%#i}FgoIs1!RnSMD~)P$?q~XS5p)D;u(%# zMq=Eho=%Yyc_Nh3ZMChH`C$8^@m-S02^bjndyc+G*C(S)-PRtSO#Cu!xY(YEO}X2p z^nwzs#l4vC;CpvPdK&_tCVXki0;1rdK0V#C_^4jDpY4J*7}mlquw)wT|JaRHH5GQpcT&ZIoRt9L1l z>ZJfs$R5F3YY?=Ri8n=K%9Cg3E8PW5zo`|urW{^e)7k+vj~a)*3)%p$DMRqmSOhU; z;y%%s_E~d?_}l>Q;@Fnmsa$=$N`KZD}oTKnD z^r%@ic`ApQS?PZ8AW8EFrG%r0ty{Gx`WMXPTsM}yR?{@1qg9fsP={xnSsZf4tDUmxu|hnrY0d%aI#(iue224h!n{xdcseT)MvZf zRZMmOXrrB6on=1kJpd2wa|_i#xQhpKK#Jl5x2#>p0ctxXN75x)>^A~3jGz_Pqa2y) zq0jD8>&b+PS|(@P-o?;zP3`=?2uTt!2MzIbXg9fWeey(t=6eIx!ZK%op{fNgu0#C} zFRvC-jqRdXUHTsYlPN_&Lg5( zK)p8i&Gcx(kc!rUxK5N(AG4avkp~294mjBN=;&mMWb5rv8R6{XT3Ou zq){}1dToR)0z!$}fx%<}1ftb?4%09;`f=n^wqRCo$eELRwD8d3qI>E_m0z#`m+1zd zO1sxX(oGxh>qziU@)A~bU`0iYDg8fnFL8{C zX~x5~R7eI`SQ0)m@JM%=9wcg`m^$6Mviiaby$Z&b>M#YKITp2zE+SCb-kp%|F<$h9 z$xBZ#Gq*1~uT9fV0TP>AM=JHgR*4>Vd6KQ}#C`n;!7ZUdGp8d&Z5GZ^)Qip`23WBR z-I@}=HfoMBo_@2`bwMyGSR1kMD)h1iFR4&CcONf4H|!n$jietx`_$Ms@}yCYgzTx;hxPJF> zbzUZ|yGL8_ z*N65)@Ee7gocYo<8-YX!H|%l`%En*Jo&&E7u62wW^+v9_v(0Z-Rl2^~w<1g-&XnOQ z{7x@YdjIT-Lsi#8OfeFFk3uRC)8Lvv9qXCN*U9A6lVxNJXu2tQDN`T^st%d<>7}s@ zgJl?1`Ygj>MGRKN_@A+r(0R=9I{3!TEm95+>v{?`%4anq!(K8O`8AC@sHPV}H zpZfB!_mw@r*0a3rvPSfeZ(5(=fPhaSy<6(pmF5WVogt>^)1sk*O4sNYz6*%qG6XVs zI@e&}5%WQZusg*yQL5G+Z8|}H?IexCA=l3MnDSLlH22HJ9%i6_lcPgSA@wHBe{?~t zc0%vErXj}~phKITZPwqJSbw05>TS2DJFwP_Zb%XTiKga6WZcpPgl4mCF)_YoMU#}J zDQ(2${F_JNUDMLWl52uRfXysZ*`Jn4et+A(@4n)%A3JKH`0^LD&zwL+_n>gyzw8;>S0{&1ljPX& zgzOJy0=o0=?i{rIMzeGeMe^Z@nTU+EHuSssSA)z9Px$Txwmi4s0C zRrHYu==z-mzEcuC{7pBkhyc?}kOv6ptMsMk=DYmy0F45g&mVak$S2hk@eWVGS=v#r zqh@8>0=}{M-L)(TPf$sJ>Z0$>k>rpem%YfiH+mh)m$1iFBZI9rANg2KvK<;egvlmmwZ@VyR-tKiEUeV=Y zMfRAkP4Xks+n+z!titxk_R>a@l%kei^<4WBO-kVI)X9qt$MS8d#z!Jugye{SJV2#U zJF#n*X4eD}a94`lDW+a#hfuT8rK1Oo|E0ayQO^Zi44x-xT)$FqEyrJkXxTcKmmI zf6iWLXM#+@apU)+NtxMu9x&1cnAdOl6JEcT5y$31QERJK*MkU!nl&AxUReJx?d7D| zB5sp1v6kUwB+B8gn9~f{uYYMTy=iOt34Th2UFyf>+kXBap7Zt}#~1t*J7`p>JDqKXNf~t# zMJRA)JR@?a{!51#ci?!U{>}$tg_W2x)~vuxvikpH09`6~+QKWl`uMRZ6-rE7_E4aY zyG^pzR`05GqDEq_u?FII-)h(fBAYME-PREx2?oge*p=!CXim^)2xk4Dvq9x9z(O2f zPw&n6SY-$TE#|%|*5W_O{<|&P^ac71Xi|V-Ut3hR2ZTK!+1V}kP7RpJNmebqg=B%L zv5)60Ab|*|b@SC2`u+}})OBW@CAI>*q?05j55gEmU9W79EXx9-{vAV!U{djc*#}7{ zP}&rr_+g!hSm3z?0Qf{ne8|NHqxjdK4~Q0a&VEj$*aax#XG=Wn=T0lfXa8JD$buWtvoo2a2wAi!kwJrM3*J-jr0 zDK(O$1HgP^*V8{BnHS4svQ@P^@Wwag779BjN_-xq@nu0W6gU(a+bM`r-~>YpnXFg2 zC{q^m6tA=!6oukyU|&}=0j{!BtO^I-^ARIp^Ba@`27bZfr-&`l{Vfd5RI7y>=oA}@ zS&PM5ES6{eu4ggy`Coj&0$M3sdqtP$5u~yX)0ayEufe3$aiDX#LQXS-+>v#L z*Ob+QHCHSvVfn}Z;K-1*d1QQoDE9i@p8hWNq4q2AO7g6UR&1WcWe=*1JHigo{9WmY za$AlM*xKa+I)cn>7Mt=#5|(Qj()VQMt^_>qR+&i3vGX05(k4F@Fb`evO63M^dingy z&~T>akm{bX$E)n98VBB$tt9H4R9e4FQ@28l%$sq#AhkQRxI`6~Y|DY?BC79jcTEIz zBG8eCi}E6gwwFOfkD2sI;jU-qsvbCBVWxNvH%b502&tS)I48B>jq?{p7hHT z!k9|YAa{SV&&}|Jb;nDsxs)#stm%Ggz&oBMo_cannfm%W>oLdbXrq+NY#_Bs!PAS$ z?ZEhDkVb`LbCFUfGigSZYGLO3#K?2+n$Mb+Yz`oDt-c)$4OO>``yECTcPR#|aDd37S`ir#q(C^H zpuI4#%-;sepv>HyX^1m3rRcD6E)(~iwatf-RNzr?L&MinN8W#rO;oDT@p~7Us$?Nv zyEGc~$%|ClDvbzZ3vCLaXc=uc;v)d&+Nz;-;VGXh$ZVqKiJ1UpDc5-?i?F8DOQf0djy(m!RU zP>DK)%*?M+!d$}idalB$NmIV<`#GVZYt)93CupJuO?g#pw_-YL_bW@*t>{hb=93r{ z)e%TLeaUxNnB#%-HksDb0?290;y-nYIIluZ>&bFj$aJ%umgTg+aoWJ!_1sT8Z2-?; zDLRw!q}(p9rio^0wGQ}ITZ1Mm^~s1!6|X|+Bd^ZOi`-zz6pp-;oGdtST%uG`>VBW_ z*-a~dI)i7_{$xkf=DV@q@MH!<7Dw4C96 zqOMnAdql0s>S%4OA5A2=-YB5Q)R$sv2YL~XNuY_*v6N$B+p$|EeJPkWQEG}N0kUs| zw~+c^kbZ7O`)vQ@kJ~s;LG3YqcF)*1uXkrCSoh(Le6}f#Ch2uC8GH#|r`lwLkMXMc z6#USa6N1S}oj*Hy;;Lu0JHj)J(|&H{MmsHyvHpIyP1?r`kP_ws5kgO!Sdwjak-{5s zKr}3jg>*fVDSq+FH;XG@x}&44IwyBw3lfqNo!|Fp2c)}YDUhLZ`=u3r@cbXQ2_s2z zcu<7CvlgfPGS%ko>L53P?fkzx*+jv0tOa5%kU7hP!0T8Z)L`_V72(#MrFq6 z=N=TN<2#A~(B1A<@-T~Fh{X0}qIsFR=S17P?m(dh^*<;Z1C?9?^QP(`+j5;h21<=( z>@O0SCIP11X!Lui8ionkeTEFXz5pcm`;pFl+X4{cekK6ge}ISz=7a)l_BCfof|q{V zXaKRcC7}*m2?(1{pq?7%n-sitpb`e2zw0?BQ5utk=PXwMw6=M`VJKjRY4pvIiJoS9 z09x3D1mnkaL2TbM1f)P_p}zI9?NGJN9I{p03lUg7C-PRJG$ubt0^~r?bVu6cMab}b zf%bh7f+2W#`H9Y^b)USjLdyY0_Tjk1I3A$(phAf1)gi6Dj{t56Uka)EW>ixEw%tBT zyadP-LY)%F4sBF~^v9HsdTGDy;^rP6u_glmA>@Mw`2z(&N<`;2=8lUgV{fcb@brii zt-=j0qow3tRXt4X5D)kZTdFB@I(+-eqRhN0uTw_$HJ3w`a2^p@xR`l($Wr~Li>>Nf z_W-sAIEf^Xtj7bGBi=U2zN(z4-kSPTU9*ah>}DGG85@ACXG}hUnsk_G;Z!1s`-aX< z2SBGl-nW|@bRHQ{$XqQ7t@O9fQ&G;p?ILBOQh!uy%Z30U3{x*QJSZkeS{YlBi#QXgx`du(B3Msh#8gK%#HGgysWvV{{b^{2G zbJIaREe$%r#X6vB5(pK>7p{i#b+QXufUWSGE|z$nIbjyCb-!8qX_5};Ta=ZUnw_|h&DGL#+ zk2e}AW2HDj_Vh(7ppwBxPkpz{*Ab=NSBVcT<$EUL+`np+vi9&tzdk5WaerHHd%M0n zV{Bdf6liWk#vc^;c=4BaxVLTI#+W`ir#@7amk)@jwrY@QU8|3vUM~#b@r^KFSXnq(Wsse7d89&S(+*H$!(0b{FuPTo9 zbj+Xv7%~*VMV-lxwPAD~gZ4>YX8D}s z_#b8i?uDpwCcga;zV@AxRh8|LCqr78E2;f< zjU-&RP=y`fz^RmR3J;0!881RZH!(Qe%Z+}6H(vvfsu@8`ZSsWyQ_aQkSoqA~qvfUI zFBdyGY!na7mg|<&dvF=ld5yym?hzI(afjNdoxwyRLZO08*v}=$X4@&^3bmJC8$M^u zMt&CPKd|bGK?#TYhZ@)24?HjC-{SCFxbc3Yt8a%o&mgA|PeF>>>3aTW>f^$mvFi(d z^M$gx@x|O>768g@9j@?P*v2EZ&|b$qQ*ne{MAA1XsMwF~ZHFjkRVzDIiQF?r9XzeR zvPe@qpdfv^Y+i4$pcz3@ZL-07ZhS|>XZ(wqOQRqCDK6(={)SE(C@Yh1K0z?X$?awF z=PcT>r2!N;h;cQ}6%mX-Rm)kY?jsqb<}w zo(s?XzCXZ}kpUTw`{EBri!_D^A!F+hpvB3(d{rM|k4)l>th47AF?m4vTcijP|%nh*339@tUV0^zTxMx|Zp!TxTvu};<-gBBwJ-ZT@Q2%bdBpmrY+RuDRa)`?l5xRU=+8E%aB;Z6P+vb}3Q=BL5b! z{4f-`d4z|A`E1vsZKrJ6_coF#4`AZj&W==Ekf8`J3+R<+mPEQ!Sas&X>&nF7o$jC0 zo{k$?!MqLscHhC=?1q&L;Ixm`r@XV^Z^f%iEW^1r%Sx^*RRBWim zmrqZs^VBzP4V={kS*Ro{84mmRNa2Z8tOEjD&Nt)`BNd?1JJLaz2?UIQT42_hH{}58 zh_=+}mD&O;`*gEfZp;;l4j6Hz;DOFs7e6vUSGta8w3Nr6!}tZa4$hi)=Fzre`m18f zm6WmYtwN{FWXsi#Jj(=_fIyh%TKy@@RCIW*iZ@(}q?1tTsP3?pZgzoY^x4BfCC z<{{fDG4EakEMlLMc?Ty2DC&{J2vdswiqoFhpsJ7wfxM<6 zPl5-fu2zh3eMlb^H)+#$&+Mk3dm82>Ly<51Fl~aUyMVX;0H_S?j(RL#W_T`$?DScv zHuR{%sK(48Lbep$E5C?E0?-;RTFmm>uu4!nB|#p5hRoBzqGZm6)87qU^`MF!nh#eN zB%sI?Pi#V@X&5A+8onMRb2mHJ6U3>-UwU)dXw~(HAa@V@%$%yD7h-&a?jizHRD&+q zFXMv{`9{5?LXcBQ)*xVg<`77`W97~n2GQPSk65l_q6nu(+9u$|5( zpPKmejuqp1kD|-6pz<^OMh63FtJpafPO}}p%>`RYaoV@8?~nv9KDWQrujn0Mw~NzW zAAfhN&A0*H#Nf2Jr68=FI1%E67trn9QgGzK=Jm>KsGL-L@yXdnG>oz3lLOIcH;QQ+ zv>k4=;6OPslNp~$^_;-2>B4A6$c72Q8h||Zl24L-F+Ii!{gjUfGxo(U4T36OP{$jn zSRkM)2L-}m^Ki3i#R`Skn$5@qHx%}0TeuK88hbNv#Zz|s2>=sQeS2enjGy#H{_M(Ai@047op;o0^S;yJi!RB}| z`3$k!pRIRH#jSK}6@@oge1E!V+s-!G9=?ph8%JU6gE*Y89?d`byQBU{g9N(0i(83n<3i zT2c$Iz_e3>int*qrE8v{{t`~3jvh@aH*l79Ut}%!xBFGjJHVOIqPW{oX@4G6kS_6x z1NuYJ#}&4YDe%XSk)Wow+imSBJRRtUrE_wie4q2gY=u-zbHI#7I9`+xQ&Vib#ZgZO zDvxl(AD@>H*`I7K*zg=xVe_^ZWky1-scTDv@M5;l8zeJYz=vc5KRUok#u{E(0UW#A zN7XlrurB67VCLmJe&uz~ItB1_--kCpiO;p(+`d4OS3;)g)DPxEw`5XlNG<<#ZFm;}E_+}JwtvwQrqZEMcvIpfyT537iY{!!Q1tC2D*Bf6MJ2TI zK?e7J+B~ts5rb@|Q~rG?X>nNd4`$bnYWh6yegwQoLsCqdOdS8t`J1B*fbEU*eZ}V&)h!)6xR#M@--bK^;g$`Qgm`R(iy0e z!_OGGLzRUr?*3mpN z%Ht_680S3nEfgN<%$~XkpN6;6F{o)>T<7|9T{idLm5xK^Et!rf$F=$hUY5l z%6N({w*IIGs=uT48#v3vP~1-FiGcW!^Lx$VNpdwj`D6lXR`iG-jc~jc2vnPLk&=T` zEQyhUDt`EaYCM#;$H|sBfX+?8DI?7t%1=brhs2qOIG@-k`F#-AbX+6r>C9EgyDtGDL5fA- zTuSicwU8U>+)C%41>cYcI01iCKu#ghzMR7D_>J}66PCY)Gb&X%SAFuI zeR=AZZdcA_I@N)BEr2)ajvivAk+f$AoKU;u^t^7!A%b80+goh`e)y^#&zk1vOqE9W zwFmGXHqjk5!!R-QUos#bL!NjsKe%=2-%+pzkcTVKs(drma^w1L8QTFq)YvK&3RoI7 zWq=fr(LeigtCJ`~IAt+PzN8{}v8JpxS zngI%IVMTsVQ5780l1T~QYWh^Ej!O{EaDMX8>H3zrk`WyJ2qPTC(^2G0*^a4i885+c{4Xl3NJI}<<{ zCo*$Pp;+x){n>x^<$*i%|6#C2n5VDO+?92A?cT#Pm?#+@+5j&%7p?4b?riWPTZQ7R z&O`0txpKn)@XP-@!n}ofYER43a}5$ddM0jISP>x#wKa?LAe=$LVYMQtNCqzqVRyXR zcLKQO5w=C-;i;?5{qNgXE=j(bJd$>}wD|y=YKrrN9qBr0P3H z-4K2Q^2^`KC3^9(r-|y8GZ9Llz(=EqRf;R0jh{qJ42hRtF{@@cn#%7 z2q7|DCAT6tzdNMXg!H0P(HkC&4vN8Gbq(m&Wl%hmaB~v7H#4x@@K-(UOOt){LCK|s zUl3JYE{W9Lqg8`I7Js(4Nc?aGDw*vidHy!M<7w-`F!>LVKGgCRwi-Y=nQ@fuL$;iG zQ@75{VKs=3jf8%9oyp%dsKTbpv%XIH`H>^=P+E(tD*l#o{WVGBP>RB|%UqY0L{Uk& zzc;(E=X~{P^^3YGwKZyNxKN835TFtbLoZce4NyQRmxk&IH34>(yaQe&;c=q#cc*DK zJ(D~X1(mn6r)18Jrt?D%l(rjI7Y|w}P|y>zBtQ~?A>0AnL-upeg=s?Xf80RTw+MX& z!jx~MQT6RHGu~WyCf#TW4TT(Q9}u)@0o2U6FjT+p%bG45)j#VZWa##Ug0BHlW=^S- zLiA-EcDqB78m0xI_HD#dm@n>@hXrfrx@`UimC8eVyYY_m$(};zwc}#l*&O+^CXpK0 zV)W1odkhpi`fY#T|BN;G>*mD7)co?vRK zuU&l`x@?Pb%qXVXz%V z>8gbI8czwQ8V8Ubln4I98Yy-@+ch0qd}6QHY3-Op)a*JHGdQUe^h=|b#6Q=_!;JHA z(Bw*;nN$PFZsif`AhB2io1**f0Q=A=Z~BrlYZv)9z;U!v+)il3c_E`5y(5_@#YLS@xf5q$sAW%}rDi zp-TEe?z5$4!WdT72u>AFqaf|kBjP;uz&+n$P@@K+y3RRGro4u;%j-v|rOr--Q*o1{;cA-gWSL`l9o0~&1HYi{BwOR!u}K-d6J56~8PXkM)Mwi1iuXXS z1-^o_qr-KKWppf~V;S9_j&!>kM(iNIEa8He>*(=iO#mr(sWSAA>H((yB9{NntvM{7mTO*jAuu>h#qggT^T+gHHImx6L7 zqWtRyZ>sI0ycmx_r`*fM)}9yHl!s>0zS;1NT;nx)USKiJpRVoSbOXm-MBV{7wr>!+13@S1YAD}_miq;9|$pZ#u% zH9*!1vP|?>KF{(&R*?C_DEjKS*`bh)q&I$KyaVCIqM3m6h@}SADZCJT9!Wbq097f( z8D{2u;!xIku~WZcM>+Ol^TVR~ygolT8oOew=CptuQ^tT^Mf5Ex?HQe&UBD9z0}%EO z_hiDyoppty^@*hxwZ2$Gb)~z>;~UtOUerEu4M;)6Tboq1alM#wo>lbsoE%h1s%0{; zv{&9{Zaxy_g?W)Gq=)IELWmQYDb;N_a*%u&YiJzyIU6c#3bOC|@obv+YKbpc0Jc#c z30VCghvEr(M48`d2@#zMVX3NX@k-N1qN&2(br7hQ^Ym5Qh_Q`i+0)H;2?kh0x_SR4rA0#r%OXC!;6Y5xGSRRQt*sNM zzuOS0`SZj{aWJ>RJD-dI*?ve~V;?*AfH(hO{#Kh#gUfkC&hxPKlD$|gQnm*tjvA^)|JN_{m;SOAm$kSo&qZO5<+=YXEIV)! zD^J_k`gq}Rm?D9L+WfxO!O&Je$g8VXq zx=HxG;}QTUmWrh$6y2KsmEysbr9lg)d7ep>>QXqj3u@@PpXqpCWM8kM>Z-Gex!v9O zI@wdLa6C?nT0OBrO6x?pHVu#q#LM)&@3^%(naIQakIXoq2j5t~monH*FdN&OfpU!Y*bgBv^j(sB72514R5slmJ{Q7a}Ic|{zHkyd19%od0 zA^>QG_Y6VRw18|4sIv)3jzR7XcoKO~l`9N~aliw=g5L2Yr*o%p&a%_F3!><34V;mt zNE0K^x{!R?CTeaca$VjEeWG;<-gSS#|3vWhO5inQYr4Gimyf6vEXERYYhRu~qj566 zM!&D_L=D(|G*JQoiHfjfki5b4oB{O-v<0XrWsrcB=n9<+9C7#XwkvBid&=mIRXkzG5cPV{?H2 z%#%5?T__rj)}bE>?PT@zfjfq@*C~J}M8_seI~Pqz4gr8O6DW&D2t@;pood>@0>lOP z5ZT{X1Xh$*%6Do6jZ~~cS`}ydMe&~RmfU2X27a_L@OFLu@YIAJo}k1z%vl5+lN~vc zEo$xa4-M%tk$HS7*l5I~yQWApe?>Zqp7?8ZI8Dng*bJqK}8h_Sk+(%t%N#6Dn)5YNEagX z2{eu$M);OFm>P(&xUg*+lKjqXXui6j)RrM$q#@Dnr%!u*Z(c9+ME2oDeUe1cZ99gk zL{DwdbcF)cQoD-$vFPD9(@{*k+*tuMnlsgh)yorsaR@9H5Ke%~cfd%^E}{Cv+drTp zjVEZk;{fs*j~d66e}y>XtV2#V8{`{e{lu58HyBQRg3D%J$hUM?D{SWpyf{3z|8UWj zf!FuWe;mHhqUONe$>R!j;G&V&KM<|%xG+aiJg$aDgIilW(MrJeY34%NJX8p77=y=l zL&6mRj$jOs*ae6aD`c=j1}kLzmxhcAQt+-`fo;78vQX}$4TMf87&P1$^f3|qk?a7t zLU|O*x&UqpUVN;zeGyZbXXlAcrXg`9duSuv>7BrTwzG`uYhU^J{S2*J$xG0D?l*)X z&z}HjJnWMQGMT||8gkLa*l=)-h5gWpMBvwDUqpaGAi83#0+8?l&?FKi`B~8fG0(9b zt{FguibtSOjO8J7Kc)ELvlpPsNu!Z|42ZsX*@M0pK>M5YcS^wX@Jyogu2us$BD6&$ zf|$#6>xH0o6H4r}jagcqbH9MravSguWhf5C*!Ng5@zH>8gfuDCNE@aGY=wPXDgf~;Ku7lh zq!Zv0AKUqT`#=>S1He76=WgYf%88%Elo@GjHF$soVRsAf_sD%RYZ(%B0bnc=K?Oj4 z4U`eWK&wc71|(X{fqKn6WA#slCm4yRa0@qGk7+Z?EbVv$$czzlVT3*BHd}*K=$j|_qTk(ZT*&DS9c&YZ;VV4tVH1u}N zEwP-sWqTJ0$^2VW1GybfSx)AlPd|+j(|}q!iS}}7=>4A#nrMg)!AQ#lfDP2Bi^>{U z1$OFIP5$x@gMBt+Hr(Du!klTS*aqweCnMMr|Am?VM|>Mp4IX+1EiI*1wPdO;%L=SP ziamd7#q-OF#W7GM$n5ft-m=3r3syi`s+~%rW&n+C_65x`An;fPnl)C(HyoRFd}1*s z4Cg=9cioy+GQi*I*fFht8C&x=>e>SKeFyQ45?7+(B{V3GnlV|#rF3SNG-1>l0&h%6 zPzft81jhvCqZh1X+y)R+%2_X47H8~R`3N($l~6?Y&zstK`TM(frImfM!|(1?LZ@Na z_2Iu9sQLs;jMS7Ub7D^a@!w{dIrt_zXR^%v|DT!1GH)6vVq<)&_?ve@oUw$ta{!}^ zoEuRRu%wi^zfwyZ98h4R<8?Ad>^F4H6SN4qh;~W+3*-K^mUteXR~jg7uzrwS7Ema zgM#Kvc^9Mta&_CNFw*s8hLkAv9YBKswJ^8LV@Sa{%WHNgqky_1H0yVA7jcCKVqqUw$0hxRf?ml6NUzea21u`k1Nl@09@}R32>8x4W zV@l7k{a_j~8$lcyG&;wyM{Xb%whX^UO2at2ccAUeY8lBsgfMZ6NOLx7YMFi#p+VXre$^*yGbbx$~*g7%g zV)yL=D|y_i-ywWtMB)vr53sMwK}pz8MS1fff}skk1Z+NR@<-6A=9vX&)O@*&v8%F5 zKKDQpO-U4$T}Prh0I>vx*UNpYkhCImYm)N3O47i@$&H&o(2W#;tp(-)Q+d|#OSDJk za2|;#gFzI5)(LJ$`s78B8wKVfdh&ikxCtx-(8&g5DU&(`7<`6y*wP@_E&u*^hmOq~{;RY`Ei>y;q z;*Oirge7q;?doZEI%{zXpD2#>ERi753^{A3sfnOAx90QRfY%&Rp>+x{wy9y z%Yhu~JL6HMD$GrP-oXB*S&=o%sSQBvj@z(HKwFOZ^OXd44$Hr^bIhi93*Lm6JE??i z%{}=5J-XvpaPuAG4(!kEQ^|G{hoJ(+%kd8Zm|9w!_xt<1%;^*NE!u&1(dOjc6%9%` zw?Dla!{G7VWxcy!X>k#iOsG{kZN}rHs*hf2IH}pJ(W@x_9?`?Q0Y;0?z!1!FT?Jla zD?1P^!~W99MkC%ryIXyBBI%KF<_?4r>p&dWtsl<@c^<;ptz@S#wpdJa4bd+82lTOL z{xXr?qt}F-@9$~4zj_-;jni-NznslJm@NEZi5(R73(3ukT=HtHx!IgB>vvmU(A3v{ zbx%P7+LWiQSNW%$4MI7t8gFd;I=g232g`OjA2Qd+sf%j@NrI`aeB>r8c@%f;4FS zaC6CNEZOW>u+=YN4Hrm=jVfOHK71)$!?)iiGA>`d^Q4>zr5$X|AjYH1(PSb>Y^m!t z$=$~u863wV{2uV|nmQ1O;Z|jW=NyOT&n!nz`1EPEtqwm3u=iA}?EY4rSGnNYMe)*@ z8hVE_6VZWs9`Z47hLEwKZ@`4F#pCBeNJ&bvo{^McS|74V{WHOmsF3z!guTDkr4;bIQ8>b)i@7u*HxVqP!TUD7h zsk)M~5`J_@4kj`1Hc}vUAd@5*cd+>-ptyoi%rzkZ{UUwS9ZQ7P36Mw zOW^fDsZQHwmZTsAg>2Qz{f%YZF#X(w1D5_D4rBI!JDTx8t+#;T$h+srJXjY@P$8ji zF*}GTG4%t>U$ll}Jw3gqq48Vk=U{r?J0h^F>Lsr5zV?f1;p5>6aZV|DfwU#OsBaFM zYhzSbW1jMzoaU(w!6dMP_`<*ECXBRd2kO?dz_r~<(4W>P*W#YPD9110LI*S@$wf61 zm?JxWBPzK$UYmxzc;DY!FHFsF<(KtJ>+TYF?r$f}<3Jj_aglso0vNXn7ZDbjWQ=Cp zZEfD)^CRqv|NVZm83|!0VNfO><}U=bLylmGG4$G>&JBlR*ah)zRX>@mMYF9Mz58!D z`V;hmlQ8G77t4vhzT7R7MfhNCF!qVAL%P0tmAOQkVG4K@4pLo^?Xn&g|YlW%X9L)6$GE6PQXz$8o{{lo=Cf9wKb!Pw`m zg!S%2?Dk!E&S49?X8kbs947K@PT;Dy-@a9HvHw#p^`GQMWXJG?R5#7F!K-*p#c~~1 zU%7bULQD|Xd_Gfpv49s1YD>V88s!*^btZrdUeoj|@TmO>p2VJdM8x|R&@=2mYS+9d zIDS7+7Kbh$kRFBVM(`j|+)|d0g2a6%Dt)d!X=8lLF4k<}jh?bC{y?YvyDL++5?Ad%hNbGfG zx9>?rc3S`dqM&c1ejJsj4LH>BqiYvrQw1P4Kyvw10m`3}2gFDHc@_Uniswap on Android - Available now - download from the Google Play store today + Available now - download from the Google Play Store today @@ -47,6 +55,7 @@ export default function AndroidAnnouncementBanner() { Download now + ` @@ -15,17 +16,16 @@ export const PopupContainer = styled.div<{ show: boolean }>` border-radius: 20px; bottom: 20px; right: 20px; - width: 359px; + width: 360px; height: 92px; border: 1.3px solid ${({ theme }) => theme.surface3}; - @media only screen and (max-width: ${({ theme }) => `${theme.breakpoint.md}px`}) { + @media only screen and (max-width: ${BREAKPOINTS.md}px) { bottom: 62px; } - @media only screen and (max-width: ${({ theme }) => `${theme.breakpoint.sm}px`}) { - background-position: top 32px right -10px; + @media only screen and (max-width: ${BREAKPOINTS.xs}px) { width: unset; right: 10px; left: 10px; @@ -36,23 +36,30 @@ export const PopupContainer = styled.div<{ show: boolean }>` export const StyledXButton = styled(X)` cursor: pointer; position: absolute; - top: 8px; - right: 8px; + top: -30px; + right: 0px; padding: 4px; border-radius: 50%; background-color: ${({ theme }) => theme.surface5}; color: ${({ theme }) => theme.neutral2}; ${OpacityHoverState}; + + @media only screen and (max-width: ${BREAKPOINTS.xs}px) { + top: 8px; + right: 8px; + } ` export const Container = styled.div` display: flex; flex-direction: row; justify-content: flex-start; + align-items: center; height: 100%; overflow: hidden; border-radius: 20px; + gap: 16px; ` export const Thumbnail = styled.img` width: 82px; @@ -63,12 +70,23 @@ export const TextContainer = styled.div` align-items: flex-start; gap: 2px; color: ${({ theme }) => theme.neutral2}; - padding: 10px 16px 16px; + padding: 10px 0px 10px; line-height: 16px; - width: 245px; - @media only screen and (max-width: ${({ theme }) => `${theme.breakpoint.sm}px`}) { - width: 245px; + @media only screen and (max-width: ${BREAKPOINTS.xs}px) { + width: 220px; + } +` +export const StyledQrCode = styled.img` + padding: 6px; + border-radius: 8px; + width: 60px; + height: 60px; + background-color: ${({ theme }) => theme.white}; + margin-right: 16px; + + @media only screen and (max-width: ${BREAKPOINTS.xs}px) { + display: none; } ` export const DownloadButton = styled(ButtonText)` From 757cb04793267e046d9028debb1e577290aa78d6 Mon Sep 17 00:00:00 2001 From: Kristie Huang Date: Wed, 8 Nov 2023 13:40:15 -0500 Subject: [PATCH 4/8] remove hideBaseWallet references --- src/state/migrations/1.test.ts | 2 -- src/state/migrations/2.test.ts | 1 - src/state/migrations/3.test.ts | 1 - src/state/reducerTypeTest.ts | 2 -- src/state/user/hooks.tsx | 12 ------------ src/state/user/reducer.test.ts | 8 -------- src/state/user/reducer.ts | 6 ------ 7 files changed, 32 deletions(-) diff --git a/src/state/migrations/1.test.ts b/src/state/migrations/1.test.ts index 23001b80b30..1743e82e7cd 100644 --- a/src/state/migrations/1.test.ts +++ b/src/state/migrations/1.test.ts @@ -16,7 +16,6 @@ const previousState: PersistAppStateV1 = { pairs: {}, timestamp: Date.now(), hideAndroidAnnouncementBanner: false, - hideBaseWalletBanner: false, }, _persist: { version: 0, @@ -45,7 +44,6 @@ describe('migration to v1', () => { expect(result?.user?.pairs).toEqual({}) expect(result?.user?.timestamp).toEqual(previousState.user?.timestamp) expect(result?.user?.hideAndroidAnnouncementBanner).toEqual(false) - expect(result?.user?.hideBaseWalletBanner).toEqual(false) }) it('should not migrate a non-default value', async () => { diff --git a/src/state/migrations/2.test.ts b/src/state/migrations/2.test.ts index a65282ef832..9560ac36877 100644 --- a/src/state/migrations/2.test.ts +++ b/src/state/migrations/2.test.ts @@ -18,7 +18,6 @@ const previousState: PersistAppStateV2 = { pairs: {}, timestamp: Date.now(), hideAndroidAnnouncementBanner: false, - hideBaseWalletBanner: false, }, _persist: { version: 1, diff --git a/src/state/migrations/3.test.ts b/src/state/migrations/3.test.ts index f790a5f58d5..1317ac2445d 100644 --- a/src/state/migrations/3.test.ts +++ b/src/state/migrations/3.test.ts @@ -39,7 +39,6 @@ const previousState: PersistAppStateV3 = { pairs: {}, timestamp: Date.now(), hideAndroidAnnouncementBanner: false, - hideBaseWalletBanner: false, }, _persist: { version: 2, diff --git a/src/state/reducerTypeTest.ts b/src/state/reducerTypeTest.ts index 5a365d98069..fd32c3bbe7b 100644 --- a/src/state/reducerTypeTest.ts +++ b/src/state/reducerTypeTest.ts @@ -88,8 +88,6 @@ interface ExpectedUserState { } timestamp: number hideAndroidAnnouncementBanner: boolean - hideBaseWalletBanner: boolean - showSurveyPopup?: boolean disabledUniswapX?: boolean optedOutOfUniswapX?: boolean diff --git a/src/state/user/hooks.tsx b/src/state/user/hooks.tsx index 86b8bfdcf21..5072b4da4f6 100644 --- a/src/state/user/hooks.tsx +++ b/src/state/user/hooks.tsx @@ -16,7 +16,6 @@ import { addSerializedPair, addSerializedToken, updateHideAndroidAnnouncementBanner, - updateHideBaseWalletBanner, updateHideClosedPositions, updateUserDeadline, updateUserLocale, @@ -207,17 +206,6 @@ export function usePairAdder(): (pair: Pair) => void { ) } -export function useHideBaseWalletBanner(): [boolean, () => void] { - const dispatch = useAppDispatch() - const hideBaseWalletBanner = useAppSelector((state) => state.user.hideBaseWalletBanner) - - const toggleHideBaseWalletBanner = useCallback(() => { - dispatch(updateHideBaseWalletBanner({ hideBaseWalletBanner: true })) - }, [dispatch]) - - return [hideBaseWalletBanner, toggleHideBaseWalletBanner] -} - export function useHideAndroidAnnouncementBanner(): [boolean, () => void] { const dispatch = useAppDispatch() const hideAndroidAnnouncementBanner = useAppSelector((state) => state.user.hideAndroidAnnouncementBanner) diff --git a/src/state/user/reducer.test.ts b/src/state/user/reducer.test.ts index 2661f17cbfa..67731cd3853 100644 --- a/src/state/user/reducer.test.ts +++ b/src/state/user/reducer.test.ts @@ -6,7 +6,6 @@ import reducer, { addSerializedToken, initialState, updateHideAndroidAnnouncementBanner, - updateHideBaseWalletBanner, updateHideClosedPositions, updateSelectedWallet, updateUserDeadline, @@ -85,13 +84,6 @@ describe('swap reducer', () => { }) }) - describe('updateHideBaseWalletBanner', () => { - it('updates the updateHideBaseWalletBanner', () => { - store.dispatch(updateHideBaseWalletBanner({ hideBaseWalletBanner: true })) - expect(store.getState().hideBaseWalletBanner).toEqual(true) - }) - }) - describe('addSerializedToken', () => { it('adds a token to the uninitialized list', () => { store = createStore(reducer, { diff --git a/src/state/user/reducer.ts b/src/state/user/reducer.ts index 9af48af541f..4c32ebade72 100644 --- a/src/state/user/reducer.ts +++ b/src/state/user/reducer.ts @@ -48,7 +48,6 @@ export interface UserState { timestamp: number hideAndroidAnnouncementBanner: boolean - hideBaseWalletBanner: boolean // legacy field indicating the user disabled UniswapX during the opt-in period, or dismissed the UniswapX opt-in modal. disabledUniswapX?: boolean // temporary field indicating the user disabled UniswapX during the transition to the opt-out model @@ -75,7 +74,6 @@ export const initialState: UserState = { pairs: {}, timestamp: currentTimestamp(), hideAndroidAnnouncementBanner: false, - hideBaseWalletBanner: false, showSurveyPopup: undefined, originCountry: undefined, } @@ -113,9 +111,6 @@ const userSlice = createSlice({ updateHideAndroidAnnouncementBanner(state, action) { state.hideAndroidAnnouncementBanner = action.payload.hideAndroidAnnouncementBanner }, - updateHideBaseWalletBanner(state, action) { - state.hideBaseWalletBanner = action.payload.hideBaseWalletBanner - }, updateDisabledUniswapX(state, action) { state.disabledUniswapX = action.payload.disabledUniswapX }, @@ -158,7 +153,6 @@ export const { updateUserLocale, updateUserSlippageTolerance, updateHideAndroidAnnouncementBanner, - updateHideBaseWalletBanner, updateDisabledUniswapX, updateOptedOutOfUniswapX, } = userSlice.actions From 890b4e704da46818fc51d3fdc3416aafd7be783b Mon Sep 17 00:00:00 2001 From: Kristie Huang Date: Wed, 8 Nov 2023 14:02:37 -0500 Subject: [PATCH 5/8] phil changes --- .../AndroidAnnouncementBanner/index.tsx | 20 +++++++++---------- .../AndroidAnnouncementBanner/styled.tsx | 8 ++++---- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/components/Banner/AndroidAnnouncementBanner/index.tsx b/src/components/Banner/AndroidAnnouncementBanner/index.tsx index 3b8ed15fcc7..2902aa6a444 100644 --- a/src/components/Banner/AndroidAnnouncementBanner/index.tsx +++ b/src/components/Banner/AndroidAnnouncementBanner/index.tsx @@ -1,6 +1,7 @@ import { Trans } from '@lingui/macro' import { InterfaceElementName } from '@uniswap/analytics-events' import { useAndroidGALaunchFlagEnabled } from 'featureFlags/flags/androidGALaunch' +import { useScreenSize } from 'hooks/useScreenSize' import { useLocation } from 'react-router-dom' import { useHideAndroidAnnouncementBanner } from 'state/user/hooks' import { ThemedText } from 'theme/components' @@ -25,11 +26,17 @@ export default function AndroidAnnouncementBanner() { const [hideAndroidAnnouncementBanner, toggleHideAndroidAnnouncementBanner] = useHideAndroidAnnouncementBanner() const location = useLocation() const isLandingScreen = location.search === '?intro=true' || location.pathname === '/' + const screenSize = useScreenSize() const shouldDisplay = Boolean(!hideAndroidAnnouncementBanner && !isLandingScreen) const isDarkMode = useIsDarkMode() const isAndroidGALaunched = useAndroidGALaunchFlagEnabled() + const onClick = () => + openDownloadApp({ + element: InterfaceElementName.UNISWAP_WALLET_BANNER_DOWNLOAD_BUTTON, + isAndroidGALaunched, + }) if (!isAndroidGALaunched || isMobileSafari) return null @@ -37,28 +44,21 @@ export default function AndroidAnnouncementBanner() { - + Uniswap on Android Available now - download from the Google Play Store today - - openDownloadApp({ - element: InterfaceElementName.UNISWAP_WALLET_BANNER_DOWNLOAD_BUTTON, - isAndroidGALaunched, - }) - } - > + Download now { // prevent click from bubbling to UI on the page underneath, i.e. clicking a token row e.preventDefault() diff --git a/src/components/Banner/AndroidAnnouncementBanner/styled.tsx b/src/components/Banner/AndroidAnnouncementBanner/styled.tsx index 776bf31badc..edbc8b32431 100644 --- a/src/components/Banner/AndroidAnnouncementBanner/styled.tsx +++ b/src/components/Banner/AndroidAnnouncementBanner/styled.tsx @@ -14,7 +14,7 @@ export const PopupContainer = styled.div<{ show: boolean }>` z-index: ${Z_INDEX.sticky}; border-radius: 20px; - bottom: 20px; + bottom: 40px; right: 20px; width: 360px; height: 92px; @@ -78,10 +78,10 @@ export const TextContainer = styled.div` } ` export const StyledQrCode = styled.img` - padding: 6px; + padding: 2px; border-radius: 8px; - width: 60px; - height: 60px; + width: 64px; + height: 64px; background-color: ${({ theme }) => theme.white}; margin-right: 16px; From fab1421bbe1106530d3458b67772241dd0c4eddd Mon Sep 17 00:00:00 2001 From: Kristie Huang Date: Wed, 8 Nov 2023 14:19:57 -0500 Subject: [PATCH 6/8] minor lint nit --- src/utils/openDownloadApp.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/openDownloadApp.ts b/src/utils/openDownloadApp.ts index 4da49ae7375..3b3e734d644 100644 --- a/src/utils/openDownloadApp.ts +++ b/src/utils/openDownloadApp.ts @@ -62,7 +62,7 @@ const openDownloadStore = (options: AnalyticsLinkOptions) => { window.open(APP_DOWNLOAD_LINKS[options.element], /* target = */ options.linkTarget) } -export const openWalletMicrosite = (options: AnalyticsLinkOptions) => { +const openWalletMicrosite = (options: AnalyticsLinkOptions) => { sendAnalyticsEvent(InterfaceEventName.UNISWAP_WALLET_MICROSITE_OPENED, { element: options.element }) window.open(APP_DOWNLOAD_LINKS[options.element], /* target = */ 'uniswap_wallet_microsite') } From e153c45de24815bf125e8fa4666e6d23f535572e Mon Sep 17 00:00:00 2001 From: Kristie Huang Date: Wed, 8 Nov 2023 15:53:40 -0500 Subject: [PATCH 7/8] pr review --- .../images/AndroidWallet-Thumbnail-Dark.png | Bin 26441 -> 11256 bytes .../images/AndroidWallet-Thumbnail-Light.png | Bin 21769 -> 10061 bytes .../images/androidAnnouncementBannerQR.png | Bin 61919 -> 1197 bytes .../AndroidAnnouncementBanner/styled.tsx | 6 +----- src/state/migrations/1.test.ts | 1 - src/utils/openDownloadApp.ts | 8 ++------ 6 files changed, 3 insertions(+), 12 deletions(-) diff --git a/src/assets/images/AndroidWallet-Thumbnail-Dark.png b/src/assets/images/AndroidWallet-Thumbnail-Dark.png index 4a09db432f05fd00832e85cf38d4797e5fc21c86..2fc3706a073ece532715db9832997114f0006869 100644 GIT binary patch literal 11256 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 ${({ show }) => !show && 'display: none'}; - background-color: ${({ theme }) => theme.surface2}; color: ${({ theme }) => theme.neutral1}; position: fixed; z-index: ${Z_INDEX.sticky}; - + user-select: none; border-radius: 20px; bottom: 40px; right: 20px; width: 360px; height: 92px; - border: 1.3px solid ${({ theme }) => theme.surface3}; @media only screen and (max-width: ${BREAKPOINTS.md}px) { @@ -30,8 +28,6 @@ export const PopupContainer = styled.div<{ show: boolean }>` right: 10px; left: 10px; } - - user-select: none; ` export const StyledXButton = styled(X)` cursor: pointer; diff --git a/src/state/migrations/1.test.ts b/src/state/migrations/1.test.ts index 1743e82e7cd..32ed481111a 100644 --- a/src/state/migrations/1.test.ts +++ b/src/state/migrations/1.test.ts @@ -43,7 +43,6 @@ describe('migration to v1', () => { expect(result?.user?.tokens).toEqual({}) expect(result?.user?.pairs).toEqual({}) expect(result?.user?.timestamp).toEqual(previousState.user?.timestamp) - expect(result?.user?.hideAndroidAnnouncementBanner).toEqual(false) }) it('should not migrate a non-default value', async () => { diff --git a/src/utils/openDownloadApp.ts b/src/utils/openDownloadApp.ts index 3b3e734d644..b1d35b0ad63 100644 --- a/src/utils/openDownloadApp.ts +++ b/src/utils/openDownloadApp.ts @@ -34,7 +34,8 @@ export function openDownloadApp({ element, isAndroidGALaunched }: OpenDownloadAp } else if (isAndroidGALaunched && isAndroid) { openDownloadStore({ element, appPlatform: AppDownloadPlatform.ANDROID, linkTarget: 'uniswap_wallet_playstore' }) } else { - openWalletMicrosite({ element }) + sendAnalyticsEvent(InterfaceEventName.UNISWAP_WALLET_MICROSITE_OPENED, { element }) + window.open(APP_DOWNLOAD_LINKS[element], /* target = */ 'uniswap_wallet_microsite') } } @@ -61,8 +62,3 @@ const openDownloadStore = (options: AnalyticsLinkOptions) => { }) window.open(APP_DOWNLOAD_LINKS[options.element], /* target = */ options.linkTarget) } - -const openWalletMicrosite = (options: AnalyticsLinkOptions) => { - sendAnalyticsEvent(InterfaceEventName.UNISWAP_WALLET_MICROSITE_OPENED, { element: options.element }) - window.open(APP_DOWNLOAD_LINKS[options.element], /* target = */ 'uniswap_wallet_microsite') -} From 2b9857b22e6ddf8ff8bf1722ae4c79d7306ae61c Mon Sep 17 00:00:00 2001 From: Kristie Huang Date: Wed, 8 Nov 2023 15:57:10 -0500 Subject: [PATCH 8/8] growth copy --- src/components/AccountDrawer/UniwalletModal.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/AccountDrawer/UniwalletModal.tsx b/src/components/AccountDrawer/UniwalletModal.tsx index f258a00f417..11b6e2632e1 100644 --- a/src/components/AccountDrawer/UniwalletModal.tsx +++ b/src/components/AccountDrawer/UniwalletModal.tsx @@ -111,11 +111,11 @@ function InfoSection() { - Don't have Uniswap Wallet? + Don't have a Uniswap wallet? {isAndroidGALaunched ? ( - Get the Uniswap app on iOS and Android to safely store and swap tokens. + Safely store and swap tokens with the Uniswap app. Available on iOS and Android. ) : ( Download in the App Store to safely store your tokens and NFTs, swap tokens, and connect to crypto apps.