Compare commits

..
Author SHA1 Message Date
Aleka Cheung b0946688b1 add more controlled pagination to table 2024-02-05 18:48:09 -05:00
12 changed files with 23 additions and 123 deletions
-1
View File
@@ -8,7 +8,6 @@ VITE_V3_TOKEN_ADDRESS=
VITE_TOKEN_MIGRATION_URI= VITE_TOKEN_MIGRATION_URI=
AMPLITUDE_API_KEY= AMPLITUDE_API_KEY=
AMPLITUDE_SERVER_URL=
BUGSNAG_API_KEY= BUGSNAG_API_KEY=
IOS_APP_ID= IOS_APP_ID=
INTERCOM_APP_ID= INTERCOM_APP_ID=
-1
View File
@@ -78,7 +78,6 @@ Set environment variables via `.env`.
- `VITE_V3_TOKEN_ADDRESS` (optional): Address of the V3 $DYDX token. - `VITE_V3_TOKEN_ADDRESS` (optional): Address of the V3 $DYDX token.
- `VITE_TOKEN_MIGRATION_URI` (optional): The URL of the token migration website. - `VITE_TOKEN_MIGRATION_URI` (optional): The URL of the token migration website.
- `AMPLITUDE_API_KEY` (optional): Amplitude API key for enabling Amplitude; used with `pnpm run build:inject-amplitude`. - `AMPLITUDE_API_KEY` (optional): Amplitude API key for enabling Amplitude; used with `pnpm run build:inject-amplitude`.
- `AMPLITUDE_SERVER_URL` (optional): Custom Amplitude server URL
- `BUGSNAG_API_KEY` (optional): API key for enabling Bugsnag; used with `pnpm run build:inject-bugsnag`. - `BUGSNAG_API_KEY` (optional): API key for enabling Bugsnag; used with `pnpm run build:inject-bugsnag`.
- `IOS_APP_ID` (optional): iOS app ID used for enabling deep linking to the iOS app; used with `pnpm run build:inject-app-deeplinks`. - `IOS_APP_ID` (optional): iOS app ID used for enabling deep linking to the iOS app; used with `pnpm run build:inject-app-deeplinks`.
- `INTERCOM_APP_ID` (optional): Used for enabling Intercom; utilized with `pnpm run build:inject-intercom`. - `INTERCOM_APP_ID` (optional): Used for enabling Intercom; utilized with `pnpm run build:inject-intercom`.
+1 -1
View File
@@ -39,7 +39,7 @@
"@cosmjs/proto-signing": "^0.32.1", "@cosmjs/proto-signing": "^0.32.1",
"@cosmjs/stargate": "^0.32.1", "@cosmjs/stargate": "^0.32.1",
"@cosmjs/tendermint-rpc": "^0.32.1", "@cosmjs/tendermint-rpc": "^0.32.1",
"@dydxprotocol/v4-abacus": "^1.4.2", "@dydxprotocol/v4-abacus": "^1.4.0",
"@dydxprotocol/v4-client-js": "^1.0.20", "@dydxprotocol/v4-client-js": "^1.0.20",
"@dydxprotocol/v4-localization": "^1.1.22", "@dydxprotocol/v4-localization": "^1.1.22",
"@ethersproject/providers": "^5.7.2", "@ethersproject/providers": "^5.7.2",
+4 -4
View File
@@ -26,8 +26,8 @@ dependencies:
specifier: ^0.32.1 specifier: ^0.32.1
version: 0.32.2 version: 0.32.2
'@dydxprotocol/v4-abacus': '@dydxprotocol/v4-abacus':
specifier: ^1.4.2 specifier: ^1.4.0
version: 1.4.2 version: 1.4.0
'@dydxprotocol/v4-client-js': '@dydxprotocol/v4-client-js':
specifier: ^1.0.20 specifier: ^1.0.20
version: 1.0.20 version: 1.0.20
@@ -1088,8 +1088,8 @@ packages:
resolution: {integrity: sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA==} resolution: {integrity: sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA==}
dev: true dev: true
/@dydxprotocol/v4-abacus@1.4.2: /@dydxprotocol/v4-abacus@1.4.0:
resolution: {integrity: sha512-+hugk0RulMwMthR2xCMYXohcC3sEYqVW/lmiq0RUuHZ9yrjmgy48xl0aZUmXGUYXyoiHXPS4AULhRKHQ4OOLwg==} resolution: {integrity: sha512-mkdkXQXTVF1K6UmZwIwLC9gjsXg+Nt3h5/iW+WriVv1cUMPmHfPyRWL31eDDvkVO5UeECf05kiYXPk1y+7dPuA==}
dev: false dev: false
/@dydxprotocol/v4-client-js@1.0.20: /@dydxprotocol/v4-client-js@1.0.20:
-22
View File
@@ -1,22 +0,0 @@
[
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "exchange.dydx.trading.debug",
"sha256_cert_fingerprints": [
"8A:9C:CC:49:B0:35:9A:91:67:CB:98:B0:B5:87:92:5F:9E:B7:EF:CE:A0:47:57:85:A4:35:3E:0C:E1:56:9E:A2"
]
}
},
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "exchange.dydx.trading",
"sha256_cert_fingerprints": [
"B2:2D:CC:27:9D:52:05:98:63:C9:7B:34:36:70:A3:8E:00:31:28:08:2D:2E:70:76:C9:31:AE:F9:55:21:15:A5"
]
}
}
]
-45
View File
@@ -122,9 +122,6 @@
"delayBlocks": 900, "delayBlocks": 900,
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing" "newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
} }
},
"featureFlags": {
"reduceOnlySupported": true
} }
}, },
"dydxprotocol-dev-2": { "dydxprotocol-dev-2": {
@@ -204,9 +201,6 @@
"delayBlocks": 900, "delayBlocks": 900,
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing" "newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
} }
},
"featureFlags": {
"reduceOnlySupported": true
} }
}, },
"dydxprotocol-dev-4": { "dydxprotocol-dev-4": {
@@ -287,9 +281,6 @@
"delayBlocks": 900, "delayBlocks": 900,
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing" "newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
} }
},
"featureFlags": {
"reduceOnlySupported": true
} }
}, },
"dydxprotocol-dev-5": { "dydxprotocol-dev-5": {
@@ -369,9 +360,6 @@
"delayBlocks": 900, "delayBlocks": 900,
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing" "newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
} }
},
"featureFlags": {
"reduceOnlySupported": true
} }
}, },
"dydxprotocol-staging": { "dydxprotocol-staging": {
@@ -453,9 +441,6 @@
"delayBlocks": 900, "delayBlocks": 900,
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing" "newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
} }
},
"featureFlags": {
"reduceOnlySupported": true
} }
}, },
"dydxprotocol-staging-forced-update": { "dydxprotocol-staging-forced-update": {
@@ -536,9 +521,6 @@
"delayBlocks": 900, "delayBlocks": 900,
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing" "newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
} }
},
"featureFlags": {
"reduceOnlySupported": true
} }
}, },
"dydxprotocol-staging-west": { "dydxprotocol-staging-west": {
@@ -620,9 +602,6 @@
"delayBlocks": 900, "delayBlocks": 900,
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing" "newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
} }
},
"featureFlags": {
"reduceOnlySupported": true
} }
}, },
"dydxprotocol-testnet": { "dydxprotocol-testnet": {
@@ -708,9 +687,6 @@
"delayBlocks": 900, "delayBlocks": 900,
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing" "newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
} }
},
"featureFlags": {
"reduceOnlySupported": false
} }
}, },
"dydxprotocol-testnet-dydx": { "dydxprotocol-testnet-dydx": {
@@ -793,9 +769,6 @@
"delayBlocks": 900, "delayBlocks": 900,
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing" "newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
} }
},
"featureFlags": {
"reduceOnlySupported": false
} }
}, },
"dydxprotocol-testnet-nodefleet": { "dydxprotocol-testnet-nodefleet": {
@@ -878,9 +851,6 @@
"delayBlocks": 900, "delayBlocks": 900,
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing" "newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
} }
},
"featureFlags": {
"reduceOnlySupported": false
} }
}, },
"dydxprotocol-testnet-kingnodes": { "dydxprotocol-testnet-kingnodes": {
@@ -963,9 +933,6 @@
"delayBlocks": 900, "delayBlocks": 900,
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing" "newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
} }
},
"featureFlags": {
"reduceOnlySupported": false
} }
}, },
"dydxprotocol-testnet-liquify": { "dydxprotocol-testnet-liquify": {
@@ -1048,9 +1015,6 @@
"delayBlocks": 900, "delayBlocks": 900,
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing" "newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
} }
},
"featureFlags": {
"reduceOnlySupported": false
} }
}, },
"dydxprotocol-testnet-polkachu": { "dydxprotocol-testnet-polkachu": {
@@ -1125,9 +1089,6 @@
"delayBlocks": 900, "delayBlocks": 900,
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing" "newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
} }
},
"featureFlags": {
"reduceOnlySupported": false
} }
}, },
"dydxprotocol-testnet-bware": { "dydxprotocol-testnet-bware": {
@@ -1210,9 +1171,6 @@
"delayBlocks": 900, "delayBlocks": 900,
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing" "newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
} }
},
"featureFlags": {
"reduceOnlySupported": false
} }
}, },
"dydxprotocol-mainnet": { "dydxprotocol-mainnet": {
@@ -1295,9 +1253,6 @@
"delayBlocks": 0, "delayBlocks": 0,
"newMarketsMethodology": "[URL to spreadsheet or document that explains methodology]" "newMarketsMethodology": "[URL to spreadsheet or document that explains methodology]"
} }
},
"featureFlags": {
"reduceOnlySupported": false
} }
} }
} }
+3 -30
View File
@@ -3,13 +3,12 @@ import path from 'path';
import { fileURLToPath } from 'url'; import { fileURLToPath } from 'url';
const AMPLITUDE_API_KEY = process.env.AMPLITUDE_API_KEY; const AMPLITUDE_API_KEY = process.env.AMPLITUDE_API_KEY;
const AMPLITUDE_SERVER_URL = process.env.AMPLITUDE_SERVER_URL;
const currentPath = fileURLToPath(import.meta.url); const currentPath = fileURLToPath(import.meta.url);
const projectRoot = path.dirname(currentPath); const projectRoot = path.dirname(currentPath);
const htmlFilePath = path.resolve(projectRoot, '../dist/index.html'); const htmlFilePath = path.resolve(projectRoot, '../dist/index.html');
if (AMPLITUDE_API_KEY) { if(AMPLITUDE_API_KEY){
try { try {
const html = await fs.readFile(htmlFilePath, 'utf-8'); const html = await fs.readFile(htmlFilePath, 'utf-8');
@@ -19,34 +18,8 @@ if (AMPLITUDE_API_KEY) {
`; `;
const amplitudeListenerScript = `<script type="module"> const amplitudeListenerScript = `<script type="module">
!(function () { !function(){var e="${AMPLITUDE_API_KEY}";e&&(globalThis.amplitude.init(e),globalThis.amplitude.setOptOut(!1),globalThis.addEventListener("dydx:track",function(e){var t=e.detail.eventType,d=e.detail.eventData;globalThis.amplitude.track(t,d)}),globalThis.addEventListener("dydx:identify",function(e){var t=e.detail.property,d=e.detail.propertyValue;if("walletAddress"===t)globalThis.amplitude.setUserId(d);else{var i=new globalThis.amplitude.Identify;i.set(t,d),globalThis.amplitude.identify(i)}}),console.log("Amplitude enabled."))}();
var e = "${AMPLITUDE_API_KEY}"; </script>`;
e &&
(globalThis.amplitude.init(e${
AMPLITUDE_SERVER_URL
? `, undefined, {
serverUrl: "${AMPLITUDE_SERVER_URL}"
}`
: ''
}),
globalThis.amplitude.setOptOut(!1),
globalThis.addEventListener("dydx:track", function (e) {
var t = e.detail.eventType,
d = e.detail.eventData;
globalThis.amplitude.track(t, d);
}),
globalThis.addEventListener("dydx:identify", function (e) {
var t = e.detail.property,
d = e.detail.propertyValue;
if ("walletAddress" === t) globalThis.amplitude.setUserId(d);
else {
var i = new globalThis.amplitude.Identify();
i.set(t, d), globalThis.amplitude.identify(i);
}
}),
console.log("Amplitude enabled."));
})();
</script>`;
const injectedHtml = html.replace( const injectedHtml = html.replace(
'<div id="root"></div>', '<div id="root"></div>',
-2
View File
@@ -173,5 +173,3 @@ export type AnalyticsEventData<T extends AnalyticsEvent> =
validatorUrl: string; validatorUrl: string;
} }
: never; : never;
export const DEFAULT_TRANSACTION_MEMO = 'dYdX Frontend (web)';
+1 -3
View File
@@ -16,7 +16,6 @@ import {
import type { ResolutionString } from 'public/tradingview/charting_library'; import type { ResolutionString } from 'public/tradingview/charting_library';
import type { ConnectNetworkEvent, NetworkConfig } from '@/constants/abacus'; import type { ConnectNetworkEvent, NetworkConfig } from '@/constants/abacus';
import { DEFAULT_TRANSACTION_MEMO } from '@/constants/analytics';
import { type Candle, RESOLUTION_MAP } from '@/constants/candles'; import { type Candle, RESOLUTION_MAP } from '@/constants/candles';
import { ENVIRONMENT_CONFIG_MAP } from '@/constants/networks'; import { ENVIRONMENT_CONFIG_MAP } from '@/constants/networks';
import { DydxChainAsset } from '@/constants/wallets'; import { DydxChainAsset } from '@/constants/wallets';
@@ -84,8 +83,7 @@ const useDydxClientContext = () => {
{ {
broadcastPollIntervalMs: 3_000, broadcastPollIntervalMs: 3_000,
broadcastTimeoutMs: 60_000, broadcastTimeoutMs: 60_000,
}, }
DEFAULT_TRANSACTION_MEMO
) )
) )
); );
+6 -12
View File
@@ -31,7 +31,6 @@ import {
type HumanReadableTransferPayload, type HumanReadableTransferPayload,
} from '@/constants/abacus'; } from '@/constants/abacus';
import { DEFAULT_TRANSACTION_MEMO } from '@/constants/analytics';
import { DialogTypes } from '@/constants/dialogs'; import { DialogTypes } from '@/constants/dialogs';
import { UNCOMMITTED_ORDER_TIMEOUT_MS } from '@/constants/trade'; import { UNCOMMITTED_ORDER_TIMEOUT_MS } from '@/constants/trade';
import { ENVIRONMENT_CONFIG_MAP, DydxNetwork, isTestnet } from '@/constants/networks'; import { ENVIRONMENT_CONFIG_MAP, DydxNetwork, isTestnet } from '@/constants/networks';
@@ -116,8 +115,7 @@ class DydxChainTransactions implements AbacusDYDXChainTransactionsProtocol {
{ {
broadcastPollIntervalMs: 3_000, broadcastPollIntervalMs: 3_000,
broadcastTimeoutMs: 60_000, broadcastTimeoutMs: 60_000,
}, }
DEFAULT_TRANSACTION_MEMO
) )
) )
); );
@@ -372,8 +370,8 @@ class DydxChainTransactions implements AbacusDYDXChainTransactionsProtocol {
value: { value: {
...params.msg, ...params.msg,
timeoutTimestamp: params.msg.timeoutTimestamp timeoutTimestamp: params.msg.timeoutTimestamp
? // Squid returns timeoutTimestamp as Long, but the signer expects BigInt // Squid returns timeoutTimestamp as Long, but the signer expects BigInt
BigInt(Long.fromValue(params.msg.timeoutTimestamp).toString()) ? BigInt(Long.fromValue(params.msg.timeoutTimestamp).toString())
: undefined, : undefined,
}, },
}; };
@@ -389,11 +387,7 @@ class DydxChainTransactions implements AbacusDYDXChainTransactionsProtocol {
} }
ibcMsg.value.token.amount = amount.toString(); ibcMsg.value.token.amount = amount.toString();
const tx = await this.nobleClient.send( const tx = await this.nobleClient.send([ibcMsg]);
[ibcMsg],
undefined,
`${DEFAULT_TRANSACTION_MEMO} | ${this.nobleWallet?.address}`
);
const parsedTx = this.parseToPrimitives(tx); const parsedTx = this.parseToPrimitives(tx);
@@ -432,8 +426,8 @@ class DydxChainTransactions implements AbacusDYDXChainTransactionsProtocol {
value: { value: {
...parsedIbcPayload.msg, ...parsedIbcPayload.msg,
timeoutTimestamp: parsedIbcPayload.msg.timeoutTimestamp timeoutTimestamp: parsedIbcPayload.msg.timeoutTimestamp
? // Squid returns timeoutTimestamp as Long, but the signer expects BigInt // Squid returns timeoutTimestamp as Long, but the signer expects BigInt
BigInt(Long.fromValue(parsedIbcPayload.msg.timeoutTimestamp).toString()) ? BigInt(Long.fromValue(parsedIbcPayload.msg.timeoutTimestamp).toString())
: undefined, : undefined,
}, },
}; };
+4
View File
@@ -19,6 +19,10 @@ class TestFlags {
return !!this.queryParams.displayinitializingmarkets; return !!this.queryParams.displayinitializingmarkets;
} }
get showMobileSignInOption() {
return !!this.queryParams.mobilesignin;
}
get addressOverride():string { get addressOverride():string {
return this.queryParams.address; return this.queryParams.address;
} }
+4 -2
View File
@@ -7,6 +7,7 @@ import { OnboardingState } from '@/constants/account';
import { ButtonAction, ButtonShape, ButtonSize, ButtonType } from '@/constants/buttons'; import { ButtonAction, ButtonShape, ButtonSize, ButtonType } from '@/constants/buttons';
import { DialogTypes } from '@/constants/dialogs'; import { DialogTypes } from '@/constants/dialogs';
import { STRING_KEYS, StringGetterFunction, TOOLTIP_STRING_KEYS } from '@/constants/localization'; import { STRING_KEYS, StringGetterFunction, TOOLTIP_STRING_KEYS } from '@/constants/localization';
import { isMainnet } from '@/constants/networks';
import { DydxChainAsset, wallets } from '@/constants/wallets'; import { DydxChainAsset, wallets } from '@/constants/wallets';
import { layoutMixins } from '@/styles/layoutMixins'; import { layoutMixins } from '@/styles/layoutMixins';
@@ -40,6 +41,7 @@ import { getAppTheme } from '@/state/configsSelectors';
import { isTruthy } from '@/lib/isTruthy'; import { isTruthy } from '@/lib/isTruthy';
import { truncateAddress } from '@/lib/wallet'; import { truncateAddress } from '@/lib/wallet';
import { MustBigNumber } from '@/lib/numbers'; import { MustBigNumber } from '@/lib/numbers';
import { testFlags } from '@/lib/testFlags';
export const AccountMenu = () => { export const AccountMenu = () => {
const stringGetter = useStringGetter(); const stringGetter = useStringGetter();
@@ -191,7 +193,7 @@ export const AccountMenu = () => {
}, },
...(onboardingState === OnboardingState.AccountConnected && hdKey ...(onboardingState === OnboardingState.AccountConnected && hdKey
? [ ? [
{ (!isMainnet || testFlags.showMobileSignInOption) && {
value: 'MobileQrSignIn', value: 'MobileQrSignIn',
icon: <Icon iconName={IconName.Qr} />, icon: <Icon iconName={IconName.Qr} />,
label: stringGetter({ key: STRING_KEYS.TITLE_SIGN_INTO_MOBILE }), label: stringGetter({ key: STRING_KEYS.TITLE_SIGN_INTO_MOBILE }),
@@ -204,7 +206,7 @@ export const AccountMenu = () => {
highlightColor: 'destroy', highlightColor: 'destroy',
onSelect: () => dispatch(openDialog({ type: DialogTypes.MnemonicExport })), onSelect: () => dispatch(openDialog({ type: DialogTypes.MnemonicExport })),
}, },
] ].filter(isTruthy)
: []), : []),
{ {
value: 'Disconnect', value: 'Disconnect',