@dynamic-labs/sdk-react-core 3.0.0-alpha.47 → 3.0.0-alpha.48
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.
- package/CHANGELOG.md +9 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +12 -12
- package/src/lib/shared/utils/functions/hasPendingRequirements/hasPendingRequirements.cjs +10 -0
- package/src/lib/shared/utils/functions/hasPendingRequirements/hasPendingRequirements.d.ts +2 -0
- package/src/lib/shared/utils/functions/hasPendingRequirements/hasPendingRequirements.js +6 -0
- package/src/lib/shared/utils/functions/hasPendingRequirements/index.d.ts +1 -0
- package/src/lib/shared/utils/functions/index.d.ts +1 -0
- package/src/lib/store/hooks/useUser/useUser.cjs +2 -4
- package/src/lib/store/hooks/useUser/useUser.js +2 -4
- package/src/lib/utils/functions/isCookieEnabled/isCookieEnabled.cjs +8 -1
- package/src/lib/utils/functions/isCookieEnabled/isCookieEnabled.js +8 -1
- package/src/lib/utils/hooks/useExternalAuth/useExternalAuth.cjs +4 -1
- package/src/lib/utils/hooks/useExternalAuth/useExternalAuth.js +4 -1
- package/src/lib/utils/hooks/useOnlyConnectedMode/useOnlyConnectedMode.d.ts +1 -0
- package/src/lib/views/CollectUserDataView/CollectUserDataView.cjs +6 -5
- package/src/lib/views/CollectUserDataView/CollectUserDataView.js +6 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
|
|
2
|
+
## [3.0.0-alpha.48](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.47...v3.0.0-alpha.48) (2024-08-21)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
* collect user data to work when no wallet is selected ([#6670](https://github.com/dynamic-labs/DynamicAuth/issues/6670)) ([b86aae8](https://github.com/dynamic-labs/DynamicAuth/commit/b86aae8e7ceb35793f792941a34cabd19b9e65d4))
|
|
8
|
+
* disable cookie when running on native mobile ([#6668](https://github.com/dynamic-labs/DynamicAuth/issues/6668)) ([e52a3d9](https://github.com/dynamic-labs/DynamicAuth/commit/e52a3d94a9028e36525be2e80a9f0916efad4320))
|
|
9
|
+
* prevent external auth blocking pending user requirements views ([#6669](https://github.com/dynamic-labs/DynamicAuth/issues/6669)) ([848356c](https://github.com/dynamic-labs/DynamicAuth/commit/848356c57e730a8516c642da84274a236e026f40))
|
|
10
|
+
|
|
2
11
|
## [3.0.0-alpha.47](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.46...v3.0.0-alpha.47) (2024-08-21)
|
|
3
12
|
|
|
4
13
|
|
package/package.cjs
CHANGED
package/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/sdk-react-core",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.48",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
|
|
@@ -17,17 +17,17 @@
|
|
|
17
17
|
"react-i18next": "13.5.0",
|
|
18
18
|
"yup": "0.32.11",
|
|
19
19
|
"react-international-phone": "4.2.5",
|
|
20
|
-
"@dynamic-labs/iconic": "3.0.0-alpha.
|
|
21
|
-
"@dynamic-labs/logger": "3.0.0-alpha.
|
|
22
|
-
"@dynamic-labs/message-transport": "3.0.0-alpha.
|
|
23
|
-
"@dynamic-labs/multi-wallet": "3.0.0-alpha.
|
|
24
|
-
"@dynamic-labs/rpc-providers": "3.0.0-alpha.
|
|
25
|
-
"@dynamic-labs/store": "3.0.0-alpha.
|
|
26
|
-
"@dynamic-labs/types": "3.0.0-alpha.
|
|
27
|
-
"@dynamic-labs/utils": "3.0.0-alpha.
|
|
28
|
-
"@dynamic-labs/viem-utils": "3.0.0-alpha.
|
|
29
|
-
"@dynamic-labs/wallet-book": "3.0.0-alpha.
|
|
30
|
-
"@dynamic-labs/wallet-connector-core": "3.0.0-alpha.
|
|
20
|
+
"@dynamic-labs/iconic": "3.0.0-alpha.48",
|
|
21
|
+
"@dynamic-labs/logger": "3.0.0-alpha.48",
|
|
22
|
+
"@dynamic-labs/message-transport": "3.0.0-alpha.48",
|
|
23
|
+
"@dynamic-labs/multi-wallet": "3.0.0-alpha.48",
|
|
24
|
+
"@dynamic-labs/rpc-providers": "3.0.0-alpha.48",
|
|
25
|
+
"@dynamic-labs/store": "3.0.0-alpha.48",
|
|
26
|
+
"@dynamic-labs/types": "3.0.0-alpha.48",
|
|
27
|
+
"@dynamic-labs/utils": "3.0.0-alpha.48",
|
|
28
|
+
"@dynamic-labs/viem-utils": "3.0.0-alpha.48",
|
|
29
|
+
"@dynamic-labs/wallet-book": "3.0.0-alpha.48",
|
|
30
|
+
"@dynamic-labs/wallet-connector-core": "3.0.0-alpha.48",
|
|
31
31
|
"eventemitter3": "5.0.1"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var hasPendingMfaAction = require('../hasPendingMfaAction/hasPendingMfaAction.cjs');
|
|
7
|
+
|
|
8
|
+
const hasPendingRequirements = (user) => { var _a; return Boolean((_a = user.missingFields) === null || _a === void 0 ? void 0 : _a.length) || hasPendingMfaAction.hasPendingMfaAction(user); };
|
|
9
|
+
|
|
10
|
+
exports.hasPendingRequirements = hasPendingRequirements;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
import { hasPendingMfaAction } from '../hasPendingMfaAction/hasPendingMfaAction.js';
|
|
3
|
+
|
|
4
|
+
const hasPendingRequirements = (user) => { var _a; return Boolean((_a = user.missingFields) === null || _a === void 0 ? void 0 : _a.length) || hasPendingMfaAction(user); };
|
|
5
|
+
|
|
6
|
+
export { hasPendingRequirements };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { hasPendingRequirements } from './hasPendingRequirements';
|
|
@@ -15,14 +15,13 @@ require('../../../utils/constants/colors.cjs');
|
|
|
15
15
|
require('../../../utils/constants/values.cjs');
|
|
16
16
|
require('../../../shared/utils/classes/storage/localStorage.cjs');
|
|
17
17
|
require('../../../shared/utils/classes/storage/sessionStorage.cjs');
|
|
18
|
-
var
|
|
18
|
+
var hasPendingRequirements = require('../../../shared/utils/functions/hasPendingRequirements/hasPendingRequirements.cjs');
|
|
19
19
|
require('@dynamic-labs/utils');
|
|
20
20
|
require('../../../shared/consts/index.cjs');
|
|
21
21
|
var store = require('../../store.cjs');
|
|
22
22
|
var useStoreWithSelector = require('../useStoreWithSelector/useStoreWithSelector.cjs');
|
|
23
23
|
|
|
24
24
|
const useUser = () => {
|
|
25
|
-
var _a;
|
|
26
25
|
// after user has fully logged in (user is defined), it should never go back to
|
|
27
26
|
// not being fully logged in (userWithMissingInfo defined instaed or user),
|
|
28
27
|
// unless it's logged out (no user or userWithMissingInfo defined)
|
|
@@ -37,8 +36,7 @@ const useUser = () => {
|
|
|
37
36
|
// since we won't have onboarding jwt anymore, the idea is to just store the user in LS and either use the user state
|
|
38
37
|
// or userWithMissingInfo, depending on the value of missing fields or mfa required.
|
|
39
38
|
// this is just following our existing logic of how we handle authToken vs onboardingOnlyToken.
|
|
40
|
-
if (!hasFullyLoggedIn.current &&
|
|
41
|
-
(((_a = userFromStore.missingFields) === null || _a === void 0 ? void 0 : _a.length) || hasPendingMfaAction.hasPendingMfaAction(userFromStore))) {
|
|
39
|
+
if (!hasFullyLoggedIn.current && hasPendingRequirements.hasPendingRequirements(userFromStore)) {
|
|
42
40
|
return { userWithMissingInfo: userFromStore };
|
|
43
41
|
}
|
|
44
42
|
hasFullyLoggedIn.current = true;
|
|
@@ -11,14 +11,13 @@ import '../../../utils/constants/colors.js';
|
|
|
11
11
|
import '../../../utils/constants/values.js';
|
|
12
12
|
import '../../../shared/utils/classes/storage/localStorage.js';
|
|
13
13
|
import '../../../shared/utils/classes/storage/sessionStorage.js';
|
|
14
|
-
import {
|
|
14
|
+
import { hasPendingRequirements } from '../../../shared/utils/functions/hasPendingRequirements/hasPendingRequirements.js';
|
|
15
15
|
import '@dynamic-labs/utils';
|
|
16
16
|
import '../../../shared/consts/index.js';
|
|
17
17
|
import { getStore } from '../../store.js';
|
|
18
18
|
import { useStoreWithSelector } from '../useStoreWithSelector/useStoreWithSelector.js';
|
|
19
19
|
|
|
20
20
|
const useUser = () => {
|
|
21
|
-
var _a;
|
|
22
21
|
// after user has fully logged in (user is defined), it should never go back to
|
|
23
22
|
// not being fully logged in (userWithMissingInfo defined instaed or user),
|
|
24
23
|
// unless it's logged out (no user or userWithMissingInfo defined)
|
|
@@ -33,8 +32,7 @@ const useUser = () => {
|
|
|
33
32
|
// since we won't have onboarding jwt anymore, the idea is to just store the user in LS and either use the user state
|
|
34
33
|
// or userWithMissingInfo, depending on the value of missing fields or mfa required.
|
|
35
34
|
// this is just following our existing logic of how we handle authToken vs onboardingOnlyToken.
|
|
36
|
-
if (!hasFullyLoggedIn.current &&
|
|
37
|
-
(((_a = userFromStore.missingFields) === null || _a === void 0 ? void 0 : _a.length) || hasPendingMfaAction(userFromStore))) {
|
|
35
|
+
if (!hasFullyLoggedIn.current && hasPendingRequirements(userFromStore)) {
|
|
38
36
|
return { userWithMissingInfo: userFromStore };
|
|
39
37
|
}
|
|
40
38
|
hasFullyLoggedIn.current = true;
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
6
|
var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
7
|
+
var utils = require('@dynamic-labs/utils');
|
|
7
8
|
require('@dynamic-labs/store');
|
|
8
9
|
require('../../constants/colors.cjs');
|
|
9
10
|
require('../../constants/values.cjs');
|
|
@@ -16,7 +17,6 @@ require('react');
|
|
|
16
17
|
require('@dynamic-labs/wallet-book');
|
|
17
18
|
require('../../../shared/utils/classes/storage/localStorage.cjs');
|
|
18
19
|
require('../../../shared/utils/classes/storage/sessionStorage.cjs');
|
|
19
|
-
require('@dynamic-labs/utils');
|
|
20
20
|
require('../../../shared/consts/index.cjs');
|
|
21
21
|
var projectSettingsActions = require('../../../store/actions/projectSettingsActions/projectSettingsActions.cjs');
|
|
22
22
|
require('../../../../../_virtual/_tslib.cjs');
|
|
@@ -91,6 +91,13 @@ require('../../../context/ReinitializeContext/ReinitializeContextProvider.cjs');
|
|
|
91
91
|
|
|
92
92
|
const isCookieEnabled = () => {
|
|
93
93
|
var _a, _b, _c, _d;
|
|
94
|
+
/**
|
|
95
|
+
* There is no cookie on native mobile applications
|
|
96
|
+
* so this feature must be disabled for native mobile
|
|
97
|
+
*/
|
|
98
|
+
if (utils.PlatformService.isNativeMobile) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
94
101
|
const securitySettings = (_b = (_a = projectSettingsActions.getProjectSettings()) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.security;
|
|
95
102
|
if (!securitySettings)
|
|
96
103
|
return false;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { AuthStorageEnum } from '@dynamic-labs/sdk-api-core';
|
|
3
|
+
import { PlatformService } from '@dynamic-labs/utils';
|
|
3
4
|
import '@dynamic-labs/store';
|
|
4
5
|
import '../../constants/colors.js';
|
|
5
6
|
import '../../constants/values.js';
|
|
@@ -12,7 +13,6 @@ import 'react';
|
|
|
12
13
|
import '@dynamic-labs/wallet-book';
|
|
13
14
|
import '../../../shared/utils/classes/storage/localStorage.js';
|
|
14
15
|
import '../../../shared/utils/classes/storage/sessionStorage.js';
|
|
15
|
-
import '@dynamic-labs/utils';
|
|
16
16
|
import '../../../shared/consts/index.js';
|
|
17
17
|
import { getProjectSettings } from '../../../store/actions/projectSettingsActions/projectSettingsActions.js';
|
|
18
18
|
import '../../../../../_virtual/_tslib.js';
|
|
@@ -87,6 +87,13 @@ import '../../../context/ReinitializeContext/ReinitializeContextProvider.js';
|
|
|
87
87
|
|
|
88
88
|
const isCookieEnabled = () => {
|
|
89
89
|
var _a, _b, _c, _d;
|
|
90
|
+
/**
|
|
91
|
+
* There is no cookie on native mobile applications
|
|
92
|
+
* so this feature must be disabled for native mobile
|
|
93
|
+
*/
|
|
94
|
+
if (PlatformService.isNativeMobile) {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
90
97
|
const securitySettings = (_b = (_a = getProjectSettings()) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.security;
|
|
91
98
|
if (!securitySettings)
|
|
92
99
|
return false;
|
|
@@ -17,6 +17,7 @@ require('../../constants/colors.cjs');
|
|
|
17
17
|
require('../../constants/values.cjs');
|
|
18
18
|
require('../../../shared/utils/classes/storage/localStorage.cjs');
|
|
19
19
|
require('../../../shared/utils/classes/storage/sessionStorage.cjs');
|
|
20
|
+
var hasPendingRequirements = require('../../../shared/utils/functions/hasPendingRequirements/hasPendingRequirements.cjs');
|
|
20
21
|
require('../../../shared/consts/index.cjs');
|
|
21
22
|
require('../../../config/ApiEndpoint.cjs');
|
|
22
23
|
require('@dynamic-labs/multi-wallet');
|
|
@@ -109,7 +110,9 @@ const useExternalAuth = () => {
|
|
|
109
110
|
externalJwt,
|
|
110
111
|
});
|
|
111
112
|
setCallback('authSuccess');
|
|
112
|
-
|
|
113
|
+
if (userProfile && !hasPendingRequirements.hasPendingRequirements(userProfile)) {
|
|
114
|
+
setShowAuthFlow(false);
|
|
115
|
+
}
|
|
113
116
|
return userProfile;
|
|
114
117
|
}
|
|
115
118
|
catch (e) {
|
|
@@ -13,6 +13,7 @@ import '../../constants/colors.js';
|
|
|
13
13
|
import '../../constants/values.js';
|
|
14
14
|
import '../../../shared/utils/classes/storage/localStorage.js';
|
|
15
15
|
import '../../../shared/utils/classes/storage/sessionStorage.js';
|
|
16
|
+
import { hasPendingRequirements } from '../../../shared/utils/functions/hasPendingRequirements/hasPendingRequirements.js';
|
|
16
17
|
import '../../../shared/consts/index.js';
|
|
17
18
|
import '../../../config/ApiEndpoint.js';
|
|
18
19
|
import '@dynamic-labs/multi-wallet';
|
|
@@ -105,7 +106,9 @@ const useExternalAuth = () => {
|
|
|
105
106
|
externalJwt,
|
|
106
107
|
});
|
|
107
108
|
setCallback('authSuccess');
|
|
108
|
-
|
|
109
|
+
if (userProfile && !hasPendingRequirements(userProfile)) {
|
|
110
|
+
setShowAuthFlow(false);
|
|
111
|
+
}
|
|
109
112
|
return userProfile;
|
|
110
113
|
}
|
|
111
114
|
catch (e) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useOnlyConnectedMode: () => boolean;
|
|
@@ -107,15 +107,16 @@ const CollectUserDataView = () => {
|
|
|
107
107
|
const [isNetworkPickerOpen, setIsNetworkPickerOpen] = React.useState(false);
|
|
108
108
|
const nameService = useFetchNameService.useFetchNameService();
|
|
109
109
|
const { t } = reactI18next.useTranslation();
|
|
110
|
-
if (!
|
|
110
|
+
if (!userWithMissingInfo) {
|
|
111
111
|
return null;
|
|
112
112
|
}
|
|
113
|
-
const evmNetworks = walletConnector.evmNetworks || [];
|
|
113
|
+
const evmNetworks = (walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.evmNetworks) || [];
|
|
114
114
|
const _isSupportedNetwork = !network || isSupportedNetwork.isSupportedNetwork({ network, walletConnector });
|
|
115
|
+
const shouldDisplayWrongNetworkState = !_isSupportedNetwork && Boolean(walletConnector);
|
|
115
116
|
const walletAddress = (_a = userWithMissingInfo === null || userWithMissingInfo === void 0 ? void 0 : userWithMissingInfo.verifiedCredentials.find((verifiedCredential) => verifiedCredential.id === userWithMissingInfo.lastVerifiedCredentialId)) === null || _a === void 0 ? void 0 : _a.address;
|
|
116
|
-
return (jsxRuntime.jsxs("div", { className: 'collect-user-data', "data-testid": 'collect-user-data-view', children: [jsxRuntime.jsxs("div", { className: 'collect-user-data__network-container', children: [jsxRuntime.jsxs("div", { className: 'collect-user-data__img-container', children: [(nameService === null || nameService === void 0 ? void 0 : nameService.avatar) ? (jsxRuntime.jsx("img", { src: nameService.avatar, alt: '', className: 'collect-user-data__img collect-user-data__img--rounded' })) : (jsxRuntime.jsx(AuthProviderIcon.AuthProviderIcon, { iconSize: 28 })), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', color: 'primary', weight: 'medium', className: 'collect-user-data__wallet-address', children: (nameService === null || nameService === void 0 ? void 0 : nameService.name) || shortenWalletAddress.shortenWalletAddress(walletAddress, 3, 3) })] }), jsxRuntime.jsx(NetworkPicker.NetworkPicker, { currentNetwork: network, evmNetworks: evmNetworks, connector: walletConnector, showNetworkName: true, isNetworkPickerOpen: isNetworkPickerOpen, setIsNetworkPickerOpen: setIsNetworkPickerOpen, buttonClassName: 'collect-user-data__network-picker-button', mainClassName: 'collect-user-data__network-picker' })] }), onboardingImageUrl && (jsxRuntime.jsx("img", { className: 'collect-user-data__main-img', src: onboardingImageUrl, alt: 'onboarding' })),
|
|
117
|
-
'collect-user-data__form--error':
|
|
118
|
-
}), children: [jsxRuntime.jsx("div", { className: 'collect-user-data__success-icon', children: jsxRuntime.jsx(Icon.Icon, { color: 'text-primary', size: 'large', children: jsxRuntime.jsx(checkConnection.ReactComponent, {}) }) }), jsxRuntime.jsx(OnboardingUserDataForm.OnboardingUserDataForm, { disableSubmit:
|
|
117
|
+
return (jsxRuntime.jsxs("div", { className: 'collect-user-data', "data-testid": 'collect-user-data-view', children: [jsxRuntime.jsxs("div", { className: 'collect-user-data__network-container', children: [jsxRuntime.jsxs("div", { className: 'collect-user-data__img-container', children: [(nameService === null || nameService === void 0 ? void 0 : nameService.avatar) ? (jsxRuntime.jsx("img", { src: nameService.avatar, alt: '', className: 'collect-user-data__img collect-user-data__img--rounded' })) : (jsxRuntime.jsx(AuthProviderIcon.AuthProviderIcon, { iconSize: 28 })), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', color: 'primary', weight: 'medium', className: 'collect-user-data__wallet-address', children: (nameService === null || nameService === void 0 ? void 0 : nameService.name) || shortenWalletAddress.shortenWalletAddress(walletAddress, 3, 3) })] }), walletConnector && (jsxRuntime.jsx(NetworkPicker.NetworkPicker, { currentNetwork: network, evmNetworks: evmNetworks, connector: walletConnector, showNetworkName: true, isNetworkPickerOpen: isNetworkPickerOpen, setIsNetworkPickerOpen: setIsNetworkPickerOpen, buttonClassName: 'collect-user-data__network-picker-button', mainClassName: 'collect-user-data__network-picker' }))] }), onboardingImageUrl && (jsxRuntime.jsx("img", { className: 'collect-user-data__main-img', src: onboardingImageUrl, alt: 'onboarding' })), shouldDisplayWrongNetworkState && (jsxRuntime.jsx(ErrorContainer.ErrorContainer, { withIcon: false, className: 'collect-user-data__error--not-supported', copykey: 'dyn_collect_user_data.not_supported_network.error_message', children: t('dyn_collect_user_data.not_supported_network.error_message') })), jsxRuntime.jsxs("div", { className: classNames.classNames('collect-user-data__form', {
|
|
118
|
+
'collect-user-data__form--error': shouldDisplayWrongNetworkState,
|
|
119
|
+
}), children: [jsxRuntime.jsx("div", { className: 'collect-user-data__success-icon', children: jsxRuntime.jsx(Icon.Icon, { color: 'text-primary', size: 'large', children: jsxRuntime.jsx(checkConnection.ReactComponent, {}) }) }), jsxRuntime.jsx(OnboardingUserDataForm.OnboardingUserDataForm, { disableSubmit: shouldDisplayWrongNetworkState, userProfile: userWithMissingInfo, children: shouldDisplayWrongNetworkState ? (jsxRuntime.jsxs("div", { className: 'collect-user-data__welcome-container', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'title', color: 'primary', className: 'collect-user-data__welcome-title', copykey: 'dyn_collect_user_data.not_supported_network.title', children: t('dyn_collect_user_data.not_supported_network.title') }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', copykey: 'dyn_collect_user_data.not_supported_network.description', children: t('dyn_collect_user_data.not_supported_network.description') })] })) : (jsxRuntime.jsxs("div", { className: 'collect-user-data__welcome-container', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'title', color: 'primary', className: 'collect-user-data__welcome-title', copykey: 'dyn_collect_user_data.greeting', children: (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.collectUserDataWelcomeHeader) ||
|
|
119
120
|
t('dyn_collect_user_data.greeting', { appName }) }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', copykey: 'dyn_collect_user_data.description', children: (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.collectUserDataWelcomeMessage) ||
|
|
120
121
|
t('dyn_collect_user_data.description') })] })) }), jsxRuntime.jsx(TextButton.TextButton, { className: 'collect-user-data__log-out', onClick: handleLogOut, copykey: 'dyn_collect_user_data.log_out_button', children: t('dyn_collect_user_data.log_out_button') })] })] }));
|
|
121
122
|
};
|
|
@@ -103,15 +103,16 @@ const CollectUserDataView = () => {
|
|
|
103
103
|
const [isNetworkPickerOpen, setIsNetworkPickerOpen] = useState(false);
|
|
104
104
|
const nameService = useFetchNameService();
|
|
105
105
|
const { t } = useTranslation();
|
|
106
|
-
if (!
|
|
106
|
+
if (!userWithMissingInfo) {
|
|
107
107
|
return null;
|
|
108
108
|
}
|
|
109
|
-
const evmNetworks = walletConnector.evmNetworks || [];
|
|
109
|
+
const evmNetworks = (walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.evmNetworks) || [];
|
|
110
110
|
const _isSupportedNetwork = !network || isSupportedNetwork({ network, walletConnector });
|
|
111
|
+
const shouldDisplayWrongNetworkState = !_isSupportedNetwork && Boolean(walletConnector);
|
|
111
112
|
const walletAddress = (_a = userWithMissingInfo === null || userWithMissingInfo === void 0 ? void 0 : userWithMissingInfo.verifiedCredentials.find((verifiedCredential) => verifiedCredential.id === userWithMissingInfo.lastVerifiedCredentialId)) === null || _a === void 0 ? void 0 : _a.address;
|
|
112
|
-
return (jsxs("div", { className: 'collect-user-data', "data-testid": 'collect-user-data-view', children: [jsxs("div", { className: 'collect-user-data__network-container', children: [jsxs("div", { className: 'collect-user-data__img-container', children: [(nameService === null || nameService === void 0 ? void 0 : nameService.avatar) ? (jsx("img", { src: nameService.avatar, alt: '', className: 'collect-user-data__img collect-user-data__img--rounded' })) : (jsx(AuthProviderIcon, { iconSize: 28 })), jsx(Typography, { variant: 'body_normal', color: 'primary', weight: 'medium', className: 'collect-user-data__wallet-address', children: (nameService === null || nameService === void 0 ? void 0 : nameService.name) || shortenWalletAddress(walletAddress, 3, 3) })] }), jsx(NetworkPicker, { currentNetwork: network, evmNetworks: evmNetworks, connector: walletConnector, showNetworkName: true, isNetworkPickerOpen: isNetworkPickerOpen, setIsNetworkPickerOpen: setIsNetworkPickerOpen, buttonClassName: 'collect-user-data__network-picker-button', mainClassName: 'collect-user-data__network-picker' })] }), onboardingImageUrl && (jsx("img", { className: 'collect-user-data__main-img', src: onboardingImageUrl, alt: 'onboarding' })),
|
|
113
|
-
'collect-user-data__form--error':
|
|
114
|
-
}), children: [jsx("div", { className: 'collect-user-data__success-icon', children: jsx(Icon, { color: 'text-primary', size: 'large', children: jsx(SvgCheckConnection, {}) }) }), jsx(OnboardingUserDataForm, { disableSubmit:
|
|
113
|
+
return (jsxs("div", { className: 'collect-user-data', "data-testid": 'collect-user-data-view', children: [jsxs("div", { className: 'collect-user-data__network-container', children: [jsxs("div", { className: 'collect-user-data__img-container', children: [(nameService === null || nameService === void 0 ? void 0 : nameService.avatar) ? (jsx("img", { src: nameService.avatar, alt: '', className: 'collect-user-data__img collect-user-data__img--rounded' })) : (jsx(AuthProviderIcon, { iconSize: 28 })), jsx(Typography, { variant: 'body_normal', color: 'primary', weight: 'medium', className: 'collect-user-data__wallet-address', children: (nameService === null || nameService === void 0 ? void 0 : nameService.name) || shortenWalletAddress(walletAddress, 3, 3) })] }), walletConnector && (jsx(NetworkPicker, { currentNetwork: network, evmNetworks: evmNetworks, connector: walletConnector, showNetworkName: true, isNetworkPickerOpen: isNetworkPickerOpen, setIsNetworkPickerOpen: setIsNetworkPickerOpen, buttonClassName: 'collect-user-data__network-picker-button', mainClassName: 'collect-user-data__network-picker' }))] }), onboardingImageUrl && (jsx("img", { className: 'collect-user-data__main-img', src: onboardingImageUrl, alt: 'onboarding' })), shouldDisplayWrongNetworkState && (jsx(ErrorContainer, { withIcon: false, className: 'collect-user-data__error--not-supported', copykey: 'dyn_collect_user_data.not_supported_network.error_message', children: t('dyn_collect_user_data.not_supported_network.error_message') })), jsxs("div", { className: classNames('collect-user-data__form', {
|
|
114
|
+
'collect-user-data__form--error': shouldDisplayWrongNetworkState,
|
|
115
|
+
}), children: [jsx("div", { className: 'collect-user-data__success-icon', children: jsx(Icon, { color: 'text-primary', size: 'large', children: jsx(SvgCheckConnection, {}) }) }), jsx(OnboardingUserDataForm, { disableSubmit: shouldDisplayWrongNetworkState, userProfile: userWithMissingInfo, children: shouldDisplayWrongNetworkState ? (jsxs("div", { className: 'collect-user-data__welcome-container', children: [jsx(Typography, { variant: 'title', color: 'primary', className: 'collect-user-data__welcome-title', copykey: 'dyn_collect_user_data.not_supported_network.title', children: t('dyn_collect_user_data.not_supported_network.title') }), jsx(Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', copykey: 'dyn_collect_user_data.not_supported_network.description', children: t('dyn_collect_user_data.not_supported_network.description') })] })) : (jsxs("div", { className: 'collect-user-data__welcome-container', children: [jsx(Typography, { variant: 'title', color: 'primary', className: 'collect-user-data__welcome-title', copykey: 'dyn_collect_user_data.greeting', children: (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.collectUserDataWelcomeHeader) ||
|
|
115
116
|
t('dyn_collect_user_data.greeting', { appName }) }), jsx(Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', copykey: 'dyn_collect_user_data.description', children: (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.collectUserDataWelcomeMessage) ||
|
|
116
117
|
t('dyn_collect_user_data.description') })] })) }), jsx(TextButton, { className: 'collect-user-data__log-out', onClick: handleLogOut, copykey: 'dyn_collect_user_data.log_out_button', children: t('dyn_collect_user_data.log_out_button') })] })] }));
|
|
117
118
|
};
|