@agg-build/ui 2.7.2 → 2.8.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/dist/{chunk-7R2SMMAG.mjs → chunk-2QCNDFNC.mjs} +193 -103
- package/dist/{chunk-EDQ64EKO.mjs → chunk-AKLGQ6AB.mjs} +254 -53
- package/dist/{chunk-FMYYPNZZ.mjs → chunk-KO6VTRV6.mjs} +101 -27
- package/dist/{chunk-AHQA3B7D.mjs → chunk-KX3TQ7WC.mjs} +1 -1
- package/dist/{chunk-EKUH3265.mjs → chunk-MKU5Q6PN.mjs} +51 -13
- package/dist/{chunk-O27JUYCF.mjs → chunk-R5S2QOYL.mjs} +495 -289
- package/dist/{chunk-JQKJDSTW.mjs → chunk-VR5ZRDQT.mjs} +3 -2
- package/dist/events.js +198 -91
- package/dist/events.mjs +3 -3
- package/dist/index.js +1350 -751
- package/dist/index.mjs +7 -7
- package/dist/modals.js +941 -418
- package/dist/modals.mjs +3 -3
- package/dist/pages.js +1008 -609
- package/dist/pages.mjs +6 -6
- package/dist/primitives.js +94 -26
- package/dist/primitives.mjs +1 -1
- package/dist/styles.css +1 -1
- package/dist/tailwind.css +1 -1
- package/dist/trading.js +1403 -902
- package/dist/trading.mjs +4 -4
- package/dist/types/events/orderbook/orderbook.utils.d.mts +1 -1
- package/dist/types/events/orderbook/orderbook.utils.d.ts +1 -1
- package/dist/types/pages/user-profile/components/open-order-row.d.mts +1 -0
- package/dist/types/pages/user-profile/components/open-order-row.d.ts +1 -0
- package/dist/types/pages/user-profile/position-view-model.d.mts +15 -4
- package/dist/types/pages/user-profile/position-view-model.d.ts +15 -4
- package/dist/types/primitives/select/index.d.mts +1 -1
- package/dist/types/primitives/select/index.d.ts +1 -1
- package/dist/types/primitives/select/select.types.d.mts +8 -0
- package/dist/types/primitives/select/select.types.d.ts +8 -0
- package/dist/types/profile/profile-modal.constants.d.mts +2 -1
- package/dist/types/profile/profile-modal.constants.d.ts +2 -1
- package/dist/types/profile/tabs/balance-management-tab.d.mts +3 -0
- package/dist/types/profile/tabs/balance-management-tab.d.ts +3 -0
- package/dist/types/trading/place-order/index.place-order.constants.d.mts +2 -1
- package/dist/types/trading/place-order/index.place-order.constants.d.ts +2 -1
- package/dist/types/trading/place-order/index.place-order.types.d.mts +6 -0
- package/dist/types/trading/place-order/index.place-order.types.d.ts +6 -0
- package/dist/types/trading/place-order/index.place-order.utils.d.mts +10 -2
- package/dist/types/trading/place-order/index.place-order.utils.d.ts +10 -2
- package/package.json +2 -2
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
ConnectKalshiModal,
|
|
4
4
|
dispatchAggDepositNotification
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-KX3TQ7WC.mjs";
|
|
6
6
|
import {
|
|
7
7
|
BoltIcon,
|
|
8
8
|
Button,
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
CloseIcon,
|
|
13
13
|
CopyButton,
|
|
14
14
|
CreditCardIcon,
|
|
15
|
+
CurrencyInput,
|
|
15
16
|
ExternalLinkIcon,
|
|
16
17
|
Icon,
|
|
17
18
|
LoadingIcon,
|
|
@@ -35,7 +36,7 @@ import {
|
|
|
35
36
|
shortenAddress,
|
|
36
37
|
useOptionalToast,
|
|
37
38
|
venueLogoLabels
|
|
38
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-KO6VTRV6.mjs";
|
|
39
40
|
|
|
40
41
|
// src/deposit/index.tsx
|
|
41
42
|
import { useAggAuthState, useAggUiConfig, useDepositAddresses, useLabels as useLabels11 } from "@agg-build/hooks";
|
|
@@ -2482,22 +2483,28 @@ var WithdrawModal = (props) => {
|
|
|
2482
2483
|
WithdrawModal.displayName = "WithdrawModal";
|
|
2483
2484
|
|
|
2484
2485
|
// src/profile/index.tsx
|
|
2485
|
-
import { useState as
|
|
2486
|
-
import { useAggClient, useAggAuthState as useAggAuthState2, useVenueKeyStatus } from "@agg-build/hooks";
|
|
2486
|
+
import { useState as useState5, useEffect as useEffect6, useCallback as useCallback3, useMemo as useMemo4 } from "react";
|
|
2487
|
+
import { useAggClient, useAggAuthState as useAggAuthState2, useAggLabels as useAggLabels2, useVenueKeyStatus } from "@agg-build/hooks";
|
|
2487
2488
|
import { Venue } from "@agg-build/sdk";
|
|
2488
2489
|
|
|
2489
2490
|
// src/profile/profile-modal.constants.ts
|
|
2490
2491
|
var PROFILE_TAB_KEYS = {
|
|
2491
2492
|
PROFILE_ACCOUNTS: "profile-accounts",
|
|
2492
|
-
TRADING_ACCESS: "trading-access"
|
|
2493
|
+
TRADING_ACCESS: "trading-access",
|
|
2494
|
+
BALANCE_MANAGEMENT: "balance-management"
|
|
2493
2495
|
};
|
|
2494
|
-
var
|
|
2496
|
+
var getProfileTabItems = (balanceManagementLabel) => [
|
|
2495
2497
|
{
|
|
2496
2498
|
value: PROFILE_TAB_KEYS.PROFILE_ACCOUNTS,
|
|
2497
2499
|
label: "Profile & accounts",
|
|
2498
2500
|
icon: "profile-about-tab"
|
|
2499
2501
|
},
|
|
2500
|
-
{ value: PROFILE_TAB_KEYS.TRADING_ACCESS, label: "Trading access", icon: "shield-trust" }
|
|
2502
|
+
{ value: PROFILE_TAB_KEYS.TRADING_ACCESS, label: "Trading access", icon: "shield-trust" },
|
|
2503
|
+
{
|
|
2504
|
+
value: PROFILE_TAB_KEYS.BALANCE_MANAGEMENT,
|
|
2505
|
+
label: balanceManagementLabel,
|
|
2506
|
+
icon: "bolt"
|
|
2507
|
+
}
|
|
2501
2508
|
];
|
|
2502
2509
|
|
|
2503
2510
|
// src/profile/tabs/about-tab.tsx
|
|
@@ -2909,8 +2916,187 @@ var TradingAccessTab = ({
|
|
|
2909
2916
|
};
|
|
2910
2917
|
TradingAccessTab.displayName = "TradingAccessTab";
|
|
2911
2918
|
|
|
2912
|
-
// src/profile/
|
|
2919
|
+
// src/profile/tabs/balance-management-tab.tsx
|
|
2920
|
+
import { useEffect as useEffect5, useMemo as useMemo3, useState as useState4 } from "react";
|
|
2921
|
+
import { useAggLabels, useBalanceRefillPolicies } from "@agg-build/hooks";
|
|
2913
2922
|
import { jsx as jsx20, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
2923
|
+
var CHAIN_IDS_BY_NETWORK = {
|
|
2924
|
+
mainnet: 1,
|
|
2925
|
+
bnb: 56,
|
|
2926
|
+
polygon: 137,
|
|
2927
|
+
base: 8453,
|
|
2928
|
+
arbitrum: 42161,
|
|
2929
|
+
solana: 792703809,
|
|
2930
|
+
hyperliquid: 1337
|
|
2931
|
+
};
|
|
2932
|
+
var NETWORK_BY_CHAIN_ID = Object.fromEntries(
|
|
2933
|
+
Object.entries(CHAIN_IDS_BY_NETWORK).map(([network, chainId]) => [chainId, network])
|
|
2934
|
+
);
|
|
2935
|
+
var networkItems = SUPPORTED_NETWORKS.filter(
|
|
2936
|
+
(network) => network.value in CHAIN_IDS_BY_NETWORK
|
|
2937
|
+
).map((network) => ({
|
|
2938
|
+
value: network.value,
|
|
2939
|
+
label: network.label,
|
|
2940
|
+
iconUrl: network.iconUrl
|
|
2941
|
+
}));
|
|
2942
|
+
var dollarsToRaw = (amount) => String(Math.round(amount * 1e6));
|
|
2943
|
+
var rawToDollars = (amount) => Number(amount) / 1e6;
|
|
2944
|
+
var BalanceManagementTab = ({ enabled }) => {
|
|
2945
|
+
const labels = useAggLabels().balanceRefill;
|
|
2946
|
+
const { policies, isLoading, isError, createPolicy, updatePolicy } = useBalanceRefillPolicies({
|
|
2947
|
+
enabled
|
|
2948
|
+
});
|
|
2949
|
+
const policy = policies[0];
|
|
2950
|
+
const [network, setNetwork] = useState4("polygon");
|
|
2951
|
+
const [minimum, setMinimum] = useState4(100);
|
|
2952
|
+
const [refillAmount, setRefillAmount] = useState4(50);
|
|
2953
|
+
const [dailyCap, setDailyCap] = useState4(200);
|
|
2954
|
+
const [maximumFee, setMaximumFee] = useState4(2);
|
|
2955
|
+
const [feedback, setFeedback] = useState4(null);
|
|
2956
|
+
useEffect5(() => {
|
|
2957
|
+
var _a;
|
|
2958
|
+
if (!policy) return;
|
|
2959
|
+
setNetwork((_a = NETWORK_BY_CHAIN_ID[policy.targetChainId]) != null ? _a : "polygon");
|
|
2960
|
+
setMinimum(rawToDollars(policy.minimumRaw));
|
|
2961
|
+
setRefillAmount(rawToDollars(policy.refillAmountRaw));
|
|
2962
|
+
setDailyCap(rawToDollars(policy.dailyCapRaw));
|
|
2963
|
+
setMaximumFee(rawToDollars(policy.maxFeeRaw));
|
|
2964
|
+
}, [policy]);
|
|
2965
|
+
const validationError = useMemo3(() => {
|
|
2966
|
+
if (minimum <= 0 || refillAmount <= 0 || dailyCap <= 0 || maximumFee <= 0) {
|
|
2967
|
+
return labels.saveError;
|
|
2968
|
+
}
|
|
2969
|
+
if (dailyCap < Math.max(minimum, refillAmount) + maximumFee) {
|
|
2970
|
+
return labels.saveError;
|
|
2971
|
+
}
|
|
2972
|
+
return null;
|
|
2973
|
+
}, [dailyCap, labels.saveError, maximumFee, minimum, refillAmount]);
|
|
2974
|
+
const isPending = createPolicy.isPending || updatePolicy.isPending;
|
|
2975
|
+
const handleSave = () => __async(null, null, function* () {
|
|
2976
|
+
if (validationError) {
|
|
2977
|
+
setFeedback(validationError);
|
|
2978
|
+
return;
|
|
2979
|
+
}
|
|
2980
|
+
setFeedback(null);
|
|
2981
|
+
const params = {
|
|
2982
|
+
minimumRaw: dollarsToRaw(minimum),
|
|
2983
|
+
refillAmountRaw: dollarsToRaw(refillAmount),
|
|
2984
|
+
dailyCapRaw: dollarsToRaw(dailyCap),
|
|
2985
|
+
maxFeeRaw: dollarsToRaw(maximumFee)
|
|
2986
|
+
};
|
|
2987
|
+
try {
|
|
2988
|
+
if (policy) {
|
|
2989
|
+
yield updatePolicy.mutateAsync({ policyId: policy.id, params });
|
|
2990
|
+
} else {
|
|
2991
|
+
yield createPolicy.mutateAsync(__spreadProps(__spreadValues({}, params), {
|
|
2992
|
+
targetChainId: CHAIN_IDS_BY_NETWORK[network],
|
|
2993
|
+
targetTokenSymbol: "USDC"
|
|
2994
|
+
}));
|
|
2995
|
+
}
|
|
2996
|
+
setFeedback(labels.saved);
|
|
2997
|
+
} catch (e) {
|
|
2998
|
+
setFeedback(labels.saveError);
|
|
2999
|
+
}
|
|
3000
|
+
});
|
|
3001
|
+
const handleStatus = () => __async(null, null, function* () {
|
|
3002
|
+
if (!policy) return;
|
|
3003
|
+
try {
|
|
3004
|
+
yield updatePolicy.mutateAsync({
|
|
3005
|
+
policyId: policy.id,
|
|
3006
|
+
params: { status: policy.status === "enabled" ? "paused" : "enabled" }
|
|
3007
|
+
});
|
|
3008
|
+
setFeedback(labels.saved);
|
|
3009
|
+
} catch (e) {
|
|
3010
|
+
setFeedback(labels.saveError);
|
|
3011
|
+
}
|
|
3012
|
+
});
|
|
3013
|
+
if (isLoading)
|
|
3014
|
+
return /* @__PURE__ */ jsx20("p", { className: "text-agg-sm text-agg-secondary-foreground", children: labels.loading });
|
|
3015
|
+
if (isError)
|
|
3016
|
+
return /* @__PURE__ */ jsx20("p", { role: "alert", className: "text-agg-sm text-agg-error", children: labels.loadError });
|
|
3017
|
+
const latestAttempt = policy == null ? void 0 : policy.latestAttempt;
|
|
3018
|
+
return /* @__PURE__ */ jsxs20("section", { className: "agg-balance-management-tab flex flex-col gap-6", children: [
|
|
3019
|
+
/* @__PURE__ */ jsxs20("div", { className: "flex flex-col gap-2", children: [
|
|
3020
|
+
/* @__PURE__ */ jsx20("h2", { className: "text-agg-lg font-agg-semibold text-agg-foreground", children: labels.title }),
|
|
3021
|
+
/* @__PURE__ */ jsx20("p", { className: "text-agg-sm text-agg-secondary-foreground", children: labels.description })
|
|
3022
|
+
] }),
|
|
3023
|
+
/* @__PURE__ */ jsxs20("div", { className: "rounded-agg-lg border border-agg-separator p-5 flex flex-col gap-5", children: [
|
|
3024
|
+
/* @__PURE__ */ jsxs20("label", { className: "flex flex-col gap-2 text-agg-sm text-agg-foreground", children: [
|
|
3025
|
+
/* @__PURE__ */ jsx20("span", { children: labels.networkLabel }),
|
|
3026
|
+
/* @__PURE__ */ jsx20(
|
|
3027
|
+
Select,
|
|
3028
|
+
{
|
|
3029
|
+
items: networkItems,
|
|
3030
|
+
value: network,
|
|
3031
|
+
onChange: (value) => setNetwork(value),
|
|
3032
|
+
ariaLabel: labels.networkLabel,
|
|
3033
|
+
disabled: Boolean(policy)
|
|
3034
|
+
}
|
|
3035
|
+
)
|
|
3036
|
+
] }),
|
|
3037
|
+
/* @__PURE__ */ jsx20("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2", children: [
|
|
3038
|
+
[labels.minimumLabel, minimum, setMinimum],
|
|
3039
|
+
[labels.refillAmountLabel, refillAmount, setRefillAmount],
|
|
3040
|
+
[labels.dailyCapLabel, dailyCap, setDailyCap],
|
|
3041
|
+
[labels.maximumFeeLabel, maximumFee, setMaximumFee]
|
|
3042
|
+
].map(([label, value, onChange]) => /* @__PURE__ */ jsxs20(
|
|
3043
|
+
"label",
|
|
3044
|
+
{
|
|
3045
|
+
className: "flex flex-col gap-2 rounded-agg-md bg-agg-secondary px-4 py-3 text-agg-sm text-agg-foreground",
|
|
3046
|
+
children: [
|
|
3047
|
+
/* @__PURE__ */ jsx20("span", { children: label }),
|
|
3048
|
+
/* @__PURE__ */ jsx20(
|
|
3049
|
+
CurrencyInput,
|
|
3050
|
+
{
|
|
3051
|
+
value,
|
|
3052
|
+
onChange,
|
|
3053
|
+
min: 0.01,
|
|
3054
|
+
decimalPlaces: 2,
|
|
3055
|
+
ariaLabel: label,
|
|
3056
|
+
classNames: { input: "w-full text-agg-base font-agg-semibold" }
|
|
3057
|
+
}
|
|
3058
|
+
)
|
|
3059
|
+
]
|
|
3060
|
+
},
|
|
3061
|
+
label
|
|
3062
|
+
)) }),
|
|
3063
|
+
/* @__PURE__ */ jsx20("p", { className: "text-agg-xs text-agg-secondary-foreground", children: labels.consent }),
|
|
3064
|
+
policy ? /* @__PURE__ */ jsx20("p", { className: "text-agg-sm text-agg-secondary-foreground", children: policy.status === "enabled" ? labels.activeLabel : labels.pausedLabel }) : null,
|
|
3065
|
+
latestAttempt ? /* @__PURE__ */ jsxs20("p", { className: "text-agg-sm text-agg-secondary-foreground", children: [
|
|
3066
|
+
labels.lastRefill,
|
|
3067
|
+
": ",
|
|
3068
|
+
labels.statuses[latestAttempt.status]
|
|
3069
|
+
] }) : null,
|
|
3070
|
+
feedback ? /* @__PURE__ */ jsx20("p", { role: feedback === labels.saveError ? "alert" : "status", className: "text-agg-sm", children: feedback }) : null,
|
|
3071
|
+
/* @__PURE__ */ jsxs20("div", { className: "flex flex-wrap gap-3", children: [
|
|
3072
|
+
/* @__PURE__ */ jsx20(
|
|
3073
|
+
Button,
|
|
3074
|
+
{
|
|
3075
|
+
variant: "primary",
|
|
3076
|
+
size: "large",
|
|
3077
|
+
isLoading: isPending,
|
|
3078
|
+
disabled: Boolean(validationError),
|
|
3079
|
+
onClick: () => void handleSave(),
|
|
3080
|
+
children: policy ? labels.saveAction : labels.enableAction
|
|
3081
|
+
}
|
|
3082
|
+
),
|
|
3083
|
+
policy ? /* @__PURE__ */ jsx20(
|
|
3084
|
+
Button,
|
|
3085
|
+
{
|
|
3086
|
+
variant: "secondary",
|
|
3087
|
+
size: "large",
|
|
3088
|
+
isLoading: isPending,
|
|
3089
|
+
onClick: () => void handleStatus(),
|
|
3090
|
+
children: policy.status === "enabled" ? labels.pauseAction : labels.resumeAction
|
|
3091
|
+
}
|
|
3092
|
+
) : null
|
|
3093
|
+
] })
|
|
3094
|
+
] })
|
|
3095
|
+
] });
|
|
3096
|
+
};
|
|
3097
|
+
|
|
3098
|
+
// src/profile/index.tsx
|
|
3099
|
+
import { jsx as jsx21, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
2914
3100
|
var ProfileModal = ({
|
|
2915
3101
|
open,
|
|
2916
3102
|
onOpenChange,
|
|
@@ -2935,25 +3121,30 @@ var ProfileModal = ({
|
|
|
2935
3121
|
}) => {
|
|
2936
3122
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
2937
3123
|
const client = useAggClient();
|
|
3124
|
+
const labels = useAggLabels2();
|
|
2938
3125
|
const { user } = useAggAuthState2();
|
|
2939
3126
|
const toastCtx = useOptionalToast();
|
|
2940
|
-
const [activeTab, setActiveTab] =
|
|
3127
|
+
const [activeTab, setActiveTab] = useState5(PROFILE_TAB_KEYS.PROFILE_ACCOUNTS);
|
|
3128
|
+
const profileTabItems = useMemo4(
|
|
3129
|
+
() => getProfileTabItems(labels.balanceRefill.tabLabel),
|
|
3130
|
+
[labels.balanceRefill.tabLabel]
|
|
3131
|
+
);
|
|
2941
3132
|
const resolvedInitialUsername = (_a = username != null ? username : user == null ? void 0 : user.username) != null ? _a : "";
|
|
2942
|
-
const [draftUsername, setDraftUsername] =
|
|
2943
|
-
const [draftAvatarFile, setDraftAvatarFile] =
|
|
2944
|
-
const [draftAvatarPreview, setDraftAvatarPreview] =
|
|
2945
|
-
const [isSaving, setIsSaving] =
|
|
2946
|
-
const [avatarTypeError, setAvatarTypeError] =
|
|
2947
|
-
const [isConnectKalshiModalOpen, setIsConnectKalshiModalOpen] =
|
|
3133
|
+
const [draftUsername, setDraftUsername] = useState5(resolvedInitialUsername);
|
|
3134
|
+
const [draftAvatarFile, setDraftAvatarFile] = useState5();
|
|
3135
|
+
const [draftAvatarPreview, setDraftAvatarPreview] = useState5();
|
|
3136
|
+
const [isSaving, setIsSaving] = useState5(false);
|
|
3137
|
+
const [avatarTypeError, setAvatarTypeError] = useState5(null);
|
|
3138
|
+
const [isConnectKalshiModalOpen, setIsConnectKalshiModalOpen] = useState5(false);
|
|
2948
3139
|
const { data: kalshiStatus, refetch: refetchKalshiStatus } = useVenueKeyStatus(
|
|
2949
3140
|
Venue.kalshi,
|
|
2950
3141
|
open
|
|
2951
3142
|
);
|
|
2952
|
-
|
|
3143
|
+
useEffect6(() => {
|
|
2953
3144
|
var _a2;
|
|
2954
3145
|
setDraftUsername((_a2 = username != null ? username : user == null ? void 0 : user.username) != null ? _a2 : "");
|
|
2955
3146
|
}, [username, user == null ? void 0 : user.username]);
|
|
2956
|
-
|
|
3147
|
+
useEffect6(() => {
|
|
2957
3148
|
if (open) return;
|
|
2958
3149
|
setIsConnectKalshiModalOpen(false);
|
|
2959
3150
|
}, [open]);
|
|
@@ -3077,7 +3268,7 @@ var ProfileModal = ({
|
|
|
3077
3268
|
yield refetchKalshiStatus();
|
|
3078
3269
|
onDisconnectExchange == null ? void 0 : onDisconnectExchange(Venue.kalshi);
|
|
3079
3270
|
}), [client, onDisconnectExchange, refetchKalshiStatus]);
|
|
3080
|
-
const resolvedVenueAccounts =
|
|
3271
|
+
const resolvedVenueAccounts = useMemo4(() => {
|
|
3081
3272
|
var _a2;
|
|
3082
3273
|
const nonKalshiAccounts = (_a2 = user == null ? void 0 : user.venueAccounts) == null ? void 0 : _a2.filter((account) => account.venue !== "kalshi");
|
|
3083
3274
|
if (!kalshiStatus) return user == null ? void 0 : user.venueAccounts;
|
|
@@ -3246,7 +3437,7 @@ var ProfileModal = ({
|
|
|
3246
3437
|
}),
|
|
3247
3438
|
[client, onDisconnectWallet, surfaceError]
|
|
3248
3439
|
);
|
|
3249
|
-
const providerActionMap =
|
|
3440
|
+
const providerActionMap = useMemo4(
|
|
3250
3441
|
() => ({
|
|
3251
3442
|
twitter: {
|
|
3252
3443
|
connect: () => {
|
|
@@ -3288,7 +3479,7 @@ var ProfileModal = ({
|
|
|
3288
3479
|
handleDisconnectTwitter
|
|
3289
3480
|
]
|
|
3290
3481
|
);
|
|
3291
|
-
const resolvedWallets =
|
|
3482
|
+
const resolvedWallets = useMemo4(() => {
|
|
3292
3483
|
var _a2, _b2;
|
|
3293
3484
|
if (wallets) return wallets;
|
|
3294
3485
|
const walletAccounts = (_b2 = (_a2 = user == null ? void 0 : user.accounts) == null ? void 0 : _a2.filter((account) => {
|
|
@@ -3307,8 +3498,8 @@ var ProfileModal = ({
|
|
|
3307
3498
|
};
|
|
3308
3499
|
});
|
|
3309
3500
|
}, [user == null ? void 0 : user.accounts, wallets]);
|
|
3310
|
-
return /* @__PURE__ */
|
|
3311
|
-
/* @__PURE__ */
|
|
3501
|
+
return /* @__PURE__ */ jsxs21(Modal, { open: open && !isConnectKalshiModalOpen, onOpenChange: handleOpenChange, children: [
|
|
3502
|
+
/* @__PURE__ */ jsxs21(
|
|
3312
3503
|
Modal.Container,
|
|
3313
3504
|
{
|
|
3314
3505
|
maxWidth: "800px",
|
|
@@ -3317,24 +3508,24 @@ var ProfileModal = ({
|
|
|
3317
3508
|
container: cn("agg-profile-modal", "min-h-[37.5rem]")
|
|
3318
3509
|
},
|
|
3319
3510
|
children: [
|
|
3320
|
-
/* @__PURE__ */
|
|
3321
|
-
/* @__PURE__ */
|
|
3511
|
+
/* @__PURE__ */ jsx21(Modal.Header, { title: "Edit Profile", classNames: { root: "agg-profile-modal-header" } }),
|
|
3512
|
+
/* @__PURE__ */ jsx21("div", { className: "agg-profile-tabs sm:hidden w-full", children: /* @__PURE__ */ jsx21(
|
|
3322
3513
|
Tabs,
|
|
3323
3514
|
{
|
|
3324
3515
|
className: "w-full [&>div]:w-full",
|
|
3325
3516
|
variant: "underline",
|
|
3326
3517
|
classNames: { tabList: "w-full" },
|
|
3327
|
-
items:
|
|
3518
|
+
items: profileTabItems.map((tab) => ({
|
|
3328
3519
|
value: tab.value,
|
|
3329
3520
|
label: tab.label,
|
|
3330
|
-
icon: /* @__PURE__ */
|
|
3521
|
+
icon: /* @__PURE__ */ jsx21(Icon, { name: tab.icon, size: "small" })
|
|
3331
3522
|
})),
|
|
3332
3523
|
value: activeTab,
|
|
3333
3524
|
onChange: (val) => setActiveTab(val)
|
|
3334
3525
|
}
|
|
3335
3526
|
) }),
|
|
3336
|
-
/* @__PURE__ */
|
|
3337
|
-
/* @__PURE__ */
|
|
3527
|
+
/* @__PURE__ */ jsx21(Modal.Body, { classNames: { root: cn("agg-profile-modal-body", "overflow-x-visible") }, children: /* @__PURE__ */ jsxs21("div", { className: "agg-profile-layout flex flex-col sm:flex-row sm:gap-10", children: [
|
|
3528
|
+
/* @__PURE__ */ jsx21("div", { className: "shrink-0", children: /* @__PURE__ */ jsx21(
|
|
3338
3529
|
"nav",
|
|
3339
3530
|
{
|
|
3340
3531
|
className: cn(
|
|
@@ -3348,9 +3539,9 @@ var ProfileModal = ({
|
|
|
3348
3539
|
),
|
|
3349
3540
|
role: "tablist",
|
|
3350
3541
|
"aria-label": "Profile sections",
|
|
3351
|
-
children:
|
|
3542
|
+
children: profileTabItems.map((tab) => {
|
|
3352
3543
|
const isActive = activeTab === tab.value;
|
|
3353
|
-
return /* @__PURE__ */
|
|
3544
|
+
return /* @__PURE__ */ jsxs21(
|
|
3354
3545
|
"button",
|
|
3355
3546
|
{
|
|
3356
3547
|
type: "button",
|
|
@@ -3366,9 +3557,9 @@ var ProfileModal = ({
|
|
|
3366
3557
|
isActive ? "font-agg-normal text-agg-foreground bg-agg-secondary-hover" : "font-agg-normal text-agg-foreground"
|
|
3367
3558
|
),
|
|
3368
3559
|
children: [
|
|
3369
|
-
isActive ? /* @__PURE__ */
|
|
3370
|
-
/* @__PURE__ */
|
|
3371
|
-
/* @__PURE__ */
|
|
3560
|
+
isActive ? /* @__PURE__ */ jsx21("div", { className: "absolute left-0 top-0 bottom-0 w-1 bg-agg-primary" }) : null,
|
|
3561
|
+
/* @__PURE__ */ jsx21(Icon, { name: tab.icon, size: "small", color: "currentColor" }),
|
|
3562
|
+
/* @__PURE__ */ jsx21("span", { className: "shrink-0 whitespace-nowrap", children: tab.label })
|
|
3372
3563
|
]
|
|
3373
3564
|
},
|
|
3374
3565
|
tab.value
|
|
@@ -3376,9 +3567,9 @@ var ProfileModal = ({
|
|
|
3376
3567
|
})
|
|
3377
3568
|
}
|
|
3378
3569
|
) }),
|
|
3379
|
-
/* @__PURE__ */
|
|
3380
|
-
activeTab === PROFILE_TAB_KEYS.PROFILE_ACCOUNTS ? /* @__PURE__ */
|
|
3381
|
-
/* @__PURE__ */
|
|
3570
|
+
/* @__PURE__ */ jsxs21("div", { className: "agg-profile-content min-w-0 flex-1", children: [
|
|
3571
|
+
activeTab === PROFILE_TAB_KEYS.PROFILE_ACCOUNTS ? /* @__PURE__ */ jsxs21("div", { className: "agg-profile-accounts-tab flex flex-col gap-8", children: [
|
|
3572
|
+
/* @__PURE__ */ jsx21(
|
|
3382
3573
|
AboutTab,
|
|
3383
3574
|
{
|
|
3384
3575
|
username: username != null ? username : user == null ? void 0 : user.username,
|
|
@@ -3392,7 +3583,7 @@ var ProfileModal = ({
|
|
|
3392
3583
|
avatarError: avatarTypeError
|
|
3393
3584
|
}
|
|
3394
3585
|
),
|
|
3395
|
-
/* @__PURE__ */
|
|
3586
|
+
/* @__PURE__ */ jsx21(
|
|
3396
3587
|
AccountsWalletsTab,
|
|
3397
3588
|
{
|
|
3398
3589
|
socialAccounts: resolvedSocialAccounts,
|
|
@@ -3411,7 +3602,7 @@ var ProfileModal = ({
|
|
|
3411
3602
|
}
|
|
3412
3603
|
)
|
|
3413
3604
|
] }) : null,
|
|
3414
|
-
activeTab === PROFILE_TAB_KEYS.TRADING_ACCESS ? /* @__PURE__ */
|
|
3605
|
+
activeTab === PROFILE_TAB_KEYS.TRADING_ACCESS ? /* @__PURE__ */ jsx21(
|
|
3415
3606
|
TradingAccessTab,
|
|
3416
3607
|
{
|
|
3417
3608
|
venueAccounts: resolvedVenueAccounts,
|
|
@@ -3419,12 +3610,22 @@ var ProfileModal = ({
|
|
|
3419
3610
|
onDisconnectKalshi: handleDisconnectKalshi,
|
|
3420
3611
|
onKycError
|
|
3421
3612
|
}
|
|
3422
|
-
) : null
|
|
3613
|
+
) : null,
|
|
3614
|
+
activeTab === PROFILE_TAB_KEYS.BALANCE_MANAGEMENT ? /* @__PURE__ */ jsx21(BalanceManagementTab, { enabled: open }) : null
|
|
3423
3615
|
] })
|
|
3424
3616
|
] }) }),
|
|
3425
|
-
/* @__PURE__ */
|
|
3426
|
-
/* @__PURE__ */
|
|
3427
|
-
|
|
3617
|
+
activeTab === PROFILE_TAB_KEYS.BALANCE_MANAGEMENT ? null : /* @__PURE__ */ jsxs21(Modal.Footer, { classNames: { root: "agg-profile-modal-footer" }, children: [
|
|
3618
|
+
/* @__PURE__ */ jsx21(
|
|
3619
|
+
Button,
|
|
3620
|
+
{
|
|
3621
|
+
variant: "secondary",
|
|
3622
|
+
size: "large",
|
|
3623
|
+
onClick: handleCancel,
|
|
3624
|
+
className: "min-w-[120px]",
|
|
3625
|
+
children: "Cancel"
|
|
3626
|
+
}
|
|
3627
|
+
),
|
|
3628
|
+
/* @__PURE__ */ jsx21(
|
|
3428
3629
|
Button,
|
|
3429
3630
|
{
|
|
3430
3631
|
variant: "primary",
|
|
@@ -3439,7 +3640,7 @@ var ProfileModal = ({
|
|
|
3439
3640
|
]
|
|
3440
3641
|
}
|
|
3441
3642
|
),
|
|
3442
|
-
/* @__PURE__ */
|
|
3643
|
+
/* @__PURE__ */ jsx21(
|
|
3443
3644
|
ConnectKalshiModal,
|
|
3444
3645
|
{
|
|
3445
3646
|
open: open && isConnectKalshiModalOpen,
|
|
@@ -3454,7 +3655,7 @@ ProfileModal.displayName = "ProfileModal";
|
|
|
3454
3655
|
// src/geo-block-modal/index.tsx
|
|
3455
3656
|
import { useLabels as useLabels17 } from "@agg-build/hooks";
|
|
3456
3657
|
import { useCallback as useCallback4 } from "react";
|
|
3457
|
-
import { jsx as
|
|
3658
|
+
import { jsx as jsx22, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
3458
3659
|
var GeoBlockModal = ({
|
|
3459
3660
|
open,
|
|
3460
3661
|
onOpenChange,
|
|
@@ -3466,19 +3667,19 @@ var GeoBlockModal = ({
|
|
|
3466
3667
|
onConfirm == null ? void 0 : onConfirm();
|
|
3467
3668
|
onOpenChange(false);
|
|
3468
3669
|
}, [onConfirm, onOpenChange]);
|
|
3469
|
-
return /* @__PURE__ */
|
|
3670
|
+
return /* @__PURE__ */ jsx22(
|
|
3470
3671
|
Modal,
|
|
3471
3672
|
{
|
|
3472
3673
|
open,
|
|
3473
3674
|
onOpenChange,
|
|
3474
3675
|
"aria-label": labels.trading.geoBlockModalAriaLabel,
|
|
3475
|
-
children: /* @__PURE__ */
|
|
3676
|
+
children: /* @__PURE__ */ jsxs22(
|
|
3476
3677
|
Modal.Container,
|
|
3477
3678
|
{
|
|
3478
3679
|
maxWidth: "480px",
|
|
3479
3680
|
classNames: { container: cn("!rounded-agg-2xl", classNames == null ? void 0 : classNames.container) },
|
|
3480
3681
|
children: [
|
|
3481
|
-
/* @__PURE__ */
|
|
3682
|
+
/* @__PURE__ */ jsx22(
|
|
3482
3683
|
Modal.Header,
|
|
3483
3684
|
{
|
|
3484
3685
|
title: "",
|
|
@@ -3490,19 +3691,19 @@ var GeoBlockModal = ({
|
|
|
3490
3691
|
}
|
|
3491
3692
|
}
|
|
3492
3693
|
),
|
|
3493
|
-
/* @__PURE__ */
|
|
3494
|
-
/* @__PURE__ */
|
|
3694
|
+
/* @__PURE__ */ jsx22(Modal.Body, { classNames: { root: cn("!px-10 !pt-0 !pb-12", classNames == null ? void 0 : classNames.body) }, children: /* @__PURE__ */ jsxs22("div", { className: "flex flex-col items-center gap-8", children: [
|
|
3695
|
+
/* @__PURE__ */ jsx22(
|
|
3495
3696
|
Icon,
|
|
3496
3697
|
{
|
|
3497
3698
|
name: "internet-security",
|
|
3498
3699
|
className: "h-[60px] w-[60px] text-agg-muted-foreground"
|
|
3499
3700
|
}
|
|
3500
3701
|
),
|
|
3501
|
-
/* @__PURE__ */
|
|
3502
|
-
/* @__PURE__ */
|
|
3503
|
-
/* @__PURE__ */
|
|
3702
|
+
/* @__PURE__ */ jsxs22("div", { className: "flex flex-col items-center gap-3 text-center", children: [
|
|
3703
|
+
/* @__PURE__ */ jsx22("h2", { className: "text-agg-2xl font-agg-bold leading-agg-8 text-agg-foreground", children: labels.trading.geoBlockModalTitle }),
|
|
3704
|
+
/* @__PURE__ */ jsx22("p", { className: "text-agg-base font-agg-normal leading-agg-6 text-agg-foreground", children: labels.trading.geoBlockModalDescription })
|
|
3504
3705
|
] }),
|
|
3505
|
-
/* @__PURE__ */
|
|
3706
|
+
/* @__PURE__ */ jsx22(
|
|
3506
3707
|
Button,
|
|
3507
3708
|
{
|
|
3508
3709
|
variant: "secondary",
|