@b3dotfun/sdk 0.0.35 → 0.0.36
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/dist/cjs/anyspend/react/components/AnySpend.js +5 -3
- package/dist/cjs/anyspend/react/components/AnyspendDepositHype.js +2 -2
- package/dist/cjs/anyspend/react/components/common/ConnectWalletPayment.d.ts +3 -1
- package/dist/cjs/anyspend/react/components/common/ConnectWalletPayment.js +5 -2
- package/dist/cjs/anyspend/react/components/common/CryptoPaySection.d.ts +16 -0
- package/dist/cjs/anyspend/react/components/common/CryptoPaySection.js +58 -0
- package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.d.ts +1 -0
- package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.js +22 -15
- package/dist/cjs/anyspend/react/components/common/OrderDetails.js +12 -4
- package/dist/cjs/anyspend/react/components/common/PaySection.d.ts +2 -6
- package/dist/cjs/anyspend/react/components/common/PaySection.js +10 -15
- package/dist/cjs/anyspend/react/components/index.d.ts +2 -2
- package/dist/cjs/anyspend/react/components/index.js +5 -5
- package/dist/cjs/global-account/bsmnt.d.ts +2 -0
- package/dist/cjs/global-account/bsmnt.js +42 -1
- package/dist/cjs/global-account/react/components/AvatarCreator/AvatarCreator.d.ts +6 -0
- package/dist/cjs/global-account/react/components/AvatarCreator/AvatarCreator.js +55 -0
- package/dist/cjs/global-account/react/components/AvatarEditor/AvatarEditor.d.ts +6 -0
- package/dist/cjs/global-account/react/components/AvatarEditor/AvatarEditor.js +108 -0
- package/dist/cjs/global-account/react/components/B3DynamicModal.js +9 -1
- package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.d.ts +3 -1
- package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.js +21 -11
- package/dist/cjs/global-account/react/components/ManageAccount/BalanceContent.d.ts +3 -1
- package/dist/cjs/global-account/react/components/ManageAccount/BalanceContent.js +19 -5
- package/dist/cjs/global-account/react/components/ManageAccount/ManageAccount.d.ts +3 -1
- package/dist/cjs/global-account/react/components/ManageAccount/ManageAccount.js +6 -6
- package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3.js +2 -2
- package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +1 -13
- package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Privy.js +1 -3
- package/dist/cjs/global-account/react/components/SignInWithB3/steps/LoginStep.js +0 -3
- package/dist/cjs/global-account/react/components/SignInWithB3/steps/LoginStepCustom.js +0 -3
- package/dist/cjs/global-account/react/components/icons/AppleIcon.d.ts +9 -0
- package/dist/cjs/global-account/react/components/icons/AppleIcon.js +8 -0
- package/dist/cjs/global-account/react/components/icons/DiscordIcon.d.ts +9 -0
- package/dist/cjs/global-account/react/components/icons/DiscordIcon.js +8 -0
- package/dist/cjs/global-account/react/components/icons/FarcasterIcon.d.ts +9 -0
- package/dist/cjs/global-account/react/components/icons/FarcasterIcon.js +8 -0
- package/dist/cjs/global-account/react/components/icons/GoogleIcon.d.ts +8 -0
- package/dist/cjs/global-account/react/components/icons/GoogleIcon.js +8 -0
- package/dist/cjs/global-account/react/components/icons/XIcon.d.ts +9 -0
- package/dist/cjs/global-account/react/components/icons/XIcon.js +8 -0
- package/dist/cjs/global-account/react/hooks/useAccountWallet.js +3 -2
- package/dist/cjs/global-account/react/hooks/useAuthentication.d.ts +1 -2
- package/dist/cjs/global-account/react/hooks/useAuthentication.js +16 -15
- package/dist/cjs/global-account/react/hooks/useProfile.d.ts +1 -1
- package/dist/cjs/global-account/react/hooks/useRPMToken.d.ts +7 -0
- package/dist/cjs/global-account/react/hooks/useRPMToken.js +11 -0
- package/dist/cjs/global-account/react/stores/useAuthStore.d.ts +2 -4
- package/dist/cjs/global-account/react/stores/useAuthStore.js +2 -4
- package/dist/cjs/global-account/react/stores/useModalStore.d.ts +11 -1
- package/dist/cjs/global-account/react/utils/updateAvatar.d.ts +4 -0
- package/dist/cjs/global-account/react/utils/updateAvatar.js +54 -0
- package/dist/esm/anyspend/react/components/AnySpend.js +5 -3
- package/dist/esm/anyspend/react/components/AnyspendDepositHype.js +2 -2
- package/dist/esm/anyspend/react/components/common/ConnectWalletPayment.d.ts +3 -1
- package/dist/esm/anyspend/react/components/common/ConnectWalletPayment.js +5 -2
- package/dist/esm/anyspend/react/components/common/CryptoPaySection.d.ts +16 -0
- package/dist/esm/anyspend/react/components/common/CryptoPaySection.js +55 -0
- package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.d.ts +1 -0
- package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.js +22 -15
- package/dist/esm/anyspend/react/components/common/OrderDetails.js +12 -4
- package/dist/esm/anyspend/react/components/common/PaySection.d.ts +2 -6
- package/dist/esm/anyspend/react/components/common/PaySection.js +10 -15
- package/dist/esm/anyspend/react/components/index.d.ts +2 -2
- package/dist/esm/anyspend/react/components/index.js +2 -2
- package/dist/esm/global-account/bsmnt.d.ts +2 -0
- package/dist/esm/global-account/bsmnt.js +39 -0
- package/dist/esm/global-account/react/components/AvatarCreator/AvatarCreator.d.ts +6 -0
- package/dist/esm/global-account/react/components/AvatarCreator/AvatarCreator.js +52 -0
- package/dist/esm/global-account/react/components/AvatarEditor/AvatarEditor.d.ts +6 -0
- package/dist/esm/global-account/react/components/AvatarEditor/AvatarEditor.js +102 -0
- package/dist/esm/global-account/react/components/B3DynamicModal.js +9 -1
- package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.d.ts +3 -1
- package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.js +22 -12
- package/dist/esm/global-account/react/components/ManageAccount/BalanceContent.d.ts +3 -1
- package/dist/esm/global-account/react/components/ManageAccount/BalanceContent.js +20 -6
- package/dist/esm/global-account/react/components/ManageAccount/ManageAccount.d.ts +3 -1
- package/dist/esm/global-account/react/components/ManageAccount/ManageAccount.js +6 -6
- package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3.js +2 -2
- package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +1 -13
- package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Privy.js +1 -3
- package/dist/esm/global-account/react/components/SignInWithB3/steps/LoginStep.js +0 -3
- package/dist/esm/global-account/react/components/SignInWithB3/steps/LoginStepCustom.js +0 -3
- package/dist/esm/global-account/react/components/icons/AppleIcon.d.ts +9 -0
- package/dist/esm/global-account/react/components/icons/AppleIcon.js +5 -0
- package/dist/esm/global-account/react/components/icons/DiscordIcon.d.ts +9 -0
- package/dist/esm/global-account/react/components/icons/DiscordIcon.js +5 -0
- package/dist/esm/global-account/react/components/icons/FarcasterIcon.d.ts +9 -0
- package/dist/esm/global-account/react/components/icons/FarcasterIcon.js +5 -0
- package/dist/esm/global-account/react/components/icons/GoogleIcon.d.ts +8 -0
- package/dist/esm/global-account/react/components/icons/GoogleIcon.js +5 -0
- package/dist/esm/global-account/react/components/icons/XIcon.d.ts +9 -0
- package/dist/esm/global-account/react/components/icons/XIcon.js +5 -0
- package/dist/esm/global-account/react/hooks/useAccountWallet.js +3 -2
- package/dist/esm/global-account/react/hooks/useAuthentication.d.ts +1 -2
- package/dist/esm/global-account/react/hooks/useAuthentication.js +16 -15
- package/dist/esm/global-account/react/hooks/useProfile.d.ts +1 -1
- package/dist/esm/global-account/react/hooks/useRPMToken.d.ts +7 -0
- package/dist/esm/global-account/react/hooks/useRPMToken.js +8 -0
- package/dist/esm/global-account/react/stores/useAuthStore.d.ts +2 -4
- package/dist/esm/global-account/react/stores/useAuthStore.js +2 -4
- package/dist/esm/global-account/react/stores/useModalStore.d.ts +11 -1
- package/dist/esm/global-account/react/utils/updateAvatar.d.ts +4 -0
- package/dist/esm/global-account/react/utils/updateAvatar.js +18 -0
- package/dist/styles/index.css +1 -1
- package/dist/types/anyspend/react/components/common/ConnectWalletPayment.d.ts +3 -1
- package/dist/types/anyspend/react/components/common/CryptoPaySection.d.ts +16 -0
- package/dist/types/anyspend/react/components/common/CryptoPaymentMethod.d.ts +1 -0
- package/dist/types/anyspend/react/components/common/PaySection.d.ts +2 -6
- package/dist/types/anyspend/react/components/index.d.ts +2 -2
- package/dist/types/global-account/bsmnt.d.ts +2 -0
- package/dist/types/global-account/react/components/AvatarCreator/AvatarCreator.d.ts +6 -0
- package/dist/types/global-account/react/components/AvatarEditor/AvatarEditor.d.ts +6 -0
- package/dist/types/global-account/react/components/LinkAccount/LinkAccount.d.ts +3 -1
- package/dist/types/global-account/react/components/ManageAccount/BalanceContent.d.ts +3 -1
- package/dist/types/global-account/react/components/ManageAccount/ManageAccount.d.ts +3 -1
- package/dist/types/global-account/react/components/icons/AppleIcon.d.ts +9 -0
- package/dist/types/global-account/react/components/icons/DiscordIcon.d.ts +9 -0
- package/dist/types/global-account/react/components/icons/FarcasterIcon.d.ts +9 -0
- package/dist/types/global-account/react/components/icons/GoogleIcon.d.ts +8 -0
- package/dist/types/global-account/react/components/icons/XIcon.d.ts +9 -0
- package/dist/types/global-account/react/hooks/useAuthentication.d.ts +1 -2
- package/dist/types/global-account/react/hooks/useProfile.d.ts +1 -1
- package/dist/types/global-account/react/hooks/useRPMToken.d.ts +7 -0
- package/dist/types/global-account/react/stores/useAuthStore.d.ts +2 -4
- package/dist/types/global-account/react/stores/useModalStore.d.ts +11 -1
- package/dist/types/global-account/react/utils/updateAvatar.d.ts +4 -0
- package/package.json +8 -7
- package/src/anyspend/react/components/AnySpend.tsx +7 -6
- package/src/anyspend/react/components/AnyspendDepositHype.tsx +2 -5
- package/src/anyspend/react/components/common/ConnectWalletPayment.tsx +6 -1
- package/src/anyspend/react/components/common/CryptoPaySection.tsx +153 -0
- package/src/anyspend/react/components/common/CryptoPaymentMethod.tsx +80 -43
- package/src/anyspend/react/components/common/OrderDetails.tsx +13 -4
- package/src/anyspend/react/components/common/PaySection.tsx +64 -140
- package/src/anyspend/react/components/index.ts +2 -2
- package/src/global-account/bsmnt.ts +47 -0
- package/src/global-account/react/components/AvatarCreator/AvatarCreator.tsx +90 -0
- package/src/global-account/react/components/AvatarEditor/AvatarEditor.tsx +233 -0
- package/src/global-account/react/components/B3DynamicModal.tsx +27 -2
- package/src/global-account/react/components/LinkAccount/LinkAccount.tsx +40 -18
- package/src/global-account/react/components/ManageAccount/BalanceContent.tsx +63 -35
- package/src/global-account/react/components/ManageAccount/ManageAccount.tsx +106 -78
- package/src/global-account/react/components/SignInWithB3/SignInWithB3.tsx +2 -2
- package/src/global-account/react/components/SignInWithB3/SignInWithB3Flow.tsx +1 -13
- package/src/global-account/react/components/SignInWithB3/SignInWithB3Privy.tsx +1 -3
- package/src/global-account/react/components/SignInWithB3/steps/LoginStep.tsx +0 -3
- package/src/global-account/react/components/SignInWithB3/steps/LoginStepCustom.tsx +0 -3
- package/src/global-account/react/components/icons/AppleIcon.tsx +33 -0
- package/src/global-account/react/components/icons/DiscordIcon.tsx +32 -0
- package/src/global-account/react/components/icons/FarcasterIcon.tsx +37 -0
- package/src/global-account/react/components/icons/GoogleIcon.tsx +40 -0
- package/src/global-account/react/components/icons/XIcon.tsx +28 -0
- package/src/global-account/react/hooks/useAccountWallet.tsx +3 -2
- package/src/global-account/react/hooks/useAuthentication.ts +18 -15
- package/src/global-account/react/hooks/useProfile.ts +1 -1
- package/src/global-account/react/hooks/useRPMToken.ts +17 -0
- package/src/global-account/react/stores/useAuthStore.ts +4 -8
- package/src/global-account/react/stores/useModalStore.ts +13 -1
- package/src/global-account/react/utils/updateAvatar.ts +21 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import app from "../../../global-account/app.js";
|
|
2
|
+
import { authenticateWithB3JWT } from "../../../global-account/bsmnt.js";
|
|
2
3
|
import { useAuthStore, useB3 } from "../../../global-account/react/index.js";
|
|
3
4
|
import { ecosystemWalletId } from "../../../shared/constants/index.js";
|
|
4
5
|
import { b3MainnetThirdWeb } from "../../../shared/constants/chains/supported.js";
|
|
@@ -17,17 +18,15 @@ export function useAuthentication(partnerId, loginWithSiwe) {
|
|
|
17
18
|
const activeWallet = useActiveWallet();
|
|
18
19
|
const { authenticate } = useSiwe();
|
|
19
20
|
const { setUser } = useB3();
|
|
20
|
-
const isAuthenticating = useAuthStore(state => state.isAuthenticating);
|
|
21
21
|
const isAuthenticated = useAuthStore(state => state.isAuthenticated);
|
|
22
22
|
const setIsAuthenticated = useAuthStore(state => state.setIsAuthenticated);
|
|
23
|
-
const setIsAuthenticating = useAuthStore(state => state.setIsAuthenticating);
|
|
24
23
|
const setIsConnecting = useAuthStore(state => state.setIsConnecting);
|
|
25
24
|
const setIsConnected = useAuthStore(state => state.setIsConnected);
|
|
26
25
|
const isConnecting = useAuthStore(state => state.isConnecting);
|
|
27
26
|
const isConnected = useAuthStore(state => state.isConnected);
|
|
28
27
|
const useAutoConnectLoadingPrevious = useRef(false);
|
|
29
|
-
const
|
|
30
|
-
const
|
|
28
|
+
const setIsAuthenticating = useAuthStore(state => state.setIsAuthenticating);
|
|
29
|
+
const isAuthenticating = useAuthStore(state => state.isAuthenticating);
|
|
31
30
|
const hasStartedConnecting = useAuthStore(state => state.hasStartedConnecting);
|
|
32
31
|
const setHasStartedConnecting = useAuthStore(state => state.setHasStartedConnecting);
|
|
33
32
|
const { connect } = useConnect(partnerId, b3MainnetThirdWeb);
|
|
@@ -44,11 +43,10 @@ export function useAuthentication(partnerId, loginWithSiwe) {
|
|
|
44
43
|
if (!loginWithSiwe) {
|
|
45
44
|
debug("Skipping SIWE login", { loginWithSiwe });
|
|
46
45
|
setIsAuthenticated(true);
|
|
47
|
-
|
|
46
|
+
setIsAuthenticating(false);
|
|
48
47
|
return;
|
|
49
48
|
}
|
|
50
49
|
debug("setIsAuthenticating:true:4");
|
|
51
|
-
setIsAuthenticating(true);
|
|
52
50
|
const account = await wallet.getAccount();
|
|
53
51
|
if (!account) {
|
|
54
52
|
throw new Error("No account found during auto-connect");
|
|
@@ -58,8 +56,11 @@ export function useAuthentication(partnerId, loginWithSiwe) {
|
|
|
58
56
|
const userAuth = await app.reAuthenticate();
|
|
59
57
|
setUser(userAuth.user);
|
|
60
58
|
setIsAuthenticated(true);
|
|
61
|
-
|
|
59
|
+
setIsAuthenticating(false);
|
|
62
60
|
debug("Re-authenticated successfully", { userAuth });
|
|
61
|
+
// Authenticate on BSMNT with B3 JWT
|
|
62
|
+
const b3Jwt = await authenticateWithB3JWT(userAuth.accessToken);
|
|
63
|
+
console.log("@@b3Jwt", b3Jwt);
|
|
63
64
|
}
|
|
64
65
|
catch (error) {
|
|
65
66
|
// If re-authentication fails, try fresh authentication
|
|
@@ -67,8 +68,11 @@ export function useAuthentication(partnerId, loginWithSiwe) {
|
|
|
67
68
|
const userAuth = await authenticate(account, partnerId);
|
|
68
69
|
setUser(userAuth.user);
|
|
69
70
|
setIsAuthenticated(true);
|
|
70
|
-
|
|
71
|
+
setIsAuthenticating(false);
|
|
71
72
|
debug("Fresh authentication successful", { userAuth });
|
|
73
|
+
// Authenticate on BSMNT with B3 JWT
|
|
74
|
+
const b3Jwt = await authenticateWithB3JWT(userAuth.accessToken);
|
|
75
|
+
console.log("@@b3Jwt", b3Jwt);
|
|
72
76
|
}
|
|
73
77
|
}
|
|
74
78
|
catch (error) {
|
|
@@ -77,7 +81,7 @@ export function useAuthentication(partnerId, loginWithSiwe) {
|
|
|
77
81
|
debug("setIsAuthenticating:false:4");
|
|
78
82
|
setUser();
|
|
79
83
|
}
|
|
80
|
-
|
|
84
|
+
setIsAuthenticating(false);
|
|
81
85
|
},
|
|
82
86
|
});
|
|
83
87
|
/**
|
|
@@ -85,7 +89,7 @@ export function useAuthentication(partnerId, loginWithSiwe) {
|
|
|
85
89
|
*/
|
|
86
90
|
useEffect(() => {
|
|
87
91
|
if (!useAutoConnectLoading && useAutoConnectLoadingPrevious.current && !hasStartedConnecting) {
|
|
88
|
-
|
|
92
|
+
setIsAuthenticating(false);
|
|
89
93
|
}
|
|
90
94
|
useAutoConnectLoadingPrevious.current = useAutoConnectLoading;
|
|
91
95
|
}, [useAutoConnectLoading]);
|
|
@@ -99,17 +103,15 @@ export function useAuthentication(partnerId, loginWithSiwe) {
|
|
|
99
103
|
// This prevents the flicker state where both isAuthenticating and isAuthenticated are false
|
|
100
104
|
const timeout = setTimeout(() => {
|
|
101
105
|
debug("setIsAuthenticating:false:5a");
|
|
102
|
-
setIsAuthenticating(false);
|
|
103
106
|
setIsConnecting(false);
|
|
104
107
|
}, 100); // Add a small delay to prevent quick flickers
|
|
105
108
|
return () => clearTimeout(timeout);
|
|
106
109
|
}
|
|
107
110
|
else {
|
|
108
111
|
debug("setIsAuthenticating:false:5b");
|
|
109
|
-
setIsAuthenticating(false);
|
|
110
112
|
setIsConnecting(false);
|
|
111
113
|
}
|
|
112
|
-
}, [useAutoConnectLoading, isAuthenticated,
|
|
114
|
+
}, [useAutoConnectLoading, isAuthenticated, setIsConnecting, setIsConnected]);
|
|
113
115
|
const logout = async (callback) => {
|
|
114
116
|
if (activeWallet) {
|
|
115
117
|
debug("@@logout:activeWallet", activeWallet);
|
|
@@ -139,7 +141,6 @@ export function useAuthentication(partnerId, loginWithSiwe) {
|
|
|
139
141
|
const isReady = isAuthenticated && !useAutoConnectLoading && !isAuthenticating;
|
|
140
142
|
return {
|
|
141
143
|
logout,
|
|
142
|
-
isAuthenticating: useAutoConnectLoading || isAuthenticating,
|
|
143
144
|
isAuthenticated,
|
|
144
145
|
isReady,
|
|
145
146
|
isConnecting,
|
|
@@ -147,6 +148,6 @@ export function useAuthentication(partnerId, loginWithSiwe) {
|
|
|
147
148
|
wallet,
|
|
148
149
|
preAuthenticate,
|
|
149
150
|
connect,
|
|
150
|
-
|
|
151
|
+
isAuthenticating,
|
|
151
152
|
};
|
|
152
153
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useQueryBSMNT } from "../../../global-account/react/hooks/useQueryBSMNT.js";
|
|
3
|
+
export function useRPMToken() {
|
|
4
|
+
const { data, runQuery: refetch, isLoading, error: isError, } = useQueryBSMNT("profiles", "getReadyPlayerMeToken", undefined, true);
|
|
5
|
+
const token = data?.token || "";
|
|
6
|
+
const accountId = data?.accountId || "";
|
|
7
|
+
return { token, accountId, refetch, isLoading, isError };
|
|
8
|
+
}
|
|
@@ -5,7 +5,6 @@ interface AuthState {
|
|
|
5
5
|
provider?: string;
|
|
6
6
|
accessToken?: string;
|
|
7
7
|
chain?: Chain;
|
|
8
|
-
isAuthenticating: boolean;
|
|
9
8
|
isAuthenticated: boolean;
|
|
10
9
|
isConnecting: boolean;
|
|
11
10
|
isConnected: boolean;
|
|
@@ -15,7 +14,6 @@ interface AuthState {
|
|
|
15
14
|
setStep: (step: "login" | "permissions") => void;
|
|
16
15
|
setIsConnecting: (isConnecting: boolean) => void;
|
|
17
16
|
setIsConnected: (isConnected: boolean) => void;
|
|
18
|
-
setIsAuthenticating: (isAuthenticating: boolean) => void;
|
|
19
17
|
setIsAuthenticated: (isAuthenticated: boolean) => void;
|
|
20
18
|
startAuth: (params: {
|
|
21
19
|
provider: string;
|
|
@@ -25,8 +23,8 @@ interface AuthState {
|
|
|
25
23
|
onError?: (error: Error) => void;
|
|
26
24
|
}) => void;
|
|
27
25
|
reset: () => void;
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
isAuthenticating: boolean;
|
|
27
|
+
setIsAuthenticating: (isAuthenticating: boolean) => void;
|
|
30
28
|
hasStartedConnecting: boolean;
|
|
31
29
|
setHasStartedConnecting: (hasStartedConnecting: boolean) => void;
|
|
32
30
|
}
|
|
@@ -5,7 +5,6 @@ export const useAuthStore = create(set => ({
|
|
|
5
5
|
provider: undefined,
|
|
6
6
|
accessToken: undefined,
|
|
7
7
|
chain: undefined,
|
|
8
|
-
isAuthenticating: false,
|
|
9
8
|
isAuthenticated: false,
|
|
10
9
|
isConnecting: false,
|
|
11
10
|
isConnected: false,
|
|
@@ -15,7 +14,6 @@ export const useAuthStore = create(set => ({
|
|
|
15
14
|
setStep: step => set({ step }),
|
|
16
15
|
setIsConnecting: isConnecting => set({ isConnecting }),
|
|
17
16
|
setIsConnected: isConnected => set({ isConnected }),
|
|
18
|
-
setIsAuthenticating: isAuthenticating => set({ isAuthenticating }),
|
|
19
17
|
setIsAuthenticated: isAuthenticated => set({ isAuthenticated }),
|
|
20
18
|
startAuth: params => set({
|
|
21
19
|
isOpen: true,
|
|
@@ -37,8 +35,8 @@ export const useAuthStore = create(set => ({
|
|
|
37
35
|
onSuccess: undefined,
|
|
38
36
|
onError: undefined,
|
|
39
37
|
}),
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
isAuthenticating: true,
|
|
39
|
+
setIsAuthenticating: isAuthenticating => set({ isAuthenticating: isAuthenticating }),
|
|
42
40
|
hasStartedConnecting: false,
|
|
43
41
|
setHasStartedConnecting: hasStartedConnecting => set({ hasStartedConnecting }),
|
|
44
42
|
}));
|
|
@@ -84,6 +84,10 @@ export interface ManageAccountModalProps extends BaseModalProps {
|
|
|
84
84
|
setActiveTab?: (tab: "overview" | "tokens" | "nfts" | "apps" | "settings") => void;
|
|
85
85
|
/** Whether to show the referral information */
|
|
86
86
|
showReferralInfo?: boolean;
|
|
87
|
+
/** Whether to show the swap button */
|
|
88
|
+
showSwap?: boolean;
|
|
89
|
+
/** Whether to show the deposit button */
|
|
90
|
+
showDeposit?: boolean;
|
|
87
91
|
}
|
|
88
92
|
/**
|
|
89
93
|
* Props for the AnySpend modal
|
|
@@ -287,10 +291,16 @@ export interface AnySpendDepositHypeProps extends BaseModalProps {
|
|
|
287
291
|
/** Callback function called when the deposit is successful */
|
|
288
292
|
onSuccess?: (amount?: string) => void;
|
|
289
293
|
}
|
|
294
|
+
export interface AvatarEditorModalProps extends BaseModalProps {
|
|
295
|
+
/** Modal type identifier */
|
|
296
|
+
type: "avatarEditor";
|
|
297
|
+
/** Callback function called when avatar is successfully set */
|
|
298
|
+
onSuccess?: () => void;
|
|
299
|
+
}
|
|
290
300
|
/**
|
|
291
301
|
* Union type of all possible modal content types
|
|
292
302
|
*/
|
|
293
|
-
export type ModalContentType = SignInWithB3ModalProps | RequestPermissionsModalProps | ManageAccountModalProps | AnySpendModalProps | AnyspendOrderDetailsProps | AnySpendNftProps | AnySpendJoinTournamentProps | AnySpendFundTournamentProps | AnySpendOrderHistoryProps | AnySpendStakeB3Props | AnySpendBuySpinProps | AnySpendSignatureMintProps | AnySpendBondKitProps | LinkAccountModalProps | AnySpendDepositHypeProps;
|
|
303
|
+
export type ModalContentType = SignInWithB3ModalProps | RequestPermissionsModalProps | ManageAccountModalProps | AnySpendModalProps | AnyspendOrderDetailsProps | AnySpendNftProps | AnySpendJoinTournamentProps | AnySpendFundTournamentProps | AnySpendOrderHistoryProps | AnySpendStakeB3Props | AnySpendBuySpinProps | AnySpendSignatureMintProps | AnySpendBondKitProps | LinkAccountModalProps | AnySpendDepositHypeProps | AvatarEditorModalProps;
|
|
294
304
|
/**
|
|
295
305
|
* State interface for the modal store
|
|
296
306
|
*/
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import app, { extractAvatarIdFromUrl } from "../../../global-account/bsmnt.js";
|
|
2
|
+
import { debugB3React } from "../../../shared/utils/debug.js";
|
|
3
|
+
const debug = debugB3React("updateAvatar");
|
|
4
|
+
export async function updateAvatar(avatar) {
|
|
5
|
+
try {
|
|
6
|
+
// Extract avatar ID from URL
|
|
7
|
+
const avatarID = extractAvatarIdFromUrl(avatar);
|
|
8
|
+
if (!avatarID) {
|
|
9
|
+
throw new Error("Invalid avatar URL");
|
|
10
|
+
}
|
|
11
|
+
// Set the avatar in the profiles service
|
|
12
|
+
return await app.service("profiles").setAvatar({ avatarUrl: String(avatar), avatarID: String(avatarID) }, {});
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
debug("Failed to update avatar:", error);
|
|
16
|
+
throw error; // Re-throw to handle in component
|
|
17
|
+
}
|
|
18
|
+
}
|