@retinalabsllc/zairusjs 20.1.2 → 20.1.3

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.
Files changed (3) hide show
  1. package/dist/index.js +374 -377
  2. package/dist/index.mjs +85 -88
  3. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -3655,8 +3655,6 @@ var ManagedNewsletterSplitBlock = ({
3655
3655
  var import_react62 = __toESM(require("react"));
3656
3656
  var import_link8 = __toESM(require("next/link"));
3657
3657
  var import_image7 = __toESM(require("next/image"));
3658
- var import_react63 = require("@hugeicons/react");
3659
- var import_core_free_icons21 = require("@hugeicons/core-free-icons");
3660
3658
  var useScrollAnimation = () => {
3661
3659
  const elementRef = (0, import_react62.useRef)(null);
3662
3660
  (0, import_react62.useEffect)(() => {
@@ -3734,19 +3732,18 @@ var PortfolioHero = ({
3734
3732
  import_link8.default,
3735
3733
  {
3736
3734
  href: secondaryCtaHref,
3737
- className: "w-full sm:w-auto inline-flex items-center justify-center gap-3 text-xs tracking-[0.2em] rounded-full px-8 py-2 bg-stone-200 transition-colors text-black hover:bg-stone-50 outline-none"
3735
+ className: "w-full sm:w-auto inline-flex items-center justify-center gap-3 text-xs tracking-[0.2em] rounded-full px-8 py-2.5 bg-stone-200 transition-colors text-black hover:bg-stone-50 outline-none"
3738
3736
  },
3739
- secondaryCtaText,
3740
- /* @__PURE__ */ import_react62.default.createElement(import_react63.HugeiconsIcon, { icon: import_core_free_icons21.ArrowRight01Icon, size: 16 })
3737
+ secondaryCtaText
3741
3738
  ))
3742
3739
  ));
3743
3740
  };
3744
3741
 
3745
3742
  // src/components/GifFeatureCard.tsx
3746
- var import_react64 = __toESM(require("react"));
3743
+ var import_react63 = __toESM(require("react"));
3747
3744
  var import_image8 = __toESM(require("next/image"));
3748
- var import_react65 = require("@hugeicons/react");
3749
- var import_core_free_icons22 = require("@hugeicons/core-free-icons");
3745
+ var import_react64 = require("@hugeicons/react");
3746
+ var import_core_free_icons21 = require("@hugeicons/core-free-icons");
3750
3747
  var GifFeatureCard = ({
3751
3748
  gifSrc,
3752
3749
  title,
@@ -3754,20 +3751,20 @@ var GifFeatureCard = ({
3754
3751
  alt = "Feature animation",
3755
3752
  className = "aspect-video"
3756
3753
  }) => {
3757
- const [isLoading, setIsLoading] = (0, import_react64.useState)(true);
3758
- return /* @__PURE__ */ import_react64.default.createElement("div", { className: `relative w-full bg-black overflow-hidden ${className}` }, isLoading && /* @__PURE__ */ import_react64.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-black" }, /* @__PURE__ */ import_react64.default.createElement(
3759
- import_react65.HugeiconsIcon,
3754
+ const [isLoading, setIsLoading] = (0, import_react63.useState)(true);
3755
+ return /* @__PURE__ */ import_react63.default.createElement("div", { className: `relative w-full bg-black overflow-hidden ${className}` }, isLoading && /* @__PURE__ */ import_react63.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-black" }, /* @__PURE__ */ import_react63.default.createElement(
3756
+ import_react64.HugeiconsIcon,
3760
3757
  {
3761
- icon: import_core_free_icons22.Loading03Icon,
3758
+ icon: import_core_free_icons21.Loading03Icon,
3762
3759
  size: 32,
3763
3760
  className: "animate-spin text-white"
3764
3761
  }
3765
- )), /* @__PURE__ */ import_react64.default.createElement(
3762
+ )), /* @__PURE__ */ import_react63.default.createElement(
3766
3763
  "div",
3767
3764
  {
3768
3765
  className: `absolute inset-0 z-0 transition-all duration-1000 ease-out ${isLoading ? "scale-105 blur-2xl opacity-0" : "scale-100 blur-0 opacity-100"}`
3769
3766
  },
3770
- /* @__PURE__ */ import_react64.default.createElement(
3767
+ /* @__PURE__ */ import_react63.default.createElement(
3771
3768
  import_image8.default,
3772
3769
  {
3773
3770
  src: gifSrc,
@@ -3778,16 +3775,16 @@ var GifFeatureCard = ({
3778
3775
  className: "object-cover object-center pointer-events-none"
3779
3776
  }
3780
3777
  )
3781
- ), /* @__PURE__ */ import_react64.default.createElement(
3778
+ ), /* @__PURE__ */ import_react63.default.createElement(
3782
3779
  "div",
3783
3780
  {
3784
3781
  className: "absolute inset-x-0 bottom-0 h-1/2 sm:h-2/3 bg-linear-to-t from-black/95 via-black/40 to-transparent z-10 pointer-events-none transition-opacity duration-700"
3785
3782
  }
3786
- ), /* @__PURE__ */ import_react64.default.createElement("div", { className: "absolute inset-x-0 bottom-0 p-6 sm:p-8 z-30 flex flex-col justify-end text-left pointer-events-none" }, title && /* @__PURE__ */ import_react64.default.createElement("h3", { className: "text-2xl md:text-3xl text-white tracking-tight mb-2 sm:mb-3 drop-shadow-md" }, title), subtitle && /* @__PURE__ */ import_react64.default.createElement("p", { className: "text-xs leading-relaxed text-stone-300 max-w-2xl drop-shadow-sm" }, subtitle)));
3783
+ ), /* @__PURE__ */ import_react63.default.createElement("div", { className: "absolute inset-x-0 bottom-0 p-6 sm:p-8 z-30 flex flex-col justify-end text-left pointer-events-none" }, title && /* @__PURE__ */ import_react63.default.createElement("h3", { className: "text-2xl md:text-3xl text-white tracking-tight mb-2 sm:mb-3 drop-shadow-md" }, title), subtitle && /* @__PURE__ */ import_react63.default.createElement("p", { className: "text-xs leading-relaxed text-stone-300 max-w-2xl drop-shadow-sm" }, subtitle)));
3787
3784
  };
3788
3785
 
3789
3786
  // src/components/MedicalFeatureStatsBlock.tsx
3790
- var import_react66 = __toESM(require("react"));
3787
+ var import_react65 = __toESM(require("react"));
3791
3788
  var import_image9 = __toESM(require("next/image"));
3792
3789
  var MedicalFeatureStatsBlock = ({
3793
3790
  bottomHeadline,
@@ -3796,9 +3793,9 @@ var MedicalFeatureStatsBlock = ({
3796
3793
  trustText,
3797
3794
  stats
3798
3795
  }) => {
3799
- const [isAnimating, setIsAnimating] = (0, import_react66.useState)(false);
3800
- const titleRef = (0, import_react66.useRef)(null);
3801
- (0, import_react66.useEffect)(() => {
3796
+ const [isAnimating, setIsAnimating] = (0, import_react65.useState)(false);
3797
+ const titleRef = (0, import_react65.useRef)(null);
3798
+ (0, import_react65.useEffect)(() => {
3802
3799
  const observer = new IntersectionObserver(
3803
3800
  ([entry]) => {
3804
3801
  if (entry.isIntersecting) {
@@ -3816,7 +3813,7 @@ var MedicalFeatureStatsBlock = ({
3816
3813
  }
3817
3814
  return () => observer.disconnect();
3818
3815
  }, []);
3819
- return /* @__PURE__ */ import_react66.default.createElement("section", { className: "py-24 w-full flex justify-center relative z-10" }, /* @__PURE__ */ import_react66.default.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ import_react66.default.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-10 mb-12" }, /* @__PURE__ */ import_react66.default.createElement("div", { className: "max-w-xl" }, /* @__PURE__ */ import_react66.default.createElement(
3816
+ return /* @__PURE__ */ import_react65.default.createElement("section", { className: "py-24 w-full flex justify-center relative z-10" }, /* @__PURE__ */ import_react65.default.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ import_react65.default.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-10 mb-12" }, /* @__PURE__ */ import_react65.default.createElement("div", { className: "max-w-xl" }, /* @__PURE__ */ import_react65.default.createElement(
3820
3817
  "h2",
3821
3818
  {
3822
3819
  ref: titleRef,
@@ -3824,7 +3821,7 @@ var MedicalFeatureStatsBlock = ({
3824
3821
  style: isAnimating ? { animationIterationCount: 1 } : {}
3825
3822
  },
3826
3823
  bottomHeadline
3827
- ), /* @__PURE__ */ import_react66.default.createElement("p", { className: "text-sm leading-relaxed text-stone-500" }, bottomDescription)), /* @__PURE__ */ import_react66.default.createElement("div", { className: "flex items-center gap-4 shrink-0" }, /* @__PURE__ */ import_react66.default.createElement("div", { className: "flex -space-x-3" }, avatars.map((src, i) => /* @__PURE__ */ import_react66.default.createElement("div", { key: i, className: "relative w-12 h-12 rounded-full border-[3px] border-white overflow-hidden bg-stone-100 z-1 hover:z-10 transition-all" }, /* @__PURE__ */ import_react66.default.createElement(
3824
+ ), /* @__PURE__ */ import_react65.default.createElement("p", { className: "text-sm leading-relaxed text-stone-500" }, bottomDescription)), /* @__PURE__ */ import_react65.default.createElement("div", { className: "flex items-center gap-4 shrink-0" }, /* @__PURE__ */ import_react65.default.createElement("div", { className: "flex -space-x-3" }, avatars.map((src, i) => /* @__PURE__ */ import_react65.default.createElement("div", { key: i, className: "relative w-12 h-12 rounded-full border-[3px] border-white overflow-hidden bg-stone-100 z-1 hover:z-10 transition-all" }, /* @__PURE__ */ import_react65.default.createElement(
3828
3825
  import_image9.default,
3829
3826
  {
3830
3827
  src,
@@ -3833,17 +3830,17 @@ var MedicalFeatureStatsBlock = ({
3833
3830
  sizes: "48px",
3834
3831
  className: "object-cover"
3835
3832
  }
3836
- )))), /* @__PURE__ */ import_react66.default.createElement("p", { className: "text-xs text-stone-800 leading-[1.4] max-w-55" }, trustText))), /* @__PURE__ */ import_react66.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6" }, stats.map((stat, idx) => /* @__PURE__ */ import_react66.default.createElement("div", { key: idx, className: "bg-white rounded-4xl p-8 md:p-10 flex flex-col h-70" }, /* @__PURE__ */ import_react66.default.createElement("div", { className: "flex items-center p-0.5 mb-6" }, /* @__PURE__ */ import_react66.default.createElement("span", { className: "text-sm text-stone-500 tracking-wide" }, stat.label)), /* @__PURE__ */ import_react66.default.createElement("h1", { className: "text-6xl gradient-text md:text-[80px] tracking-tighter text-black mt-auto leading-none" }, stat.value))))));
3833
+ )))), /* @__PURE__ */ import_react65.default.createElement("p", { className: "text-xs text-stone-800 leading-[1.4] max-w-55" }, trustText))), /* @__PURE__ */ import_react65.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6" }, stats.map((stat, idx) => /* @__PURE__ */ import_react65.default.createElement("div", { key: idx, className: "bg-white rounded-4xl p-8 md:p-10 flex flex-col h-70" }, /* @__PURE__ */ import_react65.default.createElement("div", { className: "flex items-center p-0.5 mb-6" }, /* @__PURE__ */ import_react65.default.createElement("span", { className: "text-sm text-stone-500 tracking-wide" }, stat.label)), /* @__PURE__ */ import_react65.default.createElement("h1", { className: "text-6xl gradient-text md:text-[80px] tracking-tighter text-black mt-auto leading-none" }, stat.value))))));
3837
3834
  };
3838
3835
 
3839
3836
  // src/components/ConsultantShowcase.tsx
3840
- var import_react67 = __toESM(require("react"));
3837
+ var import_react66 = __toESM(require("react"));
3841
3838
  var import_image10 = __toESM(require("next/image"));
3842
- var import_react68 = require("@hugeicons/react");
3843
- var import_core_free_icons23 = require("@hugeicons/core-free-icons");
3839
+ var import_react67 = require("@hugeicons/react");
3840
+ var import_core_free_icons22 = require("@hugeicons/core-free-icons");
3844
3841
  var ImageWithLoader = ({ src, alt, className, sizes, priority = false }) => {
3845
- const [isLoading, setIsLoading] = (0, import_react67.useState)(true);
3846
- return /* @__PURE__ */ import_react67.default.createElement("div", { className: `absolute inset-0 bg-stone-800 ${className}` }, isLoading && /* @__PURE__ */ import_react67.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-stone-800/50 backdrop-blur-md transition-opacity duration-300" }, /* @__PURE__ */ import_react67.default.createElement(import_react68.HugeiconsIcon, { icon: import_core_free_icons23.Loading03Icon, size: 24, className: "animate-spin text-white/50" })), /* @__PURE__ */ import_react67.default.createElement(
3842
+ const [isLoading, setIsLoading] = (0, import_react66.useState)(true);
3843
+ return /* @__PURE__ */ import_react66.default.createElement("div", { className: `absolute inset-0 bg-stone-800 ${className}` }, isLoading && /* @__PURE__ */ import_react66.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-stone-800/50 backdrop-blur-md transition-opacity duration-300" }, /* @__PURE__ */ import_react66.default.createElement(import_react67.HugeiconsIcon, { icon: import_core_free_icons22.Loading03Icon, size: 24, className: "animate-spin text-white/50" })), /* @__PURE__ */ import_react66.default.createElement(
3847
3844
  import_image10.default,
3848
3845
  {
3849
3846
  src,
@@ -3862,9 +3859,9 @@ var ImageWithLoader = ({ src, alt, className, sizes, priority = false }) => {
3862
3859
  var ConsultantShowcase = ({
3863
3860
  profiles
3864
3861
  }) => {
3865
- const [currentIndex, setCurrentIndex] = (0, import_react67.useState)(0);
3866
- const [touchStart, setTouchStart] = (0, import_react67.useState)(null);
3867
- const [touchEnd, setTouchEnd] = (0, import_react67.useState)(null);
3862
+ const [currentIndex, setCurrentIndex] = (0, import_react66.useState)(0);
3863
+ const [touchStart, setTouchStart] = (0, import_react66.useState)(null);
3864
+ const [touchEnd, setTouchEnd] = (0, import_react66.useState)(null);
3868
3865
  const nextSlide = () => {
3869
3866
  setCurrentIndex((prev) => prev === profiles.length - 1 ? 0 : prev + 1);
3870
3867
  };
@@ -3889,7 +3886,7 @@ var ConsultantShowcase = ({
3889
3886
  }
3890
3887
  };
3891
3888
  if (!profiles || profiles.length === 0) return null;
3892
- return /* @__PURE__ */ import_react67.default.createElement("section", { className: "py-24 w-full flex justify-center px-4 md:px-8 z-10 relative" }, /* @__PURE__ */ import_react67.default.createElement("div", { className: "max-w-6xl w-full" }, /* @__PURE__ */ import_react67.default.createElement(
3889
+ return /* @__PURE__ */ import_react66.default.createElement("section", { className: "py-24 w-full flex justify-center px-4 md:px-8 z-10 relative" }, /* @__PURE__ */ import_react66.default.createElement("div", { className: "max-w-6xl w-full" }, /* @__PURE__ */ import_react66.default.createElement(
3893
3890
  "div",
3894
3891
  {
3895
3892
  className: "relative w-full h-100 md:h-112.5 rounded-4xl overflow-hidden bg-stone-900 group select-none",
@@ -3899,13 +3896,13 @@ var ConsultantShowcase = ({
3899
3896
  },
3900
3897
  profiles.map((profile, idx) => {
3901
3898
  const isActive = idx === currentIndex;
3902
- return /* @__PURE__ */ import_react67.default.createElement(
3899
+ return /* @__PURE__ */ import_react66.default.createElement(
3903
3900
  "div",
3904
3901
  {
3905
3902
  key: profile.id,
3906
3903
  className: `absolute inset-0 transition-opacity duration-700 ease-in-out ${isActive ? "opacity-100 z-10" : "opacity-0 z-0 pointer-events-none"}`
3907
3904
  },
3908
- /* @__PURE__ */ import_react67.default.createElement(
3905
+ /* @__PURE__ */ import_react66.default.createElement(
3909
3906
  ImageWithLoader,
3910
3907
  {
3911
3908
  src: profile.imageSrc,
@@ -3913,14 +3910,14 @@ var ConsultantShowcase = ({
3913
3910
  priority: idx === 0
3914
3911
  }
3915
3912
  ),
3916
- /* @__PURE__ */ import_react67.default.createElement("div", { className: "absolute inset-0 bg-black/20 z-10 pointer-events-none" }),
3917
- /* @__PURE__ */ import_react67.default.createElement("div", { className: "absolute top-0 left-0 w-full h-[60%] bg-linear-to-b from-black/80 via-black/30 to-transparent z-20 pointer-events-none" }),
3918
- /* @__PURE__ */ import_react67.default.createElement("div", { className: `absolute top-8 left-8 md:top-12 md:left-12 z-30 text-white max-w-lg transition-transform duration-700 ease-out ${isActive ? "translate-y-0" : "-translate-y-4"}` }, /* @__PURE__ */ import_react67.default.createElement("h2", { className: "text-lg tracking-tight mb-2 leading-none" }, profile.name), /* @__PURE__ */ import_react67.default.createElement("div", { className: "flex flex-col gap-0.5" }, /* @__PURE__ */ import_react67.default.createElement("p", { className: "text-sm text-white/80 tracking-wide" }, profile.role), profile.description && /* @__PURE__ */ import_react67.default.createElement("p", { className: "text-sm text-white/80 tracking-wide mt-1" }, profile.description)))
3913
+ /* @__PURE__ */ import_react66.default.createElement("div", { className: "absolute inset-0 bg-black/20 z-10 pointer-events-none" }),
3914
+ /* @__PURE__ */ import_react66.default.createElement("div", { className: "absolute top-0 left-0 w-full h-[60%] bg-linear-to-b from-black/80 via-black/30 to-transparent z-20 pointer-events-none" }),
3915
+ /* @__PURE__ */ import_react66.default.createElement("div", { className: `absolute top-8 left-8 md:top-12 md:left-12 z-30 text-white max-w-lg transition-transform duration-700 ease-out ${isActive ? "translate-y-0" : "-translate-y-4"}` }, /* @__PURE__ */ import_react66.default.createElement("h2", { className: "text-lg tracking-tight mb-2 leading-none" }, profile.name), /* @__PURE__ */ import_react66.default.createElement("div", { className: "flex flex-col gap-0.5" }, /* @__PURE__ */ import_react66.default.createElement("p", { className: "text-sm text-white/80 tracking-wide" }, profile.role), profile.description && /* @__PURE__ */ import_react66.default.createElement("p", { className: "text-sm text-white/80 tracking-wide mt-1" }, profile.description)))
3919
3916
  );
3920
3917
  }),
3921
- /* @__PURE__ */ import_react67.default.createElement("div", { className: "absolute top-0 left-0 w-[20%] h-full z-40 cursor-w-resize hidden md:block", onClick: prevSlide }),
3922
- /* @__PURE__ */ import_react67.default.createElement("div", { className: "absolute top-0 right-0 w-[20%] h-full z-40 cursor-e-resize hidden md:block", onClick: nextSlide }),
3923
- /* @__PURE__ */ import_react67.default.createElement("div", { className: "absolute bottom-6 md:bottom-8 left-0 w-full px-4 z-30 flex justify-center items-center gap-2" }, profiles.map((_, idx) => /* @__PURE__ */ import_react67.default.createElement(
3918
+ /* @__PURE__ */ import_react66.default.createElement("div", { className: "absolute top-0 left-0 w-[20%] h-full z-40 cursor-w-resize hidden md:block", onClick: prevSlide }),
3919
+ /* @__PURE__ */ import_react66.default.createElement("div", { className: "absolute top-0 right-0 w-[20%] h-full z-40 cursor-e-resize hidden md:block", onClick: nextSlide }),
3920
+ /* @__PURE__ */ import_react66.default.createElement("div", { className: "absolute bottom-6 md:bottom-8 left-0 w-full px-4 z-30 flex justify-center items-center gap-2" }, profiles.map((_, idx) => /* @__PURE__ */ import_react66.default.createElement(
3924
3921
  "button",
3925
3922
  {
3926
3923
  key: idx,
@@ -3932,10 +3929,10 @@ var ConsultantShowcase = ({
3932
3929
  };
3933
3930
 
3934
3931
  // src/components/ContentGridBlock.tsx
3935
- var import_react69 = __toESM(require("react"));
3932
+ var import_react68 = __toESM(require("react"));
3936
3933
  var import_image11 = __toESM(require("next/image"));
3937
- var import_react70 = require("@hugeicons/react");
3938
- var import_core_free_icons24 = require("@hugeicons/core-free-icons");
3934
+ var import_react69 = require("@hugeicons/react");
3935
+ var import_core_free_icons23 = require("@hugeicons/core-free-icons");
3939
3936
  var ContentGridBlock = ({
3940
3937
  header,
3941
3938
  leftCard,
@@ -3949,20 +3946,20 @@ var ContentGridBlock = ({
3949
3946
  bgDecoRotation_1,
3950
3947
  bgDecoRotation_2
3951
3948
  }) => {
3952
- return /* @__PURE__ */ import_react69.default.createElement("section", { className: " w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react69.default.createElement("div", { className: "max-w-300 w-full px-4 md:px-8 flex flex-col gap-12" }, /* @__PURE__ */ import_react69.default.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-6 w-full" }, /* @__PURE__ */ import_react69.default.createElement("h2", { className: "text-3xl tracking-tight text-black leading-[1.15] max-w-lg" }, header.titlePrefix, " ", /* @__PURE__ */ import_react69.default.createElement("span", { className: "gradient-text" }, header.highlightText))), /* @__PURE__ */ import_react69.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6" }, /* @__PURE__ */ import_react69.default.createElement("div", { className: "flex flex-col justify-end" }, /* @__PURE__ */ import_react69.default.createElement("div", { className: "bg-black rounded-3xl p-8 flex flex-col mx-h-95" }, /* @__PURE__ */ import_react69.default.createElement("p", { className: "text-sm text-white leading-snug mb-4" }, leftCard.mainText), leftCard.tag && /* @__PURE__ */ import_react69.default.createElement("span", { className: "mb-auto text-xs text-stone-100 tracking-widest" }, leftCard.tag), /* @__PURE__ */ import_react69.default.createElement("div", { className: "flex items-center justify-between mt-8" }, /* @__PURE__ */ import_react69.default.createElement("div", null, /* @__PURE__ */ import_react69.default.createElement("h4", { className: "text-sm text-white" }, leftCard.title), /* @__PURE__ */ import_react69.default.createElement("p", { className: "text-xs text-stone-300" }, leftCard.subtitle)), /* @__PURE__ */ import_react69.default.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ import_react69.default.createElement(import_image11.default, { src: leftCard.thumbnailSrc, alt: leftCard.title, fill: true, className: "object-cover" }))))), /* @__PURE__ */ import_react69.default.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ import_react69.default.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col relative mx-h-95" }, /* @__PURE__ */ import_react69.default.createElement("div", { className: "absolute top-6 right-6 flex flex-col items-end gap-1" }, /* @__PURE__ */ import_react69.default.createElement("span", { className: "text-xs text-stone-400 tracking-wide" }, middleTopCard.topRightLabel), /* @__PURE__ */ import_react69.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react69.default.createElement("div", { className: "flex -space-x-2" }, middleTopCard.topRightAvatars.map((src, i) => /* @__PURE__ */ import_react69.default.createElement("div", { key: i, className: "w-7 h-7 rounded-full border-2 border-white overflow-hidden relative z-10" }, /* @__PURE__ */ import_react69.default.createElement(import_image11.default, { src, alt: "Avatar", fill: true, className: "object-cover", sizes: "28px" })))), /* @__PURE__ */ import_react69.default.createElement("span", { className: "text-sm text-stone-500" }, middleTopCard.topRightCount))), /* @__PURE__ */ import_react69.default.createElement("div", { className: "grow flex flex-col mt-10 justify-center items-center py-6" }, /* @__PURE__ */ import_react69.default.createElement("div", { className: "px-5 py-2 rounded-full bg-stone-50/50 border border-stone-200 text-sm text-stone-600" }, middleTopCard.badgePrefix, " ", /* @__PURE__ */ import_react69.default.createElement("span", { className: " text-black" }, middleTopCard.badgeHighlight), middleTopCard.badgeSuffix)), /* @__PURE__ */ import_react69.default.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ import_react69.default.createElement("p", { className: "text-xs text-stone-400 tracking-wide mb-1" }, middleTopCard.title), /* @__PURE__ */ import_react69.default.createElement("p", { className: "text-sm text-black leading-snug pr-4" }, middleTopCard.description))), /* @__PURE__ */ import_react69.default.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col mx-h-95" }, /* @__PURE__ */ import_react69.default.createElement("div", { className: "flex justify-between items-start mb-6" }, /* @__PURE__ */ import_react69.default.createElement("div", null, /* @__PURE__ */ import_react69.default.createElement("h4", { className: "text-sm text-black leading-tight" }, middleBottomCard.title), /* @__PURE__ */ import_react69.default.createElement("p", { className: "text-xs text-stone-400" }, middleBottomCard.subtitle)), /* @__PURE__ */ import_react69.default.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ import_react69.default.createElement(import_image11.default, { src: middleBottomCard.thumbnailSrc, alt: middleBottomCard.title, fill: true, className: "object-cover" }))), /* @__PURE__ */ import_react69.default.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ import_react69.default.createElement("p", { className: "text-sm text-black leading-snug mb-4" }, middleBottomCard.mainText), middleBottomCard.tag && /* @__PURE__ */ import_react69.default.createElement("span", { className: "text-xs text-stone-400 tracking-widest" }, middleBottomCard.tag)))), /* @__PURE__ */ import_react69.default.createElement("div", { className: "flex flex-col gap-6" }, rightCards.slice(0, 2).map((card, idx) => {
3949
+ return /* @__PURE__ */ import_react68.default.createElement("section", { className: " w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react68.default.createElement("div", { className: "max-w-300 w-full px-4 md:px-8 flex flex-col gap-12" }, /* @__PURE__ */ import_react68.default.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-6 w-full" }, /* @__PURE__ */ import_react68.default.createElement("h2", { className: "text-3xl tracking-tight text-black leading-[1.15] max-w-lg" }, header.titlePrefix, " ", /* @__PURE__ */ import_react68.default.createElement("span", { className: "gradient-text" }, header.highlightText))), /* @__PURE__ */ import_react68.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6" }, /* @__PURE__ */ import_react68.default.createElement("div", { className: "flex flex-col justify-end" }, /* @__PURE__ */ import_react68.default.createElement("div", { className: "bg-black rounded-3xl p-8 flex flex-col mx-h-95" }, /* @__PURE__ */ import_react68.default.createElement("p", { className: "text-sm text-white leading-snug mb-4" }, leftCard.mainText), leftCard.tag && /* @__PURE__ */ import_react68.default.createElement("span", { className: "mb-auto text-xs text-stone-100 tracking-widest" }, leftCard.tag), /* @__PURE__ */ import_react68.default.createElement("div", { className: "flex items-center justify-between mt-8" }, /* @__PURE__ */ import_react68.default.createElement("div", null, /* @__PURE__ */ import_react68.default.createElement("h4", { className: "text-sm text-white" }, leftCard.title), /* @__PURE__ */ import_react68.default.createElement("p", { className: "text-xs text-stone-300" }, leftCard.subtitle)), /* @__PURE__ */ import_react68.default.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ import_react68.default.createElement(import_image11.default, { src: leftCard.thumbnailSrc, alt: leftCard.title, fill: true, className: "object-cover" }))))), /* @__PURE__ */ import_react68.default.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ import_react68.default.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col relative mx-h-95" }, /* @__PURE__ */ import_react68.default.createElement("div", { className: "absolute top-6 right-6 flex flex-col items-end gap-1" }, /* @__PURE__ */ import_react68.default.createElement("span", { className: "text-xs text-stone-400 tracking-wide" }, middleTopCard.topRightLabel), /* @__PURE__ */ import_react68.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react68.default.createElement("div", { className: "flex -space-x-2" }, middleTopCard.topRightAvatars.map((src, i) => /* @__PURE__ */ import_react68.default.createElement("div", { key: i, className: "w-7 h-7 rounded-full border-2 border-white overflow-hidden relative z-10" }, /* @__PURE__ */ import_react68.default.createElement(import_image11.default, { src, alt: "Avatar", fill: true, className: "object-cover", sizes: "28px" })))), /* @__PURE__ */ import_react68.default.createElement("span", { className: "text-sm text-stone-500" }, middleTopCard.topRightCount))), /* @__PURE__ */ import_react68.default.createElement("div", { className: "grow flex flex-col mt-10 justify-center items-center py-6" }, /* @__PURE__ */ import_react68.default.createElement("div", { className: "px-5 py-2 rounded-full bg-stone-50/50 border border-stone-200 text-sm text-stone-600" }, middleTopCard.badgePrefix, " ", /* @__PURE__ */ import_react68.default.createElement("span", { className: " text-black" }, middleTopCard.badgeHighlight), middleTopCard.badgeSuffix)), /* @__PURE__ */ import_react68.default.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ import_react68.default.createElement("p", { className: "text-xs text-stone-400 tracking-wide mb-1" }, middleTopCard.title), /* @__PURE__ */ import_react68.default.createElement("p", { className: "text-sm text-black leading-snug pr-4" }, middleTopCard.description))), /* @__PURE__ */ import_react68.default.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col mx-h-95" }, /* @__PURE__ */ import_react68.default.createElement("div", { className: "flex justify-between items-start mb-6" }, /* @__PURE__ */ import_react68.default.createElement("div", null, /* @__PURE__ */ import_react68.default.createElement("h4", { className: "text-sm text-black leading-tight" }, middleBottomCard.title), /* @__PURE__ */ import_react68.default.createElement("p", { className: "text-xs text-stone-400" }, middleBottomCard.subtitle)), /* @__PURE__ */ import_react68.default.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ import_react68.default.createElement(import_image11.default, { src: middleBottomCard.thumbnailSrc, alt: middleBottomCard.title, fill: true, className: "object-cover" }))), /* @__PURE__ */ import_react68.default.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ import_react68.default.createElement("p", { className: "text-sm text-black leading-snug mb-4" }, middleBottomCard.mainText), middleBottomCard.tag && /* @__PURE__ */ import_react68.default.createElement("span", { className: "text-xs text-stone-400 tracking-widest" }, middleBottomCard.tag)))), /* @__PURE__ */ import_react68.default.createElement("div", { className: "flex flex-col gap-6" }, rightCards.slice(0, 2).map((card, idx) => {
3953
3950
  const isSecondCard = idx === 1;
3954
3951
  const cardBgColor = isSecondCard ? bgColor_2 || "bg-[#ffffff]" : bgColor_1 || "bg-[#d97757]";
3955
3952
  const defaultDeco_a = "https://storage.googleapis.com/retina-cloud-v2/assets/images/deco_a.avif";
3956
3953
  const defaultDeco_b = "https://storage.googleapis.com/retina-cloud-v2/assets/images/deco_b.avif";
3957
3954
  const bgDecoImage = isSecondCard ? bgDeco_2 || defaultDeco_b : bgDeco_1 || defaultDeco_a;
3958
3955
  const rotationClass = isSecondCard ? bgDecoRotation_2 || "-rotate-12" : bgDecoRotation_1 || "rotate-90";
3959
- return /* @__PURE__ */ import_react69.default.createElement(
3956
+ return /* @__PURE__ */ import_react68.default.createElement(
3960
3957
  "div",
3961
3958
  {
3962
3959
  key: idx,
3963
3960
  className: `relative w-full h-80 rounded-3xl overflow-hidden group ${cardBgColor}`
3964
3961
  },
3965
- bgDecoImage && /* @__PURE__ */ import_react69.default.createElement(
3962
+ bgDecoImage && /* @__PURE__ */ import_react68.default.createElement(
3966
3963
  "img",
3967
3964
  {
3968
3965
  src: bgDecoImage,
@@ -3970,26 +3967,26 @@ var ContentGridBlock = ({
3970
3967
  className: `absolute bottom-0 right-0 translate-x-1/4 translate-y-1/4 w-52 sm:w-60 h-auto object-contain z-10 pointer-events-none opacity-30 ${rotationClass}`
3971
3968
  }
3972
3969
  ),
3973
- /* @__PURE__ */ import_react69.default.createElement("div", { className: `absolute inset-0 z-20 pointer-events-none ${isSecondCard ? "" : "bg-black/20"}` }),
3974
- /* @__PURE__ */ import_react69.default.createElement("div", { className: `absolute inset-0 z-30 p-6 flex flex-col justify-end ${isSecondCard ? "text-black" : "text-white"}` }, /* @__PURE__ */ import_react69.default.createElement("p", { className: `text-sm leading-snug mb-3 pr-2 ${isSecondCard ? "text-black/90" : "text-white/90"}` }, card.mainText), card.tag && /* @__PURE__ */ import_react69.default.createElement("span", { className: `mb-4 text-xs tracking-widest ${isSecondCard ? "text-black/70" : "text-white/50"}` }, card.tag), /* @__PURE__ */ import_react69.default.createElement("div", { className: "pt-3" }, /* @__PURE__ */ import_react69.default.createElement("h4", { className: `text-sm tracking-wide ${isSecondCard ? "text-black" : "text-white"}` }, card.title), /* @__PURE__ */ import_react69.default.createElement("p", { className: `text-xs ${isSecondCard ? "text-black/60" : "text-white/60"}` }, card.subtitle)))
3970
+ /* @__PURE__ */ import_react68.default.createElement("div", { className: `absolute inset-0 z-20 pointer-events-none ${isSecondCard ? "" : "bg-black/20"}` }),
3971
+ /* @__PURE__ */ import_react68.default.createElement("div", { className: `absolute inset-0 z-30 p-6 flex flex-col justify-end ${isSecondCard ? "text-black" : "text-white"}` }, /* @__PURE__ */ import_react68.default.createElement("p", { className: `text-sm leading-snug mb-3 pr-2 ${isSecondCard ? "text-black/90" : "text-white/90"}` }, card.mainText), card.tag && /* @__PURE__ */ import_react68.default.createElement("span", { className: `mb-4 text-xs tracking-widest ${isSecondCard ? "text-black/70" : "text-white/50"}` }, card.tag), /* @__PURE__ */ import_react68.default.createElement("div", { className: "pt-3" }, /* @__PURE__ */ import_react68.default.createElement("h4", { className: `text-sm tracking-wide ${isSecondCard ? "text-black" : "text-white"}` }, card.title), /* @__PURE__ */ import_react68.default.createElement("p", { className: `text-xs ${isSecondCard ? "text-black/60" : "text-white/60"}` }, card.subtitle)))
3975
3972
  );
3976
3973
  })))));
3977
3974
  };
3978
3975
 
3979
3976
  // src/components/ManagedProjectsBlock.tsx
3980
- var import_react71 = __toESM(require("react"));
3977
+ var import_react70 = __toESM(require("react"));
3981
3978
  var import_link9 = __toESM(require("next/link"));
3982
3979
  var GridSection = ({
3983
3980
  children,
3984
3981
  isLast = false,
3985
3982
  className = "py-8 md:py-10"
3986
- }) => /* @__PURE__ */ import_react71.default.createElement("div", { className: `relative px-5 md:px-12 ${className} ${!isLast ? "" : ""}` }, children);
3983
+ }) => /* @__PURE__ */ import_react70.default.createElement("div", { className: `relative px-5 md:px-12 ${className} ${!isLast ? "" : ""}` }, children);
3987
3984
  var ManagedProjectsBlock = ({
3988
3985
  tagline,
3989
3986
  title,
3990
3987
  projects
3991
3988
  }) => {
3992
- return /* @__PURE__ */ import_react71.default.createElement("div", { className: "grow pt-4 pb-20 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react71.default.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-5xl mx-auto overflow-hidden" }, /* @__PURE__ */ import_react71.default.createElement(
3989
+ return /* @__PURE__ */ import_react70.default.createElement("div", { className: "grow pt-4 pb-20 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react70.default.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-5xl mx-auto overflow-hidden" }, /* @__PURE__ */ import_react70.default.createElement(
3993
3990
  "div",
3994
3991
  {
3995
3992
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
@@ -3998,17 +3995,17 @@ var ManagedProjectsBlock = ({
3998
3995
  backgroundRepeat: "repeat"
3999
3996
  }
4000
3997
  }
4001
- ), /* @__PURE__ */ import_react71.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react71.default.createElement(GridSection, null, tagline && /* @__PURE__ */ import_react71.default.createElement("span", { className: "text-xs tracking-[0.4em] text-stone-500 text-left block " }, tagline), /* @__PURE__ */ import_react71.default.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight text-left" }, title)), projects.map((project, index) => {
3998
+ ), /* @__PURE__ */ import_react70.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react70.default.createElement(GridSection, null, tagline && /* @__PURE__ */ import_react70.default.createElement("span", { className: "text-xs tracking-[0.4em] text-stone-500 text-left block " }, tagline), /* @__PURE__ */ import_react70.default.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight text-left" }, title)), projects.map((project, index) => {
4002
3999
  const isLast = index === projects.length - 1;
4003
- const projectContent = /* @__PURE__ */ import_react71.default.createElement("div", { className: "group block w-full" }, /* @__PURE__ */ import_react71.default.createElement("div", { className: "flex flex-col md:flex-row md:items-center justify-between gap-3 md:gap-4 mb-4 md:mb-5" }, /* @__PURE__ */ import_react71.default.createElement("div", { className: "flex items-center gap-3 md:gap-4" }, /* @__PURE__ */ import_react71.default.createElement("h2", { className: " text-sm text-black transition-all flex items-center gap-2" }, project.title, /* @__PURE__ */ import_react71.default.createElement("span", { className: "text-xs opacity-0 -translate-x-2 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300" }, project.isExternal ? "\u2197" : "\u2192")), /* @__PURE__ */ import_react71.default.createElement("span", { className: `text-xs px-2.5 py-1 rounded-full tracking-[0.15em] transition-colors ${project.status.toLowerCase() === "production" ? "bg-black text-white" : "bg-stone-100 text-stone-500 group-hover:bg-stone-50 group-hover:text-black"}` }, project.status)), /* @__PURE__ */ import_react71.default.createElement("span", { className: "text-xs tracking-[0.2em] text-stone-500 shrink-0 " }, project.date)), /* @__PURE__ */ import_react71.default.createElement("p", { className: "text-sm leading-[1.8] text-stone-600 max-w-4xl text-left transition-colors group-hover:text-black" }, project.description));
4004
- return /* @__PURE__ */ import_react71.default.createElement(GridSection, { key: project.id || index, isLast, className: isLast ? "py-8 md:py-10 pb-12 md:pb-14" : "py-8 md:py-10" }, project.isExternal ? /* @__PURE__ */ import_react71.default.createElement("a", { href: project.link, target: "_blank", rel: "noopener noreferrer", className: "block outline-none" }, projectContent) : /* @__PURE__ */ import_react71.default.createElement(import_link9.default, { href: project.link, className: "block outline-none" }, projectContent));
4000
+ const projectContent = /* @__PURE__ */ import_react70.default.createElement("div", { className: "group block w-full" }, /* @__PURE__ */ import_react70.default.createElement("div", { className: "flex flex-col md:flex-row md:items-center justify-between gap-3 md:gap-4 mb-4 md:mb-5" }, /* @__PURE__ */ import_react70.default.createElement("div", { className: "flex items-center gap-3 md:gap-4" }, /* @__PURE__ */ import_react70.default.createElement("h2", { className: " text-sm text-black transition-all flex items-center gap-2" }, project.title, /* @__PURE__ */ import_react70.default.createElement("span", { className: "text-xs opacity-0 -translate-x-2 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300" }, project.isExternal ? "\u2197" : "\u2192")), /* @__PURE__ */ import_react70.default.createElement("span", { className: `text-xs px-2.5 py-1 rounded-full tracking-[0.15em] transition-colors ${project.status.toLowerCase() === "production" ? "bg-black text-white" : "bg-stone-100 text-stone-500 group-hover:bg-stone-50 group-hover:text-black"}` }, project.status)), /* @__PURE__ */ import_react70.default.createElement("span", { className: "text-xs tracking-[0.2em] text-stone-500 shrink-0 " }, project.date)), /* @__PURE__ */ import_react70.default.createElement("p", { className: "text-sm leading-[1.8] text-stone-600 max-w-4xl text-left transition-colors group-hover:text-black" }, project.description));
4001
+ return /* @__PURE__ */ import_react70.default.createElement(GridSection, { key: project.id || index, isLast, className: isLast ? "py-8 md:py-10 pb-12 md:pb-14" : "py-8 md:py-10" }, project.isExternal ? /* @__PURE__ */ import_react70.default.createElement("a", { href: project.link, target: "_blank", rel: "noopener noreferrer", className: "block outline-none" }, projectContent) : /* @__PURE__ */ import_react70.default.createElement(import_link9.default, { href: project.link, className: "block outline-none" }, projectContent));
4005
4002
  }))));
4006
4003
  };
4007
4004
 
4008
4005
  // src/components/UniversalVerificationPage.tsx
4009
- var import_react72 = __toESM(require("react"));
4010
- var import_react73 = require("@hugeicons/react");
4011
- var import_core_free_icons25 = require("@hugeicons/core-free-icons");
4006
+ var import_react71 = __toESM(require("react"));
4007
+ var import_react72 = require("@hugeicons/react");
4008
+ var import_core_free_icons24 = require("@hugeicons/core-free-icons");
4012
4009
  var VerificationRow = ({
4013
4010
  icon,
4014
4011
  title,
@@ -4026,14 +4023,14 @@ var VerificationRow = ({
4026
4023
  case "APPROVED":
4027
4024
  statusText = "Completed";
4028
4025
  statusColor = "text-stone-600";
4029
- StatusIcon = import_core_free_icons25.CheckmarkCircle01Icon;
4026
+ StatusIcon = import_core_free_icons24.CheckmarkCircle01Icon;
4030
4027
  bg = "bg-stone-50";
4031
4028
  iconColor = "text-green-500";
4032
4029
  break;
4033
4030
  case "PENDING":
4034
4031
  statusText = "Awaiting Approval";
4035
4032
  statusColor = "text-stone-500";
4036
- StatusIcon = import_core_free_icons25.Time02Icon;
4033
+ StatusIcon = import_core_free_icons24.Time02Icon;
4037
4034
  bg = "bg-stone-50";
4038
4035
  iconColor = "text-orange-500";
4039
4036
  break;
@@ -4041,7 +4038,7 @@ var VerificationRow = ({
4041
4038
  statusText = "Action required to fix issue";
4042
4039
  statusColor = "text-stone-500";
4043
4040
  bg = "bg-stone-50";
4044
- StatusIcon = import_core_free_icons25.InformationCircleIcon;
4041
+ StatusIcon = import_core_free_icons24.InformationCircleIcon;
4045
4042
  iconColor = "text-red-500";
4046
4043
  break;
4047
4044
  case "ACTION_REQUIRED":
@@ -4049,20 +4046,20 @@ var VerificationRow = ({
4049
4046
  statusText = "Start verification";
4050
4047
  statusColor = "text-stone-500";
4051
4048
  bg = "bg-stone-50";
4052
- StatusIcon = import_core_free_icons25.InformationCircleIcon;
4049
+ StatusIcon = import_core_free_icons24.InformationCircleIcon;
4053
4050
  iconColor = "text-stone-400";
4054
4051
  break;
4055
4052
  }
4056
4053
  const isDisabled = status === "APPROVED" || isLoading;
4057
- return /* @__PURE__ */ import_react72.default.createElement(
4054
+ return /* @__PURE__ */ import_react71.default.createElement(
4058
4055
  "div",
4059
4056
  {
4060
4057
  onClick: isDisabled ? void 0 : onClick,
4061
4058
  className: `flex items-center p-4 transition-colors ${!isLast ? "" : ""} ${isDisabled ? "opacity-70 cursor-default" : "cursor-pointer hover:bg-stone-50"}`
4062
4059
  },
4063
- /* @__PURE__ */ import_react72.default.createElement("div", { className: "w-9 h-9 rounded-full border border-stone-200 bg-white flex items-center justify-center shrink-0 mr-4" }, /* @__PURE__ */ import_react72.default.createElement(import_react73.HugeiconsIcon, { icon, size: 16, className: "text-black" })),
4064
- /* @__PURE__ */ import_react72.default.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ import_react72.default.createElement("p", { className: "text-sm truncate text-black" }, title), /* @__PURE__ */ import_react72.default.createElement("p", { className: `text-xs inline-flex items-center ${bg} rounded-full px-2 py-1 ${statusColor} mt-0.5` }, statusText)),
4065
- /* @__PURE__ */ import_react72.default.createElement("div", { className: "shrink-0 ml-2" }, isLoading ? /* @__PURE__ */ import_react72.default.createElement(import_react73.HugeiconsIcon, { icon: import_core_free_icons25.Loading03Icon, size: 20, className: "animate-spin text-black" }) : /* @__PURE__ */ import_react72.default.createElement(import_react73.HugeiconsIcon, { icon: StatusIcon, size: 20, className: iconColor }))
4060
+ /* @__PURE__ */ import_react71.default.createElement("div", { className: "w-9 h-9 rounded-full border border-stone-200 bg-white flex items-center justify-center shrink-0 mr-4" }, /* @__PURE__ */ import_react71.default.createElement(import_react72.HugeiconsIcon, { icon, size: 16, className: "text-black" })),
4061
+ /* @__PURE__ */ import_react71.default.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ import_react71.default.createElement("p", { className: "text-sm truncate text-black" }, title), /* @__PURE__ */ import_react71.default.createElement("p", { className: `text-xs inline-flex items-center ${bg} rounded-full px-2 py-1 ${statusColor} mt-0.5` }, statusText)),
4062
+ /* @__PURE__ */ import_react71.default.createElement("div", { className: "shrink-0 ml-2" }, isLoading ? /* @__PURE__ */ import_react71.default.createElement(import_react72.HugeiconsIcon, { icon: import_core_free_icons24.Loading03Icon, size: 20, className: "animate-spin text-black" }) : /* @__PURE__ */ import_react71.default.createElement(import_react72.HugeiconsIcon, { icon: StatusIcon, size: 20, className: iconColor }))
4066
4063
  );
4067
4064
  };
4068
4065
  var UniversalVerificationPage = ({
@@ -4075,36 +4072,36 @@ var UniversalVerificationPage = ({
4075
4072
  onTriggerVerification,
4076
4073
  activeLoadingType
4077
4074
  }) => {
4078
- return /* @__PURE__ */ import_react72.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300 pb-12" }, /* @__PURE__ */ import_react72.default.createElement("div", { className: "mb-6 flex items-center px-1" }, /* @__PURE__ */ import_react72.default.createElement(
4075
+ return /* @__PURE__ */ import_react71.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300 pb-12" }, /* @__PURE__ */ import_react71.default.createElement("div", { className: "mb-6 flex items-center px-1" }, /* @__PURE__ */ import_react71.default.createElement(
4079
4076
  "button",
4080
4077
  {
4081
4078
  onClick: onBack,
4082
4079
  className: "flex items-center gap-2 text-stone-500 hover:text-black transition-colors text-sm outline-none"
4083
4080
  },
4084
- /* @__PURE__ */ import_react72.default.createElement(import_react73.HugeiconsIcon, { icon: import_core_free_icons25.ArrowLeft01Icon, size: 16 }),
4081
+ /* @__PURE__ */ import_react71.default.createElement(import_react72.HugeiconsIcon, { icon: import_core_free_icons24.ArrowLeft01Icon, size: 16 }),
4085
4082
  " Back"
4086
- )), /* @__PURE__ */ import_react72.default.createElement("div", { className: "w-full flex flex-col gap-4 mb-8" }, /* @__PURE__ */ import_react72.default.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ import_react72.default.createElement(
4083
+ )), /* @__PURE__ */ import_react71.default.createElement("div", { className: "w-full flex flex-col gap-4 mb-8" }, /* @__PURE__ */ import_react71.default.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ import_react71.default.createElement(
4087
4084
  VerificationRow,
4088
4085
  {
4089
- icon: import_core_free_icons25.Mail01Icon,
4086
+ icon: import_core_free_icons24.Mail01Icon,
4090
4087
  title: "Email Verification",
4091
4088
  status: emailStatus,
4092
4089
  isLoading: activeLoadingType === "EMAIL",
4093
4090
  onClick: () => onTriggerVerification("EMAIL")
4094
4091
  }
4095
- ), /* @__PURE__ */ import_react72.default.createElement(
4092
+ ), /* @__PURE__ */ import_react71.default.createElement(
4096
4093
  VerificationRow,
4097
4094
  {
4098
- icon: import_core_free_icons25.SmartPhone01Icon,
4095
+ icon: import_core_free_icons24.SmartPhone01Icon,
4099
4096
  title: "Phone Verification",
4100
4097
  status: phoneStatus,
4101
4098
  isLoading: activeLoadingType === "PHONE",
4102
4099
  onClick: () => onTriggerVerification("PHONE")
4103
4100
  }
4104
- ), /* @__PURE__ */ import_react72.default.createElement(
4101
+ ), /* @__PURE__ */ import_react71.default.createElement(
4105
4102
  VerificationRow,
4106
4103
  {
4107
- icon: import_core_free_icons25.UserIcon,
4104
+ icon: import_core_free_icons24.UserIcon,
4108
4105
  title: "Identity Verification",
4109
4106
  status: identityStatus,
4110
4107
  isLoading: activeLoadingType === "IDENTITY",
@@ -4115,23 +4112,23 @@ var UniversalVerificationPage = ({
4115
4112
  };
4116
4113
 
4117
4114
  // src/components/UniversalRewardPage.tsx
4118
- var import_react74 = __toESM(require("react"));
4115
+ var import_react73 = __toESM(require("react"));
4119
4116
  var import_axios = __toESM(require("axios"));
4120
4117
  var import_react_hot_toast10 = __toESM(require("react-hot-toast"));
4121
4118
  var import_react_confetti = __toESM(require("react-confetti"));
4122
4119
  var import_react_use = require("react-use");
4123
- var import_react75 = require("@hugeicons/react");
4124
- var import_core_free_icons26 = require("@hugeicons/core-free-icons");
4120
+ var import_react74 = require("@hugeicons/react");
4121
+ var import_core_free_icons25 = require("@hugeicons/core-free-icons");
4125
4122
  var formatWeb3Name = (name) => {
4126
4123
  if (!name) return "";
4127
4124
  return name.toLowerCase().replace(/\b\w/g, (c) => c.toUpperCase());
4128
4125
  };
4129
- var PageSpinner4 = () => /* @__PURE__ */ import_react74.default.createElement("div", { className: "flex justify-center items-center py-12 w-full" }, /* @__PURE__ */ import_react74.default.createElement(import_react75.HugeiconsIcon, { icon: import_core_free_icons26.Loading03Icon, size: 32, className: "animate-spin mb-4 text-black" }));
4126
+ var PageSpinner4 = () => /* @__PURE__ */ import_react73.default.createElement("div", { className: "flex justify-center items-center py-12 w-full" }, /* @__PURE__ */ import_react73.default.createElement(import_react74.HugeiconsIcon, { icon: import_core_free_icons25.Loading03Icon, size: 32, className: "animate-spin mb-4 text-black" }));
4130
4127
  var AvatarLogo = ({ src, alt, name, sizeClass = "w-12 h-12" }) => {
4131
- const [isLoaded, setIsLoaded] = (0, import_react74.useState)(false);
4128
+ const [isLoaded, setIsLoaded] = (0, import_react73.useState)(false);
4132
4129
  const fallbackUrl = `/api/avatar/?name=${encodeURIComponent(name || " ")}&background=ffffff&color=000000&size=100&font-size=0.33`;
4133
4130
  const finalSrc = src || fallbackUrl;
4134
- return /* @__PURE__ */ import_react74.default.createElement("div", { className: `relative shrink-0 rounded-full bg-stone-100 flex items-center justify-center overflow-hidden border-[3px] border-white ${sizeClass}` }, !isLoaded && /* @__PURE__ */ import_react74.default.createElement(import_react75.HugeiconsIcon, { icon: import_core_free_icons26.Loading03Icon, size: 16, className: "animate-spin text-stone-400 absolute" }), /* @__PURE__ */ import_react74.default.createElement("img", { src: finalSrc, alt, onLoad: () => setIsLoaded(true), className: `w-full h-full object-cover transition-opacity duration-300 ${isLoaded ? "opacity-100" : "opacity-0"}` }));
4131
+ return /* @__PURE__ */ import_react73.default.createElement("div", { className: `relative shrink-0 rounded-full bg-stone-100 flex items-center justify-center overflow-hidden border-[3px] border-white ${sizeClass}` }, !isLoaded && /* @__PURE__ */ import_react73.default.createElement(import_react74.HugeiconsIcon, { icon: import_core_free_icons25.Loading03Icon, size: 16, className: "animate-spin text-stone-400 absolute" }), /* @__PURE__ */ import_react73.default.createElement("img", { src: finalSrc, alt, onLoad: () => setIsLoaded(true), className: `w-full h-full object-cover transition-opacity duration-300 ${isLoaded ? "opacity-100" : "opacity-0"}` }));
4135
4132
  };
4136
4133
  var UniversalRewardPage = ({
4137
4134
  leaderboardToday,
@@ -4146,11 +4143,11 @@ var UniversalRewardPage = ({
4146
4143
  const onBackHandler = onBack ?? (() => {
4147
4144
  if (typeof window !== "undefined") window.history.back();
4148
4145
  });
4149
- const [activeTabIndex, setActiveTabIndex] = (0, import_react74.useState)(1);
4146
+ const [activeTabIndex, setActiveTabIndex] = (0, import_react73.useState)(1);
4150
4147
  const tabs = [{ label: "Today" }, { label: "Week" }, { label: "Month" }];
4151
- const [selectedReward, setSelectedReward] = (0, import_react74.useState)(null);
4152
- const [isClaiming, setIsClaiming] = (0, import_react74.useState)(false);
4153
- const [showConfetti, setShowConfetti] = (0, import_react74.useState)(false);
4148
+ const [selectedReward, setSelectedReward] = (0, import_react73.useState)(null);
4149
+ const [isClaiming, setIsClaiming] = (0, import_react73.useState)(false);
4150
+ const [showConfetti, setShowConfetti] = (0, import_react73.useState)(false);
4154
4151
  const getActiveLeaderboard = () => {
4155
4152
  if (activeTabIndex === 0) return leaderboardToday || [];
4156
4153
  if (activeTabIndex === 1) return leaderboardWeek || [];
@@ -4181,9 +4178,9 @@ var UniversalRewardPage = ({
4181
4178
  setIsClaiming(false);
4182
4179
  }
4183
4180
  };
4184
- return /* @__PURE__ */ import_react74.default.createElement("div", null, /* @__PURE__ */ import_react74.default.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ import_react74.default.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-stone-500 hover:text-black transition-colors text-sm outline-none" }, /* @__PURE__ */ import_react74.default.createElement(import_react75.HugeiconsIcon, { icon: import_core_free_icons26.ArrowLeft01Icon, size: 16 }), " Back")), /* @__PURE__ */ import_react74.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react74.default.createElement(ManagedToaster, null), showConfetti && /* @__PURE__ */ import_react74.default.createElement("div", { className: "fixed inset-0 z-200 pointer-events-none" }, /* @__PURE__ */ import_react74.default.createElement(import_react_confetti.default, { width, height, recycle: false, numberOfPieces: 500, gravity: 0.15 })), isLoading ? /* @__PURE__ */ import_react74.default.createElement(PageSpinner4, null) : /* @__PURE__ */ import_react74.default.createElement(import_react74.default.Fragment, null, /* @__PURE__ */ import_react74.default.createElement("div", { className: "w-full p-4 pt-10 mb-6 flex items-end justify-center gap-2 sm:gap-6 h-64 relative overflow-hidden" }, /* @__PURE__ */ import_react74.default.createElement("div", { className: "flex flex-col items-center w-1/3 z-10" }, secondPlace ? /* @__PURE__ */ import_react74.default.createElement(import_react74.default.Fragment, null, /* @__PURE__ */ import_react74.default.createElement("span", { className: "text-black text-xs mb-2 truncate max-w-full px-1" }, formatWeb3Name(secondPlace.profile.web3Name)), /* @__PURE__ */ import_react74.default.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ import_react74.default.createElement(AvatarLogo, { src: secondPlace.profile.avatarUrl, alt: secondPlace.profile.username, name: formatWeb3Name(secondPlace.profile.web3Name), sizeClass: "w-14 h-14" }), /* @__PURE__ */ import_react74.default.createElement("div", { className: "absolute -bottom-2 right-0 w-5 h-5 rounded-full bg-[#ceff8a] text-black flex items-center justify-center text-xs border border-white " }, "2")), /* @__PURE__ */ import_react74.default.createElement("div", { className: "w-full bg-linear-to-t from-stone-100 to-[#ceff8a] rounded-t-xl h-24 flex items-center justify-center" }, /* @__PURE__ */ import_react74.default.createElement("span", { className: "text-stone-800/30 text-2xl " }, "2nd"))) : /* @__PURE__ */ import_react74.default.createElement("div", { className: "w-full bg-linear-to-t from-stone-200 to-stone-100 rounded-t-xl h-24 mt-auto" })), /* @__PURE__ */ import_react74.default.createElement("div", { className: "flex flex-col items-center w-1/3 z-20 -mt-8" }, firstPlace ? /* @__PURE__ */ import_react74.default.createElement(import_react74.default.Fragment, null, /* @__PURE__ */ import_react74.default.createElement("span", { className: "text-black text-xs mb-2 truncate max-w-full px-1" }, formatWeb3Name(firstPlace.profile.web3Name)), /* @__PURE__ */ import_react74.default.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ import_react74.default.createElement(AvatarLogo, { src: firstPlace.profile.avatarUrl, alt: firstPlace.profile.username, name: formatWeb3Name(firstPlace.profile.web3Name), sizeClass: "w-17 h-17" }), /* @__PURE__ */ import_react74.default.createElement("div", { className: "absolute -bottom-2 right-2 w-5 h-5 rounded-full bg-[#143731] text-white flex items-center justify-center text-xs border border-white " }, "1")), /* @__PURE__ */ import_react74.default.createElement("div", { className: "w-full bg-linear-to-t from-stone-100 to-[#143731] rounded-t-xl h-32 flex items-center justify-center " }, /* @__PURE__ */ import_react74.default.createElement("span", { className: "text-white/40 text-3xl tracking-widest" }, "1st"))) : /* @__PURE__ */ import_react74.default.createElement("div", { className: "w-full bg-linear-to-t from-stone-200 to-stone-100 rounded-t-xl h-32 mt-auto" })), /* @__PURE__ */ import_react74.default.createElement("div", { className: "flex flex-col items-center w-1/3 z-10" }, thirdPlace ? /* @__PURE__ */ import_react74.default.createElement(import_react74.default.Fragment, null, /* @__PURE__ */ import_react74.default.createElement("span", { className: "text-black text-xs mb-2 truncate max-w-full px-1" }, formatWeb3Name(thirdPlace.profile.web3Name)), /* @__PURE__ */ import_react74.default.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ import_react74.default.createElement(AvatarLogo, { src: thirdPlace.profile.avatarUrl, alt: thirdPlace.profile.username, name: formatWeb3Name(thirdPlace.profile.web3Name), sizeClass: "w-12 h-12" }), /* @__PURE__ */ import_react74.default.createElement("div", { className: "absolute -bottom-2 right-0 w-5 h-5 rounded-full bg-[#ceff8a] text-black flex items-center justify-center text-xs border border-white " }, "3")), /* @__PURE__ */ import_react74.default.createElement("div", { className: "w-full bg-linear-to-t from-stone-100 to-[#ceff8a] rounded-t-xl h-20 flex items-center justify-center" }, /* @__PURE__ */ import_react74.default.createElement("span", { className: "text-stone-800/30 text-xl " }, "3rd"))) : /* @__PURE__ */ import_react74.default.createElement("div", { className: "w-full bg-linear-to-t from-stone-200 to-stone-100 rounded-t-xl h-20 mt-auto" }))), /* @__PURE__ */ import_react74.default.createElement("div", { className: "flex items-center justify-center mb-6 sm:mb-8 w-full animate-in fade-in duration-300 px-2" }, /* @__PURE__ */ import_react74.default.createElement("div", { className: "flex items-center bg-white rounded-full p-1 sm:p-1.5 max-w-full overflow-x-auto custom-scrollbar " }, tabs.map((tab, idx) => {
4181
+ return /* @__PURE__ */ import_react73.default.createElement("div", null, /* @__PURE__ */ import_react73.default.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ import_react73.default.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-stone-500 hover:text-black transition-colors text-sm outline-none" }, /* @__PURE__ */ import_react73.default.createElement(import_react74.HugeiconsIcon, { icon: import_core_free_icons25.ArrowLeft01Icon, size: 16 }), " Back")), /* @__PURE__ */ import_react73.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react73.default.createElement(ManagedToaster, null), showConfetti && /* @__PURE__ */ import_react73.default.createElement("div", { className: "fixed inset-0 z-200 pointer-events-none" }, /* @__PURE__ */ import_react73.default.createElement(import_react_confetti.default, { width, height, recycle: false, numberOfPieces: 500, gravity: 0.15 })), isLoading ? /* @__PURE__ */ import_react73.default.createElement(PageSpinner4, null) : /* @__PURE__ */ import_react73.default.createElement(import_react73.default.Fragment, null, /* @__PURE__ */ import_react73.default.createElement("div", { className: "w-full p-4 pt-10 mb-6 flex items-end justify-center gap-2 sm:gap-6 h-64 relative overflow-hidden" }, /* @__PURE__ */ import_react73.default.createElement("div", { className: "flex flex-col items-center w-1/3 z-10" }, secondPlace ? /* @__PURE__ */ import_react73.default.createElement(import_react73.default.Fragment, null, /* @__PURE__ */ import_react73.default.createElement("span", { className: "text-black text-xs mb-2 truncate max-w-full px-1" }, formatWeb3Name(secondPlace.profile.web3Name)), /* @__PURE__ */ import_react73.default.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ import_react73.default.createElement(AvatarLogo, { src: secondPlace.profile.avatarUrl, alt: secondPlace.profile.username, name: formatWeb3Name(secondPlace.profile.web3Name), sizeClass: "w-14 h-14" }), /* @__PURE__ */ import_react73.default.createElement("div", { className: "absolute -bottom-2 right-0 w-5 h-5 rounded-full bg-[#ceff8a] text-black flex items-center justify-center text-xs border border-white " }, "2")), /* @__PURE__ */ import_react73.default.createElement("div", { className: "w-full bg-linear-to-t from-stone-100 to-[#ceff8a] rounded-t-xl h-24 flex items-center justify-center" }, /* @__PURE__ */ import_react73.default.createElement("span", { className: "text-stone-800/30 text-2xl " }, "2nd"))) : /* @__PURE__ */ import_react73.default.createElement("div", { className: "w-full bg-linear-to-t from-stone-200 to-stone-100 rounded-t-xl h-24 mt-auto" })), /* @__PURE__ */ import_react73.default.createElement("div", { className: "flex flex-col items-center w-1/3 z-20 -mt-8" }, firstPlace ? /* @__PURE__ */ import_react73.default.createElement(import_react73.default.Fragment, null, /* @__PURE__ */ import_react73.default.createElement("span", { className: "text-black text-xs mb-2 truncate max-w-full px-1" }, formatWeb3Name(firstPlace.profile.web3Name)), /* @__PURE__ */ import_react73.default.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ import_react73.default.createElement(AvatarLogo, { src: firstPlace.profile.avatarUrl, alt: firstPlace.profile.username, name: formatWeb3Name(firstPlace.profile.web3Name), sizeClass: "w-17 h-17" }), /* @__PURE__ */ import_react73.default.createElement("div", { className: "absolute -bottom-2 right-2 w-5 h-5 rounded-full bg-[#143731] text-white flex items-center justify-center text-xs border border-white " }, "1")), /* @__PURE__ */ import_react73.default.createElement("div", { className: "w-full bg-linear-to-t from-stone-100 to-[#143731] rounded-t-xl h-32 flex items-center justify-center " }, /* @__PURE__ */ import_react73.default.createElement("span", { className: "text-white/40 text-3xl tracking-widest" }, "1st"))) : /* @__PURE__ */ import_react73.default.createElement("div", { className: "w-full bg-linear-to-t from-stone-200 to-stone-100 rounded-t-xl h-32 mt-auto" })), /* @__PURE__ */ import_react73.default.createElement("div", { className: "flex flex-col items-center w-1/3 z-10" }, thirdPlace ? /* @__PURE__ */ import_react73.default.createElement(import_react73.default.Fragment, null, /* @__PURE__ */ import_react73.default.createElement("span", { className: "text-black text-xs mb-2 truncate max-w-full px-1" }, formatWeb3Name(thirdPlace.profile.web3Name)), /* @__PURE__ */ import_react73.default.createElement("div", { className: "relative shrink-0 mb-3" }, /* @__PURE__ */ import_react73.default.createElement(AvatarLogo, { src: thirdPlace.profile.avatarUrl, alt: thirdPlace.profile.username, name: formatWeb3Name(thirdPlace.profile.web3Name), sizeClass: "w-12 h-12" }), /* @__PURE__ */ import_react73.default.createElement("div", { className: "absolute -bottom-2 right-0 w-5 h-5 rounded-full bg-[#ceff8a] text-black flex items-center justify-center text-xs border border-white " }, "3")), /* @__PURE__ */ import_react73.default.createElement("div", { className: "w-full bg-linear-to-t from-stone-100 to-[#ceff8a] rounded-t-xl h-20 flex items-center justify-center" }, /* @__PURE__ */ import_react73.default.createElement("span", { className: "text-stone-800/30 text-xl " }, "3rd"))) : /* @__PURE__ */ import_react73.default.createElement("div", { className: "w-full bg-linear-to-t from-stone-200 to-stone-100 rounded-t-xl h-20 mt-auto" }))), /* @__PURE__ */ import_react73.default.createElement("div", { className: "flex items-center justify-center mb-6 sm:mb-8 w-full animate-in fade-in duration-300 px-2" }, /* @__PURE__ */ import_react73.default.createElement("div", { className: "flex items-center bg-white rounded-full p-1 sm:p-1.5 max-w-full overflow-x-auto custom-scrollbar " }, tabs.map((tab, idx) => {
4185
4182
  const isActive = activeTabIndex === idx;
4186
- return /* @__PURE__ */ import_react74.default.createElement(
4183
+ return /* @__PURE__ */ import_react73.default.createElement(
4187
4184
  "button",
4188
4185
  {
4189
4186
  key: idx,
@@ -4192,19 +4189,19 @@ var UniversalRewardPage = ({
4192
4189
  },
4193
4190
  tab.label
4194
4191
  );
4195
- }))), /* @__PURE__ */ import_react74.default.createElement("div", { className: "flex flex-col gap-6 w-full" }, /* @__PURE__ */ import_react74.default.createElement("div", { className: "bg-white rounded-2xl p-6 " }, /* @__PURE__ */ import_react74.default.createElement("h2", { className: "text-black text-lg mb-4 tracking-tight" }, "Available Tasks"), /* @__PURE__ */ import_react74.default.createElement("div", { className: "flex flex-col" }, rewards.length === 0 ? /* @__PURE__ */ import_react74.default.createElement("p", { className: "text-xs text-stone-400 py-6 text-center" }, "No rewards available at the moment.") : rewards.map((reward) => {
4192
+ }))), /* @__PURE__ */ import_react73.default.createElement("div", { className: "flex flex-col gap-6 w-full" }, /* @__PURE__ */ import_react73.default.createElement("div", { className: "bg-white rounded-2xl p-6 " }, /* @__PURE__ */ import_react73.default.createElement("h2", { className: "text-black text-lg mb-4 tracking-tight" }, "Available Tasks"), /* @__PURE__ */ import_react73.default.createElement("div", { className: "flex flex-col" }, rewards.length === 0 ? /* @__PURE__ */ import_react73.default.createElement("p", { className: "text-xs text-stone-400 py-6 text-center" }, "No rewards available at the moment.") : rewards.map((reward) => {
4196
4193
  const statusText = reward.status === "CLAIMED" ? "Claimed" : "Unclaimed";
4197
- return /* @__PURE__ */ import_react74.default.createElement(
4194
+ return /* @__PURE__ */ import_react73.default.createElement(
4198
4195
  "div",
4199
4196
  {
4200
4197
  key: reward.id,
4201
4198
  onClick: () => setSelectedReward(reward),
4202
4199
  className: "flex items-center justify-between py-4 hover:bg-stone-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl"
4203
4200
  },
4204
- /* @__PURE__ */ import_react74.default.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ import_react74.default.createElement("div", { className: "w-10 h-10 shrink-0 rounded-full flex items-center justify-center border border-stone-200 text-black" }, /* @__PURE__ */ import_react74.default.createElement(import_react75.HugeiconsIcon, { icon: import_core_free_icons26.GiftIcon, size: 16 })), /* @__PURE__ */ import_react74.default.createElement("div", { className: "min-w-0 flex-1 flex flex-col items-start gap-0.5 pr-4" }, /* @__PURE__ */ import_react74.default.createElement("p", { className: "text-sm text-black truncate w-full" }, reward.title), /* @__PURE__ */ import_react74.default.createElement("p", { className: `text-xs inline-flex items-center bg-stone-50 rounded-full px-2 py-1 text-stone-500 mt-0.5` }, statusText))),
4205
- /* @__PURE__ */ import_react74.default.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1" }, /* @__PURE__ */ import_react74.default.createElement("span", { className: "text-sm text-black" }, reward.amount))
4201
+ /* @__PURE__ */ import_react73.default.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ import_react73.default.createElement("div", { className: "w-10 h-10 shrink-0 rounded-full flex items-center justify-center border border-stone-200 text-black" }, /* @__PURE__ */ import_react73.default.createElement(import_react74.HugeiconsIcon, { icon: import_core_free_icons25.GiftIcon, size: 16 })), /* @__PURE__ */ import_react73.default.createElement("div", { className: "min-w-0 flex-1 flex flex-col items-start gap-0.5 pr-4" }, /* @__PURE__ */ import_react73.default.createElement("p", { className: "text-sm text-black truncate w-full" }, reward.title), /* @__PURE__ */ import_react73.default.createElement("p", { className: `text-xs inline-flex items-center bg-stone-50 rounded-full px-2 py-1 text-stone-500 mt-0.5` }, statusText))),
4202
+ /* @__PURE__ */ import_react73.default.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1" }, /* @__PURE__ */ import_react73.default.createElement("span", { className: "text-sm text-black" }, reward.amount))
4206
4203
  );
4207
- }))), remainingLeaderboard.length > 0 && /* @__PURE__ */ import_react74.default.createElement("div", { className: "bg-white rounded-2xl p-6 " }, /* @__PURE__ */ import_react74.default.createElement("h2", { className: "text-black text-lg mb-4 tracking-tight" }, "Leaderboard"), /* @__PURE__ */ import_react74.default.createElement("div", { className: "flex flex-col" }, remainingLeaderboard.map((lb) => /* @__PURE__ */ import_react74.default.createElement("div", { key: lb.profile.username, className: "flex items-center justify-between py-3 min-w-0" }, /* @__PURE__ */ import_react74.default.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ import_react74.default.createElement("div", { className: "text-xs text-stone-400 w-4" }, lb.position), /* @__PURE__ */ import_react74.default.createElement(AvatarLogo, { src: lb.profile.avatarUrl, alt: lb.profile.username, name: formatWeb3Name(lb.profile.web3Name), sizeClass: "w-9 h-9" }), /* @__PURE__ */ import_react74.default.createElement("div", { className: "min-w-0 flex-1 flex flex-col" }, /* @__PURE__ */ import_react74.default.createElement("p", { className: "text-sm text-black truncate" }, formatWeb3Name(lb.profile.web3Name)), /* @__PURE__ */ import_react74.default.createElement("p", { className: "text-xs text-stone-400 truncate" }, "@", lb.profile.username))), /* @__PURE__ */ import_react74.default.createElement("div", { className: "shrink-0 text-sm text-black" }, lb.amount))))))), selectedReward && /* @__PURE__ */ import_react74.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react74.default.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: () => !isClaiming && setSelectedReward(null) }), /* @__PURE__ */ import_react74.default.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__ */ import_react74.default.createElement("div", { className: "flex-1 p-6 flex flex-col items-center text-center mt-2" }, /* @__PURE__ */ import_react74.default.createElement("h2", { className: "text-xl text-black mb-2" }, selectedReward.title), /* @__PURE__ */ import_react74.default.createElement("p", { className: "text-sm text-stone-500 mb-6 leading-relaxed" }, selectedReward.description), selectedReward.progressText && /* @__PURE__ */ import_react74.default.createElement("div", { className: "w-full mb-6" }, /* @__PURE__ */ import_react74.default.createElement("div", { className: `px-4 py-2 rounded-full text-xs tracking-wide ${selectedReward.status === "CLAIMED" ? "bg-green-50 text-green-600" : selectedReward.isEligible ? "bg-blue-50 text-blue-600" : "bg-stone-100 text-stone-600"}` }, selectedReward.progressText)), /* @__PURE__ */ import_react74.default.createElement("div", { className: " w-full rounded-xl p-4 mb-8 flex flex-col items-center" }, /* @__PURE__ */ import_react74.default.createElement("span", { className: "text-xs tracking-widest text-stone-400 mb-1" }, "Reward Value"), /* @__PURE__ */ import_react74.default.createElement("span", { className: "text-3xl text-black " }, selectedReward.amount)), /* @__PURE__ */ import_react74.default.createElement("div", { className: "flex flex-col gap-3 w-full" }, /* @__PURE__ */ import_react74.default.createElement(
4204
+ }))), remainingLeaderboard.length > 0 && /* @__PURE__ */ import_react73.default.createElement("div", { className: "bg-white rounded-2xl p-6 " }, /* @__PURE__ */ import_react73.default.createElement("h2", { className: "text-black text-lg mb-4 tracking-tight" }, "Leaderboard"), /* @__PURE__ */ import_react73.default.createElement("div", { className: "flex flex-col" }, remainingLeaderboard.map((lb) => /* @__PURE__ */ import_react73.default.createElement("div", { key: lb.profile.username, className: "flex items-center justify-between py-3 min-w-0" }, /* @__PURE__ */ import_react73.default.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ import_react73.default.createElement("div", { className: "text-xs text-stone-400 w-4" }, lb.position), /* @__PURE__ */ import_react73.default.createElement(AvatarLogo, { src: lb.profile.avatarUrl, alt: lb.profile.username, name: formatWeb3Name(lb.profile.web3Name), sizeClass: "w-9 h-9" }), /* @__PURE__ */ import_react73.default.createElement("div", { className: "min-w-0 flex-1 flex flex-col" }, /* @__PURE__ */ import_react73.default.createElement("p", { className: "text-sm text-black truncate" }, formatWeb3Name(lb.profile.web3Name)), /* @__PURE__ */ import_react73.default.createElement("p", { className: "text-xs text-stone-400 truncate" }, "@", lb.profile.username))), /* @__PURE__ */ import_react73.default.createElement("div", { className: "shrink-0 text-sm text-black" }, lb.amount))))))), selectedReward && /* @__PURE__ */ import_react73.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react73.default.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: () => !isClaiming && setSelectedReward(null) }), /* @__PURE__ */ import_react73.default.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__ */ import_react73.default.createElement("div", { className: "flex-1 p-6 flex flex-col items-center text-center mt-2" }, /* @__PURE__ */ import_react73.default.createElement("h2", { className: "text-xl text-black mb-2" }, selectedReward.title), /* @__PURE__ */ import_react73.default.createElement("p", { className: "text-sm text-stone-500 mb-6 leading-relaxed" }, selectedReward.description), selectedReward.progressText && /* @__PURE__ */ import_react73.default.createElement("div", { className: "w-full mb-6" }, /* @__PURE__ */ import_react73.default.createElement("div", { className: `px-4 py-2 rounded-full text-xs tracking-wide ${selectedReward.status === "CLAIMED" ? "bg-green-50 text-green-600" : selectedReward.isEligible ? "bg-blue-50 text-blue-600" : "bg-stone-100 text-stone-600"}` }, selectedReward.progressText)), /* @__PURE__ */ import_react73.default.createElement("div", { className: " w-full rounded-xl p-4 mb-8 flex flex-col items-center" }, /* @__PURE__ */ import_react73.default.createElement("span", { className: "text-xs tracking-widest text-stone-400 mb-1" }, "Reward Value"), /* @__PURE__ */ import_react73.default.createElement("span", { className: "text-3xl text-black " }, selectedReward.amount)), /* @__PURE__ */ import_react73.default.createElement("div", { className: "flex flex-col gap-3 w-full" }, /* @__PURE__ */ import_react73.default.createElement(
4208
4205
  ThreeDActionButton,
4209
4206
  {
4210
4207
  onClick: handleClaimReward,
@@ -4213,7 +4210,7 @@ var UniversalRewardPage = ({
4213
4210
  className: "w-full"
4214
4211
  },
4215
4212
  selectedReward.status === "CLAIMED" ? "Already Claimed" : selectedReward.isEligible ? "Claim Reward" : "Not Eligible Yet"
4216
- ), /* @__PURE__ */ import_react74.default.createElement(
4213
+ ), /* @__PURE__ */ import_react73.default.createElement(
4217
4214
  "button",
4218
4215
  {
4219
4216
  onClick: () => setSelectedReward(null),
@@ -4225,11 +4222,11 @@ var UniversalRewardPage = ({
4225
4222
  };
4226
4223
 
4227
4224
  // src/components/UniversalReferralPage.tsx
4228
- var import_react76 = __toESM(require("react"));
4225
+ var import_react75 = __toESM(require("react"));
4229
4226
  var import_react_hot_toast11 = __toESM(require("react-hot-toast"));
4230
- var import_react77 = require("@hugeicons/react");
4231
- var import_core_free_icons27 = require("@hugeicons/core-free-icons");
4232
- var PageSpinner5 = () => /* @__PURE__ */ import_react76.default.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ import_react76.default.createElement(import_react77.HugeiconsIcon, { icon: import_core_free_icons27.Loading03Icon, size: 32, className: "animate-spin mb-4 text-black" }));
4227
+ var import_react76 = require("@hugeicons/react");
4228
+ var import_core_free_icons26 = require("@hugeicons/core-free-icons");
4229
+ var PageSpinner5 = () => /* @__PURE__ */ import_react75.default.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ import_react75.default.createElement(import_react76.HugeiconsIcon, { icon: import_core_free_icons26.Loading03Icon, size: 32, className: "animate-spin mb-4 text-black" }));
4233
4230
  var formatWeb3Name2 = (name) => {
4234
4231
  if (!name) return "";
4235
4232
  return name.toLowerCase().replace(/\b\w/g, (c) => c.toUpperCase());
@@ -4261,61 +4258,61 @@ var UniversalReferralPage = ({
4261
4258
  }
4262
4259
  };
4263
4260
  const AvatarLogo2 = ({ src, alt, name, sizeClass = "w-10 h-10" }) => {
4264
- const [isLoaded, setIsLoaded] = (0, import_react76.useState)(false);
4261
+ const [isLoaded, setIsLoaded] = (0, import_react75.useState)(false);
4265
4262
  const fallbackUrl = `/api/avatar/?name=${encodeURIComponent(name || " ")}&background=e0e0e0&color=000000&size=100&font-size=0.33`;
4266
4263
  const finalSrc = src || fallbackUrl;
4267
- return /* @__PURE__ */ import_react76.default.createElement("div", { className: `relative shrink-0 rounded-full bg-stone-100 flex items-center justify-center overflow-hidden border-2 border-white ${sizeClass}` }, !isLoaded && /* @__PURE__ */ import_react76.default.createElement(import_react77.HugeiconsIcon, { icon: import_core_free_icons27.Loading03Icon, size: 16, className: "animate-spin text-stone-400 absolute" }), /* @__PURE__ */ import_react76.default.createElement("img", { src: finalSrc, alt, onLoad: () => setIsLoaded(true), className: `w-full h-full object-cover transition-opacity duration-300 ${isLoaded ? "opacity-100" : "opacity-0"}` }));
4264
+ return /* @__PURE__ */ import_react75.default.createElement("div", { className: `relative shrink-0 rounded-full bg-stone-100 flex items-center justify-center overflow-hidden border-2 border-white ${sizeClass}` }, !isLoaded && /* @__PURE__ */ import_react75.default.createElement(import_react76.HugeiconsIcon, { icon: import_core_free_icons26.Loading03Icon, size: 16, className: "animate-spin text-stone-400 absolute" }), /* @__PURE__ */ import_react75.default.createElement("img", { src: finalSrc, alt, onLoad: () => setIsLoaded(true), className: `w-full h-full object-cover transition-opacity duration-300 ${isLoaded ? "opacity-100" : "opacity-0"}` }));
4268
4265
  };
4269
- return /* @__PURE__ */ import_react76.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react76.default.createElement(ManagedToaster, null), /* @__PURE__ */ import_react76.default.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ import_react76.default.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-stone-500 hover:text-black transition-colors text-sm outline-none" }, /* @__PURE__ */ import_react76.default.createElement(import_react77.HugeiconsIcon, { icon: import_core_free_icons27.ArrowLeft01Icon, size: 16 }), " Back")), /* @__PURE__ */ import_react76.default.createElement("div", { className: "flex flex-col gap-4 mb-6 px-1" }, /* @__PURE__ */ import_react76.default.createElement("div", null, /* @__PURE__ */ import_react76.default.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, "Your Referrals"), /* @__PURE__ */ import_react76.default.createElement("p", { className: "text-xs text-stone-500" }, "Invite friends and earn rewards when they verify and activate cards.")), /* @__PURE__ */ import_react76.default.createElement("div", { className: "bg-[#143731] rounded-3xl p-6 relative overflow-hidden flex flex-col min-h-25 w-full mt-2" }, /* @__PURE__ */ import_react76.default.createElement("div", { className: "relative z-10 flex flex-col items-start" }, /* @__PURE__ */ import_react76.default.createElement("p", { className: "text-xs text-white leading-tight mb-1" }, /* @__PURE__ */ import_react76.default.createElement("span", { className: "text-white/60" }, "AFT Balance")), isLoading ? /* @__PURE__ */ import_react76.default.createElement("div", { className: "h-8 w-32 bg-white/10 animate-pulse rounded mt-2" }) : /* @__PURE__ */ import_react76.default.createElement("span", { className: "text-lg text-white tracking-tight mt-1" }, referralCoins)))), /* @__PURE__ */ import_react76.default.createElement("div", { className: "flex flex-col gap-6 p-4 rounded-3xl bg-white w-full" }, /* @__PURE__ */ import_react76.default.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ import_react76.default.createElement("div", { className: "border border-stone-200 rounded-xl p-4 flex items-center justify-between" }, /* @__PURE__ */ import_react76.default.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ import_react76.default.createElement("span", { className: "text-xs tracking-widest text-stone-400 " }, "Invitation Code"), isLoading && !referralCode ? /* @__PURE__ */ import_react76.default.createElement("div", { className: "h-6 w-24 bg-stone-50 animate-pulse rounded mt-1" }) : /* @__PURE__ */ import_react76.default.createElement("span", { className: "text-sm text-black tracking-widest" }, referralCode)), /* @__PURE__ */ import_react76.default.createElement(
4266
+ return /* @__PURE__ */ import_react75.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react75.default.createElement(ManagedToaster, null), /* @__PURE__ */ import_react75.default.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ import_react75.default.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-stone-500 hover:text-black transition-colors text-sm outline-none" }, /* @__PURE__ */ import_react75.default.createElement(import_react76.HugeiconsIcon, { icon: import_core_free_icons26.ArrowLeft01Icon, size: 16 }), " Back")), /* @__PURE__ */ import_react75.default.createElement("div", { className: "flex flex-col gap-4 mb-6 px-1" }, /* @__PURE__ */ import_react75.default.createElement("div", null, /* @__PURE__ */ import_react75.default.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, "Your Referrals"), /* @__PURE__ */ import_react75.default.createElement("p", { className: "text-xs text-stone-500" }, "Invite friends and earn rewards when they verify and activate cards.")), /* @__PURE__ */ import_react75.default.createElement("div", { className: "bg-[#143731] rounded-3xl p-6 relative overflow-hidden flex flex-col min-h-25 w-full mt-2" }, /* @__PURE__ */ import_react75.default.createElement("div", { className: "relative z-10 flex flex-col items-start" }, /* @__PURE__ */ import_react75.default.createElement("p", { className: "text-xs text-white leading-tight mb-1" }, /* @__PURE__ */ import_react75.default.createElement("span", { className: "text-white/60" }, "AFT Balance")), isLoading ? /* @__PURE__ */ import_react75.default.createElement("div", { className: "h-8 w-32 bg-white/10 animate-pulse rounded mt-2" }) : /* @__PURE__ */ import_react75.default.createElement("span", { className: "text-lg text-white tracking-tight mt-1" }, referralCoins)))), /* @__PURE__ */ import_react75.default.createElement("div", { className: "flex flex-col gap-6 p-4 rounded-3xl bg-white w-full" }, /* @__PURE__ */ import_react75.default.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ import_react75.default.createElement("div", { className: "border border-stone-200 rounded-xl p-4 flex items-center justify-between" }, /* @__PURE__ */ import_react75.default.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ import_react75.default.createElement("span", { className: "text-xs tracking-widest text-stone-400 " }, "Invitation Code"), isLoading && !referralCode ? /* @__PURE__ */ import_react75.default.createElement("div", { className: "h-6 w-24 bg-stone-50 animate-pulse rounded mt-1" }) : /* @__PURE__ */ import_react75.default.createElement("span", { className: "text-sm text-black tracking-widest" }, referralCode)), /* @__PURE__ */ import_react75.default.createElement(
4270
4267
  "button",
4271
4268
  {
4272
4269
  onClick: handleCopyCode,
4273
4270
  disabled: isLoading || !referralCode,
4274
4271
  className: "w-10 h-10 rounded-full bg-white flex items-center justify-center text-stone-500 hover:text-black transition-colors outline-none disabled:opacity-50"
4275
4272
  },
4276
- /* @__PURE__ */ import_react76.default.createElement(import_react77.HugeiconsIcon, { icon: import_core_free_icons27.Copy01Icon, size: 18 })
4277
- )), /* @__PURE__ */ import_react76.default.createElement("div", { className: "flex items-center justify-between text-sm text-stone-500 px-1" }, /* @__PURE__ */ import_react76.default.createElement("span", null, "Total Invited: ", /* @__PURE__ */ import_react76.default.createElement("span", { className: "text-black " }, isLoading && !totalCount ? "-" : totalCount)))), /* @__PURE__ */ import_react76.default.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ import_react76.default.createElement(PageSpinner5, null) : /* @__PURE__ */ import_react76.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react76.default.createElement("div", null, referrals.length === 0 ? /* @__PURE__ */ import_react76.default.createElement("div", { className: "flex flex-col items-center justify-center py-8 opacity-50" }, /* @__PURE__ */ import_react76.default.createElement("p", { className: "text-xs text-stone-500 text-center" }, "You haven't referred anyone yet.")) : referrals.map((ref, idx) => /* @__PURE__ */ import_react76.default.createElement(
4273
+ /* @__PURE__ */ import_react75.default.createElement(import_react76.HugeiconsIcon, { icon: import_core_free_icons26.Copy01Icon, size: 18 })
4274
+ )), /* @__PURE__ */ import_react75.default.createElement("div", { className: "flex items-center justify-between text-sm text-stone-500 px-1" }, /* @__PURE__ */ import_react75.default.createElement("span", null, "Total Invited: ", /* @__PURE__ */ import_react75.default.createElement("span", { className: "text-black " }, isLoading && !totalCount ? "-" : totalCount)))), /* @__PURE__ */ import_react75.default.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ import_react75.default.createElement(PageSpinner5, null) : /* @__PURE__ */ import_react75.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react75.default.createElement("div", null, referrals.length === 0 ? /* @__PURE__ */ import_react75.default.createElement("div", { className: "flex flex-col items-center justify-center py-8 opacity-50" }, /* @__PURE__ */ import_react75.default.createElement("p", { className: "text-xs text-stone-500 text-center" }, "You haven't referred anyone yet.")) : referrals.map((ref, idx) => /* @__PURE__ */ import_react75.default.createElement(
4278
4275
  "div",
4279
4276
  {
4280
4277
  key: `${ref.profile.username}-${idx}`,
4281
4278
  className: "flex items-center justify-between py-4 hover:bg-stone-50 transition-colors group min-w-0 px-3 -mx-3 rounded-xl"
4282
4279
  },
4283
- /* @__PURE__ */ import_react76.default.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ import_react76.default.createElement(
4280
+ /* @__PURE__ */ import_react75.default.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ import_react75.default.createElement(
4284
4281
  AvatarLogo2,
4285
4282
  {
4286
4283
  src: ref.profile.avatarUrl,
4287
4284
  alt: ref.profile.username,
4288
4285
  name: formatWeb3Name2(ref.profile.web3Name)
4289
4286
  }
4290
- ), /* @__PURE__ */ import_react76.default.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-0.5 pr-4" }, /* @__PURE__ */ import_react76.default.createElement("p", { className: "text-sm text-black truncate" }, formatWeb3Name2(ref.profile.web3Name)), /* @__PURE__ */ import_react76.default.createElement("p", { className: "text-xs text-stone-500 truncate" }, "@", ref.profile.username))),
4291
- /* @__PURE__ */ import_react76.default.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ import_react76.default.createElement("span", { className: "text-xs text-stone-400" }, "Joined"), /* @__PURE__ */ import_react76.default.createElement("span", { className: "text-xs text-black" }, formatDate(ref.joinedAt)))
4292
- ))), /* @__PURE__ */ import_react76.default.createElement("div", { className: "flex items-center justify-between pt-6 mt-2" }, /* @__PURE__ */ import_react76.default.createElement("span", { className: "text-xs text-stone-400 tracking-[0.2em]" }, "Page ", currentPage, " of ", totalPages === 0 ? 1 : totalPages), /* @__PURE__ */ import_react76.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react76.default.createElement(
4287
+ ), /* @__PURE__ */ import_react75.default.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-0.5 pr-4" }, /* @__PURE__ */ import_react75.default.createElement("p", { className: "text-sm text-black truncate" }, formatWeb3Name2(ref.profile.web3Name)), /* @__PURE__ */ import_react75.default.createElement("p", { className: "text-xs text-stone-500 truncate" }, "@", ref.profile.username))),
4288
+ /* @__PURE__ */ import_react75.default.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ import_react75.default.createElement("span", { className: "text-xs text-stone-400" }, "Joined"), /* @__PURE__ */ import_react75.default.createElement("span", { className: "text-xs text-black" }, formatDate(ref.joinedAt)))
4289
+ ))), /* @__PURE__ */ import_react75.default.createElement("div", { className: "flex items-center justify-between pt-6 mt-2" }, /* @__PURE__ */ import_react75.default.createElement("span", { className: "text-xs text-stone-400 tracking-[0.2em]" }, "Page ", currentPage, " of ", totalPages === 0 ? 1 : totalPages), /* @__PURE__ */ import_react75.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react75.default.createElement(
4293
4290
  "button",
4294
4291
  {
4295
4292
  onClick: () => onPageChange(currentPage - 1),
4296
4293
  disabled: currentPage <= 1 || isLoading,
4297
4294
  className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none"
4298
4295
  },
4299
- /* @__PURE__ */ import_react76.default.createElement(import_react77.HugeiconsIcon, { icon: import_core_free_icons27.ArrowLeft01Icon, size: 14 })
4300
- ), /* @__PURE__ */ import_react76.default.createElement(
4296
+ /* @__PURE__ */ import_react75.default.createElement(import_react76.HugeiconsIcon, { icon: import_core_free_icons26.ArrowLeft01Icon, size: 14 })
4297
+ ), /* @__PURE__ */ import_react75.default.createElement(
4301
4298
  "button",
4302
4299
  {
4303
4300
  onClick: () => onPageChange(currentPage + 1),
4304
4301
  disabled: currentPage >= totalPages || isLoading || totalPages === 0,
4305
4302
  className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none"
4306
4303
  },
4307
- /* @__PURE__ */ import_react76.default.createElement(import_react77.HugeiconsIcon, { icon: import_core_free_icons27.ArrowRight01Icon, size: 14 })
4304
+ /* @__PURE__ */ import_react75.default.createElement(import_react76.HugeiconsIcon, { icon: import_core_free_icons26.ArrowRight01Icon, size: 14 })
4308
4305
  )))))));
4309
4306
  };
4310
4307
 
4311
4308
  // src/components/UniversalCardActionPage.tsx
4312
- var import_react78 = __toESM(require("react"));
4309
+ var import_react77 = __toESM(require("react"));
4313
4310
  var import_react_confetti2 = __toESM(require("react-confetti"));
4314
4311
  var import_react_use2 = require("react-use");
4315
- var import_react79 = require("@hugeicons/react");
4316
- var import_core_free_icons28 = require("@hugeicons/core-free-icons");
4317
- var CheckIcon2 = ({ className = "" }) => /* @__PURE__ */ import_react78.default.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__ */ import_react78.default.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "black" }), /* @__PURE__ */ import_react78.default.createElement("path", { d: "M8 12L11 15L16 9", stroke: "white", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
4318
- var CrossIcon2 = ({ className = "" }) => /* @__PURE__ */ import_react78.default.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__ */ import_react78.default.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "#F5F5F5" }), /* @__PURE__ */ import_react78.default.createElement("path", { d: "M15 9L9 15M9 9l6 6", stroke: "#D4D4D4", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
4312
+ var import_react78 = require("@hugeicons/react");
4313
+ var import_core_free_icons27 = require("@hugeicons/core-free-icons");
4314
+ var CheckIcon2 = ({ className = "" }) => /* @__PURE__ */ import_react77.default.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__ */ import_react77.default.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "black" }), /* @__PURE__ */ import_react77.default.createElement("path", { d: "M8 12L11 15L16 9", stroke: "white", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
4315
+ var CrossIcon2 = ({ className = "" }) => /* @__PURE__ */ import_react77.default.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__ */ import_react77.default.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "#F5F5F5" }), /* @__PURE__ */ import_react77.default.createElement("path", { d: "M15 9L9 15M9 9l6 6", stroke: "#D4D4D4", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
4319
4316
  var formatTierName = (name) => {
4320
4317
  if (!name) return "";
4321
4318
  return name.charAt(0).toUpperCase() + name.slice(1).toLowerCase();
@@ -4356,10 +4353,10 @@ var UniversalCardActionPage = ({
4356
4353
  if (typeof window !== "undefined") window.history.back();
4357
4354
  });
4358
4355
  const { width, height } = (0, import_react_use2.useWindowSize)();
4359
- const [selectedTier, setSelectedTier] = (0, import_react78.useState)(null);
4360
- const [intendedAction, setIntendedAction] = (0, import_react78.useState)(null);
4361
- const [isProcessing, setIsProcessing] = (0, import_react78.useState)(false);
4362
- const [showConfetti, setShowConfetti] = (0, import_react78.useState)(false);
4356
+ const [selectedTier, setSelectedTier] = (0, import_react77.useState)(null);
4357
+ const [intendedAction, setIntendedAction] = (0, import_react77.useState)(null);
4358
+ const [isProcessing, setIsProcessing] = (0, import_react77.useState)(false);
4359
+ const [showConfetti, setShowConfetti] = (0, import_react77.useState)(false);
4363
4360
  const availableTiers = tiers.filter((t) => t.isAvailable || t.acceptPreorder || t.acceptWaitlist);
4364
4361
  const handleTierClick = (tier, explicitAction) => {
4365
4362
  setSelectedTier(tier);
@@ -4396,22 +4393,22 @@ var UniversalCardActionPage = ({
4396
4393
  if (isCurrent && (onWaitlist || hasPreordered)) return "Joined";
4397
4394
  return "Join Waitlist";
4398
4395
  };
4399
- return /* @__PURE__ */ import_react78.default.createElement("div", { className: "w-full" }, /* @__PURE__ */ import_react78.default.createElement(ManagedToaster, null), showConfetti && /* @__PURE__ */ import_react78.default.createElement("div", { className: "fixed inset-0 z-200 pointer-events-none" }, /* @__PURE__ */ import_react78.default.createElement(import_react_confetti2.default, { width, height, recycle: false, numberOfPieces: 500, gravity: 0.15 })), /* @__PURE__ */ import_react78.default.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ import_react78.default.createElement(
4396
+ return /* @__PURE__ */ import_react77.default.createElement("div", { className: "w-full" }, /* @__PURE__ */ import_react77.default.createElement(ManagedToaster, null), showConfetti && /* @__PURE__ */ import_react77.default.createElement("div", { className: "fixed inset-0 z-200 pointer-events-none" }, /* @__PURE__ */ import_react77.default.createElement(import_react_confetti2.default, { width, height, recycle: false, numberOfPieces: 500, gravity: 0.15 })), /* @__PURE__ */ import_react77.default.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ import_react77.default.createElement(
4400
4397
  "button",
4401
4398
  {
4402
4399
  onClick: onBackHandler,
4403
4400
  className: "flex items-center gap-2 text-stone-500 hover:text-black transition-colors text-sm outline-none"
4404
4401
  },
4405
- /* @__PURE__ */ import_react78.default.createElement(import_react79.HugeiconsIcon, { icon: import_core_free_icons28.ArrowLeft01Icon, size: 16 }),
4402
+ /* @__PURE__ */ import_react77.default.createElement(import_react78.HugeiconsIcon, { icon: import_core_free_icons27.ArrowLeft01Icon, size: 16 }),
4406
4403
  " Back"
4407
- )), /* @__PURE__ */ import_react78.default.createElement("div", { className: "flex flex-col animate-in max-w-5xl w-full mx-auto fade-in duration-300" }, /* @__PURE__ */ import_react78.default.createElement("div", { className: "w-full flex flex-col items-center text-center mb-10 px-4" }, /* @__PURE__ */ import_react78.default.createElement("span", { className: "text-xs tracking-[0.4em] text-stone-400 block mb-3" }, cardType, " CARD ACTIVATION"), /* @__PURE__ */ import_react78.default.createElement("h1", { className: "text-2xl sm:text-3xl text-black tracking-tight mb-2" }, "Select Your Tier"), /* @__PURE__ */ import_react78.default.createElement("p", { className: "text-xs text-stone-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__ */ import_react78.default.createElement("div", { className: "flex justify-center py-20" }, /* @__PURE__ */ import_react78.default.createElement(import_react79.HugeiconsIcon, { icon: import_core_free_icons28.Loading03Icon, size: 32, className: "animate-spin text-stone-300" })) : /* @__PURE__ */ import_react78.default.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) => {
4404
+ )), /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex flex-col animate-in max-w-5xl w-full mx-auto fade-in duration-300" }, /* @__PURE__ */ import_react77.default.createElement("div", { className: "w-full flex flex-col items-center text-center mb-10 px-4" }, /* @__PURE__ */ import_react77.default.createElement("span", { className: "text-xs tracking-[0.4em] text-stone-400 block mb-3" }, cardType, " CARD ACTIVATION"), /* @__PURE__ */ import_react77.default.createElement("h1", { className: "text-2xl sm:text-3xl text-black tracking-tight mb-2" }, "Select Your Tier"), /* @__PURE__ */ import_react77.default.createElement("p", { className: "text-xs text-stone-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__ */ import_react77.default.createElement("div", { className: "flex justify-center py-20" }, /* @__PURE__ */ import_react77.default.createElement(import_react78.HugeiconsIcon, { icon: import_core_free_icons27.Loading03Icon, size: 32, className: "animate-spin text-stone-300" })) : /* @__PURE__ */ import_react77.default.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) => {
4408
4405
  const isCurrent = tier.tierName === currentTier;
4409
4406
  const isCardDisabled = hasPreordered && !isCurrent;
4410
4407
  const isHighlighted = hasPreordered && isCurrent;
4411
4408
  const isThisCardLoading = isProcessing && selectedTier?.tierName === tier.tierName;
4412
4409
  const isPrimaryDisabled = isCardDisabled || isHighlighted || isThisCardLoading || !tier.acceptPreorder;
4413
4410
  const isWaitlistDisabled = !isCurrent || isCurrent && (onWaitlist || hasPreordered) || isThisCardLoading || !tier.acceptWaitlist;
4414
- return /* @__PURE__ */ import_react78.default.createElement(
4411
+ return /* @__PURE__ */ import_react77.default.createElement(
4415
4412
  "div",
4416
4413
  {
4417
4414
  key: tier.tierName,
@@ -4420,15 +4417,15 @@ var UniversalCardActionPage = ({
4420
4417
 
4421
4418
  `
4422
4419
  },
4423
- /* @__PURE__ */ import_react78.default.createElement(
4420
+ /* @__PURE__ */ import_react77.default.createElement(
4424
4421
  "div",
4425
4422
  {
4426
4423
  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`
4427
4424
  }
4428
4425
  ),
4429
- isThisCardLoading && /* @__PURE__ */ import_react78.default.createElement("div", { className: "absolute inset-0 z-50 flex items-center justify-center bg-white/40 backdrop-blur-[1px]" }, /* @__PURE__ */ import_react78.default.createElement(import_react79.HugeiconsIcon, { icon: import_core_free_icons28.Loading03Icon, size: 32, className: "animate-spin text-black" })),
4430
- /* @__PURE__ */ import_react78.default.createElement("div", { className: "mb-6 relative z-10" }, /* @__PURE__ */ import_react78.default.createElement("div", { className: "flex justify-between items-start mb-1" }, /* @__PURE__ */ import_react78.default.createElement("span", { className: "text-black text-sm tracking-widest " }, formatTierName(tier.tierName)), isCurrent && !hasPreordered && /* @__PURE__ */ import_react78.default.createElement("span", { className: "text-xs bg-stone-100 text-stone-600 px-2 py-1 rounded-full tracking-wider" }, "Current")), /* @__PURE__ */ import_react78.default.createElement("div", { className: "flex items-baseline gap-1 mt-2" }, /* @__PURE__ */ import_react78.default.createElement("h3", { className: "text-3xl font-light text-black" }, tier.priceUSD === 0 ? "Free" : `$${tier.priceUSD.toFixed(2)}`), tier.priceUSD > 0 && /* @__PURE__ */ import_react78.default.createElement("span", { className: "text-xs text-stone-500" }, tier.isYearly ? "/ year" : "one-time")), /* @__PURE__ */ import_react78.default.createElement("p", { className: "text-sm text-stone-500 mt-3 min-h-12 leading-relaxed" }, tier.description)),
4431
- /* @__PURE__ */ import_react78.default.createElement("div", { className: "flex flex-col gap-2.5 mb-6 relative z-10" }, /* @__PURE__ */ import_react78.default.createElement("div", { className: isPrimaryDisabled ? "opacity-50 pointer-events-none" : "" }, /* @__PURE__ */ import_react78.default.createElement(
4426
+ isThisCardLoading && /* @__PURE__ */ import_react77.default.createElement("div", { className: "absolute inset-0 z-50 flex items-center justify-center bg-white/40 backdrop-blur-[1px]" }, /* @__PURE__ */ import_react77.default.createElement(import_react78.HugeiconsIcon, { icon: import_core_free_icons27.Loading03Icon, size: 32, className: "animate-spin text-black" })),
4427
+ /* @__PURE__ */ import_react77.default.createElement("div", { className: "mb-6 relative z-10" }, /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex justify-between items-start mb-1" }, /* @__PURE__ */ import_react77.default.createElement("span", { className: "text-black text-sm tracking-widest " }, formatTierName(tier.tierName)), isCurrent && !hasPreordered && /* @__PURE__ */ import_react77.default.createElement("span", { className: "text-xs bg-stone-100 text-stone-600 px-2 py-1 rounded-full tracking-wider" }, "Current")), /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex items-baseline gap-1 mt-2" }, /* @__PURE__ */ import_react77.default.createElement("h3", { className: "text-3xl font-light text-black" }, tier.priceUSD === 0 ? "Free" : `$${tier.priceUSD.toFixed(2)}`), tier.priceUSD > 0 && /* @__PURE__ */ import_react77.default.createElement("span", { className: "text-xs text-stone-500" }, tier.isYearly ? "/ year" : "one-time")), /* @__PURE__ */ import_react77.default.createElement("p", { className: "text-sm text-stone-500 mt-3 min-h-12 leading-relaxed" }, tier.description)),
4428
+ /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex flex-col gap-2.5 mb-6 relative z-10" }, /* @__PURE__ */ import_react77.default.createElement("div", { className: isPrimaryDisabled ? "opacity-50 pointer-events-none" : "" }, /* @__PURE__ */ import_react77.default.createElement(
4432
4429
  ThreeDActionButton,
4433
4430
  {
4434
4431
  disabled: isPrimaryDisabled,
@@ -4436,7 +4433,7 @@ var UniversalCardActionPage = ({
4436
4433
  className: "w-full"
4437
4434
  },
4438
4435
  getPrimaryButtonText(tier)
4439
- )), /* @__PURE__ */ import_react78.default.createElement(
4436
+ )), /* @__PURE__ */ import_react77.default.createElement(
4440
4437
  "button",
4441
4438
  {
4442
4439
  disabled: isWaitlistDisabled,
@@ -4448,26 +4445,26 @@ var UniversalCardActionPage = ({
4448
4445
  },
4449
4446
  getWaitlistButtonText(tier)
4450
4447
  )),
4451
- /* @__PURE__ */ import_react78.default.createElement("div", { className: "flex flex-col gap-3 relative z-10" }, tier.features.map((feature, featureIdx) => {
4448
+ /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex flex-col gap-3 relative z-10" }, tier.features.map((feature, featureIdx) => {
4452
4449
  const isAvailable = feature.value !== false;
4453
4450
  const valueText = typeof feature.value === "string" ? feature.value : "";
4454
- return /* @__PURE__ */ import_react78.default.createElement("div", { key: featureIdx, className: "flex items-center gap-3" }, isAvailable ? /* @__PURE__ */ import_react78.default.createElement(CheckIcon2, null) : /* @__PURE__ */ import_react78.default.createElement(CrossIcon2, null), /* @__PURE__ */ import_react78.default.createElement("span", { className: `text-xs truncate ${isAvailable ? "text-stone-800" : "text-stone-400"}` }, feature.name, valueText && /* @__PURE__ */ import_react78.default.createElement("span", { className: "text-stone-500 ml-1 " }, valueText)));
4451
+ return /* @__PURE__ */ import_react77.default.createElement("div", { key: featureIdx, className: "flex items-center gap-3" }, isAvailable ? /* @__PURE__ */ import_react77.default.createElement(CheckIcon2, null) : /* @__PURE__ */ import_react77.default.createElement(CrossIcon2, null), /* @__PURE__ */ import_react77.default.createElement("span", { className: `text-xs truncate ${isAvailable ? "text-stone-800" : "text-stone-400"}` }, feature.name, valueText && /* @__PURE__ */ import_react77.default.createElement("span", { className: "text-stone-500 ml-1 " }, valueText)));
4455
4452
  }))
4456
4453
  );
4457
- }))), selectedTier && intendedAction !== "join_waitlist" && /* @__PURE__ */ import_react78.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react78.default.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: () => !isProcessing && setSelectedTier(null) }), /* @__PURE__ */ import_react78.default.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__ */ import_react78.default.createElement(
4454
+ }))), selectedTier && intendedAction !== "join_waitlist" && /* @__PURE__ */ import_react77.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react77.default.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: () => !isProcessing && setSelectedTier(null) }), /* @__PURE__ */ import_react77.default.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__ */ import_react77.default.createElement(
4458
4455
  "div",
4459
4456
  {
4460
4457
  className: `absolute -top-10 -right-10 w-40 h-40 bg-linear-to-bl ${getTierGlow(selectedTier.tierName)} to-transparent opacity-40 blur-2xl rounded-full pointer-events-none`
4461
4458
  }
4462
- ), /* @__PURE__ */ import_react78.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 relative z-10" }, /* @__PURE__ */ import_react78.default.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Confirm Action"), /* @__PURE__ */ import_react78.default.createElement(
4459
+ ), /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 relative z-10" }, /* @__PURE__ */ import_react77.default.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Confirm Action"), /* @__PURE__ */ import_react77.default.createElement(
4463
4460
  "button",
4464
4461
  {
4465
4462
  disabled: isProcessing,
4466
4463
  onClick: () => setSelectedTier(null),
4467
4464
  className: "text-stone-400 hover:text-black transition-colors outline-none disabled:opacity-50"
4468
4465
  },
4469
- /* @__PURE__ */ import_react78.default.createElement(import_react79.HugeiconsIcon, { icon: import_core_free_icons28.CancelCircleIcon, size: 18 })
4470
- )), /* @__PURE__ */ import_react78.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 relative z-10" }, /* @__PURE__ */ import_react78.default.createElement("div", { className: "flex flex-col items-center justify-center mb-6" }, /* @__PURE__ */ import_react78.default.createElement("p", { className: "text-2xl text-black mb-1" }, selectedTier.priceUSD === 0 ? "Free" : `$${selectedTier.priceUSD.toFixed(2)}`), /* @__PURE__ */ import_react78.default.createElement("span", { className: `text-xs tracking-widest px-4 py-1.5 rounded-full bg-stone-100 text-black mt-1` }, formatTierName(selectedTier.tierName), " ", formatTierName(cardType))), /* @__PURE__ */ import_react78.default.createElement("div", { className: "grid grid-cols-1 gap-y-6 mb-8 mt-4" }, /* @__PURE__ */ import_react78.default.createElement("div", null, /* @__PURE__ */ import_react78.default.createElement("span", { className: "text-xs tracking-[0.2em] text-stone-400 block mb-1" }, "Action"), /* @__PURE__ */ import_react78.default.createElement("span", { className: "text-sm text-black " }, intendedAction === "upgrade" ? `Upgrade to ${formatTierName(selectedTier.tierName)}` : `Pre-order Card`)), intendedAction === "pre_order" && selectedTier.priceUSD > 0 && /* @__PURE__ */ import_react78.default.createElement("div", null, /* @__PURE__ */ import_react78.default.createElement("span", { className: "text-xs tracking-[0.2em] text-stone-400 block mb-1" }, "Payment Notice"), /* @__PURE__ */ import_react78.default.createElement("span", { className: "text-xs text-stone-600 leading-relaxed block" }, "By confirming, $", selectedTier.priceUSD.toFixed(2), " will be securely deducted from your USD asset balance to guarantee your order."))), /* @__PURE__ */ import_react78.default.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ import_react78.default.createElement(
4466
+ /* @__PURE__ */ import_react77.default.createElement(import_react78.HugeiconsIcon, { icon: import_core_free_icons27.CancelCircleIcon, size: 18 })
4467
+ )), /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 relative z-10" }, /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex flex-col items-center justify-center mb-6" }, /* @__PURE__ */ import_react77.default.createElement("p", { className: "text-2xl text-black mb-1" }, selectedTier.priceUSD === 0 ? "Free" : `$${selectedTier.priceUSD.toFixed(2)}`), /* @__PURE__ */ import_react77.default.createElement("span", { className: `text-xs tracking-widest px-4 py-1.5 rounded-full bg-stone-100 text-black mt-1` }, formatTierName(selectedTier.tierName), " ", formatTierName(cardType))), /* @__PURE__ */ import_react77.default.createElement("div", { className: "grid grid-cols-1 gap-y-6 mb-8 mt-4" }, /* @__PURE__ */ import_react77.default.createElement("div", null, /* @__PURE__ */ import_react77.default.createElement("span", { className: "text-xs tracking-[0.2em] text-stone-400 block mb-1" }, "Action"), /* @__PURE__ */ import_react77.default.createElement("span", { className: "text-sm text-black " }, intendedAction === "upgrade" ? `Upgrade to ${formatTierName(selectedTier.tierName)}` : `Pre-order Card`)), intendedAction === "pre_order" && selectedTier.priceUSD > 0 && /* @__PURE__ */ import_react77.default.createElement("div", null, /* @__PURE__ */ import_react77.default.createElement("span", { className: "text-xs tracking-[0.2em] text-stone-400 block mb-1" }, "Payment Notice"), /* @__PURE__ */ import_react77.default.createElement("span", { className: "text-xs text-stone-600 leading-relaxed block" }, "By confirming, $", selectedTier.priceUSD.toFixed(2), " will be securely deducted from your USD asset balance to guarantee your order."))), /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ import_react77.default.createElement(
4471
4468
  ThreeDActionButton,
4472
4469
  {
4473
4470
  onClick: processAction,
@@ -4475,7 +4472,7 @@ var UniversalCardActionPage = ({
4475
4472
  className: "w-full"
4476
4473
  },
4477
4474
  "Confirm & Proceed"
4478
- ), /* @__PURE__ */ import_react78.default.createElement(
4475
+ ), /* @__PURE__ */ import_react77.default.createElement(
4479
4476
  "button",
4480
4477
  {
4481
4478
  disabled: isProcessing,
@@ -4483,7 +4480,7 @@ var UniversalCardActionPage = ({
4483
4480
  className: "w-full flex items-center justify-center py-2.5 rounded-full border border-stone-200 text-black hover:bg-stone-50 transition-colors outline-none text-sm mt-1 disabled:opacity-50"
4484
4481
  },
4485
4482
  "Cancel"
4486
- ))))), selectedTier && intendedAction === "join_waitlist" && /* @__PURE__ */ import_react78.default.createElement(
4483
+ ))))), selectedTier && intendedAction === "join_waitlist" && /* @__PURE__ */ import_react77.default.createElement(
4487
4484
  ConfirmationDialog,
4488
4485
  {
4489
4486
  isOpen: true,
@@ -4499,9 +4496,9 @@ var UniversalCardActionPage = ({
4499
4496
  };
4500
4497
 
4501
4498
  // src/components/PinDialerBottomSheet.tsx
4502
- var import_react80 = __toESM(require("react"));
4503
- var import_react81 = require("@hugeicons/react");
4504
- var import_core_free_icons29 = require("@hugeicons/core-free-icons");
4499
+ var import_react79 = __toESM(require("react"));
4500
+ var import_react80 = require("@hugeicons/react");
4501
+ var import_core_free_icons28 = require("@hugeicons/core-free-icons");
4505
4502
  var PinDialerBottomSheet = ({
4506
4503
  isOpen,
4507
4504
  title = "Action Required",
@@ -4509,8 +4506,8 @@ var PinDialerBottomSheet = ({
4509
4506
  onClose,
4510
4507
  onComplete
4511
4508
  }) => {
4512
- const [pin, setPin] = (0, import_react80.useState)("");
4513
- (0, import_react80.useEffect)(() => {
4509
+ const [pin, setPin] = (0, import_react79.useState)("");
4510
+ (0, import_react79.useEffect)(() => {
4514
4511
  setPin("");
4515
4512
  }, [isOpen]);
4516
4513
  const handleSubmit = (e) => {
@@ -4519,7 +4516,7 @@ var PinDialerBottomSheet = ({
4519
4516
  onComplete(pin);
4520
4517
  };
4521
4518
  if (!isOpen) return null;
4522
- return /* @__PURE__ */ import_react80.default.createElement("div", { className: "fixed inset-0 z-150 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react80.default.createElement(
4519
+ return /* @__PURE__ */ import_react79.default.createElement("div", { className: "fixed inset-0 z-150 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react79.default.createElement(
4523
4520
  "div",
4524
4521
  {
4525
4522
  className: "absolute inset-0 bg-black/40 animate-in fade-in duration-200",
@@ -4527,7 +4524,7 @@ var PinDialerBottomSheet = ({
4527
4524
  if (!isVerifying) onClose();
4528
4525
  }
4529
4526
  }
4530
- ), /* @__PURE__ */ import_react80.default.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__ */ import_react80.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ import_react80.default.createElement("h3", { className: "text-sm text-black tracking-tight" }, title), /* @__PURE__ */ import_react80.default.createElement(
4527
+ ), /* @__PURE__ */ import_react79.default.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__ */ import_react79.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ import_react79.default.createElement("h3", { className: "text-sm text-black tracking-tight" }, title), /* @__PURE__ */ import_react79.default.createElement(
4531
4528
  "button",
4532
4529
  {
4533
4530
  onClick: () => {
@@ -4536,8 +4533,8 @@ var PinDialerBottomSheet = ({
4536
4533
  disabled: isVerifying,
4537
4534
  className: "text-stone-400 hover:text-black transition-colors outline-none disabled:opacity-50"
4538
4535
  },
4539
- /* @__PURE__ */ import_react80.default.createElement(import_react81.HugeiconsIcon, { icon: import_core_free_icons29.CancelCircleIcon, size: 20 })
4540
- )), /* @__PURE__ */ import_react80.default.createElement("div", { className: "flex flex-col px-6 pb-6 pt-2 relative" }, /* @__PURE__ */ import_react80.default.createElement("form", { onSubmit: handleSubmit, className: "flex flex-col gap-6" }, /* @__PURE__ */ import_react80.default.createElement(
4536
+ /* @__PURE__ */ import_react79.default.createElement(import_react80.HugeiconsIcon, { icon: import_core_free_icons28.CancelCircleIcon, size: 20 })
4537
+ )), /* @__PURE__ */ import_react79.default.createElement("div", { className: "flex flex-col px-6 pb-6 pt-2 relative" }, /* @__PURE__ */ import_react79.default.createElement("form", { onSubmit: handleSubmit, className: "flex flex-col gap-6" }, /* @__PURE__ */ import_react79.default.createElement(
4541
4538
  TextInput,
4542
4539
  {
4543
4540
  type: "password",
@@ -4548,7 +4545,7 @@ var PinDialerBottomSheet = ({
4548
4545
  onChange: (val) => setPin(val.replace(/\D/g, "").substring(0, 4)),
4549
4546
  placeholder: "\u2022\u2022\u2022\u2022"
4550
4547
  }
4551
- ), /* @__PURE__ */ import_react80.default.createElement("div", { className: "pt-2" }, /* @__PURE__ */ import_react80.default.createElement(
4548
+ ), /* @__PURE__ */ import_react79.default.createElement("div", { className: "pt-2" }, /* @__PURE__ */ import_react79.default.createElement(
4552
4549
  ThreeDActionButton,
4553
4550
  {
4554
4551
  type: "submit",
@@ -4561,14 +4558,14 @@ var PinDialerBottomSheet = ({
4561
4558
  };
4562
4559
 
4563
4560
  // src/components/UniversalBuyCryptoPage.tsx
4564
- var import_react82 = __toESM(require("react"));
4561
+ var import_react81 = __toESM(require("react"));
4565
4562
  var import_react_hot_toast12 = __toESM(require("react-hot-toast"));
4566
- var import_react83 = require("@hugeicons/react");
4567
- var import_core_free_icons30 = require("@hugeicons/core-free-icons");
4563
+ var import_react82 = require("@hugeicons/react");
4564
+ var import_core_free_icons29 = require("@hugeicons/core-free-icons");
4568
4565
  var CircularLogo = ({ src, alt, fallbackText }) => {
4569
- const [isLoaded, setIsLoaded] = (0, import_react82.useState)(false);
4570
- const [hasError, setHasError] = (0, import_react82.useState)(false);
4571
- return /* @__PURE__ */ import_react82.default.createElement("div", { className: "relative w-5 h-5 rounded-full overflow-hidden bg-stone-100 flex items-center justify-center shrink-0" }, !hasError && src ? /* @__PURE__ */ import_react82.default.createElement(import_react82.default.Fragment, null, !isLoaded && /* @__PURE__ */ import_react82.default.createElement("div", { className: "absolute inset-0 bg-stone-200 animate-pulse" }), /* @__PURE__ */ import_react82.default.createElement(
4566
+ const [isLoaded, setIsLoaded] = (0, import_react81.useState)(false);
4567
+ const [hasError, setHasError] = (0, import_react81.useState)(false);
4568
+ return /* @__PURE__ */ import_react81.default.createElement("div", { className: "relative w-5 h-5 rounded-full overflow-hidden bg-stone-100 flex items-center justify-center shrink-0" }, !hasError && src ? /* @__PURE__ */ import_react81.default.createElement(import_react81.default.Fragment, null, !isLoaded && /* @__PURE__ */ import_react81.default.createElement("div", { className: "absolute inset-0 bg-stone-200 animate-pulse" }), /* @__PURE__ */ import_react81.default.createElement(
4572
4569
  "img",
4573
4570
  {
4574
4571
  src,
@@ -4577,7 +4574,7 @@ var CircularLogo = ({ src, alt, fallbackText }) => {
4577
4574
  onError: () => setHasError(true),
4578
4575
  className: `w-full h-full object-cover transition-opacity duration-300 ${isLoaded ? "opacity-100" : "opacity-0"}`
4579
4576
  }
4580
- )) : /* @__PURE__ */ import_react82.default.createElement("span", { className: "text-xs text-black uppercase" }, fallbackText.substring(0, 2)));
4577
+ )) : /* @__PURE__ */ import_react81.default.createElement("span", { className: "text-xs text-black uppercase" }, fallbackText.substring(0, 2)));
4581
4578
  };
4582
4579
  var DEFAULT_NETWORK_REGEX = {
4583
4580
  EVM: /^0x[a-fA-F0-9]{40}$/,
@@ -4617,33 +4614,33 @@ var UniversalBuyCryptoPage = ({
4617
4614
  const onBackHandler = onBack ?? (() => {
4618
4615
  if (typeof window !== "undefined") window.history.back();
4619
4616
  });
4620
- const [selectedCrypto, setSelectedCrypto] = (0, import_react82.useState)(() => {
4617
+ const [selectedCrypto, setSelectedCrypto] = (0, import_react81.useState)(() => {
4621
4618
  if (defaultCryptoCode) {
4622
4619
  const found = cryptoOptions.find((c) => c.code === defaultCryptoCode);
4623
4620
  if (found) return found;
4624
4621
  }
4625
4622
  return cryptoOptions[0];
4626
4623
  });
4627
- const [selectedNetwork, setSelectedNetwork] = (0, import_react82.useState)(() => {
4624
+ const [selectedNetwork, setSelectedNetwork] = (0, import_react81.useState)(() => {
4628
4625
  if (defaultNetworkId && selectedCrypto?.networks) {
4629
4626
  const foundNet = selectedCrypto.networks.find((n) => n.id === defaultNetworkId);
4630
4627
  if (foundNet) return foundNet;
4631
4628
  }
4632
4629
  return selectedCrypto?.networks?.[0] || { id: "polygon", name: "Polygon", symbol: "POLYGON" };
4633
4630
  });
4634
- const [fiatAmount, setFiatAmount] = (0, import_react82.useState)("");
4635
- const [cryptoAmount, setCryptoAmount] = (0, import_react82.useState)("");
4636
- const [activeSource, setActiveSource] = (0, import_react82.useState)("FIAT");
4637
- const [isCalculating, setIsCalculating] = (0, import_react82.useState)(false);
4638
- const [rateDisplay, setRateDisplay] = (0, import_react82.useState)(null);
4639
- const [currentRateKey, setCurrentRateKey] = (0, import_react82.useState)(null);
4640
- const [recipientAddress, setRecipientAddress] = (0, import_react82.useState)(defaultRecipientAddress);
4641
- const [isAddressValid, setIsAddressValid] = (0, import_react82.useState)(false);
4642
- const [isCryptoDialogOpen, setIsCryptoDialogOpen] = (0, import_react82.useState)(false);
4643
- const [isNetworkDialogOpen, setIsNetworkDialogOpen] = (0, import_react82.useState)(false);
4644
- const [isSubmitting, setIsSubmitting] = (0, import_react82.useState)(false);
4645
- const debounceTimerRef = (0, import_react82.useRef)(null);
4646
- (0, import_react82.useEffect)(() => {
4631
+ const [fiatAmount, setFiatAmount] = (0, import_react81.useState)("");
4632
+ const [cryptoAmount, setCryptoAmount] = (0, import_react81.useState)("");
4633
+ const [activeSource, setActiveSource] = (0, import_react81.useState)("FIAT");
4634
+ const [isCalculating, setIsCalculating] = (0, import_react81.useState)(false);
4635
+ const [rateDisplay, setRateDisplay] = (0, import_react81.useState)(null);
4636
+ const [currentRateKey, setCurrentRateKey] = (0, import_react81.useState)(null);
4637
+ const [recipientAddress, setRecipientAddress] = (0, import_react81.useState)(defaultRecipientAddress);
4638
+ const [isAddressValid, setIsAddressValid] = (0, import_react81.useState)(false);
4639
+ const [isCryptoDialogOpen, setIsCryptoDialogOpen] = (0, import_react81.useState)(false);
4640
+ const [isNetworkDialogOpen, setIsNetworkDialogOpen] = (0, import_react81.useState)(false);
4641
+ const [isSubmitting, setIsSubmitting] = (0, import_react81.useState)(false);
4642
+ const debounceTimerRef = (0, import_react81.useRef)(null);
4643
+ (0, import_react81.useEffect)(() => {
4647
4644
  if (selectedCrypto?.networks?.length > 0) {
4648
4645
  const exists = selectedCrypto.networks.find((n) => n.id === selectedNetwork.id);
4649
4646
  if (!exists) {
@@ -4651,7 +4648,7 @@ var UniversalBuyCryptoPage = ({
4651
4648
  }
4652
4649
  }
4653
4650
  }, [selectedCrypto]);
4654
- (0, import_react82.useEffect)(() => {
4651
+ (0, import_react81.useEffect)(() => {
4655
4652
  if (!recipientAddress.trim()) {
4656
4653
  setIsAddressValid(false);
4657
4654
  return;
@@ -4659,7 +4656,7 @@ var UniversalBuyCryptoPage = ({
4659
4656
  const valid = validateWalletAddress(recipientAddress, selectedNetwork);
4660
4657
  setIsAddressValid(valid);
4661
4658
  }, [recipientAddress, selectedNetwork]);
4662
- const triggerRateCalculation = (0, import_react82.useCallback)((source, valFiat, valCrypto, currentCrypto) => {
4659
+ const triggerRateCalculation = (0, import_react81.useCallback)((source, valFiat, valCrypto, currentCrypto) => {
4663
4660
  if (debounceTimerRef.current) clearTimeout(debounceTimerRef.current);
4664
4661
  const targetVal = source === "FIAT" ? valFiat : valCrypto;
4665
4662
  const numericVal = parseFloat(targetVal) || 0;
@@ -4740,7 +4737,7 @@ var UniversalBuyCryptoPage = ({
4740
4737
  }
4741
4738
  };
4742
4739
  const isButtonDisabled = isSubmitting || isCalculating || !fiatAmount || !cryptoAmount || !isAddressValid || !currentRateKey;
4743
- return /* @__PURE__ */ import_react82.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react82.default.createElement(ManagedToaster, null), !hideBackButton && /* @__PURE__ */ import_react82.default.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ import_react82.default.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-stone-500 hover:text-black transition-colors text-sm outline-none" }, /* @__PURE__ */ import_react82.default.createElement(import_react83.HugeiconsIcon, { icon: import_core_free_icons30.ArrowLeft01Icon, size: 16 }), " Back")), /* @__PURE__ */ import_react82.default.createElement("div", { className: "flex flex-col gap-1 mb-6 px-1" }, /* @__PURE__ */ import_react82.default.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Buy Crypto"), /* @__PURE__ */ import_react82.default.createElement("p", { className: "text-xs text-stone-500" }, "Purchase digital assets instantly in your local currency with direct wallet delivery.")), /* @__PURE__ */ import_react82.default.createElement("div", { className: "flex flex-col gap-6 p-6 sm:p-8 rounded-3xl bg-white w-full " }, /* @__PURE__ */ import_react82.default.createElement("div", { className: "relative flex flex-col gap-3" }, /* @__PURE__ */ import_react82.default.createElement("div", { className: "border border-stone-200 rounded-2xl p-4 flex items-center justify-between transition-all focus-within:border-black" }, /* @__PURE__ */ import_react82.default.createElement("div", { className: "flex flex-col gap-1 flex-1 pr-3 min-w-0" }, /* @__PURE__ */ import_react82.default.createElement("span", { className: "text-xs tracking-widest text-stone-400" }, "You Pay (", fiatCurrency.code, ")"), isCalculating && activeSource === "CRYPTO" ? /* @__PURE__ */ import_react82.default.createElement("div", { className: "h-7 w-32 bg-stone-100 animate-pulse rounded-md mt-1" }) : /* @__PURE__ */ import_react82.default.createElement(
4740
+ return /* @__PURE__ */ import_react81.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react81.default.createElement(ManagedToaster, null), !hideBackButton && /* @__PURE__ */ import_react81.default.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ import_react81.default.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-stone-500 hover:text-black transition-colors text-sm outline-none" }, /* @__PURE__ */ import_react81.default.createElement(import_react82.HugeiconsIcon, { icon: import_core_free_icons29.ArrowLeft01Icon, size: 16 }), " Back")), /* @__PURE__ */ import_react81.default.createElement("div", { className: "flex flex-col gap-1 mb-6 px-1" }, /* @__PURE__ */ import_react81.default.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Buy Crypto"), /* @__PURE__ */ import_react81.default.createElement("p", { className: "text-xs text-stone-500" }, "Purchase digital assets instantly in your local currency with direct wallet delivery.")), /* @__PURE__ */ import_react81.default.createElement("div", { className: "flex flex-col gap-6 p-6 sm:p-8 rounded-3xl bg-white w-full " }, /* @__PURE__ */ import_react81.default.createElement("div", { className: "relative flex flex-col gap-3" }, /* @__PURE__ */ import_react81.default.createElement("div", { className: "border border-stone-200 rounded-2xl p-4 flex items-center justify-between transition-all focus-within:border-black" }, /* @__PURE__ */ import_react81.default.createElement("div", { className: "flex flex-col gap-1 flex-1 pr-3 min-w-0" }, /* @__PURE__ */ import_react81.default.createElement("span", { className: "text-xs tracking-widest text-stone-400" }, "You Pay (", fiatCurrency.code, ")"), isCalculating && activeSource === "CRYPTO" ? /* @__PURE__ */ import_react81.default.createElement("div", { className: "h-7 w-32 bg-stone-100 animate-pulse rounded-md mt-1" }) : /* @__PURE__ */ import_react81.default.createElement(
4744
4741
  "input",
4745
4742
  {
4746
4743
  type: "text",
@@ -4751,7 +4748,7 @@ var UniversalBuyCryptoPage = ({
4751
4748
  disabled: isSubmitting,
4752
4749
  className: "text-lg sm:text-xl text-black bg-transparent outline-none w-full placeholder-stone-300 "
4753
4750
  }
4754
- )), /* @__PURE__ */ import_react82.default.createElement("div", { className: "flex items-center gap-2 bg-stone-50 rounded-full px-3 py-1.5 shrink-0 select-none" }, /* @__PURE__ */ import_react82.default.createElement(CircularLogo, { src: fiatCurrency.logoUrl, alt: fiatCurrency.code, fallbackText: fiatCurrency.code }), /* @__PURE__ */ import_react82.default.createElement("span", { className: "text-xs text-black" }, fiatCurrency.code))), /* @__PURE__ */ import_react82.default.createElement("div", { className: "absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 z-10" }, /* @__PURE__ */ import_react82.default.createElement("div", { className: "w-10 h-10 rounded-full bg-white border border-stone-200 flex items-center justify-center" }, /* @__PURE__ */ import_react82.default.createElement("svg", { className: "w-4 h-4 text-black", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor" }, /* @__PURE__ */ import_react82.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4" })))), /* @__PURE__ */ import_react82.default.createElement("div", { className: "border border-stone-200 rounded-2xl p-4 flex items-center justify-between transition-all focus-within:border-black" }, /* @__PURE__ */ import_react82.default.createElement("div", { className: "flex flex-col gap-1 flex-1 pr-3 min-w-0" }, /* @__PURE__ */ import_react82.default.createElement("span", { className: "text-xs tracking-widest text-stone-400" }, "You Receive"), isCalculating && activeSource === "FIAT" ? /* @__PURE__ */ import_react82.default.createElement("div", { className: "h-7 w-32 bg-stone-100 animate-pulse rounded-md mt-1" }) : /* @__PURE__ */ import_react82.default.createElement(
4751
+ )), /* @__PURE__ */ import_react81.default.createElement("div", { className: "flex items-center gap-2 bg-stone-50 rounded-full px-3 py-1.5 shrink-0 select-none" }, /* @__PURE__ */ import_react81.default.createElement(CircularLogo, { src: fiatCurrency.logoUrl, alt: fiatCurrency.code, fallbackText: fiatCurrency.code }), /* @__PURE__ */ import_react81.default.createElement("span", { className: "text-xs text-black" }, fiatCurrency.code))), /* @__PURE__ */ import_react81.default.createElement("div", { className: "absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 z-10" }, /* @__PURE__ */ import_react81.default.createElement("div", { className: "w-10 h-10 rounded-full bg-white border border-stone-200 flex items-center justify-center" }, /* @__PURE__ */ import_react81.default.createElement("svg", { className: "w-4 h-4 text-black", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor" }, /* @__PURE__ */ import_react81.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4" })))), /* @__PURE__ */ import_react81.default.createElement("div", { className: "border border-stone-200 rounded-2xl p-4 flex items-center justify-between transition-all focus-within:border-black" }, /* @__PURE__ */ import_react81.default.createElement("div", { className: "flex flex-col gap-1 flex-1 pr-3 min-w-0" }, /* @__PURE__ */ import_react81.default.createElement("span", { className: "text-xs tracking-widest text-stone-400" }, "You Receive"), isCalculating && activeSource === "FIAT" ? /* @__PURE__ */ import_react81.default.createElement("div", { className: "h-7 w-32 bg-stone-100 animate-pulse rounded-md mt-1" }) : /* @__PURE__ */ import_react81.default.createElement(
4755
4752
  "input",
4756
4753
  {
4757
4754
  type: "text",
@@ -4762,7 +4759,7 @@ var UniversalBuyCryptoPage = ({
4762
4759
  disabled: isSubmitting,
4763
4760
  className: "text-lg sm:text-xl text-black bg-transparent outline-none w-full placeholder-stone-300 "
4764
4761
  }
4765
- )), /* @__PURE__ */ import_react82.default.createElement(
4762
+ )), /* @__PURE__ */ import_react81.default.createElement(
4766
4763
  "button",
4767
4764
  {
4768
4765
  type: "button",
@@ -4770,10 +4767,10 @@ var UniversalBuyCryptoPage = ({
4770
4767
  disabled: isSubmitting,
4771
4768
  className: "flex items-center gap-2 bg-stone-100 hover:bg-stone-200 transition-colors rounded-full px-1 py-1.5 shrink-0 outline-none"
4772
4769
  },
4773
- /* @__PURE__ */ import_react82.default.createElement(CircularLogo, { src: selectedCrypto.logoUrl, alt: selectedCrypto.code, fallbackText: selectedCrypto.code }),
4774
- /* @__PURE__ */ import_react82.default.createElement("span", { className: "text-xs text-black" }, selectedCrypto.code),
4775
- /* @__PURE__ */ import_react82.default.createElement("svg", { className: "w-3.5 h-3.5 text-stone-500 ml-0.5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor" }, /* @__PURE__ */ import_react82.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }))
4776
- ))), rateDisplay && /* @__PURE__ */ import_react82.default.createElement("div", { className: "flex items-center justify-between text-xs text-stone-500 px-1 -mt-2" }, /* @__PURE__ */ import_react82.default.createElement("span", null, "Exchange Rate"), /* @__PURE__ */ import_react82.default.createElement("span", { className: "text-black" }, rateDisplay)), !hideRecipientSection && /* @__PURE__ */ import_react82.default.createElement("div", { className: "flex flex-col gap-6 pt-4 border-t border-stone-100" }, /* @__PURE__ */ import_react82.default.createElement("div", { className: "space-y-2 flex-1 w-full relative" }, /* @__PURE__ */ import_react82.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Network / Blockchain"), /* @__PURE__ */ import_react82.default.createElement(
4770
+ /* @__PURE__ */ import_react81.default.createElement(CircularLogo, { src: selectedCrypto.logoUrl, alt: selectedCrypto.code, fallbackText: selectedCrypto.code }),
4771
+ /* @__PURE__ */ import_react81.default.createElement("span", { className: "text-xs text-black" }, selectedCrypto.code),
4772
+ /* @__PURE__ */ import_react81.default.createElement("svg", { className: "w-3.5 h-3.5 text-stone-500 ml-0.5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor" }, /* @__PURE__ */ import_react81.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }))
4773
+ ))), rateDisplay && /* @__PURE__ */ import_react81.default.createElement("div", { className: "flex items-center justify-between text-xs text-stone-500 px-1 -mt-2" }, /* @__PURE__ */ import_react81.default.createElement("span", null, "Exchange Rate"), /* @__PURE__ */ import_react81.default.createElement("span", { className: "text-black" }, rateDisplay)), !hideRecipientSection && /* @__PURE__ */ import_react81.default.createElement("div", { className: "flex flex-col gap-6 pt-4 border-t border-stone-100" }, /* @__PURE__ */ import_react81.default.createElement("div", { className: "space-y-2 flex-1 w-full relative" }, /* @__PURE__ */ import_react81.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Network / Blockchain"), /* @__PURE__ */ import_react81.default.createElement(
4777
4774
  "button",
4778
4775
  {
4779
4776
  type: "button",
@@ -4781,9 +4778,9 @@ var UniversalBuyCryptoPage = ({
4781
4778
  disabled: isSubmitting || selectedCrypto?.networks?.length <= 1 || readOnlyRecipientSection,
4782
4779
  className: `w-full px-2 py-3 text-sm bg-transparent border-b text-black transition-all outline-none flex items-center justify-between ${readOnlyRecipientSection ? "border-stone-200 cursor-default opacity-80" : "border-stone-200 hover:border-black focus:border-black"}`
4783
4780
  },
4784
- /* @__PURE__ */ import_react82.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react82.default.createElement(CircularLogo, { src: selectedNetwork.logoUrl || selectedCrypto.logoUrl, alt: selectedNetwork.name, fallbackText: selectedNetwork.symbol }), /* @__PURE__ */ import_react82.default.createElement("span", null, selectedNetwork.name)),
4785
- !readOnlyRecipientSection && selectedCrypto?.networks?.length > 1 && /* @__PURE__ */ import_react82.default.createElement("svg", { className: "w-4 h-4 text-stone-400", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor" }, /* @__PURE__ */ import_react82.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }))
4786
- )), /* @__PURE__ */ import_react82.default.createElement(
4781
+ /* @__PURE__ */ import_react81.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react81.default.createElement(CircularLogo, { src: selectedNetwork.logoUrl || selectedCrypto.logoUrl, alt: selectedNetwork.name, fallbackText: selectedNetwork.symbol }), /* @__PURE__ */ import_react81.default.createElement("span", null, selectedNetwork.name)),
4782
+ !readOnlyRecipientSection && selectedCrypto?.networks?.length > 1 && /* @__PURE__ */ import_react81.default.createElement("svg", { className: "w-4 h-4 text-stone-400", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor" }, /* @__PURE__ */ import_react81.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }))
4783
+ )), /* @__PURE__ */ import_react81.default.createElement(
4787
4784
  TextInput,
4788
4785
  {
4789
4786
  label: "Recipient Wallet Address",
@@ -4794,7 +4791,7 @@ var UniversalBuyCryptoPage = ({
4794
4791
  disabled: isSubmitting || readOnlyRecipientSection,
4795
4792
  readOnly: readOnlyRecipientSection
4796
4793
  }
4797
- )), /* @__PURE__ */ import_react82.default.createElement("div", { className: "mt-4" }, /* @__PURE__ */ import_react82.default.createElement(
4794
+ )), /* @__PURE__ */ import_react81.default.createElement("div", { className: "mt-4" }, /* @__PURE__ */ import_react81.default.createElement(
4798
4795
  ThreeDActionButton,
4799
4796
  {
4800
4797
  type: "button",
@@ -4806,22 +4803,22 @@ var UniversalBuyCryptoPage = ({
4806
4803
  "Buy ",
4807
4804
  selectedCrypto.code,
4808
4805
  " Now"
4809
- ))), isCryptoDialogOpen && /* @__PURE__ */ import_react82.default.createElement("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/40" }, /* @__PURE__ */ import_react82.default.createElement("div", { className: "absolute inset-0", onClick: () => setIsCryptoDialogOpen(false) }), /* @__PURE__ */ import_react82.default.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__ */ import_react82.default.createElement("button", { onClick: () => setIsCryptoDialogOpen(false), className: "absolute top-4 right-4 p-2 text-stone-700 hover:text-stone-400 transition-colors outline-none" }, /* @__PURE__ */ import_react82.default.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__ */ import_react82.default.createElement("path", { d: "M18 6 6 18" }), /* @__PURE__ */ import_react82.default.createElement("path", { d: "m6 6 12 12" }))), /* @__PURE__ */ import_react82.default.createElement("div", { className: "p-6 sm:p-8" }, /* @__PURE__ */ import_react82.default.createElement("div", { className: "mb-6 mt-2" }, /* @__PURE__ */ import_react82.default.createElement("h2", { className: "text-xl text-black tracking-tight mb-2" }, "Select Cryptocurrency"), /* @__PURE__ */ import_react82.default.createElement("p", { className: "text-sm text-stone-500 leading-relaxed" }, "Choose the digital asset you want to purchase.")), /* @__PURE__ */ import_react82.default.createElement("div", { className: "flex flex-col gap-2 max-h-72 overflow-y-auto custom-scrollbar pr-1" }, cryptoOptions.map((c) => {
4806
+ ))), isCryptoDialogOpen && /* @__PURE__ */ import_react81.default.createElement("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/40" }, /* @__PURE__ */ import_react81.default.createElement("div", { className: "absolute inset-0", onClick: () => setIsCryptoDialogOpen(false) }), /* @__PURE__ */ import_react81.default.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__ */ import_react81.default.createElement("button", { onClick: () => setIsCryptoDialogOpen(false), className: "absolute top-4 right-4 p-2 text-stone-700 hover:text-stone-400 transition-colors outline-none" }, /* @__PURE__ */ import_react81.default.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__ */ import_react81.default.createElement("path", { d: "M18 6 6 18" }), /* @__PURE__ */ import_react81.default.createElement("path", { d: "m6 6 12 12" }))), /* @__PURE__ */ import_react81.default.createElement("div", { className: "p-6 sm:p-8" }, /* @__PURE__ */ import_react81.default.createElement("div", { className: "mb-6 mt-2" }, /* @__PURE__ */ import_react81.default.createElement("h2", { className: "text-xl text-black tracking-tight mb-2" }, "Select Cryptocurrency"), /* @__PURE__ */ import_react81.default.createElement("p", { className: "text-sm text-stone-500 leading-relaxed" }, "Choose the digital asset you want to purchase.")), /* @__PURE__ */ import_react81.default.createElement("div", { className: "flex flex-col gap-2 max-h-72 overflow-y-auto custom-scrollbar pr-1" }, cryptoOptions.map((c) => {
4810
4807
  const isSelected = c.code === selectedCrypto.code;
4811
- return /* @__PURE__ */ import_react82.default.createElement(
4808
+ return /* @__PURE__ */ import_react81.default.createElement(
4812
4809
  "button",
4813
4810
  {
4814
4811
  key: c.code,
4815
4812
  onClick: () => handleCryptoSelect(c),
4816
4813
  className: `flex items-center gap-4 p-3 rounded-full hover:bg-stone-50 transition-colors text-left outline-none border ${isSelected ? "border-black bg-stone-50/50" : "border-transparent"}`
4817
4814
  },
4818
- /* @__PURE__ */ import_react82.default.createElement(CircularLogo, { src: c.logoUrl, alt: c.name, fallbackText: c.code }),
4819
- /* @__PURE__ */ import_react82.default.createElement("div", { className: "flex flex-col flex-1 min-w-0" }, /* @__PURE__ */ import_react82.default.createElement("span", { className: "text-xs text-black truncate" }, c.name), /* @__PURE__ */ import_react82.default.createElement("span", { className: "text-xs text-stone-400" }, c.code)),
4820
- isSelected && /* @__PURE__ */ import_react82.default.createElement(import_react83.HugeiconsIcon, { icon: import_core_free_icons30.CheckmarkCircle02Icon, size: 16, className: "text-black" })
4815
+ /* @__PURE__ */ import_react81.default.createElement(CircularLogo, { src: c.logoUrl, alt: c.name, fallbackText: c.code }),
4816
+ /* @__PURE__ */ import_react81.default.createElement("div", { className: "flex flex-col flex-1 min-w-0" }, /* @__PURE__ */ import_react81.default.createElement("span", { className: "text-xs text-black truncate" }, c.name), /* @__PURE__ */ import_react81.default.createElement("span", { className: "text-xs text-stone-400" }, c.code)),
4817
+ isSelected && /* @__PURE__ */ import_react81.default.createElement(import_react82.HugeiconsIcon, { icon: import_core_free_icons29.CheckmarkCircle02Icon, size: 16, className: "text-black" })
4821
4818
  );
4822
- }))))), isNetworkDialogOpen && /* @__PURE__ */ import_react82.default.createElement("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/40" }, /* @__PURE__ */ import_react82.default.createElement("div", { className: "absolute inset-0", onClick: () => setIsNetworkDialogOpen(false) }), /* @__PURE__ */ import_react82.default.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__ */ import_react82.default.createElement("button", { onClick: () => setIsNetworkDialogOpen(false), className: "absolute top-4 right-4 p-2 text-stone-700 hover:text-stone-400 transition-colors outline-none" }, /* @__PURE__ */ import_react82.default.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__ */ import_react82.default.createElement("path", { d: "M18 6 6 18" }), /* @__PURE__ */ import_react82.default.createElement("path", { d: "m6 6 12 12" }))), /* @__PURE__ */ import_react82.default.createElement("div", { className: "p-6 sm:p-8" }, /* @__PURE__ */ import_react82.default.createElement("div", { className: "mb-6 mt-2" }, /* @__PURE__ */ import_react82.default.createElement("h2", { className: "text-xl text-black tracking-tight mb-2" }, "Select Network"), /* @__PURE__ */ import_react82.default.createElement("p", { className: "text-sm text-stone-500 leading-relaxed" }, "Ensure your receiving wallet supports this network.")), /* @__PURE__ */ import_react82.default.createElement("div", { className: "flex flex-col gap-2 max-h-72 overflow-y-auto custom-scrollbar pr-1" }, selectedCrypto?.networks?.map((net) => {
4819
+ }))))), isNetworkDialogOpen && /* @__PURE__ */ import_react81.default.createElement("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/40" }, /* @__PURE__ */ import_react81.default.createElement("div", { className: "absolute inset-0", onClick: () => setIsNetworkDialogOpen(false) }), /* @__PURE__ */ import_react81.default.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__ */ import_react81.default.createElement("button", { onClick: () => setIsNetworkDialogOpen(false), className: "absolute top-4 right-4 p-2 text-stone-700 hover:text-stone-400 transition-colors outline-none" }, /* @__PURE__ */ import_react81.default.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__ */ import_react81.default.createElement("path", { d: "M18 6 6 18" }), /* @__PURE__ */ import_react81.default.createElement("path", { d: "m6 6 12 12" }))), /* @__PURE__ */ import_react81.default.createElement("div", { className: "p-6 sm:p-8" }, /* @__PURE__ */ import_react81.default.createElement("div", { className: "mb-6 mt-2" }, /* @__PURE__ */ import_react81.default.createElement("h2", { className: "text-xl text-black tracking-tight mb-2" }, "Select Network"), /* @__PURE__ */ import_react81.default.createElement("p", { className: "text-sm text-stone-500 leading-relaxed" }, "Ensure your receiving wallet supports this network.")), /* @__PURE__ */ import_react81.default.createElement("div", { className: "flex flex-col gap-2 max-h-72 overflow-y-auto custom-scrollbar pr-1" }, selectedCrypto?.networks?.map((net) => {
4823
4820
  const isSelected = net.id === selectedNetwork.id;
4824
- return /* @__PURE__ */ import_react82.default.createElement(
4821
+ return /* @__PURE__ */ import_react81.default.createElement(
4825
4822
  "button",
4826
4823
  {
4827
4824
  key: net.id,
@@ -4831,20 +4828,20 @@ var UniversalBuyCryptoPage = ({
4831
4828
  },
4832
4829
  className: `flex items-center gap-4 p-3 rounded-full hover:bg-stone-50 transition-colors text-left outline-none border ${isSelected ? "border-black bg-stone-50/50" : "border-transparent"}`
4833
4830
  },
4834
- /* @__PURE__ */ import_react82.default.createElement(CircularLogo, { src: net.logoUrl || selectedCrypto.logoUrl, alt: net.name, fallbackText: net.symbol }),
4835
- /* @__PURE__ */ import_react82.default.createElement("div", { className: "flex flex-col flex-1 min-w-0" }, /* @__PURE__ */ import_react82.default.createElement("span", { className: "text-xs text-black truncate" }, net.name), /* @__PURE__ */ import_react82.default.createElement("span", { className: "text-xs text-stone-400" }, net.symbol)),
4836
- isSelected && /* @__PURE__ */ import_react82.default.createElement(import_react83.HugeiconsIcon, { icon: import_core_free_icons30.CheckmarkCircle02Icon, size: 16, className: "text-black" })
4831
+ /* @__PURE__ */ import_react81.default.createElement(CircularLogo, { src: net.logoUrl || selectedCrypto.logoUrl, alt: net.name, fallbackText: net.symbol }),
4832
+ /* @__PURE__ */ import_react81.default.createElement("div", { className: "flex flex-col flex-1 min-w-0" }, /* @__PURE__ */ import_react81.default.createElement("span", { className: "text-xs text-black truncate" }, net.name), /* @__PURE__ */ import_react81.default.createElement("span", { className: "text-xs text-stone-400" }, net.symbol)),
4833
+ isSelected && /* @__PURE__ */ import_react81.default.createElement(import_react82.HugeiconsIcon, { icon: import_core_free_icons29.CheckmarkCircle02Icon, size: 16, className: "text-black" })
4837
4834
  );
4838
4835
  }))))));
4839
4836
  };
4840
4837
 
4841
4838
  // src/components/UniversalHuddlesPage.tsx
4842
- var import_react84 = __toESM(require("react"));
4843
- var import_react85 = require("@hugeicons/react");
4844
- var import_core_free_icons31 = require("@hugeicons/core-free-icons");
4839
+ var import_react83 = __toESM(require("react"));
4840
+ var import_react84 = require("@hugeicons/react");
4841
+ var import_core_free_icons30 = require("@hugeicons/core-free-icons");
4845
4842
  var HuddleAvatar = ({ src, status, sizeClass = "w-10 h-10" }) => {
4846
- const [loaded, setLoaded] = (0, import_react84.useState)(false);
4847
- const [error, setError] = (0, import_react84.useState)(false);
4843
+ const [loaded, setLoaded] = (0, import_react83.useState)(false);
4844
+ const [error, setError] = (0, import_react83.useState)(false);
4848
4845
  const defaultAvatar = "https://storage.googleapis.com/retina-cloud-v2/assets/images/default_a.avif";
4849
4846
  const finalSrc = error || !src ? defaultAvatar : src;
4850
4847
  const getStatusColor = () => {
@@ -4861,7 +4858,7 @@ var HuddleAvatar = ({ src, status, sizeClass = "w-10 h-10" }) => {
4861
4858
  return "bg-stone-200";
4862
4859
  }
4863
4860
  };
4864
- return /* @__PURE__ */ import_react84.default.createElement("div", { className: `relative shrink-0 ${sizeClass}` }, /* @__PURE__ */ import_react84.default.createElement("div", { className: "w-full h-full rounded-lg bg-stone-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ import_react84.default.createElement(import_react85.HugeiconsIcon, { icon: import_core_free_icons31.Loading03Icon, className: "animate-spin text-stone-400 absolute", size: 14 }), /* @__PURE__ */ import_react84.default.createElement(
4861
+ return /* @__PURE__ */ import_react83.default.createElement("div", { className: `relative shrink-0 ${sizeClass}` }, /* @__PURE__ */ import_react83.default.createElement("div", { className: "w-full h-full rounded-lg bg-stone-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ import_react83.default.createElement(import_react84.HugeiconsIcon, { icon: import_core_free_icons30.Loading03Icon, className: "animate-spin text-stone-400 absolute", size: 14 }), /* @__PURE__ */ import_react83.default.createElement(
4865
4862
  "img",
4866
4863
  {
4867
4864
  src: finalSrc,
@@ -4870,9 +4867,9 @@ var HuddleAvatar = ({ src, status, sizeClass = "w-10 h-10" }) => {
4870
4867
  onLoad: () => setLoaded(true),
4871
4868
  onError: () => setError(true)
4872
4869
  }
4873
- )), /* @__PURE__ */ import_react84.default.createElement("div", { className: `absolute -bottom-1 -right-1 w-3.5 h-3.5 rounded-full border-2 border-white z-10 ${getStatusColor()}` }));
4870
+ )), /* @__PURE__ */ import_react83.default.createElement("div", { className: `absolute -bottom-1 -right-1 w-3.5 h-3.5 rounded-full border-2 border-white z-10 ${getStatusColor()}` }));
4874
4871
  };
4875
- var PageSpinner6 = () => /* @__PURE__ */ import_react84.default.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ import_react84.default.createElement(import_react85.HugeiconsIcon, { icon: import_core_free_icons31.Loading03Icon, size: 32, className: "animate-spin mb-4 text-black" }));
4872
+ var PageSpinner6 = () => /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ import_react83.default.createElement(import_react84.HugeiconsIcon, { icon: import_core_free_icons30.Loading03Icon, size: 32, className: "animate-spin mb-4 text-black" }));
4876
4873
  var UniversalHuddlesPage = ({
4877
4874
  headerTitle,
4878
4875
  headerDescription,
@@ -4884,50 +4881,50 @@ var UniversalHuddlesPage = ({
4884
4881
  onHuddleClick,
4885
4882
  onCreateHuddle
4886
4883
  }) => {
4887
- return /* @__PURE__ */ import_react84.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ import_react84.default.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ import_react84.default.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ import_react84.default.createElement("div", { className: "flex flex-row items-center justify-between gap-4" }, /* @__PURE__ */ import_react84.default.createElement("h2", { className: "text-black text-xl tracking-tight" }, headerTitle), /* @__PURE__ */ import_react84.default.createElement(
4884
+ return /* @__PURE__ */ import_react83.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex flex-row items-center justify-between gap-4" }, /* @__PURE__ */ import_react83.default.createElement("h2", { className: "text-black text-xl tracking-tight" }, headerTitle), /* @__PURE__ */ import_react83.default.createElement(
4888
4885
  "button",
4889
4886
  {
4890
4887
  onClick: () => onCreateHuddle?.(),
4891
4888
  className: "shrink-0 px-4 py-1.5 border border-stone-200 text-black text-xs tracking-wide rounded-full hover:bg-stone-50 transition-colors outline-none"
4892
4889
  },
4893
4890
  "Create new"
4894
- )), headerDescription && /* @__PURE__ */ import_react84.default.createElement("p", { className: "text-xs text-stone-500" }, headerDescription)), /* @__PURE__ */ import_react84.default.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ import_react84.default.createElement(PageSpinner6, null) : /* @__PURE__ */ import_react84.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react84.default.createElement("div", null, huddles.length === 0 ? /* @__PURE__ */ import_react84.default.createElement("p", { className: "text-xs text-stone-400 py-6 text-center" }, "No huddles available") : huddles.map((huddle) => /* @__PURE__ */ import_react84.default.createElement(
4891
+ )), headerDescription && /* @__PURE__ */ import_react83.default.createElement("p", { className: "text-xs text-stone-500" }, headerDescription)), /* @__PURE__ */ import_react83.default.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ import_react83.default.createElement(PageSpinner6, null) : /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react83.default.createElement("div", null, huddles.length === 0 ? /* @__PURE__ */ import_react83.default.createElement("p", { className: "text-xs text-stone-400 py-6 text-center" }, "No huddles available") : huddles.map((huddle) => /* @__PURE__ */ import_react83.default.createElement(
4895
4892
  "div",
4896
4893
  {
4897
4894
  key: huddle.id,
4898
4895
  onClick: () => onHuddleClick(huddle.id),
4899
4896
  className: "flex flex-row items-center gap-4 py-2 hover:bg-stone-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl"
4900
4897
  },
4901
- /* @__PURE__ */ import_react84.default.createElement(HuddleAvatar, { src: huddle.imageUrl, status: huddle.status }),
4902
- /* @__PURE__ */ import_react84.default.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ import_react84.default.createElement("p", { className: "text-sm text-black tracking-tight truncate" }, huddle.name), /* @__PURE__ */ import_react84.default.createElement("span", { className: "text-xs text-stone-500 truncate block mt-0.5" }, huddle.timeString)),
4903
- /* @__PURE__ */ import_react84.default.createElement(import_react85.HugeiconsIcon, { icon: import_core_free_icons31.ArrowRight01Icon, size: 14, className: "shrink-0 text-stone-400" })
4904
- ))), /* @__PURE__ */ import_react84.default.createElement("div", { className: "flex items-center justify-between pt-6 mt-2 " }, /* @__PURE__ */ import_react84.default.createElement("span", { className: "text-xs text-stone-400 tracking-[0.2em]" }, "Page ", currentPage, " of ", totalPages === 0 ? 1 : totalPages), /* @__PURE__ */ import_react84.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react84.default.createElement(
4898
+ /* @__PURE__ */ import_react83.default.createElement(HuddleAvatar, { src: huddle.imageUrl, status: huddle.status }),
4899
+ /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ import_react83.default.createElement("p", { className: "text-sm text-black tracking-tight truncate" }, huddle.name), /* @__PURE__ */ import_react83.default.createElement("span", { className: "text-xs text-stone-500 truncate block mt-0.5" }, huddle.timeString)),
4900
+ /* @__PURE__ */ import_react83.default.createElement(import_react84.HugeiconsIcon, { icon: import_core_free_icons30.ArrowRight01Icon, size: 14, className: "shrink-0 text-stone-400" })
4901
+ ))), /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex items-center justify-between pt-6 mt-2 " }, /* @__PURE__ */ import_react83.default.createElement("span", { className: "text-xs text-stone-400 tracking-[0.2em]" }, "Page ", currentPage, " of ", totalPages === 0 ? 1 : totalPages), /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react83.default.createElement(
4905
4902
  "button",
4906
4903
  {
4907
4904
  onClick: () => onPageChange(currentPage - 1),
4908
4905
  disabled: currentPage <= 1 || isLoading,
4909
4906
  className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none"
4910
4907
  },
4911
- /* @__PURE__ */ import_react84.default.createElement(import_react85.HugeiconsIcon, { icon: import_core_free_icons31.ArrowLeft01Icon, size: 14 })
4912
- ), /* @__PURE__ */ import_react84.default.createElement(
4908
+ /* @__PURE__ */ import_react83.default.createElement(import_react84.HugeiconsIcon, { icon: import_core_free_icons30.ArrowLeft01Icon, size: 14 })
4909
+ ), /* @__PURE__ */ import_react83.default.createElement(
4913
4910
  "button",
4914
4911
  {
4915
4912
  onClick: () => onPageChange(currentPage + 1),
4916
4913
  disabled: currentPage >= totalPages || isLoading || totalPages === 0,
4917
4914
  className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none"
4918
4915
  },
4919
- /* @__PURE__ */ import_react84.default.createElement(import_react85.HugeiconsIcon, { icon: import_core_free_icons31.ArrowRight01Icon, size: 14 })
4916
+ /* @__PURE__ */ import_react83.default.createElement(import_react84.HugeiconsIcon, { icon: import_core_free_icons30.ArrowRight01Icon, size: 14 })
4920
4917
  )))))));
4921
4918
  };
4922
4919
 
4923
4920
  // src/components/UniversalMembersPage.tsx
4924
- var import_react86 = __toESM(require("react"));
4925
- var import_react87 = require("@hugeicons/react");
4921
+ var import_react85 = __toESM(require("react"));
4922
+ var import_react86 = require("@hugeicons/react");
4926
4923
  var import_react_hot_toast13 = __toESM(require("react-hot-toast"));
4927
- var import_core_free_icons32 = require("@hugeicons/core-free-icons");
4924
+ var import_core_free_icons31 = require("@hugeicons/core-free-icons");
4928
4925
  var MemberAvatar2 = ({ src, status }) => {
4929
- const [loaded, setLoaded] = (0, import_react86.useState)(false);
4930
- const [error, setError] = (0, import_react86.useState)(false);
4926
+ const [loaded, setLoaded] = (0, import_react85.useState)(false);
4927
+ const [error, setError] = (0, import_react85.useState)(false);
4931
4928
  const defaultAvatar = "https://storage.googleapis.com/retina-cloud-v2/assets/images/avatar.avif";
4932
4929
  const finalSrc = error || !src ? defaultAvatar : src;
4933
4930
  const getStatusColor = () => {
@@ -4944,7 +4941,7 @@ var MemberAvatar2 = ({ src, status }) => {
4944
4941
  return "bg-stone-200";
4945
4942
  }
4946
4943
  };
4947
- return /* @__PURE__ */ import_react86.default.createElement("div", { className: "relative w-10 h-10 shrink-0" }, /* @__PURE__ */ import_react86.default.createElement("div", { className: "w-full h-full rounded-lg bg-stone-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ import_react86.default.createElement(import_react87.HugeiconsIcon, { icon: import_core_free_icons32.Loading03Icon, className: "animate-spin text-stone-400 absolute", size: 14 }), /* @__PURE__ */ import_react86.default.createElement(
4944
+ return /* @__PURE__ */ import_react85.default.createElement("div", { className: "relative w-10 h-10 shrink-0" }, /* @__PURE__ */ import_react85.default.createElement("div", { className: "w-full h-full rounded-lg bg-stone-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ import_react85.default.createElement(import_react86.HugeiconsIcon, { icon: import_core_free_icons31.Loading03Icon, className: "animate-spin text-stone-400 absolute", size: 14 }), /* @__PURE__ */ import_react85.default.createElement(
4948
4945
  "img",
4949
4946
  {
4950
4947
  src: finalSrc,
@@ -4953,9 +4950,9 @@ var MemberAvatar2 = ({ src, status }) => {
4953
4950
  onLoad: () => setLoaded(true),
4954
4951
  onError: () => setError(true)
4955
4952
  }
4956
- )), /* @__PURE__ */ import_react86.default.createElement("div", { className: `absolute -bottom-1 -right-1 w-2.5 h-2.5 rounded-full border-2 border-white z-10 ${getStatusColor()}` }));
4953
+ )), /* @__PURE__ */ import_react85.default.createElement("div", { className: `absolute -bottom-1 -right-1 w-2.5 h-2.5 rounded-full border-2 border-white z-10 ${getStatusColor()}` }));
4957
4954
  };
4958
- var PageSpinner7 = () => /* @__PURE__ */ import_react86.default.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ import_react86.default.createElement(import_react87.HugeiconsIcon, { icon: import_core_free_icons32.Loading03Icon, size: 32, className: "animate-spin mb-4 text-black" }));
4955
+ var PageSpinner7 = () => /* @__PURE__ */ import_react85.default.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ import_react85.default.createElement(import_react86.HugeiconsIcon, { icon: import_core_free_icons31.Loading03Icon, size: 32, className: "animate-spin mb-4 text-black" }));
4959
4956
  var UniversalMembersPage = ({
4960
4957
  headerTitle,
4961
4958
  headerDescription,
@@ -4975,20 +4972,20 @@ var UniversalMembersPage = ({
4975
4972
  onRemoveMember,
4976
4973
  onInviteMember
4977
4974
  }) => {
4978
- const [expandedId, setExpandedId] = (0, import_react86.useState)(null);
4979
- const [memberToRemove, setMemberToRemove] = (0, import_react86.useState)(null);
4980
- const [isRemoving, setIsRemoving] = (0, import_react86.useState)(false);
4981
- const [isInviteMode, setIsInviteMode] = (0, import_react86.useState)(false);
4982
- const [inviteEmail, setInviteEmail] = (0, import_react86.useState)("");
4983
- const [isInviting, setIsInviting] = (0, import_react86.useState)(false);
4984
- const [localSearchQuery, setLocalSearchQuery] = (0, import_react86.useState)(searchQuery);
4985
- const [isTyping, setIsTyping] = (0, import_react86.useState)(false);
4986
- const [isStatusModalOpen, setIsStatusModalOpen] = (0, import_react86.useState)(false);
4987
- const [isRoleModalOpen, setIsRoleModalOpen] = (0, import_react86.useState)(false);
4988
- const statusDropdownRef = (0, import_react86.useRef)(null);
4989
- const roleDropdownRef = (0, import_react86.useRef)(null);
4975
+ const [expandedId, setExpandedId] = (0, import_react85.useState)(null);
4976
+ const [memberToRemove, setMemberToRemove] = (0, import_react85.useState)(null);
4977
+ const [isRemoving, setIsRemoving] = (0, import_react85.useState)(false);
4978
+ const [isInviteMode, setIsInviteMode] = (0, import_react85.useState)(false);
4979
+ const [inviteEmail, setInviteEmail] = (0, import_react85.useState)("");
4980
+ const [isInviting, setIsInviting] = (0, import_react85.useState)(false);
4981
+ const [localSearchQuery, setLocalSearchQuery] = (0, import_react85.useState)(searchQuery);
4982
+ const [isTyping, setIsTyping] = (0, import_react85.useState)(false);
4983
+ const [isStatusModalOpen, setIsStatusModalOpen] = (0, import_react85.useState)(false);
4984
+ const [isRoleModalOpen, setIsRoleModalOpen] = (0, import_react85.useState)(false);
4985
+ const statusDropdownRef = (0, import_react85.useRef)(null);
4986
+ const roleDropdownRef = (0, import_react85.useRef)(null);
4990
4987
  const cleanEmailId = (val) => val.toLowerCase().replace(/[^a-z0-9@._-]/g, "");
4991
- (0, import_react86.useEffect)(() => {
4988
+ (0, import_react85.useEffect)(() => {
4992
4989
  function handleClickOutside(event) {
4993
4990
  if (statusDropdownRef.current && !statusDropdownRef.current.contains(event.target)) {
4994
4991
  setIsStatusModalOpen(false);
@@ -5000,7 +4997,7 @@ var UniversalMembersPage = ({
5000
4997
  document.addEventListener("mousedown", handleClickOutside);
5001
4998
  return () => document.removeEventListener("mousedown", handleClickOutside);
5002
4999
  }, []);
5003
- (0, import_react86.useEffect)(() => {
5000
+ (0, import_react85.useEffect)(() => {
5004
5001
  setIsTyping(true);
5005
5002
  const handler = setTimeout(() => {
5006
5003
  onSearchChange(localSearchQuery);
@@ -5008,7 +5005,7 @@ var UniversalMembersPage = ({
5008
5005
  }, 600);
5009
5006
  return () => clearTimeout(handler);
5010
5007
  }, [localSearchQuery, onSearchChange]);
5011
- (0, import_react86.useEffect)(() => {
5008
+ (0, import_react85.useEffect)(() => {
5012
5009
  if (searchQuery === "" && localSearchQuery !== "") {
5013
5010
  setLocalSearchQuery("");
5014
5011
  }
@@ -5042,7 +5039,7 @@ var UniversalMembersPage = ({
5042
5039
  }
5043
5040
  };
5044
5041
  const isListLoading = isLoading || isTyping;
5045
- return /* @__PURE__ */ import_react86.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react86.default.createElement(ManagedToaster, null), /* @__PURE__ */ import_react86.default.createElement(
5042
+ return /* @__PURE__ */ import_react85.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react85.default.createElement(ManagedToaster, null), /* @__PURE__ */ import_react85.default.createElement(
5046
5043
  ConfirmationDialog,
5047
5044
  {
5048
5045
  isOpen: !!memberToRemove,
@@ -5055,7 +5052,7 @@ var UniversalMembersPage = ({
5055
5052
  onClose: () => setMemberToRemove(null),
5056
5053
  onConfirm: handleConfirmRemove
5057
5054
  }
5058
- ), !isInviteMode && /* @__PURE__ */ import_react86.default.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__ */ import_react86.default.createElement("div", { className: "relative flex-1 min-w-0 max-w-full" }, /* @__PURE__ */ import_react86.default.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ import_react86.default.createElement(import_react87.HugeiconsIcon, { icon: import_core_free_icons32.Search01Icon, size: 16, className: "text-stone-400" })), /* @__PURE__ */ import_react86.default.createElement(
5055
+ ), !isInviteMode && /* @__PURE__ */ import_react85.default.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__ */ import_react85.default.createElement("div", { className: "relative flex-1 min-w-0 max-w-full" }, /* @__PURE__ */ import_react85.default.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ import_react85.default.createElement(import_react86.HugeiconsIcon, { icon: import_core_free_icons31.Search01Icon, size: 16, className: "text-stone-400" })), /* @__PURE__ */ import_react85.default.createElement(
5059
5056
  "input",
5060
5057
  {
5061
5058
  type: "text",
@@ -5064,28 +5061,28 @@ var UniversalMembersPage = ({
5064
5061
  onChange: (e) => setLocalSearchQuery(e.target.value),
5065
5062
  className: "w-full pl-10 pr-4 py-2 bg-white rounded-full text-sm text-black placeholder-stone-400 outline-none transition-colors focus:border-black"
5066
5063
  }
5067
- )), /* @__PURE__ */ import_react86.default.createElement("div", { className: "flex items-center gap-3 w-auto pb-0 shrink-0" }, /* @__PURE__ */ import_react86.default.createElement(
5064
+ )), /* @__PURE__ */ import_react85.default.createElement("div", { className: "flex items-center gap-3 w-auto pb-0 shrink-0" }, /* @__PURE__ */ import_react85.default.createElement(
5068
5065
  "button",
5069
5066
  {
5070
5067
  onClick: () => setIsStatusModalOpen(true),
5071
5068
  className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-stone-500 hover:text-black transition-colors outline-none"
5072
5069
  },
5073
- /* @__PURE__ */ import_react86.default.createElement(import_react87.HugeiconsIcon, { icon: import_core_free_icons32.SearchList02Icon, size: 16 })
5074
- ), /* @__PURE__ */ import_react86.default.createElement(
5070
+ /* @__PURE__ */ import_react85.default.createElement(import_react86.HugeiconsIcon, { icon: import_core_free_icons31.SearchList02Icon, size: 16 })
5071
+ ), /* @__PURE__ */ import_react85.default.createElement(
5075
5072
  "button",
5076
5073
  {
5077
5074
  onClick: () => setIsRoleModalOpen(true),
5078
5075
  className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-stone-500 hover:text-black transition-colors outline-none"
5079
5076
  },
5080
- /* @__PURE__ */ import_react86.default.createElement(import_react87.HugeiconsIcon, { icon: import_core_free_icons32.ListSettingIcon, size: 16 })
5081
- ))), /* @__PURE__ */ import_react86.default.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ import_react86.default.createElement("div", { className: "flex flex-row items-start justify-between gap-4" }, /* @__PURE__ */ import_react86.default.createElement("div", null, /* @__PURE__ */ import_react86.default.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, isInviteMode ? "Add Member" : headerTitle), headerDescription && !isInviteMode && /* @__PURE__ */ import_react86.default.createElement("p", { className: "text-xs text-stone-500" }, headerDescription)), !isInviteMode && /* @__PURE__ */ import_react86.default.createElement(
5077
+ /* @__PURE__ */ import_react85.default.createElement(import_react86.HugeiconsIcon, { icon: import_core_free_icons31.ListSettingIcon, size: 16 })
5078
+ ))), /* @__PURE__ */ import_react85.default.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ import_react85.default.createElement("div", { className: "flex flex-row items-start justify-between gap-4" }, /* @__PURE__ */ import_react85.default.createElement("div", null, /* @__PURE__ */ import_react85.default.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, isInviteMode ? "Add Member" : headerTitle), headerDescription && !isInviteMode && /* @__PURE__ */ import_react85.default.createElement("p", { className: "text-xs text-stone-500" }, headerDescription)), !isInviteMode && /* @__PURE__ */ import_react85.default.createElement(
5082
5079
  "button",
5083
5080
  {
5084
5081
  onClick: () => setIsInviteMode(true),
5085
5082
  className: "shrink-0 px-4 py-2 border border-stone-200 text-black text-xs tracking-wide rounded-full hover:bg-stone-50 transition-colors outline-none"
5086
5083
  },
5087
5084
  "Invite Team"
5088
- )), /* @__PURE__ */ import_react86.default.createElement("div", { className: "w-full overflow-hidden" }, isInviteMode ? /* @__PURE__ */ import_react86.default.createElement("form", { onSubmit: handleInviteSubmit, className: "flex flex-col gap-8 animate-in fade-in duration-300" }, /* @__PURE__ */ import_react86.default.createElement("div", { className: "space-y-1.5 mt-2" }, /* @__PURE__ */ import_react86.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Email Address"), /* @__PURE__ */ import_react86.default.createElement(
5085
+ )), /* @__PURE__ */ import_react85.default.createElement("div", { className: "w-full overflow-hidden" }, isInviteMode ? /* @__PURE__ */ import_react85.default.createElement("form", { onSubmit: handleInviteSubmit, className: "flex flex-col gap-8 animate-in fade-in duration-300" }, /* @__PURE__ */ import_react85.default.createElement("div", { className: "space-y-1.5 mt-2" }, /* @__PURE__ */ import_react85.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Email Address"), /* @__PURE__ */ import_react85.default.createElement(
5089
5086
  "input",
5090
5087
  {
5091
5088
  type: "email",
@@ -5096,7 +5093,7 @@ var UniversalMembersPage = ({
5096
5093
  className: "w-full px-2 py-3 bg-transparent text-sm border-b border-stone-200 text-black outline-none focus:border-black transition-all duration-300",
5097
5094
  placeholder: "name@company.com"
5098
5095
  }
5099
- )), /* @__PURE__ */ import_react86.default.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ import_react86.default.createElement(
5096
+ )), /* @__PURE__ */ import_react85.default.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ import_react85.default.createElement(
5100
5097
  ThreeDActionButton,
5101
5098
  {
5102
5099
  type: "submit",
@@ -5105,7 +5102,7 @@ var UniversalMembersPage = ({
5105
5102
  className: "w-full"
5106
5103
  },
5107
5104
  "Send Invitation"
5108
- ), /* @__PURE__ */ import_react86.default.createElement(
5105
+ ), /* @__PURE__ */ import_react85.default.createElement(
5109
5106
  "button",
5110
5107
  {
5111
5108
  type: "button",
@@ -5117,44 +5114,44 @@ var UniversalMembersPage = ({
5117
5114
  className: "w-full flex items-center justify-center py-2.5 rounded-full border border-stone-200 text-black hover:bg-stone-50 transition-colors outline-none text-xs tracking-wide"
5118
5115
  },
5119
5116
  "Cancel"
5120
- ))) : isListLoading ? /* @__PURE__ */ import_react86.default.createElement(PageSpinner7, null) : /* @__PURE__ */ import_react86.default.createElement("div", { className: "flex flex-col min-w-0 animate-in fade-in duration-300" }, /* @__PURE__ */ import_react86.default.createElement("div", null, members.length === 0 ? /* @__PURE__ */ import_react86.default.createElement("p", { className: "text-xs text-stone-400 py-6 text-center" }, "No members found") : members.map((member) => /* @__PURE__ */ import_react86.default.createElement(import_react86.default.Fragment, { key: member.id }, expandedId === member.id ? /* @__PURE__ */ import_react86.default.createElement("div", { className: "flex flex-col p-5 bg-stone-50 rounded-xl animate-in fade-in zoom-in-95 duration-200 gap-5 my-2" }, /* @__PURE__ */ import_react86.default.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ import_react86.default.createElement(MemberAvatar2, { src: member.avatarUrl, status: member.status }), /* @__PURE__ */ import_react86.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react86.default.createElement("span", { className: "text-sm text-black tracking-tight truncate" }, member.name), /* @__PURE__ */ import_react86.default.createElement("span", { className: "text-xs text-stone-500 capitalize" }, member.role.toLowerCase()))), member.departmentName && /* @__PURE__ */ import_react86.default.createElement("div", { className: "pt-3 border-t border-stone-200" }, /* @__PURE__ */ import_react86.default.createElement("span", { className: "text-xs tracking-[0.2em] text-stone-400 block mb-1" }, "Department"), /* @__PURE__ */ import_react86.default.createElement("span", { className: "text-sm text-black truncate block" }, member.departmentName)), /* @__PURE__ */ import_react86.default.createElement("div", { className: "flex gap-3 pt-2" }, !hideAction && /* @__PURE__ */ import_react86.default.createElement(
5117
+ ))) : isListLoading ? /* @__PURE__ */ import_react85.default.createElement(PageSpinner7, null) : /* @__PURE__ */ import_react85.default.createElement("div", { className: "flex flex-col min-w-0 animate-in fade-in duration-300" }, /* @__PURE__ */ import_react85.default.createElement("div", null, members.length === 0 ? /* @__PURE__ */ import_react85.default.createElement("p", { className: "text-xs text-stone-400 py-6 text-center" }, "No members found") : members.map((member) => /* @__PURE__ */ import_react85.default.createElement(import_react85.default.Fragment, { key: member.id }, expandedId === member.id ? /* @__PURE__ */ import_react85.default.createElement("div", { className: "flex flex-col p-5 bg-stone-50 rounded-xl animate-in fade-in zoom-in-95 duration-200 gap-5 my-2" }, /* @__PURE__ */ import_react85.default.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ import_react85.default.createElement(MemberAvatar2, { src: member.avatarUrl, status: member.status }), /* @__PURE__ */ import_react85.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react85.default.createElement("span", { className: "text-sm text-black tracking-tight truncate" }, member.name), /* @__PURE__ */ import_react85.default.createElement("span", { className: "text-xs text-stone-500 capitalize" }, member.role.toLowerCase()))), member.departmentName && /* @__PURE__ */ import_react85.default.createElement("div", { className: "pt-3 border-t border-stone-200" }, /* @__PURE__ */ import_react85.default.createElement("span", { className: "text-xs tracking-[0.2em] text-stone-400 block mb-1" }, "Department"), /* @__PURE__ */ import_react85.default.createElement("span", { className: "text-sm text-black truncate block" }, member.departmentName)), /* @__PURE__ */ import_react85.default.createElement("div", { className: "flex gap-3 pt-2" }, !hideAction && /* @__PURE__ */ import_react85.default.createElement(
5121
5118
  "button",
5122
5119
  {
5123
5120
  onClick: () => setMemberToRemove(member),
5124
5121
  className: "flex-1 py-2.5 bg-white border border-rose-200 text-rose-600 hover:bg-rose-50 rounded-full text-xs tracking-wide transition-colors outline-none"
5125
5122
  },
5126
5123
  actionButtonText
5127
- ), /* @__PURE__ */ import_react86.default.createElement(
5124
+ ), /* @__PURE__ */ import_react85.default.createElement(
5128
5125
  "button",
5129
5126
  {
5130
5127
  onClick: () => setExpandedId(null),
5131
5128
  className: "flex-1 py-2.5 bg-white border border-stone-200 text-black hover:bg-stone-100 rounded-full text-xs tracking-wide transition-colors outline-none"
5132
5129
  },
5133
5130
  "Close"
5134
- ))) : /* @__PURE__ */ import_react86.default.createElement(
5131
+ ))) : /* @__PURE__ */ import_react85.default.createElement(
5135
5132
  "div",
5136
5133
  {
5137
5134
  onClick: () => setExpandedId(member.id),
5138
5135
  className: "flex items-center justify-between py-3 hover:bg-stone-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl"
5139
5136
  },
5140
- /* @__PURE__ */ import_react86.default.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ import_react86.default.createElement(MemberAvatar2, { src: member.avatarUrl, status: member.status }), /* @__PURE__ */ import_react86.default.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-0.5" }, /* @__PURE__ */ import_react86.default.createElement("p", { className: "text-sm text-black truncate" }, member.name), /* @__PURE__ */ import_react86.default.createElement("p", { className: "text-xs text-stone-500 capitalize truncate" }, member.role.toLowerCase())))
5141
- )))), /* @__PURE__ */ import_react86.default.createElement("div", { className: "flex items-center justify-between pt-6 mt-2" }, /* @__PURE__ */ import_react86.default.createElement("span", { className: "text-xs text-stone-400 tracking-[0.2em]" }, "Page ", currentPage, " of ", totalPages === 0 ? 1 : totalPages), /* @__PURE__ */ import_react86.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react86.default.createElement(
5137
+ /* @__PURE__ */ import_react85.default.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ import_react85.default.createElement(MemberAvatar2, { src: member.avatarUrl, status: member.status }), /* @__PURE__ */ import_react85.default.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-0.5" }, /* @__PURE__ */ import_react85.default.createElement("p", { className: "text-sm text-black truncate" }, member.name), /* @__PURE__ */ import_react85.default.createElement("p", { className: "text-xs text-stone-500 capitalize truncate" }, member.role.toLowerCase())))
5138
+ )))), /* @__PURE__ */ import_react85.default.createElement("div", { className: "flex items-center justify-between pt-6 mt-2" }, /* @__PURE__ */ import_react85.default.createElement("span", { className: "text-xs text-stone-400 tracking-[0.2em]" }, "Page ", currentPage, " of ", totalPages === 0 ? 1 : totalPages), /* @__PURE__ */ import_react85.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react85.default.createElement(
5142
5139
  "button",
5143
5140
  {
5144
5141
  onClick: () => onPageChange(currentPage - 1),
5145
5142
  disabled: currentPage <= 1 || isListLoading,
5146
5143
  className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none"
5147
5144
  },
5148
- /* @__PURE__ */ import_react86.default.createElement(import_react87.HugeiconsIcon, { icon: import_core_free_icons32.ArrowLeft01Icon, size: 14 })
5149
- ), /* @__PURE__ */ import_react86.default.createElement(
5145
+ /* @__PURE__ */ import_react85.default.createElement(import_react86.HugeiconsIcon, { icon: import_core_free_icons31.ArrowLeft01Icon, size: 14 })
5146
+ ), /* @__PURE__ */ import_react85.default.createElement(
5150
5147
  "button",
5151
5148
  {
5152
5149
  onClick: () => onPageChange(currentPage + 1),
5153
5150
  disabled: currentPage >= totalPages || isListLoading || totalPages === 0,
5154
5151
  className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none"
5155
5152
  },
5156
- /* @__PURE__ */ import_react86.default.createElement(import_react87.HugeiconsIcon, { icon: import_core_free_icons32.ArrowRight01Icon, size: 14 })
5157
- )))))), isStatusModalOpen && /* @__PURE__ */ import_react86.default.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ import_react86.default.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: () => setIsStatusModalOpen(false) }), /* @__PURE__ */ import_react86.default.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__ */ import_react86.default.createElement("div", { className: "p-6 text-center w-full mb-2" }, /* @__PURE__ */ import_react86.default.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Status Filter")), /* @__PURE__ */ import_react86.default.createElement("div", { className: "w-full flex flex-col pl-2 pr-2 gap-1" }, ["ALL", "ACTIVE", "BUSY", "OFFLINE", "AWAY"].map((option) => /* @__PURE__ */ import_react86.default.createElement(
5153
+ /* @__PURE__ */ import_react85.default.createElement(import_react86.HugeiconsIcon, { icon: import_core_free_icons31.ArrowRight01Icon, size: 14 })
5154
+ )))))), isStatusModalOpen && /* @__PURE__ */ import_react85.default.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ import_react85.default.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: () => setIsStatusModalOpen(false) }), /* @__PURE__ */ import_react85.default.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__ */ import_react85.default.createElement("div", { className: "p-6 text-center w-full mb-2" }, /* @__PURE__ */ import_react85.default.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Status Filter")), /* @__PURE__ */ import_react85.default.createElement("div", { className: "w-full flex flex-col pl-2 pr-2 gap-1" }, ["ALL", "ACTIVE", "BUSY", "OFFLINE", "AWAY"].map((option) => /* @__PURE__ */ import_react85.default.createElement(
5158
5155
  "button",
5159
5156
  {
5160
5157
  key: option,
@@ -5164,8 +5161,8 @@ var UniversalMembersPage = ({
5164
5161
  },
5165
5162
  className: `text-left px-4 py-3 text-xs tracking-wide transition-colors rounded-full flex items-center justify-between outline-none ${activeStatusFilter === option ? "bg-stone-100 text-black" : "text-stone-500 hover:bg-stone-50 hover:text-black"}`
5166
5163
  },
5167
- /* @__PURE__ */ import_react86.default.createElement("span", { className: "truncate pr-2 capitalize" }, option.toLowerCase())
5168
- ))), /* @__PURE__ */ import_react86.default.createElement("div", { className: "w-full flex mt-2" }, /* @__PURE__ */ import_react86.default.createElement("button", { onClick: () => setIsStatusModalOpen(false), className: "w-full py-4 text-sm text-stone-500 hover:text-black transition-colors outline-none" }, "Cancel")))), isRoleModalOpen && /* @__PURE__ */ import_react86.default.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ import_react86.default.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: () => setIsRoleModalOpen(false) }), /* @__PURE__ */ import_react86.default.createElement("div", { ref: roleDropdownRef, className: "relative w-72 bg-white shadow-2xl rounded-2xl flex flex-col items-center overflow-hidden animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ import_react86.default.createElement("div", { className: "p-6 text-center w-full mb-2" }, /* @__PURE__ */ import_react86.default.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Role Filter")), /* @__PURE__ */ import_react86.default.createElement("div", { className: "w-full flex flex-col pl-2 pr-2 gap-1" }, ["ALL", "ADMIN", "MANAGER", "MEMBER", "GUEST"].map((option) => /* @__PURE__ */ import_react86.default.createElement(
5164
+ /* @__PURE__ */ import_react85.default.createElement("span", { className: "truncate pr-2 capitalize" }, option.toLowerCase())
5165
+ ))), /* @__PURE__ */ import_react85.default.createElement("div", { className: "w-full flex mt-2" }, /* @__PURE__ */ import_react85.default.createElement("button", { onClick: () => setIsStatusModalOpen(false), className: "w-full py-4 text-sm text-stone-500 hover:text-black transition-colors outline-none" }, "Cancel")))), isRoleModalOpen && /* @__PURE__ */ import_react85.default.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ import_react85.default.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: () => setIsRoleModalOpen(false) }), /* @__PURE__ */ import_react85.default.createElement("div", { ref: roleDropdownRef, className: "relative w-72 bg-white shadow-2xl rounded-2xl flex flex-col items-center overflow-hidden animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ import_react85.default.createElement("div", { className: "p-6 text-center w-full mb-2" }, /* @__PURE__ */ import_react85.default.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Role Filter")), /* @__PURE__ */ import_react85.default.createElement("div", { className: "w-full flex flex-col pl-2 pr-2 gap-1" }, ["ALL", "ADMIN", "MANAGER", "MEMBER", "GUEST"].map((option) => /* @__PURE__ */ import_react85.default.createElement(
5169
5166
  "button",
5170
5167
  {
5171
5168
  key: option,
@@ -5175,22 +5172,22 @@ var UniversalMembersPage = ({
5175
5172
  },
5176
5173
  className: `text-left px-4 py-3 text-xs tracking-wide transition-colors rounded-full flex items-center justify-between outline-none ${activeRoleFilter === option ? "bg-stone-100 text-black" : "text-stone-500 hover:bg-stone-50 hover:text-black"}`
5177
5174
  },
5178
- /* @__PURE__ */ import_react86.default.createElement("span", { className: "truncate pr-2 capitalize" }, option.toLowerCase())
5179
- ))), /* @__PURE__ */ import_react86.default.createElement("div", { className: "w-full flex mt-2" }, /* @__PURE__ */ import_react86.default.createElement("button", { onClick: () => setIsRoleModalOpen(false), className: "w-full py-4 text-sm text-stone-500 hover:text-black transition-colors outline-none" }, "Cancel")))));
5175
+ /* @__PURE__ */ import_react85.default.createElement("span", { className: "truncate pr-2 capitalize" }, option.toLowerCase())
5176
+ ))), /* @__PURE__ */ import_react85.default.createElement("div", { className: "w-full flex mt-2" }, /* @__PURE__ */ import_react85.default.createElement("button", { onClick: () => setIsRoleModalOpen(false), className: "w-full py-4 text-sm text-stone-500 hover:text-black transition-colors outline-none" }, "Cancel")))));
5180
5177
  };
5181
5178
 
5182
5179
  // src/components/UniversalHome2.tsx
5183
- var import_react88 = __toESM(require("react"));
5180
+ var import_react87 = __toESM(require("react"));
5184
5181
  var import_navigation6 = require("next/navigation");
5185
- var import_react89 = require("@hugeicons/react");
5182
+ var import_react88 = require("@hugeicons/react");
5186
5183
  var import_react_hot_toast14 = __toESM(require("react-hot-toast"));
5187
- var import_core_free_icons33 = require("@hugeicons/core-free-icons");
5184
+ var import_core_free_icons32 = require("@hugeicons/core-free-icons");
5188
5185
  var OrgAvatar = ({ src, sizeClass = "w-10 h-10" }) => {
5189
- const [loaded, setLoaded] = (0, import_react88.useState)(false);
5190
- const [error, setError] = (0, import_react88.useState)(false);
5186
+ const [loaded, setLoaded] = (0, import_react87.useState)(false);
5187
+ const [error, setError] = (0, import_react87.useState)(false);
5191
5188
  const defaultAvatar = "https://storage.googleapis.com/retina-cloud-v2/assets/images/office_a.avif";
5192
5189
  const finalSrc = error || !src ? defaultAvatar : src;
5193
- return /* @__PURE__ */ import_react88.default.createElement("div", { className: `relative shrink-0 ${sizeClass}` }, /* @__PURE__ */ import_react88.default.createElement("div", { className: "w-full h-full rounded-lg bg-stone-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ import_react88.default.createElement(import_react89.HugeiconsIcon, { icon: import_core_free_icons33.Loading03Icon, className: "animate-spin text-stone-400 absolute", size: 14 }), /* @__PURE__ */ import_react88.default.createElement(
5190
+ return /* @__PURE__ */ import_react87.default.createElement("div", { className: `relative shrink-0 ${sizeClass}` }, /* @__PURE__ */ import_react87.default.createElement("div", { className: "w-full h-full rounded-lg bg-stone-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ import_react87.default.createElement(import_react88.HugeiconsIcon, { icon: import_core_free_icons32.Loading03Icon, className: "animate-spin text-stone-400 absolute", size: 14 }), /* @__PURE__ */ import_react87.default.createElement(
5194
5191
  "img",
5195
5192
  {
5196
5193
  src: finalSrc,
@@ -5220,13 +5217,13 @@ var UniversalHome2 = ({
5220
5217
  huddlesProps,
5221
5218
  onLogout
5222
5219
  }) => {
5223
- const [isAvatarLoaded, setIsAvatarLoaded] = (0, import_react88.useState)(false);
5224
- const [showNotifDialog, setShowNotifDialog] = (0, import_react88.useState)(false);
5225
- const [showOrgSwitcher, setShowOrgSwitcher] = (0, import_react88.useState)(false);
5226
- const [selectedNotif, setSelectedNotif] = (0, import_react88.useState)(null);
5227
- const [isResolving, setIsResolving] = (0, import_react88.useState)(false);
5228
- const [showLogoutConfirm, setShowLogoutConfirm] = (0, import_react88.useState)(false);
5229
- const [isLoggingOut, setIsLoggingOut] = (0, import_react88.useState)(false);
5220
+ const [isAvatarLoaded, setIsAvatarLoaded] = (0, import_react87.useState)(false);
5221
+ const [showNotifDialog, setShowNotifDialog] = (0, import_react87.useState)(false);
5222
+ const [showOrgSwitcher, setShowOrgSwitcher] = (0, import_react87.useState)(false);
5223
+ const [selectedNotif, setSelectedNotif] = (0, import_react87.useState)(null);
5224
+ const [isResolving, setIsResolving] = (0, import_react87.useState)(false);
5225
+ const [showLogoutConfirm, setShowLogoutConfirm] = (0, import_react87.useState)(false);
5226
+ const [isLoggingOut, setIsLoggingOut] = (0, import_react87.useState)(false);
5230
5227
  const router = (0, import_navigation6.useRouter)();
5231
5228
  const fallbackAvatarUrl = "https://storage.googleapis.com/retina-cloud-v2/assets/images/avatar.avif";
5232
5229
  const finalAvatarSrc = avatarSrc || fallbackAvatarUrl;
@@ -5253,7 +5250,7 @@ var UniversalHome2 = ({
5253
5250
  setShowLogoutConfirm(false);
5254
5251
  }
5255
5252
  };
5256
- return /* @__PURE__ */ import_react88.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ import_react88.default.createElement(
5253
+ return /* @__PURE__ */ import_react87.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ import_react87.default.createElement(
5257
5254
  ConfirmationDialog,
5258
5255
  {
5259
5256
  isOpen: showLogoutConfirm,
@@ -5266,7 +5263,7 @@ var UniversalHome2 = ({
5266
5263
  onClose: () => setShowLogoutConfirm(false),
5267
5264
  onConfirm: confirmLogout
5268
5265
  }
5269
- ), /* @__PURE__ */ import_react88.default.createElement("div", { className: "flex items-center justify-between w-full pb-4" }, /* @__PURE__ */ import_react88.default.createElement("div", { className: "w-10 h-10 shrink-0 cursor-pointer", onClick: () => setShowOrgSwitcher(true) }, /* @__PURE__ */ import_react88.default.createElement("div", { className: "relative w-full h-full rounded-lg overflow-hidden bg-white flex items-center justify-center" }, !isAvatarLoaded && /* @__PURE__ */ import_react88.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-10 bg-white" }, /* @__PURE__ */ import_react88.default.createElement(import_react89.HugeiconsIcon, { icon: import_core_free_icons33.Loading03Icon, size: 16, className: "animate-spin text-black" })), /* @__PURE__ */ import_react88.default.createElement(
5266
+ ), /* @__PURE__ */ import_react87.default.createElement("div", { className: "flex items-center justify-between w-full pb-4" }, /* @__PURE__ */ import_react87.default.createElement("div", { className: "w-10 h-10 shrink-0 cursor-pointer", onClick: () => setShowOrgSwitcher(true) }, /* @__PURE__ */ import_react87.default.createElement("div", { className: "relative w-full h-full rounded-lg overflow-hidden bg-white flex items-center justify-center" }, !isAvatarLoaded && /* @__PURE__ */ import_react87.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-10 bg-white" }, /* @__PURE__ */ import_react87.default.createElement(import_react88.HugeiconsIcon, { icon: import_core_free_icons32.Loading03Icon, size: 16, className: "animate-spin text-black" })), /* @__PURE__ */ import_react87.default.createElement(
5270
5267
  "img",
5271
5268
  {
5272
5269
  src: finalAvatarSrc,
@@ -5274,14 +5271,14 @@ var UniversalHome2 = ({
5274
5271
  onLoad: () => setIsAvatarLoaded(true),
5275
5272
  className: `w-full h-full object-cover transition-opacity duration-300 ${isAvatarLoaded ? "opacity-100" : "opacity-0"}`
5276
5273
  }
5277
- ))), /* @__PURE__ */ import_react88.default.createElement("div", { className: "flex items-center gap-2 shrink-0" }, /* @__PURE__ */ import_react88.default.createElement(
5274
+ ))), /* @__PURE__ */ import_react87.default.createElement("div", { className: "flex items-center gap-2 shrink-0" }, /* @__PURE__ */ import_react87.default.createElement(
5278
5275
  "button",
5279
5276
  {
5280
5277
  onClick: () => router.push("/app/settings"),
5281
5278
  className: "relative w-10 h-10 flex items-center justify-center rounded-full bg-white outline-none hover:bg-stone-50 transition-colors"
5282
5279
  },
5283
- /* @__PURE__ */ import_react88.default.createElement(import_react89.HugeiconsIcon, { icon: import_core_free_icons33.Settings03Icon, size: 20, className: "text-black" })
5284
- ), /* @__PURE__ */ import_react88.default.createElement(
5280
+ /* @__PURE__ */ import_react87.default.createElement(import_react88.HugeiconsIcon, { icon: import_core_free_icons32.Settings03Icon, size: 20, className: "text-black" })
5281
+ ), /* @__PURE__ */ import_react87.default.createElement(
5285
5282
  "button",
5286
5283
  {
5287
5284
  onClick: () => {
@@ -5290,16 +5287,16 @@ var UniversalHome2 = ({
5290
5287
  },
5291
5288
  className: "relative w-10 h-10 flex items-center justify-center rounded-full bg-white outline-none hover:bg-stone-50 transition-colors"
5292
5289
  },
5293
- /* @__PURE__ */ import_react88.default.createElement(import_react89.HugeiconsIcon, { icon: import_core_free_icons33.Notification01Icon, size: 20, className: "text-black" }),
5294
- hasUnreadNotifs && /* @__PURE__ */ import_react88.default.createElement("span", { className: "absolute top-2.5 right-2.5 w-2 h-2 bg-red-500 rounded-full border border-white" })
5295
- ))), /* @__PURE__ */ import_react88.default.createElement("div", { className: "w-full pb-6 flex flex-col gap-4" }, /* @__PURE__ */ import_react88.default.createElement("div", { className: "grid grid-cols-2 gap-2" }, /* @__PURE__ */ import_react88.default.createElement(
5290
+ /* @__PURE__ */ import_react87.default.createElement(import_react88.HugeiconsIcon, { icon: import_core_free_icons32.Notification01Icon, size: 20, className: "text-black" }),
5291
+ hasUnreadNotifs && /* @__PURE__ */ import_react87.default.createElement("span", { className: "absolute top-2.5 right-2.5 w-2 h-2 bg-red-500 rounded-full border border-white" })
5292
+ ))), /* @__PURE__ */ import_react87.default.createElement("div", { className: "w-full pb-6 flex flex-col gap-4" }, /* @__PURE__ */ import_react87.default.createElement("div", { className: "grid grid-cols-2 gap-2" }, /* @__PURE__ */ import_react87.default.createElement(
5296
5293
  "div",
5297
5294
  {
5298
5295
  onClick: createHuddleAction?.onClick,
5299
5296
  className: "bg-[#d97757] rounded-2xl p-5 relative overflow-hidden flex flex-col h-32 sm:h-36 cursor-pointer hover:opacity-90 transition-opacity"
5300
5297
  },
5301
- /* @__PURE__ */ import_react88.default.createElement("div", { className: "relative z-10 flex flex-col h-full justify-between" }, /* @__PURE__ */ import_react88.default.createElement("p", { className: "text-sm sm:text-sm text-white leading-tight" }, "Create", /* @__PURE__ */ import_react88.default.createElement("br", null), /* @__PURE__ */ import_react88.default.createElement("span", { className: "text-white/70" }, "Huddle")), /* @__PURE__ */ import_react88.default.createElement("div", { className: "w-8 h-8 rounded-full bg-white/10 flex items-center justify-center" }, /* @__PURE__ */ import_react88.default.createElement(import_react89.HugeiconsIcon, { icon: import_core_free_icons33.ArrowUpRight01Icon, size: 16, className: "text-white" }))),
5302
- /* @__PURE__ */ import_react88.default.createElement(
5298
+ /* @__PURE__ */ import_react87.default.createElement("div", { className: "relative z-10 flex flex-col h-full justify-between" }, /* @__PURE__ */ import_react87.default.createElement("p", { className: "text-sm sm:text-sm text-white leading-tight" }, "Create", /* @__PURE__ */ import_react87.default.createElement("br", null), /* @__PURE__ */ import_react87.default.createElement("span", { className: "text-white/70" }, "Huddle")), /* @__PURE__ */ import_react87.default.createElement("div", { className: "w-8 h-8 rounded-full bg-white/10 flex items-center justify-center" }, /* @__PURE__ */ import_react87.default.createElement(import_react88.HugeiconsIcon, { icon: import_core_free_icons32.ArrowUpRight01Icon, size: 16, className: "text-white" }))),
5299
+ /* @__PURE__ */ import_react87.default.createElement(
5303
5300
  "img",
5304
5301
  {
5305
5302
  src: "https://storage.googleapis.com/retina-cloud-v2/assets/images/cal_b.avif",
@@ -5307,14 +5304,14 @@ var UniversalHome2 = ({
5307
5304
  className: "absolute bottom-4 right-2 translate-x-1/4 translate-y-1/2 w-32 h-auto object-contain z-0 pointer-events-none opacity-30"
5308
5305
  }
5309
5306
  )
5310
- ), /* @__PURE__ */ import_react88.default.createElement(
5307
+ ), /* @__PURE__ */ import_react87.default.createElement(
5311
5308
  "div",
5312
5309
  {
5313
5310
  onClick: joinHuddleAction?.onClick,
5314
5311
  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"
5315
5312
  },
5316
- /* @__PURE__ */ import_react88.default.createElement("div", { className: "relative z-10 flex flex-col h-full justify-between" }, /* @__PURE__ */ import_react88.default.createElement("p", { className: "text-sm sm:text-sm text-black leading-tight" }, "Join", /* @__PURE__ */ import_react88.default.createElement("br", null), /* @__PURE__ */ import_react88.default.createElement("span", { className: "text-black/60" }, "Huddle")), /* @__PURE__ */ import_react88.default.createElement("div", { className: "w-8 h-8 rounded-full bg-black/5 flex items-center justify-center" }, /* @__PURE__ */ import_react88.default.createElement(import_react89.HugeiconsIcon, { icon: import_core_free_icons33.ArrowRight01Icon, size: 16, className: "text-black" }))),
5317
- /* @__PURE__ */ import_react88.default.createElement(
5313
+ /* @__PURE__ */ import_react87.default.createElement("div", { className: "relative z-10 flex flex-col h-full justify-between" }, /* @__PURE__ */ import_react87.default.createElement("p", { className: "text-sm sm:text-sm text-black leading-tight" }, "Join", /* @__PURE__ */ import_react87.default.createElement("br", null), /* @__PURE__ */ import_react87.default.createElement("span", { className: "text-black/60" }, "Huddle")), /* @__PURE__ */ import_react87.default.createElement("div", { className: "w-8 h-8 rounded-full bg-black/5 flex items-center justify-center" }, /* @__PURE__ */ import_react87.default.createElement(import_react88.HugeiconsIcon, { icon: import_core_free_icons32.ArrowRight01Icon, size: 16, className: "text-black" }))),
5314
+ /* @__PURE__ */ import_react87.default.createElement(
5318
5315
  "img",
5319
5316
  {
5320
5317
  src: "https://storage.googleapis.com/retina-cloud-v2/assets/images/cam_c.avif",
@@ -5322,12 +5319,12 @@ var UniversalHome2 = ({
5322
5319
  className: "absolute bottom-4 right-2 translate-x-1/4 translate-y-1/2 w-32 h-auto object-contain z-0 pointer-events-none opacity-30"
5323
5320
  }
5324
5321
  )
5325
- ))), customContent && /* @__PURE__ */ import_react88.default.createElement("div", { className: "w-full" }, customContent), /* @__PURE__ */ import_react88.default.createElement("div", { className: "w-full mt-2" }, /* @__PURE__ */ import_react88.default.createElement(
5322
+ ))), customContent && /* @__PURE__ */ import_react87.default.createElement("div", { className: "w-full" }, customContent), /* @__PURE__ */ import_react87.default.createElement("div", { className: "w-full mt-2" }, /* @__PURE__ */ import_react87.default.createElement(
5326
5323
  UniversalHuddlesPage,
5327
5324
  {
5328
5325
  ...huddlesProps
5329
5326
  }
5330
- )), showOrgSwitcher && /* @__PURE__ */ import_react88.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react88.default.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowOrgSwitcher(false) }), /* @__PURE__ */ import_react88.default.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__ */ import_react88.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ import_react88.default.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Switch Workspace"), /* @__PURE__ */ import_react88.default.createElement("button", { onClick: () => setShowOrgSwitcher(false), className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ import_react88.default.createElement(import_react89.HugeiconsIcon, { icon: import_core_free_icons33.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react88.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, /* @__PURE__ */ import_react88.default.createElement("div", { className: "flex flex-col" }, organizations?.length === 0 ? /* @__PURE__ */ import_react88.default.createElement("div", { className: "p-8 text-center text-xs text-stone-400" }, "No organizations found.") : organizations?.map((org) => /* @__PURE__ */ import_react88.default.createElement(
5327
+ )), showOrgSwitcher && /* @__PURE__ */ import_react87.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react87.default.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowOrgSwitcher(false) }), /* @__PURE__ */ import_react87.default.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__ */ import_react87.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ import_react87.default.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Switch Workspace"), /* @__PURE__ */ import_react87.default.createElement("button", { onClick: () => setShowOrgSwitcher(false), className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ import_react87.default.createElement(import_react88.HugeiconsIcon, { icon: import_core_free_icons32.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react87.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, /* @__PURE__ */ import_react87.default.createElement("div", { className: "flex flex-col" }, organizations?.length === 0 ? /* @__PURE__ */ import_react87.default.createElement("div", { className: "p-8 text-center text-xs text-stone-400" }, "No organizations found.") : organizations?.map((org) => /* @__PURE__ */ import_react87.default.createElement(
5331
5328
  "button",
5332
5329
  {
5333
5330
  key: org.id,
@@ -5337,10 +5334,10 @@ var UniversalHome2 = ({
5337
5334
  },
5338
5335
  className: `p-4 flex items-center justify-between gap-3 cursor-pointer outline-none transition-colors border-b border-stone-50 last:border-0 ${activeOrgId === org.id ? "bg-stone-50" : "hover:bg-stone-50/50"}`
5339
5336
  },
5340
- /* @__PURE__ */ import_react88.default.createElement(OrgAvatar, { src: org.avatarUrl }),
5341
- /* @__PURE__ */ import_react88.default.createElement("div", { className: "flex flex-col items-start min-w-0 flex-1" }, /* @__PURE__ */ import_react88.default.createElement("span", { className: `text-sm tracking-tight truncate w-full text-left ${activeOrgId === org.id ? "text-black " : "text-stone-600"}` }, org.name), /* @__PURE__ */ import_react88.default.createElement("span", { className: "text-xs text-stone-500 capitalize truncate w-full text-left mt-0.5" }, org.role?.toLowerCase() || "Member")),
5342
- activeOrgId === org.id && /* @__PURE__ */ import_react88.default.createElement("div", { className: "w-2 h-2 rounded-full bg-[#d97757] shrink-0" })
5343
- )))), /* @__PURE__ */ import_react88.default.createElement("div", { className: "p-4 shrink-0" }, /* @__PURE__ */ import_react88.default.createElement(
5337
+ /* @__PURE__ */ import_react87.default.createElement(OrgAvatar, { src: org.avatarUrl }),
5338
+ /* @__PURE__ */ import_react87.default.createElement("div", { className: "flex flex-col items-start min-w-0 flex-1" }, /* @__PURE__ */ import_react87.default.createElement("span", { className: `text-sm tracking-tight truncate w-full text-left ${activeOrgId === org.id ? "text-black " : "text-stone-600"}` }, org.name), /* @__PURE__ */ import_react87.default.createElement("span", { className: "text-xs text-stone-500 capitalize truncate w-full text-left mt-0.5" }, org.role?.toLowerCase() || "Member")),
5339
+ activeOrgId === org.id && /* @__PURE__ */ import_react87.default.createElement("div", { className: "w-2 h-2 rounded-full bg-[#d97757] shrink-0" })
5340
+ )))), /* @__PURE__ */ import_react87.default.createElement("div", { className: "p-4 shrink-0" }, /* @__PURE__ */ import_react87.default.createElement(
5344
5341
  "button",
5345
5342
  {
5346
5343
  onClick: () => {
@@ -5349,17 +5346,17 @@ var UniversalHome2 = ({
5349
5346
  },
5350
5347
  className: "w-full py-2.5 flex items-center justify-center gap-2 rounded-full border border-stone-200 text-stone-600 hover:bg-stone-100 transition-colors outline-none text-xs tracking-wide"
5351
5348
  },
5352
- /* @__PURE__ */ import_react88.default.createElement(import_react89.HugeiconsIcon, { icon: import_core_free_icons33.Logout01Icon, size: 15 }),
5349
+ /* @__PURE__ */ import_react87.default.createElement(import_react88.HugeiconsIcon, { icon: import_core_free_icons32.Logout01Icon, size: 15 }),
5353
5350
  "Log Out"
5354
- )))), showNotifDialog && /* @__PURE__ */ import_react88.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react88.default.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ import_react88.default.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__ */ import_react88.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, selectedNotif ? /* @__PURE__ */ import_react88.default.createElement("button", { onClick: () => setSelectedNotif(null), disabled: isResolving, className: "text-[#d97757] hover:text-[#d97757] transition-colors outline-none flex items-center gap-2 text-xs tracking-widest disabled:opacity-50" }, /* @__PURE__ */ import_react88.default.createElement(import_react89.HugeiconsIcon, { icon: import_core_free_icons33.ArrowLeft01Icon, size: 14 }), " Back") : /* @__PURE__ */ import_react88.default.createElement("h3", { className: "text-sm text-black tracking-tight flex items-center gap-2" }, "Notifications"), /* @__PURE__ */ import_react88.default.createElement("button", { onClick: () => setShowNotifDialog(false), disabled: isResolving, className: "text-stone-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ import_react88.default.createElement(import_react89.HugeiconsIcon, { icon: import_core_free_icons33.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react88.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2 relative" }, isNotifsLoading && !selectedNotif && /* @__PURE__ */ import_react88.default.createElement("div", { className: "absolute inset-0 z-10 flex items-center justify-center" }, /* @__PURE__ */ import_react88.default.createElement(import_react89.HugeiconsIcon, { icon: import_core_free_icons33.Loading03Icon, size: 28, className: "animate-spin text-black" })), selectedNotif ? /* @__PURE__ */ import_react88.default.createElement("div", { className: "p-4 text-left" }, selectedNotif.type === "HUDDLE_INVITE" && selectedNotif.meta_json?.action === "RESOLVE_INVITE" && selectedNotif.meta_json?.completed ? /* @__PURE__ */ import_react88.default.createElement("div", { className: "mb-2" }, /* @__PURE__ */ import_react88.default.createElement("span", { className: "inline-flex items-center gap-1.5 px-3 py-1 rounded-full bg-emerald-50 text-emerald-600 text-xs tracking-wide" }, /* @__PURE__ */ import_react88.default.createElement(import_react89.HugeiconsIcon, { icon: import_core_free_icons33.Tick02Icon, size: 12 }), " Action Completed")) : /* @__PURE__ */ import_react88.default.createElement("h4", { className: "text-sm text-black mb-1" }, selectedNotif.title), /* @__PURE__ */ import_react88.default.createElement("span", { className: "text-xs text-stone-400 tracking-widest mb-4 block" }, formatNotifDate(selectedNotif.createdAt)), /* @__PURE__ */ import_react88.default.createElement("p", { className: "text-xs text-stone-600 leading-relaxed whitespace-pre-wrap" }, selectedNotif.message), selectedNotif.type === "HUDDLE_INVITE" && selectedNotif.meta_json?.action === "RESOLVE_INVITE" && /* @__PURE__ */ import_react88.default.createElement("div", { className: `mt-8 flex gap-3 pt-6 ${selectedNotif.meta_json?.completed ? "opacity-40 pointer-events-none cursor-not-allowed" : ""}` }, /* @__PURE__ */ import_react88.default.createElement(
5351
+ )))), showNotifDialog && /* @__PURE__ */ import_react87.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react87.default.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ import_react87.default.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__ */ import_react87.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, selectedNotif ? /* @__PURE__ */ import_react87.default.createElement("button", { onClick: () => setSelectedNotif(null), disabled: isResolving, className: "text-[#d97757] hover:text-[#d97757] transition-colors outline-none flex items-center gap-2 text-xs tracking-widest disabled:opacity-50" }, /* @__PURE__ */ import_react87.default.createElement(import_react88.HugeiconsIcon, { icon: import_core_free_icons32.ArrowLeft01Icon, size: 14 }), " Back") : /* @__PURE__ */ import_react87.default.createElement("h3", { className: "text-sm text-black tracking-tight flex items-center gap-2" }, "Notifications"), /* @__PURE__ */ import_react87.default.createElement("button", { onClick: () => setShowNotifDialog(false), disabled: isResolving, className: "text-stone-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ import_react87.default.createElement(import_react88.HugeiconsIcon, { icon: import_core_free_icons32.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react87.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2 relative" }, isNotifsLoading && !selectedNotif && /* @__PURE__ */ import_react87.default.createElement("div", { className: "absolute inset-0 z-10 flex items-center justify-center" }, /* @__PURE__ */ import_react87.default.createElement(import_react88.HugeiconsIcon, { icon: import_core_free_icons32.Loading03Icon, size: 28, className: "animate-spin text-black" })), selectedNotif ? /* @__PURE__ */ import_react87.default.createElement("div", { className: "p-4 text-left" }, selectedNotif.type === "HUDDLE_INVITE" && selectedNotif.meta_json?.action === "RESOLVE_INVITE" && selectedNotif.meta_json?.completed ? /* @__PURE__ */ import_react87.default.createElement("div", { className: "mb-2" }, /* @__PURE__ */ import_react87.default.createElement("span", { className: "inline-flex items-center gap-1.5 px-3 py-1 rounded-full bg-emerald-50 text-emerald-600 text-xs tracking-wide" }, /* @__PURE__ */ import_react87.default.createElement(import_react88.HugeiconsIcon, { icon: import_core_free_icons32.Tick02Icon, size: 12 }), " Action Completed")) : /* @__PURE__ */ import_react87.default.createElement("h4", { className: "text-sm text-black mb-1" }, selectedNotif.title), /* @__PURE__ */ import_react87.default.createElement("span", { className: "text-xs text-stone-400 tracking-widest mb-4 block" }, formatNotifDate(selectedNotif.createdAt)), /* @__PURE__ */ import_react87.default.createElement("p", { className: "text-xs text-stone-600 leading-relaxed whitespace-pre-wrap" }, selectedNotif.message), selectedNotif.type === "HUDDLE_INVITE" && selectedNotif.meta_json?.action === "RESOLVE_INVITE" && /* @__PURE__ */ import_react87.default.createElement("div", { className: `mt-8 flex gap-3 pt-6 ${selectedNotif.meta_json?.completed ? "opacity-40 pointer-events-none cursor-not-allowed" : ""}` }, /* @__PURE__ */ import_react87.default.createElement(
5355
5352
  "button",
5356
5353
  {
5357
5354
  onClick: () => handleResolve("ACCEPTED"),
5358
5355
  disabled: isResolving || selectedNotif.meta_json?.completed,
5359
5356
  className: "flex-1 py-2.5 rounded-full bg-black text-white text-xs tracking-wide transition-all outline-none hover:bg-stone-800 flex justify-center items-center disabled:opacity-50"
5360
5357
  },
5361
- isResolving ? /* @__PURE__ */ import_react88.default.createElement(import_react89.HugeiconsIcon, { icon: import_core_free_icons33.Loading03Icon, className: "animate-spin", size: 16 }) : "Accept"
5362
- ), /* @__PURE__ */ import_react88.default.createElement(
5358
+ isResolving ? /* @__PURE__ */ import_react87.default.createElement(import_react88.HugeiconsIcon, { icon: import_core_free_icons32.Loading03Icon, className: "animate-spin", size: 16 }) : "Accept"
5359
+ ), /* @__PURE__ */ import_react87.default.createElement(
5363
5360
  "button",
5364
5361
  {
5365
5362
  onClick: () => handleResolve("REJECTED"),
@@ -5367,7 +5364,7 @@ var UniversalHome2 = ({
5367
5364
  className: "flex-1 py-2.5 rounded-full bg-white border border-stone-200 text-black text-xs tracking-wide transition-all outline-none hover:bg-stone-50 flex justify-center items-center disabled:opacity-50"
5368
5365
  },
5369
5366
  "Reject"
5370
- ))) : /* @__PURE__ */ import_react88.default.createElement("div", { className: "flex flex-col divide-y divide-stone-50/50" }, notifications?.length === 0 && !isNotifsLoading ? /* @__PURE__ */ import_react88.default.createElement("div", { className: "p-8 text-center text-xs text-stone-400" }, "You have no notifications.") : notifications?.map((notif) => /* @__PURE__ */ import_react88.default.createElement(
5367
+ ))) : /* @__PURE__ */ import_react87.default.createElement("div", { className: "flex flex-col divide-y divide-stone-50/50" }, notifications?.length === 0 && !isNotifsLoading ? /* @__PURE__ */ import_react87.default.createElement("div", { className: "p-8 text-center text-xs text-stone-400" }, "You have no notifications.") : notifications?.map((notif) => /* @__PURE__ */ import_react87.default.createElement(
5371
5368
  "div",
5372
5369
  {
5373
5370
  key: notif.id,
@@ -5377,35 +5374,35 @@ var UniversalHome2 = ({
5377
5374
  },
5378
5375
  className: `p-3 flex items-start gap-3 rounded-xl cursor-pointer transition-colors ${isNotifsLoading ? "opacity-50 pointer-events-none" : "hover:bg-stone-50"}`
5379
5376
  },
5380
- /* @__PURE__ */ import_react88.default.createElement("div", { className: "mt-1.5 shrink-0" }, !notif.isRead ? /* @__PURE__ */ import_react88.default.createElement("div", { className: "w-1.5 h-1.5 bg-red-500 rounded-full" }) : /* @__PURE__ */ import_react88.default.createElement("div", { className: "w-1.5 h-1.5 bg-transparent" })),
5381
- /* @__PURE__ */ import_react88.default.createElement("div", { className: "flex-1 min-w-0 text-left" }, /* @__PURE__ */ import_react88.default.createElement("h5", { className: `text-xs truncate ${notif.isRead ? "text-stone-500" : "text-black"}` }, notif.title), /* @__PURE__ */ import_react88.default.createElement("p", { className: "text-xs text-stone-400 truncate mt-0.5" }, notif.message), /* @__PURE__ */ import_react88.default.createElement("span", { className: "text-xs text-stone-400 tracking-widest mt-2 block" }, formatNotifDate(notif.createdAt)))
5382
- )))), !selectedNotif && /* @__PURE__ */ import_react88.default.createElement("div", { className: "p-4 flex items-center justify-between shrink-0" }, /* @__PURE__ */ import_react88.default.createElement("span", { className: "text-xs text-stone-400 tracking-widest" }, "Page ", notificationPage, " of ", notificationTotalPages === 0 ? 1 : notificationTotalPages), /* @__PURE__ */ import_react88.default.createElement("div", { className: "flex gap-1" }, /* @__PURE__ */ import_react88.default.createElement(
5377
+ /* @__PURE__ */ import_react87.default.createElement("div", { className: "mt-1.5 shrink-0" }, !notif.isRead ? /* @__PURE__ */ import_react87.default.createElement("div", { className: "w-1.5 h-1.5 bg-red-500 rounded-full" }) : /* @__PURE__ */ import_react87.default.createElement("div", { className: "w-1.5 h-1.5 bg-transparent" })),
5378
+ /* @__PURE__ */ import_react87.default.createElement("div", { className: "flex-1 min-w-0 text-left" }, /* @__PURE__ */ import_react87.default.createElement("h5", { className: `text-xs truncate ${notif.isRead ? "text-stone-500" : "text-black"}` }, notif.title), /* @__PURE__ */ import_react87.default.createElement("p", { className: "text-xs text-stone-400 truncate mt-0.5" }, notif.message), /* @__PURE__ */ import_react87.default.createElement("span", { className: "text-xs text-stone-400 tracking-widest mt-2 block" }, formatNotifDate(notif.createdAt)))
5379
+ )))), !selectedNotif && /* @__PURE__ */ import_react87.default.createElement("div", { className: "p-4 flex items-center justify-between shrink-0" }, /* @__PURE__ */ import_react87.default.createElement("span", { className: "text-xs text-stone-400 tracking-widest" }, "Page ", notificationPage, " of ", notificationTotalPages === 0 ? 1 : notificationTotalPages), /* @__PURE__ */ import_react87.default.createElement("div", { className: "flex gap-1" }, /* @__PURE__ */ import_react87.default.createElement(
5383
5380
  "button",
5384
5381
  {
5385
5382
  disabled: notificationPage <= 1 || isNotifsLoading,
5386
5383
  onClick: () => onNotificationPageChange?.(notificationPage - 1),
5387
5384
  className: "w-7 h-7 flex items-center justify-center rounded-full bg-white border border-stone-200 text-stone-600 disabled:opacity-30 outline-none hover:bg-stone-50 transition-colors"
5388
5385
  },
5389
- /* @__PURE__ */ import_react88.default.createElement(import_react89.HugeiconsIcon, { icon: import_core_free_icons33.ArrowLeft01Icon, size: 12 })
5390
- ), /* @__PURE__ */ import_react88.default.createElement(
5386
+ /* @__PURE__ */ import_react87.default.createElement(import_react88.HugeiconsIcon, { icon: import_core_free_icons32.ArrowLeft01Icon, size: 12 })
5387
+ ), /* @__PURE__ */ import_react87.default.createElement(
5391
5388
  "button",
5392
5389
  {
5393
5390
  disabled: notificationPage >= notificationTotalPages || notificationTotalPages === 0 || isNotifsLoading,
5394
5391
  onClick: () => onNotificationPageChange?.(notificationPage + 1),
5395
5392
  className: "w-7 h-7 flex items-center justify-center rounded-full bg-white border border-stone-200 text-stone-600 disabled:opacity-30 outline-none hover:bg-stone-50 transition-colors"
5396
5393
  },
5397
- /* @__PURE__ */ import_react88.default.createElement(import_react89.HugeiconsIcon, { icon: import_core_free_icons33.ArrowRight01Icon, size: 12 })
5394
+ /* @__PURE__ */ import_react87.default.createElement(import_react88.HugeiconsIcon, { icon: import_core_free_icons32.ArrowRight01Icon, size: 12 })
5398
5395
  ))))));
5399
5396
  };
5400
5397
 
5401
5398
  // src/components/UniversalSettings.tsx
5402
- var import_react90 = __toESM(require("react"));
5399
+ var import_react89 = __toESM(require("react"));
5403
5400
  var import_react_hot_toast15 = __toESM(require("react-hot-toast"));
5404
- var import_react91 = require("@hugeicons/react");
5405
- var import_core_free_icons34 = require("@hugeicons/core-free-icons");
5401
+ var import_react90 = require("@hugeicons/react");
5402
+ var import_core_free_icons33 = require("@hugeicons/core-free-icons");
5406
5403
  var MemberAvatar3 = ({ src, status, sizeClass = "w-10 h-10" }) => {
5407
- const [loaded, setLoaded] = (0, import_react90.useState)(false);
5408
- const [error, setError] = (0, import_react90.useState)(false);
5404
+ const [loaded, setLoaded] = (0, import_react89.useState)(false);
5405
+ const [error, setError] = (0, import_react89.useState)(false);
5409
5406
  const defaultAvatar = "https://storage.googleapis.com/retina-cloud-v2/assets/images/avatar.avif";
5410
5407
  const finalSrc = error || !src ? defaultAvatar : src;
5411
5408
  const getStatusColor = () => {
@@ -5422,10 +5419,10 @@ var MemberAvatar3 = ({ src, status, sizeClass = "w-10 h-10" }) => {
5422
5419
  return "bg-stone-200";
5423
5420
  }
5424
5421
  };
5425
- return /* @__PURE__ */ import_react90.default.createElement("div", { className: `relative shrink-0 ${sizeClass}` }, /* @__PURE__ */ import_react90.default.createElement("div", { className: "w-full h-full rounded-lg bg-stone-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ import_react90.default.createElement(import_react91.HugeiconsIcon, { icon: import_core_free_icons34.Loading03Icon, className: "animate-spin text-stone-400 absolute", size: 14 }), /* @__PURE__ */ import_react90.default.createElement("img", { src: finalSrc, alt: "Member", className: `w-full h-full object-cover transition-opacity duration-300 ${loaded || error ? "opacity-100" : "opacity-0"}`, onLoad: () => setLoaded(true), onError: () => setError(true) })), /* @__PURE__ */ import_react90.default.createElement("div", { className: `absolute -bottom-1 -right-1 w-3.5 h-3.5 rounded-full border-2 border-white z-10 ${getStatusColor()}` }));
5422
+ return /* @__PURE__ */ import_react89.default.createElement("div", { className: `relative shrink-0 ${sizeClass}` }, /* @__PURE__ */ import_react89.default.createElement("div", { className: "w-full h-full rounded-lg bg-stone-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ import_react89.default.createElement(import_react90.HugeiconsIcon, { icon: import_core_free_icons33.Loading03Icon, className: "animate-spin text-stone-400 absolute", size: 14 }), /* @__PURE__ */ import_react89.default.createElement("img", { src: finalSrc, alt: "Member", className: `w-full h-full object-cover transition-opacity duration-300 ${loaded || error ? "opacity-100" : "opacity-0"}`, onLoad: () => setLoaded(true), onError: () => setError(true) })), /* @__PURE__ */ import_react89.default.createElement("div", { className: `absolute -bottom-1 -right-1 w-3.5 h-3.5 rounded-full border-2 border-white z-10 ${getStatusColor()}` }));
5426
5423
  };
5427
- var PageSpinner8 = () => /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ import_react90.default.createElement(import_react91.HugeiconsIcon, { icon: import_core_free_icons34.Loading03Icon, size: 32, className: "animate-spin mb-4 text-black" }));
5428
- var InputSpinner3 = () => /* @__PURE__ */ import_react90.default.createElement("svg", { className: "animate-spin h-4 w-4 text-stone-400", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24" }, /* @__PURE__ */ import_react90.default.createElement("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), /* @__PURE__ */ import_react90.default.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" }));
5424
+ var PageSpinner8 = () => /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ import_react89.default.createElement(import_react90.HugeiconsIcon, { icon: import_core_free_icons33.Loading03Icon, size: 32, className: "animate-spin mb-4 text-black" }));
5425
+ var InputSpinner3 = () => /* @__PURE__ */ import_react89.default.createElement("svg", { className: "animate-spin h-4 w-4 text-stone-400", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24" }, /* @__PURE__ */ import_react89.default.createElement("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), /* @__PURE__ */ import_react89.default.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" }));
5429
5426
  var UniversalSettings = ({
5430
5427
  accountType,
5431
5428
  userRole,
@@ -5464,36 +5461,36 @@ var UniversalSettings = ({
5464
5461
  });
5465
5462
  const isOrg = accountType === "ORGANIZATION";
5466
5463
  const canManage = userRole === "ADMIN" || userRole === "MANAGER" || userRole === "OWNER";
5467
- const [activeTab, setActiveTab] = (0, import_react90.useState)(isOrg ? "MEMBERS" : "ACCOUNT");
5468
- const [expandedId, setExpandedId] = (0, import_react90.useState)(null);
5469
- const [memberToRemove, setMemberToRemove] = (0, import_react90.useState)(null);
5470
- const [isRemoving, setIsRemoving] = (0, import_react90.useState)(false);
5471
- const [isInviteMode, setIsInviteMode] = (0, import_react90.useState)(false);
5472
- const [inviteEmail, setInviteEmail] = (0, import_react90.useState)("");
5473
- const [isInviting, setIsInviting] = (0, import_react90.useState)(false);
5474
- const [localSearchQuery, setLocalSearchQuery] = (0, import_react90.useState)(membersSearchQuery);
5475
- const [isTyping, setIsTyping] = (0, import_react90.useState)(false);
5476
- const isFirstSearchMount = (0, import_react90.useRef)(true);
5477
- const [isStatusModalOpen, setIsStatusModalOpen] = (0, import_react90.useState)(false);
5478
- const [isRoleModalOpen, setIsRoleModalOpen] = (0, import_react90.useState)(false);
5479
- const [roleEditTarget, setRoleEditTarget] = (0, import_react90.useState)(null);
5480
- const [isUpdatingRole, setIsUpdatingRole] = (0, import_react90.useState)(false);
5481
- const [orgName, setOrgName] = (0, import_react90.useState)(initialOrgName);
5482
- const [orgSlug, setOrgSlug] = (0, import_react90.useState)(initialOrgSlug);
5483
- const [firstName, setFirstName] = (0, import_react90.useState)("");
5484
- const [lastName, setLastName] = (0, import_react90.useState)("");
5485
- const [isCheckingSlug, setIsCheckingSlug] = (0, import_react90.useState)(false);
5486
- const [slugAvailable, setSlugAvailable] = (0, import_react90.useState)(null);
5487
- const [isSavingOrg, setIsSavingOrg] = (0, import_react90.useState)(false);
5488
- const [isSavingProfile, setIsSavingProfile] = (0, import_react90.useState)(false);
5489
- (0, import_react90.useEffect)(() => {
5464
+ const [activeTab, setActiveTab] = (0, import_react89.useState)(isOrg ? "MEMBERS" : "ACCOUNT");
5465
+ const [expandedId, setExpandedId] = (0, import_react89.useState)(null);
5466
+ const [memberToRemove, setMemberToRemove] = (0, import_react89.useState)(null);
5467
+ const [isRemoving, setIsRemoving] = (0, import_react89.useState)(false);
5468
+ const [isInviteMode, setIsInviteMode] = (0, import_react89.useState)(false);
5469
+ const [inviteEmail, setInviteEmail] = (0, import_react89.useState)("");
5470
+ const [isInviting, setIsInviting] = (0, import_react89.useState)(false);
5471
+ const [localSearchQuery, setLocalSearchQuery] = (0, import_react89.useState)(membersSearchQuery);
5472
+ const [isTyping, setIsTyping] = (0, import_react89.useState)(false);
5473
+ const isFirstSearchMount = (0, import_react89.useRef)(true);
5474
+ const [isStatusModalOpen, setIsStatusModalOpen] = (0, import_react89.useState)(false);
5475
+ const [isRoleModalOpen, setIsRoleModalOpen] = (0, import_react89.useState)(false);
5476
+ const [roleEditTarget, setRoleEditTarget] = (0, import_react89.useState)(null);
5477
+ const [isUpdatingRole, setIsUpdatingRole] = (0, import_react89.useState)(false);
5478
+ const [orgName, setOrgName] = (0, import_react89.useState)(initialOrgName);
5479
+ const [orgSlug, setOrgSlug] = (0, import_react89.useState)(initialOrgSlug);
5480
+ const [firstName, setFirstName] = (0, import_react89.useState)("");
5481
+ const [lastName, setLastName] = (0, import_react89.useState)("");
5482
+ const [isCheckingSlug, setIsCheckingSlug] = (0, import_react89.useState)(false);
5483
+ const [slugAvailable, setSlugAvailable] = (0, import_react89.useState)(null);
5484
+ const [isSavingOrg, setIsSavingOrg] = (0, import_react89.useState)(false);
5485
+ const [isSavingProfile, setIsSavingProfile] = (0, import_react89.useState)(false);
5486
+ (0, import_react89.useEffect)(() => {
5490
5487
  setOrgName(initialOrgName || "");
5491
5488
  setOrgSlug(initialOrgSlug || "");
5492
5489
  const parts = (initialFullName || "").split(" ");
5493
5490
  setFirstName(parts[0] || "");
5494
5491
  setLastName(parts.slice(1).join(" ") || "");
5495
5492
  }, [initialOrgName, initialOrgSlug, initialFullName]);
5496
- (0, import_react90.useEffect)(() => {
5493
+ (0, import_react89.useEffect)(() => {
5497
5494
  if (activeTab !== "MEMBERS") return;
5498
5495
  if (isFirstSearchMount.current) {
5499
5496
  isFirstSearchMount.current = false;
@@ -5550,7 +5547,7 @@ var UniversalSettings = ({
5550
5547
  }
5551
5548
  };
5552
5549
  const activeExpandedMember = expandedId ? members.find((m) => m.id === expandedId) : null;
5553
- (0, import_react90.useEffect)(() => {
5550
+ (0, import_react89.useEffect)(() => {
5554
5551
  if (!isOrg || !orgSlug || orgSlug === initialOrgSlug) {
5555
5552
  setSlugAvailable(null);
5556
5553
  setIsCheckingSlug(false);
@@ -5610,11 +5607,11 @@ var UniversalSettings = ({
5610
5607
  const isOrgSaveDisabled = isSavingOrg || !canManage || isCheckingSlug || !hasOrgChanges || orgName.length < 3 || orgSlug.length < 3 || orgSlug !== initialOrgSlug && slugAvailable === false;
5611
5608
  const hasProfileChanges = `${firstName} ${lastName}`.trim() !== initialFullName;
5612
5609
  const isProfileSaveDisabled = isSavingProfile || !hasProfileChanges || firstName.length < 2 || lastName.length < 2;
5613
- return /* @__PURE__ */ import_react90.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react90.default.createElement(ManagedToaster, null), /* @__PURE__ */ import_react90.default.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ import_react90.default.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-[#d97757] hover:text-[#d97757] transition-colors text-sm outline-none" }, /* @__PURE__ */ import_react90.default.createElement(import_react91.HugeiconsIcon, { icon: import_core_free_icons34.ArrowLeft01Icon, size: 16 }), " Back")), /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex flex-col gap-1 mb-8 px-1" }, /* @__PURE__ */ import_react90.default.createElement("h1", { className: "text-black text-xl tracking-tight" }, "System Settings"), /* @__PURE__ */ import_react90.default.createElement("p", { className: "text-xs text-stone-500" }, "Manage your workspace identity, team configurations, and AI billing parameters.")), /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex items-center gap-6 mb-6 overflow-x-auto custom-scrollbar px-1" }, isOrg && /* @__PURE__ */ import_react90.default.createElement("button", { onClick: () => {
5610
+ return /* @__PURE__ */ import_react89.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react89.default.createElement(ManagedToaster, null), /* @__PURE__ */ import_react89.default.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ import_react89.default.createElement("button", { onClick: onBackHandler, className: "flex items-center gap-2 text-[#d97757] hover:text-[#d97757] transition-colors text-sm outline-none" }, /* @__PURE__ */ import_react89.default.createElement(import_react90.HugeiconsIcon, { icon: import_core_free_icons33.ArrowLeft01Icon, size: 16 }), " Back")), /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex flex-col gap-1 mb-8 px-1" }, /* @__PURE__ */ import_react89.default.createElement("h1", { className: "text-black text-xl tracking-tight" }, "System Settings"), /* @__PURE__ */ import_react89.default.createElement("p", { className: "text-xs text-stone-500" }, "Manage your workspace identity, team configurations, and AI billing parameters.")), /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex items-center gap-6 mb-6 overflow-x-auto custom-scrollbar px-1" }, isOrg && /* @__PURE__ */ import_react89.default.createElement("button", { onClick: () => {
5614
5611
  setActiveTab("MEMBERS");
5615
5612
  setExpandedId(null);
5616
5613
  setIsInviteMode(false);
5617
- }, className: `pb-3 text-sm tracking-wide outline-none transition-colors border-b-2 whitespace-nowrap ${activeTab === "MEMBERS" ? "border-black text-black" : "border-transparent text-stone-500 hover:text-black"}` }, "Members"), isOrg && /* @__PURE__ */ import_react90.default.createElement("button", { onClick: () => setActiveTab("ORGANIZATION"), className: `pb-3 text-sm tracking-wide outline-none transition-colors border-b-2 whitespace-nowrap ${activeTab === "ORGANIZATION" ? "border-black text-black" : "border-transparent text-stone-500 hover:text-black"}` }, "Organization"), /* @__PURE__ */ import_react90.default.createElement("button", { onClick: () => setActiveTab("ACCOUNT"), className: `pb-3 text-sm tracking-wide outline-none transition-colors border-b-2 whitespace-nowrap ${activeTab === "ACCOUNT" ? "border-black text-black" : "border-transparent text-stone-500 hover:text-black"}` }, "Profile")), activeTab === "MEMBERS" && isOrg && /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react90.default.createElement(
5614
+ }, className: `pb-3 text-sm tracking-wide outline-none transition-colors border-b-2 whitespace-nowrap ${activeTab === "MEMBERS" ? "border-black text-black" : "border-transparent text-stone-500 hover:text-black"}` }, "Members"), isOrg && /* @__PURE__ */ import_react89.default.createElement("button", { onClick: () => setActiveTab("ORGANIZATION"), className: `pb-3 text-sm tracking-wide outline-none transition-colors border-b-2 whitespace-nowrap ${activeTab === "ORGANIZATION" ? "border-black text-black" : "border-transparent text-stone-500 hover:text-black"}` }, "Organization"), /* @__PURE__ */ import_react89.default.createElement("button", { onClick: () => setActiveTab("ACCOUNT"), className: `pb-3 text-sm tracking-wide outline-none transition-colors border-b-2 whitespace-nowrap ${activeTab === "ACCOUNT" ? "border-black text-black" : "border-transparent text-stone-500 hover:text-black"}` }, "Profile")), activeTab === "MEMBERS" && isOrg && /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react89.default.createElement(
5618
5615
  ConfirmationDialog,
5619
5616
  {
5620
5617
  isOpen: !!memberToRemove,
@@ -5627,7 +5624,7 @@ var UniversalSettings = ({
5627
5624
  onClose: () => setMemberToRemove(null),
5628
5625
  onConfirm: handleConfirmRemove
5629
5626
  }
5630
- ), !isInviteMode && !activeExpandedMember && /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex flex-row flex-nowrap mb-4 items-center justify-between gap-4 w-full px-1" }, /* @__PURE__ */ import_react90.default.createElement("div", { className: "relative flex-1 min-w-0 max-w-full" }, /* @__PURE__ */ import_react90.default.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ import_react90.default.createElement(import_react91.HugeiconsIcon, { icon: import_core_free_icons34.Search01Icon, size: 16, className: "text-stone-400" })), /* @__PURE__ */ import_react90.default.createElement("input", { type: "text", placeholder: "Search members...", value: localSearchQuery, onChange: (e) => setLocalSearchQuery(e.target.value), className: "w-full pl-10 pr-4 py-2 bg-white rounded-full text-sm text-black placeholder-stone-400 outline-none transition-colors focus:border-black" })), /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex items-center gap-3 w-auto pb-0 shrink-0" }, /* @__PURE__ */ import_react90.default.createElement("button", { onClick: () => setIsStatusModalOpen(true), className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-stone-500 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ import_react90.default.createElement(import_react91.HugeiconsIcon, { icon: import_core_free_icons34.SearchList02Icon, size: 16 })), /* @__PURE__ */ import_react90.default.createElement("button", { onClick: () => setIsRoleModalOpen(true), className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-stone-500 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ import_react90.default.createElement(import_react91.HugeiconsIcon, { icon: import_core_free_icons34.ListSettingIcon, size: 16 })))), /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, activeExpandedMember ? /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex flex-col animate-in fade-in zoom-in-95 duration-300 w-full" }, /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex flex-col gap-1 mb-8" }, /* @__PURE__ */ import_react90.default.createElement("h2", { className: "text-black text-xl tracking-tight" }, "Member Profile"), /* @__PURE__ */ import_react90.default.createElement("p", { className: "text-xs text-stone-500" }, "View and manage this member's access privileges.")), /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex items-center gap-4 mb-8" }, /* @__PURE__ */ import_react90.default.createElement(MemberAvatar3, { src: activeExpandedMember.avatarUrl, status: activeExpandedMember.status, sizeClass: "w-14 h-14" }), /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react90.default.createElement("span", { className: "text-sm text-black tracking-tight truncate" }, activeExpandedMember.fullName), /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex items-center gap-2 mt-0.5" }, /* @__PURE__ */ import_react90.default.createElement("span", { className: "text-xs text-stone-500 capitalize" }, activeExpandedMember.role.toLowerCase()), canManage && !activeExpandedMember.isRootAdmin && (isUpdatingRole ? /* @__PURE__ */ import_react90.default.createElement(import_react91.HugeiconsIcon, { icon: import_core_free_icons34.Loading03Icon, size: 12, className: "animate-spin text-stone-400 ml-1" }) : /* @__PURE__ */ import_react90.default.createElement("button", { onClick: () => setRoleEditTarget(activeExpandedMember), className: "text-xs text-[#d97757] hover:underline outline-none" }, "Edit"))))), /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex flex-col sm:flex-row gap-3 pt-6 " }, canManage && !activeExpandedMember.isRootAdmin && /* @__PURE__ */ import_react90.default.createElement(
5627
+ ), !isInviteMode && !activeExpandedMember && /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex flex-row flex-nowrap mb-4 items-center justify-between gap-4 w-full px-1" }, /* @__PURE__ */ import_react89.default.createElement("div", { className: "relative flex-1 min-w-0 max-w-full" }, /* @__PURE__ */ import_react89.default.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ import_react89.default.createElement(import_react90.HugeiconsIcon, { icon: import_core_free_icons33.Search01Icon, size: 16, className: "text-stone-400" })), /* @__PURE__ */ import_react89.default.createElement("input", { type: "text", placeholder: "Search members...", value: localSearchQuery, onChange: (e) => setLocalSearchQuery(e.target.value), className: "w-full pl-10 pr-4 py-2 bg-white rounded-full text-sm text-black placeholder-stone-400 outline-none transition-colors focus:border-black" })), /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex items-center gap-3 w-auto pb-0 shrink-0" }, /* @__PURE__ */ import_react89.default.createElement("button", { onClick: () => setIsStatusModalOpen(true), className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-stone-500 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ import_react89.default.createElement(import_react90.HugeiconsIcon, { icon: import_core_free_icons33.SearchList02Icon, size: 16 })), /* @__PURE__ */ import_react89.default.createElement("button", { onClick: () => setIsRoleModalOpen(true), className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-stone-500 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ import_react89.default.createElement(import_react90.HugeiconsIcon, { icon: import_core_free_icons33.ListSettingIcon, size: 16 })))), /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, activeExpandedMember ? /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex flex-col animate-in fade-in zoom-in-95 duration-300 w-full" }, /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex flex-col gap-1 mb-8" }, /* @__PURE__ */ import_react89.default.createElement("h2", { className: "text-black text-xl tracking-tight" }, "Member Profile"), /* @__PURE__ */ import_react89.default.createElement("p", { className: "text-xs text-stone-500" }, "View and manage this member's access privileges.")), /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex items-center gap-4 mb-8" }, /* @__PURE__ */ import_react89.default.createElement(MemberAvatar3, { src: activeExpandedMember.avatarUrl, status: activeExpandedMember.status, sizeClass: "w-14 h-14" }), /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react89.default.createElement("span", { className: "text-sm text-black tracking-tight truncate" }, activeExpandedMember.fullName), /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex items-center gap-2 mt-0.5" }, /* @__PURE__ */ import_react89.default.createElement("span", { className: "text-xs text-stone-500 capitalize" }, activeExpandedMember.role.toLowerCase()), canManage && !activeExpandedMember.isRootAdmin && (isUpdatingRole ? /* @__PURE__ */ import_react89.default.createElement(import_react90.HugeiconsIcon, { icon: import_core_free_icons33.Loading03Icon, size: 12, className: "animate-spin text-stone-400 ml-1" }) : /* @__PURE__ */ import_react89.default.createElement("button", { onClick: () => setRoleEditTarget(activeExpandedMember), className: "text-xs text-[#d97757] hover:underline outline-none" }, "Edit"))))), /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex flex-col sm:flex-row gap-3 pt-6 " }, canManage && !activeExpandedMember.isRootAdmin && /* @__PURE__ */ import_react89.default.createElement(
5631
5628
  "button",
5632
5629
  {
5633
5630
  onClick: () => setMemberToRemove(activeExpandedMember),
@@ -5635,25 +5632,25 @@ var UniversalSettings = ({
5635
5632
  className: "w-full sm:flex-1 py-2.5 bg-white border border-rose-200 text-rose-600 hover:bg-rose-50 rounded-full text-xs tracking-wide transition-colors outline-none disabled:opacity-50"
5636
5633
  },
5637
5634
  "Remove Access"
5638
- ), /* @__PURE__ */ import_react90.default.createElement("button", { onClick: () => setExpandedId(null), disabled: isUpdatingRole, className: "w-full sm:flex-1 py-2.5 bg-white border border-stone-200 text-black hover:bg-stone-100 rounded-full text-xs tracking-wide transition-colors outline-none disabled:opacity-50" }, "Close Profile"))) : /* @__PURE__ */ import_react90.default.createElement(import_react90.default.Fragment, null, /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex flex-row items-center justify-between gap-4" }, /* @__PURE__ */ import_react90.default.createElement("h2", { className: "text-black text-xl tracking-tight" }, isInviteMode ? "Add Member" : "Team Directory"), !isInviteMode && canManage && /* @__PURE__ */ import_react90.default.createElement("button", { onClick: () => setIsInviteMode(true), className: "shrink-0 px-4 py-1.5 border border-stone-200 text-black text-xs tracking-wide rounded-full hover:bg-stone-50 transition-colors outline-none" }, "Invite Team")), !isInviteMode && /* @__PURE__ */ import_react90.default.createElement("p", { className: "text-xs text-stone-500" }, "Manage members and access controls across your organization.")), /* @__PURE__ */ import_react90.default.createElement("div", { className: "w-full overflow-hidden" }, isInviteMode ? /* @__PURE__ */ import_react90.default.createElement("form", { onSubmit: handleInviteSubmit, className: "flex flex-col gap-8 animate-in fade-in duration-300" }, /* @__PURE__ */ import_react90.default.createElement("div", { className: "space-y-1.5 mt-2" }, /* @__PURE__ */ import_react90.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Email Address"), /* @__PURE__ */ import_react90.default.createElement("input", { type: "email", value: inviteEmail, onChange: (e) => setInviteEmail(cleanEmailId(e.target.value)), required: true, autoFocus: true, className: "w-full px-2 py-3 bg-transparent text-sm border-b border-stone-200 text-black outline-none focus:border-black transition-all duration-300", placeholder: "name@company.com" })), /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ import_react90.default.createElement(ThreeDActionButton, { type: "submit", disabled: inviteEmail.length < 5 || isInviting, isLoading: isInviting, className: "w-full" }, "Send Invitation"), /* @__PURE__ */ import_react90.default.createElement("button", { type: "button", onClick: () => {
5635
+ ), /* @__PURE__ */ import_react89.default.createElement("button", { onClick: () => setExpandedId(null), disabled: isUpdatingRole, className: "w-full sm:flex-1 py-2.5 bg-white border border-stone-200 text-black hover:bg-stone-100 rounded-full text-xs tracking-wide transition-colors outline-none disabled:opacity-50" }, "Close Profile"))) : /* @__PURE__ */ import_react89.default.createElement(import_react89.default.Fragment, null, /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex flex-row items-center justify-between gap-4" }, /* @__PURE__ */ import_react89.default.createElement("h2", { className: "text-black text-xl tracking-tight" }, isInviteMode ? "Add Member" : "Team Directory"), !isInviteMode && canManage && /* @__PURE__ */ import_react89.default.createElement("button", { onClick: () => setIsInviteMode(true), className: "shrink-0 px-4 py-1.5 border border-stone-200 text-black text-xs tracking-wide rounded-full hover:bg-stone-50 transition-colors outline-none" }, "Invite Team")), !isInviteMode && /* @__PURE__ */ import_react89.default.createElement("p", { className: "text-xs text-stone-500" }, "Manage members and access controls across your organization.")), /* @__PURE__ */ import_react89.default.createElement("div", { className: "w-full overflow-hidden" }, isInviteMode ? /* @__PURE__ */ import_react89.default.createElement("form", { onSubmit: handleInviteSubmit, className: "flex flex-col gap-8 animate-in fade-in duration-300" }, /* @__PURE__ */ import_react89.default.createElement("div", { className: "space-y-1.5 mt-2" }, /* @__PURE__ */ import_react89.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Email Address"), /* @__PURE__ */ import_react89.default.createElement("input", { type: "email", value: inviteEmail, onChange: (e) => setInviteEmail(cleanEmailId(e.target.value)), required: true, autoFocus: true, className: "w-full px-2 py-3 bg-transparent text-sm border-b border-stone-200 text-black outline-none focus:border-black transition-all duration-300", placeholder: "name@company.com" })), /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ import_react89.default.createElement(ThreeDActionButton, { type: "submit", disabled: inviteEmail.length < 5 || isInviting, isLoading: isInviting, className: "w-full" }, "Send Invitation"), /* @__PURE__ */ import_react89.default.createElement("button", { type: "button", onClick: () => {
5639
5636
  setIsInviteMode(false);
5640
5637
  setInviteEmail("");
5641
- }, disabled: isInviting, className: "w-full flex items-center justify-center py-2.5 rounded-full border border-stone-200 text-black hover:bg-stone-50 transition-colors outline-none text-xs tracking-wide" }, "Cancel"))) : isMembersLoading || isTyping ? /* @__PURE__ */ import_react90.default.createElement(PageSpinner8, null) : /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex flex-col min-w-0 animate-in fade-in duration-300" }, /* @__PURE__ */ import_react90.default.createElement("div", null, members.length === 0 ? /* @__PURE__ */ import_react90.default.createElement("p", { className: "text-xs text-stone-400 py-6 text-center" }, "No members found") : members.map((member) => /* @__PURE__ */ import_react90.default.createElement("div", { key: member.id, onClick: () => setExpandedId(member.id), className: "flex items-center justify-between py-3 hover:bg-stone-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl" }, /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ import_react90.default.createElement(MemberAvatar3, { src: member.avatarUrl, status: member.status }), /* @__PURE__ */ import_react90.default.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-0.5" }, /* @__PURE__ */ import_react90.default.createElement("p", { className: "text-sm text-black truncate" }, member.fullName), /* @__PURE__ */ import_react90.default.createElement("p", { className: "text-xs text-stone-500 capitalize truncate" }, member.role.toLowerCase())))))), /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex items-center justify-between pt-6 mt-2 " }, /* @__PURE__ */ import_react90.default.createElement("span", { className: "text-xs text-stone-400 tracking-[0.2em]" }, "Page ", membersCurrentPage, " of ", membersTotalPages === 0 ? 1 : membersTotalPages), /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react90.default.createElement("button", { onClick: () => onMembersPageChange(membersCurrentPage - 1), disabled: membersCurrentPage <= 1 || isMembersLoading, className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none" }, /* @__PURE__ */ import_react90.default.createElement(import_react91.HugeiconsIcon, { icon: import_core_free_icons34.ArrowLeft01Icon, size: 14 })), /* @__PURE__ */ import_react90.default.createElement("button", { onClick: () => onMembersPageChange(membersCurrentPage + 1), disabled: membersCurrentPage >= membersTotalPages || isMembersLoading || membersTotalPages === 0, className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none" }, /* @__PURE__ */ import_react90.default.createElement(import_react91.HugeiconsIcon, { icon: import_core_free_icons34.ArrowRight01Icon, size: 14 })))))))), /* @__PURE__ */ import_react90.default.createElement(ReusableOptions, { isOpen: isStatusModalOpen, onClose: () => setIsStatusModalOpen(false), title: "Status Filter", options: ["ALL", "ACTIVE", "BUSY", "OFFLINE", "AWAY"], selectedOption: activeStatusFilter, onSelect: (status) => onStatusFilterChange(status) }), /* @__PURE__ */ import_react90.default.createElement(ReusableOptions, { isOpen: isRoleModalOpen, onClose: () => setIsRoleModalOpen(false), title: "Role Filter", options: ["ALL", "ADMIN", "MANAGER", "MEMBER", "GUEST"], selectedOption: activeRoleFilter, onSelect: (role) => onRoleFilterChange(role) }), /* @__PURE__ */ import_react90.default.createElement(ReusableOptions, { isOpen: !!roleEditTarget, onClose: () => setRoleEditTarget(null), title: "Modify Access Role", options: ["ADMIN", "MANAGER", "MEMBER"], selectedOption: roleEditTarget?.role || "", onSelect: handleRoleUpdate })), activeTab === "ORGANIZATION" && isOrg && /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex flex-col gap-8 animate-in rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex items-start justify-between gap-4" }, /* @__PURE__ */ import_react90.default.createElement("div", null, /* @__PURE__ */ import_react90.default.createElement("h2", { className: "text-black text-xl mb-1 tracking-tight" }, "Workspace Details"), /* @__PURE__ */ import_react90.default.createElement("p", { className: "text-xs text-stone-500" }, "Manage your organizational identity and handles.")), !canManage && /* @__PURE__ */ import_react90.default.createElement("span", { className: "p-2 w-9 h-9 bg-stone-100 text-stone-400 rounded-full shrink-0" }, /* @__PURE__ */ import_react90.default.createElement(import_react91.HugeiconsIcon, { icon: import_core_free_icons34.CircleLock02Icon, size: 18, className: "text-current" }))), /* @__PURE__ */ import_react90.default.createElement("form", { className: "flex flex-col gap-8 w-full max-w-5xl", onSubmit: handleSaveOrganization, autoComplete: "off" }, /* @__PURE__ */ import_react90.default.createElement(TextInput, { label: "Workspace Name", value: orgName, onChange: handleOrgNameChange, disabled: !canManage || isSavingOrg, placeholder: "Acme Corporation", maxLength: 50 }), /* @__PURE__ */ import_react90.default.createElement("div", { className: "space-y-1.5 relative w-full" }, /* @__PURE__ */ import_react90.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Workspace Handle"), /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex items-center relative w-full border-b border-stone-200 focus-within:border-black transition-all duration-300 overflow-hidden" }, /* @__PURE__ */ import_react90.default.createElement("input", { type: "text", value: orgSlug, disabled: !canManage || isSavingOrg, onChange: (e) => handleOrgSlugChange(e.target.value), spellCheck: "false", autoComplete: "off", className: "w-full pr-10 pl-0 py-3 text-sm bg-transparent text-black outline-none disabled:opacity-50 disabled:cursor-not-allowed", placeholder: "workspace-handle" }), /* @__PURE__ */ import_react90.default.createElement("div", { className: "absolute right-2 top-1/2 -translate-y-1/2" }, isCheckingSlug && /* @__PURE__ */ import_react90.default.createElement(InputSpinner3, null), !isCheckingSlug && canManage && orgSlug !== initialOrgSlug && orgSlug.length >= 3 && slugAvailable === false && /* @__PURE__ */ import_react90.default.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-red-100" }, /* @__PURE__ */ import_react90.default.createElement("svg", { className: "w-2 h-2 text-red-600", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ import_react90.default.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" }))), !isCheckingSlug && canManage && orgSlug !== initialOrgSlug && orgSlug.length >= 3 && slugAvailable === true && /* @__PURE__ */ import_react90.default.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-green-100" }, /* @__PURE__ */ import_react90.default.createElement("svg", { className: "w-2 h-2 text-green-600", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ import_react90.default.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M16.707 5.293a1 1 0 00-1.414 0L8 12.586 4.707 9.293a1 1 0 10-1.414 1.414l4 4a1 1 0 001.414 0l8-8a1 1 0 000-1.414z" })))))), /* @__PURE__ */ import_react90.default.createElement("div", { className: "pt-8 mt-2 flex items-center gap-4" }, /* @__PURE__ */ import_react90.default.createElement(ThreeDActionButton, { type: "submit", disabled: isOrgSaveDisabled, isLoading: isSavingOrg, className: "min-w-32" }, "Save Changes"), hasOrgChanges && !isSavingOrg && canManage && /* @__PURE__ */ import_react90.default.createElement("button", { type: "button", onClick: () => {
5638
+ }, disabled: isInviting, className: "w-full flex items-center justify-center py-2.5 rounded-full border border-stone-200 text-black hover:bg-stone-50 transition-colors outline-none text-xs tracking-wide" }, "Cancel"))) : isMembersLoading || isTyping ? /* @__PURE__ */ import_react89.default.createElement(PageSpinner8, null) : /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex flex-col min-w-0 animate-in fade-in duration-300" }, /* @__PURE__ */ import_react89.default.createElement("div", null, members.length === 0 ? /* @__PURE__ */ import_react89.default.createElement("p", { className: "text-xs text-stone-400 py-6 text-center" }, "No members found") : members.map((member) => /* @__PURE__ */ import_react89.default.createElement("div", { key: member.id, onClick: () => setExpandedId(member.id), className: "flex items-center justify-between py-3 hover:bg-stone-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl" }, /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ import_react89.default.createElement(MemberAvatar3, { src: member.avatarUrl, status: member.status }), /* @__PURE__ */ import_react89.default.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-0.5" }, /* @__PURE__ */ import_react89.default.createElement("p", { className: "text-sm text-black truncate" }, member.fullName), /* @__PURE__ */ import_react89.default.createElement("p", { className: "text-xs text-stone-500 capitalize truncate" }, member.role.toLowerCase())))))), /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex items-center justify-between pt-6 mt-2 " }, /* @__PURE__ */ import_react89.default.createElement("span", { className: "text-xs text-stone-400 tracking-[0.2em]" }, "Page ", membersCurrentPage, " of ", membersTotalPages === 0 ? 1 : membersTotalPages), /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react89.default.createElement("button", { onClick: () => onMembersPageChange(membersCurrentPage - 1), disabled: membersCurrentPage <= 1 || isMembersLoading, className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none" }, /* @__PURE__ */ import_react89.default.createElement(import_react90.HugeiconsIcon, { icon: import_core_free_icons33.ArrowLeft01Icon, size: 14 })), /* @__PURE__ */ import_react89.default.createElement("button", { onClick: () => onMembersPageChange(membersCurrentPage + 1), disabled: membersCurrentPage >= membersTotalPages || isMembersLoading || membersTotalPages === 0, className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none" }, /* @__PURE__ */ import_react89.default.createElement(import_react90.HugeiconsIcon, { icon: import_core_free_icons33.ArrowRight01Icon, size: 14 })))))))), /* @__PURE__ */ import_react89.default.createElement(ReusableOptions, { isOpen: isStatusModalOpen, onClose: () => setIsStatusModalOpen(false), title: "Status Filter", options: ["ALL", "ACTIVE", "BUSY", "OFFLINE", "AWAY"], selectedOption: activeStatusFilter, onSelect: (status) => onStatusFilterChange(status) }), /* @__PURE__ */ import_react89.default.createElement(ReusableOptions, { isOpen: isRoleModalOpen, onClose: () => setIsRoleModalOpen(false), title: "Role Filter", options: ["ALL", "ADMIN", "MANAGER", "MEMBER", "GUEST"], selectedOption: activeRoleFilter, onSelect: (role) => onRoleFilterChange(role) }), /* @__PURE__ */ import_react89.default.createElement(ReusableOptions, { isOpen: !!roleEditTarget, onClose: () => setRoleEditTarget(null), title: "Modify Access Role", options: ["ADMIN", "MANAGER", "MEMBER"], selectedOption: roleEditTarget?.role || "", onSelect: handleRoleUpdate })), activeTab === "ORGANIZATION" && isOrg && /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex flex-col gap-8 animate-in rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex items-start justify-between gap-4" }, /* @__PURE__ */ import_react89.default.createElement("div", null, /* @__PURE__ */ import_react89.default.createElement("h2", { className: "text-black text-xl mb-1 tracking-tight" }, "Workspace Details"), /* @__PURE__ */ import_react89.default.createElement("p", { className: "text-xs text-stone-500" }, "Manage your organizational identity and handles.")), !canManage && /* @__PURE__ */ import_react89.default.createElement("span", { className: "p-2 w-9 h-9 bg-stone-100 text-stone-400 rounded-full shrink-0" }, /* @__PURE__ */ import_react89.default.createElement(import_react90.HugeiconsIcon, { icon: import_core_free_icons33.CircleLock02Icon, size: 18, className: "text-current" }))), /* @__PURE__ */ import_react89.default.createElement("form", { className: "flex flex-col gap-8 w-full max-w-5xl", onSubmit: handleSaveOrganization, autoComplete: "off" }, /* @__PURE__ */ import_react89.default.createElement(TextInput, { label: "Workspace Name", value: orgName, onChange: handleOrgNameChange, disabled: !canManage || isSavingOrg, placeholder: "Acme Corporation", maxLength: 50 }), /* @__PURE__ */ import_react89.default.createElement("div", { className: "space-y-1.5 relative w-full" }, /* @__PURE__ */ import_react89.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Workspace Handle"), /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex items-center relative w-full border-b border-stone-200 focus-within:border-black transition-all duration-300 overflow-hidden" }, /* @__PURE__ */ import_react89.default.createElement("input", { type: "text", value: orgSlug, disabled: !canManage || isSavingOrg, onChange: (e) => handleOrgSlugChange(e.target.value), spellCheck: "false", autoComplete: "off", className: "w-full pr-10 pl-0 py-3 text-sm bg-transparent text-black outline-none disabled:opacity-50 disabled:cursor-not-allowed", placeholder: "workspace-handle" }), /* @__PURE__ */ import_react89.default.createElement("div", { className: "absolute right-2 top-1/2 -translate-y-1/2" }, isCheckingSlug && /* @__PURE__ */ import_react89.default.createElement(InputSpinner3, null), !isCheckingSlug && canManage && orgSlug !== initialOrgSlug && orgSlug.length >= 3 && slugAvailable === false && /* @__PURE__ */ import_react89.default.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-red-100" }, /* @__PURE__ */ import_react89.default.createElement("svg", { className: "w-2 h-2 text-red-600", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ import_react89.default.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" }))), !isCheckingSlug && canManage && orgSlug !== initialOrgSlug && orgSlug.length >= 3 && slugAvailable === true && /* @__PURE__ */ import_react89.default.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-green-100" }, /* @__PURE__ */ import_react89.default.createElement("svg", { className: "w-2 h-2 text-green-600", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ import_react89.default.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M16.707 5.293a1 1 0 00-1.414 0L8 12.586 4.707 9.293a1 1 0 10-1.414 1.414l4 4a1 1 0 001.414 0l8-8a1 1 0 000-1.414z" })))))), /* @__PURE__ */ import_react89.default.createElement("div", { className: "pt-8 mt-2 flex items-center gap-4" }, /* @__PURE__ */ import_react89.default.createElement(ThreeDActionButton, { type: "submit", disabled: isOrgSaveDisabled, isLoading: isSavingOrg, className: "min-w-32" }, "Save Changes"), hasOrgChanges && !isSavingOrg && canManage && /* @__PURE__ */ import_react89.default.createElement("button", { type: "button", onClick: () => {
5642
5639
  setOrgName(initialOrgName || "");
5643
5640
  setOrgSlug(initialOrgSlug || "");
5644
- }, className: "text-xs tracking-widest text-stone-400 hover:text-black transition-colors outline-none" }, "Cancel")))), activeTab === "ACCOUNT" && /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in duration-300" }, /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex flex-col gap-8 rounded-2xl p-6 bg-white w-full" }, /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex items-start justify-between gap-4" }, /* @__PURE__ */ import_react90.default.createElement("div", null, /* @__PURE__ */ import_react90.default.createElement("h2", { className: "text-black text-xl mb-1 tracking-tight" }, "Personal Identity"), /* @__PURE__ */ import_react90.default.createElement("p", { className: "text-xs text-stone-500" }, "Update your system display name and contact email."))), /* @__PURE__ */ import_react90.default.createElement("form", { className: "flex flex-col gap-6 w-full max-w-5xl", onSubmit: handleSaveProfile, autoComplete: "off" }, /* @__PURE__ */ import_react90.default.createElement("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-6" }, /* @__PURE__ */ import_react90.default.createElement(TextInput, { label: "First Name", value: firstName, onChange: (v) => setFirstName(v.replace(/[^a-zA-Z\s-]/g, "").substring(0, 50)), disabled: isSavingProfile, placeholder: "First name", maxLength: 50 }), /* @__PURE__ */ import_react90.default.createElement(TextInput, { label: "Last Name", value: lastName, onChange: (v) => setLastName(v.replace(/[^a-zA-Z\s-]/g, "").substring(0, 50)), disabled: isSavingProfile, placeholder: "Last name", maxLength: 50 })), /* @__PURE__ */ import_react90.default.createElement("div", { className: "space-y-1.5 w-full" }, /* @__PURE__ */ import_react90.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Email Address"), /* @__PURE__ */ import_react90.default.createElement("input", { type: "email", value: initialEmail, disabled: true, className: "w-full pb-3 pt-3 text-sm bg-transparent text-stone-400 border-b border-stone-200 outline-none cursor-not-allowed" })), /* @__PURE__ */ import_react90.default.createElement("div", { className: "pt-4 flex items-center gap-4" }, /* @__PURE__ */ import_react90.default.createElement(ThreeDActionButton, { type: "submit", disabled: isProfileSaveDisabled, isLoading: isSavingProfile, className: "min-w-32" }, "Update Identity")))), /* @__PURE__ */ import_react90.default.createElement("div", { className: "bg-white rounded-2xl p-6 w-full flex flex-col sm:flex-row sm:items-center justify-between gap-6 border border-stone-100" }, /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex flex-col items-start max-w-sm" }, /* @__PURE__ */ import_react90.default.createElement("p", { className: "text-xs text-stone-400 tracking-[0.2em] mb-2 uppercase" }, "AI Credits Balance"), isBillingLoading ? /* @__PURE__ */ import_react90.default.createElement("div", { className: "h-8 w-32 bg-stone-100 animate-pulse rounded mt-1" }) : /* @__PURE__ */ import_react90.default.createElement("div", { className: "flex items-center gap-2 mt-1" }, /* @__PURE__ */ import_react90.default.createElement(import_react91.HugeiconsIcon, { icon: import_core_free_icons34.Coins01Icon, size: 28, className: "text-[#d97757]" }), /* @__PURE__ */ import_react90.default.createElement("span", { className: "text-3xl text-black tracking-tight" }, aiCredits)), /* @__PURE__ */ import_react90.default.createElement("p", { className: "text-xs text-stone-500 mt-4 leading-relaxed" }, "AI credits are consumed when generating intelligent summaries, transcriptions, and automated huddle insights.")), /* @__PURE__ */ import_react90.default.createElement("button", { onClick: onTopUp, className: "w-12 h-12 rounded-full border border-stone-200 flex items-center justify-center text-black hover:bg-stone-50 transition-colors outline-none shrink-0", "aria-label": "Top Up Credits" }, /* @__PURE__ */ import_react90.default.createElement(import_react91.HugeiconsIcon, { icon: import_core_free_icons34.PlusSignIcon, size: 20 })))));
5641
+ }, className: "text-xs tracking-widest text-stone-400 hover:text-black transition-colors outline-none" }, "Cancel")))), activeTab === "ACCOUNT" && /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in duration-300" }, /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex flex-col gap-8 rounded-2xl p-6 bg-white w-full" }, /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex items-start justify-between gap-4" }, /* @__PURE__ */ import_react89.default.createElement("div", null, /* @__PURE__ */ import_react89.default.createElement("h2", { className: "text-black text-xl mb-1 tracking-tight" }, "Personal Identity"), /* @__PURE__ */ import_react89.default.createElement("p", { className: "text-xs text-stone-500" }, "Update your system display name and contact email."))), /* @__PURE__ */ import_react89.default.createElement("form", { className: "flex flex-col gap-6 w-full max-w-5xl", onSubmit: handleSaveProfile, autoComplete: "off" }, /* @__PURE__ */ import_react89.default.createElement("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-6" }, /* @__PURE__ */ import_react89.default.createElement(TextInput, { label: "First Name", value: firstName, onChange: (v) => setFirstName(v.replace(/[^a-zA-Z\s-]/g, "").substring(0, 50)), disabled: isSavingProfile, placeholder: "First name", maxLength: 50 }), /* @__PURE__ */ import_react89.default.createElement(TextInput, { label: "Last Name", value: lastName, onChange: (v) => setLastName(v.replace(/[^a-zA-Z\s-]/g, "").substring(0, 50)), disabled: isSavingProfile, placeholder: "Last name", maxLength: 50 })), /* @__PURE__ */ import_react89.default.createElement("div", { className: "space-y-1.5 w-full" }, /* @__PURE__ */ import_react89.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Email Address"), /* @__PURE__ */ import_react89.default.createElement("input", { type: "email", value: initialEmail, disabled: true, className: "w-full pb-3 pt-3 text-sm bg-transparent text-stone-400 border-b border-stone-200 outline-none cursor-not-allowed" })), /* @__PURE__ */ import_react89.default.createElement("div", { className: "pt-4 flex items-center gap-4" }, /* @__PURE__ */ import_react89.default.createElement(ThreeDActionButton, { type: "submit", disabled: isProfileSaveDisabled, isLoading: isSavingProfile, className: "min-w-32" }, "Update Identity")))), /* @__PURE__ */ import_react89.default.createElement("div", { className: "bg-white rounded-2xl p-6 w-full flex flex-col sm:flex-row sm:items-center justify-between gap-6 border border-stone-100" }, /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex flex-col items-start max-w-sm" }, /* @__PURE__ */ import_react89.default.createElement("p", { className: "text-xs text-stone-400 tracking-[0.2em] mb-2 uppercase" }, "AI Credits Balance"), isBillingLoading ? /* @__PURE__ */ import_react89.default.createElement("div", { className: "h-8 w-32 bg-stone-100 animate-pulse rounded mt-1" }) : /* @__PURE__ */ import_react89.default.createElement("div", { className: "flex items-center gap-2 mt-1" }, /* @__PURE__ */ import_react89.default.createElement(import_react90.HugeiconsIcon, { icon: import_core_free_icons33.Coins01Icon, size: 28, className: "text-[#d97757]" }), /* @__PURE__ */ import_react89.default.createElement("span", { className: "text-3xl text-black tracking-tight" }, aiCredits)), /* @__PURE__ */ import_react89.default.createElement("p", { className: "text-xs text-stone-500 mt-4 leading-relaxed" }, "AI credits are consumed when generating intelligent summaries, transcriptions, and automated huddle insights.")), /* @__PURE__ */ import_react89.default.createElement("button", { onClick: onTopUp, className: "w-12 h-12 rounded-full border border-stone-200 flex items-center justify-center text-black hover:bg-stone-50 transition-colors outline-none shrink-0", "aria-label": "Top Up Credits" }, /* @__PURE__ */ import_react89.default.createElement(import_react90.HugeiconsIcon, { icon: import_core_free_icons33.PlusSignIcon, size: 20 })))));
5645
5642
  };
5646
5643
 
5647
5644
  // src/components/UniversalCreateHuddle.tsx
5648
- var import_react92 = __toESM(require("react"));
5645
+ var import_react91 = __toESM(require("react"));
5649
5646
  var import_react_hot_toast16 = __toESM(require("react-hot-toast"));
5650
- var import_react93 = require("@hugeicons/react");
5651
- var import_core_free_icons35 = require("@hugeicons/core-free-icons");
5647
+ var import_react92 = require("@hugeicons/react");
5648
+ var import_core_free_icons34 = require("@hugeicons/core-free-icons");
5652
5649
  var MemberAvatar4 = ({ src, sizeClass = "w-10 h-10" }) => {
5653
- const [loaded, setLoaded] = (0, import_react92.useState)(false);
5654
- const [error, setError] = (0, import_react92.useState)(false);
5650
+ const [loaded, setLoaded] = (0, import_react91.useState)(false);
5651
+ const [error, setError] = (0, import_react91.useState)(false);
5655
5652
  const defaultAvatar = "https://storage.googleapis.com/retina-cloud-v2/assets/images/avatar.avif";
5656
- return /* @__PURE__ */ import_react92.default.createElement("div", { className: `relative shrink-0 ${sizeClass}` }, /* @__PURE__ */ import_react92.default.createElement("div", { className: "w-full h-full rounded-lg bg-stone-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ import_react92.default.createElement(import_react93.HugeiconsIcon, { icon: import_core_free_icons35.Loading03Icon, className: "animate-spin text-stone-400 absolute", size: 14 }), /* @__PURE__ */ import_react92.default.createElement(
5653
+ return /* @__PURE__ */ import_react91.default.createElement("div", { className: `relative shrink-0 ${sizeClass}` }, /* @__PURE__ */ import_react91.default.createElement("div", { className: "w-full h-full rounded-lg bg-stone-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ import_react91.default.createElement(import_react92.HugeiconsIcon, { icon: import_core_free_icons34.Loading03Icon, className: "animate-spin text-stone-400 absolute", size: 14 }), /* @__PURE__ */ import_react91.default.createElement(
5657
5654
  "img",
5658
5655
  {
5659
5656
  src: error || !src ? defaultAvatar : src,
@@ -5694,28 +5691,28 @@ var UniversalCreateHuddle = ({
5694
5691
  onCreateSubmit
5695
5692
  }) => {
5696
5693
  const canManage = userRole === "ADMIN" || userRole === "MANAGER" || userRole === "OWNER";
5697
- const [huddleDate, setHuddleDate] = (0, import_react92.useState)(() => {
5694
+ const [huddleDate, setHuddleDate] = (0, import_react91.useState)(() => {
5698
5695
  const d = /* @__PURE__ */ new Date();
5699
5696
  d.setHours(d.getHours() + 1, 0, 0, 0);
5700
5697
  return d;
5701
5698
  });
5702
- const [title, setTitle] = (0, import_react92.useState)("");
5703
- const [isPrivate, setIsPrivate] = (0, import_react92.useState)(false);
5704
- const [timezone, setTimezone] = (0, import_react92.useState)("UTC");
5705
- (0, import_react92.useEffect)(() => {
5699
+ const [title, setTitle] = (0, import_react91.useState)("");
5700
+ const [isPrivate, setIsPrivate] = (0, import_react91.useState)(false);
5701
+ const [timezone, setTimezone] = (0, import_react91.useState)("UTC");
5702
+ (0, import_react91.useEffect)(() => {
5706
5703
  try {
5707
5704
  setTimezone(Intl.DateTimeFormat().resolvedOptions().timeZone);
5708
5705
  } catch (e) {
5709
5706
  }
5710
5707
  }, []);
5711
- const [calendarMode, setCalendarMode] = (0, import_react92.useState)(null);
5712
- const [showTimezoneModal, setShowTimezoneModal] = (0, import_react92.useState)(false);
5713
- const [showMembersModal, setShowMembersModal] = (0, import_react92.useState)(false);
5714
- const [selectedParticipants, setSelectedParticipants] = (0, import_react92.useState)(/* @__PURE__ */ new Set());
5715
- const [isSubmitting, setIsSubmitting] = (0, import_react92.useState)(false);
5716
- const [localSearchQuery, setLocalSearchQuery] = (0, import_react92.useState)(membersSearchQuery);
5717
- const [isTyping, setIsTyping] = (0, import_react92.useState)(false);
5718
- const typingTimer = (0, import_react92.useRef)(null);
5708
+ const [calendarMode, setCalendarMode] = (0, import_react91.useState)(null);
5709
+ const [showTimezoneModal, setShowTimezoneModal] = (0, import_react91.useState)(false);
5710
+ const [showMembersModal, setShowMembersModal] = (0, import_react91.useState)(false);
5711
+ const [selectedParticipants, setSelectedParticipants] = (0, import_react91.useState)(/* @__PURE__ */ new Set());
5712
+ const [isSubmitting, setIsSubmitting] = (0, import_react91.useState)(false);
5713
+ const [localSearchQuery, setLocalSearchQuery] = (0, import_react91.useState)(membersSearchQuery);
5714
+ const [isTyping, setIsTyping] = (0, import_react91.useState)(false);
5715
+ const typingTimer = (0, import_react91.useRef)(null);
5719
5716
  const handleSearchInput = (e) => {
5720
5717
  const val = e.target.value;
5721
5718
  setLocalSearchQuery(val);
@@ -5753,7 +5750,7 @@ var UniversalCreateHuddle = ({
5753
5750
  setIsSubmitting(false);
5754
5751
  }
5755
5752
  };
5756
- return /* @__PURE__ */ import_react92.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ import_react92.default.createElement(ManagedToaster, null), /* @__PURE__ */ import_react92.default.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ import_react92.default.createElement("a", { href: onBackHref, className: "flex items-center gap-2 text-[#d97757] hover:text-[#d97757] transition-colors text-sm outline-none" }, /* @__PURE__ */ import_react92.default.createElement(import_react93.HugeiconsIcon, { icon: import_core_free_icons35.ArrowLeft01Icon, size: 16 }), " Back")), /* @__PURE__ */ import_react92.default.createElement("div", { className: "flex flex-col gap-1 mb-8 px-1" }, /* @__PURE__ */ import_react92.default.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Create Huddle"), /* @__PURE__ */ import_react92.default.createElement("p", { className: "text-xs text-stone-500" }, "Schedule a new workspace huddle and manage participant access.")), /* @__PURE__ */ import_react92.default.createElement("div", { className: "flex flex-col gap-8 animate-in rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ import_react92.default.createElement("form", { className: "flex flex-col gap-8", onSubmit: handleSubmit, autoComplete: "off" }, !canManage && /* @__PURE__ */ import_react92.default.createElement("div", { className: "flex items-start gap-3 p-4 bg-stone-50 rounded-xl" }, /* @__PURE__ */ import_react92.default.createElement(import_react93.HugeiconsIcon, { icon: import_core_free_icons35.CircleLock02Icon, size: 20, className: "text-stone-500 shrink-0 mt-0.5" }), /* @__PURE__ */ import_react92.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ import_react92.default.createElement("span", { className: "text-sm text-black tracking-tight" }, "Access Restricted"), /* @__PURE__ */ import_react92.default.createElement("span", { className: "text-xs text-stone-500 mt-1 leading-relaxed" }, "You do not have sufficient permissions to access this page. Contact organization admin or manager."))), /* @__PURE__ */ import_react92.default.createElement(
5753
+ return /* @__PURE__ */ import_react91.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ import_react91.default.createElement(ManagedToaster, null), /* @__PURE__ */ import_react91.default.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ import_react91.default.createElement("a", { href: onBackHref, className: "flex items-center gap-2 text-[#d97757] hover:text-[#d97757] transition-colors text-sm outline-none" }, /* @__PURE__ */ import_react91.default.createElement(import_react92.HugeiconsIcon, { icon: import_core_free_icons34.ArrowLeft01Icon, size: 16 }), " Back")), /* @__PURE__ */ import_react91.default.createElement("div", { className: "flex flex-col gap-1 mb-8 px-1" }, /* @__PURE__ */ import_react91.default.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Create Huddle"), /* @__PURE__ */ import_react91.default.createElement("p", { className: "text-xs text-stone-500" }, "Schedule a new workspace huddle and manage participant access.")), /* @__PURE__ */ import_react91.default.createElement("div", { className: "flex flex-col gap-8 animate-in rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ import_react91.default.createElement("form", { className: "flex flex-col gap-8", onSubmit: handleSubmit, autoComplete: "off" }, !canManage && /* @__PURE__ */ import_react91.default.createElement("div", { className: "flex items-start gap-3 p-4 bg-stone-50 rounded-xl" }, /* @__PURE__ */ import_react91.default.createElement(import_react92.HugeiconsIcon, { icon: import_core_free_icons34.CircleLock02Icon, size: 20, className: "text-stone-500 shrink-0 mt-0.5" }), /* @__PURE__ */ import_react91.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ import_react91.default.createElement("span", { className: "text-sm text-black tracking-tight" }, "Access Restricted"), /* @__PURE__ */ import_react91.default.createElement("span", { className: "text-xs text-stone-500 mt-1 leading-relaxed" }, "You do not have sufficient permissions to access this page. Contact organization admin or manager."))), /* @__PURE__ */ import_react91.default.createElement(
5757
5754
  TextInput,
5758
5755
  {
5759
5756
  label: "Huddle Subject",
@@ -5763,31 +5760,31 @@ var UniversalCreateHuddle = ({
5763
5760
  placeholder: "e.g. Q4 Engineering Sync",
5764
5761
  maxLength: 80
5765
5762
  }
5766
- ), /* @__PURE__ */ import_react92.default.createElement("div", { className: "grid grid-cols-1 sm:grid-cols-3 gap-6" }, /* @__PURE__ */ import_react92.default.createElement("div", { className: "space-y-1.5 w-full" }, /* @__PURE__ */ import_react92.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Date"), /* @__PURE__ */ import_react92.default.createElement(
5763
+ ), /* @__PURE__ */ import_react91.default.createElement("div", { className: "grid grid-cols-1 sm:grid-cols-3 gap-6" }, /* @__PURE__ */ import_react91.default.createElement("div", { className: "space-y-1.5 w-full" }, /* @__PURE__ */ import_react91.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Date"), /* @__PURE__ */ import_react91.default.createElement(
5767
5764
  "div",
5768
5765
  {
5769
5766
  onClick: () => canManage && !isSubmitting && setCalendarMode("DATE"),
5770
5767
  className: `flex items-center relative w-full border-b border-stone-200 transition-all duration-300 pb-3 pt-3 ${!canManage || isSubmitting ? "opacity-50 pointer-events-none" : "hover:border-black cursor-pointer"}`
5771
5768
  },
5772
- /* @__PURE__ */ import_react92.default.createElement(import_react93.HugeiconsIcon, { icon: import_core_free_icons35.Calendar01Icon, size: 16, className: "text-stone-400 absolute left-0" }),
5773
- /* @__PURE__ */ import_react92.default.createElement("span", { className: "w-full pl-8 text-sm text-black truncate block" }, huddleDate.toLocaleDateString("en-GB", { day: "2-digit", month: "short", year: "numeric" }))
5774
- )), /* @__PURE__ */ import_react92.default.createElement("div", { className: "space-y-1.5 w-full" }, /* @__PURE__ */ import_react92.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Time"), /* @__PURE__ */ import_react92.default.createElement(
5769
+ /* @__PURE__ */ import_react91.default.createElement(import_react92.HugeiconsIcon, { icon: import_core_free_icons34.Calendar01Icon, size: 16, className: "text-stone-400 absolute left-0" }),
5770
+ /* @__PURE__ */ import_react91.default.createElement("span", { className: "w-full pl-8 text-sm text-black truncate block" }, huddleDate.toLocaleDateString("en-GB", { day: "2-digit", month: "short", year: "numeric" }))
5771
+ )), /* @__PURE__ */ import_react91.default.createElement("div", { className: "space-y-1.5 w-full" }, /* @__PURE__ */ import_react91.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Time"), /* @__PURE__ */ import_react91.default.createElement(
5775
5772
  "div",
5776
5773
  {
5777
5774
  onClick: () => canManage && !isSubmitting && setCalendarMode("TIME"),
5778
5775
  className: `flex items-center relative w-full border-b border-stone-200 transition-all duration-300 pb-3 pt-3 ${!canManage || isSubmitting ? "opacity-50 pointer-events-none" : "hover:border-black cursor-pointer"}`
5779
5776
  },
5780
- /* @__PURE__ */ import_react92.default.createElement(import_react93.HugeiconsIcon, { icon: import_core_free_icons35.Clock01Icon, size: 16, className: "text-stone-400 absolute left-0" }),
5781
- /* @__PURE__ */ import_react92.default.createElement("span", { className: "w-full pl-8 text-sm text-black truncate block" }, huddleDate.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }))
5782
- )), /* @__PURE__ */ import_react92.default.createElement("div", { className: "space-y-1.5 w-full" }, /* @__PURE__ */ import_react92.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Timezone"), /* @__PURE__ */ import_react92.default.createElement(
5777
+ /* @__PURE__ */ import_react91.default.createElement(import_react92.HugeiconsIcon, { icon: import_core_free_icons34.Clock01Icon, size: 16, className: "text-stone-400 absolute left-0" }),
5778
+ /* @__PURE__ */ import_react91.default.createElement("span", { className: "w-full pl-8 text-sm text-black truncate block" }, huddleDate.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }))
5779
+ )), /* @__PURE__ */ import_react91.default.createElement("div", { className: "space-y-1.5 w-full" }, /* @__PURE__ */ import_react91.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Timezone"), /* @__PURE__ */ import_react91.default.createElement(
5783
5780
  "div",
5784
5781
  {
5785
5782
  onClick: () => canManage && !isSubmitting && setShowTimezoneModal(true),
5786
5783
  className: `flex items-center relative w-full border-b border-stone-200 transition-all duration-300 pb-3 pt-3 ${!canManage || isSubmitting ? "opacity-50 pointer-events-none" : "hover:border-black cursor-pointer"}`
5787
5784
  },
5788
- /* @__PURE__ */ import_react92.default.createElement(import_react93.HugeiconsIcon, { icon: import_core_free_icons35.Globe02Icon, size: 16, className: "text-stone-400 absolute left-0" }),
5789
- /* @__PURE__ */ import_react92.default.createElement("span", { className: "w-full pl-8 text-sm text-black truncate block" }, timezone)
5790
- ))), /* @__PURE__ */ import_react92.default.createElement("div", { className: `flex items-center justify-between py-2 mt-2 ${!canManage ? "opacity-50 pointer-events-none" : ""}` }, /* @__PURE__ */ import_react92.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ import_react92.default.createElement("span", { className: "text-sm text-black tracking-tight" }, "Private Huddle"), /* @__PURE__ */ import_react92.default.createElement("span", { className: "text-xs text-stone-500" }, "Only invited members can join.")), /* @__PURE__ */ import_react92.default.createElement(
5785
+ /* @__PURE__ */ import_react91.default.createElement(import_react92.HugeiconsIcon, { icon: import_core_free_icons34.Globe02Icon, size: 16, className: "text-stone-400 absolute left-0" }),
5786
+ /* @__PURE__ */ import_react91.default.createElement("span", { className: "w-full pl-8 text-sm text-black truncate block" }, timezone)
5787
+ ))), /* @__PURE__ */ import_react91.default.createElement("div", { className: `flex items-center justify-between py-2 mt-2 ${!canManage ? "opacity-50 pointer-events-none" : ""}` }, /* @__PURE__ */ import_react91.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ import_react91.default.createElement("span", { className: "text-sm text-black tracking-tight" }, "Private Huddle"), /* @__PURE__ */ import_react91.default.createElement("span", { className: "text-xs text-stone-500" }, "Only invited members can join.")), /* @__PURE__ */ import_react91.default.createElement(
5791
5788
  "button",
5792
5789
  {
5793
5790
  type: "button",
@@ -5795,8 +5792,8 @@ var UniversalCreateHuddle = ({
5795
5792
  disabled: !canManage || isSubmitting,
5796
5793
  className: `relative w-11 h-6 rounded-full transition-colors outline-none shrink-0 ${isPrivate ? "bg-[#d97757]" : "bg-stone-200"}`
5797
5794
  },
5798
- /* @__PURE__ */ import_react92.default.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"}` })
5799
- )), isPrivate && /* @__PURE__ */ import_react92.default.createElement("div", { className: `flex items-center justify-between animate-in fade-in zoom-in-95 duration-200 bg-stone-50 p-4 rounded-xl ${!canManage ? "opacity-50" : ""}` }, /* @__PURE__ */ import_react92.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ import_react92.default.createElement("span", { className: "text-xs text-black tracking-tight" }, "Participants"), /* @__PURE__ */ import_react92.default.createElement("span", { className: "text-xs text-[#d97757] " }, selectedParticipants.size === 0 ? "0 added" : selectedParticipants.size >= 1e3 ? `${(selectedParticipants.size / 1e3).toFixed(1)}k+ added` : `${selectedParticipants.size} added`)), /* @__PURE__ */ import_react92.default.createElement(
5795
+ /* @__PURE__ */ import_react91.default.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"}` })
5796
+ )), isPrivate && /* @__PURE__ */ import_react91.default.createElement("div", { className: `flex items-center justify-between animate-in fade-in zoom-in-95 duration-200 bg-stone-50 p-4 rounded-xl ${!canManage ? "opacity-50" : ""}` }, /* @__PURE__ */ import_react91.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ import_react91.default.createElement("span", { className: "text-xs text-black tracking-tight" }, "Participants"), /* @__PURE__ */ import_react91.default.createElement("span", { className: "text-xs text-[#d97757] " }, selectedParticipants.size === 0 ? "0 added" : selectedParticipants.size >= 1e3 ? `${(selectedParticipants.size / 1e3).toFixed(1)}k+ added` : `${selectedParticipants.size} added`)), /* @__PURE__ */ import_react91.default.createElement(
5800
5797
  "button",
5801
5798
  {
5802
5799
  type: "button",
@@ -5805,7 +5802,7 @@ var UniversalCreateHuddle = ({
5805
5802
  className: "px-4 py-2 border border-stone-200 text-black text-xs tracking-wide rounded-full hover:bg-white transition-colors outline-none bg-transparent disabled:cursor-not-allowed"
5806
5803
  },
5807
5804
  "Manage Access"
5808
- )), canManage && /* @__PURE__ */ import_react92.default.createElement("div", { className: "pt-6" }, /* @__PURE__ */ import_react92.default.createElement(
5805
+ )), canManage && /* @__PURE__ */ import_react91.default.createElement("div", { className: "pt-6" }, /* @__PURE__ */ import_react91.default.createElement(
5809
5806
  ThreeDActionButton,
5810
5807
  {
5811
5808
  type: "submit",
@@ -5814,7 +5811,7 @@ var UniversalCreateHuddle = ({
5814
5811
  className: "w-full sm:w-auto min-w-40"
5815
5812
  },
5816
5813
  "Schedule Huddle"
5817
- )))), canManage && /* @__PURE__ */ import_react92.default.createElement(import_react92.default.Fragment, null, /* @__PURE__ */ import_react92.default.createElement(
5814
+ )))), canManage && /* @__PURE__ */ import_react91.default.createElement(import_react91.default.Fragment, null, /* @__PURE__ */ import_react91.default.createElement(
5818
5815
  CalendarPicker,
5819
5816
  {
5820
5817
  isOpen: calendarMode !== null,
@@ -5823,7 +5820,7 @@ var UniversalCreateHuddle = ({
5823
5820
  defaultMode: calendarMode || "DATE",
5824
5821
  onConfirm: (d) => setHuddleDate(d)
5825
5822
  }
5826
- ), /* @__PURE__ */ import_react92.default.createElement(
5823
+ ), /* @__PURE__ */ import_react91.default.createElement(
5827
5824
  ReusableOptions,
5828
5825
  {
5829
5826
  isOpen: showTimezoneModal,
@@ -5834,7 +5831,7 @@ var UniversalCreateHuddle = ({
5834
5831
  onSelect: (tz) => setTimezone(tz),
5835
5832
  showSearch: true
5836
5833
  }
5837
- )), showMembersModal && canManage && /* @__PURE__ */ import_react92.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react92.default.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowMembersModal(false) }), /* @__PURE__ */ import_react92.default.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__ */ import_react92.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ import_react92.default.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Select Participants"), /* @__PURE__ */ import_react92.default.createElement("button", { onClick: () => setShowMembersModal(false), className: "text-[#d97757] hover:text-[#d97757] transition-colors outline-none text-sm " }, "Done")), /* @__PURE__ */ import_react92.default.createElement("div", { className: "p-4 shrink-0 " }, /* @__PURE__ */ import_react92.default.createElement("div", { className: "relative w-full" }, /* @__PURE__ */ import_react92.default.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ import_react92.default.createElement(import_react93.HugeiconsIcon, { icon: import_core_free_icons35.Search01Icon, size: 16, className: "text-stone-400" })), /* @__PURE__ */ import_react92.default.createElement(
5834
+ )), showMembersModal && canManage && /* @__PURE__ */ import_react91.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react91.default.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowMembersModal(false) }), /* @__PURE__ */ import_react91.default.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__ */ import_react91.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ import_react91.default.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Select Participants"), /* @__PURE__ */ import_react91.default.createElement("button", { onClick: () => setShowMembersModal(false), className: "text-[#d97757] hover:text-[#d97757] transition-colors outline-none text-sm " }, "Done")), /* @__PURE__ */ import_react91.default.createElement("div", { className: "p-4 shrink-0 " }, /* @__PURE__ */ import_react91.default.createElement("div", { className: "relative w-full" }, /* @__PURE__ */ import_react91.default.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ import_react91.default.createElement(import_react92.HugeiconsIcon, { icon: import_core_free_icons34.Search01Icon, size: 16, className: "text-stone-400" })), /* @__PURE__ */ import_react91.default.createElement(
5838
5835
  "input",
5839
5836
  {
5840
5837
  type: "text",
@@ -5843,34 +5840,34 @@ var UniversalCreateHuddle = ({
5843
5840
  onChange: handleSearchInput,
5844
5841
  className: "w-full pl-10 pr-4 py-2.5 bg-stone-100 rounded-full text-sm text-black placeholder-stone-400 outline-none focus:bg-stone-200 transition-colors"
5845
5842
  }
5846
- ))), /* @__PURE__ */ import_react92.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2 relative" }, isMembersLoading || isTyping ? /* @__PURE__ */ import_react92.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center" }, /* @__PURE__ */ import_react92.default.createElement(import_react93.HugeiconsIcon, { icon: import_core_free_icons35.Loading03Icon, size: 28, className: "animate-spin text-black" })) : members.length === 0 ? /* @__PURE__ */ import_react92.default.createElement("div", { className: "p-8 text-center text-xs text-stone-400" }, "No members found.") : members.map((member) => {
5843
+ ))), /* @__PURE__ */ import_react91.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2 relative" }, isMembersLoading || isTyping ? /* @__PURE__ */ import_react91.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center" }, /* @__PURE__ */ import_react91.default.createElement(import_react92.HugeiconsIcon, { icon: import_core_free_icons34.Loading03Icon, size: 28, className: "animate-spin text-black" })) : members.length === 0 ? /* @__PURE__ */ import_react91.default.createElement("div", { className: "p-8 text-center text-xs text-stone-400" }, "No members found.") : members.map((member) => {
5847
5844
  const isChecked = selectedParticipants.has(member.userId);
5848
- return /* @__PURE__ */ import_react92.default.createElement(
5845
+ return /* @__PURE__ */ import_react91.default.createElement(
5849
5846
  "div",
5850
5847
  {
5851
5848
  key: member.id,
5852
5849
  onClick: () => toggleParticipant(member.userId),
5853
5850
  className: "flex items-center justify-between p-3 rounded-xl cursor-pointer hover:bg-stone-50 transition-colors select-none"
5854
5851
  },
5855
- /* @__PURE__ */ import_react92.default.createElement("div", { className: "flex items-center gap-3 min-w-0 flex-1" }, /* @__PURE__ */ import_react92.default.createElement(MemberAvatar4, { src: member.avatarUrl, sizeClass: "w-9 h-9" }), /* @__PURE__ */ import_react92.default.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ import_react92.default.createElement("span", { className: "text-sm text-black truncate" }, member.fullName), /* @__PURE__ */ import_react92.default.createElement("span", { className: "text-xs text-stone-400 capitalize truncate" }, member.role.toLowerCase()))),
5856
- /* @__PURE__ */ import_react92.default.createElement("div", { className: "shrink-0 pl-3" }, /* @__PURE__ */ import_react92.default.createElement("div", { className: `w-5 h-5 rounded-full flex items-center justify-center transition-colors ${isChecked ? "bg-[#d97757]" : "border border-stone-300 bg-white"}` }, isChecked && /* @__PURE__ */ import_react92.default.createElement(import_react93.HugeiconsIcon, { icon: import_core_free_icons35.Tick02Icon, size: 14, className: "text-white" })))
5852
+ /* @__PURE__ */ import_react91.default.createElement("div", { className: "flex items-center gap-3 min-w-0 flex-1" }, /* @__PURE__ */ import_react91.default.createElement(MemberAvatar4, { src: member.avatarUrl, sizeClass: "w-9 h-9" }), /* @__PURE__ */ import_react91.default.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ import_react91.default.createElement("span", { className: "text-sm text-black truncate" }, member.fullName), /* @__PURE__ */ import_react91.default.createElement("span", { className: "text-xs text-stone-400 capitalize truncate" }, member.role.toLowerCase()))),
5853
+ /* @__PURE__ */ import_react91.default.createElement("div", { className: "shrink-0 pl-3" }, /* @__PURE__ */ import_react91.default.createElement("div", { className: `w-5 h-5 rounded-full flex items-center justify-center transition-colors ${isChecked ? "bg-[#d97757]" : "border border-stone-300 bg-white"}` }, isChecked && /* @__PURE__ */ import_react91.default.createElement(import_react92.HugeiconsIcon, { icon: import_core_free_icons34.Tick02Icon, size: 14, className: "text-white" })))
5857
5854
  );
5858
- })), /* @__PURE__ */ import_react92.default.createElement("div", { className: "p-4 flex items-center justify-between shrink-0 bg-white" }, /* @__PURE__ */ import_react92.default.createElement("span", { className: "text-xs text-stone-400 tracking-widest" }, "Page ", membersCurrentPage, " of ", membersTotalPages === 0 ? 1 : membersTotalPages), /* @__PURE__ */ import_react92.default.createElement("div", { className: "flex gap-1" }, /* @__PURE__ */ import_react92.default.createElement(
5855
+ })), /* @__PURE__ */ import_react91.default.createElement("div", { className: "p-4 flex items-center justify-between shrink-0 bg-white" }, /* @__PURE__ */ import_react91.default.createElement("span", { className: "text-xs text-stone-400 tracking-widest" }, "Page ", membersCurrentPage, " of ", membersTotalPages === 0 ? 1 : membersTotalPages), /* @__PURE__ */ import_react91.default.createElement("div", { className: "flex gap-1" }, /* @__PURE__ */ import_react91.default.createElement(
5859
5856
  "button",
5860
5857
  {
5861
5858
  disabled: membersCurrentPage <= 1 || isMembersLoading,
5862
5859
  onClick: () => onMembersPageChange(membersCurrentPage - 1),
5863
5860
  className: "w-7 h-7 flex items-center justify-center rounded-full bg-white border border-stone-200 text-stone-600 disabled:opacity-30 outline-none hover:bg-stone-50 transition-colors"
5864
5861
  },
5865
- /* @__PURE__ */ import_react92.default.createElement(import_react93.HugeiconsIcon, { icon: import_core_free_icons35.ArrowLeft01Icon, size: 12 })
5866
- ), /* @__PURE__ */ import_react92.default.createElement(
5862
+ /* @__PURE__ */ import_react91.default.createElement(import_react92.HugeiconsIcon, { icon: import_core_free_icons34.ArrowLeft01Icon, size: 12 })
5863
+ ), /* @__PURE__ */ import_react91.default.createElement(
5867
5864
  "button",
5868
5865
  {
5869
5866
  disabled: membersCurrentPage >= membersTotalPages || membersTotalPages === 0 || isMembersLoading,
5870
5867
  onClick: () => onMembersPageChange(membersCurrentPage + 1),
5871
5868
  className: "w-7 h-7 flex items-center justify-center rounded-full bg-white border border-stone-200 text-stone-600 disabled:opacity-30 outline-none hover:bg-stone-50 transition-colors"
5872
5869
  },
5873
- /* @__PURE__ */ import_react92.default.createElement(import_react93.HugeiconsIcon, { icon: import_core_free_icons35.ArrowRight01Icon, size: 12 })
5870
+ /* @__PURE__ */ import_react91.default.createElement(import_react92.HugeiconsIcon, { icon: import_core_free_icons34.ArrowRight01Icon, size: 12 })
5874
5871
  ))))));
5875
5872
  };
5876
5873
  // Annotate the CommonJS export names for ESM import in node: