@dynamic-labs/sdk-react-core 0.16.7 → 0.16.9-RC.0
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 +20 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +4 -4
- package/src/lib/context/DynamicContext/DynamicContext.cjs +17 -5
- package/src/lib/context/DynamicContext/DynamicContext.d.ts +1 -0
- package/src/lib/context/DynamicContext/DynamicContext.js +17 -5
- package/src/lib/context/DynamicContext/useDynamicContext.cjs +2 -1
- package/src/lib/context/DynamicContext/useDynamicContext.d.ts +1 -1
- package/src/lib/context/DynamicContext/useDynamicContext.js +2 -1
- package/src/lib/shared/utils/hooks/useGlobalLoading/index.d.ts +1 -0
- package/src/lib/shared/utils/hooks/useGlobalLoading/useGlobalLoading.cjs +35 -0
- package/src/lib/shared/utils/hooks/useGlobalLoading/useGlobalLoading.d.ts +17 -0
- package/src/lib/shared/utils/hooks/useGlobalLoading/useGlobalLoading.js +31 -0
- package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.d.ts +1 -2
- package/src/lib/views/CollectUserDataView/UserDataForm/UserDataForm.cjs +3 -2
- package/src/lib/views/CollectUserDataView/UserDataForm/UserDataForm.js +3 -2
- package/src/lib/views/EmailVerification/EmailVerification.cjs +2 -0
- package/src/lib/views/EmailVerification/EmailVerification.js +2 -0
- package/src/lib/views/NetworkNotSupported/NetworkNotSupported.cjs +2 -1
- package/src/lib/views/NetworkNotSupported/NetworkNotSupported.js +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,24 @@
|
|
|
1
1
|
|
|
2
|
+
### [0.16.9-RC.0](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.8...v0.16.9-RC.0) (2023-04-26)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* **DYN-2092:** add and expose global loading state ([#1962](https://github.com/dynamic-labs/DynamicAuth/issues/1962)) ([533d6f8](https://github.com/dynamic-labs/DynamicAuth/commit/533d6f8c94cd4cfdc2d20810bfc2b0a95f751502))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* call authSucces in missing places ([#1961](https://github.com/dynamic-labs/DynamicAuth/issues/1961)) ([c3c1559](https://github.com/dynamic-labs/DynamicAuth/commit/c3c155912066fd4cfcf1c399def233b71c09af65)), closes [#1963](https://github.com/dynamic-labs/DynamicAuth/issues/1963)
|
|
13
|
+
* revert trigger onAuthSuccess on additional flows ([#1953](https://github.com/dynamic-labs/DynamicAuth/issues/1953)) ([#1960](https://github.com/dynamic-labs/DynamicAuth/issues/1960)) ([96cfb38](https://github.com/dynamic-labs/DynamicAuth/commit/96cfb3829314e931a79dfc2fe06469bdd291fd18))
|
|
14
|
+
|
|
15
|
+
### [0.16.8](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.7...v0.16.8) (2023-04-25)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* trigger onAuthSuccess on additional flows ([#1953](https://github.com/dynamic-labs/DynamicAuth/issues/1953)) ([#1954](https://github.com/dynamic-labs/DynamicAuth/issues/1954)) ([ddabbdb](https://github.com/dynamic-labs/DynamicAuth/commit/ddabbdb1a5fc3b9a7edafae76b73062c6845c609))
|
|
21
|
+
|
|
2
22
|
### [0.16.7](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.6...v0.16.7) (2023-04-24)
|
|
3
23
|
|
|
4
24
|
|
package/package.cjs
CHANGED
package/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/sdk-react-core",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.9-RC.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/dynamic-labs/DynamicAuth.git",
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
"formik": "^2.2.9",
|
|
18
18
|
"qrcode": "1.5.1",
|
|
19
19
|
"ethers": "^5.7.2",
|
|
20
|
-
"@dynamic-labs/logger": "0.16.
|
|
21
|
-
"@dynamic-labs/multi-wallet": "0.16.
|
|
22
|
-
"@dynamic-labs/wallet-connector-core": "0.16.
|
|
20
|
+
"@dynamic-labs/logger": "0.16.9-RC.0",
|
|
21
|
+
"@dynamic-labs/multi-wallet": "0.16.9-RC.0",
|
|
22
|
+
"@dynamic-labs/wallet-connector-core": "0.16.9-RC.0"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"semver": "^7.3.8"
|
|
@@ -53,6 +53,7 @@ require('../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs
|
|
|
53
53
|
require('../../components/Transition/OpacityTransition/OpacityTransition.cjs');
|
|
54
54
|
require('../../components/ShadowDOM/ShadowDOM.cjs');
|
|
55
55
|
require('../../components/IconButton/IconButton.cjs');
|
|
56
|
+
var useGlobalLoading = require('../../shared/utils/hooks/useGlobalLoading/useGlobalLoading.cjs');
|
|
56
57
|
var helpers = require('./helpers.cjs');
|
|
57
58
|
var validators = require('./validators.cjs');
|
|
58
59
|
var useCustomerCallbacks = require('./useCustomerCallbacks/useCustomerCallbacks.cjs');
|
|
@@ -105,7 +106,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
105
106
|
walletUiUtils,
|
|
106
107
|
});
|
|
107
108
|
const [authMode, setAuthMode] = useLocalStorage.useLocalStorage(localStorage$1.AUTH_MODE, initialAuthenticationMode);
|
|
108
|
-
const { connectWallet, removeConnectedInfo, connectedWallet, setConnectedWallet, connectWalletByAddressAndChain, } = useConnectWallet.useConnectWallet(wallets, authMode, environmentId, enableVisitTrackingOnConnectOnly);
|
|
109
|
+
const { connectWallet, removeConnectedInfo, connectedInfo, connectedWallet, setConnectedWallet, connectWalletByAddressAndChain, } = useConnectWallet.useConnectWallet(wallets, authMode, environmentId, enableVisitTrackingOnConnectOnly);
|
|
109
110
|
const [selectedWalletConnector, setSelectedWalletConnector] = React.useState(null);
|
|
110
111
|
const removeAuthTokenAndUser = React.useCallback(() => {
|
|
111
112
|
localStorage.removeItem(localStorage$1.AUTH_TOKEN);
|
|
@@ -119,6 +120,14 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
119
120
|
setQrcodeUri,
|
|
120
121
|
wallets,
|
|
121
122
|
});
|
|
123
|
+
const { sdkHasLoaded, setSdkHasLoaded } = useGlobalLoading.useGlobalLoading({
|
|
124
|
+
authMode,
|
|
125
|
+
connectedInfo,
|
|
126
|
+
connectedWallet,
|
|
127
|
+
primaryWallet,
|
|
128
|
+
projectSettings,
|
|
129
|
+
user,
|
|
130
|
+
});
|
|
122
131
|
const walletForUserFacingContext = authMode === 'connect-and-sign' || user ? primaryWallet : connectedWallet;
|
|
123
132
|
useSyncPrimaryWallet.useSyncPrimaryWallet({
|
|
124
133
|
multiWalletWidgetState,
|
|
@@ -291,6 +300,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
291
300
|
projectSettings,
|
|
292
301
|
qrcodeUri,
|
|
293
302
|
rpcProviders,
|
|
303
|
+
sdkHasLoaded,
|
|
294
304
|
secondaryWallets,
|
|
295
305
|
selectedWalletConnector,
|
|
296
306
|
setAuthMode,
|
|
@@ -306,6 +316,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
306
316
|
setPrimaryWallet,
|
|
307
317
|
setPrimaryWalletId,
|
|
308
318
|
setQrcodeUri,
|
|
319
|
+
setSdkHasLoaded,
|
|
309
320
|
setSelectedWalletConnector,
|
|
310
321
|
setShowAuthFlow,
|
|
311
322
|
setShowDynamicUserProfile,
|
|
@@ -334,9 +345,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
334
345
|
accessDeniedMessagePrimary,
|
|
335
346
|
accessDeniedMessageSecondary,
|
|
336
347
|
accountSwitchState,
|
|
337
|
-
appLogo,
|
|
338
348
|
appLogoUrl,
|
|
339
|
-
displayName,
|
|
340
349
|
appName,
|
|
341
350
|
authMode,
|
|
342
351
|
authorizationViewDisplayOrder,
|
|
@@ -345,20 +354,20 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
345
354
|
computeConnectedStateForWallets,
|
|
346
355
|
connectWallet,
|
|
347
356
|
connectedWallet,
|
|
348
|
-
defaultNumberOfWalletsToShow,
|
|
349
357
|
primaryWallet,
|
|
350
358
|
secondaryWallets,
|
|
351
359
|
consumeNonce,
|
|
352
360
|
cssOverrides,
|
|
353
361
|
debugError,
|
|
354
362
|
onboardingOnlyJwt,
|
|
363
|
+
defaultNumberOfWalletsToShow,
|
|
355
364
|
desktopUri,
|
|
356
365
|
displayTermsOfService,
|
|
357
366
|
environmentId,
|
|
358
367
|
eventsCallbacks,
|
|
359
368
|
handleLogOut,
|
|
360
369
|
handleUnlinkWallet,
|
|
361
|
-
|
|
370
|
+
isAuthenticated,
|
|
362
371
|
isProjectSettingsLoading,
|
|
363
372
|
isSingleWalletAccount,
|
|
364
373
|
isVerifying,
|
|
@@ -380,6 +389,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
380
389
|
projectSettings,
|
|
381
390
|
qrcodeUri,
|
|
382
391
|
rpcProviders,
|
|
392
|
+
sdkHasLoaded,
|
|
383
393
|
selectedWalletConnector,
|
|
384
394
|
setAuthMode,
|
|
385
395
|
setAuthorizationViewDisplayOrder,
|
|
@@ -389,6 +399,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
389
399
|
setNetwork,
|
|
390
400
|
setPrimaryWallet,
|
|
391
401
|
setPrimaryWalletId,
|
|
402
|
+
setSdkHasLoaded,
|
|
392
403
|
setShowQrcodeModal,
|
|
393
404
|
setUser,
|
|
394
405
|
shadowDOMEnabled,
|
|
@@ -403,6 +414,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
403
414
|
termsOfServiceUrl,
|
|
404
415
|
theme,
|
|
405
416
|
toolkitEnabled,
|
|
417
|
+
user,
|
|
406
418
|
vendorCredentials,
|
|
407
419
|
walletUiUtils,
|
|
408
420
|
wallets,
|
|
@@ -56,6 +56,7 @@ export interface IDynamicContext {
|
|
|
56
56
|
projectSettings: ProjectSettings | undefined;
|
|
57
57
|
qrcodeUri: string;
|
|
58
58
|
rpcProviders: DynamicRPCProviders;
|
|
59
|
+
sdkHasLoaded: boolean;
|
|
59
60
|
secondaryWallets: Wallet[];
|
|
60
61
|
selectedWalletConnector: WalletConnector | null;
|
|
61
62
|
setAuthMode: Dispatch<SetStateAction<AuthModeType>>;
|
|
@@ -49,6 +49,7 @@ import '../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
|
|
|
49
49
|
import '../../components/Transition/OpacityTransition/OpacityTransition.js';
|
|
50
50
|
import '../../components/ShadowDOM/ShadowDOM.js';
|
|
51
51
|
import '../../components/IconButton/IconButton.js';
|
|
52
|
+
import { useGlobalLoading } from '../../shared/utils/hooks/useGlobalLoading/useGlobalLoading.js';
|
|
52
53
|
import { initExpirationTime } from './helpers.js';
|
|
53
54
|
import { validateAuthUser } from './validators.js';
|
|
54
55
|
import { useCustomerCallbacks } from './useCustomerCallbacks/useCustomerCallbacks.js';
|
|
@@ -101,7 +102,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
101
102
|
walletUiUtils,
|
|
102
103
|
});
|
|
103
104
|
const [authMode, setAuthMode] = useLocalStorage(AUTH_MODE, initialAuthenticationMode);
|
|
104
|
-
const { connectWallet, removeConnectedInfo, connectedWallet, setConnectedWallet, connectWalletByAddressAndChain, } = useConnectWallet(wallets, authMode, environmentId, enableVisitTrackingOnConnectOnly);
|
|
105
|
+
const { connectWallet, removeConnectedInfo, connectedInfo, connectedWallet, setConnectedWallet, connectWalletByAddressAndChain, } = useConnectWallet(wallets, authMode, environmentId, enableVisitTrackingOnConnectOnly);
|
|
105
106
|
const [selectedWalletConnector, setSelectedWalletConnector] = useState(null);
|
|
106
107
|
const removeAuthTokenAndUser = useCallback(() => {
|
|
107
108
|
localStorage.removeItem(AUTH_TOKEN);
|
|
@@ -115,6 +116,14 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
115
116
|
setQrcodeUri,
|
|
116
117
|
wallets,
|
|
117
118
|
});
|
|
119
|
+
const { sdkHasLoaded, setSdkHasLoaded } = useGlobalLoading({
|
|
120
|
+
authMode,
|
|
121
|
+
connectedInfo,
|
|
122
|
+
connectedWallet,
|
|
123
|
+
primaryWallet,
|
|
124
|
+
projectSettings,
|
|
125
|
+
user,
|
|
126
|
+
});
|
|
118
127
|
const walletForUserFacingContext = authMode === 'connect-and-sign' || user ? primaryWallet : connectedWallet;
|
|
119
128
|
useSyncPrimaryWallet({
|
|
120
129
|
multiWalletWidgetState,
|
|
@@ -287,6 +296,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
287
296
|
projectSettings,
|
|
288
297
|
qrcodeUri,
|
|
289
298
|
rpcProviders,
|
|
299
|
+
sdkHasLoaded,
|
|
290
300
|
secondaryWallets,
|
|
291
301
|
selectedWalletConnector,
|
|
292
302
|
setAuthMode,
|
|
@@ -302,6 +312,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
302
312
|
setPrimaryWallet,
|
|
303
313
|
setPrimaryWalletId,
|
|
304
314
|
setQrcodeUri,
|
|
315
|
+
setSdkHasLoaded,
|
|
305
316
|
setSelectedWalletConnector,
|
|
306
317
|
setShowAuthFlow,
|
|
307
318
|
setShowDynamicUserProfile,
|
|
@@ -330,9 +341,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
330
341
|
accessDeniedMessagePrimary,
|
|
331
342
|
accessDeniedMessageSecondary,
|
|
332
343
|
accountSwitchState,
|
|
333
|
-
appLogo,
|
|
334
344
|
appLogoUrl,
|
|
335
|
-
displayName,
|
|
336
345
|
appName,
|
|
337
346
|
authMode,
|
|
338
347
|
authorizationViewDisplayOrder,
|
|
@@ -341,20 +350,20 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
341
350
|
computeConnectedStateForWallets,
|
|
342
351
|
connectWallet,
|
|
343
352
|
connectedWallet,
|
|
344
|
-
defaultNumberOfWalletsToShow,
|
|
345
353
|
primaryWallet,
|
|
346
354
|
secondaryWallets,
|
|
347
355
|
consumeNonce,
|
|
348
356
|
cssOverrides,
|
|
349
357
|
debugError,
|
|
350
358
|
onboardingOnlyJwt,
|
|
359
|
+
defaultNumberOfWalletsToShow,
|
|
351
360
|
desktopUri,
|
|
352
361
|
displayTermsOfService,
|
|
353
362
|
environmentId,
|
|
354
363
|
eventsCallbacks,
|
|
355
364
|
handleLogOut,
|
|
356
365
|
handleUnlinkWallet,
|
|
357
|
-
|
|
366
|
+
isAuthenticated,
|
|
358
367
|
isProjectSettingsLoading,
|
|
359
368
|
isSingleWalletAccount,
|
|
360
369
|
isVerifying,
|
|
@@ -376,6 +385,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
376
385
|
projectSettings,
|
|
377
386
|
qrcodeUri,
|
|
378
387
|
rpcProviders,
|
|
388
|
+
sdkHasLoaded,
|
|
379
389
|
selectedWalletConnector,
|
|
380
390
|
setAuthMode,
|
|
381
391
|
setAuthorizationViewDisplayOrder,
|
|
@@ -385,6 +395,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
385
395
|
setNetwork,
|
|
386
396
|
setPrimaryWallet,
|
|
387
397
|
setPrimaryWalletId,
|
|
398
|
+
setSdkHasLoaded,
|
|
388
399
|
setShowQrcodeModal,
|
|
389
400
|
setUser,
|
|
390
401
|
shadowDOMEnabled,
|
|
@@ -399,6 +410,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
399
410
|
termsOfServiceUrl,
|
|
400
411
|
theme,
|
|
401
412
|
toolkitEnabled,
|
|
413
|
+
user,
|
|
402
414
|
vendorCredentials,
|
|
403
415
|
walletUiUtils,
|
|
404
416
|
wallets,
|
|
@@ -11,7 +11,7 @@ const useDynamicContext = () => {
|
|
|
11
11
|
if (context === undefined) {
|
|
12
12
|
throw new Error('useDynamicContext must be used within a DynamicContextProvider');
|
|
13
13
|
}
|
|
14
|
-
const { accountSwitchState, awaitingSignatureState, authMode, authToken, connectedWallets, handleLogOut, handleUnlinkWallet, isAuthenticated, loadingNetwork, multiWalletWidgetState, network, networkConfigurations, primaryWallet, qrcodeUri, rpcProviders, secondaryWallets, setShowAuthFlow, setNetwork, showAuthFlow, showQrcodeModal, setMultiWalletWidgetState, setShowQrcodeModal, setPrimaryWallet, setShowDynamicUserProfile, user, walletConnector, wallets, shadowDOMEnabled, } = context;
|
|
14
|
+
const { accountSwitchState, awaitingSignatureState, authMode, authToken, connectedWallets, handleLogOut, handleUnlinkWallet, isAuthenticated, loadingNetwork, multiWalletWidgetState, network, networkConfigurations, primaryWallet, qrcodeUri, rpcProviders, sdkHasLoaded, secondaryWallets, setShowAuthFlow, setNetwork, showAuthFlow, showQrcodeModal, setMultiWalletWidgetState, setShowQrcodeModal, setPrimaryWallet, setShowDynamicUserProfile, user, walletConnector, wallets, shadowDOMEnabled, } = context;
|
|
15
15
|
return {
|
|
16
16
|
accountSwitchState,
|
|
17
17
|
authMode,
|
|
@@ -28,6 +28,7 @@ const useDynamicContext = () => {
|
|
|
28
28
|
primaryWallet,
|
|
29
29
|
qrcodeUri,
|
|
30
30
|
rpcProviders,
|
|
31
|
+
sdkHasLoaded,
|
|
31
32
|
secondaryWallets,
|
|
32
33
|
setMultiWalletWidgetState,
|
|
33
34
|
setNetwork,
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { IDynamicContext } from './DynamicContext';
|
|
2
|
-
export type UseDynamicContext = Pick<IDynamicContext, 'accountSwitchState' | 'authMode' | 'authToken' | 'awaitingSignatureState' | 'connectedWallets' | 'handleLogOut' | 'handleUnlinkWallet' | 'isAuthenticated' | 'loadingNetwork' | 'multiWalletWidgetState' | 'network' | 'networkConfigurations' | 'primaryWallet' | 'qrcodeUri' | 'rpcProviders' | 'secondaryWallets' | 'setMultiWalletWidgetState' | 'setNetwork' | 'setPrimaryWallet' | 'setShowAuthFlow' | 'setShowQrcodeModal' | 'shadowDOMEnabled' | 'showAuthFlow' | 'showQrcodeModal' | 'setShowDynamicUserProfile' | 'user' | 'walletConnector' | 'wallets'>;
|
|
2
|
+
export type UseDynamicContext = Pick<IDynamicContext, 'accountSwitchState' | 'authMode' | 'authToken' | 'awaitingSignatureState' | 'connectedWallets' | 'handleLogOut' | 'handleUnlinkWallet' | 'isAuthenticated' | 'loadingNetwork' | 'multiWalletWidgetState' | 'network' | 'networkConfigurations' | 'primaryWallet' | 'qrcodeUri' | 'rpcProviders' | 'secondaryWallets' | 'setMultiWalletWidgetState' | 'setNetwork' | 'setPrimaryWallet' | 'setShowAuthFlow' | 'setShowQrcodeModal' | 'shadowDOMEnabled' | 'sdkHasLoaded' | 'showAuthFlow' | 'showQrcodeModal' | 'setShowDynamicUserProfile' | 'user' | 'walletConnector' | 'wallets'>;
|
|
3
3
|
export declare const useDynamicContext: () => UseDynamicContext;
|
|
@@ -7,7 +7,7 @@ const useDynamicContext = () => {
|
|
|
7
7
|
if (context === undefined) {
|
|
8
8
|
throw new Error('useDynamicContext must be used within a DynamicContextProvider');
|
|
9
9
|
}
|
|
10
|
-
const { accountSwitchState, awaitingSignatureState, authMode, authToken, connectedWallets, handleLogOut, handleUnlinkWallet, isAuthenticated, loadingNetwork, multiWalletWidgetState, network, networkConfigurations, primaryWallet, qrcodeUri, rpcProviders, secondaryWallets, setShowAuthFlow, setNetwork, showAuthFlow, showQrcodeModal, setMultiWalletWidgetState, setShowQrcodeModal, setPrimaryWallet, setShowDynamicUserProfile, user, walletConnector, wallets, shadowDOMEnabled, } = context;
|
|
10
|
+
const { accountSwitchState, awaitingSignatureState, authMode, authToken, connectedWallets, handleLogOut, handleUnlinkWallet, isAuthenticated, loadingNetwork, multiWalletWidgetState, network, networkConfigurations, primaryWallet, qrcodeUri, rpcProviders, sdkHasLoaded, secondaryWallets, setShowAuthFlow, setNetwork, showAuthFlow, showQrcodeModal, setMultiWalletWidgetState, setShowQrcodeModal, setPrimaryWallet, setShowDynamicUserProfile, user, walletConnector, wallets, shadowDOMEnabled, } = context;
|
|
11
11
|
return {
|
|
12
12
|
accountSwitchState,
|
|
13
13
|
authMode,
|
|
@@ -24,6 +24,7 @@ const useDynamicContext = () => {
|
|
|
24
24
|
primaryWallet,
|
|
25
25
|
qrcodeUri,
|
|
26
26
|
rpcProviders,
|
|
27
|
+
sdkHasLoaded,
|
|
27
28
|
secondaryWallets,
|
|
28
29
|
setMultiWalletWidgetState,
|
|
29
30
|
setNetwork,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useGlobalLoading } from './useGlobalLoading';
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var index = require('../../functions/lastAuthenticatedAccount/index.cjs');
|
|
7
|
+
|
|
8
|
+
const useGlobalLoading = ({ authMode, connectedInfo, connectedWallet, projectSettings, primaryWallet, user, }) => {
|
|
9
|
+
var _a;
|
|
10
|
+
const [sdkHasLoaded, setSdkHasLoaded] = React.useState(false);
|
|
11
|
+
const primaryWalletIsLoading = user &&
|
|
12
|
+
((_a = index.lastAuthenticatedAccount(user)) === null || _a === void 0 ? void 0 : _a.format) === 'blockchain' &&
|
|
13
|
+
!primaryWallet;
|
|
14
|
+
const connectOnlyUserIsLoading = authMode === 'connect-only' && connectedInfo && !connectedWallet;
|
|
15
|
+
React.useEffect(() => {
|
|
16
|
+
if (projectSettings) {
|
|
17
|
+
if (primaryWalletIsLoading || connectOnlyUserIsLoading) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
setSdkHasLoaded(true);
|
|
21
|
+
}
|
|
22
|
+
}, [
|
|
23
|
+
projectSettings,
|
|
24
|
+
primaryWallet,
|
|
25
|
+
user,
|
|
26
|
+
primaryWalletIsLoading,
|
|
27
|
+
connectOnlyUserIsLoading,
|
|
28
|
+
]);
|
|
29
|
+
return {
|
|
30
|
+
sdkHasLoaded,
|
|
31
|
+
setSdkHasLoaded,
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
exports.useGlobalLoading = useGlobalLoading;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ProjectSettings } from '@dynamic-labs/sdk-api';
|
|
3
|
+
import { UserProfile, Wallet } from '../../../types';
|
|
4
|
+
import { ConnectedWalletConnectorType } from '../../../../utils/hooks/useConnectWallet/useConnectWallet';
|
|
5
|
+
type Props = {
|
|
6
|
+
authMode: string;
|
|
7
|
+
connectedInfo: ConnectedWalletConnectorType | null;
|
|
8
|
+
connectedWallet: Wallet | null;
|
|
9
|
+
primaryWallet: Wallet | null;
|
|
10
|
+
projectSettings: ProjectSettings | undefined;
|
|
11
|
+
user: UserProfile | undefined;
|
|
12
|
+
};
|
|
13
|
+
export declare const useGlobalLoading: ({ authMode, connectedInfo, connectedWallet, projectSettings, primaryWallet, user, }: Props) => {
|
|
14
|
+
sdkHasLoaded: boolean;
|
|
15
|
+
setSdkHasLoaded: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
|
+
import { lastAuthenticatedAccount } from '../../functions/lastAuthenticatedAccount/index.js';
|
|
3
|
+
|
|
4
|
+
const useGlobalLoading = ({ authMode, connectedInfo, connectedWallet, projectSettings, primaryWallet, user, }) => {
|
|
5
|
+
var _a;
|
|
6
|
+
const [sdkHasLoaded, setSdkHasLoaded] = useState(false);
|
|
7
|
+
const primaryWalletIsLoading = user &&
|
|
8
|
+
((_a = lastAuthenticatedAccount(user)) === null || _a === void 0 ? void 0 : _a.format) === 'blockchain' &&
|
|
9
|
+
!primaryWallet;
|
|
10
|
+
const connectOnlyUserIsLoading = authMode === 'connect-only' && connectedInfo && !connectedWallet;
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (projectSettings) {
|
|
13
|
+
if (primaryWalletIsLoading || connectOnlyUserIsLoading) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
setSdkHasLoaded(true);
|
|
17
|
+
}
|
|
18
|
+
}, [
|
|
19
|
+
projectSettings,
|
|
20
|
+
primaryWallet,
|
|
21
|
+
user,
|
|
22
|
+
primaryWalletIsLoading,
|
|
23
|
+
connectOnlyUserIsLoading,
|
|
24
|
+
]);
|
|
25
|
+
return {
|
|
26
|
+
sdkHasLoaded,
|
|
27
|
+
setSdkHasLoaded,
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export { useGlobalLoading };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { Chain, FetchPublicAddressOpts, WalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
3
3
|
import { AuthModeType, Wallet, WalletOption } from '../../../shared';
|
|
4
|
-
type ConnectedWalletConnectorType = {
|
|
4
|
+
export type ConnectedWalletConnectorType = {
|
|
5
5
|
chain: Chain | undefined;
|
|
6
6
|
name: string;
|
|
7
7
|
provider: string;
|
|
@@ -16,4 +16,3 @@ export declare const useConnectWallet: (wallets: WalletOption[], authMode: AuthM
|
|
|
16
16
|
setConnectedInfo: (value: ConnectedWalletConnectorType | ((val: ConnectedWalletConnectorType | null) => ConnectedWalletConnectorType | null) | null) => void;
|
|
17
17
|
setConnectedWallet: import("react").Dispatch<import("react").SetStateAction<Wallet | null>>;
|
|
18
18
|
};
|
|
19
|
-
export {};
|
|
@@ -34,7 +34,7 @@ var index = require('../UserDataFields/index.cjs');
|
|
|
34
34
|
var useUserDataForm = require('../../../utils/hooks/useUserDataForm/useUserDataForm.cjs');
|
|
35
35
|
|
|
36
36
|
const UserDataForm = ({ children, userProfile }) => {
|
|
37
|
-
const { policiesConsentInnerComponent, onboardingOnlyJwt, setShowAuthFlow } = useInternalDynamicContext.useInternalDynamicContext();
|
|
37
|
+
const { policiesConsentInnerComponent, onboardingOnlyJwt, setShowAuthFlow, setCallback, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
38
38
|
const { setView } = ViewContext.useViewContext();
|
|
39
39
|
const decodedJwt = decodeJwt.decodeJwt(onboardingOnlyJwt);
|
|
40
40
|
const { updateUser } = useUserUpdateRequest.useUserUpdateRequestInternal({
|
|
@@ -47,7 +47,8 @@ const UserDataForm = ({ children, userProfile }) => {
|
|
|
47
47
|
return;
|
|
48
48
|
}
|
|
49
49
|
setShowAuthFlow(false);
|
|
50
|
-
|
|
50
|
+
setCallback('authSuccess');
|
|
51
|
+
}), [setCallback, setShowAuthFlow, setView, updateUser]);
|
|
51
52
|
const { fetch: loading, formikInitialValues, formikValidationSchema, enforcePolicies, onFormSubmit, } = useUserDataForm.useUserDataForm({
|
|
52
53
|
fields: (decodedJwt === null || decodedJwt === void 0 ? void 0 : decodedJwt.missingFields) || [],
|
|
53
54
|
onSubmit,
|
|
@@ -30,7 +30,7 @@ import { UserDataFields } from '../UserDataFields/index.js';
|
|
|
30
30
|
import { useUserDataForm } from '../../../utils/hooks/useUserDataForm/useUserDataForm.js';
|
|
31
31
|
|
|
32
32
|
const UserDataForm = ({ children, userProfile }) => {
|
|
33
|
-
const { policiesConsentInnerComponent, onboardingOnlyJwt, setShowAuthFlow } = useInternalDynamicContext();
|
|
33
|
+
const { policiesConsentInnerComponent, onboardingOnlyJwt, setShowAuthFlow, setCallback, } = useInternalDynamicContext();
|
|
34
34
|
const { setView } = useViewContext();
|
|
35
35
|
const decodedJwt = decodeJwt(onboardingOnlyJwt);
|
|
36
36
|
const { updateUser } = useUserUpdateRequestInternal({
|
|
@@ -43,7 +43,8 @@ const UserDataForm = ({ children, userProfile }) => {
|
|
|
43
43
|
return;
|
|
44
44
|
}
|
|
45
45
|
setShowAuthFlow(false);
|
|
46
|
-
|
|
46
|
+
setCallback('authSuccess');
|
|
47
|
+
}), [setCallback, setShowAuthFlow, setView, updateUser]);
|
|
47
48
|
const { fetch: loading, formikInitialValues, formikValidationSchema, enforcePolicies, onFormSubmit, } = useUserDataForm({
|
|
48
49
|
fields: (decodedJwt === null || decodedJwt === void 0 ? void 0 : decodedJwt.missingFields) || [],
|
|
49
50
|
onSubmit,
|
|
@@ -71,6 +71,7 @@ const EmailVerification = () => {
|
|
|
71
71
|
const { nextView } = yield verifyEmail(verificationToken, verificationUUID);
|
|
72
72
|
if (onboardingOnlyJwt) {
|
|
73
73
|
setOnboardingOnlyJwt(undefined);
|
|
74
|
+
setCallback('authSuccess');
|
|
74
75
|
}
|
|
75
76
|
setIsValidated(true);
|
|
76
77
|
if (nextView === 'verified-and-transferred') {
|
|
@@ -95,6 +96,7 @@ const EmailVerification = () => {
|
|
|
95
96
|
verifyEmail,
|
|
96
97
|
setShowAuthFlow,
|
|
97
98
|
setOnboardingOnlyJwt,
|
|
99
|
+
setCallback,
|
|
98
100
|
setErrorMessage,
|
|
99
101
|
]);
|
|
100
102
|
const handleEmailLogin = React.useCallback((verificationToken) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -67,6 +67,7 @@ const EmailVerification = () => {
|
|
|
67
67
|
const { nextView } = yield verifyEmail(verificationToken, verificationUUID);
|
|
68
68
|
if (onboardingOnlyJwt) {
|
|
69
69
|
setOnboardingOnlyJwt(undefined);
|
|
70
|
+
setCallback('authSuccess');
|
|
70
71
|
}
|
|
71
72
|
setIsValidated(true);
|
|
72
73
|
if (nextView === 'verified-and-transferred') {
|
|
@@ -91,6 +92,7 @@ const EmailVerification = () => {
|
|
|
91
92
|
verifyEmail,
|
|
92
93
|
setShowAuthFlow,
|
|
93
94
|
setOnboardingOnlyJwt,
|
|
95
|
+
setCallback,
|
|
94
96
|
setErrorMessage,
|
|
95
97
|
]);
|
|
96
98
|
const handleEmailLogin = useCallback((verificationToken) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -40,7 +40,7 @@ var useUpdateUserProfileByJWTCallback = require('../../utils/hooks/useUpdateUser
|
|
|
40
40
|
|
|
41
41
|
const NetworkNotSupported = () => {
|
|
42
42
|
var _a, _b;
|
|
43
|
-
const { handleLogOut, onboardingOnlyJwt, network, onboardingImageUrl, selectedWalletConnector: walletConnector, decodedOnboardingOnlyToken, setShowAuthFlow, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
43
|
+
const { handleLogOut, onboardingOnlyJwt, network, onboardingImageUrl, selectedWalletConnector: walletConnector, decodedOnboardingOnlyToken, setShowAuthFlow, setCallback, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
44
44
|
const { updateUserProfileByJWT } = useUpdateUserProfileByJWTCallback.useUpdateUserProfileByJWTCallback();
|
|
45
45
|
const [isNetworkPickerOpen, setIsNetworkPickerOpen] = React.useState(false);
|
|
46
46
|
if (!decodedOnboardingOnlyToken || !walletConnector) {
|
|
@@ -49,6 +49,7 @@ const NetworkNotSupported = () => {
|
|
|
49
49
|
const onSubmit = () => {
|
|
50
50
|
if (!onboardingOnlyJwt)
|
|
51
51
|
return;
|
|
52
|
+
setCallback('authSuccess');
|
|
52
53
|
updateUserProfileByJWT(onboardingOnlyJwt);
|
|
53
54
|
setShowAuthFlow(false);
|
|
54
55
|
};
|
|
@@ -36,7 +36,7 @@ import { useUpdateUserProfileByJWTCallback } from '../../utils/hooks/useUpdateUs
|
|
|
36
36
|
|
|
37
37
|
const NetworkNotSupported = () => {
|
|
38
38
|
var _a, _b;
|
|
39
|
-
const { handleLogOut, onboardingOnlyJwt, network, onboardingImageUrl, selectedWalletConnector: walletConnector, decodedOnboardingOnlyToken, setShowAuthFlow, } = useInternalDynamicContext();
|
|
39
|
+
const { handleLogOut, onboardingOnlyJwt, network, onboardingImageUrl, selectedWalletConnector: walletConnector, decodedOnboardingOnlyToken, setShowAuthFlow, setCallback, } = useInternalDynamicContext();
|
|
40
40
|
const { updateUserProfileByJWT } = useUpdateUserProfileByJWTCallback();
|
|
41
41
|
const [isNetworkPickerOpen, setIsNetworkPickerOpen] = useState(false);
|
|
42
42
|
if (!decodedOnboardingOnlyToken || !walletConnector) {
|
|
@@ -45,6 +45,7 @@ const NetworkNotSupported = () => {
|
|
|
45
45
|
const onSubmit = () => {
|
|
46
46
|
if (!onboardingOnlyJwt)
|
|
47
47
|
return;
|
|
48
|
+
setCallback('authSuccess');
|
|
48
49
|
updateUserProfileByJWT(onboardingOnlyJwt);
|
|
49
50
|
setShowAuthFlow(false);
|
|
50
51
|
};
|