@b3dotfun/sdk 0.0.62 → 0.0.63-alpha.1
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 +61 -23
- package/dist/cjs/anyspend/react/components/AnySpendCustom.js +3 -0
- package/dist/cjs/anyspend/react/components/AnySpendCustomExactIn.d.ts +34 -0
- package/dist/cjs/anyspend/react/components/AnySpendCustomExactIn.js +275 -0
- package/dist/cjs/anyspend/react/components/AnySpendStakeB3.js +5 -4
- package/dist/cjs/anyspend/react/components/AnySpendStakeB3ExactIn.d.ts +9 -0
- package/dist/cjs/anyspend/react/components/AnySpendStakeB3ExactIn.js +288 -0
- package/dist/cjs/anyspend/react/components/AnySpendStakeUpsideExactIn.d.ts +11 -0
- package/dist/cjs/anyspend/react/components/AnySpendStakeUpsideExactIn.js +33 -0
- package/dist/cjs/anyspend/react/components/AnyspendDepositHype.js +4 -4
- package/dist/cjs/anyspend/react/components/common/CryptoPaySection.js +4 -6
- package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.js +9 -17
- package/dist/cjs/anyspend/react/components/common/CryptoReceiveSection.d.ts +6 -1
- package/dist/cjs/anyspend/react/components/common/CryptoReceiveSection.js +11 -1
- package/dist/cjs/anyspend/react/components/common/OrderDetails.js +66 -147
- package/dist/cjs/anyspend/react/components/common/OrderDetailsCollapsible.js +2 -3
- package/dist/cjs/anyspend/react/components/common/OrderTokenAmount.d.ts +2 -1
- package/dist/cjs/anyspend/react/components/common/OrderTokenAmount.js +39 -15
- package/dist/cjs/anyspend/react/components/common/PaySection.js +1 -1
- package/dist/cjs/anyspend/react/components/common/TokenBalance.js +1 -1
- package/dist/cjs/anyspend/react/components/index.d.ts +5 -1
- package/dist/cjs/anyspend/react/components/index.js +11 -3
- package/dist/cjs/anyspend/react/hooks/useAnyspendFlow.d.ts +25 -3
- package/dist/cjs/anyspend/react/hooks/useAnyspendFlow.js +42 -19
- package/dist/cjs/anyspend/react/hooks/useAnyspendOrderHistory.d.ts +116 -0
- package/dist/cjs/anyspend/react/hooks/useAnyspendQuote.js +1 -1
- package/dist/cjs/anyspend/react/hooks/useAutoSelectCryptoPaymentMethod.d.ts +26 -0
- package/dist/cjs/anyspend/react/hooks/useAutoSelectCryptoPaymentMethod.js +56 -0
- package/dist/cjs/anyspend/react/hooks/useAutoSetActiveWalletFromWagmi.d.ts +10 -0
- package/dist/cjs/anyspend/react/hooks/useAutoSetActiveWalletFromWagmi.js +73 -0
- package/dist/cjs/anyspend/react/hooks/useConnectedWalletDisplay.d.ts +14 -0
- package/dist/cjs/anyspend/react/hooks/useConnectedWalletDisplay.js +57 -0
- package/dist/cjs/anyspend/react/hooks/usePhantomTransfer.d.ts +36 -0
- package/dist/cjs/anyspend/react/hooks/usePhantomTransfer.js +211 -0
- package/dist/cjs/anyspend/types/api.d.ts +665 -3
- package/dist/cjs/anyspend/utils/orderPayload.js +4 -0
- package/dist/cjs/global-account/react/components/B3DynamicModal.js +17 -4
- package/dist/cjs/global-account/react/components/ManageAccount/BalanceContent.js +3 -3
- package/dist/cjs/global-account/react/components/ProfileEditor/ProfileEditor.d.ts +6 -0
- package/dist/cjs/global-account/react/components/ProfileEditor/ProfileEditor.js +141 -0
- package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +3 -1
- package/dist/cjs/global-account/react/components/SignInWithB3/steps/LoginStep.js +2 -2
- package/dist/cjs/global-account/react/components/index.d.ts +2 -0
- package/dist/cjs/global-account/react/components/index.js +7 -2
- package/dist/cjs/global-account/react/hooks/index.d.ts +2 -1
- package/dist/cjs/global-account/react/hooks/index.js +5 -3
- package/dist/cjs/global-account/react/hooks/useAuthentication.d.ts +2 -2
- package/dist/cjs/global-account/react/hooks/useAuthentication.js +7 -2
- package/dist/cjs/global-account/react/hooks/useSimBalance.d.ts +1 -1
- package/dist/cjs/global-account/react/hooks/useSimBalance.js +6 -5
- package/dist/cjs/global-account/react/hooks/useTokenBalanceDirect.d.ts +12 -0
- package/dist/cjs/global-account/react/hooks/useTokenBalanceDirect.js +62 -0
- package/dist/cjs/global-account/react/hooks/useTokenFromUrl.js +4 -3
- package/dist/cjs/global-account/react/stores/useModalStore.d.ts +37 -1
- package/dist/cjs/global-account/react/utils/profileDisplay.d.ts +6 -0
- package/dist/cjs/global-account/react/utils/profileDisplay.js +60 -4
- package/dist/esm/anyspend/react/components/AnySpend.js +62 -24
- package/dist/esm/anyspend/react/components/AnySpendCustom.js +3 -0
- package/dist/esm/anyspend/react/components/AnySpendCustomExactIn.d.ts +34 -0
- package/dist/esm/anyspend/react/components/AnySpendCustomExactIn.js +269 -0
- package/dist/esm/anyspend/react/components/AnySpendStakeB3.js +7 -6
- package/dist/esm/anyspend/react/components/AnySpendStakeB3ExactIn.d.ts +9 -0
- package/dist/esm/anyspend/react/components/AnySpendStakeB3ExactIn.js +285 -0
- package/dist/esm/anyspend/react/components/AnySpendStakeUpsideExactIn.d.ts +11 -0
- package/dist/esm/anyspend/react/components/AnySpendStakeUpsideExactIn.js +30 -0
- package/dist/esm/anyspend/react/components/AnyspendDepositHype.js +4 -4
- package/dist/esm/anyspend/react/components/common/CryptoPaySection.js +5 -7
- package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.js +9 -17
- package/dist/esm/anyspend/react/components/common/CryptoReceiveSection.d.ts +6 -1
- package/dist/esm/anyspend/react/components/common/CryptoReceiveSection.js +11 -1
- package/dist/esm/anyspend/react/components/common/OrderDetails.js +67 -148
- package/dist/esm/anyspend/react/components/common/OrderDetailsCollapsible.js +2 -3
- package/dist/esm/anyspend/react/components/common/OrderTokenAmount.d.ts +2 -1
- package/dist/esm/anyspend/react/components/common/OrderTokenAmount.js +40 -16
- package/dist/esm/anyspend/react/components/common/PaySection.js +1 -1
- package/dist/esm/anyspend/react/components/common/TokenBalance.js +2 -2
- package/dist/esm/anyspend/react/components/index.d.ts +5 -1
- package/dist/esm/anyspend/react/components/index.js +5 -1
- package/dist/esm/anyspend/react/hooks/useAnyspendFlow.d.ts +25 -3
- package/dist/esm/anyspend/react/hooks/useAnyspendFlow.js +42 -19
- package/dist/esm/anyspend/react/hooks/useAnyspendOrderHistory.d.ts +116 -0
- package/dist/esm/anyspend/react/hooks/useAnyspendQuote.js +1 -1
- package/dist/esm/anyspend/react/hooks/useAutoSelectCryptoPaymentMethod.d.ts +26 -0
- package/dist/esm/anyspend/react/hooks/useAutoSelectCryptoPaymentMethod.js +53 -0
- package/dist/esm/anyspend/react/hooks/useAutoSetActiveWalletFromWagmi.d.ts +10 -0
- package/dist/esm/anyspend/react/hooks/useAutoSetActiveWalletFromWagmi.js +70 -0
- package/dist/esm/anyspend/react/hooks/useConnectedWalletDisplay.d.ts +14 -0
- package/dist/esm/anyspend/react/hooks/useConnectedWalletDisplay.js +54 -0
- package/dist/esm/anyspend/react/hooks/usePhantomTransfer.d.ts +36 -0
- package/dist/esm/anyspend/react/hooks/usePhantomTransfer.js +208 -0
- package/dist/esm/anyspend/types/api.d.ts +665 -3
- package/dist/esm/anyspend/utils/orderPayload.js +4 -0
- package/dist/esm/global-account/react/components/B3DynamicModal.js +18 -5
- package/dist/esm/global-account/react/components/ManageAccount/BalanceContent.js +3 -3
- package/dist/esm/global-account/react/components/ProfileEditor/ProfileEditor.d.ts +6 -0
- package/dist/esm/global-account/react/components/ProfileEditor/ProfileEditor.js +135 -0
- package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +3 -1
- package/dist/esm/global-account/react/components/SignInWithB3/steps/LoginStep.js +2 -2
- package/dist/esm/global-account/react/components/index.d.ts +2 -0
- package/dist/esm/global-account/react/components/index.js +3 -0
- package/dist/esm/global-account/react/hooks/index.d.ts +2 -1
- package/dist/esm/global-account/react/hooks/index.js +2 -1
- package/dist/esm/global-account/react/hooks/useAuthentication.d.ts +2 -2
- package/dist/esm/global-account/react/hooks/useAuthentication.js +7 -2
- package/dist/esm/global-account/react/hooks/useSimBalance.d.ts +1 -1
- package/dist/esm/global-account/react/hooks/useSimBalance.js +6 -5
- package/dist/esm/global-account/react/hooks/useTokenBalanceDirect.d.ts +12 -0
- package/dist/esm/global-account/react/hooks/useTokenBalanceDirect.js +59 -0
- package/dist/esm/global-account/react/hooks/useTokenFromUrl.js +4 -3
- package/dist/esm/global-account/react/stores/useModalStore.d.ts +37 -1
- package/dist/esm/global-account/react/utils/profileDisplay.d.ts +6 -0
- package/dist/esm/global-account/react/utils/profileDisplay.js +59 -4
- package/dist/types/anyspend/react/components/AnySpendCustomExactIn.d.ts +34 -0
- package/dist/types/anyspend/react/components/AnySpendStakeB3ExactIn.d.ts +9 -0
- package/dist/types/anyspend/react/components/AnySpendStakeUpsideExactIn.d.ts +11 -0
- package/dist/types/anyspend/react/components/common/CryptoReceiveSection.d.ts +6 -1
- package/dist/types/anyspend/react/components/common/OrderTokenAmount.d.ts +2 -1
- package/dist/types/anyspend/react/components/index.d.ts +5 -1
- package/dist/types/anyspend/react/hooks/useAnyspendFlow.d.ts +25 -3
- package/dist/types/anyspend/react/hooks/useAnyspendOrderHistory.d.ts +116 -0
- package/dist/types/anyspend/react/hooks/useAutoSelectCryptoPaymentMethod.d.ts +26 -0
- package/dist/types/anyspend/react/hooks/useAutoSetActiveWalletFromWagmi.d.ts +10 -0
- package/dist/types/anyspend/react/hooks/useConnectedWalletDisplay.d.ts +14 -0
- package/dist/types/anyspend/react/hooks/usePhantomTransfer.d.ts +36 -0
- package/dist/types/anyspend/types/api.d.ts +665 -3
- package/dist/types/global-account/react/components/ProfileEditor/ProfileEditor.d.ts +6 -0
- package/dist/types/global-account/react/components/index.d.ts +2 -0
- package/dist/types/global-account/react/hooks/index.d.ts +2 -1
- package/dist/types/global-account/react/hooks/useAuthentication.d.ts +2 -2
- package/dist/types/global-account/react/hooks/useSimBalance.d.ts +1 -1
- package/dist/types/global-account/react/hooks/useTokenBalanceDirect.d.ts +12 -0
- package/dist/types/global-account/react/stores/useModalStore.d.ts +37 -1
- package/dist/types/global-account/react/utils/profileDisplay.d.ts +6 -0
- package/package.json +4 -3
- package/src/anyspend/react/components/AnySpend.tsx +73 -22
- package/src/anyspend/react/components/AnySpendCustom.tsx +4 -0
- package/src/anyspend/react/components/AnySpendCustomExactIn.tsx +595 -0
- package/src/anyspend/react/components/AnySpendStakeB3.tsx +8 -11
- package/src/anyspend/react/components/AnySpendStakeB3ExactIn.tsx +522 -0
- package/src/anyspend/react/components/AnySpendStakeUpsideExactIn.tsx +73 -0
- package/src/anyspend/react/components/AnyspendDepositHype.tsx +7 -3
- package/src/anyspend/react/components/common/CryptoPaySection.tsx +5 -7
- package/src/anyspend/react/components/common/CryptoPaymentMethod.tsx +9 -18
- package/src/anyspend/react/components/common/CryptoReceiveSection.tsx +22 -0
- package/src/anyspend/react/components/common/OrderDetails.tsx +76 -190
- package/src/anyspend/react/components/common/OrderDetailsCollapsible.tsx +2 -3
- package/src/anyspend/react/components/common/OrderTokenAmount.tsx +48 -17
- package/src/anyspend/react/components/common/PaySection.tsx +1 -0
- package/src/anyspend/react/components/common/TokenBalance.tsx +2 -2
- package/src/anyspend/react/components/index.ts +5 -1
- package/src/anyspend/react/hooks/useAnyspendFlow.ts +51 -18
- package/src/anyspend/react/hooks/useAnyspendQuote.ts +1 -1
- package/src/anyspend/react/hooks/useAutoSelectCryptoPaymentMethod.ts +72 -0
- package/src/anyspend/react/hooks/useAutoSetActiveWalletFromWagmi.ts +80 -0
- package/src/anyspend/react/hooks/useConnectedWalletDisplay.ts +69 -0
- package/src/anyspend/react/hooks/usePhantomTransfer.ts +301 -0
- package/src/anyspend/types/api.ts +669 -1
- package/src/anyspend/utils/orderPayload.ts +5 -1
- package/src/global-account/react/components/B3DynamicModal.tsx +18 -4
- package/src/global-account/react/components/ManageAccount/BalanceContent.tsx +4 -4
- package/src/global-account/react/components/ProfileEditor/ProfileEditor.tsx +265 -0
- package/src/global-account/react/components/SignInWithB3/SignInWithB3Flow.tsx +3 -1
- package/src/global-account/react/components/SignInWithB3/steps/LoginStep.tsx +2 -2
- package/src/global-account/react/components/index.ts +4 -0
- package/src/global-account/react/hooks/index.ts +2 -1
- package/src/global-account/react/hooks/useAuthentication.ts +10 -2
- package/src/global-account/react/hooks/useSimBalance.ts +6 -5
- package/src/global-account/react/hooks/useTokenBalanceDirect.tsx +84 -0
- package/src/global-account/react/hooks/useTokenFromUrl.tsx +6 -5
- package/src/global-account/react/stores/useModalStore.ts +43 -1
- package/src/global-account/react/utils/profileDisplay.ts +67 -4
|
@@ -223,6 +223,21 @@ export interface AnySpendStakeB3Props extends BaseModalProps {
|
|
|
223
223
|
onSuccess?: () => void;
|
|
224
224
|
}
|
|
225
225
|
|
|
226
|
+
/**
|
|
227
|
+
* Props for the AnySpend Stake B3 (Custom Exact In) modal
|
|
228
|
+
* Handles B3 token staking operations using the custom exact in flow
|
|
229
|
+
*/
|
|
230
|
+
export interface AnySpendStakeB3ExactInProps extends BaseModalProps {
|
|
231
|
+
/** Modal type identifier */
|
|
232
|
+
type: "anySpendStakeB3ExactIn";
|
|
233
|
+
/** Recipient address to stake B3 for */
|
|
234
|
+
recipientAddress: string;
|
|
235
|
+
/** Stake amount */
|
|
236
|
+
stakeAmount?: string;
|
|
237
|
+
/** Callback function called when the stake is successful */
|
|
238
|
+
onSuccess?: () => void;
|
|
239
|
+
}
|
|
240
|
+
|
|
226
241
|
/**
|
|
227
242
|
* Props for the AnySpend Stake Contract modal
|
|
228
243
|
* Handles token staking operations to a given contract
|
|
@@ -244,6 +259,23 @@ export interface AnySpendStakeUpsideProps extends BaseModalProps {
|
|
|
244
259
|
onSuccess?: () => void;
|
|
245
260
|
}
|
|
246
261
|
|
|
262
|
+
/**
|
|
263
|
+
* Props for the AnySpend Stake Upside (Exact In) modal
|
|
264
|
+
* Handles token staking operations using the custom exact in flow
|
|
265
|
+
*/
|
|
266
|
+
export interface AnySpendStakeUpsideExactInProps extends BaseModalProps {
|
|
267
|
+
/** Modal type identifier */
|
|
268
|
+
type: "anySpendStakeUpsideExactIn";
|
|
269
|
+
/** Recipient address to stake tokens for */
|
|
270
|
+
recipientAddress: string;
|
|
271
|
+
/** Staking contract address */
|
|
272
|
+
stakingContractAddress: string;
|
|
273
|
+
/** Token to stake */
|
|
274
|
+
token: components["schemas"]["Token"];
|
|
275
|
+
/** Callback function called when the stake is successful */
|
|
276
|
+
onSuccess?: () => void;
|
|
277
|
+
}
|
|
278
|
+
|
|
247
279
|
/**
|
|
248
280
|
* Props for the AnySpend Buy Spin modal
|
|
249
281
|
* Handles spin wheel entry purchases
|
|
@@ -341,6 +373,13 @@ export interface AvatarEditorModalProps extends BaseModalProps {
|
|
|
341
373
|
onSuccess?: () => void;
|
|
342
374
|
}
|
|
343
375
|
|
|
376
|
+
export interface ProfileEditorModalProps extends BaseModalProps {
|
|
377
|
+
/** Modal type identifier */
|
|
378
|
+
type: "profileEditor";
|
|
379
|
+
/** Callback function called when profile is successfully updated */
|
|
380
|
+
onSuccess?: () => void;
|
|
381
|
+
}
|
|
382
|
+
|
|
344
383
|
/**
|
|
345
384
|
* Union type of all possible modal content types
|
|
346
385
|
*/
|
|
@@ -355,13 +394,16 @@ export type ModalContentType =
|
|
|
355
394
|
| AnySpendFundTournamentProps
|
|
356
395
|
| AnySpendOrderHistoryProps
|
|
357
396
|
| AnySpendStakeB3Props
|
|
397
|
+
| AnySpendStakeB3ExactInProps
|
|
358
398
|
| AnySpendStakeUpsideProps
|
|
399
|
+
| AnySpendStakeUpsideExactInProps
|
|
359
400
|
| AnySpendBuySpinProps
|
|
360
401
|
| AnySpendSignatureMintProps
|
|
361
402
|
| AnySpendBondKitProps
|
|
362
403
|
| LinkAccountModalProps
|
|
363
404
|
| AnySpendDepositHypeProps
|
|
364
|
-
| AvatarEditorModalProps
|
|
405
|
+
| AvatarEditorModalProps
|
|
406
|
+
| ProfileEditorModalProps;
|
|
365
407
|
// Add other modal types here like: | OtherModalProps | AnotherModalProps
|
|
366
408
|
|
|
367
409
|
/**
|
|
@@ -1,5 +1,68 @@
|
|
|
1
|
+
import { debugB3React } from "@b3dotfun/sdk/shared/utils/debug";
|
|
1
2
|
import { type Profile } from "thirdweb/wallets";
|
|
2
3
|
|
|
4
|
+
const debug = debugB3React("profileDisplay");
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Validates that an image URL uses an allowed schema
|
|
8
|
+
* @param url - The URL to validate
|
|
9
|
+
* @returns The URL if valid, null otherwise
|
|
10
|
+
*/
|
|
11
|
+
export function validateImageUrl(url: string | null | undefined): string | null {
|
|
12
|
+
if (!url) return null;
|
|
13
|
+
|
|
14
|
+
try {
|
|
15
|
+
// For blob URLs (from createObjectURL)
|
|
16
|
+
if (url.startsWith("blob:")) {
|
|
17
|
+
return url;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// For IPFS protocol URLs
|
|
21
|
+
if (url.startsWith("ipfs://")) {
|
|
22
|
+
return url;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// Parse URL to validate protocol and hostname
|
|
26
|
+
const parsedUrl = new URL(url);
|
|
27
|
+
|
|
28
|
+
// Only allow http and https protocols
|
|
29
|
+
if (parsedUrl.protocol !== "http:" && parsedUrl.protocol !== "https:") {
|
|
30
|
+
debug("Rejected unsafe protocol:", parsedUrl.protocol, url);
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Whitelist of allowed IPFS gateway hostnames
|
|
35
|
+
const allowedIpfsGateways = [
|
|
36
|
+
"ipfs.io",
|
|
37
|
+
"gateway.pinata.cloud",
|
|
38
|
+
"cloudflare-ipfs.com",
|
|
39
|
+
"dweb.link",
|
|
40
|
+
"nftstorage.link",
|
|
41
|
+
"w3s.link",
|
|
42
|
+
];
|
|
43
|
+
|
|
44
|
+
// Check if hostname matches allowed IPFS gateways
|
|
45
|
+
const hostname = parsedUrl.hostname.toLowerCase();
|
|
46
|
+
const isAllowedIpfsGateway = allowedIpfsGateways.some(gateway => {
|
|
47
|
+
// Exact match or subdomain of the gateway
|
|
48
|
+
return hostname === gateway || hostname.endsWith(`.${gateway}`);
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
if (isAllowedIpfsGateway) {
|
|
52
|
+
return url;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// For standard HTTP(S) URLs from trusted sources
|
|
56
|
+
// Add additional hostname validation here if needed
|
|
57
|
+
// For now, allow all HTTP(S) URLs (can be restricted further if needed)
|
|
58
|
+
return url;
|
|
59
|
+
} catch (error) {
|
|
60
|
+
// Invalid URL format
|
|
61
|
+
debug("Invalid image URL format:", url, error);
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
3
66
|
export interface ExtendedProfileDetails {
|
|
4
67
|
id?: string;
|
|
5
68
|
email?: string;
|
|
@@ -40,7 +103,7 @@ export function getProfileDisplayInfo(profile: ExtendedProfile): ProfileDisplayI
|
|
|
40
103
|
displayInfo = {
|
|
41
104
|
title: details.name || details.username || "Unknown",
|
|
42
105
|
subtitle: details.username ? `@${details.username}` : "X Account",
|
|
43
|
-
imageUrl: details.profileImageUrl
|
|
106
|
+
imageUrl: validateImageUrl(details.profileImageUrl),
|
|
44
107
|
initial: "X",
|
|
45
108
|
type,
|
|
46
109
|
};
|
|
@@ -49,7 +112,7 @@ export function getProfileDisplayInfo(profile: ExtendedProfile): ProfileDisplayI
|
|
|
49
112
|
displayInfo = {
|
|
50
113
|
title: details.name || details.username || "Unknown",
|
|
51
114
|
subtitle: details.username ? `@${details.username}` : "Farcaster Account",
|
|
52
|
-
imageUrl: details.profileImageUrl
|
|
115
|
+
imageUrl: validateImageUrl(details.profileImageUrl),
|
|
53
116
|
initial: "F",
|
|
54
117
|
type,
|
|
55
118
|
};
|
|
@@ -58,7 +121,7 @@ export function getProfileDisplayInfo(profile: ExtendedProfile): ProfileDisplayI
|
|
|
58
121
|
displayInfo = {
|
|
59
122
|
title: details.name || details.email || "Unknown",
|
|
60
123
|
subtitle: details.email || "Google Account",
|
|
61
|
-
imageUrl: details.profileImageUrl
|
|
124
|
+
imageUrl: validateImageUrl(details.profileImageUrl),
|
|
62
125
|
initial: "G",
|
|
63
126
|
type,
|
|
64
127
|
};
|
|
@@ -67,7 +130,7 @@ export function getProfileDisplayInfo(profile: ExtendedProfile): ProfileDisplayI
|
|
|
67
130
|
displayInfo = {
|
|
68
131
|
title: details.username || details.name || "Unknown",
|
|
69
132
|
subtitle: "Discord Account",
|
|
70
|
-
imageUrl: details.profileImageUrl
|
|
133
|
+
imageUrl: validateImageUrl(details.profileImageUrl),
|
|
71
134
|
initial: "D",
|
|
72
135
|
type,
|
|
73
136
|
};
|