@dynamic-labs/sdk-react-core 1.1.0-alpha.7 → 1.1.0-alpha.8
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 +17 -0
- package/package.cjs +2 -2
- package/package.js +2 -2
- package/package.json +12 -11
- package/src/index.cjs +2 -0
- package/src/index.js +1 -0
- package/src/lib/components/ChainCard/ChainCard.d.ts +2 -2
- package/src/lib/components/SelectWalletChainLayout/SelectWalletChainLayout.cjs +5 -1
- package/src/lib/components/SelectWalletChainLayout/SelectWalletChainLayout.js +5 -1
- package/src/lib/context/DynamicContext/DynamicContext.cjs +18 -3
- package/src/lib/context/DynamicContext/DynamicContext.js +18 -3
- package/src/lib/context/DynamicContext/hooks/useSetShowAuthFlowWithInit/useSetShowAuthFlowWithInit.cjs +29 -7
- package/src/lib/context/DynamicContext/hooks/useSetShowAuthFlowWithInit/useSetShowAuthFlowWithInit.d.ts +4 -4
- package/src/lib/context/DynamicContext/hooks/useSetShowAuthFlowWithInit/useSetShowAuthFlowWithInit.js +29 -7
- package/src/lib/context/DynamicContext/hooks/useSetShowLinkNewWalletModalWithInit/index.d.ts +1 -0
- package/src/lib/context/DynamicContext/hooks/useSetShowLinkNewWalletModalWithInit/useSetShowLinkNewWalletModalWithInit.cjs +54 -0
- package/src/lib/context/DynamicContext/hooks/useSetShowLinkNewWalletModalWithInit/useSetShowLinkNewWalletModalWithInit.d.ts +18 -0
- package/src/lib/context/DynamicContext/hooks/useSetShowLinkNewWalletModalWithInit/useSetShowLinkNewWalletModalWithInit.js +50 -0
- package/src/lib/context/DynamicContext/types/index.d.ts +1 -0
- package/src/lib/context/DynamicContext/useDynamicContext.cjs +2 -1
- package/src/lib/context/DynamicContext/useDynamicContext.d.ts +1 -1
- package/src/lib/context/DynamicContext/useDynamicContext.js +2 -1
- package/src/lib/context/FundingContext/FundingContext.cjs +4 -1
- package/src/lib/context/FundingContext/FundingContext.js +4 -1
- package/src/lib/context/ViewContext/ViewContext.d.ts +1 -1
- package/src/lib/locale/en/translation.cjs +20 -2
- package/src/lib/locale/en/translation.d.ts +19 -1
- package/src/lib/locale/en/translation.js +20 -2
- package/src/lib/shared/assets/alt-key.cjs +54 -0
- package/src/lib/shared/assets/alt-key.js +30 -0
- package/src/lib/shared/assets/index.d.ts +1 -0
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/functions/walletListBuilder/utils/filterConnectedWallets/filterConnectedWallets.cjs +13 -2
- package/src/lib/utils/functions/walletListBuilder/utils/filterConnectedWallets/filterConnectedWallets.js +13 -2
- package/src/lib/utils/hooks/index.d.ts +1 -0
- package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.cjs +3 -2
- package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.d.ts +6 -1
- package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.js +3 -2
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +2 -1
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +2 -1
- package/src/lib/utils/hooks/useEmbeddedReveal/useEmbeddedReveal.cjs +18 -11
- package/src/lib/utils/hooks/useEmbeddedReveal/useEmbeddedReveal.d.ts +1 -1
- package/src/lib/utils/hooks/useEmbeddedReveal/useEmbeddedReveal.js +18 -11
- package/src/lib/utils/hooks/useWalletConnectorNetwork/index.d.ts +1 -0
- package/src/lib/utils/hooks/useWalletConnectorNetwork/useWalletConnectorNetwork.cjs +42 -0
- package/src/lib/utils/hooks/useWalletConnectorNetwork/useWalletConnectorNetwork.d.ts +18 -0
- package/src/lib/utils/hooks/useWalletConnectorNetwork/useWalletConnectorNetwork.js +38 -0
- package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.cjs +19 -17
- package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.js +19 -17
- package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs +55 -30
- package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.d.ts +7 -1
- package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js +55 -31
- package/src/lib/views/LoginView/LoginView.cjs +60 -7
- package/src/lib/views/LoginView/LoginView.js +60 -7
- package/src/lib/views/NetworkNotSupported/NetworkNotSupported.cjs +3 -4
- package/src/lib/views/NetworkNotSupported/NetworkNotSupported.js +3 -4
- package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +3 -6
- package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +3 -6
- package/src/lib/views/WalletGroupView/WalletGroupView.cjs +70 -1
- package/src/lib/views/WalletGroupView/WalletGroupView.js +71 -2
- package/src/lib/views/WalletGroupView/components/HardwareWalletToggle/HardwareWalletToggle.cjs +72 -0
- package/src/lib/views/WalletGroupView/components/HardwareWalletToggle/HardwareWalletToggle.d.ts +7 -0
- package/src/lib/views/WalletGroupView/components/HardwareWalletToggle/HardwareWalletToggle.js +68 -0
- package/src/lib/views/WalletGroupView/components/HardwareWalletToggle/index.d.ts +1 -0
- package/src/lib/views/WalletGroupView/components/WalletGroupItem/WalletGroupItem.cjs +2 -4
- package/src/lib/views/WalletGroupView/components/WalletGroupItem/WalletGroupItem.d.ts +2 -1
- package/src/lib/views/WalletGroupView/components/WalletGroupItem/WalletGroupItem.js +2 -4
- package/src/lib/views/viewToComponentMap.cjs +1 -0
- package/src/lib/views/viewToComponentMap.js +1 -0
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveBitcoinWalletAddresses/ActiveBitcoinWalletAddresses.cjs +76 -0
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveBitcoinWalletAddresses/ActiveBitcoinWalletAddresses.d.ts +9 -0
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveBitcoinWalletAddresses/ActiveBitcoinWalletAddresses.js +72 -0
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveBitcoinWalletAddresses/index.d.ts +1 -0
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletAddress/ActiveWalletAddress.cjs +67 -0
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletAddress/ActiveWalletAddress.d.ts +9 -0
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletAddress/ActiveWalletAddress.js +63 -0
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletAddress/index.d.ts +1 -0
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +7 -5
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +7 -5
- package/src/lib/widgets/DynamicWidget/views/WalletSettingsView/WalletSettingsView.cjs +8 -6
- package/src/lib/widgets/DynamicWidget/views/WalletSettingsView/WalletSettingsView.js +8 -6
- package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.cjs +2 -2
- package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.js +2 -2
|
@@ -28,8 +28,8 @@ const initExport = ({ iframeContainer, iframeElementId, wallet, }) => __awaiter(
|
|
|
28
28
|
}
|
|
29
29
|
return turnkeyExportHandler;
|
|
30
30
|
});
|
|
31
|
-
const
|
|
32
|
-
var
|
|
31
|
+
const handleExportInitCheck = ({ authToken, userEmail, wallet, }) => {
|
|
32
|
+
var _a, _b;
|
|
33
33
|
if (!authToken) {
|
|
34
34
|
throw new DynamicError('User must be logged in');
|
|
35
35
|
}
|
|
@@ -44,7 +44,7 @@ const exportCredential = ({ authToken, userEmail, wallet, environmentId, }) => _
|
|
|
44
44
|
}
|
|
45
45
|
const connector = wallet.connector;
|
|
46
46
|
connector.setEmail(userEmail);
|
|
47
|
-
const walletProperties = (
|
|
47
|
+
const walletProperties = (_b = (_a = decodedJwt.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'))) === null || _b === void 0 ? void 0 : _b.walletProperties;
|
|
48
48
|
const turnkeyHDWalletId = walletProperties === null || walletProperties === void 0 ? void 0 : walletProperties.turnkeyHDWalletId;
|
|
49
49
|
const privateKeyId = walletProperties === null || walletProperties === void 0 ? void 0 : walletProperties.turnkeyPrivateKeyId;
|
|
50
50
|
const organizationId = walletProperties === null || walletProperties === void 0 ? void 0 : walletProperties.turnkeySubOrganizationId;
|
|
@@ -52,57 +52,81 @@ const exportCredential = ({ authToken, userEmail, wallet, environmentId, }) => _
|
|
|
52
52
|
(turnkeyHDWalletId === undefined && privateKeyId === undefined)) {
|
|
53
53
|
throw new DynamicError('Invalid token!');
|
|
54
54
|
}
|
|
55
|
+
return {
|
|
56
|
+
connector,
|
|
57
|
+
organizationId,
|
|
58
|
+
privateKeyId,
|
|
59
|
+
turnkeyHDWalletId,
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
const extractExportBundle = ({ address, privateKeyId, activity, }) => {
|
|
63
|
+
var _a, _b, _c;
|
|
64
|
+
const exportWalletResult = address
|
|
65
|
+
? (_a = activity.result) === null || _a === void 0 ? void 0 : _a.exportWalletAccountResult
|
|
66
|
+
: (_b = activity.result) === null || _b === void 0 ? void 0 : _b.exportWalletResult;
|
|
67
|
+
const result = privateKeyId
|
|
68
|
+
? (_c = activity.result) === null || _c === void 0 ? void 0 : _c.exportPrivateKeyResult
|
|
69
|
+
: exportWalletResult;
|
|
70
|
+
return result === null || result === void 0 ? void 0 : result.exportBundle;
|
|
71
|
+
};
|
|
72
|
+
const exportCredential = ({ authToken, userEmail, wallet, environmentId, address, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
73
|
+
const { connector, turnkeyHDWalletId, privateKeyId, organizationId } = handleExportInitCheck({
|
|
74
|
+
authToken,
|
|
75
|
+
userEmail,
|
|
76
|
+
wallet,
|
|
77
|
+
});
|
|
55
78
|
const turnkeyExportHandler = connector.getExportHandler();
|
|
56
79
|
const targetPublicKey = turnkeyExportHandler.publicKey;
|
|
57
80
|
if (!targetPublicKey) {
|
|
58
81
|
throw new DynamicError('Must initialize export first');
|
|
59
82
|
}
|
|
60
83
|
// calls turnkey export api
|
|
84
|
+
let newActivity;
|
|
61
85
|
if (turnkeyHDWalletId) {
|
|
62
|
-
|
|
86
|
+
newActivity = yield turnkeyExportHandler.exportWallet({
|
|
87
|
+
address,
|
|
63
88
|
organizationId,
|
|
64
89
|
walletId: turnkeyHDWalletId,
|
|
65
90
|
});
|
|
66
|
-
const activityId = newActivity.id;
|
|
67
|
-
const res = yield exportEmbeddedWallet({
|
|
68
|
-
activityId,
|
|
69
|
-
environmentId,
|
|
70
|
-
userJwt: authToken,
|
|
71
|
-
walletId: wallet.id,
|
|
72
|
-
});
|
|
73
|
-
const exportBundle = res === null || res === void 0 ? void 0 : res.exportBundle;
|
|
74
|
-
if (!exportBundle) {
|
|
75
|
-
throw new DynamicError('Invalid export response');
|
|
76
|
-
}
|
|
77
|
-
const injected = yield turnkeyExportHandler.verifyExportWallet(exportBundle);
|
|
78
|
-
return injected;
|
|
79
91
|
}
|
|
80
92
|
else if (privateKeyId) {
|
|
81
|
-
|
|
93
|
+
newActivity = yield turnkeyExportHandler.exportPrivateKey({
|
|
82
94
|
organizationId,
|
|
83
95
|
privateKeyId,
|
|
84
96
|
});
|
|
85
|
-
|
|
97
|
+
}
|
|
98
|
+
const activityId = newActivity.id;
|
|
99
|
+
const activityStatus = newActivity.status;
|
|
100
|
+
let exportBundle;
|
|
101
|
+
if (activityStatus === 'ACTIVITY_STATUS_COMPLETED') {
|
|
102
|
+
exportBundle = extractExportBundle({
|
|
103
|
+
activity: newActivity,
|
|
104
|
+
address,
|
|
105
|
+
privateKeyId,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
86
109
|
const res = yield exportEmbeddedWallet({
|
|
87
110
|
activityId,
|
|
88
111
|
environmentId,
|
|
89
|
-
userJwt: authToken,
|
|
90
|
-
walletId: wallet.id,
|
|
112
|
+
userJwt: authToken || '',
|
|
113
|
+
walletId: (wallet === null || wallet === void 0 ? void 0 : wallet.id) || '',
|
|
91
114
|
});
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
115
|
+
exportBundle = res === null || res === void 0 ? void 0 : res.exportBundle;
|
|
116
|
+
}
|
|
117
|
+
if (!exportBundle) {
|
|
118
|
+
throw new DynamicError('Invalid export response');
|
|
119
|
+
}
|
|
120
|
+
if (address || privateKeyId) {
|
|
121
|
+
return turnkeyExportHandler.verifyExportPrivateKey(exportBundle);
|
|
98
122
|
}
|
|
99
|
-
|
|
123
|
+
return turnkeyExportHandler.verifyExportWallet(exportBundle);
|
|
100
124
|
});
|
|
101
125
|
const cleanupExport = ({ wallet }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
102
|
-
var
|
|
126
|
+
var _b;
|
|
103
127
|
const connector = wallet === null || wallet === void 0 ? void 0 : wallet.connector;
|
|
104
128
|
// clear iframeStamper and its reference
|
|
105
|
-
(
|
|
129
|
+
(_b = connector === null || connector === void 0 ? void 0 : connector.getExportHandler()) === null || _b === void 0 ? void 0 : _b.clear();
|
|
106
130
|
});
|
|
107
131
|
|
|
108
|
-
export { cleanupExport, exportCredential, initExport };
|
|
132
|
+
export { cleanupExport, exportCredential, extractExportBundle, initExport };
|
|
@@ -12,6 +12,57 @@ var LoadingContext = require('../../context/LoadingContext/LoadingContext.cjs');
|
|
|
12
12
|
var classNames = require('../../utils/functions/classNames/classNames.cjs');
|
|
13
13
|
var ViewContext = require('../../context/ViewContext/ViewContext.cjs');
|
|
14
14
|
var WalletList = require('../WalletList/WalletList.cjs');
|
|
15
|
+
require('../../events/dynamicEvents.cjs');
|
|
16
|
+
require('@dynamic-labs/utils');
|
|
17
|
+
require('../../context/DynamicContext/DynamicContext.cjs');
|
|
18
|
+
require('@dynamic-labs/wallet-connector-core');
|
|
19
|
+
require('../../context/CaptchaContext/CaptchaContext.cjs');
|
|
20
|
+
require('../../shared/logger.cjs');
|
|
21
|
+
require('@dynamic-labs/iconic');
|
|
22
|
+
require('@dynamic-labs/wallet-book');
|
|
23
|
+
require('../../utils/constants/colors.cjs');
|
|
24
|
+
require('../../shared/utils/classes/storage/localStorage.cjs');
|
|
25
|
+
require('viem');
|
|
26
|
+
require('../../shared/consts/index.cjs');
|
|
27
|
+
require('@dynamic-labs/multi-wallet');
|
|
28
|
+
require('../../context/AccessDeniedContext/AccessDeniedContext.cjs');
|
|
29
|
+
require('../../context/AccountExistsContext/AccountExistsContext.cjs');
|
|
30
|
+
require('../../config/ApiEndpoint.cjs');
|
|
31
|
+
require('../../context/EmailVerificationContext/EmailVerificationContext.cjs');
|
|
32
|
+
require('react-dom');
|
|
33
|
+
require('../../context/ThemeContext/ThemeContext.cjs');
|
|
34
|
+
require('@dynamic-labs/types');
|
|
35
|
+
require('yup');
|
|
36
|
+
require('react-i18next');
|
|
37
|
+
require('../../context/MockContext/MockContext.cjs');
|
|
38
|
+
require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
|
|
39
|
+
require('../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
|
|
40
|
+
require('@dynamic-labs/rpc-providers');
|
|
41
|
+
require('../../context/UserWalletsContext/UserWalletsContext.cjs');
|
|
42
|
+
require('../../components/Transition/ZoomTransition/ZoomTransition.cjs');
|
|
43
|
+
require('../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
|
|
44
|
+
require('../../components/Transition/OpacityTransition/OpacityTransition.cjs');
|
|
45
|
+
require('../../components/ShadowDOM/ShadowDOM.cjs');
|
|
46
|
+
require('../../components/OverlayCard/OverlayCard.context.cjs');
|
|
47
|
+
require('../../context/FooterAnimationContext/index.cjs');
|
|
48
|
+
require('../../context/QrCodeContext/QrCodeContext.cjs');
|
|
49
|
+
var Typography = require('../../components/Typography/Typography.cjs');
|
|
50
|
+
require('../../context/WalletGroupContext/WalletGroupContext.cjs');
|
|
51
|
+
require('../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
|
|
52
|
+
require('react-focus-lock');
|
|
53
|
+
require('qrcode');
|
|
54
|
+
require('i18next');
|
|
55
|
+
require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
|
|
56
|
+
require('../../components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.cjs');
|
|
57
|
+
require('formik');
|
|
58
|
+
require('../../components/IconButton/IconButton.cjs');
|
|
59
|
+
require('../../components/Alert/Alert.cjs');
|
|
60
|
+
require('@dynamic-labs/viem-utils');
|
|
61
|
+
require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
|
|
62
|
+
require('../../components/InlineWidget/InlineWidget.cjs');
|
|
63
|
+
require('../../components/MenuList/Dropdown/Dropdown.cjs');
|
|
64
|
+
require('../../components/Popper/Popper/Popper.cjs');
|
|
65
|
+
require('../../components/Popper/PopperContext/PopperContext.cjs');
|
|
15
66
|
var LoginEmailForm = require('./sections/EmailSignInSection/LoginEmailForm.cjs');
|
|
16
67
|
var WalletSignInSection = require('./sections/WalletSignInSection/WalletSignInSection.cjs');
|
|
17
68
|
var SocialSignInSection = require('./sections/SocialSignInSection/SocialSignInSection.cjs');
|
|
@@ -45,17 +96,19 @@ const LoginView = () => {
|
|
|
45
96
|
const numOfWallets = ((_a = logingViewSections.find((section) => section.type === sdkApi.SdkViewSectionType.Wallet)) === null || _a === void 0 ? void 0 : _a.numOfItemsToDisplay) || 0;
|
|
46
97
|
const renderViewSections = React.useMemo(() => logingViewSections.map((viewSection, index) => {
|
|
47
98
|
switch (viewSection.type) {
|
|
48
|
-
case
|
|
99
|
+
case sdkApi.SdkViewSectionType.Separator:
|
|
49
100
|
return (jsxRuntime.jsx(Divider.Divider, { text: viewSection.label }, `${viewSection.type}_${index}`));
|
|
50
|
-
case
|
|
101
|
+
case sdkApi.SdkViewSectionType.Email:
|
|
51
102
|
return (jsxRuntime.jsx(LoginEmailForm.LoginEmailForm, { onSubmit: () => setIsLoading(true), onSubmitError: () => setIsLoading(false), isLoading: isLoading }, `${viewSection.type}_${index}`));
|
|
52
|
-
case
|
|
103
|
+
case sdkApi.SdkViewSectionType.Wallet:
|
|
53
104
|
return (jsxRuntime.jsx(WalletSignInSection.WalletSignInSection, { numberOfItensToShow: viewSection.numOfItemsToDisplay || 0, onSubmit: () => {
|
|
54
105
|
setView('login-with-email-or-wallet-full-wallet-list'); // this view is just to show the back button
|
|
55
106
|
setShowWalletList(true);
|
|
56
107
|
}, isLoading: isLoading }, `${viewSection.type}_${index}`));
|
|
57
|
-
case
|
|
108
|
+
case sdkApi.SdkViewSectionType.Social:
|
|
58
109
|
return (jsxRuntime.jsx(SocialSignInSection.SocialSignInSection, { collapsedLayout: numOfWallets > 1, sectionData: viewSection }, `${viewSection.type}_${index}`));
|
|
110
|
+
case sdkApi.SdkViewSectionType.Text:
|
|
111
|
+
return (jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', color: 'secondary', align: viewSection.alignment, className: 'login-view__text', children: viewSection.label }, `${viewSection.type}_${index}`));
|
|
59
112
|
default:
|
|
60
113
|
return null;
|
|
61
114
|
}
|
|
@@ -63,9 +116,9 @@ const LoginView = () => {
|
|
|
63
116
|
if (showWalletList) {
|
|
64
117
|
return jsxRuntime.jsx(WalletList.WalletList, {});
|
|
65
118
|
}
|
|
66
|
-
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [error && (jsxRuntime.jsx(ErrorContainer.ErrorContainer, { className: 'login-
|
|
67
|
-
'login-
|
|
68
|
-
}), children: jsxRuntime.jsx("div", { className: 'login-
|
|
119
|
+
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [error && (jsxRuntime.jsx(ErrorContainer.ErrorContainer, { className: 'login-view__error-container', withIcon: false, children: error })), jsxRuntime.jsx("div", { className: classNames.classNames('login-view__container', {
|
|
120
|
+
'login-view__container--error': Boolean(error),
|
|
121
|
+
}), children: jsxRuntime.jsx("div", { className: 'login-view__scroll', "data-testid": 'login-view-scroll', children: renderViewSections }) })] }));
|
|
69
122
|
};
|
|
70
123
|
|
|
71
124
|
exports.LoginView = LoginView;
|
|
@@ -8,6 +8,57 @@ import { useLoadingContext } from '../../context/LoadingContext/LoadingContext.j
|
|
|
8
8
|
import { classNames } from '../../utils/functions/classNames/classNames.js';
|
|
9
9
|
import { useViewContext } from '../../context/ViewContext/ViewContext.js';
|
|
10
10
|
import { WalletList } from '../WalletList/WalletList.js';
|
|
11
|
+
import '../../events/dynamicEvents.js';
|
|
12
|
+
import '@dynamic-labs/utils';
|
|
13
|
+
import '../../context/DynamicContext/DynamicContext.js';
|
|
14
|
+
import '@dynamic-labs/wallet-connector-core';
|
|
15
|
+
import '../../context/CaptchaContext/CaptchaContext.js';
|
|
16
|
+
import '../../shared/logger.js';
|
|
17
|
+
import '@dynamic-labs/iconic';
|
|
18
|
+
import '@dynamic-labs/wallet-book';
|
|
19
|
+
import '../../utils/constants/colors.js';
|
|
20
|
+
import '../../shared/utils/classes/storage/localStorage.js';
|
|
21
|
+
import 'viem';
|
|
22
|
+
import '../../shared/consts/index.js';
|
|
23
|
+
import '@dynamic-labs/multi-wallet';
|
|
24
|
+
import '../../context/AccessDeniedContext/AccessDeniedContext.js';
|
|
25
|
+
import '../../context/AccountExistsContext/AccountExistsContext.js';
|
|
26
|
+
import '../../config/ApiEndpoint.js';
|
|
27
|
+
import '../../context/EmailVerificationContext/EmailVerificationContext.js';
|
|
28
|
+
import 'react-dom';
|
|
29
|
+
import '../../context/ThemeContext/ThemeContext.js';
|
|
30
|
+
import '@dynamic-labs/types';
|
|
31
|
+
import 'yup';
|
|
32
|
+
import 'react-i18next';
|
|
33
|
+
import '../../context/MockContext/MockContext.js';
|
|
34
|
+
import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
|
|
35
|
+
import '../../context/UserFieldEditorContext/UserFieldEditorContext.js';
|
|
36
|
+
import '@dynamic-labs/rpc-providers';
|
|
37
|
+
import '../../context/UserWalletsContext/UserWalletsContext.js';
|
|
38
|
+
import '../../components/Transition/ZoomTransition/ZoomTransition.js';
|
|
39
|
+
import '../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
|
|
40
|
+
import '../../components/Transition/OpacityTransition/OpacityTransition.js';
|
|
41
|
+
import '../../components/ShadowDOM/ShadowDOM.js';
|
|
42
|
+
import '../../components/OverlayCard/OverlayCard.context.js';
|
|
43
|
+
import '../../context/FooterAnimationContext/index.js';
|
|
44
|
+
import '../../context/QrCodeContext/QrCodeContext.js';
|
|
45
|
+
import { Typography } from '../../components/Typography/Typography.js';
|
|
46
|
+
import '../../context/WalletGroupContext/WalletGroupContext.js';
|
|
47
|
+
import '../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
|
|
48
|
+
import 'react-focus-lock';
|
|
49
|
+
import 'qrcode';
|
|
50
|
+
import 'i18next';
|
|
51
|
+
import '../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
|
|
52
|
+
import '../../components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.js';
|
|
53
|
+
import 'formik';
|
|
54
|
+
import '../../components/IconButton/IconButton.js';
|
|
55
|
+
import '../../components/Alert/Alert.js';
|
|
56
|
+
import '@dynamic-labs/viem-utils';
|
|
57
|
+
import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
|
|
58
|
+
import '../../components/InlineWidget/InlineWidget.js';
|
|
59
|
+
import '../../components/MenuList/Dropdown/Dropdown.js';
|
|
60
|
+
import '../../components/Popper/Popper/Popper.js';
|
|
61
|
+
import '../../components/Popper/PopperContext/PopperContext.js';
|
|
11
62
|
import { LoginEmailForm } from './sections/EmailSignInSection/LoginEmailForm.js';
|
|
12
63
|
import { WalletSignInSection } from './sections/WalletSignInSection/WalletSignInSection.js';
|
|
13
64
|
import { SocialSignInSection } from './sections/SocialSignInSection/SocialSignInSection.js';
|
|
@@ -41,17 +92,19 @@ const LoginView = () => {
|
|
|
41
92
|
const numOfWallets = ((_a = logingViewSections.find((section) => section.type === SdkViewSectionType.Wallet)) === null || _a === void 0 ? void 0 : _a.numOfItemsToDisplay) || 0;
|
|
42
93
|
const renderViewSections = useMemo(() => logingViewSections.map((viewSection, index) => {
|
|
43
94
|
switch (viewSection.type) {
|
|
44
|
-
case
|
|
95
|
+
case SdkViewSectionType.Separator:
|
|
45
96
|
return (jsx(Divider, { text: viewSection.label }, `${viewSection.type}_${index}`));
|
|
46
|
-
case
|
|
97
|
+
case SdkViewSectionType.Email:
|
|
47
98
|
return (jsx(LoginEmailForm, { onSubmit: () => setIsLoading(true), onSubmitError: () => setIsLoading(false), isLoading: isLoading }, `${viewSection.type}_${index}`));
|
|
48
|
-
case
|
|
99
|
+
case SdkViewSectionType.Wallet:
|
|
49
100
|
return (jsx(WalletSignInSection, { numberOfItensToShow: viewSection.numOfItemsToDisplay || 0, onSubmit: () => {
|
|
50
101
|
setView('login-with-email-or-wallet-full-wallet-list'); // this view is just to show the back button
|
|
51
102
|
setShowWalletList(true);
|
|
52
103
|
}, isLoading: isLoading }, `${viewSection.type}_${index}`));
|
|
53
|
-
case
|
|
104
|
+
case SdkViewSectionType.Social:
|
|
54
105
|
return (jsx(SocialSignInSection, { collapsedLayout: numOfWallets > 1, sectionData: viewSection }, `${viewSection.type}_${index}`));
|
|
106
|
+
case SdkViewSectionType.Text:
|
|
107
|
+
return (jsx(Typography, { variant: 'body_normal', color: 'secondary', align: viewSection.alignment, className: 'login-view__text', children: viewSection.label }, `${viewSection.type}_${index}`));
|
|
55
108
|
default:
|
|
56
109
|
return null;
|
|
57
110
|
}
|
|
@@ -59,9 +112,9 @@ const LoginView = () => {
|
|
|
59
112
|
if (showWalletList) {
|
|
60
113
|
return jsx(WalletList, {});
|
|
61
114
|
}
|
|
62
|
-
return (jsxs(Fragment, { children: [error && (jsx(ErrorContainer, { className: 'login-
|
|
63
|
-
'login-
|
|
64
|
-
}), children: jsx("div", { className: 'login-
|
|
115
|
+
return (jsxs(Fragment, { children: [error && (jsx(ErrorContainer, { className: 'login-view__error-container', withIcon: false, children: error })), jsx("div", { className: classNames('login-view__container', {
|
|
116
|
+
'login-view__container--error': Boolean(error),
|
|
117
|
+
}), children: jsx("div", { className: 'login-view__scroll', "data-testid": 'login-view-scroll', children: renderViewSections }) })] }));
|
|
65
118
|
};
|
|
66
119
|
|
|
67
120
|
export { LoginView };
|
|
@@ -31,7 +31,6 @@ require('../../context/CaptchaContext/CaptchaContext.cjs');
|
|
|
31
31
|
require('../../context/EmailVerificationContext/EmailVerificationContext.cjs');
|
|
32
32
|
require('react-dom');
|
|
33
33
|
require('../../context/ThemeContext/ThemeContext.cjs');
|
|
34
|
-
var usePromise = require('../../utils/hooks/usePromise/usePromise.cjs');
|
|
35
34
|
require('@dynamic-labs/types');
|
|
36
35
|
require('yup');
|
|
37
36
|
require('../../context/MockContext/MockContext.cjs');
|
|
@@ -61,6 +60,7 @@ require('../../components/IconButton/IconButton.cjs');
|
|
|
61
60
|
require('../../components/Alert/Alert.cjs');
|
|
62
61
|
require('@dynamic-labs/viem-utils');
|
|
63
62
|
require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
|
|
63
|
+
var useWalletConnectorNetwork = require('../../utils/hooks/useWalletConnectorNetwork/useWalletConnectorNetwork.cjs');
|
|
64
64
|
require('../../components/InlineWidget/InlineWidget.cjs');
|
|
65
65
|
require('../../components/MenuList/Dropdown/Dropdown.cjs');
|
|
66
66
|
require('../../components/Popper/Popper/Popper.cjs');
|
|
@@ -70,10 +70,9 @@ var UserAddress = require('../../components/UserAddress/UserAddress.cjs');
|
|
|
70
70
|
var SelectNetworkButton = require('../../components/SelectNetworkButton/SelectNetworkButton.cjs');
|
|
71
71
|
|
|
72
72
|
const NetworkNotSupported = () => {
|
|
73
|
-
const { onboardingImageUrl, selectedWalletConnector: walletConnector,
|
|
73
|
+
const { onboardingImageUrl, selectedWalletConnector: walletConnector, isFullyConnected, setShowAuthFlow, bridgeChainsToConnect, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
74
74
|
const { t } = reactI18next.useTranslation();
|
|
75
|
-
|
|
76
|
-
const { data: walletConnectorNetwork } = usePromise.usePromise(() => walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.getNetwork(), { deps: [primaryWallet, walletConnector, connectedWallets] });
|
|
75
|
+
const { network: walletConnectorNetwork } = useWalletConnectorNetwork.useWalletConnectorNetwork(walletConnector);
|
|
77
76
|
const finishConnectAndSign = useConnectAndSign.useConnectAndSign({
|
|
78
77
|
shouldCallCallback: false,
|
|
79
78
|
shouldUpdateWallets: !isFullyConnected ||
|
|
@@ -27,7 +27,6 @@ import '../../context/CaptchaContext/CaptchaContext.js';
|
|
|
27
27
|
import '../../context/EmailVerificationContext/EmailVerificationContext.js';
|
|
28
28
|
import 'react-dom';
|
|
29
29
|
import '../../context/ThemeContext/ThemeContext.js';
|
|
30
|
-
import { usePromise } from '../../utils/hooks/usePromise/usePromise.js';
|
|
31
30
|
import '@dynamic-labs/types';
|
|
32
31
|
import 'yup';
|
|
33
32
|
import '../../context/MockContext/MockContext.js';
|
|
@@ -57,6 +56,7 @@ import '../../components/IconButton/IconButton.js';
|
|
|
57
56
|
import '../../components/Alert/Alert.js';
|
|
58
57
|
import '@dynamic-labs/viem-utils';
|
|
59
58
|
import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
|
|
59
|
+
import { useWalletConnectorNetwork } from '../../utils/hooks/useWalletConnectorNetwork/useWalletConnectorNetwork.js';
|
|
60
60
|
import '../../components/InlineWidget/InlineWidget.js';
|
|
61
61
|
import '../../components/MenuList/Dropdown/Dropdown.js';
|
|
62
62
|
import '../../components/Popper/Popper/Popper.js';
|
|
@@ -66,10 +66,9 @@ import { UserAddress } from '../../components/UserAddress/UserAddress.js';
|
|
|
66
66
|
import { SelectNetworkButton } from '../../components/SelectNetworkButton/SelectNetworkButton.js';
|
|
67
67
|
|
|
68
68
|
const NetworkNotSupported = () => {
|
|
69
|
-
const { onboardingImageUrl, selectedWalletConnector: walletConnector,
|
|
69
|
+
const { onboardingImageUrl, selectedWalletConnector: walletConnector, isFullyConnected, setShowAuthFlow, bridgeChainsToConnect, } = useInternalDynamicContext();
|
|
70
70
|
const { t } = useTranslation();
|
|
71
|
-
|
|
72
|
-
const { data: walletConnectorNetwork } = usePromise(() => walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.getNetwork(), { deps: [primaryWallet, walletConnector, connectedWallets] });
|
|
71
|
+
const { network: walletConnectorNetwork } = useWalletConnectorNetwork(walletConnector);
|
|
73
72
|
const finishConnectAndSign = useConnectAndSign({
|
|
74
73
|
shouldCallCallback: false,
|
|
75
74
|
shouldUpdateWallets: !isFullyConnected ||
|
|
@@ -31,7 +31,6 @@ require('../../context/CaptchaContext/CaptchaContext.cjs');
|
|
|
31
31
|
require('../../context/EmailVerificationContext/EmailVerificationContext.cjs');
|
|
32
32
|
require('react-dom');
|
|
33
33
|
require('../../context/ThemeContext/ThemeContext.cjs');
|
|
34
|
-
var usePromise = require('../../utils/hooks/usePromise/usePromise.cjs');
|
|
35
34
|
require('@dynamic-labs/types');
|
|
36
35
|
require('yup');
|
|
37
36
|
require('../../context/MockContext/MockContext.cjs');
|
|
@@ -61,6 +60,7 @@ require('../../components/IconButton/IconButton.cjs');
|
|
|
61
60
|
require('../../components/Alert/Alert.cjs');
|
|
62
61
|
require('@dynamic-labs/viem-utils');
|
|
63
62
|
require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
|
|
63
|
+
var useWalletConnectorNetwork = require('../../utils/hooks/useWalletConnectorNetwork/useWalletConnectorNetwork.cjs');
|
|
64
64
|
require('../../components/InlineWidget/InlineWidget.cjs');
|
|
65
65
|
require('../../components/MenuList/Dropdown/Dropdown.cjs');
|
|
66
66
|
require('../../components/Popper/Popper/Popper.cjs');
|
|
@@ -70,12 +70,9 @@ require('../../components/Popper/PopperContext/PopperContext.cjs');
|
|
|
70
70
|
// as the wallet does not support programmatic network change.
|
|
71
71
|
const NetworkNotSupportedSwitchManual = () => {
|
|
72
72
|
var _a, _b;
|
|
73
|
-
const { user, selectedWalletConnector: walletConnector,
|
|
73
|
+
const { user, selectedWalletConnector: walletConnector, isFullyConnected, setShowAuthFlow, bridgeChainsToConnect, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
74
74
|
const { t } = reactI18next.useTranslation();
|
|
75
|
-
|
|
76
|
-
const { data: walletConnectorNetwork } = usePromise.usePromise(() => walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.getNetwork(), {
|
|
77
|
-
deps: [walletConnector, connectedWallets],
|
|
78
|
-
});
|
|
75
|
+
const { network: walletConnectorNetwork } = useWalletConnectorNetwork.useWalletConnectorNetwork(walletConnector);
|
|
79
76
|
const finishConnectAndSign = useConnectAndSign.useConnectAndSign({
|
|
80
77
|
shouldCallCallback: false,
|
|
81
78
|
shouldUpdateWallets: !isFullyConnected ||
|
|
@@ -27,7 +27,6 @@ import '../../context/CaptchaContext/CaptchaContext.js';
|
|
|
27
27
|
import '../../context/EmailVerificationContext/EmailVerificationContext.js';
|
|
28
28
|
import 'react-dom';
|
|
29
29
|
import '../../context/ThemeContext/ThemeContext.js';
|
|
30
|
-
import { usePromise } from '../../utils/hooks/usePromise/usePromise.js';
|
|
31
30
|
import '@dynamic-labs/types';
|
|
32
31
|
import 'yup';
|
|
33
32
|
import '../../context/MockContext/MockContext.js';
|
|
@@ -57,6 +56,7 @@ import '../../components/IconButton/IconButton.js';
|
|
|
57
56
|
import '../../components/Alert/Alert.js';
|
|
58
57
|
import '@dynamic-labs/viem-utils';
|
|
59
58
|
import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
|
|
59
|
+
import { useWalletConnectorNetwork } from '../../utils/hooks/useWalletConnectorNetwork/useWalletConnectorNetwork.js';
|
|
60
60
|
import '../../components/InlineWidget/InlineWidget.js';
|
|
61
61
|
import '../../components/MenuList/Dropdown/Dropdown.js';
|
|
62
62
|
import '../../components/Popper/Popper/Popper.js';
|
|
@@ -66,12 +66,9 @@ import '../../components/Popper/PopperContext/PopperContext.js';
|
|
|
66
66
|
// as the wallet does not support programmatic network change.
|
|
67
67
|
const NetworkNotSupportedSwitchManual = () => {
|
|
68
68
|
var _a, _b;
|
|
69
|
-
const { user, selectedWalletConnector: walletConnector,
|
|
69
|
+
const { user, selectedWalletConnector: walletConnector, isFullyConnected, setShowAuthFlow, bridgeChainsToConnect, } = useInternalDynamicContext();
|
|
70
70
|
const { t } = useTranslation();
|
|
71
|
-
|
|
72
|
-
const { data: walletConnectorNetwork } = usePromise(() => walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.getNetwork(), {
|
|
73
|
-
deps: [walletConnector, connectedWallets],
|
|
74
|
-
});
|
|
71
|
+
const { network: walletConnectorNetwork } = useWalletConnectorNetwork(walletConnector);
|
|
75
72
|
const finishConnectAndSign = useConnectAndSign({
|
|
76
73
|
shouldCallCallback: false,
|
|
77
74
|
shouldUpdateWallets: !isFullyConnected ||
|
|
@@ -3,19 +3,88 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var React = require('react');
|
|
6
7
|
var walletBook = require('@dynamic-labs/wallet-book');
|
|
7
8
|
var SelectWalletChainLayout = require('../../components/SelectWalletChainLayout/SelectWalletChainLayout.cjs');
|
|
8
9
|
var WalletGroupContext = require('../../context/WalletGroupContext/WalletGroupContext.cjs');
|
|
10
|
+
require('../../events/dynamicEvents.cjs');
|
|
11
|
+
require('@dynamic-labs/utils');
|
|
12
|
+
require('../../context/DynamicContext/DynamicContext.cjs');
|
|
13
|
+
require('@dynamic-labs/wallet-connector-core');
|
|
14
|
+
require('../../context/CaptchaContext/CaptchaContext.cjs');
|
|
15
|
+
require('../../context/ErrorContext/ErrorContext.cjs');
|
|
16
|
+
require('../../context/ViewContext/ViewContext.cjs');
|
|
17
|
+
require('@dynamic-labs/sdk-api');
|
|
18
|
+
require('../../shared/logger.cjs');
|
|
19
|
+
require('@dynamic-labs/iconic');
|
|
20
|
+
require('../../utils/constants/colors.cjs');
|
|
21
|
+
require('../../shared/utils/classes/storage/localStorage.cjs');
|
|
22
|
+
require('viem');
|
|
23
|
+
require('../../shared/consts/index.cjs');
|
|
24
|
+
require('@dynamic-labs/multi-wallet');
|
|
25
|
+
require('../../context/AccessDeniedContext/AccessDeniedContext.cjs');
|
|
26
|
+
require('../../context/AccountExistsContext/AccountExistsContext.cjs');
|
|
27
|
+
require('../../config/ApiEndpoint.cjs');
|
|
28
|
+
require('../../context/EmailVerificationContext/EmailVerificationContext.cjs');
|
|
29
|
+
require('react-dom');
|
|
30
|
+
require('../../context/ThemeContext/ThemeContext.cjs');
|
|
31
|
+
require('@dynamic-labs/types');
|
|
32
|
+
require('yup');
|
|
33
|
+
require('react-i18next');
|
|
34
|
+
require('../../context/MockContext/MockContext.cjs');
|
|
35
|
+
require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
|
|
36
|
+
require('../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
|
|
37
|
+
require('@dynamic-labs/rpc-providers');
|
|
38
|
+
require('../../context/UserWalletsContext/UserWalletsContext.cjs');
|
|
39
|
+
var useWalletItemActions = require('../../utils/hooks/useWalletItemActions/useWalletItemActions.cjs');
|
|
40
|
+
require('../../components/Alert/Alert.cjs');
|
|
41
|
+
require('../../components/ShadowDOM/ShadowDOM.cjs');
|
|
42
|
+
require('../../components/IconButton/IconButton.cjs');
|
|
43
|
+
require('../../components/InlineWidget/InlineWidget.cjs');
|
|
44
|
+
require('../../components/MenuList/Dropdown/Dropdown.cjs');
|
|
45
|
+
require('../../components/Transition/ZoomTransition/ZoomTransition.cjs');
|
|
46
|
+
require('../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
|
|
47
|
+
require('../../components/Transition/OpacityTransition/OpacityTransition.cjs');
|
|
48
|
+
require('../../components/Popper/Popper/Popper.cjs');
|
|
49
|
+
require('../../components/Popper/PopperContext/PopperContext.cjs');
|
|
50
|
+
require('react-focus-lock');
|
|
51
|
+
require('formik');
|
|
52
|
+
require('i18next');
|
|
53
|
+
require('../../components/OverlayCard/OverlayCard.context.cjs');
|
|
54
|
+
var Divider = require('../../components/Divider/Divider.cjs');
|
|
55
|
+
require('../../context/FooterAnimationContext/index.cjs');
|
|
56
|
+
require('../../context/QrCodeContext/QrCodeContext.cjs');
|
|
57
|
+
require('../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
|
|
58
|
+
require('../../context/LoadingContext/LoadingContext.cjs');
|
|
59
|
+
require('qrcode');
|
|
60
|
+
require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
|
|
61
|
+
require('../../components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.cjs');
|
|
62
|
+
require('@dynamic-labs/viem-utils');
|
|
63
|
+
require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
|
|
9
64
|
var WalletGroupItem = require('./components/WalletGroupItem/WalletGroupItem.cjs');
|
|
65
|
+
var HardwareWalletToggle = require('./components/HardwareWalletToggle/HardwareWalletToggle.cjs');
|
|
10
66
|
|
|
67
|
+
const hardwareWallets = ['phantomledger'];
|
|
68
|
+
const isHardwareWallet = (wallet) => hardwareWallets.includes(wallet.key);
|
|
11
69
|
const WalletGroupView = () => {
|
|
12
70
|
var _a;
|
|
13
71
|
const { selectedWalletGroup } = WalletGroupContext.useWalletGroupContext();
|
|
14
72
|
const { walletBook: walletBook$1 } = walletBook.useWalletBookContext();
|
|
73
|
+
const { handleWalletItemClick } = useWalletItemActions.useWalletItemActions();
|
|
74
|
+
const [isHardwareWalletEnabled, setIsHardwareWalletEnabled] = React.useState(false);
|
|
15
75
|
if (!selectedWalletGroup)
|
|
16
76
|
throw new Error('Could not access WalletGroup view without selected group');
|
|
17
77
|
const walletBookData = walletBook.getWalletGroup(walletBook$1, selectedWalletGroup === null || selectedWalletGroup === void 0 ? void 0 : selectedWalletGroup.key);
|
|
18
|
-
|
|
78
|
+
const wallets = selectedWalletGroup.groupedWallets.filter((wallet) => !isHardwareWallet(wallet));
|
|
79
|
+
const hardwareWallet = selectedWalletGroup.groupedWallets.find(isHardwareWallet);
|
|
80
|
+
const isHardwareWalletPresent = Boolean(hardwareWallet);
|
|
81
|
+
return (jsxRuntime.jsx(SelectWalletChainLayout.SelectWalletChainLayout, { HeaderIcon: jsxRuntime.jsx(walletBook.WalletIcon, { walletKey: (_a = walletBookData.brand) === null || _a === void 0 ? void 0 : _a.spriteId }), children: jsxRuntime.jsxs("div", { className: 'wallet-group__list', children: [isHardwareWalletPresent && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(HardwareWalletToggle.HardwareWalletToggle, { checked: isHardwareWalletEnabled, onChecked: setIsHardwareWalletEnabled }), jsxRuntime.jsx(Divider.Divider, {})] })), jsxRuntime.jsx("div", { className: 'select-wallet-chain-layout__list', children: wallets.map((wallet, index) => (jsxRuntime.jsx(WalletGroupItem.WalletGroupItem, { wallet: wallet, onClick: () => {
|
|
82
|
+
if (isHardwareWalletEnabled && hardwareWallet) {
|
|
83
|
+
handleWalletItemClick(hardwareWallet);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
handleWalletItemClick(wallet);
|
|
87
|
+
} }, `${wallet.key}_${index}`))) })] }) }));
|
|
19
88
|
};
|
|
20
89
|
|
|
21
90
|
exports.WalletGroupView = WalletGroupView;
|
|
@@ -1,17 +1,86 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { useState } from 'react';
|
|
2
3
|
import { useWalletBookContext, getWalletGroup, WalletIcon } from '@dynamic-labs/wallet-book';
|
|
3
4
|
import { SelectWalletChainLayout } from '../../components/SelectWalletChainLayout/SelectWalletChainLayout.js';
|
|
4
5
|
import { useWalletGroupContext } from '../../context/WalletGroupContext/WalletGroupContext.js';
|
|
6
|
+
import '../../events/dynamicEvents.js';
|
|
7
|
+
import '@dynamic-labs/utils';
|
|
8
|
+
import '../../context/DynamicContext/DynamicContext.js';
|
|
9
|
+
import '@dynamic-labs/wallet-connector-core';
|
|
10
|
+
import '../../context/CaptchaContext/CaptchaContext.js';
|
|
11
|
+
import '../../context/ErrorContext/ErrorContext.js';
|
|
12
|
+
import '../../context/ViewContext/ViewContext.js';
|
|
13
|
+
import '@dynamic-labs/sdk-api';
|
|
14
|
+
import '../../shared/logger.js';
|
|
15
|
+
import '@dynamic-labs/iconic';
|
|
16
|
+
import '../../utils/constants/colors.js';
|
|
17
|
+
import '../../shared/utils/classes/storage/localStorage.js';
|
|
18
|
+
import 'viem';
|
|
19
|
+
import '../../shared/consts/index.js';
|
|
20
|
+
import '@dynamic-labs/multi-wallet';
|
|
21
|
+
import '../../context/AccessDeniedContext/AccessDeniedContext.js';
|
|
22
|
+
import '../../context/AccountExistsContext/AccountExistsContext.js';
|
|
23
|
+
import '../../config/ApiEndpoint.js';
|
|
24
|
+
import '../../context/EmailVerificationContext/EmailVerificationContext.js';
|
|
25
|
+
import 'react-dom';
|
|
26
|
+
import '../../context/ThemeContext/ThemeContext.js';
|
|
27
|
+
import '@dynamic-labs/types';
|
|
28
|
+
import 'yup';
|
|
29
|
+
import 'react-i18next';
|
|
30
|
+
import '../../context/MockContext/MockContext.js';
|
|
31
|
+
import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
|
|
32
|
+
import '../../context/UserFieldEditorContext/UserFieldEditorContext.js';
|
|
33
|
+
import '@dynamic-labs/rpc-providers';
|
|
34
|
+
import '../../context/UserWalletsContext/UserWalletsContext.js';
|
|
35
|
+
import { useWalletItemActions } from '../../utils/hooks/useWalletItemActions/useWalletItemActions.js';
|
|
36
|
+
import '../../components/Alert/Alert.js';
|
|
37
|
+
import '../../components/ShadowDOM/ShadowDOM.js';
|
|
38
|
+
import '../../components/IconButton/IconButton.js';
|
|
39
|
+
import '../../components/InlineWidget/InlineWidget.js';
|
|
40
|
+
import '../../components/MenuList/Dropdown/Dropdown.js';
|
|
41
|
+
import '../../components/Transition/ZoomTransition/ZoomTransition.js';
|
|
42
|
+
import '../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
|
|
43
|
+
import '../../components/Transition/OpacityTransition/OpacityTransition.js';
|
|
44
|
+
import '../../components/Popper/Popper/Popper.js';
|
|
45
|
+
import '../../components/Popper/PopperContext/PopperContext.js';
|
|
46
|
+
import 'react-focus-lock';
|
|
47
|
+
import 'formik';
|
|
48
|
+
import 'i18next';
|
|
49
|
+
import '../../components/OverlayCard/OverlayCard.context.js';
|
|
50
|
+
import { Divider } from '../../components/Divider/Divider.js';
|
|
51
|
+
import '../../context/FooterAnimationContext/index.js';
|
|
52
|
+
import '../../context/QrCodeContext/QrCodeContext.js';
|
|
53
|
+
import '../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
|
|
54
|
+
import '../../context/LoadingContext/LoadingContext.js';
|
|
55
|
+
import 'qrcode';
|
|
56
|
+
import '../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
|
|
57
|
+
import '../../components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.js';
|
|
58
|
+
import '@dynamic-labs/viem-utils';
|
|
59
|
+
import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
|
|
5
60
|
import { WalletGroupItem } from './components/WalletGroupItem/WalletGroupItem.js';
|
|
61
|
+
import { HardwareWalletToggle } from './components/HardwareWalletToggle/HardwareWalletToggle.js';
|
|
6
62
|
|
|
63
|
+
const hardwareWallets = ['phantomledger'];
|
|
64
|
+
const isHardwareWallet = (wallet) => hardwareWallets.includes(wallet.key);
|
|
7
65
|
const WalletGroupView = () => {
|
|
8
66
|
var _a;
|
|
9
67
|
const { selectedWalletGroup } = useWalletGroupContext();
|
|
10
68
|
const { walletBook } = useWalletBookContext();
|
|
69
|
+
const { handleWalletItemClick } = useWalletItemActions();
|
|
70
|
+
const [isHardwareWalletEnabled, setIsHardwareWalletEnabled] = useState(false);
|
|
11
71
|
if (!selectedWalletGroup)
|
|
12
72
|
throw new Error('Could not access WalletGroup view without selected group');
|
|
13
73
|
const walletBookData = getWalletGroup(walletBook, selectedWalletGroup === null || selectedWalletGroup === void 0 ? void 0 : selectedWalletGroup.key);
|
|
14
|
-
|
|
74
|
+
const wallets = selectedWalletGroup.groupedWallets.filter((wallet) => !isHardwareWallet(wallet));
|
|
75
|
+
const hardwareWallet = selectedWalletGroup.groupedWallets.find(isHardwareWallet);
|
|
76
|
+
const isHardwareWalletPresent = Boolean(hardwareWallet);
|
|
77
|
+
return (jsx(SelectWalletChainLayout, { HeaderIcon: jsx(WalletIcon, { walletKey: (_a = walletBookData.brand) === null || _a === void 0 ? void 0 : _a.spriteId }), children: jsxs("div", { className: 'wallet-group__list', children: [isHardwareWalletPresent && (jsxs(Fragment, { children: [jsx(HardwareWalletToggle, { checked: isHardwareWalletEnabled, onChecked: setIsHardwareWalletEnabled }), jsx(Divider, {})] })), jsx("div", { className: 'select-wallet-chain-layout__list', children: wallets.map((wallet, index) => (jsx(WalletGroupItem, { wallet: wallet, onClick: () => {
|
|
78
|
+
if (isHardwareWalletEnabled && hardwareWallet) {
|
|
79
|
+
handleWalletItemClick(hardwareWallet);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
handleWalletItemClick(wallet);
|
|
83
|
+
} }, `${wallet.key}_${index}`))) })] }) }));
|
|
15
84
|
};
|
|
16
85
|
|
|
17
86
|
export { WalletGroupView };
|