@retinalabsllc/zairusjs 5.1.25 → 5.1.40
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.js +41 -104
- package/dist/index.mjs +41 -104
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -179,7 +179,7 @@ var ThreeDButton = ({
|
|
|
179
179
|
{
|
|
180
180
|
href,
|
|
181
181
|
onClick,
|
|
182
|
-
className: `relative inline-flex items-center justify-center py-2.5 px-8 rounded-full text-neutral-900 text-xs
|
|
182
|
+
className: `relative inline-flex items-center justify-center py-2.5 px-8 rounded-full text-neutral-900 text-xs transition-all duration-150 select-none group overflow-hidden ${className}`,
|
|
183
183
|
style: {
|
|
184
184
|
backgroundImage: silverBg,
|
|
185
185
|
backgroundSize: "cover",
|
|
@@ -236,7 +236,7 @@ var ThreeDActionButton = ({
|
|
|
236
236
|
"aria-label": ariaLabel,
|
|
237
237
|
className: `
|
|
238
238
|
relative inline-flex items-center justify-center py-2.5 px-8 rounded-full
|
|
239
|
-
text-neutral-900 text-xs tracking-widest
|
|
239
|
+
text-neutral-900 text-xs tracking-widest
|
|
240
240
|
transition-all duration-150 select-none group outline-none overflow-hidden
|
|
241
241
|
${isInteractionDisabled ? "opacity-70 cursor-not-allowed" : "active:translate-y-0.5"}
|
|
242
242
|
${className}
|
|
@@ -994,7 +994,7 @@ var HeroSection = ({
|
|
|
994
994
|
className: "w-full sm:w-60 inline-flex items-center justify-center text-[11px] tracking-widest rounded-full px-8 py-3 bg-black/40 backdrop-blur-md text-center text-white text-xs hover:bg-neutral-800 hover:border-neutral-500 outline-none transition-all drop-shadow-lg"
|
|
995
995
|
},
|
|
996
996
|
secondaryCtaText
|
|
997
|
-
)), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ import_react10.default.createElement("div", { className: "w-full flex flex-col items-center mt-4" }, appsText && /* @__PURE__ */ import_react10.default.createElement("p", { className: "text-[9px] tracking-[0.2em] text-neutral-300 mb-5
|
|
997
|
+
)), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ import_react10.default.createElement("div", { className: "w-full flex flex-col items-center mt-4" }, appsText && /* @__PURE__ */ import_react10.default.createElement("p", { className: "text-[9px] tracking-[0.2em] text-neutral-300 mb-5 " }, appsText), /* @__PURE__ */ import_react10.default.createElement("div", { className: "flex flex-wrap justify-center items-center gap-6 opacity-90" }, appLogos.map((logo, idx) => /* @__PURE__ */ import_react10.default.createElement("div", { key: idx, className: "relative h-6 w-6 sm:h-8 sm:w-8 flex items-center justify-center cursor-default filter invert" }, /* @__PURE__ */ import_react10.default.createElement(
|
|
998
998
|
import_image2.default,
|
|
999
999
|
{
|
|
1000
1000
|
src: logo.src,
|
|
@@ -1408,7 +1408,7 @@ var ManagedPricingBlock = ({
|
|
|
1408
1408
|
import_link5.default,
|
|
1409
1409
|
{
|
|
1410
1410
|
href: plan.ctaHref,
|
|
1411
|
-
className: "w-full py-
|
|
1411
|
+
className: "w-full py-2.5 px-5 rounded-full border border-neutral-700 text-center text-white text-xs hover:bg-neutral-800 hover:border-neutral-600 transition-colors mb-6 outline-none block"
|
|
1412
1412
|
},
|
|
1413
1413
|
plan.ctaText
|
|
1414
1414
|
),
|
|
@@ -1501,7 +1501,7 @@ var ManagedNotFoundBlock = ({
|
|
|
1501
1501
|
import_link6.default,
|
|
1502
1502
|
{
|
|
1503
1503
|
href: backLinkHref,
|
|
1504
|
-
className: "inline-flex items-center justify-center px-8 py-
|
|
1504
|
+
className: "inline-flex items-center justify-center px-8 py-2.5 border border-neutral-800 text-white hover:bg-neutral-800 transition-colors rounded-full text-[11px] tracking-widest outline-none"
|
|
1505
1505
|
},
|
|
1506
1506
|
backLinkText
|
|
1507
1507
|
)));
|
|
@@ -1618,7 +1618,7 @@ var ManagedNewsletterSplitBlock = ({
|
|
|
1618
1618
|
ThreeDButton,
|
|
1619
1619
|
{
|
|
1620
1620
|
href: ctaHref,
|
|
1621
|
-
className: "py-
|
|
1621
|
+
className: "py-2.5 tracking-widest text-[11px]"
|
|
1622
1622
|
},
|
|
1623
1623
|
ctaText
|
|
1624
1624
|
)))))));
|
|
@@ -1750,7 +1750,7 @@ var PortfolioHero = ({
|
|
|
1750
1750
|
ThreeDButton,
|
|
1751
1751
|
{
|
|
1752
1752
|
href: primaryCtaHref,
|
|
1753
|
-
className: "py-
|
|
1753
|
+
className: "py-2.5 tracking-widest text-[11px]"
|
|
1754
1754
|
},
|
|
1755
1755
|
primaryCtaText
|
|
1756
1756
|
)), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ import_react29.default.createElement(
|
|
@@ -1881,7 +1881,7 @@ var UniversalSidebar = ({
|
|
|
1881
1881
|
"div",
|
|
1882
1882
|
{
|
|
1883
1883
|
onClick: handleCopyWallet,
|
|
1884
|
-
className: "flex items-center gap-2 bg-neutral-900
|
|
1884
|
+
className: "flex items-center gap-2 bg-neutral-900 rounded-full p-1 pr-3 cursor-pointer hover:bg-neutral-800 transition-colors",
|
|
1885
1885
|
title: "Copy Address"
|
|
1886
1886
|
},
|
|
1887
1887
|
web3Avatar ? /* @__PURE__ */ import_react33.default.createElement("img", { src: web3Avatar, alt: "Avatar", className: "w-6 h-6 rounded-full bg-neutral-800 object-cover shrink-0" }) : /* @__PURE__ */ import_react33.default.createElement("div", { className: "w-6 h-6 rounded-full bg-neutral-800 flex items-center justify-center text-[9px] text-white shrink-0" }, userInitials.substring(0, 2)),
|
|
@@ -1893,7 +1893,7 @@ var UniversalSidebar = ({
|
|
|
1893
1893
|
setShowNotifDialog(true);
|
|
1894
1894
|
setSelectedNotif(null);
|
|
1895
1895
|
},
|
|
1896
|
-
className: "relative w-8 h-8 shrink-0 bg-neutral-900
|
|
1896
|
+
className: "relative w-8 h-8 shrink-0 bg-neutral-900 rounded-full flex items-center justify-center text-neutral-400 hover:text-white hover:bg-neutral-800 transition-all duration-300 outline-none"
|
|
1897
1897
|
},
|
|
1898
1898
|
/* @__PURE__ */ import_react33.default.createElement(import_react34.HugeiconsIcon, { icon: import_core_free_icons7.Notification01Icon, size: 14 }),
|
|
1899
1899
|
unreadNotificationsCount > 0 && /* @__PURE__ */ import_react33.default.createElement("span", { className: "absolute top-2 right-2.5 w-2 h-2 bg-blue-500 rounded-full border border-neutral-900" })
|
|
@@ -1901,16 +1901,16 @@ var UniversalSidebar = ({
|
|
|
1901
1901
|
import_link8.default,
|
|
1902
1902
|
{
|
|
1903
1903
|
href: backUrl,
|
|
1904
|
-
className: "w-10 h-10 shrink-0 bg-neutral-900
|
|
1904
|
+
className: "w-10 h-10 shrink-0 bg-neutral-900 rounded-full flex items-center justify-center text-neutral-400 hover:text-white hover:bg-neutral-800 transition-all duration-300 outline-none",
|
|
1905
1905
|
"aria-label": "Go Back"
|
|
1906
1906
|
},
|
|
1907
1907
|
/* @__PURE__ */ import_react33.default.createElement(import_react34.HugeiconsIcon, { icon: import_core_free_icons7.ArrowLeft01Icon, size: 18 })
|
|
1908
1908
|
));
|
|
1909
|
-
return /* @__PURE__ */ import_react33.default.createElement(import_react33.default.Fragment, null, /* @__PURE__ */ import_react33.default.createElement("div", { className: "md:hidden fixed top-0 left-0 w-full h-16 bg-black/50 backdrop-blur-md z-40 flex items-center justify-between px-4
|
|
1909
|
+
return /* @__PURE__ */ import_react33.default.createElement(import_react33.default.Fragment, null, /* @__PURE__ */ import_react33.default.createElement("div", { className: "md:hidden fixed top-0 left-0 w-full h-16 bg-black/50 backdrop-blur-md z-40 flex items-center justify-between px-4 " }, /* @__PURE__ */ import_react33.default.createElement(
|
|
1910
1910
|
"button",
|
|
1911
1911
|
{
|
|
1912
1912
|
onClick: openMobile,
|
|
1913
|
-
className: `w-10 h-10 bg-neutral-900
|
|
1913
|
+
className: `w-10 h-10 bg-neutral-900 rounded-full flex items-center justify-center text-white transition-all duration-300 outline-none ${isMobileOpen ? "opacity-0 pointer-events-none scale-90" : "opacity-100 scale-100"}`,
|
|
1914
1914
|
"aria-label": "Open Menu"
|
|
1915
1915
|
},
|
|
1916
1916
|
/* @__PURE__ */ import_react33.default.createElement(import_react34.HugeiconsIcon, { icon: import_core_free_icons7.SidebarLeft01Icon, size: 18 })
|
|
@@ -1924,13 +1924,13 @@ var UniversalSidebar = ({
|
|
|
1924
1924
|
"aside",
|
|
1925
1925
|
{
|
|
1926
1926
|
className: `
|
|
1927
|
-
fixed md:relative rounded-2xl top-4 md:top-0 md:my-4 left-4 md:left-0 md:ml-4 h-[calc(100dvh-2rem)] bg-neutral-900
|
|
1927
|
+
fixed md:relative rounded-2xl top-4 md:top-0 md:my-4 left-4 md:left-0 md:ml-4 h-[calc(100dvh-2rem)] bg-neutral-900
|
|
1928
1928
|
transition-all duration-300 ease-in-out shrink-0 flex flex-col z-100 md:z-50
|
|
1929
1929
|
${isMobileOpen ? "translate-x-0" : "translate-x-[-120%] md:translate-x-0"}
|
|
1930
1930
|
${isCollapsed ? "md:w-16 w-64" : "w-64"}
|
|
1931
1931
|
`
|
|
1932
1932
|
},
|
|
1933
|
-
/* @__PURE__ */ import_react33.default.createElement("div", { className: `flex items-center shrink-0 p-5
|
|
1933
|
+
/* @__PURE__ */ import_react33.default.createElement("div", { className: `flex items-center shrink-0 p-5 ${isCollapsed && !isMobileOpen ? "justify-center min-h-18" : "justify-between"}` }, /* @__PURE__ */ import_react33.default.createElement("div", { className: `flex items-center gap-3 text-left ${!isCollapsed || isMobileOpen ? "w-full" : ""}` }, /* @__PURE__ */ import_react33.default.createElement("div", { className: "w-9 h-9 border border-neutral-700 rounded-full flex items-center justify-center shrink-0" }, /* @__PURE__ */ import_react33.default.createElement("h3", { className: "text-[10px] text-white tracking-wider" }, userInitials.substring(0, 2))), (!isCollapsed || isMobileOpen) && /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex flex-col justify-center min-w-0 pr-2 flex-1" }, /* @__PURE__ */ import_react33.default.createElement("span", { className: "text-[13px] text-white leading-none truncate tracking-wide mb-1" }, userName), userTag && /* @__PURE__ */ import_react33.default.createElement("span", { className: "text-[9px] text-neutral-500 truncate tracking-[0.2em] leading-none " }, userTag))), /* @__PURE__ */ import_react33.default.createElement("div", { className: "md:hidden flex shrink-0" }, /* @__PURE__ */ import_react33.default.createElement(
|
|
1934
1934
|
"button",
|
|
1935
1935
|
{
|
|
1936
1936
|
onClick: closeMobile,
|
|
@@ -1962,7 +1962,7 @@ var UniversalSidebar = ({
|
|
|
1962
1962
|
(!isCollapsed || isMobileOpen) && /* @__PURE__ */ import_react33.default.createElement("span", { className: "text-xs tracking-wide truncate" }, item.name)
|
|
1963
1963
|
);
|
|
1964
1964
|
})),
|
|
1965
|
-
/* @__PURE__ */ import_react33.default.createElement("div", { className: "p-4 shrink-0 flex flex-col gap-2
|
|
1965
|
+
/* @__PURE__ */ import_react33.default.createElement("div", { className: "p-4 shrink-0 flex flex-col gap-2" }, showLogoutAction && /* @__PURE__ */ import_react33.default.createElement("div", { className: `flex gap-2 px-1 pb-2 ${isCollapsed && !isMobileOpen ? "flex-col items-center" : "items-center"}` }, /* @__PURE__ */ import_react33.default.createElement(
|
|
1966
1966
|
"button",
|
|
1967
1967
|
{
|
|
1968
1968
|
onClick: () => setShowLogoutDialog(true),
|
|
@@ -1979,7 +1979,7 @@ var UniversalSidebar = ({
|
|
|
1979
1979
|
/* @__PURE__ */ import_react33.default.createElement(import_react34.HugeiconsIcon, { icon: import_core_free_icons7.SidebarLeft01Icon, size: 18, className: "shrink-0 text-neutral-500" }),
|
|
1980
1980
|
!isCollapsed && /* @__PURE__ */ import_react33.default.createElement("span", { className: "text-xs " }, "Collapse")
|
|
1981
1981
|
)))
|
|
1982
|
-
), showNotifDialog && /* @__PURE__ */ import_react33.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react33.default.createElement("div", { className: "absolute inset-0 bg-black/60", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ import_react33.default.createElement("div", { className: "relative w-full max-w-sm bg-neutral-900 0 rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 h-[80vh] max-h-[80vh]" }, /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, selectedNotif ? /* @__PURE__ */ import_react33.default.createElement("button", { onClick: () => setSelectedNotif(null), className: "text-neutral-500 hover:text-white transition-colors outline-none flex items-center gap-2 text-[11px] tracking-widest " }, /* @__PURE__ */ import_react33.default.createElement(import_react34.HugeiconsIcon, { icon: import_core_free_icons7.ArrowLeft01Icon, size: 14 }), " Back") : /* @__PURE__ */ import_react33.default.createElement("h3", { className: "text-[15px] text-white tracking-tight " }, "Notifications"), /* @__PURE__ */ import_react33.default.createElement("button", { onClick: () => setShowNotifDialog(false), className: "text-neutral-500 hover:text-white transition-colors outline-none" }, /* @__PURE__ */ import_react33.default.createElement(import_react34.HugeiconsIcon, { icon: import_core_free_icons7.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, selectedNotif ? /* @__PURE__ */ import_react33.default.createElement("div", { className: "p-4 text-left" }, /* @__PURE__ */ import_react33.default.createElement("h4", { className: "text-[14px] text-white mb-1" }, selectedNotif.title), /* @__PURE__ */ import_react33.default.createElement("span", { className: "text-[10px] text-neutral-500 tracking-widest mb-4 block" }, formatNotifDate(selectedNotif.createdAt)), /* @__PURE__ */ import_react33.default.createElement("p", { className: "text-[12px] text-neutral-400 leading-relaxed whitespace-pre-wrap" }, selectedNotif.message)) : /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex flex-col
|
|
1982
|
+
), showNotifDialog && /* @__PURE__ */ import_react33.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react33.default.createElement("div", { className: "absolute inset-0 bg-black/60", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ import_react33.default.createElement("div", { className: "relative w-full max-w-sm bg-neutral-900 0 rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 h-[80vh] max-h-[80vh]" }, /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, selectedNotif ? /* @__PURE__ */ import_react33.default.createElement("button", { onClick: () => setSelectedNotif(null), className: "text-neutral-500 hover:text-white transition-colors outline-none flex items-center gap-2 text-[11px] tracking-widest " }, /* @__PURE__ */ import_react33.default.createElement(import_react34.HugeiconsIcon, { icon: import_core_free_icons7.ArrowLeft01Icon, size: 14 }), " Back") : /* @__PURE__ */ import_react33.default.createElement("h3", { className: "text-[15px] text-white tracking-tight " }, "Notifications"), /* @__PURE__ */ import_react33.default.createElement("button", { onClick: () => setShowNotifDialog(false), className: "text-neutral-500 hover:text-white transition-colors outline-none" }, /* @__PURE__ */ import_react33.default.createElement(import_react34.HugeiconsIcon, { icon: import_core_free_icons7.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, selectedNotif ? /* @__PURE__ */ import_react33.default.createElement("div", { className: "p-4 text-left" }, /* @__PURE__ */ import_react33.default.createElement("h4", { className: "text-[14px] text-white mb-1" }, selectedNotif.title), /* @__PURE__ */ import_react33.default.createElement("span", { className: "text-[10px] text-neutral-500 tracking-widest mb-4 block" }, formatNotifDate(selectedNotif.createdAt)), /* @__PURE__ */ import_react33.default.createElement("p", { className: "text-[12px] text-neutral-400 leading-relaxed whitespace-pre-wrap" }, selectedNotif.message)) : /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex flex-col " }, notifications?.length === 0 ? /* @__PURE__ */ import_react33.default.createElement("div", { className: "p-8 text-center text-xs text-neutral-500" }, "You have no notifications.") : notifications?.map((notif) => /* @__PURE__ */ import_react33.default.createElement(
|
|
1983
1983
|
"div",
|
|
1984
1984
|
{
|
|
1985
1985
|
key: notif.id,
|
|
@@ -1987,7 +1987,7 @@ var UniversalSidebar = ({
|
|
|
1987
1987
|
setSelectedNotif(notif);
|
|
1988
1988
|
onNotificationClick?.(notif);
|
|
1989
1989
|
},
|
|
1990
|
-
className: "p-3 flex items-start gap-3 hover:bg-neutral-800
|
|
1990
|
+
className: "p-3 flex items-start gap-3 hover:bg-neutral-800 cursor-pointer transition-colors"
|
|
1991
1991
|
},
|
|
1992
1992
|
/* @__PURE__ */ import_react33.default.createElement("div", { className: "mt-1.5 shrink-0" }, !notif.isRead ? /* @__PURE__ */ import_react33.default.createElement("div", { className: "w-1.5 h-1.5 bg-blue-500 rounded-full" }) : /* @__PURE__ */ import_react33.default.createElement("div", { className: "w-1.5 h-1.5 bg-transparent" })),
|
|
1993
1993
|
/* @__PURE__ */ import_react33.default.createElement("div", { className: "flex-1 min-w-0 text-left" }, /* @__PURE__ */ import_react33.default.createElement("h5", { className: `text-[12px] truncate ${notif.isRead ? "text-neutral-400" : "text-white"}` }, notif.title), /* @__PURE__ */ import_react33.default.createElement("p", { className: "text-[11px] text-neutral-500 truncate mt-0.5" }, notif.message), /* @__PURE__ */ import_react33.default.createElement("span", { className: "text-[9px] text-neutral-600 tracking-widest mt-2 block" }, formatNotifDate(notif.createdAt)))
|
|
@@ -2510,10 +2510,6 @@ var UniversalTransactionPage = ({
|
|
|
2510
2510
|
}
|
|
2511
2511
|
};
|
|
2512
2512
|
const isListLoading = isLoading || isTyping;
|
|
2513
|
-
const silverBg = `linear-gradient(110deg, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0) 35%, rgba(0,0,0,0.1) 60%, rgba(255,255,255,0.6) 80%, rgba(0,0,0,0.2) 100%), url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc2MDAnIGhlaWdodD0nODAnPjxmaWx0ZXIgaWQ9J2JydXNoZWQnIHg9JzAlJyB5PScwJScgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJSc+PGZlVHVyYnVsZW5jZSB0eXBlPSdmcmFjdGFsTm9pc2UnIGJhc2VGcmVxdWVuY3k9JzAuMDA1IDAuOCcgbnVtT2N0YXZlcz0nNCcgc2VlZD0nNScgcmVzdWx0PSdub2lzZScvPjxmZUNvbG9yTWF0cml4IHR5cGU9J3NhdHVyYXRlJyB2YWx1ZXM9JzAnIHJlc3VsdD0nbW9ubycvPjxmZUNvbXBvbmVudFRyYW5zZmVyIHJlc3VsdD0nYWRqdXN0ZWQnPjxmZUZ1bmNSIHR5cGU9J2xpbmVhcicgc2xvcGU9JzAuNCcgaW50ZXJjZXB0PScwLjMnLz48ZmVGdW5jRyB0eXBlPSdsaW5lYXInIHNsb3BlPScwLjQnIGludGVyY2VwdD0nMC4zJy8+PGZlRnVuY0IgdHlwZT0nbGluZWFyJyBzbG9wZT0nMC40JyBpbnRlcmNlcHQ9JzAuMycvPjxmZUZ1bmNBIHR5cGU9J2xpbmVhcicgc2xvcGU9JzAuMTUnIGludGVyY2VwdD0nMCcvPjwvZmVDb21wb25lbnRUcmFuc2Zlcj48L2ZpbHRlcj48cmVjdCB3aWR0aD0nMTAwJScgaGVpZ2h0PScxMDAlJyBmaWxsPScjZDFkNWRiJy8+PHJlY3Qgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJScgZmlsdGVyPSd1cmwoI2JydXNoZWQpJyBvcGFjaXR5PScwLjgnLz48L3N2Zz4=")`;
|
|
2514
|
-
const silverShadowBase = "inset 0 1px 2px rgba(255,255,255,1), inset 0 -2px 3px rgba(0,0,0,0.3), 0 4px 10px rgba(0,0,0,0.5)";
|
|
2515
|
-
const silverShadowHover = "inset 0 1px 2px rgba(255,255,255,1), inset 0 -2px 3px rgba(0,0,0,0.3), 0 6px 14px rgba(0,0,0,0.7)";
|
|
2516
|
-
const silverShadowActive = "inset 0 2px 4px rgba(0,0,0,0.4), inset 0 -1px 2px rgba(255,255,255,0.5), 0 2px 4px rgba(0,0,0,0.3)";
|
|
2517
2513
|
return /* @__PURE__ */ import_react43.default.createElement("div", { className: "flex flex-col gap-6 animate-in max-w-5xl fade-in duration-300" }, !hideControls && /* @__PURE__ */ import_react43.default.createElement("div", { className: "flex flex-col sm:flex-row items-center justify-between gap-4 w-full" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "relative w-full sm:w-96" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ import_react43.default.createElement(import_react44.HugeiconsIcon, { icon: import_core_free_icons12.Search01Icon, size: 16, className: "text-neutral-500" })), /* @__PURE__ */ import_react43.default.createElement(
|
|
2518
2514
|
"input",
|
|
2519
2515
|
{
|
|
@@ -2521,13 +2517,13 @@ var UniversalTransactionPage = ({
|
|
|
2521
2517
|
placeholder: "Search reference or amount...",
|
|
2522
2518
|
value: localSearchQuery,
|
|
2523
2519
|
onChange: (e) => setLocalSearchQuery(e.target.value),
|
|
2524
|
-
className: "w-full pl-10 pr-4 py-2
|
|
2520
|
+
className: "w-full pl-10 pr-4 py-2 border border-neutral-800 rounded-full text-[13px] text-white placeholder-neutral-500 outline-none transition-colors focus:border-neutral-600"
|
|
2525
2521
|
}
|
|
2526
2522
|
)), /* @__PURE__ */ import_react43.default.createElement("div", { className: "flex items-center gap-3 w-full sm:w-auto overflow-x-auto pb-1 sm:pb-0" }, /* @__PURE__ */ import_react43.default.createElement(
|
|
2527
2523
|
"button",
|
|
2528
2524
|
{
|
|
2529
2525
|
onClick: () => setIsDirectionModalOpen(true),
|
|
2530
|
-
className: "flex items-center gap-2 whitespace-nowrap
|
|
2526
|
+
className: "flex items-center gap-2 whitespace-nowrap border border-neutral-800 px-5 py-2 rounded-full text-[12px] text-neutral-400 hover:text-white hover:bg-neutral-800 transition-colors outline-none"
|
|
2531
2527
|
},
|
|
2532
2528
|
/* @__PURE__ */ import_react43.default.createElement(import_react44.HugeiconsIcon, { icon: import_core_free_icons12.SearchList02Icon, size: 12 }),
|
|
2533
2529
|
activeDirectionFilter === "ALL" ? "Payment Type" : activeDirectionFilter
|
|
@@ -2535,11 +2531,11 @@ var UniversalTransactionPage = ({
|
|
|
2535
2531
|
"button",
|
|
2536
2532
|
{
|
|
2537
2533
|
onClick: () => setIsTypeModalOpen(true),
|
|
2538
|
-
className: "flex items-center gap-2 whitespace-nowrap
|
|
2534
|
+
className: "flex items-center gap-2 whitespace-nowrap border border-neutral-800 px-5 py-2 rounded-full text-[12px] text-neutral-400 hover:text-white hover:bg-neutral-800 transition-colors outline-none"
|
|
2539
2535
|
},
|
|
2540
2536
|
/* @__PURE__ */ import_react43.default.createElement(import_react44.HugeiconsIcon, { icon: import_core_free_icons12.ListSettingIcon, size: 14 }),
|
|
2541
2537
|
activeTypeFilter === "ALL" ? "All Transactions" : activeTypeFilter.replace("_", " ")
|
|
2542
|
-
))), /* @__PURE__ */ import_react43.default.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-neutral-900 w-full" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-4" }, /* @__PURE__ */ import_react43.default.createElement("div", null, /* @__PURE__ */ import_react43.default.createElement("h1", { className: "text-white text-xl mb-1 tracking-tight" }, headerTitle), headerDescription && /* @__PURE__ */ import_react43.default.createElement("p", { className: "text-xs text-neutral-400" }, headerDescription))), /* @__PURE__ */ import_react43.default.createElement("div", { className: "w-full overflow-hidden" }, isListLoading ? /* @__PURE__ */ import_react43.default.createElement(PageSpinner2, null) : /* @__PURE__ */ import_react43.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react43.default.createElement("div",
|
|
2538
|
+
))), /* @__PURE__ */ import_react43.default.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-neutral-900 w-full" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-4" }, /* @__PURE__ */ import_react43.default.createElement("div", null, /* @__PURE__ */ import_react43.default.createElement("h1", { className: "text-white text-xl mb-1 tracking-tight" }, headerTitle), headerDescription && /* @__PURE__ */ import_react43.default.createElement("p", { className: "text-xs text-neutral-400" }, headerDescription))), /* @__PURE__ */ import_react43.default.createElement("div", { className: "w-full overflow-hidden" }, isListLoading ? /* @__PURE__ */ import_react43.default.createElement(PageSpinner2, null) : /* @__PURE__ */ import_react43.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react43.default.createElement("div", null, transactions.length === 0 ? /* @__PURE__ */ import_react43.default.createElement("p", { className: "text-xs text-neutral-500 py-6 text-center" }, "No transactions found") : transactions.map((tx) => /* @__PURE__ */ import_react43.default.createElement(
|
|
2543
2539
|
"div",
|
|
2544
2540
|
{
|
|
2545
2541
|
key: tx.id,
|
|
@@ -2578,43 +2574,13 @@ var UniversalTransactionPage = ({
|
|
|
2578
2574
|
const formattedKey = key.replace(/([A-Z])/g, " $1").replace(/^./, (str) => str.toUpperCase());
|
|
2579
2575
|
return /* @__PURE__ */ import_react43.default.createElement("div", { key }, /* @__PURE__ */ import_react43.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-500 block mb-2" }, formattedKey), /* @__PURE__ */ import_react43.default.createElement("span", { className: "text-[13px] text-white break-all" }, String(value)));
|
|
2580
2576
|
})), /* @__PURE__ */ import_react43.default.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ import_react43.default.createElement(
|
|
2581
|
-
|
|
2577
|
+
ThreeDActionButton,
|
|
2582
2578
|
{
|
|
2583
2579
|
onClick: handleGenerateReceipt,
|
|
2584
|
-
|
|
2585
|
-
className: "
|
|
2586
|
-
style: {
|
|
2587
|
-
backgroundImage: silverBg,
|
|
2588
|
-
backgroundSize: "cover",
|
|
2589
|
-
backgroundPosition: "center",
|
|
2590
|
-
boxShadow: isGeneratingReceipt ? silverShadowActive : silverShadowBase,
|
|
2591
|
-
textShadow: "0 1px 1px rgba(255,255,255,0.6)"
|
|
2592
|
-
},
|
|
2593
|
-
onMouseEnter: (e) => {
|
|
2594
|
-
if (!isGeneratingReceipt) {
|
|
2595
|
-
e.currentTarget.style.boxShadow = silverShadowHover;
|
|
2596
|
-
e.currentTarget.style.transform = "translateY(-1px)";
|
|
2597
|
-
}
|
|
2598
|
-
},
|
|
2599
|
-
onMouseLeave: (e) => {
|
|
2600
|
-
if (!isGeneratingReceipt) {
|
|
2601
|
-
e.currentTarget.style.boxShadow = silverShadowBase;
|
|
2602
|
-
e.currentTarget.style.transform = "translateY(0px)";
|
|
2603
|
-
}
|
|
2604
|
-
},
|
|
2605
|
-
onMouseDown: (e) => {
|
|
2606
|
-
if (!isGeneratingReceipt) {
|
|
2607
|
-
e.currentTarget.style.boxShadow = silverShadowActive;
|
|
2608
|
-
e.currentTarget.style.transform = "translateY(2px)";
|
|
2609
|
-
}
|
|
2610
|
-
},
|
|
2611
|
-
onMouseUp: (e) => {
|
|
2612
|
-
if (!isGeneratingReceipt) {
|
|
2613
|
-
e.currentTarget.style.transform = "translateY(-1px)";
|
|
2614
|
-
}
|
|
2615
|
-
}
|
|
2580
|
+
isLoading: isGeneratingReceipt,
|
|
2581
|
+
className: "w-full py-3 text-[14px]"
|
|
2616
2582
|
},
|
|
2617
|
-
|
|
2583
|
+
"Generate Receipt"
|
|
2618
2584
|
), /* @__PURE__ */ import_react43.default.createElement(
|
|
2619
2585
|
"button",
|
|
2620
2586
|
{
|
|
@@ -2622,7 +2588,7 @@ var UniversalTransactionPage = ({
|
|
|
2622
2588
|
className: "w-full flex items-center justify-center py-2.5 rounded-full border border-neutral-700 text-white hover:bg-neutral-800 transition-colors outline-none text-[13px] tracking-wide mt-2"
|
|
2623
2589
|
},
|
|
2624
2590
|
"Report Transaction"
|
|
2625
|
-
))))), isDirectionModalOpen && /* @__PURE__ */ import_react43.default.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "absolute inset-0 bg-black/60", onClick: () => setIsDirectionModalOpen(false) }), /* @__PURE__ */ import_react43.default.createElement("div", { ref: directionDropdownRef, className: "relative w-72 bg-neutral-900
|
|
2591
|
+
))))), isDirectionModalOpen && /* @__PURE__ */ import_react43.default.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "absolute inset-0 bg-black/60", onClick: () => setIsDirectionModalOpen(false) }), /* @__PURE__ */ import_react43.default.createElement("div", { ref: directionDropdownRef, className: "relative w-72 bg-neutral-900 shadow-2xl rounded-2xl flex flex-col items-center overflow-hidden animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "p-6 text-center w-full" }, /* @__PURE__ */ import_react43.default.createElement("h3", { className: "text-[14px] text-white tracking-tight" }, "Payment Type")), /* @__PURE__ */ import_react43.default.createElement("div", { className: "w-full flex flex-col pl-2 pr-2" }, ["ALL", "CREDIT", "DEBIT"].map((option) => /* @__PURE__ */ import_react43.default.createElement(
|
|
2626
2592
|
"button",
|
|
2627
2593
|
{
|
|
2628
2594
|
key: option,
|
|
@@ -2640,7 +2606,7 @@ var UniversalTransactionPage = ({
|
|
|
2640
2606
|
className: "w-full py-3 text-[13px] text-neutral-500 hover:bg-neutral-800 hover:text-white transition-colors outline-none"
|
|
2641
2607
|
},
|
|
2642
2608
|
"Cancel"
|
|
2643
|
-
)))), isTypeModalOpen && /* @__PURE__ */ import_react43.default.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "absolute inset-0 bg-black/60", onClick: () => setIsTypeModalOpen(false) }), /* @__PURE__ */ import_react43.default.createElement("div", { ref: typeDropdownRef, className: "relative w-72 bg-neutral-900
|
|
2609
|
+
)))), isTypeModalOpen && /* @__PURE__ */ import_react43.default.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "absolute inset-0 bg-black/60", onClick: () => setIsTypeModalOpen(false) }), /* @__PURE__ */ import_react43.default.createElement("div", { ref: typeDropdownRef, className: "relative w-72 bg-neutral-900 shadow-2xl rounded-2xl flex flex-col items-center overflow-hidden animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "p-6 text-center w-full" }, /* @__PURE__ */ import_react43.default.createElement("h3", { className: "text-[14px] text-white tracking-tight" }, "Transactions Type")), /* @__PURE__ */ import_react43.default.createElement("div", { className: "w-full flex flex-col pl-2 pr-2" }, [
|
|
2644
2610
|
{ label: "All Transactions", value: "ALL" },
|
|
2645
2611
|
{ label: "Wallet Transactions", value: "WALLET_TRANSACTION" },
|
|
2646
2612
|
{ label: "Card Transactions", value: "CARD_TRANSACTION" }
|
|
@@ -2755,7 +2721,7 @@ var UniversalHomeView = ({
|
|
|
2755
2721
|
"button",
|
|
2756
2722
|
{
|
|
2757
2723
|
onClick: secondaryAction.onClick,
|
|
2758
|
-
className: "flex items-center gap-1.5 px-8 py-2
|
|
2724
|
+
className: "flex items-center gap-1.5 px-8 py-2 rounded-full border border-neutral-800 text-white transition-colors hover:bg-neutral-800 outline-none"
|
|
2759
2725
|
},
|
|
2760
2726
|
/* @__PURE__ */ import_react45.default.createElement("span", { className: "text-[13px] tracking-wide" }, secondaryAction.label),
|
|
2761
2727
|
secondaryAction.icon && /* @__PURE__ */ import_react45.default.createElement(import_react46.HugeiconsIcon, { icon: secondaryAction.icon, size: 16 })
|
|
@@ -2786,7 +2752,7 @@ var import_core_free_icons14 = require("@hugeicons/core-free-icons");
|
|
|
2786
2752
|
var PageSpinner3 = () => /* @__PURE__ */ import_react47.default.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ import_react47.default.createElement(import_react48.HugeiconsIcon, { icon: import_core_free_icons14.Loading03Icon, size: 32, className: "animate-spin mb-4 text-white" }));
|
|
2787
2753
|
var WalletLogo = ({ src, alt, sizeClass = "w-10 h-10" }) => {
|
|
2788
2754
|
const [isLoaded, setIsLoaded] = (0, import_react47.useState)(false);
|
|
2789
|
-
return /* @__PURE__ */ import_react47.default.createElement("div", { className: `relative shrink-0 rounded-full bg-black flex items-center justify-center overflow-hidden
|
|
2755
|
+
return /* @__PURE__ */ import_react47.default.createElement("div", { className: `relative shrink-0 rounded-full bg-black flex items-center justify-center overflow-hidden ${sizeClass}` }, !isLoaded && /* @__PURE__ */ import_react47.default.createElement(import_react48.HugeiconsIcon, { icon: import_core_free_icons14.Loading03Icon, size: 16, className: "animate-spin text-neutral-600 absolute" }), /* @__PURE__ */ import_react47.default.createElement(
|
|
2790
2756
|
"img",
|
|
2791
2757
|
{
|
|
2792
2758
|
src,
|
|
@@ -2815,10 +2781,6 @@ var UniversalWalletPage = ({
|
|
|
2815
2781
|
const q = localSearchQuery.toLowerCase();
|
|
2816
2782
|
return wallet.name.toLowerCase().includes(q) || wallet.currency.toLowerCase().includes(q) || wallet.network.toLowerCase().includes(q);
|
|
2817
2783
|
});
|
|
2818
|
-
const primaryBaseShadow = `inset 0 1.5px 0 0 rgba(255, 255, 255, 0.05), inset 0 -2px 0 0 rgba(0, 0, 0, 0.5), 0 3px 0 0 #000000, 0 6px 10px rgba(0, 0, 0, 0.5)`;
|
|
2819
|
-
const primaryHoverShadow = `inset 0 1.5px 0 0 rgba(255, 255, 255, 0.1), inset 0 -2px 0 0 rgba(0, 0, 0, 0.5), 0 4px 0 0 #000000, 0 8px 12px rgba(0, 0, 0, 0.4)`;
|
|
2820
|
-
const primaryActiveShadow = `inset 0 1px 0 0 rgba(255, 255, 255, 0.05), inset 0 -1px 0 0 rgba(0, 0, 0, 0.5), 0 1px 0 0 #000000, 0 2px 4px rgba(0, 0, 0, 0.3)`;
|
|
2821
|
-
const disabledShadow = `inset 0 1px 0 0 rgba(255, 255, 255, 0.05), inset 0 -1px 0 0 rgba(0, 0, 0, 0.5), 0 1px 0 0 #000000`;
|
|
2822
2784
|
const handleCopy = (wallet) => {
|
|
2823
2785
|
if (onCopyAddress) onCopyAddress(wallet);
|
|
2824
2786
|
if (typeof navigator !== "undefined" && navigator.clipboard) {
|
|
@@ -2835,9 +2797,9 @@ var UniversalWalletPage = ({
|
|
|
2835
2797
|
placeholder: "Search wallets by name or network...",
|
|
2836
2798
|
value: localSearchQuery,
|
|
2837
2799
|
onChange: (e) => setLocalSearchQuery(e.target.value),
|
|
2838
|
-
className: "w-full pl-10 pr-4 py-2
|
|
2800
|
+
className: "w-full pl-10 pr-4 py-2 border border-neutral-800 rounded-full text-[13px] text-white placeholder-neutral-500 outline-none transition-colors focus:border-neutral-600"
|
|
2839
2801
|
}
|
|
2840
|
-
))), /* @__PURE__ */ import_react47.default.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-neutral-900
|
|
2802
|
+
))), /* @__PURE__ */ import_react47.default.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-neutral-900 w-full" }, /* @__PURE__ */ import_react47.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-4" }, /* @__PURE__ */ import_react47.default.createElement("div", null, /* @__PURE__ */ import_react47.default.createElement("h1", { className: "text-white text-xl mb-1 tracking-tight" }, headerTitle), headerDescription && /* @__PURE__ */ import_react47.default.createElement("p", { className: "text-xs text-neutral-400" }, headerDescription))), /* @__PURE__ */ import_react47.default.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ import_react47.default.createElement(PageSpinner3, null) : /* @__PURE__ */ import_react47.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react47.default.createElement("div", null, filteredWallets.length === 0 ? /* @__PURE__ */ import_react47.default.createElement("p", { className: "text-xs text-neutral-500 py-6 text-center" }, "No wallets found") : filteredWallets.map((wallet) => /* @__PURE__ */ import_react47.default.createElement(
|
|
2841
2803
|
"div",
|
|
2842
2804
|
{
|
|
2843
2805
|
key: wallet.id,
|
|
@@ -2845,14 +2807,14 @@ var UniversalWalletPage = ({
|
|
|
2845
2807
|
className: "flex items-center justify-between py-4 hover:bg-neutral-800/50 transition-colors cursor-pointer group min-w-0 px-2 -mx-2 rounded-xl"
|
|
2846
2808
|
},
|
|
2847
2809
|
/* @__PURE__ */ import_react47.default.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ import_react47.default.createElement(WalletLogo, { src: wallet.logoSrc, alt: wallet.name }), /* @__PURE__ */ import_react47.default.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-1" }, /* @__PURE__ */ import_react47.default.createElement("p", { className: "text-[13px] text-white truncate font-medium" }, wallet.name), /* @__PURE__ */ import_react47.default.createElement("p", { className: `text-[13px] text-neutral-400 truncate transition-all duration-300 ${hideBalanceAmounts ? "blur-sm opacity-40 select-none" : ""}` }, wallet.balance, " ", wallet.currency))),
|
|
2848
|
-
/* @__PURE__ */ import_react47.default.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ import_react47.default.createElement("span", { className: "text-[10px] tracking-wide text-neutral-400 bg-neutral-800
|
|
2810
|
+
/* @__PURE__ */ import_react47.default.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ import_react47.default.createElement("span", { className: "text-[10px] tracking-wide text-neutral-400 bg-neutral-800 px-2.5 py-1 rounded-full " }, wallet.network))
|
|
2849
2811
|
)))))), selectedWallet && /* @__PURE__ */ import_react47.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react47.default.createElement("div", { className: "absolute inset-0 bg-black/60", onClick: () => {
|
|
2850
2812
|
setSelectedWallet(null);
|
|
2851
2813
|
setShowToast(false);
|
|
2852
|
-
} }), /* @__PURE__ */ import_react47.default.createElement("div", { className: "relative w-full max-w-sm bg-neutral-900
|
|
2814
|
+
} }), /* @__PURE__ */ import_react47.default.createElement("div", { className: "relative w-full max-w-sm bg-neutral-900 rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[90vh]" }, showToast && /* @__PURE__ */ import_react47.default.createElement("div", { className: "absolute top-4 left-1/2 -translate-x-1/2 z-50 bg-neutral-800 text-white px-5 py-2.5 rounded-full text-[12px] font-medium tracking-wide shadow-xl animate-in slide-in-from-top-4 fade-in duration-200 pointer-events-none whitespace-nowrap" }, "Address copied to clipboard"), /* @__PURE__ */ import_react47.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ import_react47.default.createElement("h3", { className: "text-[15px] text-white tracking-tight" }, "Wallet Details"), /* @__PURE__ */ import_react47.default.createElement("button", { onClick: () => {
|
|
2853
2815
|
setSelectedWallet(null);
|
|
2854
2816
|
setShowToast(false);
|
|
2855
|
-
}, className: "text-neutral-500 hover:text-white transition-colors outline-none" }, /* @__PURE__ */ import_react47.default.createElement(import_react48.HugeiconsIcon, { icon: import_core_free_icons14.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react47.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 pt-2" }, /* @__PURE__ */ import_react47.default.createElement("div", { className: "flex flex-col items-center justify-center mb-6" }, /* @__PURE__ */ import_react47.default.createElement(WalletLogo, { src: selectedWallet.logoSrc, alt: selectedWallet.name, sizeClass: "w-14 h-14 mb-4" }), /* @__PURE__ */ import_react47.default.createElement("h2", { className: `text-2xl text-white mb-2 transition-all duration-300 font-medium ${hideBalanceAmounts ? "blur-[6px] opacity-40 select-none" : ""}` }, selectedWallet.balance, " ", selectedWallet.currency), /* @__PURE__ */ import_react47.default.createElement("span", { className: "text-[9px] tracking-widest text-neutral-400 px-4 py-1.5 rounded-full
|
|
2817
|
+
}, className: "text-neutral-500 hover:text-white transition-colors outline-none" }, /* @__PURE__ */ import_react47.default.createElement(import_react48.HugeiconsIcon, { icon: import_core_free_icons14.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react47.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 pt-2" }, /* @__PURE__ */ import_react47.default.createElement("div", { className: "flex flex-col items-center justify-center mb-6" }, /* @__PURE__ */ import_react47.default.createElement(WalletLogo, { src: selectedWallet.logoSrc, alt: selectedWallet.name, sizeClass: "w-14 h-14 mb-4" }), /* @__PURE__ */ import_react47.default.createElement("h2", { className: `text-2xl text-white mb-2 transition-all duration-300 font-medium ${hideBalanceAmounts ? "blur-[6px] opacity-40 select-none" : ""}` }, selectedWallet.balance, " ", selectedWallet.currency), /* @__PURE__ */ import_react47.default.createElement("span", { className: "text-[9px] tracking-widest text-neutral-400 px-4 py-1.5 rounded-full border border-neutral-800 uppercase mt-1" }, selectedWallet.network, " NETWORK")), renderQrCode && /* @__PURE__ */ import_react47.default.createElement("div", { className: "w-full flex justify-center mb-6" }, renderQrCode(selectedWallet)), /* @__PURE__ */ import_react47.default.createElement("div", { className: "mb-5" }, /* @__PURE__ */ import_react47.default.createElement(
|
|
2856
2818
|
Banner,
|
|
2857
2819
|
{
|
|
2858
2820
|
type: "warning",
|
|
@@ -2861,43 +2823,18 @@ var UniversalWalletPage = ({
|
|
|
2861
2823
|
isDismissible: false
|
|
2862
2824
|
}
|
|
2863
2825
|
)), /* @__PURE__ */ import_react47.default.createElement("div", { className: "grid grid-cols-1 gap-y-6 gap-x-4 mb-10" }, /* @__PURE__ */ import_react47.default.createElement("div", null, /* @__PURE__ */ import_react47.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-500 block mb-2" }, "Wallet Address"), /* @__PURE__ */ import_react47.default.createElement("span", { className: "text-[13px] text-white break-all font-medium" }, selectedWallet.address)), /* @__PURE__ */ import_react47.default.createElement("div", null, /* @__PURE__ */ import_react47.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-500 block mb-2" }, "Wallet Name"), /* @__PURE__ */ import_react47.default.createElement("span", { className: "text-[13px] text-white" }, selectedWallet.name))), /* @__PURE__ */ import_react47.default.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ import_react47.default.createElement(
|
|
2864
|
-
|
|
2826
|
+
ThreeDActionButton,
|
|
2865
2827
|
{
|
|
2866
|
-
disabled: isGeneratingStatement,
|
|
2867
2828
|
onClick: () => onDownloadPayId && onDownloadPayId(selectedWallet),
|
|
2868
|
-
|
|
2869
|
-
|
|
2870
|
-
transition-all duration-150 select-none outline-none
|
|
2871
|
-
${isGeneratingStatement ? "opacity-50 cursor-not-allowed" : "active:translate-y-0.5"}
|
|
2872
|
-
`,
|
|
2873
|
-
style: { boxShadow: isGeneratingStatement ? disabledShadow : primaryBaseShadow },
|
|
2874
|
-
onMouseEnter: (e) => {
|
|
2875
|
-
if (isGeneratingStatement) return;
|
|
2876
|
-
e.currentTarget.style.boxShadow = primaryHoverShadow;
|
|
2877
|
-
e.currentTarget.style.transform = "translateY(-1px)";
|
|
2878
|
-
},
|
|
2879
|
-
onMouseLeave: (e) => {
|
|
2880
|
-
if (isGeneratingStatement) return;
|
|
2881
|
-
e.currentTarget.style.boxShadow = primaryBaseShadow;
|
|
2882
|
-
e.currentTarget.style.transform = "translateY(0px)";
|
|
2883
|
-
},
|
|
2884
|
-
onMouseDown: (e) => {
|
|
2885
|
-
if (isGeneratingStatement) return;
|
|
2886
|
-
e.currentTarget.style.boxShadow = primaryActiveShadow;
|
|
2887
|
-
e.currentTarget.style.transform = "translateY(2px)";
|
|
2888
|
-
},
|
|
2889
|
-
onMouseUp: (e) => {
|
|
2890
|
-
if (isGeneratingStatement) return;
|
|
2891
|
-
e.currentTarget.style.transform = "translateY(-1px)";
|
|
2892
|
-
}
|
|
2829
|
+
isLoading: isGeneratingStatement,
|
|
2830
|
+
className: "w-full py-3 text-[13px]"
|
|
2893
2831
|
},
|
|
2894
|
-
|
|
2895
|
-
/* @__PURE__ */ import_react47.default.createElement("span", { className: "relative z-10 flex items-center justify-center gap-2 text-[13px] tracking-wide font-medium" }, isGeneratingStatement ? /* @__PURE__ */ import_react47.default.createElement(import_react48.HugeiconsIcon, { icon: import_core_free_icons14.Loading03Icon, size: 16, className: "animate-spin text-white" }) : "Generate Statement")
|
|
2832
|
+
"Generate Statement"
|
|
2896
2833
|
), /* @__PURE__ */ import_react47.default.createElement(
|
|
2897
2834
|
"button",
|
|
2898
2835
|
{
|
|
2899
2836
|
onClick: () => handleCopy(selectedWallet),
|
|
2900
|
-
className: "w-full flex items-center justify-center py-2 rounded-full border border-neutral-700 text-white hover:bg-neutral-800 outline-none text-[13px] tracking-wide"
|
|
2837
|
+
className: "w-full flex items-center justify-center py-2.5 rounded-full border border-neutral-700 text-white hover:bg-neutral-800 outline-none text-[13px] tracking-wide"
|
|
2901
2838
|
},
|
|
2902
2839
|
"Copy Wallet Address"
|
|
2903
2840
|
))))));
|
|
@@ -3093,7 +3030,7 @@ var ContentGridBlock = ({
|
|
|
3093
3030
|
middleBottomCard,
|
|
3094
3031
|
rightCards
|
|
3095
3032
|
}) => {
|
|
3096
|
-
return /* @__PURE__ */ import_react55.default.createElement("section", { className: "w-full flex justify-center z-10 relative bg-black" }, /* @__PURE__ */ import_react55.default.createElement("div", { className: "max-w-300 w-full px-4 md:px-8 flex flex-col gap-12" }, /* @__PURE__ */ import_react55.default.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-6 w-full" }, /* @__PURE__ */ import_react55.default.createElement("h2", { className: "text-3xl tracking-tight text-white leading-[1.15] max-w-lg" }, header.titlePrefix, " ", /* @__PURE__ */ import_react55.default.createElement("span", { className: "gradient-text" }, header.highlightText))), /* @__PURE__ */ import_react55.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6" }, /* @__PURE__ */ import_react55.default.createElement("div", { className: "flex flex-col justify-end" }, /* @__PURE__ */ import_react55.default.createElement("div", { className: "bg-neutral-900 rounded-3xl p-8 flex flex-col h-80" }, /* @__PURE__ */ import_react55.default.createElement("p", { className: "text-[17px] text-white leading-snug mb-4" }, leftCard.mainText), leftCard.tag && /* @__PURE__ */ import_react55.default.createElement("span", { className: "mb-auto text-[11px] text-neutral-400 tracking-widest" }, leftCard.tag), /* @__PURE__ */ import_react55.default.createElement("div", { className: "flex items-center justify-between mt-8" }, /* @__PURE__ */ import_react55.default.createElement("div", null, /* @__PURE__ */ import_react55.default.createElement("h4", { className: "text-[15px] text-white" }, leftCard.title), /* @__PURE__ */ import_react55.default.createElement("p", { className: "text-[13px] text-neutral-400" }, leftCard.subtitle)), /* @__PURE__ */ import_react55.default.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative
|
|
3033
|
+
return /* @__PURE__ */ import_react55.default.createElement("section", { className: "w-full flex justify-center z-10 relative bg-black" }, /* @__PURE__ */ import_react55.default.createElement("div", { className: "max-w-300 w-full px-4 md:px-8 flex flex-col gap-12" }, /* @__PURE__ */ import_react55.default.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-6 w-full" }, /* @__PURE__ */ import_react55.default.createElement("h2", { className: "text-3xl tracking-tight text-white leading-[1.15] max-w-lg" }, header.titlePrefix, " ", /* @__PURE__ */ import_react55.default.createElement("span", { className: "gradient-text" }, header.highlightText))), /* @__PURE__ */ import_react55.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6" }, /* @__PURE__ */ import_react55.default.createElement("div", { className: "flex flex-col justify-end" }, /* @__PURE__ */ import_react55.default.createElement("div", { className: "bg-neutral-900 rounded-3xl p-8 flex flex-col h-80" }, /* @__PURE__ */ import_react55.default.createElement("p", { className: "text-[17px] text-white leading-snug mb-4" }, leftCard.mainText), leftCard.tag && /* @__PURE__ */ import_react55.default.createElement("span", { className: "mb-auto text-[11px] text-neutral-400 tracking-widest" }, leftCard.tag), /* @__PURE__ */ import_react55.default.createElement("div", { className: "flex items-center justify-between mt-8" }, /* @__PURE__ */ import_react55.default.createElement("div", null, /* @__PURE__ */ import_react55.default.createElement("h4", { className: "text-[15px] text-white" }, leftCard.title), /* @__PURE__ */ import_react55.default.createElement("p", { className: "text-[13px] text-neutral-400" }, leftCard.subtitle)), /* @__PURE__ */ import_react55.default.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ import_react55.default.createElement(import_image11.default, { src: leftCard.thumbnailSrc, alt: leftCard.title, fill: true, className: "object-cover" }))))), /* @__PURE__ */ import_react55.default.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ import_react55.default.createElement("div", { className: "border border-neutral-800 rounded-3xl p-8 flex flex-col relative h-75" }, /* @__PURE__ */ import_react55.default.createElement("div", { className: "absolute top-6 right-6 flex flex-col items-end gap-1" }, /* @__PURE__ */ import_react55.default.createElement("span", { className: "text-[11px] text-neutral-500 tracking-wide" }, middleTopCard.topRightLabel), /* @__PURE__ */ import_react55.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react55.default.createElement("div", { className: "flex -space-x-2" }, middleTopCard.topRightAvatars.map((src, i) => /* @__PURE__ */ import_react55.default.createElement("div", { key: i, className: "w-7 h-7 rounded-full border-2 border-black overflow-hidden relative z-10" }, /* @__PURE__ */ import_react55.default.createElement(import_image11.default, { src, alt: "Avatar", fill: true, className: "object-cover", sizes: "28px" })))), /* @__PURE__ */ import_react55.default.createElement("span", { className: "text-sm text-neutral-400" }, middleTopCard.topRightCount))), /* @__PURE__ */ import_react55.default.createElement("div", { className: "grow flex flex-col justify-center items-center py-6" }, /* @__PURE__ */ import_react55.default.createElement("div", { className: "px-5 py-2 rounded-full bg-neutral-900/50 border border-neutral-800 text-[13px] text-neutral-400" }, middleTopCard.badgePrefix, " ", /* @__PURE__ */ import_react55.default.createElement("span", { className: "text-white" }, middleTopCard.badgeHighlight), middleTopCard.badgeSuffix)), /* @__PURE__ */ import_react55.default.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ import_react55.default.createElement("p", { className: "text-[11px] text-neutral-500 tracking-wide mb-1" }, middleTopCard.title), /* @__PURE__ */ import_react55.default.createElement("p", { className: "text-[14px] text-white leading-snug pr-4" }, middleTopCard.description))), /* @__PURE__ */ import_react55.default.createElement("div", { className: "border border-neutral-800 rounded-3xl p-8 flex flex-col h-80" }, /* @__PURE__ */ import_react55.default.createElement("div", { className: "flex justify-between items-start mb-6" }, /* @__PURE__ */ import_react55.default.createElement("div", null, /* @__PURE__ */ import_react55.default.createElement("h4", { className: "text-[15px] text-white leading-tight" }, middleBottomCard.title), /* @__PURE__ */ import_react55.default.createElement("p", { className: "text-[13px] text-neutral-500" }, middleBottomCard.subtitle)), /* @__PURE__ */ import_react55.default.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ import_react55.default.createElement(import_image11.default, { src: middleBottomCard.thumbnailSrc, alt: middleBottomCard.title, fill: true, className: "object-cover" }))), /* @__PURE__ */ import_react55.default.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ import_react55.default.createElement("p", { className: "text-[16px] text-white leading-snug mb-4" }, middleBottomCard.mainText), middleBottomCard.tag && /* @__PURE__ */ import_react55.default.createElement("span", { className: "text-[11px] text-neutral-500 tracking-widest" }, middleBottomCard.tag)))), /* @__PURE__ */ import_react55.default.createElement("div", { className: "flex flex-col gap-6" }, rightCards.slice(0, 2).map((card, idx) => /* @__PURE__ */ import_react55.default.createElement("div", { key: idx, className: "relative w-full h-80 bg-neutral-900 text-white rounded-3xl overflow-hidden group" }, /* @__PURE__ */ import_react55.default.createElement("div", { className: "absolute inset-0 z-20 pointer-events-none" }), /* @__PURE__ */ import_react55.default.createElement("div", { className: "absolute inset-0 z-30 p-6 flex flex-col justify-end text-white" }, /* @__PURE__ */ import_react55.default.createElement("p", { className: "text-[14px] leading-snug mb-3 pr-2 text-white/90" }, card.mainText), card.tag && /* @__PURE__ */ import_react55.default.createElement("span", { className: "mb-4 text-[11px] text-white/50 tracking-widest" }, card.tag), /* @__PURE__ */ import_react55.default.createElement("div", { className: "pt-3" }, /* @__PURE__ */ import_react55.default.createElement("h4", { className: "text-[15px] tracking-wide" }, card.title), /* @__PURE__ */ import_react55.default.createElement("p", { className: "text-[13px] text-white/60" }, card.subtitle)))))))));
|
|
3097
3034
|
};
|
|
3098
3035
|
|
|
3099
3036
|
// src/components/ManagedProjectsBlock.tsx
|
|
@@ -3103,7 +3040,7 @@ var GridSection = ({
|
|
|
3103
3040
|
children,
|
|
3104
3041
|
isLast = false,
|
|
3105
3042
|
className = "py-8 md:py-10"
|
|
3106
|
-
}) => /* @__PURE__ */ import_react57.default.createElement("div", { className: `relative px-5 md:px-12 ${className} ${!isLast ? "
|
|
3043
|
+
}) => /* @__PURE__ */ import_react57.default.createElement("div", { className: `relative px-5 md:px-12 ${className} ${!isLast ? "" : ""}` }, children);
|
|
3107
3044
|
var ManagedProjectsBlock = ({
|
|
3108
3045
|
tagline,
|
|
3109
3046
|
title,
|
package/dist/index.mjs
CHANGED
|
@@ -108,7 +108,7 @@ var ThreeDButton = ({
|
|
|
108
108
|
{
|
|
109
109
|
href,
|
|
110
110
|
onClick,
|
|
111
|
-
className: `relative inline-flex items-center justify-center py-2.5 px-8 rounded-full text-neutral-900 text-xs
|
|
111
|
+
className: `relative inline-flex items-center justify-center py-2.5 px-8 rounded-full text-neutral-900 text-xs transition-all duration-150 select-none group overflow-hidden ${className}`,
|
|
112
112
|
style: {
|
|
113
113
|
backgroundImage: silverBg,
|
|
114
114
|
backgroundSize: "cover",
|
|
@@ -165,7 +165,7 @@ var ThreeDActionButton = ({
|
|
|
165
165
|
"aria-label": ariaLabel,
|
|
166
166
|
className: `
|
|
167
167
|
relative inline-flex items-center justify-center py-2.5 px-8 rounded-full
|
|
168
|
-
text-neutral-900 text-xs tracking-widest
|
|
168
|
+
text-neutral-900 text-xs tracking-widest
|
|
169
169
|
transition-all duration-150 select-none group outline-none overflow-hidden
|
|
170
170
|
${isInteractionDisabled ? "opacity-70 cursor-not-allowed" : "active:translate-y-0.5"}
|
|
171
171
|
${className}
|
|
@@ -923,7 +923,7 @@ var HeroSection = ({
|
|
|
923
923
|
className: "w-full sm:w-60 inline-flex items-center justify-center text-[11px] tracking-widest rounded-full px-8 py-3 bg-black/40 backdrop-blur-md text-center text-white text-xs hover:bg-neutral-800 hover:border-neutral-500 outline-none transition-all drop-shadow-lg"
|
|
924
924
|
},
|
|
925
925
|
secondaryCtaText
|
|
926
|
-
)), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ React8.createElement("div", { className: "w-full flex flex-col items-center mt-4" }, appsText && /* @__PURE__ */ React8.createElement("p", { className: "text-[9px] tracking-[0.2em] text-neutral-300 mb-5
|
|
926
|
+
)), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ React8.createElement("div", { className: "w-full flex flex-col items-center mt-4" }, appsText && /* @__PURE__ */ React8.createElement("p", { className: "text-[9px] tracking-[0.2em] text-neutral-300 mb-5 " }, appsText), /* @__PURE__ */ React8.createElement("div", { className: "flex flex-wrap justify-center items-center gap-6 opacity-90" }, appLogos.map((logo, idx) => /* @__PURE__ */ React8.createElement("div", { key: idx, className: "relative h-6 w-6 sm:h-8 sm:w-8 flex items-center justify-center cursor-default filter invert" }, /* @__PURE__ */ React8.createElement(
|
|
927
927
|
Image2,
|
|
928
928
|
{
|
|
929
929
|
src: logo.src,
|
|
@@ -1337,7 +1337,7 @@ var ManagedPricingBlock = ({
|
|
|
1337
1337
|
Link5,
|
|
1338
1338
|
{
|
|
1339
1339
|
href: plan.ctaHref,
|
|
1340
|
-
className: "w-full py-
|
|
1340
|
+
className: "w-full py-2.5 px-5 rounded-full border border-neutral-700 text-center text-white text-xs hover:bg-neutral-800 hover:border-neutral-600 transition-colors mb-6 outline-none block"
|
|
1341
1341
|
},
|
|
1342
1342
|
plan.ctaText
|
|
1343
1343
|
),
|
|
@@ -1430,7 +1430,7 @@ var ManagedNotFoundBlock = ({
|
|
|
1430
1430
|
Link6,
|
|
1431
1431
|
{
|
|
1432
1432
|
href: backLinkHref,
|
|
1433
|
-
className: "inline-flex items-center justify-center px-8 py-
|
|
1433
|
+
className: "inline-flex items-center justify-center px-8 py-2.5 border border-neutral-800 text-white hover:bg-neutral-800 transition-colors rounded-full text-[11px] tracking-widest outline-none"
|
|
1434
1434
|
},
|
|
1435
1435
|
backLinkText
|
|
1436
1436
|
)));
|
|
@@ -1547,7 +1547,7 @@ var ManagedNewsletterSplitBlock = ({
|
|
|
1547
1547
|
ThreeDButton,
|
|
1548
1548
|
{
|
|
1549
1549
|
href: ctaHref,
|
|
1550
|
-
className: "py-
|
|
1550
|
+
className: "py-2.5 tracking-widest text-[11px]"
|
|
1551
1551
|
},
|
|
1552
1552
|
ctaText
|
|
1553
1553
|
)))))));
|
|
@@ -1679,7 +1679,7 @@ var PortfolioHero = ({
|
|
|
1679
1679
|
ThreeDButton,
|
|
1680
1680
|
{
|
|
1681
1681
|
href: primaryCtaHref,
|
|
1682
|
-
className: "py-
|
|
1682
|
+
className: "py-2.5 tracking-widest text-[11px]"
|
|
1683
1683
|
},
|
|
1684
1684
|
primaryCtaText
|
|
1685
1685
|
)), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ React21.createElement(
|
|
@@ -1817,7 +1817,7 @@ var UniversalSidebar = ({
|
|
|
1817
1817
|
"div",
|
|
1818
1818
|
{
|
|
1819
1819
|
onClick: handleCopyWallet,
|
|
1820
|
-
className: "flex items-center gap-2 bg-neutral-900
|
|
1820
|
+
className: "flex items-center gap-2 bg-neutral-900 rounded-full p-1 pr-3 cursor-pointer hover:bg-neutral-800 transition-colors",
|
|
1821
1821
|
title: "Copy Address"
|
|
1822
1822
|
},
|
|
1823
1823
|
web3Avatar ? /* @__PURE__ */ React23.createElement("img", { src: web3Avatar, alt: "Avatar", className: "w-6 h-6 rounded-full bg-neutral-800 object-cover shrink-0" }) : /* @__PURE__ */ React23.createElement("div", { className: "w-6 h-6 rounded-full bg-neutral-800 flex items-center justify-center text-[9px] text-white shrink-0" }, userInitials.substring(0, 2)),
|
|
@@ -1829,7 +1829,7 @@ var UniversalSidebar = ({
|
|
|
1829
1829
|
setShowNotifDialog(true);
|
|
1830
1830
|
setSelectedNotif(null);
|
|
1831
1831
|
},
|
|
1832
|
-
className: "relative w-8 h-8 shrink-0 bg-neutral-900
|
|
1832
|
+
className: "relative w-8 h-8 shrink-0 bg-neutral-900 rounded-full flex items-center justify-center text-neutral-400 hover:text-white hover:bg-neutral-800 transition-all duration-300 outline-none"
|
|
1833
1833
|
},
|
|
1834
1834
|
/* @__PURE__ */ React23.createElement(HugeiconsIcon11, { icon: Notification01Icon, size: 14 }),
|
|
1835
1835
|
unreadNotificationsCount > 0 && /* @__PURE__ */ React23.createElement("span", { className: "absolute top-2 right-2.5 w-2 h-2 bg-blue-500 rounded-full border border-neutral-900" })
|
|
@@ -1837,16 +1837,16 @@ var UniversalSidebar = ({
|
|
|
1837
1837
|
Link8,
|
|
1838
1838
|
{
|
|
1839
1839
|
href: backUrl,
|
|
1840
|
-
className: "w-10 h-10 shrink-0 bg-neutral-900
|
|
1840
|
+
className: "w-10 h-10 shrink-0 bg-neutral-900 rounded-full flex items-center justify-center text-neutral-400 hover:text-white hover:bg-neutral-800 transition-all duration-300 outline-none",
|
|
1841
1841
|
"aria-label": "Go Back"
|
|
1842
1842
|
},
|
|
1843
1843
|
/* @__PURE__ */ React23.createElement(HugeiconsIcon11, { icon: ArrowLeft01Icon2, size: 18 })
|
|
1844
1844
|
));
|
|
1845
|
-
return /* @__PURE__ */ React23.createElement(React23.Fragment, null, /* @__PURE__ */ React23.createElement("div", { className: "md:hidden fixed top-0 left-0 w-full h-16 bg-black/50 backdrop-blur-md z-40 flex items-center justify-between px-4
|
|
1845
|
+
return /* @__PURE__ */ React23.createElement(React23.Fragment, null, /* @__PURE__ */ React23.createElement("div", { className: "md:hidden fixed top-0 left-0 w-full h-16 bg-black/50 backdrop-blur-md z-40 flex items-center justify-between px-4 " }, /* @__PURE__ */ React23.createElement(
|
|
1846
1846
|
"button",
|
|
1847
1847
|
{
|
|
1848
1848
|
onClick: openMobile,
|
|
1849
|
-
className: `w-10 h-10 bg-neutral-900
|
|
1849
|
+
className: `w-10 h-10 bg-neutral-900 rounded-full flex items-center justify-center text-white transition-all duration-300 outline-none ${isMobileOpen ? "opacity-0 pointer-events-none scale-90" : "opacity-100 scale-100"}`,
|
|
1850
1850
|
"aria-label": "Open Menu"
|
|
1851
1851
|
},
|
|
1852
1852
|
/* @__PURE__ */ React23.createElement(HugeiconsIcon11, { icon: SidebarLeft01Icon, size: 18 })
|
|
@@ -1860,13 +1860,13 @@ var UniversalSidebar = ({
|
|
|
1860
1860
|
"aside",
|
|
1861
1861
|
{
|
|
1862
1862
|
className: `
|
|
1863
|
-
fixed md:relative rounded-2xl top-4 md:top-0 md:my-4 left-4 md:left-0 md:ml-4 h-[calc(100dvh-2rem)] bg-neutral-900
|
|
1863
|
+
fixed md:relative rounded-2xl top-4 md:top-0 md:my-4 left-4 md:left-0 md:ml-4 h-[calc(100dvh-2rem)] bg-neutral-900
|
|
1864
1864
|
transition-all duration-300 ease-in-out shrink-0 flex flex-col z-100 md:z-50
|
|
1865
1865
|
${isMobileOpen ? "translate-x-0" : "translate-x-[-120%] md:translate-x-0"}
|
|
1866
1866
|
${isCollapsed ? "md:w-16 w-64" : "w-64"}
|
|
1867
1867
|
`
|
|
1868
1868
|
},
|
|
1869
|
-
/* @__PURE__ */ React23.createElement("div", { className: `flex items-center shrink-0 p-5
|
|
1869
|
+
/* @__PURE__ */ React23.createElement("div", { className: `flex items-center shrink-0 p-5 ${isCollapsed && !isMobileOpen ? "justify-center min-h-18" : "justify-between"}` }, /* @__PURE__ */ React23.createElement("div", { className: `flex items-center gap-3 text-left ${!isCollapsed || isMobileOpen ? "w-full" : ""}` }, /* @__PURE__ */ React23.createElement("div", { className: "w-9 h-9 border border-neutral-700 rounded-full flex items-center justify-center shrink-0" }, /* @__PURE__ */ React23.createElement("h3", { className: "text-[10px] text-white tracking-wider" }, userInitials.substring(0, 2))), (!isCollapsed || isMobileOpen) && /* @__PURE__ */ React23.createElement("div", { className: "flex flex-col justify-center min-w-0 pr-2 flex-1" }, /* @__PURE__ */ React23.createElement("span", { className: "text-[13px] text-white leading-none truncate tracking-wide mb-1" }, userName), userTag && /* @__PURE__ */ React23.createElement("span", { className: "text-[9px] text-neutral-500 truncate tracking-[0.2em] leading-none " }, userTag))), /* @__PURE__ */ React23.createElement("div", { className: "md:hidden flex shrink-0" }, /* @__PURE__ */ React23.createElement(
|
|
1870
1870
|
"button",
|
|
1871
1871
|
{
|
|
1872
1872
|
onClick: closeMobile,
|
|
@@ -1898,7 +1898,7 @@ var UniversalSidebar = ({
|
|
|
1898
1898
|
(!isCollapsed || isMobileOpen) && /* @__PURE__ */ React23.createElement("span", { className: "text-xs tracking-wide truncate" }, item.name)
|
|
1899
1899
|
);
|
|
1900
1900
|
})),
|
|
1901
|
-
/* @__PURE__ */ React23.createElement("div", { className: "p-4 shrink-0 flex flex-col gap-2
|
|
1901
|
+
/* @__PURE__ */ React23.createElement("div", { className: "p-4 shrink-0 flex flex-col gap-2" }, showLogoutAction && /* @__PURE__ */ React23.createElement("div", { className: `flex gap-2 px-1 pb-2 ${isCollapsed && !isMobileOpen ? "flex-col items-center" : "items-center"}` }, /* @__PURE__ */ React23.createElement(
|
|
1902
1902
|
"button",
|
|
1903
1903
|
{
|
|
1904
1904
|
onClick: () => setShowLogoutDialog(true),
|
|
@@ -1915,7 +1915,7 @@ var UniversalSidebar = ({
|
|
|
1915
1915
|
/* @__PURE__ */ React23.createElement(HugeiconsIcon11, { icon: SidebarLeft01Icon, size: 18, className: "shrink-0 text-neutral-500" }),
|
|
1916
1916
|
!isCollapsed && /* @__PURE__ */ React23.createElement("span", { className: "text-xs " }, "Collapse")
|
|
1917
1917
|
)))
|
|
1918
|
-
), showNotifDialog && /* @__PURE__ */ React23.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React23.createElement("div", { className: "absolute inset-0 bg-black/60", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ React23.createElement("div", { className: "relative w-full max-w-sm bg-neutral-900 0 rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 h-[80vh] max-h-[80vh]" }, /* @__PURE__ */ React23.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, selectedNotif ? /* @__PURE__ */ React23.createElement("button", { onClick: () => setSelectedNotif(null), className: "text-neutral-500 hover:text-white transition-colors outline-none flex items-center gap-2 text-[11px] tracking-widest " }, /* @__PURE__ */ React23.createElement(HugeiconsIcon11, { icon: ArrowLeft01Icon2, size: 14 }), " Back") : /* @__PURE__ */ React23.createElement("h3", { className: "text-[15px] text-white tracking-tight " }, "Notifications"), /* @__PURE__ */ React23.createElement("button", { onClick: () => setShowNotifDialog(false), className: "text-neutral-500 hover:text-white transition-colors outline-none" }, /* @__PURE__ */ React23.createElement(HugeiconsIcon11, { icon: CancelCircleIcon, size: 18 }))), /* @__PURE__ */ React23.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, selectedNotif ? /* @__PURE__ */ React23.createElement("div", { className: "p-4 text-left" }, /* @__PURE__ */ React23.createElement("h4", { className: "text-[14px] text-white mb-1" }, selectedNotif.title), /* @__PURE__ */ React23.createElement("span", { className: "text-[10px] text-neutral-500 tracking-widest mb-4 block" }, formatNotifDate(selectedNotif.createdAt)), /* @__PURE__ */ React23.createElement("p", { className: "text-[12px] text-neutral-400 leading-relaxed whitespace-pre-wrap" }, selectedNotif.message)) : /* @__PURE__ */ React23.createElement("div", { className: "flex flex-col
|
|
1918
|
+
), showNotifDialog && /* @__PURE__ */ React23.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React23.createElement("div", { className: "absolute inset-0 bg-black/60", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ React23.createElement("div", { className: "relative w-full max-w-sm bg-neutral-900 0 rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 h-[80vh] max-h-[80vh]" }, /* @__PURE__ */ React23.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, selectedNotif ? /* @__PURE__ */ React23.createElement("button", { onClick: () => setSelectedNotif(null), className: "text-neutral-500 hover:text-white transition-colors outline-none flex items-center gap-2 text-[11px] tracking-widest " }, /* @__PURE__ */ React23.createElement(HugeiconsIcon11, { icon: ArrowLeft01Icon2, size: 14 }), " Back") : /* @__PURE__ */ React23.createElement("h3", { className: "text-[15px] text-white tracking-tight " }, "Notifications"), /* @__PURE__ */ React23.createElement("button", { onClick: () => setShowNotifDialog(false), className: "text-neutral-500 hover:text-white transition-colors outline-none" }, /* @__PURE__ */ React23.createElement(HugeiconsIcon11, { icon: CancelCircleIcon, size: 18 }))), /* @__PURE__ */ React23.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, selectedNotif ? /* @__PURE__ */ React23.createElement("div", { className: "p-4 text-left" }, /* @__PURE__ */ React23.createElement("h4", { className: "text-[14px] text-white mb-1" }, selectedNotif.title), /* @__PURE__ */ React23.createElement("span", { className: "text-[10px] text-neutral-500 tracking-widest mb-4 block" }, formatNotifDate(selectedNotif.createdAt)), /* @__PURE__ */ React23.createElement("p", { className: "text-[12px] text-neutral-400 leading-relaxed whitespace-pre-wrap" }, selectedNotif.message)) : /* @__PURE__ */ React23.createElement("div", { className: "flex flex-col " }, notifications?.length === 0 ? /* @__PURE__ */ React23.createElement("div", { className: "p-8 text-center text-xs text-neutral-500" }, "You have no notifications.") : notifications?.map((notif) => /* @__PURE__ */ React23.createElement(
|
|
1919
1919
|
"div",
|
|
1920
1920
|
{
|
|
1921
1921
|
key: notif.id,
|
|
@@ -1923,7 +1923,7 @@ var UniversalSidebar = ({
|
|
|
1923
1923
|
setSelectedNotif(notif);
|
|
1924
1924
|
onNotificationClick?.(notif);
|
|
1925
1925
|
},
|
|
1926
|
-
className: "p-3 flex items-start gap-3 hover:bg-neutral-800
|
|
1926
|
+
className: "p-3 flex items-start gap-3 hover:bg-neutral-800 cursor-pointer transition-colors"
|
|
1927
1927
|
},
|
|
1928
1928
|
/* @__PURE__ */ React23.createElement("div", { className: "mt-1.5 shrink-0" }, !notif.isRead ? /* @__PURE__ */ React23.createElement("div", { className: "w-1.5 h-1.5 bg-blue-500 rounded-full" }) : /* @__PURE__ */ React23.createElement("div", { className: "w-1.5 h-1.5 bg-transparent" })),
|
|
1929
1929
|
/* @__PURE__ */ React23.createElement("div", { className: "flex-1 min-w-0 text-left" }, /* @__PURE__ */ React23.createElement("h5", { className: `text-[12px] truncate ${notif.isRead ? "text-neutral-400" : "text-white"}` }, notif.title), /* @__PURE__ */ React23.createElement("p", { className: "text-[11px] text-neutral-500 truncate mt-0.5" }, notif.message), /* @__PURE__ */ React23.createElement("span", { className: "text-[9px] text-neutral-600 tracking-widest mt-2 block" }, formatNotifDate(notif.createdAt)))
|
|
@@ -2465,10 +2465,6 @@ var UniversalTransactionPage = ({
|
|
|
2465
2465
|
}
|
|
2466
2466
|
};
|
|
2467
2467
|
const isListLoading = isLoading || isTyping;
|
|
2468
|
-
const silverBg = `linear-gradient(110deg, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0) 35%, rgba(0,0,0,0.1) 60%, rgba(255,255,255,0.6) 80%, rgba(0,0,0,0.2) 100%), url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc2MDAnIGhlaWdodD0nODAnPjxmaWx0ZXIgaWQ9J2JydXNoZWQnIHg9JzAlJyB5PScwJScgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJSc+PGZlVHVyYnVsZW5jZSB0eXBlPSdmcmFjdGFsTm9pc2UnIGJhc2VGcmVxdWVuY3k9JzAuMDA1IDAuOCcgbnVtT2N0YXZlcz0nNCcgc2VlZD0nNScgcmVzdWx0PSdub2lzZScvPjxmZUNvbG9yTWF0cml4IHR5cGU9J3NhdHVyYXRlJyB2YWx1ZXM9JzAnIHJlc3VsdD0nbW9ubycvPjxmZUNvbXBvbmVudFRyYW5zZmVyIHJlc3VsdD0nYWRqdXN0ZWQnPjxmZUZ1bmNSIHR5cGU9J2xpbmVhcicgc2xvcGU9JzAuNCcgaW50ZXJjZXB0PScwLjMnLz48ZmVGdW5jRyB0eXBlPSdsaW5lYXInIHNsb3BlPScwLjQnIGludGVyY2VwdD0nMC4zJy8+PGZlRnVuY0IgdHlwZT0nbGluZWFyJyBzbG9wZT0nMC40JyBpbnRlcmNlcHQ9JzAuMycvPjxmZUZ1bmNBIHR5cGU9J2xpbmVhcicgc2xvcGU9JzAuMTUnIGludGVyY2VwdD0nMCcvPjwvZmVDb21wb25lbnRUcmFuc2Zlcj48L2ZpbHRlcj48cmVjdCB3aWR0aD0nMTAwJScgaGVpZ2h0PScxMDAlJyBmaWxsPScjZDFkNWRiJy8+PHJlY3Qgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJScgZmlsdGVyPSd1cmwoI2JydXNoZWQpJyBvcGFjaXR5PScwLjgnLz48L3N2Zz4=")`;
|
|
2469
|
-
const silverShadowBase = "inset 0 1px 2px rgba(255,255,255,1), inset 0 -2px 3px rgba(0,0,0,0.3), 0 4px 10px rgba(0,0,0,0.5)";
|
|
2470
|
-
const silverShadowHover = "inset 0 1px 2px rgba(255,255,255,1), inset 0 -2px 3px rgba(0,0,0,0.3), 0 6px 14px rgba(0,0,0,0.7)";
|
|
2471
|
-
const silverShadowActive = "inset 0 2px 4px rgba(0,0,0,0.4), inset 0 -1px 2px rgba(255,255,255,0.5), 0 2px 4px rgba(0,0,0,0.3)";
|
|
2472
2468
|
return /* @__PURE__ */ React28.createElement("div", { className: "flex flex-col gap-6 animate-in max-w-5xl fade-in duration-300" }, !hideControls && /* @__PURE__ */ React28.createElement("div", { className: "flex flex-col sm:flex-row items-center justify-between gap-4 w-full" }, /* @__PURE__ */ React28.createElement("div", { className: "relative w-full sm:w-96" }, /* @__PURE__ */ React28.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React28.createElement(HugeiconsIcon16, { icon: Search01Icon, size: 16, className: "text-neutral-500" })), /* @__PURE__ */ React28.createElement(
|
|
2473
2469
|
"input",
|
|
2474
2470
|
{
|
|
@@ -2476,13 +2472,13 @@ var UniversalTransactionPage = ({
|
|
|
2476
2472
|
placeholder: "Search reference or amount...",
|
|
2477
2473
|
value: localSearchQuery,
|
|
2478
2474
|
onChange: (e) => setLocalSearchQuery(e.target.value),
|
|
2479
|
-
className: "w-full pl-10 pr-4 py-2
|
|
2475
|
+
className: "w-full pl-10 pr-4 py-2 border border-neutral-800 rounded-full text-[13px] text-white placeholder-neutral-500 outline-none transition-colors focus:border-neutral-600"
|
|
2480
2476
|
}
|
|
2481
2477
|
)), /* @__PURE__ */ React28.createElement("div", { className: "flex items-center gap-3 w-full sm:w-auto overflow-x-auto pb-1 sm:pb-0" }, /* @__PURE__ */ React28.createElement(
|
|
2482
2478
|
"button",
|
|
2483
2479
|
{
|
|
2484
2480
|
onClick: () => setIsDirectionModalOpen(true),
|
|
2485
|
-
className: "flex items-center gap-2 whitespace-nowrap
|
|
2481
|
+
className: "flex items-center gap-2 whitespace-nowrap border border-neutral-800 px-5 py-2 rounded-full text-[12px] text-neutral-400 hover:text-white hover:bg-neutral-800 transition-colors outline-none"
|
|
2486
2482
|
},
|
|
2487
2483
|
/* @__PURE__ */ React28.createElement(HugeiconsIcon16, { icon: SearchList02Icon, size: 12 }),
|
|
2488
2484
|
activeDirectionFilter === "ALL" ? "Payment Type" : activeDirectionFilter
|
|
@@ -2490,11 +2486,11 @@ var UniversalTransactionPage = ({
|
|
|
2490
2486
|
"button",
|
|
2491
2487
|
{
|
|
2492
2488
|
onClick: () => setIsTypeModalOpen(true),
|
|
2493
|
-
className: "flex items-center gap-2 whitespace-nowrap
|
|
2489
|
+
className: "flex items-center gap-2 whitespace-nowrap border border-neutral-800 px-5 py-2 rounded-full text-[12px] text-neutral-400 hover:text-white hover:bg-neutral-800 transition-colors outline-none"
|
|
2494
2490
|
},
|
|
2495
2491
|
/* @__PURE__ */ React28.createElement(HugeiconsIcon16, { icon: ListSettingIcon, size: 14 }),
|
|
2496
2492
|
activeTypeFilter === "ALL" ? "All Transactions" : activeTypeFilter.replace("_", " ")
|
|
2497
|
-
))), /* @__PURE__ */ React28.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-neutral-900 w-full" }, /* @__PURE__ */ React28.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-4" }, /* @__PURE__ */ React28.createElement("div", null, /* @__PURE__ */ React28.createElement("h1", { className: "text-white text-xl mb-1 tracking-tight" }, headerTitle), headerDescription && /* @__PURE__ */ React28.createElement("p", { className: "text-xs text-neutral-400" }, headerDescription))), /* @__PURE__ */ React28.createElement("div", { className: "w-full overflow-hidden" }, isListLoading ? /* @__PURE__ */ React28.createElement(PageSpinner2, null) : /* @__PURE__ */ React28.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React28.createElement("div",
|
|
2493
|
+
))), /* @__PURE__ */ React28.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-neutral-900 w-full" }, /* @__PURE__ */ React28.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-4" }, /* @__PURE__ */ React28.createElement("div", null, /* @__PURE__ */ React28.createElement("h1", { className: "text-white text-xl mb-1 tracking-tight" }, headerTitle), headerDescription && /* @__PURE__ */ React28.createElement("p", { className: "text-xs text-neutral-400" }, headerDescription))), /* @__PURE__ */ React28.createElement("div", { className: "w-full overflow-hidden" }, isListLoading ? /* @__PURE__ */ React28.createElement(PageSpinner2, null) : /* @__PURE__ */ React28.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React28.createElement("div", null, transactions.length === 0 ? /* @__PURE__ */ React28.createElement("p", { className: "text-xs text-neutral-500 py-6 text-center" }, "No transactions found") : transactions.map((tx) => /* @__PURE__ */ React28.createElement(
|
|
2498
2494
|
"div",
|
|
2499
2495
|
{
|
|
2500
2496
|
key: tx.id,
|
|
@@ -2533,43 +2529,13 @@ var UniversalTransactionPage = ({
|
|
|
2533
2529
|
const formattedKey = key.replace(/([A-Z])/g, " $1").replace(/^./, (str) => str.toUpperCase());
|
|
2534
2530
|
return /* @__PURE__ */ React28.createElement("div", { key }, /* @__PURE__ */ React28.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-500 block mb-2" }, formattedKey), /* @__PURE__ */ React28.createElement("span", { className: "text-[13px] text-white break-all" }, String(value)));
|
|
2535
2531
|
})), /* @__PURE__ */ React28.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React28.createElement(
|
|
2536
|
-
|
|
2532
|
+
ThreeDActionButton,
|
|
2537
2533
|
{
|
|
2538
2534
|
onClick: handleGenerateReceipt,
|
|
2539
|
-
|
|
2540
|
-
className: "
|
|
2541
|
-
style: {
|
|
2542
|
-
backgroundImage: silverBg,
|
|
2543
|
-
backgroundSize: "cover",
|
|
2544
|
-
backgroundPosition: "center",
|
|
2545
|
-
boxShadow: isGeneratingReceipt ? silverShadowActive : silverShadowBase,
|
|
2546
|
-
textShadow: "0 1px 1px rgba(255,255,255,0.6)"
|
|
2547
|
-
},
|
|
2548
|
-
onMouseEnter: (e) => {
|
|
2549
|
-
if (!isGeneratingReceipt) {
|
|
2550
|
-
e.currentTarget.style.boxShadow = silverShadowHover;
|
|
2551
|
-
e.currentTarget.style.transform = "translateY(-1px)";
|
|
2552
|
-
}
|
|
2553
|
-
},
|
|
2554
|
-
onMouseLeave: (e) => {
|
|
2555
|
-
if (!isGeneratingReceipt) {
|
|
2556
|
-
e.currentTarget.style.boxShadow = silverShadowBase;
|
|
2557
|
-
e.currentTarget.style.transform = "translateY(0px)";
|
|
2558
|
-
}
|
|
2559
|
-
},
|
|
2560
|
-
onMouseDown: (e) => {
|
|
2561
|
-
if (!isGeneratingReceipt) {
|
|
2562
|
-
e.currentTarget.style.boxShadow = silverShadowActive;
|
|
2563
|
-
e.currentTarget.style.transform = "translateY(2px)";
|
|
2564
|
-
}
|
|
2565
|
-
},
|
|
2566
|
-
onMouseUp: (e) => {
|
|
2567
|
-
if (!isGeneratingReceipt) {
|
|
2568
|
-
e.currentTarget.style.transform = "translateY(-1px)";
|
|
2569
|
-
}
|
|
2570
|
-
}
|
|
2535
|
+
isLoading: isGeneratingReceipt,
|
|
2536
|
+
className: "w-full py-3 text-[14px]"
|
|
2571
2537
|
},
|
|
2572
|
-
|
|
2538
|
+
"Generate Receipt"
|
|
2573
2539
|
), /* @__PURE__ */ React28.createElement(
|
|
2574
2540
|
"button",
|
|
2575
2541
|
{
|
|
@@ -2577,7 +2543,7 @@ var UniversalTransactionPage = ({
|
|
|
2577
2543
|
className: "w-full flex items-center justify-center py-2.5 rounded-full border border-neutral-700 text-white hover:bg-neutral-800 transition-colors outline-none text-[13px] tracking-wide mt-2"
|
|
2578
2544
|
},
|
|
2579
2545
|
"Report Transaction"
|
|
2580
|
-
))))), isDirectionModalOpen && /* @__PURE__ */ React28.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React28.createElement("div", { className: "absolute inset-0 bg-black/60", onClick: () => setIsDirectionModalOpen(false) }), /* @__PURE__ */ React28.createElement("div", { ref: directionDropdownRef, className: "relative w-72 bg-neutral-900
|
|
2546
|
+
))))), isDirectionModalOpen && /* @__PURE__ */ React28.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React28.createElement("div", { className: "absolute inset-0 bg-black/60", onClick: () => setIsDirectionModalOpen(false) }), /* @__PURE__ */ React28.createElement("div", { ref: directionDropdownRef, className: "relative w-72 bg-neutral-900 shadow-2xl rounded-2xl flex flex-col items-center overflow-hidden animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React28.createElement("div", { className: "p-6 text-center w-full" }, /* @__PURE__ */ React28.createElement("h3", { className: "text-[14px] text-white tracking-tight" }, "Payment Type")), /* @__PURE__ */ React28.createElement("div", { className: "w-full flex flex-col pl-2 pr-2" }, ["ALL", "CREDIT", "DEBIT"].map((option) => /* @__PURE__ */ React28.createElement(
|
|
2581
2547
|
"button",
|
|
2582
2548
|
{
|
|
2583
2549
|
key: option,
|
|
@@ -2595,7 +2561,7 @@ var UniversalTransactionPage = ({
|
|
|
2595
2561
|
className: "w-full py-3 text-[13px] text-neutral-500 hover:bg-neutral-800 hover:text-white transition-colors outline-none"
|
|
2596
2562
|
},
|
|
2597
2563
|
"Cancel"
|
|
2598
|
-
)))), isTypeModalOpen && /* @__PURE__ */ React28.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React28.createElement("div", { className: "absolute inset-0 bg-black/60", onClick: () => setIsTypeModalOpen(false) }), /* @__PURE__ */ React28.createElement("div", { ref: typeDropdownRef, className: "relative w-72 bg-neutral-900
|
|
2564
|
+
)))), isTypeModalOpen && /* @__PURE__ */ React28.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React28.createElement("div", { className: "absolute inset-0 bg-black/60", onClick: () => setIsTypeModalOpen(false) }), /* @__PURE__ */ React28.createElement("div", { ref: typeDropdownRef, className: "relative w-72 bg-neutral-900 shadow-2xl rounded-2xl flex flex-col items-center overflow-hidden animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React28.createElement("div", { className: "p-6 text-center w-full" }, /* @__PURE__ */ React28.createElement("h3", { className: "text-[14px] text-white tracking-tight" }, "Transactions Type")), /* @__PURE__ */ React28.createElement("div", { className: "w-full flex flex-col pl-2 pr-2" }, [
|
|
2599
2565
|
{ label: "All Transactions", value: "ALL" },
|
|
2600
2566
|
{ label: "Wallet Transactions", value: "WALLET_TRANSACTION" },
|
|
2601
2567
|
{ label: "Card Transactions", value: "CARD_TRANSACTION" }
|
|
@@ -2710,7 +2676,7 @@ var UniversalHomeView = ({
|
|
|
2710
2676
|
"button",
|
|
2711
2677
|
{
|
|
2712
2678
|
onClick: secondaryAction.onClick,
|
|
2713
|
-
className: "flex items-center gap-1.5 px-8 py-2
|
|
2679
|
+
className: "flex items-center gap-1.5 px-8 py-2 rounded-full border border-neutral-800 text-white transition-colors hover:bg-neutral-800 outline-none"
|
|
2714
2680
|
},
|
|
2715
2681
|
/* @__PURE__ */ React29.createElement("span", { className: "text-[13px] tracking-wide" }, secondaryAction.label),
|
|
2716
2682
|
secondaryAction.icon && /* @__PURE__ */ React29.createElement(HugeiconsIcon17, { icon: secondaryAction.icon, size: 16 })
|
|
@@ -2745,7 +2711,7 @@ import {
|
|
|
2745
2711
|
var PageSpinner3 = () => /* @__PURE__ */ React30.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ React30.createElement(HugeiconsIcon18, { icon: Loading03Icon6, size: 32, className: "animate-spin mb-4 text-white" }));
|
|
2746
2712
|
var WalletLogo = ({ src, alt, sizeClass = "w-10 h-10" }) => {
|
|
2747
2713
|
const [isLoaded, setIsLoaded] = useState18(false);
|
|
2748
|
-
return /* @__PURE__ */ React30.createElement("div", { className: `relative shrink-0 rounded-full bg-black flex items-center justify-center overflow-hidden
|
|
2714
|
+
return /* @__PURE__ */ React30.createElement("div", { className: `relative shrink-0 rounded-full bg-black flex items-center justify-center overflow-hidden ${sizeClass}` }, !isLoaded && /* @__PURE__ */ React30.createElement(HugeiconsIcon18, { icon: Loading03Icon6, size: 16, className: "animate-spin text-neutral-600 absolute" }), /* @__PURE__ */ React30.createElement(
|
|
2749
2715
|
"img",
|
|
2750
2716
|
{
|
|
2751
2717
|
src,
|
|
@@ -2774,10 +2740,6 @@ var UniversalWalletPage = ({
|
|
|
2774
2740
|
const q = localSearchQuery.toLowerCase();
|
|
2775
2741
|
return wallet.name.toLowerCase().includes(q) || wallet.currency.toLowerCase().includes(q) || wallet.network.toLowerCase().includes(q);
|
|
2776
2742
|
});
|
|
2777
|
-
const primaryBaseShadow = `inset 0 1.5px 0 0 rgba(255, 255, 255, 0.05), inset 0 -2px 0 0 rgba(0, 0, 0, 0.5), 0 3px 0 0 #000000, 0 6px 10px rgba(0, 0, 0, 0.5)`;
|
|
2778
|
-
const primaryHoverShadow = `inset 0 1.5px 0 0 rgba(255, 255, 255, 0.1), inset 0 -2px 0 0 rgba(0, 0, 0, 0.5), 0 4px 0 0 #000000, 0 8px 12px rgba(0, 0, 0, 0.4)`;
|
|
2779
|
-
const primaryActiveShadow = `inset 0 1px 0 0 rgba(255, 255, 255, 0.05), inset 0 -1px 0 0 rgba(0, 0, 0, 0.5), 0 1px 0 0 #000000, 0 2px 4px rgba(0, 0, 0, 0.3)`;
|
|
2780
|
-
const disabledShadow = `inset 0 1px 0 0 rgba(255, 255, 255, 0.05), inset 0 -1px 0 0 rgba(0, 0, 0, 0.5), 0 1px 0 0 #000000`;
|
|
2781
2743
|
const handleCopy = (wallet) => {
|
|
2782
2744
|
if (onCopyAddress) onCopyAddress(wallet);
|
|
2783
2745
|
if (typeof navigator !== "undefined" && navigator.clipboard) {
|
|
@@ -2794,9 +2756,9 @@ var UniversalWalletPage = ({
|
|
|
2794
2756
|
placeholder: "Search wallets by name or network...",
|
|
2795
2757
|
value: localSearchQuery,
|
|
2796
2758
|
onChange: (e) => setLocalSearchQuery(e.target.value),
|
|
2797
|
-
className: "w-full pl-10 pr-4 py-2
|
|
2759
|
+
className: "w-full pl-10 pr-4 py-2 border border-neutral-800 rounded-full text-[13px] text-white placeholder-neutral-500 outline-none transition-colors focus:border-neutral-600"
|
|
2798
2760
|
}
|
|
2799
|
-
))), /* @__PURE__ */ React30.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-neutral-900
|
|
2761
|
+
))), /* @__PURE__ */ React30.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-neutral-900 w-full" }, /* @__PURE__ */ React30.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-4" }, /* @__PURE__ */ React30.createElement("div", null, /* @__PURE__ */ React30.createElement("h1", { className: "text-white text-xl mb-1 tracking-tight" }, headerTitle), headerDescription && /* @__PURE__ */ React30.createElement("p", { className: "text-xs text-neutral-400" }, headerDescription))), /* @__PURE__ */ React30.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ React30.createElement(PageSpinner3, null) : /* @__PURE__ */ React30.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React30.createElement("div", null, filteredWallets.length === 0 ? /* @__PURE__ */ React30.createElement("p", { className: "text-xs text-neutral-500 py-6 text-center" }, "No wallets found") : filteredWallets.map((wallet) => /* @__PURE__ */ React30.createElement(
|
|
2800
2762
|
"div",
|
|
2801
2763
|
{
|
|
2802
2764
|
key: wallet.id,
|
|
@@ -2804,14 +2766,14 @@ var UniversalWalletPage = ({
|
|
|
2804
2766
|
className: "flex items-center justify-between py-4 hover:bg-neutral-800/50 transition-colors cursor-pointer group min-w-0 px-2 -mx-2 rounded-xl"
|
|
2805
2767
|
},
|
|
2806
2768
|
/* @__PURE__ */ React30.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React30.createElement(WalletLogo, { src: wallet.logoSrc, alt: wallet.name }), /* @__PURE__ */ React30.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-1" }, /* @__PURE__ */ React30.createElement("p", { className: "text-[13px] text-white truncate font-medium" }, wallet.name), /* @__PURE__ */ React30.createElement("p", { className: `text-[13px] text-neutral-400 truncate transition-all duration-300 ${hideBalanceAmounts ? "blur-sm opacity-40 select-none" : ""}` }, wallet.balance, " ", wallet.currency))),
|
|
2807
|
-
/* @__PURE__ */ React30.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ React30.createElement("span", { className: "text-[10px] tracking-wide text-neutral-400 bg-neutral-800
|
|
2769
|
+
/* @__PURE__ */ React30.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ React30.createElement("span", { className: "text-[10px] tracking-wide text-neutral-400 bg-neutral-800 px-2.5 py-1 rounded-full " }, wallet.network))
|
|
2808
2770
|
)))))), selectedWallet && /* @__PURE__ */ React30.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React30.createElement("div", { className: "absolute inset-0 bg-black/60", onClick: () => {
|
|
2809
2771
|
setSelectedWallet(null);
|
|
2810
2772
|
setShowToast(false);
|
|
2811
|
-
} }), /* @__PURE__ */ React30.createElement("div", { className: "relative w-full max-w-sm bg-neutral-900
|
|
2773
|
+
} }), /* @__PURE__ */ React30.createElement("div", { className: "relative w-full max-w-sm bg-neutral-900 rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[90vh]" }, showToast && /* @__PURE__ */ React30.createElement("div", { className: "absolute top-4 left-1/2 -translate-x-1/2 z-50 bg-neutral-800 text-white px-5 py-2.5 rounded-full text-[12px] font-medium tracking-wide shadow-xl animate-in slide-in-from-top-4 fade-in duration-200 pointer-events-none whitespace-nowrap" }, "Address copied to clipboard"), /* @__PURE__ */ React30.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React30.createElement("h3", { className: "text-[15px] text-white tracking-tight" }, "Wallet Details"), /* @__PURE__ */ React30.createElement("button", { onClick: () => {
|
|
2812
2774
|
setSelectedWallet(null);
|
|
2813
2775
|
setShowToast(false);
|
|
2814
|
-
}, className: "text-neutral-500 hover:text-white transition-colors outline-none" }, /* @__PURE__ */ React30.createElement(HugeiconsIcon18, { icon: CancelCircleIcon3, size: 18 }))), /* @__PURE__ */ React30.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 pt-2" }, /* @__PURE__ */ React30.createElement("div", { className: "flex flex-col items-center justify-center mb-6" }, /* @__PURE__ */ React30.createElement(WalletLogo, { src: selectedWallet.logoSrc, alt: selectedWallet.name, sizeClass: "w-14 h-14 mb-4" }), /* @__PURE__ */ React30.createElement("h2", { className: `text-2xl text-white mb-2 transition-all duration-300 font-medium ${hideBalanceAmounts ? "blur-[6px] opacity-40 select-none" : ""}` }, selectedWallet.balance, " ", selectedWallet.currency), /* @__PURE__ */ React30.createElement("span", { className: "text-[9px] tracking-widest text-neutral-400 px-4 py-1.5 rounded-full
|
|
2776
|
+
}, className: "text-neutral-500 hover:text-white transition-colors outline-none" }, /* @__PURE__ */ React30.createElement(HugeiconsIcon18, { icon: CancelCircleIcon3, size: 18 }))), /* @__PURE__ */ React30.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 pt-2" }, /* @__PURE__ */ React30.createElement("div", { className: "flex flex-col items-center justify-center mb-6" }, /* @__PURE__ */ React30.createElement(WalletLogo, { src: selectedWallet.logoSrc, alt: selectedWallet.name, sizeClass: "w-14 h-14 mb-4" }), /* @__PURE__ */ React30.createElement("h2", { className: `text-2xl text-white mb-2 transition-all duration-300 font-medium ${hideBalanceAmounts ? "blur-[6px] opacity-40 select-none" : ""}` }, selectedWallet.balance, " ", selectedWallet.currency), /* @__PURE__ */ React30.createElement("span", { className: "text-[9px] tracking-widest text-neutral-400 px-4 py-1.5 rounded-full border border-neutral-800 uppercase mt-1" }, selectedWallet.network, " NETWORK")), renderQrCode && /* @__PURE__ */ React30.createElement("div", { className: "w-full flex justify-center mb-6" }, renderQrCode(selectedWallet)), /* @__PURE__ */ React30.createElement("div", { className: "mb-5" }, /* @__PURE__ */ React30.createElement(
|
|
2815
2777
|
Banner,
|
|
2816
2778
|
{
|
|
2817
2779
|
type: "warning",
|
|
@@ -2820,43 +2782,18 @@ var UniversalWalletPage = ({
|
|
|
2820
2782
|
isDismissible: false
|
|
2821
2783
|
}
|
|
2822
2784
|
)), /* @__PURE__ */ React30.createElement("div", { className: "grid grid-cols-1 gap-y-6 gap-x-4 mb-10" }, /* @__PURE__ */ React30.createElement("div", null, /* @__PURE__ */ React30.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-500 block mb-2" }, "Wallet Address"), /* @__PURE__ */ React30.createElement("span", { className: "text-[13px] text-white break-all font-medium" }, selectedWallet.address)), /* @__PURE__ */ React30.createElement("div", null, /* @__PURE__ */ React30.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-500 block mb-2" }, "Wallet Name"), /* @__PURE__ */ React30.createElement("span", { className: "text-[13px] text-white" }, selectedWallet.name))), /* @__PURE__ */ React30.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React30.createElement(
|
|
2823
|
-
|
|
2785
|
+
ThreeDActionButton,
|
|
2824
2786
|
{
|
|
2825
|
-
disabled: isGeneratingStatement,
|
|
2826
2787
|
onClick: () => onDownloadPayId && onDownloadPayId(selectedWallet),
|
|
2827
|
-
|
|
2828
|
-
|
|
2829
|
-
transition-all duration-150 select-none outline-none
|
|
2830
|
-
${isGeneratingStatement ? "opacity-50 cursor-not-allowed" : "active:translate-y-0.5"}
|
|
2831
|
-
`,
|
|
2832
|
-
style: { boxShadow: isGeneratingStatement ? disabledShadow : primaryBaseShadow },
|
|
2833
|
-
onMouseEnter: (e) => {
|
|
2834
|
-
if (isGeneratingStatement) return;
|
|
2835
|
-
e.currentTarget.style.boxShadow = primaryHoverShadow;
|
|
2836
|
-
e.currentTarget.style.transform = "translateY(-1px)";
|
|
2837
|
-
},
|
|
2838
|
-
onMouseLeave: (e) => {
|
|
2839
|
-
if (isGeneratingStatement) return;
|
|
2840
|
-
e.currentTarget.style.boxShadow = primaryBaseShadow;
|
|
2841
|
-
e.currentTarget.style.transform = "translateY(0px)";
|
|
2842
|
-
},
|
|
2843
|
-
onMouseDown: (e) => {
|
|
2844
|
-
if (isGeneratingStatement) return;
|
|
2845
|
-
e.currentTarget.style.boxShadow = primaryActiveShadow;
|
|
2846
|
-
e.currentTarget.style.transform = "translateY(2px)";
|
|
2847
|
-
},
|
|
2848
|
-
onMouseUp: (e) => {
|
|
2849
|
-
if (isGeneratingStatement) return;
|
|
2850
|
-
e.currentTarget.style.transform = "translateY(-1px)";
|
|
2851
|
-
}
|
|
2788
|
+
isLoading: isGeneratingStatement,
|
|
2789
|
+
className: "w-full py-3 text-[13px]"
|
|
2852
2790
|
},
|
|
2853
|
-
|
|
2854
|
-
/* @__PURE__ */ React30.createElement("span", { className: "relative z-10 flex items-center justify-center gap-2 text-[13px] tracking-wide font-medium" }, isGeneratingStatement ? /* @__PURE__ */ React30.createElement(HugeiconsIcon18, { icon: Loading03Icon6, size: 16, className: "animate-spin text-white" }) : "Generate Statement")
|
|
2791
|
+
"Generate Statement"
|
|
2855
2792
|
), /* @__PURE__ */ React30.createElement(
|
|
2856
2793
|
"button",
|
|
2857
2794
|
{
|
|
2858
2795
|
onClick: () => handleCopy(selectedWallet),
|
|
2859
|
-
className: "w-full flex items-center justify-center py-2 rounded-full border border-neutral-700 text-white hover:bg-neutral-800 outline-none text-[13px] tracking-wide"
|
|
2796
|
+
className: "w-full flex items-center justify-center py-2.5 rounded-full border border-neutral-700 text-white hover:bg-neutral-800 outline-none text-[13px] tracking-wide"
|
|
2860
2797
|
},
|
|
2861
2798
|
"Copy Wallet Address"
|
|
2862
2799
|
))))));
|
|
@@ -3052,7 +2989,7 @@ var ContentGridBlock = ({
|
|
|
3052
2989
|
middleBottomCard,
|
|
3053
2990
|
rightCards
|
|
3054
2991
|
}) => {
|
|
3055
|
-
return /* @__PURE__ */ React35.createElement("section", { className: "w-full flex justify-center z-10 relative bg-black" }, /* @__PURE__ */ React35.createElement("div", { className: "max-w-300 w-full px-4 md:px-8 flex flex-col gap-12" }, /* @__PURE__ */ React35.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-6 w-full" }, /* @__PURE__ */ React35.createElement("h2", { className: "text-3xl tracking-tight text-white leading-[1.15] max-w-lg" }, header.titlePrefix, " ", /* @__PURE__ */ React35.createElement("span", { className: "gradient-text" }, header.highlightText))), /* @__PURE__ */ React35.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6" }, /* @__PURE__ */ React35.createElement("div", { className: "flex flex-col justify-end" }, /* @__PURE__ */ React35.createElement("div", { className: "bg-neutral-900 rounded-3xl p-8 flex flex-col h-80" }, /* @__PURE__ */ React35.createElement("p", { className: "text-[17px] text-white leading-snug mb-4" }, leftCard.mainText), leftCard.tag && /* @__PURE__ */ React35.createElement("span", { className: "mb-auto text-[11px] text-neutral-400 tracking-widest" }, leftCard.tag), /* @__PURE__ */ React35.createElement("div", { className: "flex items-center justify-between mt-8" }, /* @__PURE__ */ React35.createElement("div", null, /* @__PURE__ */ React35.createElement("h4", { className: "text-[15px] text-white" }, leftCard.title), /* @__PURE__ */ React35.createElement("p", { className: "text-[13px] text-neutral-400" }, leftCard.subtitle)), /* @__PURE__ */ React35.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative
|
|
2992
|
+
return /* @__PURE__ */ React35.createElement("section", { className: "w-full flex justify-center z-10 relative bg-black" }, /* @__PURE__ */ React35.createElement("div", { className: "max-w-300 w-full px-4 md:px-8 flex flex-col gap-12" }, /* @__PURE__ */ React35.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-6 w-full" }, /* @__PURE__ */ React35.createElement("h2", { className: "text-3xl tracking-tight text-white leading-[1.15] max-w-lg" }, header.titlePrefix, " ", /* @__PURE__ */ React35.createElement("span", { className: "gradient-text" }, header.highlightText))), /* @__PURE__ */ React35.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6" }, /* @__PURE__ */ React35.createElement("div", { className: "flex flex-col justify-end" }, /* @__PURE__ */ React35.createElement("div", { className: "bg-neutral-900 rounded-3xl p-8 flex flex-col h-80" }, /* @__PURE__ */ React35.createElement("p", { className: "text-[17px] text-white leading-snug mb-4" }, leftCard.mainText), leftCard.tag && /* @__PURE__ */ React35.createElement("span", { className: "mb-auto text-[11px] text-neutral-400 tracking-widest" }, leftCard.tag), /* @__PURE__ */ React35.createElement("div", { className: "flex items-center justify-between mt-8" }, /* @__PURE__ */ React35.createElement("div", null, /* @__PURE__ */ React35.createElement("h4", { className: "text-[15px] text-white" }, leftCard.title), /* @__PURE__ */ React35.createElement("p", { className: "text-[13px] text-neutral-400" }, leftCard.subtitle)), /* @__PURE__ */ React35.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ React35.createElement(Image11, { src: leftCard.thumbnailSrc, alt: leftCard.title, fill: true, className: "object-cover" }))))), /* @__PURE__ */ React35.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ React35.createElement("div", { className: "border border-neutral-800 rounded-3xl p-8 flex flex-col relative h-75" }, /* @__PURE__ */ React35.createElement("div", { className: "absolute top-6 right-6 flex flex-col items-end gap-1" }, /* @__PURE__ */ React35.createElement("span", { className: "text-[11px] text-neutral-500 tracking-wide" }, middleTopCard.topRightLabel), /* @__PURE__ */ React35.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React35.createElement("div", { className: "flex -space-x-2" }, middleTopCard.topRightAvatars.map((src, i) => /* @__PURE__ */ React35.createElement("div", { key: i, className: "w-7 h-7 rounded-full border-2 border-black overflow-hidden relative z-10" }, /* @__PURE__ */ React35.createElement(Image11, { src, alt: "Avatar", fill: true, className: "object-cover", sizes: "28px" })))), /* @__PURE__ */ React35.createElement("span", { className: "text-sm text-neutral-400" }, middleTopCard.topRightCount))), /* @__PURE__ */ React35.createElement("div", { className: "grow flex flex-col justify-center items-center py-6" }, /* @__PURE__ */ React35.createElement("div", { className: "px-5 py-2 rounded-full bg-neutral-900/50 border border-neutral-800 text-[13px] text-neutral-400" }, middleTopCard.badgePrefix, " ", /* @__PURE__ */ React35.createElement("span", { className: "text-white" }, middleTopCard.badgeHighlight), middleTopCard.badgeSuffix)), /* @__PURE__ */ React35.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ React35.createElement("p", { className: "text-[11px] text-neutral-500 tracking-wide mb-1" }, middleTopCard.title), /* @__PURE__ */ React35.createElement("p", { className: "text-[14px] text-white leading-snug pr-4" }, middleTopCard.description))), /* @__PURE__ */ React35.createElement("div", { className: "border border-neutral-800 rounded-3xl p-8 flex flex-col h-80" }, /* @__PURE__ */ React35.createElement("div", { className: "flex justify-between items-start mb-6" }, /* @__PURE__ */ React35.createElement("div", null, /* @__PURE__ */ React35.createElement("h4", { className: "text-[15px] text-white leading-tight" }, middleBottomCard.title), /* @__PURE__ */ React35.createElement("p", { className: "text-[13px] text-neutral-500" }, middleBottomCard.subtitle)), /* @__PURE__ */ React35.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ React35.createElement(Image11, { src: middleBottomCard.thumbnailSrc, alt: middleBottomCard.title, fill: true, className: "object-cover" }))), /* @__PURE__ */ React35.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ React35.createElement("p", { className: "text-[16px] text-white leading-snug mb-4" }, middleBottomCard.mainText), middleBottomCard.tag && /* @__PURE__ */ React35.createElement("span", { className: "text-[11px] text-neutral-500 tracking-widest" }, middleBottomCard.tag)))), /* @__PURE__ */ React35.createElement("div", { className: "flex flex-col gap-6" }, rightCards.slice(0, 2).map((card, idx) => /* @__PURE__ */ React35.createElement("div", { key: idx, className: "relative w-full h-80 bg-neutral-900 text-white rounded-3xl overflow-hidden group" }, /* @__PURE__ */ React35.createElement("div", { className: "absolute inset-0 z-20 pointer-events-none" }), /* @__PURE__ */ React35.createElement("div", { className: "absolute inset-0 z-30 p-6 flex flex-col justify-end text-white" }, /* @__PURE__ */ React35.createElement("p", { className: "text-[14px] leading-snug mb-3 pr-2 text-white/90" }, card.mainText), card.tag && /* @__PURE__ */ React35.createElement("span", { className: "mb-4 text-[11px] text-white/50 tracking-widest" }, card.tag), /* @__PURE__ */ React35.createElement("div", { className: "pt-3" }, /* @__PURE__ */ React35.createElement("h4", { className: "text-[15px] tracking-wide" }, card.title), /* @__PURE__ */ React35.createElement("p", { className: "text-[13px] text-white/60" }, card.subtitle)))))))));
|
|
3056
2993
|
};
|
|
3057
2994
|
|
|
3058
2995
|
// src/components/ManagedProjectsBlock.tsx
|
|
@@ -3062,7 +2999,7 @@ var GridSection = ({
|
|
|
3062
2999
|
children,
|
|
3063
3000
|
isLast = false,
|
|
3064
3001
|
className = "py-8 md:py-10"
|
|
3065
|
-
}) => /* @__PURE__ */ React36.createElement("div", { className: `relative px-5 md:px-12 ${className} ${!isLast ? "
|
|
3002
|
+
}) => /* @__PURE__ */ React36.createElement("div", { className: `relative px-5 md:px-12 ${className} ${!isLast ? "" : ""}` }, children);
|
|
3066
3003
|
var ManagedProjectsBlock = ({
|
|
3067
3004
|
tagline,
|
|
3068
3005
|
title,
|