@dynamic-labs/sdk-react-core 0.18.0-RC.6 → 0.18.0-RC.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 +42 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +8 -8
- package/src/index.cjs +6 -0
- package/src/index.js +3 -0
- package/src/lib/Main.cjs +2 -2
- package/src/lib/Main.js +2 -2
- package/src/lib/components/Accordion/components/AccordionItem/AccordionItem.cjs +5 -3
- package/src/lib/components/Accordion/components/AccordionItem/AccordionItem.js +6 -4
- package/src/lib/components/Accordion/components/AccordionItem/AccordionItem.types.d.ts +1 -0
- package/src/lib/components/DynamicConnectButton/DynamicConnectButton.cjs +2 -5
- package/src/lib/components/DynamicConnectButton/DynamicConnectButton.d.ts +1 -9
- package/src/lib/components/DynamicConnectButton/DynamicConnectButton.js +2 -4
- package/src/lib/components/DynamicConnectButton/components/ConnectButton.cjs +11 -0
- package/src/lib/components/DynamicConnectButton/components/ConnectButton.d.ts +9 -0
- package/src/lib/components/DynamicConnectButton/components/ConnectButton.js +7 -0
- package/src/lib/components/ModalHeader/ModalHeader.types.d.ts +1 -1
- package/src/lib/components/NetworkPicker/NetworkPicker.cjs +26 -1
- package/src/lib/components/NetworkPicker/NetworkPicker.js +26 -1
- package/src/lib/components/NetworkPicker/components/Network/Network.cjs +3 -1
- package/src/lib/components/NetworkPicker/components/Network/Network.d.ts +2 -1
- package/src/lib/components/NetworkPicker/components/Network/Network.js +3 -1
- package/src/lib/components/NetworkPicker/components/NetworkAction/NetworkAction.cjs +6 -1
- package/src/lib/components/NetworkPicker/components/NetworkAction/NetworkAction.d.ts +2 -1
- package/src/lib/components/NetworkPicker/components/NetworkAction/NetworkAction.js +6 -1
- package/src/lib/components/OTPVerificationView/OTPVerificationView.cjs +2 -3
- package/src/lib/components/OTPVerificationView/OTPVerificationView.d.ts +0 -2
- package/src/lib/components/OTPVerificationView/OTPVerificationView.js +2 -3
- package/src/lib/components/SelectWalletChainLayout/SelectWalletChainLayout.cjs +2 -1
- package/src/lib/components/SelectWalletChainLayout/SelectWalletChainLayout.js +2 -1
- package/src/lib/components/Tooltip/Tooltip.cjs +1 -1
- package/src/lib/components/Tooltip/Tooltip.js +1 -1
- package/src/lib/components/TosAndPp/TosAndPp.cjs +6 -5
- package/src/lib/components/TosAndPp/TosAndPp.d.ts +3 -4
- package/src/lib/components/TosAndPp/TosAndPp.js +6 -5
- package/src/lib/components/Transition/transition.type.d.ts +3 -3
- package/src/lib/context/DynamicContext/DynamicContext.cjs +28 -18
- package/src/lib/context/DynamicContext/DynamicContext.d.ts +4 -1
- package/src/lib/context/DynamicContext/DynamicContext.js +29 -19
- package/src/lib/context/DynamicContext/helpers.cjs +1 -2
- package/src/lib/context/DynamicContext/helpers.js +1 -2
- package/src/lib/context/ErrorContext/ErrorContext.cjs +6 -0
- package/src/lib/context/ErrorContext/ErrorContext.js +6 -0
- package/src/lib/context/MockContext/MockContext.cjs +2 -14
- package/src/lib/context/MockContext/MockContext.js +2 -14
- package/src/lib/context/ViewContext/ViewContext.d.ts +1 -1
- package/src/lib/context/WalletContext/WalletContext.cjs +46 -0
- package/src/lib/context/WalletContext/WalletContext.d.ts +7 -0
- package/src/lib/context/WalletContext/WalletContext.js +41 -0
- package/src/lib/context/WalletContext/index.d.ts +1 -0
- package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.cjs +22 -63
- package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.d.ts +1 -6
- package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.js +23 -64
- package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +34 -15
- package/src/lib/layout/DynamicAuthLayout/Header/header.d.ts +1 -1
- package/src/lib/layout/DynamicAuthLayout/Header/header.js +35 -16
- package/src/lib/layout/DynamicAuthLayout/Header/header.types.d.ts +2 -0
- package/src/lib/layout/DynamicAuthLayout/{FooterContent/EmptyFooterContent/empty-footer-content.cjs → HelpContent/EmptyHelpContent/EmptyHelpContent.cjs} +2 -2
- package/src/lib/layout/DynamicAuthLayout/HelpContent/EmptyHelpContent/EmptyHelpContent.d.ts +2 -0
- package/src/lib/layout/DynamicAuthLayout/HelpContent/EmptyHelpContent/EmptyHelpContent.js +6 -0
- package/src/lib/layout/DynamicAuthLayout/HelpContent/EmptyHelpContent/index.d.ts +1 -0
- package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpContent.cjs +36 -0
- package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpContent.d.ts +2 -0
- package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpContent.js +32 -0
- package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/HelpHeader.cjs +56 -0
- package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/HelpHeader.d.ts +2 -0
- package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/HelpHeader.js +52 -0
- package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/index.d.ts +1 -0
- package/src/lib/layout/DynamicAuthLayout/{FooterContent/WalletListFooterContent/WalletListFooterContent.cjs → HelpContent/WalletListHelpContent/WalletListHelpContent.cjs} +3 -3
- package/src/lib/layout/DynamicAuthLayout/{FooterContent/WalletListFooterContent/WalletListFooterContent.d.ts → HelpContent/WalletListHelpContent/WalletListHelpContent.d.ts} +1 -1
- package/src/lib/layout/DynamicAuthLayout/{FooterContent/WalletListFooterContent/WalletListFooterContent.js → HelpContent/WalletListHelpContent/WalletListHelpContent.js} +3 -3
- package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/index.d.ts +1 -0
- package/src/lib/layout/DynamicAuthLayout/{FooterContent → HelpContent}/WalletMoreInfoContent/WalletMoreInfoContent.cjs +3 -5
- package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletMoreInfoContent/WalletMoreInfoContent.d.ts +7 -0
- package/src/lib/layout/DynamicAuthLayout/{FooterContent → HelpContent}/WalletMoreInfoContent/WalletMoreInfoContent.js +3 -5
- package/src/lib/layout/DynamicAuthLayout/HelpContent/index.d.ts +4 -0
- package/src/lib/layout/DynamicAuthLayout/ToSFooter/ToSFooter.cjs +49 -0
- package/src/lib/layout/DynamicAuthLayout/ToSFooter/ToSFooter.d.ts +2 -0
- package/src/lib/layout/DynamicAuthLayout/ToSFooter/ToSFooter.js +45 -0
- package/src/lib/layout/DynamicAuthLayout/ToSFooter/index.d.ts +1 -0
- package/src/lib/shared/assets/chevron-left.cjs +5 -5
- package/src/lib/shared/assets/chevron-left.js +5 -5
- package/src/lib/shared/assets/close.cjs +5 -5
- package/src/lib/shared/assets/close.js +5 -5
- package/src/lib/shared/assets/footer-info-icon.cjs +2 -2
- package/src/lib/shared/assets/footer-info-icon.js +2 -2
- package/src/lib/shared/assets/index.d.ts +1 -0
- package/src/lib/shared/assets/question-mark.cjs +58 -0
- package/src/lib/shared/assets/question-mark.js +34 -0
- package/src/lib/shared/utils/hooks/index.d.ts +1 -0
- package/src/lib/shared/utils/hooks/useMediaQuery/index.d.ts +1 -0
- package/src/lib/shared/utils/hooks/useMediaQuery/useMediaQuery.cjs +31 -0
- package/src/lib/shared/utils/hooks/useMediaQuery/useMediaQuery.d.ts +1 -0
- package/src/lib/shared/utils/hooks/useMediaQuery/useMediaQuery.js +27 -0
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/functions/getDynamicLayoutData/getDynamicLayoutData.cjs +7 -27
- package/src/lib/utils/functions/getDynamicLayoutData/getDynamicLayoutData.d.ts +3 -4
- package/src/lib/utils/functions/getDynamicLayoutData/getDynamicLayoutData.js +8 -28
- package/src/lib/utils/functions/walletListBuilder/walletListBuilder.cjs +1 -1
- package/src/lib/utils/functions/walletListBuilder/walletListBuilder.js +1 -1
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +2 -1
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +2 -1
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.cjs +3 -1
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.js +3 -1
- package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.cjs +13 -0
- package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.js +13 -0
- package/src/lib/utils/hooks/index.d.ts +4 -0
- package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.cjs +9 -1
- package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.js +9 -1
- package/src/lib/utils/hooks/useAuthLayoutChecks/index.d.ts +1 -0
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +68 -0
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.d.ts +10 -0
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +64 -0
- package/src/lib/utils/hooks/useColorSchemePreference/useColorSchemePreference.cjs +16 -18
- package/src/lib/utils/hooks/useColorSchemePreference/useColorSchemePreference.js +16 -18
- package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.cjs +20 -6
- package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.d.ts +14 -2
- package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.js +20 -6
- package/src/lib/utils/hooks/useCountdown/useCountdown.cjs +39 -0
- package/src/lib/utils/hooks/useCountdown/useCountdown.d.ts +11 -0
- package/src/lib/utils/hooks/useCountdown/useCountdown.js +35 -0
- package/src/lib/utils/hooks/useInterval/useInterval.d.ts +1 -0
- package/src/lib/utils/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs +10 -0
- package/src/lib/utils/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.ts +2 -0
- package/src/lib/utils/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +6 -0
- package/src/lib/utils/hooks/useKeyboardEventListener/useKeyboardEventListener.cjs +6 -8
- package/src/lib/utils/hooks/useKeyboardEventListener/useKeyboardEventListener.js +7 -9
- package/src/lib/utils/hooks/useRpcProviders/useRpcProviders.cjs +6 -28
- package/src/lib/utils/hooks/useRpcProviders/useRpcProviders.d.ts +0 -1
- package/src/lib/utils/hooks/useRpcProviders/useRpcProviders.js +7 -29
- package/src/lib/utils/hooks/useTimeout/useTimeout.cjs +27 -0
- package/src/lib/utils/hooks/useTimeout/useTimeout.d.ts +1 -0
- package/src/lib/utils/hooks/useTimeout/useTimeout.js +23 -0
- package/src/lib/utils/hooks/useTransition/useTransition.cjs +16 -24
- package/src/lib/utils/hooks/useTransition/useTransition.d.ts +3 -3
- package/src/lib/utils/hooks/useTransition/useTransition.js +17 -25
- package/src/lib/utils/hooks/useTransitionEvents/useTransitionEvents.cjs +11 -9
- package/src/lib/utils/hooks/useTransitionEvents/useTransitionEvents.js +11 -9
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +4 -1
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +4 -1
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +1 -0
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +1 -0
- package/src/lib/utils/hooks/useWallets/useWallets.cjs +4 -1
- package/src/lib/utils/hooks/useWallets/useWallets.d.ts +2 -1
- package/src/lib/utils/hooks/useWallets/useWallets.js +4 -1
- package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.cjs +2 -3
- package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.js +2 -3
- package/src/lib/views/EmailUpdate/EmailUpdate.cjs +2 -1
- package/src/lib/views/EmailUpdate/EmailUpdate.js +2 -1
- package/src/lib/views/EmailVerification/EmailVerification.cjs +13 -23
- package/src/lib/views/EmailVerification/EmailVerification.js +14 -24
- package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.cjs +2 -2
- package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.js +2 -2
- package/src/lib/views/LoginWithEmailView/LoginWithEmailView.cjs +3 -0
- package/src/lib/views/LoginWithEmailView/LoginWithEmailView.js +3 -0
- package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.cjs +2 -1
- package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.js +2 -1
- package/src/lib/views/PendingConnectView/PendingConnectView.cjs +2 -3
- package/src/lib/views/PendingConnectView/PendingConnectView.js +2 -3
- package/src/lib/views/PendingSignatureView/PendingSignatureView.cjs +2 -3
- package/src/lib/views/PendingSignatureView/PendingSignatureView.js +2 -3
- package/src/lib/views/QrCodeView/QRCode.cjs +36 -4
- package/src/lib/views/QrCodeView/QRCode.js +37 -5
- package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.cjs +2 -2
- package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.d.ts +1 -3
- package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.js +2 -2
- package/src/lib/views/QrCodeView/QrCodeView.cjs +5 -8
- package/src/lib/views/QrCodeView/QrCodeView.js +5 -8
- package/src/lib/views/SocialRedirectView/SocialRedirectView.cjs +2 -4
- package/src/lib/views/SocialRedirectView/SocialRedirectView.js +2 -4
- package/src/lib/views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs +15 -0
- package/src/lib/views/TransactionConfirmationView/helpers/transactionErrorMessage.js +15 -0
- package/src/lib/views/WalletList/data.cjs +2 -1
- package/src/lib/views/WalletList/data.js +2 -1
- package/src/lib/views/WalletLockedView/WalletLockedView.cjs +63 -0
- package/src/lib/views/WalletLockedView/WalletLockedView.d.ts +2 -0
- package/src/lib/views/WalletLockedView/WalletLockedView.js +59 -0
- package/src/lib/views/WalletLockedView/index.d.ts +1 -0
- package/src/lib/views/viewToComponentMap.cjs +2 -0
- package/src/lib/views/viewToComponentMap.js +2 -0
- package/src/lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.cjs +2 -2
- package/src/lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.js +2 -2
- package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeConnectButton/DynamicBridgeConnectButton.cjs +23 -0
- package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeConnectButton/DynamicBridgeConnectButton.d.ts +8 -0
- package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeConnectButton/DynamicBridgeConnectButton.js +19 -0
- package/src/lib/widgets/DynamicBridgeWidget/index.d.ts +1 -0
- package/src/lib/layout/DynamicAuthLayout/Footer/Footer.cjs +0 -67
- package/src/lib/layout/DynamicAuthLayout/Footer/Footer.d.ts +0 -10
- package/src/lib/layout/DynamicAuthLayout/Footer/Footer.js +0 -63
- package/src/lib/layout/DynamicAuthLayout/Footer/index.d.ts +0 -1
- package/src/lib/layout/DynamicAuthLayout/FooterContent/EmptyFooterContent/empty-footer-content.d.ts +0 -2
- package/src/lib/layout/DynamicAuthLayout/FooterContent/EmptyFooterContent/empty-footer-content.js +0 -6
- package/src/lib/layout/DynamicAuthLayout/FooterContent/WalletListFooterContent/index.d.ts +0 -1
- package/src/lib/layout/DynamicAuthLayout/FooterContent/WalletMoreInfoContent/WalletMoreInfoContent.d.ts +0 -8
- package/src/lib/layout/DynamicAuthLayout/FooterContent/index.d.ts +0 -3
- /package/src/lib/layout/DynamicAuthLayout/{FooterContent/WalletListFooterContent → HelpContent/WalletListHelpContent}/Item/Item.cjs +0 -0
- /package/src/lib/layout/DynamicAuthLayout/{FooterContent/WalletListFooterContent → HelpContent/WalletListHelpContent}/Item/Item.d.ts +0 -0
- /package/src/lib/layout/DynamicAuthLayout/{FooterContent/WalletListFooterContent → HelpContent/WalletListHelpContent}/Item/Item.js +0 -0
- /package/src/lib/layout/DynamicAuthLayout/{FooterContent/WalletListFooterContent → HelpContent/WalletListHelpContent}/Item/index.d.ts +0 -0
- /package/src/lib/layout/DynamicAuthLayout/{FooterContent/WalletListFooterContent → HelpContent/WalletListHelpContent}/NewToWeb3WalletItem/NewToWeb3WalletItem.cjs +0 -0
- /package/src/lib/layout/DynamicAuthLayout/{FooterContent/WalletListFooterContent → HelpContent/WalletListHelpContent}/NewToWeb3WalletItem/NewToWeb3WalletItem.d.ts +0 -0
- /package/src/lib/layout/DynamicAuthLayout/{FooterContent/WalletListFooterContent → HelpContent/WalletListHelpContent}/NewToWeb3WalletItem/NewToWeb3WalletItem.js +0 -0
- /package/src/lib/layout/DynamicAuthLayout/{FooterContent/WalletListFooterContent → HelpContent/WalletListHelpContent}/NewToWeb3WalletItem/index.d.ts +0 -0
- /package/src/lib/layout/DynamicAuthLayout/{FooterContent/WalletListFooterContent → HelpContent/WalletListHelpContent}/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.cjs +0 -0
- /package/src/lib/layout/DynamicAuthLayout/{FooterContent/WalletListFooterContent → HelpContent/WalletListHelpContent}/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.d.ts +0 -0
- /package/src/lib/layout/DynamicAuthLayout/{FooterContent/WalletListFooterContent → HelpContent/WalletListHelpContent}/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.js +0 -0
- /package/src/lib/layout/DynamicAuthLayout/{FooterContent/WalletListFooterContent → HelpContent/WalletListHelpContent}/WalletExtensionOrAppContinueButton/index.d.ts +0 -0
- /package/src/lib/layout/DynamicAuthLayout/{FooterContent → HelpContent}/WalletMoreInfoContent/index.d.ts +0 -0
|
@@ -10,7 +10,7 @@ var useVerifyWallet = require('../../useVerifyWallet/useVerifyWallet.cjs');
|
|
|
10
10
|
var showPendingConnectView = require('../helpers/showPendingConnectView.cjs');
|
|
11
11
|
var isConnectOnly = require('../helpers/isConnectOnly.cjs');
|
|
12
12
|
require('@dynamic-labs/sdk-api');
|
|
13
|
-
require('../../../../shared/logger.cjs');
|
|
13
|
+
var logger = require('../../../../shared/logger.cjs');
|
|
14
14
|
require('@dynamic-labs/iconic');
|
|
15
15
|
require('@dynamic-labs/wallet-connector-core');
|
|
16
16
|
require('react/jsx-runtime');
|
|
@@ -61,6 +61,7 @@ const useConnectAndSignSplitSteps = () => {
|
|
|
61
61
|
setView('pending-signature');
|
|
62
62
|
}
|
|
63
63
|
catch (err) {
|
|
64
|
+
logger.logger.debug(err);
|
|
64
65
|
setErrorMessage(err.toString());
|
|
65
66
|
goToInitialView();
|
|
66
67
|
return;
|
|
@@ -78,6 +79,7 @@ const useConnectAndSignSplitSteps = () => {
|
|
|
78
79
|
});
|
|
79
80
|
}
|
|
80
81
|
catch (err) {
|
|
82
|
+
logger.logger.debug(err);
|
|
81
83
|
setErrorMessage(err.toString());
|
|
82
84
|
goToInitialView();
|
|
83
85
|
return;
|
|
@@ -6,7 +6,7 @@ import { useVerifyWallet } from '../../useVerifyWallet/useVerifyWallet.js';
|
|
|
6
6
|
import { showPendingConnectView } from '../helpers/showPendingConnectView.js';
|
|
7
7
|
import { isConnectOnly } from '../helpers/isConnectOnly.js';
|
|
8
8
|
import '@dynamic-labs/sdk-api';
|
|
9
|
-
import '../../../../shared/logger.js';
|
|
9
|
+
import { logger } from '../../../../shared/logger.js';
|
|
10
10
|
import '@dynamic-labs/iconic';
|
|
11
11
|
import '@dynamic-labs/wallet-connector-core';
|
|
12
12
|
import 'react/jsx-runtime';
|
|
@@ -57,6 +57,7 @@ const useConnectAndSignSplitSteps = () => {
|
|
|
57
57
|
setView('pending-signature');
|
|
58
58
|
}
|
|
59
59
|
catch (err) {
|
|
60
|
+
logger.debug(err);
|
|
60
61
|
setErrorMessage(err.toString());
|
|
61
62
|
goToInitialView();
|
|
62
63
|
return;
|
|
@@ -74,6 +75,7 @@ const useConnectAndSignSplitSteps = () => {
|
|
|
74
75
|
});
|
|
75
76
|
}
|
|
76
77
|
catch (err) {
|
|
78
|
+
logger.debug(err);
|
|
77
79
|
setErrorMessage(err.toString());
|
|
78
80
|
goToInitialView();
|
|
79
81
|
return;
|
package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.cjs
CHANGED
|
@@ -7,6 +7,18 @@ var useInternalDynamicContext = require('../../../../context/DynamicContext/useI
|
|
|
7
7
|
var ViewContext = require('../../../../context/ViewContext/ViewContext.cjs');
|
|
8
8
|
var ErrorContext = require('../../../../context/ErrorContext/ErrorContext.cjs');
|
|
9
9
|
var useVerifyWallet = require('../../useVerifyWallet/useVerifyWallet.cjs');
|
|
10
|
+
require('@dynamic-labs/sdk-api');
|
|
11
|
+
var logger = require('../../../../shared/logger.cjs');
|
|
12
|
+
require('@dynamic-labs/iconic');
|
|
13
|
+
require('@dynamic-labs/wallet-connector-core');
|
|
14
|
+
require('react/jsx-runtime');
|
|
15
|
+
require('react');
|
|
16
|
+
require('@dynamic-labs/wallet-book');
|
|
17
|
+
require('@dynamic-labs/utils');
|
|
18
|
+
require('../../../constants/colors.cjs');
|
|
19
|
+
require('../../../../shared/utils/classes/storage/localStorage.cjs');
|
|
20
|
+
require('ethers');
|
|
21
|
+
require('../../../../shared/consts/index.cjs');
|
|
10
22
|
|
|
11
23
|
const useSignConnectOnlyUser = () => {
|
|
12
24
|
const { setView } = ViewContext.useViewContext();
|
|
@@ -37,6 +49,7 @@ const useSignConnectOnlyUser = () => {
|
|
|
37
49
|
});
|
|
38
50
|
}
|
|
39
51
|
catch (err) {
|
|
52
|
+
logger.logger.debug(err);
|
|
40
53
|
setErrorMessage(err.toString());
|
|
41
54
|
setShowAuthFlow(false);
|
|
42
55
|
return;
|
package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.js
CHANGED
|
@@ -3,6 +3,18 @@ import { useInternalDynamicContext } from '../../../../context/DynamicContext/us
|
|
|
3
3
|
import { useViewContext } from '../../../../context/ViewContext/ViewContext.js';
|
|
4
4
|
import { useErrorContext } from '../../../../context/ErrorContext/ErrorContext.js';
|
|
5
5
|
import { useVerifyWallet } from '../../useVerifyWallet/useVerifyWallet.js';
|
|
6
|
+
import '@dynamic-labs/sdk-api';
|
|
7
|
+
import { logger } from '../../../../shared/logger.js';
|
|
8
|
+
import '@dynamic-labs/iconic';
|
|
9
|
+
import '@dynamic-labs/wallet-connector-core';
|
|
10
|
+
import 'react/jsx-runtime';
|
|
11
|
+
import 'react';
|
|
12
|
+
import '@dynamic-labs/wallet-book';
|
|
13
|
+
import '@dynamic-labs/utils';
|
|
14
|
+
import '../../../constants/colors.js';
|
|
15
|
+
import '../../../../shared/utils/classes/storage/localStorage.js';
|
|
16
|
+
import 'ethers';
|
|
17
|
+
import '../../../../shared/consts/index.js';
|
|
6
18
|
|
|
7
19
|
const useSignConnectOnlyUser = () => {
|
|
8
20
|
const { setView } = useViewContext();
|
|
@@ -33,6 +45,7 @@ const useSignConnectOnlyUser = () => {
|
|
|
33
45
|
});
|
|
34
46
|
}
|
|
35
47
|
catch (err) {
|
|
48
|
+
logger.debug(err);
|
|
36
49
|
setErrorMessage(err.toString());
|
|
37
50
|
setShowAuthFlow(false);
|
|
38
51
|
return;
|
|
@@ -24,3 +24,7 @@ export { useColorSchemePreference } from './useColorSchemePreference';
|
|
|
24
24
|
export { useGetSocialIcon } from './useGetSocialIcon';
|
|
25
25
|
export { useIconThemeVariant } from './useIconThemeVariant';
|
|
26
26
|
export type { IconThemeVariant } from './useIconThemeVariant';
|
|
27
|
+
export { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';
|
|
28
|
+
export { useTimeout } from './useTimeout/useTimeout';
|
|
29
|
+
export { useInterval } from './useInterval/useInterval';
|
|
30
|
+
export { useCountdown } from './useCountdown/useCountdown';
|
|
@@ -5,8 +5,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
7
7
|
var isWalletLinked = require('../../../functions/isWalletLinked/isWalletLinked.cjs');
|
|
8
|
+
var ViewContext = require('../../../../context/ViewContext/ViewContext.cjs');
|
|
9
|
+
var useInternalDynamicContext = require('../../../../context/DynamicContext/useInternalDynamicContext.cjs');
|
|
8
10
|
|
|
9
11
|
const useSyncPrimaryWallet = ({ computeConnectedStateForWallets, handleLogOut, multiWalletWidgetState, primaryWallet, secondaryWallets, setMultiWalletWidgetState, setPrimaryWallet, setShowWidgetStatePopup, showWidgetStatePopup, canSync = true, }) => {
|
|
12
|
+
const { setShowAuthFlow } = useInternalDynamicContext.useInternalDynamicContext();
|
|
13
|
+
const { setView } = ViewContext.useViewContext();
|
|
10
14
|
const handlePrimaryWalletNotActive = React.useCallback((connectedAddress) => {
|
|
11
15
|
if (!primaryWallet)
|
|
12
16
|
return;
|
|
@@ -72,7 +76,9 @@ const useSyncPrimaryWallet = ({ computeConnectedStateForWallets, handleLogOut, m
|
|
|
72
76
|
computeConnectedStateForWallets();
|
|
73
77
|
return;
|
|
74
78
|
}
|
|
75
|
-
|
|
79
|
+
// no wallet is connected
|
|
80
|
+
setShowAuthFlow(true);
|
|
81
|
+
setView('wallet-locked-view');
|
|
76
82
|
});
|
|
77
83
|
}, [
|
|
78
84
|
primaryWallet,
|
|
@@ -84,6 +90,8 @@ const useSyncPrimaryWallet = ({ computeConnectedStateForWallets, handleLogOut, m
|
|
|
84
90
|
handleLogOut,
|
|
85
91
|
setPrimaryWallet,
|
|
86
92
|
canSync,
|
|
93
|
+
setView,
|
|
94
|
+
setShowAuthFlow,
|
|
87
95
|
]);
|
|
88
96
|
};
|
|
89
97
|
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { useCallback, useEffect } from 'react';
|
|
2
2
|
import { isSameAddress } from '@dynamic-labs/wallet-connector-core';
|
|
3
3
|
import { isWalletLinked } from '../../../functions/isWalletLinked/isWalletLinked.js';
|
|
4
|
+
import { useViewContext } from '../../../../context/ViewContext/ViewContext.js';
|
|
5
|
+
import { useInternalDynamicContext } from '../../../../context/DynamicContext/useInternalDynamicContext.js';
|
|
4
6
|
|
|
5
7
|
const useSyncPrimaryWallet = ({ computeConnectedStateForWallets, handleLogOut, multiWalletWidgetState, primaryWallet, secondaryWallets, setMultiWalletWidgetState, setPrimaryWallet, setShowWidgetStatePopup, showWidgetStatePopup, canSync = true, }) => {
|
|
8
|
+
const { setShowAuthFlow } = useInternalDynamicContext();
|
|
9
|
+
const { setView } = useViewContext();
|
|
6
10
|
const handlePrimaryWalletNotActive = useCallback((connectedAddress) => {
|
|
7
11
|
if (!primaryWallet)
|
|
8
12
|
return;
|
|
@@ -68,7 +72,9 @@ const useSyncPrimaryWallet = ({ computeConnectedStateForWallets, handleLogOut, m
|
|
|
68
72
|
computeConnectedStateForWallets();
|
|
69
73
|
return;
|
|
70
74
|
}
|
|
71
|
-
|
|
75
|
+
// no wallet is connected
|
|
76
|
+
setShowAuthFlow(true);
|
|
77
|
+
setView('wallet-locked-view');
|
|
72
78
|
});
|
|
73
79
|
}, [
|
|
74
80
|
primaryWallet,
|
|
@@ -80,6 +86,8 @@ const useSyncPrimaryWallet = ({ computeConnectedStateForWallets, handleLogOut, m
|
|
|
80
86
|
handleLogOut,
|
|
81
87
|
setPrimaryWallet,
|
|
82
88
|
canSync,
|
|
89
|
+
setView,
|
|
90
|
+
setShowAuthFlow,
|
|
83
91
|
]);
|
|
84
92
|
};
|
|
85
93
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useAuthLayoutChecks } from './useAuthLayoutChecks';
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var useInternalDynamicContext = require('../../../context/DynamicContext/useInternalDynamicContext.cjs');
|
|
6
|
+
var MockContext = require('../../../context/MockContext/MockContext.cjs');
|
|
7
|
+
var ViewContext = require('../../../context/ViewContext/ViewContext.cjs');
|
|
8
|
+
var isUserLinkingWallet = require('../../../shared/utils/functions/isUserLinkingWallet/isUserLinkingWallet.cjs');
|
|
9
|
+
var QrCodeContext = require('../../../context/QrCodeContext/QrCodeContext.cjs');
|
|
10
|
+
var getDynamicLayoutData = require('../../functions/getDynamicLayoutData/getDynamicLayoutData.cjs');
|
|
11
|
+
|
|
12
|
+
const useAuthLayoutChecks = (walletConnector) => {
|
|
13
|
+
const { view } = ViewContext.useViewContext();
|
|
14
|
+
const { user, privacyPolicyUrl, termsOfServiceUrl } = useInternalDynamicContext.useInternalDynamicContext();
|
|
15
|
+
const { showQrCodeMessage, showQrCodeImage } = QrCodeContext.useQrCodeContext();
|
|
16
|
+
const { mockedSDK } = MockContext.useMockContext();
|
|
17
|
+
const { helpHeaderData } = getDynamicLayoutData.getDynamicLayoutData({ view });
|
|
18
|
+
const isWalletListTypeView = view === 'wallet-connect-mobile-wallets-list' ||
|
|
19
|
+
view === 'wallet-list' ||
|
|
20
|
+
view === 'login-with-email-or-wallet-full-wallet-list';
|
|
21
|
+
const showHelpContent = Boolean(helpHeaderData &&
|
|
22
|
+
// Notice the negation here
|
|
23
|
+
!((view === 'qr-code' && !(walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.canConnectViaQrCode)) ||
|
|
24
|
+
view === 'no-qr-not-installed' ||
|
|
25
|
+
view === 'wallet-used' ||
|
|
26
|
+
view === 'chainalysis-blocked-wallet' ||
|
|
27
|
+
view === 'wallet-sign' ||
|
|
28
|
+
view === 'collect-user-data' ||
|
|
29
|
+
isUserLinkingWallet.isUserLinkingWallet(user, view, mockedSDK)));
|
|
30
|
+
const showHeader = view !== 'collect-user-data' &&
|
|
31
|
+
view !== 'no-access' &&
|
|
32
|
+
view !== 'chainalysis-blocked-wallet' &&
|
|
33
|
+
view !== 'update-email' &&
|
|
34
|
+
view !== 'verify-email' &&
|
|
35
|
+
view !== 'network-not-supported' &&
|
|
36
|
+
view !== 'wallet-locked-view' &&
|
|
37
|
+
view !== 'email-wallet-otp-verification-view';
|
|
38
|
+
const showToSFooter = Boolean(!isUserLinkingWallet.isUserLinkingWallet(user, view, mockedSDK) &&
|
|
39
|
+
(view === 'wallet-list' ||
|
|
40
|
+
view === 'wallet-connect-mobile-wallets-list' ||
|
|
41
|
+
// Don't show empty footer on login-with-email-or-wallet-full-wallet-list
|
|
42
|
+
(view === 'login-with-email-or-wallet' &&
|
|
43
|
+
termsOfServiceUrl &&
|
|
44
|
+
privacyPolicyUrl) ||
|
|
45
|
+
view === 'login-with-email-or-wallet-full-wallet-list'));
|
|
46
|
+
const showCloseButton = view !== 'login-with-email-or-wallet-full-wallet-list' &&
|
|
47
|
+
view !== 'login-with-email-verification';
|
|
48
|
+
const showBackButton = view === 'qr-code' ||
|
|
49
|
+
view === 'pending-signature' ||
|
|
50
|
+
view === 'no-qr-not-installed' ||
|
|
51
|
+
view === 'wallet-connect-mobile-wallets-list' ||
|
|
52
|
+
view === 'login-with-email-verification' ||
|
|
53
|
+
view === 'login-with-email-or-wallet-full-wallet-list' ||
|
|
54
|
+
view === 'wallet-group' ||
|
|
55
|
+
view === 'pending-connect';
|
|
56
|
+
const showQrCodePreHeader = view === 'qr-code' && showQrCodeMessage && !showQrCodeImage;
|
|
57
|
+
return {
|
|
58
|
+
isWalletListTypeView,
|
|
59
|
+
showBackButton,
|
|
60
|
+
showCloseButton,
|
|
61
|
+
showHeader,
|
|
62
|
+
showHelpContent,
|
|
63
|
+
showQrCodePreHeader,
|
|
64
|
+
showToSFooter,
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
exports.useAuthLayoutChecks = useAuthLayoutChecks;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { WalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
2
|
+
export declare const useAuthLayoutChecks: (walletConnector?: WalletConnector | null) => {
|
|
3
|
+
isWalletListTypeView: boolean;
|
|
4
|
+
showBackButton: boolean;
|
|
5
|
+
showCloseButton: boolean;
|
|
6
|
+
showHeader: boolean;
|
|
7
|
+
showHelpContent: boolean;
|
|
8
|
+
showQrCodePreHeader: boolean;
|
|
9
|
+
showToSFooter: boolean;
|
|
10
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { useInternalDynamicContext } from '../../../context/DynamicContext/useInternalDynamicContext.js';
|
|
2
|
+
import { useMockContext } from '../../../context/MockContext/MockContext.js';
|
|
3
|
+
import { useViewContext } from '../../../context/ViewContext/ViewContext.js';
|
|
4
|
+
import { isUserLinkingWallet } from '../../../shared/utils/functions/isUserLinkingWallet/isUserLinkingWallet.js';
|
|
5
|
+
import { useQrCodeContext } from '../../../context/QrCodeContext/QrCodeContext.js';
|
|
6
|
+
import { getDynamicLayoutData } from '../../functions/getDynamicLayoutData/getDynamicLayoutData.js';
|
|
7
|
+
|
|
8
|
+
const useAuthLayoutChecks = (walletConnector) => {
|
|
9
|
+
const { view } = useViewContext();
|
|
10
|
+
const { user, privacyPolicyUrl, termsOfServiceUrl } = useInternalDynamicContext();
|
|
11
|
+
const { showQrCodeMessage, showQrCodeImage } = useQrCodeContext();
|
|
12
|
+
const { mockedSDK } = useMockContext();
|
|
13
|
+
const { helpHeaderData } = getDynamicLayoutData({ view });
|
|
14
|
+
const isWalletListTypeView = view === 'wallet-connect-mobile-wallets-list' ||
|
|
15
|
+
view === 'wallet-list' ||
|
|
16
|
+
view === 'login-with-email-or-wallet-full-wallet-list';
|
|
17
|
+
const showHelpContent = Boolean(helpHeaderData &&
|
|
18
|
+
// Notice the negation here
|
|
19
|
+
!((view === 'qr-code' && !(walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.canConnectViaQrCode)) ||
|
|
20
|
+
view === 'no-qr-not-installed' ||
|
|
21
|
+
view === 'wallet-used' ||
|
|
22
|
+
view === 'chainalysis-blocked-wallet' ||
|
|
23
|
+
view === 'wallet-sign' ||
|
|
24
|
+
view === 'collect-user-data' ||
|
|
25
|
+
isUserLinkingWallet(user, view, mockedSDK)));
|
|
26
|
+
const showHeader = view !== 'collect-user-data' &&
|
|
27
|
+
view !== 'no-access' &&
|
|
28
|
+
view !== 'chainalysis-blocked-wallet' &&
|
|
29
|
+
view !== 'update-email' &&
|
|
30
|
+
view !== 'verify-email' &&
|
|
31
|
+
view !== 'network-not-supported' &&
|
|
32
|
+
view !== 'wallet-locked-view' &&
|
|
33
|
+
view !== 'email-wallet-otp-verification-view';
|
|
34
|
+
const showToSFooter = Boolean(!isUserLinkingWallet(user, view, mockedSDK) &&
|
|
35
|
+
(view === 'wallet-list' ||
|
|
36
|
+
view === 'wallet-connect-mobile-wallets-list' ||
|
|
37
|
+
// Don't show empty footer on login-with-email-or-wallet-full-wallet-list
|
|
38
|
+
(view === 'login-with-email-or-wallet' &&
|
|
39
|
+
termsOfServiceUrl &&
|
|
40
|
+
privacyPolicyUrl) ||
|
|
41
|
+
view === 'login-with-email-or-wallet-full-wallet-list'));
|
|
42
|
+
const showCloseButton = view !== 'login-with-email-or-wallet-full-wallet-list' &&
|
|
43
|
+
view !== 'login-with-email-verification';
|
|
44
|
+
const showBackButton = view === 'qr-code' ||
|
|
45
|
+
view === 'pending-signature' ||
|
|
46
|
+
view === 'no-qr-not-installed' ||
|
|
47
|
+
view === 'wallet-connect-mobile-wallets-list' ||
|
|
48
|
+
view === 'login-with-email-verification' ||
|
|
49
|
+
view === 'login-with-email-or-wallet-full-wallet-list' ||
|
|
50
|
+
view === 'wallet-group' ||
|
|
51
|
+
view === 'pending-connect';
|
|
52
|
+
const showQrCodePreHeader = view === 'qr-code' && showQrCodeMessage && !showQrCodeImage;
|
|
53
|
+
return {
|
|
54
|
+
isWalletListTypeView,
|
|
55
|
+
showBackButton,
|
|
56
|
+
showCloseButton,
|
|
57
|
+
showHeader,
|
|
58
|
+
showHelpContent,
|
|
59
|
+
showQrCodePreHeader,
|
|
60
|
+
showToSFooter,
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export { useAuthLayoutChecks };
|
|
@@ -2,26 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
require('@dynamic-labs/sdk-api');
|
|
6
|
+
require('../../../shared/logger.cjs');
|
|
7
|
+
require('@dynamic-labs/iconic');
|
|
8
|
+
require('@dynamic-labs/wallet-connector-core');
|
|
9
|
+
require('react/jsx-runtime');
|
|
10
|
+
require('../../../context/ViewContext/ViewContext.cjs');
|
|
11
|
+
require('react');
|
|
12
|
+
require('@dynamic-labs/wallet-book');
|
|
13
|
+
require('@dynamic-labs/utils');
|
|
14
|
+
require('../../constants/colors.cjs');
|
|
15
|
+
require('../../../shared/utils/classes/storage/localStorage.cjs');
|
|
16
|
+
require('ethers');
|
|
17
|
+
var useMediaQuery = require('../../../shared/utils/hooks/useMediaQuery/useMediaQuery.cjs');
|
|
18
|
+
require('../../../shared/consts/index.cjs');
|
|
6
19
|
|
|
7
20
|
const useColorSchemePreference = () => {
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
: 'light');
|
|
11
|
-
React.useEffect(() => {
|
|
12
|
-
const listener = (e) => {
|
|
13
|
-
setPreference(e.matches ? 'dark' : 'light');
|
|
14
|
-
};
|
|
15
|
-
window
|
|
16
|
-
.matchMedia('(prefers-color-scheme: dark)')
|
|
17
|
-
.addEventListener('change', listener);
|
|
18
|
-
return () => {
|
|
19
|
-
window
|
|
20
|
-
.matchMedia('(prefers-color-scheme: dark)')
|
|
21
|
-
.removeEventListener('change', listener);
|
|
22
|
-
};
|
|
23
|
-
}, []);
|
|
24
|
-
return preference;
|
|
21
|
+
const isDarkMode = useMediaQuery.useMediaQuery('(prefers-color-scheme: dark)');
|
|
22
|
+
return isDarkMode ? 'dark' : 'light';
|
|
25
23
|
};
|
|
26
24
|
|
|
27
25
|
exports.useColorSchemePreference = useColorSchemePreference;
|
|
@@ -1,23 +1,21 @@
|
|
|
1
|
-
import
|
|
1
|
+
import '@dynamic-labs/sdk-api';
|
|
2
|
+
import '../../../shared/logger.js';
|
|
3
|
+
import '@dynamic-labs/iconic';
|
|
4
|
+
import '@dynamic-labs/wallet-connector-core';
|
|
5
|
+
import 'react/jsx-runtime';
|
|
6
|
+
import '../../../context/ViewContext/ViewContext.js';
|
|
7
|
+
import 'react';
|
|
8
|
+
import '@dynamic-labs/wallet-book';
|
|
9
|
+
import '@dynamic-labs/utils';
|
|
10
|
+
import '../../constants/colors.js';
|
|
11
|
+
import '../../../shared/utils/classes/storage/localStorage.js';
|
|
12
|
+
import 'ethers';
|
|
13
|
+
import { useMediaQuery } from '../../../shared/utils/hooks/useMediaQuery/useMediaQuery.js';
|
|
14
|
+
import '../../../shared/consts/index.js';
|
|
2
15
|
|
|
3
16
|
const useColorSchemePreference = () => {
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
: 'light');
|
|
7
|
-
useEffect(() => {
|
|
8
|
-
const listener = (e) => {
|
|
9
|
-
setPreference(e.matches ? 'dark' : 'light');
|
|
10
|
-
};
|
|
11
|
-
window
|
|
12
|
-
.matchMedia('(prefers-color-scheme: dark)')
|
|
13
|
-
.addEventListener('change', listener);
|
|
14
|
-
return () => {
|
|
15
|
-
window
|
|
16
|
-
.matchMedia('(prefers-color-scheme: dark)')
|
|
17
|
-
.removeEventListener('change', listener);
|
|
18
|
-
};
|
|
19
|
-
}, []);
|
|
20
|
-
return preference;
|
|
17
|
+
const isDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
|
|
18
|
+
return isDarkMode ? 'dark' : 'light';
|
|
21
19
|
};
|
|
22
20
|
|
|
23
21
|
export { useColorSchemePreference };
|
|
@@ -23,7 +23,7 @@ var api = require('../../../data/api.cjs');
|
|
|
23
23
|
require('@dynamic-labs/multi-wallet');
|
|
24
24
|
var shouldManuallyReconnectOnRefresh = require('../../functions/shouldManuallyReconnectOnRefresh/shouldManuallyReconnectOnRefresh.cjs');
|
|
25
25
|
|
|
26
|
-
const useConnectWallet = (
|
|
26
|
+
const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingOnConnectOnly, environmentId, primaryWalletId, setPrimaryWalletId, wallets, user, }) => {
|
|
27
27
|
const [connectedWalletsInfo, setConnectedWalletsInfo, removeConnectedWalletsInfo,] = useLocalStorage.useLocalStorage(localStorage.CONNECTED_WALLETS_INFO, []);
|
|
28
28
|
const [connectedWallet, setConnectedWallet] = React.useState(null);
|
|
29
29
|
const [connectedWallets, setConnectedWallets] = React.useState([]);
|
|
@@ -37,9 +37,11 @@ const useConnectWallet = (wallets, authMode, environmentId, enableVisitTrackingO
|
|
|
37
37
|
});
|
|
38
38
|
setConnectedWallets((currentWallets) => {
|
|
39
39
|
const exists = currentWallets.some((currentWallet) => walletConnectorCore.isSameAddress(currentWallet.address, address, chain));
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
// when we connect first wallet, it should be set as a primary wallet
|
|
41
|
+
const shouldSetPrimaryWalletId = authMode === 'connect-only' &&
|
|
42
|
+
currentWallets.length === 0 &&
|
|
43
|
+
!primaryWalletId;
|
|
44
|
+
if (shouldSetPrimaryWalletId) {
|
|
43
45
|
setPrimaryWalletId(`connect-only-wallet-${0}`);
|
|
44
46
|
}
|
|
45
47
|
if (exists) {
|
|
@@ -65,6 +67,7 @@ const useConnectWallet = (wallets, authMode, environmentId, enableVisitTrackingO
|
|
|
65
67
|
...currentWallets,
|
|
66
68
|
{
|
|
67
69
|
chain,
|
|
70
|
+
id: `connect-only-wallet-${id}`,
|
|
68
71
|
name: walletConnector.name,
|
|
69
72
|
provider: getWalletProvider.getWalletProvider(walletConnector),
|
|
70
73
|
walletPublicKey: address,
|
|
@@ -72,6 +75,16 @@ const useConnectWallet = (wallets, authMode, environmentId, enableVisitTrackingO
|
|
|
72
75
|
];
|
|
73
76
|
});
|
|
74
77
|
}, [authMode, primaryWalletId, setConnectedWalletsInfo, setPrimaryWalletId]);
|
|
78
|
+
React.useEffect(() => {
|
|
79
|
+
const found = connectedWalletsInfo.find((connectedWalletInfo) => connectedWalletInfo.id !== primaryWalletId);
|
|
80
|
+
// when primaryWalletId is defined, but it does not exist in
|
|
81
|
+
// connectedWalletInfo that means we're out of sync and we want to remove all connected wallets data
|
|
82
|
+
if (primaryWalletId && !found && !user) {
|
|
83
|
+
removeConnectedWalletsInfo();
|
|
84
|
+
setConnectedWallets([]);
|
|
85
|
+
clearPrimaryWalletId();
|
|
86
|
+
}
|
|
87
|
+
}, []);
|
|
75
88
|
const connectWalletByAddressAndChain = React.useCallback((name, address, chain, id) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
76
89
|
const walletConnector = walletConnectorCore.getWalletConnectorByName(wallets.map((wallet) => wallet.walletConnector), name);
|
|
77
90
|
if (walletConnector) {
|
|
@@ -93,9 +106,10 @@ const useConnectWallet = (wallets, authMode, environmentId, enableVisitTrackingO
|
|
|
93
106
|
}
|
|
94
107
|
}), [setConnectedStates, wallets]);
|
|
95
108
|
React.useEffect(() => {
|
|
96
|
-
|
|
109
|
+
const shouldUpdateConnectedWalletsState = authMode === 'connect-only' &&
|
|
97
110
|
connectedWalletsInfo.length &&
|
|
98
|
-
!connectedWallets.length
|
|
111
|
+
!connectedWallets.length;
|
|
112
|
+
if (shouldUpdateConnectedWalletsState) {
|
|
99
113
|
connectedWalletsInfo.forEach(({ name, walletPublicKey, chain }, id) => {
|
|
100
114
|
if (chain) {
|
|
101
115
|
connectWalletByAddressAndChain(name, walletPublicKey, chain, id);
|
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { Chain, FetchPublicAddressOpts, WalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
3
|
-
import { AuthModeType, Wallet, WalletOption } from '../../../shared';
|
|
3
|
+
import { AuthModeType, UserProfile, Wallet, WalletOption } from '../../../shared';
|
|
4
4
|
export type ConnectedWalletConnectorType = {
|
|
5
5
|
chain: Chain | undefined;
|
|
6
6
|
name: string;
|
|
7
7
|
provider: string;
|
|
8
8
|
walletPublicKey: string;
|
|
9
|
+
id: string;
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
+
type Props = {
|
|
12
|
+
authMode: AuthModeType;
|
|
13
|
+
clearPrimaryWalletId: () => void;
|
|
14
|
+
enableVisitTrackingOnConnectOnly: boolean;
|
|
15
|
+
environmentId: string;
|
|
16
|
+
primaryWalletId: string | undefined;
|
|
17
|
+
setPrimaryWalletId: (walletId: string) => void;
|
|
18
|
+
wallets: WalletOption[];
|
|
19
|
+
user: UserProfile | undefined;
|
|
20
|
+
};
|
|
21
|
+
export declare const useConnectWallet: ({ authMode, clearPrimaryWalletId, enableVisitTrackingOnConnectOnly, environmentId, primaryWalletId, setPrimaryWalletId, wallets, user, }: Props) => {
|
|
11
22
|
connectWallet: (walletConnector: WalletConnector, fetchPublicAddressOpts?: FetchPublicAddressOpts) => Promise<string>;
|
|
12
23
|
connectWalletByAddressAndChain: (name: string, address: string, chain: Chain, id?: number) => Promise<void>;
|
|
13
24
|
connectedWallet: Wallet | null;
|
|
@@ -17,3 +28,4 @@ export declare const useConnectWallet: (wallets: WalletOption[], authMode: AuthM
|
|
|
17
28
|
setConnectedWallet: import("react").Dispatch<import("react").SetStateAction<Wallet | null>>;
|
|
18
29
|
setConnectedWallets: import("react").Dispatch<import("react").SetStateAction<[] | Wallet[]>>;
|
|
19
30
|
};
|
|
31
|
+
export {};
|
|
@@ -19,7 +19,7 @@ import { createVisit } from '../../../data/api.js';
|
|
|
19
19
|
import '@dynamic-labs/multi-wallet';
|
|
20
20
|
import { shouldManuallyReconnectOnRefresh } from '../../functions/shouldManuallyReconnectOnRefresh/shouldManuallyReconnectOnRefresh.js';
|
|
21
21
|
|
|
22
|
-
const useConnectWallet = (
|
|
22
|
+
const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingOnConnectOnly, environmentId, primaryWalletId, setPrimaryWalletId, wallets, user, }) => {
|
|
23
23
|
const [connectedWalletsInfo, setConnectedWalletsInfo, removeConnectedWalletsInfo,] = useLocalStorage(CONNECTED_WALLETS_INFO, []);
|
|
24
24
|
const [connectedWallet, setConnectedWallet] = useState(null);
|
|
25
25
|
const [connectedWallets, setConnectedWallets] = useState([]);
|
|
@@ -33,9 +33,11 @@ const useConnectWallet = (wallets, authMode, environmentId, enableVisitTrackingO
|
|
|
33
33
|
});
|
|
34
34
|
setConnectedWallets((currentWallets) => {
|
|
35
35
|
const exists = currentWallets.some((currentWallet) => isSameAddress(currentWallet.address, address, chain));
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
// when we connect first wallet, it should be set as a primary wallet
|
|
37
|
+
const shouldSetPrimaryWalletId = authMode === 'connect-only' &&
|
|
38
|
+
currentWallets.length === 0 &&
|
|
39
|
+
!primaryWalletId;
|
|
40
|
+
if (shouldSetPrimaryWalletId) {
|
|
39
41
|
setPrimaryWalletId(`connect-only-wallet-${0}`);
|
|
40
42
|
}
|
|
41
43
|
if (exists) {
|
|
@@ -61,6 +63,7 @@ const useConnectWallet = (wallets, authMode, environmentId, enableVisitTrackingO
|
|
|
61
63
|
...currentWallets,
|
|
62
64
|
{
|
|
63
65
|
chain,
|
|
66
|
+
id: `connect-only-wallet-${id}`,
|
|
64
67
|
name: walletConnector.name,
|
|
65
68
|
provider: getWalletProvider(walletConnector),
|
|
66
69
|
walletPublicKey: address,
|
|
@@ -68,6 +71,16 @@ const useConnectWallet = (wallets, authMode, environmentId, enableVisitTrackingO
|
|
|
68
71
|
];
|
|
69
72
|
});
|
|
70
73
|
}, [authMode, primaryWalletId, setConnectedWalletsInfo, setPrimaryWalletId]);
|
|
74
|
+
useEffect(() => {
|
|
75
|
+
const found = connectedWalletsInfo.find((connectedWalletInfo) => connectedWalletInfo.id !== primaryWalletId);
|
|
76
|
+
// when primaryWalletId is defined, but it does not exist in
|
|
77
|
+
// connectedWalletInfo that means we're out of sync and we want to remove all connected wallets data
|
|
78
|
+
if (primaryWalletId && !found && !user) {
|
|
79
|
+
removeConnectedWalletsInfo();
|
|
80
|
+
setConnectedWallets([]);
|
|
81
|
+
clearPrimaryWalletId();
|
|
82
|
+
}
|
|
83
|
+
}, []);
|
|
71
84
|
const connectWalletByAddressAndChain = useCallback((name, address, chain, id) => __awaiter(void 0, void 0, void 0, function* () {
|
|
72
85
|
const walletConnector = getWalletConnectorByName(wallets.map((wallet) => wallet.walletConnector), name);
|
|
73
86
|
if (walletConnector) {
|
|
@@ -89,9 +102,10 @@ const useConnectWallet = (wallets, authMode, environmentId, enableVisitTrackingO
|
|
|
89
102
|
}
|
|
90
103
|
}), [setConnectedStates, wallets]);
|
|
91
104
|
useEffect(() => {
|
|
92
|
-
|
|
105
|
+
const shouldUpdateConnectedWalletsState = authMode === 'connect-only' &&
|
|
93
106
|
connectedWalletsInfo.length &&
|
|
94
|
-
!connectedWallets.length
|
|
107
|
+
!connectedWallets.length;
|
|
108
|
+
if (shouldUpdateConnectedWalletsState) {
|
|
95
109
|
connectedWalletsInfo.forEach(({ name, walletPublicKey, chain }, id) => {
|
|
96
110
|
if (chain) {
|
|
97
111
|
connectWalletByAddressAndChain(name, walletPublicKey, chain, id);
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
|
|
7
|
+
const useCountdown = ({ callback, seconds }) => {
|
|
8
|
+
const [remainingSeconds, setRemainingSeconds] = React.useState(seconds);
|
|
9
|
+
const timeoutRef = React.useRef();
|
|
10
|
+
const startCountdown = () => {
|
|
11
|
+
if (timeoutRef.current) {
|
|
12
|
+
return setRemainingSeconds(seconds);
|
|
13
|
+
}
|
|
14
|
+
runCountdown();
|
|
15
|
+
};
|
|
16
|
+
const stopCountdown = () => {
|
|
17
|
+
clearTimeout(timeoutRef.current);
|
|
18
|
+
timeoutRef.current = undefined;
|
|
19
|
+
};
|
|
20
|
+
const runCountdown = () => {
|
|
21
|
+
timeoutRef.current = setTimeout(() => {
|
|
22
|
+
setRemainingSeconds((prevSeconds) => prevSeconds - 1);
|
|
23
|
+
}, 1000);
|
|
24
|
+
};
|
|
25
|
+
React.useEffect(() => {
|
|
26
|
+
if (!timeoutRef.current)
|
|
27
|
+
return;
|
|
28
|
+
if (remainingSeconds <= 0) {
|
|
29
|
+
if (callback)
|
|
30
|
+
callback();
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
runCountdown();
|
|
34
|
+
return () => clearTimeout(timeoutRef.current);
|
|
35
|
+
}, [remainingSeconds, callback]);
|
|
36
|
+
return { remainingSeconds, startCountdown, stopCountdown };
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
exports.useCountdown = useCountdown;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
type Prop = {
|
|
2
|
+
callback?: () => void;
|
|
3
|
+
seconds: number;
|
|
4
|
+
};
|
|
5
|
+
export interface UseCountdown {
|
|
6
|
+
remainingSeconds: number;
|
|
7
|
+
startCountdown: () => void;
|
|
8
|
+
stopCountdown: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const useCountdown: ({ callback, seconds }: Prop) => UseCountdown;
|
|
11
|
+
export {};
|