@retinalabsllc/zairusjs 17.1.2 → 17.1.4
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 +97 -97
- package/dist/index.mjs +97 -97
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -66,7 +66,7 @@ var Faq = ({
|
|
|
66
66
|
{
|
|
67
67
|
className: `grid transition-all duration-300 ease-in-out ${isOpen ? "grid-rows-[1fr] opacity-100" : "grid-rows-[0fr] opacity-0"}`
|
|
68
68
|
},
|
|
69
|
-
/* @__PURE__ */ React.createElement("div", { className: "overflow-hidden" }, /* @__PURE__ */ React.createElement("p", { className: `text-[
|
|
69
|
+
/* @__PURE__ */ React.createElement("div", { className: "overflow-hidden" }, /* @__PURE__ */ React.createElement("p", { className: `text-[12px] leading-relaxed px-6 pb-6 pt-0 pr-12 transition-colors duration-300 ${isOpen ? "text-white" : "text-transparent"}` }, faq.answer))
|
|
70
70
|
)
|
|
71
71
|
);
|
|
72
72
|
}))));
|
|
@@ -408,7 +408,7 @@ function AuthFormInner({
|
|
|
408
408
|
}
|
|
409
409
|
return false;
|
|
410
410
|
};
|
|
411
|
-
return /* @__PURE__ */ React5.createElement("div", { className: "min-h-screen w-full bg-white flex flex-col md:flex-row" }, /* @__PURE__ */ React5.createElement("div", { className: "hidden md:flex md:w-1/2 lg:w-[45%] h-screen sticky top-0 left-0 bg-neutral-100" }, /* @__PURE__ */ React5.createElement(ImageLoader, { src: heroImageUrl })), /* @__PURE__ */ React5.createElement("div", { className: "flex-1 flex flex-col items-center pt-16 md:pt-0 md:justify-center px-6 sm:px-12 w-full animate-in fade-in duration-300" }, /* @__PURE__ */ React5.createElement("div", { className: "w-full max-w-sm mx-auto" }, step === "INPUT" && /* @__PURE__ */ React5.createElement("div", { className: "animate-in fade-in duration-300" }, /* @__PURE__ */ React5.createElement("div", { className: "mb-12 mt-2" }, /* @__PURE__ */ React5.createElement("h2", { className: "text-2xl text-black mb-2 tracking-tight" }, mode === "LOGIN" ? `${companyName} ${workspaceLabel}` : "Create Account"), /* @__PURE__ */ React5.createElement("div", { className: "text-[
|
|
411
|
+
return /* @__PURE__ */ React5.createElement("div", { className: "min-h-screen w-full bg-white flex flex-col md:flex-row" }, /* @__PURE__ */ React5.createElement("div", { className: "hidden md:flex md:w-1/2 lg:w-[45%] h-screen sticky top-0 left-0 bg-neutral-100" }, /* @__PURE__ */ React5.createElement(ImageLoader, { src: heroImageUrl })), /* @__PURE__ */ React5.createElement("div", { className: "flex-1 flex flex-col items-center pt-16 md:pt-0 md:justify-center px-6 sm:px-12 w-full animate-in fade-in duration-300" }, /* @__PURE__ */ React5.createElement("div", { className: "w-full max-w-sm mx-auto" }, step === "INPUT" && /* @__PURE__ */ React5.createElement("div", { className: "animate-in fade-in duration-300" }, /* @__PURE__ */ React5.createElement("div", { className: "mb-12 mt-2" }, /* @__PURE__ */ React5.createElement("h2", { className: "text-2xl text-black mb-2 tracking-tight" }, mode === "LOGIN" ? `${companyName} ${workspaceLabel}` : "Create Account"), /* @__PURE__ */ React5.createElement("div", { className: "text-[12px] text-neutral-500" }, mode === "LOGIN" ? /* @__PURE__ */ React5.createElement(React5.Fragment, null, "Don't have an account? ", /* @__PURE__ */ React5.createElement("button", { type: "button", onClick: () => {
|
|
412
412
|
setMode("SIGNUP");
|
|
413
413
|
setSignupStep(getInitialSignupStep());
|
|
414
414
|
}, className: "text-[#068afe] transition-colors ml-1 outline-none" }, "Sign up")) : /* @__PURE__ */ React5.createElement(React5.Fragment, null, "Already have an account? ", /* @__PURE__ */ React5.createElement("button", { type: "button", onClick: () => setMode("LOGIN"), className: "text-[#068afe] transition-colors ml-1 outline-none" }, "Log in")))), /* @__PURE__ */ React5.createElement("form", { className: "space-y-6", autoComplete: "off", onSubmit: (e) => {
|
|
@@ -426,7 +426,7 @@ function AuthFormInner({
|
|
|
426
426
|
className: "mt-0.5 w-4 h-4 bg-white border-neutral-300 rounded text-[#068afe] focus:ring-[#068afe] accent-[#068afe] cursor-pointer",
|
|
427
427
|
required: true
|
|
428
428
|
}
|
|
429
|
-
), /* @__PURE__ */ React5.createElement("label", { htmlFor: "zairus-terms", className: "text-[11px] text-neutral-500 cursor-pointer leading-snug select-none" }, "I agree to ", companyName, "'s ", /* @__PURE__ */ React5.createElement("a", { href: termsUrl, target: "_blank", rel: "noreferrer", className: "text-[#068afe] hover:underline outline-none" }, "Terms of Service"), " and ", /* @__PURE__ */ React5.createElement("a", { href: privacyUrl, target: "_blank", rel: "noreferrer", className: "text-[#068afe] hover:underline outline-none" }, "Privacy Policy"), "."))), /* @__PURE__ */ React5.createElement("div", { className: "pt-4" }, /* @__PURE__ */ React5.createElement(ThreeDActionButton, { type: "submit", disabled: isContinueDisabled(), isLoading: isSubmitting, className: "w-full shadow-md shadow-neutral-200/50" }, "Continue")))), step === "OTP" && /* @__PURE__ */ React5.createElement("div", { className: "animate-in fade-in duration-300" }, /* @__PURE__ */ React5.createElement("div", { className: "mb-10 mt-2" }, /* @__PURE__ */ React5.createElement("h2", { className: "text-2xl text-black mb-2 tracking-tight" }, "Security Check"), /* @__PURE__ */ React5.createElement("p", { className: "text-[
|
|
429
|
+
), /* @__PURE__ */ React5.createElement("label", { htmlFor: "zairus-terms", className: "text-[11px] text-neutral-500 cursor-pointer leading-snug select-none" }, "I agree to ", companyName, "'s ", /* @__PURE__ */ React5.createElement("a", { href: termsUrl, target: "_blank", rel: "noreferrer", className: "text-[#068afe] hover:underline outline-none" }, "Terms of Service"), " and ", /* @__PURE__ */ React5.createElement("a", { href: privacyUrl, target: "_blank", rel: "noreferrer", className: "text-[#068afe] hover:underline outline-none" }, "Privacy Policy"), "."))), /* @__PURE__ */ React5.createElement("div", { className: "pt-4" }, /* @__PURE__ */ React5.createElement(ThreeDActionButton, { type: "submit", disabled: isContinueDisabled(), isLoading: isSubmitting, className: "w-full shadow-md shadow-neutral-200/50" }, "Continue")))), step === "OTP" && /* @__PURE__ */ React5.createElement("div", { className: "animate-in fade-in duration-300" }, /* @__PURE__ */ React5.createElement("div", { className: "mb-10 mt-2" }, /* @__PURE__ */ React5.createElement("h2", { className: "text-2xl text-black mb-2 tracking-tight" }, "Security Check"), /* @__PURE__ */ React5.createElement("p", { className: "text-[12px] text-neutral-500" }, userHas2FA ? "Enter the code from your authenticator app." : `Enter the code sent to ${emailId}`)), /* @__PURE__ */ React5.createElement("form", { className: "space-y-8", autoComplete: "off", onSubmit: (e) => {
|
|
430
430
|
e.preventDefault();
|
|
431
431
|
verifyOtpCode(otp.join(""));
|
|
432
432
|
} }, /* @__PURE__ */ React5.createElement("div", { className: "flex justify-between gap-2", onPaste: handlePaste }, otp.map((digit, index) => /* @__PURE__ */ React5.createElement(
|
|
@@ -460,7 +460,7 @@ function AuthFormInner({
|
|
|
460
460
|
{
|
|
461
461
|
onClick: triggerPasskeyLogin,
|
|
462
462
|
disabled: isSubmitting,
|
|
463
|
-
className: "w-full py-2.5 rounded-full text-black border border-neutral-200 hover:bg-neutral-50 text-[
|
|
463
|
+
className: "w-full py-2.5 rounded-full text-black border border-neutral-200 hover:bg-neutral-50 text-[12px] tracking-wide transition-colors outline-none disabled:opacity-50"
|
|
464
464
|
},
|
|
465
465
|
"Use Passkey Biometrics"
|
|
466
466
|
))))));
|
|
@@ -487,7 +487,7 @@ var Footer = ({
|
|
|
487
487
|
const toggleColumn = (idx) => {
|
|
488
488
|
setOpenCol(openCol === idx ? null : idx);
|
|
489
489
|
};
|
|
490
|
-
return /* @__PURE__ */ React6.createElement("div", { className: "" }, topSection && topSection, /* @__PURE__ */ React6.createElement("footer", { className: "relative px-6 overflow-hidden flex flex-col" }, /* @__PURE__ */ React6.createElement("div", { className: "relative w-full max-w-7xl mx-auto z-20 flex flex-col" }, /* @__PURE__ */ React6.createElement("div", { className: "relative py-12 md:py-16" }, /* @__PURE__ */ React6.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start gap-12 lg:gap-16 mb-12 text-left" }, /* @__PURE__ */ React6.createElement("div", { className: "w-full lg:max-w-sm flex flex-col items-start justify-between shrink-0" }, /* @__PURE__ */ React6.createElement("div", { className: "flex items-center gap-4 mb-4" }, /* @__PURE__ */ React6.createElement("img", { src: "https://storage.googleapis.com/retina-cloud-v2/assets/images/ndpr.avif", alt: "NDPR", className: "w-28 h-auto object-contain filter grayscale opacity-80" }), /* @__PURE__ */ React6.createElement("img", { src: "https://storage.googleapis.com/retina-cloud-v2/assets/images/gdpr.avif", alt: "GDPR", className: "w-12 h-12 object-contain filter grayscale opacity-80" })), /* @__PURE__ */ React6.createElement("div", null, /* @__PURE__ */ React6.createElement("p", { className: "text-[11px] text-neutral-600 leading-relaxed pr-4" }, description))), /* @__PURE__ */ React6.createElement("div", { className: "w-full lg:flex-1 lg:max-w-2xl" }, /* @__PURE__ */ React6.createElement("div", { className: "hidden md:grid grid-cols-2 gap-x-16 lg:gap-x-24 gap-y-12" }, columns.map((col, idx) => /* @__PURE__ */ React6.createElement("div", { key: idx, className: "flex flex-col" }, /* @__PURE__ */ React6.createElement("h4", { className: "text-[11px] tracking-[0.2em] text-black mb-6 " }, col.title), /* @__PURE__ */ React6.createElement("ul", { className: "space-y-4 text-[
|
|
490
|
+
return /* @__PURE__ */ React6.createElement("div", { className: "" }, topSection && topSection, /* @__PURE__ */ React6.createElement("footer", { className: "relative px-6 overflow-hidden flex flex-col" }, /* @__PURE__ */ React6.createElement("div", { className: "relative w-full max-w-7xl mx-auto z-20 flex flex-col" }, /* @__PURE__ */ React6.createElement("div", { className: "relative py-12 md:py-16" }, /* @__PURE__ */ React6.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start gap-12 lg:gap-16 mb-12 text-left" }, /* @__PURE__ */ React6.createElement("div", { className: "w-full lg:max-w-sm flex flex-col items-start justify-between shrink-0" }, /* @__PURE__ */ React6.createElement("div", { className: "flex items-center gap-4 mb-4" }, /* @__PURE__ */ React6.createElement("img", { src: "https://storage.googleapis.com/retina-cloud-v2/assets/images/ndpr.avif", alt: "NDPR", className: "w-28 h-auto object-contain filter grayscale opacity-80" }), /* @__PURE__ */ React6.createElement("img", { src: "https://storage.googleapis.com/retina-cloud-v2/assets/images/gdpr.avif", alt: "GDPR", className: "w-12 h-12 object-contain filter grayscale opacity-80" })), /* @__PURE__ */ React6.createElement("div", null, /* @__PURE__ */ React6.createElement("p", { className: "text-[11px] text-neutral-600 leading-relaxed pr-4" }, description))), /* @__PURE__ */ React6.createElement("div", { className: "w-full lg:flex-1 lg:max-w-2xl" }, /* @__PURE__ */ React6.createElement("div", { className: "hidden md:grid grid-cols-2 gap-x-16 lg:gap-x-24 gap-y-12" }, columns.map((col, idx) => /* @__PURE__ */ React6.createElement("div", { key: idx, className: "flex flex-col" }, /* @__PURE__ */ React6.createElement("h4", { className: "text-[11px] tracking-[0.2em] text-black mb-6 " }, col.title), /* @__PURE__ */ React6.createElement("ul", { className: "space-y-4 text-[12px] text-neutral-500" }, col.links.map((link, lIdx) => /* @__PURE__ */ React6.createElement("li", { key: lIdx }, link.isExternal ? /* @__PURE__ */ React6.createElement("a", { href: link.href, target: "_blank", rel: "noopener noreferrer", className: "hover:text-black transition-colors block truncate" }, link.label) : /* @__PURE__ */ React6.createElement(Link3, { href: link.href, className: "hover:text-black transition-colors block truncate" }, link.label))))))), /* @__PURE__ */ React6.createElement("div", { className: "flex flex-col md:hidden w-full border-t border-neutral-200 mt-4" }, columns.map((col, idx) => {
|
|
491
491
|
const isOpen = openCol === idx;
|
|
492
492
|
return /* @__PURE__ */ React6.createElement("div", { key: idx, className: "border-b border-neutral-200" }, /* @__PURE__ */ React6.createElement(
|
|
493
493
|
"button",
|
|
@@ -506,7 +506,7 @@ var Footer = ({
|
|
|
506
506
|
},
|
|
507
507
|
/* @__PURE__ */ React6.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M19 9l-7 7-7-7" })
|
|
508
508
|
)
|
|
509
|
-
), /* @__PURE__ */ React6.createElement("div", { className: `grid transition-all duration-300 ease-in-out ${isOpen ? "grid-rows-[1fr] pb-6 opacity-100" : "grid-rows-[0fr] opacity-0"}` }, /* @__PURE__ */ React6.createElement("div", { className: "overflow-hidden" }, /* @__PURE__ */ React6.createElement("ul", { className: "space-y-4 text-[
|
|
509
|
+
), /* @__PURE__ */ React6.createElement("div", { className: `grid transition-all duration-300 ease-in-out ${isOpen ? "grid-rows-[1fr] pb-6 opacity-100" : "grid-rows-[0fr] opacity-0"}` }, /* @__PURE__ */ React6.createElement("div", { className: "overflow-hidden" }, /* @__PURE__ */ React6.createElement("ul", { className: "space-y-4 text-[12px] text-neutral-500 pt-2" }, col.links.map((link, lIdx) => /* @__PURE__ */ React6.createElement("li", { key: lIdx }, link.isExternal ? /* @__PURE__ */ React6.createElement("a", { href: link.href, target: "_blank", rel: "noopener noreferrer", className: "hover:text-black transition-colors" }, link.label) : /* @__PURE__ */ React6.createElement(Link3, { href: link.href, className: "hover:text-black transition-colors" }, link.label)))))));
|
|
510
510
|
})))), /* @__PURE__ */ React6.createElement("div", { className: "pt-12 mt-4 border-t border-neutral-200 flex flex-col items-center justify-center gap-8 relative z-20 text-center" }, socialLinks && socialLinks.length > 0 && /* @__PURE__ */ React6.createElement("div", { className: "flex items-center justify-center gap-6" }, socialLinks.map((social, idx) => /* @__PURE__ */ React6.createElement(
|
|
511
511
|
"a",
|
|
512
512
|
{
|
|
@@ -594,7 +594,7 @@ var ReusableOptions = ({
|
|
|
594
594
|
placeholder: "Search...",
|
|
595
595
|
value: searchQuery,
|
|
596
596
|
onChange: (e) => setSearchQuery(e.target.value),
|
|
597
|
-
className: "w-full pl-10 pr-4 py-2.5 bg-neutral-100 rounded-full text-[
|
|
597
|
+
className: "w-full pl-10 pr-4 py-2.5 bg-neutral-100 rounded-full text-[12px] text-black placeholder-neutral-400 outline-none focus:bg-neutral-200 transition-colors"
|
|
598
598
|
}
|
|
599
599
|
))), /* @__PURE__ */ React8.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, filteredOptions.length === 0 ? /* @__PURE__ */ React8.createElement("div", { className: "p-6 text-center text-[12px] text-neutral-400" }, "No options found.") : filteredOptions.map((opt) => {
|
|
600
600
|
const isSelected = selectedOption === opt;
|
|
@@ -606,7 +606,7 @@ var ReusableOptions = ({
|
|
|
606
606
|
onSelect(opt);
|
|
607
607
|
onClose();
|
|
608
608
|
},
|
|
609
|
-
className: `w-full text-left p-4 text-[
|
|
609
|
+
className: `w-full text-left p-4 text-[12px] tracking-tight rounded-full transition-colors outline-none ${isSelected ? "text-[#068afe] bg-[#068afe]/10" : "text-neutral-600 hover:bg-neutral-50/50"}`
|
|
610
610
|
},
|
|
611
611
|
opt.charAt(0).toUpperCase() + opt.slice(1).toLowerCase()
|
|
612
612
|
);
|
|
@@ -723,7 +723,7 @@ var CalendarPicker = ({
|
|
|
723
723
|
className: `pb-2 text-[12px] tracking-wide outline-none border-b-2 transition-colors ${mode === "TIME" ? "border-[#068afe] text-[#068afe]" : "border-transparent text-neutral-500 hover:text-black"}`
|
|
724
724
|
},
|
|
725
725
|
"Time"
|
|
726
|
-
))), /* @__PURE__ */ React9.createElement("div", { className: "p-5" }, mode === "DATE" && /* @__PURE__ */ React9.createElement("div", { className: "flex flex-col gap-4 animate-in fade-in duration-200" }, /* @__PURE__ */ React9.createElement("div", { className: "flex items-center justify-between px-2" }, /* @__PURE__ */ React9.createElement("span", { className: "text-[
|
|
726
|
+
))), /* @__PURE__ */ React9.createElement("div", { className: "p-5" }, mode === "DATE" && /* @__PURE__ */ React9.createElement("div", { className: "flex flex-col gap-4 animate-in fade-in duration-200" }, /* @__PURE__ */ React9.createElement("div", { className: "flex items-center justify-between px-2" }, /* @__PURE__ */ React9.createElement("span", { className: "text-[12px] text-black" }, MONTHS[viewMonth], " ", viewYear), /* @__PURE__ */ React9.createElement("div", { className: "flex gap-1" }, /* @__PURE__ */ React9.createElement(
|
|
727
727
|
"button",
|
|
728
728
|
{
|
|
729
729
|
onClick: handlePrevMonth,
|
|
@@ -758,7 +758,7 @@ var CalendarPicker = ({
|
|
|
758
758
|
"button",
|
|
759
759
|
{
|
|
760
760
|
onClick: handleSave,
|
|
761
|
-
className: "text-[#068afe] hover:text-[#0573d6] transition-colors outline-none text-[
|
|
761
|
+
className: "text-[#068afe] hover:text-[#0573d6] transition-colors outline-none text-[12px] tracking-wide"
|
|
762
762
|
},
|
|
763
763
|
"Done"
|
|
764
764
|
))));
|
|
@@ -791,7 +791,7 @@ var ConfirmationDialog = ({
|
|
|
791
791
|
{
|
|
792
792
|
onClick: onClose,
|
|
793
793
|
disabled: isProcessing,
|
|
794
|
-
className: "flex-1 py-4 text-[
|
|
794
|
+
className: "flex-1 py-4 text-[12px] text-neutral-500 hover:bg-neutral-50 transition-colors disabled:opacity-50 outline-none "
|
|
795
795
|
},
|
|
796
796
|
cancelText
|
|
797
797
|
), /* @__PURE__ */ React10.createElement(
|
|
@@ -799,7 +799,7 @@ var ConfirmationDialog = ({
|
|
|
799
799
|
{
|
|
800
800
|
onClick: onConfirm,
|
|
801
801
|
disabled: isProcessing,
|
|
802
|
-
className: `flex-1 py-4 text-[
|
|
802
|
+
className: `flex-1 py-4 text-[12px] transition-colors disabled:opacity-50 flex justify-center items-center outline-none ${isDestructive ? "text-rose-600 hover:bg-neutral-50" : "text-black hover:bg-neutral-50"}`
|
|
803
803
|
},
|
|
804
804
|
isProcessing ? /* @__PURE__ */ React10.createElement(HugeiconsIcon6, { icon: Loading03Icon3, className: "animate-spin", size: 18 }) : confirmText
|
|
805
805
|
))));
|
|
@@ -942,7 +942,7 @@ var UniversalHuddleDetails = ({
|
|
|
942
942
|
onClose: () => setConfirmDialog(null),
|
|
943
943
|
onConfirm: handleDelete
|
|
944
944
|
}
|
|
945
|
-
), /* @__PURE__ */ React11.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React11.createElement("a", { href: onBackHref, className: "flex items-center gap-2 text-[#068afe] hover:text-[#068afe] transition-colors text-[
|
|
945
|
+
), /* @__PURE__ */ React11.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React11.createElement("a", { href: onBackHref, className: "flex items-center gap-2 text-[#068afe] hover:text-[#068afe] transition-colors text-[12px] outline-none" }, /* @__PURE__ */ React11.createElement(HugeiconsIcon7, { icon: ArrowLeft01Icon2, size: 16 }), " Back")), /* @__PURE__ */ React11.createElement("div", { className: "mb-8 px-1 flex flex-col sm:flex-row sm:items-center justify-between gap-4" }, /* @__PURE__ */ React11.createElement("div", null, /* @__PURE__ */ React11.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Huddle Details"), /* @__PURE__ */ React11.createElement("p", { className: "text-xs text-neutral-500" }, "Review or modify your scheduled session.")), liveStatus === "ONGOING" && /* @__PURE__ */ React11.createElement("div", { className: "px-4 py-1.5 bg-emerald-50 text-emerald-600 rounded-full text-[11px] flex items-center gap-2 self-start sm:self-auto" }, /* @__PURE__ */ React11.createElement("span", { className: "w-2 h-2 rounded-full bg-emerald-500 animate-pulse" }), " Ongoing Now"), liveStatus === "SCHEDULED" && timeRemaining && /* @__PURE__ */ React11.createElement("div", { className: "px-4 py-1.5 bg-amber-50 text-amber-600 rounded-full text-[11px] self-start sm:self-auto" }, "Starting in ", timeRemaining), liveStatus === "COMPLETED" && /* @__PURE__ */ React11.createElement("div", { className: "px-4 py-1.5 bg-neutral-200 text-neutral-600 rounded-full text-[11px] self-start sm:self-auto" }, "Completed"), liveStatus === "CANCELLED" && /* @__PURE__ */ React11.createElement("div", { className: "px-4 py-1.5 bg-neutral-200 text-neutral-500 rounded-full text-[11px] self-start sm:self-auto" }, "Cancelled")), /* @__PURE__ */ React11.createElement("div", { className: "flex flex-col gap-8 animate-in rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ React11.createElement("div", { className: "flex flex-col gap-1 w-full" }, /* @__PURE__ */ React11.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block" }, "Huddle Subject"), isEditingTitle ? /* @__PURE__ */ React11.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React11.createElement(
|
|
946
946
|
"input",
|
|
947
947
|
{
|
|
948
948
|
value: title,
|
|
@@ -953,7 +953,7 @@ var UniversalHuddleDetails = ({
|
|
|
953
953
|
className: "w-full text-sm border-b border-neutral-200 focus:border-black outline-none py-2 text-black bg-transparent",
|
|
954
954
|
autoFocus: true
|
|
955
955
|
}
|
|
956
|
-
), /* @__PURE__ */ React11.createElement("button", { onClick: () => setIsEditingTitle(false), className: "text-[11px] text-[#068afe] outline-none " }, "Done")) : /* @__PURE__ */ React11.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React11.createElement("span", { className: "text-sm text-black py-2" }, title), enableEdits && /* @__PURE__ */ React11.createElement("button", { onClick: () => setIsEditingTitle(true), className: "text-[11px] text-[#068afe] hover:underline outline-none" }, "Edit"))), /* @__PURE__ */ React11.createElement("div", { className: "grid grid-cols-1 sm:grid-cols-3 gap-6" }, /* @__PURE__ */ React11.createElement("div", { className: "space-y-1.5 w-full" }, /* @__PURE__ */ React11.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block" }, "Date"), /* @__PURE__ */ React11.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React11.createElement("div", { className: "flex items-center border-b border-neutral-200 relative w-full pb-3 pt-3" }, /* @__PURE__ */ React11.createElement(HugeiconsIcon7, { icon: Calendar01Icon, size: 16, className: "text-neutral-400 absolute left-0" }), /* @__PURE__ */ React11.createElement("span", { className: "w-full pl-8 text-sm text-black truncate block" }, huddleDate.toLocaleDateString("en-GB", { day: "2-digit", month: "short", year: "numeric" }))), enableEdits && /* @__PURE__ */ React11.createElement("button", { onClick: () => setCalendarMode("DATE"), className: "text-[11px] text-[#068afe] hover:underline outline-none" }, "Edit"))), /* @__PURE__ */ React11.createElement("div", { className: "space-y-1.5 w-full" }, /* @__PURE__ */ React11.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block" }, "Time"), /* @__PURE__ */ React11.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React11.createElement("div", { className: "flex border-b border-neutral-200 items-center relative w-full pb-3 pt-3" }, /* @__PURE__ */ React11.createElement(HugeiconsIcon7, { icon: Clock01Icon, size: 16, className: "text-neutral-400 absolute left-0" }), /* @__PURE__ */ React11.createElement("span", { className: "w-full pl-8 text-sm text-black truncate block" }, huddleDate.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }))), enableEdits && /* @__PURE__ */ React11.createElement("button", { onClick: () => setCalendarMode("TIME"), className: "text-[11px] text-[#068afe] hover:underline outline-none" }, "Edit"))), /* @__PURE__ */ React11.createElement("div", { className: "space-y-1.5 w-full" }, /* @__PURE__ */ React11.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block" }, "Timezone"), /* @__PURE__ */ React11.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React11.createElement("div", { className: "flex border-b border-neutral-200 items-center relative w-full pb-3 pt-3" }, /* @__PURE__ */ React11.createElement(HugeiconsIcon7, { icon: Globe02Icon, size: 16, className: "text-neutral-400 absolute left-0" }), /* @__PURE__ */ React11.createElement("span", { className: "w-full pl-8 text-sm text-black truncate block" }, timezone)), enableEdits && /* @__PURE__ */ React11.createElement("button", { onClick: () => setShowTimezoneModal(true), className: "text-[11px] text-[#068afe] hover:underline outline-none" }, "Edit")))), /* @__PURE__ */ React11.createElement("div", { className: "flex items-center justify-between py-2 mt-2" }, /* @__PURE__ */ React11.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React11.createElement("span", { className: "text-[
|
|
956
|
+
), /* @__PURE__ */ React11.createElement("button", { onClick: () => setIsEditingTitle(false), className: "text-[11px] text-[#068afe] outline-none " }, "Done")) : /* @__PURE__ */ React11.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React11.createElement("span", { className: "text-sm text-black py-2" }, title), enableEdits && /* @__PURE__ */ React11.createElement("button", { onClick: () => setIsEditingTitle(true), className: "text-[11px] text-[#068afe] hover:underline outline-none" }, "Edit"))), /* @__PURE__ */ React11.createElement("div", { className: "grid grid-cols-1 sm:grid-cols-3 gap-6" }, /* @__PURE__ */ React11.createElement("div", { className: "space-y-1.5 w-full" }, /* @__PURE__ */ React11.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block" }, "Date"), /* @__PURE__ */ React11.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React11.createElement("div", { className: "flex items-center border-b border-neutral-200 relative w-full pb-3 pt-3" }, /* @__PURE__ */ React11.createElement(HugeiconsIcon7, { icon: Calendar01Icon, size: 16, className: "text-neutral-400 absolute left-0" }), /* @__PURE__ */ React11.createElement("span", { className: "w-full pl-8 text-sm text-black truncate block" }, huddleDate.toLocaleDateString("en-GB", { day: "2-digit", month: "short", year: "numeric" }))), enableEdits && /* @__PURE__ */ React11.createElement("button", { onClick: () => setCalendarMode("DATE"), className: "text-[11px] text-[#068afe] hover:underline outline-none" }, "Edit"))), /* @__PURE__ */ React11.createElement("div", { className: "space-y-1.5 w-full" }, /* @__PURE__ */ React11.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block" }, "Time"), /* @__PURE__ */ React11.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React11.createElement("div", { className: "flex border-b border-neutral-200 items-center relative w-full pb-3 pt-3" }, /* @__PURE__ */ React11.createElement(HugeiconsIcon7, { icon: Clock01Icon, size: 16, className: "text-neutral-400 absolute left-0" }), /* @__PURE__ */ React11.createElement("span", { className: "w-full pl-8 text-sm text-black truncate block" }, huddleDate.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }))), enableEdits && /* @__PURE__ */ React11.createElement("button", { onClick: () => setCalendarMode("TIME"), className: "text-[11px] text-[#068afe] hover:underline outline-none" }, "Edit"))), /* @__PURE__ */ React11.createElement("div", { className: "space-y-1.5 w-full" }, /* @__PURE__ */ React11.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block" }, "Timezone"), /* @__PURE__ */ React11.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React11.createElement("div", { className: "flex border-b border-neutral-200 items-center relative w-full pb-3 pt-3" }, /* @__PURE__ */ React11.createElement(HugeiconsIcon7, { icon: Globe02Icon, size: 16, className: "text-neutral-400 absolute left-0" }), /* @__PURE__ */ React11.createElement("span", { className: "w-full pl-8 text-sm text-black truncate block" }, timezone)), enableEdits && /* @__PURE__ */ React11.createElement("button", { onClick: () => setShowTimezoneModal(true), className: "text-[11px] text-[#068afe] hover:underline outline-none" }, "Edit")))), /* @__PURE__ */ React11.createElement("div", { className: "flex items-center justify-between py-2 mt-2" }, /* @__PURE__ */ React11.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React11.createElement("span", { className: "text-[12px] text-black tracking-tight" }, "Private Huddle"), /* @__PURE__ */ React11.createElement("span", { className: "text-[11px] text-neutral-500" }, "Only invited members can join.")), /* @__PURE__ */ React11.createElement(
|
|
957
957
|
"button",
|
|
958
958
|
{
|
|
959
959
|
type: "button",
|
|
@@ -993,9 +993,9 @@ var UniversalHuddleDetails = ({
|
|
|
993
993
|
},
|
|
994
994
|
showSearch: true
|
|
995
995
|
}
|
|
996
|
-
), showMembersModal && /* @__PURE__ */ React11.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React11.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowMembersModal(false) }), /* @__PURE__ */ React11.createElement("div", { className: "relative w-full max-w-md bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 h-[80vh]" }, /* @__PURE__ */ React11.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React11.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Manage Participants"), /* @__PURE__ */ React11.createElement("button", { onClick: () => setShowMembersModal(false), className: "text-[#068afe] hover:text-[#068afe] transition-colors outline-none text-[
|
|
996
|
+
), showMembersModal && /* @__PURE__ */ React11.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React11.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowMembersModal(false) }), /* @__PURE__ */ React11.createElement("div", { className: "relative w-full max-w-md bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 h-[80vh]" }, /* @__PURE__ */ React11.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React11.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Manage Participants"), /* @__PURE__ */ React11.createElement("button", { onClick: () => setShowMembersModal(false), className: "text-[#068afe] hover:text-[#068afe] transition-colors outline-none text-[12px] " }, "Done")), /* @__PURE__ */ React11.createElement("div", { className: "p-4 shrink-0 " }, /* @__PURE__ */ React11.createElement("div", { className: "relative w-full" }, /* @__PURE__ */ React11.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React11.createElement(HugeiconsIcon7, { icon: Search01Icon2, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ React11.createElement("input", { type: "text", placeholder: "Search team...", value: localSearchQuery, onChange: handleSearchInput, className: "w-full pl-10 pr-4 py-2.5 bg-neutral-100 rounded-full text-[12px] text-black placeholder-neutral-400 outline-none focus:bg-neutral-200 transition-colors" }))), /* @__PURE__ */ React11.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2 relative" }, isMembersLoading || isTyping ? /* @__PURE__ */ React11.createElement("div", { className: "absolute inset-0 flex items-center justify-center" }, /* @__PURE__ */ React11.createElement(HugeiconsIcon7, { icon: Loading03Icon4, size: 28, className: "animate-spin text-black" })) : members.length === 0 ? /* @__PURE__ */ React11.createElement("div", { className: "p-8 text-center text-xs text-neutral-400" }, "No members found.") : members.map((member) => {
|
|
997
997
|
const isChecked = selectedParticipants.has(member.userId);
|
|
998
|
-
return /* @__PURE__ */ React11.createElement("div", { key: member.id, onClick: () => toggleParticipant(member.userId), className: "flex items-center justify-between p-3 rounded-xl cursor-pointer hover:bg-neutral-50 transition-colors select-none" }, /* @__PURE__ */ React11.createElement("div", { className: "flex items-center gap-3 min-w-0 flex-1" }, /* @__PURE__ */ React11.createElement(MemberAvatar, { src: member.avatarUrl, sizeClass: "w-9 h-9" }), /* @__PURE__ */ React11.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ React11.createElement("span", { className: "text-[
|
|
998
|
+
return /* @__PURE__ */ React11.createElement("div", { key: member.id, onClick: () => toggleParticipant(member.userId), className: "flex items-center justify-between p-3 rounded-xl cursor-pointer hover:bg-neutral-50 transition-colors select-none" }, /* @__PURE__ */ React11.createElement("div", { className: "flex items-center gap-3 min-w-0 flex-1" }, /* @__PURE__ */ React11.createElement(MemberAvatar, { src: member.avatarUrl, sizeClass: "w-9 h-9" }), /* @__PURE__ */ React11.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ React11.createElement("span", { className: "text-[12px] text-black truncate" }, member.fullName), /* @__PURE__ */ React11.createElement("span", { className: "text-[11px] text-neutral-400 capitalize truncate" }, member.role.toLowerCase()))), /* @__PURE__ */ React11.createElement("div", { className: "shrink-0 pl-3" }, /* @__PURE__ */ React11.createElement("div", { className: `w-5 h-5 rounded-full flex items-center justify-center transition-colors ${isChecked ? "bg-[#068afe]" : "border border-neutral-300 bg-white"}` }, isChecked && /* @__PURE__ */ React11.createElement(HugeiconsIcon7, { icon: Tick02Icon, size: 14, className: "text-white" }))));
|
|
999
999
|
})), /* @__PURE__ */ React11.createElement("div", { className: "p-4 flex items-center justify-between shrink-0 bg-white" }, /* @__PURE__ */ React11.createElement("span", { className: "text-[10px] text-neutral-400 tracking-widest" }, "Page ", membersCurrentPage, " of ", membersTotalPages === 0 ? 1 : membersTotalPages), /* @__PURE__ */ React11.createElement("div", { className: "flex gap-1" }, /* @__PURE__ */ React11.createElement("button", { disabled: membersCurrentPage <= 1 || isMembersLoading, onClick: () => onMembersPageChange(membersCurrentPage - 1), className: "w-7 h-7 flex items-center justify-center rounded-full bg-white border border-neutral-200 text-neutral-600 disabled:opacity-30 outline-none hover:bg-neutral-50 transition-colors" }, /* @__PURE__ */ React11.createElement(HugeiconsIcon7, { icon: ArrowLeft01Icon2, size: 12 })), /* @__PURE__ */ React11.createElement("button", { disabled: membersCurrentPage >= membersTotalPages || membersTotalPages === 0 || isMembersLoading, onClick: () => onMembersPageChange(membersCurrentPage + 1), className: "w-7 h-7 flex items-center justify-center rounded-full bg-white border border-neutral-200 text-neutral-600 disabled:opacity-30 outline-none hover:bg-neutral-50 transition-colors" }, /* @__PURE__ */ React11.createElement(HugeiconsIcon7, { icon: ArrowRight01Icon2, size: 12 })))))));
|
|
1000
1000
|
};
|
|
1001
1001
|
|
|
@@ -1254,7 +1254,7 @@ var UniversalOrganizationPage = ({
|
|
|
1254
1254
|
"button",
|
|
1255
1255
|
{
|
|
1256
1256
|
onClick: onBackHandler,
|
|
1257
|
-
className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[
|
|
1257
|
+
className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[12px] outline-none"
|
|
1258
1258
|
},
|
|
1259
1259
|
/* @__PURE__ */ React15.createElement(HugeiconsIcon10, { icon: ArrowLeft01Icon3, size: 16 }),
|
|
1260
1260
|
" Back"
|
|
@@ -1420,7 +1420,7 @@ var UniversalProfileSettings = ({
|
|
|
1420
1420
|
"button",
|
|
1421
1421
|
{
|
|
1422
1422
|
onClick: onBackHandler,
|
|
1423
|
-
className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[
|
|
1423
|
+
className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[12px] outline-none"
|
|
1424
1424
|
},
|
|
1425
1425
|
/* @__PURE__ */ React16.createElement(HugeiconsIcon11, { icon: ArrowLeft01Icon4, size: 16 }),
|
|
1426
1426
|
" Back"
|
|
@@ -1735,7 +1735,7 @@ var UniversalTransactionPage = ({
|
|
|
1735
1735
|
placeholder: "Search reference or amount...",
|
|
1736
1736
|
value: localSearchQuery,
|
|
1737
1737
|
onChange: (e) => setLocalSearchQuery(e.target.value),
|
|
1738
|
-
className: "w-full pl-10 pr-4 py-2 bg-white rounded-full text-[
|
|
1738
|
+
className: "w-full pl-10 pr-4 py-2 bg-white rounded-full text-[12px] text-black placeholder-neutral-400 outline-none transition-colors focus:border-black"
|
|
1739
1739
|
}
|
|
1740
1740
|
)), /* @__PURE__ */ React19.createElement("div", { className: "flex items-center gap-3 w-auto pb-0 shrink-0" }, /* @__PURE__ */ React19.createElement(
|
|
1741
1741
|
"button",
|
|
@@ -1758,7 +1758,7 @@ var UniversalTransactionPage = ({
|
|
|
1758
1758
|
onClick: () => setSelectedTransaction(tx),
|
|
1759
1759
|
className: "flex items-center justify-between py-4 hover:bg-neutral-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl"
|
|
1760
1760
|
},
|
|
1761
|
-
/* @__PURE__ */ React19.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React19.createElement("div", { className: `w-10 h-10 shrink-0 rounded-full flex items-center justify-center border border-neutral-200 text-black` }, /* @__PURE__ */ React19.createElement(HugeiconsIcon14, { icon: tx.direction === "CREDIT" ? ArrowDownRight01Icon : ArrowUpRight01Icon, size: 18 })), /* @__PURE__ */ React19.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-1" }, /* @__PURE__ */ React19.createElement("p", { className: "text-[
|
|
1761
|
+
/* @__PURE__ */ React19.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React19.createElement("div", { className: `w-10 h-10 shrink-0 rounded-full flex items-center justify-center border border-neutral-200 text-black` }, /* @__PURE__ */ React19.createElement(HugeiconsIcon14, { icon: tx.direction === "CREDIT" ? ArrowDownRight01Icon : ArrowUpRight01Icon, size: 18 })), /* @__PURE__ */ React19.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-1" }, /* @__PURE__ */ React19.createElement("p", { className: "text-[12px] text-black truncate" }, tx.name), /* @__PURE__ */ React19.createElement("p", { className: `text-[12px] text-neutral-500 truncate transition-all duration-300 ${hideBalanceAmounts ? "blur-sm opacity-40 select-none" : ""}` }, tx.amount))),
|
|
1762
1762
|
/* @__PURE__ */ React19.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ React19.createElement("span", { className: "text-[11px] text-neutral-400" }, formatDate2(tx.createdAt)), /* @__PURE__ */ React19.createElement("span", { className: "text-[11px] text-neutral-400 capitalize" }, tx.direction.toLowerCase()))
|
|
1763
1763
|
))), !hidePagination && /* @__PURE__ */ React19.createElement("div", { className: "flex items-center justify-between pt-6 mt-2 " }, /* @__PURE__ */ React19.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em]" }, "Page ", currentPage, " of ", totalPages === 0 ? 1 : totalPages), /* @__PURE__ */ React19.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React19.createElement(
|
|
1764
1764
|
"button",
|
|
@@ -1776,18 +1776,18 @@ var UniversalTransactionPage = ({
|
|
|
1776
1776
|
className: "p-2 bg-white border border-neutral-200 rounded-full text-black hover:bg-neutral-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none"
|
|
1777
1777
|
},
|
|
1778
1778
|
/* @__PURE__ */ React19.createElement(HugeiconsIcon14, { icon: ArrowRight01Icon3, size: 14 })
|
|
1779
|
-
)))))), selectedTransaction && /* @__PURE__ */ React19.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React19.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setSelectedTransaction(null) }), /* @__PURE__ */ React19.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[90vh]" }, /* @__PURE__ */ React19.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React19.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Details"), /* @__PURE__ */ React19.createElement("button", { onClick: () => setSelectedTransaction(null), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React19.createElement(HugeiconsIcon14, { icon: CancelCircleIcon4, size: 18 }))), /* @__PURE__ */ React19.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6" }, /* @__PURE__ */ React19.createElement("div", { className: "flex flex-col items-center justify-center mb-4" }, /* @__PURE__ */ React19.createElement("div", { className: `w-12 h-12 rounded-full flex items-center justify-center mb-4 border border-neutral-200 text-black` }, /* @__PURE__ */ React19.createElement(HugeiconsIcon14, { icon: selectedTransaction.direction === "CREDIT" ? ArrowDownRight01Icon : ArrowUpRight01Icon, size: 20 })), /* @__PURE__ */ React19.createElement("p", { className: `text-2xl text-black mb-2 transition-all duration-300 ${hideBalanceAmounts ? "blur-[6px] opacity-40 select-none" : ""}` }, selectedTransaction.amount), /* @__PURE__ */ React19.createElement("span", { className: `text-[9px] tracking-widest px-4 py-1.5 rounded-full ${getStatusClasses(selectedTransaction.status)}` }, selectedTransaction.status)), /* @__PURE__ */ React19.createElement("div", { className: "grid grid-cols-1 gap-y-8 gap-x-4 mb-10 mt-6" }, /* @__PURE__ */ React19.createElement("div", null, /* @__PURE__ */ React19.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Reference ID"), /* @__PURE__ */ React19.createElement("div", { className: "flex items-center gap-2 min-w-0" }, /* @__PURE__ */ React19.createElement("span", { className: "text-[
|
|
1779
|
+
)))))), selectedTransaction && /* @__PURE__ */ React19.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React19.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setSelectedTransaction(null) }), /* @__PURE__ */ React19.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[90vh]" }, /* @__PURE__ */ React19.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React19.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Details"), /* @__PURE__ */ React19.createElement("button", { onClick: () => setSelectedTransaction(null), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React19.createElement(HugeiconsIcon14, { icon: CancelCircleIcon4, size: 18 }))), /* @__PURE__ */ React19.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6" }, /* @__PURE__ */ React19.createElement("div", { className: "flex flex-col items-center justify-center mb-4" }, /* @__PURE__ */ React19.createElement("div", { className: `w-12 h-12 rounded-full flex items-center justify-center mb-4 border border-neutral-200 text-black` }, /* @__PURE__ */ React19.createElement(HugeiconsIcon14, { icon: selectedTransaction.direction === "CREDIT" ? ArrowDownRight01Icon : ArrowUpRight01Icon, size: 20 })), /* @__PURE__ */ React19.createElement("p", { className: `text-2xl text-black mb-2 transition-all duration-300 ${hideBalanceAmounts ? "blur-[6px] opacity-40 select-none" : ""}` }, selectedTransaction.amount), /* @__PURE__ */ React19.createElement("span", { className: `text-[9px] tracking-widest px-4 py-1.5 rounded-full ${getStatusClasses(selectedTransaction.status)}` }, selectedTransaction.status)), /* @__PURE__ */ React19.createElement("div", { className: "grid grid-cols-1 gap-y-8 gap-x-4 mb-10 mt-6" }, /* @__PURE__ */ React19.createElement("div", null, /* @__PURE__ */ React19.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Reference ID"), /* @__PURE__ */ React19.createElement("div", { className: "flex items-center gap-2 min-w-0" }, /* @__PURE__ */ React19.createElement("span", { className: "text-[12px] text-black truncate min-w-0 block" }, truncateReference(selectedTransaction.reference)), /* @__PURE__ */ React19.createElement(
|
|
1780
1780
|
"button",
|
|
1781
1781
|
{
|
|
1782
1782
|
onClick: () => handleCopyReference(selectedTransaction.reference),
|
|
1783
1783
|
className: "text-neutral-400 hover:text-black transition-colors outline-none"
|
|
1784
1784
|
},
|
|
1785
1785
|
/* @__PURE__ */ React19.createElement(HugeiconsIcon14, { icon: Copy01Icon, size: 14 })
|
|
1786
|
-
))), /* @__PURE__ */ React19.createElement("div", null, /* @__PURE__ */ React19.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Description"), /* @__PURE__ */ React19.createElement("span", { className: "text-[
|
|
1786
|
+
))), /* @__PURE__ */ React19.createElement("div", null, /* @__PURE__ */ React19.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Description"), /* @__PURE__ */ React19.createElement("span", { className: "text-[12px] text-black" }, selectedTransaction.description)), /* @__PURE__ */ React19.createElement("div", null, /* @__PURE__ */ React19.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Date & Time"), /* @__PURE__ */ React19.createElement("span", { className: "text-[12px] text-black" }, formatDate2(selectedTransaction.createdAt), " at ", formatTime(selectedTransaction.createdAt))), /* @__PURE__ */ React19.createElement("div", null, /* @__PURE__ */ React19.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Transaction Type"), /* @__PURE__ */ React19.createElement("span", { className: "text-[12px] text-black capitalize" }, selectedTransaction.type.replace("_", " ").toLowerCase())), /* @__PURE__ */ React19.createElement("div", null, /* @__PURE__ */ React19.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Flow Direction"), /* @__PURE__ */ React19.createElement("span", { className: "text-[12px] text-black capitalize" }, selectedTransaction.direction.toLowerCase())), selectedTransaction.metadata?.fromAddress && selectedTransaction.metadata?.toAddress && /* @__PURE__ */ React19.createElement("div", null, /* @__PURE__ */ React19.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Transfer Route"), /* @__PURE__ */ React19.createElement("div", { className: "flex items-center gap-2 text-[12px] text-black" }, /* @__PURE__ */ React19.createElement("span", { className: "truncate" }, truncateAddress(String(selectedTransaction.metadata.fromAddress))), /* @__PURE__ */ React19.createElement("span", { className: "text-neutral-400" }, "\u2192"), /* @__PURE__ */ React19.createElement("span", { className: "truncate" }, truncateAddress(String(selectedTransaction.metadata.toAddress))))), selectedTransaction.metadata && Object.entries(selectedTransaction.metadata).map(([key, value]) => {
|
|
1787
1787
|
if (key === "fromAddress" || key === "toAddress") return null;
|
|
1788
1788
|
if (value === null || value === void 0 || typeof value === "object") return null;
|
|
1789
1789
|
const formattedKey = key.includes(" ") ? key : key.replace(/([A-Z])/g, " $1").replace(/^./, (str) => str.toUpperCase());
|
|
1790
|
-
return /* @__PURE__ */ React19.createElement("div", { key }, /* @__PURE__ */ React19.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, formattedKey), /* @__PURE__ */ React19.createElement("span", { className: "text-[
|
|
1790
|
+
return /* @__PURE__ */ React19.createElement("div", { key }, /* @__PURE__ */ React19.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, formattedKey), /* @__PURE__ */ React19.createElement("span", { className: "text-[12px] text-black break-all" }, String(value)));
|
|
1791
1791
|
})), /* @__PURE__ */ React19.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React19.createElement(
|
|
1792
1792
|
ThreeDActionButton,
|
|
1793
1793
|
{
|
|
@@ -1803,7 +1803,7 @@ var UniversalTransactionPage = ({
|
|
|
1803
1803
|
className: "w-full flex items-center justify-center py-2.5 rounded-full border border-neutral-200 text-black hover:bg-neutral-50 transition-colors outline-none text-xs tracking-wide mt-2"
|
|
1804
1804
|
},
|
|
1805
1805
|
"Report Transaction"
|
|
1806
|
-
))))), isDirectionModalOpen && /* @__PURE__ */ React19.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React19.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setIsDirectionModalOpen(false) }), /* @__PURE__ */ React19.createElement("div", { ref: directionDropdownRef, className: "relative w-72 bg-white shadow-2xl rounded-2xl flex flex-col items-center overflow-hidden animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React19.createElement("div", { className: "p-6 text-center w-full mb-2" }, /* @__PURE__ */ React19.createElement("h3", { className: "text-[
|
|
1806
|
+
))))), isDirectionModalOpen && /* @__PURE__ */ React19.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React19.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setIsDirectionModalOpen(false) }), /* @__PURE__ */ React19.createElement("div", { ref: directionDropdownRef, className: "relative w-72 bg-white shadow-2xl rounded-2xl flex flex-col items-center overflow-hidden animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React19.createElement("div", { className: "p-6 text-center w-full mb-2" }, /* @__PURE__ */ React19.createElement("h3", { className: "text-[12px] text-black tracking-tight" }, "Payment Type")), /* @__PURE__ */ React19.createElement("div", { className: "w-full flex flex-col pl-2 pr-2 gap-1" }, ["ALL", "CREDIT", "DEBIT"].map((option) => /* @__PURE__ */ React19.createElement(
|
|
1807
1807
|
"button",
|
|
1808
1808
|
{
|
|
1809
1809
|
key: option,
|
|
@@ -1818,10 +1818,10 @@ var UniversalTransactionPage = ({
|
|
|
1818
1818
|
"button",
|
|
1819
1819
|
{
|
|
1820
1820
|
onClick: () => setIsDirectionModalOpen(false),
|
|
1821
|
-
className: "w-full py-4 text-[
|
|
1821
|
+
className: "w-full py-4 text-[12px] text-neutral-500 hover:text-black transition-colors outline-none "
|
|
1822
1822
|
},
|
|
1823
1823
|
"Cancel"
|
|
1824
|
-
)))), isTypeModalOpen && /* @__PURE__ */ React19.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React19.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setIsTypeModalOpen(false) }), /* @__PURE__ */ React19.createElement("div", { ref: typeDropdownRef, className: "relative w-72 bg-white shadow-2xl rounded-2xl flex flex-col items-center overflow-hidden animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React19.createElement("div", { className: "p-6 text-center w-full mb-2" }, /* @__PURE__ */ React19.createElement("h3", { className: "text-[
|
|
1824
|
+
)))), isTypeModalOpen && /* @__PURE__ */ React19.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React19.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setIsTypeModalOpen(false) }), /* @__PURE__ */ React19.createElement("div", { ref: typeDropdownRef, className: "relative w-72 bg-white shadow-2xl rounded-2xl flex flex-col items-center overflow-hidden animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React19.createElement("div", { className: "p-6 text-center w-full mb-2" }, /* @__PURE__ */ React19.createElement("h3", { className: "text-[12px] text-black tracking-tight" }, "Transactions Type")), /* @__PURE__ */ React19.createElement("div", { className: "w-full flex flex-col pl-2 pr-2 gap-1" }, [
|
|
1825
1825
|
{ label: "All Transactions", value: "ALL" },
|
|
1826
1826
|
{ label: "Wallet Transactions", value: "WALLET_TRANSACTION" },
|
|
1827
1827
|
{ label: "Card Transactions", value: "CARD_TRANSACTION" }
|
|
@@ -1840,7 +1840,7 @@ var UniversalTransactionPage = ({
|
|
|
1840
1840
|
"button",
|
|
1841
1841
|
{
|
|
1842
1842
|
onClick: () => setIsTypeModalOpen(false),
|
|
1843
|
-
className: "w-full py-4 text-[
|
|
1843
|
+
className: "w-full py-4 text-[12px] text-neutral-500 hover:text-black transition-colors outline-none "
|
|
1844
1844
|
},
|
|
1845
1845
|
"Cancel"
|
|
1846
1846
|
)))));
|
|
@@ -1937,7 +1937,7 @@ var UniversalHomeView = ({
|
|
|
1937
1937
|
hideBalanceAmounts: false,
|
|
1938
1938
|
hidePagination: true
|
|
1939
1939
|
}
|
|
1940
|
-
)), showNotifDialog && /* @__PURE__ */ React20.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ React20.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 h-[80vh]" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, selectedNotif ? /* @__PURE__ */ React20.createElement("button", { onClick: () => setSelectedNotif(null), className: "text-neutral-400 hover:text-black transition-colors outline-none flex items-center gap-2 text-[11px] tracking-widest " }, /* @__PURE__ */ React20.createElement(HugeiconsIcon15, { icon: ArrowLeft01Icon6, size: 14 }), " Back") : /* @__PURE__ */ React20.createElement("h3", { className: "text-[15px] text-black tracking-tight flex items-center gap-2" }, "Notifications", isNotifsLoading && /* @__PURE__ */ React20.createElement(HugeiconsIcon15, { icon: Loading03Icon8, size: 14, className: "animate-spin text-neutral-400" })), /* @__PURE__ */ React20.createElement("button", { onClick: () => setShowNotifDialog(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React20.createElement(HugeiconsIcon15, { icon: CancelCircleIcon5, size: 18 }))), /* @__PURE__ */ React20.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, selectedNotif ? /* @__PURE__ */ React20.createElement("div", { className: "p-4 text-left" }, /* @__PURE__ */ React20.createElement("h4", { className: "text-[
|
|
1940
|
+
)), showNotifDialog && /* @__PURE__ */ React20.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ React20.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 h-[80vh]" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, selectedNotif ? /* @__PURE__ */ React20.createElement("button", { onClick: () => setSelectedNotif(null), className: "text-neutral-400 hover:text-black transition-colors outline-none flex items-center gap-2 text-[11px] tracking-widest " }, /* @__PURE__ */ React20.createElement(HugeiconsIcon15, { icon: ArrowLeft01Icon6, size: 14 }), " Back") : /* @__PURE__ */ React20.createElement("h3", { className: "text-[15px] text-black tracking-tight flex items-center gap-2" }, "Notifications", isNotifsLoading && /* @__PURE__ */ React20.createElement(HugeiconsIcon15, { icon: Loading03Icon8, size: 14, className: "animate-spin text-neutral-400" })), /* @__PURE__ */ React20.createElement("button", { onClick: () => setShowNotifDialog(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React20.createElement(HugeiconsIcon15, { icon: CancelCircleIcon5, size: 18 }))), /* @__PURE__ */ React20.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, selectedNotif ? /* @__PURE__ */ React20.createElement("div", { className: "p-4 text-left" }, /* @__PURE__ */ React20.createElement("h4", { className: "text-[12px] text-black mb-1 " }, selectedNotif.title), /* @__PURE__ */ React20.createElement("span", { className: "text-[10px] text-neutral-400 tracking-widest mb-4 block " }, formatNotifDate(selectedNotif.createdAt)), /* @__PURE__ */ React20.createElement("p", { className: "text-[12px] text-neutral-600 leading-relaxed whitespace-pre-wrap" }, selectedNotif.message)) : /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col divide-y divide-neutral-50/50" }, notifications?.length === 0 && !isNotifsLoading ? /* @__PURE__ */ React20.createElement("div", { className: "p-8 text-center text-xs text-neutral-400" }, "You have no notifications.") : notifications?.map((notif) => /* @__PURE__ */ React20.createElement(
|
|
1941
1941
|
"div",
|
|
1942
1942
|
{
|
|
1943
1943
|
key: notif.id,
|
|
@@ -2128,16 +2128,16 @@ var UniversalWalletPage = ({
|
|
|
2128
2128
|
setIsProcessing(false);
|
|
2129
2129
|
}
|
|
2130
2130
|
};
|
|
2131
|
-
return /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ React21.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[
|
|
2131
|
+
return /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ React21.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[12px] outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: ArrowLeft01Icon7, size: 16 }), " Back")), /* @__PURE__ */ React21.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React21.createElement(ManagedToaster, null), !hideControls && /* @__PURE__ */ React21.createElement("div", { className: "flex flex-row flex-nowrap mb-4 items-center justify-between gap-4 w-full" }, /* @__PURE__ */ React21.createElement("div", { className: "relative flex-1 min-w-0 max-w-full" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: Search01Icon4, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ React21.createElement(
|
|
2132
2132
|
"input",
|
|
2133
2133
|
{
|
|
2134
2134
|
type: "text",
|
|
2135
2135
|
placeholder: "Search wallets by name or network...",
|
|
2136
2136
|
value: localSearchQuery,
|
|
2137
2137
|
onChange: (e) => setLocalSearchQuery(e.target.value),
|
|
2138
|
-
className: "w-full pl-10 pr-4 py-2 bg-white rounded-full text-[
|
|
2138
|
+
className: "w-full pl-10 pr-4 py-2 bg-white rounded-full text-[12px] text-black placeholder-neutral-400 outline-none transition-colors focus:border-black"
|
|
2139
2139
|
}
|
|
2140
|
-
)), !external && /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3 w-auto pb-0 shrink-0" }, /* @__PURE__ */ React21.createElement("button", { onClick: startWalletGeneration, className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-neutral-500 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: PlusSignIcon, size: 16 })), /* @__PURE__ */ React21.createElement("button", { onClick: startWalletImport, className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-neutral-500 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: Upload01Icon, size: 16 })))), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-4" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, headerTitle), headerDescription && /* @__PURE__ */ React21.createElement("p", { className: "text-xs text-neutral-500" }, headerDescription))), /* @__PURE__ */ React21.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ React21.createElement(PageSpinner3, null) : /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React21.createElement("div", null, filteredWallets.length === 0 ? /* @__PURE__ */ React21.createElement("p", { className: "text-xs text-neutral-400 py-6 text-center" }, "No wallets found") : filteredWallets.map((wallet) => /* @__PURE__ */ React21.createElement("div", { key: wallet.id, onClick: () => setSelectedWallet(wallet), className: "flex items-center justify-between py-4 hover:bg-neutral-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React21.createElement("div", { className: "relative shrink-0" }, /* @__PURE__ */ React21.createElement(WalletLogo, { src: wallet.logoSrc, alt: wallet.name }), wallet.networkLogoSrc && /* @__PURE__ */ React21.createElement("div", { className: "absolute -bottom-1 -right-1 w-4 h-4 rounded-full border border-white bg-white overflow-hidden shadow-sm" }, /* @__PURE__ */ React21.createElement("img", { src: wallet.networkLogoSrc, alt: "Network", className: "w-full h-full object-cover" }))), /* @__PURE__ */ React21.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-1" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React21.createElement("p", { className: "text-[
|
|
2140
|
+
)), !external && /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3 w-auto pb-0 shrink-0" }, /* @__PURE__ */ React21.createElement("button", { onClick: startWalletGeneration, className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-neutral-500 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: PlusSignIcon, size: 16 })), /* @__PURE__ */ React21.createElement("button", { onClick: startWalletImport, className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-neutral-500 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: Upload01Icon, size: 16 })))), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-4" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, headerTitle), headerDescription && /* @__PURE__ */ React21.createElement("p", { className: "text-xs text-neutral-500" }, headerDescription))), /* @__PURE__ */ React21.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ React21.createElement(PageSpinner3, null) : /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React21.createElement("div", null, filteredWallets.length === 0 ? /* @__PURE__ */ React21.createElement("p", { className: "text-xs text-neutral-400 py-6 text-center" }, "No wallets found") : filteredWallets.map((wallet) => /* @__PURE__ */ React21.createElement("div", { key: wallet.id, onClick: () => setSelectedWallet(wallet), className: "flex items-center justify-between py-4 hover:bg-neutral-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React21.createElement("div", { className: "relative shrink-0" }, /* @__PURE__ */ React21.createElement(WalletLogo, { src: wallet.logoSrc, alt: wallet.name }), wallet.networkLogoSrc && /* @__PURE__ */ React21.createElement("div", { className: "absolute -bottom-1 -right-1 w-4 h-4 rounded-full border border-white bg-white overflow-hidden shadow-sm" }, /* @__PURE__ */ React21.createElement("img", { src: wallet.networkLogoSrc, alt: "Network", className: "w-full h-full object-cover" }))), /* @__PURE__ */ React21.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-1" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React21.createElement("p", { className: "text-[12px] text-black truncate" }, wallet.name), !external && wallet.isActive !== void 0 && /* @__PURE__ */ React21.createElement("span", { className: `text-[9px] px-1.5 py-0.5 rounded-sm tracking-widest ${wallet.isActive ? "bg-emerald-50 text-emerald-600" : "bg-red-50 text-red-600"}` }, wallet.isActive ? "Active" : "Inactive")), /* @__PURE__ */ React21.createElement("p", { className: `text-[12px] text-neutral-500 truncate transition-all duration-300 ${hideBalanceAmounts && !external ? "blur-sm opacity-40 select-none" : ""}` }, external ? wallet.currency : `${wallet.balance} ${wallet.currency}`))), /* @__PURE__ */ React21.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ React21.createElement("span", { className: "text-[10px] tracking-wide text-neutral-600 bg-neutral-100 px-2.5 py-1 rounded-full " }, wallet.network)))))))), addModalOpen && /* @__PURE__ */ React21.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isProcessing && setAddModalOpen(false) }), /* @__PURE__ */ React21.createElement("div", { className: "relative w-full max-w-md bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, flowStep === 1 ? "Important Notice" : flowStep === 2 ? "Secret Recovery Phrase" : flowStep === 3 ? "Verify Phrase" : "Secure Wallet"), /* @__PURE__ */ React21.createElement("button", { onClick: () => !isProcessing && setAddModalOpen(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: CancelCircleIcon6, size: 18 }))), /* @__PURE__ */ React21.createElement("div", { className: "p-6" }, flowStep === 1 && /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in" }, /* @__PURE__ */ React21.createElement(Banner, { type: "alert", title: "Critical Warning", message: "You are about to generate a Self-Custodial Recovery Phrase. This phrase is the absolute master key to your wallet and all assets within it. Aeona DOES NOT store this phrase. If you lose it, your funds are permanently lost. Do not share this phrase with anyone.", isDismissible: false }), /* @__PURE__ */ React21.createElement(ThreeDActionButton, { onClick: handleCreationNext, className: "w-full mt-2" }, "I Understand, Generate Phrase")), flowStep === 2 && /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in slide-in-from-right-4" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-neutral-600" }, "Please write down these words in the exact order shown. Store them in a secure, offline location."), /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-3 gap-2 max-h-48 overflow-y-auto custom-scrollbar pr-1" }, generatedPhrase.split(" ").map((word, idx) => /* @__PURE__ */ React21.createElement("div", { key: idx, className: "flex items-center gap-1.5 bg-neutral-50 rounded-lg p-2 selection:bg-neutral-100" }, /* @__PURE__ */ React21.createElement("span", { className: "text-[10px] text-neutral-400 select-none w-4 text-right shrink-0" }, idx + 1, "."), /* @__PURE__ */ React21.createElement("span", { className: "text-[12px] text-black " }, word)))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between gap-2 0 pt-4" }, /* @__PURE__ */ React21.createElement("button", { type: "button", onClick: () => handleCopy(generatedPhrase, false), className: "text-xs text-black flex items-center gap-1.5 hover:underline outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: Copy01Icon2, size: 14 }), " Copy Phrase"), /* @__PURE__ */ React21.createElement("button", { type: "button", onClick: handleDownloadTxt, className: "text-xs text-black flex items-center gap-1.5 hover:underline outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: Download01Icon, size: 14 }), " Download .txt")), /* @__PURE__ */ React21.createElement("div", { className: "flex items-start gap-3 p-3 rounded-xl border border-neutral-200 mt-2" }, /* @__PURE__ */ React21.createElement("input", { type: "checkbox", id: "backup-confirm", checked: hasBackedUp, onChange: (e) => setHasBackedUp(e.target.checked), className: "mt-0.5 w-4 h-4 bg-white border-neutral-300 rounded text-black focus:ring-black cursor-pointer shrink-0" }), /* @__PURE__ */ React21.createElement("label", { htmlFor: "backup-confirm", className: "text-xs text-neutral-600 cursor-pointer leading-relaxed" }, "I have securely copied and stored my recovery phrase. I understand that if I lose it, my funds are gone forever.")), /* @__PURE__ */ React21.createElement(ThreeDActionButton, { onClick: handleCreationNext, className: "w-full mt-2" }, "Continue")), flowStep === 3 && /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in slide-in-from-right-4" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-neutral-600" }, "Please enter or paste your recovery phrase below to verify your backup."), /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-3 gap-2 max-h-56 overflow-y-auto custom-scrollbar pr-1 pb-1" }, verifyWords.map((word, idx) => /* @__PURE__ */ React21.createElement("div", { key: idx, className: "flex items-center gap-1 bg-white border border-neutral-200 focus-within:border-black rounded-lg p-1.5 transition-colors" }, /* @__PURE__ */ React21.createElement("span", { className: "text-[10px] text-neutral-400 w-4 shrink-0 text-right select-none" }, idx + 1, "."), /* @__PURE__ */ React21.createElement(
|
|
2141
2141
|
"input",
|
|
2142
2142
|
{
|
|
2143
2143
|
type: "text",
|
|
@@ -2160,7 +2160,7 @@ var UniversalWalletPage = ({
|
|
|
2160
2160
|
toast5.success("Phrase auto-filled.");
|
|
2161
2161
|
}
|
|
2162
2162
|
},
|
|
2163
|
-
className: "w-full bg-transparent text-[
|
|
2163
|
+
className: "w-full bg-transparent text-[12px] text-black outline-none min-w-0"
|
|
2164
2164
|
}
|
|
2165
2165
|
)))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between pt-4" }, /* @__PURE__ */ React21.createElement("button", { type: "button", onClick: () => handleGridPaste(setVerifyWords, verifyWords), className: "text-xs text-black flex items-center gap-1.5 hover:underline outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: ClipboardIcon, size: 14 }), " Paste Phrase")), /* @__PURE__ */ React21.createElement(ThreeDActionButton, { onClick: handleCreationNext, className: "w-full mt-2" }, "Verify Backup")), flowStep === 4 && /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in slide-in-from-right-4" }, /* @__PURE__ */ React21.createElement(Banner, { type: "success", title: "Phrase Verified", message: "Your phrase is correct. Now set a local password to encrypt your wallet on this browser.", isDismissible: false }), /* @__PURE__ */ React21.createElement(TextInput, { label: "Local Password", type: "password", value: walletPassword, onChange: setWalletPassword, placeholder: "Enter a strong password" }), /* @__PURE__ */ React21.createElement(ThreeDActionButton, { onClick: () => handleSaveWallet("generated"), isLoading: isProcessing, className: "w-full mt-2" }, "Encrypt & Save Wallet"))))), importModalOpen && /* @__PURE__ */ React21.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isProcessing && setImportModalOpen(false) }), /* @__PURE__ */ React21.createElement("div", { className: "relative w-full max-w-md bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React21.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Import Wallet"), /* @__PURE__ */ React21.createElement("button", { onClick: () => !isProcessing && setImportModalOpen(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: CancelCircleIcon6, size: 18 }))), /* @__PURE__ */ React21.createElement("div", { className: "p-6" }, flowStep === 1 && /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-neutral-600" }, "Enter your 12 or 24-word recovery phrase to restore your wallet on this device."), /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-3 gap-2 max-h-56 overflow-y-auto custom-scrollbar pr-1 pb-1" }, importWords.map((word, idx) => /* @__PURE__ */ React21.createElement("div", { key: idx, className: "flex items-center gap-1 bg-white border border-neutral-200 focus-within:border-black rounded-lg p-1.5 transition-colors" }, /* @__PURE__ */ React21.createElement("span", { className: "text-[10px] text-neutral-400 w-4 shrink-0 text-right select-none" }, idx + 1, "."), /* @__PURE__ */ React21.createElement(
|
|
2166
2166
|
"input",
|
|
@@ -2186,7 +2186,7 @@ var UniversalWalletPage = ({
|
|
|
2186
2186
|
toast5.success("Phrase auto-filled.");
|
|
2187
2187
|
}
|
|
2188
2188
|
},
|
|
2189
|
-
className: "w-full bg-transparent text-[
|
|
2189
|
+
className: "w-full bg-transparent text-[12px] text-black outline-none min-w-0"
|
|
2190
2190
|
}
|
|
2191
2191
|
)))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between pt-4" }, /* @__PURE__ */ React21.createElement("button", { type: "button", onClick: () => handleGridPaste(setImportWords, importWords), className: "text-xs text-black flex items-center gap-1.5 hover:underline outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: ClipboardIcon, size: 14 }), " Paste Phrase")), /* @__PURE__ */ React21.createElement(ThreeDActionButton, { onClick: handleImportNext, className: "w-full mt-2" }, "Continue")), flowStep === 2 && /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in slide-in-from-right-4" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-neutral-600" }, "Set a local password to encrypt this wallet on this specific browser."), /* @__PURE__ */ React21.createElement(TextInput, { label: "Local Password", type: "password", value: walletPassword, onChange: setWalletPassword, placeholder: "Enter a strong password" }), /* @__PURE__ */ React21.createElement(ThreeDActionButton, { onClick: () => handleSaveWallet("imported"), isLoading: isProcessing, className: "w-full mt-2" }, "Encrypt & Import Wallet"))))), selectedWallet && /* @__PURE__ */ React21.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setSelectedWallet(null) }), /* @__PURE__ */ React21.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[90vh]" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React21.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Wallet Details"), /* @__PURE__ */ React21.createElement("button", { onClick: () => setSelectedWallet(null), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: CancelCircleIcon6, size: 18 }))), /* @__PURE__ */ React21.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 pt-6" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col items-center justify-center mb-6" }, /* @__PURE__ */ React21.createElement("div", { className: "relative mb-4" }, /* @__PURE__ */ React21.createElement(WalletLogo, { src: selectedWallet.logoSrc, alt: selectedWallet.name, sizeClass: "w-14 h-14" }), selectedWallet.networkLogoSrc && /* @__PURE__ */ React21.createElement("div", { className: "absolute -bottom-1 -right-1 w-5 h-5 rounded-full border border-white bg-white overflow-hidden shadow-sm" }, /* @__PURE__ */ React21.createElement("img", { src: selectedWallet.networkLogoSrc, alt: "Network", className: "w-full h-full object-cover" }))), /* @__PURE__ */ React21.createElement("h2", { className: `text-2xl text-black mb-2 transition-all duration-300 ${hideBalanceAmounts && !external ? "blur-[6px] opacity-40 select-none" : ""}` }, external ? selectedWallet.currency : `${selectedWallet.balance} ${selectedWallet.currency}`), /* @__PURE__ */ React21.createElement("span", { className: "text-[9px] tracking-widest text-neutral-500 px-4 py-1.5 rounded-full border border-neutral-200 mt-1 " }, selectedWallet.network, " NETWORK")), renderQrCode && /* @__PURE__ */ React21.createElement("div", { className: "w-full flex justify-center mb-6 mix-blend-multiply" }, renderQrCode(selectedWallet)), external && /* @__PURE__ */ React21.createElement("div", { className: "mb-6" }, /* @__PURE__ */ React21.createElement(
|
|
2192
2192
|
Banner,
|
|
@@ -2196,7 +2196,7 @@ var UniversalWalletPage = ({
|
|
|
2196
2196
|
message: `Ensure you only send assets using the exact network specified. Minimum deposit is 15 ${selectedWallet.currency}. Sending funds through an unsupported network or under the minimum will result in permanent loss of funds.`,
|
|
2197
2197
|
isDismissible: false
|
|
2198
2198
|
}
|
|
2199
|
-
)), /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-1 gap-y-6 gap-x-4 mb-10" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Wallet Address"), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2 min-w-0" }, /* @__PURE__ */ React21.createElement("span", { className: "text-[
|
|
2199
|
+
)), /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-1 gap-y-6 gap-x-4 mb-10" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Wallet Address"), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2 min-w-0" }, /* @__PURE__ */ React21.createElement("span", { className: "text-[12px] text-black truncate min-w-0 block" }, truncateAddress2(selectedWallet.address)), /* @__PURE__ */ React21.createElement("button", { type: "button", onClick: () => setShowCopyWarning(true), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: Copy01Icon2, size: 14 })))), !external && /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Wallet Status"), selectedWallet.isActive ? /* @__PURE__ */ React21.createElement("span", { className: "text-[12px] px-1.5 py-0.5 bg-emerald-50 text-emerald-600 " }, "Active on this device") : /* @__PURE__ */ React21.createElement("span", { className: "text-[12px] px-1.5 py-0.5 bg-red-50 text-red-600 " }, "Inactive - Requires Import"))), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React21.createElement("button", { type: "button", onClick: () => setShowCopyWarning(true), className: "w-full flex items-center justify-center py-2.5 rounded-full border border-neutral-200 text-black hover:bg-neutral-50 outline-none text-xs tracking-wide transition-colors" }, "Copy Wallet Address"))))), selectedWallet && /* @__PURE__ */ React21.createElement(
|
|
2200
2200
|
ConfirmationDialog,
|
|
2201
2201
|
{
|
|
2202
2202
|
isOpen: showCopyWarning,
|
|
@@ -2256,7 +2256,7 @@ var UniversalCardPage = ({
|
|
|
2256
2256
|
img.onload = () => setIsBgLoaded(true);
|
|
2257
2257
|
}, [activeCard?.cardBgSrc]);
|
|
2258
2258
|
if (!activeCard || sortedCards.length === 0) {
|
|
2259
|
-
return /* @__PURE__ */ React22.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300 relative min-h-100 justify-center" }, /* @__PURE__ */ React22.createElement("div", { className: "p-6 w-full max-w-md mx-auto text-center" }, /* @__PURE__ */ React22.createElement("div", { className: "mb-8 flex justify-center" }, /* @__PURE__ */ React22.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", className: "w-12 h-12 fill-neutral-100" }, /* @__PURE__ */ React22.createElement("path", { fillRule: "evenodd", d: "M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z", clipRule: "evenodd" }))), /* @__PURE__ */ React22.createElement("h1", { className: "text-xl text-black tracking-tight mb-4" }, "No cards available"), /* @__PURE__ */ React22.createElement("p", { className: "text-[
|
|
2259
|
+
return /* @__PURE__ */ React22.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300 relative min-h-100 justify-center" }, /* @__PURE__ */ React22.createElement("div", { className: "p-6 w-full max-w-md mx-auto text-center" }, /* @__PURE__ */ React22.createElement("div", { className: "mb-8 flex justify-center" }, /* @__PURE__ */ React22.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", className: "w-12 h-12 fill-neutral-100" }, /* @__PURE__ */ React22.createElement("path", { fillRule: "evenodd", d: "M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z", clipRule: "evenodd" }))), /* @__PURE__ */ React22.createElement("h1", { className: "text-xl text-black tracking-tight mb-4" }, "No cards available"), /* @__PURE__ */ React22.createElement("p", { className: "text-[12px] leading-[1.8] text-neutral-600 mb-12" }, "You do not have any active cards on your account.")));
|
|
2260
2260
|
}
|
|
2261
2261
|
const isActivated = activeCard.status === "ACTIVATED";
|
|
2262
2262
|
const isFrozen = activeCard.status === "FROZEN";
|
|
@@ -2376,7 +2376,7 @@ var UniversalCardPage = ({
|
|
|
2376
2376
|
}
|
|
2377
2377
|
));
|
|
2378
2378
|
};
|
|
2379
|
-
var MenuRow = ({ icon, title, subtitle, onClick, isLast = false, isToggle = false, toggleState = false, toggleLoading = false, disabled = false }) => /* @__PURE__ */ React22.createElement("div", { onClick: disabled ? void 0 : onClick, className: `flex items-center p-3 transition-colors ${disabled ? "opacity-40 cursor-not-allowed" : "cursor-pointer hover:bg-neutral-50"}` }, /* @__PURE__ */ React22.createElement("div", { className: "w-9 h-9 rounded-full border border-neutral-200 flex items-center justify-center shrink-0 mr-4" }, /* @__PURE__ */ React22.createElement(HugeiconsIcon17, { icon, size: 16, className: "text-black" })), /* @__PURE__ */ React22.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React22.createElement("p", { className: "text-[
|
|
2379
|
+
var MenuRow = ({ icon, title, subtitle, onClick, isLast = false, isToggle = false, toggleState = false, toggleLoading = false, disabled = false }) => /* @__PURE__ */ React22.createElement("div", { onClick: disabled ? void 0 : onClick, className: `flex items-center p-3 transition-colors ${disabled ? "opacity-40 cursor-not-allowed" : "cursor-pointer hover:bg-neutral-50"}` }, /* @__PURE__ */ React22.createElement("div", { className: "w-9 h-9 rounded-full border border-neutral-200 flex items-center justify-center shrink-0 mr-4" }, /* @__PURE__ */ React22.createElement(HugeiconsIcon17, { icon, size: 16, className: "text-black" })), /* @__PURE__ */ React22.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React22.createElement("p", { className: "text-[12px] truncate text-black" }, title), /* @__PURE__ */ React22.createElement("p", { className: "text-[11px] text-neutral-500 truncate" }, subtitle)), isToggle ? /* @__PURE__ */ React22.createElement("div", { className: `relative w-11 h-6 rounded-full transition-colors duration-300 ml-2 shrink-0 ${toggleState ? "bg-black" : "bg-neutral-100"} ${disabled ? "opacity-50" : ""}` }, /* @__PURE__ */ React22.createElement("div", { className: `absolute top-1 left-1 w-4 h-4 rounded-full bg-white shadow-sm transition-transform duration-300 flex items-center justify-center ${toggleState ? "translate-x-5" : "translate-x-0"}` }, toggleLoading && /* @__PURE__ */ React22.createElement(HugeiconsIcon17, { icon: Loading03Icon10, size: 10, className: "animate-spin text-black" }))) : /* @__PURE__ */ React22.createElement(HugeiconsIcon17, { icon: ArrowRight01Icon5, size: 18, className: "text-neutral-400 shrink-0 ml-2" }));
|
|
2380
2380
|
var CardInfoDialog = ({ isOpen, onClose, cardDetails }) => {
|
|
2381
2381
|
if (!isOpen || !cardDetails) return null;
|
|
2382
2382
|
const handleCopy = (text, label) => {
|
|
@@ -2384,7 +2384,7 @@ var CardInfoDialog = ({ isOpen, onClose, cardDetails }) => {
|
|
|
2384
2384
|
toast6.success(`${label} copied to clipboard`);
|
|
2385
2385
|
};
|
|
2386
2386
|
const formattedCardNumber = cardDetails.card_number.replace(/(.{4})/g, "$1 ").trim();
|
|
2387
|
-
return /* @__PURE__ */ React22.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React22.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: onClose }), /* @__PURE__ */ React22.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React22.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React22.createElement("h3", { className: "text-[15px] text-black tracking-tight " }, "Secure Card Details"), /* @__PURE__ */ React22.createElement("button", { onClick: onClose, className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React22.createElement(HugeiconsIcon17, { icon: CancelCircleIcon7, size: 18 }))), /* @__PURE__ */ React22.createElement("div", { className: "p-6" }, /* @__PURE__ */ React22.createElement("div", { className: "grid grid-cols-1 gap-y-6 mb-6" }, /* @__PURE__ */ React22.createElement("div", null, /* @__PURE__ */ React22.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-400 block mb-1.5 " }, "Card Number"), /* @__PURE__ */ React22.createElement("div", { className: "flex items-center justify-between p-3 rounded-full border border-neutral-200" }, /* @__PURE__ */ React22.createElement("span", { className: "text-[15px] tracking-widest text-black block" }, formattedCardNumber), /* @__PURE__ */ React22.createElement("button", { onClick: () => handleCopy(cardDetails.card_number, "Card Number"), className: "text-neutral-400 hover:text-black outline-none shrink-0 ml-3" }, /* @__PURE__ */ React22.createElement(HugeiconsIcon17, { icon: Copy01Icon3, size: 16 })))), /* @__PURE__ */ React22.createElement("div", { className: "grid grid-cols-2 gap-4" }, /* @__PURE__ */ React22.createElement("div", null, /* @__PURE__ */ React22.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-400 block mb-1.5 " }, "Expiry Date"), /* @__PURE__ */ React22.createElement("div", { className: "flex items-center justify-between p-3 rounded-full border border-neutral-200" }, /* @__PURE__ */ React22.createElement("span", { className: "text-[
|
|
2387
|
+
return /* @__PURE__ */ React22.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React22.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: onClose }), /* @__PURE__ */ React22.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React22.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React22.createElement("h3", { className: "text-[15px] text-black tracking-tight " }, "Secure Card Details"), /* @__PURE__ */ React22.createElement("button", { onClick: onClose, className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React22.createElement(HugeiconsIcon17, { icon: CancelCircleIcon7, size: 18 }))), /* @__PURE__ */ React22.createElement("div", { className: "p-6" }, /* @__PURE__ */ React22.createElement("div", { className: "grid grid-cols-1 gap-y-6 mb-6" }, /* @__PURE__ */ React22.createElement("div", null, /* @__PURE__ */ React22.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-400 block mb-1.5 " }, "Card Number"), /* @__PURE__ */ React22.createElement("div", { className: "flex items-center justify-between p-3 rounded-full border border-neutral-200" }, /* @__PURE__ */ React22.createElement("span", { className: "text-[15px] tracking-widest text-black block" }, formattedCardNumber), /* @__PURE__ */ React22.createElement("button", { onClick: () => handleCopy(cardDetails.card_number, "Card Number"), className: "text-neutral-400 hover:text-black outline-none shrink-0 ml-3" }, /* @__PURE__ */ React22.createElement(HugeiconsIcon17, { icon: Copy01Icon3, size: 16 })))), /* @__PURE__ */ React22.createElement("div", { className: "grid grid-cols-2 gap-4" }, /* @__PURE__ */ React22.createElement("div", null, /* @__PURE__ */ React22.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-400 block mb-1.5 " }, "Expiry Date"), /* @__PURE__ */ React22.createElement("div", { className: "flex items-center justify-between p-3 rounded-full border border-neutral-200" }, /* @__PURE__ */ React22.createElement("span", { className: "text-[12px] text-black block" }, cardDetails.expiry), /* @__PURE__ */ React22.createElement("button", { onClick: () => handleCopy(cardDetails.expiry, "Expiry Date"), className: "text-neutral-400 hover:text-black outline-none shrink-0 ml-2" }, /* @__PURE__ */ React22.createElement(HugeiconsIcon17, { icon: Copy01Icon3, size: 16 })))), /* @__PURE__ */ React22.createElement("div", null, /* @__PURE__ */ React22.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-400 block mb-1.5 " }, "CVV"), /* @__PURE__ */ React22.createElement("div", { className: "flex items-center justify-between p-3 rounded-full border border-neutral-200" }, /* @__PURE__ */ React22.createElement("span", { className: "text-[12px] text-black block" }, cardDetails.cvv), /* @__PURE__ */ React22.createElement("button", { onClick: () => handleCopy(cardDetails.cvv, "CVV"), className: "text-neutral-400 hover:text-black outline-none shrink-0 ml-2" }, /* @__PURE__ */ React22.createElement(HugeiconsIcon17, { icon: Copy01Icon3, size: 16 })))))))));
|
|
2388
2388
|
};
|
|
2389
2389
|
var FundCardDialog = ({ isOpen, onClose, onSubmit }) => {
|
|
2390
2390
|
const [amount, setAmount] = useState15("");
|
|
@@ -2592,7 +2592,7 @@ var MenuRow2 = ({ icon, title, subtitle, onClick, iconColor = "text-black", titl
|
|
|
2592
2592
|
className: `flex items-center p-4 cursor-pointer hover:bg-neutral-50 transition-colors ${!isLast ? "" : ""}`
|
|
2593
2593
|
},
|
|
2594
2594
|
/* @__PURE__ */ React23.createElement("div", { className: "w-9 h-9 rounded-full border border-neutral-200 flex items-center justify-center shrink-0 mr-4" }, /* @__PURE__ */ React23.createElement(HugeiconsIcon18, { icon, size: 16, className: iconColor })),
|
|
2595
|
-
/* @__PURE__ */ React23.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React23.createElement("p", { className: `text-[
|
|
2595
|
+
/* @__PURE__ */ React23.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React23.createElement("p", { className: `text-[12px] truncate ${titleColor}` }, title), /* @__PURE__ */ React23.createElement("p", { className: "text-[11px] text-neutral-500 truncate" }, subtitle)),
|
|
2596
2596
|
/* @__PURE__ */ React23.createElement(HugeiconsIcon18, { icon: ArrowRight01Icon6, size: 18, className: "text-neutral-400 shrink-0 ml-2" })
|
|
2597
2597
|
);
|
|
2598
2598
|
|
|
@@ -2738,7 +2738,7 @@ var WaitlistDialog = ({ isOpen, onClose }) => {
|
|
|
2738
2738
|
/* @__PURE__ */ React25.createElement("path", { d: "m6 6 12 12" })
|
|
2739
2739
|
)
|
|
2740
2740
|
),
|
|
2741
|
-
/* @__PURE__ */ React25.createElement("div", { className: "p-6 sm:p-8" }, /* @__PURE__ */ React25.createElement("div", { className: "mb-8 mt-2" }, /* @__PURE__ */ React25.createElement("h2", { className: "text-2xl text-black tracking-tight mb-2" }, "Join the Waitlist"), /* @__PURE__ */ React25.createElement("p", { className: "text-[
|
|
2741
|
+
/* @__PURE__ */ React25.createElement("div", { className: "p-6 sm:p-8" }, /* @__PURE__ */ React25.createElement("div", { className: "mb-8 mt-2" }, /* @__PURE__ */ React25.createElement("h2", { className: "text-2xl text-black tracking-tight mb-2" }, "Join the Waitlist"), /* @__PURE__ */ React25.createElement("p", { className: "text-[12px] text-neutral-500 leading-relaxed" }, "Be the first to be notified when we launch. Secure your early access spot today.")), /* @__PURE__ */ React25.createElement("form", { onSubmit: handleSubmit, className: "flex flex-col gap-8" }, /* @__PURE__ */ React25.createElement(
|
|
2742
2742
|
TextInput,
|
|
2743
2743
|
{
|
|
2744
2744
|
label: "Email ID",
|
|
@@ -2932,7 +2932,7 @@ var AppBento2 = ({ tagline, headline, features }) => {
|
|
|
2932
2932
|
),
|
|
2933
2933
|
isBlack && /* @__PURE__ */ React27.createElement("span", { className: "absolute inset-0 rounded-4xl bg-linear-to-b from-white/10 via-white/5 to-transparent pointer-events-none z-10" }),
|
|
2934
2934
|
/* @__PURE__ */ React27.createElement("div", { className: "absolute inset-0 overflow-hidden pointer-events-none z-0" }, /* @__PURE__ */ React27.createElement("div", { className: `absolute -bottom-8 -right-8 transform group-hover:scale-110 transition-transform duration-700 ease-out ${isBlack ? "text-white/5" : "text-black/5"}` }, /* @__PURE__ */ React27.createElement(HugeiconsIcon20, { icon: f.icon, size: 180 }))),
|
|
2935
|
-
/* @__PURE__ */ React27.createElement("div", { className: "relative z-10 w-full h-full flex flex-col pointer-events-auto" }, /* @__PURE__ */ React27.createElement("div", { className: "flex items-center justify-between mb-8" }, /* @__PURE__ */ React27.createElement("span", { className: `text-[9px] tracking-widest ${labelColor}` }, f.label), /* @__PURE__ */ React27.createElement("div", { className: `p-2 rounded-full transition-colors ${isBlack ? "bg-white/10" : "bg-white/50 backdrop-blur-sm"}` }, /* @__PURE__ */ React27.createElement(HugeiconsIcon20, { icon: f.icon, size: 20, className: textColor }))), /* @__PURE__ */ React27.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ React27.createElement("h3", { className: `text-xl mb-2 tracking-tight ${textColor}` }, f.title), /* @__PURE__ */ React27.createElement("p", { className: `text-[
|
|
2935
|
+
/* @__PURE__ */ React27.createElement("div", { className: "relative z-10 w-full h-full flex flex-col pointer-events-auto" }, /* @__PURE__ */ React27.createElement("div", { className: "flex items-center justify-between mb-8" }, /* @__PURE__ */ React27.createElement("span", { className: `text-[9px] tracking-widest ${labelColor}` }, f.label), /* @__PURE__ */ React27.createElement("div", { className: `p-2 rounded-full transition-colors ${isBlack ? "bg-white/10" : "bg-white/50 backdrop-blur-sm"}` }, /* @__PURE__ */ React27.createElement(HugeiconsIcon20, { icon: f.icon, size: 20, className: textColor }))), /* @__PURE__ */ React27.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ React27.createElement("h3", { className: `text-xl mb-2 tracking-tight ${textColor}` }, f.title), /* @__PURE__ */ React27.createElement("p", { className: `text-[12px] leading-relaxed max-w-sm ${subTextColor}` }, f.desc)))
|
|
2936
2936
|
);
|
|
2937
2937
|
})))));
|
|
2938
2938
|
};
|
|
@@ -3043,7 +3043,7 @@ var UniversalSecurityPage = ({
|
|
|
3043
3043
|
"button",
|
|
3044
3044
|
{
|
|
3045
3045
|
onClick: onBack,
|
|
3046
|
-
className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[
|
|
3046
|
+
className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[12px] outline-none"
|
|
3047
3047
|
},
|
|
3048
3048
|
/* @__PURE__ */ React28.createElement(HugeiconsIcon21, { icon: ArrowLeft01Icon8, size: 16 }),
|
|
3049
3049
|
" Back"
|
|
@@ -3110,7 +3110,7 @@ var UniversalSecurityPage = ({
|
|
|
3110
3110
|
className: "w-full"
|
|
3111
3111
|
},
|
|
3112
3112
|
hasPasscode ? "Update Passcode" : "Set Passcode"
|
|
3113
|
-
)))))), showPasskeyModal && /* @__PURE__ */ React28.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React28.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isSubmitting && setShowPasskeyModal(false) }), /* @__PURE__ */ React28.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React28.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React28.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Enable Passkey"), /* @__PURE__ */ React28.createElement("button", { onClick: () => !isSubmitting && setShowPasskeyModal(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React28.createElement(HugeiconsIcon21, { icon: CancelCircleIcon8, size: 18 }))), /* @__PURE__ */ React28.createElement("div", { className: "p-6 text-center" }, /* @__PURE__ */ React28.createElement("p", { className: "text-[
|
|
3113
|
+
)))))), showPasskeyModal && /* @__PURE__ */ React28.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React28.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isSubmitting && setShowPasskeyModal(false) }), /* @__PURE__ */ React28.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React28.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React28.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Enable Passkey"), /* @__PURE__ */ React28.createElement("button", { onClick: () => !isSubmitting && setShowPasskeyModal(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React28.createElement(HugeiconsIcon21, { icon: CancelCircleIcon8, size: 18 }))), /* @__PURE__ */ React28.createElement("div", { className: "p-6 text-center" }, /* @__PURE__ */ React28.createElement("p", { className: "text-[12px] text-neutral-500 mb-8 leading-relaxed" }, "Use your device's biometrics (Face ID, Touch ID, or PIN) to securely sign into your account without needing a password."), /* @__PURE__ */ React28.createElement(
|
|
3114
3114
|
ThreeDActionButton,
|
|
3115
3115
|
{
|
|
3116
3116
|
onClick: submitEnablePasskey,
|
|
@@ -3139,7 +3139,7 @@ var MenuRow3 = ({
|
|
|
3139
3139
|
className: `flex items-center p-4 transition-colors ${!isLast ? "" : ""} ${disabled ? "opacity-40 cursor-not-allowed" : "cursor-pointer hover:bg-neutral-50"}`
|
|
3140
3140
|
},
|
|
3141
3141
|
/* @__PURE__ */ React28.createElement("div", { className: "w-9 h-9 rounded-full border border-neutral-200 flex items-center justify-center shrink-0 mr-4" }, /* @__PURE__ */ React28.createElement(HugeiconsIcon21, { icon, size: 16, className: iconColor })),
|
|
3142
|
-
/* @__PURE__ */ React28.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React28.createElement("p", { className: `text-[
|
|
3142
|
+
/* @__PURE__ */ React28.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React28.createElement("p", { className: `text-[12px] truncate ${titleColor}` }, title), /* @__PURE__ */ React28.createElement("p", { className: "text-[12px] text-neutral-500 truncate" }, subtitle)),
|
|
3143
3143
|
isToggle ? /* @__PURE__ */ React28.createElement("div", { className: `relative w-11 h-6 rounded-full transition-colors duration-300 ml-2 shrink-0 ${toggleState ? "bg-black" : "bg-neutral-100"} ${disabled ? "opacity-50" : ""}` }, /* @__PURE__ */ React28.createElement("div", { className: `absolute top-1 left-1 w-4 h-4 rounded-full bg-white shadow-sm transition-transform duration-300 flex items-center justify-center ${toggleState ? "translate-x-5" : "translate-x-0"}` }, toggleLoading && /* @__PURE__ */ React28.createElement(HugeiconsIcon21, { icon: Loading03Icon12, size: 10, className: "animate-spin text-black" }))) : /* @__PURE__ */ React28.createElement(HugeiconsIcon21, { icon: ArrowRight01Icon7, size: 18, className: "text-neutral-400 shrink-0 ml-2" })
|
|
3144
3144
|
);
|
|
3145
3145
|
|
|
@@ -3185,7 +3185,7 @@ var FeatureCard = ({ feature, bgImage }) => {
|
|
|
3185
3185
|
${isFgLoading ? "opacity-0 blur-xl" : "opacity-100 blur-0"}
|
|
3186
3186
|
`
|
|
3187
3187
|
}
|
|
3188
|
-
))), /* @__PURE__ */ React29.createElement("div", { className: "flex flex-col text-left pr-4" }, /* @__PURE__ */ React29.createElement("h3", { className: " text-xl tracking-tight text-black mb-2" }, feature.title), /* @__PURE__ */ React29.createElement("p", { className: "text-[
|
|
3188
|
+
))), /* @__PURE__ */ React29.createElement("div", { className: "flex flex-col text-left pr-4" }, /* @__PURE__ */ React29.createElement("h3", { className: " text-xl tracking-tight text-black mb-2" }, feature.title), /* @__PURE__ */ React29.createElement("p", { className: "text-[12px] leading-relaxed text-neutral-600 max-w-[90%]" }, feature.desc)));
|
|
3189
3189
|
};
|
|
3190
3190
|
var FeatureScroll = ({ tagline, headline, features }) => {
|
|
3191
3191
|
const scrollRef = useRef7(null);
|
|
@@ -3274,7 +3274,7 @@ var PlatformFeatures = ({
|
|
|
3274
3274
|
style: { animationDelay: feature.delay || "0ms" }
|
|
3275
3275
|
},
|
|
3276
3276
|
/* @__PURE__ */ React30.createElement("div", { className: "flex flex-row items-center gap-4 mb-4" }, /* @__PURE__ */ React30.createElement("div", { className: "w-14 h-14 shrink-0 rounded-xl border border-neutral-200 flex items-center justify-center text-neutral-600 transition-colors duration-300" }, /* @__PURE__ */ React30.createElement(HugeiconsIcon23, { icon: feature.icon, size: 24 })), /* @__PURE__ */ React30.createElement("div", { className: "flex flex-col justify-center" }, /* @__PURE__ */ React30.createElement("span", { className: "text-[11px] tracking-widest text-neutral-400 mb-0.5" }, feature.label || "CAPABILITY"), /* @__PURE__ */ React30.createElement("h3", { className: "text-xl tracking-tight text-black" }, feature.title))),
|
|
3277
|
-
/* @__PURE__ */ React30.createElement("div", null, /* @__PURE__ */ React30.createElement("p", { className: "text-[
|
|
3277
|
+
/* @__PURE__ */ React30.createElement("div", null, /* @__PURE__ */ React30.createElement("p", { className: "text-[12px] leading-relaxed text-neutral-600 pr-4" }, feature.desc))
|
|
3278
3278
|
)))));
|
|
3279
3279
|
};
|
|
3280
3280
|
|
|
@@ -3317,7 +3317,7 @@ var ManagedDocument = ({
|
|
|
3317
3317
|
style: isAnimating ? { animationIterationCount: 1 } : {}
|
|
3318
3318
|
},
|
|
3319
3319
|
title
|
|
3320
|
-
)), sections.map((section, index) => /* @__PURE__ */ React31.createElement("div", { key: index, className: "relative px-5 md:px-12 py-8 md:py-10" }, section.heading && /* @__PURE__ */ React31.createElement("p", { className: " text-[11px] tracking-[0.2em] text-black mb-4 text-left " }, section.heading), section.paragraphs && section.paragraphs.length > 0 && /* @__PURE__ */ React31.createElement("div", { className: "text-[
|
|
3320
|
+
)), sections.map((section, index) => /* @__PURE__ */ React31.createElement("div", { key: index, className: "relative px-5 md:px-12 py-8 md:py-10" }, section.heading && /* @__PURE__ */ React31.createElement("p", { className: " text-[11px] tracking-[0.2em] text-black mb-4 text-left " }, section.heading), section.paragraphs && section.paragraphs.length > 0 && /* @__PURE__ */ React31.createElement("div", { className: "text-[12px] leading-[1.8] text-neutral-700 space-y-4 text-left " }, section.paragraphs.map((text, pIndex) => /* @__PURE__ */ React31.createElement("p", { key: pIndex }, text))), section.quote && /* @__PURE__ */ React31.createElement("div", { className: `border-neutral-200 border rounded-xl p-6 ${section.paragraphs && section.paragraphs.length > 0 ? "mt-6" : ""}` }, /* @__PURE__ */ React31.createElement("p", { className: "text-neutral-900 text-[12px] md:text-[12px] leading-relaxed" }, '"', section.quote, '"')))), (contactText || contactEmail) && /* @__PURE__ */ React31.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10 pb-12 md:pb-14" }, /* @__PURE__ */ React31.createElement("p", { className: "text-[11px] text-neutral-600 text-left" }, contactText, contactEmail && /* @__PURE__ */ React31.createElement(
|
|
3321
3321
|
"a",
|
|
3322
3322
|
{
|
|
3323
3323
|
href: `mailto:${contactEmail}`,
|
|
@@ -3358,7 +3358,7 @@ var ManagedContactBlock = ({
|
|
|
3358
3358
|
backgroundRepeat: "repeat"
|
|
3359
3359
|
}
|
|
3360
3360
|
}
|
|
3361
|
-
), /* @__PURE__ */ React32.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ React32.createElement("div", { className: "relative px-8 md:px-12 py-10" }, tagline && /* @__PURE__ */ React32.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ React32.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight text-left" }, title)), /* @__PURE__ */ React32.createElement("div", { className: "relative px-8 md:px-12 py-8 pb-14" }, /* @__PURE__ */ React32.createElement("div", { className: "flex flex-wrap gap-12 lg:gap-16 w-full" }, company && /* @__PURE__ */ React32.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ React32.createElement("p", { className: "text-[11px] tracking-[0.2em] text-black mb-4 " }, "Contact Details"), /* @__PURE__ */ React32.createElement("div", { className: "space-y-3 text-[
|
|
3361
|
+
), /* @__PURE__ */ React32.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ React32.createElement("div", { className: "relative px-8 md:px-12 py-10" }, tagline && /* @__PURE__ */ React32.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ React32.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight text-left" }, title)), /* @__PURE__ */ React32.createElement("div", { className: "relative px-8 md:px-12 py-8 pb-14" }, /* @__PURE__ */ React32.createElement("div", { className: "flex flex-wrap gap-12 lg:gap-16 w-full" }, company && /* @__PURE__ */ React32.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ React32.createElement("p", { className: "text-[11px] tracking-[0.2em] text-black mb-4 " }, "Contact Details"), /* @__PURE__ */ React32.createElement("div", { className: "space-y-3 text-[12px] text-neutral-600 leading-[1.8]" }, company.name && /* @__PURE__ */ React32.createElement("p", { className: "text-black" }, company.name), company.lines && company.lines.map((line, idx) => /* @__PURE__ */ React32.createElement("p", { key: idx }, line)), company.phone && /* @__PURE__ */ React32.createElement("p", { className: "pt-2" }, /* @__PURE__ */ React32.createElement(
|
|
3362
3362
|
"a",
|
|
3363
3363
|
{
|
|
3364
3364
|
href: `tel:${company.phone.replace(/\s+/g, "")}`,
|
|
@@ -3372,7 +3372,7 @@ var ManagedContactBlock = ({
|
|
|
3372
3372
|
className: "transition-colors hover:text-black"
|
|
3373
3373
|
},
|
|
3374
3374
|
company.phone2
|
|
3375
|
-
)))), emails && emails.length > 0 && /* @__PURE__ */ React32.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ React32.createElement("p", { className: "text-[11px] tracking-[0.2em] text-black mb-4 " }, "Email Directory"), /* @__PURE__ */ React32.createElement("div", { className: "space-y-6 text-[
|
|
3375
|
+
)))), emails && emails.length > 0 && /* @__PURE__ */ React32.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ React32.createElement("p", { className: "text-[11px] tracking-[0.2em] text-black mb-4 " }, "Email Directory"), /* @__PURE__ */ React32.createElement("div", { className: "space-y-6 text-[12px]" }, emails.map((email, idx) => /* @__PURE__ */ React32.createElement("div", { key: idx }, /* @__PURE__ */ React32.createElement("p", { className: "text-[11px] tracking-[0.2em] mb-1.5 text-neutral-500 " }, email.label), /* @__PURE__ */ React32.createElement(
|
|
3376
3376
|
SecureEmail,
|
|
3377
3377
|
{
|
|
3378
3378
|
user: email.user,
|
|
@@ -3389,7 +3389,7 @@ var ManagedContactBlock = ({
|
|
|
3389
3389
|
className: "flex items-center gap-3 transition-colors group text-neutral-600 hover:text-black"
|
|
3390
3390
|
},
|
|
3391
3391
|
/* @__PURE__ */ React32.createElement(HugeiconsIcon24, { icon: social.icon, size: 18 }),
|
|
3392
|
-
/* @__PURE__ */ React32.createElement("span", { className: "text-[
|
|
3392
|
+
/* @__PURE__ */ React32.createElement("span", { className: "text-[12px]" }, social.label)
|
|
3393
3393
|
)))))))));
|
|
3394
3394
|
};
|
|
3395
3395
|
|
|
@@ -3526,7 +3526,7 @@ var ManagedBoardBlock = ({
|
|
|
3526
3526
|
sizes: "(max-width: 768px) 56px, 64px",
|
|
3527
3527
|
className: "object-cover grayscale opacity-100 transition-opacity"
|
|
3528
3528
|
}
|
|
3529
|
-
)), /* @__PURE__ */ React34.createElement("div", { className: "pt-1" }, /* @__PURE__ */ React34.createElement("h3", { className: " text-[
|
|
3529
|
+
)), /* @__PURE__ */ React34.createElement("div", { className: "pt-1" }, /* @__PURE__ */ React34.createElement("h3", { className: " text-[12px] md:text-[15px] text-black tracking-tight" }, member.name), /* @__PURE__ */ React34.createElement("p", { className: "text-[11px] tracking-[0.2em] text-neutral-500 mt-1.5 " }, member.title))), /* @__PURE__ */ React34.createElement("p", { className: "text-[12px] leading-[1.8] text-neutral-600 text-left grow mb-8" }, member.bio), /* @__PURE__ */ React34.createElement("div", { className: "space-y-6 mt-auto" }, /* @__PURE__ */ React34.createElement("div", { className: "w-full *:w-full" }, /* @__PURE__ */ React34.createElement(ThreeDButton, { href: member.website }, "Visit Website")), /* @__PURE__ */ React34.createElement("div", { className: "flex space-x-4 pt-5" }, member.twitterHandle && member.twitterHandle.length > 0 && /* @__PURE__ */ React34.createElement(
|
|
3530
3530
|
MemberSocialLink,
|
|
3531
3531
|
{
|
|
3532
3532
|
href: `https://x.com/${member.twitterHandle}`,
|
|
@@ -3559,7 +3559,7 @@ var ManagedNotFoundBlock = ({
|
|
|
3559
3559
|
className: "w-12 h-12 fill-neutral-100"
|
|
3560
3560
|
},
|
|
3561
3561
|
/* @__PURE__ */ React35.createElement("path", { fillRule: "evenodd", d: "M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z", clipRule: "evenodd" })
|
|
3562
|
-
)), /* @__PURE__ */ React35.createElement("h1", { className: " text-xl md:text-3xl text-black tracking-tight mb-4" }, title), /* @__PURE__ */ React35.createElement("p", { className: "text-[
|
|
3562
|
+
)), /* @__PURE__ */ React35.createElement("h1", { className: " text-xl md:text-3xl text-black tracking-tight mb-4" }, title), /* @__PURE__ */ React35.createElement("p", { className: "text-[12px] leading-[1.8] text-neutral-600 mb-12" }, description)));
|
|
3563
3563
|
};
|
|
3564
3564
|
|
|
3565
3565
|
// src/components/ManagedNewsletterSplitBlock.tsx
|
|
@@ -3612,7 +3612,7 @@ var ManagedNewsletterSplitBlock = ({
|
|
|
3612
3612
|
backgroundRepeat: "repeat"
|
|
3613
3613
|
}
|
|
3614
3614
|
}
|
|
3615
|
-
), /* @__PURE__ */ React36.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ React36.createElement("div", { className: "mb-10 border-b border-neutral-200 pb-8 text-center md:text-left" }, tagline && /* @__PURE__ */ React36.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 " }, tagline), /* @__PURE__ */ React36.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight mb-4" }, title), subtitle && /* @__PURE__ */ React36.createElement("p", { className: "text-[11px] tracking-[0.2em] text-neutral-500 " }, subtitle)), /* @__PURE__ */ React36.createElement("p", { className: "text-[
|
|
3615
|
+
), /* @__PURE__ */ React36.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ React36.createElement("div", { className: "mb-10 border-b border-neutral-200 pb-8 text-center md:text-left" }, tagline && /* @__PURE__ */ React36.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 " }, tagline), /* @__PURE__ */ React36.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight mb-4" }, title), subtitle && /* @__PURE__ */ React36.createElement("p", { className: "text-[11px] tracking-[0.2em] text-neutral-500 " }, subtitle)), /* @__PURE__ */ React36.createElement("p", { className: "text-[12px] leading-[1.8] text-neutral-600 mb-10 text-center md:text-left" }, description), children && /* @__PURE__ */ React36.createElement("div", { className: "mb-8 text-left" }, children), /* @__PURE__ */ React36.createElement("div", { className: "text-center md:text-left mt-10 space-y-6" }, dividerText && /* @__PURE__ */ React36.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ React36.createElement("div", { className: "grow h-px bg-neutral-100" }), /* @__PURE__ */ React36.createElement("span", { className: "shrink mx-4 text-[11px] tracking-[0.2em] text-neutral-400 " }, dividerText), /* @__PURE__ */ React36.createElement("div", { className: "grow h-px bg-neutral-100" })), ctaText && ctaHref && /* @__PURE__ */ React36.createElement("div", { className: "w-full *:w-full" }, /* @__PURE__ */ React36.createElement(
|
|
3616
3616
|
ThreeDButton,
|
|
3617
3617
|
{
|
|
3618
3618
|
href: ctaHref,
|
|
@@ -3689,11 +3689,11 @@ var PortfolioHero = ({
|
|
|
3689
3689
|
href: socialLinkHref,
|
|
3690
3690
|
target: "_blank",
|
|
3691
3691
|
rel: "noopener noreferrer",
|
|
3692
|
-
className: "text-[11px] md:text-[
|
|
3692
|
+
className: "text-[11px] md:text-[12px] text-black hover:text-neutral-500 transition-colors mt-1 underline underline-offset-4 decoration-neutral-300"
|
|
3693
3693
|
},
|
|
3694
3694
|
socialLinkText
|
|
3695
3695
|
))),
|
|
3696
|
-
/* @__PURE__ */ React37.createElement("p", { className: "text-[
|
|
3696
|
+
/* @__PURE__ */ React37.createElement("p", { className: "text-[12px] leading-[1.8] max-w-4xl mb-12 text-neutral-600" }, bio),
|
|
3697
3697
|
/* @__PURE__ */ React37.createElement("div", { className: "flex flex-col sm:flex-row gap-4 w-full sm:w-auto" }, primaryCtaText && primaryCtaHref && /* @__PURE__ */ React37.createElement("div", { className: "w-full sm:w-auto *:w-full" }, /* @__PURE__ */ React37.createElement(
|
|
3698
3698
|
ThreeDButton,
|
|
3699
3699
|
{
|
|
@@ -3705,7 +3705,7 @@ var PortfolioHero = ({
|
|
|
3705
3705
|
Link8,
|
|
3706
3706
|
{
|
|
3707
3707
|
href: secondaryCtaHref,
|
|
3708
|
-
className: "w-full sm:w-auto inline-flex items-center justify-center gap-3 text-[
|
|
3708
|
+
className: "w-full sm:w-auto inline-flex items-center justify-center gap-3 text-[12px] tracking-[0.2em] rounded-full px-8 py-2.5 bg-neutral-200 transition-colors text-black hover:bg-neutral-50 outline-none"
|
|
3709
3709
|
},
|
|
3710
3710
|
secondaryCtaText,
|
|
3711
3711
|
/* @__PURE__ */ React37.createElement(HugeiconsIcon26, { icon: ArrowRight01Icon9, size: 16 })
|
|
@@ -3754,7 +3754,7 @@ var GifFeatureCard = ({
|
|
|
3754
3754
|
{
|
|
3755
3755
|
className: "absolute inset-x-0 bottom-0 h-1/2 sm:h-2/3 bg-linear-to-t from-black/95 via-black/40 to-transparent z-10 pointer-events-none transition-opacity duration-700"
|
|
3756
3756
|
}
|
|
3757
|
-
), /* @__PURE__ */ React38.createElement("div", { className: "absolute inset-x-0 bottom-0 p-6 sm:p-8 z-30 flex flex-col justify-end text-left pointer-events-none" }, title && /* @__PURE__ */ React38.createElement("h3", { className: " text-xl sm:text-2xl md:text-3xl text-white tracking-tight mb-2 sm:mb-3 drop-shadow-md" }, title), subtitle && /* @__PURE__ */ React38.createElement("p", { className: "text-[
|
|
3757
|
+
), /* @__PURE__ */ React38.createElement("div", { className: "absolute inset-x-0 bottom-0 p-6 sm:p-8 z-30 flex flex-col justify-end text-left pointer-events-none" }, title && /* @__PURE__ */ React38.createElement("h3", { className: " text-xl sm:text-2xl md:text-3xl text-white tracking-tight mb-2 sm:mb-3 drop-shadow-md" }, title), subtitle && /* @__PURE__ */ React38.createElement("p", { className: "text-[12px] sm:text-[15px] leading-relaxed text-neutral-300 max-w-2xl drop-shadow-sm" }, subtitle)));
|
|
3758
3758
|
};
|
|
3759
3759
|
|
|
3760
3760
|
// src/components/MedicalFeatureStatsBlock.tsx
|
|
@@ -3795,7 +3795,7 @@ var MedicalFeatureStatsBlock = ({
|
|
|
3795
3795
|
style: isAnimating ? { animationIterationCount: 1 } : {}
|
|
3796
3796
|
},
|
|
3797
3797
|
bottomHeadline
|
|
3798
|
-
), /* @__PURE__ */ React39.createElement("p", { className: "text-[
|
|
3798
|
+
), /* @__PURE__ */ React39.createElement("p", { className: "text-[12px] leading-relaxed text-neutral-500" }, bottomDescription)), /* @__PURE__ */ React39.createElement("div", { className: "flex items-center gap-4 shrink-0" }, /* @__PURE__ */ React39.createElement("div", { className: "flex -space-x-3" }, avatars.map((src, i) => /* @__PURE__ */ React39.createElement("div", { key: i, className: "relative w-12 h-12 rounded-full border-[3px] border-white overflow-hidden bg-neutral-100 z-1 hover:z-10 transition-all" }, /* @__PURE__ */ React39.createElement(
|
|
3799
3799
|
Image10,
|
|
3800
3800
|
{
|
|
3801
3801
|
src,
|
|
@@ -3804,7 +3804,7 @@ var MedicalFeatureStatsBlock = ({
|
|
|
3804
3804
|
sizes: "48px",
|
|
3805
3805
|
className: "object-cover"
|
|
3806
3806
|
}
|
|
3807
|
-
)))), /* @__PURE__ */ React39.createElement("p", { className: "text-[11px] text-neutral-800 leading-[1.4] max-w-55" }, trustText))), /* @__PURE__ */ React39.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6" }, stats.map((stat, idx) => /* @__PURE__ */ React39.createElement("div", { key: idx, className: "bg-white rounded-4xl p-8 md:p-10 flex flex-col h-70" }, /* @__PURE__ */ React39.createElement("div", { className: "flex items-center p-0.5 mb-6" }, /* @__PURE__ */ React39.createElement("span", { className: "text-[
|
|
3807
|
+
)))), /* @__PURE__ */ React39.createElement("p", { className: "text-[11px] text-neutral-800 leading-[1.4] max-w-55" }, trustText))), /* @__PURE__ */ React39.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6" }, stats.map((stat, idx) => /* @__PURE__ */ React39.createElement("div", { key: idx, className: "bg-white rounded-4xl p-8 md:p-10 flex flex-col h-70" }, /* @__PURE__ */ React39.createElement("div", { className: "flex items-center p-0.5 mb-6" }, /* @__PURE__ */ React39.createElement("span", { className: "text-[12px] text-neutral-500 tracking-wide" }, stat.label)), /* @__PURE__ */ React39.createElement("h1", { className: "text-6xl gradient-text md:text-[80px] tracking-tighter text-black mt-auto leading-none" }, stat.value))))));
|
|
3808
3808
|
};
|
|
3809
3809
|
|
|
3810
3810
|
// src/components/ConsultantShowcase.tsx
|
|
@@ -3920,7 +3920,7 @@ var ContentGridBlock = ({
|
|
|
3920
3920
|
bgDecoRotation_1,
|
|
3921
3921
|
bgDecoRotation_2
|
|
3922
3922
|
}) => {
|
|
3923
|
-
return /* @__PURE__ */ React41.createElement("section", { className: " w-full flex justify-center z-10 relative" }, /* @__PURE__ */ React41.createElement("div", { className: "max-w-300 w-full px-4 md:px-8 flex flex-col gap-12" }, /* @__PURE__ */ React41.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-6 w-full" }, /* @__PURE__ */ React41.createElement("h2", { className: "text-3xl tracking-tight text-black leading-[1.15] max-w-lg" }, header.titlePrefix, " ", /* @__PURE__ */ React41.createElement("span", { className: "gradient-text" }, header.highlightText))), /* @__PURE__ */ React41.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6" }, /* @__PURE__ */ React41.createElement("div", { className: "flex flex-col justify-end" }, /* @__PURE__ */ React41.createElement("div", { className: "bg-black rounded-3xl p-8 flex flex-col mx-h-95" }, /* @__PURE__ */ React41.createElement("p", { className: "text-[
|
|
3923
|
+
return /* @__PURE__ */ React41.createElement("section", { className: " w-full flex justify-center z-10 relative" }, /* @__PURE__ */ React41.createElement("div", { className: "max-w-300 w-full px-4 md:px-8 flex flex-col gap-12" }, /* @__PURE__ */ React41.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-6 w-full" }, /* @__PURE__ */ React41.createElement("h2", { className: "text-3xl tracking-tight text-black leading-[1.15] max-w-lg" }, header.titlePrefix, " ", /* @__PURE__ */ React41.createElement("span", { className: "gradient-text" }, header.highlightText))), /* @__PURE__ */ React41.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6" }, /* @__PURE__ */ React41.createElement("div", { className: "flex flex-col justify-end" }, /* @__PURE__ */ React41.createElement("div", { className: "bg-black rounded-3xl p-8 flex flex-col mx-h-95" }, /* @__PURE__ */ React41.createElement("p", { className: "text-[12px] text-white leading-snug mb-4" }, leftCard.mainText), leftCard.tag && /* @__PURE__ */ React41.createElement("span", { className: "mb-auto text-[11px] text-neutral-100 tracking-widest" }, leftCard.tag), /* @__PURE__ */ React41.createElement("div", { className: "flex items-center justify-between mt-8" }, /* @__PURE__ */ React41.createElement("div", null, /* @__PURE__ */ React41.createElement("h4", { className: "text-[15px] text-white" }, leftCard.title), /* @__PURE__ */ React41.createElement("p", { className: "text-[12px] text-neutral-300" }, leftCard.subtitle)), /* @__PURE__ */ React41.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ React41.createElement(Image12, { src: leftCard.thumbnailSrc, alt: leftCard.title, fill: true, className: "object-cover" }))))), /* @__PURE__ */ React41.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ React41.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col relative mx-h-95" }, /* @__PURE__ */ React41.createElement("div", { className: "absolute top-6 right-6 flex flex-col items-end gap-1" }, /* @__PURE__ */ React41.createElement("span", { className: "text-[11px] text-neutral-400 tracking-wide" }, middleTopCard.topRightLabel), /* @__PURE__ */ React41.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React41.createElement("div", { className: "flex -space-x-2" }, middleTopCard.topRightAvatars.map((src, i) => /* @__PURE__ */ React41.createElement("div", { key: i, className: "w-7 h-7 rounded-full border-2 border-white overflow-hidden relative z-10" }, /* @__PURE__ */ React41.createElement(Image12, { src, alt: "Avatar", fill: true, className: "object-cover", sizes: "28px" })))), /* @__PURE__ */ React41.createElement("span", { className: "text-sm text-neutral-500" }, middleTopCard.topRightCount))), /* @__PURE__ */ React41.createElement("div", { className: "grow flex flex-col mt-10 justify-center items-center py-6" }, /* @__PURE__ */ React41.createElement("div", { className: "px-5 py-2 rounded-full bg-neutral-50/50 border border-neutral-200 text-[12px] text-neutral-600" }, middleTopCard.badgePrefix, " ", /* @__PURE__ */ React41.createElement("span", { className: " text-black" }, middleTopCard.badgeHighlight), middleTopCard.badgeSuffix)), /* @__PURE__ */ React41.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ React41.createElement("p", { className: "text-[11px] text-neutral-400 tracking-wide mb-1" }, middleTopCard.title), /* @__PURE__ */ React41.createElement("p", { className: "text-[12px] text-black leading-snug pr-4" }, middleTopCard.description))), /* @__PURE__ */ React41.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col mx-h-95" }, /* @__PURE__ */ React41.createElement("div", { className: "flex justify-between items-start mb-6" }, /* @__PURE__ */ React41.createElement("div", null, /* @__PURE__ */ React41.createElement("h4", { className: "text-[15px] text-black leading-tight" }, middleBottomCard.title), /* @__PURE__ */ React41.createElement("p", { className: "text-[12px] text-neutral-400" }, middleBottomCard.subtitle)), /* @__PURE__ */ React41.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ React41.createElement(Image12, { src: middleBottomCard.thumbnailSrc, alt: middleBottomCard.title, fill: true, className: "object-cover" }))), /* @__PURE__ */ React41.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ React41.createElement("p", { className: "text-[12px] text-black leading-snug mb-4" }, middleBottomCard.mainText), middleBottomCard.tag && /* @__PURE__ */ React41.createElement("span", { className: "text-[11px] text-neutral-400 tracking-widest" }, middleBottomCard.tag)))), /* @__PURE__ */ React41.createElement("div", { className: "flex flex-col gap-6" }, rightCards.slice(0, 2).map((card, idx) => {
|
|
3924
3924
|
const isSecondCard = idx === 1;
|
|
3925
3925
|
const cardBgColor = isSecondCard ? bgColor_2 || "bg-[#ffffff]" : bgColor_1 || "bg-[#068afe]";
|
|
3926
3926
|
const defaultDeco_a = "https://storage.googleapis.com/retina-cloud-v2/assets/images/deco_a.avif";
|
|
@@ -3942,7 +3942,7 @@ var ContentGridBlock = ({
|
|
|
3942
3942
|
}
|
|
3943
3943
|
),
|
|
3944
3944
|
/* @__PURE__ */ React41.createElement("div", { className: `absolute inset-0 z-20 pointer-events-none ${isSecondCard ? "" : "bg-black/20"}` }),
|
|
3945
|
-
/* @__PURE__ */ React41.createElement("div", { className: `absolute inset-0 z-30 p-6 flex flex-col justify-end ${isSecondCard ? "text-black" : "text-white"}` }, /* @__PURE__ */ React41.createElement("p", { className: `text-[
|
|
3945
|
+
/* @__PURE__ */ React41.createElement("div", { className: `absolute inset-0 z-30 p-6 flex flex-col justify-end ${isSecondCard ? "text-black" : "text-white"}` }, /* @__PURE__ */ React41.createElement("p", { className: `text-[12px] leading-snug mb-3 pr-2 ${isSecondCard ? "text-black/90" : "text-white/90"}` }, card.mainText), card.tag && /* @__PURE__ */ React41.createElement("span", { className: `mb-4 text-[11px] tracking-widest ${isSecondCard ? "text-black/70" : "text-white/50"}` }, card.tag), /* @__PURE__ */ React41.createElement("div", { className: "pt-3" }, /* @__PURE__ */ React41.createElement("h4", { className: `text-[15px] tracking-wide ${isSecondCard ? "text-black" : "text-white"}` }, card.title), /* @__PURE__ */ React41.createElement("p", { className: `text-[12px] ${isSecondCard ? "text-black/60" : "text-white/60"}` }, card.subtitle)))
|
|
3946
3946
|
);
|
|
3947
3947
|
})))));
|
|
3948
3948
|
};
|
|
@@ -3971,7 +3971,7 @@ var ManagedProjectsBlock = ({
|
|
|
3971
3971
|
}
|
|
3972
3972
|
), /* @__PURE__ */ React42.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ React42.createElement(GridSection, null, tagline && /* @__PURE__ */ React42.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ React42.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight text-left" }, title)), projects.map((project, index) => {
|
|
3973
3973
|
const isLast = index === projects.length - 1;
|
|
3974
|
-
const projectContent = /* @__PURE__ */ React42.createElement("div", { className: "group block w-full" }, /* @__PURE__ */ React42.createElement("div", { className: "flex flex-col md:flex-row md:items-center justify-between gap-3 md:gap-4 mb-4 md:mb-5" }, /* @__PURE__ */ React42.createElement("div", { className: "flex items-center gap-3 md:gap-4" }, /* @__PURE__ */ React42.createElement("h2", { className: " text-[16px] text-black transition-all flex items-center gap-2" }, project.title, /* @__PURE__ */ React42.createElement("span", { className: "text-[11px] opacity-0 -translate-x-2 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300" }, project.isExternal ? "\u2197" : "\u2192")), /* @__PURE__ */ React42.createElement("span", { className: `text-[9px] px-2.5 py-1 rounded-full tracking-[0.15em] transition-colors ${project.status.toLowerCase() === "production" ? "bg-black text-white" : "bg-neutral-100 text-neutral-500 group-hover:bg-neutral-50 group-hover:text-black"}` }, project.status)), /* @__PURE__ */ React42.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-500 shrink-0 " }, project.date)), /* @__PURE__ */ React42.createElement("p", { className: "text-[
|
|
3974
|
+
const projectContent = /* @__PURE__ */ React42.createElement("div", { className: "group block w-full" }, /* @__PURE__ */ React42.createElement("div", { className: "flex flex-col md:flex-row md:items-center justify-between gap-3 md:gap-4 mb-4 md:mb-5" }, /* @__PURE__ */ React42.createElement("div", { className: "flex items-center gap-3 md:gap-4" }, /* @__PURE__ */ React42.createElement("h2", { className: " text-[16px] text-black transition-all flex items-center gap-2" }, project.title, /* @__PURE__ */ React42.createElement("span", { className: "text-[11px] opacity-0 -translate-x-2 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300" }, project.isExternal ? "\u2197" : "\u2192")), /* @__PURE__ */ React42.createElement("span", { className: `text-[9px] px-2.5 py-1 rounded-full tracking-[0.15em] transition-colors ${project.status.toLowerCase() === "production" ? "bg-black text-white" : "bg-neutral-100 text-neutral-500 group-hover:bg-neutral-50 group-hover:text-black"}` }, project.status)), /* @__PURE__ */ React42.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-500 shrink-0 " }, project.date)), /* @__PURE__ */ React42.createElement("p", { className: "text-[12px] leading-[1.8] text-neutral-600 max-w-4xl text-left transition-colors group-hover:text-black" }, project.description));
|
|
3975
3975
|
return /* @__PURE__ */ React42.createElement(GridSection, { key: project.id || index, isLast, className: isLast ? "py-8 md:py-10 pb-12 md:pb-14" : "py-8 md:py-10" }, project.isExternal ? /* @__PURE__ */ React42.createElement("a", { href: project.link, target: "_blank", rel: "noopener noreferrer", className: "block outline-none" }, projectContent) : /* @__PURE__ */ React42.createElement(Link9, { href: project.link, className: "block outline-none" }, projectContent));
|
|
3976
3976
|
}))));
|
|
3977
3977
|
};
|
|
@@ -4041,7 +4041,7 @@ var VerificationRow = ({
|
|
|
4041
4041
|
className: `flex items-center p-4 transition-colors ${!isLast ? "" : ""} ${isDisabled ? "opacity-70 cursor-default" : "cursor-pointer hover:bg-neutral-50"}`
|
|
4042
4042
|
},
|
|
4043
4043
|
/* @__PURE__ */ React43.createElement("div", { className: "w-9 h-9 rounded-full border border-neutral-200 bg-white flex items-center justify-center shrink-0 mr-4" }, /* @__PURE__ */ React43.createElement(HugeiconsIcon30, { icon, size: 16, className: "text-black" })),
|
|
4044
|
-
/* @__PURE__ */ React43.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React43.createElement("p", { className: "text-[
|
|
4044
|
+
/* @__PURE__ */ React43.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React43.createElement("p", { className: "text-[12px] truncate text-black" }, title), /* @__PURE__ */ React43.createElement("p", { className: `text-[10px] inline-flex items-center ${bg} rounded-full px-2 py-1 ${statusColor} mt-0.5` }, statusText)),
|
|
4045
4045
|
/* @__PURE__ */ React43.createElement("div", { className: "shrink-0 ml-2" }, isLoading ? /* @__PURE__ */ React43.createElement(HugeiconsIcon30, { icon: Loading03Icon17, size: 20, className: "animate-spin text-black" }) : /* @__PURE__ */ React43.createElement(HugeiconsIcon30, { icon: StatusIcon, size: 20, className: iconColor }))
|
|
4046
4046
|
);
|
|
4047
4047
|
};
|
|
@@ -4059,7 +4059,7 @@ var UniversalVerificationPage = ({
|
|
|
4059
4059
|
"button",
|
|
4060
4060
|
{
|
|
4061
4061
|
onClick: onBack,
|
|
4062
|
-
className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[
|
|
4062
|
+
className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[12px] outline-none"
|
|
4063
4063
|
},
|
|
4064
4064
|
/* @__PURE__ */ React43.createElement(HugeiconsIcon30, { icon: ArrowLeft01Icon10, size: 16 }),
|
|
4065
4065
|
" Back"
|
|
@@ -4165,7 +4165,7 @@ var UniversalRewardPage = ({
|
|
|
4165
4165
|
setIsClaiming(false);
|
|
4166
4166
|
}
|
|
4167
4167
|
};
|
|
4168
|
-
return /* @__PURE__ */ React44.createElement("div", null, /* @__PURE__ */ React44.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ React44.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[
|
|
4168
|
+
return /* @__PURE__ */ React44.createElement("div", null, /* @__PURE__ */ React44.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ React44.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[12px] outline-none" }, /* @__PURE__ */ React44.createElement(HugeiconsIcon31, { icon: ArrowLeft01Icon11, size: 16 }), " Back")), /* @__PURE__ */ React44.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React44.createElement(ManagedToaster, null), showConfetti && /* @__PURE__ */ React44.createElement("div", { className: "fixed inset-0 z-200 pointer-events-none" }, /* @__PURE__ */ React44.createElement(Confetti, { width, height, recycle: false, numberOfPieces: 500, gravity: 0.15 })), isLoading ? /* @__PURE__ */ React44.createElement(PageSpinner4, null) : /* @__PURE__ */ React44.createElement(React44.Fragment, null, /* @__PURE__ */ React44.createElement("div", { className: "w-full p-4 pt-10 mb-6 flex items-end justify-center gap-2 sm:gap-6 h-64 relative overflow-hidden" }, /* @__PURE__ */ React44.createElement("div", { className: "flex flex-col items-center w-1/3 z-10" }, secondPlace ? /* @__PURE__ */ React44.createElement(React44.Fragment, null, /* @__PURE__ */ React44.createElement("span", { className: "text-black text-[10px] mb-2 truncate max-w-full px-1" }, formatWeb3Name(secondPlace.profile.web3Name)), /* @__PURE__ */ React44.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ React44.createElement(AvatarLogo, { src: secondPlace.profile.avatarUrl, alt: secondPlace.profile.username, name: formatWeb3Name(secondPlace.profile.web3Name), sizeClass: "w-14 h-14" }), /* @__PURE__ */ React44.createElement("div", { className: "absolute -bottom-2 right-0 w-5 h-5 rounded-full bg-[#ceff8a] text-black flex items-center justify-center text-[10px] border border-white " }, "2")), /* @__PURE__ */ React44.createElement("div", { className: "w-full bg-linear-to-t from-neutral-100 to-[#ceff8a] rounded-t-xl h-24 flex items-center justify-center" }, /* @__PURE__ */ React44.createElement("span", { className: "text-neutral-800/30 text-2xl " }, "2nd"))) : /* @__PURE__ */ React44.createElement("div", { className: "w-full bg-linear-to-t from-neutral-200 to-neutral-100 rounded-t-xl h-24 mt-auto" })), /* @__PURE__ */ React44.createElement("div", { className: "flex flex-col items-center w-1/3 z-20 -mt-8" }, firstPlace ? /* @__PURE__ */ React44.createElement(React44.Fragment, null, /* @__PURE__ */ React44.createElement("span", { className: "text-black text-[10px] mb-2 truncate max-w-full px-1" }, formatWeb3Name(firstPlace.profile.web3Name)), /* @__PURE__ */ React44.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ React44.createElement(AvatarLogo, { src: firstPlace.profile.avatarUrl, alt: firstPlace.profile.username, name: formatWeb3Name(firstPlace.profile.web3Name), sizeClass: "w-17 h-17" }), /* @__PURE__ */ React44.createElement("div", { className: "absolute -bottom-2 right-2 w-5 h-5 rounded-full bg-[#143731] text-white flex items-center justify-center text-[10px] border border-white " }, "1")), /* @__PURE__ */ React44.createElement("div", { className: "w-full bg-linear-to-t from-neutral-100 to-[#143731] rounded-t-xl h-32 flex items-center justify-center " }, /* @__PURE__ */ React44.createElement("span", { className: "text-white/40 text-3xl tracking-widest" }, "1st"))) : /* @__PURE__ */ React44.createElement("div", { className: "w-full bg-linear-to-t from-neutral-200 to-neutral-100 rounded-t-xl h-32 mt-auto" })), /* @__PURE__ */ React44.createElement("div", { className: "flex flex-col items-center w-1/3 z-10" }, thirdPlace ? /* @__PURE__ */ React44.createElement(React44.Fragment, null, /* @__PURE__ */ React44.createElement("span", { className: "text-black text-[10px] mb-2 truncate max-w-full px-1" }, formatWeb3Name(thirdPlace.profile.web3Name)), /* @__PURE__ */ React44.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ React44.createElement(AvatarLogo, { src: thirdPlace.profile.avatarUrl, alt: thirdPlace.profile.username, name: formatWeb3Name(thirdPlace.profile.web3Name), sizeClass: "w-12 h-12" }), /* @__PURE__ */ React44.createElement("div", { className: "absolute -bottom-2 right-0 w-5 h-5 rounded-full bg-[#ceff8a] text-black flex items-center justify-center text-[10px] border border-white " }, "3")), /* @__PURE__ */ React44.createElement("div", { className: "w-full bg-linear-to-t from-neutral-100 to-[#ceff8a] rounded-t-xl h-20 flex items-center justify-center" }, /* @__PURE__ */ React44.createElement("span", { className: "text-neutral-800/30 text-xl " }, "3rd"))) : /* @__PURE__ */ React44.createElement("div", { className: "w-full bg-linear-to-t from-neutral-200 to-neutral-100 rounded-t-xl h-20 mt-auto" }))), /* @__PURE__ */ React44.createElement("div", { className: "flex items-center justify-center mb-6 sm:mb-8 w-full animate-in fade-in duration-300 px-2" }, /* @__PURE__ */ React44.createElement("div", { className: "flex items-center bg-white rounded-full p-1 sm:p-1.5 max-w-full overflow-x-auto custom-scrollbar " }, tabs.map((tab, idx) => {
|
|
4169
4169
|
const isActive = activeTabIndex === idx;
|
|
4170
4170
|
return /* @__PURE__ */ React44.createElement(
|
|
4171
4171
|
"button",
|
|
@@ -4185,10 +4185,10 @@ var UniversalRewardPage = ({
|
|
|
4185
4185
|
onClick: () => setSelectedReward(reward),
|
|
4186
4186
|
className: "flex items-center justify-between py-4 hover:bg-neutral-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl"
|
|
4187
4187
|
},
|
|
4188
|
-
/* @__PURE__ */ React44.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React44.createElement("div", { className: "w-10 h-10 shrink-0 rounded-full flex items-center justify-center border border-neutral-200 text-black" }, /* @__PURE__ */ React44.createElement(HugeiconsIcon31, { icon: GiftIcon, size: 16 })), /* @__PURE__ */ React44.createElement("div", { className: "min-w-0 flex-1 flex flex-col items-start gap-0.5 pr-4" }, /* @__PURE__ */ React44.createElement("p", { className: "text-[
|
|
4189
|
-
/* @__PURE__ */ React44.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1" }, /* @__PURE__ */ React44.createElement("span", { className: "text-[
|
|
4188
|
+
/* @__PURE__ */ React44.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React44.createElement("div", { className: "w-10 h-10 shrink-0 rounded-full flex items-center justify-center border border-neutral-200 text-black" }, /* @__PURE__ */ React44.createElement(HugeiconsIcon31, { icon: GiftIcon, size: 16 })), /* @__PURE__ */ React44.createElement("div", { className: "min-w-0 flex-1 flex flex-col items-start gap-0.5 pr-4" }, /* @__PURE__ */ React44.createElement("p", { className: "text-[12px] text-black truncate w-full" }, reward.title), /* @__PURE__ */ React44.createElement("p", { className: `text-[10px] inline-flex items-center bg-neutral-50 rounded-full px-2 py-1 text-neutral-500 mt-0.5` }, statusText))),
|
|
4189
|
+
/* @__PURE__ */ React44.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1" }, /* @__PURE__ */ React44.createElement("span", { className: "text-[12px] text-black" }, reward.amount))
|
|
4190
4190
|
);
|
|
4191
|
-
}))), remainingLeaderboard.length > 0 && /* @__PURE__ */ React44.createElement("div", { className: "bg-white rounded-2xl p-6 " }, /* @__PURE__ */ React44.createElement("h2", { className: "text-black text-lg mb-4 tracking-tight" }, "Leaderboard"), /* @__PURE__ */ React44.createElement("div", { className: "flex flex-col" }, remainingLeaderboard.map((lb) => /* @__PURE__ */ React44.createElement("div", { key: lb.profile.username, className: "flex items-center justify-between py-3 min-w-0" }, /* @__PURE__ */ React44.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React44.createElement("div", { className: "text-[12px] text-neutral-400 w-4" }, lb.position), /* @__PURE__ */ React44.createElement(AvatarLogo, { src: lb.profile.avatarUrl, alt: lb.profile.username, name: formatWeb3Name(lb.profile.web3Name), sizeClass: "w-9 h-9" }), /* @__PURE__ */ React44.createElement("div", { className: "min-w-0 flex-1 flex flex-col" }, /* @__PURE__ */ React44.createElement("p", { className: "text-[
|
|
4191
|
+
}))), remainingLeaderboard.length > 0 && /* @__PURE__ */ React44.createElement("div", { className: "bg-white rounded-2xl p-6 " }, /* @__PURE__ */ React44.createElement("h2", { className: "text-black text-lg mb-4 tracking-tight" }, "Leaderboard"), /* @__PURE__ */ React44.createElement("div", { className: "flex flex-col" }, remainingLeaderboard.map((lb) => /* @__PURE__ */ React44.createElement("div", { key: lb.profile.username, className: "flex items-center justify-between py-3 min-w-0" }, /* @__PURE__ */ React44.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React44.createElement("div", { className: "text-[12px] text-neutral-400 w-4" }, lb.position), /* @__PURE__ */ React44.createElement(AvatarLogo, { src: lb.profile.avatarUrl, alt: lb.profile.username, name: formatWeb3Name(lb.profile.web3Name), sizeClass: "w-9 h-9" }), /* @__PURE__ */ React44.createElement("div", { className: "min-w-0 flex-1 flex flex-col" }, /* @__PURE__ */ React44.createElement("p", { className: "text-[12px] text-black truncate" }, formatWeb3Name(lb.profile.web3Name)), /* @__PURE__ */ React44.createElement("p", { className: "text-[11px] text-neutral-400 truncate" }, "@", lb.profile.username))), /* @__PURE__ */ React44.createElement("div", { className: "shrink-0 text-[12px] text-black" }, lb.amount))))))), selectedReward && /* @__PURE__ */ React44.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React44.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: () => !isClaiming && setSelectedReward(null) }), /* @__PURE__ */ React44.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-3xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React44.createElement("div", { className: "flex-1 p-6 flex flex-col items-center text-center mt-2" }, /* @__PURE__ */ React44.createElement("h2", { className: "text-xl text-black mb-2" }, selectedReward.title), /* @__PURE__ */ React44.createElement("p", { className: "text-[12px] text-neutral-500 mb-6 leading-relaxed" }, selectedReward.description), selectedReward.progressText && /* @__PURE__ */ React44.createElement("div", { className: "w-full mb-6" }, /* @__PURE__ */ React44.createElement("div", { className: `px-4 py-2 rounded-full text-[11px] tracking-wide ${selectedReward.status === "CLAIMED" ? "bg-green-50 text-green-600" : selectedReward.isEligible ? "bg-blue-50 text-blue-600" : "bg-neutral-100 text-neutral-600"}` }, selectedReward.progressText)), /* @__PURE__ */ React44.createElement("div", { className: " w-full rounded-xl p-4 mb-8 flex flex-col items-center" }, /* @__PURE__ */ React44.createElement("span", { className: "text-[11px] tracking-widest text-neutral-400 mb-1" }, "Reward Value"), /* @__PURE__ */ React44.createElement("span", { className: "text-3xl text-black " }, selectedReward.amount)), /* @__PURE__ */ React44.createElement("div", { className: "flex flex-col gap-3 w-full" }, /* @__PURE__ */ React44.createElement(
|
|
4192
4192
|
ThreeDActionButton,
|
|
4193
4193
|
{
|
|
4194
4194
|
onClick: handleClaimReward,
|
|
@@ -4255,7 +4255,7 @@ var UniversalReferralPage = ({
|
|
|
4255
4255
|
const finalSrc = src || fallbackUrl;
|
|
4256
4256
|
return /* @__PURE__ */ React45.createElement("div", { className: `relative shrink-0 rounded-full bg-neutral-100 flex items-center justify-center overflow-hidden border-2 border-white ${sizeClass}` }, !isLoaded && /* @__PURE__ */ React45.createElement(HugeiconsIcon32, { icon: Loading03Icon19, size: 16, className: "animate-spin text-neutral-400 absolute" }), /* @__PURE__ */ React45.createElement("img", { src: finalSrc, alt, onLoad: () => setIsLoaded(true), className: `w-full h-full object-cover transition-opacity duration-300 ${isLoaded ? "opacity-100" : "opacity-0"}` }));
|
|
4257
4257
|
};
|
|
4258
|
-
return /* @__PURE__ */ React45.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React45.createElement(ManagedToaster, null), /* @__PURE__ */ React45.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React45.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[
|
|
4258
|
+
return /* @__PURE__ */ React45.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React45.createElement(ManagedToaster, null), /* @__PURE__ */ React45.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React45.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[12px] outline-none" }, /* @__PURE__ */ React45.createElement(HugeiconsIcon32, { icon: ArrowLeft01Icon12, size: 16 }), " Back")), /* @__PURE__ */ React45.createElement("div", { className: "flex flex-col gap-4 mb-6 px-1" }, /* @__PURE__ */ React45.createElement("div", null, /* @__PURE__ */ React45.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, "Your Referrals"), /* @__PURE__ */ React45.createElement("p", { className: "text-xs text-neutral-500" }, "Invite friends and earn rewards when they verify and activate cards.")), /* @__PURE__ */ React45.createElement("div", { className: "bg-[#143731] rounded-3xl p-6 relative overflow-hidden flex flex-col min-h-25 w-full mt-2" }, /* @__PURE__ */ React45.createElement("div", { className: "relative z-10 flex flex-col items-start" }, /* @__PURE__ */ React45.createElement("p", { className: "text-[11px] text-white leading-tight mb-1" }, /* @__PURE__ */ React45.createElement("span", { className: "text-white/60" }, "AFT Balance")), isLoading ? /* @__PURE__ */ React45.createElement("div", { className: "h-8 w-32 bg-white/10 animate-pulse rounded mt-2" }) : /* @__PURE__ */ React45.createElement("span", { className: "text-lg text-white tracking-tight mt-1" }, referralCoins)))), /* @__PURE__ */ React45.createElement("div", { className: "flex flex-col gap-6 p-4 rounded-3xl bg-white w-full" }, /* @__PURE__ */ React45.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React45.createElement("div", { className: "border border-neutral-200 rounded-xl p-4 flex items-center justify-between" }, /* @__PURE__ */ React45.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ React45.createElement("span", { className: "text-[11px] tracking-widest text-neutral-400 " }, "Invitation Code"), isLoading && !referralCode ? /* @__PURE__ */ React45.createElement("div", { className: "h-6 w-24 bg-neutral-50 animate-pulse rounded mt-1" }) : /* @__PURE__ */ React45.createElement("span", { className: "text-sm text-black tracking-widest" }, referralCode)), /* @__PURE__ */ React45.createElement(
|
|
4259
4259
|
"button",
|
|
4260
4260
|
{
|
|
4261
4261
|
onClick: handleCopyCode,
|
|
@@ -4263,7 +4263,7 @@ var UniversalReferralPage = ({
|
|
|
4263
4263
|
className: "w-10 h-10 rounded-full bg-white flex items-center justify-center text-neutral-500 hover:text-black transition-colors outline-none disabled:opacity-50"
|
|
4264
4264
|
},
|
|
4265
4265
|
/* @__PURE__ */ React45.createElement(HugeiconsIcon32, { icon: Copy01Icon4, size: 18 })
|
|
4266
|
-
)), /* @__PURE__ */ React45.createElement("div", { className: "flex items-center justify-between text-[
|
|
4266
|
+
)), /* @__PURE__ */ React45.createElement("div", { className: "flex items-center justify-between text-[12px] text-neutral-500 px-1" }, /* @__PURE__ */ React45.createElement("span", null, "Total Invited: ", /* @__PURE__ */ React45.createElement("span", { className: "text-black " }, isLoading && !totalCount ? "-" : totalCount)))), /* @__PURE__ */ React45.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ React45.createElement(PageSpinner5, null) : /* @__PURE__ */ React45.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React45.createElement("div", null, referrals.length === 0 ? /* @__PURE__ */ React45.createElement("div", { className: "flex flex-col items-center justify-center py-8 opacity-50" }, /* @__PURE__ */ React45.createElement("p", { className: "text-xs text-neutral-500 text-center" }, "You haven't referred anyone yet.")) : referrals.map((ref, idx) => /* @__PURE__ */ React45.createElement(
|
|
4267
4267
|
"div",
|
|
4268
4268
|
{
|
|
4269
4269
|
key: `${ref.profile.username}-${idx}`,
|
|
@@ -4276,7 +4276,7 @@ var UniversalReferralPage = ({
|
|
|
4276
4276
|
alt: ref.profile.username,
|
|
4277
4277
|
name: formatWeb3Name2(ref.profile.web3Name)
|
|
4278
4278
|
}
|
|
4279
|
-
), /* @__PURE__ */ React45.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-0.5 pr-4" }, /* @__PURE__ */ React45.createElement("p", { className: "text-[
|
|
4279
|
+
), /* @__PURE__ */ React45.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-0.5 pr-4" }, /* @__PURE__ */ React45.createElement("p", { className: "text-[12px] text-black truncate" }, formatWeb3Name2(ref.profile.web3Name)), /* @__PURE__ */ React45.createElement("p", { className: "text-[12px] text-neutral-500 truncate" }, "@", ref.profile.username))),
|
|
4280
4280
|
/* @__PURE__ */ React45.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ React45.createElement("span", { className: "text-[11px] text-neutral-400" }, "Joined"), /* @__PURE__ */ React45.createElement("span", { className: "text-[12px] text-black" }, formatDate(ref.joinedAt)))
|
|
4281
4281
|
))), /* @__PURE__ */ React45.createElement("div", { className: "flex items-center justify-between pt-6 mt-2" }, /* @__PURE__ */ React45.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em]" }, "Page ", currentPage, " of ", totalPages === 0 ? 1 : totalPages), /* @__PURE__ */ React45.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React45.createElement(
|
|
4282
4282
|
"button",
|
|
@@ -4393,7 +4393,7 @@ var UniversalCardActionPage = ({
|
|
|
4393
4393
|
"button",
|
|
4394
4394
|
{
|
|
4395
4395
|
onClick: onBackHandler,
|
|
4396
|
-
className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[
|
|
4396
|
+
className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[12px] outline-none"
|
|
4397
4397
|
},
|
|
4398
4398
|
/* @__PURE__ */ React46.createElement(HugeiconsIcon33, { icon: ArrowLeft01Icon13, size: 16 }),
|
|
4399
4399
|
" Back"
|
|
@@ -4420,7 +4420,7 @@ var UniversalCardActionPage = ({
|
|
|
4420
4420
|
}
|
|
4421
4421
|
),
|
|
4422
4422
|
isThisCardLoading && /* @__PURE__ */ React46.createElement("div", { className: "absolute inset-0 z-50 flex items-center justify-center bg-white/40 backdrop-blur-[1px]" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon33, { icon: Loading03Icon20, size: 32, className: "animate-spin text-black" })),
|
|
4423
|
-
/* @__PURE__ */ React46.createElement("div", { className: "mb-6 relative z-10" }, /* @__PURE__ */ React46.createElement("div", { className: "flex justify-between items-start mb-1" }, /* @__PURE__ */ React46.createElement("span", { className: "text-black text-sm tracking-widest " }, formatTierName(tier.tierName)), isCurrent && !hasPreordered && /* @__PURE__ */ React46.createElement("span", { className: "text-[9px] bg-neutral-100 text-neutral-600 px-2 py-1 rounded-full tracking-wider" }, "Current")), /* @__PURE__ */ React46.createElement("div", { className: "flex items-baseline gap-1 mt-2" }, /* @__PURE__ */ React46.createElement("h3", { className: "text-3xl font-light text-black" }, tier.priceUSD === 0 ? "Free" : `$${tier.priceUSD.toFixed(2)}`), tier.priceUSD > 0 && /* @__PURE__ */ React46.createElement("span", { className: "text-xs text-neutral-500" }, tier.isYearly ? "/ year" : "one-time")), /* @__PURE__ */ React46.createElement("p", { className: "text-[
|
|
4423
|
+
/* @__PURE__ */ React46.createElement("div", { className: "mb-6 relative z-10" }, /* @__PURE__ */ React46.createElement("div", { className: "flex justify-between items-start mb-1" }, /* @__PURE__ */ React46.createElement("span", { className: "text-black text-sm tracking-widest " }, formatTierName(tier.tierName)), isCurrent && !hasPreordered && /* @__PURE__ */ React46.createElement("span", { className: "text-[9px] bg-neutral-100 text-neutral-600 px-2 py-1 rounded-full tracking-wider" }, "Current")), /* @__PURE__ */ React46.createElement("div", { className: "flex items-baseline gap-1 mt-2" }, /* @__PURE__ */ React46.createElement("h3", { className: "text-3xl font-light text-black" }, tier.priceUSD === 0 ? "Free" : `$${tier.priceUSD.toFixed(2)}`), tier.priceUSD > 0 && /* @__PURE__ */ React46.createElement("span", { className: "text-xs text-neutral-500" }, tier.isYearly ? "/ year" : "one-time")), /* @__PURE__ */ React46.createElement("p", { className: "text-[12px] text-neutral-500 mt-3 min-h-12 leading-relaxed" }, tier.description)),
|
|
4424
4424
|
/* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-2.5 mb-6 relative z-10" }, /* @__PURE__ */ React46.createElement("div", { className: isPrimaryDisabled ? "opacity-50 pointer-events-none" : "" }, /* @__PURE__ */ React46.createElement(
|
|
4425
4425
|
ThreeDActionButton,
|
|
4426
4426
|
{
|
|
@@ -4460,7 +4460,7 @@ var UniversalCardActionPage = ({
|
|
|
4460
4460
|
className: "text-neutral-400 hover:text-black transition-colors outline-none disabled:opacity-50"
|
|
4461
4461
|
},
|
|
4462
4462
|
/* @__PURE__ */ React46.createElement(HugeiconsIcon33, { icon: CancelCircleIcon9, size: 18 })
|
|
4463
|
-
)), /* @__PURE__ */ React46.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 relative z-10" }, /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col items-center justify-center mb-6" }, /* @__PURE__ */ React46.createElement("p", { className: "text-2xl text-black mb-1" }, selectedTier.priceUSD === 0 ? "Free" : `$${selectedTier.priceUSD.toFixed(2)}`), /* @__PURE__ */ React46.createElement("span", { className: `text-[10px] tracking-widest px-4 py-1.5 rounded-full bg-neutral-100 text-black mt-1` }, formatTierName(selectedTier.tierName), " ", formatTierName(cardType))), /* @__PURE__ */ React46.createElement("div", { className: "grid grid-cols-1 gap-y-6 mb-8 mt-4" }, /* @__PURE__ */ React46.createElement("div", null, /* @__PURE__ */ React46.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-400 block mb-1" }, "Action"), /* @__PURE__ */ React46.createElement("span", { className: "text-[
|
|
4463
|
+
)), /* @__PURE__ */ React46.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 relative z-10" }, /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col items-center justify-center mb-6" }, /* @__PURE__ */ React46.createElement("p", { className: "text-2xl text-black mb-1" }, selectedTier.priceUSD === 0 ? "Free" : `$${selectedTier.priceUSD.toFixed(2)}`), /* @__PURE__ */ React46.createElement("span", { className: `text-[10px] tracking-widest px-4 py-1.5 rounded-full bg-neutral-100 text-black mt-1` }, formatTierName(selectedTier.tierName), " ", formatTierName(cardType))), /* @__PURE__ */ React46.createElement("div", { className: "grid grid-cols-1 gap-y-6 mb-8 mt-4" }, /* @__PURE__ */ React46.createElement("div", null, /* @__PURE__ */ React46.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-400 block mb-1" }, "Action"), /* @__PURE__ */ React46.createElement("span", { className: "text-[12px] text-black " }, intendedAction === "upgrade" ? `Upgrade to ${formatTierName(selectedTier.tierName)}` : `Pre-order Card`)), intendedAction === "pre_order" && selectedTier.priceUSD > 0 && /* @__PURE__ */ React46.createElement("div", null, /* @__PURE__ */ React46.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-400 block mb-1" }, "Payment Notice"), /* @__PURE__ */ React46.createElement("span", { className: "text-[12px] text-neutral-600 leading-relaxed block" }, "By confirming, $", selectedTier.priceUSD.toFixed(2), " will be securely deducted from your USD asset balance to guarantee your order."))), /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React46.createElement(
|
|
4464
4464
|
ThreeDActionButton,
|
|
4465
4465
|
{
|
|
4466
4466
|
onClick: processAction,
|
|
@@ -4473,7 +4473,7 @@ var UniversalCardActionPage = ({
|
|
|
4473
4473
|
{
|
|
4474
4474
|
disabled: isProcessing,
|
|
4475
4475
|
onClick: () => setSelectedTier(null),
|
|
4476
|
-
className: "w-full flex items-center justify-center py-2.5 rounded-full border border-neutral-200 text-black hover:bg-neutral-50 transition-colors outline-none text-[
|
|
4476
|
+
className: "w-full flex items-center justify-center py-2.5 rounded-full border border-neutral-200 text-black hover:bg-neutral-50 transition-colors outline-none text-[12px] mt-1 disabled:opacity-50"
|
|
4477
4477
|
},
|
|
4478
4478
|
"Cancel"
|
|
4479
4479
|
))))), selectedTier && intendedAction === "join_waitlist" && /* @__PURE__ */ React46.createElement(
|
|
@@ -4736,7 +4736,7 @@ var UniversalBuyCryptoPage = ({
|
|
|
4736
4736
|
}
|
|
4737
4737
|
};
|
|
4738
4738
|
const isButtonDisabled = isSubmitting || isCalculating || !fiatAmount || !cryptoAmount || !isAddressValid || !currentRateKey;
|
|
4739
|
-
return /* @__PURE__ */ React48.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React48.createElement(ManagedToaster, null), !hideBackButton && /* @__PURE__ */ React48.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React48.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[
|
|
4739
|
+
return /* @__PURE__ */ React48.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React48.createElement(ManagedToaster, null), !hideBackButton && /* @__PURE__ */ React48.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React48.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[12px] outline-none" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon35, { icon: ArrowLeft01Icon14, size: 16 }), " Back")), /* @__PURE__ */ React48.createElement("div", { className: "flex flex-col gap-1 mb-6 px-1" }, /* @__PURE__ */ React48.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Buy Crypto"), /* @__PURE__ */ React48.createElement("p", { className: "text-xs text-neutral-500" }, "Purchase digital assets instantly in your local currency with direct wallet delivery.")), /* @__PURE__ */ React48.createElement("div", { className: "flex flex-col gap-6 p-6 sm:p-8 rounded-3xl bg-white w-full " }, /* @__PURE__ */ React48.createElement("div", { className: "relative flex flex-col gap-3" }, /* @__PURE__ */ React48.createElement("div", { className: "border border-neutral-200 rounded-2xl p-4 flex items-center justify-between transition-all focus-within:border-black" }, /* @__PURE__ */ React48.createElement("div", { className: "flex flex-col gap-1 flex-1 pr-3 min-w-0" }, /* @__PURE__ */ React48.createElement("span", { className: "text-[11px] tracking-widest text-neutral-400" }, "You Pay (", fiatCurrency.code, ")"), isCalculating && activeSource === "CRYPTO" ? /* @__PURE__ */ React48.createElement("div", { className: "h-7 w-32 bg-neutral-100 animate-pulse rounded-md mt-1" }) : /* @__PURE__ */ React48.createElement(
|
|
4740
4740
|
"input",
|
|
4741
4741
|
{
|
|
4742
4742
|
type: "text",
|
|
@@ -4802,7 +4802,7 @@ var UniversalBuyCryptoPage = ({
|
|
|
4802
4802
|
"Buy ",
|
|
4803
4803
|
selectedCrypto.code,
|
|
4804
4804
|
" Now"
|
|
4805
|
-
))), isCryptoDialogOpen && /* @__PURE__ */ React48.createElement("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/40" }, /* @__PURE__ */ React48.createElement("div", { className: "absolute inset-0", onClick: () => setIsCryptoDialogOpen(false) }), /* @__PURE__ */ React48.createElement("div", { className: "w-full max-w-sm bg-white rounded-2xl shadow-2xl overflow-hidden relative z-10 animate-in fade-in zoom-in-95 duration-200" }, /* @__PURE__ */ React48.createElement("button", { onClick: () => setIsCryptoDialogOpen(false), className: "absolute top-4 right-4 p-2 text-neutral-700 hover:text-neutral-400 transition-colors outline-none" }, /* @__PURE__ */ React48.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React48.createElement("path", { d: "M18 6 6 18" }), /* @__PURE__ */ React48.createElement("path", { d: "m6 6 12 12" }))), /* @__PURE__ */ React48.createElement("div", { className: "p-6 sm:p-8" }, /* @__PURE__ */ React48.createElement("div", { className: "mb-6 mt-2" }, /* @__PURE__ */ React48.createElement("h2", { className: "text-xl text-black tracking-tight mb-2" }, "Select Cryptocurrency"), /* @__PURE__ */ React48.createElement("p", { className: "text-[
|
|
4805
|
+
))), isCryptoDialogOpen && /* @__PURE__ */ React48.createElement("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/40" }, /* @__PURE__ */ React48.createElement("div", { className: "absolute inset-0", onClick: () => setIsCryptoDialogOpen(false) }), /* @__PURE__ */ React48.createElement("div", { className: "w-full max-w-sm bg-white rounded-2xl shadow-2xl overflow-hidden relative z-10 animate-in fade-in zoom-in-95 duration-200" }, /* @__PURE__ */ React48.createElement("button", { onClick: () => setIsCryptoDialogOpen(false), className: "absolute top-4 right-4 p-2 text-neutral-700 hover:text-neutral-400 transition-colors outline-none" }, /* @__PURE__ */ React48.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React48.createElement("path", { d: "M18 6 6 18" }), /* @__PURE__ */ React48.createElement("path", { d: "m6 6 12 12" }))), /* @__PURE__ */ React48.createElement("div", { className: "p-6 sm:p-8" }, /* @__PURE__ */ React48.createElement("div", { className: "mb-6 mt-2" }, /* @__PURE__ */ React48.createElement("h2", { className: "text-xl text-black tracking-tight mb-2" }, "Select Cryptocurrency"), /* @__PURE__ */ React48.createElement("p", { className: "text-[12px] text-neutral-500 leading-relaxed" }, "Choose the digital asset you want to purchase.")), /* @__PURE__ */ React48.createElement("div", { className: "flex flex-col gap-2 max-h-72 overflow-y-auto custom-scrollbar pr-1" }, cryptoOptions.map((c) => {
|
|
4806
4806
|
const isSelected = c.code === selectedCrypto.code;
|
|
4807
4807
|
return /* @__PURE__ */ React48.createElement(
|
|
4808
4808
|
"button",
|
|
@@ -4815,7 +4815,7 @@ var UniversalBuyCryptoPage = ({
|
|
|
4815
4815
|
/* @__PURE__ */ React48.createElement("div", { className: "flex flex-col flex-1 min-w-0" }, /* @__PURE__ */ React48.createElement("span", { className: "text-xs text-black truncate" }, c.name), /* @__PURE__ */ React48.createElement("span", { className: "text-[11px] text-neutral-400" }, c.code)),
|
|
4816
4816
|
isSelected && /* @__PURE__ */ React48.createElement(HugeiconsIcon35, { icon: CheckmarkCircle02Icon, size: 16, className: "text-black" })
|
|
4817
4817
|
);
|
|
4818
|
-
}))))), isNetworkDialogOpen && /* @__PURE__ */ React48.createElement("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/40" }, /* @__PURE__ */ React48.createElement("div", { className: "absolute inset-0", onClick: () => setIsNetworkDialogOpen(false) }), /* @__PURE__ */ React48.createElement("div", { className: "w-full max-w-sm bg-white rounded-2xl shadow-2xl overflow-hidden relative z-10 animate-in fade-in zoom-in-95 duration-200" }, /* @__PURE__ */ React48.createElement("button", { onClick: () => setIsNetworkDialogOpen(false), className: "absolute top-4 right-4 p-2 text-neutral-700 hover:text-neutral-400 transition-colors outline-none" }, /* @__PURE__ */ React48.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React48.createElement("path", { d: "M18 6 6 18" }), /* @__PURE__ */ React48.createElement("path", { d: "m6 6 12 12" }))), /* @__PURE__ */ React48.createElement("div", { className: "p-6 sm:p-8" }, /* @__PURE__ */ React48.createElement("div", { className: "mb-6 mt-2" }, /* @__PURE__ */ React48.createElement("h2", { className: "text-xl text-black tracking-tight mb-2" }, "Select Network"), /* @__PURE__ */ React48.createElement("p", { className: "text-[
|
|
4818
|
+
}))))), isNetworkDialogOpen && /* @__PURE__ */ React48.createElement("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/40" }, /* @__PURE__ */ React48.createElement("div", { className: "absolute inset-0", onClick: () => setIsNetworkDialogOpen(false) }), /* @__PURE__ */ React48.createElement("div", { className: "w-full max-w-sm bg-white rounded-2xl shadow-2xl overflow-hidden relative z-10 animate-in fade-in zoom-in-95 duration-200" }, /* @__PURE__ */ React48.createElement("button", { onClick: () => setIsNetworkDialogOpen(false), className: "absolute top-4 right-4 p-2 text-neutral-700 hover:text-neutral-400 transition-colors outline-none" }, /* @__PURE__ */ React48.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React48.createElement("path", { d: "M18 6 6 18" }), /* @__PURE__ */ React48.createElement("path", { d: "m6 6 12 12" }))), /* @__PURE__ */ React48.createElement("div", { className: "p-6 sm:p-8" }, /* @__PURE__ */ React48.createElement("div", { className: "mb-6 mt-2" }, /* @__PURE__ */ React48.createElement("h2", { className: "text-xl text-black tracking-tight mb-2" }, "Select Network"), /* @__PURE__ */ React48.createElement("p", { className: "text-[12px] text-neutral-500 leading-relaxed" }, "Ensure your receiving wallet supports this network.")), /* @__PURE__ */ React48.createElement("div", { className: "flex flex-col gap-2 max-h-72 overflow-y-auto custom-scrollbar pr-1" }, selectedCrypto?.networks?.map((net) => {
|
|
4819
4819
|
const isSelected = net.id === selectedNetwork.id;
|
|
4820
4820
|
return /* @__PURE__ */ React48.createElement(
|
|
4821
4821
|
"button",
|
|
@@ -4899,7 +4899,7 @@ var UniversalHuddlesPage = ({
|
|
|
4899
4899
|
className: "flex flex-row items-center gap-4 py-2 hover:bg-neutral-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl"
|
|
4900
4900
|
},
|
|
4901
4901
|
/* @__PURE__ */ React49.createElement(HuddleAvatar, { src: huddle.imageUrl, status: huddle.status }),
|
|
4902
|
-
/* @__PURE__ */ React49.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ React49.createElement("p", { className: "text-[
|
|
4902
|
+
/* @__PURE__ */ React49.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ React49.createElement("p", { className: "text-[12px] text-black tracking-tight truncate" }, huddle.name), /* @__PURE__ */ React49.createElement("span", { className: "text-[11px] text-neutral-500 truncate block mt-0.5" }, huddle.timeString)),
|
|
4903
4903
|
/* @__PURE__ */ React49.createElement(HugeiconsIcon36, { icon: ArrowRight01Icon11, size: 14, className: "shrink-0 text-neutral-400" })
|
|
4904
4904
|
))), /* @__PURE__ */ React49.createElement("div", { className: "flex items-center justify-between pt-6 mt-2 " }, /* @__PURE__ */ React49.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em]" }, "Page ", currentPage, " of ", totalPages === 0 ? 1 : totalPages), /* @__PURE__ */ React49.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React49.createElement(
|
|
4905
4905
|
"button",
|
|
@@ -5069,7 +5069,7 @@ var UniversalMembersPage = ({
|
|
|
5069
5069
|
placeholder: "Search members...",
|
|
5070
5070
|
value: localSearchQuery,
|
|
5071
5071
|
onChange: (e) => setLocalSearchQuery(e.target.value),
|
|
5072
|
-
className: "w-full pl-10 pr-4 py-2 bg-white rounded-full text-[
|
|
5072
|
+
className: "w-full pl-10 pr-4 py-2 bg-white rounded-full text-[12px] text-black placeholder-neutral-400 outline-none transition-colors focus:border-black"
|
|
5073
5073
|
}
|
|
5074
5074
|
)), /* @__PURE__ */ React50.createElement("div", { className: "flex items-center gap-3 w-auto pb-0 shrink-0" }, /* @__PURE__ */ React50.createElement(
|
|
5075
5075
|
"button",
|
|
@@ -5124,7 +5124,7 @@ var UniversalMembersPage = ({
|
|
|
5124
5124
|
className: "w-full flex items-center justify-center py-2.5 rounded-full border border-neutral-200 text-black hover:bg-neutral-50 transition-colors outline-none text-xs tracking-wide"
|
|
5125
5125
|
},
|
|
5126
5126
|
"Cancel"
|
|
5127
|
-
))) : isListLoading ? /* @__PURE__ */ React50.createElement(PageSpinner7, null) : /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col min-w-0 animate-in fade-in duration-300" }, /* @__PURE__ */ React50.createElement("div", null, members.length === 0 ? /* @__PURE__ */ React50.createElement("p", { className: "text-[12px] text-neutral-400 py-6 text-center" }, "No members found") : members.map((member) => /* @__PURE__ */ React50.createElement(React50.Fragment, { key: member.id }, expandedId === member.id ? /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col p-5 bg-neutral-50 rounded-xl animate-in fade-in zoom-in-95 duration-200 gap-5 my-2" }, /* @__PURE__ */ React50.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React50.createElement(MemberAvatar2, { src: member.avatarUrl, status: member.status }), /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React50.createElement("span", { className: "text-[
|
|
5127
|
+
))) : isListLoading ? /* @__PURE__ */ React50.createElement(PageSpinner7, null) : /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col min-w-0 animate-in fade-in duration-300" }, /* @__PURE__ */ React50.createElement("div", null, members.length === 0 ? /* @__PURE__ */ React50.createElement("p", { className: "text-[12px] text-neutral-400 py-6 text-center" }, "No members found") : members.map((member) => /* @__PURE__ */ React50.createElement(React50.Fragment, { key: member.id }, expandedId === member.id ? /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col p-5 bg-neutral-50 rounded-xl animate-in fade-in zoom-in-95 duration-200 gap-5 my-2" }, /* @__PURE__ */ React50.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React50.createElement(MemberAvatar2, { src: member.avatarUrl, status: member.status }), /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React50.createElement("span", { className: "text-[12px] text-black tracking-tight truncate" }, member.name), /* @__PURE__ */ React50.createElement("span", { className: "text-[12px] text-neutral-500 capitalize" }, member.role.toLowerCase()))), member.departmentName && /* @__PURE__ */ React50.createElement("div", { className: "pt-3 border-t border-neutral-200" }, /* @__PURE__ */ React50.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-400 block mb-1" }, "Department"), /* @__PURE__ */ React50.createElement("span", { className: "text-[12px] text-black truncate block" }, member.departmentName)), /* @__PURE__ */ React50.createElement("div", { className: "flex gap-3 pt-2" }, !hideAction && /* @__PURE__ */ React50.createElement(
|
|
5128
5128
|
"button",
|
|
5129
5129
|
{
|
|
5130
5130
|
onClick: () => setMemberToRemove(member),
|
|
@@ -5144,7 +5144,7 @@ var UniversalMembersPage = ({
|
|
|
5144
5144
|
onClick: () => setExpandedId(member.id),
|
|
5145
5145
|
className: "flex items-center justify-between py-3 hover:bg-neutral-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl"
|
|
5146
5146
|
},
|
|
5147
|
-
/* @__PURE__ */ React50.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React50.createElement(MemberAvatar2, { src: member.avatarUrl, status: member.status }), /* @__PURE__ */ React50.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-0.5" }, /* @__PURE__ */ React50.createElement("p", { className: "text-[
|
|
5147
|
+
/* @__PURE__ */ React50.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React50.createElement(MemberAvatar2, { src: member.avatarUrl, status: member.status }), /* @__PURE__ */ React50.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-0.5" }, /* @__PURE__ */ React50.createElement("p", { className: "text-[12px] text-black truncate" }, member.name), /* @__PURE__ */ React50.createElement("p", { className: "text-[11px] text-neutral-500 capitalize truncate" }, member.role.toLowerCase())))
|
|
5148
5148
|
)))), /* @__PURE__ */ React50.createElement("div", { className: "flex items-center justify-between pt-6 mt-2" }, /* @__PURE__ */ React50.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em]" }, "Page ", currentPage, " of ", totalPages === 0 ? 1 : totalPages), /* @__PURE__ */ React50.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React50.createElement(
|
|
5149
5149
|
"button",
|
|
5150
5150
|
{
|
|
@@ -5161,7 +5161,7 @@ var UniversalMembersPage = ({
|
|
|
5161
5161
|
className: "p-2 bg-white border border-neutral-200 rounded-full text-black hover:bg-neutral-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none"
|
|
5162
5162
|
},
|
|
5163
5163
|
/* @__PURE__ */ React50.createElement(HugeiconsIcon37, { icon: ArrowRight01Icon12, size: 14 })
|
|
5164
|
-
)))))), isStatusModalOpen && /* @__PURE__ */ React50.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React50.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: () => setIsStatusModalOpen(false) }), /* @__PURE__ */ React50.createElement("div", { ref: statusDropdownRef, className: "relative w-72 bg-white shadow-2xl rounded-2xl flex flex-col items-center overflow-hidden animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React50.createElement("div", { className: "p-6 text-center w-full mb-2" }, /* @__PURE__ */ React50.createElement("h3", { className: "text-[
|
|
5164
|
+
)))))), isStatusModalOpen && /* @__PURE__ */ React50.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React50.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: () => setIsStatusModalOpen(false) }), /* @__PURE__ */ React50.createElement("div", { ref: statusDropdownRef, className: "relative w-72 bg-white shadow-2xl rounded-2xl flex flex-col items-center overflow-hidden animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React50.createElement("div", { className: "p-6 text-center w-full mb-2" }, /* @__PURE__ */ React50.createElement("h3", { className: "text-[12px] text-black tracking-tight" }, "Status Filter")), /* @__PURE__ */ React50.createElement("div", { className: "w-full flex flex-col pl-2 pr-2 gap-1" }, ["ALL", "ACTIVE", "BUSY", "OFFLINE", "AWAY"].map((option) => /* @__PURE__ */ React50.createElement(
|
|
5165
5165
|
"button",
|
|
5166
5166
|
{
|
|
5167
5167
|
key: option,
|
|
@@ -5172,7 +5172,7 @@ var UniversalMembersPage = ({
|
|
|
5172
5172
|
className: `text-left px-4 py-3 text-[11px] tracking-wide transition-colors rounded-full flex items-center justify-between outline-none ${activeStatusFilter === option ? "bg-neutral-100 text-black" : "text-neutral-500 hover:bg-neutral-50 hover:text-black"}`
|
|
5173
5173
|
},
|
|
5174
5174
|
/* @__PURE__ */ React50.createElement("span", { className: "truncate pr-2 capitalize" }, option.toLowerCase())
|
|
5175
|
-
))), /* @__PURE__ */ React50.createElement("div", { className: "w-full flex mt-2" }, /* @__PURE__ */ React50.createElement("button", { onClick: () => setIsStatusModalOpen(false), className: "w-full py-4 text-[
|
|
5175
|
+
))), /* @__PURE__ */ React50.createElement("div", { className: "w-full flex mt-2" }, /* @__PURE__ */ React50.createElement("button", { onClick: () => setIsStatusModalOpen(false), className: "w-full py-4 text-[12px] text-neutral-500 hover:text-black transition-colors outline-none" }, "Cancel")))), isRoleModalOpen && /* @__PURE__ */ React50.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React50.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: () => setIsRoleModalOpen(false) }), /* @__PURE__ */ React50.createElement("div", { ref: roleDropdownRef, className: "relative w-72 bg-white shadow-2xl rounded-2xl flex flex-col items-center overflow-hidden animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React50.createElement("div", { className: "p-6 text-center w-full mb-2" }, /* @__PURE__ */ React50.createElement("h3", { className: "text-[12px] text-black tracking-tight" }, "Role Filter")), /* @__PURE__ */ React50.createElement("div", { className: "w-full flex flex-col pl-2 pr-2 gap-1" }, ["ALL", "ADMIN", "MANAGER", "MEMBER"].map((option) => /* @__PURE__ */ React50.createElement(
|
|
5176
5176
|
"button",
|
|
5177
5177
|
{
|
|
5178
5178
|
key: option,
|
|
@@ -5183,7 +5183,7 @@ var UniversalMembersPage = ({
|
|
|
5183
5183
|
className: `text-left px-4 py-3 text-[11px] tracking-wide transition-colors rounded-full flex items-center justify-between outline-none ${activeRoleFilter === option ? "bg-neutral-100 text-black" : "text-neutral-500 hover:bg-neutral-50 hover:text-black"}`
|
|
5184
5184
|
},
|
|
5185
5185
|
/* @__PURE__ */ React50.createElement("span", { className: "truncate pr-2 capitalize" }, option.toLowerCase())
|
|
5186
|
-
))), /* @__PURE__ */ React50.createElement("div", { className: "w-full flex mt-2" }, /* @__PURE__ */ React50.createElement("button", { onClick: () => setIsRoleModalOpen(false), className: "w-full py-4 text-[
|
|
5186
|
+
))), /* @__PURE__ */ React50.createElement("div", { className: "w-full flex mt-2" }, /* @__PURE__ */ React50.createElement("button", { onClick: () => setIsRoleModalOpen(false), className: "w-full py-4 text-[12px] text-neutral-500 hover:text-black transition-colors outline-none" }, "Cancel")))));
|
|
5187
5187
|
};
|
|
5188
5188
|
|
|
5189
5189
|
// src/components/UniversalHome2.tsx
|
|
@@ -5355,7 +5355,7 @@ var UniversalHome2 = ({
|
|
|
5355
5355
|
className: `p-4 flex items-center justify-between gap-3 cursor-pointer outline-none transition-colors border-b border-neutral-50 last:border-0 ${activeOrgId === org.id ? "bg-neutral-50" : "hover:bg-neutral-50/50"}`
|
|
5356
5356
|
},
|
|
5357
5357
|
/* @__PURE__ */ React51.createElement(OrgAvatar, { src: org.avatarUrl }),
|
|
5358
|
-
/* @__PURE__ */ React51.createElement("div", { className: "flex flex-col items-start min-w-0 flex-1" }, /* @__PURE__ */ React51.createElement("span", { className: `text-[
|
|
5358
|
+
/* @__PURE__ */ React51.createElement("div", { className: "flex flex-col items-start min-w-0 flex-1" }, /* @__PURE__ */ React51.createElement("span", { className: `text-[12px] tracking-tight truncate w-full text-left ${activeOrgId === org.id ? "text-black " : "text-neutral-600"}` }, org.name), /* @__PURE__ */ React51.createElement("span", { className: "text-[11px] text-neutral-500 capitalize truncate w-full text-left mt-0.5" }, org.role?.toLowerCase() || "Member")),
|
|
5359
5359
|
activeOrgId === org.id && /* @__PURE__ */ React51.createElement("div", { className: "w-2 h-2 rounded-full bg-[#068afe] shrink-0" })
|
|
5360
5360
|
)))), /* @__PURE__ */ React51.createElement("div", { className: "p-4 shrink-0" }, /* @__PURE__ */ React51.createElement(
|
|
5361
5361
|
"button",
|
|
@@ -5368,7 +5368,7 @@ var UniversalHome2 = ({
|
|
|
5368
5368
|
},
|
|
5369
5369
|
/* @__PURE__ */ React51.createElement(HugeiconsIcon38, { icon: Logout01Icon, size: 15 }),
|
|
5370
5370
|
"Log Out"
|
|
5371
|
-
)))), showNotifDialog && /* @__PURE__ */ React51.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React51.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ React51.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[80vh] h-auto" }, /* @__PURE__ */ React51.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, selectedNotif ? /* @__PURE__ */ React51.createElement("button", { onClick: () => setSelectedNotif(null), disabled: isResolving, className: "text-[#068afe] hover:text-[#068afe] transition-colors outline-none flex items-center gap-2 text-[11px] tracking-widest disabled:opacity-50" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon38, { icon: ArrowLeft01Icon17, size: 14 }), " Back") : /* @__PURE__ */ React51.createElement("h3", { className: "text-[15px] text-black tracking-tight flex items-center gap-2" }, "Notifications"), /* @__PURE__ */ React51.createElement("button", { onClick: () => setShowNotifDialog(false), disabled: isResolving, className: "text-neutral-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon38, { icon: CancelCircleIcon11, size: 18 }))), /* @__PURE__ */ React51.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2 relative" }, isNotifsLoading && !selectedNotif && /* @__PURE__ */ React51.createElement("div", { className: "absolute inset-0 z-10 flex items-center justify-center" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon38, { icon: Loading03Icon24, size: 28, className: "animate-spin text-black" })), selectedNotif ? /* @__PURE__ */ React51.createElement("div", { className: "p-4 text-left" }, selectedNotif.type === "HUDDLE_INVITE" && selectedNotif.meta_json?.action === "RESOLVE_INVITE" && selectedNotif.meta_json?.completed ? /* @__PURE__ */ React51.createElement("div", { className: "mb-2" }, /* @__PURE__ */ React51.createElement("span", { className: "inline-flex items-center gap-1.5 px-3 py-1 rounded-full bg-emerald-50 text-emerald-600 text-[10px] tracking-wide" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon38, { icon: Tick02Icon2, size: 12 }), " Action Completed")) : /* @__PURE__ */ React51.createElement("h4", { className: "text-[
|
|
5371
|
+
)))), showNotifDialog && /* @__PURE__ */ React51.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React51.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ React51.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[80vh] h-auto" }, /* @__PURE__ */ React51.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, selectedNotif ? /* @__PURE__ */ React51.createElement("button", { onClick: () => setSelectedNotif(null), disabled: isResolving, className: "text-[#068afe] hover:text-[#068afe] transition-colors outline-none flex items-center gap-2 text-[11px] tracking-widest disabled:opacity-50" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon38, { icon: ArrowLeft01Icon17, size: 14 }), " Back") : /* @__PURE__ */ React51.createElement("h3", { className: "text-[15px] text-black tracking-tight flex items-center gap-2" }, "Notifications"), /* @__PURE__ */ React51.createElement("button", { onClick: () => setShowNotifDialog(false), disabled: isResolving, className: "text-neutral-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon38, { icon: CancelCircleIcon11, size: 18 }))), /* @__PURE__ */ React51.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2 relative" }, isNotifsLoading && !selectedNotif && /* @__PURE__ */ React51.createElement("div", { className: "absolute inset-0 z-10 flex items-center justify-center" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon38, { icon: Loading03Icon24, size: 28, className: "animate-spin text-black" })), selectedNotif ? /* @__PURE__ */ React51.createElement("div", { className: "p-4 text-left" }, selectedNotif.type === "HUDDLE_INVITE" && selectedNotif.meta_json?.action === "RESOLVE_INVITE" && selectedNotif.meta_json?.completed ? /* @__PURE__ */ React51.createElement("div", { className: "mb-2" }, /* @__PURE__ */ React51.createElement("span", { className: "inline-flex items-center gap-1.5 px-3 py-1 rounded-full bg-emerald-50 text-emerald-600 text-[10px] tracking-wide" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon38, { icon: Tick02Icon2, size: 12 }), " Action Completed")) : /* @__PURE__ */ React51.createElement("h4", { className: "text-[12px] text-black mb-1" }, selectedNotif.title), /* @__PURE__ */ React51.createElement("span", { className: "text-[10px] text-neutral-400 tracking-widest mb-4 block" }, formatNotifDate(selectedNotif.createdAt)), /* @__PURE__ */ React51.createElement("p", { className: "text-[12px] text-neutral-600 leading-relaxed whitespace-pre-wrap" }, selectedNotif.message), selectedNotif.type === "HUDDLE_INVITE" && selectedNotif.meta_json?.action === "RESOLVE_INVITE" && /* @__PURE__ */ React51.createElement("div", { className: `mt-8 flex gap-3 pt-6 ${selectedNotif.meta_json?.completed ? "opacity-40 pointer-events-none cursor-not-allowed" : ""}` }, /* @__PURE__ */ React51.createElement(
|
|
5372
5372
|
"button",
|
|
5373
5373
|
{
|
|
5374
5374
|
onClick: () => handleResolve("ACCEPTED"),
|
|
@@ -5490,7 +5490,7 @@ var UniversalSettings = ({
|
|
|
5490
5490
|
if (typeof window !== "undefined") window.history.back();
|
|
5491
5491
|
});
|
|
5492
5492
|
const isOrg = accountType === "ORGANIZATION";
|
|
5493
|
-
const canManage = userRole === "ADMIN" || userRole === "MANAGER";
|
|
5493
|
+
const canManage = userRole === "ADMIN" || userRole === "MANAGER" || userRole === "OWNER";
|
|
5494
5494
|
const [activeTab, setActiveTab] = useState38(isOrg ? "MEMBERS" : "ACCOUNT");
|
|
5495
5495
|
const [expandedId, setExpandedId] = useState38(null);
|
|
5496
5496
|
const [memberToRemove, setMemberToRemove] = useState38(null);
|
|
@@ -5637,11 +5637,11 @@ var UniversalSettings = ({
|
|
|
5637
5637
|
const isOrgSaveDisabled = isSavingOrg || !canManage || isCheckingSlug || !hasOrgChanges || orgName.length < 3 || orgSlug.length < 3 || orgSlug !== initialOrgSlug && slugAvailable === false;
|
|
5638
5638
|
const hasProfileChanges = `${firstName} ${lastName}`.trim() !== initialFullName;
|
|
5639
5639
|
const isProfileSaveDisabled = isSavingProfile || !hasProfileChanges || firstName.length < 2 || lastName.length < 2;
|
|
5640
|
-
return /* @__PURE__ */ React52.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React52.createElement(ManagedToaster, null), /* @__PURE__ */ React52.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React52.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-[#068afe] hover:text-[#068afe] transition-colors text-[
|
|
5640
|
+
return /* @__PURE__ */ React52.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React52.createElement(ManagedToaster, null), /* @__PURE__ */ React52.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React52.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-[#068afe] hover:text-[#068afe] transition-colors text-[12px] outline-none" }, /* @__PURE__ */ React52.createElement(HugeiconsIcon39, { icon: ArrowLeft01Icon18, size: 16 }), " Back")), /* @__PURE__ */ React52.createElement("div", { className: "flex flex-col gap-1 mb-8 px-1" }, /* @__PURE__ */ React52.createElement("h1", { className: "text-black text-xl tracking-tight" }, "System Settings"), /* @__PURE__ */ React52.createElement("p", { className: "text-xs text-neutral-500" }, "Manage your workspace identity, team configurations, and AI billing parameters.")), /* @__PURE__ */ React52.createElement("div", { className: "flex items-center gap-6 mb-6 overflow-x-auto custom-scrollbar px-1" }, isOrg && /* @__PURE__ */ React52.createElement("button", { onClick: () => {
|
|
5641
5641
|
setActiveTab("MEMBERS");
|
|
5642
5642
|
setExpandedId(null);
|
|
5643
5643
|
setIsInviteMode(false);
|
|
5644
|
-
}, className: `pb-3 text-[
|
|
5644
|
+
}, className: `pb-3 text-[12px] tracking-wide outline-none transition-colors border-b-2 whitespace-nowrap ${activeTab === "MEMBERS" ? "border-black text-black" : "border-transparent text-neutral-500 hover:text-black"}` }, "Members"), isOrg && /* @__PURE__ */ React52.createElement("button", { onClick: () => setActiveTab("ORGANIZATION"), className: `pb-3 text-[12px] tracking-wide outline-none transition-colors border-b-2 whitespace-nowrap ${activeTab === "ORGANIZATION" ? "border-black text-black" : "border-transparent text-neutral-500 hover:text-black"}` }, "Organization"), /* @__PURE__ */ React52.createElement("button", { onClick: () => setActiveTab("ACCOUNT"), className: `pb-3 text-[12px] tracking-wide outline-none transition-colors border-b-2 whitespace-nowrap ${activeTab === "ACCOUNT" ? "border-black text-black" : "border-transparent text-neutral-500 hover:text-black"}` }, "Profile")), activeTab === "MEMBERS" && isOrg && /* @__PURE__ */ React52.createElement("div", { className: "flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React52.createElement(
|
|
5645
5645
|
ConfirmationDialog,
|
|
5646
5646
|
{
|
|
5647
5647
|
isOpen: !!memberToRemove,
|
|
@@ -5654,7 +5654,7 @@ var UniversalSettings = ({
|
|
|
5654
5654
|
onClose: () => setMemberToRemove(null),
|
|
5655
5655
|
onConfirm: handleConfirmRemove
|
|
5656
5656
|
}
|
|
5657
|
-
), !isInviteMode && !activeExpandedMember && /* @__PURE__ */ React52.createElement("div", { className: "flex flex-row flex-nowrap mb-4 items-center justify-between gap-4 w-full px-1" }, /* @__PURE__ */ React52.createElement("div", { className: "relative flex-1 min-w-0 max-w-full" }, /* @__PURE__ */ React52.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React52.createElement(HugeiconsIcon39, { icon: Search01Icon6, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ React52.createElement("input", { type: "text", placeholder: "Search members...", value: localSearchQuery, onChange: (e) => setLocalSearchQuery(e.target.value), className: "w-full pl-10 pr-4 py-2 bg-white rounded-full text-[
|
|
5657
|
+
), !isInviteMode && !activeExpandedMember && /* @__PURE__ */ React52.createElement("div", { className: "flex flex-row flex-nowrap mb-4 items-center justify-between gap-4 w-full px-1" }, /* @__PURE__ */ React52.createElement("div", { className: "relative flex-1 min-w-0 max-w-full" }, /* @__PURE__ */ React52.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React52.createElement(HugeiconsIcon39, { icon: Search01Icon6, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ React52.createElement("input", { type: "text", placeholder: "Search members...", value: localSearchQuery, onChange: (e) => setLocalSearchQuery(e.target.value), className: "w-full pl-10 pr-4 py-2 bg-white rounded-full text-[12px] text-black placeholder-neutral-400 outline-none transition-colors focus:border-black" })), /* @__PURE__ */ React52.createElement("div", { className: "flex items-center gap-3 w-auto pb-0 shrink-0" }, /* @__PURE__ */ React52.createElement("button", { onClick: () => setIsStatusModalOpen(true), className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-neutral-500 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React52.createElement(HugeiconsIcon39, { icon: SearchList02Icon3, size: 16 })), /* @__PURE__ */ React52.createElement("button", { onClick: () => setIsRoleModalOpen(true), className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-neutral-500 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React52.createElement(HugeiconsIcon39, { icon: ListSettingIcon3, size: 16 })))), /* @__PURE__ */ React52.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, activeExpandedMember ? /* @__PURE__ */ React52.createElement("div", { className: "flex flex-col animate-in fade-in zoom-in-95 duration-300 w-full" }, /* @__PURE__ */ React52.createElement("div", { className: "flex flex-col gap-1 mb-8" }, /* @__PURE__ */ React52.createElement("h2", { className: "text-black text-xl tracking-tight" }, "Member Profile"), /* @__PURE__ */ React52.createElement("p", { className: "text-[12px] text-neutral-500" }, "View and manage this member's access privileges.")), /* @__PURE__ */ React52.createElement("div", { className: "flex items-center gap-4 mb-8" }, /* @__PURE__ */ React52.createElement(MemberAvatar3, { src: activeExpandedMember.avatarUrl, status: activeExpandedMember.status, sizeClass: "w-14 h-14" }), /* @__PURE__ */ React52.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React52.createElement("span", { className: "text-sm text-black tracking-tight truncate" }, activeExpandedMember.fullName), /* @__PURE__ */ React52.createElement("div", { className: "flex items-center gap-2 mt-0.5" }, /* @__PURE__ */ React52.createElement("span", { className: "text-[12px] text-neutral-500 capitalize" }, activeExpandedMember.role.toLowerCase()), canManage && !activeExpandedMember.isRootAdmin && (isUpdatingRole ? /* @__PURE__ */ React52.createElement(HugeiconsIcon39, { icon: Loading03Icon25, size: 12, className: "animate-spin text-neutral-400 ml-1" }) : /* @__PURE__ */ React52.createElement("button", { onClick: () => setRoleEditTarget(activeExpandedMember), className: "text-[11px] text-[#068afe] hover:underline outline-none" }, "Edit"))))), /* @__PURE__ */ React52.createElement("div", { className: "flex flex-col sm:flex-row gap-3 pt-6 " }, canManage && !activeExpandedMember.isRootAdmin && /* @__PURE__ */ React52.createElement(
|
|
5658
5658
|
"button",
|
|
5659
5659
|
{
|
|
5660
5660
|
onClick: () => setMemberToRemove(activeExpandedMember),
|
|
@@ -5665,7 +5665,7 @@ var UniversalSettings = ({
|
|
|
5665
5665
|
), /* @__PURE__ */ React52.createElement("button", { onClick: () => setExpandedId(null), disabled: isUpdatingRole, className: "w-full sm:flex-1 py-2.5 bg-white border border-neutral-200 text-black hover:bg-neutral-100 rounded-full text-[12px] tracking-wide transition-colors outline-none disabled:opacity-50" }, "Close Profile"))) : /* @__PURE__ */ React52.createElement(React52.Fragment, null, /* @__PURE__ */ React52.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ React52.createElement("div", { className: "flex flex-row items-center justify-between gap-4" }, /* @__PURE__ */ React52.createElement("h2", { className: "text-black text-xl tracking-tight" }, isInviteMode ? "Add Member" : "Team Directory"), !isInviteMode && canManage && /* @__PURE__ */ React52.createElement("button", { onClick: () => setIsInviteMode(true), className: "shrink-0 px-4 py-1.5 border border-neutral-200 text-black text-[12px] tracking-wide rounded-full hover:bg-neutral-50 transition-colors outline-none" }, "Invite Team")), !isInviteMode && /* @__PURE__ */ React52.createElement("p", { className: "text-[12px] text-neutral-500" }, "Manage members and access controls across your organization.")), /* @__PURE__ */ React52.createElement("div", { className: "w-full overflow-hidden" }, isInviteMode ? /* @__PURE__ */ React52.createElement("form", { onSubmit: handleInviteSubmit, className: "flex flex-col gap-8 animate-in fade-in duration-300" }, /* @__PURE__ */ React52.createElement("div", { className: "space-y-1.5 mt-2" }, /* @__PURE__ */ React52.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block" }, "Email Address"), /* @__PURE__ */ React52.createElement("input", { type: "email", value: inviteEmail, onChange: (e) => setInviteEmail(cleanEmailId(e.target.value)), required: true, autoFocus: true, className: "w-full px-2 py-3 bg-transparent text-sm border-b border-neutral-200 text-black outline-none focus:border-black transition-all duration-300", placeholder: "name@company.com" })), /* @__PURE__ */ React52.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React52.createElement(ThreeDActionButton, { type: "submit", disabled: inviteEmail.length < 5 || isInviting, isLoading: isInviting, className: "w-full" }, "Send Invitation"), /* @__PURE__ */ React52.createElement("button", { type: "button", onClick: () => {
|
|
5666
5666
|
setIsInviteMode(false);
|
|
5667
5667
|
setInviteEmail("");
|
|
5668
|
-
}, disabled: isInviting, className: "w-full flex items-center justify-center py-2.5 rounded-full border border-neutral-200 text-black hover:bg-neutral-50 transition-colors outline-none text-xs tracking-wide" }, "Cancel"))) : isMembersLoading || isTyping ? /* @__PURE__ */ React52.createElement(PageSpinner8, null) : /* @__PURE__ */ React52.createElement("div", { className: "flex flex-col min-w-0 animate-in fade-in duration-300" }, /* @__PURE__ */ React52.createElement("div", null, members.length === 0 ? /* @__PURE__ */ React52.createElement("p", { className: "text-[12px] text-neutral-400 py-6 text-center" }, "No members found") : members.map((member) => /* @__PURE__ */ React52.createElement("div", { key: member.id, onClick: () => setExpandedId(member.id), className: "flex items-center justify-between py-3 hover:bg-neutral-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl" }, /* @__PURE__ */ React52.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React52.createElement(MemberAvatar3, { src: member.avatarUrl, status: member.status }), /* @__PURE__ */ React52.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-0.5" }, /* @__PURE__ */ React52.createElement("p", { className: "text-[
|
|
5668
|
+
}, disabled: isInviting, className: "w-full flex items-center justify-center py-2.5 rounded-full border border-neutral-200 text-black hover:bg-neutral-50 transition-colors outline-none text-xs tracking-wide" }, "Cancel"))) : isMembersLoading || isTyping ? /* @__PURE__ */ React52.createElement(PageSpinner8, null) : /* @__PURE__ */ React52.createElement("div", { className: "flex flex-col min-w-0 animate-in fade-in duration-300" }, /* @__PURE__ */ React52.createElement("div", null, members.length === 0 ? /* @__PURE__ */ React52.createElement("p", { className: "text-[12px] text-neutral-400 py-6 text-center" }, "No members found") : members.map((member) => /* @__PURE__ */ React52.createElement("div", { key: member.id, onClick: () => setExpandedId(member.id), className: "flex items-center justify-between py-3 hover:bg-neutral-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl" }, /* @__PURE__ */ React52.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React52.createElement(MemberAvatar3, { src: member.avatarUrl, status: member.status }), /* @__PURE__ */ React52.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-0.5" }, /* @__PURE__ */ React52.createElement("p", { className: "text-[12px] text-black truncate" }, member.fullName), /* @__PURE__ */ React52.createElement("p", { className: "text-[11px] text-neutral-500 capitalize truncate" }, member.role.toLowerCase())))))), /* @__PURE__ */ React52.createElement("div", { className: "flex items-center justify-between pt-6 mt-2 " }, /* @__PURE__ */ React52.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em]" }, "Page ", membersCurrentPage, " of ", membersTotalPages === 0 ? 1 : membersTotalPages), /* @__PURE__ */ React52.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React52.createElement("button", { onClick: () => onMembersPageChange(membersCurrentPage - 1), disabled: membersCurrentPage <= 1 || isMembersLoading, className: "p-2 bg-white border border-neutral-200 rounded-full text-black hover:bg-neutral-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none" }, /* @__PURE__ */ React52.createElement(HugeiconsIcon39, { icon: ArrowLeft01Icon18, size: 14 })), /* @__PURE__ */ React52.createElement("button", { onClick: () => onMembersPageChange(membersCurrentPage + 1), disabled: membersCurrentPage >= membersTotalPages || isMembersLoading || membersTotalPages === 0, className: "p-2 bg-white border border-neutral-200 rounded-full text-black hover:bg-neutral-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none" }, /* @__PURE__ */ React52.createElement(HugeiconsIcon39, { icon: ArrowRight01Icon14, size: 14 })))))))), /* @__PURE__ */ React52.createElement(ReusableOptions, { isOpen: isStatusModalOpen, onClose: () => setIsStatusModalOpen(false), title: "Status Filter", options: ["ALL", "ACTIVE", "BUSY", "OFFLINE", "AWAY"], selectedOption: activeStatusFilter, onSelect: (status) => onStatusFilterChange(status) }), /* @__PURE__ */ React52.createElement(ReusableOptions, { isOpen: isRoleModalOpen, onClose: () => setIsRoleModalOpen(false), title: "Role Filter", options: ["ALL", "ADMIN", "MANAGER", "MEMBER"], selectedOption: activeRoleFilter, onSelect: (role) => onRoleFilterChange(role) }), /* @__PURE__ */ React52.createElement(ReusableOptions, { isOpen: !!roleEditTarget, onClose: () => setRoleEditTarget(null), title: "Modify Access Role", options: ["ADMIN", "MANAGER", "MEMBER"], selectedOption: roleEditTarget?.role || "", onSelect: handleRoleUpdate })), activeTab === "ORGANIZATION" && isOrg && /* @__PURE__ */ React52.createElement("div", { className: "flex flex-col gap-8 animate-in rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ React52.createElement("div", { className: "flex items-start justify-between gap-4" }, /* @__PURE__ */ React52.createElement("div", null, /* @__PURE__ */ React52.createElement("h2", { className: "text-black text-xl mb-1 tracking-tight" }, "Workspace Details"), /* @__PURE__ */ React52.createElement("p", { className: "text-xs text-neutral-500" }, "Manage your organizational identity and handles.")), !canManage && /* @__PURE__ */ React52.createElement("span", { className: "p-2 w-9 h-9 bg-neutral-100 text-neutral-400 rounded-full shrink-0" }, /* @__PURE__ */ React52.createElement(HugeiconsIcon39, { icon: CircleLock02Icon3, size: 18, className: "text-current" }))), /* @__PURE__ */ React52.createElement("form", { className: "flex flex-col gap-8 w-full max-w-5xl", onSubmit: handleSaveOrganization, autoComplete: "off" }, /* @__PURE__ */ React52.createElement(TextInput, { label: "Workspace Name", value: orgName, onChange: handleOrgNameChange, disabled: !canManage || isSavingOrg, placeholder: "Acme Corporation", maxLength: 50 }), /* @__PURE__ */ React52.createElement("div", { className: "space-y-1.5 relative w-full" }, /* @__PURE__ */ React52.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block" }, "Workspace Handle"), /* @__PURE__ */ React52.createElement("div", { className: "flex items-center relative w-full border-b border-neutral-200 focus-within:border-black transition-all duration-300 overflow-hidden" }, /* @__PURE__ */ React52.createElement("input", { type: "text", value: orgSlug, disabled: !canManage || isSavingOrg, onChange: (e) => handleOrgSlugChange(e.target.value), spellCheck: "false", autoComplete: "off", className: "w-full pr-10 pl-0 py-3 text-sm bg-transparent text-black outline-none disabled:opacity-50 disabled:cursor-not-allowed", placeholder: "workspace-handle" }), /* @__PURE__ */ React52.createElement("div", { className: "absolute right-2 top-1/2 -translate-y-1/2" }, isCheckingSlug && /* @__PURE__ */ React52.createElement(InputSpinner3, null), !isCheckingSlug && canManage && orgSlug !== initialOrgSlug && orgSlug.length >= 3 && slugAvailable === false && /* @__PURE__ */ React52.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-red-100" }, /* @__PURE__ */ React52.createElement("svg", { className: "w-2 h-2 text-red-600", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React52.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" }))), !isCheckingSlug && canManage && orgSlug !== initialOrgSlug && orgSlug.length >= 3 && slugAvailable === true && /* @__PURE__ */ React52.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-green-100" }, /* @__PURE__ */ React52.createElement("svg", { className: "w-2 h-2 text-green-600", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React52.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M16.707 5.293a1 1 0 00-1.414 0L8 12.586 4.707 9.293a1 1 0 10-1.414 1.414l4 4a1 1 0 001.414 0l8-8a1 1 0 000-1.414z" })))))), /* @__PURE__ */ React52.createElement("div", { className: "pt-8 mt-2 flex items-center gap-4" }, /* @__PURE__ */ React52.createElement(ThreeDActionButton, { type: "submit", disabled: isOrgSaveDisabled, isLoading: isSavingOrg, className: "min-w-32" }, "Save Changes"), hasOrgChanges && !isSavingOrg && canManage && /* @__PURE__ */ React52.createElement("button", { type: "button", onClick: () => {
|
|
5669
5669
|
setOrgName(initialOrgName || "");
|
|
5670
5670
|
setOrgSlug(initialOrgSlug || "");
|
|
5671
5671
|
}, className: "text-[11px] tracking-widest text-neutral-400 hover:text-black transition-colors outline-none" }, "Cancel")))), activeTab === "ACCOUNT" && /* @__PURE__ */ React52.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in duration-300" }, /* @__PURE__ */ React52.createElement("div", { className: "flex flex-col gap-8 rounded-2xl p-6 bg-white w-full" }, /* @__PURE__ */ React52.createElement("div", { className: "flex items-start justify-between gap-4" }, /* @__PURE__ */ React52.createElement("div", null, /* @__PURE__ */ React52.createElement("h2", { className: "text-black text-xl mb-1 tracking-tight" }, "Personal Identity"), /* @__PURE__ */ React52.createElement("p", { className: "text-xs text-neutral-500" }, "Update your system display name and contact email."))), /* @__PURE__ */ React52.createElement("form", { className: "flex flex-col gap-6 w-full max-w-5xl", onSubmit: handleSaveProfile, autoComplete: "off" }, /* @__PURE__ */ React52.createElement("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-6" }, /* @__PURE__ */ React52.createElement(TextInput, { label: "First Name", value: firstName, onChange: (v) => setFirstName(v.replace(/[^a-zA-Z\s-]/g, "").substring(0, 50)), disabled: isSavingProfile, placeholder: "First name", maxLength: 50 }), /* @__PURE__ */ React52.createElement(TextInput, { label: "Last Name", value: lastName, onChange: (v) => setLastName(v.replace(/[^a-zA-Z\s-]/g, "").substring(0, 50)), disabled: isSavingProfile, placeholder: "Last name", maxLength: 50 })), /* @__PURE__ */ React52.createElement("div", { className: "space-y-1.5 w-full" }, /* @__PURE__ */ React52.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block" }, "Email Address"), /* @__PURE__ */ React52.createElement("input", { type: "email", value: initialEmail, disabled: true, className: "w-full pb-3 pt-3 text-sm bg-transparent text-neutral-400 border-b border-neutral-200 outline-none cursor-not-allowed" })), /* @__PURE__ */ React52.createElement("div", { className: "pt-4 flex items-center gap-4" }, /* @__PURE__ */ React52.createElement(ThreeDActionButton, { type: "submit", disabled: isProfileSaveDisabled, isLoading: isSavingProfile, className: "min-w-32" }, "Update Identity")))), /* @__PURE__ */ React52.createElement("div", { className: "bg-white rounded-2xl p-6 w-full flex flex-col sm:flex-row sm:items-center justify-between gap-6 border border-neutral-100" }, /* @__PURE__ */ React52.createElement("div", { className: "flex flex-col items-start max-w-sm" }, /* @__PURE__ */ React52.createElement("p", { className: "text-[11px] text-neutral-400 tracking-[0.2em] mb-2 uppercase" }, "AI Credits Balance"), isBillingLoading ? /* @__PURE__ */ React52.createElement("div", { className: "h-8 w-32 bg-neutral-100 animate-pulse rounded mt-1" }) : /* @__PURE__ */ React52.createElement("div", { className: "flex items-center gap-2 mt-1" }, /* @__PURE__ */ React52.createElement(HugeiconsIcon39, { icon: Coins01Icon, size: 28, className: "text-[#000000]" }), /* @__PURE__ */ React52.createElement("span", { className: "text-3xl text-black tracking-tight" }, aiCredits)), /* @__PURE__ */ React52.createElement("p", { className: "text-[11px] text-neutral-500 mt-4 leading-relaxed" }, "AI credits are consumed when generating intelligent summaries, transcriptions, and automated huddle insights.")), /* @__PURE__ */ React52.createElement("button", { onClick: onTopUp, className: "w-12 h-12 rounded-full border border-neutral-200 flex items-center justify-center text-black hover:bg-neutral-50 transition-colors outline-none shrink-0", "aria-label": "Top Up Credits" }, /* @__PURE__ */ React52.createElement(HugeiconsIcon39, { icon: PlusSignIcon3, size: 20 })))));
|
|
@@ -5730,7 +5730,7 @@ var UniversalCreateHuddle = ({
|
|
|
5730
5730
|
onMembersSearchChange,
|
|
5731
5731
|
onCreateSubmit
|
|
5732
5732
|
}) => {
|
|
5733
|
-
const canManage = userRole === "ADMIN" || userRole === "MANAGER";
|
|
5733
|
+
const canManage = userRole === "ADMIN" || userRole === "MANAGER" || userRole === "OWNER";
|
|
5734
5734
|
const [huddleDate, setHuddleDate] = useState39(() => {
|
|
5735
5735
|
const d = /* @__PURE__ */ new Date();
|
|
5736
5736
|
d.setHours(d.getHours() + 1, 0, 0, 0);
|
|
@@ -5790,7 +5790,7 @@ var UniversalCreateHuddle = ({
|
|
|
5790
5790
|
setIsSubmitting(false);
|
|
5791
5791
|
}
|
|
5792
5792
|
};
|
|
5793
|
-
return /* @__PURE__ */ React53.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ React53.createElement(ManagedToaster, null), /* @__PURE__ */ React53.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React53.createElement("a", { href: onBackHref, className: "flex items-center gap-2 text-[#068afe] hover:text-[#068afe] transition-colors text-[
|
|
5793
|
+
return /* @__PURE__ */ React53.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ React53.createElement(ManagedToaster, null), /* @__PURE__ */ React53.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React53.createElement("a", { href: onBackHref, className: "flex items-center gap-2 text-[#068afe] hover:text-[#068afe] transition-colors text-[12px] outline-none" }, /* @__PURE__ */ React53.createElement(HugeiconsIcon40, { icon: ArrowLeft01Icon19, size: 16 }), " Back")), /* @__PURE__ */ React53.createElement("div", { className: "flex flex-col gap-1 mb-8 px-1" }, /* @__PURE__ */ React53.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Create Huddle"), /* @__PURE__ */ React53.createElement("p", { className: "text-xs text-neutral-500" }, "Schedule a new workspace huddle and manage participant access.")), /* @__PURE__ */ React53.createElement("div", { className: "flex flex-col gap-8 animate-in rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ React53.createElement("form", { className: "flex flex-col gap-8", onSubmit: handleSubmit, autoComplete: "off" }, !canManage && /* @__PURE__ */ React53.createElement("div", { className: "flex items-start gap-3 p-4 bg-neutral-50 rounded-xl" }, /* @__PURE__ */ React53.createElement(HugeiconsIcon40, { icon: CircleLock02Icon4, size: 20, className: "text-neutral-500 shrink-0 mt-0.5" }), /* @__PURE__ */ React53.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React53.createElement("span", { className: "text-[12px] text-black tracking-tight" }, "Access Restricted"), /* @__PURE__ */ React53.createElement("span", { className: "text-[12px] text-neutral-500 mt-1 leading-relaxed" }, "You do not have sufficient permissions to access this page. Contact organization admin or manager."))), /* @__PURE__ */ React53.createElement(
|
|
5794
5794
|
TextInput,
|
|
5795
5795
|
{
|
|
5796
5796
|
label: "Huddle Subject",
|
|
@@ -5824,7 +5824,7 @@ var UniversalCreateHuddle = ({
|
|
|
5824
5824
|
},
|
|
5825
5825
|
/* @__PURE__ */ React53.createElement(HugeiconsIcon40, { icon: Globe02Icon2, size: 16, className: "text-neutral-400 absolute left-0" }),
|
|
5826
5826
|
/* @__PURE__ */ React53.createElement("span", { className: "w-full pl-8 text-sm text-black truncate block" }, timezone)
|
|
5827
|
-
))), /* @__PURE__ */ React53.createElement("div", { className: `flex items-center justify-between py-2 mt-2 ${!canManage ? "opacity-50 pointer-events-none" : ""}` }, /* @__PURE__ */ React53.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React53.createElement("span", { className: "text-[
|
|
5827
|
+
))), /* @__PURE__ */ React53.createElement("div", { className: `flex items-center justify-between py-2 mt-2 ${!canManage ? "opacity-50 pointer-events-none" : ""}` }, /* @__PURE__ */ React53.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React53.createElement("span", { className: "text-[12px] text-black tracking-tight" }, "Private Huddle"), /* @__PURE__ */ React53.createElement("span", { className: "text-[11px] text-neutral-500" }, "Only invited members can join.")), /* @__PURE__ */ React53.createElement(
|
|
5828
5828
|
"button",
|
|
5829
5829
|
{
|
|
5830
5830
|
type: "button",
|
|
@@ -5871,14 +5871,14 @@ var UniversalCreateHuddle = ({
|
|
|
5871
5871
|
onSelect: (tz) => setTimezone(tz),
|
|
5872
5872
|
showSearch: true
|
|
5873
5873
|
}
|
|
5874
|
-
)), showMembersModal && canManage && /* @__PURE__ */ React53.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React53.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowMembersModal(false) }), /* @__PURE__ */ React53.createElement("div", { className: "relative w-full max-w-md bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 h-[80vh]" }, /* @__PURE__ */ React53.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React53.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Select Participants"), /* @__PURE__ */ React53.createElement("button", { onClick: () => setShowMembersModal(false), className: "text-[#068afe] hover:text-[#068afe] transition-colors outline-none text-[
|
|
5874
|
+
)), showMembersModal && canManage && /* @__PURE__ */ React53.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React53.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowMembersModal(false) }), /* @__PURE__ */ React53.createElement("div", { className: "relative w-full max-w-md bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 h-[80vh]" }, /* @__PURE__ */ React53.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React53.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Select Participants"), /* @__PURE__ */ React53.createElement("button", { onClick: () => setShowMembersModal(false), className: "text-[#068afe] hover:text-[#068afe] transition-colors outline-none text-[12px] " }, "Done")), /* @__PURE__ */ React53.createElement("div", { className: "p-4 shrink-0 " }, /* @__PURE__ */ React53.createElement("div", { className: "relative w-full" }, /* @__PURE__ */ React53.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React53.createElement(HugeiconsIcon40, { icon: Search01Icon7, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ React53.createElement(
|
|
5875
5875
|
"input",
|
|
5876
5876
|
{
|
|
5877
5877
|
type: "text",
|
|
5878
5878
|
placeholder: "Search team...",
|
|
5879
5879
|
value: localSearchQuery,
|
|
5880
5880
|
onChange: handleSearchInput,
|
|
5881
|
-
className: "w-full pl-10 pr-4 py-2.5 bg-neutral-100 rounded-full text-[
|
|
5881
|
+
className: "w-full pl-10 pr-4 py-2.5 bg-neutral-100 rounded-full text-[12px] text-black placeholder-neutral-400 outline-none focus:bg-neutral-200 transition-colors"
|
|
5882
5882
|
}
|
|
5883
5883
|
))), /* @__PURE__ */ React53.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2 relative" }, isMembersLoading || isTyping ? /* @__PURE__ */ React53.createElement("div", { className: "absolute inset-0 flex items-center justify-center" }, /* @__PURE__ */ React53.createElement(HugeiconsIcon40, { icon: Loading03Icon26, size: 28, className: "animate-spin text-black" })) : members.length === 0 ? /* @__PURE__ */ React53.createElement("div", { className: "p-8 text-center text-xs text-neutral-400" }, "No members found.") : members.map((member) => {
|
|
5884
5884
|
const isChecked = selectedParticipants.has(member.userId);
|
|
@@ -5889,7 +5889,7 @@ var UniversalCreateHuddle = ({
|
|
|
5889
5889
|
onClick: () => toggleParticipant(member.userId),
|
|
5890
5890
|
className: "flex items-center justify-between p-3 rounded-xl cursor-pointer hover:bg-neutral-50 transition-colors select-none"
|
|
5891
5891
|
},
|
|
5892
|
-
/* @__PURE__ */ React53.createElement("div", { className: "flex items-center gap-3 min-w-0 flex-1" }, /* @__PURE__ */ React53.createElement(MemberAvatar4, { src: member.avatarUrl, sizeClass: "w-9 h-9" }), /* @__PURE__ */ React53.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ React53.createElement("span", { className: "text-[
|
|
5892
|
+
/* @__PURE__ */ React53.createElement("div", { className: "flex items-center gap-3 min-w-0 flex-1" }, /* @__PURE__ */ React53.createElement(MemberAvatar4, { src: member.avatarUrl, sizeClass: "w-9 h-9" }), /* @__PURE__ */ React53.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ React53.createElement("span", { className: "text-[12px] text-black truncate" }, member.fullName), /* @__PURE__ */ React53.createElement("span", { className: "text-[11px] text-neutral-400 capitalize truncate" }, member.role.toLowerCase()))),
|
|
5893
5893
|
/* @__PURE__ */ React53.createElement("div", { className: "shrink-0 pl-3" }, /* @__PURE__ */ React53.createElement("div", { className: `w-5 h-5 rounded-full flex items-center justify-center transition-colors ${isChecked ? "bg-[#068afe]" : "border border-neutral-300 bg-white"}` }, isChecked && /* @__PURE__ */ React53.createElement(HugeiconsIcon40, { icon: Tick02Icon3, size: 14, className: "text-white" })))
|
|
5894
5894
|
);
|
|
5895
5895
|
})), /* @__PURE__ */ React53.createElement("div", { className: "p-4 flex items-center justify-between shrink-0 bg-white" }, /* @__PURE__ */ React53.createElement("span", { className: "text-[10px] text-neutral-400 tracking-widest" }, "Page ", membersCurrentPage, " of ", membersTotalPages === 0 ? 1 : membersTotalPages), /* @__PURE__ */ React53.createElement("div", { className: "flex gap-1" }, /* @__PURE__ */ React53.createElement(
|