@dynamic-labs/sdk-react-core 0.17.0-RC.24 → 0.17.0-RC.26
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 +26 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +7 -7
- package/src/lib/components/{WalletOrSocialMagicIcon/WalletOrSocialMagicIcon.cjs → AuthProviderIcon/AuthProviderIcon.cjs} +22 -18
- package/src/lib/components/{WalletOrSocialMagicIcon/WalletOrSocialMagicIcon.d.ts → AuthProviderIcon/AuthProviderIcon.d.ts} +1 -1
- package/src/lib/components/{WalletOrSocialMagicIcon/WalletOrSocialMagicIcon.js → AuthProviderIcon/AuthProviderIcon.js} +23 -19
- package/src/lib/components/AuthProviderIcon/index.d.ts +1 -0
- package/src/lib/components/FormFieldLabel/FormFieldLabel.cjs +10 -0
- package/src/lib/components/FormFieldLabel/FormFieldLabel.d.ts +8 -0
- package/src/lib/components/FormFieldLabel/FormFieldLabel.js +6 -0
- package/src/lib/components/FormFieldLabel/index.d.ts +1 -0
- package/src/lib/components/Input/Input.cjs +8 -8
- package/src/lib/components/Input/Input.js +9 -9
- package/src/lib/components/OTPVerificationView/OTPVerificationView.cjs +2 -1
- package/src/lib/components/OTPVerificationView/OTPVerificationView.js +2 -1
- package/src/lib/components/SendBalanceForm/SendBalanceForm.cjs +1 -1
- package/src/lib/components/SendBalanceForm/SendBalanceForm.js +1 -1
- package/src/lib/components/SendBalancePageLayout/SendBalancePageLayout.cjs +2 -1
- package/src/lib/components/SendBalancePageLayout/SendBalancePageLayout.js +2 -1
- package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.cjs +1 -1
- package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.js +1 -1
- package/src/lib/components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.cjs +2 -2
- package/src/lib/components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.d.ts +2 -0
- package/src/lib/components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.js +2 -2
- package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.cjs +18 -9
- package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.js +18 -9
- package/src/lib/components/index.d.ts +1 -0
- package/src/lib/context/SocialRedirectContext/SocialRedirectContext.cjs +7 -0
- package/src/lib/context/SocialRedirectContext/SocialRedirectContext.js +7 -0
- package/src/lib/shared/assets/add.cjs +8 -9
- package/src/lib/shared/assets/add.js +8 -9
- package/src/lib/shared/utils/functions/shortenEmail/shortenEmail.cjs +27 -0
- package/src/lib/shared/utils/functions/shortenEmail/shortenEmail.d.ts +6 -0
- package/src/lib/shared/utils/functions/shortenEmail/shortenEmail.js +23 -0
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/functions/hasWalletGroupFlag/hasWalletGroupFlag.d.ts +1 -0
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +2 -1
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +2 -1
- package/src/lib/views/CollectUserDataView/CollectUserDataView.cjs +2 -2
- package/src/lib/views/CollectUserDataView/CollectUserDataView.js +2 -2
- package/src/lib/views/EmailVerification/EmailVerification.cjs +2 -1
- package/src/lib/views/EmailVerification/EmailVerification.js +2 -1
- package/src/lib/views/LoginWithEmailView/LoginWithEmailView.cjs +10 -5
- package/src/lib/views/LoginWithEmailView/LoginWithEmailView.js +10 -5
- package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.cjs +1 -4
- package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.js +2 -5
- package/src/lib/views/LoginWithEmailView/components/SocialSignIn/SocialSignIn.cjs +1 -1
- package/src/lib/views/LoginWithEmailView/components/SocialSignIn/SocialSignIn.js +1 -1
- package/src/lib/views/NetworkNotSupported/NetworkNotSupported.cjs +2 -2
- package/src/lib/views/NetworkNotSupported/NetworkNotSupported.js +2 -2
- package/src/lib/views/NoAccess/NoAccess.cjs +2 -2
- package/src/lib/views/NoAccess/NoAccess.js +2 -2
- package/src/lib/widgets/DynamicWidget/components/AccountControl/AccountControl.cjs +4 -3
- package/src/lib/widgets/DynamicWidget/components/AccountControl/AccountControl.js +4 -3
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +2 -2
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +2 -2
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.cjs +3 -3
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.js +4 -4
- package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.cjs +12 -1
- package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.js +12 -1
- package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.cjs +8 -3
- package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.js +9 -4
- package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.cjs +2 -2
- package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.js +2 -2
- package/src/lib/components/WalletOrSocialMagicIcon/index.d.ts +0 -1
|
@@ -18,14 +18,16 @@ import { Divider } from '../../components/Divider/Divider.js';
|
|
|
18
18
|
import { useInternalDynamicContext } from '../../context/DynamicContext/useInternalDynamicContext.js';
|
|
19
19
|
import { classNames } from '../../utils/functions/classNames/classNames.js';
|
|
20
20
|
import { walletListBuilder } from '../../utils/functions/walletListBuilder/walletListBuilder.js';
|
|
21
|
+
import { useSocialRedirectContext } from '../../context/SocialRedirectContext/SocialRedirectContext.js';
|
|
21
22
|
import { LoginWithEmailForm } from './components/LoginWithEmailForm/LoginWithEmailForm.js';
|
|
22
23
|
import { NUMBER_OF_WALLETS, LoginWithEmailWalletList } from './components/LoginWithEmailWalletList/LoginWithEmailWalletList.js';
|
|
24
|
+
import { SocialSignIn } from './components/SocialSignIn/SocialSignIn.js';
|
|
23
25
|
|
|
24
26
|
const LoginWithEmailView = () => {
|
|
25
27
|
var _a;
|
|
26
28
|
const { error } = useErrorContext();
|
|
27
|
-
const { authorizationViewDisplayOrder, wallets, projectSettings } = useInternalDynamicContext();
|
|
28
|
-
const {
|
|
29
|
+
const { authorizationViewDisplayOrder, wallets, projectSettings, walletsFilter, signWithEmailWalletName, loginWithEmail, } = useInternalDynamicContext();
|
|
30
|
+
const { enabledSocialProviders } = useSocialRedirectContext();
|
|
29
31
|
const { numberOfWallets, walletsList } = walletListBuilder({
|
|
30
32
|
inputList: wallets,
|
|
31
33
|
isWalletConnectList: false,
|
|
@@ -36,14 +38,17 @@ const LoginWithEmailView = () => {
|
|
|
36
38
|
signWithEmailWalletName,
|
|
37
39
|
walletsFilter,
|
|
38
40
|
});
|
|
39
|
-
const
|
|
41
|
+
const isWeb2Priority = isDisplayOrderPriorityForWeb2(authorizationViewDisplayOrder);
|
|
42
|
+
const dividerText = isWeb2Priority
|
|
40
43
|
? 'Or continue with a wallet'
|
|
41
44
|
: 'Or continue with';
|
|
42
45
|
return (jsxs("div", Object.assign({ className: 'login-with-email__container' }, { children: [error && jsx(ErrorContainer, { children: error }), jsxs("div", Object.assign({ className: classNames('login-with-email__scroll', {
|
|
43
|
-
'login-with-email__scroll--email-first':
|
|
46
|
+
'login-with-email__scroll--email-first': isWeb2Priority,
|
|
44
47
|
}), "data-testid": 'login-with-email-scroll' }, { children: [numberOfWallets &&
|
|
45
48
|
walletsList.length &&
|
|
46
|
-
!((_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design.modal) === null || _a === void 0 ? void 0 : _a.emailOnly) ? (jsxs(Fragment, { children: [jsx(LoginWithEmailWalletList, { walletsList: walletsList, numberOfWallets: numberOfWallets }), jsx(Divider, { text: dividerText })] })) : null,
|
|
49
|
+
!((_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design.modal) === null || _a === void 0 ? void 0 : _a.emailOnly) ? (jsxs(Fragment, { children: [jsx(LoginWithEmailWalletList, { walletsList: walletsList, numberOfWallets: numberOfWallets }), jsx(Divider, { text: dividerText })] })) : null, jsxs("div", Object.assign({ className: classNames('login-with-email__scroll__web2', {
|
|
50
|
+
'login-with-email__scroll__web2--invert-order': isWeb2Priority,
|
|
51
|
+
}) }, { children: [jsx(LoginWithEmailForm, {}), enabledSocialProviders.length > 0 && jsx(SocialSignIn, {})] }))] }))] })));
|
|
47
52
|
};
|
|
48
53
|
|
|
49
54
|
export { LoginWithEmailView };
|
package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.cjs
CHANGED
|
@@ -40,8 +40,6 @@ require('../../../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.cjs')
|
|
|
40
40
|
var useConnectWithEmail = require('../../../../utils/hooks/useConnectWithEmail/useConnectWithEmail.cjs');
|
|
41
41
|
var EmailVerificationContext = require('../../../../context/EmailVerificationContext/EmailVerificationContext.cjs');
|
|
42
42
|
var LoadingContext = require('../../../../context/LoadingContext/LoadingContext.cjs');
|
|
43
|
-
var SocialSignIn = require('../SocialSignIn/SocialSignIn.cjs');
|
|
44
|
-
var SocialRedirectContext = require('../../../../context/SocialRedirectContext/SocialRedirectContext.cjs');
|
|
45
43
|
|
|
46
44
|
const EMAIL_REGEX = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i;
|
|
47
45
|
const LoginWithEmailForm = () => {
|
|
@@ -50,7 +48,6 @@ const LoginWithEmailForm = () => {
|
|
|
50
48
|
const { loading, setLoading } = LoadingContext.useLoadingContext();
|
|
51
49
|
const { setErrorMessage } = ErrorContext.useErrorContext();
|
|
52
50
|
const { setEmail: setEmailForVerification, setVerificationUUID } = EmailVerificationContext.useEmailVerificationContext();
|
|
53
|
-
const { enabledSocialProviders } = SocialRedirectContext.useSocialRedirectContext();
|
|
54
51
|
const [emailInput, setEmailInput] = React.useState('');
|
|
55
52
|
const [emailError, setEmailError] = React.useState(false);
|
|
56
53
|
const emailWalletConnector = wallets
|
|
@@ -108,7 +105,7 @@ const LoginWithEmailForm = () => {
|
|
|
108
105
|
}
|
|
109
106
|
});
|
|
110
107
|
// social sign in currently coupled to email... might be better to decouple
|
|
111
|
-
return (jsxRuntime.jsxs(
|
|
108
|
+
return (jsxRuntime.jsxs("form", Object.assign({ className: 'login-with-email-form', onSubmit: (e) => handleSubmit(e) }, { children: [jsxRuntime.jsx(Input.Input, { id: 'email_field', value: emailValue, onChange: onChangeHandler, label: 'Enter your email', error: emailError, message: emailError && 'Please enter a valid email address' }), jsxRuntime.jsx(Button.Button, Object.assign({ buttonClassName: 'login-with-email-form__button', type: 'submit', loading: isLoading, disabled: isLoading, buttonVariant: 'primary', buttonPadding: 'large', buttonRounded: 'medium', expanded: true }, { children: "Continue" }))] })));
|
|
112
109
|
};
|
|
113
110
|
|
|
114
111
|
exports.EMAIL_REGEX = EMAIL_REGEX;
|
package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __awaiter } from '../../../../../../_virtual/_tslib.js';
|
|
2
|
-
import { jsxs,
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
3
|
import { useState, useMemo } from 'react';
|
|
4
4
|
import { isEmailWalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
5
5
|
import '@dynamic-labs/utils';
|
|
@@ -36,8 +36,6 @@ import '../../../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.js';
|
|
|
36
36
|
import { useConnectWithEmail } from '../../../../utils/hooks/useConnectWithEmail/useConnectWithEmail.js';
|
|
37
37
|
import { useEmailVerificationContext } from '../../../../context/EmailVerificationContext/EmailVerificationContext.js';
|
|
38
38
|
import { useLoadingContext } from '../../../../context/LoadingContext/LoadingContext.js';
|
|
39
|
-
import { SocialSignIn } from '../SocialSignIn/SocialSignIn.js';
|
|
40
|
-
import { useSocialRedirectContext } from '../../../../context/SocialRedirectContext/SocialRedirectContext.js';
|
|
41
39
|
|
|
42
40
|
const EMAIL_REGEX = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i;
|
|
43
41
|
const LoginWithEmailForm = () => {
|
|
@@ -46,7 +44,6 @@ const LoginWithEmailForm = () => {
|
|
|
46
44
|
const { loading, setLoading } = useLoadingContext();
|
|
47
45
|
const { setErrorMessage } = useErrorContext();
|
|
48
46
|
const { setEmail: setEmailForVerification, setVerificationUUID } = useEmailVerificationContext();
|
|
49
|
-
const { enabledSocialProviders } = useSocialRedirectContext();
|
|
50
47
|
const [emailInput, setEmailInput] = useState('');
|
|
51
48
|
const [emailError, setEmailError] = useState(false);
|
|
52
49
|
const emailWalletConnector = wallets
|
|
@@ -104,7 +101,7 @@ const LoginWithEmailForm = () => {
|
|
|
104
101
|
}
|
|
105
102
|
});
|
|
106
103
|
// social sign in currently coupled to email... might be better to decouple
|
|
107
|
-
return (jsxs(
|
|
104
|
+
return (jsxs("form", Object.assign({ className: 'login-with-email-form', onSubmit: (e) => handleSubmit(e) }, { children: [jsx(Input, { id: 'email_field', value: emailValue, onChange: onChangeHandler, label: 'Enter your email', error: emailError, message: emailError && 'Please enter a valid email address' }), jsx(Button, Object.assign({ buttonClassName: 'login-with-email-form__button', type: 'submit', loading: isLoading, disabled: isLoading, buttonVariant: 'primary', buttonPadding: 'large', buttonRounded: 'medium', expanded: true }, { children: "Continue" }))] })));
|
|
108
105
|
};
|
|
109
106
|
|
|
110
107
|
export { EMAIL_REGEX, LoginWithEmailForm };
|
|
@@ -69,7 +69,7 @@ const SocialSignIn = () => {
|
|
|
69
69
|
const closeButton = (jsxRuntime.jsx(IconButton.IconButton, Object.assign({ onClick: closeCard, type: 'button', id: 'close-button', disabled: isLoading, "data-testid": 'close-button' }, { children: jsxRuntime.jsx(close.ReactComponent, {}) })));
|
|
70
70
|
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("div", Object.assign({ className: 'social-sign-in', style: {
|
|
71
71
|
'--number-of-social-grid-items': numberOfSocialGridItems,
|
|
72
|
-
} }, { children: [socialProvidersToDisplayInline.map((provider) => (jsxRuntime.jsxs(IconListTile.IconListTile, Object.assign({ dataTestId: `inline-${provider}`, onClick: () => onClickProvider(provider), className: 'social-sign-in--tile' }, { children: [jsxRuntime.jsx(IconWithSpinner.IconWithSpinner, { Icon: getSocialIcon.getSocialIcon(provider), isSpinning: socialProvider === provider, iconSize: 32 }), showConnectText && (jsxRuntime.jsxs(Typography.Typography, Object.assign({ variant: 'button_primary' }, { children: ["Connect with ", capitalize.capitalize(provider)] })))] }), provider))), showCardButton && (jsxRuntime.jsx(IconListTile.IconListTile, Object.assign({ dataTestId: 'show-more-options', onClick: () => setShowCard(true) }, { children: jsxRuntime.jsx(Icon.Icon, Object.assign({ color: 'text-primary' }, { children: jsxRuntime.jsx(dotsHorizontal.ReactComponent, {}) })) }), 'show-more-options'))] })), jsxRuntime.jsx(OverlayCard.OverlayCard, Object.assign({ isOpen: showCard, onClickOverlay: closeCard }, { children: jsxRuntime.jsxs("div", Object.assign({ className: 'social-sign-in--card' }, { children: [jsxRuntime.jsx(ModalHeader.ModalHeader, Object.assign({ trailing: closeButton }, { children: "Choose a social account" })), jsxRuntime.jsx("div", Object.assign({ className: 'social-sign-in--card--body' }, { children: enabledSocialProviders.map((provider) => (jsxRuntime.jsx(IconListTile.IconListTile, Object.assign({ dataTestId: `card-${provider}`, onClick: () => onClickProvider(provider) }, { children: jsxRuntime.jsx(IconWithSpinner.IconWithSpinner, { Icon: getSocialIcon.getSocialIcon(provider), isSpinning: socialProvider === provider, iconSize: 32 }) }), provider))) }))] })) }))] }));
|
|
72
|
+
} }, { children: [socialProvidersToDisplayInline.map((provider) => (jsxRuntime.jsxs(IconListTile.IconListTile, Object.assign({ dataTestId: `inline-${provider}`, onClick: () => onClickProvider(provider), className: 'social-sign-in--tile' }, { children: [jsxRuntime.jsx(IconWithSpinner.IconWithSpinner, { Icon: getSocialIcon.getSocialIcon(provider), isSpinning: socialProvider === provider, iconSize: 32 }), showConnectText && (jsxRuntime.jsxs(Typography.Typography, Object.assign({ variant: 'button_primary' }, { children: ["Connect with ", capitalize.capitalize(provider)] })))] }), provider))), showCardButton && (jsxRuntime.jsx(IconListTile.IconListTile, Object.assign({ dataTestId: 'show-more-options', onClick: () => setShowCard(true) }, { children: jsxRuntime.jsx(Icon.Icon, Object.assign({ color: 'text-primary' }, { children: jsxRuntime.jsx(dotsHorizontal.ReactComponent, {}) })) }), 'show-more-options'))] })), jsxRuntime.jsx(OverlayCard.OverlayCard, Object.assign({ isOpen: showCard, onClickOverlay: closeCard }, { children: jsxRuntime.jsxs("div", Object.assign({ className: 'social-sign-in--card' }, { children: [jsxRuntime.jsx(ModalHeader.ModalHeader, Object.assign({ trailing: closeButton }, { children: jsxRuntime.jsx(Typography.Typography, Object.assign({ weight: 'medium', variant: 'body_normal', color: 'primary', as: 'span' }, { children: "Choose a social account" })) })), jsxRuntime.jsx("div", Object.assign({ className: 'social-sign-in--card--body' }, { children: enabledSocialProviders.map((provider) => (jsxRuntime.jsx(IconListTile.IconListTile, Object.assign({ dataTestId: `card-${provider}`, onClick: () => onClickProvider(provider), className: 'social-sign-in--card--tile' }, { children: jsxRuntime.jsx(IconWithSpinner.IconWithSpinner, { Icon: getSocialIcon.getSocialIcon(provider), isSpinning: socialProvider === provider, iconSize: 32 }) }), provider))) }))] })) }))] }));
|
|
73
73
|
};
|
|
74
74
|
|
|
75
75
|
exports.SocialSignIn = SocialSignIn;
|
|
@@ -65,7 +65,7 @@ const SocialSignIn = () => {
|
|
|
65
65
|
const closeButton = (jsx(IconButton, Object.assign({ onClick: closeCard, type: 'button', id: 'close-button', disabled: isLoading, "data-testid": 'close-button' }, { children: jsx(SvgClose, {}) })));
|
|
66
66
|
return (jsxs(Fragment, { children: [jsxs("div", Object.assign({ className: 'social-sign-in', style: {
|
|
67
67
|
'--number-of-social-grid-items': numberOfSocialGridItems,
|
|
68
|
-
} }, { children: [socialProvidersToDisplayInline.map((provider) => (jsxs(IconListTile, Object.assign({ dataTestId: `inline-${provider}`, onClick: () => onClickProvider(provider), className: 'social-sign-in--tile' }, { children: [jsx(IconWithSpinner, { Icon: getSocialIcon(provider), isSpinning: socialProvider === provider, iconSize: 32 }), showConnectText && (jsxs(Typography, Object.assign({ variant: 'button_primary' }, { children: ["Connect with ", capitalize(provider)] })))] }), provider))), showCardButton && (jsx(IconListTile, Object.assign({ dataTestId: 'show-more-options', onClick: () => setShowCard(true) }, { children: jsx(Icon, Object.assign({ color: 'text-primary' }, { children: jsx(SvgDotsHorizontal, {}) })) }), 'show-more-options'))] })), jsx(OverlayCard, Object.assign({ isOpen: showCard, onClickOverlay: closeCard }, { children: jsxs("div", Object.assign({ className: 'social-sign-in--card' }, { children: [jsx(ModalHeader, Object.assign({ trailing: closeButton }, { children: "Choose a social account" })), jsx("div", Object.assign({ className: 'social-sign-in--card--body' }, { children: enabledSocialProviders.map((provider) => (jsx(IconListTile, Object.assign({ dataTestId: `card-${provider}`, onClick: () => onClickProvider(provider) }, { children: jsx(IconWithSpinner, { Icon: getSocialIcon(provider), isSpinning: socialProvider === provider, iconSize: 32 }) }), provider))) }))] })) }))] }));
|
|
68
|
+
} }, { children: [socialProvidersToDisplayInline.map((provider) => (jsxs(IconListTile, Object.assign({ dataTestId: `inline-${provider}`, onClick: () => onClickProvider(provider), className: 'social-sign-in--tile' }, { children: [jsx(IconWithSpinner, { Icon: getSocialIcon(provider), isSpinning: socialProvider === provider, iconSize: 32 }), showConnectText && (jsxs(Typography, Object.assign({ variant: 'button_primary' }, { children: ["Connect with ", capitalize(provider)] })))] }), provider))), showCardButton && (jsx(IconListTile, Object.assign({ dataTestId: 'show-more-options', onClick: () => setShowCard(true) }, { children: jsx(Icon, Object.assign({ color: 'text-primary' }, { children: jsx(SvgDotsHorizontal, {}) })) }), 'show-more-options'))] })), jsx(OverlayCard, Object.assign({ isOpen: showCard, onClickOverlay: closeCard }, { children: jsxs("div", Object.assign({ className: 'social-sign-in--card' }, { children: [jsx(ModalHeader, Object.assign({ trailing: closeButton }, { children: jsx(Typography, Object.assign({ weight: 'medium', variant: 'body_normal', color: 'primary', as: 'span' }, { children: "Choose a social account" })) })), jsx("div", Object.assign({ className: 'social-sign-in--card--body' }, { children: enabledSocialProviders.map((provider) => (jsx(IconListTile, Object.assign({ dataTestId: `card-${provider}`, onClick: () => onClickProvider(provider), className: 'social-sign-in--card--tile' }, { children: jsx(IconWithSpinner, { Icon: getSocialIcon(provider), isSpinning: socialProvider === provider, iconSize: 32 }) }), provider))) }))] })) }))] }));
|
|
69
69
|
};
|
|
70
70
|
|
|
71
71
|
export { SocialSignIn };
|
|
@@ -42,7 +42,7 @@ require('../../components/Popper/PopperContext/PopperContext.cjs');
|
|
|
42
42
|
require('../../components/SendBalanceForm/SendBalanceForm.cjs');
|
|
43
43
|
var NetworkPicker = require('../../components/NetworkPicker/NetworkPicker.cjs');
|
|
44
44
|
var UserAddress = require('../../components/UserAddress/UserAddress.cjs');
|
|
45
|
-
var
|
|
45
|
+
var AuthProviderIcon = require('../../components/AuthProviderIcon/AuthProviderIcon.cjs');
|
|
46
46
|
var useUpdateUserProfileByJWTCallback = require('../../utils/hooks/useUpdateUserProfileByJWTCallback/useUpdateUserProfileByJWTCallback.cjs');
|
|
47
47
|
var SelectNetworkButton = require('../../components/SelectNetworkButton/SelectNetworkButton.cjs');
|
|
48
48
|
|
|
@@ -76,7 +76,7 @@ const NetworkNotSupported = () => {
|
|
|
76
76
|
logger.logger.debug(e);
|
|
77
77
|
}
|
|
78
78
|
});
|
|
79
|
-
return (jsxRuntime.jsxs("div", Object.assign({ className: 'network-not-supported', "data-testid": 'network-not-supported' }, { children: [onboardingImageUrl && (jsxRuntime.jsx("img", { className: 'network-not-supported__main-img', src: onboardingImageUrl, alt: 'onboarding' })), !_isSupportedNetwork && (jsxRuntime.jsx(ErrorContainer.ErrorContainer, Object.assign({ variant: 'info', withIcon: false, className: 'network-not-supported__error--not-supported' }, { children: "This network is not available, please update." }))), jsxRuntime.jsxs("div", Object.assign({ className: 'network-not-supported__content-container' }, { children: [jsxRuntime.jsx("div", Object.assign({ className: 'network-not-supported__img-container' }, { children: ((_a = userProfile === null || userProfile === void 0 ? void 0 : userProfile.ens) === null || _a === void 0 ? void 0 : _a.avatar) ? (jsxRuntime.jsx("div", Object.assign({ className: 'network-not-supported__network-container' }, { children: jsxRuntime.jsx("img", { src: (_b = userProfile === null || userProfile === void 0 ? void 0 : userProfile.ens) === null || _b === void 0 ? void 0 : _b.avatar, alt: 'user ens avatar', className: 'network-not-supported__img' }) }))) : (jsxRuntime.jsx(
|
|
79
|
+
return (jsxRuntime.jsxs("div", Object.assign({ className: 'network-not-supported', "data-testid": 'network-not-supported' }, { children: [onboardingImageUrl && (jsxRuntime.jsx("img", { className: 'network-not-supported__main-img', src: onboardingImageUrl, alt: 'onboarding' })), !_isSupportedNetwork && (jsxRuntime.jsx(ErrorContainer.ErrorContainer, Object.assign({ variant: 'info', withIcon: false, className: 'network-not-supported__error--not-supported' }, { children: "This network is not available, please update." }))), jsxRuntime.jsxs("div", Object.assign({ className: 'network-not-supported__content-container' }, { children: [jsxRuntime.jsx("div", Object.assign({ className: 'network-not-supported__img-container' }, { children: ((_a = userProfile === null || userProfile === void 0 ? void 0 : userProfile.ens) === null || _a === void 0 ? void 0 : _a.avatar) ? (jsxRuntime.jsx("div", Object.assign({ className: 'network-not-supported__network-container' }, { children: jsxRuntime.jsx("img", { src: (_b = userProfile === null || userProfile === void 0 ? void 0 : userProfile.ens) === null || _b === void 0 ? void 0 : _b.avatar, alt: 'user ens avatar', className: 'network-not-supported__img' }) }))) : (jsxRuntime.jsx(AuthProviderIcon.AuthProviderIcon, { jwt: onboardingOnlyJwt })) })), jsxRuntime.jsx(UserAddress.UserAddress, { userProfile: userProfile }), jsxRuntime.jsx("div", Object.assign({ className: 'network-not-supported__network-container' }, { children: evmNetworks.length > 1 && (jsxRuntime.jsx(NetworkPicker.NetworkPicker, { evmNetworks: evmNetworks, connector: walletConnector, isNetworkPickerOpen: isNetworkPickerOpen, setIsNetworkPickerOpen: setIsNetworkPickerOpen, showNetworkName: true, buttonClassName: 'network-not-supported__network-picker-button', mainClassName: 'network-not-supported__network-picker', customCallbackOnSuccess: handleNetworkChange })) })), jsxRuntime.jsxs("div", Object.assign({ className: 'network-not-supported__welcome-container' }, { children: [jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'title', color: 'primary', className: 'network-not-supported__welcome-title' }, { children: "Update Network" })), jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'body_normal', weight: 'regular', color: 'secondary' }, { children: "Your wallet is not connected to a supported network. Please update before continuing." }))] })), evmNetworks.length === 1 && (jsxRuntime.jsx(SelectNetworkButton.SelectNetworkButton, { onClick: onSelectNetworkButtonClick, networkId: evmNetworks[0].networkId, networkName: evmNetworks[0].vanityName || evmNetworks[0].name, networkIconUrl: evmNetworks[0].iconUrls[0] }))] }))] })));
|
|
80
80
|
};
|
|
81
81
|
|
|
82
82
|
exports.NetworkNotSupported = NetworkNotSupported;
|
|
@@ -38,7 +38,7 @@ import '../../components/Popper/PopperContext/PopperContext.js';
|
|
|
38
38
|
import '../../components/SendBalanceForm/SendBalanceForm.js';
|
|
39
39
|
import { NetworkPicker } from '../../components/NetworkPicker/NetworkPicker.js';
|
|
40
40
|
import { UserAddress } from '../../components/UserAddress/UserAddress.js';
|
|
41
|
-
import {
|
|
41
|
+
import { AuthProviderIcon } from '../../components/AuthProviderIcon/AuthProviderIcon.js';
|
|
42
42
|
import { useUpdateUserProfileByJWTCallback } from '../../utils/hooks/useUpdateUserProfileByJWTCallback/useUpdateUserProfileByJWTCallback.js';
|
|
43
43
|
import { SelectNetworkButton } from '../../components/SelectNetworkButton/SelectNetworkButton.js';
|
|
44
44
|
|
|
@@ -72,7 +72,7 @@ const NetworkNotSupported = () => {
|
|
|
72
72
|
logger.debug(e);
|
|
73
73
|
}
|
|
74
74
|
});
|
|
75
|
-
return (jsxs("div", Object.assign({ className: 'network-not-supported', "data-testid": 'network-not-supported' }, { children: [onboardingImageUrl && (jsx("img", { className: 'network-not-supported__main-img', src: onboardingImageUrl, alt: 'onboarding' })), !_isSupportedNetwork && (jsx(ErrorContainer, Object.assign({ variant: 'info', withIcon: false, className: 'network-not-supported__error--not-supported' }, { children: "This network is not available, please update." }))), jsxs("div", Object.assign({ className: 'network-not-supported__content-container' }, { children: [jsx("div", Object.assign({ className: 'network-not-supported__img-container' }, { children: ((_a = userProfile === null || userProfile === void 0 ? void 0 : userProfile.ens) === null || _a === void 0 ? void 0 : _a.avatar) ? (jsx("div", Object.assign({ className: 'network-not-supported__network-container' }, { children: jsx("img", { src: (_b = userProfile === null || userProfile === void 0 ? void 0 : userProfile.ens) === null || _b === void 0 ? void 0 : _b.avatar, alt: 'user ens avatar', className: 'network-not-supported__img' }) }))) : (jsx(
|
|
75
|
+
return (jsxs("div", Object.assign({ className: 'network-not-supported', "data-testid": 'network-not-supported' }, { children: [onboardingImageUrl && (jsx("img", { className: 'network-not-supported__main-img', src: onboardingImageUrl, alt: 'onboarding' })), !_isSupportedNetwork && (jsx(ErrorContainer, Object.assign({ variant: 'info', withIcon: false, className: 'network-not-supported__error--not-supported' }, { children: "This network is not available, please update." }))), jsxs("div", Object.assign({ className: 'network-not-supported__content-container' }, { children: [jsx("div", Object.assign({ className: 'network-not-supported__img-container' }, { children: ((_a = userProfile === null || userProfile === void 0 ? void 0 : userProfile.ens) === null || _a === void 0 ? void 0 : _a.avatar) ? (jsx("div", Object.assign({ className: 'network-not-supported__network-container' }, { children: jsx("img", { src: (_b = userProfile === null || userProfile === void 0 ? void 0 : userProfile.ens) === null || _b === void 0 ? void 0 : _b.avatar, alt: 'user ens avatar', className: 'network-not-supported__img' }) }))) : (jsx(AuthProviderIcon, { jwt: onboardingOnlyJwt })) })), jsx(UserAddress, { userProfile: userProfile }), jsx("div", Object.assign({ className: 'network-not-supported__network-container' }, { children: evmNetworks.length > 1 && (jsx(NetworkPicker, { evmNetworks: evmNetworks, connector: walletConnector, isNetworkPickerOpen: isNetworkPickerOpen, setIsNetworkPickerOpen: setIsNetworkPickerOpen, showNetworkName: true, buttonClassName: 'network-not-supported__network-picker-button', mainClassName: 'network-not-supported__network-picker', customCallbackOnSuccess: handleNetworkChange })) })), jsxs("div", Object.assign({ className: 'network-not-supported__welcome-container' }, { children: [jsx(Typography, Object.assign({ variant: 'title', color: 'primary', className: 'network-not-supported__welcome-title' }, { children: "Update Network" })), jsx(Typography, Object.assign({ variant: 'body_normal', weight: 'regular', color: 'secondary' }, { children: "Your wallet is not connected to a supported network. Please update before continuing." }))] })), evmNetworks.length === 1 && (jsx(SelectNetworkButton, { onClick: onSelectNetworkButtonClick, networkId: evmNetworks[0].networkId, networkName: evmNetworks[0].vanityName || evmNetworks[0].name, networkIconUrl: evmNetworks[0].iconUrls[0] }))] }))] })));
|
|
76
76
|
};
|
|
77
77
|
|
|
78
78
|
export { NetworkNotSupported };
|
|
@@ -43,7 +43,7 @@ require('../../components/SendBalanceForm/SendBalanceForm.cjs');
|
|
|
43
43
|
var StatusDot = require('../../components/StatusDot/StatusDot.cjs');
|
|
44
44
|
var getSocialNetworkIcon = require('../../utils/functions/getSocialNetworkIcon/getSocialNetworkIcon.cjs');
|
|
45
45
|
var EmailVerificationContext = require('../../context/EmailVerificationContext/EmailVerificationContext.cjs');
|
|
46
|
-
var
|
|
46
|
+
var AuthProviderIcon = require('../../components/AuthProviderIcon/AuthProviderIcon.cjs');
|
|
47
47
|
|
|
48
48
|
const NoAccess = () => {
|
|
49
49
|
const { deniedAddress, setDeniedAddress, setDeniedOauthProvider } = AccessDeniedContext.useAccessDeniedContext();
|
|
@@ -75,7 +75,7 @@ const NoAccess = () => {
|
|
|
75
75
|
: getSocialNetworkIcon.getSocialNetworkIcon(Object.keys(socialMediaIconUrl)[0]);
|
|
76
76
|
const Icon = React.useMemo(() => {
|
|
77
77
|
if (walletConnector) {
|
|
78
|
-
return jsxRuntime.jsx(
|
|
78
|
+
return jsxRuntime.jsx(AuthProviderIcon.AuthProviderIcon, { jwt: onboardingOnlyJwt });
|
|
79
79
|
}
|
|
80
80
|
return (jsxRuntime.jsx(IconWithStatus.IconWithStatus, { containerClassName: 'wallet-no-access__icon--verified', Icon: iconic.SignInWithEmailIcon, iconSize: 50, InnerIcon: error.ReactComponent, variant: 'red' }));
|
|
81
81
|
}, [onboardingOnlyJwt, walletConnector]);
|
|
@@ -39,7 +39,7 @@ import '../../components/SendBalanceForm/SendBalanceForm.js';
|
|
|
39
39
|
import { StatusDot } from '../../components/StatusDot/StatusDot.js';
|
|
40
40
|
import { getSocialNetworkIcon } from '../../utils/functions/getSocialNetworkIcon/getSocialNetworkIcon.js';
|
|
41
41
|
import { useEmailVerificationContext } from '../../context/EmailVerificationContext/EmailVerificationContext.js';
|
|
42
|
-
import {
|
|
42
|
+
import { AuthProviderIcon } from '../../components/AuthProviderIcon/AuthProviderIcon.js';
|
|
43
43
|
|
|
44
44
|
const NoAccess = () => {
|
|
45
45
|
const { deniedAddress, setDeniedAddress, setDeniedOauthProvider } = useAccessDeniedContext();
|
|
@@ -71,7 +71,7 @@ const NoAccess = () => {
|
|
|
71
71
|
: getSocialNetworkIcon(Object.keys(socialMediaIconUrl)[0]);
|
|
72
72
|
const Icon = useMemo(() => {
|
|
73
73
|
if (walletConnector) {
|
|
74
|
-
return jsx(
|
|
74
|
+
return jsx(AuthProviderIcon, { jwt: onboardingOnlyJwt });
|
|
75
75
|
}
|
|
76
76
|
return (jsx(IconWithStatus, { containerClassName: 'wallet-no-access__icon--verified', Icon: SignInWithEmailIcon, iconSize: 50, InnerIcon: SvgError, variant: 'red' }));
|
|
77
77
|
}, [onboardingOnlyJwt, walletConnector]);
|
|
@@ -38,11 +38,12 @@ require('../../../../components/Alert/Alert.cjs');
|
|
|
38
38
|
require('../../../../context/MockContext/MockContext.cjs');
|
|
39
39
|
require('../../../../context/CaptchaContext/CaptchaContext.cjs');
|
|
40
40
|
require('../../../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.cjs');
|
|
41
|
+
var shortenEmail = require('../../../../shared/utils/functions/shortenEmail/shortenEmail.cjs');
|
|
41
42
|
require('../../../../components/Popper/Popper/Popper.cjs');
|
|
42
43
|
require('../../../../components/Popper/PopperContext/PopperContext.cjs');
|
|
43
44
|
require('../../../../components/SendBalanceForm/SendBalanceForm.cjs');
|
|
44
45
|
var useFetchNameService = require('../../hooks/useFetchNameService/useFetchNameService.cjs');
|
|
45
|
-
var
|
|
46
|
+
var AuthProviderIcon = require('../../../../components/AuthProviderIcon/AuthProviderIcon.cjs');
|
|
46
47
|
|
|
47
48
|
const AccountControl = ({ className }) => {
|
|
48
49
|
const { primaryWallet, user, authToken } = useInternalDynamicContext.useInternalDynamicContext();
|
|
@@ -52,9 +53,9 @@ const AccountControl = ({ className }) => {
|
|
|
52
53
|
return (jsxRuntime.jsxs("button", Object.assign({ "data-testid": 'AccountControl', onClick: () => setIsOpen(!isOpen), className: classNames.classNames('account-control__container', {
|
|
53
54
|
'account-control__container--active': isOpen,
|
|
54
55
|
'account-control__container--multiwallet-disabled': true,
|
|
55
|
-
}, className) }, { children: [jsxRuntime.jsx(
|
|
56
|
+
}, className) }, { children: [jsxRuntime.jsx(AuthProviderIcon.AuthProviderIcon, { jwt: authToken, iconSize: 16 }), jsxRuntime.jsx(Typography.Typography, Object.assign({ className: 'account-control__name', as: 'p' }, { children: (nameService === null || nameService === void 0 ? void 0 : nameService.name) ||
|
|
56
57
|
shortenWalletAddress.shortenWalletAddress(address, 3, 3) ||
|
|
57
|
-
(user === null || user === void 0 ? void 0 : user.email) })), jsxRuntime.jsx(Icon.Icon, Object.assign({ color: 'text-primary' }, { children: jsxRuntime.jsx(threeDots.ReactComponent, {}) }))] })));
|
|
58
|
+
shortenEmail.shortenEmail(user === null || user === void 0 ? void 0 : user.email) })), jsxRuntime.jsx(Icon.Icon, Object.assign({ color: 'text-primary' }, { children: jsxRuntime.jsx(threeDots.ReactComponent, {}) }))] })));
|
|
58
59
|
};
|
|
59
60
|
|
|
60
61
|
exports.AccountControl = AccountControl;
|
|
@@ -34,11 +34,12 @@ import '../../../../components/Alert/Alert.js';
|
|
|
34
34
|
import '../../../../context/MockContext/MockContext.js';
|
|
35
35
|
import '../../../../context/CaptchaContext/CaptchaContext.js';
|
|
36
36
|
import '../../../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.js';
|
|
37
|
+
import { shortenEmail } from '../../../../shared/utils/functions/shortenEmail/shortenEmail.js';
|
|
37
38
|
import '../../../../components/Popper/Popper/Popper.js';
|
|
38
39
|
import '../../../../components/Popper/PopperContext/PopperContext.js';
|
|
39
40
|
import '../../../../components/SendBalanceForm/SendBalanceForm.js';
|
|
40
41
|
import { useFetchNameService } from '../../hooks/useFetchNameService/useFetchNameService.js';
|
|
41
|
-
import {
|
|
42
|
+
import { AuthProviderIcon } from '../../../../components/AuthProviderIcon/AuthProviderIcon.js';
|
|
42
43
|
|
|
43
44
|
const AccountControl = ({ className }) => {
|
|
44
45
|
const { primaryWallet, user, authToken } = useInternalDynamicContext();
|
|
@@ -48,9 +49,9 @@ const AccountControl = ({ className }) => {
|
|
|
48
49
|
return (jsxs("button", Object.assign({ "data-testid": 'AccountControl', onClick: () => setIsOpen(!isOpen), className: classNames('account-control__container', {
|
|
49
50
|
'account-control__container--active': isOpen,
|
|
50
51
|
'account-control__container--multiwallet-disabled': true,
|
|
51
|
-
}, className) }, { children: [jsx(
|
|
52
|
+
}, className) }, { children: [jsx(AuthProviderIcon, { jwt: authToken, iconSize: 16 }), jsx(Typography, Object.assign({ className: 'account-control__name', as: 'p' }, { children: (nameService === null || nameService === void 0 ? void 0 : nameService.name) ||
|
|
52
53
|
shortenWalletAddress(address, 3, 3) ||
|
|
53
|
-
(user === null || user === void 0 ? void 0 : user.email) })), jsx(Icon, Object.assign({ color: 'text-primary' }, { children: jsx(SvgThreeDots, {}) }))] })));
|
|
54
|
+
shortenEmail(user === null || user === void 0 ? void 0 : user.email) })), jsx(Icon, Object.assign({ color: 'text-primary' }, { children: jsx(SvgThreeDots, {}) }))] })));
|
|
54
55
|
};
|
|
55
56
|
|
|
56
57
|
export { AccountControl };
|
package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs
CHANGED
|
@@ -42,7 +42,7 @@ var NetworkPicker = require('../../../../components/NetworkPicker/NetworkPicker.
|
|
|
42
42
|
var useFetchNameService = require('../../hooks/useFetchNameService/useFetchNameService.cjs');
|
|
43
43
|
var Balance = require('../Balance/Balance.cjs');
|
|
44
44
|
var DotsMenu = require('../DotsMenu/DotsMenu.cjs');
|
|
45
|
-
var
|
|
45
|
+
var AuthProviderIcon = require('../../../../components/AuthProviderIcon/AuthProviderIcon.cjs');
|
|
46
46
|
|
|
47
47
|
const ICON_SIZE = 28;
|
|
48
48
|
const ActiveWalletInformation = () => {
|
|
@@ -70,7 +70,7 @@ const ActiveWalletInformation = () => {
|
|
|
70
70
|
const evmNetworks = ((primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector) &&
|
|
71
71
|
(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector).evmNetworks) ||
|
|
72
72
|
[];
|
|
73
|
-
return (jsxRuntime.jsxs("div", Object.assign({ className: 'active-wallet-information-container', "data-testid": 'active-wallet-information' }, { children: [jsxRuntime.jsxs("div", Object.assign({ className: 'active-wallet-information' }, { children: [(nameService === null || nameService === void 0 ? void 0 : nameService.avatar) ? (jsxRuntime.jsx("div", Object.assign({ className: 'active-wallet-information__avatar' }, { children: jsxRuntime.jsx("img", { src: nameService === null || nameService === void 0 ? void 0 : nameService.avatar, alt: '' }) }))) : (jsxRuntime.jsx("div", Object.assign({ className: 'active-wallet-information__wallet-img' }, { children: jsxRuntime.jsx(
|
|
73
|
+
return (jsxRuntime.jsxs("div", Object.assign({ className: 'active-wallet-information-container', "data-testid": 'active-wallet-information' }, { children: [jsxRuntime.jsxs("div", Object.assign({ className: 'active-wallet-information' }, { children: [(nameService === null || nameService === void 0 ? void 0 : nameService.avatar) ? (jsxRuntime.jsx("div", Object.assign({ className: 'active-wallet-information__avatar' }, { children: jsxRuntime.jsx("img", { src: nameService === null || nameService === void 0 ? void 0 : nameService.avatar, alt: '' }) }))) : (jsxRuntime.jsx("div", Object.assign({ className: 'active-wallet-information__wallet-img' }, { children: jsxRuntime.jsx(AuthProviderIcon.AuthProviderIcon, { jwt: authToken, iconSize: ICON_SIZE, showStatus: true }) }))), jsxRuntime.jsxs("div", Object.assign({ className: 'active-wallet-information__details' }, { children: [jsxRuntime.jsxs("div", Object.assign({ className: classNames.classNames('active-wallet-information__actions-container', {
|
|
74
74
|
'active-wallet-information__actions-container--centered': !(nameService === null || nameService === void 0 ? void 0 : nameService.name),
|
|
75
75
|
}) }, { children: [jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx(Typography.Typography, Object.assign({ className: 'active-wallet-information__handle', color: 'primary', variant: 'body_normal' }, { children: nameService === null || nameService === void 0 ? void 0 : nameService.name })), jsxRuntime.jsx(Typography.Typography, Object.assign({ className: 'active-wallet-information__address', weight: (nameService === null || nameService === void 0 ? void 0 : nameService.name) ? 'regular' : 'medium', variant: (nameService === null || nameService === void 0 ? void 0 : nameService.name) ? 'body_small' : 'body_normal', color: (nameService === null || nameService === void 0 ? void 0 : nameService.name) ? 'secondary' : 'primary' }, { children: shortenWalletAddress.shortenWalletAddress(address, 4, 4) }))] }), jsxRuntime.jsx(DotsMenu.DotsMenu, { "data-testid": 'dots-menu', options: options, title: 'Wallet options', buttonClassName: 'active-wallet-information__dots-menu', buttonClassNameWithOpenMenu: 'active-wallet-information__dots-menu', anchorOrigin: 'bottom-left', transformOrigin: utils.isMobile() ? 'bottom-right' : 'top-left' })] })), jsxRuntime.jsx(NetworkPicker.NetworkPicker, { connector: primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector, isNetworkPickerOpen: isNetworkPickerOpen, setIsNetworkPickerOpen: setIsNetworkPickerOpen, mainClassName: 'active-wallet-information__network-picker', buttonClassName: 'active-wallet-information__network-picker-button', evmNetworks: evmNetworks, showNetworkName: true })] }))] })), jsxRuntime.jsxs("div", Object.assign({ className: 'balance-container' }, { children: [jsxRuntime.jsx(Typography.Typography, Object.assign({ color: 'secondary', variant: 'body_small' }, { children: "Balance" })), primaryWallet && (jsxRuntime.jsx(Balance.Balance, { className: 'balance-container__balance', connector: primaryWallet.connector, address: primaryWallet.address, network: network }))] }))] })));
|
|
76
76
|
};
|
package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js
CHANGED
|
@@ -38,7 +38,7 @@ import { NetworkPicker } from '../../../../components/NetworkPicker/NetworkPicke
|
|
|
38
38
|
import { useFetchNameService } from '../../hooks/useFetchNameService/useFetchNameService.js';
|
|
39
39
|
import { Balance } from '../Balance/Balance.js';
|
|
40
40
|
import { DotsMenu } from '../DotsMenu/DotsMenu.js';
|
|
41
|
-
import {
|
|
41
|
+
import { AuthProviderIcon } from '../../../../components/AuthProviderIcon/AuthProviderIcon.js';
|
|
42
42
|
|
|
43
43
|
const ICON_SIZE = 28;
|
|
44
44
|
const ActiveWalletInformation = () => {
|
|
@@ -66,7 +66,7 @@ const ActiveWalletInformation = () => {
|
|
|
66
66
|
const evmNetworks = ((primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector) &&
|
|
67
67
|
(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector).evmNetworks) ||
|
|
68
68
|
[];
|
|
69
|
-
return (jsxs("div", Object.assign({ className: 'active-wallet-information-container', "data-testid": 'active-wallet-information' }, { children: [jsxs("div", Object.assign({ className: 'active-wallet-information' }, { children: [(nameService === null || nameService === void 0 ? void 0 : nameService.avatar) ? (jsx("div", Object.assign({ className: 'active-wallet-information__avatar' }, { children: jsx("img", { src: nameService === null || nameService === void 0 ? void 0 : nameService.avatar, alt: '' }) }))) : (jsx("div", Object.assign({ className: 'active-wallet-information__wallet-img' }, { children: jsx(
|
|
69
|
+
return (jsxs("div", Object.assign({ className: 'active-wallet-information-container', "data-testid": 'active-wallet-information' }, { children: [jsxs("div", Object.assign({ className: 'active-wallet-information' }, { children: [(nameService === null || nameService === void 0 ? void 0 : nameService.avatar) ? (jsx("div", Object.assign({ className: 'active-wallet-information__avatar' }, { children: jsx("img", { src: nameService === null || nameService === void 0 ? void 0 : nameService.avatar, alt: '' }) }))) : (jsx("div", Object.assign({ className: 'active-wallet-information__wallet-img' }, { children: jsx(AuthProviderIcon, { jwt: authToken, iconSize: ICON_SIZE, showStatus: true }) }))), jsxs("div", Object.assign({ className: 'active-wallet-information__details' }, { children: [jsxs("div", Object.assign({ className: classNames('active-wallet-information__actions-container', {
|
|
70
70
|
'active-wallet-information__actions-container--centered': !(nameService === null || nameService === void 0 ? void 0 : nameService.name),
|
|
71
71
|
}) }, { children: [jsxs("div", { children: [jsx(Typography, Object.assign({ className: 'active-wallet-information__handle', color: 'primary', variant: 'body_normal' }, { children: nameService === null || nameService === void 0 ? void 0 : nameService.name })), jsx(Typography, Object.assign({ className: 'active-wallet-information__address', weight: (nameService === null || nameService === void 0 ? void 0 : nameService.name) ? 'regular' : 'medium', variant: (nameService === null || nameService === void 0 ? void 0 : nameService.name) ? 'body_small' : 'body_normal', color: (nameService === null || nameService === void 0 ? void 0 : nameService.name) ? 'secondary' : 'primary' }, { children: shortenWalletAddress(address, 4, 4) }))] }), jsx(DotsMenu, { "data-testid": 'dots-menu', options: options, title: 'Wallet options', buttonClassName: 'active-wallet-information__dots-menu', buttonClassNameWithOpenMenu: 'active-wallet-information__dots-menu', anchorOrigin: 'bottom-left', transformOrigin: isMobile() ? 'bottom-right' : 'top-left' })] })), jsx(NetworkPicker, { connector: primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector, isNetworkPickerOpen: isNetworkPickerOpen, setIsNetworkPickerOpen: setIsNetworkPickerOpen, mainClassName: 'active-wallet-information__network-picker', buttonClassName: 'active-wallet-information__network-picker-button', evmNetworks: evmNetworks, showNetworkName: true })] }))] })), jsxs("div", Object.assign({ className: 'balance-container' }, { children: [jsx(Typography, Object.assign({ color: 'secondary', variant: 'body_small' }, { children: "Balance" })), primaryWallet && (jsx(Balance, { className: 'balance-container__balance', connector: primaryWallet.connector, address: primaryWallet.address, network: network }))] }))] })));
|
|
72
72
|
};
|
|
@@ -5,10 +5,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
8
|
+
var iconic = require('@dynamic-labs/iconic');
|
|
8
9
|
var Typography = require('../../../../../components/Typography/Typography.cjs');
|
|
9
10
|
require('@dynamic-labs/sdk-api');
|
|
10
11
|
var logger = require('../../../../../shared/logger.cjs');
|
|
11
|
-
require('@dynamic-labs/iconic');
|
|
12
12
|
require('../../../../../context/ViewContext/ViewContext.cjs');
|
|
13
13
|
var add = require('../../../../../shared/assets/add.cjs');
|
|
14
14
|
var send = require('../../../../../shared/assets/send.cjs');
|
|
@@ -70,9 +70,9 @@ const DynamicWidgetWalletHeader = ({ variant, }) => {
|
|
|
70
70
|
}
|
|
71
71
|
};
|
|
72
72
|
const isActionsVisible = isSendBalanceEnabled || fundingEnabled;
|
|
73
|
-
return (jsxRuntime.jsxs("div", Object.assign({ className: 'dynamic-widget-wallet-header', "data-testid": 'dynamic-widget-wallet-header' }, { children: [jsxRuntime.jsx(Typography.Typography, Object.assign({ weight: 'medium', variant: 'body_small', color: 'secondary', className: 'dynamic-widget-wallets__title' }, { children: "Active wallet" })), jsxRuntime.jsx(ActiveWalletInformation.ActiveWalletInformation, {}), primaryWallet && (jsxRuntime.jsx("div", Object.assign({ "data-testid": 'primaryWalletStatus', className: 'dynamic-widget-wallet-header__wallet-info' }, { children: isActionsVisible && (jsxRuntime.jsxs("div", Object.assign({ className: 'dynamic-widget-wallet-header__wallet-actions' }, { children: [fundingEnabled && (jsxRuntime.jsx(Button.Button, Object.assign({ dataTestId: 'buy-crypto-button', buttonPadding: 'small', buttonVariant: 'primary', buttonRounded: 'small', onClick: () => setShowFunding(true), disabled: !supportsFunding, startSlot:
|
|
73
|
+
return (jsxRuntime.jsxs("div", Object.assign({ className: 'dynamic-widget-wallet-header', "data-testid": 'dynamic-widget-wallet-header' }, { children: [primaryWallet ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Typography.Typography, Object.assign({ weight: 'medium', variant: 'body_small', color: 'secondary', className: 'dynamic-widget-wallets__title' }, { children: "Active wallet" })), jsxRuntime.jsx(ActiveWalletInformation.ActiveWalletInformation, {})] })) : (jsxRuntime.jsx("div", Object.assign({ className: 'dynamic-widget-wallet-header__icon-container' }, { children: jsxRuntime.jsx(iconic.UserProfileIcon, {}) }))), primaryWallet && (jsxRuntime.jsx("div", Object.assign({ "data-testid": 'primaryWalletStatus', className: 'dynamic-widget-wallet-header__wallet-info' }, { children: isActionsVisible && (jsxRuntime.jsxs("div", Object.assign({ className: 'dynamic-widget-wallet-header__wallet-actions' }, { children: [fundingEnabled && (jsxRuntime.jsx(Button.Button, Object.assign({ expanded: true, dataTestId: 'buy-crypto-button', buttonPadding: 'small', buttonVariant: 'primary', buttonRounded: 'small', onClick: () => setShowFunding(true), disabled: !supportsFunding, startSlot:
|
|
74
74
|
// eslint-disable-next-line react/jsx-wrap-multilines
|
|
75
|
-
jsxRuntime.jsx(Icon.Icon, Object.assign({ size: '
|
|
75
|
+
jsxRuntime.jsx(Icon.Icon, Object.assign({ size: 'small', color: 'text-secondary' }, { children: jsxRuntime.jsx(add.ReactComponent, {}) })) }, { children: "Buy" }))), isSendBalanceEnabled && (jsxRuntime.jsx(Button.Button, Object.assign({ expanded: true, dataTestId: 'send-balance-button', buttonPadding: 'small', buttonVariant: 'primary', buttonRounded: 'small', onClick: handleOnClickSend, startSlot:
|
|
76
76
|
// eslint-disable-next-line react/jsx-wrap-multilines
|
|
77
77
|
jsxRuntime.jsx(Icon.Icon, Object.assign({ size: 'small' }, { children: jsxRuntime.jsx(send.ReactComponent, {}) })) }, { children: "Send" })))] }))) })))] })));
|
|
78
78
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import React__default, { useMemo } from 'react';
|
|
3
3
|
import { isEmbeddedConnector } from '@dynamic-labs/wallet-connector-core';
|
|
4
|
+
import { UserProfileIcon } from '@dynamic-labs/iconic';
|
|
4
5
|
import { Typography } from '../../../../../components/Typography/Typography.js';
|
|
5
6
|
import '@dynamic-labs/sdk-api';
|
|
6
7
|
import { logger } from '../../../../../shared/logger.js';
|
|
7
|
-
import '@dynamic-labs/iconic';
|
|
8
8
|
import '../../../../../context/ViewContext/ViewContext.js';
|
|
9
9
|
import { ReactComponent as SvgAdd } from '../../../../../shared/assets/add.js';
|
|
10
10
|
import { ReactComponent as SvgSend } from '../../../../../shared/assets/send.js';
|
|
@@ -62,9 +62,9 @@ const DynamicWidgetWalletHeader = ({ variant, }) => {
|
|
|
62
62
|
}
|
|
63
63
|
};
|
|
64
64
|
const isActionsVisible = isSendBalanceEnabled || fundingEnabled;
|
|
65
|
-
return (jsxs("div", Object.assign({ className: 'dynamic-widget-wallet-header', "data-testid": 'dynamic-widget-wallet-header' }, { children: [jsx(Typography, Object.assign({ weight: 'medium', variant: 'body_small', color: 'secondary', className: 'dynamic-widget-wallets__title' }, { children: "Active wallet" })), jsx(ActiveWalletInformation, {}), primaryWallet && (jsx("div", Object.assign({ "data-testid": 'primaryWalletStatus', className: 'dynamic-widget-wallet-header__wallet-info' }, { children: isActionsVisible && (jsxs("div", Object.assign({ className: 'dynamic-widget-wallet-header__wallet-actions' }, { children: [fundingEnabled && (jsx(Button, Object.assign({ dataTestId: 'buy-crypto-button', buttonPadding: 'small', buttonVariant: 'primary', buttonRounded: 'small', onClick: () => setShowFunding(true), disabled: !supportsFunding, startSlot:
|
|
65
|
+
return (jsxs("div", Object.assign({ className: 'dynamic-widget-wallet-header', "data-testid": 'dynamic-widget-wallet-header' }, { children: [primaryWallet ? (jsxs(Fragment, { children: [jsx(Typography, Object.assign({ weight: 'medium', variant: 'body_small', color: 'secondary', className: 'dynamic-widget-wallets__title' }, { children: "Active wallet" })), jsx(ActiveWalletInformation, {})] })) : (jsx("div", Object.assign({ className: 'dynamic-widget-wallet-header__icon-container' }, { children: jsx(UserProfileIcon, {}) }))), primaryWallet && (jsx("div", Object.assign({ "data-testid": 'primaryWalletStatus', className: 'dynamic-widget-wallet-header__wallet-info' }, { children: isActionsVisible && (jsxs("div", Object.assign({ className: 'dynamic-widget-wallet-header__wallet-actions' }, { children: [fundingEnabled && (jsx(Button, Object.assign({ expanded: true, dataTestId: 'buy-crypto-button', buttonPadding: 'small', buttonVariant: 'primary', buttonRounded: 'small', onClick: () => setShowFunding(true), disabled: !supportsFunding, startSlot:
|
|
66
66
|
// eslint-disable-next-line react/jsx-wrap-multilines
|
|
67
|
-
jsx(Icon, Object.assign({ size: '
|
|
67
|
+
jsx(Icon, Object.assign({ size: 'small', color: 'text-secondary' }, { children: jsx(SvgAdd, {}) })) }, { children: "Buy" }))), isSendBalanceEnabled && (jsx(Button, Object.assign({ expanded: true, dataTestId: 'send-balance-button', buttonPadding: 'small', buttonVariant: 'primary', buttonRounded: 'small', onClick: handleOnClickSend, startSlot:
|
|
68
68
|
// eslint-disable-next-line react/jsx-wrap-multilines
|
|
69
69
|
jsx(Icon, Object.assign({ size: 'small' }, { children: jsx(SvgSend, {}) })) }, { children: "Send" })))] }))) })))] })));
|
|
70
70
|
};
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var _tslib = require('../../../../../../_virtual/_tslib.cjs');
|
|
5
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
7
|
var React = require('react');
|
|
7
8
|
require('@dynamic-labs/sdk-api');
|
|
@@ -13,7 +14,7 @@ require('@dynamic-labs/utils');
|
|
|
13
14
|
require('../../../../utils/constants/colors.cjs');
|
|
14
15
|
require('ethers');
|
|
15
16
|
require('../../../../shared/consts/index.cjs');
|
|
16
|
-
require('../../../../context/DynamicContext/
|
|
17
|
+
var useInternalDynamicContext = require('../../../../context/DynamicContext/useInternalDynamicContext.cjs');
|
|
17
18
|
require('@dynamic-labs/multi-wallet');
|
|
18
19
|
require('../../../../components/ShadowDOM/ShadowDOM.cjs');
|
|
19
20
|
require('../../../../context/ThemeContext/ThemeContext.cjs');
|
|
@@ -39,6 +40,7 @@ require('../../../../components/Popper/PopperContext/PopperContext.cjs');
|
|
|
39
40
|
require('../../../../components/SendBalanceForm/SendBalanceForm.cjs');
|
|
40
41
|
|
|
41
42
|
const EmailOTPConnectorPendingSignModalContent = ({ walletConnector }) => {
|
|
43
|
+
const { setSelectedWalletWithAction, selectedWalletWithAction, setPrimaryWalletId, setMultiWalletWidgetState, computeConnectedStateForWallets, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
42
44
|
const [error, setError] = React.useState();
|
|
43
45
|
const { email } = walletConnector;
|
|
44
46
|
if (!email) {
|
|
@@ -46,6 +48,15 @@ const EmailOTPConnectorPendingSignModalContent = ({ walletConnector }) => {
|
|
|
46
48
|
}
|
|
47
49
|
const { data: isValid, isLoading, mutate: onSubmit, } = useMutation.useMutation((otp) => walletConnector.verifyOneTimePassword(otp), {
|
|
48
50
|
onFailure: (error) => setError(error),
|
|
51
|
+
onSuccess: () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
52
|
+
if (!selectedWalletWithAction) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
yield computeConnectedStateForWallets();
|
|
56
|
+
setMultiWalletWidgetState('idle');
|
|
57
|
+
setSelectedWalletWithAction(null);
|
|
58
|
+
setPrimaryWalletId(selectedWalletWithAction.wallet.id);
|
|
59
|
+
}),
|
|
49
60
|
});
|
|
50
61
|
return (jsxRuntime.jsx(OTPVerificationView.OTPVerificationView, { email: email, error: error, isLoading: isLoading, onPinComplete: onSubmit, isValid: isValid === true, onPinChange: () => setError(undefined) }));
|
|
51
62
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { __awaiter } from '../../../../../../_virtual/_tslib.js';
|
|
1
2
|
import { jsx } from 'react/jsx-runtime';
|
|
2
3
|
import { useState } from 'react';
|
|
3
4
|
import '@dynamic-labs/sdk-api';
|
|
@@ -9,7 +10,7 @@ import '@dynamic-labs/utils';
|
|
|
9
10
|
import '../../../../utils/constants/colors.js';
|
|
10
11
|
import 'ethers';
|
|
11
12
|
import '../../../../shared/consts/index.js';
|
|
12
|
-
import '../../../../context/DynamicContext/
|
|
13
|
+
import { useInternalDynamicContext } from '../../../../context/DynamicContext/useInternalDynamicContext.js';
|
|
13
14
|
import '@dynamic-labs/multi-wallet';
|
|
14
15
|
import '../../../../components/ShadowDOM/ShadowDOM.js';
|
|
15
16
|
import '../../../../context/ThemeContext/ThemeContext.js';
|
|
@@ -35,6 +36,7 @@ import '../../../../components/Popper/PopperContext/PopperContext.js';
|
|
|
35
36
|
import '../../../../components/SendBalanceForm/SendBalanceForm.js';
|
|
36
37
|
|
|
37
38
|
const EmailOTPConnectorPendingSignModalContent = ({ walletConnector }) => {
|
|
39
|
+
const { setSelectedWalletWithAction, selectedWalletWithAction, setPrimaryWalletId, setMultiWalletWidgetState, computeConnectedStateForWallets, } = useInternalDynamicContext();
|
|
38
40
|
const [error, setError] = useState();
|
|
39
41
|
const { email } = walletConnector;
|
|
40
42
|
if (!email) {
|
|
@@ -42,6 +44,15 @@ const EmailOTPConnectorPendingSignModalContent = ({ walletConnector }) => {
|
|
|
42
44
|
}
|
|
43
45
|
const { data: isValid, isLoading, mutate: onSubmit, } = useMutation((otp) => walletConnector.verifyOneTimePassword(otp), {
|
|
44
46
|
onFailure: (error) => setError(error),
|
|
47
|
+
onSuccess: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
48
|
+
if (!selectedWalletWithAction) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
yield computeConnectedStateForWallets();
|
|
52
|
+
setMultiWalletWidgetState('idle');
|
|
53
|
+
setSelectedWalletWithAction(null);
|
|
54
|
+
setPrimaryWalletId(selectedWalletWithAction.wallet.id);
|
|
55
|
+
}),
|
|
45
56
|
});
|
|
46
57
|
return (jsx(OTPVerificationView, { email: email, error: error, isLoading: isLoading, onPinComplete: onSubmit, isValid: isValid === true, onPinChange: () => setError(undefined) }));
|
|
47
58
|
};
|
|
@@ -43,11 +43,13 @@ require('../../../../components/Popper/PopperContext/PopperContext.cjs');
|
|
|
43
43
|
require('../../../../components/SendBalanceForm/SendBalanceForm.cjs');
|
|
44
44
|
var DotsMenu = require('../DotsMenu/DotsMenu.cjs');
|
|
45
45
|
var helpers = require('../../helpers/helpers.cjs');
|
|
46
|
-
var
|
|
46
|
+
var AuthProviderIcon = require('../../../../components/AuthProviderIcon/AuthProviderIcon.cjs');
|
|
47
47
|
|
|
48
48
|
const Wallet = ({ wallet, ens }) => {
|
|
49
|
+
var _a;
|
|
49
50
|
const { id: walletId, connector, address } = wallet;
|
|
50
|
-
const { computeConnectedStateForWallets, setPrimaryWallet, setSelectedWalletConnector, setShowWidgetStatePopup, setSelectedWalletWithAction, authToken, primaryWallet, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
51
|
+
const { computeConnectedStateForWallets, setPrimaryWallet, setSelectedWalletConnector, setShowWidgetStatePopup, setSelectedWalletWithAction, authToken, primaryWallet, user, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
52
|
+
const email = (_a = user === null || user === void 0 ? void 0 : user.verifiedCredentials.find((verifiedCredential) => verifiedCredential.format === 'email')) === null || _a === void 0 ? void 0 : _a.email;
|
|
51
53
|
const iconSize = 20;
|
|
52
54
|
const options = [
|
|
53
55
|
{
|
|
@@ -80,13 +82,16 @@ const Wallet = ({ wallet, ens }) => {
|
|
|
80
82
|
connector.connectedChain === 'FLOW') {
|
|
81
83
|
yield connector.endSession();
|
|
82
84
|
}
|
|
85
|
+
if (walletConnectorCore.isEmailWalletConnector(connector) && email) {
|
|
86
|
+
connector.setEmail(email);
|
|
87
|
+
}
|
|
83
88
|
setShowWidgetStatePopup(true);
|
|
84
89
|
setSelectedWalletWithAction({ action: 'select', wallet });
|
|
85
90
|
setPrimaryWallet(walletId);
|
|
86
91
|
computeConnectedStateForWallets();
|
|
87
92
|
setSelectedWalletConnector(connector);
|
|
88
93
|
});
|
|
89
|
-
return (jsxRuntime.jsxs("div", Object.assign({ className: 'wallet__container', "data-testid": 'wallet' }, { children: [jsxRuntime.jsxs("div", Object.assign({ className: 'wallet__row' }, { children: [jsxRuntime.jsx("div", Object.assign({ className: 'wallet__icon-container' }, { children: jsxRuntime.jsx(
|
|
94
|
+
return (jsxRuntime.jsxs("div", Object.assign({ className: 'wallet__container', "data-testid": 'wallet' }, { children: [jsxRuntime.jsxs("div", Object.assign({ className: 'wallet__row' }, { children: [jsxRuntime.jsx("div", Object.assign({ className: 'wallet__icon-container' }, { children: jsxRuntime.jsx(AuthProviderIcon.AuthProviderIcon, { iconSize: iconSize, jwt: authToken, wallet: wallet, showStatus: true }) })), (ens === null || ens === void 0 ? void 0 : ens.name) ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Typography.Typography, Object.assign({ className: 'wallet__ens-name', variant: 'body_small', color: 'primary', truncate: true }, { children: ens === null || ens === void 0 ? void 0 : ens.name })), jsxRuntime.jsx("div", { className: 'wallet__row__seperator' }), jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'body_mini', color: 'secondary' }, { children: shortenWalletAddress.shortenWalletAddress(address, 3, 3) }))] })) : (jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'body_small', color: 'primary' }, { children: shortenWalletAddress.shortenWalletAddress(address, 4, 4) })))] })), jsxRuntime.jsx(DotsMenu.DotsMenu, { "data-testid": 'dots-menu', options: options, title: 'Wallet options', buttonClassName: 'wallet__menu' })] })));
|
|
90
95
|
};
|
|
91
96
|
|
|
92
97
|
exports.Wallet = Wallet;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __awaiter } from '../../../../../../_virtual/_tslib.js';
|
|
2
2
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
3
|
-
import { isEmbeddedConnector } from '@dynamic-labs/wallet-connector-core';
|
|
3
|
+
import { isEmbeddedConnector, isEmailWalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
4
4
|
import '@dynamic-labs/iconic';
|
|
5
5
|
import '../../../../context/ViewContext/ViewContext.js';
|
|
6
6
|
import 'react';
|
|
@@ -39,11 +39,13 @@ import '../../../../components/Popper/PopperContext/PopperContext.js';
|
|
|
39
39
|
import '../../../../components/SendBalanceForm/SendBalanceForm.js';
|
|
40
40
|
import { DotsMenu } from '../DotsMenu/DotsMenu.js';
|
|
41
41
|
import { copyToClipboard } from '../../helpers/helpers.js';
|
|
42
|
-
import {
|
|
42
|
+
import { AuthProviderIcon } from '../../../../components/AuthProviderIcon/AuthProviderIcon.js';
|
|
43
43
|
|
|
44
44
|
const Wallet = ({ wallet, ens }) => {
|
|
45
|
+
var _a;
|
|
45
46
|
const { id: walletId, connector, address } = wallet;
|
|
46
|
-
const { computeConnectedStateForWallets, setPrimaryWallet, setSelectedWalletConnector, setShowWidgetStatePopup, setSelectedWalletWithAction, authToken, primaryWallet, } = useInternalDynamicContext();
|
|
47
|
+
const { computeConnectedStateForWallets, setPrimaryWallet, setSelectedWalletConnector, setShowWidgetStatePopup, setSelectedWalletWithAction, authToken, primaryWallet, user, } = useInternalDynamicContext();
|
|
48
|
+
const email = (_a = user === null || user === void 0 ? void 0 : user.verifiedCredentials.find((verifiedCredential) => verifiedCredential.format === 'email')) === null || _a === void 0 ? void 0 : _a.email;
|
|
47
49
|
const iconSize = 20;
|
|
48
50
|
const options = [
|
|
49
51
|
{
|
|
@@ -76,13 +78,16 @@ const Wallet = ({ wallet, ens }) => {
|
|
|
76
78
|
connector.connectedChain === 'FLOW') {
|
|
77
79
|
yield connector.endSession();
|
|
78
80
|
}
|
|
81
|
+
if (isEmailWalletConnector(connector) && email) {
|
|
82
|
+
connector.setEmail(email);
|
|
83
|
+
}
|
|
79
84
|
setShowWidgetStatePopup(true);
|
|
80
85
|
setSelectedWalletWithAction({ action: 'select', wallet });
|
|
81
86
|
setPrimaryWallet(walletId);
|
|
82
87
|
computeConnectedStateForWallets();
|
|
83
88
|
setSelectedWalletConnector(connector);
|
|
84
89
|
});
|
|
85
|
-
return (jsxs("div", Object.assign({ className: 'wallet__container', "data-testid": 'wallet' }, { children: [jsxs("div", Object.assign({ className: 'wallet__row' }, { children: [jsx("div", Object.assign({ className: 'wallet__icon-container' }, { children: jsx(
|
|
90
|
+
return (jsxs("div", Object.assign({ className: 'wallet__container', "data-testid": 'wallet' }, { children: [jsxs("div", Object.assign({ className: 'wallet__row' }, { children: [jsx("div", Object.assign({ className: 'wallet__icon-container' }, { children: jsx(AuthProviderIcon, { iconSize: iconSize, jwt: authToken, wallet: wallet, showStatus: true }) })), (ens === null || ens === void 0 ? void 0 : ens.name) ? (jsxs(Fragment, { children: [jsx(Typography, Object.assign({ className: 'wallet__ens-name', variant: 'body_small', color: 'primary', truncate: true }, { children: ens === null || ens === void 0 ? void 0 : ens.name })), jsx("div", { className: 'wallet__row__seperator' }), jsx(Typography, Object.assign({ variant: 'body_mini', color: 'secondary' }, { children: shortenWalletAddress(address, 3, 3) }))] })) : (jsx(Typography, Object.assign({ variant: 'body_small', color: 'primary' }, { children: shortenWalletAddress(address, 4, 4) })))] })), jsx(DotsMenu, { "data-testid": 'dots-menu', options: options, title: 'Wallet options', buttonClassName: 'wallet__menu' })] })));
|
|
86
91
|
};
|
|
87
92
|
|
|
88
93
|
export { Wallet };
|