@retinalabsllc/zairusjs 14.0.60 → 14.0.80
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/index.d.mts +4 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +31 -8
- package/dist/index.mjs +33 -9
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -319,6 +319,8 @@ interface CardData {
|
|
|
319
319
|
preOrder?: boolean;
|
|
320
320
|
contentDark?: boolean;
|
|
321
321
|
bannerProps?: BannerProps;
|
|
322
|
+
prepaid?: boolean;
|
|
323
|
+
balance?: string;
|
|
322
324
|
}
|
|
323
325
|
interface UniversalCardPageProps {
|
|
324
326
|
cards: CardData[];
|
|
@@ -327,6 +329,8 @@ interface UniversalCardPageProps {
|
|
|
327
329
|
onFreeze?: (cardId: string) => void | Promise<void>;
|
|
328
330
|
onSetLimits?: (cardId: string) => void;
|
|
329
331
|
onDelete?: (cardId: string) => void | Promise<void>;
|
|
332
|
+
onFundCard?: (cardId: string) => void;
|
|
333
|
+
onCreateCard?: () => void;
|
|
330
334
|
}
|
|
331
335
|
declare const UniversalCardPage: React.FC<UniversalCardPageProps>;
|
|
332
336
|
|
package/dist/index.d.ts
CHANGED
|
@@ -319,6 +319,8 @@ interface CardData {
|
|
|
319
319
|
preOrder?: boolean;
|
|
320
320
|
contentDark?: boolean;
|
|
321
321
|
bannerProps?: BannerProps;
|
|
322
|
+
prepaid?: boolean;
|
|
323
|
+
balance?: string;
|
|
322
324
|
}
|
|
323
325
|
interface UniversalCardPageProps {
|
|
324
326
|
cards: CardData[];
|
|
@@ -327,6 +329,8 @@ interface UniversalCardPageProps {
|
|
|
327
329
|
onFreeze?: (cardId: string) => void | Promise<void>;
|
|
328
330
|
onSetLimits?: (cardId: string) => void;
|
|
329
331
|
onDelete?: (cardId: string) => void | Promise<void>;
|
|
332
|
+
onFundCard?: (cardId: string) => void;
|
|
333
|
+
onCreateCard?: () => void;
|
|
330
334
|
}
|
|
331
335
|
declare const UniversalCardPage: React.FC<UniversalCardPageProps>;
|
|
332
336
|
|
package/dist/index.js
CHANGED
|
@@ -1954,7 +1954,7 @@ var UniversalWalletPage = ({
|
|
|
1954
1954
|
isOpen: showCopyWarning,
|
|
1955
1955
|
title: "Quick Heads Up!",
|
|
1956
1956
|
message: `You must send at least 15 ${selectedWallet.currency}. If you send anything less than that, or choose the wrong network, your money will be lost forever.`,
|
|
1957
|
-
confirmText: "
|
|
1957
|
+
confirmText: "Copy",
|
|
1958
1958
|
cancelText: "Cancel",
|
|
1959
1959
|
isDestructive: false,
|
|
1960
1960
|
onClose: () => setShowCopyWarning(false),
|
|
@@ -2054,7 +2054,9 @@ var UniversalCardPage = ({
|
|
|
2054
2054
|
onReveal,
|
|
2055
2055
|
onFreeze,
|
|
2056
2056
|
onSetLimits,
|
|
2057
|
-
onDelete
|
|
2057
|
+
onDelete,
|
|
2058
|
+
onFundCard,
|
|
2059
|
+
onCreateCard
|
|
2058
2060
|
}) => {
|
|
2059
2061
|
const router = (0, import_navigation4.useRouter)();
|
|
2060
2062
|
const sortedCards = import_react33.default.useMemo(() => {
|
|
@@ -2148,7 +2150,7 @@ var UniversalCardPage = ({
|
|
|
2148
2150
|
const capitalized = type.charAt(0).toUpperCase() + type.slice(1).toLowerCase();
|
|
2149
2151
|
return `${capitalized} Card`;
|
|
2150
2152
|
};
|
|
2151
|
-
return /* @__PURE__ */ import_react33.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" },
|
|
2153
|
+
return /* @__PURE__ */ import_react33.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex items-center justify-center mb-6 w-full px-2 gap-3" }, sortedCards.length > 0 && /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex items-center bg-white rounded-full p-1 sm:p-1.5 max-w-full overflow-x-auto custom-scrollbar" }, sortedCards.map((tab, idx) => {
|
|
2152
2154
|
const isActive = activeTabIndex === idx;
|
|
2153
2155
|
return /* @__PURE__ */ import_react33.default.createElement(
|
|
2154
2156
|
"button",
|
|
@@ -2159,7 +2161,17 @@ var UniversalCardPage = ({
|
|
|
2159
2161
|
},
|
|
2160
2162
|
formatTabLabel(tab.type)
|
|
2161
2163
|
);
|
|
2162
|
-
}))
|
|
2164
|
+
})), /* @__PURE__ */ import_react33.default.createElement(
|
|
2165
|
+
"button",
|
|
2166
|
+
{
|
|
2167
|
+
onClick: () => {
|
|
2168
|
+
if (onCreateCard) onCreateCard();
|
|
2169
|
+
},
|
|
2170
|
+
className: "w-8 h-8 sm:w-9 sm:h-9 rounded-full bg-white flex items-center justify-center text-neutral-500 hover:text-black transition-colors shrink-0 shadow-sm outline-none",
|
|
2171
|
+
"aria-label": "Create New Card"
|
|
2172
|
+
},
|
|
2173
|
+
/* @__PURE__ */ import_react33.default.createElement(import_react34.HugeiconsIcon, { icon: import_core_free_icons12.PlusSignIcon, size: 18 })
|
|
2174
|
+
)), /* @__PURE__ */ import_react33.default.createElement("div", { className: "w-full pt-2 pb-2 flex justify-center" }, /* @__PURE__ */ import_react33.default.createElement(
|
|
2163
2175
|
"div",
|
|
2164
2176
|
{
|
|
2165
2177
|
className: "relative w-full max-w-85",
|
|
@@ -2204,7 +2216,7 @@ var UniversalCardPage = ({
|
|
|
2204
2216
|
className: "absolute inset-0 bg-cover bg-center",
|
|
2205
2217
|
style: { backgroundImage: `url(${activeCard.cardBgSrc})` }
|
|
2206
2218
|
}
|
|
2207
|
-
), /* @__PURE__ */ import_react33.default.createElement("div", { className: "relative z-10 w-full h-full p-5 flex flex-col justify-between" }, /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex items-start w-full gap-4" }), /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex justify-between items-end w-full" }, /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ import_react33.default.createElement("span", { className: `text-[9px] tracking-widest ${activeCard.contentDark ? "text-black/60" : "text-white/60"}` }, "Card Tier"), /* @__PURE__ */ import_react33.default.createElement("span", { className: `text-[12px] tracking-widest font-medium
|
|
2219
|
+
), /* @__PURE__ */ import_react33.default.createElement("div", { className: "relative z-10 w-full h-full p-5 flex flex-col justify-between" }, /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex items-start justify-end w-full gap-4" }, activeCard.prepaid && /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ import_react33.default.createElement("span", { className: `text-[9px] tracking-widest ${activeCard.contentDark ? "text-black/60" : "text-white/60"}` }, "Card Tier"), /* @__PURE__ */ import_react33.default.createElement("span", { className: `text-[12px] tracking-widest font-medium ${activeCard.contentDark ? "text-black" : "text-white"}` }, activeCard.tier))), /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex justify-between items-end w-full" }, /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ import_react33.default.createElement("span", { className: `text-[9px] tracking-widest ${activeCard.contentDark ? "text-black/60" : "text-white/60"}` }, activeCard.prepaid ? "Card Balance" : "Card Tier"), /* @__PURE__ */ import_react33.default.createElement("span", { className: `text-[12px] tracking-widest font-medium ${activeCard.contentDark ? "text-black" : "text-white"}` }, activeCard.prepaid ? activeCard.balance || "$0.00" : activeCard.tier)), activeCard.networkLogoSrc && /* @__PURE__ */ import_react33.default.createElement(
|
|
2208
2220
|
"img",
|
|
2209
2221
|
{
|
|
2210
2222
|
src: activeCard.networkLogoSrc,
|
|
@@ -2212,7 +2224,7 @@ var UniversalCardPage = ({
|
|
|
2212
2224
|
className: "h-10 w-auto max-w-20 object-contain opacity-90"
|
|
2213
2225
|
}
|
|
2214
2226
|
))))
|
|
2215
|
-
)), activeCard.bannerProps ? /* @__PURE__ */ import_react33.default.createElement("div", { className: "mb-6 w-full" }, /* @__PURE__ */ import_react33.default.createElement(Banner, { ...activeCard.bannerProps })) : isPreordered ? /* @__PURE__ */ import_react33.default.createElement("div", { className: "mb-6 w-full" }, /* @__PURE__ */ import_react33.default.createElement(
|
|
2227
|
+
)), activeCard.bannerProps ? /* @__PURE__ */ import_react33.default.createElement("div", { className: "mb-6 w-full mt-2" }, /* @__PURE__ */ import_react33.default.createElement(Banner, { ...activeCard.bannerProps })) : isPreordered ? /* @__PURE__ */ import_react33.default.createElement("div", { className: "mb-6 w-full mt-2" }, /* @__PURE__ */ import_react33.default.createElement(
|
|
2216
2228
|
Banner,
|
|
2217
2229
|
{
|
|
2218
2230
|
type: "success",
|
|
@@ -2220,7 +2232,18 @@ var UniversalCardPage = ({
|
|
|
2220
2232
|
message: `Your ${activeCard.tier} ${activeCard.type.toLowerCase()} card has been pre-ordered successfully and is pending batch processing.`,
|
|
2221
2233
|
isDismissible: false
|
|
2222
2234
|
}
|
|
2223
|
-
)) : null, /* @__PURE__ */ import_react33.default.createElement("div", { className: "w-full flex flex-col gap-4" }, /* @__PURE__ */ import_react33.default.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ import_react33.default.createElement(
|
|
2235
|
+
)) : null, /* @__PURE__ */ import_react33.default.createElement("div", { className: "w-full flex flex-col gap-4 mt-1" }, /* @__PURE__ */ import_react33.default.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, activeCard.prepaid && /* @__PURE__ */ import_react33.default.createElement(
|
|
2236
|
+
MenuRow,
|
|
2237
|
+
{
|
|
2238
|
+
icon: import_core_free_icons12.PlusSignIcon,
|
|
2239
|
+
title: "Fund Card",
|
|
2240
|
+
subtitle: "Add money to card",
|
|
2241
|
+
onClick: () => {
|
|
2242
|
+
if (!actionsDisabled && onFundCard) onFundCard(activeCard.id);
|
|
2243
|
+
},
|
|
2244
|
+
disabled: actionsDisabled
|
|
2245
|
+
}
|
|
2246
|
+
), /* @__PURE__ */ import_react33.default.createElement(
|
|
2224
2247
|
MenuRow,
|
|
2225
2248
|
{
|
|
2226
2249
|
icon: import_core_free_icons12.ViewOffSlashIcon,
|
|
@@ -4102,7 +4125,7 @@ var UniversalRewardPage = ({
|
|
|
4102
4125
|
setIsClaiming(false);
|
|
4103
4126
|
}
|
|
4104
4127
|
};
|
|
4105
|
-
return /* @__PURE__ */ import_react69.default.createElement("div", null, /* @__PURE__ */ import_react69.default.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ import_react69.default.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[13px] outline-none" }, /* @__PURE__ */ import_react69.default.createElement(import_react70.HugeiconsIcon, { icon: import_core_free_icons23.ArrowLeft01Icon, size: 16 }), " Back")), /* @__PURE__ */ import_react69.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react69.default.createElement(ManagedToaster, null), showConfetti && /* @__PURE__ */ import_react69.default.createElement("div", { className: "fixed inset-0 z-200 pointer-events-none" }, /* @__PURE__ */ import_react69.default.createElement(import_react_confetti.default, { width, height, recycle: false, numberOfPieces: 500, gravity: 0.15 })), isLoading ? /* @__PURE__ */ import_react69.default.createElement(PageSpinner4, null) : /* @__PURE__ */ import_react69.default.createElement(import_react69.default.Fragment, null, /* @__PURE__ */ import_react69.default.createElement("div", { className: "w-full p-4 pt-10 mb-6 flex items-end justify-center gap-2 sm:gap-6 h-64 relative overflow-hidden" }, /* @__PURE__ */ import_react69.default.createElement("div", { className: "flex flex-col items-center w-1/3 z-10" }, secondPlace ? /* @__PURE__ */ import_react69.default.createElement(import_react69.default.Fragment, null, /* @__PURE__ */ import_react69.default.createElement("span", { className: "text-black text-[10px] mb-2 truncate max-w-full px-1" }, formatWeb3Name(secondPlace.profile.web3Name)), /* @__PURE__ */ import_react69.default.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ import_react69.default.createElement(AvatarLogo, { src: secondPlace.profile.avatarUrl, alt: secondPlace.profile.username, name: formatWeb3Name(secondPlace.profile.web3Name), sizeClass: "w-14 h-14
|
|
4128
|
+
return /* @__PURE__ */ import_react69.default.createElement("div", null, /* @__PURE__ */ import_react69.default.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ import_react69.default.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[13px] outline-none" }, /* @__PURE__ */ import_react69.default.createElement(import_react70.HugeiconsIcon, { icon: import_core_free_icons23.ArrowLeft01Icon, size: 16 }), " Back")), /* @__PURE__ */ import_react69.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react69.default.createElement(ManagedToaster, null), showConfetti && /* @__PURE__ */ import_react69.default.createElement("div", { className: "fixed inset-0 z-200 pointer-events-none" }, /* @__PURE__ */ import_react69.default.createElement(import_react_confetti.default, { width, height, recycle: false, numberOfPieces: 500, gravity: 0.15 })), isLoading ? /* @__PURE__ */ import_react69.default.createElement(PageSpinner4, null) : /* @__PURE__ */ import_react69.default.createElement(import_react69.default.Fragment, null, /* @__PURE__ */ import_react69.default.createElement("div", { className: "w-full p-4 pt-10 mb-6 flex items-end justify-center gap-2 sm:gap-6 h-64 relative overflow-hidden" }, /* @__PURE__ */ import_react69.default.createElement("div", { className: "flex flex-col items-center w-1/3 z-10" }, secondPlace ? /* @__PURE__ */ import_react69.default.createElement(import_react69.default.Fragment, null, /* @__PURE__ */ import_react69.default.createElement("span", { className: "text-black text-[10px] mb-2 truncate max-w-full px-1" }, formatWeb3Name(secondPlace.profile.web3Name)), /* @__PURE__ */ import_react69.default.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ import_react69.default.createElement(AvatarLogo, { src: secondPlace.profile.avatarUrl, alt: secondPlace.profile.username, name: formatWeb3Name(secondPlace.profile.web3Name), sizeClass: "w-14 h-14" }), /* @__PURE__ */ import_react69.default.createElement("div", { className: "absolute -bottom-2 right-0 w-5 h-5 rounded-full bg-[#ceff8a] text-black flex items-center justify-center text-[10px] border border-white " }, "2")), /* @__PURE__ */ import_react69.default.createElement("div", { className: "w-full bg-linear-to-t from-neutral-100 to-[#ceff8a] rounded-t-xl h-24 flex items-center justify-center" }, /* @__PURE__ */ import_react69.default.createElement("span", { className: "text-neutral-800/30 text-2xl " }, "2nd"))) : /* @__PURE__ */ import_react69.default.createElement("div", { className: "w-full bg-linear-to-t from-neutral-100 to-neutral-200 rounded-t-xl h-24 mt-auto" })), /* @__PURE__ */ import_react69.default.createElement("div", { className: "flex flex-col items-center w-1/3 z-20 -mt-8" }, firstPlace ? /* @__PURE__ */ import_react69.default.createElement(import_react69.default.Fragment, null, /* @__PURE__ */ import_react69.default.createElement("span", { className: "text-black text-[10px] mb-2 truncate max-w-full px-1" }, formatWeb3Name(firstPlace.profile.web3Name)), /* @__PURE__ */ import_react69.default.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ import_react69.default.createElement(AvatarLogo, { src: firstPlace.profile.avatarUrl, alt: firstPlace.profile.username, name: formatWeb3Name(firstPlace.profile.web3Name), sizeClass: "w-17 h-17" }), /* @__PURE__ */ import_react69.default.createElement("div", { className: "absolute -bottom-2 right-2 w-5 h-5 rounded-full bg-[#143731] text-white flex items-center justify-center text-[10px] border border-white " }, "1")), /* @__PURE__ */ import_react69.default.createElement("div", { className: "w-full bg-linear-to-t from-neutral-100 to-[#143731] rounded-t-xl h-32 flex items-center justify-center " }, /* @__PURE__ */ import_react69.default.createElement("span", { className: "text-white/40 text-3xl tracking-widest" }, "1st"))) : /* @__PURE__ */ import_react69.default.createElement("div", { className: "w-full bg-linear-to-t from-neutral-100 to-neutral-200 rounded-t-xl h-32 mt-auto" })), /* @__PURE__ */ import_react69.default.createElement("div", { className: "flex flex-col items-center w-1/3 z-10" }, thirdPlace ? /* @__PURE__ */ import_react69.default.createElement(import_react69.default.Fragment, null, /* @__PURE__ */ import_react69.default.createElement("span", { className: "text-black text-[10px] mb-2 truncate max-w-full px-1" }, formatWeb3Name(thirdPlace.profile.web3Name)), /* @__PURE__ */ import_react69.default.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ import_react69.default.createElement(AvatarLogo, { src: thirdPlace.profile.avatarUrl, alt: thirdPlace.profile.username, name: formatWeb3Name(thirdPlace.profile.web3Name), sizeClass: "w-12 h-12" }), /* @__PURE__ */ import_react69.default.createElement("div", { className: "absolute -bottom-2 right-0 w-5 h-5 rounded-full bg-[#ceff8a] text-black flex items-center justify-center text-[10px] border border-white " }, "3")), /* @__PURE__ */ import_react69.default.createElement("div", { className: "w-full bg-linear-to-t from-neutral-100 to-[#ceff8a] rounded-t-xl h-20 flex items-center justify-center" }, /* @__PURE__ */ import_react69.default.createElement("span", { className: "text-neutral-800/30 text-xl " }, "3rd"))) : /* @__PURE__ */ import_react69.default.createElement("div", { className: "w-full bg-linear-to-t from-neutral-100 to-neutral-200 rounded-t-xl h-20 mt-auto" }))), /* @__PURE__ */ import_react69.default.createElement("div", { className: "flex items-center justify-center mb-6 sm:mb-8 w-full animate-in fade-in duration-300 px-2" }, /* @__PURE__ */ import_react69.default.createElement("div", { className: "flex items-center bg-white rounded-full p-1 sm:p-1.5 max-w-full overflow-x-auto custom-scrollbar " }, tabs.map((tab, idx) => {
|
|
4106
4129
|
const isActive = activeTabIndex === idx;
|
|
4107
4130
|
return /* @__PURE__ */ import_react69.default.createElement(
|
|
4108
4131
|
"button",
|
package/dist/index.mjs
CHANGED
|
@@ -1921,7 +1921,7 @@ var UniversalWalletPage = ({
|
|
|
1921
1921
|
isOpen: showCopyWarning,
|
|
1922
1922
|
title: "Quick Heads Up!",
|
|
1923
1923
|
message: `You must send at least 15 ${selectedWallet.currency}. If you send anything less than that, or choose the wrong network, your money will be lost forever.`,
|
|
1924
|
-
confirmText: "
|
|
1924
|
+
confirmText: "Copy",
|
|
1925
1925
|
cancelText: "Cancel",
|
|
1926
1926
|
isDestructive: false,
|
|
1927
1927
|
onClose: () => setShowCopyWarning(false),
|
|
@@ -1940,7 +1940,8 @@ import {
|
|
|
1940
1940
|
ArrowRight01Icon as ArrowRight01Icon3,
|
|
1941
1941
|
SlidersHorizontalIcon,
|
|
1942
1942
|
ViewOffSlashIcon as ViewOffSlashIcon2,
|
|
1943
|
-
Loading03Icon as Loading03Icon9
|
|
1943
|
+
Loading03Icon as Loading03Icon9,
|
|
1944
|
+
PlusSignIcon as PlusSignIcon2
|
|
1944
1945
|
} from "@hugeicons/core-free-icons";
|
|
1945
1946
|
|
|
1946
1947
|
// src/components/PinDialerBottomSheet.tsx
|
|
@@ -2028,7 +2029,9 @@ var UniversalCardPage = ({
|
|
|
2028
2029
|
onReveal,
|
|
2029
2030
|
onFreeze,
|
|
2030
2031
|
onSetLimits,
|
|
2031
|
-
onDelete
|
|
2032
|
+
onDelete,
|
|
2033
|
+
onFundCard,
|
|
2034
|
+
onCreateCard
|
|
2032
2035
|
}) => {
|
|
2033
2036
|
const router = useRouter();
|
|
2034
2037
|
const sortedCards = React20.useMemo(() => {
|
|
@@ -2122,7 +2125,7 @@ var UniversalCardPage = ({
|
|
|
2122
2125
|
const capitalized = type.charAt(0).toUpperCase() + type.slice(1).toLowerCase();
|
|
2123
2126
|
return `${capitalized} Card`;
|
|
2124
2127
|
};
|
|
2125
|
-
return /* @__PURE__ */ React20.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" },
|
|
2128
|
+
return /* @__PURE__ */ React20.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-center mb-6 w-full px-2 gap-3" }, sortedCards.length > 0 && /* @__PURE__ */ React20.createElement("div", { className: "flex items-center bg-white rounded-full p-1 sm:p-1.5 max-w-full overflow-x-auto custom-scrollbar" }, sortedCards.map((tab, idx) => {
|
|
2126
2129
|
const isActive = activeTabIndex === idx;
|
|
2127
2130
|
return /* @__PURE__ */ React20.createElement(
|
|
2128
2131
|
"button",
|
|
@@ -2133,7 +2136,17 @@ var UniversalCardPage = ({
|
|
|
2133
2136
|
},
|
|
2134
2137
|
formatTabLabel(tab.type)
|
|
2135
2138
|
);
|
|
2136
|
-
}))
|
|
2139
|
+
})), /* @__PURE__ */ React20.createElement(
|
|
2140
|
+
"button",
|
|
2141
|
+
{
|
|
2142
|
+
onClick: () => {
|
|
2143
|
+
if (onCreateCard) onCreateCard();
|
|
2144
|
+
},
|
|
2145
|
+
className: "w-8 h-8 sm:w-9 sm:h-9 rounded-full bg-white flex items-center justify-center text-neutral-500 hover:text-black transition-colors shrink-0 shadow-sm outline-none",
|
|
2146
|
+
"aria-label": "Create New Card"
|
|
2147
|
+
},
|
|
2148
|
+
/* @__PURE__ */ React20.createElement(HugeiconsIcon14, { icon: PlusSignIcon2, size: 18 })
|
|
2149
|
+
)), /* @__PURE__ */ React20.createElement("div", { className: "w-full pt-2 pb-2 flex justify-center" }, /* @__PURE__ */ React20.createElement(
|
|
2137
2150
|
"div",
|
|
2138
2151
|
{
|
|
2139
2152
|
className: "relative w-full max-w-85",
|
|
@@ -2178,7 +2191,7 @@ var UniversalCardPage = ({
|
|
|
2178
2191
|
className: "absolute inset-0 bg-cover bg-center",
|
|
2179
2192
|
style: { backgroundImage: `url(${activeCard.cardBgSrc})` }
|
|
2180
2193
|
}
|
|
2181
|
-
), /* @__PURE__ */ React20.createElement("div", { className: "relative z-10 w-full h-full p-5 flex flex-col justify-between" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-start w-full gap-4" }), /* @__PURE__ */ React20.createElement("div", { className: "flex justify-between items-end w-full" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ React20.createElement("span", { className: `text-[9px] tracking-widest ${activeCard.contentDark ? "text-black/60" : "text-white/60"}` }, "Card Tier"), /* @__PURE__ */ React20.createElement("span", { className: `text-[12px] tracking-widest font-medium
|
|
2194
|
+
), /* @__PURE__ */ React20.createElement("div", { className: "relative z-10 w-full h-full p-5 flex flex-col justify-between" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-start justify-end w-full gap-4" }, activeCard.prepaid && /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ React20.createElement("span", { className: `text-[9px] tracking-widest ${activeCard.contentDark ? "text-black/60" : "text-white/60"}` }, "Card Tier"), /* @__PURE__ */ React20.createElement("span", { className: `text-[12px] tracking-widest font-medium ${activeCard.contentDark ? "text-black" : "text-white"}` }, activeCard.tier))), /* @__PURE__ */ React20.createElement("div", { className: "flex justify-between items-end w-full" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ React20.createElement("span", { className: `text-[9px] tracking-widest ${activeCard.contentDark ? "text-black/60" : "text-white/60"}` }, activeCard.prepaid ? "Card Balance" : "Card Tier"), /* @__PURE__ */ React20.createElement("span", { className: `text-[12px] tracking-widest font-medium ${activeCard.contentDark ? "text-black" : "text-white"}` }, activeCard.prepaid ? activeCard.balance || "$0.00" : activeCard.tier)), activeCard.networkLogoSrc && /* @__PURE__ */ React20.createElement(
|
|
2182
2195
|
"img",
|
|
2183
2196
|
{
|
|
2184
2197
|
src: activeCard.networkLogoSrc,
|
|
@@ -2186,7 +2199,7 @@ var UniversalCardPage = ({
|
|
|
2186
2199
|
className: "h-10 w-auto max-w-20 object-contain opacity-90"
|
|
2187
2200
|
}
|
|
2188
2201
|
))))
|
|
2189
|
-
)), activeCard.bannerProps ? /* @__PURE__ */ React20.createElement("div", { className: "mb-6 w-full" }, /* @__PURE__ */ React20.createElement(Banner, { ...activeCard.bannerProps })) : isPreordered ? /* @__PURE__ */ React20.createElement("div", { className: "mb-6 w-full" }, /* @__PURE__ */ React20.createElement(
|
|
2202
|
+
)), activeCard.bannerProps ? /* @__PURE__ */ React20.createElement("div", { className: "mb-6 w-full mt-2" }, /* @__PURE__ */ React20.createElement(Banner, { ...activeCard.bannerProps })) : isPreordered ? /* @__PURE__ */ React20.createElement("div", { className: "mb-6 w-full mt-2" }, /* @__PURE__ */ React20.createElement(
|
|
2190
2203
|
Banner,
|
|
2191
2204
|
{
|
|
2192
2205
|
type: "success",
|
|
@@ -2194,7 +2207,18 @@ var UniversalCardPage = ({
|
|
|
2194
2207
|
message: `Your ${activeCard.tier} ${activeCard.type.toLowerCase()} card has been pre-ordered successfully and is pending batch processing.`,
|
|
2195
2208
|
isDismissible: false
|
|
2196
2209
|
}
|
|
2197
|
-
)) : null, /* @__PURE__ */ React20.createElement("div", { className: "w-full flex flex-col gap-4" }, /* @__PURE__ */ React20.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ React20.createElement(
|
|
2210
|
+
)) : null, /* @__PURE__ */ React20.createElement("div", { className: "w-full flex flex-col gap-4 mt-1" }, /* @__PURE__ */ React20.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, activeCard.prepaid && /* @__PURE__ */ React20.createElement(
|
|
2211
|
+
MenuRow,
|
|
2212
|
+
{
|
|
2213
|
+
icon: PlusSignIcon2,
|
|
2214
|
+
title: "Fund Card",
|
|
2215
|
+
subtitle: "Add money to card",
|
|
2216
|
+
onClick: () => {
|
|
2217
|
+
if (!actionsDisabled && onFundCard) onFundCard(activeCard.id);
|
|
2218
|
+
},
|
|
2219
|
+
disabled: actionsDisabled
|
|
2220
|
+
}
|
|
2221
|
+
), /* @__PURE__ */ React20.createElement(
|
|
2198
2222
|
MenuRow,
|
|
2199
2223
|
{
|
|
2200
2224
|
icon: ViewOffSlashIcon2,
|
|
@@ -4110,7 +4134,7 @@ var UniversalRewardPage = ({
|
|
|
4110
4134
|
setIsClaiming(false);
|
|
4111
4135
|
}
|
|
4112
4136
|
};
|
|
4113
|
-
return /* @__PURE__ */ React42.createElement("div", null, /* @__PURE__ */ React42.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ React42.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[13px] outline-none" }, /* @__PURE__ */ React42.createElement(HugeiconsIcon28, { icon: ArrowLeft01Icon9, size: 16 }), " Back")), /* @__PURE__ */ React42.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React42.createElement(ManagedToaster, null), showConfetti && /* @__PURE__ */ React42.createElement("div", { className: "fixed inset-0 z-200 pointer-events-none" }, /* @__PURE__ */ React42.createElement(Confetti, { width, height, recycle: false, numberOfPieces: 500, gravity: 0.15 })), isLoading ? /* @__PURE__ */ React42.createElement(PageSpinner4, null) : /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement("div", { className: "w-full p-4 pt-10 mb-6 flex items-end justify-center gap-2 sm:gap-6 h-64 relative overflow-hidden" }, /* @__PURE__ */ React42.createElement("div", { className: "flex flex-col items-center w-1/3 z-10" }, secondPlace ? /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement("span", { className: "text-black text-[10px] mb-2 truncate max-w-full px-1" }, formatWeb3Name(secondPlace.profile.web3Name)), /* @__PURE__ */ React42.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ React42.createElement(AvatarLogo, { src: secondPlace.profile.avatarUrl, alt: secondPlace.profile.username, name: formatWeb3Name(secondPlace.profile.web3Name), sizeClass: "w-14 h-14
|
|
4137
|
+
return /* @__PURE__ */ React42.createElement("div", null, /* @__PURE__ */ React42.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ React42.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[13px] outline-none" }, /* @__PURE__ */ React42.createElement(HugeiconsIcon28, { icon: ArrowLeft01Icon9, size: 16 }), " Back")), /* @__PURE__ */ React42.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React42.createElement(ManagedToaster, null), showConfetti && /* @__PURE__ */ React42.createElement("div", { className: "fixed inset-0 z-200 pointer-events-none" }, /* @__PURE__ */ React42.createElement(Confetti, { width, height, recycle: false, numberOfPieces: 500, gravity: 0.15 })), isLoading ? /* @__PURE__ */ React42.createElement(PageSpinner4, null) : /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement("div", { className: "w-full p-4 pt-10 mb-6 flex items-end justify-center gap-2 sm:gap-6 h-64 relative overflow-hidden" }, /* @__PURE__ */ React42.createElement("div", { className: "flex flex-col items-center w-1/3 z-10" }, secondPlace ? /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement("span", { className: "text-black text-[10px] mb-2 truncate max-w-full px-1" }, formatWeb3Name(secondPlace.profile.web3Name)), /* @__PURE__ */ React42.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ React42.createElement(AvatarLogo, { src: secondPlace.profile.avatarUrl, alt: secondPlace.profile.username, name: formatWeb3Name(secondPlace.profile.web3Name), sizeClass: "w-14 h-14" }), /* @__PURE__ */ React42.createElement("div", { className: "absolute -bottom-2 right-0 w-5 h-5 rounded-full bg-[#ceff8a] text-black flex items-center justify-center text-[10px] border border-white " }, "2")), /* @__PURE__ */ React42.createElement("div", { className: "w-full bg-linear-to-t from-neutral-100 to-[#ceff8a] rounded-t-xl h-24 flex items-center justify-center" }, /* @__PURE__ */ React42.createElement("span", { className: "text-neutral-800/30 text-2xl " }, "2nd"))) : /* @__PURE__ */ React42.createElement("div", { className: "w-full bg-linear-to-t from-neutral-100 to-neutral-200 rounded-t-xl h-24 mt-auto" })), /* @__PURE__ */ React42.createElement("div", { className: "flex flex-col items-center w-1/3 z-20 -mt-8" }, firstPlace ? /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement("span", { className: "text-black text-[10px] mb-2 truncate max-w-full px-1" }, formatWeb3Name(firstPlace.profile.web3Name)), /* @__PURE__ */ React42.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ React42.createElement(AvatarLogo, { src: firstPlace.profile.avatarUrl, alt: firstPlace.profile.username, name: formatWeb3Name(firstPlace.profile.web3Name), sizeClass: "w-17 h-17" }), /* @__PURE__ */ React42.createElement("div", { className: "absolute -bottom-2 right-2 w-5 h-5 rounded-full bg-[#143731] text-white flex items-center justify-center text-[10px] border border-white " }, "1")), /* @__PURE__ */ React42.createElement("div", { className: "w-full bg-linear-to-t from-neutral-100 to-[#143731] rounded-t-xl h-32 flex items-center justify-center " }, /* @__PURE__ */ React42.createElement("span", { className: "text-white/40 text-3xl tracking-widest" }, "1st"))) : /* @__PURE__ */ React42.createElement("div", { className: "w-full bg-linear-to-t from-neutral-100 to-neutral-200 rounded-t-xl h-32 mt-auto" })), /* @__PURE__ */ React42.createElement("div", { className: "flex flex-col items-center w-1/3 z-10" }, thirdPlace ? /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement("span", { className: "text-black text-[10px] mb-2 truncate max-w-full px-1" }, formatWeb3Name(thirdPlace.profile.web3Name)), /* @__PURE__ */ React42.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ React42.createElement(AvatarLogo, { src: thirdPlace.profile.avatarUrl, alt: thirdPlace.profile.username, name: formatWeb3Name(thirdPlace.profile.web3Name), sizeClass: "w-12 h-12" }), /* @__PURE__ */ React42.createElement("div", { className: "absolute -bottom-2 right-0 w-5 h-5 rounded-full bg-[#ceff8a] text-black flex items-center justify-center text-[10px] border border-white " }, "3")), /* @__PURE__ */ React42.createElement("div", { className: "w-full bg-linear-to-t from-neutral-100 to-[#ceff8a] rounded-t-xl h-20 flex items-center justify-center" }, /* @__PURE__ */ React42.createElement("span", { className: "text-neutral-800/30 text-xl " }, "3rd"))) : /* @__PURE__ */ React42.createElement("div", { className: "w-full bg-linear-to-t from-neutral-100 to-neutral-200 rounded-t-xl h-20 mt-auto" }))), /* @__PURE__ */ React42.createElement("div", { className: "flex items-center justify-center mb-6 sm:mb-8 w-full animate-in fade-in duration-300 px-2" }, /* @__PURE__ */ React42.createElement("div", { className: "flex items-center bg-white rounded-full p-1 sm:p-1.5 max-w-full overflow-x-auto custom-scrollbar " }, tabs.map((tab, idx) => {
|
|
4114
4138
|
const isActive = activeTabIndex === idx;
|
|
4115
4139
|
return /* @__PURE__ */ React42.createElement(
|
|
4116
4140
|
"button",
|