From 54d5b9fc1d8b4ebe32118ac83ce274a06f91a509 Mon Sep 17 00:00:00 2001 From: John Huang Date: Tue, 20 Feb 2024 15:30:40 -0800 Subject: [PATCH] MOB-193 PR --- package.json | 2 +- pnpm-lock.yaml | 16 ++++++++-------- src/views/dialogs/MobileDownloadDialog.tsx | 16 +++++++++++----- src/views/menus/AccountMenu.tsx | 4 ++-- 4 files changed, 22 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index 3155d31..0b7c9ad 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "@cosmjs/tendermint-rpc": "^0.32.1", "@dydxprotocol/v4-abacus": "^1.4.6", "@dydxprotocol/v4-client-js": "^1.0.20", - "@dydxprotocol/v4-localization": "^1.1.31", + "@dydxprotocol/v4-localization": "^1.1.34", "@ethersproject/providers": "^5.7.2", "@js-joda/core": "^5.5.3", "@radix-ui/react-accordion": "^1.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 19b1af9..d529308 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,5 +1,9 @@ lockfileVersion: '6.0' +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + overrides: follow-redirects: 1.15.3 @@ -32,8 +36,8 @@ dependencies: specifier: ^1.0.20 version: 1.0.20 '@dydxprotocol/v4-localization': - specifier: ^1.1.31 - version: 1.1.31 + specifier: ^1.1.34 + version: 1.1.34 '@ethersproject/providers': specifier: ^5.7.2 version: 5.7.2 @@ -1319,8 +1323,8 @@ packages: - utf-8-validate dev: false - /@dydxprotocol/v4-localization@1.1.31: - resolution: {integrity: sha512-plJVIgFAKq9/hA/gk5GgKgCQFsH3pNtDWfG/yHLDXyiGX0M0mMEi1bTNVs4podFVoHJu1nSL9YPFlpJ00FteGw==} + /@dydxprotocol/v4-localization@1.1.34: + resolution: {integrity: sha512-I7zivjv8gS+6b9n7/wh7PY9QEUDIIyLx9ugZ5K6ybar0xT/06yupOVdVE6iLivQ/IAsVi/RFHkD8bQd0DWCetg==} dev: false /@dydxprotocol/v4-proto@4.0.0-dev.0: @@ -16049,7 +16053,3 @@ packages: /zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} dev: true - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false diff --git a/src/views/dialogs/MobileDownloadDialog.tsx b/src/views/dialogs/MobileDownloadDialog.tsx index 31aefc5..b0440d8 100644 --- a/src/views/dialogs/MobileDownloadDialog.tsx +++ b/src/views/dialogs/MobileDownloadDialog.tsx @@ -24,12 +24,18 @@ type ElementProps = { // for testing only // export const mobileAppUrl = "http://example.com"; -// for testing to verify is retrieved by name, QR code should show "@dYdX" as value -// export const mobileAppUrl = document.querySelector('meta[name="twitter:creator"]')?.getAttribute('content') +let mobileAppUrl: string | undefined | null = undefined; -export const mobileAppUrl = - document.querySelector('meta[name="smartbanner:button-url-apple"]')?.getAttribute('content') ?? - document.querySelector('meta[name="smartbanner:button-url-google"]')?.getAttribute('content'); +export const getMobileAppUrl = () => { + if (!mobileAppUrl) { + mobileAppUrl = + // for testing to verify is retrieved by name, QR code should show "@dYdX" as value + // document.querySelector('meta[name="twitter:creator"]')?.getAttribute('content') ?? + document.querySelector('meta[name="smartbanner:button-url-apple"]')?.getAttribute('content') ?? + document.querySelector('meta[name="smartbanner:button-url-google"]')?.getAttribute('content'); + } + return mobileAppUrl; +} const MobileQrCode = ({ url, diff --git a/src/views/menus/AccountMenu.tsx b/src/views/menus/AccountMenu.tsx index 8076d42..5dd5732 100644 --- a/src/views/menus/AccountMenu.tsx +++ b/src/views/menus/AccountMenu.tsx @@ -40,7 +40,7 @@ import { getAppTheme } from '@/state/configsSelectors'; import { isTruthy } from '@/lib/isTruthy'; import { truncateAddress } from '@/lib/wallet'; import { MustBigNumber } from '@/lib/numbers'; -import { mobileAppUrl } from '../dialogs/MobileDownloadDialog'; +import { getMobileAppUrl } from '../dialogs/MobileDownloadDialog'; export const AccountMenu = () => { const stringGetter = useStringGetter(); @@ -190,7 +190,7 @@ export const AccountMenu = () => { label: stringGetter({ key: STRING_KEYS.DISPLAY_SETTINGS }), onSelect: () => dispatch(openDialog({ type: DialogTypes.DisplaySettings })), }, - ...(mobileAppUrl + ...(getMobileAppUrl() ? [ { value: 'MobileDownload',