@retinalabsllc/zairusjs 16.2.0 → 16.2.2

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.mjs CHANGED
@@ -298,7 +298,21 @@ import { useSearchParams } from "next/navigation";
298
298
  import toast from "react-hot-toast";
299
299
  import { useGoogleReCaptcha, GoogleReCaptchaProvider } from "react-google-recaptcha-v3";
300
300
  import { startAuthentication } from "@simplewebauthn/browser";
301
+ import { HugeiconsIcon as HugeiconsIcon2 } from "@hugeicons/react";
302
+ import { Loading03Icon as Loading03Icon2 } from "@hugeicons/core-free-icons";
301
303
  var InputSpinner = () => /* @__PURE__ */ React5.createElement("svg", { className: "animate-spin h-4 w-4 text-neutral-400", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24" }, /* @__PURE__ */ React5.createElement("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), /* @__PURE__ */ React5.createElement("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" }));
304
+ var ImageLoader = ({ src }) => {
305
+ const [loaded, setLoaded] = useState3(false);
306
+ return /* @__PURE__ */ React5.createElement("div", { className: "relative w-full h-full bg-neutral-100 flex items-center justify-center overflow-hidden" }, !loaded && /* @__PURE__ */ React5.createElement(HugeiconsIcon2, { icon: Loading03Icon2, className: "animate-spin text-neutral-400 absolute", size: 24 }), /* @__PURE__ */ React5.createElement(
307
+ "img",
308
+ {
309
+ src,
310
+ alt: "Authentication Visual",
311
+ className: `w-full h-full object-cover transition-all duration-700 ${loaded ? "opacity-100 blur-0" : "opacity-0 blur-md scale-105"}`,
312
+ onLoad: () => setLoaded(true)
313
+ }
314
+ ));
315
+ };
302
316
  function AuthFormInner({
303
317
  companyName,
304
318
  workspaceLabel = "Workspace",
@@ -308,6 +322,7 @@ function AuthFormInner({
308
322
  requireOrganization = true,
309
323
  useRecaptcha = false,
310
324
  defaultRedirectPath = "/app",
325
+ heroImageUrl = "https://storage.googleapis.com/retina-cloud-v2/assets/images/hero_a.avif",
311
326
  onAuthRequest,
312
327
  onVerifyOtp
313
328
  }) {
@@ -328,7 +343,6 @@ function AuthFormInner({
328
343
  const [firstName, setFirstName] = useState3("");
329
344
  const [lastName, setLastName] = useState3("");
330
345
  const [orgName, setOrgName] = useState3("");
331
- const [accountType, setAccountType] = useState3("ORGANIZATION");
332
346
  const [agreedToTerms, setAgreedToTerms] = useState3(false);
333
347
  const [userHas2FA, setUserHas2FA] = useState3(false);
334
348
  const [userHasPasskey, setUserHasPasskey] = useState3(false);
@@ -384,8 +398,9 @@ function AuthFormInner({
384
398
  email: emailId,
385
399
  firstName: mode === "SIGNUP" && requireNames ? firstName : void 0,
386
400
  lastName: mode === "SIGNUP" && requireNames ? lastName : void 0,
387
- organizationName: mode === "SIGNUP" && accountType === "ORGANIZATION" ? orgName.trim() : void 0,
388
- accountType: mode === "SIGNUP" ? accountType : void 0,
401
+ organizationName: mode === "SIGNUP" ? orgName.trim() : void 0,
402
+ accountType: "ORGANIZATION",
403
+ // STRICTLY ORGANIZATION
389
404
  mode,
390
405
  recaptchaToken
391
406
  });
@@ -480,36 +495,30 @@ function AuthFormInner({
480
495
  if (mode === "LOGIN") return emailId.length < 3;
481
496
  if (mode === "SIGNUP") {
482
497
  if (signupStep === "NAME") return firstName.trim() === "" || lastName.trim() === "";
483
- if (signupStep === "ORGANIZATION") return accountType === "ORGANIZATION" ? orgName.trim().length < 3 : false;
498
+ if (signupStep === "ORGANIZATION") return orgName.trim().length < 3;
484
499
  if (signupStep === "EMAIL_ID") return emailId.length < 3 || !agreedToTerms;
485
500
  }
486
501
  return false;
487
502
  };
488
- return /* @__PURE__ */ React5.createElement("div", { className: "w-full max-w-md mx-auto flex flex-col items-center gap-4 relative z-10 animate-in fade-in duration-300" }, /* @__PURE__ */ React5.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ React5.createElement("div", { className: "p-8 md:p-12" }, step === "INPUT" && /* @__PURE__ */ React5.createElement("div", { className: "animate-in fade-in duration-300" }, /* @__PURE__ */ React5.createElement("div", { className: "mb-12 text-center mt-2" }, /* @__PURE__ */ React5.createElement("h2", { className: "text-xl text-black mb-2 tracking-tight" }, mode === "LOGIN" ? `${companyName} ${workspaceLabel}` : "Create Account"), /* @__PURE__ */ React5.createElement("div", { className: "text-[13px] text-neutral-500" }, mode === "LOGIN" ? /* @__PURE__ */ React5.createElement(React5.Fragment, null, "Don't have an account? ", /* @__PURE__ */ React5.createElement("button", { type: "button", onClick: () => {
503
+ 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-[13px] text-neutral-500" }, mode === "LOGIN" ? /* @__PURE__ */ React5.createElement(React5.Fragment, null, "Don't have an account? ", /* @__PURE__ */ React5.createElement("button", { type: "button", onClick: () => {
489
504
  setMode("SIGNUP");
490
505
  setSignupStep(getInitialSignupStep());
491
- }, className: "text-black transition-colors ml-1" }, "Sign up")) : /* @__PURE__ */ React5.createElement(React5.Fragment, null, "Already have an account? ", /* @__PURE__ */ React5.createElement("button", { type: "button", onClick: () => setMode("LOGIN"), className: "text-black transition-colors ml-1" }, "Log in")))), /* @__PURE__ */ React5.createElement("form", { className: "space-y-6", autoComplete: "off", onSubmit: (e) => {
506
+ }, 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) => {
492
507
  e.preventDefault();
493
508
  if (mode === "SIGNUP" && signupStep === "NAME") handleNextSignupStep();
494
509
  else if (mode === "SIGNUP" && signupStep === "ORGANIZATION") handleNextSignupStep();
495
510
  else handleAuthRequestSubmit();
496
- } }, mode === "SIGNUP" && signupStep === "NAME" && requireNames && /* @__PURE__ */ React5.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ React5.createElement("div", { className: "space-y-1.5" }, /* @__PURE__ */ React5.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block " }, "First Name"), /* @__PURE__ */ React5.createElement("input", { type: "text", value: firstName, onChange: (e) => setFirstName(cleanAlpha(e.target.value)), required: true, autoFocus: true, className: "w-full px-2 py-3 text-sm bg-transparent border-b border-neutral-200 text-black outline-none focus:border-black transition-all duration-300", placeholder: "First name" })), /* @__PURE__ */ React5.createElement("div", { className: "space-y-1.5" }, /* @__PURE__ */ React5.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block " }, "Last Name"), /* @__PURE__ */ React5.createElement("input", { type: "text", value: lastName, onChange: (e) => setLastName(cleanAlpha(e.target.value)), required: 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: "Last name" }))), mode === "SIGNUP" && signupStep === "ORGANIZATION" && requireOrganization && /* @__PURE__ */ React5.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ React5.createElement("div", { className: "flex bg-neutral-100 p-1 rounded-full" }, /* @__PURE__ */ React5.createElement(
497
- "button",
498
- {
499
- type: "button",
500
- onClick: () => setAccountType("INDIVIDUAL"),
501
- className: `flex-1 py-2 text-xs rounded-full transition-colors outline-none ${accountType === "INDIVIDUAL" ? "bg-white text-black" : "text-neutral-500 hover:text-black"}`
502
- },
503
- "Personal"
504
- ), /* @__PURE__ */ React5.createElement(
505
- "button",
511
+ } }, mode === "SIGNUP" && signupStep === "NAME" && requireNames && /* @__PURE__ */ React5.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ React5.createElement("div", { className: "space-y-1.5" }, /* @__PURE__ */ React5.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block " }, "First Name"), /* @__PURE__ */ React5.createElement("input", { type: "text", value: firstName, onChange: (e) => setFirstName(cleanAlpha(e.target.value)), required: true, autoFocus: true, className: "w-full px-2 py-3 text-sm bg-transparent border-b border-neutral-200 text-black outline-none focus:border-black transition-all duration-300", placeholder: "First name" })), /* @__PURE__ */ React5.createElement("div", { className: "space-y-1.5" }, /* @__PURE__ */ React5.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block " }, "Last Name"), /* @__PURE__ */ React5.createElement("input", { type: "text", value: lastName, onChange: (e) => setLastName(cleanAlpha(e.target.value)), required: 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: "Last name" }))), mode === "SIGNUP" && signupStep === "ORGANIZATION" && requireOrganization && /* @__PURE__ */ React5.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in zoom-in-95 duration-200" }, /* @__PURE__ */ React5.createElement("div", { className: "space-y-1.5 relative" }, /* @__PURE__ */ React5.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block " }, "Workspace Name"), /* @__PURE__ */ React5.createElement("input", { type: "text", value: orgName, onChange: (e) => setOrgName(cleanOrgName(e.target.value)), required: true, autoFocus: true, className: "w-full px-2 py-3 text-sm bg-transparent border-b border-neutral-200 text-black outline-none focus:border-black transition-all duration-300", placeholder: "Acme Corporation" }))), (mode === "LOGIN" || mode === "SIGNUP" && signupStep === "EMAIL_ID") && /* @__PURE__ */ React5.createElement("div", { className: "space-y-6 animate-in fade-in zoom-in-95 duration-200" }, /* @__PURE__ */ React5.createElement("div", { className: "space-y-1.5" }, /* @__PURE__ */ React5.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block " }, "Email ID"), /* @__PURE__ */ React5.createElement("input", { type: "email", value: emailId, onChange: (e) => setEmailId(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" })), mode === "SIGNUP" && /* @__PURE__ */ React5.createElement("div", { className: "flex items-start gap-3 mt-4" }, /* @__PURE__ */ React5.createElement(
512
+ "input",
506
513
  {
507
- type: "button",
508
- onClick: () => setAccountType("ORGANIZATION"),
509
- className: `flex-1 py-2 text-xs rounded-full transition-colors outline-none ${accountType === "ORGANIZATION" ? "bg-white text-black" : "text-neutral-500 hover:text-black"}`
510
- },
511
- "Organization"
512
- )), accountType === "ORGANIZATION" && /* @__PURE__ */ React5.createElement("div", { className: "space-y-1.5 relative animate-in fade-in zoom-in-95 duration-200" }, /* @__PURE__ */ React5.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block " }, "Organization Name"), /* @__PURE__ */ React5.createElement("input", { type: "text", value: orgName, onChange: (e) => setOrgName(cleanOrgName(e.target.value)), required: true, autoFocus: true, className: "w-full px-2 py-3 text-sm bg-transparent border-b border-neutral-200 text-black outline-none focus:border-black transition-all duration-300", placeholder: "Acme Corporation" })), accountType === "INDIVIDUAL" && /* @__PURE__ */ React5.createElement("div", { className: "py-4 text-center animate-in fade-in duration-200" }, /* @__PURE__ */ React5.createElement("p", { className: "text-[13px] text-neutral-500" }, "You are creating a personal account. You can join organizations later."))), (mode === "LOGIN" || mode === "SIGNUP" && signupStep === "EMAIL_ID") && /* @__PURE__ */ React5.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React5.createElement("div", { className: "space-y-1.5" }, /* @__PURE__ */ React5.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block " }, "Email ID"), /* @__PURE__ */ React5.createElement("input", { type: "email", value: emailId, onChange: (e) => setEmailId(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" })), mode === "SIGNUP" && /* @__PURE__ */ React5.createElement("div", { className: "flex items-start gap-3 mt-4" }, /* @__PURE__ */ React5.createElement("input", { type: "checkbox", id: "zairus-terms", checked: agreedToTerms, onChange: (e) => setAgreedToTerms(e.target.checked), className: "mt-0.5 w-4 h-4 bg-white border-neutral-300 rounded text-black focus:ring-black cursor-pointer", required: true }), /* @__PURE__ */ React5.createElement("label", { htmlFor: "zairus-terms", className: "text-[11px] text-neutral-500 cursor-pointer leading-snug" }, "I agree to ", companyName, "'s ", /* @__PURE__ */ React5.createElement("a", { href: termsUrl, target: "_blank", rel: "noreferrer", className: "text-black underline " }, "Terms of Service"), " and ", /* @__PURE__ */ React5.createElement("a", { href: privacyUrl, target: "_blank", rel: "noreferrer", className: "text-black underline " }, "Privacy Policy"), "."))), /* @__PURE__ */ React5.createElement(ThreeDActionButton, { type: "submit", disabled: isContinueDisabled(), isLoading: isSubmitting, className: "w-full mt-10" }, "Continue"))), step === "OTP" && /* @__PURE__ */ React5.createElement("div", { className: "animate-in fade-in duration-300" }, /* @__PURE__ */ React5.createElement("div", { className: "text-center mb-10 mt-2" }, /* @__PURE__ */ React5.createElement("h2", { className: "text-xl text-black mb-2 tracking-tight" }, "Security Check"), /* @__PURE__ */ React5.createElement("p", { className: "text-[13px] 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) => {
514
+ type: "checkbox",
515
+ id: "zairus-terms",
516
+ checked: agreedToTerms,
517
+ onChange: (e) => setAgreedToTerms(e.target.checked),
518
+ className: "mt-0.5 w-4 h-4 bg-white border-neutral-300 rounded text-[#068afe] focus:ring-[#068afe] accent-[#068afe] cursor-pointer",
519
+ required: true
520
+ }
521
+ ), /* @__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-[13px] 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) => {
513
522
  e.preventDefault();
514
523
  verifyOtpCode(otp.join(""));
515
524
  } }, /* @__PURE__ */ React5.createElement("div", { className: "flex justify-between gap-2", onPaste: handlePaste }, otp.map((digit, index) => /* @__PURE__ */ React5.createElement(
@@ -529,7 +538,7 @@ function AuthFormInner({
529
538
  },
530
539
  className: "w-10 h-10 text-center text-sm bg-transparent border-b-2 border-neutral-200 text-black outline-none focus:border-black transition-all duration-300"
531
540
  }
532
- ))), /* @__PURE__ */ React5.createElement("div", { className: "flex flex-col gap-4" }, /* @__PURE__ */ React5.createElement(ThreeDActionButton, { type: "submit", disabled: otp.join("").length < 6, isLoading: isSubmitting, className: "w-full" }, "Verify Code"), !userHas2FA && /* @__PURE__ */ React5.createElement(
541
+ ))), /* @__PURE__ */ React5.createElement("div", { className: "flex flex-col gap-4" }, /* @__PURE__ */ React5.createElement(ThreeDActionButton, { type: "submit", disabled: otp.join("").length < 6, isLoading: isSubmitting, className: "w-full shadow-md shadow-neutral-200/50" }, "Verify Code"), !userHas2FA && /* @__PURE__ */ React5.createElement("div", { className: "text-center pt-2" }, /* @__PURE__ */ React5.createElement(
533
542
  "button",
534
543
  {
535
544
  type: "button",
@@ -538,27 +547,27 @@ function AuthFormInner({
538
547
  className: "text-[12px] text-neutral-500 hover:text-black transition-colors outline-none disabled:opacity-50"
539
548
  },
540
549
  countdown > 0 ? `Resend code in ${countdown}s` : "Resend verification code"
541
- ))), userHasPasskey && /* @__PURE__ */ React5.createElement("div", { className: "pt-6 " }, /* @__PURE__ */ React5.createElement(
550
+ )))), userHasPasskey && /* @__PURE__ */ React5.createElement("div", { className: "pt-6 " }, /* @__PURE__ */ React5.createElement(
542
551
  "button",
543
552
  {
544
553
  onClick: triggerPasskeyLogin,
545
554
  disabled: isSubmitting,
546
- className: "w-full py-2.5 rounded-full text-black border border-neutral-200 hover:bg-neutral-50 text-xs tracking-wide transition-colors outline-none disabled:opacity-50"
555
+ className: "w-full py-2.5 rounded-full text-black border border-neutral-200 hover:bg-neutral-50 text-[13px] tracking-wide transition-colors outline-none disabled:opacity-50"
547
556
  },
548
557
  "Use Passkey Biometrics"
549
558
  ))))));
550
559
  }
551
560
  var PipleAuth = (props) => {
552
561
  if (props.useRecaptcha && props.recaptchaSiteKey) {
553
- return /* @__PURE__ */ React5.createElement(GoogleReCaptchaProvider, { reCaptchaKey: props.recaptchaSiteKey }, /* @__PURE__ */ React5.createElement(Suspense, { fallback: /* @__PURE__ */ React5.createElement("div", { className: "h-64 flex items-center justify-center" }, /* @__PURE__ */ React5.createElement(InputSpinner, null)) }, /* @__PURE__ */ React5.createElement(AuthFormInner, { ...props })));
562
+ return /* @__PURE__ */ React5.createElement(GoogleReCaptchaProvider, { reCaptchaKey: props.recaptchaSiteKey }, /* @__PURE__ */ React5.createElement(Suspense, { fallback: /* @__PURE__ */ React5.createElement("div", { className: "min-h-screen w-full bg-white flex items-center justify-center" }, /* @__PURE__ */ React5.createElement(InputSpinner, null)) }, /* @__PURE__ */ React5.createElement(AuthFormInner, { ...props })));
554
563
  }
555
- return /* @__PURE__ */ React5.createElement(Suspense, { fallback: /* @__PURE__ */ React5.createElement("div", { className: "h-64 flex items-center justify-center" }, /* @__PURE__ */ React5.createElement(InputSpinner, null)) }, /* @__PURE__ */ React5.createElement(AuthFormInner, { ...props }));
564
+ return /* @__PURE__ */ React5.createElement(Suspense, { fallback: /* @__PURE__ */ React5.createElement("div", { className: "min-h-screen w-full bg-white flex items-center justify-center" }, /* @__PURE__ */ React5.createElement(InputSpinner, null)) }, /* @__PURE__ */ React5.createElement(AuthFormInner, { ...props }));
556
565
  };
557
566
 
558
567
  // src/components/Footer.tsx
559
568
  import React6, { useState as useState4 } from "react";
560
569
  import Link3 from "next/link";
561
- import { HugeiconsIcon as HugeiconsIcon2 } from "@hugeicons/react";
570
+ import { HugeiconsIcon as HugeiconsIcon3 } from "@hugeicons/react";
562
571
  var Footer = ({
563
572
  description,
564
573
  columns,
@@ -599,7 +608,7 @@ var Footer = ({
599
608
  rel: "noopener noreferrer",
600
609
  className: "text-neutral-400 hover:text-black transition-colors"
601
610
  },
602
- /* @__PURE__ */ React6.createElement(HugeiconsIcon2, { icon: social.icon, size: 20 })
611
+ /* @__PURE__ */ React6.createElement(HugeiconsIcon3, { icon: social.icon, size: 20 })
603
612
  ))), /* @__PURE__ */ React6.createElement("p", { className: "text-[10px] sm:text-[11px] text-neutral-400 leading-relaxed max-w-5xl mx-auto" }, "Retina Labs Company (RC - 9235780) is an artificial intelligence research organization and software developer headquartered in Lagos, Nigeria, and the Netherlands. Unauthorized reproduction or redistribution of copyrighted materials on this website and Retina Labs Company's digital media pages is strictly prohibited. By clicking on some of the links above, you may leave our website and be directed to a third-party website. The privacy practices of those third parties may differ from ours. We recommend you review the privacy statements of those third-party websites, as Retina Labs Company is not responsible for those third parties' privacy or security practices. For inquiries, contact us via phone at +234 201 700 1157 / +1 507 773 0007 or email at labs@theretinalabs.com. Additional disclosures and legal resources can be found in the respective sections of our platform."), /* @__PURE__ */ React6.createElement("p", { className: "text-[11px] text-neutral-500 tracking-widest mt-8" }, copyrightText))))));
604
613
  };
605
614
 
@@ -607,7 +616,7 @@ var Footer = ({
607
616
  import React7 from "react";
608
617
  import Link4 from "next/link";
609
618
  import { usePathname as usePathname2 } from "next/navigation";
610
- import { HugeiconsIcon as HugeiconsIcon3 } from "@hugeicons/react";
619
+ import { HugeiconsIcon as HugeiconsIcon4 } from "@hugeicons/react";
611
620
  var MobileNav = ({ items }) => {
612
621
  const pathname = usePathname2();
613
622
  if (!items || items.length === 0) return null;
@@ -624,7 +633,7 @@ var MobileNav = ({ items }) => {
624
633
  className: "flex flex-col items-center justify-center gap-1 min-w-14 transition-transform active:scale-95 outline-none"
625
634
  },
626
635
  /* @__PURE__ */ React7.createElement("div", { className: `transition-colors duration-300 ${isActive ? "text-black" : "text-neutral-400 hover:text-neutral-600"}` }, /* @__PURE__ */ React7.createElement(
627
- HugeiconsIcon3,
636
+ HugeiconsIcon4,
628
637
  {
629
638
  icon: item.icon,
630
639
  size: 20
@@ -732,7 +741,7 @@ var NumberInput = ({
732
741
 
733
742
  // src/components/Banner.tsx
734
743
  import React10, { useState as useState6 } from "react";
735
- import { HugeiconsIcon as HugeiconsIcon4 } from "@hugeicons/react";
744
+ import { HugeiconsIcon as HugeiconsIcon5 } from "@hugeicons/react";
736
745
  import {
737
746
  Alert02Icon,
738
747
  CheckmarkBadge01Icon,
@@ -787,12 +796,12 @@ var Banner = ({
787
796
  onClick: handleDismiss,
788
797
  className: `absolute top-3 right-3 p-1.5 rounded-full transition-colors outline-none shrink-0 ${currentConfig.closeHover}`
789
798
  },
790
- /* @__PURE__ */ React10.createElement(HugeiconsIcon4, { icon: Cancel01Icon, size: 16 })
799
+ /* @__PURE__ */ React10.createElement(HugeiconsIcon5, { icon: Cancel01Icon, size: 16 })
791
800
  ));
792
801
  };
793
802
 
794
803
  // src/components/UniversalOrganizationPage.tsx
795
- import { HugeiconsIcon as HugeiconsIcon5 } from "@hugeicons/react";
804
+ import { HugeiconsIcon as HugeiconsIcon6 } from "@hugeicons/react";
796
805
  import {
797
806
  ArrowLeft01Icon,
798
807
  CircleLock02Icon
@@ -895,9 +904,9 @@ var UniversalOrganizationPage = ({
895
904
  onClick: onBackHandler,
896
905
  className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[13px] outline-none"
897
906
  },
898
- /* @__PURE__ */ React11.createElement(HugeiconsIcon5, { icon: ArrowLeft01Icon, size: 16 }),
907
+ /* @__PURE__ */ React11.createElement(HugeiconsIcon6, { icon: ArrowLeft01Icon, size: 16 }),
899
908
  " Back"
900
- )), /* @__PURE__ */ React11.createElement("div", { className: "flex flex-col gap-8 animate-in max-w-3xl w-full mx-auto rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ React11.createElement(ManagedToaster, null), /* @__PURE__ */ React11.createElement("div", { className: "flex items-start justify-between gap-4" }, /* @__PURE__ */ React11.createElement("div", null, /* @__PURE__ */ React11.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, "Public Profile"), /* @__PURE__ */ React11.createElement("p", { className: "text-xs text-neutral-500" }, "Manage your financial payment handle identifiers and global public cryptographic signature identity details.")), isReadOnly && /* @__PURE__ */ React11.createElement("span", { className: "p-2 w-9 h-9 bg-neutral-100 text-neutral-400 rounded-full shrink-0" }, /* @__PURE__ */ React11.createElement(HugeiconsIcon5, { icon: CircleLock02Icon, size: 18, className: "text-current" }))), bannerProps && /* @__PURE__ */ React11.createElement(Banner, { ...bannerProps }), /* @__PURE__ */ React11.createElement("div", { className: "w-full max-w-5xl" }, /* @__PURE__ */ React11.createElement("form", { className: "flex flex-col gap-8", onSubmit: handleSave, autoComplete: "off" }, /* @__PURE__ */ React11.createElement(
909
+ )), /* @__PURE__ */ React11.createElement("div", { className: "flex flex-col gap-8 animate-in max-w-3xl w-full mx-auto rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ React11.createElement(ManagedToaster, null), /* @__PURE__ */ React11.createElement("div", { className: "flex items-start justify-between gap-4" }, /* @__PURE__ */ React11.createElement("div", null, /* @__PURE__ */ React11.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, "Public Profile"), /* @__PURE__ */ React11.createElement("p", { className: "text-xs text-neutral-500" }, "Manage your financial payment handle identifiers and global public cryptographic signature identity details.")), isReadOnly && /* @__PURE__ */ React11.createElement("span", { className: "p-2 w-9 h-9 bg-neutral-100 text-neutral-400 rounded-full shrink-0" }, /* @__PURE__ */ React11.createElement(HugeiconsIcon6, { icon: CircleLock02Icon, size: 18, className: "text-current" }))), bannerProps && /* @__PURE__ */ React11.createElement(Banner, { ...bannerProps }), /* @__PURE__ */ React11.createElement("div", { className: "w-full max-w-5xl" }, /* @__PURE__ */ React11.createElement("form", { className: "flex flex-col gap-8", onSubmit: handleSave, autoComplete: "off" }, /* @__PURE__ */ React11.createElement(
901
910
  TextInput,
902
911
  {
903
912
  label: "Display Name",
@@ -956,11 +965,11 @@ var UniversalOrganizationPage = ({
956
965
  // src/components/UniversalProfileSettings.tsx
957
966
  import React12, { useState as useState8, useEffect as useEffect5 } from "react";
958
967
  import toast3 from "react-hot-toast";
959
- import { HugeiconsIcon as HugeiconsIcon6 } from "@hugeicons/react";
968
+ import { HugeiconsIcon as HugeiconsIcon7 } from "@hugeicons/react";
960
969
  import {
961
970
  CircleLock02Icon as CircleLock02Icon2,
962
971
  CancelCircleIcon,
963
- Loading03Icon as Loading03Icon2,
972
+ Loading03Icon as Loading03Icon3,
964
973
  LockKeyIcon,
965
974
  ArrowLeft01Icon as ArrowLeft01Icon2
966
975
  } from "@hugeicons/core-free-icons";
@@ -1061,9 +1070,9 @@ var UniversalProfileSettings = ({
1061
1070
  onClick: onBackHandler,
1062
1071
  className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[13px] outline-none"
1063
1072
  },
1064
- /* @__PURE__ */ React12.createElement(HugeiconsIcon6, { icon: ArrowLeft01Icon2, size: 16 }),
1073
+ /* @__PURE__ */ React12.createElement(HugeiconsIcon7, { icon: ArrowLeft01Icon2, size: 16 }),
1065
1074
  " Back"
1066
- )), /* @__PURE__ */ React12.createElement("div", { className: "flex flex-col max-w-3xl w-full mx-auto rounded-2xl p-6 bg-white gap-8 animate-in fade-in duration-300" }, /* @__PURE__ */ React12.createElement(ManagedToaster, null), /* @__PURE__ */ React12.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-3 sm:gap-4" }, /* @__PURE__ */ React12.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ React12.createElement("h1", { className: "text-black text-xl mb-1 truncate tracking-tight" }, "Personal Settings"), /* @__PURE__ */ React12.createElement("p", { className: "text-xs text-neutral-500 truncate" }, "Manage your personal account profile.")), isReadOnly && /* @__PURE__ */ React12.createElement("span", { className: "p-2 w-9 h-9 bg-neutral-100 text-neutral-400 rounded-full shrink-0" }, /* @__PURE__ */ React12.createElement(HugeiconsIcon6, { icon: CircleLock02Icon2, size: 18, className: "text-current" }))), bannerProps && /* @__PURE__ */ React12.createElement(Banner, { ...bannerProps }), /* @__PURE__ */ React12.createElement("div", { className: "w-full max-w-5xl" }, /* @__PURE__ */ React12.createElement("form", { className: "flex flex-col gap-8", onSubmit: handleSave, autoComplete: "off" }, /* @__PURE__ */ React12.createElement("div", { className: "flex flex-col sm:flex-row gap-6" }, /* @__PURE__ */ React12.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React12.createElement(
1075
+ )), /* @__PURE__ */ React12.createElement("div", { className: "flex flex-col max-w-3xl w-full mx-auto rounded-2xl p-6 bg-white gap-8 animate-in fade-in duration-300" }, /* @__PURE__ */ React12.createElement(ManagedToaster, null), /* @__PURE__ */ React12.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-3 sm:gap-4" }, /* @__PURE__ */ React12.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ React12.createElement("h1", { className: "text-black text-xl mb-1 truncate tracking-tight" }, "Personal Settings"), /* @__PURE__ */ React12.createElement("p", { className: "text-xs text-neutral-500 truncate" }, "Manage your personal account profile.")), isReadOnly && /* @__PURE__ */ React12.createElement("span", { className: "p-2 w-9 h-9 bg-neutral-100 text-neutral-400 rounded-full shrink-0" }, /* @__PURE__ */ React12.createElement(HugeiconsIcon7, { icon: CircleLock02Icon2, size: 18, className: "text-current" }))), bannerProps && /* @__PURE__ */ React12.createElement(Banner, { ...bannerProps }), /* @__PURE__ */ React12.createElement("div", { className: "w-full max-w-5xl" }, /* @__PURE__ */ React12.createElement("form", { className: "flex flex-col gap-8", onSubmit: handleSave, autoComplete: "off" }, /* @__PURE__ */ React12.createElement("div", { className: "flex flex-col sm:flex-row gap-6" }, /* @__PURE__ */ React12.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React12.createElement(
1067
1076
  TextInput,
1068
1077
  {
1069
1078
  label: "First Name",
@@ -1097,7 +1106,7 @@ var UniversalProfileSettings = ({
1097
1106
  onClick: () => setIsPasscodeModalOpen(true),
1098
1107
  className: "w-9 h-9 flex items-center justify-center border border-neutral-200 rounded-full text-black hover:bg-neutral-50 transition-colors outline-none"
1099
1108
  },
1100
- /* @__PURE__ */ React12.createElement(HugeiconsIcon6, { icon: LockKeyIcon, size: 17, className: "text-black" })
1109
+ /* @__PURE__ */ React12.createElement(HugeiconsIcon7, { icon: LockKeyIcon, size: 17, className: "text-black" })
1101
1110
  ))), /* @__PURE__ */ React12.createElement("div", { className: "flex flex-col-reverse sm:flex-row items-center gap-3 sm:gap-4 w-full sm:w-auto shrink-0" }, hasChanges && !isSubmitting && !isReadOnly && /* @__PURE__ */ React12.createElement(
1102
1111
  "button",
1103
1112
  {
@@ -1118,7 +1127,7 @@ var UniversalProfileSettings = ({
1118
1127
  className: "min-w-32 w-full sm:w-auto"
1119
1128
  },
1120
1129
  "Save Changes"
1121
- ))))), isPasscodeModalOpen && /* @__PURE__ */ React12.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React12.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: closePasscodeModal }), /* @__PURE__ */ React12.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__ */ React12.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React12.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, hasPasscode ? "Change Passcode" : "Create Security Passcode"), /* @__PURE__ */ React12.createElement("button", { onClick: closePasscodeModal, disabled: isPasscodeSubmitting, className: "text-neutral-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ React12.createElement(HugeiconsIcon6, { icon: CancelCircleIcon, size: 18 }))), /* @__PURE__ */ React12.createElement("div", { className: "p-6" }, isPasscodeLoading ? /* @__PURE__ */ React12.createElement("div", { className: "flex flex-col items-center justify-center py-10" }, /* @__PURE__ */ React12.createElement(HugeiconsIcon6, { icon: Loading03Icon2, size: 28, className: "animate-spin text-neutral-400 mb-4" })) : /* @__PURE__ */ React12.createElement("form", { onSubmit: handlePasscodeSubmit, className: "flex flex-col gap-6" }, hasPasscode && /* @__PURE__ */ React12.createElement(
1130
+ ))))), isPasscodeModalOpen && /* @__PURE__ */ React12.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React12.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: closePasscodeModal }), /* @__PURE__ */ React12.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__ */ React12.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React12.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, hasPasscode ? "Change Passcode" : "Create Security Passcode"), /* @__PURE__ */ React12.createElement("button", { onClick: closePasscodeModal, disabled: isPasscodeSubmitting, className: "text-neutral-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ React12.createElement(HugeiconsIcon7, { icon: CancelCircleIcon, size: 18 }))), /* @__PURE__ */ React12.createElement("div", { className: "p-6" }, isPasscodeLoading ? /* @__PURE__ */ React12.createElement("div", { className: "flex flex-col items-center justify-center py-10" }, /* @__PURE__ */ React12.createElement(HugeiconsIcon7, { icon: Loading03Icon3, size: 28, className: "animate-spin text-neutral-400 mb-4" })) : /* @__PURE__ */ React12.createElement("form", { onSubmit: handlePasscodeSubmit, className: "flex flex-col gap-6" }, hasPasscode && /* @__PURE__ */ React12.createElement(
1122
1131
  TextInput,
1123
1132
  {
1124
1133
  type: "password",
@@ -1165,13 +1174,13 @@ var UniversalProfileSettings = ({
1165
1174
 
1166
1175
  // src/components/UniversalErrorView.tsx
1167
1176
  import React14 from "react";
1168
- import { HugeiconsIcon as HugeiconsIcon8 } from "@hugeicons/react";
1177
+ import { HugeiconsIcon as HugeiconsIcon9 } from "@hugeicons/react";
1169
1178
  import { ConfusedIcon } from "@hugeicons/core-free-icons";
1170
1179
 
1171
1180
  // src/components/PageSpinner.tsx
1172
1181
  import React13 from "react";
1173
- import { HugeiconsIcon as HugeiconsIcon7 } from "@hugeicons/react";
1174
- import { Loading03Icon as Loading03Icon3 } from "@hugeicons/core-free-icons";
1182
+ import { HugeiconsIcon as HugeiconsIcon8 } from "@hugeicons/react";
1183
+ import { Loading03Icon as Loading03Icon4 } from "@hugeicons/core-free-icons";
1175
1184
  var PageSpinner = ({
1176
1185
  className = "",
1177
1186
  iconClassName = "text-black",
@@ -1180,9 +1189,9 @@ var PageSpinner = ({
1180
1189
  return (
1181
1190
  // z-[100] ensures it sits above absolute headers and modals
1182
1191
  /* @__PURE__ */ React13.createElement("div", { className: `fixed inset-0 z-100 flex flex-col items-center justify-center w-full h-full pointer-events-none ${className}` }, /* @__PURE__ */ React13.createElement(
1183
- HugeiconsIcon7,
1192
+ HugeiconsIcon8,
1184
1193
  {
1185
- icon: Loading03Icon3,
1194
+ icon: Loading03Icon4,
1186
1195
  size,
1187
1196
  className: `animate-spin text-[#068afe] mb-4 ${iconClassName}`
1188
1197
  }
@@ -1221,7 +1230,7 @@ var UniversalErrorView = ({
1221
1230
  title = "Access Restricted";
1222
1231
  description = apiMessage || `You have insufficient permissions to view this ${envName}. Please contact your administrator.`;
1223
1232
  }
1224
- return /* @__PURE__ */ React14.createElement("div", { className: "flex flex-col items-center justify-center h-screen w-full px-4 animate-in fade-in duration-500" }, /* @__PURE__ */ React14.createElement("div", { className: "mb-4 flex justify-center" }, /* @__PURE__ */ React14.createElement(HugeiconsIcon8, { icon: IconComponent, size: 48, className: "text-neutral-300" })), /* @__PURE__ */ React14.createElement("h2", { className: "text-lg text-black tracking-tight " }, title), /* @__PURE__ */ React14.createElement("p", { className: "text-xs mt-2 mb-8 text-neutral-500 max-w-sm text-center leading-relaxed" }, description), /* @__PURE__ */ React14.createElement("div", { className: "flex flex-col sm:flex-row items-center gap-3 w-full justify-center sm:w-auto" }, isNotFoundError || isPermissionError ? /* @__PURE__ */ React14.createElement(
1233
+ return /* @__PURE__ */ React14.createElement("div", { className: "flex flex-col items-center justify-center h-screen w-full px-4 animate-in fade-in duration-500" }, /* @__PURE__ */ React14.createElement("div", { className: "mb-4 flex justify-center" }, /* @__PURE__ */ React14.createElement(HugeiconsIcon9, { icon: IconComponent, size: 48, className: "text-neutral-300" })), /* @__PURE__ */ React14.createElement("h2", { className: "text-lg text-black tracking-tight " }, title), /* @__PURE__ */ React14.createElement("p", { className: "text-xs mt-2 mb-8 text-neutral-500 max-w-sm text-center leading-relaxed" }, description), /* @__PURE__ */ React14.createElement("div", { className: "flex flex-col sm:flex-row items-center gap-3 w-full justify-center sm:w-auto" }, isNotFoundError || isPermissionError ? /* @__PURE__ */ React14.createElement(
1225
1234
  "button",
1226
1235
  {
1227
1236
  onClick: () => window.location.href = returnUrl,
@@ -1253,12 +1262,12 @@ var UniversalErrorView = ({
1253
1262
 
1254
1263
  // src/components/UniversalTransactionPage.tsx
1255
1264
  import React15, { useState as useState9, useEffect as useEffect6, useRef as useRef3 } from "react";
1256
- import { HugeiconsIcon as HugeiconsIcon9 } from "@hugeicons/react";
1265
+ import { HugeiconsIcon as HugeiconsIcon10 } from "@hugeicons/react";
1257
1266
  import toast4 from "react-hot-toast";
1258
1267
  import {
1259
1268
  ArrowLeft01Icon as ArrowLeft01Icon3,
1260
1269
  ArrowRight01Icon,
1261
- Loading03Icon as Loading03Icon4,
1270
+ Loading03Icon as Loading03Icon5,
1262
1271
  ArrowDownRight01Icon,
1263
1272
  ArrowUpRight01Icon,
1264
1273
  Search01Icon,
@@ -1267,7 +1276,7 @@ import {
1267
1276
  CancelCircleIcon as CancelCircleIcon2,
1268
1277
  Copy01Icon
1269
1278
  } from "@hugeicons/core-free-icons";
1270
- var PageSpinner2 = () => /* @__PURE__ */ React15.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ React15.createElement(HugeiconsIcon9, { icon: Loading03Icon4, size: 32, className: "animate-spin mb-4 text-black" }));
1279
+ var PageSpinner2 = () => /* @__PURE__ */ React15.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ React15.createElement(HugeiconsIcon10, { icon: Loading03Icon5, size: 32, className: "animate-spin mb-4 text-black" }));
1271
1280
  var formatTime = (dateInput) => {
1272
1281
  return new Date(dateInput).toLocaleTimeString("en-US", { hour: "2-digit", minute: "2-digit" });
1273
1282
  };
@@ -1367,7 +1376,7 @@ var UniversalTransactionPage = ({
1367
1376
  }
1368
1377
  };
1369
1378
  const isListLoading = isLoading || isTyping;
1370
- return /* @__PURE__ */ React15.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React15.createElement(ManagedToaster, null), !hideControls && /* @__PURE__ */ React15.createElement("div", { className: "flex flex-row flex-nowrap mb-4 items-center justify-between gap-4 w-full" }, /* @__PURE__ */ React15.createElement("div", { className: "relative flex-1 min-w-0 max-w-full" }, /* @__PURE__ */ React15.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React15.createElement(HugeiconsIcon9, { icon: Search01Icon, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ React15.createElement(
1379
+ return /* @__PURE__ */ React15.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React15.createElement(ManagedToaster, null), !hideControls && /* @__PURE__ */ React15.createElement("div", { className: "flex flex-row flex-nowrap mb-4 items-center justify-between gap-4 w-full" }, /* @__PURE__ */ React15.createElement("div", { className: "relative flex-1 min-w-0 max-w-full" }, /* @__PURE__ */ React15.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React15.createElement(HugeiconsIcon10, { icon: Search01Icon, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ React15.createElement(
1371
1380
  "input",
1372
1381
  {
1373
1382
  type: "text",
@@ -1382,14 +1391,14 @@ var UniversalTransactionPage = ({
1382
1391
  onClick: () => setIsDirectionModalOpen(true),
1383
1392
  className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-neutral-500 hover:text-black transition-colors outline-none"
1384
1393
  },
1385
- /* @__PURE__ */ React15.createElement(HugeiconsIcon9, { icon: SearchList02Icon, size: 16 })
1394
+ /* @__PURE__ */ React15.createElement(HugeiconsIcon10, { icon: SearchList02Icon, size: 16 })
1386
1395
  ), /* @__PURE__ */ React15.createElement(
1387
1396
  "button",
1388
1397
  {
1389
1398
  onClick: () => setIsTypeModalOpen(true),
1390
1399
  className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-neutral-500 hover:text-black transition-colors outline-none"
1391
1400
  },
1392
- /* @__PURE__ */ React15.createElement(HugeiconsIcon9, { icon: ListSettingIcon, size: 16 })
1401
+ /* @__PURE__ */ React15.createElement(HugeiconsIcon10, { icon: ListSettingIcon, size: 16 })
1393
1402
  ))), /* @__PURE__ */ React15.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ React15.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-4" }, /* @__PURE__ */ React15.createElement("div", null, /* @__PURE__ */ React15.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, headerTitle), headerDescription && /* @__PURE__ */ React15.createElement("p", { className: "text-xs text-neutral-500" }, headerDescription))), /* @__PURE__ */ React15.createElement("div", { className: "w-full overflow-hidden" }, isListLoading ? /* @__PURE__ */ React15.createElement(PageSpinner2, null) : /* @__PURE__ */ React15.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React15.createElement("div", null, transactions.length === 0 ? /* @__PURE__ */ React15.createElement("p", { className: "text-xs text-neutral-400 py-6 text-center" }, "No transactions found") : transactions.map((tx) => /* @__PURE__ */ React15.createElement(
1394
1403
  "div",
1395
1404
  {
@@ -1397,7 +1406,7 @@ var UniversalTransactionPage = ({
1397
1406
  onClick: () => setSelectedTransaction(tx),
1398
1407
  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"
1399
1408
  },
1400
- /* @__PURE__ */ React15.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React15.createElement("div", { className: `w-10 h-10 shrink-0 rounded-full flex items-center justify-center border border-neutral-200 text-black` }, /* @__PURE__ */ React15.createElement(HugeiconsIcon9, { icon: tx.direction === "CREDIT" ? ArrowDownRight01Icon : ArrowUpRight01Icon, size: 18 })), /* @__PURE__ */ React15.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-1" }, /* @__PURE__ */ React15.createElement("p", { className: "text-[13px] text-black truncate" }, tx.name), /* @__PURE__ */ React15.createElement("p", { className: `text-[12px] text-neutral-500 truncate transition-all duration-300 ${hideBalanceAmounts ? "blur-sm opacity-40 select-none" : ""}` }, tx.amount))),
1409
+ /* @__PURE__ */ React15.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React15.createElement("div", { className: `w-10 h-10 shrink-0 rounded-full flex items-center justify-center border border-neutral-200 text-black` }, /* @__PURE__ */ React15.createElement(HugeiconsIcon10, { icon: tx.direction === "CREDIT" ? ArrowDownRight01Icon : ArrowUpRight01Icon, size: 18 })), /* @__PURE__ */ React15.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-1" }, /* @__PURE__ */ React15.createElement("p", { className: "text-[13px] text-black truncate" }, tx.name), /* @__PURE__ */ React15.createElement("p", { className: `text-[12px] text-neutral-500 truncate transition-all duration-300 ${hideBalanceAmounts ? "blur-sm opacity-40 select-none" : ""}` }, tx.amount))),
1401
1410
  /* @__PURE__ */ React15.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ React15.createElement("span", { className: "text-[11px] text-neutral-400" }, formatDate2(tx.createdAt)), /* @__PURE__ */ React15.createElement("span", { className: "text-[11px] text-neutral-400 capitalize" }, tx.direction.toLowerCase()))
1402
1411
  ))), !hidePagination && /* @__PURE__ */ React15.createElement("div", { className: "flex items-center justify-between pt-6 mt-2 " }, /* @__PURE__ */ React15.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em]" }, "Page ", currentPage, " of ", totalPages === 0 ? 1 : totalPages), /* @__PURE__ */ React15.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React15.createElement(
1403
1412
  "button",
@@ -1406,7 +1415,7 @@ var UniversalTransactionPage = ({
1406
1415
  disabled: currentPage <= 1 || isListLoading,
1407
1416
  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"
1408
1417
  },
1409
- /* @__PURE__ */ React15.createElement(HugeiconsIcon9, { icon: ArrowLeft01Icon3, size: 14 })
1418
+ /* @__PURE__ */ React15.createElement(HugeiconsIcon10, { icon: ArrowLeft01Icon3, size: 14 })
1410
1419
  ), /* @__PURE__ */ React15.createElement(
1411
1420
  "button",
1412
1421
  {
@@ -1414,14 +1423,14 @@ var UniversalTransactionPage = ({
1414
1423
  disabled: currentPage >= totalPages || isListLoading || totalPages === 0,
1415
1424
  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"
1416
1425
  },
1417
- /* @__PURE__ */ React15.createElement(HugeiconsIcon9, { icon: ArrowRight01Icon, size: 14 })
1418
- )))))), selectedTransaction && /* @__PURE__ */ React15.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React15.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setSelectedTransaction(null) }), /* @__PURE__ */ React15.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__ */ React15.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React15.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Details"), /* @__PURE__ */ React15.createElement("button", { onClick: () => setSelectedTransaction(null), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React15.createElement(HugeiconsIcon9, { icon: CancelCircleIcon2, size: 18 }))), /* @__PURE__ */ React15.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6" }, /* @__PURE__ */ React15.createElement("div", { className: "flex flex-col items-center justify-center mb-4" }, /* @__PURE__ */ React15.createElement("div", { className: `w-12 h-12 rounded-full flex items-center justify-center mb-4 border border-neutral-200 text-black` }, /* @__PURE__ */ React15.createElement(HugeiconsIcon9, { icon: selectedTransaction.direction === "CREDIT" ? ArrowDownRight01Icon : ArrowUpRight01Icon, size: 20 })), /* @__PURE__ */ React15.createElement("p", { className: `text-2xl text-black mb-2 transition-all duration-300 ${hideBalanceAmounts ? "blur-[6px] opacity-40 select-none" : ""}` }, selectedTransaction.amount), /* @__PURE__ */ React15.createElement("span", { className: `text-[9px] tracking-widest px-4 py-1.5 rounded-full ${getStatusClasses(selectedTransaction.status)}` }, selectedTransaction.status)), /* @__PURE__ */ React15.createElement("div", { className: "grid grid-cols-1 gap-y-8 gap-x-4 mb-10 mt-6" }, /* @__PURE__ */ React15.createElement("div", null, /* @__PURE__ */ React15.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Reference ID"), /* @__PURE__ */ React15.createElement("div", { className: "flex items-center gap-2 min-w-0" }, /* @__PURE__ */ React15.createElement("span", { className: "text-[13px] text-black truncate min-w-0 block" }, truncateReference(selectedTransaction.reference)), /* @__PURE__ */ React15.createElement(
1426
+ /* @__PURE__ */ React15.createElement(HugeiconsIcon10, { icon: ArrowRight01Icon, size: 14 })
1427
+ )))))), selectedTransaction && /* @__PURE__ */ React15.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React15.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setSelectedTransaction(null) }), /* @__PURE__ */ React15.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__ */ React15.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React15.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Details"), /* @__PURE__ */ React15.createElement("button", { onClick: () => setSelectedTransaction(null), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React15.createElement(HugeiconsIcon10, { icon: CancelCircleIcon2, size: 18 }))), /* @__PURE__ */ React15.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6" }, /* @__PURE__ */ React15.createElement("div", { className: "flex flex-col items-center justify-center mb-4" }, /* @__PURE__ */ React15.createElement("div", { className: `w-12 h-12 rounded-full flex items-center justify-center mb-4 border border-neutral-200 text-black` }, /* @__PURE__ */ React15.createElement(HugeiconsIcon10, { icon: selectedTransaction.direction === "CREDIT" ? ArrowDownRight01Icon : ArrowUpRight01Icon, size: 20 })), /* @__PURE__ */ React15.createElement("p", { className: `text-2xl text-black mb-2 transition-all duration-300 ${hideBalanceAmounts ? "blur-[6px] opacity-40 select-none" : ""}` }, selectedTransaction.amount), /* @__PURE__ */ React15.createElement("span", { className: `text-[9px] tracking-widest px-4 py-1.5 rounded-full ${getStatusClasses(selectedTransaction.status)}` }, selectedTransaction.status)), /* @__PURE__ */ React15.createElement("div", { className: "grid grid-cols-1 gap-y-8 gap-x-4 mb-10 mt-6" }, /* @__PURE__ */ React15.createElement("div", null, /* @__PURE__ */ React15.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Reference ID"), /* @__PURE__ */ React15.createElement("div", { className: "flex items-center gap-2 min-w-0" }, /* @__PURE__ */ React15.createElement("span", { className: "text-[13px] text-black truncate min-w-0 block" }, truncateReference(selectedTransaction.reference)), /* @__PURE__ */ React15.createElement(
1419
1428
  "button",
1420
1429
  {
1421
1430
  onClick: () => handleCopyReference(selectedTransaction.reference),
1422
1431
  className: "text-neutral-400 hover:text-black transition-colors outline-none"
1423
1432
  },
1424
- /* @__PURE__ */ React15.createElement(HugeiconsIcon9, { icon: Copy01Icon, size: 14 })
1433
+ /* @__PURE__ */ React15.createElement(HugeiconsIcon10, { icon: Copy01Icon, size: 14 })
1425
1434
  ))), /* @__PURE__ */ React15.createElement("div", null, /* @__PURE__ */ React15.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Description"), /* @__PURE__ */ React15.createElement("span", { className: "text-[13px] text-black" }, selectedTransaction.description)), /* @__PURE__ */ React15.createElement("div", null, /* @__PURE__ */ React15.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Date & Time"), /* @__PURE__ */ React15.createElement("span", { className: "text-[13px] text-black" }, formatDate2(selectedTransaction.createdAt), " at ", formatTime(selectedTransaction.createdAt))), /* @__PURE__ */ React15.createElement("div", null, /* @__PURE__ */ React15.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Transaction Type"), /* @__PURE__ */ React15.createElement("span", { className: "text-[13px] text-black capitalize" }, selectedTransaction.type.replace("_", " ").toLowerCase())), /* @__PURE__ */ React15.createElement("div", null, /* @__PURE__ */ React15.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Flow Direction"), /* @__PURE__ */ React15.createElement("span", { className: "text-[13px] text-black capitalize" }, selectedTransaction.direction.toLowerCase())), selectedTransaction.metadata?.fromAddress && selectedTransaction.metadata?.toAddress && /* @__PURE__ */ React15.createElement("div", null, /* @__PURE__ */ React15.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Transfer Route"), /* @__PURE__ */ React15.createElement("div", { className: "flex items-center gap-2 text-[13px] text-black" }, /* @__PURE__ */ React15.createElement("span", { className: "truncate" }, truncateAddress(String(selectedTransaction.metadata.fromAddress))), /* @__PURE__ */ React15.createElement("span", { className: "text-neutral-400" }, "\u2192"), /* @__PURE__ */ React15.createElement("span", { className: "truncate" }, truncateAddress(String(selectedTransaction.metadata.toAddress))))), selectedTransaction.metadata && Object.entries(selectedTransaction.metadata).map(([key, value]) => {
1426
1435
  if (key === "fromAddress" || key === "toAddress") return null;
1427
1436
  if (value === null || value === void 0 || typeof value === "object") return null;
@@ -1488,9 +1497,9 @@ var UniversalTransactionPage = ({
1488
1497
  // src/components/UniversalHomeView.tsx
1489
1498
  import React16, { useState as useState10 } from "react";
1490
1499
  import { useRouter } from "next/navigation";
1491
- import { HugeiconsIcon as HugeiconsIcon10 } from "@hugeicons/react";
1500
+ import { HugeiconsIcon as HugeiconsIcon11 } from "@hugeicons/react";
1492
1501
  import {
1493
- Loading03Icon as Loading03Icon5,
1502
+ Loading03Icon as Loading03Icon6,
1494
1503
  Notification01Icon,
1495
1504
  ArrowLeft01Icon as ArrowLeft01Icon4,
1496
1505
  ArrowRight01Icon as ArrowRight01Icon2,
@@ -1519,7 +1528,7 @@ var UniversalHomeView = ({
1519
1528
  const fallbackAvatarUrl = `/api/avatar/?name=${encodeURIComponent(fullName || " ")}&background=ffffff&color=000000&size=100&font-size=0.33`;
1520
1529
  const finalAvatarSrc = avatarSrc || fallbackAvatarUrl;
1521
1530
  const hasUnreadNotifs = notifications.some((n) => !n.isRead);
1522
- return /* @__PURE__ */ React16.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ React16.createElement("div", { className: "flex items-center justify-between w-full pb-4 " }, /* @__PURE__ */ React16.createElement("div", { className: "w-10 h-10 rounded-full bg-white p-0.75 flex items-center justify-center cursor-pointer", onClick: () => router.push("/app/account/me") }, /* @__PURE__ */ React16.createElement("div", { className: "relative w-full h-full rounded-full overflow-hidden bg-neutral-100 flex items-center justify-center" }, !isAvatarLoaded && /* @__PURE__ */ React16.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-10 bg-neutral-100" }, /* @__PURE__ */ React16.createElement(HugeiconsIcon10, { icon: Loading03Icon5, size: 16, className: "animate-spin text-black" })), /* @__PURE__ */ React16.createElement(
1531
+ return /* @__PURE__ */ React16.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ React16.createElement("div", { className: "flex items-center justify-between w-full pb-4 " }, /* @__PURE__ */ React16.createElement("div", { className: "w-10 h-10 rounded-full bg-white p-0.75 flex items-center justify-center cursor-pointer", onClick: () => router.push("/app/account/me") }, /* @__PURE__ */ React16.createElement("div", { className: "relative w-full h-full rounded-full overflow-hidden bg-neutral-100 flex items-center justify-center" }, !isAvatarLoaded && /* @__PURE__ */ React16.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-10 bg-neutral-100" }, /* @__PURE__ */ React16.createElement(HugeiconsIcon11, { icon: Loading03Icon6, size: 16, className: "animate-spin text-black" })), /* @__PURE__ */ React16.createElement(
1523
1532
  "img",
1524
1533
  {
1525
1534
  src: finalAvatarSrc,
@@ -1536,7 +1545,7 @@ var UniversalHomeView = ({
1536
1545
  },
1537
1546
  className: "relative w-10 h-10 flex items-center justify-center rounded-full bg-white outline-none hover:bg-neutral-50 transition-colors"
1538
1547
  },
1539
- /* @__PURE__ */ React16.createElement(HugeiconsIcon10, { icon: Notification01Icon, size: 20, className: "text-black" }),
1548
+ /* @__PURE__ */ React16.createElement(HugeiconsIcon11, { icon: Notification01Icon, size: 20, className: "text-black" }),
1540
1549
  hasUnreadNotifs && /* @__PURE__ */ React16.createElement("span", { className: "absolute top-2.5 right-2.5 w-2 h-2 bg-red-500 rounded-full border border-white" })
1541
1550
  )), /* @__PURE__ */ React16.createElement("div", { className: "w-full pb-6 flex flex-col gap-4" }, /* @__PURE__ */ React16.createElement("div", { className: "grid grid-cols-2 gap-2" }, /* @__PURE__ */ React16.createElement(
1542
1551
  "div",
@@ -1544,7 +1553,7 @@ var UniversalHomeView = ({
1544
1553
  onClick: buyCryptoAction?.onClick,
1545
1554
  className: "bg-[#143731] rounded-2xl p-5 relative overflow-hidden flex flex-col h-32 sm:h-36 cursor-pointer hover:opacity-90 transition-opacity"
1546
1555
  },
1547
- /* @__PURE__ */ React16.createElement("div", { className: "relative z-10 flex flex-col h-full justify-between" }, /* @__PURE__ */ React16.createElement("p", { className: "text-[15px] sm:text-[15px] text-white leading-tight " }, "Buy", /* @__PURE__ */ React16.createElement("br", null), /* @__PURE__ */ React16.createElement("span", { className: "text-white/70" }, "Crypto")), /* @__PURE__ */ React16.createElement("div", { className: "w-8 h-8 rounded-full bg-white/10 flex items-center justify-center" }, /* @__PURE__ */ React16.createElement(HugeiconsIcon10, { icon: ArrowUpRight01Icon2, size: 16, className: "text-white" }))),
1556
+ /* @__PURE__ */ React16.createElement("div", { className: "relative z-10 flex flex-col h-full justify-between" }, /* @__PURE__ */ React16.createElement("p", { className: "text-[15px] sm:text-[15px] text-white leading-tight " }, "Buy", /* @__PURE__ */ React16.createElement("br", null), /* @__PURE__ */ React16.createElement("span", { className: "text-white/70" }, "Crypto")), /* @__PURE__ */ React16.createElement("div", { className: "w-8 h-8 rounded-full bg-white/10 flex items-center justify-center" }, /* @__PURE__ */ React16.createElement(HugeiconsIcon11, { icon: ArrowUpRight01Icon2, size: 16, className: "text-white" }))),
1548
1557
  /* @__PURE__ */ React16.createElement(
1549
1558
  "img",
1550
1559
  {
@@ -1559,7 +1568,7 @@ var UniversalHomeView = ({
1559
1568
  onClick: referralAction?.onClick,
1560
1569
  className: "bg-[#ceff8a] rounded-2xl p-5 relative overflow-hidden flex flex-col h-32 sm:h-36 cursor-pointer hover:opacity-90 transition-opacity"
1561
1570
  },
1562
- /* @__PURE__ */ React16.createElement("div", { className: "relative z-10 flex flex-col h-full justify-between" }, /* @__PURE__ */ React16.createElement("p", { className: "text-[15px] sm:text-[15px] text-black leading-tight " }, "My", /* @__PURE__ */ React16.createElement("br", null), /* @__PURE__ */ React16.createElement("span", { className: "text-black/60" }, "Rewards")), /* @__PURE__ */ React16.createElement("div", { className: "w-8 h-8 rounded-full bg-black/5 flex items-center justify-center" }, /* @__PURE__ */ React16.createElement(HugeiconsIcon10, { icon: ArrowRight01Icon2, size: 16, className: "text-black" }))),
1571
+ /* @__PURE__ */ React16.createElement("div", { className: "relative z-10 flex flex-col h-full justify-between" }, /* @__PURE__ */ React16.createElement("p", { className: "text-[15px] sm:text-[15px] text-black leading-tight " }, "My", /* @__PURE__ */ React16.createElement("br", null), /* @__PURE__ */ React16.createElement("span", { className: "text-black/60" }, "Rewards")), /* @__PURE__ */ React16.createElement("div", { className: "w-8 h-8 rounded-full bg-black/5 flex items-center justify-center" }, /* @__PURE__ */ React16.createElement(HugeiconsIcon11, { icon: ArrowRight01Icon2, size: 16, className: "text-black" }))),
1563
1572
  /* @__PURE__ */ React16.createElement(
1564
1573
  "img",
1565
1574
  {
@@ -1576,7 +1585,7 @@ var UniversalHomeView = ({
1576
1585
  hideBalanceAmounts: false,
1577
1586
  hidePagination: true
1578
1587
  }
1579
- )), showNotifDialog && /* @__PURE__ */ React16.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React16.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ React16.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__ */ React16.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, selectedNotif ? /* @__PURE__ */ React16.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__ */ React16.createElement(HugeiconsIcon10, { icon: ArrowLeft01Icon4, size: 14 }), " Back") : /* @__PURE__ */ React16.createElement("h3", { className: "text-[15px] text-black tracking-tight flex items-center gap-2" }, "Notifications", isNotifsLoading && /* @__PURE__ */ React16.createElement(HugeiconsIcon10, { icon: Loading03Icon5, size: 14, className: "animate-spin text-neutral-400" })), /* @__PURE__ */ React16.createElement("button", { onClick: () => setShowNotifDialog(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React16.createElement(HugeiconsIcon10, { icon: CancelCircleIcon3, size: 18 }))), /* @__PURE__ */ React16.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, selectedNotif ? /* @__PURE__ */ React16.createElement("div", { className: "p-4 text-left" }, /* @__PURE__ */ React16.createElement("h4", { className: "text-[14px] text-black mb-1 " }, selectedNotif.title), /* @__PURE__ */ React16.createElement("span", { className: "text-[10px] text-neutral-400 tracking-widest mb-4 block " }, formatNotifDate(selectedNotif.createdAt)), /* @__PURE__ */ React16.createElement("p", { className: "text-[12px] text-neutral-600 leading-relaxed whitespace-pre-wrap" }, selectedNotif.message)) : /* @__PURE__ */ React16.createElement("div", { className: "flex flex-col divide-y divide-neutral-50/50" }, notifications?.length === 0 && !isNotifsLoading ? /* @__PURE__ */ React16.createElement("div", { className: "p-8 text-center text-xs text-neutral-400" }, "You have no notifications.") : notifications?.map((notif) => /* @__PURE__ */ React16.createElement(
1588
+ )), showNotifDialog && /* @__PURE__ */ React16.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React16.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ React16.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__ */ React16.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, selectedNotif ? /* @__PURE__ */ React16.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__ */ React16.createElement(HugeiconsIcon11, { icon: ArrowLeft01Icon4, size: 14 }), " Back") : /* @__PURE__ */ React16.createElement("h3", { className: "text-[15px] text-black tracking-tight flex items-center gap-2" }, "Notifications", isNotifsLoading && /* @__PURE__ */ React16.createElement(HugeiconsIcon11, { icon: Loading03Icon6, size: 14, className: "animate-spin text-neutral-400" })), /* @__PURE__ */ React16.createElement("button", { onClick: () => setShowNotifDialog(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React16.createElement(HugeiconsIcon11, { icon: CancelCircleIcon3, size: 18 }))), /* @__PURE__ */ React16.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, selectedNotif ? /* @__PURE__ */ React16.createElement("div", { className: "p-4 text-left" }, /* @__PURE__ */ React16.createElement("h4", { className: "text-[14px] text-black mb-1 " }, selectedNotif.title), /* @__PURE__ */ React16.createElement("span", { className: "text-[10px] text-neutral-400 tracking-widest mb-4 block " }, formatNotifDate(selectedNotif.createdAt)), /* @__PURE__ */ React16.createElement("p", { className: "text-[12px] text-neutral-600 leading-relaxed whitespace-pre-wrap" }, selectedNotif.message)) : /* @__PURE__ */ React16.createElement("div", { className: "flex flex-col divide-y divide-neutral-50/50" }, notifications?.length === 0 && !isNotifsLoading ? /* @__PURE__ */ React16.createElement("div", { className: "p-8 text-center text-xs text-neutral-400" }, "You have no notifications.") : notifications?.map((notif) => /* @__PURE__ */ React16.createElement(
1580
1589
  "div",
1581
1590
  {
1582
1591
  key: notif.id,
@@ -1595,7 +1604,7 @@ var UniversalHomeView = ({
1595
1604
  onClick: () => onNotificationPageChange?.(notificationPage - 1),
1596
1605
  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"
1597
1606
  },
1598
- /* @__PURE__ */ React16.createElement(HugeiconsIcon10, { icon: ArrowLeft01Icon4, size: 12 })
1607
+ /* @__PURE__ */ React16.createElement(HugeiconsIcon11, { icon: ArrowLeft01Icon4, size: 12 })
1599
1608
  ), /* @__PURE__ */ React16.createElement(
1600
1609
  "button",
1601
1610
  {
@@ -1603,18 +1612,18 @@ var UniversalHomeView = ({
1603
1612
  onClick: () => onNotificationPageChange?.(notificationPage + 1),
1604
1613
  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"
1605
1614
  },
1606
- /* @__PURE__ */ React16.createElement(HugeiconsIcon10, { icon: ArrowRight01Icon2, size: 12 })
1615
+ /* @__PURE__ */ React16.createElement(HugeiconsIcon11, { icon: ArrowRight01Icon2, size: 12 })
1607
1616
  ))))));
1608
1617
  };
1609
1618
 
1610
1619
  // src/components/UniversalWalletPage.tsx
1611
1620
  import React18, { useState as useState11 } from "react";
1612
1621
  import toast5 from "react-hot-toast";
1613
- import { HugeiconsIcon as HugeiconsIcon12 } from "@hugeicons/react";
1622
+ import { HugeiconsIcon as HugeiconsIcon13 } from "@hugeicons/react";
1614
1623
  import {
1615
1624
  Search01Icon as Search01Icon2,
1616
1625
  CancelCircleIcon as CancelCircleIcon4,
1617
- Loading03Icon as Loading03Icon7,
1626
+ Loading03Icon as Loading03Icon8,
1618
1627
  Copy01Icon as Copy01Icon2,
1619
1628
  ArrowLeft01Icon as ArrowLeft01Icon5,
1620
1629
  PlusSignIcon,
@@ -1625,8 +1634,8 @@ import {
1625
1634
 
1626
1635
  // src/components/ConfirmationDialog.tsx
1627
1636
  import React17 from "react";
1628
- import { HugeiconsIcon as HugeiconsIcon11 } from "@hugeicons/react";
1629
- import { Loading03Icon as Loading03Icon6 } from "@hugeicons/core-free-icons";
1637
+ import { HugeiconsIcon as HugeiconsIcon12 } from "@hugeicons/react";
1638
+ import { Loading03Icon as Loading03Icon7 } from "@hugeicons/core-free-icons";
1630
1639
  var ConfirmationDialog = ({
1631
1640
  isOpen,
1632
1641
  title,
@@ -1660,19 +1669,19 @@ var ConfirmationDialog = ({
1660
1669
  disabled: isProcessing,
1661
1670
  className: `flex-1 py-4 text-[13px] 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"}`
1662
1671
  },
1663
- isProcessing ? /* @__PURE__ */ React17.createElement(HugeiconsIcon11, { icon: Loading03Icon6, className: "animate-spin", size: 18 }) : confirmText
1672
+ isProcessing ? /* @__PURE__ */ React17.createElement(HugeiconsIcon12, { icon: Loading03Icon7, className: "animate-spin", size: 18 }) : confirmText
1664
1673
  ))));
1665
1674
  };
1666
1675
 
1667
1676
  // src/components/UniversalWalletPage.tsx
1668
- var PageSpinner3 = () => /* @__PURE__ */ React18.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon12, { icon: Loading03Icon7, size: 32, className: "animate-spin mb-4 text-black" }));
1677
+ var PageSpinner3 = () => /* @__PURE__ */ React18.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon13, { icon: Loading03Icon8, size: 32, className: "animate-spin mb-4 text-black" }));
1669
1678
  var truncateAddress2 = (ref) => {
1670
1679
  if (!ref || ref.length <= 14) return ref;
1671
1680
  return `${ref.substring(0, 11)}.....${ref.substring(ref.length - 11)}`;
1672
1681
  };
1673
1682
  var WalletLogo = ({ src, alt, sizeClass = "w-10 h-10" }) => {
1674
1683
  const [isLoaded, setIsLoaded] = useState11(false);
1675
- return /* @__PURE__ */ React18.createElement("div", { className: `relative shrink-0 rounded-full bg-neutral-100 flex items-center justify-center overflow-hidden ${sizeClass}` }, !isLoaded && /* @__PURE__ */ React18.createElement(HugeiconsIcon12, { icon: Loading03Icon7, size: 16, className: "animate-spin text-neutral-400 absolute" }), /* @__PURE__ */ React18.createElement("img", { src, alt, onLoad: () => setIsLoaded(true), className: `w-full h-full object-cover transition-opacity duration-300 ${isLoaded ? "opacity-100" : "opacity-0"}` }));
1684
+ return /* @__PURE__ */ React18.createElement("div", { className: `relative shrink-0 rounded-full bg-neutral-100 flex items-center justify-center overflow-hidden ${sizeClass}` }, !isLoaded && /* @__PURE__ */ React18.createElement(HugeiconsIcon13, { icon: Loading03Icon8, size: 16, className: "animate-spin text-neutral-400 absolute" }), /* @__PURE__ */ React18.createElement("img", { src, alt, onLoad: () => setIsLoaded(true), className: `w-full h-full object-cover transition-opacity duration-300 ${isLoaded ? "opacity-100" : "opacity-0"}` }));
1676
1685
  };
1677
1686
  var UniversalWalletPage = ({
1678
1687
  headerTitle,
@@ -1810,7 +1819,7 @@ var UniversalWalletPage = ({
1810
1819
  setIsProcessing(false);
1811
1820
  }
1812
1821
  };
1813
- return /* @__PURE__ */ React18.createElement("div", null, /* @__PURE__ */ React18.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ React18.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[13px] outline-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon12, { icon: ArrowLeft01Icon5, size: 16 }), " Back")), /* @__PURE__ */ React18.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React18.createElement(ManagedToaster, null), !hideControls && /* @__PURE__ */ React18.createElement("div", { className: "flex flex-row flex-nowrap mb-4 items-center justify-between gap-4 w-full" }, /* @__PURE__ */ React18.createElement("div", { className: "relative flex-1 min-w-0 max-w-full" }, /* @__PURE__ */ React18.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon12, { icon: Search01Icon2, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ React18.createElement(
1822
+ return /* @__PURE__ */ React18.createElement("div", null, /* @__PURE__ */ React18.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ React18.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[13px] outline-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon13, { icon: ArrowLeft01Icon5, size: 16 }), " Back")), /* @__PURE__ */ React18.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React18.createElement(ManagedToaster, null), !hideControls && /* @__PURE__ */ React18.createElement("div", { className: "flex flex-row flex-nowrap mb-4 items-center justify-between gap-4 w-full" }, /* @__PURE__ */ React18.createElement("div", { className: "relative flex-1 min-w-0 max-w-full" }, /* @__PURE__ */ React18.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon13, { icon: Search01Icon2, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ React18.createElement(
1814
1823
  "input",
1815
1824
  {
1816
1825
  type: "text",
@@ -1819,7 +1828,7 @@ var UniversalWalletPage = ({
1819
1828
  onChange: (e) => setLocalSearchQuery(e.target.value),
1820
1829
  className: "w-full pl-10 pr-4 py-2 bg-white rounded-full text-[13px] text-black placeholder-neutral-400 outline-none transition-colors focus:border-black"
1821
1830
  }
1822
- )), !external && /* @__PURE__ */ React18.createElement("div", { className: "flex items-center gap-3 w-auto pb-0 shrink-0" }, /* @__PURE__ */ React18.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__ */ React18.createElement(HugeiconsIcon12, { icon: PlusSignIcon, size: 16 })), /* @__PURE__ */ React18.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__ */ React18.createElement(HugeiconsIcon12, { icon: Upload01Icon, size: 16 })))), /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-4" }, /* @__PURE__ */ React18.createElement("div", null, /* @__PURE__ */ React18.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, headerTitle), headerDescription && /* @__PURE__ */ React18.createElement("p", { className: "text-xs text-neutral-500" }, headerDescription))), /* @__PURE__ */ React18.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ React18.createElement(PageSpinner3, null) : /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React18.createElement("div", null, filteredWallets.length === 0 ? /* @__PURE__ */ React18.createElement("p", { className: "text-xs text-neutral-400 py-6 text-center" }, "No wallets found") : filteredWallets.map((wallet) => /* @__PURE__ */ React18.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__ */ React18.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React18.createElement("div", { className: "relative shrink-0" }, /* @__PURE__ */ React18.createElement(WalletLogo, { src: wallet.logoSrc, alt: wallet.name }), wallet.networkLogoSrc && /* @__PURE__ */ React18.createElement("div", { className: "absolute -bottom-1 -right-1 w-4 h-4 rounded-full border border-white bg-white overflow-hidden shadow-sm" }, /* @__PURE__ */ React18.createElement("img", { src: wallet.networkLogoSrc, alt: "Network", className: "w-full h-full object-cover" }))), /* @__PURE__ */ React18.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-1" }, /* @__PURE__ */ React18.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React18.createElement("p", { className: "text-[13px] text-black truncate" }, wallet.name), !external && wallet.isActive !== void 0 && /* @__PURE__ */ React18.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__ */ React18.createElement("p", { className: `text-[13px] text-neutral-500 truncate transition-all duration-300 ${hideBalanceAmounts && !external ? "blur-sm opacity-40 select-none" : ""}` }, external ? wallet.currency : `${wallet.balance} ${wallet.currency}`))), /* @__PURE__ */ React18.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ React18.createElement("span", { className: "text-[10px] tracking-wide text-neutral-600 bg-neutral-100 px-2.5 py-1 rounded-full " }, wallet.network)))))))), addModalOpen && /* @__PURE__ */ React18.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React18.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isProcessing && setAddModalOpen(false) }), /* @__PURE__ */ React18.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__ */ React18.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React18.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__ */ React18.createElement("button", { onClick: () => !isProcessing && setAddModalOpen(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon12, { icon: CancelCircleIcon4, size: 18 }))), /* @__PURE__ */ React18.createElement("div", { className: "p-6" }, flowStep === 1 && /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in" }, /* @__PURE__ */ React18.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__ */ React18.createElement(ThreeDActionButton, { onClick: handleCreationNext, className: "w-full mt-2" }, "I Understand, Generate Phrase")), flowStep === 2 && /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in slide-in-from-right-4" }, /* @__PURE__ */ React18.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__ */ React18.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__ */ React18.createElement("div", { key: idx, className: "flex items-center gap-1.5 bg-neutral-50 rounded-lg p-2 selection:bg-neutral-100" }, /* @__PURE__ */ React18.createElement("span", { className: "text-[10px] text-neutral-400 select-none w-4 text-right shrink-0" }, idx + 1, "."), /* @__PURE__ */ React18.createElement("span", { className: "text-[13px] text-black " }, word)))), /* @__PURE__ */ React18.createElement("div", { className: "flex items-center justify-between gap-2 0 pt-4" }, /* @__PURE__ */ React18.createElement("button", { type: "button", onClick: () => handleCopy(generatedPhrase, false), className: "text-xs text-black flex items-center gap-1.5 hover:underline outline-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon12, { icon: Copy01Icon2, size: 14 }), " Copy Phrase"), /* @__PURE__ */ React18.createElement("button", { type: "button", onClick: handleDownloadTxt, className: "text-xs text-black flex items-center gap-1.5 hover:underline outline-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon12, { icon: Download01Icon, size: 14 }), " Download .txt")), /* @__PURE__ */ React18.createElement("div", { className: "flex items-start gap-3 p-3 rounded-xl border border-neutral-200 mt-2" }, /* @__PURE__ */ React18.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__ */ React18.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__ */ React18.createElement(ThreeDActionButton, { onClick: handleCreationNext, className: "w-full mt-2" }, "Continue")), flowStep === 3 && /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in slide-in-from-right-4" }, /* @__PURE__ */ React18.createElement("p", { className: "text-sm text-neutral-600" }, "Please enter or paste your recovery phrase below to verify your backup."), /* @__PURE__ */ React18.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__ */ React18.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__ */ React18.createElement("span", { className: "text-[10px] text-neutral-400 w-4 shrink-0 text-right select-none" }, idx + 1, "."), /* @__PURE__ */ React18.createElement(
1831
+ )), !external && /* @__PURE__ */ React18.createElement("div", { className: "flex items-center gap-3 w-auto pb-0 shrink-0" }, /* @__PURE__ */ React18.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__ */ React18.createElement(HugeiconsIcon13, { icon: PlusSignIcon, size: 16 })), /* @__PURE__ */ React18.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__ */ React18.createElement(HugeiconsIcon13, { icon: Upload01Icon, size: 16 })))), /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-4" }, /* @__PURE__ */ React18.createElement("div", null, /* @__PURE__ */ React18.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, headerTitle), headerDescription && /* @__PURE__ */ React18.createElement("p", { className: "text-xs text-neutral-500" }, headerDescription))), /* @__PURE__ */ React18.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ React18.createElement(PageSpinner3, null) : /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React18.createElement("div", null, filteredWallets.length === 0 ? /* @__PURE__ */ React18.createElement("p", { className: "text-xs text-neutral-400 py-6 text-center" }, "No wallets found") : filteredWallets.map((wallet) => /* @__PURE__ */ React18.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__ */ React18.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React18.createElement("div", { className: "relative shrink-0" }, /* @__PURE__ */ React18.createElement(WalletLogo, { src: wallet.logoSrc, alt: wallet.name }), wallet.networkLogoSrc && /* @__PURE__ */ React18.createElement("div", { className: "absolute -bottom-1 -right-1 w-4 h-4 rounded-full border border-white bg-white overflow-hidden shadow-sm" }, /* @__PURE__ */ React18.createElement("img", { src: wallet.networkLogoSrc, alt: "Network", className: "w-full h-full object-cover" }))), /* @__PURE__ */ React18.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-1" }, /* @__PURE__ */ React18.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React18.createElement("p", { className: "text-[13px] text-black truncate" }, wallet.name), !external && wallet.isActive !== void 0 && /* @__PURE__ */ React18.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__ */ React18.createElement("p", { className: `text-[13px] text-neutral-500 truncate transition-all duration-300 ${hideBalanceAmounts && !external ? "blur-sm opacity-40 select-none" : ""}` }, external ? wallet.currency : `${wallet.balance} ${wallet.currency}`))), /* @__PURE__ */ React18.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ React18.createElement("span", { className: "text-[10px] tracking-wide text-neutral-600 bg-neutral-100 px-2.5 py-1 rounded-full " }, wallet.network)))))))), addModalOpen && /* @__PURE__ */ React18.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React18.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isProcessing && setAddModalOpen(false) }), /* @__PURE__ */ React18.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__ */ React18.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React18.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__ */ React18.createElement("button", { onClick: () => !isProcessing && setAddModalOpen(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon13, { icon: CancelCircleIcon4, size: 18 }))), /* @__PURE__ */ React18.createElement("div", { className: "p-6" }, flowStep === 1 && /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in" }, /* @__PURE__ */ React18.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__ */ React18.createElement(ThreeDActionButton, { onClick: handleCreationNext, className: "w-full mt-2" }, "I Understand, Generate Phrase")), flowStep === 2 && /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in slide-in-from-right-4" }, /* @__PURE__ */ React18.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__ */ React18.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__ */ React18.createElement("div", { key: idx, className: "flex items-center gap-1.5 bg-neutral-50 rounded-lg p-2 selection:bg-neutral-100" }, /* @__PURE__ */ React18.createElement("span", { className: "text-[10px] text-neutral-400 select-none w-4 text-right shrink-0" }, idx + 1, "."), /* @__PURE__ */ React18.createElement("span", { className: "text-[13px] text-black " }, word)))), /* @__PURE__ */ React18.createElement("div", { className: "flex items-center justify-between gap-2 0 pt-4" }, /* @__PURE__ */ React18.createElement("button", { type: "button", onClick: () => handleCopy(generatedPhrase, false), className: "text-xs text-black flex items-center gap-1.5 hover:underline outline-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon13, { icon: Copy01Icon2, size: 14 }), " Copy Phrase"), /* @__PURE__ */ React18.createElement("button", { type: "button", onClick: handleDownloadTxt, className: "text-xs text-black flex items-center gap-1.5 hover:underline outline-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon13, { icon: Download01Icon, size: 14 }), " Download .txt")), /* @__PURE__ */ React18.createElement("div", { className: "flex items-start gap-3 p-3 rounded-xl border border-neutral-200 mt-2" }, /* @__PURE__ */ React18.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__ */ React18.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__ */ React18.createElement(ThreeDActionButton, { onClick: handleCreationNext, className: "w-full mt-2" }, "Continue")), flowStep === 3 && /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in slide-in-from-right-4" }, /* @__PURE__ */ React18.createElement("p", { className: "text-sm text-neutral-600" }, "Please enter or paste your recovery phrase below to verify your backup."), /* @__PURE__ */ React18.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__ */ React18.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__ */ React18.createElement("span", { className: "text-[10px] text-neutral-400 w-4 shrink-0 text-right select-none" }, idx + 1, "."), /* @__PURE__ */ React18.createElement(
1823
1832
  "input",
1824
1833
  {
1825
1834
  type: "text",
@@ -1844,7 +1853,7 @@ var UniversalWalletPage = ({
1844
1853
  },
1845
1854
  className: "w-full bg-transparent text-[13px] text-black outline-none min-w-0"
1846
1855
  }
1847
- )))), /* @__PURE__ */ React18.createElement("div", { className: "flex items-center justify-between pt-4" }, /* @__PURE__ */ React18.createElement("button", { type: "button", onClick: () => handleGridPaste(setVerifyWords, verifyWords), className: "text-xs text-black flex items-center gap-1.5 hover:underline outline-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon12, { icon: ClipboardIcon, size: 14 }), " Paste Phrase")), /* @__PURE__ */ React18.createElement(ThreeDActionButton, { onClick: handleCreationNext, className: "w-full mt-2" }, "Verify Backup")), flowStep === 4 && /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in slide-in-from-right-4" }, /* @__PURE__ */ React18.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__ */ React18.createElement(TextInput, { label: "Local Password", type: "password", value: walletPassword, onChange: setWalletPassword, placeholder: "Enter a strong password" }), /* @__PURE__ */ React18.createElement(ThreeDActionButton, { onClick: () => handleSaveWallet("generated"), isLoading: isProcessing, className: "w-full mt-2" }, "Encrypt & Save Wallet"))))), importModalOpen && /* @__PURE__ */ React18.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React18.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isProcessing && setImportModalOpen(false) }), /* @__PURE__ */ React18.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__ */ React18.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React18.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Import Wallet"), /* @__PURE__ */ React18.createElement("button", { onClick: () => !isProcessing && setImportModalOpen(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon12, { icon: CancelCircleIcon4, size: 18 }))), /* @__PURE__ */ React18.createElement("div", { className: "p-6" }, flowStep === 1 && /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in" }, /* @__PURE__ */ React18.createElement("p", { className: "text-sm text-neutral-600" }, "Enter your 12 or 24-word recovery phrase to restore your wallet on this device."), /* @__PURE__ */ React18.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__ */ React18.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__ */ React18.createElement("span", { className: "text-[10px] text-neutral-400 w-4 shrink-0 text-right select-none" }, idx + 1, "."), /* @__PURE__ */ React18.createElement(
1856
+ )))), /* @__PURE__ */ React18.createElement("div", { className: "flex items-center justify-between pt-4" }, /* @__PURE__ */ React18.createElement("button", { type: "button", onClick: () => handleGridPaste(setVerifyWords, verifyWords), className: "text-xs text-black flex items-center gap-1.5 hover:underline outline-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon13, { icon: ClipboardIcon, size: 14 }), " Paste Phrase")), /* @__PURE__ */ React18.createElement(ThreeDActionButton, { onClick: handleCreationNext, className: "w-full mt-2" }, "Verify Backup")), flowStep === 4 && /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in slide-in-from-right-4" }, /* @__PURE__ */ React18.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__ */ React18.createElement(TextInput, { label: "Local Password", type: "password", value: walletPassword, onChange: setWalletPassword, placeholder: "Enter a strong password" }), /* @__PURE__ */ React18.createElement(ThreeDActionButton, { onClick: () => handleSaveWallet("generated"), isLoading: isProcessing, className: "w-full mt-2" }, "Encrypt & Save Wallet"))))), importModalOpen && /* @__PURE__ */ React18.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React18.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isProcessing && setImportModalOpen(false) }), /* @__PURE__ */ React18.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__ */ React18.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React18.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Import Wallet"), /* @__PURE__ */ React18.createElement("button", { onClick: () => !isProcessing && setImportModalOpen(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon13, { icon: CancelCircleIcon4, size: 18 }))), /* @__PURE__ */ React18.createElement("div", { className: "p-6" }, flowStep === 1 && /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in" }, /* @__PURE__ */ React18.createElement("p", { className: "text-sm text-neutral-600" }, "Enter your 12 or 24-word recovery phrase to restore your wallet on this device."), /* @__PURE__ */ React18.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__ */ React18.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__ */ React18.createElement("span", { className: "text-[10px] text-neutral-400 w-4 shrink-0 text-right select-none" }, idx + 1, "."), /* @__PURE__ */ React18.createElement(
1848
1857
  "input",
1849
1858
  {
1850
1859
  type: "text",
@@ -1870,7 +1879,7 @@ var UniversalWalletPage = ({
1870
1879
  },
1871
1880
  className: "w-full bg-transparent text-[13px] text-black outline-none min-w-0"
1872
1881
  }
1873
- )))), /* @__PURE__ */ React18.createElement("div", { className: "flex items-center justify-between pt-4" }, /* @__PURE__ */ React18.createElement("button", { type: "button", onClick: () => handleGridPaste(setImportWords, importWords), className: "text-xs text-black flex items-center gap-1.5 hover:underline outline-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon12, { icon: ClipboardIcon, size: 14 }), " Paste Phrase")), /* @__PURE__ */ React18.createElement(ThreeDActionButton, { onClick: handleImportNext, className: "w-full mt-2" }, "Continue")), flowStep === 2 && /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in slide-in-from-right-4" }, /* @__PURE__ */ React18.createElement("p", { className: "text-sm text-neutral-600" }, "Set a local password to encrypt this wallet on this specific browser."), /* @__PURE__ */ React18.createElement(TextInput, { label: "Local Password", type: "password", value: walletPassword, onChange: setWalletPassword, placeholder: "Enter a strong password" }), /* @__PURE__ */ React18.createElement(ThreeDActionButton, { onClick: () => handleSaveWallet("imported"), isLoading: isProcessing, className: "w-full mt-2" }, "Encrypt & Import Wallet"))))), selectedWallet && /* @__PURE__ */ React18.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React18.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setSelectedWallet(null) }), /* @__PURE__ */ React18.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__ */ React18.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React18.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Wallet Details"), /* @__PURE__ */ React18.createElement("button", { onClick: () => setSelectedWallet(null), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon12, { icon: CancelCircleIcon4, size: 18 }))), /* @__PURE__ */ React18.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 pt-6" }, /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col items-center justify-center mb-6" }, /* @__PURE__ */ React18.createElement("div", { className: "relative mb-4" }, /* @__PURE__ */ React18.createElement(WalletLogo, { src: selectedWallet.logoSrc, alt: selectedWallet.name, sizeClass: "w-14 h-14" }), selectedWallet.networkLogoSrc && /* @__PURE__ */ React18.createElement("div", { className: "absolute -bottom-1 -right-1 w-5 h-5 rounded-full border border-white bg-white overflow-hidden shadow-sm" }, /* @__PURE__ */ React18.createElement("img", { src: selectedWallet.networkLogoSrc, alt: "Network", className: "w-full h-full object-cover" }))), /* @__PURE__ */ React18.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__ */ React18.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__ */ React18.createElement("div", { className: "w-full flex justify-center mb-6 mix-blend-multiply" }, renderQrCode(selectedWallet)), external && /* @__PURE__ */ React18.createElement("div", { className: "mb-6" }, /* @__PURE__ */ React18.createElement(
1882
+ )))), /* @__PURE__ */ React18.createElement("div", { className: "flex items-center justify-between pt-4" }, /* @__PURE__ */ React18.createElement("button", { type: "button", onClick: () => handleGridPaste(setImportWords, importWords), className: "text-xs text-black flex items-center gap-1.5 hover:underline outline-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon13, { icon: ClipboardIcon, size: 14 }), " Paste Phrase")), /* @__PURE__ */ React18.createElement(ThreeDActionButton, { onClick: handleImportNext, className: "w-full mt-2" }, "Continue")), flowStep === 2 && /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in slide-in-from-right-4" }, /* @__PURE__ */ React18.createElement("p", { className: "text-sm text-neutral-600" }, "Set a local password to encrypt this wallet on this specific browser."), /* @__PURE__ */ React18.createElement(TextInput, { label: "Local Password", type: "password", value: walletPassword, onChange: setWalletPassword, placeholder: "Enter a strong password" }), /* @__PURE__ */ React18.createElement(ThreeDActionButton, { onClick: () => handleSaveWallet("imported"), isLoading: isProcessing, className: "w-full mt-2" }, "Encrypt & Import Wallet"))))), selectedWallet && /* @__PURE__ */ React18.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React18.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setSelectedWallet(null) }), /* @__PURE__ */ React18.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__ */ React18.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React18.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Wallet Details"), /* @__PURE__ */ React18.createElement("button", { onClick: () => setSelectedWallet(null), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon13, { icon: CancelCircleIcon4, size: 18 }))), /* @__PURE__ */ React18.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 pt-6" }, /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col items-center justify-center mb-6" }, /* @__PURE__ */ React18.createElement("div", { className: "relative mb-4" }, /* @__PURE__ */ React18.createElement(WalletLogo, { src: selectedWallet.logoSrc, alt: selectedWallet.name, sizeClass: "w-14 h-14" }), selectedWallet.networkLogoSrc && /* @__PURE__ */ React18.createElement("div", { className: "absolute -bottom-1 -right-1 w-5 h-5 rounded-full border border-white bg-white overflow-hidden shadow-sm" }, /* @__PURE__ */ React18.createElement("img", { src: selectedWallet.networkLogoSrc, alt: "Network", className: "w-full h-full object-cover" }))), /* @__PURE__ */ React18.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__ */ React18.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__ */ React18.createElement("div", { className: "w-full flex justify-center mb-6 mix-blend-multiply" }, renderQrCode(selectedWallet)), external && /* @__PURE__ */ React18.createElement("div", { className: "mb-6" }, /* @__PURE__ */ React18.createElement(
1874
1883
  Banner,
1875
1884
  {
1876
1885
  type: "warning",
@@ -1878,7 +1887,7 @@ var UniversalWalletPage = ({
1878
1887
  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.`,
1879
1888
  isDismissible: false
1880
1889
  }
1881
- )), /* @__PURE__ */ React18.createElement("div", { className: "grid grid-cols-1 gap-y-6 gap-x-4 mb-10" }, /* @__PURE__ */ React18.createElement("div", null, /* @__PURE__ */ React18.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Wallet Address"), /* @__PURE__ */ React18.createElement("div", { className: "flex items-center gap-2 min-w-0" }, /* @__PURE__ */ React18.createElement("span", { className: "text-[13px] text-black truncate min-w-0 block" }, truncateAddress2(selectedWallet.address)), /* @__PURE__ */ React18.createElement("button", { type: "button", onClick: () => setShowCopyWarning(true), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon12, { icon: Copy01Icon2, size: 14 })))), !external && /* @__PURE__ */ React18.createElement("div", null, /* @__PURE__ */ React18.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Wallet Status"), selectedWallet.isActive ? /* @__PURE__ */ React18.createElement("span", { className: "text-[13px] px-1.5 py-0.5 bg-emerald-50 text-emerald-600 " }, "Active on this device") : /* @__PURE__ */ React18.createElement("span", { className: "text-[13px] px-1.5 py-0.5 bg-red-50 text-red-600 " }, "Inactive - Requires Import"))), /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React18.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__ */ React18.createElement(
1890
+ )), /* @__PURE__ */ React18.createElement("div", { className: "grid grid-cols-1 gap-y-6 gap-x-4 mb-10" }, /* @__PURE__ */ React18.createElement("div", null, /* @__PURE__ */ React18.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Wallet Address"), /* @__PURE__ */ React18.createElement("div", { className: "flex items-center gap-2 min-w-0" }, /* @__PURE__ */ React18.createElement("span", { className: "text-[13px] text-black truncate min-w-0 block" }, truncateAddress2(selectedWallet.address)), /* @__PURE__ */ React18.createElement("button", { type: "button", onClick: () => setShowCopyWarning(true), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon13, { icon: Copy01Icon2, size: 14 })))), !external && /* @__PURE__ */ React18.createElement("div", null, /* @__PURE__ */ React18.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Wallet Status"), selectedWallet.isActive ? /* @__PURE__ */ React18.createElement("span", { className: "text-[13px] px-1.5 py-0.5 bg-emerald-50 text-emerald-600 " }, "Active on this device") : /* @__PURE__ */ React18.createElement("span", { className: "text-[13px] px-1.5 py-0.5 bg-red-50 text-red-600 " }, "Inactive - Requires Import"))), /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React18.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__ */ React18.createElement(
1882
1891
  ConfirmationDialog,
1883
1892
  {
1884
1893
  isOpen: showCopyWarning,
@@ -1897,13 +1906,13 @@ var UniversalWalletPage = ({
1897
1906
  import React19, { useState as useState12, useEffect as useEffect7 } from "react";
1898
1907
  import { useRouter as useRouter2 } from "next/navigation";
1899
1908
  import toast6 from "react-hot-toast";
1900
- import { HugeiconsIcon as HugeiconsIcon13 } from "@hugeicons/react";
1909
+ import { HugeiconsIcon as HugeiconsIcon14 } from "@hugeicons/react";
1901
1910
  import {
1902
1911
  SnowIcon,
1903
1912
  Delete02Icon,
1904
1913
  ArrowRight01Icon as ArrowRight01Icon3,
1905
1914
  ViewOffSlashIcon,
1906
- Loading03Icon as Loading03Icon8,
1915
+ Loading03Icon as Loading03Icon9,
1907
1916
  CancelCircleIcon as CancelCircleIcon5,
1908
1917
  Copy01Icon as Copy01Icon3,
1909
1918
  PlusSignIcon as PlusSignIcon2
@@ -1974,7 +1983,7 @@ var UniversalCardPage = ({
1974
1983
  className: `px-4 py-1.5 rounded-full text-[11px] transition-all duration-200 outline-none whitespace-nowrap shrink-0 ${activeTabIndex === idx ? "bg-neutral-100 text-black" : "text-neutral-500 hover:text-black hover:bg-neutral-50/50"}`
1975
1984
  },
1976
1985
  formatTabLabel(tab.type)
1977
- )))), /* @__PURE__ */ React19.createElement("div", { className: "w-full pt-2 pb-6 flex justify-center" }, /* @__PURE__ */ React19.createElement("div", { className: "relative w-full max-w-85", style: { height: 179 } }, !isBgLoaded && /* @__PURE__ */ React19.createElement("div", { className: "absolute inset-0 w-full h-full bg-white rounded-2xl flex items-center justify-center z-50" }, /* @__PURE__ */ React19.createElement(HugeiconsIcon13, { icon: Loading03Icon8, size: 28, className: "animate-spin text-black" })), showActionOverlay && /* @__PURE__ */ React19.createElement("div", { className: `absolute inset-0 z-40 w-full h-full rounded-2xl flex flex-col items-center justify-center transition-all ${overlayClasses}` }, isUnactivated && /* @__PURE__ */ React19.createElement(
1986
+ )))), /* @__PURE__ */ React19.createElement("div", { className: "w-full pt-2 pb-6 flex justify-center" }, /* @__PURE__ */ React19.createElement("div", { className: "relative w-full max-w-85", style: { height: 179 } }, !isBgLoaded && /* @__PURE__ */ React19.createElement("div", { className: "absolute inset-0 w-full h-full bg-white rounded-2xl flex items-center justify-center z-50" }, /* @__PURE__ */ React19.createElement(HugeiconsIcon14, { icon: Loading03Icon9, size: 28, className: "animate-spin text-black" })), showActionOverlay && /* @__PURE__ */ React19.createElement("div", { className: `absolute inset-0 z-40 w-full h-full rounded-2xl flex flex-col items-center justify-center transition-all ${overlayClasses}` }, isUnactivated && /* @__PURE__ */ React19.createElement(
1978
1987
  "button",
1979
1988
  {
1980
1989
  onClick: (e) => {
@@ -2058,7 +2067,7 @@ var UniversalCardPage = ({
2058
2067
  }
2059
2068
  ));
2060
2069
  };
2061
- var MenuRow = ({ icon, title, subtitle, onClick, isLast = false, isToggle = false, toggleState = false, toggleLoading = false, disabled = false }) => /* @__PURE__ */ React19.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__ */ React19.createElement("div", { className: "w-9 h-9 rounded-full border border-neutral-200 flex items-center justify-center shrink-0 mr-4" }, /* @__PURE__ */ React19.createElement(HugeiconsIcon13, { icon, size: 16, className: "text-black" })), /* @__PURE__ */ React19.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React19.createElement("p", { className: "text-[13px] truncate text-black" }, title), /* @__PURE__ */ React19.createElement("p", { className: "text-[11px] text-neutral-500 truncate" }, subtitle)), isToggle ? /* @__PURE__ */ React19.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__ */ React19.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__ */ React19.createElement(HugeiconsIcon13, { icon: Loading03Icon8, size: 10, className: "animate-spin text-black" }))) : /* @__PURE__ */ React19.createElement(HugeiconsIcon13, { icon: ArrowRight01Icon3, size: 18, className: "text-neutral-400 shrink-0 ml-2" }));
2070
+ var MenuRow = ({ icon, title, subtitle, onClick, isLast = false, isToggle = false, toggleState = false, toggleLoading = false, disabled = false }) => /* @__PURE__ */ React19.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__ */ React19.createElement("div", { className: "w-9 h-9 rounded-full border border-neutral-200 flex items-center justify-center shrink-0 mr-4" }, /* @__PURE__ */ React19.createElement(HugeiconsIcon14, { icon, size: 16, className: "text-black" })), /* @__PURE__ */ React19.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React19.createElement("p", { className: "text-[13px] truncate text-black" }, title), /* @__PURE__ */ React19.createElement("p", { className: "text-[11px] text-neutral-500 truncate" }, subtitle)), isToggle ? /* @__PURE__ */ React19.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__ */ React19.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__ */ React19.createElement(HugeiconsIcon14, { icon: Loading03Icon9, size: 10, className: "animate-spin text-black" }))) : /* @__PURE__ */ React19.createElement(HugeiconsIcon14, { icon: ArrowRight01Icon3, size: 18, className: "text-neutral-400 shrink-0 ml-2" }));
2062
2071
  var CardInfoDialog = ({ isOpen, onClose, cardDetails }) => {
2063
2072
  if (!isOpen || !cardDetails) return null;
2064
2073
  const handleCopy = (text, label) => {
@@ -2066,7 +2075,7 @@ var CardInfoDialog = ({ isOpen, onClose, cardDetails }) => {
2066
2075
  toast6.success(`${label} copied to clipboard`);
2067
2076
  };
2068
2077
  const formattedCardNumber = cardDetails.card_number.replace(/(.{4})/g, "$1 ").trim();
2069
- return /* @__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: onClose }), /* @__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" }, /* @__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 " }, "Secure Card Details"), /* @__PURE__ */ React19.createElement("button", { onClick: onClose, className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React19.createElement(HugeiconsIcon13, { icon: CancelCircleIcon5, size: 18 }))), /* @__PURE__ */ React19.createElement("div", { className: "p-6" }, /* @__PURE__ */ React19.createElement("div", { className: "grid grid-cols-1 gap-y-6 mb-6" }, /* @__PURE__ */ React19.createElement("div", null, /* @__PURE__ */ React19.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-400 block mb-1.5 " }, "Card Number"), /* @__PURE__ */ React19.createElement("div", { className: "flex items-center justify-between p-3 rounded-full border border-neutral-200" }, /* @__PURE__ */ React19.createElement("span", { className: "text-[15px] tracking-widest text-black block" }, formattedCardNumber), /* @__PURE__ */ React19.createElement("button", { onClick: () => handleCopy(cardDetails.card_number, "Card Number"), className: "text-neutral-400 hover:text-black outline-none shrink-0 ml-3" }, /* @__PURE__ */ React19.createElement(HugeiconsIcon13, { icon: Copy01Icon3, size: 16 })))), /* @__PURE__ */ React19.createElement("div", { className: "grid grid-cols-2 gap-4" }, /* @__PURE__ */ React19.createElement("div", null, /* @__PURE__ */ React19.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-400 block mb-1.5 " }, "Expiry Date"), /* @__PURE__ */ React19.createElement("div", { className: "flex items-center justify-between p-3 rounded-full border border-neutral-200" }, /* @__PURE__ */ React19.createElement("span", { className: "text-[14px] text-black block" }, cardDetails.expiry), /* @__PURE__ */ React19.createElement("button", { onClick: () => handleCopy(cardDetails.expiry, "Expiry Date"), className: "text-neutral-400 hover:text-black outline-none shrink-0 ml-2" }, /* @__PURE__ */ React19.createElement(HugeiconsIcon13, { icon: Copy01Icon3, size: 16 })))), /* @__PURE__ */ React19.createElement("div", null, /* @__PURE__ */ React19.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-400 block mb-1.5 " }, "CVV"), /* @__PURE__ */ React19.createElement("div", { className: "flex items-center justify-between p-3 rounded-full border border-neutral-200" }, /* @__PURE__ */ React19.createElement("span", { className: "text-[14px] text-black block" }, cardDetails.cvv), /* @__PURE__ */ React19.createElement("button", { onClick: () => handleCopy(cardDetails.cvv, "CVV"), className: "text-neutral-400 hover:text-black outline-none shrink-0 ml-2" }, /* @__PURE__ */ React19.createElement(HugeiconsIcon13, { icon: Copy01Icon3, size: 16 })))))))));
2078
+ return /* @__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: onClose }), /* @__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" }, /* @__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 " }, "Secure Card Details"), /* @__PURE__ */ React19.createElement("button", { onClick: onClose, className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React19.createElement(HugeiconsIcon14, { icon: CancelCircleIcon5, size: 18 }))), /* @__PURE__ */ React19.createElement("div", { className: "p-6" }, /* @__PURE__ */ React19.createElement("div", { className: "grid grid-cols-1 gap-y-6 mb-6" }, /* @__PURE__ */ React19.createElement("div", null, /* @__PURE__ */ React19.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-400 block mb-1.5 " }, "Card Number"), /* @__PURE__ */ React19.createElement("div", { className: "flex items-center justify-between p-3 rounded-full border border-neutral-200" }, /* @__PURE__ */ React19.createElement("span", { className: "text-[15px] tracking-widest text-black block" }, formattedCardNumber), /* @__PURE__ */ React19.createElement("button", { onClick: () => handleCopy(cardDetails.card_number, "Card Number"), className: "text-neutral-400 hover:text-black outline-none shrink-0 ml-3" }, /* @__PURE__ */ React19.createElement(HugeiconsIcon14, { icon: Copy01Icon3, size: 16 })))), /* @__PURE__ */ React19.createElement("div", { className: "grid grid-cols-2 gap-4" }, /* @__PURE__ */ React19.createElement("div", null, /* @__PURE__ */ React19.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-400 block mb-1.5 " }, "Expiry Date"), /* @__PURE__ */ React19.createElement("div", { className: "flex items-center justify-between p-3 rounded-full border border-neutral-200" }, /* @__PURE__ */ React19.createElement("span", { className: "text-[14px] text-black block" }, cardDetails.expiry), /* @__PURE__ */ React19.createElement("button", { onClick: () => handleCopy(cardDetails.expiry, "Expiry Date"), className: "text-neutral-400 hover:text-black outline-none shrink-0 ml-2" }, /* @__PURE__ */ React19.createElement(HugeiconsIcon14, { icon: Copy01Icon3, size: 16 })))), /* @__PURE__ */ React19.createElement("div", null, /* @__PURE__ */ React19.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-400 block mb-1.5 " }, "CVV"), /* @__PURE__ */ React19.createElement("div", { className: "flex items-center justify-between p-3 rounded-full border border-neutral-200" }, /* @__PURE__ */ React19.createElement("span", { className: "text-[14px] text-black block" }, cardDetails.cvv), /* @__PURE__ */ React19.createElement("button", { onClick: () => handleCopy(cardDetails.cvv, "CVV"), className: "text-neutral-400 hover:text-black outline-none shrink-0 ml-2" }, /* @__PURE__ */ React19.createElement(HugeiconsIcon14, { icon: Copy01Icon3, size: 16 })))))))));
2070
2079
  };
2071
2080
  var FundCardDialog = ({ isOpen, onClose, onSubmit }) => {
2072
2081
  const [amount, setAmount] = useState12("");
@@ -2090,7 +2099,7 @@ var FundCardDialog = ({ isOpen, onClose, onSubmit }) => {
2090
2099
  setIsProcessing(false);
2091
2100
  }
2092
2101
  };
2093
- return /* @__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: () => !isProcessing && onClose() }), /* @__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" }, /* @__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" }, "Fund Card"), /* @__PURE__ */ React19.createElement("button", { disabled: isProcessing, onClick: onClose, className: "text-neutral-400 hover:text-black outline-none disabled:opacity-50" }, /* @__PURE__ */ React19.createElement(HugeiconsIcon13, { icon: CancelCircleIcon5, size: 18 }))), /* @__PURE__ */ React19.createElement("div", { className: "flex-1 p-6" }, /* @__PURE__ */ React19.createElement("form", { onSubmit: handleFundCard, className: "flex flex-col gap-6" }, /* @__PURE__ */ React19.createElement(
2102
+ return /* @__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: () => !isProcessing && onClose() }), /* @__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" }, /* @__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" }, "Fund Card"), /* @__PURE__ */ React19.createElement("button", { disabled: isProcessing, onClick: onClose, className: "text-neutral-400 hover:text-black outline-none disabled:opacity-50" }, /* @__PURE__ */ React19.createElement(HugeiconsIcon14, { icon: CancelCircleIcon5, size: 18 }))), /* @__PURE__ */ React19.createElement("div", { className: "flex-1 p-6" }, /* @__PURE__ */ React19.createElement("form", { onSubmit: handleFundCard, className: "flex flex-col gap-6" }, /* @__PURE__ */ React19.createElement(
2094
2103
  NumberInput,
2095
2104
  {
2096
2105
  label: "Amount to Add",
@@ -2105,7 +2114,7 @@ var FundCardDialog = ({ isOpen, onClose, onSubmit }) => {
2105
2114
 
2106
2115
  // src/components/UniversalProfilePage.tsx
2107
2116
  import React20, { useState as useState13 } from "react";
2108
- import { HugeiconsIcon as HugeiconsIcon14 } from "@hugeicons/react";
2117
+ import { HugeiconsIcon as HugeiconsIcon15 } from "@hugeicons/react";
2109
2118
  import {
2110
2119
  UserIcon,
2111
2120
  LockKeyIcon as LockKeyIcon2,
@@ -2115,7 +2124,7 @@ import {
2115
2124
  LogoutCircle02Icon,
2116
2125
  UserRemove01Icon,
2117
2126
  ArrowRight01Icon as ArrowRight01Icon4,
2118
- Loading03Icon as Loading03Icon9,
2127
+ Loading03Icon as Loading03Icon10,
2119
2128
  Camera01Icon
2120
2129
  } from "@hugeicons/core-free-icons";
2121
2130
  var UniversalProfilePage = ({
@@ -2173,7 +2182,7 @@ var UniversalProfilePage = ({
2173
2182
  onClick: onAvatarTap,
2174
2183
  className: `w-22 h-22 rounded-full bg-white p-1 mb-4 flex items-center justify-center ${onAvatarTap ? "cursor-pointer group" : ""}`
2175
2184
  },
2176
- /* @__PURE__ */ React20.createElement("div", { className: "relative w-full h-full rounded-full overflow-hidden bg-neutral-100 flex items-center justify-center" }, avatarSrc ? /* @__PURE__ */ React20.createElement(React20.Fragment, null, !isAvatarLoaded && /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-10 bg-neutral-100" }, /* @__PURE__ */ React20.createElement(HugeiconsIcon14, { icon: Loading03Icon9, size: 24, className: "animate-spin text-black" })), /* @__PURE__ */ React20.createElement(
2185
+ /* @__PURE__ */ React20.createElement("div", { className: "relative w-full h-full rounded-full overflow-hidden bg-neutral-100 flex items-center justify-center" }, avatarSrc ? /* @__PURE__ */ React20.createElement(React20.Fragment, null, !isAvatarLoaded && /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-10 bg-neutral-100" }, /* @__PURE__ */ React20.createElement(HugeiconsIcon15, { icon: Loading03Icon10, size: 24, className: "animate-spin text-black" })), /* @__PURE__ */ React20.createElement(
2177
2186
  "img",
2178
2187
  {
2179
2188
  src: avatarSrc,
@@ -2181,7 +2190,7 @@ var UniversalProfilePage = ({
2181
2190
  onLoad: () => setIsAvatarLoaded(true),
2182
2191
  className: `w-full h-full object-cover transition-opacity duration-300 ${isAvatarLoaded ? "opacity-100" : "opacity-0"}`
2183
2192
  }
2184
- )) : /* @__PURE__ */ React20.createElement(HugeiconsIcon14, { icon: UserIcon, size: 40, className: "text-neutral-300" }), onAvatarTap && /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-black/30 backdrop-blur-[1px] flex items-center justify-center opacity-80 sm:opacity-0 sm:group-hover:opacity-100 transition-opacity duration-200 z-20" }, /* @__PURE__ */ React20.createElement(HugeiconsIcon14, { icon: Camera01Icon, size: 24, className: "text-white" })))
2193
+ )) : /* @__PURE__ */ React20.createElement(HugeiconsIcon15, { icon: UserIcon, size: 40, className: "text-neutral-300" }), onAvatarTap && /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-black/30 backdrop-blur-[1px] flex items-center justify-center opacity-80 sm:opacity-0 sm:group-hover:opacity-100 transition-opacity duration-200 z-20" }, /* @__PURE__ */ React20.createElement(HugeiconsIcon15, { icon: Camera01Icon, size: 24, className: "text-white" })))
2185
2194
  ), /* @__PURE__ */ React20.createElement("div", { className: "bg-white rounded-full px-4 py-2 flex items-center justify-center gap-2 mb-3" }, /* @__PURE__ */ React20.createElement("span", { className: "text-[12px] text-black" }, roleName), /* @__PURE__ */ React20.createElement("span", { className: getBadgeColorClass(roleName), "aria-hidden": true }, /* @__PURE__ */ React20.createElement("svg", { width: "15", height: "15", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, /* @__PURE__ */ React20.createElement("g", { id: "SVGRepo_bgCarrier", strokeWidth: "0" }), /* @__PURE__ */ React20.createElement("g", { id: "SVGRepo_tracerCarrier", strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ React20.createElement("g", { id: "SVGRepo_iconCarrier" }, " ", /* @__PURE__ */ React20.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M9.5924 3.20027C9.34888 3.4078 9.22711 3.51158 9.09706 3.59874C8.79896 3.79854 8.46417 3.93721 8.1121 4.00672C7.95851 4.03705 7.79903 4.04977 7.48008 4.07522C6.6787 4.13918 6.278 4.17115 5.94371 4.28923C5.17051 4.56233 4.56233 5.17051 4.28923 5.94371C4.17115 6.278 4.13918 6.6787 4.07522 7.48008C4.04977 7.79903 4.03705 7.95851 4.00672 8.1121C3.93721 8.46417 3.79854 8.79896 3.59874 9.09706C3.51158 9.22711 3.40781 9.34887 3.20027 9.5924C2.67883 10.2043 2.4181 10.5102 2.26522 10.8301C1.91159 11.57 1.91159 12.43 2.26522 13.1699C2.41811 13.4898 2.67883 13.7957 3.20027 14.4076C3.40778 14.6511 3.51158 14.7729 3.59874 14.9029C3.79854 15.201 3.93721 15.5358 4.00672 15.8879C4.03705 16.0415 4.04977 16.201 4.07522 16.5199C4.13918 17.3213 4.17115 17.722 4.28923 18.0563C4.56233 18.8295 5.17051 19.4377 5.94371 19.7108C6.278 19.8288 6.6787 19.8608 7.48008 19.9248C7.79903 19.9502 7.95851 19.963 8.1121 19.9933C8.46417 20.0628 8.79896 20.2015 9.09706 20.4013C9.22711 20.4884 9.34887 20.5922 9.5924 20.7997C10.2043 21.3212 10.5102 21.5819 10.8301 21.7348C11.57 22.0884 12.43 22.0884 13.1699 21.7348C13.4898 21.5819 13.7957 21.3212 14.4076 20.7997C14.6511 20.5922 14.7729 20.4884 14.9029 20.4013C15.201 20.2015 15.5358 20.0628 15.8879 19.9933C16.0415 19.963 16.201 19.9502 16.5199 19.9248C17.3213 19.8608 17.722 19.8288 18.0563 19.7108C18.8295 19.4377 19.4377 18.8295 19.7108 18.0563C19.8288 17.722 19.8608 17.3213 19.9248 16.5199C19.9502 16.201 19.963 16.0415 19.9933 15.8879C20.0628 15.5358 20.2015 15.201 20.4013 14.9029C20.4884 14.7729 20.5922 14.6511 20.7997 14.4076C21.3212 13.7957 21.5819 13.4898 21.7348 13.1699C22.0884 12.43 22.0884 11.57 21.7348 10.8301C21.5819 10.5102 21.3212 10.2043 20.7997 9.5924C20.5922 9.34887 20.4884 9.22711 20.4013 9.09706C20.2015 8.79896 20.0628 8.46417 19.9933 8.1121C19.963 7.95851 19.9502 7.79903 19.9248 7.48008C19.8608 6.6787 19.8288 6.278 19.7108 5.94371C19.4377 5.17051 18.8295 4.56233 18.0563 4.28923C17.722 4.17115 17.3213 4.13918 16.5199 4.07522C16.201 4.04977 16.0415 4.03705 15.8879 4.00672C15.5358 3.93721 15.201 3.79854 14.9029 3.59874C14.7729 3.51158 14.6511 3.40781 14.4076 3.20027C13.7957 2.67883 13.4898 2.41811 13.1699 2.26522C12.43 1.91159 11.57 1.91159 10.8301 2.26522C10.5102 2.4181 10.2043 2.67883 9.5924 3.20027ZM16.3735 9.86314C16.6913 9.5453 16.6913 9.03 16.3735 8.71216C16.0557 8.39433 15.5403 8.39433 15.2225 8.71216L10.3723 13.5624L8.77746 11.9676C8.45963 11.6498 7.94432 11.6498 7.62649 11.9676C7.30866 12.2854 7.30866 12.8007 7.62649 13.1186L9.79678 15.2889C10.1146 15.6067 10.6299 15.6067 10.9478 15.2889L16.3735 9.86314Z", fill: "currentColor" }), " ")))), /* @__PURE__ */ React20.createElement("span", { className: "text-[12px] text-neutral-500" }, memberSince)), /* @__PURE__ */ React20.createElement("div", { className: "w-full flex flex-col gap-4 mt-2" }, /* @__PURE__ */ React20.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ React20.createElement(
2186
2195
  MenuRow2,
2187
2196
  {
@@ -2273,15 +2282,15 @@ var MenuRow2 = ({ icon, title, subtitle, onClick, iconColor = "text-black", titl
2273
2282
  onClick,
2274
2283
  className: `flex items-center p-4 cursor-pointer hover:bg-neutral-50 transition-colors ${!isLast ? "" : ""}`
2275
2284
  },
2276
- /* @__PURE__ */ React20.createElement("div", { className: "w-9 h-9 rounded-full border border-neutral-200 flex items-center justify-center shrink-0 mr-4" }, /* @__PURE__ */ React20.createElement(HugeiconsIcon14, { icon, size: 16, className: iconColor })),
2285
+ /* @__PURE__ */ React20.createElement("div", { className: "w-9 h-9 rounded-full border border-neutral-200 flex items-center justify-center shrink-0 mr-4" }, /* @__PURE__ */ React20.createElement(HugeiconsIcon15, { icon, size: 16, className: iconColor })),
2277
2286
  /* @__PURE__ */ React20.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React20.createElement("p", { className: `text-[13px] truncate ${titleColor}` }, title), /* @__PURE__ */ React20.createElement("p", { className: "text-[11px] text-neutral-500 truncate" }, subtitle)),
2278
- /* @__PURE__ */ React20.createElement(HugeiconsIcon14, { icon: ArrowRight01Icon4, size: 18, className: "text-neutral-400 shrink-0 ml-2" })
2287
+ /* @__PURE__ */ React20.createElement(HugeiconsIcon15, { icon: ArrowRight01Icon4, size: 18, className: "text-neutral-400 shrink-0 ml-2" })
2279
2288
  );
2280
2289
 
2281
2290
  // src/components/UniversalSidebar.tsx
2282
2291
  import React21, { useState as useState14 } from "react";
2283
2292
  import Link5 from "next/link";
2284
- import { HugeiconsIcon as HugeiconsIcon15 } from "@hugeicons/react";
2293
+ import { HugeiconsIcon as HugeiconsIcon16 } from "@hugeicons/react";
2285
2294
  import {
2286
2295
  LogoutCircle02Icon as LogoutCircle02Icon2
2287
2296
  } from "@hugeicons/core-free-icons";
@@ -2320,7 +2329,7 @@ var UniversalSidebar = ({
2320
2329
  title: item.name
2321
2330
  },
2322
2331
  /* @__PURE__ */ React21.createElement(
2323
- HugeiconsIcon15,
2332
+ HugeiconsIcon16,
2324
2333
  {
2325
2334
  icon: item.icon,
2326
2335
  size: 20,
@@ -2334,7 +2343,7 @@ var UniversalSidebar = ({
2334
2343
  onClick: () => setShowLogoutDialog(true),
2335
2344
  className: "w-12 h-12 rounded-full flex items-center justify-center text-neutral-500 hover:bg-white/50 transition-all outline-none"
2336
2345
  },
2337
- /* @__PURE__ */ React21.createElement(HugeiconsIcon15, { icon: LogoutCircle02Icon2, size: 20 })
2346
+ /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: LogoutCircle02Icon2, size: 20 })
2338
2347
  ))), showLogoutAction && /* @__PURE__ */ React21.createElement(
2339
2348
  ConfirmationDialog,
2340
2349
  {
@@ -2556,7 +2565,7 @@ var HeroSection = ({
2556
2565
 
2557
2566
  // src/components/AppBento2.tsx
2558
2567
  import React24, { useState as useState17, useEffect as useEffect9, useRef as useRef5 } from "react";
2559
- import { HugeiconsIcon as HugeiconsIcon16 } from "@hugeicons/react";
2568
+ import { HugeiconsIcon as HugeiconsIcon17 } from "@hugeicons/react";
2560
2569
  var AppBento2 = ({ tagline, headline, features }) => {
2561
2570
  const [isAnimating, setIsAnimating] = useState17(false);
2562
2571
  const titleRef = useRef5(null);
@@ -2623,8 +2632,8 @@ var AppBento2 = ({ tagline, headline, features }) => {
2623
2632
  }
2624
2633
  ),
2625
2634
  isBlack && /* @__PURE__ */ React24.createElement("span", { className: "absolute inset-0 rounded-2xl bg-linear-to-b from-white/10 via-white/5 to-transparent pointer-events-none z-10" }),
2626
- /* @__PURE__ */ React24.createElement("div", { className: "absolute inset-0 overflow-hidden pointer-events-none z-0" }, /* @__PURE__ */ React24.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__ */ React24.createElement(HugeiconsIcon16, { icon: f.icon, size: 180 }))),
2627
- /* @__PURE__ */ React24.createElement("div", { className: "relative z-10 w-full h-full flex flex-col pointer-events-auto" }, /* @__PURE__ */ React24.createElement("div", { className: "flex items-center justify-between mb-8" }, /* @__PURE__ */ React24.createElement("span", { className: `text-[9px] tracking-widest ${labelColor}` }, f.label), /* @__PURE__ */ React24.createElement("div", { className: `p-2 rounded-full transition-colors ${isBlack ? "bg-white/10" : "bg-white/50 backdrop-blur-sm"}` }, /* @__PURE__ */ React24.createElement(HugeiconsIcon16, { icon: f.icon, size: 20, className: textColor }))), /* @__PURE__ */ React24.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ React24.createElement("h3", { className: `text-xl mb-2 tracking-tight ${textColor}` }, f.title), /* @__PURE__ */ React24.createElement("p", { className: `text-[13px] leading-relaxed max-w-sm ${subTextColor}` }, f.desc)))
2635
+ /* @__PURE__ */ React24.createElement("div", { className: "absolute inset-0 overflow-hidden pointer-events-none z-0" }, /* @__PURE__ */ React24.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__ */ React24.createElement(HugeiconsIcon17, { icon: f.icon, size: 180 }))),
2636
+ /* @__PURE__ */ React24.createElement("div", { className: "relative z-10 w-full h-full flex flex-col pointer-events-auto" }, /* @__PURE__ */ React24.createElement("div", { className: "flex items-center justify-between mb-8" }, /* @__PURE__ */ React24.createElement("span", { className: `text-[9px] tracking-widest ${labelColor}` }, f.label), /* @__PURE__ */ React24.createElement("div", { className: `p-2 rounded-full transition-colors ${isBlack ? "bg-white/10" : "bg-white/50 backdrop-blur-sm"}` }, /* @__PURE__ */ React24.createElement(HugeiconsIcon17, { icon: f.icon, size: 20, className: textColor }))), /* @__PURE__ */ React24.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ React24.createElement("h3", { className: `text-xl mb-2 tracking-tight ${textColor}` }, f.title), /* @__PURE__ */ React24.createElement("p", { className: `text-[13px] leading-relaxed max-w-sm ${subTextColor}` }, f.desc)))
2628
2637
  );
2629
2638
  })))));
2630
2639
  };
@@ -2632,10 +2641,10 @@ var AppBento2 = ({ tagline, headline, features }) => {
2632
2641
  // src/components/UniversalSecurityPage.tsx
2633
2642
  import React25, { useState as useState18 } from "react";
2634
2643
  import toast8 from "react-hot-toast";
2635
- import { HugeiconsIcon as HugeiconsIcon17 } from "@hugeicons/react";
2644
+ import { HugeiconsIcon as HugeiconsIcon18 } from "@hugeicons/react";
2636
2645
  import {
2637
2646
  CancelCircleIcon as CancelCircleIcon6,
2638
- Loading03Icon as Loading03Icon10,
2647
+ Loading03Icon as Loading03Icon11,
2639
2648
  ArrowLeft01Icon as ArrowLeft01Icon6,
2640
2649
  Key01Icon,
2641
2650
  LockKeyIcon as LockKeyIcon3,
@@ -2737,7 +2746,7 @@ var UniversalSecurityPage = ({
2737
2746
  onClick: onBack,
2738
2747
  className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[13px] outline-none"
2739
2748
  },
2740
- /* @__PURE__ */ React25.createElement(HugeiconsIcon17, { icon: ArrowLeft01Icon6, size: 16 }),
2749
+ /* @__PURE__ */ React25.createElement(HugeiconsIcon18, { icon: ArrowLeft01Icon6, size: 16 }),
2741
2750
  " Back"
2742
2751
  )), /* @__PURE__ */ React25.createElement("div", { className: "w-full flex flex-col gap-4" }, /* @__PURE__ */ React25.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ React25.createElement(
2743
2752
  MenuRow3,
@@ -2760,7 +2769,7 @@ var UniversalSecurityPage = ({
2760
2769
  toggleLoading: isPasskeyLoading,
2761
2770
  isLast: true
2762
2771
  }
2763
- ))), isPasscodeModalOpen && /* @__PURE__ */ React25.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React25.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: closePasscodeModal }), /* @__PURE__ */ React25.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__ */ React25.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React25.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, hasPasscode ? "Change Passcode" : "Create Security Passcode"), /* @__PURE__ */ React25.createElement("button", { onClick: closePasscodeModal, disabled: isPasscodeSubmitting, className: "text-neutral-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ React25.createElement(HugeiconsIcon17, { icon: CancelCircleIcon6, size: 18 }))), /* @__PURE__ */ React25.createElement("div", { className: "p-6" }, isPasscodeLoading ? /* @__PURE__ */ React25.createElement("div", { className: "flex flex-col items-center justify-center py-10" }, /* @__PURE__ */ React25.createElement(HugeiconsIcon17, { icon: Loading03Icon10, size: 28, className: "animate-spin text-neutral-400 mb-4" })) : /* @__PURE__ */ React25.createElement("form", { onSubmit: handlePasscodeSubmit, className: "flex flex-col gap-6" }, hasPasscode && /* @__PURE__ */ React25.createElement(
2772
+ ))), isPasscodeModalOpen && /* @__PURE__ */ React25.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React25.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: closePasscodeModal }), /* @__PURE__ */ React25.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__ */ React25.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React25.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, hasPasscode ? "Change Passcode" : "Create Security Passcode"), /* @__PURE__ */ React25.createElement("button", { onClick: closePasscodeModal, disabled: isPasscodeSubmitting, className: "text-neutral-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ React25.createElement(HugeiconsIcon18, { icon: CancelCircleIcon6, size: 18 }))), /* @__PURE__ */ React25.createElement("div", { className: "p-6" }, isPasscodeLoading ? /* @__PURE__ */ React25.createElement("div", { className: "flex flex-col items-center justify-center py-10" }, /* @__PURE__ */ React25.createElement(HugeiconsIcon18, { icon: Loading03Icon11, size: 28, className: "animate-spin text-neutral-400 mb-4" })) : /* @__PURE__ */ React25.createElement("form", { onSubmit: handlePasscodeSubmit, className: "flex flex-col gap-6" }, hasPasscode && /* @__PURE__ */ React25.createElement(
2764
2773
  TextInput,
2765
2774
  {
2766
2775
  type: "password",
@@ -2802,7 +2811,7 @@ var UniversalSecurityPage = ({
2802
2811
  className: "w-full"
2803
2812
  },
2804
2813
  hasPasscode ? "Update Passcode" : "Set Passcode"
2805
- )))))), showPasskeyModal && /* @__PURE__ */ React25.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React25.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isSubmitting && setShowPasskeyModal(false) }), /* @__PURE__ */ React25.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__ */ React25.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React25.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Enable Passkey"), /* @__PURE__ */ React25.createElement("button", { onClick: () => !isSubmitting && setShowPasskeyModal(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React25.createElement(HugeiconsIcon17, { icon: CancelCircleIcon6, size: 18 }))), /* @__PURE__ */ React25.createElement("div", { className: "p-6 text-center" }, /* @__PURE__ */ React25.createElement("p", { className: "text-[13px] 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__ */ React25.createElement(
2814
+ )))))), showPasskeyModal && /* @__PURE__ */ React25.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React25.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isSubmitting && setShowPasskeyModal(false) }), /* @__PURE__ */ React25.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__ */ React25.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React25.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Enable Passkey"), /* @__PURE__ */ React25.createElement("button", { onClick: () => !isSubmitting && setShowPasskeyModal(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React25.createElement(HugeiconsIcon18, { icon: CancelCircleIcon6, size: 18 }))), /* @__PURE__ */ React25.createElement("div", { className: "p-6 text-center" }, /* @__PURE__ */ React25.createElement("p", { className: "text-[13px] 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__ */ React25.createElement(
2806
2815
  ThreeDActionButton,
2807
2816
  {
2808
2817
  onClick: submitEnablePasskey,
@@ -2830,16 +2839,16 @@ var MenuRow3 = ({
2830
2839
  onClick: disabled ? void 0 : onClick,
2831
2840
  className: `flex items-center p-4 transition-colors ${!isLast ? "" : ""} ${disabled ? "opacity-40 cursor-not-allowed" : "cursor-pointer hover:bg-neutral-50"}`
2832
2841
  },
2833
- /* @__PURE__ */ React25.createElement("div", { className: "w-9 h-9 rounded-full border border-neutral-200 flex items-center justify-center shrink-0 mr-4" }, /* @__PURE__ */ React25.createElement(HugeiconsIcon17, { icon, size: 16, className: iconColor })),
2842
+ /* @__PURE__ */ React25.createElement("div", { className: "w-9 h-9 rounded-full border border-neutral-200 flex items-center justify-center shrink-0 mr-4" }, /* @__PURE__ */ React25.createElement(HugeiconsIcon18, { icon, size: 16, className: iconColor })),
2834
2843
  /* @__PURE__ */ React25.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React25.createElement("p", { className: `text-[14px] truncate ${titleColor}` }, title), /* @__PURE__ */ React25.createElement("p", { className: "text-[12px] text-neutral-500 truncate" }, subtitle)),
2835
- isToggle ? /* @__PURE__ */ React25.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__ */ React25.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__ */ React25.createElement(HugeiconsIcon17, { icon: Loading03Icon10, size: 10, className: "animate-spin text-black" }))) : /* @__PURE__ */ React25.createElement(HugeiconsIcon17, { icon: ArrowRight01Icon5, size: 18, className: "text-neutral-400 shrink-0 ml-2" })
2844
+ isToggle ? /* @__PURE__ */ React25.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__ */ React25.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__ */ React25.createElement(HugeiconsIcon18, { icon: Loading03Icon11, size: 10, className: "animate-spin text-black" }))) : /* @__PURE__ */ React25.createElement(HugeiconsIcon18, { icon: ArrowRight01Icon5, size: 18, className: "text-neutral-400 shrink-0 ml-2" })
2836
2845
  );
2837
2846
 
2838
2847
  // src/components/FeatureScroll.tsx
2839
2848
  import React26, { useRef as useRef6, useState as useState19, useEffect as useEffect10 } from "react";
2840
2849
  import Image4 from "next/image";
2841
- import { HugeiconsIcon as HugeiconsIcon18 } from "@hugeicons/react";
2842
- import { ArrowLeft01Icon as ArrowLeft01Icon7, ArrowRight01Icon as ArrowRight01Icon6, Loading03Icon as Loading03Icon11 } from "@hugeicons/core-free-icons";
2850
+ import { HugeiconsIcon as HugeiconsIcon19 } from "@hugeicons/react";
2851
+ import { ArrowLeft01Icon as ArrowLeft01Icon7, ArrowRight01Icon as ArrowRight01Icon6, Loading03Icon as Loading03Icon12 } from "@hugeicons/core-free-icons";
2843
2852
  var FeatureCard = ({ feature, bgImage }) => {
2844
2853
  const [isBgLoading, setIsBgLoading] = useState19(true);
2845
2854
  const [isFgLoading, setIsFgLoading] = useState19(!!feature.image);
@@ -2864,7 +2873,7 @@ var FeatureCard = ({ feature, bgImage }) => {
2864
2873
  backgroundImage: `url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")`
2865
2874
  }
2866
2875
  }
2867
- ), isFgLoading && feature.image && /* @__PURE__ */ React26.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-neutral-50/50 backdrop-blur-sm transition-opacity duration-300" }, /* @__PURE__ */ React26.createElement(HugeiconsIcon18, { icon: Loading03Icon11, size: 32, className: "animate-spin text-neutral-400" })), feature.image && /* @__PURE__ */ React26.createElement("div", { className: "absolute -bottom-6 -right-6 w-[85%] h-[85%] z-10 transition-transform duration-700 ease-out group-hover:-translate-x-2 group-hover:-translate-y-2" }, /* @__PURE__ */ React26.createElement(
2876
+ ), isFgLoading && feature.image && /* @__PURE__ */ React26.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-neutral-50/50 backdrop-blur-sm transition-opacity duration-300" }, /* @__PURE__ */ React26.createElement(HugeiconsIcon19, { icon: Loading03Icon12, size: 32, className: "animate-spin text-neutral-400" })), feature.image && /* @__PURE__ */ React26.createElement("div", { className: "absolute -bottom-6 -right-6 w-[85%] h-[85%] z-10 transition-transform duration-700 ease-out group-hover:-translate-x-2 group-hover:-translate-y-2" }, /* @__PURE__ */ React26.createElement(
2868
2877
  Image4,
2869
2878
  {
2870
2879
  src: feature.image,
@@ -2913,7 +2922,7 @@ var FeatureScroll = ({ tagline, headline, features }) => {
2913
2922
  disabled: !canScrollLeft,
2914
2923
  className: "p-4 border border-neutral-200 rounded-full text-neutral-500 hover:text-black hover:border-black disabled:opacity-30 disabled:hover:border-neutral-200 disabled:hover:text-neutral-500 disabled:cursor-not-allowed transition-all outline-none"
2915
2924
  },
2916
- /* @__PURE__ */ React26.createElement(HugeiconsIcon18, { icon: ArrowLeft01Icon7, size: 20 })
2925
+ /* @__PURE__ */ React26.createElement(HugeiconsIcon19, { icon: ArrowLeft01Icon7, size: 20 })
2917
2926
  ), /* @__PURE__ */ React26.createElement(
2918
2927
  "button",
2919
2928
  {
@@ -2921,7 +2930,7 @@ var FeatureScroll = ({ tagline, headline, features }) => {
2921
2930
  disabled: !canScrollRight,
2922
2931
  className: "p-4 border border-neutral-200 rounded-full text-neutral-500 hover:text-black hover:border-black disabled:opacity-30 disabled:hover:border-neutral-200 disabled:hover:text-neutral-500 disabled:cursor-not-allowed transition-all outline-none"
2923
2932
  },
2924
- /* @__PURE__ */ React26.createElement(HugeiconsIcon18, { icon: ArrowRight01Icon6, size: 20 })
2933
+ /* @__PURE__ */ React26.createElement(HugeiconsIcon19, { icon: ArrowRight01Icon6, size: 20 })
2925
2934
  ))), /* @__PURE__ */ React26.createElement(
2926
2935
  "div",
2927
2936
  {
@@ -2937,7 +2946,7 @@ var FeatureScroll = ({ tagline, headline, features }) => {
2937
2946
  disabled: !canScrollLeft,
2938
2947
  className: "p-4 border border-neutral-200 rounded-full text-neutral-500 hover:text-black hover:border-black disabled:opacity-30 transition-all outline-none"
2939
2948
  },
2940
- /* @__PURE__ */ React26.createElement(HugeiconsIcon18, { icon: ArrowLeft01Icon7, size: 20 })
2949
+ /* @__PURE__ */ React26.createElement(HugeiconsIcon19, { icon: ArrowLeft01Icon7, size: 20 })
2941
2950
  ), /* @__PURE__ */ React26.createElement(
2942
2951
  "button",
2943
2952
  {
@@ -2945,13 +2954,13 @@ var FeatureScroll = ({ tagline, headline, features }) => {
2945
2954
  disabled: !canScrollRight,
2946
2955
  className: "p-4 border border-neutral-200 rounded-full text-neutral-500 hover:text-black hover:border-black disabled:opacity-30 transition-all outline-none"
2947
2956
  },
2948
- /* @__PURE__ */ React26.createElement(HugeiconsIcon18, { icon: ArrowRight01Icon6, size: 20 })
2957
+ /* @__PURE__ */ React26.createElement(HugeiconsIcon19, { icon: ArrowRight01Icon6, size: 20 })
2949
2958
  ))));
2950
2959
  };
2951
2960
 
2952
2961
  // src/components/PlatformFeatures.tsx
2953
2962
  import React27 from "react";
2954
- import { HugeiconsIcon as HugeiconsIcon19 } from "@hugeicons/react";
2963
+ import { HugeiconsIcon as HugeiconsIcon20 } from "@hugeicons/react";
2955
2964
  var PlatformFeatures = ({
2956
2965
  tagline,
2957
2966
  headline,
@@ -2965,7 +2974,7 @@ var PlatformFeatures = ({
2965
2974
  className: "flex flex-col group animate-in fade-in slide-in-from-bottom-4 duration-700 fill-mode-both",
2966
2975
  style: { animationDelay: feature.delay || "0ms" }
2967
2976
  },
2968
- /* @__PURE__ */ React27.createElement("div", { className: "flex flex-row items-center gap-4 mb-4" }, /* @__PURE__ */ React27.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__ */ React27.createElement(HugeiconsIcon19, { icon: feature.icon, size: 24 })), /* @__PURE__ */ React27.createElement("div", { className: "flex flex-col justify-center" }, /* @__PURE__ */ React27.createElement("span", { className: "text-[11px] tracking-widest text-neutral-400 mb-0.5" }, feature.label || "CAPABILITY"), /* @__PURE__ */ React27.createElement("h3", { className: "text-xl tracking-tight text-black" }, feature.title))),
2977
+ /* @__PURE__ */ React27.createElement("div", { className: "flex flex-row items-center gap-4 mb-4" }, /* @__PURE__ */ React27.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__ */ React27.createElement(HugeiconsIcon20, { icon: feature.icon, size: 24 })), /* @__PURE__ */ React27.createElement("div", { className: "flex flex-col justify-center" }, /* @__PURE__ */ React27.createElement("span", { className: "text-[11px] tracking-widest text-neutral-400 mb-0.5" }, feature.label || "CAPABILITY"), /* @__PURE__ */ React27.createElement("h3", { className: "text-xl tracking-tight text-black" }, feature.title))),
2969
2978
  /* @__PURE__ */ React27.createElement("div", null, /* @__PURE__ */ React27.createElement("p", { className: "text-[13px] leading-relaxed text-neutral-600 pr-4" }, feature.desc))
2970
2979
  )))));
2971
2980
  };
@@ -3022,7 +3031,7 @@ var ManagedDocument = ({
3022
3031
 
3023
3032
  // src/components/ManagedContactBlock.tsx
3024
3033
  import React29, { useState as useState21, useEffect as useEffect12 } from "react";
3025
- import { HugeiconsIcon as HugeiconsIcon20 } from "@hugeicons/react";
3034
+ import { HugeiconsIcon as HugeiconsIcon21 } from "@hugeicons/react";
3026
3035
  var SecureEmail = ({ user, domain, className }) => {
3027
3036
  const [isMounted, setIsMounted] = useState21(false);
3028
3037
  useEffect12(() => {
@@ -3080,7 +3089,7 @@ var ManagedContactBlock = ({
3080
3089
  rel: "noopener noreferrer",
3081
3090
  className: "flex items-center gap-3 transition-colors group text-neutral-600 hover:text-black"
3082
3091
  },
3083
- /* @__PURE__ */ React29.createElement(HugeiconsIcon20, { icon: social.icon, size: 18 }),
3092
+ /* @__PURE__ */ React29.createElement(HugeiconsIcon21, { icon: social.icon, size: 18 }),
3084
3093
  /* @__PURE__ */ React29.createElement("span", { className: "text-[13px]" }, social.label)
3085
3094
  )))))))));
3086
3095
  };
@@ -3181,7 +3190,7 @@ var ManagedPricingBlock = ({
3181
3190
  // src/components/ManagedBoardBlock.tsx
3182
3191
  import React31 from "react";
3183
3192
  import Image6 from "next/image";
3184
- import { HugeiconsIcon as HugeiconsIcon21 } from "@hugeicons/react";
3193
+ import { HugeiconsIcon as HugeiconsIcon22 } from "@hugeicons/react";
3185
3194
  import { TwitterIcon, LinkedinIcon } from "@hugeicons/core-free-icons";
3186
3195
  var MemberSocialLink = ({ href, icon, label, name }) => /* @__PURE__ */ React31.createElement(
3187
3196
  "a",
@@ -3191,7 +3200,7 @@ var MemberSocialLink = ({ href, icon, label, name }) => /* @__PURE__ */ React31.
3191
3200
  rel: "noopener noreferrer",
3192
3201
  className: "text-neutral-400 hover:text-black transition-colors"
3193
3202
  },
3194
- /* @__PURE__ */ React31.createElement(HugeiconsIcon21, { icon, size: 16 })
3203
+ /* @__PURE__ */ React31.createElement(HugeiconsIcon22, { icon, size: 16 })
3195
3204
  );
3196
3205
  var ManagedBoardBlock = ({
3197
3206
  tagline,
@@ -3318,7 +3327,7 @@ var ManagedNewsletterSplitBlock = ({
3318
3327
  import React34, { useEffect as useEffect14, useRef as useRef9 } from "react";
3319
3328
  import Link8 from "next/link";
3320
3329
  import Image8 from "next/image";
3321
- import { HugeiconsIcon as HugeiconsIcon22 } from "@hugeicons/react";
3330
+ import { HugeiconsIcon as HugeiconsIcon23 } from "@hugeicons/react";
3322
3331
  import { ArrowRight01Icon as ArrowRight01Icon7 } from "@hugeicons/core-free-icons";
3323
3332
  var useScrollAnimation = () => {
3324
3333
  const elementRef = useRef9(null);
@@ -3400,7 +3409,7 @@ var PortfolioHero = ({
3400
3409
  className: "w-full sm:w-auto inline-flex items-center justify-center gap-3 text-[11px] tracking-[0.2em] rounded-full px-8 py-3.5 bg-neutral-200 transition-colors text-black hover:bg-neutral-50 outline-none"
3401
3410
  },
3402
3411
  secondaryCtaText,
3403
- /* @__PURE__ */ React34.createElement(HugeiconsIcon22, { icon: ArrowRight01Icon7, size: 16 })
3412
+ /* @__PURE__ */ React34.createElement(HugeiconsIcon23, { icon: ArrowRight01Icon7, size: 16 })
3404
3413
  ))
3405
3414
  ));
3406
3415
  };
@@ -3408,8 +3417,8 @@ var PortfolioHero = ({
3408
3417
  // src/components/GifFeatureCard.tsx
3409
3418
  import React35, { useState as useState23 } from "react";
3410
3419
  import Image9 from "next/image";
3411
- import { HugeiconsIcon as HugeiconsIcon23 } from "@hugeicons/react";
3412
- import { Loading03Icon as Loading03Icon12 } from "@hugeicons/core-free-icons";
3420
+ import { HugeiconsIcon as HugeiconsIcon24 } from "@hugeicons/react";
3421
+ import { Loading03Icon as Loading03Icon13 } from "@hugeicons/core-free-icons";
3413
3422
  var GifFeatureCard = ({
3414
3423
  gifSrc,
3415
3424
  title,
@@ -3419,9 +3428,9 @@ var GifFeatureCard = ({
3419
3428
  }) => {
3420
3429
  const [isLoading, setIsLoading] = useState23(true);
3421
3430
  return /* @__PURE__ */ React35.createElement("div", { className: `relative w-full bg-black overflow-hidden shadow-2xl ${className}` }, isLoading && /* @__PURE__ */ React35.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-black" }, /* @__PURE__ */ React35.createElement(
3422
- HugeiconsIcon23,
3431
+ HugeiconsIcon24,
3423
3432
  {
3424
- icon: Loading03Icon12,
3433
+ icon: Loading03Icon13,
3425
3434
  size: 32,
3426
3435
  className: "animate-spin text-white"
3427
3436
  }
@@ -3502,11 +3511,11 @@ var MedicalFeatureStatsBlock = ({
3502
3511
  // src/components/ConsultantShowcase.tsx
3503
3512
  import React37, { useState as useState25 } from "react";
3504
3513
  import Image11 from "next/image";
3505
- import { HugeiconsIcon as HugeiconsIcon24 } from "@hugeicons/react";
3506
- import { Loading03Icon as Loading03Icon13 } from "@hugeicons/core-free-icons";
3514
+ import { HugeiconsIcon as HugeiconsIcon25 } from "@hugeicons/react";
3515
+ import { Loading03Icon as Loading03Icon14 } from "@hugeicons/core-free-icons";
3507
3516
  var ImageWithLoader = ({ src, alt, className, sizes, priority = false }) => {
3508
3517
  const [isLoading, setIsLoading] = useState25(true);
3509
- return /* @__PURE__ */ React37.createElement("div", { className: `absolute inset-0 bg-neutral-800 ${className}` }, isLoading && /* @__PURE__ */ React37.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-neutral-800/50 backdrop-blur-md transition-opacity duration-300" }, /* @__PURE__ */ React37.createElement(HugeiconsIcon24, { icon: Loading03Icon13, size: 24, className: "animate-spin text-white/50" })), /* @__PURE__ */ React37.createElement(
3518
+ return /* @__PURE__ */ React37.createElement("div", { className: `absolute inset-0 bg-neutral-800 ${className}` }, isLoading && /* @__PURE__ */ React37.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-neutral-800/50 backdrop-blur-md transition-opacity duration-300" }, /* @__PURE__ */ React37.createElement(HugeiconsIcon25, { icon: Loading03Icon14, size: 24, className: "animate-spin text-white/50" })), /* @__PURE__ */ React37.createElement(
3510
3519
  Image11,
3511
3520
  {
3512
3521
  src,
@@ -3597,8 +3606,8 @@ var ConsultantShowcase = ({
3597
3606
  // src/components/ContentGridBlock.tsx
3598
3607
  import React38, { useState as useState26 } from "react";
3599
3608
  import Image12 from "next/image";
3600
- import { HugeiconsIcon as HugeiconsIcon25 } from "@hugeicons/react";
3601
- import { Loading03Icon as Loading03Icon14 } from "@hugeicons/core-free-icons";
3609
+ import { HugeiconsIcon as HugeiconsIcon26 } from "@hugeicons/react";
3610
+ import { Loading03Icon as Loading03Icon15 } from "@hugeicons/core-free-icons";
3602
3611
  var ContentGridBlock = ({
3603
3612
  header,
3604
3613
  leftCard,
@@ -3670,7 +3679,7 @@ var ManagedProjectsBlock = ({
3670
3679
 
3671
3680
  // src/components/UniversalVerificationPage.tsx
3672
3681
  import React40 from "react";
3673
- import { HugeiconsIcon as HugeiconsIcon26 } from "@hugeicons/react";
3682
+ import { HugeiconsIcon as HugeiconsIcon27 } from "@hugeicons/react";
3674
3683
  import {
3675
3684
  ArrowLeft01Icon as ArrowLeft01Icon8,
3676
3685
  Mail01Icon,
@@ -3679,7 +3688,7 @@ import {
3679
3688
  CheckmarkCircle01Icon,
3680
3689
  Time02Icon,
3681
3690
  InformationCircleIcon as InformationCircleIcon2,
3682
- Loading03Icon as Loading03Icon15
3691
+ Loading03Icon as Loading03Icon16
3683
3692
  } from "@hugeicons/core-free-icons";
3684
3693
  var VerificationRow = ({
3685
3694
  icon,
@@ -3732,9 +3741,9 @@ var VerificationRow = ({
3732
3741
  onClick: isDisabled ? void 0 : onClick,
3733
3742
  className: `flex items-center p-4 transition-colors ${!isLast ? "" : ""} ${isDisabled ? "opacity-70 cursor-default" : "cursor-pointer hover:bg-neutral-50"}`
3734
3743
  },
3735
- /* @__PURE__ */ React40.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__ */ React40.createElement(HugeiconsIcon26, { icon, size: 16, className: "text-black" })),
3744
+ /* @__PURE__ */ React40.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__ */ React40.createElement(HugeiconsIcon27, { icon, size: 16, className: "text-black" })),
3736
3745
  /* @__PURE__ */ React40.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React40.createElement("p", { className: "text-[14px] truncate text-black" }, title), /* @__PURE__ */ React40.createElement("p", { className: `text-[10px] inline-flex items-center ${bg} rounded-full px-2 py-1 ${statusColor} mt-0.5` }, statusText)),
3737
- /* @__PURE__ */ React40.createElement("div", { className: "shrink-0 ml-2" }, isLoading ? /* @__PURE__ */ React40.createElement(HugeiconsIcon26, { icon: Loading03Icon15, size: 20, className: "animate-spin text-black" }) : /* @__PURE__ */ React40.createElement(HugeiconsIcon26, { icon: StatusIcon, size: 20, className: iconColor }))
3746
+ /* @__PURE__ */ React40.createElement("div", { className: "shrink-0 ml-2" }, isLoading ? /* @__PURE__ */ React40.createElement(HugeiconsIcon27, { icon: Loading03Icon16, size: 20, className: "animate-spin text-black" }) : /* @__PURE__ */ React40.createElement(HugeiconsIcon27, { icon: StatusIcon, size: 20, className: iconColor }))
3738
3747
  );
3739
3748
  };
3740
3749
  var UniversalVerificationPage = ({
@@ -3753,7 +3762,7 @@ var UniversalVerificationPage = ({
3753
3762
  onClick: onBack,
3754
3763
  className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[13px] outline-none"
3755
3764
  },
3756
- /* @__PURE__ */ React40.createElement(HugeiconsIcon26, { icon: ArrowLeft01Icon8, size: 16 }),
3765
+ /* @__PURE__ */ React40.createElement(HugeiconsIcon27, { icon: ArrowLeft01Icon8, size: 16 }),
3757
3766
  " Back"
3758
3767
  )), /* @__PURE__ */ React40.createElement("div", { className: "w-full flex flex-col gap-4 mb-8" }, /* @__PURE__ */ React40.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ React40.createElement(
3759
3768
  VerificationRow,
@@ -3792,22 +3801,22 @@ import axios from "axios";
3792
3801
  import toast9 from "react-hot-toast";
3793
3802
  import Confetti from "react-confetti";
3794
3803
  import { useWindowSize } from "react-use";
3795
- import { HugeiconsIcon as HugeiconsIcon27 } from "@hugeicons/react";
3804
+ import { HugeiconsIcon as HugeiconsIcon28 } from "@hugeicons/react";
3796
3805
  import {
3797
3806
  GiftIcon,
3798
- Loading03Icon as Loading03Icon16,
3807
+ Loading03Icon as Loading03Icon17,
3799
3808
  ArrowLeft01Icon as ArrowLeft01Icon9
3800
3809
  } from "@hugeicons/core-free-icons";
3801
3810
  var formatWeb3Name = (name) => {
3802
3811
  if (!name) return "";
3803
3812
  return name.toLowerCase().replace(/\b\w/g, (c) => c.toUpperCase());
3804
3813
  };
3805
- var PageSpinner4 = () => /* @__PURE__ */ React41.createElement("div", { className: "flex justify-center items-center py-12 w-full" }, /* @__PURE__ */ React41.createElement(HugeiconsIcon27, { icon: Loading03Icon16, size: 32, className: "animate-spin mb-4 text-black" }));
3814
+ var PageSpinner4 = () => /* @__PURE__ */ React41.createElement("div", { className: "flex justify-center items-center py-12 w-full" }, /* @__PURE__ */ React41.createElement(HugeiconsIcon28, { icon: Loading03Icon17, size: 32, className: "animate-spin mb-4 text-black" }));
3806
3815
  var AvatarLogo = ({ src, alt, name, sizeClass = "w-12 h-12" }) => {
3807
3816
  const [isLoaded, setIsLoaded] = useState27(false);
3808
3817
  const fallbackUrl = `/api/avatar/?name=${encodeURIComponent(name || " ")}&background=ffffff&color=000000&size=100&font-size=0.33`;
3809
3818
  const finalSrc = src || fallbackUrl;
3810
- return /* @__PURE__ */ React41.createElement("div", { className: `relative shrink-0 rounded-full bg-neutral-100 flex items-center justify-center overflow-hidden border-[3px] border-white ${sizeClass}` }, !isLoaded && /* @__PURE__ */ React41.createElement(HugeiconsIcon27, { icon: Loading03Icon16, size: 16, className: "animate-spin text-neutral-400 absolute" }), /* @__PURE__ */ React41.createElement("img", { src: finalSrc, alt, onLoad: () => setIsLoaded(true), className: `w-full h-full object-cover transition-opacity duration-300 ${isLoaded ? "opacity-100" : "opacity-0"}` }));
3819
+ return /* @__PURE__ */ React41.createElement("div", { className: `relative shrink-0 rounded-full bg-neutral-100 flex items-center justify-center overflow-hidden border-[3px] border-white ${sizeClass}` }, !isLoaded && /* @__PURE__ */ React41.createElement(HugeiconsIcon28, { icon: Loading03Icon17, size: 16, className: "animate-spin text-neutral-400 absolute" }), /* @__PURE__ */ React41.createElement("img", { src: finalSrc, alt, onLoad: () => setIsLoaded(true), className: `w-full h-full object-cover transition-opacity duration-300 ${isLoaded ? "opacity-100" : "opacity-0"}` }));
3811
3820
  };
3812
3821
  var UniversalRewardPage = ({
3813
3822
  leaderboardToday,
@@ -3857,7 +3866,7 @@ var UniversalRewardPage = ({
3857
3866
  setIsClaiming(false);
3858
3867
  }
3859
3868
  };
3860
- return /* @__PURE__ */ React41.createElement("div", null, /* @__PURE__ */ React41.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ React41.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[13px] outline-none" }, /* @__PURE__ */ React41.createElement(HugeiconsIcon27, { icon: ArrowLeft01Icon9, size: 16 }), " Back")), /* @__PURE__ */ React41.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React41.createElement(ManagedToaster, null), showConfetti && /* @__PURE__ */ React41.createElement("div", { className: "fixed inset-0 z-200 pointer-events-none" }, /* @__PURE__ */ React41.createElement(Confetti, { width, height, recycle: false, numberOfPieces: 500, gravity: 0.15 })), isLoading ? /* @__PURE__ */ React41.createElement(PageSpinner4, null) : /* @__PURE__ */ React41.createElement(React41.Fragment, null, /* @__PURE__ */ React41.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__ */ React41.createElement("div", { className: "flex flex-col items-center w-1/3 z-10" }, secondPlace ? /* @__PURE__ */ React41.createElement(React41.Fragment, null, /* @__PURE__ */ React41.createElement("span", { className: "text-black text-[10px] mb-2 truncate max-w-full px-1" }, formatWeb3Name(secondPlace.profile.web3Name)), /* @__PURE__ */ React41.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ React41.createElement(AvatarLogo, { src: secondPlace.profile.avatarUrl, alt: secondPlace.profile.username, name: formatWeb3Name(secondPlace.profile.web3Name), sizeClass: "w-14 h-14" }), /* @__PURE__ */ React41.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__ */ React41.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__ */ React41.createElement("span", { className: "text-neutral-800/30 text-2xl " }, "2nd"))) : /* @__PURE__ */ React41.createElement("div", { className: "w-full bg-linear-to-t from-neutral-200 to-neutral-100 rounded-t-xl h-24 mt-auto" })), /* @__PURE__ */ React41.createElement("div", { className: "flex flex-col items-center w-1/3 z-20 -mt-8" }, firstPlace ? /* @__PURE__ */ React41.createElement(React41.Fragment, null, /* @__PURE__ */ React41.createElement("span", { className: "text-black text-[10px] mb-2 truncate max-w-full px-1" }, formatWeb3Name(firstPlace.profile.web3Name)), /* @__PURE__ */ React41.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ React41.createElement(AvatarLogo, { src: firstPlace.profile.avatarUrl, alt: firstPlace.profile.username, name: formatWeb3Name(firstPlace.profile.web3Name), sizeClass: "w-17 h-17" }), /* @__PURE__ */ React41.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__ */ React41.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__ */ React41.createElement("span", { className: "text-white/40 text-3xl tracking-widest" }, "1st"))) : /* @__PURE__ */ React41.createElement("div", { className: "w-full bg-linear-to-t from-neutral-200 to-neutral-100 rounded-t-xl h-32 mt-auto" })), /* @__PURE__ */ React41.createElement("div", { className: "flex flex-col items-center w-1/3 z-10" }, thirdPlace ? /* @__PURE__ */ React41.createElement(React41.Fragment, null, /* @__PURE__ */ React41.createElement("span", { className: "text-black text-[10px] mb-2 truncate max-w-full px-1" }, formatWeb3Name(thirdPlace.profile.web3Name)), /* @__PURE__ */ React41.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ React41.createElement(AvatarLogo, { src: thirdPlace.profile.avatarUrl, alt: thirdPlace.profile.username, name: formatWeb3Name(thirdPlace.profile.web3Name), sizeClass: "w-12 h-12" }), /* @__PURE__ */ React41.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__ */ React41.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__ */ React41.createElement("span", { className: "text-neutral-800/30 text-xl " }, "3rd"))) : /* @__PURE__ */ React41.createElement("div", { className: "w-full bg-linear-to-t from-neutral-200 to-neutral-100 rounded-t-xl h-20 mt-auto" }))), /* @__PURE__ */ React41.createElement("div", { className: "flex items-center justify-center mb-6 sm:mb-8 w-full animate-in fade-in duration-300 px-2" }, /* @__PURE__ */ React41.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) => {
3869
+ return /* @__PURE__ */ React41.createElement("div", null, /* @__PURE__ */ React41.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ React41.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[13px] outline-none" }, /* @__PURE__ */ React41.createElement(HugeiconsIcon28, { icon: ArrowLeft01Icon9, size: 16 }), " Back")), /* @__PURE__ */ React41.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React41.createElement(ManagedToaster, null), showConfetti && /* @__PURE__ */ React41.createElement("div", { className: "fixed inset-0 z-200 pointer-events-none" }, /* @__PURE__ */ React41.createElement(Confetti, { width, height, recycle: false, numberOfPieces: 500, gravity: 0.15 })), isLoading ? /* @__PURE__ */ React41.createElement(PageSpinner4, null) : /* @__PURE__ */ React41.createElement(React41.Fragment, null, /* @__PURE__ */ React41.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__ */ React41.createElement("div", { className: "flex flex-col items-center w-1/3 z-10" }, secondPlace ? /* @__PURE__ */ React41.createElement(React41.Fragment, null, /* @__PURE__ */ React41.createElement("span", { className: "text-black text-[10px] mb-2 truncate max-w-full px-1" }, formatWeb3Name(secondPlace.profile.web3Name)), /* @__PURE__ */ React41.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ React41.createElement(AvatarLogo, { src: secondPlace.profile.avatarUrl, alt: secondPlace.profile.username, name: formatWeb3Name(secondPlace.profile.web3Name), sizeClass: "w-14 h-14" }), /* @__PURE__ */ React41.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__ */ React41.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__ */ React41.createElement("span", { className: "text-neutral-800/30 text-2xl " }, "2nd"))) : /* @__PURE__ */ React41.createElement("div", { className: "w-full bg-linear-to-t from-neutral-200 to-neutral-100 rounded-t-xl h-24 mt-auto" })), /* @__PURE__ */ React41.createElement("div", { className: "flex flex-col items-center w-1/3 z-20 -mt-8" }, firstPlace ? /* @__PURE__ */ React41.createElement(React41.Fragment, null, /* @__PURE__ */ React41.createElement("span", { className: "text-black text-[10px] mb-2 truncate max-w-full px-1" }, formatWeb3Name(firstPlace.profile.web3Name)), /* @__PURE__ */ React41.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ React41.createElement(AvatarLogo, { src: firstPlace.profile.avatarUrl, alt: firstPlace.profile.username, name: formatWeb3Name(firstPlace.profile.web3Name), sizeClass: "w-17 h-17" }), /* @__PURE__ */ React41.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__ */ React41.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__ */ React41.createElement("span", { className: "text-white/40 text-3xl tracking-widest" }, "1st"))) : /* @__PURE__ */ React41.createElement("div", { className: "w-full bg-linear-to-t from-neutral-200 to-neutral-100 rounded-t-xl h-32 mt-auto" })), /* @__PURE__ */ React41.createElement("div", { className: "flex flex-col items-center w-1/3 z-10" }, thirdPlace ? /* @__PURE__ */ React41.createElement(React41.Fragment, null, /* @__PURE__ */ React41.createElement("span", { className: "text-black text-[10px] mb-2 truncate max-w-full px-1" }, formatWeb3Name(thirdPlace.profile.web3Name)), /* @__PURE__ */ React41.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ React41.createElement(AvatarLogo, { src: thirdPlace.profile.avatarUrl, alt: thirdPlace.profile.username, name: formatWeb3Name(thirdPlace.profile.web3Name), sizeClass: "w-12 h-12" }), /* @__PURE__ */ React41.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__ */ React41.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__ */ React41.createElement("span", { className: "text-neutral-800/30 text-xl " }, "3rd"))) : /* @__PURE__ */ React41.createElement("div", { className: "w-full bg-linear-to-t from-neutral-200 to-neutral-100 rounded-t-xl h-20 mt-auto" }))), /* @__PURE__ */ React41.createElement("div", { className: "flex items-center justify-center mb-6 sm:mb-8 w-full animate-in fade-in duration-300 px-2" }, /* @__PURE__ */ React41.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) => {
3861
3870
  const isActive = activeTabIndex === idx;
3862
3871
  return /* @__PURE__ */ React41.createElement(
3863
3872
  "button",
@@ -3877,7 +3886,7 @@ var UniversalRewardPage = ({
3877
3886
  onClick: () => setSelectedReward(reward),
3878
3887
  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"
3879
3888
  },
3880
- /* @__PURE__ */ React41.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React41.createElement("div", { className: "w-10 h-10 shrink-0 rounded-full flex items-center justify-center border border-neutral-200 text-black" }, /* @__PURE__ */ React41.createElement(HugeiconsIcon27, { icon: GiftIcon, size: 16 })), /* @__PURE__ */ React41.createElement("div", { className: "min-w-0 flex-1 flex flex-col items-start gap-0.5 pr-4" }, /* @__PURE__ */ React41.createElement("p", { className: "text-[13px] text-black truncate w-full" }, reward.title), /* @__PURE__ */ React41.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))),
3889
+ /* @__PURE__ */ React41.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React41.createElement("div", { className: "w-10 h-10 shrink-0 rounded-full flex items-center justify-center border border-neutral-200 text-black" }, /* @__PURE__ */ React41.createElement(HugeiconsIcon28, { icon: GiftIcon, size: 16 })), /* @__PURE__ */ React41.createElement("div", { className: "min-w-0 flex-1 flex flex-col items-start gap-0.5 pr-4" }, /* @__PURE__ */ React41.createElement("p", { className: "text-[13px] text-black truncate w-full" }, reward.title), /* @__PURE__ */ React41.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))),
3881
3890
  /* @__PURE__ */ React41.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1" }, /* @__PURE__ */ React41.createElement("span", { className: "text-[13px] text-black" }, reward.amount))
3882
3891
  );
3883
3892
  }))), remainingLeaderboard.length > 0 && /* @__PURE__ */ React41.createElement("div", { className: "bg-white rounded-2xl p-6 " }, /* @__PURE__ */ React41.createElement("h2", { className: "text-black text-lg mb-4 tracking-tight" }, "Leaderboard"), /* @__PURE__ */ React41.createElement("div", { className: "flex flex-col" }, remainingLeaderboard.map((lb) => /* @__PURE__ */ React41.createElement("div", { key: lb.profile.username, className: "flex items-center justify-between py-3 min-w-0" }, /* @__PURE__ */ React41.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React41.createElement("div", { className: "text-[12px] text-neutral-400 w-4" }, lb.position), /* @__PURE__ */ React41.createElement(AvatarLogo, { src: lb.profile.avatarUrl, alt: lb.profile.username, name: formatWeb3Name(lb.profile.web3Name), sizeClass: "w-9 h-9" }), /* @__PURE__ */ React41.createElement("div", { className: "min-w-0 flex-1 flex flex-col" }, /* @__PURE__ */ React41.createElement("p", { className: "text-[13px] text-black truncate" }, formatWeb3Name(lb.profile.web3Name)), /* @__PURE__ */ React41.createElement("p", { className: "text-[11px] text-neutral-400 truncate" }, "@", lb.profile.username))), /* @__PURE__ */ React41.createElement("div", { className: "shrink-0 text-[13px] text-black" }, lb.amount))))))), selectedReward && /* @__PURE__ */ React41.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React41.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: () => !isClaiming && setSelectedReward(null) }), /* @__PURE__ */ React41.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__ */ React41.createElement("div", { className: "flex-1 p-6 flex flex-col items-center text-center mt-2" }, /* @__PURE__ */ React41.createElement("h2", { className: "text-xl text-black mb-2" }, selectedReward.title), /* @__PURE__ */ React41.createElement("p", { className: "text-[13px] text-neutral-500 mb-6 leading-relaxed" }, selectedReward.description), selectedReward.progressText && /* @__PURE__ */ React41.createElement("div", { className: "w-full mb-6" }, /* @__PURE__ */ React41.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__ */ React41.createElement("div", { className: " w-full rounded-xl p-4 mb-8 flex flex-col items-center" }, /* @__PURE__ */ React41.createElement("span", { className: "text-[11px] tracking-widest text-neutral-400 mb-1" }, "Reward Value"), /* @__PURE__ */ React41.createElement("span", { className: "text-3xl text-black " }, selectedReward.amount)), /* @__PURE__ */ React41.createElement("div", { className: "flex flex-col gap-3 w-full" }, /* @__PURE__ */ React41.createElement(
@@ -3903,14 +3912,14 @@ var UniversalRewardPage = ({
3903
3912
  // src/components/UniversalReferralPage.tsx
3904
3913
  import React42, { useState as useState28 } from "react";
3905
3914
  import toast10 from "react-hot-toast";
3906
- import { HugeiconsIcon as HugeiconsIcon28 } from "@hugeicons/react";
3915
+ import { HugeiconsIcon as HugeiconsIcon29 } from "@hugeicons/react";
3907
3916
  import {
3908
3917
  ArrowLeft01Icon as ArrowLeft01Icon10,
3909
3918
  ArrowRight01Icon as ArrowRight01Icon8,
3910
- Loading03Icon as Loading03Icon17,
3919
+ Loading03Icon as Loading03Icon18,
3911
3920
  Copy01Icon as Copy01Icon4
3912
3921
  } from "@hugeicons/core-free-icons";
3913
- var PageSpinner5 = () => /* @__PURE__ */ React42.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ React42.createElement(HugeiconsIcon28, { icon: Loading03Icon17, size: 32, className: "animate-spin mb-4 text-black" }));
3922
+ var PageSpinner5 = () => /* @__PURE__ */ React42.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ React42.createElement(HugeiconsIcon29, { icon: Loading03Icon18, size: 32, className: "animate-spin mb-4 text-black" }));
3914
3923
  var formatWeb3Name2 = (name) => {
3915
3924
  if (!name) return "";
3916
3925
  return name.toLowerCase().replace(/\b\w/g, (c) => c.toUpperCase());
@@ -3945,16 +3954,16 @@ var UniversalReferralPage = ({
3945
3954
  const [isLoaded, setIsLoaded] = useState28(false);
3946
3955
  const fallbackUrl = `/api/avatar/?name=${encodeURIComponent(name || " ")}&background=e0e0e0&color=000000&size=100&font-size=0.33`;
3947
3956
  const finalSrc = src || fallbackUrl;
3948
- return /* @__PURE__ */ React42.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__ */ React42.createElement(HugeiconsIcon28, { icon: Loading03Icon17, size: 16, className: "animate-spin text-neutral-400 absolute" }), /* @__PURE__ */ React42.createElement("img", { src: finalSrc, alt, onLoad: () => setIsLoaded(true), className: `w-full h-full object-cover transition-opacity duration-300 ${isLoaded ? "opacity-100" : "opacity-0"}` }));
3957
+ return /* @__PURE__ */ React42.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__ */ React42.createElement(HugeiconsIcon29, { icon: Loading03Icon18, size: 16, className: "animate-spin text-neutral-400 absolute" }), /* @__PURE__ */ React42.createElement("img", { src: finalSrc, alt, onLoad: () => setIsLoaded(true), className: `w-full h-full object-cover transition-opacity duration-300 ${isLoaded ? "opacity-100" : "opacity-0"}` }));
3949
3958
  };
3950
- return /* @__PURE__ */ React42.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React42.createElement(ManagedToaster, null), /* @__PURE__ */ React42.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React42.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[13px] outline-none" }, /* @__PURE__ */ React42.createElement(HugeiconsIcon28, { icon: ArrowLeft01Icon10, size: 16 }), " Back")), /* @__PURE__ */ React42.createElement("div", { className: "flex flex-col gap-4 mb-6 px-1" }, /* @__PURE__ */ React42.createElement("div", null, /* @__PURE__ */ React42.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, "Your Referrals"), /* @__PURE__ */ React42.createElement("p", { className: "text-xs text-neutral-500" }, "Invite friends and earn rewards when they verify and activate cards.")), /* @__PURE__ */ React42.createElement("div", { className: "bg-[#143731] rounded-3xl p-6 relative overflow-hidden flex flex-col min-h-25 w-full mt-2" }, /* @__PURE__ */ React42.createElement("div", { className: "relative z-10 flex flex-col items-start" }, /* @__PURE__ */ React42.createElement("p", { className: "text-[11px] text-white leading-tight mb-1" }, /* @__PURE__ */ React42.createElement("span", { className: "text-white/60" }, "AFT Balance")), isLoading ? /* @__PURE__ */ React42.createElement("div", { className: "h-8 w-32 bg-white/10 animate-pulse rounded mt-2" }) : /* @__PURE__ */ React42.createElement("span", { className: "text-lg text-white tracking-tight mt-1" }, referralCoins)))), /* @__PURE__ */ React42.createElement("div", { className: "flex flex-col gap-6 p-4 rounded-3xl bg-white w-full" }, /* @__PURE__ */ React42.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React42.createElement("div", { className: "border border-neutral-200 rounded-xl p-4 flex items-center justify-between" }, /* @__PURE__ */ React42.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ React42.createElement("span", { className: "text-[11px] tracking-widest text-neutral-400 " }, "Invitation Code"), isLoading && !referralCode ? /* @__PURE__ */ React42.createElement("div", { className: "h-6 w-24 bg-neutral-50 animate-pulse rounded mt-1" }) : /* @__PURE__ */ React42.createElement("span", { className: "text-sm text-black tracking-widest" }, referralCode)), /* @__PURE__ */ React42.createElement(
3959
+ return /* @__PURE__ */ React42.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React42.createElement(ManagedToaster, null), /* @__PURE__ */ React42.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React42.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[13px] outline-none" }, /* @__PURE__ */ React42.createElement(HugeiconsIcon29, { icon: ArrowLeft01Icon10, size: 16 }), " Back")), /* @__PURE__ */ React42.createElement("div", { className: "flex flex-col gap-4 mb-6 px-1" }, /* @__PURE__ */ React42.createElement("div", null, /* @__PURE__ */ React42.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, "Your Referrals"), /* @__PURE__ */ React42.createElement("p", { className: "text-xs text-neutral-500" }, "Invite friends and earn rewards when they verify and activate cards.")), /* @__PURE__ */ React42.createElement("div", { className: "bg-[#143731] rounded-3xl p-6 relative overflow-hidden flex flex-col min-h-25 w-full mt-2" }, /* @__PURE__ */ React42.createElement("div", { className: "relative z-10 flex flex-col items-start" }, /* @__PURE__ */ React42.createElement("p", { className: "text-[11px] text-white leading-tight mb-1" }, /* @__PURE__ */ React42.createElement("span", { className: "text-white/60" }, "AFT Balance")), isLoading ? /* @__PURE__ */ React42.createElement("div", { className: "h-8 w-32 bg-white/10 animate-pulse rounded mt-2" }) : /* @__PURE__ */ React42.createElement("span", { className: "text-lg text-white tracking-tight mt-1" }, referralCoins)))), /* @__PURE__ */ React42.createElement("div", { className: "flex flex-col gap-6 p-4 rounded-3xl bg-white w-full" }, /* @__PURE__ */ React42.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React42.createElement("div", { className: "border border-neutral-200 rounded-xl p-4 flex items-center justify-between" }, /* @__PURE__ */ React42.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ React42.createElement("span", { className: "text-[11px] tracking-widest text-neutral-400 " }, "Invitation Code"), isLoading && !referralCode ? /* @__PURE__ */ React42.createElement("div", { className: "h-6 w-24 bg-neutral-50 animate-pulse rounded mt-1" }) : /* @__PURE__ */ React42.createElement("span", { className: "text-sm text-black tracking-widest" }, referralCode)), /* @__PURE__ */ React42.createElement(
3951
3960
  "button",
3952
3961
  {
3953
3962
  onClick: handleCopyCode,
3954
3963
  disabled: isLoading || !referralCode,
3955
3964
  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"
3956
3965
  },
3957
- /* @__PURE__ */ React42.createElement(HugeiconsIcon28, { icon: Copy01Icon4, size: 18 })
3966
+ /* @__PURE__ */ React42.createElement(HugeiconsIcon29, { icon: Copy01Icon4, size: 18 })
3958
3967
  )), /* @__PURE__ */ React42.createElement("div", { className: "flex items-center justify-between text-[13px] text-neutral-500 px-1" }, /* @__PURE__ */ React42.createElement("span", null, "Total Invited: ", /* @__PURE__ */ React42.createElement("span", { className: "text-black " }, isLoading && !totalCount ? "-" : totalCount)))), /* @__PURE__ */ React42.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ React42.createElement(PageSpinner5, null) : /* @__PURE__ */ React42.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React42.createElement("div", null, referrals.length === 0 ? /* @__PURE__ */ React42.createElement("div", { className: "flex flex-col items-center justify-center py-8 opacity-50" }, /* @__PURE__ */ React42.createElement("p", { className: "text-xs text-neutral-500 text-center" }, "You haven't referred anyone yet.")) : referrals.map((ref, idx) => /* @__PURE__ */ React42.createElement(
3959
3968
  "div",
3960
3969
  {
@@ -3977,7 +3986,7 @@ var UniversalReferralPage = ({
3977
3986
  disabled: currentPage <= 1 || isLoading,
3978
3987
  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"
3979
3988
  },
3980
- /* @__PURE__ */ React42.createElement(HugeiconsIcon28, { icon: ArrowLeft01Icon10, size: 14 })
3989
+ /* @__PURE__ */ React42.createElement(HugeiconsIcon29, { icon: ArrowLeft01Icon10, size: 14 })
3981
3990
  ), /* @__PURE__ */ React42.createElement(
3982
3991
  "button",
3983
3992
  {
@@ -3985,7 +3994,7 @@ var UniversalReferralPage = ({
3985
3994
  disabled: currentPage >= totalPages || isLoading || totalPages === 0,
3986
3995
  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"
3987
3996
  },
3988
- /* @__PURE__ */ React42.createElement(HugeiconsIcon28, { icon: ArrowRight01Icon8, size: 14 })
3997
+ /* @__PURE__ */ React42.createElement(HugeiconsIcon29, { icon: ArrowRight01Icon8, size: 14 })
3989
3998
  )))))));
3990
3999
  };
3991
4000
 
@@ -3993,11 +4002,11 @@ var UniversalReferralPage = ({
3993
4002
  import React43, { useState as useState29 } from "react";
3994
4003
  import Confetti2 from "react-confetti";
3995
4004
  import { useWindowSize as useWindowSize2 } from "react-use";
3996
- import { HugeiconsIcon as HugeiconsIcon29 } from "@hugeicons/react";
4005
+ import { HugeiconsIcon as HugeiconsIcon30 } from "@hugeicons/react";
3997
4006
  import {
3998
4007
  ArrowLeft01Icon as ArrowLeft01Icon11,
3999
4008
  CancelCircleIcon as CancelCircleIcon7,
4000
- Loading03Icon as Loading03Icon18
4009
+ Loading03Icon as Loading03Icon19
4001
4010
  } from "@hugeicons/core-free-icons";
4002
4011
  var CheckIcon2 = ({ className = "" }) => /* @__PURE__ */ React43.createElement("svg", { viewBox: "0 0 24 24", fill: "none", className: `w-4 h-4 shrink-0 ${className}`, xmlns: "http://www.w3.org/2000/svg" }, /* @__PURE__ */ React43.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "black" }), /* @__PURE__ */ React43.createElement("path", { d: "M8 12L11 15L16 9", stroke: "white", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
4003
4012
  var CrossIcon2 = ({ className = "" }) => /* @__PURE__ */ React43.createElement("svg", { viewBox: "0 0 24 24", fill: "none", className: `w-4 h-4 shrink-0 ${className}`, xmlns: "http://www.w3.org/2000/svg" }, /* @__PURE__ */ React43.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "#F5F5F5" }), /* @__PURE__ */ React43.createElement("path", { d: "M15 9L9 15M9 9l6 6", stroke: "#D4D4D4", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
@@ -4087,9 +4096,9 @@ var UniversalCardActionPage = ({
4087
4096
  onClick: onBackHandler,
4088
4097
  className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[13px] outline-none"
4089
4098
  },
4090
- /* @__PURE__ */ React43.createElement(HugeiconsIcon29, { icon: ArrowLeft01Icon11, size: 16 }),
4099
+ /* @__PURE__ */ React43.createElement(HugeiconsIcon30, { icon: ArrowLeft01Icon11, size: 16 }),
4091
4100
  " Back"
4092
- )), /* @__PURE__ */ React43.createElement("div", { className: "flex flex-col animate-in max-w-5xl w-full mx-auto fade-in duration-300" }, /* @__PURE__ */ React43.createElement("div", { className: "w-full flex flex-col items-center text-center mb-10 px-4" }, /* @__PURE__ */ React43.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-400 block mb-3" }, cardType, " CARD ACTIVATION"), /* @__PURE__ */ React43.createElement("h1", { className: "text-2xl sm:text-3xl text-black tracking-tight mb-2" }, "Select Your Tier"), /* @__PURE__ */ React43.createElement("p", { className: "text-xs text-neutral-500 max-w-lg" }, hasPreordered ? "You have already secured your card. Upgrades are disabled while your order is pending processing." : "Upgrade your tier or secure your card now. Pre-orders guarantee priority processing when the batch goes live.")), isLoadingData ? /* @__PURE__ */ React43.createElement("div", { className: "flex justify-center py-20" }, /* @__PURE__ */ React43.createElement(HugeiconsIcon29, { icon: Loading03Icon18, size: 32, className: "animate-spin text-neutral-300" })) : /* @__PURE__ */ React43.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5 w-full max-w-4xl mx-auto px-4" }, availableTiers.map((tier) => {
4101
+ )), /* @__PURE__ */ React43.createElement("div", { className: "flex flex-col animate-in max-w-5xl w-full mx-auto fade-in duration-300" }, /* @__PURE__ */ React43.createElement("div", { className: "w-full flex flex-col items-center text-center mb-10 px-4" }, /* @__PURE__ */ React43.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-400 block mb-3" }, cardType, " CARD ACTIVATION"), /* @__PURE__ */ React43.createElement("h1", { className: "text-2xl sm:text-3xl text-black tracking-tight mb-2" }, "Select Your Tier"), /* @__PURE__ */ React43.createElement("p", { className: "text-xs text-neutral-500 max-w-lg" }, hasPreordered ? "You have already secured your card. Upgrades are disabled while your order is pending processing." : "Upgrade your tier or secure your card now. Pre-orders guarantee priority processing when the batch goes live.")), isLoadingData ? /* @__PURE__ */ React43.createElement("div", { className: "flex justify-center py-20" }, /* @__PURE__ */ React43.createElement(HugeiconsIcon30, { icon: Loading03Icon19, size: 32, className: "animate-spin text-neutral-300" })) : /* @__PURE__ */ React43.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5 w-full max-w-4xl mx-auto px-4" }, availableTiers.map((tier) => {
4093
4102
  const isCurrent = tier.tierName === currentTier;
4094
4103
  const isCardDisabled = hasPreordered && !isCurrent;
4095
4104
  const isHighlighted = hasPreordered && isCurrent;
@@ -4111,7 +4120,7 @@ var UniversalCardActionPage = ({
4111
4120
  className: `absolute -top-10 -right-10 w-48 h-48 bg-linear-to-bl ${getTierGlow(tier.tierName)} to-transparent opacity-40 blur-2xl rounded-full pointer-events-none`
4112
4121
  }
4113
4122
  ),
4114
- isThisCardLoading && /* @__PURE__ */ React43.createElement("div", { className: "absolute inset-0 z-50 flex items-center justify-center bg-white/40 backdrop-blur-[1px]" }, /* @__PURE__ */ React43.createElement(HugeiconsIcon29, { icon: Loading03Icon18, size: 32, className: "animate-spin text-black" })),
4123
+ isThisCardLoading && /* @__PURE__ */ React43.createElement("div", { className: "absolute inset-0 z-50 flex items-center justify-center bg-white/40 backdrop-blur-[1px]" }, /* @__PURE__ */ React43.createElement(HugeiconsIcon30, { icon: Loading03Icon19, size: 32, className: "animate-spin text-black" })),
4115
4124
  /* @__PURE__ */ React43.createElement("div", { className: "mb-6 relative z-10" }, /* @__PURE__ */ React43.createElement("div", { className: "flex justify-between items-start mb-1" }, /* @__PURE__ */ React43.createElement("span", { className: "text-black text-sm tracking-widest " }, formatTierName(tier.tierName)), isCurrent && !hasPreordered && /* @__PURE__ */ React43.createElement("span", { className: "text-[9px] bg-neutral-100 text-neutral-600 px-2 py-1 rounded-full tracking-wider" }, "Current")), /* @__PURE__ */ React43.createElement("div", { className: "flex items-baseline gap-1 mt-2" }, /* @__PURE__ */ React43.createElement("h3", { className: "text-3xl font-light text-black" }, tier.priceUSD === 0 ? "Free" : `$${tier.priceUSD.toFixed(2)}`), tier.priceUSD > 0 && /* @__PURE__ */ React43.createElement("span", { className: "text-xs text-neutral-500" }, tier.isYearly ? "/ year" : "one-time")), /* @__PURE__ */ React43.createElement("p", { className: "text-[13px] text-neutral-500 mt-3 min-h-12 leading-relaxed" }, tier.description)),
4116
4125
  /* @__PURE__ */ React43.createElement("div", { className: "flex flex-col gap-2.5 mb-6 relative z-10" }, /* @__PURE__ */ React43.createElement("div", { className: isPrimaryDisabled ? "opacity-50 pointer-events-none" : "" }, /* @__PURE__ */ React43.createElement(
4117
4126
  ThreeDActionButton,
@@ -4151,7 +4160,7 @@ var UniversalCardActionPage = ({
4151
4160
  onClick: () => setSelectedTier(null),
4152
4161
  className: "text-neutral-400 hover:text-black transition-colors outline-none disabled:opacity-50"
4153
4162
  },
4154
- /* @__PURE__ */ React43.createElement(HugeiconsIcon29, { icon: CancelCircleIcon7, size: 18 })
4163
+ /* @__PURE__ */ React43.createElement(HugeiconsIcon30, { icon: CancelCircleIcon7, size: 18 })
4155
4164
  )), /* @__PURE__ */ React43.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 relative z-10" }, /* @__PURE__ */ React43.createElement("div", { className: "flex flex-col items-center justify-center mb-6" }, /* @__PURE__ */ React43.createElement("p", { className: "text-2xl text-black mb-1" }, selectedTier.priceUSD === 0 ? "Free" : `$${selectedTier.priceUSD.toFixed(2)}`), /* @__PURE__ */ React43.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__ */ React43.createElement("div", { className: "grid grid-cols-1 gap-y-6 mb-8 mt-4" }, /* @__PURE__ */ React43.createElement("div", null, /* @__PURE__ */ React43.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-400 block mb-1" }, "Action"), /* @__PURE__ */ React43.createElement("span", { className: "text-[13px] text-black " }, intendedAction === "upgrade" ? `Upgrade to ${formatTierName(selectedTier.tierName)}` : `Pre-order Card`)), intendedAction === "pre_order" && selectedTier.priceUSD > 0 && /* @__PURE__ */ React43.createElement("div", null, /* @__PURE__ */ React43.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-400 block mb-1" }, "Payment Notice"), /* @__PURE__ */ React43.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__ */ React43.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React43.createElement(
4156
4165
  ThreeDActionButton,
4157
4166
  {
@@ -4185,7 +4194,7 @@ var UniversalCardActionPage = ({
4185
4194
 
4186
4195
  // src/components/PinDialerBottomSheet.tsx
4187
4196
  import React44, { useState as useState30, useEffect as useEffect16 } from "react";
4188
- import { HugeiconsIcon as HugeiconsIcon30 } from "@hugeicons/react";
4197
+ import { HugeiconsIcon as HugeiconsIcon31 } from "@hugeicons/react";
4189
4198
  import { CancelCircleIcon as CancelCircleIcon8 } from "@hugeicons/core-free-icons";
4190
4199
  var PinDialerBottomSheet = ({
4191
4200
  isOpen,
@@ -4221,7 +4230,7 @@ var PinDialerBottomSheet = ({
4221
4230
  disabled: isVerifying,
4222
4231
  className: "text-neutral-400 hover:text-black transition-colors outline-none disabled:opacity-50"
4223
4232
  },
4224
- /* @__PURE__ */ React44.createElement(HugeiconsIcon30, { icon: CancelCircleIcon8, size: 20 })
4233
+ /* @__PURE__ */ React44.createElement(HugeiconsIcon31, { icon: CancelCircleIcon8, size: 20 })
4225
4234
  )), /* @__PURE__ */ React44.createElement("div", { className: "flex flex-col px-6 pb-6 pt-2 relative" }, /* @__PURE__ */ React44.createElement("form", { onSubmit: handleSubmit, className: "flex flex-col gap-6" }, /* @__PURE__ */ React44.createElement(
4226
4235
  TextInput,
4227
4236
  {
@@ -4248,7 +4257,7 @@ var PinDialerBottomSheet = ({
4248
4257
  // src/components/UniversalBuyCryptoPage.tsx
4249
4258
  import React45, { useState as useState31, useEffect as useEffect17, useRef as useRef11, useCallback } from "react";
4250
4259
  import toast11 from "react-hot-toast";
4251
- import { HugeiconsIcon as HugeiconsIcon31 } from "@hugeicons/react";
4260
+ import { HugeiconsIcon as HugeiconsIcon32 } from "@hugeicons/react";
4252
4261
  import {
4253
4262
  ArrowLeft01Icon as ArrowLeft01Icon12,
4254
4263
  CheckmarkCircle02Icon
@@ -4428,7 +4437,7 @@ var UniversalBuyCryptoPage = ({
4428
4437
  }
4429
4438
  };
4430
4439
  const isButtonDisabled = isSubmitting || isCalculating || !fiatAmount || !cryptoAmount || !isAddressValid || !currentRateKey;
4431
- 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), !hideBackButton && /* @__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-[13px] outline-none" }, /* @__PURE__ */ React45.createElement(HugeiconsIcon31, { icon: ArrowLeft01Icon12, size: 16 }), " Back")), /* @__PURE__ */ React45.createElement("div", { className: "flex flex-col gap-1 mb-6 px-1" }, /* @__PURE__ */ React45.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Buy Crypto"), /* @__PURE__ */ React45.createElement("p", { className: "text-xs text-neutral-500" }, "Purchase digital assets instantly in your local currency with direct wallet delivery.")), /* @__PURE__ */ React45.createElement("div", { className: "flex flex-col gap-6 p-6 sm:p-8 rounded-3xl bg-white w-full " }, /* @__PURE__ */ React45.createElement("div", { className: "relative flex flex-col gap-3" }, /* @__PURE__ */ React45.createElement("div", { className: "border border-neutral-200 rounded-2xl p-4 flex items-center justify-between transition-all focus-within:border-black" }, /* @__PURE__ */ React45.createElement("div", { className: "flex flex-col gap-1 flex-1 pr-3 min-w-0" }, /* @__PURE__ */ React45.createElement("span", { className: "text-[11px] tracking-widest text-neutral-400" }, "You Pay (", fiatCurrency.code, ")"), isCalculating && activeSource === "CRYPTO" ? /* @__PURE__ */ React45.createElement("div", { className: "h-7 w-32 bg-neutral-100 animate-pulse rounded-md mt-1" }) : /* @__PURE__ */ React45.createElement(
4440
+ 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), !hideBackButton && /* @__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-[13px] outline-none" }, /* @__PURE__ */ React45.createElement(HugeiconsIcon32, { icon: ArrowLeft01Icon12, size: 16 }), " Back")), /* @__PURE__ */ React45.createElement("div", { className: "flex flex-col gap-1 mb-6 px-1" }, /* @__PURE__ */ React45.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Buy Crypto"), /* @__PURE__ */ React45.createElement("p", { className: "text-xs text-neutral-500" }, "Purchase digital assets instantly in your local currency with direct wallet delivery.")), /* @__PURE__ */ React45.createElement("div", { className: "flex flex-col gap-6 p-6 sm:p-8 rounded-3xl bg-white w-full " }, /* @__PURE__ */ React45.createElement("div", { className: "relative flex flex-col gap-3" }, /* @__PURE__ */ React45.createElement("div", { className: "border border-neutral-200 rounded-2xl p-4 flex items-center justify-between transition-all focus-within:border-black" }, /* @__PURE__ */ React45.createElement("div", { className: "flex flex-col gap-1 flex-1 pr-3 min-w-0" }, /* @__PURE__ */ React45.createElement("span", { className: "text-[11px] tracking-widest text-neutral-400" }, "You Pay (", fiatCurrency.code, ")"), isCalculating && activeSource === "CRYPTO" ? /* @__PURE__ */ React45.createElement("div", { className: "h-7 w-32 bg-neutral-100 animate-pulse rounded-md mt-1" }) : /* @__PURE__ */ React45.createElement(
4432
4441
  "input",
4433
4442
  {
4434
4443
  type: "text",
@@ -4505,7 +4514,7 @@ var UniversalBuyCryptoPage = ({
4505
4514
  },
4506
4515
  /* @__PURE__ */ React45.createElement(CircularLogo, { src: c.logoUrl, alt: c.name, fallbackText: c.code }),
4507
4516
  /* @__PURE__ */ React45.createElement("div", { className: "flex flex-col flex-1 min-w-0" }, /* @__PURE__ */ React45.createElement("span", { className: "text-xs text-black truncate" }, c.name), /* @__PURE__ */ React45.createElement("span", { className: "text-[11px] text-neutral-400" }, c.code)),
4508
- isSelected && /* @__PURE__ */ React45.createElement(HugeiconsIcon31, { icon: CheckmarkCircle02Icon, size: 16, className: "text-black" })
4517
+ isSelected && /* @__PURE__ */ React45.createElement(HugeiconsIcon32, { icon: CheckmarkCircle02Icon, size: 16, className: "text-black" })
4509
4518
  );
4510
4519
  }))))), isNetworkDialogOpen && /* @__PURE__ */ React45.createElement("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/40" }, /* @__PURE__ */ React45.createElement("div", { className: "absolute inset-0", onClick: () => setIsNetworkDialogOpen(false) }), /* @__PURE__ */ React45.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__ */ React45.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__ */ React45.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__ */ React45.createElement("path", { d: "M18 6 6 18" }), /* @__PURE__ */ React45.createElement("path", { d: "m6 6 12 12" }))), /* @__PURE__ */ React45.createElement("div", { className: "p-6 sm:p-8" }, /* @__PURE__ */ React45.createElement("div", { className: "mb-6 mt-2" }, /* @__PURE__ */ React45.createElement("h2", { className: "text-xl text-black tracking-tight mb-2" }, "Select Network"), /* @__PURE__ */ React45.createElement("p", { className: "text-[13px] text-neutral-500 leading-relaxed" }, "Ensure your receiving wallet supports this network.")), /* @__PURE__ */ React45.createElement("div", { className: "flex flex-col gap-2 max-h-72 overflow-y-auto custom-scrollbar pr-1" }, selectedCrypto?.networks?.map((net) => {
4511
4520
  const isSelected = net.id === selectedNetwork.id;
@@ -4521,18 +4530,18 @@ var UniversalBuyCryptoPage = ({
4521
4530
  },
4522
4531
  /* @__PURE__ */ React45.createElement(CircularLogo, { src: net.logoUrl || selectedCrypto.logoUrl, alt: net.name, fallbackText: net.symbol }),
4523
4532
  /* @__PURE__ */ React45.createElement("div", { className: "flex flex-col flex-1 min-w-0" }, /* @__PURE__ */ React45.createElement("span", { className: "text-xs text-black truncate" }, net.name), /* @__PURE__ */ React45.createElement("span", { className: "text-[11px] text-neutral-400" }, net.symbol)),
4524
- isSelected && /* @__PURE__ */ React45.createElement(HugeiconsIcon31, { icon: CheckmarkCircle02Icon, size: 16, className: "text-black" })
4533
+ isSelected && /* @__PURE__ */ React45.createElement(HugeiconsIcon32, { icon: CheckmarkCircle02Icon, size: 16, className: "text-black" })
4525
4534
  );
4526
4535
  }))))));
4527
4536
  };
4528
4537
 
4529
4538
  // src/components/UniversalHuddlesPage.tsx
4530
4539
  import React46, { useState as useState32 } from "react";
4531
- import { HugeiconsIcon as HugeiconsIcon32 } from "@hugeicons/react";
4540
+ import { HugeiconsIcon as HugeiconsIcon33 } from "@hugeicons/react";
4532
4541
  import {
4533
4542
  ArrowLeft01Icon as ArrowLeft01Icon13,
4534
4543
  ArrowRight01Icon as ArrowRight01Icon9,
4535
- Loading03Icon as Loading03Icon20
4544
+ Loading03Icon as Loading03Icon21
4536
4545
  } from "@hugeicons/core-free-icons";
4537
4546
  var HuddleAvatar = ({ src, status, sizeClass = "w-10 h-10" }) => {
4538
4547
  const [loaded, setLoaded] = useState32(false);
@@ -4553,7 +4562,7 @@ var HuddleAvatar = ({ src, status, sizeClass = "w-10 h-10" }) => {
4553
4562
  return "bg-neutral-200";
4554
4563
  }
4555
4564
  };
4556
- return /* @__PURE__ */ React46.createElement("div", { className: `relative shrink-0 ${sizeClass}` }, /* @__PURE__ */ React46.createElement("div", { className: "w-full h-full rounded-lg bg-neutral-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ React46.createElement(HugeiconsIcon32, { icon: Loading03Icon20, className: "animate-spin text-neutral-400 absolute", size: 14 }), /* @__PURE__ */ React46.createElement(
4565
+ return /* @__PURE__ */ React46.createElement("div", { className: `relative shrink-0 ${sizeClass}` }, /* @__PURE__ */ React46.createElement("div", { className: "w-full h-full rounded-lg bg-neutral-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ React46.createElement(HugeiconsIcon33, { icon: Loading03Icon21, className: "animate-spin text-neutral-400 absolute", size: 14 }), /* @__PURE__ */ React46.createElement(
4557
4566
  "img",
4558
4567
  {
4559
4568
  src: finalSrc,
@@ -4564,7 +4573,7 @@ var HuddleAvatar = ({ src, status, sizeClass = "w-10 h-10" }) => {
4564
4573
  }
4565
4574
  )), /* @__PURE__ */ React46.createElement("div", { className: `absolute -bottom-1 -right-1 w-3.5 h-3.5 rounded-full border-2 border-white z-10 ${getStatusColor()}` }));
4566
4575
  };
4567
- var PageSpinner6 = () => /* @__PURE__ */ React46.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon32, { icon: Loading03Icon20, size: 32, className: "animate-spin mb-4 text-black" }));
4576
+ var PageSpinner6 = () => /* @__PURE__ */ React46.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon33, { icon: Loading03Icon21, size: 32, className: "animate-spin mb-4 text-black" }));
4568
4577
  var UniversalHuddlesPage = ({
4569
4578
  headerTitle,
4570
4579
  headerDescription,
@@ -4592,7 +4601,7 @@ var UniversalHuddlesPage = ({
4592
4601
  },
4593
4602
  /* @__PURE__ */ React46.createElement(HuddleAvatar, { src: huddle.imageUrl, status: huddle.status }),
4594
4603
  /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ React46.createElement("p", { className: "text-[13px] text-black tracking-tight truncate" }, huddle.name), /* @__PURE__ */ React46.createElement("span", { className: "text-[11px] text-neutral-500 truncate block mt-0.5" }, huddle.timeString)),
4595
- /* @__PURE__ */ React46.createElement(HugeiconsIcon32, { icon: ArrowRight01Icon9, size: 14, className: "shrink-0 text-neutral-400" })
4604
+ /* @__PURE__ */ React46.createElement(HugeiconsIcon33, { icon: ArrowRight01Icon9, size: 14, className: "shrink-0 text-neutral-400" })
4596
4605
  ))), /* @__PURE__ */ React46.createElement("div", { className: "flex items-center justify-between pt-6 mt-2 " }, /* @__PURE__ */ React46.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em]" }, "Page ", currentPage, " of ", totalPages === 0 ? 1 : totalPages), /* @__PURE__ */ React46.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React46.createElement(
4597
4606
  "button",
4598
4607
  {
@@ -4600,7 +4609,7 @@ var UniversalHuddlesPage = ({
4600
4609
  disabled: currentPage <= 1 || isLoading,
4601
4610
  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"
4602
4611
  },
4603
- /* @__PURE__ */ React46.createElement(HugeiconsIcon32, { icon: ArrowLeft01Icon13, size: 14 })
4612
+ /* @__PURE__ */ React46.createElement(HugeiconsIcon33, { icon: ArrowLeft01Icon13, size: 14 })
4604
4613
  ), /* @__PURE__ */ React46.createElement(
4605
4614
  "button",
4606
4615
  {
@@ -4608,18 +4617,18 @@ var UniversalHuddlesPage = ({
4608
4617
  disabled: currentPage >= totalPages || isLoading || totalPages === 0,
4609
4618
  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"
4610
4619
  },
4611
- /* @__PURE__ */ React46.createElement(HugeiconsIcon32, { icon: ArrowRight01Icon9, size: 14 })
4620
+ /* @__PURE__ */ React46.createElement(HugeiconsIcon33, { icon: ArrowRight01Icon9, size: 14 })
4612
4621
  )))))));
4613
4622
  };
4614
4623
 
4615
4624
  // src/components/UniversalMembersPage.tsx
4616
4625
  import React47, { useState as useState33, useEffect as useEffect18, useRef as useRef12 } from "react";
4617
- import { HugeiconsIcon as HugeiconsIcon33 } from "@hugeicons/react";
4626
+ import { HugeiconsIcon as HugeiconsIcon34 } from "@hugeicons/react";
4618
4627
  import toast12 from "react-hot-toast";
4619
4628
  import {
4620
4629
  ArrowLeft01Icon as ArrowLeft01Icon14,
4621
4630
  ArrowRight01Icon as ArrowRight01Icon10,
4622
- Loading03Icon as Loading03Icon21,
4631
+ Loading03Icon as Loading03Icon22,
4623
4632
  Search01Icon as Search01Icon3,
4624
4633
  SearchList02Icon as SearchList02Icon2,
4625
4634
  ListSettingIcon as ListSettingIcon2
@@ -4643,7 +4652,7 @@ var MemberAvatar = ({ src, status }) => {
4643
4652
  return "bg-neutral-200";
4644
4653
  }
4645
4654
  };
4646
- return /* @__PURE__ */ React47.createElement("div", { className: "relative w-10 h-10 shrink-0" }, /* @__PURE__ */ React47.createElement("div", { className: "w-full h-full rounded-lg bg-neutral-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ React47.createElement(HugeiconsIcon33, { icon: Loading03Icon21, className: "animate-spin text-neutral-400 absolute", size: 14 }), /* @__PURE__ */ React47.createElement(
4655
+ return /* @__PURE__ */ React47.createElement("div", { className: "relative w-10 h-10 shrink-0" }, /* @__PURE__ */ React47.createElement("div", { className: "w-full h-full rounded-lg bg-neutral-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ React47.createElement(HugeiconsIcon34, { icon: Loading03Icon22, className: "animate-spin text-neutral-400 absolute", size: 14 }), /* @__PURE__ */ React47.createElement(
4647
4656
  "img",
4648
4657
  {
4649
4658
  src: finalSrc,
@@ -4654,7 +4663,7 @@ var MemberAvatar = ({ src, status }) => {
4654
4663
  }
4655
4664
  )), /* @__PURE__ */ React47.createElement("div", { className: `absolute -bottom-1 -right-1 w-2.5 h-2.5 rounded-full border-2 border-white z-10 ${getStatusColor()}` }));
4656
4665
  };
4657
- var PageSpinner7 = () => /* @__PURE__ */ React47.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon33, { icon: Loading03Icon21, size: 32, className: "animate-spin mb-4 text-black" }));
4666
+ var PageSpinner7 = () => /* @__PURE__ */ React47.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon34, { icon: Loading03Icon22, size: 32, className: "animate-spin mb-4 text-black" }));
4658
4667
  var UniversalMembersPage = ({
4659
4668
  headerTitle,
4660
4669
  headerDescription,
@@ -4754,7 +4763,7 @@ var UniversalMembersPage = ({
4754
4763
  onClose: () => setMemberToRemove(null),
4755
4764
  onConfirm: handleConfirmRemove
4756
4765
  }
4757
- ), !isInviteMode && /* @__PURE__ */ React47.createElement("div", { className: "flex flex-row flex-nowrap mb-4 items-center justify-between gap-4 w-full animate-in fade-in duration-300" }, /* @__PURE__ */ React47.createElement("div", { className: "relative flex-1 min-w-0 max-w-full" }, /* @__PURE__ */ React47.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon33, { icon: Search01Icon3, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ React47.createElement(
4766
+ ), !isInviteMode && /* @__PURE__ */ React47.createElement("div", { className: "flex flex-row flex-nowrap mb-4 items-center justify-between gap-4 w-full animate-in fade-in duration-300" }, /* @__PURE__ */ React47.createElement("div", { className: "relative flex-1 min-w-0 max-w-full" }, /* @__PURE__ */ React47.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon34, { icon: Search01Icon3, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ React47.createElement(
4758
4767
  "input",
4759
4768
  {
4760
4769
  type: "text",
@@ -4769,14 +4778,14 @@ var UniversalMembersPage = ({
4769
4778
  onClick: () => setIsStatusModalOpen(true),
4770
4779
  className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-neutral-500 hover:text-black transition-colors outline-none"
4771
4780
  },
4772
- /* @__PURE__ */ React47.createElement(HugeiconsIcon33, { icon: SearchList02Icon2, size: 16 })
4781
+ /* @__PURE__ */ React47.createElement(HugeiconsIcon34, { icon: SearchList02Icon2, size: 16 })
4773
4782
  ), /* @__PURE__ */ React47.createElement(
4774
4783
  "button",
4775
4784
  {
4776
4785
  onClick: () => setIsRoleModalOpen(true),
4777
4786
  className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-neutral-500 hover:text-black transition-colors outline-none"
4778
4787
  },
4779
- /* @__PURE__ */ React47.createElement(HugeiconsIcon33, { icon: ListSettingIcon2, size: 16 })
4788
+ /* @__PURE__ */ React47.createElement(HugeiconsIcon34, { icon: ListSettingIcon2, size: 16 })
4780
4789
  ))), /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ React47.createElement("div", { className: "flex flex-row items-start justify-between gap-4" }, /* @__PURE__ */ React47.createElement("div", null, /* @__PURE__ */ React47.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, isInviteMode ? "Add Member" : headerTitle), headerDescription && !isInviteMode && /* @__PURE__ */ React47.createElement("p", { className: "text-[12px] text-neutral-500" }, headerDescription)), !isInviteMode && /* @__PURE__ */ React47.createElement(
4781
4790
  "button",
4782
4791
  {
@@ -4844,7 +4853,7 @@ var UniversalMembersPage = ({
4844
4853
  disabled: currentPage <= 1 || isListLoading,
4845
4854
  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"
4846
4855
  },
4847
- /* @__PURE__ */ React47.createElement(HugeiconsIcon33, { icon: ArrowLeft01Icon14, size: 14 })
4856
+ /* @__PURE__ */ React47.createElement(HugeiconsIcon34, { icon: ArrowLeft01Icon14, size: 14 })
4848
4857
  ), /* @__PURE__ */ React47.createElement(
4849
4858
  "button",
4850
4859
  {
@@ -4852,7 +4861,7 @@ var UniversalMembersPage = ({
4852
4861
  disabled: currentPage >= totalPages || isListLoading || totalPages === 0,
4853
4862
  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"
4854
4863
  },
4855
- /* @__PURE__ */ React47.createElement(HugeiconsIcon33, { icon: ArrowRight01Icon10, size: 14 })
4864
+ /* @__PURE__ */ React47.createElement(HugeiconsIcon34, { icon: ArrowRight01Icon10, size: 14 })
4856
4865
  )))))), isStatusModalOpen && /* @__PURE__ */ React47.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React47.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: () => setIsStatusModalOpen(false) }), /* @__PURE__ */ React47.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__ */ React47.createElement("div", { className: "p-6 text-center w-full mb-2" }, /* @__PURE__ */ React47.createElement("h3", { className: "text-[14px] text-black tracking-tight" }, "Status Filter")), /* @__PURE__ */ React47.createElement("div", { className: "w-full flex flex-col pl-2 pr-2 gap-1" }, ["ALL", "ACTIVE", "BUSY", "OFFLINE", "AWAY"].map((option) => /* @__PURE__ */ React47.createElement(
4857
4866
  "button",
4858
4867
  {
@@ -4881,10 +4890,10 @@ var UniversalMembersPage = ({
4881
4890
  // src/components/UniversalHome2.tsx
4882
4891
  import React48, { useState as useState34 } from "react";
4883
4892
  import { useRouter as useRouter3 } from "next/navigation";
4884
- import { HugeiconsIcon as HugeiconsIcon34 } from "@hugeicons/react";
4893
+ import { HugeiconsIcon as HugeiconsIcon35 } from "@hugeicons/react";
4885
4894
  import toast13 from "react-hot-toast";
4886
4895
  import {
4887
- Loading03Icon as Loading03Icon22,
4896
+ Loading03Icon as Loading03Icon23,
4888
4897
  Notification01Icon as Notification01Icon2,
4889
4898
  ArrowLeft01Icon as ArrowLeft01Icon15,
4890
4899
  ArrowRight01Icon as ArrowRight01Icon11,
@@ -4898,7 +4907,7 @@ var OrgAvatar = ({ src, sizeClass = "w-10 h-10" }) => {
4898
4907
  const [error, setError] = useState34(false);
4899
4908
  const defaultAvatar = "https://storage.googleapis.com/retina-cloud-v2/assets/images/office_a.avif";
4900
4909
  const finalSrc = error || !src ? defaultAvatar : src;
4901
- return /* @__PURE__ */ React48.createElement("div", { className: `relative shrink-0 ${sizeClass}` }, /* @__PURE__ */ React48.createElement("div", { className: "w-full h-full rounded-lg bg-neutral-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: Loading03Icon22, className: "animate-spin text-neutral-400 absolute", size: 14 }), /* @__PURE__ */ React48.createElement(
4910
+ return /* @__PURE__ */ React48.createElement("div", { className: `relative shrink-0 ${sizeClass}` }, /* @__PURE__ */ React48.createElement("div", { className: "w-full h-full rounded-lg bg-neutral-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ React48.createElement(HugeiconsIcon35, { icon: Loading03Icon23, className: "animate-spin text-neutral-400 absolute", size: 14 }), /* @__PURE__ */ React48.createElement(
4902
4911
  "img",
4903
4912
  {
4904
4913
  src: finalSrc,
@@ -4974,7 +4983,7 @@ var UniversalHome2 = ({
4974
4983
  onClose: () => setShowLogoutConfirm(false),
4975
4984
  onConfirm: confirmLogout
4976
4985
  }
4977
- ), /* @__PURE__ */ React48.createElement("div", { className: "flex items-center justify-between w-full pb-4" }, /* @__PURE__ */ React48.createElement("div", { className: "w-10 h-10 shrink-0 cursor-pointer", onClick: () => setShowOrgSwitcher(true) }, /* @__PURE__ */ React48.createElement("div", { className: "relative w-full h-full rounded-lg overflow-hidden bg-white flex items-center justify-center" }, !isAvatarLoaded && /* @__PURE__ */ React48.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-10 bg-white" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: Loading03Icon22, size: 16, className: "animate-spin text-black" })), /* @__PURE__ */ React48.createElement(
4986
+ ), /* @__PURE__ */ React48.createElement("div", { className: "flex items-center justify-between w-full pb-4" }, /* @__PURE__ */ React48.createElement("div", { className: "w-10 h-10 shrink-0 cursor-pointer", onClick: () => setShowOrgSwitcher(true) }, /* @__PURE__ */ React48.createElement("div", { className: "relative w-full h-full rounded-lg overflow-hidden bg-white flex items-center justify-center" }, !isAvatarLoaded && /* @__PURE__ */ React48.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-10 bg-white" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon35, { icon: Loading03Icon23, size: 16, className: "animate-spin text-black" })), /* @__PURE__ */ React48.createElement(
4978
4987
  "img",
4979
4988
  {
4980
4989
  src: finalAvatarSrc,
@@ -4988,7 +4997,7 @@ var UniversalHome2 = ({
4988
4997
  onClick: () => router.push("/app/settings"),
4989
4998
  className: "relative w-10 h-10 flex items-center justify-center rounded-full bg-white outline-none hover:bg-neutral-50 transition-colors"
4990
4999
  },
4991
- /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: Settings03Icon, size: 20, className: "text-black" })
5000
+ /* @__PURE__ */ React48.createElement(HugeiconsIcon35, { icon: Settings03Icon, size: 20, className: "text-black" })
4992
5001
  ), /* @__PURE__ */ React48.createElement(
4993
5002
  "button",
4994
5003
  {
@@ -4998,7 +5007,7 @@ var UniversalHome2 = ({
4998
5007
  },
4999
5008
  className: "relative w-10 h-10 flex items-center justify-center rounded-full bg-white outline-none hover:bg-neutral-50 transition-colors"
5000
5009
  },
5001
- /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: Notification01Icon2, size: 20, className: "text-black" }),
5010
+ /* @__PURE__ */ React48.createElement(HugeiconsIcon35, { icon: Notification01Icon2, size: 20, className: "text-black" }),
5002
5011
  hasUnreadNotifs && /* @__PURE__ */ React48.createElement("span", { className: "absolute top-2.5 right-2.5 w-2 h-2 bg-red-500 rounded-full border border-white" })
5003
5012
  ))), /* @__PURE__ */ React48.createElement("div", { className: "w-full pb-6 flex flex-col gap-4" }, /* @__PURE__ */ React48.createElement("div", { className: "grid grid-cols-2 gap-2" }, /* @__PURE__ */ React48.createElement(
5004
5013
  "div",
@@ -5006,7 +5015,7 @@ var UniversalHome2 = ({
5006
5015
  onClick: createHuddleAction?.onClick,
5007
5016
  className: "bg-[#068afe] rounded-2xl p-5 relative overflow-hidden flex flex-col h-32 sm:h-36 cursor-pointer hover:opacity-90 transition-opacity"
5008
5017
  },
5009
- /* @__PURE__ */ React48.createElement("div", { className: "relative z-10 flex flex-col h-full justify-between" }, /* @__PURE__ */ React48.createElement("p", { className: "text-[15px] sm:text-[15px] text-white leading-tight" }, "Create", /* @__PURE__ */ React48.createElement("br", null), /* @__PURE__ */ React48.createElement("span", { className: "text-white/70" }, "Huddle")), /* @__PURE__ */ React48.createElement("div", { className: "w-8 h-8 rounded-full bg-white/10 flex items-center justify-center" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: ArrowUpRight01Icon3, size: 16, className: "text-white" }))),
5018
+ /* @__PURE__ */ React48.createElement("div", { className: "relative z-10 flex flex-col h-full justify-between" }, /* @__PURE__ */ React48.createElement("p", { className: "text-[15px] sm:text-[15px] text-white leading-tight" }, "Create", /* @__PURE__ */ React48.createElement("br", null), /* @__PURE__ */ React48.createElement("span", { className: "text-white/70" }, "Huddle")), /* @__PURE__ */ React48.createElement("div", { className: "w-8 h-8 rounded-full bg-white/10 flex items-center justify-center" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon35, { icon: ArrowUpRight01Icon3, size: 16, className: "text-white" }))),
5010
5019
  /* @__PURE__ */ React48.createElement(
5011
5020
  "img",
5012
5021
  {
@@ -5021,7 +5030,7 @@ var UniversalHome2 = ({
5021
5030
  onClick: joinHuddleAction?.onClick,
5022
5031
  className: "bg-[#ffffff] rounded-2xl p-5 relative overflow-hidden flex flex-col h-32 sm:h-36 cursor-pointer hover:opacity-90 transition-opacity"
5023
5032
  },
5024
- /* @__PURE__ */ React48.createElement("div", { className: "relative z-10 flex flex-col h-full justify-between" }, /* @__PURE__ */ React48.createElement("p", { className: "text-[15px] sm:text-[15px] text-black leading-tight" }, "Join", /* @__PURE__ */ React48.createElement("br", null), /* @__PURE__ */ React48.createElement("span", { className: "text-black/60" }, "Huddle")), /* @__PURE__ */ React48.createElement("div", { className: "w-8 h-8 rounded-full bg-black/5 flex items-center justify-center" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: ArrowRight01Icon11, size: 16, className: "text-black" }))),
5033
+ /* @__PURE__ */ React48.createElement("div", { className: "relative z-10 flex flex-col h-full justify-between" }, /* @__PURE__ */ React48.createElement("p", { className: "text-[15px] sm:text-[15px] text-black leading-tight" }, "Join", /* @__PURE__ */ React48.createElement("br", null), /* @__PURE__ */ React48.createElement("span", { className: "text-black/60" }, "Huddle")), /* @__PURE__ */ React48.createElement("div", { className: "w-8 h-8 rounded-full bg-black/5 flex items-center justify-center" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon35, { icon: ArrowRight01Icon11, size: 16, className: "text-black" }))),
5025
5034
  /* @__PURE__ */ React48.createElement(
5026
5035
  "img",
5027
5036
  {
@@ -5035,7 +5044,7 @@ var UniversalHome2 = ({
5035
5044
  {
5036
5045
  ...huddlesProps
5037
5046
  }
5038
- )), showOrgSwitcher && /* @__PURE__ */ React48.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React48.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowOrgSwitcher(false) }), /* @__PURE__ */ React48.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__ */ React48.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React48.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Switch Workspace"), /* @__PURE__ */ React48.createElement("button", { onClick: () => setShowOrgSwitcher(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: CancelCircleIcon9, size: 18 }))), /* @__PURE__ */ React48.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, /* @__PURE__ */ React48.createElement("div", { className: "flex flex-col" }, organizations?.length === 0 ? /* @__PURE__ */ React48.createElement("div", { className: "p-8 text-center text-xs text-neutral-400" }, "No organizations found.") : organizations?.map((org) => /* @__PURE__ */ React48.createElement(
5047
+ )), showOrgSwitcher && /* @__PURE__ */ React48.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React48.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowOrgSwitcher(false) }), /* @__PURE__ */ React48.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__ */ React48.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React48.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Switch Workspace"), /* @__PURE__ */ React48.createElement("button", { onClick: () => setShowOrgSwitcher(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon35, { icon: CancelCircleIcon9, size: 18 }))), /* @__PURE__ */ React48.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, /* @__PURE__ */ React48.createElement("div", { className: "flex flex-col" }, organizations?.length === 0 ? /* @__PURE__ */ React48.createElement("div", { className: "p-8 text-center text-xs text-neutral-400" }, "No organizations found.") : organizations?.map((org) => /* @__PURE__ */ React48.createElement(
5039
5048
  "button",
5040
5049
  {
5041
5050
  key: org.id,
@@ -5057,16 +5066,16 @@ var UniversalHome2 = ({
5057
5066
  },
5058
5067
  className: "w-full py-2.5 flex items-center justify-center gap-2 rounded-full border border-neutral-200 text-neutral-600 hover:bg-neutral-100 transition-colors outline-none text-[12px] tracking-wide"
5059
5068
  },
5060
- /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: Logout01Icon, size: 15 }),
5069
+ /* @__PURE__ */ React48.createElement(HugeiconsIcon35, { icon: Logout01Icon, size: 15 }),
5061
5070
  "Log Out"
5062
- )))), showNotifDialog && /* @__PURE__ */ React48.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React48.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ React48.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__ */ React48.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, selectedNotif ? /* @__PURE__ */ React48.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__ */ React48.createElement(HugeiconsIcon34, { icon: ArrowLeft01Icon15, size: 14 }), " Back") : /* @__PURE__ */ React48.createElement("h3", { className: "text-[15px] text-black tracking-tight flex items-center gap-2" }, "Notifications"), /* @__PURE__ */ React48.createElement("button", { onClick: () => setShowNotifDialog(false), disabled: isResolving, className: "text-neutral-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: CancelCircleIcon9, size: 18 }))), /* @__PURE__ */ React48.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2 relative" }, isNotifsLoading && !selectedNotif && /* @__PURE__ */ React48.createElement("div", { className: "absolute inset-0 z-10 flex items-center justify-center" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: Loading03Icon22, size: 28, className: "animate-spin text-black" })), selectedNotif ? /* @__PURE__ */ React48.createElement("div", { className: "p-4 text-left" }, /* @__PURE__ */ React48.createElement("h4", { className: "text-[14px] text-black mb-1" }, selectedNotif.title), /* @__PURE__ */ React48.createElement("span", { className: "text-[10px] text-neutral-400 tracking-widest mb-4 block" }, formatNotifDate(selectedNotif.createdAt)), /* @__PURE__ */ React48.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" && !selectedNotif.meta_json?.completed && /* @__PURE__ */ React48.createElement("div", { className: "mt-8 flex gap-3 pt-6 " }, /* @__PURE__ */ React48.createElement(
5071
+ )))), showNotifDialog && /* @__PURE__ */ React48.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React48.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ React48.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__ */ React48.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, selectedNotif ? /* @__PURE__ */ React48.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__ */ React48.createElement(HugeiconsIcon35, { icon: ArrowLeft01Icon15, size: 14 }), " Back") : /* @__PURE__ */ React48.createElement("h3", { className: "text-[15px] text-black tracking-tight flex items-center gap-2" }, "Notifications"), /* @__PURE__ */ React48.createElement("button", { onClick: () => setShowNotifDialog(false), disabled: isResolving, className: "text-neutral-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon35, { icon: CancelCircleIcon9, size: 18 }))), /* @__PURE__ */ React48.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2 relative" }, isNotifsLoading && !selectedNotif && /* @__PURE__ */ React48.createElement("div", { className: "absolute inset-0 z-10 flex items-center justify-center" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon35, { icon: Loading03Icon23, size: 28, className: "animate-spin text-black" })), selectedNotif ? /* @__PURE__ */ React48.createElement("div", { className: "p-4 text-left" }, /* @__PURE__ */ React48.createElement("h4", { className: "text-[14px] text-black mb-1" }, selectedNotif.title), /* @__PURE__ */ React48.createElement("span", { className: "text-[10px] text-neutral-400 tracking-widest mb-4 block" }, formatNotifDate(selectedNotif.createdAt)), /* @__PURE__ */ React48.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" && !selectedNotif.meta_json?.completed && /* @__PURE__ */ React48.createElement("div", { className: "mt-8 flex gap-3 pt-6 " }, /* @__PURE__ */ React48.createElement(
5063
5072
  "button",
5064
5073
  {
5065
5074
  onClick: () => handleResolve("ACCEPTED"),
5066
5075
  disabled: isResolving,
5067
5076
  className: "flex-1 py-2.5 rounded-full bg-black text-white text-[12px] tracking-wide transition-all outline-none hover:bg-neutral-800 flex justify-center items-center disabled:opacity-50"
5068
5077
  },
5069
- isResolving ? /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: Loading03Icon22, className: "animate-spin", size: 16 }) : "Accept"
5078
+ isResolving ? /* @__PURE__ */ React48.createElement(HugeiconsIcon35, { icon: Loading03Icon23, className: "animate-spin", size: 16 }) : "Accept"
5070
5079
  ), /* @__PURE__ */ React48.createElement(
5071
5080
  "button",
5072
5081
  {
@@ -5094,7 +5103,7 @@ var UniversalHome2 = ({
5094
5103
  onClick: () => onNotificationPageChange?.(notificationPage - 1),
5095
5104
  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"
5096
5105
  },
5097
- /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: ArrowLeft01Icon15, size: 12 })
5106
+ /* @__PURE__ */ React48.createElement(HugeiconsIcon35, { icon: ArrowLeft01Icon15, size: 12 })
5098
5107
  ), /* @__PURE__ */ React48.createElement(
5099
5108
  "button",
5100
5109
  {
@@ -5102,18 +5111,18 @@ var UniversalHome2 = ({
5102
5111
  onClick: () => onNotificationPageChange?.(notificationPage + 1),
5103
5112
  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"
5104
5113
  },
5105
- /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: ArrowRight01Icon11, size: 12 })
5114
+ /* @__PURE__ */ React48.createElement(HugeiconsIcon35, { icon: ArrowRight01Icon11, size: 12 })
5106
5115
  ))))));
5107
5116
  };
5108
5117
 
5109
5118
  // src/components/UniversalSettings.tsx
5110
5119
  import React50, { useState as useState36, useEffect as useEffect19, useRef as useRef13 } from "react";
5111
5120
  import toast14 from "react-hot-toast";
5112
- import { HugeiconsIcon as HugeiconsIcon36 } from "@hugeicons/react";
5121
+ import { HugeiconsIcon as HugeiconsIcon37 } from "@hugeicons/react";
5113
5122
  import {
5114
5123
  ArrowLeft01Icon as ArrowLeft01Icon16,
5115
5124
  ArrowRight01Icon as ArrowRight01Icon12,
5116
- Loading03Icon as Loading03Icon23,
5125
+ Loading03Icon as Loading03Icon24,
5117
5126
  Search01Icon as Search01Icon5,
5118
5127
  SearchList02Icon as SearchList02Icon3,
5119
5128
  ListSettingIcon as ListSettingIcon3,
@@ -5124,7 +5133,7 @@ import {
5124
5133
 
5125
5134
  // src/components/ReusableOptions.tsx
5126
5135
  import React49, { useState as useState35 } from "react";
5127
- import { HugeiconsIcon as HugeiconsIcon35 } from "@hugeicons/react";
5136
+ import { HugeiconsIcon as HugeiconsIcon36 } from "@hugeicons/react";
5128
5137
  import { CancelCircleIcon as CancelCircleIcon10, Search01Icon as Search01Icon4 } from "@hugeicons/core-free-icons";
5129
5138
  var ReusableOptions = ({
5130
5139
  isOpen,
@@ -5140,7 +5149,7 @@ var ReusableOptions = ({
5140
5149
  const filteredOptions = options.filter(
5141
5150
  (opt) => opt.toLowerCase().includes(searchQuery.toLowerCase())
5142
5151
  );
5143
- return /* @__PURE__ */ React49.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React49.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: onClose }), /* @__PURE__ */ React49.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]" }, /* @__PURE__ */ React49.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React49.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, title), /* @__PURE__ */ React49.createElement("button", { onClick: onClose, className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React49.createElement(HugeiconsIcon35, { icon: CancelCircleIcon10, size: 18 }))), showSearch && /* @__PURE__ */ React49.createElement("div", { className: "p-4 shrink-0 " }, /* @__PURE__ */ React49.createElement("div", { className: "relative w-full" }, /* @__PURE__ */ React49.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React49.createElement(HugeiconsIcon35, { icon: Search01Icon4, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ React49.createElement(
5152
+ return /* @__PURE__ */ React49.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React49.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: onClose }), /* @__PURE__ */ React49.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]" }, /* @__PURE__ */ React49.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React49.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, title), /* @__PURE__ */ React49.createElement("button", { onClick: onClose, className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React49.createElement(HugeiconsIcon36, { icon: CancelCircleIcon10, size: 18 }))), showSearch && /* @__PURE__ */ React49.createElement("div", { className: "p-4 shrink-0 " }, /* @__PURE__ */ React49.createElement("div", { className: "relative w-full" }, /* @__PURE__ */ React49.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React49.createElement(HugeiconsIcon36, { icon: Search01Icon4, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ React49.createElement(
5144
5153
  "input",
5145
5154
  {
5146
5155
  type: "text",
@@ -5161,7 +5170,7 @@ var ReusableOptions = ({
5161
5170
  },
5162
5171
  className: `w-full text-left p-4 text-[13px] tracking-tight rounded-full transition-colors outline-none ${isSelected ? "text-[#068afe] bg-[#068afe]/10" : "text-neutral-600 hover:bg-neutral-50/50"}`
5163
5172
  },
5164
- opt
5173
+ opt.charAt(0).toUpperCase() + opt.slice(1).toLowerCase()
5165
5174
  );
5166
5175
  }))));
5167
5176
  };
@@ -5186,7 +5195,7 @@ var MemberAvatar2 = ({ src, status, sizeClass = "w-10 h-10" }) => {
5186
5195
  return "bg-neutral-200";
5187
5196
  }
5188
5197
  };
5189
- return /* @__PURE__ */ React50.createElement("div", { className: `relative shrink-0 ${sizeClass}` }, /* @__PURE__ */ React50.createElement("div", { className: "w-full h-full rounded-lg bg-neutral-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ React50.createElement(HugeiconsIcon36, { icon: Loading03Icon23, className: "animate-spin text-neutral-400 absolute", size: 14 }), /* @__PURE__ */ React50.createElement(
5198
+ return /* @__PURE__ */ React50.createElement("div", { className: `relative shrink-0 ${sizeClass}` }, /* @__PURE__ */ React50.createElement("div", { className: "w-full h-full rounded-lg bg-neutral-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ React50.createElement(HugeiconsIcon37, { icon: Loading03Icon24, className: "animate-spin text-neutral-400 absolute", size: 14 }), /* @__PURE__ */ React50.createElement(
5190
5199
  "img",
5191
5200
  {
5192
5201
  src: finalSrc,
@@ -5197,7 +5206,7 @@ var MemberAvatar2 = ({ src, status, sizeClass = "w-10 h-10" }) => {
5197
5206
  }
5198
5207
  )), /* @__PURE__ */ React50.createElement("div", { className: `absolute -bottom-1 -right-1 w-3.5 h-3.5 rounded-full border-2 border-white z-10 ${getStatusColor()}` }));
5199
5208
  };
5200
- var PageSpinner8 = () => /* @__PURE__ */ React50.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ React50.createElement(HugeiconsIcon36, { icon: Loading03Icon23, size: 32, className: "animate-spin mb-4 text-black" }));
5209
+ var PageSpinner8 = () => /* @__PURE__ */ React50.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ React50.createElement(HugeiconsIcon37, { icon: Loading03Icon24, size: 32, className: "animate-spin mb-4 text-black" }));
5201
5210
  var InputSpinner3 = () => /* @__PURE__ */ React50.createElement("svg", { className: "animate-spin h-4 w-4 text-neutral-400", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24" }, /* @__PURE__ */ React50.createElement("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), /* @__PURE__ */ React50.createElement("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" }));
5202
5211
  var UniversalSettings = ({
5203
5212
  accountType,
@@ -5358,7 +5367,7 @@ var UniversalSettings = ({
5358
5367
  };
5359
5368
  const hasAccountChanges = displayName !== initialDisplayName || slug !== initialSlug;
5360
5369
  const isAccountSaveDisabled = isSavingAccount || isAccountReadOnly || isCheckingSlug || !hasAccountChanges || displayName.length < 3 || slug.length < 3 || slug !== initialSlug && slugAvailable === false;
5361
- return /* @__PURE__ */ React50.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React50.createElement(ManagedToaster, null), /* @__PURE__ */ React50.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React50.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-[#068afe] hover:text-[#068afe] transition-colors text-[13px] outline-none" }, /* @__PURE__ */ React50.createElement(HugeiconsIcon36, { icon: ArrowLeft01Icon16, size: 16 }), " Back")), /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col gap-1 mb-8 px-1" }, /* @__PURE__ */ React50.createElement("h1", { className: "text-black text-xl tracking-tight" }, "System Settings"), /* @__PURE__ */ React50.createElement("p", { className: "text-xs text-neutral-500" }, "Manage your workspace identity, team configurations, and AI billing parameters.")), /* @__PURE__ */ React50.createElement("div", { className: "flex items-center gap-6 mb-6 overflow-x-auto custom-scrollbar px-1" }, accountType === "ORGANIZATION" && /* @__PURE__ */ React50.createElement(
5370
+ return /* @__PURE__ */ React50.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React50.createElement(ManagedToaster, null), /* @__PURE__ */ React50.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React50.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-[#068afe] hover:text-[#068afe] transition-colors text-[13px] outline-none" }, /* @__PURE__ */ React50.createElement(HugeiconsIcon37, { icon: ArrowLeft01Icon16, size: 16 }), " Back")), /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col gap-1 mb-8 px-1" }, /* @__PURE__ */ React50.createElement("h1", { className: "text-black text-xl tracking-tight" }, "System Settings"), /* @__PURE__ */ React50.createElement("p", { className: "text-xs text-neutral-500" }, "Manage your workspace identity, team configurations, and AI billing parameters.")), /* @__PURE__ */ React50.createElement("div", { className: "flex items-center gap-6 mb-6 overflow-x-auto custom-scrollbar px-1" }, accountType === "ORGANIZATION" && /* @__PURE__ */ React50.createElement(
5362
5371
  "button",
5363
5372
  {
5364
5373
  onClick: () => {
@@ -5396,7 +5405,7 @@ var UniversalSettings = ({
5396
5405
  onClose: () => setMemberToRemove(null),
5397
5406
  onConfirm: handleConfirmRemove
5398
5407
  }
5399
- ), !isInviteMode && !activeExpandedMember && /* @__PURE__ */ React50.createElement("div", { className: "flex flex-row flex-nowrap mb-4 items-center justify-between gap-4 w-full px-1" }, /* @__PURE__ */ React50.createElement("div", { className: "relative flex-1 min-w-0 max-w-full" }, /* @__PURE__ */ React50.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React50.createElement(HugeiconsIcon36, { icon: Search01Icon5, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ React50.createElement(
5408
+ ), !isInviteMode && !activeExpandedMember && /* @__PURE__ */ React50.createElement("div", { className: "flex flex-row flex-nowrap mb-4 items-center justify-between gap-4 w-full px-1" }, /* @__PURE__ */ React50.createElement("div", { className: "relative flex-1 min-w-0 max-w-full" }, /* @__PURE__ */ React50.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React50.createElement(HugeiconsIcon37, { icon: Search01Icon5, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ React50.createElement(
5400
5409
  "input",
5401
5410
  {
5402
5411
  type: "text",
@@ -5411,14 +5420,14 @@ var UniversalSettings = ({
5411
5420
  onClick: () => setIsStatusModalOpen(true),
5412
5421
  className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-neutral-500 hover:text-black transition-colors outline-none"
5413
5422
  },
5414
- /* @__PURE__ */ React50.createElement(HugeiconsIcon36, { icon: SearchList02Icon3, size: 16 })
5423
+ /* @__PURE__ */ React50.createElement(HugeiconsIcon37, { icon: SearchList02Icon3, size: 16 })
5415
5424
  ), /* @__PURE__ */ React50.createElement(
5416
5425
  "button",
5417
5426
  {
5418
5427
  onClick: () => setIsRoleModalOpen(true),
5419
5428
  className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-neutral-500 hover:text-black transition-colors outline-none"
5420
5429
  },
5421
- /* @__PURE__ */ React50.createElement(HugeiconsIcon36, { icon: ListSettingIcon3, size: 16 })
5430
+ /* @__PURE__ */ React50.createElement(HugeiconsIcon37, { icon: ListSettingIcon3, size: 16 })
5422
5431
  ))), /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, activeExpandedMember ? /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col animate-in fade-in zoom-in-95 duration-300 w-full" }, /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col gap-1 mb-8" }, /* @__PURE__ */ React50.createElement("h2", { className: "text-black text-xl tracking-tight" }, "Member Profile"), /* @__PURE__ */ React50.createElement("p", { className: "text-[12px] text-neutral-500" }, "View and manage this member's access privileges.")), /* @__PURE__ */ React50.createElement("div", { className: "flex items-center gap-4 mb-8" }, /* @__PURE__ */ React50.createElement(MemberAvatar2, { src: activeExpandedMember.avatarUrl, status: activeExpandedMember.status, sizeClass: "w-14 h-14" }), /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React50.createElement("span", { className: "text-sm text-black tracking-tight truncate" }, activeExpandedMember.fullName), /* @__PURE__ */ React50.createElement("span", { className: "text-[12px] text-neutral-500 capitalize" }, activeExpandedMember.role.toLowerCase()))), /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col sm:flex-row gap-3 pt-6 " }, !isAccountReadOnly && /* @__PURE__ */ React50.createElement(
5423
5432
  "button",
5424
5433
  {
@@ -5489,7 +5498,7 @@ var UniversalSettings = ({
5489
5498
  disabled: membersCurrentPage <= 1 || isMembersLoading,
5490
5499
  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"
5491
5500
  },
5492
- /* @__PURE__ */ React50.createElement(HugeiconsIcon36, { icon: ArrowLeft01Icon16, size: 14 })
5501
+ /* @__PURE__ */ React50.createElement(HugeiconsIcon37, { icon: ArrowLeft01Icon16, size: 14 })
5493
5502
  ), /* @__PURE__ */ React50.createElement(
5494
5503
  "button",
5495
5504
  {
@@ -5497,7 +5506,7 @@ var UniversalSettings = ({
5497
5506
  disabled: membersCurrentPage >= membersTotalPages || isMembersLoading || membersTotalPages === 0,
5498
5507
  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"
5499
5508
  },
5500
- /* @__PURE__ */ React50.createElement(HugeiconsIcon36, { icon: ArrowRight01Icon12, size: 14 })
5509
+ /* @__PURE__ */ React50.createElement(HugeiconsIcon37, { icon: ArrowRight01Icon12, size: 14 })
5501
5510
  ))))))
5502
5511
  )), /* @__PURE__ */ React50.createElement(
5503
5512
  ReusableOptions,
@@ -5519,7 +5528,7 @@ var UniversalSettings = ({
5519
5528
  selectedOption: activeRoleFilter,
5520
5529
  onSelect: (role) => onRoleFilterChange(role)
5521
5530
  }
5522
- )), activeTab === "ACCOUNT" && /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col gap-8 animate-in rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ React50.createElement("div", { className: "flex items-start justify-between gap-4" }, /* @__PURE__ */ React50.createElement("div", null, /* @__PURE__ */ React50.createElement("h2", { className: "text-black text-xl mb-1 tracking-tight" }, "Public Profile"), /* @__PURE__ */ React50.createElement("p", { className: "text-xs text-neutral-500" }, "Manage your workspace identifiers and structural configuration details.")), isAccountReadOnly && /* @__PURE__ */ React50.createElement("span", { className: "p-2 w-9 h-9 bg-neutral-100 text-neutral-400 rounded-full shrink-0" }, /* @__PURE__ */ React50.createElement(HugeiconsIcon36, { icon: CircleLock02Icon3, size: 18, className: "text-current" }))), /* @__PURE__ */ React50.createElement("div", { className: "w-full max-w-5xl" }, /* @__PURE__ */ React50.createElement("form", { className: "flex flex-col gap-8", onSubmit: handleSaveAccount, autoComplete: "off" }, /* @__PURE__ */ React50.createElement(
5531
+ )), activeTab === "ACCOUNT" && /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col gap-8 animate-in rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ React50.createElement("div", { className: "flex items-start justify-between gap-4" }, /* @__PURE__ */ React50.createElement("div", null, /* @__PURE__ */ React50.createElement("h2", { className: "text-black text-xl mb-1 tracking-tight" }, "Public Profile"), /* @__PURE__ */ React50.createElement("p", { className: "text-xs text-neutral-500" }, "Manage your workspace identifiers and structural configuration details.")), isAccountReadOnly && /* @__PURE__ */ React50.createElement("span", { className: "p-2 w-9 h-9 bg-neutral-100 text-neutral-400 rounded-full shrink-0" }, /* @__PURE__ */ React50.createElement(HugeiconsIcon37, { icon: CircleLock02Icon3, size: 18, className: "text-current" }))), /* @__PURE__ */ React50.createElement("div", { className: "w-full max-w-5xl" }, /* @__PURE__ */ React50.createElement("form", { className: "flex flex-col gap-8", onSubmit: handleSaveAccount, autoComplete: "off" }, /* @__PURE__ */ React50.createElement(
5523
5532
  TextInput,
5524
5533
  {
5525
5534
  label: "Display Name",
@@ -5561,16 +5570,404 @@ var UniversalSettings = ({
5561
5570
  className: "text-[11px] tracking-widest text-neutral-400 hover:text-black transition-colors outline-none"
5562
5571
  },
5563
5572
  "Cancel"
5564
- ))))), activeTab === "BILLING" && /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React50.createElement("div", { className: "bg-[#ffffff] rounded-3xl p-6 relative overflow-hidden flex flex-row items-center justify-between w-full mt-2" }, /* @__PURE__ */ React50.createElement("div", { className: "relative z-10 flex flex-col items-start" }, /* @__PURE__ */ React50.createElement("p", { className: "text-[11px] text-black leading-tight mb-1" }, /* @__PURE__ */ React50.createElement("span", { className: "text-black/60" }, "AI Credits Balance")), isBillingLoading ? /* @__PURE__ */ React50.createElement("div", { className: "h-8 w-32 bg-black/10 animate-pulse rounded mt-2" }) : /* @__PURE__ */ React50.createElement("div", { className: "flex items-center gap-2 mt-1" }, /* @__PURE__ */ React50.createElement(HugeiconsIcon36, { icon: Coins01Icon, size: 24, className: "text-black" }), /* @__PURE__ */ React50.createElement("span", { className: "text-2xl text-black tracking-tight" }, aiCredits))), /* @__PURE__ */ React50.createElement(
5573
+ ))))), activeTab === "BILLING" && /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React50.createElement("div", { className: "bg-[#ffffff] rounded-3xl p-6 relative overflow-hidden flex flex-row items-center justify-between w-full mt-2" }, /* @__PURE__ */ React50.createElement("div", { className: "relative z-10 flex flex-col items-start" }, /* @__PURE__ */ React50.createElement("p", { className: "text-[11px] text-black leading-tight mb-1" }, /* @__PURE__ */ React50.createElement("span", { className: "text-black/60" }, "AI Credits Balance")), isBillingLoading ? /* @__PURE__ */ React50.createElement("div", { className: "h-8 w-32 bg-black/10 animate-pulse rounded mt-2" }) : /* @__PURE__ */ React50.createElement("div", { className: "flex items-center gap-2 mt-1" }, /* @__PURE__ */ React50.createElement(HugeiconsIcon37, { icon: Coins01Icon, size: 24, className: "text-black" }), /* @__PURE__ */ React50.createElement("span", { className: "text-2xl text-black tracking-tight" }, aiCredits))), /* @__PURE__ */ React50.createElement(
5565
5574
  "button",
5566
5575
  {
5567
5576
  onClick: onTopUp,
5568
5577
  className: "w-10 h-10 rounded-full border border-neutral-200 flex items-center justify-center text-black hover:bg-neutral-50 transition-colors outline-none shrink-0",
5569
5578
  "aria-label": "Top Up Credits"
5570
5579
  },
5571
- /* @__PURE__ */ React50.createElement(HugeiconsIcon36, { icon: PlusSignIcon3, size: 16 })
5580
+ /* @__PURE__ */ React50.createElement(HugeiconsIcon37, { icon: PlusSignIcon3, size: 16 })
5572
5581
  )), /* @__PURE__ */ React50.createElement("div", { className: "mt-4 px-1" }, /* @__PURE__ */ React50.createElement("p", { className: "text-[11px] text-neutral-500 leading-relaxed max-w-lg" }, "AI credits are consumed when generating intelligent summaries, transcriptions, and automated huddle insights. Additional credits are billed dynamically to your primary payment method."))));
5573
5582
  };
5583
+
5584
+ // src/components/UniversalCreateHuddle.tsx
5585
+ import React52, { useState as useState38, useEffect as useEffect21, useRef as useRef14 } from "react";
5586
+ import toast15 from "react-hot-toast";
5587
+ import { HugeiconsIcon as HugeiconsIcon39 } from "@hugeicons/react";
5588
+ import {
5589
+ ArrowLeft01Icon as ArrowLeft01Icon18,
5590
+ ArrowRight01Icon as ArrowRight01Icon14,
5591
+ Loading03Icon as Loading03Icon25,
5592
+ Search01Icon as Search01Icon6,
5593
+ Calendar01Icon,
5594
+ Clock01Icon,
5595
+ Globe02Icon,
5596
+ Tick02Icon
5597
+ } from "@hugeicons/core-free-icons";
5598
+
5599
+ // src/components/CalendarPicker.tsx
5600
+ import React51, { useState as useState37, useEffect as useEffect20 } from "react";
5601
+ import { HugeiconsIcon as HugeiconsIcon38 } from "@hugeicons/react";
5602
+ import {
5603
+ CancelCircleIcon as CancelCircleIcon11,
5604
+ ArrowLeft01Icon as ArrowLeft01Icon17,
5605
+ ArrowRight01Icon as ArrowRight01Icon13,
5606
+ ArrowUp01Icon,
5607
+ ArrowDown01Icon
5608
+ } from "@hugeicons/core-free-icons";
5609
+ var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
5610
+ var DAYS_OF_WEEK = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
5611
+ var CalendarPicker = ({
5612
+ isOpen,
5613
+ onClose,
5614
+ initialDate,
5615
+ defaultMode,
5616
+ onConfirm
5617
+ }) => {
5618
+ const [mode, setMode] = useState37(defaultMode);
5619
+ const today = /* @__PURE__ */ new Date();
5620
+ today.setHours(0, 0, 0, 0);
5621
+ const maxDate = new Date(today.getFullYear() + 1, 11, 31);
5622
+ maxDate.setHours(23, 59, 59, 999);
5623
+ const [viewMonth, setViewMonth] = useState37(initialDate.getMonth());
5624
+ const [viewYear, setViewYear] = useState37(initialDate.getFullYear());
5625
+ const [selectedDate, setSelectedDate] = useState37(new Date(initialDate.getFullYear(), initialDate.getMonth(), initialDate.getDate()));
5626
+ const [hour, setHour] = useState37(initialDate.getHours() % 12 || 12);
5627
+ const [minute, setMinute] = useState37(initialDate.getMinutes());
5628
+ const [ampm, setAmpm] = useState37(initialDate.getHours() >= 12 ? "PM" : "AM");
5629
+ useEffect20(() => {
5630
+ if (isOpen) {
5631
+ setMode(defaultMode);
5632
+ setViewMonth(initialDate.getMonth());
5633
+ setViewYear(initialDate.getFullYear());
5634
+ setSelectedDate(new Date(initialDate.getFullYear(), initialDate.getMonth(), initialDate.getDate()));
5635
+ setHour(initialDate.getHours() % 12 || 12);
5636
+ setMinute(initialDate.getMinutes());
5637
+ setAmpm(initialDate.getHours() >= 12 ? "PM" : "AM");
5638
+ }
5639
+ }, [isOpen, initialDate, defaultMode]);
5640
+ if (!isOpen) return null;
5641
+ const handlePrevMonth = () => {
5642
+ if (viewYear === today.getFullYear() && viewMonth === today.getMonth()) return;
5643
+ if (viewMonth === 0) {
5644
+ setViewMonth(11);
5645
+ setViewYear((y) => y - 1);
5646
+ } else {
5647
+ setViewMonth((m) => m - 1);
5648
+ }
5649
+ };
5650
+ const handleNextMonth = () => {
5651
+ if (viewYear === maxDate.getFullYear() && viewMonth === 11) return;
5652
+ if (viewMonth === 11) {
5653
+ setViewMonth(0);
5654
+ setViewYear((y) => y + 1);
5655
+ } else {
5656
+ setViewMonth((m) => m + 1);
5657
+ }
5658
+ };
5659
+ const isDateDisabled = (year, month, day) => {
5660
+ const d = new Date(year, month, day);
5661
+ return d < today || d > maxDate;
5662
+ };
5663
+ const daysInMonth = new Date(viewYear, viewMonth + 1, 0).getDate();
5664
+ const firstDayOffset = new Date(viewYear, viewMonth, 1).getDay();
5665
+ const adjustTime = (type, dir) => {
5666
+ if (type === "H") {
5667
+ setHour((h) => {
5668
+ let next = h + dir;
5669
+ if (next > 12) return 1;
5670
+ if (next < 1) return 12;
5671
+ return next;
5672
+ });
5673
+ }
5674
+ if (type === "M") {
5675
+ setMinute((m) => {
5676
+ let next = m + dir;
5677
+ if (next > 59) return 0;
5678
+ if (next < 0) return 59;
5679
+ return next;
5680
+ });
5681
+ }
5682
+ if (type === "A") {
5683
+ setAmpm((a) => a === "AM" ? "PM" : "AM");
5684
+ }
5685
+ };
5686
+ const handleSave = () => {
5687
+ const final = new Date(selectedDate);
5688
+ let h24 = hour;
5689
+ if (ampm === "PM" && hour < 12) h24 += 12;
5690
+ if (ampm === "AM" && hour === 12) h24 = 0;
5691
+ final.setHours(h24, minute, 0, 0);
5692
+ onConfirm(final);
5693
+ onClose();
5694
+ };
5695
+ return /* @__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/40", onClick: onClose }), /* @__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" }, /* @__PURE__ */ React51.createElement("div", { className: "p-4 pb-0 flex flex-col gap-4" }, /* @__PURE__ */ React51.createElement("div", { className: "flex items-center justify-between shrink-0" }, /* @__PURE__ */ React51.createElement("h3", { className: "text-[15px] text-black tracking-tight " }, "Select Date & Time"), /* @__PURE__ */ React51.createElement("button", { onClick: onClose, className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon38, { icon: CancelCircleIcon11, size: 18 }))), /* @__PURE__ */ React51.createElement("div", { className: "flex gap-4" }, /* @__PURE__ */ React51.createElement(
5696
+ "button",
5697
+ {
5698
+ onClick: () => setMode("DATE"),
5699
+ className: `pb-2 text-[12px] tracking-wide outline-none border-b-2 transition-colors ${mode === "DATE" ? "border-[#068afe] text-[#068afe]" : "border-transparent text-neutral-500 hover:text-black"}`
5700
+ },
5701
+ "Date"
5702
+ ), /* @__PURE__ */ React51.createElement(
5703
+ "button",
5704
+ {
5705
+ onClick: () => setMode("TIME"),
5706
+ 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"}`
5707
+ },
5708
+ "Time"
5709
+ ))), /* @__PURE__ */ React51.createElement("div", { className: "p-5" }, mode === "DATE" && /* @__PURE__ */ React51.createElement("div", { className: "flex flex-col gap-4 animate-in fade-in duration-200" }, /* @__PURE__ */ React51.createElement("div", { className: "flex items-center justify-between px-2" }, /* @__PURE__ */ React51.createElement("span", { className: "text-[13px] text-black" }, MONTHS[viewMonth], " ", viewYear), /* @__PURE__ */ React51.createElement("div", { className: "flex gap-1" }, /* @__PURE__ */ React51.createElement(
5710
+ "button",
5711
+ {
5712
+ onClick: handlePrevMonth,
5713
+ disabled: viewYear === today.getFullYear() && viewMonth === today.getMonth(),
5714
+ className: "w-8 h-8 flex items-center justify-center rounded-full hover:bg-neutral-100 disabled:opacity-30 disabled:cursor-not-allowed outline-none transition-colors"
5715
+ },
5716
+ /* @__PURE__ */ React51.createElement(HugeiconsIcon38, { icon: ArrowLeft01Icon17, size: 16, className: "text-black" })
5717
+ ), /* @__PURE__ */ React51.createElement(
5718
+ "button",
5719
+ {
5720
+ onClick: handleNextMonth,
5721
+ disabled: viewYear === maxDate.getFullYear() && viewMonth === 11,
5722
+ className: "w-8 h-8 flex items-center justify-center rounded-full hover:bg-neutral-100 disabled:opacity-30 disabled:cursor-not-allowed outline-none transition-colors"
5723
+ },
5724
+ /* @__PURE__ */ React51.createElement(HugeiconsIcon38, { icon: ArrowRight01Icon13, size: 16, className: "text-black" })
5725
+ ))), /* @__PURE__ */ React51.createElement("div", { className: "grid grid-cols-7 gap-1" }, DAYS_OF_WEEK.map((d) => /* @__PURE__ */ React51.createElement("div", { key: d, className: "text-center text-[10px] text-neutral-400 py-2" }, d)), Array.from({ length: firstDayOffset }).map((_, i) => /* @__PURE__ */ React51.createElement("div", { key: `empty-${i}` })), Array.from({ length: daysInMonth }).map((_, i) => {
5726
+ const day = i + 1;
5727
+ const isDisabled = isDateDisabled(viewYear, viewMonth, day);
5728
+ const isSelected = selectedDate.getFullYear() === viewYear && selectedDate.getMonth() === viewMonth && selectedDate.getDate() === day;
5729
+ return /* @__PURE__ */ React51.createElement(
5730
+ "button",
5731
+ {
5732
+ key: day,
5733
+ disabled: isDisabled,
5734
+ onClick: () => setSelectedDate(new Date(viewYear, viewMonth, day)),
5735
+ className: `h-9 w-9 rounded-full flex items-center justify-center text-[12px] transition-colors outline-none
5736
+ ${isDisabled ? "text-neutral-300 cursor-not-allowed" : isSelected ? "bg-[#068afe] text-white" : "text-black hover:bg-neutral-100"}`
5737
+ },
5738
+ day
5739
+ );
5740
+ }))), mode === "TIME" && /* @__PURE__ */ React51.createElement("div", { className: "flex items-center justify-center gap-6 py-6 animate-in fade-in duration-200" }, /* @__PURE__ */ React51.createElement("div", { className: "flex flex-col items-center gap-4" }, /* @__PURE__ */ React51.createElement("button", { onClick: () => adjustTime("H", 1), className: "p-2 rounded-full hover:bg-neutral-100 outline-none" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon38, { icon: ArrowUp01Icon, size: 20, className: "text-neutral-500" })), /* @__PURE__ */ React51.createElement("span", { className: "text-3xl text-black w-12 text-center" }, hour.toString().padStart(2, "0")), /* @__PURE__ */ React51.createElement("button", { onClick: () => adjustTime("H", -1), className: "p-2 rounded-full hover:bg-neutral-100 outline-none" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon38, { icon: ArrowDown01Icon, size: 20, className: "text-neutral-500" }))), /* @__PURE__ */ React51.createElement("span", { className: "text-3xl text-neutral-300 pb-2" }, ":"), /* @__PURE__ */ React51.createElement("div", { className: "flex flex-col items-center gap-4" }, /* @__PURE__ */ React51.createElement("button", { onClick: () => adjustTime("M", 1), className: "p-2 rounded-full hover:bg-neutral-100 outline-none" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon38, { icon: ArrowUp01Icon, size: 20, className: "text-neutral-500" })), /* @__PURE__ */ React51.createElement("span", { className: "text-3xl text-black w-12 text-center" }, minute.toString().padStart(2, "0")), /* @__PURE__ */ React51.createElement("button", { onClick: () => adjustTime("M", -1), className: "p-2 rounded-full hover:bg-neutral-100 outline-none" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon38, { icon: ArrowDown01Icon, size: 20, className: "text-neutral-500" }))), /* @__PURE__ */ React51.createElement("div", { className: "flex flex-col items-center gap-4 ml-2" }, /* @__PURE__ */ React51.createElement("button", { onClick: () => adjustTime("A", 1), className: "p-2 rounded-full hover:bg-neutral-100 outline-none" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon38, { icon: ArrowUp01Icon, size: 20, className: "text-neutral-500" })), /* @__PURE__ */ React51.createElement("span", { className: "text-xl text-[#068afe] w-12 text-center" }, ampm), /* @__PURE__ */ React51.createElement("button", { onClick: () => adjustTime("A", -1), className: "p-2 rounded-full hover:bg-neutral-100 outline-none" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon38, { icon: ArrowDown01Icon, size: 20, className: "text-neutral-500" }))))), /* @__PURE__ */ React51.createElement("div", { className: "p-5 flex justify-end shrink-0" }, /* @__PURE__ */ React51.createElement(
5741
+ "button",
5742
+ {
5743
+ onClick: handleSave,
5744
+ className: "text-[#068afe] hover:text-[#0573d6] transition-colors outline-none text-[13px] tracking-wide"
5745
+ },
5746
+ "Done"
5747
+ ))));
5748
+ };
5749
+
5750
+ // src/components/UniversalCreateHuddle.tsx
5751
+ var MemberAvatar3 = ({ src, sizeClass = "w-10 h-10" }) => {
5752
+ const [loaded, setLoaded] = useState38(false);
5753
+ const [error, setError] = useState38(false);
5754
+ const defaultAvatar = "https://storage.googleapis.com/retina-cloud-v2/assets/images/avatar.avif";
5755
+ return /* @__PURE__ */ React52.createElement("div", { className: `relative shrink-0 ${sizeClass}` }, /* @__PURE__ */ React52.createElement("div", { className: "w-full h-full rounded-lg bg-neutral-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ React52.createElement(HugeiconsIcon39, { icon: Loading03Icon25, className: "animate-spin text-neutral-400 absolute", size: 14 }), /* @__PURE__ */ React52.createElement(
5756
+ "img",
5757
+ {
5758
+ src: error || !src ? defaultAvatar : src,
5759
+ alt: "Avatar",
5760
+ className: `w-full h-full object-cover transition-opacity duration-300 ${loaded || error ? "opacity-100" : "opacity-0"}`,
5761
+ onLoad: () => setLoaded(true),
5762
+ onError: () => setError(true)
5763
+ }
5764
+ )));
5765
+ };
5766
+ var STANDARD_TIMEZONES = [
5767
+ "UTC",
5768
+ "America/New_York",
5769
+ "America/Chicago",
5770
+ "America/Denver",
5771
+ "America/Los_Angeles",
5772
+ "Europe/London",
5773
+ "Europe/Paris",
5774
+ "Europe/Berlin",
5775
+ "Africa/Lagos",
5776
+ "Africa/Johannesburg",
5777
+ "Asia/Dubai",
5778
+ "Asia/Kolkata",
5779
+ "Asia/Singapore",
5780
+ "Asia/Tokyo",
5781
+ "Australia/Sydney"
5782
+ ];
5783
+ var UniversalCreateHuddle = ({
5784
+ onBackHref,
5785
+ members,
5786
+ isMembersLoading,
5787
+ membersCurrentPage,
5788
+ membersTotalPages,
5789
+ onMembersPageChange,
5790
+ membersSearchQuery,
5791
+ onMembersSearchChange,
5792
+ onCreateSubmit
5793
+ }) => {
5794
+ const [huddleDate, setHuddleDate] = useState38(() => {
5795
+ const d = /* @__PURE__ */ new Date();
5796
+ d.setHours(d.getHours() + 1, 0, 0, 0);
5797
+ return d;
5798
+ });
5799
+ const [title, setTitle] = useState38("");
5800
+ const [isPrivate, setIsPrivate] = useState38(false);
5801
+ const [timezone, setTimezone] = useState38("UTC");
5802
+ useEffect21(() => {
5803
+ try {
5804
+ setTimezone(Intl.DateTimeFormat().resolvedOptions().timeZone);
5805
+ } catch (e) {
5806
+ }
5807
+ }, []);
5808
+ const [calendarMode, setCalendarMode] = useState38(null);
5809
+ const [showTimezoneModal, setShowTimezoneModal] = useState38(false);
5810
+ const [showMembersModal, setShowMembersModal] = useState38(false);
5811
+ const [selectedParticipants, setSelectedParticipants] = useState38(/* @__PURE__ */ new Set());
5812
+ const [isSubmitting, setIsSubmitting] = useState38(false);
5813
+ const [localSearchQuery, setLocalSearchQuery] = useState38(membersSearchQuery);
5814
+ const [isTyping, setIsTyping] = useState38(false);
5815
+ const typingTimer = useRef14(null);
5816
+ const handleSearchInput = (e) => {
5817
+ const val = e.target.value;
5818
+ setLocalSearchQuery(val);
5819
+ setIsTyping(true);
5820
+ if (typingTimer.current) clearTimeout(typingTimer.current);
5821
+ typingTimer.current = setTimeout(() => {
5822
+ onMembersSearchChange(val);
5823
+ setTimeout(() => setIsTyping(false), 150);
5824
+ }, 600);
5825
+ };
5826
+ const toggleParticipant = (userId) => {
5827
+ const newSet = new Set(selectedParticipants);
5828
+ if (newSet.has(userId)) newSet.delete(userId);
5829
+ else newSet.add(userId);
5830
+ setSelectedParticipants(newSet);
5831
+ };
5832
+ const handleSubmit = async (e) => {
5833
+ e.preventDefault();
5834
+ const cleanTitle = title.trim();
5835
+ if (cleanTitle.length < 2) return toast15.error("Please enter a valid huddle name.");
5836
+ if (isPrivate && selectedParticipants.size === 0) return toast15.error("Private huddles require at least one participant.");
5837
+ setIsSubmitting(true);
5838
+ try {
5839
+ await onCreateSubmit({
5840
+ title: cleanTitle,
5841
+ huddleType: isPrivate ? "PRIVATE" : "PUBLIC",
5842
+ startTime: huddleDate.toISOString(),
5843
+ timezone,
5844
+ participantIds: isPrivate ? Array.from(selectedParticipants) : []
5845
+ });
5846
+ } catch (error) {
5847
+ toast15.error(error.message || "Failed to schedule huddle.");
5848
+ setIsSubmitting(false);
5849
+ }
5850
+ };
5851
+ return /* @__PURE__ */ React52.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ React52.createElement(ManagedToaster, null), /* @__PURE__ */ React52.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React52.createElement("a", { href: onBackHref, className: "flex items-center gap-2 text-[#068afe] hover:text-[#068afe] transition-colors text-[13px] 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" }, "Create Huddle"), /* @__PURE__ */ React52.createElement("p", { className: "text-xs text-neutral-500" }, "Schedule a new workspace huddle and manage participant access.")), /* @__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("form", { className: "flex flex-col gap-8", onSubmit: handleSubmit, autoComplete: "off" }, /* @__PURE__ */ React52.createElement(
5852
+ TextInput,
5853
+ {
5854
+ label: "Huddle Subject",
5855
+ value: title,
5856
+ onChange: (val) => setTitle(val.substring(0, 80)),
5857
+ disabled: isSubmitting,
5858
+ placeholder: "e.g. Q4 Engineering Sync",
5859
+ maxLength: 80
5860
+ }
5861
+ ), /* @__PURE__ */ React52.createElement("div", { className: "grid grid-cols-1 sm:grid-cols-3 gap-6" }, /* @__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" }, "Date"), /* @__PURE__ */ React52.createElement(
5862
+ "div",
5863
+ {
5864
+ onClick: () => !isSubmitting && setCalendarMode("DATE"),
5865
+ className: `flex items-center relative w-full border-b border-neutral-200 transition-all duration-300 pb-3 pt-3 cursor-pointer ${isSubmitting ? "opacity-50 pointer-events-none" : "hover:border-black"}`
5866
+ },
5867
+ /* @__PURE__ */ React52.createElement(HugeiconsIcon39, { icon: Calendar01Icon, size: 16, className: "text-neutral-400 absolute left-0" }),
5868
+ /* @__PURE__ */ React52.createElement("span", { className: "w-full pl-8 text-sm text-black truncate block" }, huddleDate.toLocaleDateString("en-GB", { day: "2-digit", month: "short", year: "numeric" }))
5869
+ )), /* @__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" }, "Time"), /* @__PURE__ */ React52.createElement(
5870
+ "div",
5871
+ {
5872
+ onClick: () => !isSubmitting && setCalendarMode("TIME"),
5873
+ className: `flex items-center relative w-full border-b border-neutral-200 transition-all duration-300 pb-3 pt-3 cursor-pointer ${isSubmitting ? "opacity-50 pointer-events-none" : "hover:border-black"}`
5874
+ },
5875
+ /* @__PURE__ */ React52.createElement(HugeiconsIcon39, { icon: Clock01Icon, size: 16, className: "text-neutral-400 absolute left-0" }),
5876
+ /* @__PURE__ */ React52.createElement("span", { className: "w-full pl-8 text-sm text-black truncate block" }, huddleDate.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }))
5877
+ )), /* @__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" }, "Timezone"), /* @__PURE__ */ React52.createElement(
5878
+ "div",
5879
+ {
5880
+ onClick: () => !isSubmitting && setShowTimezoneModal(true),
5881
+ className: `flex items-center relative w-full border-b border-neutral-200 transition-all duration-300 pb-3 pt-3 cursor-pointer ${isSubmitting ? "opacity-50 pointer-events-none" : "hover:border-black"}`
5882
+ },
5883
+ /* @__PURE__ */ React52.createElement(HugeiconsIcon39, { icon: Globe02Icon, size: 16, className: "text-neutral-400 absolute left-0" }),
5884
+ /* @__PURE__ */ React52.createElement("span", { className: "w-full pl-8 text-sm text-black truncate block" }, timezone)
5885
+ ))), /* @__PURE__ */ React52.createElement("div", { className: "flex items-center justify-between py-2 border-t border-b border-neutral-100 mt-2" }, /* @__PURE__ */ React52.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React52.createElement("span", { className: "text-[13px] text-black tracking-tight" }, "Private Huddle"), /* @__PURE__ */ React52.createElement("span", { className: "text-[11px] text-neutral-500" }, "Only invited members can join.")), /* @__PURE__ */ React52.createElement(
5886
+ "button",
5887
+ {
5888
+ type: "button",
5889
+ onClick: () => setIsPrivate(!isPrivate),
5890
+ disabled: isSubmitting,
5891
+ className: `relative w-11 h-6 rounded-full transition-colors outline-none shrink-0 ${isPrivate ? "bg-[#068afe]" : "bg-neutral-200"}`
5892
+ },
5893
+ /* @__PURE__ */ React52.createElement("div", { className: `absolute top-1 left-1 bg-white w-4 h-4 rounded-full transition-transform ${isPrivate ? "translate-x-5" : "translate-x-0"}` })
5894
+ )), isPrivate && /* @__PURE__ */ React52.createElement("div", { className: "flex items-center justify-between animate-in fade-in zoom-in-95 duration-200 bg-neutral-50 p-4 rounded-xl" }, /* @__PURE__ */ React52.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React52.createElement("span", { className: "text-[12px] text-black tracking-tight" }, "Participants"), /* @__PURE__ */ React52.createElement("span", { className: "text-[11px] text-[#068afe] " }, selectedParticipants.size === 0 ? "0 added" : selectedParticipants.size >= 1e3 ? `${(selectedParticipants.size / 1e3).toFixed(1)}k+ added` : `${selectedParticipants.size} added`)), /* @__PURE__ */ React52.createElement(
5895
+ "button",
5896
+ {
5897
+ type: "button",
5898
+ onClick: () => setShowMembersModal(true),
5899
+ disabled: isSubmitting,
5900
+ className: "px-4 py-2 border border-neutral-200 text-black text-[11px] tracking-wide rounded-full hover:bg-white transition-colors outline-none bg-transparent"
5901
+ },
5902
+ "Manage Access"
5903
+ )), /* @__PURE__ */ React52.createElement("div", { className: "pt-6" }, /* @__PURE__ */ React52.createElement(
5904
+ ThreeDActionButton,
5905
+ {
5906
+ type: "submit",
5907
+ disabled: isSubmitting || title.trim().length < 2 || isPrivate && selectedParticipants.size === 0,
5908
+ isLoading: isSubmitting,
5909
+ className: "w-full sm:w-auto min-w-40"
5910
+ },
5911
+ "Schedule Huddle"
5912
+ )))), /* @__PURE__ */ React52.createElement(
5913
+ CalendarPicker,
5914
+ {
5915
+ isOpen: calendarMode !== null,
5916
+ onClose: () => setCalendarMode(null),
5917
+ initialDate: huddleDate,
5918
+ defaultMode: calendarMode || "DATE",
5919
+ onConfirm: (d) => setHuddleDate(d)
5920
+ }
5921
+ ), /* @__PURE__ */ React52.createElement(
5922
+ ReusableOptions,
5923
+ {
5924
+ isOpen: showTimezoneModal,
5925
+ onClose: () => setShowTimezoneModal(false),
5926
+ title: "Select Timezone",
5927
+ options: STANDARD_TIMEZONES,
5928
+ selectedOption: timezone,
5929
+ onSelect: (tz) => setTimezone(tz),
5930
+ showSearch: true
5931
+ }
5932
+ ), showMembersModal && /* @__PURE__ */ React52.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React52.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowMembersModal(false) }), /* @__PURE__ */ React52.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__ */ React52.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React52.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Select Participants"), /* @__PURE__ */ React52.createElement("button", { onClick: () => setShowMembersModal(false), className: "text-[#068afe] hover:text-[#068afe] transition-colors outline-none text-[13px] " }, "Done")), /* @__PURE__ */ React52.createElement("div", { className: "p-4 shrink-0 " }, /* @__PURE__ */ React52.createElement("div", { className: "relative 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(
5933
+ "input",
5934
+ {
5935
+ type: "text",
5936
+ placeholder: "Search team...",
5937
+ value: localSearchQuery,
5938
+ onChange: handleSearchInput,
5939
+ className: "w-full pl-10 pr-4 py-2.5 bg-neutral-100 rounded-full text-[13px] text-black placeholder-neutral-400 outline-none focus:bg-neutral-200 transition-colors"
5940
+ }
5941
+ ))), /* @__PURE__ */ React52.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2 relative" }, isMembersLoading || isTyping ? /* @__PURE__ */ React52.createElement("div", { className: "absolute inset-0 flex items-center justify-center" }, /* @__PURE__ */ React52.createElement(HugeiconsIcon39, { icon: Loading03Icon25, size: 28, className: "animate-spin text-black" })) : members.length === 0 ? /* @__PURE__ */ React52.createElement("div", { className: "p-8 text-center text-xs text-neutral-400" }, "No members found.") : members.map((member) => {
5942
+ const isChecked = selectedParticipants.has(member.userId);
5943
+ return /* @__PURE__ */ React52.createElement(
5944
+ "div",
5945
+ {
5946
+ key: member.id,
5947
+ onClick: () => toggleParticipant(member.userId),
5948
+ className: "flex items-center justify-between p-3 rounded-xl cursor-pointer hover:bg-neutral-50 transition-colors select-none"
5949
+ },
5950
+ /* @__PURE__ */ React52.createElement("div", { className: "flex items-center gap-3 min-w-0 flex-1" }, /* @__PURE__ */ React52.createElement(MemberAvatar3, { src: member.avatarUrl, sizeClass: "w-9 h-9" }), /* @__PURE__ */ React52.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ React52.createElement("span", { className: "text-[13px] text-black truncate" }, member.fullName), /* @__PURE__ */ React52.createElement("span", { className: "text-[11px] text-neutral-400 capitalize truncate" }, member.role.toLowerCase()))),
5951
+ /* @__PURE__ */ React52.createElement("div", { className: "shrink-0 pl-3" }, /* @__PURE__ */ React52.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__ */ React52.createElement(HugeiconsIcon39, { icon: Tick02Icon, size: 14, className: "text-white" })))
5952
+ );
5953
+ })), /* @__PURE__ */ React52.createElement("div", { className: "p-4 flex items-center justify-between shrink-0 bg-white" }, /* @__PURE__ */ React52.createElement("span", { className: "text-[10px] text-neutral-400 tracking-widest" }, "Page ", membersCurrentPage, " of ", membersTotalPages === 0 ? 1 : membersTotalPages), /* @__PURE__ */ React52.createElement("div", { className: "flex gap-1" }, /* @__PURE__ */ React52.createElement(
5954
+ "button",
5955
+ {
5956
+ disabled: membersCurrentPage <= 1 || isMembersLoading,
5957
+ onClick: () => onMembersPageChange(membersCurrentPage - 1),
5958
+ 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"
5959
+ },
5960
+ /* @__PURE__ */ React52.createElement(HugeiconsIcon39, { icon: ArrowLeft01Icon18, size: 12 })
5961
+ ), /* @__PURE__ */ React52.createElement(
5962
+ "button",
5963
+ {
5964
+ disabled: membersCurrentPage >= membersTotalPages || membersTotalPages === 0 || isMembersLoading,
5965
+ onClick: () => onMembersPageChange(membersCurrentPage + 1),
5966
+ 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"
5967
+ },
5968
+ /* @__PURE__ */ React52.createElement(HugeiconsIcon39, { icon: ArrowRight01Icon14, size: 12 })
5969
+ ))))));
5970
+ };
5574
5971
  export {
5575
5972
  AppBento2,
5576
5973
  CardInfoDialog,
@@ -5605,6 +6002,7 @@ export {
5605
6002
  UniversalBuyCryptoPage,
5606
6003
  UniversalCardActionPage,
5607
6004
  UniversalCardPage,
6005
+ UniversalCreateHuddle,
5608
6006
  UniversalErrorView,
5609
6007
  UniversalHome2,
5610
6008
  UniversalHomeView,