@dynamic-labs/sdk-react-core 3.0.0-alpha.37 → 3.0.0-alpha.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +11 -11
  5. package/src/lib/components/EmailForm/EmailForm.cjs +1 -1
  6. package/src/lib/components/EmailForm/EmailForm.js +1 -1
  7. package/src/lib/components/QrCodeWrapper/QrCodeContainer/QrCodeContainer.cjs +1 -1
  8. package/src/lib/components/QrCodeWrapper/QrCodeContainer/QrCodeContainer.js +1 -1
  9. package/src/lib/components/UserProfile/UserProfile.cjs +3 -2
  10. package/src/lib/components/UserProfile/UserProfile.js +3 -2
  11. package/src/lib/components/UserProfile/parts/EditProfileButton/EditProfileButton.cjs +112 -0
  12. package/src/lib/components/UserProfile/parts/EditProfileButton/EditProfileButton.d.ts +2 -0
  13. package/src/lib/components/UserProfile/parts/EditProfileButton/EditProfileButton.js +108 -0
  14. package/src/lib/components/UserProfile/parts/EditProfileButton/index.d.ts +1 -0
  15. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.cjs +1 -1
  16. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.d.ts +2 -1
  17. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.js +2 -2
  18. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.cjs +1 -1
  19. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.js +1 -1
  20. package/src/lib/components/index.d.ts +1 -1
  21. package/src/lib/context/CaptchaContext/CaptchaContext.cjs +22 -12
  22. package/src/lib/context/CaptchaContext/CaptchaContext.d.ts +1 -4
  23. package/src/lib/context/CaptchaContext/CaptchaContext.js +23 -12
  24. package/src/lib/data/api/mfa/mfa.cjs +2 -1
  25. package/src/lib/data/api/mfa/mfa.d.ts +2 -1
  26. package/src/lib/data/api/mfa/mfa.js +2 -1
  27. package/src/lib/layout/DynamicUserProfileLayout/DynamicUserProfileLayout.cjs +41 -3
  28. package/src/lib/layout/DynamicUserProfileLayout/DynamicUserProfileLayout.js +42 -4
  29. package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.cjs +1 -1
  30. package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.js +1 -1
  31. package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.cjs +1 -1
  32. package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.js +1 -1
  33. package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.cjs +1 -1
  34. package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.js +1 -1
  35. package/src/lib/locale/en/translation.cjs +39 -7
  36. package/src/lib/locale/en/translation.d.ts +37 -5
  37. package/src/lib/locale/en/translation.js +39 -7
  38. package/src/lib/shared/assets/authenticator.cjs +54 -0
  39. package/src/lib/shared/assets/authenticator.js +30 -0
  40. package/src/lib/shared/assets/currency.cjs +70 -0
  41. package/src/lib/shared/assets/currency.js +46 -0
  42. package/src/lib/shared/assets/index.d.ts +9 -0
  43. package/src/lib/shared/assets/profile-outline.cjs +54 -0
  44. package/src/lib/shared/assets/profile-outline.js +30 -0
  45. package/src/lib/shared/assets/profile.cjs +65 -0
  46. package/src/lib/shared/assets/profile.js +41 -0
  47. package/src/lib/shared/assets/settings-outline.cjs +54 -0
  48. package/src/lib/shared/assets/settings-outline.js +30 -0
  49. package/src/lib/shared/assets/settings.cjs +54 -0
  50. package/src/lib/shared/assets/settings.js +30 -0
  51. package/src/lib/shared/assets/shield.cjs +59 -0
  52. package/src/lib/shared/assets/shield.js +35 -0
  53. package/src/lib/shared/assets/wallet-outline-v2.cjs +54 -0
  54. package/src/lib/shared/assets/wallet-outline-v2.js +30 -0
  55. package/src/lib/shared/assets/wallet.cjs +52 -0
  56. package/src/lib/shared/assets/wallet.js +28 -0
  57. package/src/lib/styles/index.shadow.cjs +1 -1
  58. package/src/lib/styles/index.shadow.js +1 -1
  59. package/src/lib/utils/constants/localStorage.cjs +2 -0
  60. package/src/lib/utils/constants/localStorage.d.ts +1 -0
  61. package/src/lib/utils/constants/localStorage.js +2 -1
  62. package/src/lib/utils/hooks/useMfa/useMfa.cjs +2 -1
  63. package/src/lib/utils/hooks/useMfa/useMfa.d.ts +1 -1
  64. package/src/lib/utils/hooks/useMfa/useMfa.js +2 -1
  65. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.cjs +1 -1
  66. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.js +1 -1
  67. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +2 -1
  68. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +2 -1
  69. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.cjs +2 -1
  70. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.js +2 -1
  71. package/src/lib/views/CoinbaseMPCClaimIntro/CoinbaseMPCClaimIntro.cjs +1 -1
  72. package/src/lib/views/CoinbaseMPCClaimIntro/CoinbaseMPCClaimIntro.js +1 -1
  73. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.cjs +1 -1
  74. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.js +1 -1
  75. package/src/lib/views/CreatePasswordView/CreatePasswordStep/CreatePasswordStep.cjs +1 -1
  76. package/src/lib/views/CreatePasswordView/CreatePasswordStep/CreatePasswordStep.js +1 -1
  77. package/src/lib/views/CreatePasswordView/SavePasswordStep/SavePasswordStep.cjs +1 -1
  78. package/src/lib/views/CreatePasswordView/SavePasswordStep/SavePasswordStep.js +1 -1
  79. package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.cjs +1 -1
  80. package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.js +1 -1
  81. package/src/lib/views/EnterPasswordView/EnterPasswordView.cjs +1 -1
  82. package/src/lib/views/EnterPasswordView/EnterPasswordView.js +1 -1
  83. package/src/lib/views/FarcasterQrCodeView/FarcasterQrCodeView.cjs +1 -4
  84. package/src/lib/views/FarcasterQrCodeView/FarcasterQrCodeView.js +1 -4
  85. package/src/lib/views/LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.cjs +1 -1
  86. package/src/lib/views/LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.js +1 -1
  87. package/src/lib/views/LoginView/sections/SocialSignInSection/DynamicSocialSignIn/DynamicSocialSignIn.cjs +3 -1
  88. package/src/lib/views/LoginView/sections/SocialSignInSection/DynamicSocialSignIn/DynamicSocialSignIn.js +3 -1
  89. package/src/lib/views/LoginView/sections/SocialSignInSection/MagicSocialSignIn/MagicSocialSignIn.cjs +1 -2
  90. package/src/lib/views/LoginView/sections/SocialSignInSection/MagicSocialSignIn/MagicSocialSignIn.js +1 -2
  91. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.cjs +1 -1
  92. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.js +1 -1
  93. package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.cjs +1 -1
  94. package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.js +1 -1
  95. package/src/lib/views/MfaChooseDeviceView/MfaChooseDeviceView.cjs +1 -1
  96. package/src/lib/views/MfaChooseDeviceView/MfaChooseDeviceView.js +1 -1
  97. package/src/lib/views/MfaDisplayBackupCodesView/MfaDisplayBackupCodesView.cjs +1 -1
  98. package/src/lib/views/MfaDisplayBackupCodesView/MfaDisplayBackupCodesView.js +1 -1
  99. package/src/lib/views/MfaRecoveryView/MfaRecoveryView.cjs +1 -1
  100. package/src/lib/views/MfaRecoveryView/MfaRecoveryView.js +1 -1
  101. package/src/lib/views/MfaSecureDeviceView/MfaSecureDeviceView.cjs +2 -2
  102. package/src/lib/views/MfaSecureDeviceView/MfaSecureDeviceView.js +2 -2
  103. package/src/lib/views/MfaVerificationView/MfaVerificationView.cjs +15 -15
  104. package/src/lib/views/MfaVerificationView/MfaVerificationView.d.ts +2 -1
  105. package/src/lib/views/MfaVerificationView/MfaVerificationView.js +15 -15
  106. package/src/lib/views/NoAccess/NoAccess.cjs +1 -1
  107. package/src/lib/views/NoAccess/NoAccess.js +1 -1
  108. package/src/lib/views/Passkey/EmbeddedAuthChoice/EmbeddedAuthChoice.cjs +1 -1
  109. package/src/lib/views/Passkey/EmbeddedAuthChoice/EmbeddedAuthChoice.js +1 -1
  110. package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/ActionCard/ActionCard.cjs +1 -1
  111. package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/ActionCard/ActionCard.js +1 -1
  112. package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.cjs +1 -1
  113. package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.js +1 -1
  114. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.cjs +1 -1
  115. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.js +1 -1
  116. package/src/lib/views/PendingSignatureView/PendingSignatureView.cjs +1 -1
  117. package/src/lib/views/PendingSignatureView/PendingSignatureView.js +1 -1
  118. package/src/lib/views/SelectHardwareWalletView/SelectHardwareWalletView.cjs +1 -1
  119. package/src/lib/views/SelectHardwareWalletView/SelectHardwareWalletView.js +1 -1
  120. package/src/lib/views/SocialWrongAccountView/SocialWrongAccountView.cjs +1 -1
  121. package/src/lib/views/SocialWrongAccountView/SocialWrongAccountView.js +1 -1
  122. package/src/lib/views/WalletCannotBeTransferredView/WalletCannotBeTransferredView.cjs +1 -1
  123. package/src/lib/views/WalletCannotBeTransferredView/WalletCannotBeTransferredView.js +1 -1
  124. package/src/lib/views/WalletLockedView/WalletLockedView.cjs +1 -1
  125. package/src/lib/views/WalletLockedView/WalletLockedView.js +1 -1
  126. package/src/lib/views/WalletUsedView/WalletUsedView.cjs +1 -1
  127. package/src/lib/views/WalletUsedView/WalletUsedView.js +1 -1
  128. package/src/lib/views/viewToComponentMap.d.ts +1 -1
  129. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.cjs +1 -1
  130. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.js +1 -1
  131. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +1 -1
  132. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +1 -1
  133. package/src/lib/widgets/DynamicWidget/components/BottomNavBar/BottomNavBar.cjs +16 -0
  134. package/src/lib/widgets/DynamicWidget/components/BottomNavBar/BottomNavBar.d.ts +13 -0
  135. package/src/lib/widgets/DynamicWidget/components/BottomNavBar/BottomNavBar.js +12 -0
  136. package/src/lib/widgets/DynamicWidget/components/BottomNavBar/index.d.ts +1 -0
  137. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs +23 -45
  138. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js +24 -46
  139. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.cjs +1 -1
  140. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.js +1 -1
  141. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/DynamicWidgetViews.cjs +4 -2
  142. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/DynamicWidgetViews.js +4 -2
  143. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.cjs +14 -3
  144. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.js +14 -3
  145. package/src/lib/widgets/DynamicWidget/components/SingleWalletButtons/SingleWalletButtons.cjs +1 -1
  146. package/src/lib/widgets/DynamicWidget/components/SingleWalletButtons/SingleWalletButtons.js +1 -1
  147. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.cjs +15 -0
  148. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.js +15 -0
  149. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.types.cjs +2 -2
  150. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.types.d.ts +6 -3
  151. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.types.js +2 -2
  152. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.cjs +1 -1
  153. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.js +1 -1
  154. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.cjs +1 -1
  155. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.js +1 -1
  156. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.cjs +1 -1
  157. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.js +1 -1
  158. package/src/lib/widgets/DynamicWidget/views/ManageMfaWidgetView/ManageMfaWidgetView.cjs +128 -0
  159. package/src/lib/widgets/DynamicWidget/views/ManageMfaWidgetView/ManageMfaWidgetView.d.ts +4 -0
  160. package/src/lib/widgets/DynamicWidget/views/ManageMfaWidgetView/ManageMfaWidgetView.js +123 -0
  161. package/src/lib/widgets/DynamicWidget/views/ManageMfaWidgetView/components/UserDeviceTile.cjs +109 -0
  162. package/src/lib/widgets/DynamicWidget/views/ManageMfaWidgetView/components/UserDeviceTile.d.ts +8 -0
  163. package/src/lib/widgets/DynamicWidget/views/ManageMfaWidgetView/components/UserDeviceTile.js +105 -0
  164. package/src/lib/widgets/DynamicWidget/views/ManageMfaWidgetView/components/index.d.ts +1 -0
  165. package/src/lib/widgets/DynamicWidget/views/ManageMfaWidgetView/index.d.ts +1 -0
  166. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/ManagePasskeysWidgetView.cjs +2 -2
  167. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/ManagePasskeysWidgetView.js +2 -2
  168. package/src/lib/widgets/DynamicWidget/views/ProfileView/ProfileView.cjs +1 -105
  169. package/src/lib/widgets/DynamicWidget/views/ProfileView/ProfileView.js +2 -106
  170. package/src/lib/widgets/DynamicWidget/views/{WalletSettingsView/WalletSettingsView.cjs → SettingsView/SettingsView.cjs} +35 -25
  171. package/src/lib/widgets/DynamicWidget/views/SettingsView/SettingsView.d.ts +2 -0
  172. package/src/lib/widgets/DynamicWidget/views/{WalletSettingsView/WalletSettingsView.js → SettingsView/SettingsView.js} +36 -26
  173. package/src/lib/widgets/DynamicWidget/views/SettingsView/index.d.ts +1 -0
  174. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.cjs +2 -15
  175. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.js +2 -15
  176. package/src/lib/widgets/DynamicWidget/views/index.d.ts +1 -1
  177. package/src/lib/widgets/DynamicWidget/views/WalletSettingsView/WalletSettingsView.d.ts +0 -2
  178. package/src/lib/widgets/DynamicWidget/views/WalletSettingsView/index.d.ts +0 -1
@@ -2,37 +2,48 @@
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { createContext, useState, useCallback, useMemo, useContext } from 'react';
4
4
  import { useViewContext } from '../ViewContext/ViewContext.js';
5
+ import '@dynamic-labs/sdk-api-core';
6
+ import '../../shared/logger.js';
7
+ import '@dynamic-labs/iconic';
8
+ import '@dynamic-labs/wallet-connector-core';
9
+ import '@dynamic-labs/wallet-book';
10
+ import { CAPTCHA_TOKEN } from '../../utils/constants/localStorage.js';
11
+ import '../../utils/constants/colors.js';
12
+ import '../../utils/constants/values.js';
13
+ import '../../shared/utils/classes/storage/localStorage.js';
14
+ import '../../shared/utils/classes/storage/sessionStorage.js';
15
+ import { useLocalStorage } from '../../shared/utils/hooks/useLocalStorage/useLocalStorage.js';
16
+ import '@dynamic-labs/utils';
17
+ import '../../shared/consts/index.js';
5
18
 
6
- const CaptchaTokenLocalStorageKey = 'dynamic-captcha-token';
7
19
  const CaptchaContext = createContext(undefined);
8
20
  const CaptchaContextProvider = ({ children, }) => {
9
21
  const { setView } = useViewContext();
10
- const [captchaToken, setCaptchaToken] = useState(undefined);
22
+ const [captchaToken, setCaptchaToken, removeCaptchaToken] = useLocalStorage(CAPTCHA_TOKEN, undefined);
11
23
  const [captchaAuthState, setCaptchaAuthState] = useState();
12
- const setCaptchaTokenInLS = useCallback((token) => localStorage.setItem(CaptchaTokenLocalStorageKey, token), []);
13
24
  const engageCaptcha = useCallback(({ authMethod, onCaptchaSuccess, }) => {
14
25
  setCaptchaAuthState({ authMethod, onCaptchaSuccess });
15
26
  setView('captcha');
16
27
  }, [setView, setCaptchaAuthState]);
17
28
  const getCaptchaToken = useCallback(() => {
18
- var _a;
19
- return (_a = captchaToken !== null && captchaToken !== void 0 ? captchaToken : localStorage.getItem(CaptchaTokenLocalStorageKey)) !== null && _a !== void 0 ? _a : undefined;
20
- }, [captchaToken]);
29
+ const token = captchaToken;
30
+ removeCaptchaToken();
31
+ return token;
32
+ }, [captchaToken, removeCaptchaToken]);
21
33
  const value = useMemo(() => ({
22
34
  captchaAuthState,
23
- captchaToken,
24
35
  engageCaptcha,
25
36
  getCaptchaToken,
37
+ removeCaptchaToken,
26
38
  setCaptchaAuthState,
27
39
  setCaptchaToken,
28
- setCaptchaTokenInLS,
29
40
  }), [
30
41
  captchaAuthState,
31
- captchaToken,
42
+ getCaptchaToken,
32
43
  engageCaptcha,
33
44
  setCaptchaAuthState,
34
- setCaptchaTokenInLS,
35
- getCaptchaToken,
45
+ setCaptchaToken,
46
+ removeCaptchaToken,
36
47
  ]);
37
48
  return (jsx(CaptchaContext.Provider, { value: value, children: children }));
38
49
  };
@@ -44,4 +55,4 @@ const useCaptchaContext = () => {
44
55
  return context;
45
56
  };
46
57
 
47
- export { CaptchaContext, CaptchaContextProvider, CaptchaTokenLocalStorageKey, useCaptchaContext };
58
+ export { CaptchaContext, CaptchaContextProvider, useCaptchaContext };
@@ -98,12 +98,13 @@ const verifyMfaDevice = (_e) => _tslib.__awaiter(void 0, [_e], void 0, function*
98
98
  });
99
99
  // used when verifying a device when user is logging in
100
100
  // jwt update needed
101
- const authMfaDevice = (_f) => _tslib.__awaiter(void 0, [_f], void 0, function* ({ environmentId, type, code, createMfaToken, }) {
101
+ const authMfaDevice = (_f) => _tslib.__awaiter(void 0, [_f], void 0, function* ({ deviceId, environmentId, type, code, createMfaToken, }) {
102
102
  try {
103
103
  if (type === sdkApiCore.MFADeviceType.Totp) {
104
104
  const request = {
105
105
  code,
106
106
  createMfaToken,
107
+ id: deviceId || undefined,
107
108
  };
108
109
  const response = yield api.sdkApi().authMfaTotpDevice({
109
110
  environmentId,
@@ -19,7 +19,8 @@ export declare const verifyMfaDevice: ({ environmentId, type, code, }: {
19
19
  type: MFADeviceType;
20
20
  code: string;
21
21
  }) => Promise<MFADevice | undefined>;
22
- export declare const authMfaDevice: ({ environmentId, type, code, createMfaToken, }: {
22
+ export declare const authMfaDevice: ({ deviceId, environmentId, type, code, createMfaToken, }: {
23
+ deviceId?: string;
23
24
  environmentId: string;
24
25
  type: MFADeviceType;
25
26
  code: string;
@@ -94,12 +94,13 @@ const verifyMfaDevice = (_e) => __awaiter(void 0, [_e], void 0, function* ({ env
94
94
  });
95
95
  // used when verifying a device when user is logging in
96
96
  // jwt update needed
97
- const authMfaDevice = (_f) => __awaiter(void 0, [_f], void 0, function* ({ environmentId, type, code, createMfaToken, }) {
97
+ const authMfaDevice = (_f) => __awaiter(void 0, [_f], void 0, function* ({ deviceId, environmentId, type, code, createMfaToken, }) {
98
98
  try {
99
99
  if (type === MFADeviceType.Totp) {
100
100
  const request = {
101
101
  code,
102
102
  createMfaToken,
103
+ id: deviceId || undefined,
103
104
  };
104
105
  const response = yield sdkApi().authMfaTotpDevice({
105
106
  environmentId,
@@ -11,6 +11,12 @@ require('../../shared/logger.cjs');
11
11
  require('@dynamic-labs/iconic');
12
12
  require('@dynamic-labs/wallet-connector-core');
13
13
  require('../../context/ViewContext/ViewContext.cjs');
14
+ var profileOutline = require('../../shared/assets/profile-outline.cjs');
15
+ var profile = require('../../shared/assets/profile.cjs');
16
+ var wallet = require('../../shared/assets/wallet.cjs');
17
+ var walletOutlineV2 = require('../../shared/assets/wallet-outline-v2.cjs');
18
+ var settingsOutline = require('../../shared/assets/settings-outline.cjs');
19
+ var settings = require('../../shared/assets/settings.cjs');
14
20
  require('@dynamic-labs/wallet-book');
15
21
  require('../../utils/constants/colors.cjs');
16
22
  require('../../utils/constants/values.cjs');
@@ -22,6 +28,7 @@ var classNames = require('../../utils/functions/classNames/classNames.cjs');
22
28
  require('../../events/dynamicEvents.cjs');
23
29
  require('../../../../_virtual/_tslib.cjs');
24
30
  require('../../context/DynamicContext/DynamicContext.cjs');
31
+ var useInternalDynamicContext = require('../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
25
32
  require('../../context/CaptchaContext/CaptchaContext.cjs');
26
33
  require('../../context/ErrorContext/ErrorContext.cjs');
27
34
  require('@dynamic-labs/multi-wallet');
@@ -37,6 +44,7 @@ require('../../context/WalletContext/WalletContext.cjs');
37
44
  require('../../utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.cjs');
38
45
  require('../../context/ThemeContext/ThemeContext.cjs');
39
46
  require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/userFieldsSchema.cjs');
47
+ var useKYCFlag = require('../../utils/hooks/useKYCFlag/useKYCFlag.cjs');
40
48
  require('@dynamic-labs/types');
41
49
  require('../../context/LoadingContext/LoadingContext.cjs');
42
50
  require('yup');
@@ -76,6 +84,7 @@ var DynamicWidgetPrompts = require('../../widgets/DynamicWidget/components/Dynam
76
84
  var DynamicWidgetViews = require('../../widgets/DynamicWidget/components/DynamicWidgetViews/DynamicWidgetViews.cjs');
77
85
  var DynamicWidgetContext = require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
78
86
  var DynamicWidgetContext_types = require('../../widgets/DynamicWidget/context/DynamicWidgetContext.types.cjs');
87
+ var BottomNavBar = require('../../widgets/DynamicWidget/components/BottomNavBar/BottomNavBar.cjs');
79
88
  require('../../views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
80
89
  require('../../../polyfills.cjs');
81
90
  require('../../context/ErrorBoundary/ErrorBoundaryBase.cjs');
@@ -93,13 +102,42 @@ var OverlayCardTarget = require('../../components/OverlayCard/OverlayCardTarget/
93
102
  const shouldNotRenderHeaderViews = [
94
103
  ...DynamicWidgetContext_types.DynamicPasskeyWidgetViews,
95
104
  ...DynamicWidgetContext_types.DynamicTransactionsWidgetViews,
96
- ...DynamicWidgetContext_types.DynamicWalletSettingsViews,
105
+ ...DynamicWidgetContext_types.DynamicSettingsViews,
97
106
  ];
98
107
  const DynamicUserProfileLayout = ({ variant, className, style, }) => {
99
- const { dynamicWidgetView } = DynamicWidgetContext.useWidgetContext();
108
+ const { multiWallet } = useInternalDynamicContext.useInternalDynamicContext();
109
+ const isKYCEnabled = useKYCFlag.useKYCFlag();
110
+ const { dynamicWidgetView, setDynamicWidgetView, overridenWidgetView } = DynamicWidgetContext.useWidgetContext();
111
+ const getNavBarOptions = () => {
112
+ const options = [];
113
+ if (multiWallet) {
114
+ options.push({
115
+ icon: jsxRuntime.jsx(walletOutlineV2.ReactComponent, {}),
116
+ label: 'Wallets',
117
+ selectedIcon: jsxRuntime.jsx(wallet.ReactComponent, {}),
118
+ value: 'wallets',
119
+ });
120
+ }
121
+ if (isKYCEnabled) {
122
+ options.push({
123
+ icon: jsxRuntime.jsx(profileOutline.ReactComponent, {}),
124
+ label: 'Profile',
125
+ selectedIcon: jsxRuntime.jsx(profile.ReactComponent, {}),
126
+ value: 'profile',
127
+ });
128
+ }
129
+ options.push({
130
+ icon: jsxRuntime.jsx(settingsOutline.ReactComponent, {}),
131
+ label: 'Settings',
132
+ selectedIcon: jsxRuntime.jsx(settings.ReactComponent, {}),
133
+ value: 'settings',
134
+ });
135
+ return options;
136
+ };
100
137
  // It should render header only if the view is not send-balance or one of passkey widgets view
101
138
  const shouldRenderHeader = !shouldNotRenderHeaderViews.includes(dynamicWidgetView);
102
- return (jsxRuntime.jsx(OverlayCardTarget.OverlayCardTarget, { children: jsxRuntime.jsxs("div", { className: classNames.classNames(className, 'dynamic-user-profile-layout'), style: style, children: [shouldRenderHeader && jsxRuntime.jsx(DynamicWidgetHeader.MemoizedDynamicWidgetHeader, { variant: variant }), jsxRuntime.jsx(DynamicWidgetViews.DynamicWidgetViews, {}), jsxRuntime.jsx(DynamicWidgetPrompts.DynamicWidgetPrompts, {})] }) }));
139
+ const shouldRenderOptionsSwitcher = multiWallet || isKYCEnabled;
140
+ return (jsxRuntime.jsx(OverlayCardTarget.OverlayCardTarget, { children: jsxRuntime.jsxs("div", { className: classNames.classNames(className, 'dynamic-user-profile-layout'), style: style, children: [shouldRenderHeader && jsxRuntime.jsx(DynamicWidgetHeader.MemoizedDynamicWidgetHeader, { variant: variant }), jsxRuntime.jsx(DynamicWidgetViews.DynamicWidgetViews, {}), jsxRuntime.jsx(DynamicWidgetPrompts.DynamicWidgetPrompts, {}), shouldRenderOptionsSwitcher && (jsxRuntime.jsx(BottomNavBar.BottomNavBar, { value: overridenWidgetView, onChange: (view) => setDynamicWidgetView(view), options: getNavBarOptions() }))] }) }));
103
141
  };
104
142
 
105
143
  exports.DynamicUserProfileLayout = DynamicUserProfileLayout;
@@ -7,6 +7,12 @@ import '../../shared/logger.js';
7
7
  import '@dynamic-labs/iconic';
8
8
  import '@dynamic-labs/wallet-connector-core';
9
9
  import '../../context/ViewContext/ViewContext.js';
10
+ import { ReactComponent as SvgProfileOutline } from '../../shared/assets/profile-outline.js';
11
+ import { ReactComponent as SvgProfile } from '../../shared/assets/profile.js';
12
+ import { ReactComponent as SvgWallet } from '../../shared/assets/wallet.js';
13
+ import { ReactComponent as SvgWalletOutlineV2 } from '../../shared/assets/wallet-outline-v2.js';
14
+ import { ReactComponent as SvgSettingsOutline } from '../../shared/assets/settings-outline.js';
15
+ import { ReactComponent as SvgSettings } from '../../shared/assets/settings.js';
10
16
  import '@dynamic-labs/wallet-book';
11
17
  import '../../utils/constants/colors.js';
12
18
  import '../../utils/constants/values.js';
@@ -18,6 +24,7 @@ import { classNames } from '../../utils/functions/classNames/classNames.js';
18
24
  import '../../events/dynamicEvents.js';
19
25
  import '../../../../_virtual/_tslib.js';
20
26
  import '../../context/DynamicContext/DynamicContext.js';
27
+ import { useInternalDynamicContext } from '../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
21
28
  import '../../context/CaptchaContext/CaptchaContext.js';
22
29
  import '../../context/ErrorContext/ErrorContext.js';
23
30
  import '@dynamic-labs/multi-wallet';
@@ -33,6 +40,7 @@ import '../../context/WalletContext/WalletContext.js';
33
40
  import '../../utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.js';
34
41
  import '../../context/ThemeContext/ThemeContext.js';
35
42
  import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/userFieldsSchema.js';
43
+ import { useKYCFlag } from '../../utils/hooks/useKYCFlag/useKYCFlag.js';
36
44
  import '@dynamic-labs/types';
37
45
  import '../../context/LoadingContext/LoadingContext.js';
38
46
  import 'yup';
@@ -71,7 +79,8 @@ import { MemoizedDynamicWidgetHeader } from '../../widgets/DynamicWidget/compone
71
79
  import { DynamicWidgetPrompts } from '../../widgets/DynamicWidget/components/DynamicWidgetPrompts/DynamicWidgetPrompts.js';
72
80
  import { DynamicWidgetViews } from '../../widgets/DynamicWidget/components/DynamicWidgetViews/DynamicWidgetViews.js';
73
81
  import { useWidgetContext } from '../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
74
- import { DynamicPasskeyWidgetViews, DynamicTransactionsWidgetViews, DynamicWalletSettingsViews } from '../../widgets/DynamicWidget/context/DynamicWidgetContext.types.js';
82
+ import { DynamicPasskeyWidgetViews, DynamicTransactionsWidgetViews, DynamicSettingsViews } from '../../widgets/DynamicWidget/context/DynamicWidgetContext.types.js';
83
+ import { BottomNavBar } from '../../widgets/DynamicWidget/components/BottomNavBar/BottomNavBar.js';
75
84
  import '../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
76
85
  import '../../../polyfills.js';
77
86
  import '../../context/ErrorBoundary/ErrorBoundaryBase.js';
@@ -89,13 +98,42 @@ import { OverlayCardTarget } from '../../components/OverlayCard/OverlayCardTarge
89
98
  const shouldNotRenderHeaderViews = [
90
99
  ...DynamicPasskeyWidgetViews,
91
100
  ...DynamicTransactionsWidgetViews,
92
- ...DynamicWalletSettingsViews,
101
+ ...DynamicSettingsViews,
93
102
  ];
94
103
  const DynamicUserProfileLayout = ({ variant, className, style, }) => {
95
- const { dynamicWidgetView } = useWidgetContext();
104
+ const { multiWallet } = useInternalDynamicContext();
105
+ const isKYCEnabled = useKYCFlag();
106
+ const { dynamicWidgetView, setDynamicWidgetView, overridenWidgetView } = useWidgetContext();
107
+ const getNavBarOptions = () => {
108
+ const options = [];
109
+ if (multiWallet) {
110
+ options.push({
111
+ icon: jsx(SvgWalletOutlineV2, {}),
112
+ label: 'Wallets',
113
+ selectedIcon: jsx(SvgWallet, {}),
114
+ value: 'wallets',
115
+ });
116
+ }
117
+ if (isKYCEnabled) {
118
+ options.push({
119
+ icon: jsx(SvgProfileOutline, {}),
120
+ label: 'Profile',
121
+ selectedIcon: jsx(SvgProfile, {}),
122
+ value: 'profile',
123
+ });
124
+ }
125
+ options.push({
126
+ icon: jsx(SvgSettingsOutline, {}),
127
+ label: 'Settings',
128
+ selectedIcon: jsx(SvgSettings, {}),
129
+ value: 'settings',
130
+ });
131
+ return options;
132
+ };
96
133
  // It should render header only if the view is not send-balance or one of passkey widgets view
97
134
  const shouldRenderHeader = !shouldNotRenderHeaderViews.includes(dynamicWidgetView);
98
- return (jsx(OverlayCardTarget, { children: jsxs("div", { className: classNames(className, 'dynamic-user-profile-layout'), style: style, children: [shouldRenderHeader && jsx(MemoizedDynamicWidgetHeader, { variant: variant }), jsx(DynamicWidgetViews, {}), jsx(DynamicWidgetPrompts, {})] }) }));
135
+ const shouldRenderOptionsSwitcher = multiWallet || isKYCEnabled;
136
+ return (jsx(OverlayCardTarget, { children: jsxs("div", { className: classNames(className, 'dynamic-user-profile-layout'), style: style, children: [shouldRenderHeader && jsx(MemoizedDynamicWidgetHeader, { variant: variant }), jsx(DynamicWidgetViews, {}), jsx(DynamicWidgetPrompts, {}), shouldRenderOptionsSwitcher && (jsx(BottomNavBar, { value: overridenWidgetView, onChange: (view) => setDynamicWidgetView(view), options: getNavBarOptions() }))] }) }));
99
137
  };
100
138
 
101
139
  export { DynamicUserProfileLayout };
@@ -62,8 +62,8 @@ require('react-focus-lock');
62
62
  require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
63
63
  var IconButton = require('../../components/IconButton/IconButton.cjs');
64
64
  require('../../components/MenuList/Dropdown/Dropdown.cjs');
65
- require('formik');
66
65
  var TypographyButton = require('../../components/TypographyButton/TypographyButton.cjs');
66
+ require('formik');
67
67
  require('../../views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
68
68
  var ModalHeader = require('../../components/ModalHeader/ModalHeader.cjs');
69
69
  require('../../components/Input/Input.cjs');
@@ -58,8 +58,8 @@ import 'react-focus-lock';
58
58
  import '../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
59
59
  import { IconButton } from '../../components/IconButton/IconButton.js';
60
60
  import '../../components/MenuList/Dropdown/Dropdown.js';
61
- import 'formik';
62
61
  import { TypographyButton } from '../../components/TypographyButton/TypographyButton.js';
62
+ import 'formik';
63
63
  import '../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
64
64
  import { ModalHeader } from '../../components/ModalHeader/ModalHeader.js';
65
65
  import '../../components/Input/Input.js';
@@ -62,8 +62,8 @@ require('react-focus-lock');
62
62
  require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
63
63
  var IconButton = require('../../components/IconButton/IconButton.cjs');
64
64
  require('../../components/MenuList/Dropdown/Dropdown.cjs');
65
- require('formik');
66
65
  var TypographyButton = require('../../components/TypographyButton/TypographyButton.cjs');
66
+ require('formik');
67
67
  require('../../views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
68
68
  var ModalHeader = require('../../components/ModalHeader/ModalHeader.cjs');
69
69
  require('../../components/Input/Input.cjs');
@@ -58,8 +58,8 @@ import 'react-focus-lock';
58
58
  import '../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
59
59
  import { IconButton } from '../../components/IconButton/IconButton.js';
60
60
  import '../../components/MenuList/Dropdown/Dropdown.js';
61
- import 'formik';
62
61
  import { TypographyButton } from '../../components/TypographyButton/TypographyButton.js';
62
+ import 'formik';
63
63
  import '../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
64
64
  import { ModalHeader } from '../../components/ModalHeader/ModalHeader.js';
65
65
  import '../../components/Input/Input.js';
@@ -63,8 +63,8 @@ require('react-focus-lock');
63
63
  require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
64
64
  var IconButton = require('../../components/IconButton/IconButton.cjs');
65
65
  require('../../components/MenuList/Dropdown/Dropdown.cjs');
66
- require('formik');
67
66
  var TypographyButton = require('../../components/TypographyButton/TypographyButton.cjs');
67
+ require('formik');
68
68
  require('../../views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
69
69
  var ModalHeader = require('../../components/ModalHeader/ModalHeader.cjs');
70
70
  require('../../components/Input/Input.cjs');
@@ -59,8 +59,8 @@ import 'react-focus-lock';
59
59
  import '../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
60
60
  import { IconButton } from '../../components/IconButton/IconButton.js';
61
61
  import '../../components/MenuList/Dropdown/Dropdown.js';
62
- import 'formik';
63
62
  import { TypographyButton } from '../../components/TypographyButton/TypographyButton.js';
63
+ import 'formik';
64
64
  import '../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
65
65
  import { ModalHeader } from '../../components/ModalHeader/ModalHeader.js';
66
66
  import '../../components/Input/Input.js';
@@ -807,9 +807,16 @@ const translation = {
807
807
  done_button_label: "I'm Done",
808
808
  },
809
809
  /**
810
- * @description wallet settings for Dynamic wallet settings view which are used inside dynamic widget
810
+ * @description Settings for Dynamic settings view which are used inside dynamic widget
811
811
  * @default
812
812
  * {
813
+ global_section: {
814
+ title: 'Global',
815
+ currency: {
816
+ title: 'Currency',
817
+ badge: 'coming soon',
818
+ },
819
+ },
813
820
  export_section: {
814
821
  private_key_button: 'Private key',
815
822
  srp_button: 'Recovery phrase',
@@ -820,16 +827,23 @@ const translation = {
820
827
  add_email_button: 'Add an email',
821
828
  },
822
829
  tags: { recommended: 'Recommended' },
823
- signing_section: {
830
+ security_section: {
824
831
  email_auth_button: 'One time code',
825
832
  passkey_button: 'Passkeys',
826
833
  password_button: 'Passcode',
827
834
  title: 'Security Methods',
828
835
  },
829
- title: 'Wallet settings',
836
+ title: 'Settings',
830
837
  }
831
838
  */
832
- dyn_wallet_settings: {
839
+ dyn_settings: {
840
+ global_section: {
841
+ title: 'Global',
842
+ currency: {
843
+ title: 'Currency',
844
+ badge: 'coming soon',
845
+ },
846
+ },
833
847
  export_section: {
834
848
  private_key_button: 'Private key',
835
849
  srp_button: 'Recovery phrase',
@@ -840,13 +854,30 @@ const translation = {
840
854
  add_email_button: 'Add an email',
841
855
  },
842
856
  tags: { recommended: 'Recommended' },
843
- signing_section: {
857
+ security_section: {
844
858
  email_auth_button: 'One time code',
845
859
  passkey_button: 'Passkeys',
846
860
  password_button: 'Passcode',
847
- title: 'Security Methods',
861
+ mfa_button: 'Authenticator App',
862
+ title: '2 factor authentication',
863
+ },
864
+ title: 'Settings',
865
+ button_logout: 'Log out',
866
+ },
867
+ /**
868
+ * @description copy keys for mfa management view
869
+ * @default
870
+ * {
871
+ title: 'Authenticator App',
872
+ add_mfa_button: 'Add a new authenticator app',
873
+ description: 'This authenticator is used when logging in to your account.',
848
874
  },
849
- title: 'Wallet settings',
875
+ */
876
+ dyn_manage_mfa: {
877
+ title: 'Authenticator App',
878
+ add_mfa_button: 'Add a new authenticator app',
879
+ description: 'This authenticator is used when logging in to your account.',
880
+ no_devices: 'No authenticator apps available...',
850
881
  },
851
882
  /**
852
883
  * @description copy keys for mfa views
@@ -1951,6 +1982,7 @@ const translation = {
1951
1982
  link_wallet_button: 'Link wallet',
1952
1983
  title: 'Want to add a wallet?',
1953
1984
  },
1985
+ edit_profile_button: 'Edit Profile',
1954
1986
  },
1955
1987
  /**
1956
1988
  * @description copy keys for Detected new wallet prompt
@@ -801,9 +801,16 @@ export declare const translation: {
801
801
  done_button_label: string;
802
802
  };
803
803
  /**
804
- * @description wallet settings for Dynamic wallet settings view which are used inside dynamic widget
804
+ * @description Settings for Dynamic settings view which are used inside dynamic widget
805
805
  * @default
806
806
  * {
807
+ global_section: {
808
+ title: 'Global',
809
+ currency: {
810
+ title: 'Currency',
811
+ badge: 'coming soon',
812
+ },
813
+ },
807
814
  export_section: {
808
815
  private_key_button: 'Private key',
809
816
  srp_button: 'Recovery phrase',
@@ -814,16 +821,23 @@ export declare const translation: {
814
821
  add_email_button: 'Add an email',
815
822
  },
816
823
  tags: { recommended: 'Recommended' },
817
- signing_section: {
824
+ security_section: {
818
825
  email_auth_button: 'One time code',
819
826
  passkey_button: 'Passkeys',
820
827
  password_button: 'Passcode',
821
828
  title: 'Security Methods',
822
829
  },
823
- title: 'Wallet settings',
830
+ title: 'Settings',
824
831
  }
825
832
  */
826
- dyn_wallet_settings: {
833
+ dyn_settings: {
834
+ global_section: {
835
+ title: string;
836
+ currency: {
837
+ title: string;
838
+ badge: string;
839
+ };
840
+ };
827
841
  export_section: {
828
842
  private_key_button: string;
829
843
  srp_button: string;
@@ -836,13 +850,30 @@ export declare const translation: {
836
850
  tags: {
837
851
  recommended: string;
838
852
  };
839
- signing_section: {
853
+ security_section: {
840
854
  email_auth_button: string;
841
855
  passkey_button: string;
842
856
  password_button: string;
857
+ mfa_button: string;
843
858
  title: string;
844
859
  };
845
860
  title: string;
861
+ button_logout: string;
862
+ };
863
+ /**
864
+ * @description copy keys for mfa management view
865
+ * @default
866
+ * {
867
+ title: 'Authenticator App',
868
+ add_mfa_button: 'Add a new authenticator app',
869
+ description: 'This authenticator is used when logging in to your account.',
870
+ },
871
+ */
872
+ dyn_manage_mfa: {
873
+ title: string;
874
+ add_mfa_button: string;
875
+ description: string;
876
+ no_devices: string;
846
877
  };
847
878
  /**
848
879
  * @description copy keys for mfa views
@@ -1947,6 +1978,7 @@ export declare const translation: {
1947
1978
  link_wallet_button: string;
1948
1979
  title: string;
1949
1980
  };
1981
+ edit_profile_button: string;
1950
1982
  };
1951
1983
  /**
1952
1984
  * @description copy keys for Detected new wallet prompt
@@ -803,9 +803,16 @@ const translation = {
803
803
  done_button_label: "I'm Done",
804
804
  },
805
805
  /**
806
- * @description wallet settings for Dynamic wallet settings view which are used inside dynamic widget
806
+ * @description Settings for Dynamic settings view which are used inside dynamic widget
807
807
  * @default
808
808
  * {
809
+ global_section: {
810
+ title: 'Global',
811
+ currency: {
812
+ title: 'Currency',
813
+ badge: 'coming soon',
814
+ },
815
+ },
809
816
  export_section: {
810
817
  private_key_button: 'Private key',
811
818
  srp_button: 'Recovery phrase',
@@ -816,16 +823,23 @@ const translation = {
816
823
  add_email_button: 'Add an email',
817
824
  },
818
825
  tags: { recommended: 'Recommended' },
819
- signing_section: {
826
+ security_section: {
820
827
  email_auth_button: 'One time code',
821
828
  passkey_button: 'Passkeys',
822
829
  password_button: 'Passcode',
823
830
  title: 'Security Methods',
824
831
  },
825
- title: 'Wallet settings',
832
+ title: 'Settings',
826
833
  }
827
834
  */
828
- dyn_wallet_settings: {
835
+ dyn_settings: {
836
+ global_section: {
837
+ title: 'Global',
838
+ currency: {
839
+ title: 'Currency',
840
+ badge: 'coming soon',
841
+ },
842
+ },
829
843
  export_section: {
830
844
  private_key_button: 'Private key',
831
845
  srp_button: 'Recovery phrase',
@@ -836,13 +850,30 @@ const translation = {
836
850
  add_email_button: 'Add an email',
837
851
  },
838
852
  tags: { recommended: 'Recommended' },
839
- signing_section: {
853
+ security_section: {
840
854
  email_auth_button: 'One time code',
841
855
  passkey_button: 'Passkeys',
842
856
  password_button: 'Passcode',
843
- title: 'Security Methods',
857
+ mfa_button: 'Authenticator App',
858
+ title: '2 factor authentication',
859
+ },
860
+ title: 'Settings',
861
+ button_logout: 'Log out',
862
+ },
863
+ /**
864
+ * @description copy keys for mfa management view
865
+ * @default
866
+ * {
867
+ title: 'Authenticator App',
868
+ add_mfa_button: 'Add a new authenticator app',
869
+ description: 'This authenticator is used when logging in to your account.',
844
870
  },
845
- title: 'Wallet settings',
871
+ */
872
+ dyn_manage_mfa: {
873
+ title: 'Authenticator App',
874
+ add_mfa_button: 'Add a new authenticator app',
875
+ description: 'This authenticator is used when logging in to your account.',
876
+ no_devices: 'No authenticator apps available...',
846
877
  },
847
878
  /**
848
879
  * @description copy keys for mfa views
@@ -1947,6 +1978,7 @@ const translation = {
1947
1978
  link_wallet_button: 'Link wallet',
1948
1979
  title: 'Want to add a wallet?',
1949
1980
  },
1981
+ edit_profile_button: 'Edit Profile',
1950
1982
  },
1951
1983
  /**
1952
1984
  * @description copy keys for Detected new wallet prompt