@retinalabsllc/zairusjs 16.1.80 → 16.1.95

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -780,6 +780,8 @@ interface ContentGridBlockProps {
780
780
  bgColor_2?: string;
781
781
  bgDeco_1?: string;
782
782
  bgDeco_2?: string;
783
+ bgDecoRotation_1?: string;
784
+ bgDecoRotation_2?: string;
783
785
  }
784
786
  declare const ContentGridBlock: React.FC<ContentGridBlockProps>;
785
787
 
@@ -976,24 +978,25 @@ interface UniversalBuyCryptoPageProps {
976
978
  }
977
979
  declare const UniversalBuyCryptoPage: React.FC<UniversalBuyCryptoPageProps>;
978
980
 
979
- interface UniversalDepartment {
981
+ interface UniversalHuddle {
980
982
  id: string;
981
983
  name: string;
982
- totalMembers: number;
983
- avatars: string[];
984
+ status: string;
985
+ imageUrl?: string | null;
986
+ timeString: string;
984
987
  }
985
- interface UniversalDepartmentsPageProps {
988
+ interface UniversalHuddlesPageProps {
986
989
  headerTitle: string;
987
990
  headerDescription: string;
988
- departments: UniversalDepartment[];
991
+ huddles: UniversalHuddle[];
989
992
  isLoading: boolean;
990
993
  currentPage: number;
991
994
  totalPages: number;
992
995
  onPageChange: (page: number) => void;
993
- onDepartmentClick: (departmentId: string) => void;
994
- onCreateDepartment?: (name: string) => Promise<void>;
996
+ onHuddleClick: (huddleId: string) => void;
997
+ onCreateHuddle?: () => void;
995
998
  }
996
- declare const UniversalDepartmentsPage: React.FC<UniversalDepartmentsPageProps>;
999
+ declare const UniversalHuddlesPage: React.FC<UniversalHuddlesPageProps>;
997
1000
 
998
1001
  interface UniversalMember {
999
1002
  id: string;
@@ -1063,7 +1066,7 @@ interface UniversalHome2Props {
1063
1066
  onResolveInvite?: (notif: NotificationItem2, resolution: 'ACCEPTED' | 'REJECTED') => Promise<void>;
1064
1067
  formatNotifDate: (date: string | Date) => string;
1065
1068
  customContent?: React.ReactNode;
1066
- departmentsProps: UniversalDepartmentsPageProps;
1069
+ huddlesProps: UniversalHuddlesPageProps;
1067
1070
  onLogout?: () => Promise<void>;
1068
1071
  }
1069
1072
  declare const UniversalHome2: React.FC<UniversalHome2Props>;
@@ -1075,7 +1078,6 @@ interface UniversalMember2 {
1075
1078
  avatarUrl?: string | null;
1076
1079
  status: 'ACTIVE' | 'BUSY' | 'AWAY' | 'OFFLINE' | string;
1077
1080
  role: string;
1078
- departmentName?: string;
1079
1081
  }
1080
1082
  interface UniversalSettingsProps {
1081
1083
  accountType: 'INDIVIDUAL' | 'ORGANIZATION';
@@ -1113,4 +1115,4 @@ interface UniversalSettingsProps {
1113
1115
  }
1114
1116
  declare const UniversalSettings: React.FC<UniversalSettingsProps>;
1115
1117
 
1116
- export { AppBento2, type AppBento2Props, type BannerProps, type BarIconProps, type BentoFeature, type BoardMember, type CardData, CardInfoDialog, type CardInfoDialogProps, type CompanyDetails, type ConsultantProfile, ConsultantShowcase, type ConsultantShowcaseProps, ContentGridBlock, type ContentGridBlockProps, type CryptoOption, type DocumentSectionData, type EmailContact, Faq, type FaqItem, type FaqProps, FeatureScroll, type FeatureScrollProps, type FiatCurrencyOption, Footer, type FooterColumn, type FooterLink, type FooterProps, FundCardDialog, type FundCardDialogProps, GifFeatureCard, type GifFeatureCardProps, Header, type HeaderLink, type HeaderProps, type AppLogo$1 as HeroAppLogo, HeroSection, type HeroSectionProps, type HomeActionBtn, type HomeActionBtn2, type LeaderboardItem, ManagedBoardBlock, type ManagedBoardBlockProps, ManagedContactBlock, type ManagedContactBlockProps, ManagedDocument, type ManagedDocumentProps, ManagedNewsletterSplitBlock, type ManagedNewsletterSplitBlockProps, ManagedNotFoundBlock, type ManagedNotFoundBlockProps, ManagedPricingBlock, type ManagedPricingBlockProps, ManagedProjectsBlock, type ManagedProjectsBlockProps, ManagedToaster, MedicalFeatureStatsBlock, MobileNav, type MobileNavItem, type MobileNavProps, type NavItem, type NetworkOption, type NotificationItem, type NotificationItem2, NumberInput, type NumberInputProps, PageSpinner, type PageSpinnerProps, PinDialerBottomSheet, type PinDialerBottomSheetProps, PipleAuth, type PipleAuthProps, type PlatformFeatureItem, PlatformFeatures, type PlatformFeaturesProps, PortfolioHero, type PortfolioHeroProps, type AppLogo as PricingAppLogo, type PricingFeature, type PricingFeature2, type PricingPlan, type PricingTab, type ProjectItem, type RateCalculationPayload, type ReferralProfile, type RewardItem, type RewardProfile, type ScrollFeature, type SocialContact, type SocialLink, type StatItem, TextInput, type TextInputProps, ThreeDActionButton, type ThreeDActionButtonProps, ThreeDButton, type ThreeDButtonProps, type TierOption, UniversalBuyCryptoPage, type UniversalBuyCryptoPageProps, UniversalCardActionPage, type UniversalCardActionPageProps, UniversalCardPage, type UniversalCardPageProps, type UniversalDepartment, UniversalDepartmentsPage, type UniversalDepartmentsPageProps, UniversalErrorView, type UniversalErrorViewProps, UniversalHome2, type UniversalHome2Props, UniversalHomeView, type UniversalHomeViewProps, type UniversalMember, type UniversalMember2, UniversalMembersPage, type UniversalMembersPageProps, UniversalOrganizationPage, type UniversalOrganizationPageProps, UniversalProfilePage, type UniversalProfilePageProps, UniversalProfileSettings, type UniversalProfileSettingsProps, type UniversalReferralItem, UniversalReferralPage, type UniversalReferralPageProps, UniversalRewardPage, type UniversalRewardPageProps, UniversalSecurityPage, type UniversalSecurityPageProps, UniversalSettings, type UniversalSettingsProps, UniversalSidebar, type UniversalSidebarProps, type UniversalTransaction, UniversalTransactionPage, type UniversalTransactionPageProps, UniversalVerificationPage, type UniversalVerificationPageProps, type UniversalWallet, UniversalWalletPage, type UniversalWalletPageProps, type VerificationStatus, WaitlistDialog, type WaitlistDialogProps };
1118
+ export { AppBento2, type AppBento2Props, type BannerProps, type BarIconProps, type BentoFeature, type BoardMember, type CardData, CardInfoDialog, type CardInfoDialogProps, type CompanyDetails, type ConsultantProfile, ConsultantShowcase, type ConsultantShowcaseProps, ContentGridBlock, type ContentGridBlockProps, type CryptoOption, type DocumentSectionData, type EmailContact, Faq, type FaqItem, type FaqProps, FeatureScroll, type FeatureScrollProps, type FiatCurrencyOption, Footer, type FooterColumn, type FooterLink, type FooterProps, FundCardDialog, type FundCardDialogProps, GifFeatureCard, type GifFeatureCardProps, Header, type HeaderLink, type HeaderProps, type AppLogo$1 as HeroAppLogo, HeroSection, type HeroSectionProps, type HomeActionBtn, type HomeActionBtn2, type LeaderboardItem, ManagedBoardBlock, type ManagedBoardBlockProps, ManagedContactBlock, type ManagedContactBlockProps, ManagedDocument, type ManagedDocumentProps, ManagedNewsletterSplitBlock, type ManagedNewsletterSplitBlockProps, ManagedNotFoundBlock, type ManagedNotFoundBlockProps, ManagedPricingBlock, type ManagedPricingBlockProps, ManagedProjectsBlock, type ManagedProjectsBlockProps, ManagedToaster, MedicalFeatureStatsBlock, MobileNav, type MobileNavItem, type MobileNavProps, type NavItem, type NetworkOption, type NotificationItem, type NotificationItem2, NumberInput, type NumberInputProps, PageSpinner, type PageSpinnerProps, PinDialerBottomSheet, type PinDialerBottomSheetProps, PipleAuth, type PipleAuthProps, type PlatformFeatureItem, PlatformFeatures, type PlatformFeaturesProps, PortfolioHero, type PortfolioHeroProps, type AppLogo as PricingAppLogo, type PricingFeature, type PricingFeature2, type PricingPlan, type PricingTab, type ProjectItem, type RateCalculationPayload, type ReferralProfile, type RewardItem, type RewardProfile, type ScrollFeature, type SocialContact, type SocialLink, type StatItem, TextInput, type TextInputProps, ThreeDActionButton, type ThreeDActionButtonProps, ThreeDButton, type ThreeDButtonProps, type TierOption, UniversalBuyCryptoPage, type UniversalBuyCryptoPageProps, UniversalCardActionPage, type UniversalCardActionPageProps, UniversalCardPage, type UniversalCardPageProps, UniversalErrorView, type UniversalErrorViewProps, UniversalHome2, type UniversalHome2Props, UniversalHomeView, type UniversalHomeViewProps, type UniversalHuddle, UniversalHuddlesPage, type UniversalHuddlesPageProps, type UniversalMember, type UniversalMember2, UniversalMembersPage, type UniversalMembersPageProps, UniversalOrganizationPage, type UniversalOrganizationPageProps, UniversalProfilePage, type UniversalProfilePageProps, UniversalProfileSettings, type UniversalProfileSettingsProps, type UniversalReferralItem, UniversalReferralPage, type UniversalReferralPageProps, UniversalRewardPage, type UniversalRewardPageProps, UniversalSecurityPage, type UniversalSecurityPageProps, UniversalSettings, type UniversalSettingsProps, UniversalSidebar, type UniversalSidebarProps, type UniversalTransaction, UniversalTransactionPage, type UniversalTransactionPageProps, UniversalVerificationPage, type UniversalVerificationPageProps, type UniversalWallet, UniversalWalletPage, type UniversalWalletPageProps, type VerificationStatus, WaitlistDialog, type WaitlistDialogProps };
package/dist/index.d.ts CHANGED
@@ -780,6 +780,8 @@ interface ContentGridBlockProps {
780
780
  bgColor_2?: string;
781
781
  bgDeco_1?: string;
782
782
  bgDeco_2?: string;
783
+ bgDecoRotation_1?: string;
784
+ bgDecoRotation_2?: string;
783
785
  }
784
786
  declare const ContentGridBlock: React.FC<ContentGridBlockProps>;
785
787
 
@@ -976,24 +978,25 @@ interface UniversalBuyCryptoPageProps {
976
978
  }
977
979
  declare const UniversalBuyCryptoPage: React.FC<UniversalBuyCryptoPageProps>;
978
980
 
979
- interface UniversalDepartment {
981
+ interface UniversalHuddle {
980
982
  id: string;
981
983
  name: string;
982
- totalMembers: number;
983
- avatars: string[];
984
+ status: string;
985
+ imageUrl?: string | null;
986
+ timeString: string;
984
987
  }
985
- interface UniversalDepartmentsPageProps {
988
+ interface UniversalHuddlesPageProps {
986
989
  headerTitle: string;
987
990
  headerDescription: string;
988
- departments: UniversalDepartment[];
991
+ huddles: UniversalHuddle[];
989
992
  isLoading: boolean;
990
993
  currentPage: number;
991
994
  totalPages: number;
992
995
  onPageChange: (page: number) => void;
993
- onDepartmentClick: (departmentId: string) => void;
994
- onCreateDepartment?: (name: string) => Promise<void>;
996
+ onHuddleClick: (huddleId: string) => void;
997
+ onCreateHuddle?: () => void;
995
998
  }
996
- declare const UniversalDepartmentsPage: React.FC<UniversalDepartmentsPageProps>;
999
+ declare const UniversalHuddlesPage: React.FC<UniversalHuddlesPageProps>;
997
1000
 
998
1001
  interface UniversalMember {
999
1002
  id: string;
@@ -1063,7 +1066,7 @@ interface UniversalHome2Props {
1063
1066
  onResolveInvite?: (notif: NotificationItem2, resolution: 'ACCEPTED' | 'REJECTED') => Promise<void>;
1064
1067
  formatNotifDate: (date: string | Date) => string;
1065
1068
  customContent?: React.ReactNode;
1066
- departmentsProps: UniversalDepartmentsPageProps;
1069
+ huddlesProps: UniversalHuddlesPageProps;
1067
1070
  onLogout?: () => Promise<void>;
1068
1071
  }
1069
1072
  declare const UniversalHome2: React.FC<UniversalHome2Props>;
@@ -1075,7 +1078,6 @@ interface UniversalMember2 {
1075
1078
  avatarUrl?: string | null;
1076
1079
  status: 'ACTIVE' | 'BUSY' | 'AWAY' | 'OFFLINE' | string;
1077
1080
  role: string;
1078
- departmentName?: string;
1079
1081
  }
1080
1082
  interface UniversalSettingsProps {
1081
1083
  accountType: 'INDIVIDUAL' | 'ORGANIZATION';
@@ -1113,4 +1115,4 @@ interface UniversalSettingsProps {
1113
1115
  }
1114
1116
  declare const UniversalSettings: React.FC<UniversalSettingsProps>;
1115
1117
 
1116
- export { AppBento2, type AppBento2Props, type BannerProps, type BarIconProps, type BentoFeature, type BoardMember, type CardData, CardInfoDialog, type CardInfoDialogProps, type CompanyDetails, type ConsultantProfile, ConsultantShowcase, type ConsultantShowcaseProps, ContentGridBlock, type ContentGridBlockProps, type CryptoOption, type DocumentSectionData, type EmailContact, Faq, type FaqItem, type FaqProps, FeatureScroll, type FeatureScrollProps, type FiatCurrencyOption, Footer, type FooterColumn, type FooterLink, type FooterProps, FundCardDialog, type FundCardDialogProps, GifFeatureCard, type GifFeatureCardProps, Header, type HeaderLink, type HeaderProps, type AppLogo$1 as HeroAppLogo, HeroSection, type HeroSectionProps, type HomeActionBtn, type HomeActionBtn2, type LeaderboardItem, ManagedBoardBlock, type ManagedBoardBlockProps, ManagedContactBlock, type ManagedContactBlockProps, ManagedDocument, type ManagedDocumentProps, ManagedNewsletterSplitBlock, type ManagedNewsletterSplitBlockProps, ManagedNotFoundBlock, type ManagedNotFoundBlockProps, ManagedPricingBlock, type ManagedPricingBlockProps, ManagedProjectsBlock, type ManagedProjectsBlockProps, ManagedToaster, MedicalFeatureStatsBlock, MobileNav, type MobileNavItem, type MobileNavProps, type NavItem, type NetworkOption, type NotificationItem, type NotificationItem2, NumberInput, type NumberInputProps, PageSpinner, type PageSpinnerProps, PinDialerBottomSheet, type PinDialerBottomSheetProps, PipleAuth, type PipleAuthProps, type PlatformFeatureItem, PlatformFeatures, type PlatformFeaturesProps, PortfolioHero, type PortfolioHeroProps, type AppLogo as PricingAppLogo, type PricingFeature, type PricingFeature2, type PricingPlan, type PricingTab, type ProjectItem, type RateCalculationPayload, type ReferralProfile, type RewardItem, type RewardProfile, type ScrollFeature, type SocialContact, type SocialLink, type StatItem, TextInput, type TextInputProps, ThreeDActionButton, type ThreeDActionButtonProps, ThreeDButton, type ThreeDButtonProps, type TierOption, UniversalBuyCryptoPage, type UniversalBuyCryptoPageProps, UniversalCardActionPage, type UniversalCardActionPageProps, UniversalCardPage, type UniversalCardPageProps, type UniversalDepartment, UniversalDepartmentsPage, type UniversalDepartmentsPageProps, UniversalErrorView, type UniversalErrorViewProps, UniversalHome2, type UniversalHome2Props, UniversalHomeView, type UniversalHomeViewProps, type UniversalMember, type UniversalMember2, UniversalMembersPage, type UniversalMembersPageProps, UniversalOrganizationPage, type UniversalOrganizationPageProps, UniversalProfilePage, type UniversalProfilePageProps, UniversalProfileSettings, type UniversalProfileSettingsProps, type UniversalReferralItem, UniversalReferralPage, type UniversalReferralPageProps, UniversalRewardPage, type UniversalRewardPageProps, UniversalSecurityPage, type UniversalSecurityPageProps, UniversalSettings, type UniversalSettingsProps, UniversalSidebar, type UniversalSidebarProps, type UniversalTransaction, UniversalTransactionPage, type UniversalTransactionPageProps, UniversalVerificationPage, type UniversalVerificationPageProps, type UniversalWallet, UniversalWalletPage, type UniversalWalletPageProps, type VerificationStatus, WaitlistDialog, type WaitlistDialogProps };
1118
+ export { AppBento2, type AppBento2Props, type BannerProps, type BarIconProps, type BentoFeature, type BoardMember, type CardData, CardInfoDialog, type CardInfoDialogProps, type CompanyDetails, type ConsultantProfile, ConsultantShowcase, type ConsultantShowcaseProps, ContentGridBlock, type ContentGridBlockProps, type CryptoOption, type DocumentSectionData, type EmailContact, Faq, type FaqItem, type FaqProps, FeatureScroll, type FeatureScrollProps, type FiatCurrencyOption, Footer, type FooterColumn, type FooterLink, type FooterProps, FundCardDialog, type FundCardDialogProps, GifFeatureCard, type GifFeatureCardProps, Header, type HeaderLink, type HeaderProps, type AppLogo$1 as HeroAppLogo, HeroSection, type HeroSectionProps, type HomeActionBtn, type HomeActionBtn2, type LeaderboardItem, ManagedBoardBlock, type ManagedBoardBlockProps, ManagedContactBlock, type ManagedContactBlockProps, ManagedDocument, type ManagedDocumentProps, ManagedNewsletterSplitBlock, type ManagedNewsletterSplitBlockProps, ManagedNotFoundBlock, type ManagedNotFoundBlockProps, ManagedPricingBlock, type ManagedPricingBlockProps, ManagedProjectsBlock, type ManagedProjectsBlockProps, ManagedToaster, MedicalFeatureStatsBlock, MobileNav, type MobileNavItem, type MobileNavProps, type NavItem, type NetworkOption, type NotificationItem, type NotificationItem2, NumberInput, type NumberInputProps, PageSpinner, type PageSpinnerProps, PinDialerBottomSheet, type PinDialerBottomSheetProps, PipleAuth, type PipleAuthProps, type PlatformFeatureItem, PlatformFeatures, type PlatformFeaturesProps, PortfolioHero, type PortfolioHeroProps, type AppLogo as PricingAppLogo, type PricingFeature, type PricingFeature2, type PricingPlan, type PricingTab, type ProjectItem, type RateCalculationPayload, type ReferralProfile, type RewardItem, type RewardProfile, type ScrollFeature, type SocialContact, type SocialLink, type StatItem, TextInput, type TextInputProps, ThreeDActionButton, type ThreeDActionButtonProps, ThreeDButton, type ThreeDButtonProps, type TierOption, UniversalBuyCryptoPage, type UniversalBuyCryptoPageProps, UniversalCardActionPage, type UniversalCardActionPageProps, UniversalCardPage, type UniversalCardPageProps, UniversalErrorView, type UniversalErrorViewProps, UniversalHome2, type UniversalHome2Props, UniversalHomeView, type UniversalHomeViewProps, type UniversalHuddle, UniversalHuddlesPage, type UniversalHuddlesPageProps, type UniversalMember, type UniversalMember2, UniversalMembersPage, type UniversalMembersPageProps, UniversalOrganizationPage, type UniversalOrganizationPageProps, UniversalProfilePage, type UniversalProfilePageProps, UniversalProfileSettings, type UniversalProfileSettingsProps, type UniversalReferralItem, UniversalReferralPage, type UniversalReferralPageProps, UniversalRewardPage, type UniversalRewardPageProps, UniversalSecurityPage, type UniversalSecurityPageProps, UniversalSettings, type UniversalSettingsProps, UniversalSidebar, type UniversalSidebarProps, type UniversalTransaction, UniversalTransactionPage, type UniversalTransactionPageProps, UniversalVerificationPage, type UniversalVerificationPageProps, type UniversalWallet, UniversalWalletPage, type UniversalWalletPageProps, type VerificationStatus, WaitlistDialog, type WaitlistDialogProps };
package/dist/index.js CHANGED
@@ -64,10 +64,10 @@ __export(index_exports, {
64
64
  UniversalBuyCryptoPage: () => UniversalBuyCryptoPage,
65
65
  UniversalCardActionPage: () => UniversalCardActionPage,
66
66
  UniversalCardPage: () => UniversalCardPage,
67
- UniversalDepartmentsPage: () => UniversalDepartmentsPage,
68
67
  UniversalErrorView: () => UniversalErrorView,
69
68
  UniversalHome2: () => UniversalHome2,
70
69
  UniversalHomeView: () => UniversalHomeView,
70
+ UniversalHuddlesPage: () => UniversalHuddlesPage,
71
71
  UniversalMembersPage: () => UniversalMembersPage,
72
72
  UniversalOrganizationPage: () => UniversalOrganizationPage,
73
73
  UniversalProfilePage: () => UniversalProfilePage,
@@ -1700,7 +1700,7 @@ var ConfirmationDialog = ({
1700
1700
  {
1701
1701
  onClick: onConfirm,
1702
1702
  disabled: isProcessing,
1703
- className: `flex-1 py-4 text-[13px] transition-colors disabled:opacity-50 flex justify-center items-center outline-none ${isDestructive ? "text-black hover:bg-neutral-50" : "text-black hover:bg-neutral-50"}`
1703
+ className: `flex-1 py-4 text-[13px] transition-colors disabled:opacity-50 flex justify-center items-center outline-none ${isDestructive ? "text-rose-600 hover:bg-neutral-50" : "text-black hover:bg-neutral-50"}`
1704
1704
  },
1705
1705
  isProcessing ? /* @__PURE__ */ import_react27.default.createElement(import_react28.HugeiconsIcon, { icon: import_core_free_icons9.Loading03Icon, className: "animate-spin", size: 18 }) : confirmText
1706
1706
  ))));
@@ -3621,12 +3621,17 @@ var ContentGridBlock = ({
3621
3621
  bgColor_1,
3622
3622
  bgColor_2,
3623
3623
  bgDeco_1,
3624
- bgDeco_2
3624
+ bgDeco_2,
3625
+ bgDecoRotation_1,
3626
+ bgDecoRotation_2
3625
3627
  }) => {
3626
3628
  return /* @__PURE__ */ import_react62.default.createElement("section", { className: " w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "max-w-300 w-full px-4 md:px-8 flex flex-col gap-12" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-6 w-full" }, /* @__PURE__ */ import_react62.default.createElement("h2", { className: "text-3xl tracking-tight text-black leading-[1.15] max-w-lg" }, header.titlePrefix, " ", /* @__PURE__ */ import_react62.default.createElement("span", { className: "gradient-text" }, header.highlightText))), /* @__PURE__ */ import_react62.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "flex flex-col justify-end" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "bg-black rounded-3xl p-8 flex flex-col mx-h-95" }, /* @__PURE__ */ import_react62.default.createElement("p", { className: "text-[14px] text-white leading-snug mb-4" }, leftCard.mainText), leftCard.tag && /* @__PURE__ */ import_react62.default.createElement("span", { className: "mb-auto text-[11px] text-neutral-100 tracking-widest" }, leftCard.tag), /* @__PURE__ */ import_react62.default.createElement("div", { className: "flex items-center justify-between mt-8" }, /* @__PURE__ */ import_react62.default.createElement("div", null, /* @__PURE__ */ import_react62.default.createElement("h4", { className: "text-[15px] text-white" }, leftCard.title), /* @__PURE__ */ import_react62.default.createElement("p", { className: "text-[13px] text-neutral-300" }, leftCard.subtitle)), /* @__PURE__ */ import_react62.default.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ import_react62.default.createElement(import_image11.default, { src: leftCard.thumbnailSrc, alt: leftCard.title, fill: true, className: "object-cover" }))))), /* @__PURE__ */ import_react62.default.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col relative mx-h-95" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "absolute top-6 right-6 flex flex-col items-end gap-1" }, /* @__PURE__ */ import_react62.default.createElement("span", { className: "text-[11px] text-neutral-400 tracking-wide" }, middleTopCard.topRightLabel), /* @__PURE__ */ import_react62.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "flex -space-x-2" }, middleTopCard.topRightAvatars.map((src, i) => /* @__PURE__ */ import_react62.default.createElement("div", { key: i, className: "w-7 h-7 rounded-full border-2 border-white overflow-hidden relative z-10" }, /* @__PURE__ */ import_react62.default.createElement(import_image11.default, { src, alt: "Avatar", fill: true, className: "object-cover", sizes: "28px" })))), /* @__PURE__ */ import_react62.default.createElement("span", { className: "text-sm text-neutral-500" }, middleTopCard.topRightCount))), /* @__PURE__ */ import_react62.default.createElement("div", { className: "grow flex flex-col mt-10 justify-center items-center py-6" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "px-5 py-2 rounded-full bg-neutral-50/50 border border-neutral-200 text-[13px] text-neutral-600" }, middleTopCard.badgePrefix, " ", /* @__PURE__ */ import_react62.default.createElement("span", { className: " text-black" }, middleTopCard.badgeHighlight), middleTopCard.badgeSuffix)), /* @__PURE__ */ import_react62.default.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ import_react62.default.createElement("p", { className: "text-[11px] text-neutral-400 tracking-wide mb-1" }, middleTopCard.title), /* @__PURE__ */ import_react62.default.createElement("p", { className: "text-[14px] text-black leading-snug pr-4" }, middleTopCard.description))), /* @__PURE__ */ import_react62.default.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col mx-h-95" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "flex justify-between items-start mb-6" }, /* @__PURE__ */ import_react62.default.createElement("div", null, /* @__PURE__ */ import_react62.default.createElement("h4", { className: "text-[15px] text-black leading-tight" }, middleBottomCard.title), /* @__PURE__ */ import_react62.default.createElement("p", { className: "text-[13px] text-neutral-400" }, middleBottomCard.subtitle)), /* @__PURE__ */ import_react62.default.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ import_react62.default.createElement(import_image11.default, { src: middleBottomCard.thumbnailSrc, alt: middleBottomCard.title, fill: true, className: "object-cover" }))), /* @__PURE__ */ import_react62.default.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ import_react62.default.createElement("p", { className: "text-[14px] text-black leading-snug mb-4" }, middleBottomCard.mainText), middleBottomCard.tag && /* @__PURE__ */ import_react62.default.createElement("span", { className: "text-[11px] text-neutral-400 tracking-widest" }, middleBottomCard.tag)))), /* @__PURE__ */ import_react62.default.createElement("div", { className: "flex flex-col gap-6" }, rightCards.slice(0, 2).map((card, idx) => {
3627
3629
  const isSecondCard = idx === 1;
3628
- const cardBgColor = isSecondCard ? bgColor_2 || "bg-[#ceff8a]" : bgColor_1 || "bg-[#143731]";
3629
- const bgDecoImage = isSecondCard ? bgDeco_2 : bgDeco_1;
3630
+ const cardBgColor = isSecondCard ? bgColor_2 || "bg-[#ffffff]" : bgColor_1 || "bg-[#068afe]";
3631
+ const defaultDeco_a = "https://storage.googleapis.com/retina-cloud-v2/assets/images/deco_a.avif";
3632
+ const defaultDeco_b = "https://storage.googleapis.com/retina-cloud-v2/assets/images/deco_b.avif";
3633
+ const bgDecoImage = isSecondCard ? bgDeco_2 || defaultDeco_b : bgDeco_1 || defaultDeco_a;
3634
+ const rotationClass = isSecondCard ? bgDecoRotation_2 || "-rotate-12" : bgDecoRotation_1 || "rotate-90";
3630
3635
  return /* @__PURE__ */ import_react62.default.createElement(
3631
3636
  "div",
3632
3637
  {
@@ -3638,7 +3643,7 @@ var ContentGridBlock = ({
3638
3643
  {
3639
3644
  src: bgDecoImage,
3640
3645
  alt: "Decorative background",
3641
- className: "absolute bottom-4 right-2 translate-x-1/4 translate-y-1/2 w-32 h-auto object-contain z-10 pointer-events-none opacity-30 rotate-90"
3646
+ 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}`
3642
3647
  }
3643
3648
  ),
3644
3649
  /* @__PURE__ */ import_react62.default.createElement("div", { className: `absolute inset-0 z-20 pointer-events-none ${isSecondCard ? "" : "bg-black/20"}` }),
@@ -4509,67 +4514,68 @@ var UniversalBuyCryptoPage = ({
4509
4514
  }))))));
4510
4515
  };
4511
4516
 
4512
- // src/components/UniversalDepartmentsPage.tsx
4517
+ // src/components/UniversalHuddlesPage.tsx
4513
4518
  var import_react77 = __toESM(require("react"));
4514
- var import_react_hot_toast13 = __toESM(require("react-hot-toast"));
4515
4519
  var import_react78 = require("@hugeicons/react");
4516
4520
  var import_core_free_icons27 = require("@hugeicons/core-free-icons");
4517
- var formatMembersCount = (num) => {
4518
- if (num >= 1e6) return (num / 1e6).toFixed(1) + "m";
4519
- if (num >= 1e3) return (num / 1e3).toFixed(1) + "k";
4520
- return num.toString();
4521
+ var HuddleAvatar = ({ src, status, sizeClass = "w-10 h-10" }) => {
4522
+ const [loaded, setLoaded] = (0, import_react77.useState)(false);
4523
+ const [error, setError] = (0, import_react77.useState)(false);
4524
+ const defaultAvatar = "https://storage.googleapis.com/retina-cloud-v2/assets/images/default.avif";
4525
+ const finalSrc = error || !src ? defaultAvatar : src;
4526
+ const getStatusColor = () => {
4527
+ switch (status?.toUpperCase()) {
4528
+ case "SCHEDULED":
4529
+ return "bg-amber-500";
4530
+ case "ONGOING":
4531
+ return "bg-emerald-500";
4532
+ case "COMPLETED":
4533
+ return "bg-neutral-400";
4534
+ case "CANCELLED":
4535
+ return "bg-rose-500";
4536
+ default:
4537
+ return "bg-neutral-200";
4538
+ }
4539
+ };
4540
+ return /* @__PURE__ */ import_react77.default.createElement("div", { className: `relative shrink-0 ${sizeClass}` }, /* @__PURE__ */ import_react77.default.createElement("div", { className: "w-full h-full rounded-lg bg-neutral-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ import_react77.default.createElement(import_react78.HugeiconsIcon, { icon: import_core_free_icons27.Loading03Icon, className: "animate-spin text-neutral-400 absolute", size: 14 }), /* @__PURE__ */ import_react77.default.createElement(
4541
+ "img",
4542
+ {
4543
+ src: finalSrc,
4544
+ alt: "Huddle Avatar",
4545
+ className: `w-full h-full object-cover transition-opacity duration-300 ${loaded || error ? "opacity-100" : "opacity-0"}`,
4546
+ onLoad: () => setLoaded(true),
4547
+ onError: () => setError(true)
4548
+ }
4549
+ )), /* @__PURE__ */ import_react77.default.createElement("div", { className: `absolute -bottom-1 -right-1 w-3.5 h-3.5 rounded-full border-2 border-white z-10 ${getStatusColor()}` }));
4521
4550
  };
4522
4551
  var PageSpinner6 = () => /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ import_react77.default.createElement(import_react78.HugeiconsIcon, { icon: import_core_free_icons27.Loading03Icon, size: 32, className: "animate-spin mb-4 text-black" }));
4523
- var UniversalDepartmentsPage = ({
4552
+ var UniversalHuddlesPage = ({
4524
4553
  headerTitle,
4525
4554
  headerDescription,
4526
- departments,
4555
+ huddles,
4527
4556
  isLoading,
4528
4557
  currentPage,
4529
4558
  totalPages,
4530
4559
  onPageChange,
4531
- onDepartmentClick,
4532
- onCreateDepartment
4560
+ onHuddleClick,
4561
+ onCreateHuddle
4533
4562
  }) => {
4534
- const [isCreateModalOpen, setIsCreateModalOpen] = (0, import_react77.useState)(false);
4535
- const [deptName, setDeptName] = (0, import_react77.useState)("");
4536
- const [isCreating, setIsCreating] = (0, import_react77.useState)(false);
4537
- const handleCreateSubmit = async (e) => {
4538
- e.preventDefault();
4539
- if (deptName.length < 2 || isCreating || !onCreateDepartment) return;
4540
- setIsCreating(true);
4541
- try {
4542
- await onCreateDepartment(deptName);
4543
- setDeptName("");
4544
- setIsCreateModalOpen(false);
4545
- } catch (error) {
4546
- import_react_hot_toast13.default.error(error.message || "Failed to create department.");
4547
- } finally {
4548
- setIsCreating(false);
4549
- }
4550
- };
4551
- return /* @__PURE__ */ import_react77.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex flex-row items-center justify-between gap-4" }, /* @__PURE__ */ import_react77.default.createElement("h2", { className: "text-black text-xl tracking-tight" }, headerTitle), onCreateDepartment && /* @__PURE__ */ import_react77.default.createElement(
4563
+ return /* @__PURE__ */ import_react77.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex flex-row items-center justify-between gap-4" }, /* @__PURE__ */ import_react77.default.createElement("h2", { className: "text-black text-xl tracking-tight" }, headerTitle), onCreateHuddle && /* @__PURE__ */ import_react77.default.createElement(
4552
4564
  "button",
4553
4565
  {
4554
- onClick: () => setIsCreateModalOpen(true),
4566
+ onClick: onCreateHuddle,
4555
4567
  className: "shrink-0 px-4 py-1.5 border border-neutral-200 text-black text-[12px] tracking-wide rounded-full hover:bg-neutral-50 transition-colors outline-none"
4556
4568
  },
4557
4569
  "Create new"
4558
- )), headerDescription && /* @__PURE__ */ import_react77.default.createElement("p", { className: "text-[12px] text-neutral-500" }, headerDescription)), /* @__PURE__ */ import_react77.default.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ import_react77.default.createElement(PageSpinner6, null) : /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react77.default.createElement("div", null, departments.length === 0 ? /* @__PURE__ */ import_react77.default.createElement("p", { className: "text-[12px] text-neutral-400 py-6 text-center" }, "No departments available") : departments.map((dept) => /* @__PURE__ */ import_react77.default.createElement(
4570
+ )), headerDescription && /* @__PURE__ */ import_react77.default.createElement("p", { className: "text-[12px] text-neutral-500" }, headerDescription)), /* @__PURE__ */ import_react77.default.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ import_react77.default.createElement(PageSpinner6, null) : /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react77.default.createElement("div", null, huddles.length === 0 ? /* @__PURE__ */ import_react77.default.createElement("p", { className: "text-[12px] text-neutral-400 py-6 text-center" }, "No huddles available") : huddles.map((huddle) => /* @__PURE__ */ import_react77.default.createElement(
4559
4571
  "div",
4560
4572
  {
4561
- key: dept.id,
4562
- onClick: () => onDepartmentClick(dept.id),
4573
+ key: huddle.id,
4574
+ onClick: () => onHuddleClick(huddle.id),
4563
4575
  className: "flex flex-row items-center gap-4 py-2 hover:bg-neutral-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl"
4564
4576
  },
4565
- /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ import_react77.default.createElement("p", { className: "text-[13px] text-black tracking-tight truncate" }, dept.name), /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex items-center gap-3 min-w-0" }, dept.avatars && dept.avatars.length > 0 && /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex items-center -space-x-2 shrink-0" }, dept.avatars.slice(0, 4).map((src, idx) => /* @__PURE__ */ import_react77.default.createElement("div", { key: idx, className: "w-4 h-4 rounded-md bg-neutral-100 overflow-hidden shrink-0" }, /* @__PURE__ */ import_react77.default.createElement(
4566
- "img",
4567
- {
4568
- src: src || "https://storage.googleapis.com/retina-cloud-v2/assets/images/avatar.avif",
4569
- alt: "Member",
4570
- className: "w-full h-full object-cover"
4571
- }
4572
- )))), dept.totalMembers > 0 ? /* @__PURE__ */ import_react77.default.createElement("span", { className: "text-[11px] text-neutral-500 truncate block" }, formatMembersCount(dept.totalMembers), " ", dept.totalMembers > 4 ? "+" : "") : /* @__PURE__ */ import_react77.default.createElement("span", { className: "text-[11px] text-neutral-400 truncate block" }, "No Members"))),
4577
+ /* @__PURE__ */ import_react77.default.createElement(HuddleAvatar, { src: huddle.imageUrl, status: huddle.status }),
4578
+ /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ import_react77.default.createElement("p", { className: "text-[13px] text-black tracking-tight truncate" }, huddle.name), /* @__PURE__ */ import_react77.default.createElement("span", { className: "text-[11px] text-neutral-500 truncate block mt-0.5" }, huddle.timeString)),
4573
4579
  /* @__PURE__ */ import_react77.default.createElement(import_react78.HugeiconsIcon, { icon: import_core_free_icons27.ArrowRight01Icon, size: 14, className: "shrink-0 text-neutral-400" })
4574
4580
  ))), /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex items-center justify-between pt-6 mt-2 " }, /* @__PURE__ */ import_react77.default.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em]" }, "Page ", currentPage, " of ", totalPages === 0 ? 1 : totalPages), /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react77.default.createElement(
4575
4581
  "button",
@@ -4587,55 +4593,13 @@ var UniversalDepartmentsPage = ({
4587
4593
  className: "p-2 bg-white border border-neutral-200 rounded-full text-black hover:bg-neutral-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none"
4588
4594
  },
4589
4595
  /* @__PURE__ */ import_react77.default.createElement(import_react78.HugeiconsIcon, { icon: import_core_free_icons27.ArrowRight01Icon, size: 14 })
4590
- )))))), isCreateModalOpen && /* @__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: () => !isCreating && setIsCreateModalOpen(false) }), /* @__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("div", { className: "flex items-center justify-between pt-5 px-5 shrink-0 " }, /* @__PURE__ */ import_react77.default.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Create Department"), /* @__PURE__ */ import_react77.default.createElement(
4591
- "button",
4592
- {
4593
- onClick: () => setIsCreateModalOpen(false),
4594
- disabled: isCreating,
4595
- className: "text-neutral-400 hover:text-black transition-colors outline-none disabled:opacity-50"
4596
- },
4597
- /* @__PURE__ */ import_react77.default.createElement(import_react78.HugeiconsIcon, { icon: import_core_free_icons27.CancelCircleIcon, size: 18 })
4598
- )), /* @__PURE__ */ import_react77.default.createElement("div", { className: "p-6" }, /* @__PURE__ */ import_react77.default.createElement("form", { onSubmit: handleCreateSubmit, className: "flex flex-col gap-8" }, /* @__PURE__ */ import_react77.default.createElement("div", { className: "space-y-1.5" }, /* @__PURE__ */ import_react77.default.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block" }, "Department Name"), /* @__PURE__ */ import_react77.default.createElement(
4599
- "input",
4600
- {
4601
- type: "text",
4602
- value: deptName,
4603
- onChange: (e) => setDeptName(e.target.value),
4604
- required: true,
4605
- autoFocus: true,
4606
- maxLength: 50,
4607
- disabled: isCreating,
4608
- className: "w-full px-2 py-3 bg-transparent text-sm border-b border-neutral-200 text-black outline-none focus:border-black transition-all duration-300 disabled:opacity-50",
4609
- placeholder: "e.g. Engineering, Marketing..."
4610
- }
4611
- )), /* @__PURE__ */ import_react77.default.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ import_react77.default.createElement(
4612
- ThreeDActionButton,
4613
- {
4614
- type: "submit",
4615
- disabled: deptName.length < 2 || isCreating,
4616
- isLoading: isCreating,
4617
- className: "w-full"
4618
- },
4619
- "Create Department"
4620
- ), /* @__PURE__ */ import_react77.default.createElement(
4621
- "button",
4622
- {
4623
- type: "button",
4624
- onClick: () => {
4625
- setIsCreateModalOpen(false);
4626
- setDeptName("");
4627
- },
4628
- disabled: isCreating,
4629
- className: "w-full flex items-center justify-center py-2.5 rounded-full border border-neutral-200 text-black hover:bg-neutral-50 transition-colors outline-none text-xs tracking-wide"
4630
- },
4631
- "Cancel"
4632
4596
  )))))));
4633
4597
  };
4634
4598
 
4635
4599
  // src/components/UniversalMembersPage.tsx
4636
4600
  var import_react79 = __toESM(require("react"));
4637
4601
  var import_react80 = require("@hugeicons/react");
4638
- var import_react_hot_toast14 = __toESM(require("react-hot-toast"));
4602
+ var import_react_hot_toast13 = __toESM(require("react-hot-toast"));
4639
4603
  var import_core_free_icons28 = require("@hugeicons/core-free-icons");
4640
4604
  var MemberAvatar = ({ src, status }) => {
4641
4605
  const [loaded, setLoaded] = (0, import_react79.useState)(false);
@@ -4730,11 +4694,11 @@ var UniversalMembersPage = ({
4730
4694
  setIsRemoving(true);
4731
4695
  try {
4732
4696
  await onRemoveMember(memberToRemove.id);
4733
- import_react_hot_toast14.default.success("Member removed successfully.");
4697
+ import_react_hot_toast13.default.success("Member removed successfully.");
4734
4698
  setExpandedId(null);
4735
4699
  setMemberToRemove(null);
4736
4700
  } catch (error) {
4737
- import_react_hot_toast14.default.error("Failed to remove member.");
4701
+ import_react_hot_toast13.default.error("Failed to remove member.");
4738
4702
  } finally {
4739
4703
  setIsRemoving(false);
4740
4704
  }
@@ -4748,7 +4712,7 @@ var UniversalMembersPage = ({
4748
4712
  setInviteEmail("");
4749
4713
  setIsInviteMode(false);
4750
4714
  } catch (error) {
4751
- import_react_hot_toast14.default.error(error.message || "Failed to send invitation.");
4715
+ import_react_hot_toast13.default.error(error.message || "Failed to send invitation.");
4752
4716
  } finally {
4753
4717
  setIsInviting(false);
4754
4718
  }
@@ -4895,15 +4859,29 @@ var UniversalMembersPage = ({
4895
4859
  var import_react81 = __toESM(require("react"));
4896
4860
  var import_navigation6 = require("next/navigation");
4897
4861
  var import_react82 = require("@hugeicons/react");
4898
- var import_react_hot_toast15 = __toESM(require("react-hot-toast"));
4862
+ var import_react_hot_toast14 = __toESM(require("react-hot-toast"));
4899
4863
  var import_core_free_icons29 = require("@hugeicons/core-free-icons");
4864
+ var OrgAvatar = ({ src, sizeClass = "w-10 h-10" }) => {
4865
+ const [loaded, setLoaded] = (0, import_react81.useState)(false);
4866
+ const [error, setError] = (0, import_react81.useState)(false);
4867
+ const defaultAvatar = "https://storage.googleapis.com/retina-cloud-v2/assets/images/office.avif";
4868
+ const finalSrc = error || !src ? defaultAvatar : src;
4869
+ return /* @__PURE__ */ import_react81.default.createElement("div", { className: `relative shrink-0 ${sizeClass}` }, /* @__PURE__ */ import_react81.default.createElement("div", { className: "w-full h-full rounded-lg bg-neutral-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ import_react81.default.createElement(import_react82.HugeiconsIcon, { icon: import_core_free_icons29.Loading03Icon, className: "animate-spin text-neutral-400 absolute", size: 14 }), /* @__PURE__ */ import_react81.default.createElement(
4870
+ "img",
4871
+ {
4872
+ src: finalSrc,
4873
+ alt: "Workspace Avatar",
4874
+ className: `w-full h-full object-cover transition-opacity duration-300 ${loaded || error ? "opacity-100" : "opacity-0"}`,
4875
+ onLoad: () => setLoaded(true),
4876
+ onError: () => setError(true)
4877
+ }
4878
+ )));
4879
+ };
4900
4880
  var UniversalHome2 = ({
4901
4881
  avatarSrc,
4902
- userStatus = "ACTIVE",
4903
4882
  organizations = [],
4904
4883
  activeOrgId,
4905
4884
  onOrganizationSelect,
4906
- barIcons = [],
4907
4885
  createHuddleAction,
4908
4886
  joinHuddleAction,
4909
4887
  notifications = [],
@@ -4915,7 +4893,7 @@ var UniversalHome2 = ({
4915
4893
  onResolveInvite,
4916
4894
  formatNotifDate,
4917
4895
  customContent,
4918
- departmentsProps,
4896
+ huddlesProps,
4919
4897
  onLogout
4920
4898
  }) => {
4921
4899
  const [isAvatarLoaded, setIsAvatarLoaded] = (0, import_react81.useState)(false);
@@ -4929,27 +4907,13 @@ var UniversalHome2 = ({
4929
4907
  const fallbackAvatarUrl = "https://storage.googleapis.com/retina-cloud-v2/assets/images/avatar.avif";
4930
4908
  const finalAvatarSrc = avatarSrc || fallbackAvatarUrl;
4931
4909
  const hasUnreadNotifs = notifications.some((n) => !n.isRead);
4932
- const getDisplayStatus = () => {
4933
- if (userStatus === "ACTIVE") return "Online";
4934
- if (userStatus === "BUSY") return "Busy";
4935
- if (userStatus === "OFFLINE") return "Offline";
4936
- if (userStatus === "AWAY") return "Away";
4937
- return "Online";
4938
- };
4939
- const getStatusColor = () => {
4940
- if (userStatus === "ACTIVE") return "bg-emerald-500";
4941
- if (userStatus === "BUSY") return "bg-amber-500";
4942
- if (userStatus === "OFFLINE") return "bg-rose-500";
4943
- if (userStatus === "AWAY") return "bg-neutral-400";
4944
- return "bg-emerald-500";
4945
- };
4946
4910
  const handleResolve = async (resolution) => {
4947
4911
  if (!onResolveInvite || !selectedNotif) return;
4948
4912
  setIsResolving(true);
4949
4913
  try {
4950
4914
  await onResolveInvite(selectedNotif, resolution);
4951
4915
  } catch (error) {
4952
- import_react_hot_toast15.default.error("Failed to process invitation");
4916
+ import_react_hot_toast14.default.error("Failed to process invitation");
4953
4917
  } finally {
4954
4918
  setIsResolving(false);
4955
4919
  }
@@ -4959,7 +4923,7 @@ var UniversalHome2 = ({
4959
4923
  try {
4960
4924
  if (onLogout) await onLogout();
4961
4925
  } catch (e) {
4962
- import_react_hot_toast15.default.error("Failed to log out cleanly.");
4926
+ import_react_hot_toast14.default.error("Failed to log out cleanly.");
4963
4927
  } finally {
4964
4928
  setIsLoggingOut(false);
4965
4929
  setShowLogoutConfirm(false);
@@ -5016,14 +4980,14 @@ var UniversalHome2 = ({
5016
4980
  {
5017
4981
  src: "https://storage.googleapis.com/retina-cloud-v2/assets/images/cal_b.avif",
5018
4982
  alt: "Create Huddle",
5019
- 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"
4983
+ 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"
5020
4984
  }
5021
4985
  )
5022
4986
  ), /* @__PURE__ */ import_react81.default.createElement(
5023
4987
  "div",
5024
4988
  {
5025
4989
  onClick: joinHuddleAction?.onClick,
5026
- className: "bg-[#f8f8fa] rounded-2xl p-5 relative overflow-hidden flex flex-col h-32 sm:h-36 cursor-pointer hover:opacity-90 transition-opacity"
4990
+ 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"
5027
4991
  },
5028
4992
  /* @__PURE__ */ import_react81.default.createElement("div", { className: "relative z-10 flex flex-col h-full justify-between" }, /* @__PURE__ */ import_react81.default.createElement("p", { className: "text-[15px] sm:text-[15px] text-black leading-tight" }, "Join", /* @__PURE__ */ import_react81.default.createElement("br", null), /* @__PURE__ */ import_react81.default.createElement("span", { className: "text-black/60" }, "Huddle")), /* @__PURE__ */ import_react81.default.createElement("div", { className: "w-8 h-8 rounded-full bg-black/5 flex items-center justify-center" }, /* @__PURE__ */ import_react81.default.createElement(import_react82.HugeiconsIcon, { icon: import_core_free_icons29.ArrowRight01Icon, size: 16, className: "text-black" }))),
5029
4993
  /* @__PURE__ */ import_react81.default.createElement(
@@ -5031,13 +4995,13 @@ var UniversalHome2 = ({
5031
4995
  {
5032
4996
  src: "https://storage.googleapis.com/retina-cloud-v2/assets/images/cam_c.avif",
5033
4997
  alt: "Join Huddle",
5034
- 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"
4998
+ 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"
5035
4999
  }
5036
5000
  )
5037
5001
  ))), customContent && /* @__PURE__ */ import_react81.default.createElement("div", { className: "w-full" }, customContent), /* @__PURE__ */ import_react81.default.createElement("div", { className: "w-full mt-2" }, /* @__PURE__ */ import_react81.default.createElement(
5038
- UniversalDepartmentsPage,
5002
+ UniversalHuddlesPage,
5039
5003
  {
5040
- ...departmentsProps
5004
+ ...huddlesProps
5041
5005
  }
5042
5006
  )), showOrgSwitcher && /* @__PURE__ */ import_react81.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react81.default.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowOrgSwitcher(false) }), /* @__PURE__ */ import_react81.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_react81.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ import_react81.default.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Switch Workspace"), /* @__PURE__ */ import_react81.default.createElement("button", { onClick: () => setShowOrgSwitcher(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ import_react81.default.createElement(import_react82.HugeiconsIcon, { icon: import_core_free_icons29.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react81.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, /* @__PURE__ */ import_react81.default.createElement("div", { className: "flex flex-col" }, organizations?.length === 0 ? /* @__PURE__ */ import_react81.default.createElement("div", { className: "p-8 text-center text-xs text-neutral-400" }, "No organizations found.") : organizations?.map((org) => /* @__PURE__ */ import_react81.default.createElement(
5043
5007
  "button",
@@ -5049,6 +5013,7 @@ var UniversalHome2 = ({
5049
5013
  },
5050
5014
  className: `p-4 flex items-center justify-between gap-3 cursor-pointer outline-none transition-colors border-b border-neutral-50 last:border-0 ${activeOrgId === org.id ? "bg-neutral-50" : "hover:bg-neutral-50/50"}`
5051
5015
  },
5016
+ /* @__PURE__ */ import_react81.default.createElement(OrgAvatar, { src: org.avatarUrl }),
5052
5017
  /* @__PURE__ */ import_react81.default.createElement("div", { className: "flex flex-col items-start min-w-0 flex-1" }, /* @__PURE__ */ import_react81.default.createElement("span", { className: `text-[13px] tracking-tight truncate w-full text-left ${activeOrgId === org.id ? "text-black " : "text-neutral-600"}` }, org.name), /* @__PURE__ */ import_react81.default.createElement("span", { className: "text-[11px] text-[#068afe] capitalize truncate w-full text-left mt-0.5" }, org.role?.toLowerCase() || "Member")),
5053
5018
  activeOrgId === org.id && /* @__PURE__ */ import_react81.default.createElement("div", { className: "w-2 h-2 rounded-full bg-[#068afe] shrink-0" })
5054
5019
  )))), /* @__PURE__ */ import_react81.default.createElement("div", { className: "p-4 shrink-0" }, /* @__PURE__ */ import_react81.default.createElement(
@@ -5111,7 +5076,7 @@ var UniversalHome2 = ({
5111
5076
 
5112
5077
  // src/components/UniversalSettings.tsx
5113
5078
  var import_react83 = __toESM(require("react"));
5114
- var import_react_hot_toast16 = __toESM(require("react-hot-toast"));
5079
+ var import_react_hot_toast15 = __toESM(require("react-hot-toast"));
5115
5080
  var import_react84 = require("@hugeicons/react");
5116
5081
  var import_core_free_icons30 = require("@hugeicons/core-free-icons");
5117
5082
  var MemberAvatar2 = ({ src, status, sizeClass = "w-10 h-10" }) => {
@@ -5231,11 +5196,11 @@ var UniversalSettings = ({
5231
5196
  setIsRemoving(true);
5232
5197
  try {
5233
5198
  await onRemoveMember(memberToRemove.userId);
5234
- import_react_hot_toast16.default.success("Member removed successfully.");
5199
+ import_react_hot_toast15.default.success("Member removed successfully.");
5235
5200
  setExpandedId(null);
5236
5201
  setMemberToRemove(null);
5237
5202
  } catch (error) {
5238
- import_react_hot_toast16.default.error("Failed to remove member.");
5203
+ import_react_hot_toast15.default.error("Failed to remove member.");
5239
5204
  } finally {
5240
5205
  setIsRemoving(false);
5241
5206
  }
@@ -5249,7 +5214,7 @@ var UniversalSettings = ({
5249
5214
  setInviteEmail("");
5250
5215
  setIsInviteMode(false);
5251
5216
  } catch (error) {
5252
- import_react_hot_toast16.default.error(error.message || "Failed to send invitation.");
5217
+ import_react_hot_toast15.default.error(error.message || "Failed to send invitation.");
5253
5218
  } finally {
5254
5219
  setIsInviting(false);
5255
5220
  }
@@ -5292,7 +5257,7 @@ var UniversalSettings = ({
5292
5257
  e.preventDefault();
5293
5258
  if (isSavingAccount || isCheckingSlug || isAccountReadOnly || !onSaveAccount) return;
5294
5259
  if (slug !== initialSlug && slugAvailable === false) {
5295
- import_react_hot_toast16.default.error("Please select an available address handle.");
5260
+ import_react_hot_toast15.default.error("Please select an available address handle.");
5296
5261
  return;
5297
5262
  }
5298
5263
  setIsSavingAccount(true);
@@ -5303,12 +5268,12 @@ var UniversalSettings = ({
5303
5268
  };
5304
5269
  const res = await onSaveAccount(payload);
5305
5270
  if (res.success) {
5306
- import_react_hot_toast16.default.success("Profile updated successfully.");
5271
+ import_react_hot_toast15.default.success("Profile updated successfully.");
5307
5272
  } else {
5308
- import_react_hot_toast16.default.error(res.error || "Failed to update profile.");
5273
+ import_react_hot_toast15.default.error(res.error || "Failed to update profile.");
5309
5274
  }
5310
5275
  } catch (error) {
5311
- import_react_hot_toast16.default.error("Service unavailable. Try again later.");
5276
+ import_react_hot_toast15.default.error("Service unavailable. Try again later.");
5312
5277
  } finally {
5313
5278
  setIsSavingAccount(false);
5314
5279
  }
@@ -5376,7 +5341,7 @@ var UniversalSettings = ({
5376
5341
  className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-neutral-500 hover:text-black transition-colors outline-none"
5377
5342
  },
5378
5343
  /* @__PURE__ */ import_react83.default.createElement(import_react84.HugeiconsIcon, { icon: import_core_free_icons30.ListSettingIcon, size: 16 })
5379
- ))), /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, activeExpandedMember ? /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex flex-col animate-in fade-in zoom-in-95 duration-300 w-full" }, /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex flex-col gap-1 mb-8" }, /* @__PURE__ */ import_react83.default.createElement("h2", { className: "text-black text-xl tracking-tight" }, "Member Profile"), /* @__PURE__ */ import_react83.default.createElement("p", { className: "text-[12px] text-neutral-500" }, "View and manage this member's access privileges.")), /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex items-center gap-4 mb-8" }, /* @__PURE__ */ import_react83.default.createElement(MemberAvatar2, { src: activeExpandedMember.avatarUrl, status: activeExpandedMember.status, sizeClass: "w-14 h-14" }), /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react83.default.createElement("span", { className: "text-sm text-black tracking-tight truncate" }, activeExpandedMember.fullName), /* @__PURE__ */ import_react83.default.createElement("span", { className: "text-[12px] text-neutral-500 capitalize" }, activeExpandedMember.role.toLowerCase()))), activeExpandedMember.departmentName && /* @__PURE__ */ import_react83.default.createElement("div", { className: "mb-8" }, /* @__PURE__ */ import_react83.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-1" }, "Assigned Department"), /* @__PURE__ */ import_react83.default.createElement("span", { className: "text-[12px] text-black truncate block" }, activeExpandedMember.departmentName)), /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex flex-col sm:flex-row gap-3 pt-6 " }, !isAccountReadOnly && /* @__PURE__ */ import_react83.default.createElement(
5344
+ ))), /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, activeExpandedMember ? /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex flex-col animate-in fade-in zoom-in-95 duration-300 w-full" }, /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex flex-col gap-1 mb-8" }, /* @__PURE__ */ import_react83.default.createElement("h2", { className: "text-black text-xl tracking-tight" }, "Member Profile"), /* @__PURE__ */ import_react83.default.createElement("p", { className: "text-[12px] text-neutral-500" }, "View and manage this member's access privileges.")), /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex items-center gap-4 mb-8" }, /* @__PURE__ */ import_react83.default.createElement(MemberAvatar2, { src: activeExpandedMember.avatarUrl, status: activeExpandedMember.status, sizeClass: "w-14 h-14" }), /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react83.default.createElement("span", { className: "text-sm text-black tracking-tight truncate" }, activeExpandedMember.fullName), /* @__PURE__ */ import_react83.default.createElement("span", { className: "text-[12px] text-neutral-500 capitalize" }, activeExpandedMember.role.toLowerCase()))), /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex flex-col sm:flex-row gap-3 pt-6 " }, !isAccountReadOnly && /* @__PURE__ */ import_react83.default.createElement(
5380
5345
  "button",
5381
5346
  {
5382
5347
  onClick: () => setMemberToRemove(activeExpandedMember),
@@ -5520,21 +5485,14 @@ var UniversalSettings = ({
5520
5485
  className: "text-[11px] tracking-widest text-neutral-400 hover:text-black transition-colors outline-none"
5521
5486
  },
5522
5487
  "Cancel"
5523
- ))))), activeTab === "BILLING" && /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react83.default.createElement("div", { className: "bg-[#143731] rounded-3xl p-6 relative overflow-hidden flex flex-col w-full mt-2" }, /* @__PURE__ */ import_react83.default.createElement("div", { className: "relative z-10 flex flex-col items-start w-full" }, /* @__PURE__ */ import_react83.default.createElement("p", { className: "text-[11px] text-white leading-tight mb-1" }, /* @__PURE__ */ import_react83.default.createElement("span", { className: "text-white/60" }, "AI Credits Balance")), isBillingLoading ? /* @__PURE__ */ import_react83.default.createElement("div", { className: "h-8 w-32 bg-white/10 animate-pulse rounded mt-2" }) : /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex items-center gap-2 mt-1" }, /* @__PURE__ */ import_react83.default.createElement(import_react84.HugeiconsIcon, { icon: import_core_free_icons30.Coins01Icon, size: 24, className: "text-white" }), /* @__PURE__ */ import_react83.default.createElement("span", { className: "text-2xl text-white tracking-tight" }, aiCredits)), /* @__PURE__ */ import_react83.default.createElement("div", { className: "mt-2 w-full " }, /* @__PURE__ */ import_react83.default.createElement(
5488
+ ))))), activeTab === "BILLING" && /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react83.default.createElement("div", { className: "bg-[#ffffff] rounded-3xl p-6 relative overflow-hidden flex flex-col w-full mt-2" }, /* @__PURE__ */ import_react83.default.createElement("div", { className: "relative z-10 flex flex-col items-start w-full" }, /* @__PURE__ */ import_react83.default.createElement("p", { className: "text-[11px] text-black leading-tight mb-1" }, /* @__PURE__ */ import_react83.default.createElement("span", { className: "text-black/60" }, "AI Credits Balance")), isBillingLoading ? /* @__PURE__ */ import_react83.default.createElement("div", { className: "h-8 w-32 bg-black/10 animate-pulse rounded mt-2" }) : /* @__PURE__ */ import_react83.default.createElement("div", { className: "flex items-center gap-2 mt-1" }, /* @__PURE__ */ import_react83.default.createElement(import_react84.HugeiconsIcon, { icon: import_core_free_icons30.Coins01Icon, size: 24, className: "text-black" }), /* @__PURE__ */ import_react83.default.createElement("span", { className: "text-2xl text-black tracking-tight" }, aiCredits)), /* @__PURE__ */ import_react83.default.createElement("div", { className: "mt-2 w-full " }, /* @__PURE__ */ import_react83.default.createElement(
5524
5489
  "button",
5525
5490
  {
5526
5491
  onClick: onTopUp,
5527
- className: "px-6 py-2 rounded-full border border-white/50 bg-transparent text-white/50 text-[11px] tracking-wide transition-colors outline-none hover:bg-white/10 hover:text-white hover:border-white"
5492
+ className: "px-6 py-2 rounded-full border border-neutral-200 bg-transparent text-neutral-200 text-[11px] tracking-wide transition-colors outline-none hover:bg-black/10 hover:text-black hover:border-black"
5528
5493
  },
5529
5494
  "Top Up Credits"
5530
- ))), /* @__PURE__ */ import_react83.default.createElement(
5531
- "img",
5532
- {
5533
- src: "https://storage.googleapis.com/retina-cloud-v2/assets/images/save_box.avif",
5534
- alt: "Credits",
5535
- className: "absolute bottom-2 right-2 translate-x-1/4 translate-y-1/2 w-32 h-auto object-contain z-0 pointer-events-none drop-shadow-md"
5536
- }
5537
- )), /* @__PURE__ */ import_react83.default.createElement("div", { className: "mt-4 px-1" }, /* @__PURE__ */ import_react83.default.createElement("p", { className: "text-[11px] text-neutral-500 leading-relaxed max-w-lg" }, "AI credits are consumed when generating intelligent summaries, transcriptions, and automated huddle insights. Additional credits are billed dynamically to your primary payment method."))));
5495
+ )))), /* @__PURE__ */ import_react83.default.createElement("div", { className: "mt-4 px-1" }, /* @__PURE__ */ import_react83.default.createElement("p", { className: "text-[11px] text-neutral-500 leading-relaxed max-w-lg" }, "AI credits are consumed when generating intelligent summaries, transcriptions, and automated huddle insights. Additional credits are billed dynamically to your primary payment method."))));
5538
5496
  };
5539
5497
  // Annotate the CommonJS export names for ESM import in node:
5540
5498
  0 && (module.exports = {
@@ -5571,10 +5529,10 @@ var UniversalSettings = ({
5571
5529
  UniversalBuyCryptoPage,
5572
5530
  UniversalCardActionPage,
5573
5531
  UniversalCardPage,
5574
- UniversalDepartmentsPage,
5575
5532
  UniversalErrorView,
5576
5533
  UniversalHome2,
5577
5534
  UniversalHomeView,
5535
+ UniversalHuddlesPage,
5578
5536
  UniversalMembersPage,
5579
5537
  UniversalOrganizationPage,
5580
5538
  UniversalProfilePage,
package/dist/index.mjs CHANGED
@@ -1658,7 +1658,7 @@ var ConfirmationDialog = ({
1658
1658
  {
1659
1659
  onClick: onConfirm,
1660
1660
  disabled: isProcessing,
1661
- className: `flex-1 py-4 text-[13px] transition-colors disabled:opacity-50 flex justify-center items-center outline-none ${isDestructive ? "text-black hover:bg-neutral-50" : "text-black hover:bg-neutral-50"}`
1661
+ className: `flex-1 py-4 text-[13px] transition-colors disabled:opacity-50 flex justify-center items-center outline-none ${isDestructive ? "text-rose-600 hover:bg-neutral-50" : "text-black hover:bg-neutral-50"}`
1662
1662
  },
1663
1663
  isProcessing ? /* @__PURE__ */ React17.createElement(HugeiconsIcon11, { icon: Loading03Icon6, className: "animate-spin", size: 18 }) : confirmText
1664
1664
  ))));
@@ -3608,12 +3608,17 @@ var ContentGridBlock = ({
3608
3608
  bgColor_1,
3609
3609
  bgColor_2,
3610
3610
  bgDeco_1,
3611
- bgDeco_2
3611
+ bgDeco_2,
3612
+ bgDecoRotation_1,
3613
+ bgDecoRotation_2
3612
3614
  }) => {
3613
3615
  return /* @__PURE__ */ React38.createElement("section", { className: " w-full flex justify-center z-10 relative" }, /* @__PURE__ */ React38.createElement("div", { className: "max-w-300 w-full px-4 md:px-8 flex flex-col gap-12" }, /* @__PURE__ */ React38.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-6 w-full" }, /* @__PURE__ */ React38.createElement("h2", { className: "text-3xl tracking-tight text-black leading-[1.15] max-w-lg" }, header.titlePrefix, " ", /* @__PURE__ */ React38.createElement("span", { className: "gradient-text" }, header.highlightText))), /* @__PURE__ */ React38.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6" }, /* @__PURE__ */ React38.createElement("div", { className: "flex flex-col justify-end" }, /* @__PURE__ */ React38.createElement("div", { className: "bg-black rounded-3xl p-8 flex flex-col mx-h-95" }, /* @__PURE__ */ React38.createElement("p", { className: "text-[14px] text-white leading-snug mb-4" }, leftCard.mainText), leftCard.tag && /* @__PURE__ */ React38.createElement("span", { className: "mb-auto text-[11px] text-neutral-100 tracking-widest" }, leftCard.tag), /* @__PURE__ */ React38.createElement("div", { className: "flex items-center justify-between mt-8" }, /* @__PURE__ */ React38.createElement("div", null, /* @__PURE__ */ React38.createElement("h4", { className: "text-[15px] text-white" }, leftCard.title), /* @__PURE__ */ React38.createElement("p", { className: "text-[13px] text-neutral-300" }, leftCard.subtitle)), /* @__PURE__ */ React38.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ React38.createElement(Image12, { src: leftCard.thumbnailSrc, alt: leftCard.title, fill: true, className: "object-cover" }))))), /* @__PURE__ */ React38.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ React38.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col relative mx-h-95" }, /* @__PURE__ */ React38.createElement("div", { className: "absolute top-6 right-6 flex flex-col items-end gap-1" }, /* @__PURE__ */ React38.createElement("span", { className: "text-[11px] text-neutral-400 tracking-wide" }, middleTopCard.topRightLabel), /* @__PURE__ */ React38.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React38.createElement("div", { className: "flex -space-x-2" }, middleTopCard.topRightAvatars.map((src, i) => /* @__PURE__ */ React38.createElement("div", { key: i, className: "w-7 h-7 rounded-full border-2 border-white overflow-hidden relative z-10" }, /* @__PURE__ */ React38.createElement(Image12, { src, alt: "Avatar", fill: true, className: "object-cover", sizes: "28px" })))), /* @__PURE__ */ React38.createElement("span", { className: "text-sm text-neutral-500" }, middleTopCard.topRightCount))), /* @__PURE__ */ React38.createElement("div", { className: "grow flex flex-col mt-10 justify-center items-center py-6" }, /* @__PURE__ */ React38.createElement("div", { className: "px-5 py-2 rounded-full bg-neutral-50/50 border border-neutral-200 text-[13px] text-neutral-600" }, middleTopCard.badgePrefix, " ", /* @__PURE__ */ React38.createElement("span", { className: " text-black" }, middleTopCard.badgeHighlight), middleTopCard.badgeSuffix)), /* @__PURE__ */ React38.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ React38.createElement("p", { className: "text-[11px] text-neutral-400 tracking-wide mb-1" }, middleTopCard.title), /* @__PURE__ */ React38.createElement("p", { className: "text-[14px] text-black leading-snug pr-4" }, middleTopCard.description))), /* @__PURE__ */ React38.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col mx-h-95" }, /* @__PURE__ */ React38.createElement("div", { className: "flex justify-between items-start mb-6" }, /* @__PURE__ */ React38.createElement("div", null, /* @__PURE__ */ React38.createElement("h4", { className: "text-[15px] text-black leading-tight" }, middleBottomCard.title), /* @__PURE__ */ React38.createElement("p", { className: "text-[13px] text-neutral-400" }, middleBottomCard.subtitle)), /* @__PURE__ */ React38.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ React38.createElement(Image12, { src: middleBottomCard.thumbnailSrc, alt: middleBottomCard.title, fill: true, className: "object-cover" }))), /* @__PURE__ */ React38.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ React38.createElement("p", { className: "text-[14px] text-black leading-snug mb-4" }, middleBottomCard.mainText), middleBottomCard.tag && /* @__PURE__ */ React38.createElement("span", { className: "text-[11px] text-neutral-400 tracking-widest" }, middleBottomCard.tag)))), /* @__PURE__ */ React38.createElement("div", { className: "flex flex-col gap-6" }, rightCards.slice(0, 2).map((card, idx) => {
3614
3616
  const isSecondCard = idx === 1;
3615
- const cardBgColor = isSecondCard ? bgColor_2 || "bg-[#ceff8a]" : bgColor_1 || "bg-[#143731]";
3616
- const bgDecoImage = isSecondCard ? bgDeco_2 : bgDeco_1;
3617
+ const cardBgColor = isSecondCard ? bgColor_2 || "bg-[#ffffff]" : bgColor_1 || "bg-[#068afe]";
3618
+ const defaultDeco_a = "https://storage.googleapis.com/retina-cloud-v2/assets/images/deco_a.avif";
3619
+ const defaultDeco_b = "https://storage.googleapis.com/retina-cloud-v2/assets/images/deco_b.avif";
3620
+ const bgDecoImage = isSecondCard ? bgDeco_2 || defaultDeco_b : bgDeco_1 || defaultDeco_a;
3621
+ const rotationClass = isSecondCard ? bgDecoRotation_2 || "-rotate-12" : bgDecoRotation_1 || "rotate-90";
3617
3622
  return /* @__PURE__ */ React38.createElement(
3618
3623
  "div",
3619
3624
  {
@@ -3625,7 +3630,7 @@ var ContentGridBlock = ({
3625
3630
  {
3626
3631
  src: bgDecoImage,
3627
3632
  alt: "Decorative background",
3628
- className: "absolute bottom-4 right-2 translate-x-1/4 translate-y-1/2 w-32 h-auto object-contain z-10 pointer-events-none opacity-30 rotate-90"
3633
+ 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}`
3629
3634
  }
3630
3635
  ),
3631
3636
  /* @__PURE__ */ React38.createElement("div", { className: `absolute inset-0 z-20 pointer-events-none ${isSecondCard ? "" : "bg-black/20"}` }),
@@ -4521,72 +4526,72 @@ var UniversalBuyCryptoPage = ({
4521
4526
  }))))));
4522
4527
  };
4523
4528
 
4524
- // src/components/UniversalDepartmentsPage.tsx
4529
+ // src/components/UniversalHuddlesPage.tsx
4525
4530
  import React46, { useState as useState32 } from "react";
4526
- import toast12 from "react-hot-toast";
4527
4531
  import { HugeiconsIcon as HugeiconsIcon32 } from "@hugeicons/react";
4528
4532
  import {
4529
4533
  ArrowLeft01Icon as ArrowLeft01Icon13,
4530
4534
  ArrowRight01Icon as ArrowRight01Icon9,
4531
- Loading03Icon as Loading03Icon20,
4532
- CancelCircleIcon as CancelCircleIcon9
4535
+ Loading03Icon as Loading03Icon20
4533
4536
  } from "@hugeicons/core-free-icons";
4534
- var formatMembersCount = (num) => {
4535
- if (num >= 1e6) return (num / 1e6).toFixed(1) + "m";
4536
- if (num >= 1e3) return (num / 1e3).toFixed(1) + "k";
4537
- return num.toString();
4537
+ var HuddleAvatar = ({ src, status, sizeClass = "w-10 h-10" }) => {
4538
+ const [loaded, setLoaded] = useState32(false);
4539
+ const [error, setError] = useState32(false);
4540
+ const defaultAvatar = "https://storage.googleapis.com/retina-cloud-v2/assets/images/default.avif";
4541
+ const finalSrc = error || !src ? defaultAvatar : src;
4542
+ const getStatusColor = () => {
4543
+ switch (status?.toUpperCase()) {
4544
+ case "SCHEDULED":
4545
+ return "bg-amber-500";
4546
+ case "ONGOING":
4547
+ return "bg-emerald-500";
4548
+ case "COMPLETED":
4549
+ return "bg-neutral-400";
4550
+ case "CANCELLED":
4551
+ return "bg-rose-500";
4552
+ default:
4553
+ return "bg-neutral-200";
4554
+ }
4555
+ };
4556
+ return /* @__PURE__ */ React46.createElement("div", { className: `relative shrink-0 ${sizeClass}` }, /* @__PURE__ */ React46.createElement("div", { className: "w-full h-full rounded-lg bg-neutral-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ React46.createElement(HugeiconsIcon32, { icon: Loading03Icon20, className: "animate-spin text-neutral-400 absolute", size: 14 }), /* @__PURE__ */ React46.createElement(
4557
+ "img",
4558
+ {
4559
+ src: finalSrc,
4560
+ alt: "Huddle Avatar",
4561
+ className: `w-full h-full object-cover transition-opacity duration-300 ${loaded || error ? "opacity-100" : "opacity-0"}`,
4562
+ onLoad: () => setLoaded(true),
4563
+ onError: () => setError(true)
4564
+ }
4565
+ )), /* @__PURE__ */ React46.createElement("div", { className: `absolute -bottom-1 -right-1 w-3.5 h-3.5 rounded-full border-2 border-white z-10 ${getStatusColor()}` }));
4538
4566
  };
4539
4567
  var PageSpinner6 = () => /* @__PURE__ */ React46.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon32, { icon: Loading03Icon20, size: 32, className: "animate-spin mb-4 text-black" }));
4540
- var UniversalDepartmentsPage = ({
4568
+ var UniversalHuddlesPage = ({
4541
4569
  headerTitle,
4542
4570
  headerDescription,
4543
- departments,
4571
+ huddles,
4544
4572
  isLoading,
4545
4573
  currentPage,
4546
4574
  totalPages,
4547
4575
  onPageChange,
4548
- onDepartmentClick,
4549
- onCreateDepartment
4576
+ onHuddleClick,
4577
+ onCreateHuddle
4550
4578
  }) => {
4551
- const [isCreateModalOpen, setIsCreateModalOpen] = useState32(false);
4552
- const [deptName, setDeptName] = useState32("");
4553
- const [isCreating, setIsCreating] = useState32(false);
4554
- const handleCreateSubmit = async (e) => {
4555
- e.preventDefault();
4556
- if (deptName.length < 2 || isCreating || !onCreateDepartment) return;
4557
- setIsCreating(true);
4558
- try {
4559
- await onCreateDepartment(deptName);
4560
- setDeptName("");
4561
- setIsCreateModalOpen(false);
4562
- } catch (error) {
4563
- toast12.error(error.message || "Failed to create department.");
4564
- } finally {
4565
- setIsCreating(false);
4566
- }
4567
- };
4568
- return /* @__PURE__ */ React46.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ React46.createElement("div", { className: "flex flex-row items-center justify-between gap-4" }, /* @__PURE__ */ React46.createElement("h2", { className: "text-black text-xl tracking-tight" }, headerTitle), onCreateDepartment && /* @__PURE__ */ React46.createElement(
4579
+ return /* @__PURE__ */ React46.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ React46.createElement("div", { className: "flex flex-row items-center justify-between gap-4" }, /* @__PURE__ */ React46.createElement("h2", { className: "text-black text-xl tracking-tight" }, headerTitle), onCreateHuddle && /* @__PURE__ */ React46.createElement(
4569
4580
  "button",
4570
4581
  {
4571
- onClick: () => setIsCreateModalOpen(true),
4582
+ onClick: onCreateHuddle,
4572
4583
  className: "shrink-0 px-4 py-1.5 border border-neutral-200 text-black text-[12px] tracking-wide rounded-full hover:bg-neutral-50 transition-colors outline-none"
4573
4584
  },
4574
4585
  "Create new"
4575
- )), headerDescription && /* @__PURE__ */ React46.createElement("p", { className: "text-[12px] text-neutral-500" }, headerDescription)), /* @__PURE__ */ React46.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ React46.createElement(PageSpinner6, null) : /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React46.createElement("div", null, departments.length === 0 ? /* @__PURE__ */ React46.createElement("p", { className: "text-[12px] text-neutral-400 py-6 text-center" }, "No departments available") : departments.map((dept) => /* @__PURE__ */ React46.createElement(
4586
+ )), headerDescription && /* @__PURE__ */ React46.createElement("p", { className: "text-[12px] text-neutral-500" }, headerDescription)), /* @__PURE__ */ React46.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ React46.createElement(PageSpinner6, null) : /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React46.createElement("div", null, huddles.length === 0 ? /* @__PURE__ */ React46.createElement("p", { className: "text-[12px] text-neutral-400 py-6 text-center" }, "No huddles available") : huddles.map((huddle) => /* @__PURE__ */ React46.createElement(
4576
4587
  "div",
4577
4588
  {
4578
- key: dept.id,
4579
- onClick: () => onDepartmentClick(dept.id),
4589
+ key: huddle.id,
4590
+ onClick: () => onHuddleClick(huddle.id),
4580
4591
  className: "flex flex-row items-center gap-4 py-2 hover:bg-neutral-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl"
4581
4592
  },
4582
- /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ React46.createElement("p", { className: "text-[13px] text-black tracking-tight truncate" }, dept.name), /* @__PURE__ */ React46.createElement("div", { className: "flex items-center gap-3 min-w-0" }, dept.avatars && dept.avatars.length > 0 && /* @__PURE__ */ React46.createElement("div", { className: "flex items-center -space-x-2 shrink-0" }, dept.avatars.slice(0, 4).map((src, idx) => /* @__PURE__ */ React46.createElement("div", { key: idx, className: "w-4 h-4 rounded-md bg-neutral-100 overflow-hidden shrink-0" }, /* @__PURE__ */ React46.createElement(
4583
- "img",
4584
- {
4585
- src: src || "https://storage.googleapis.com/retina-cloud-v2/assets/images/avatar.avif",
4586
- alt: "Member",
4587
- className: "w-full h-full object-cover"
4588
- }
4589
- )))), dept.totalMembers > 0 ? /* @__PURE__ */ React46.createElement("span", { className: "text-[11px] text-neutral-500 truncate block" }, formatMembersCount(dept.totalMembers), " ", dept.totalMembers > 4 ? "+" : "") : /* @__PURE__ */ React46.createElement("span", { className: "text-[11px] text-neutral-400 truncate block" }, "No Members"))),
4593
+ /* @__PURE__ */ React46.createElement(HuddleAvatar, { src: huddle.imageUrl, status: huddle.status }),
4594
+ /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ React46.createElement("p", { className: "text-[13px] text-black tracking-tight truncate" }, huddle.name), /* @__PURE__ */ React46.createElement("span", { className: "text-[11px] text-neutral-500 truncate block mt-0.5" }, huddle.timeString)),
4590
4595
  /* @__PURE__ */ React46.createElement(HugeiconsIcon32, { icon: ArrowRight01Icon9, size: 14, className: "shrink-0 text-neutral-400" })
4591
4596
  ))), /* @__PURE__ */ React46.createElement("div", { className: "flex items-center justify-between pt-6 mt-2 " }, /* @__PURE__ */ React46.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em]" }, "Page ", currentPage, " of ", totalPages === 0 ? 1 : totalPages), /* @__PURE__ */ React46.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React46.createElement(
4592
4597
  "button",
@@ -4604,55 +4609,13 @@ var UniversalDepartmentsPage = ({
4604
4609
  className: "p-2 bg-white border border-neutral-200 rounded-full text-black hover:bg-neutral-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none"
4605
4610
  },
4606
4611
  /* @__PURE__ */ React46.createElement(HugeiconsIcon32, { icon: ArrowRight01Icon9, size: 14 })
4607
- )))))), isCreateModalOpen && /* @__PURE__ */ React46.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React46.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: () => !isCreating && setIsCreateModalOpen(false) }), /* @__PURE__ */ React46.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__ */ React46.createElement("div", { className: "flex items-center justify-between pt-5 px-5 shrink-0 " }, /* @__PURE__ */ React46.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Create Department"), /* @__PURE__ */ React46.createElement(
4608
- "button",
4609
- {
4610
- onClick: () => setIsCreateModalOpen(false),
4611
- disabled: isCreating,
4612
- className: "text-neutral-400 hover:text-black transition-colors outline-none disabled:opacity-50"
4613
- },
4614
- /* @__PURE__ */ React46.createElement(HugeiconsIcon32, { icon: CancelCircleIcon9, size: 18 })
4615
- )), /* @__PURE__ */ React46.createElement("div", { className: "p-6" }, /* @__PURE__ */ React46.createElement("form", { onSubmit: handleCreateSubmit, className: "flex flex-col gap-8" }, /* @__PURE__ */ React46.createElement("div", { className: "space-y-1.5" }, /* @__PURE__ */ React46.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block" }, "Department Name"), /* @__PURE__ */ React46.createElement(
4616
- "input",
4617
- {
4618
- type: "text",
4619
- value: deptName,
4620
- onChange: (e) => setDeptName(e.target.value),
4621
- required: true,
4622
- autoFocus: true,
4623
- maxLength: 50,
4624
- disabled: isCreating,
4625
- className: "w-full px-2 py-3 bg-transparent text-sm border-b border-neutral-200 text-black outline-none focus:border-black transition-all duration-300 disabled:opacity-50",
4626
- placeholder: "e.g. Engineering, Marketing..."
4627
- }
4628
- )), /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React46.createElement(
4629
- ThreeDActionButton,
4630
- {
4631
- type: "submit",
4632
- disabled: deptName.length < 2 || isCreating,
4633
- isLoading: isCreating,
4634
- className: "w-full"
4635
- },
4636
- "Create Department"
4637
- ), /* @__PURE__ */ React46.createElement(
4638
- "button",
4639
- {
4640
- type: "button",
4641
- onClick: () => {
4642
- setIsCreateModalOpen(false);
4643
- setDeptName("");
4644
- },
4645
- disabled: isCreating,
4646
- className: "w-full flex items-center justify-center py-2.5 rounded-full border border-neutral-200 text-black hover:bg-neutral-50 transition-colors outline-none text-xs tracking-wide"
4647
- },
4648
- "Cancel"
4649
4612
  )))))));
4650
4613
  };
4651
4614
 
4652
4615
  // src/components/UniversalMembersPage.tsx
4653
4616
  import React47, { useState as useState33, useEffect as useEffect18, useRef as useRef12 } from "react";
4654
4617
  import { HugeiconsIcon as HugeiconsIcon33 } from "@hugeicons/react";
4655
- import toast13 from "react-hot-toast";
4618
+ import toast12 from "react-hot-toast";
4656
4619
  import {
4657
4620
  ArrowLeft01Icon as ArrowLeft01Icon14,
4658
4621
  ArrowRight01Icon as ArrowRight01Icon10,
@@ -4754,11 +4717,11 @@ var UniversalMembersPage = ({
4754
4717
  setIsRemoving(true);
4755
4718
  try {
4756
4719
  await onRemoveMember(memberToRemove.id);
4757
- toast13.success("Member removed successfully.");
4720
+ toast12.success("Member removed successfully.");
4758
4721
  setExpandedId(null);
4759
4722
  setMemberToRemove(null);
4760
4723
  } catch (error) {
4761
- toast13.error("Failed to remove member.");
4724
+ toast12.error("Failed to remove member.");
4762
4725
  } finally {
4763
4726
  setIsRemoving(false);
4764
4727
  }
@@ -4772,7 +4735,7 @@ var UniversalMembersPage = ({
4772
4735
  setInviteEmail("");
4773
4736
  setIsInviteMode(false);
4774
4737
  } catch (error) {
4775
- toast13.error(error.message || "Failed to send invitation.");
4738
+ toast12.error(error.message || "Failed to send invitation.");
4776
4739
  } finally {
4777
4740
  setIsInviting(false);
4778
4741
  }
@@ -4919,24 +4882,38 @@ var UniversalMembersPage = ({
4919
4882
  import React48, { useState as useState34 } from "react";
4920
4883
  import { useRouter as useRouter3 } from "next/navigation";
4921
4884
  import { HugeiconsIcon as HugeiconsIcon34 } from "@hugeicons/react";
4922
- import toast14 from "react-hot-toast";
4885
+ import toast13 from "react-hot-toast";
4923
4886
  import {
4924
4887
  Loading03Icon as Loading03Icon22,
4925
4888
  Notification01Icon as Notification01Icon2,
4926
4889
  ArrowLeft01Icon as ArrowLeft01Icon15,
4927
4890
  ArrowRight01Icon as ArrowRight01Icon11,
4928
- CancelCircleIcon as CancelCircleIcon10,
4891
+ CancelCircleIcon as CancelCircleIcon9,
4929
4892
  ArrowUpRight01Icon as ArrowUpRight01Icon3,
4930
4893
  Settings03Icon,
4931
4894
  Logout01Icon
4932
4895
  } from "@hugeicons/core-free-icons";
4896
+ var OrgAvatar = ({ src, sizeClass = "w-10 h-10" }) => {
4897
+ const [loaded, setLoaded] = useState34(false);
4898
+ const [error, setError] = useState34(false);
4899
+ const defaultAvatar = "https://storage.googleapis.com/retina-cloud-v2/assets/images/office.avif";
4900
+ const finalSrc = error || !src ? defaultAvatar : src;
4901
+ return /* @__PURE__ */ React48.createElement("div", { className: `relative shrink-0 ${sizeClass}` }, /* @__PURE__ */ React48.createElement("div", { className: "w-full h-full rounded-lg bg-neutral-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: Loading03Icon22, className: "animate-spin text-neutral-400 absolute", size: 14 }), /* @__PURE__ */ React48.createElement(
4902
+ "img",
4903
+ {
4904
+ src: finalSrc,
4905
+ alt: "Workspace Avatar",
4906
+ className: `w-full h-full object-cover transition-opacity duration-300 ${loaded || error ? "opacity-100" : "opacity-0"}`,
4907
+ onLoad: () => setLoaded(true),
4908
+ onError: () => setError(true)
4909
+ }
4910
+ )));
4911
+ };
4933
4912
  var UniversalHome2 = ({
4934
4913
  avatarSrc,
4935
- userStatus = "ACTIVE",
4936
4914
  organizations = [],
4937
4915
  activeOrgId,
4938
4916
  onOrganizationSelect,
4939
- barIcons = [],
4940
4917
  createHuddleAction,
4941
4918
  joinHuddleAction,
4942
4919
  notifications = [],
@@ -4948,7 +4925,7 @@ var UniversalHome2 = ({
4948
4925
  onResolveInvite,
4949
4926
  formatNotifDate,
4950
4927
  customContent,
4951
- departmentsProps,
4928
+ huddlesProps,
4952
4929
  onLogout
4953
4930
  }) => {
4954
4931
  const [isAvatarLoaded, setIsAvatarLoaded] = useState34(false);
@@ -4962,27 +4939,13 @@ var UniversalHome2 = ({
4962
4939
  const fallbackAvatarUrl = "https://storage.googleapis.com/retina-cloud-v2/assets/images/avatar.avif";
4963
4940
  const finalAvatarSrc = avatarSrc || fallbackAvatarUrl;
4964
4941
  const hasUnreadNotifs = notifications.some((n) => !n.isRead);
4965
- const getDisplayStatus = () => {
4966
- if (userStatus === "ACTIVE") return "Online";
4967
- if (userStatus === "BUSY") return "Busy";
4968
- if (userStatus === "OFFLINE") return "Offline";
4969
- if (userStatus === "AWAY") return "Away";
4970
- return "Online";
4971
- };
4972
- const getStatusColor = () => {
4973
- if (userStatus === "ACTIVE") return "bg-emerald-500";
4974
- if (userStatus === "BUSY") return "bg-amber-500";
4975
- if (userStatus === "OFFLINE") return "bg-rose-500";
4976
- if (userStatus === "AWAY") return "bg-neutral-400";
4977
- return "bg-emerald-500";
4978
- };
4979
4942
  const handleResolve = async (resolution) => {
4980
4943
  if (!onResolveInvite || !selectedNotif) return;
4981
4944
  setIsResolving(true);
4982
4945
  try {
4983
4946
  await onResolveInvite(selectedNotif, resolution);
4984
4947
  } catch (error) {
4985
- toast14.error("Failed to process invitation");
4948
+ toast13.error("Failed to process invitation");
4986
4949
  } finally {
4987
4950
  setIsResolving(false);
4988
4951
  }
@@ -4992,7 +4955,7 @@ var UniversalHome2 = ({
4992
4955
  try {
4993
4956
  if (onLogout) await onLogout();
4994
4957
  } catch (e) {
4995
- toast14.error("Failed to log out cleanly.");
4958
+ toast13.error("Failed to log out cleanly.");
4996
4959
  } finally {
4997
4960
  setIsLoggingOut(false);
4998
4961
  setShowLogoutConfirm(false);
@@ -5049,14 +5012,14 @@ var UniversalHome2 = ({
5049
5012
  {
5050
5013
  src: "https://storage.googleapis.com/retina-cloud-v2/assets/images/cal_b.avif",
5051
5014
  alt: "Create Huddle",
5052
- 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"
5015
+ 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"
5053
5016
  }
5054
5017
  )
5055
5018
  ), /* @__PURE__ */ React48.createElement(
5056
5019
  "div",
5057
5020
  {
5058
5021
  onClick: joinHuddleAction?.onClick,
5059
- className: "bg-[#f8f8fa] rounded-2xl p-5 relative overflow-hidden flex flex-col h-32 sm:h-36 cursor-pointer hover:opacity-90 transition-opacity"
5022
+ 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"
5060
5023
  },
5061
5024
  /* @__PURE__ */ React48.createElement("div", { className: "relative z-10 flex flex-col h-full justify-between" }, /* @__PURE__ */ React48.createElement("p", { className: "text-[15px] sm:text-[15px] text-black leading-tight" }, "Join", /* @__PURE__ */ React48.createElement("br", null), /* @__PURE__ */ React48.createElement("span", { className: "text-black/60" }, "Huddle")), /* @__PURE__ */ React48.createElement("div", { className: "w-8 h-8 rounded-full bg-black/5 flex items-center justify-center" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: ArrowRight01Icon11, size: 16, className: "text-black" }))),
5062
5025
  /* @__PURE__ */ React48.createElement(
@@ -5064,15 +5027,15 @@ var UniversalHome2 = ({
5064
5027
  {
5065
5028
  src: "https://storage.googleapis.com/retina-cloud-v2/assets/images/cam_c.avif",
5066
5029
  alt: "Join Huddle",
5067
- 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"
5030
+ 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"
5068
5031
  }
5069
5032
  )
5070
5033
  ))), customContent && /* @__PURE__ */ React48.createElement("div", { className: "w-full" }, customContent), /* @__PURE__ */ React48.createElement("div", { className: "w-full mt-2" }, /* @__PURE__ */ React48.createElement(
5071
- UniversalDepartmentsPage,
5034
+ UniversalHuddlesPage,
5072
5035
  {
5073
- ...departmentsProps
5036
+ ...huddlesProps
5074
5037
  }
5075
- )), showOrgSwitcher && /* @__PURE__ */ React48.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React48.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowOrgSwitcher(false) }), /* @__PURE__ */ React48.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[80vh] h-auto" }, /* @__PURE__ */ React48.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React48.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Switch Workspace"), /* @__PURE__ */ React48.createElement("button", { onClick: () => setShowOrgSwitcher(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: CancelCircleIcon10, size: 18 }))), /* @__PURE__ */ React48.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, /* @__PURE__ */ React48.createElement("div", { className: "flex flex-col" }, organizations?.length === 0 ? /* @__PURE__ */ React48.createElement("div", { className: "p-8 text-center text-xs text-neutral-400" }, "No organizations found.") : organizations?.map((org) => /* @__PURE__ */ React48.createElement(
5038
+ )), showOrgSwitcher && /* @__PURE__ */ React48.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React48.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowOrgSwitcher(false) }), /* @__PURE__ */ React48.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[80vh] h-auto" }, /* @__PURE__ */ React48.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React48.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Switch Workspace"), /* @__PURE__ */ React48.createElement("button", { onClick: () => setShowOrgSwitcher(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: CancelCircleIcon9, size: 18 }))), /* @__PURE__ */ React48.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, /* @__PURE__ */ React48.createElement("div", { className: "flex flex-col" }, organizations?.length === 0 ? /* @__PURE__ */ React48.createElement("div", { className: "p-8 text-center text-xs text-neutral-400" }, "No organizations found.") : organizations?.map((org) => /* @__PURE__ */ React48.createElement(
5076
5039
  "button",
5077
5040
  {
5078
5041
  key: org.id,
@@ -5082,6 +5045,7 @@ var UniversalHome2 = ({
5082
5045
  },
5083
5046
  className: `p-4 flex items-center justify-between gap-3 cursor-pointer outline-none transition-colors border-b border-neutral-50 last:border-0 ${activeOrgId === org.id ? "bg-neutral-50" : "hover:bg-neutral-50/50"}`
5084
5047
  },
5048
+ /* @__PURE__ */ React48.createElement(OrgAvatar, { src: org.avatarUrl }),
5085
5049
  /* @__PURE__ */ React48.createElement("div", { className: "flex flex-col items-start min-w-0 flex-1" }, /* @__PURE__ */ React48.createElement("span", { className: `text-[13px] tracking-tight truncate w-full text-left ${activeOrgId === org.id ? "text-black " : "text-neutral-600"}` }, org.name), /* @__PURE__ */ React48.createElement("span", { className: "text-[11px] text-[#068afe] capitalize truncate w-full text-left mt-0.5" }, org.role?.toLowerCase() || "Member")),
5086
5050
  activeOrgId === org.id && /* @__PURE__ */ React48.createElement("div", { className: "w-2 h-2 rounded-full bg-[#068afe] shrink-0" })
5087
5051
  )))), /* @__PURE__ */ React48.createElement("div", { className: "p-4 shrink-0" }, /* @__PURE__ */ React48.createElement(
@@ -5095,7 +5059,7 @@ var UniversalHome2 = ({
5095
5059
  },
5096
5060
  /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: Logout01Icon, size: 15 }),
5097
5061
  "Log Out"
5098
- )))), showNotifDialog && /* @__PURE__ */ React48.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React48.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ React48.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[80vh] h-auto" }, /* @__PURE__ */ React48.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, selectedNotif ? /* @__PURE__ */ React48.createElement("button", { onClick: () => setSelectedNotif(null), disabled: isResolving, className: "text-[#068afe] hover:text-[#068afe] transition-colors outline-none flex items-center gap-2 text-[11px] tracking-widest disabled:opacity-50" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: ArrowLeft01Icon15, size: 14 }), " Back") : /* @__PURE__ */ React48.createElement("h3", { className: "text-[15px] text-black tracking-tight flex items-center gap-2" }, "Notifications"), /* @__PURE__ */ React48.createElement("button", { onClick: () => setShowNotifDialog(false), disabled: isResolving, className: "text-neutral-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: CancelCircleIcon10, size: 18 }))), /* @__PURE__ */ React48.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2 relative" }, isNotifsLoading && !selectedNotif && /* @__PURE__ */ React48.createElement("div", { className: "absolute inset-0 z-10 flex items-center justify-center" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: Loading03Icon22, size: 28, className: "animate-spin text-black" })), selectedNotif ? /* @__PURE__ */ React48.createElement("div", { className: "p-4 text-left" }, /* @__PURE__ */ React48.createElement("h4", { className: "text-[14px] text-black mb-1" }, selectedNotif.title), /* @__PURE__ */ React48.createElement("span", { className: "text-[10px] text-neutral-400 tracking-widest mb-4 block" }, formatNotifDate(selectedNotif.createdAt)), /* @__PURE__ */ React48.createElement("p", { className: "text-[12px] text-neutral-600 leading-relaxed whitespace-pre-wrap" }, selectedNotif.message), selectedNotif.type === "HUDDLE_INVITE" && selectedNotif.meta_json?.action === "RESOLVE_INVITE" && !selectedNotif.meta_json?.completed && /* @__PURE__ */ React48.createElement("div", { className: "mt-8 flex gap-3 pt-6 " }, /* @__PURE__ */ React48.createElement(
5062
+ )))), showNotifDialog && /* @__PURE__ */ React48.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React48.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ React48.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[80vh] h-auto" }, /* @__PURE__ */ React48.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, selectedNotif ? /* @__PURE__ */ React48.createElement("button", { onClick: () => setSelectedNotif(null), disabled: isResolving, className: "text-[#068afe] hover:text-[#068afe] transition-colors outline-none flex items-center gap-2 text-[11px] tracking-widest disabled:opacity-50" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: ArrowLeft01Icon15, size: 14 }), " Back") : /* @__PURE__ */ React48.createElement("h3", { className: "text-[15px] text-black tracking-tight flex items-center gap-2" }, "Notifications"), /* @__PURE__ */ React48.createElement("button", { onClick: () => setShowNotifDialog(false), disabled: isResolving, className: "text-neutral-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: CancelCircleIcon9, size: 18 }))), /* @__PURE__ */ React48.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2 relative" }, isNotifsLoading && !selectedNotif && /* @__PURE__ */ React48.createElement("div", { className: "absolute inset-0 z-10 flex items-center justify-center" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon34, { icon: Loading03Icon22, size: 28, className: "animate-spin text-black" })), selectedNotif ? /* @__PURE__ */ React48.createElement("div", { className: "p-4 text-left" }, /* @__PURE__ */ React48.createElement("h4", { className: "text-[14px] text-black mb-1" }, selectedNotif.title), /* @__PURE__ */ React48.createElement("span", { className: "text-[10px] text-neutral-400 tracking-widest mb-4 block" }, formatNotifDate(selectedNotif.createdAt)), /* @__PURE__ */ React48.createElement("p", { className: "text-[12px] text-neutral-600 leading-relaxed whitespace-pre-wrap" }, selectedNotif.message), selectedNotif.type === "HUDDLE_INVITE" && selectedNotif.meta_json?.action === "RESOLVE_INVITE" && !selectedNotif.meta_json?.completed && /* @__PURE__ */ React48.createElement("div", { className: "mt-8 flex gap-3 pt-6 " }, /* @__PURE__ */ React48.createElement(
5099
5063
  "button",
5100
5064
  {
5101
5065
  onClick: () => handleResolve("ACCEPTED"),
@@ -5144,7 +5108,7 @@ var UniversalHome2 = ({
5144
5108
 
5145
5109
  // src/components/UniversalSettings.tsx
5146
5110
  import React49, { useState as useState35, useEffect as useEffect19, useRef as useRef13 } from "react";
5147
- import toast15 from "react-hot-toast";
5111
+ import toast14 from "react-hot-toast";
5148
5112
  import { HugeiconsIcon as HugeiconsIcon35 } from "@hugeicons/react";
5149
5113
  import {
5150
5114
  ArrowLeft01Icon as ArrowLeft01Icon16,
@@ -5273,11 +5237,11 @@ var UniversalSettings = ({
5273
5237
  setIsRemoving(true);
5274
5238
  try {
5275
5239
  await onRemoveMember(memberToRemove.userId);
5276
- toast15.success("Member removed successfully.");
5240
+ toast14.success("Member removed successfully.");
5277
5241
  setExpandedId(null);
5278
5242
  setMemberToRemove(null);
5279
5243
  } catch (error) {
5280
- toast15.error("Failed to remove member.");
5244
+ toast14.error("Failed to remove member.");
5281
5245
  } finally {
5282
5246
  setIsRemoving(false);
5283
5247
  }
@@ -5291,7 +5255,7 @@ var UniversalSettings = ({
5291
5255
  setInviteEmail("");
5292
5256
  setIsInviteMode(false);
5293
5257
  } catch (error) {
5294
- toast15.error(error.message || "Failed to send invitation.");
5258
+ toast14.error(error.message || "Failed to send invitation.");
5295
5259
  } finally {
5296
5260
  setIsInviting(false);
5297
5261
  }
@@ -5334,7 +5298,7 @@ var UniversalSettings = ({
5334
5298
  e.preventDefault();
5335
5299
  if (isSavingAccount || isCheckingSlug || isAccountReadOnly || !onSaveAccount) return;
5336
5300
  if (slug !== initialSlug && slugAvailable === false) {
5337
- toast15.error("Please select an available address handle.");
5301
+ toast14.error("Please select an available address handle.");
5338
5302
  return;
5339
5303
  }
5340
5304
  setIsSavingAccount(true);
@@ -5345,12 +5309,12 @@ var UniversalSettings = ({
5345
5309
  };
5346
5310
  const res = await onSaveAccount(payload);
5347
5311
  if (res.success) {
5348
- toast15.success("Profile updated successfully.");
5312
+ toast14.success("Profile updated successfully.");
5349
5313
  } else {
5350
- toast15.error(res.error || "Failed to update profile.");
5314
+ toast14.error(res.error || "Failed to update profile.");
5351
5315
  }
5352
5316
  } catch (error) {
5353
- toast15.error("Service unavailable. Try again later.");
5317
+ toast14.error("Service unavailable. Try again later.");
5354
5318
  } finally {
5355
5319
  setIsSavingAccount(false);
5356
5320
  }
@@ -5418,7 +5382,7 @@ var UniversalSettings = ({
5418
5382
  className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-neutral-500 hover:text-black transition-colors outline-none"
5419
5383
  },
5420
5384
  /* @__PURE__ */ React49.createElement(HugeiconsIcon35, { icon: ListSettingIcon3, size: 16 })
5421
- ))), /* @__PURE__ */ React49.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, activeExpandedMember ? /* @__PURE__ */ React49.createElement("div", { className: "flex flex-col animate-in fade-in zoom-in-95 duration-300 w-full" }, /* @__PURE__ */ React49.createElement("div", { className: "flex flex-col gap-1 mb-8" }, /* @__PURE__ */ React49.createElement("h2", { className: "text-black text-xl tracking-tight" }, "Member Profile"), /* @__PURE__ */ React49.createElement("p", { className: "text-[12px] text-neutral-500" }, "View and manage this member's access privileges.")), /* @__PURE__ */ React49.createElement("div", { className: "flex items-center gap-4 mb-8" }, /* @__PURE__ */ React49.createElement(MemberAvatar2, { src: activeExpandedMember.avatarUrl, status: activeExpandedMember.status, sizeClass: "w-14 h-14" }), /* @__PURE__ */ React49.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React49.createElement("span", { className: "text-sm text-black tracking-tight truncate" }, activeExpandedMember.fullName), /* @__PURE__ */ React49.createElement("span", { className: "text-[12px] text-neutral-500 capitalize" }, activeExpandedMember.role.toLowerCase()))), activeExpandedMember.departmentName && /* @__PURE__ */ React49.createElement("div", { className: "mb-8" }, /* @__PURE__ */ React49.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-1" }, "Assigned Department"), /* @__PURE__ */ React49.createElement("span", { className: "text-[12px] text-black truncate block" }, activeExpandedMember.departmentName)), /* @__PURE__ */ React49.createElement("div", { className: "flex flex-col sm:flex-row gap-3 pt-6 " }, !isAccountReadOnly && /* @__PURE__ */ React49.createElement(
5385
+ ))), /* @__PURE__ */ React49.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, activeExpandedMember ? /* @__PURE__ */ React49.createElement("div", { className: "flex flex-col animate-in fade-in zoom-in-95 duration-300 w-full" }, /* @__PURE__ */ React49.createElement("div", { className: "flex flex-col gap-1 mb-8" }, /* @__PURE__ */ React49.createElement("h2", { className: "text-black text-xl tracking-tight" }, "Member Profile"), /* @__PURE__ */ React49.createElement("p", { className: "text-[12px] text-neutral-500" }, "View and manage this member's access privileges.")), /* @__PURE__ */ React49.createElement("div", { className: "flex items-center gap-4 mb-8" }, /* @__PURE__ */ React49.createElement(MemberAvatar2, { src: activeExpandedMember.avatarUrl, status: activeExpandedMember.status, sizeClass: "w-14 h-14" }), /* @__PURE__ */ React49.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React49.createElement("span", { className: "text-sm text-black tracking-tight truncate" }, activeExpandedMember.fullName), /* @__PURE__ */ React49.createElement("span", { className: "text-[12px] text-neutral-500 capitalize" }, activeExpandedMember.role.toLowerCase()))), /* @__PURE__ */ React49.createElement("div", { className: "flex flex-col sm:flex-row gap-3 pt-6 " }, !isAccountReadOnly && /* @__PURE__ */ React49.createElement(
5422
5386
  "button",
5423
5387
  {
5424
5388
  onClick: () => setMemberToRemove(activeExpandedMember),
@@ -5562,21 +5526,14 @@ var UniversalSettings = ({
5562
5526
  className: "text-[11px] tracking-widest text-neutral-400 hover:text-black transition-colors outline-none"
5563
5527
  },
5564
5528
  "Cancel"
5565
- ))))), activeTab === "BILLING" && /* @__PURE__ */ React49.createElement("div", { className: "flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React49.createElement("div", { className: "bg-[#143731] rounded-3xl p-6 relative overflow-hidden flex flex-col w-full mt-2" }, /* @__PURE__ */ React49.createElement("div", { className: "relative z-10 flex flex-col items-start w-full" }, /* @__PURE__ */ React49.createElement("p", { className: "text-[11px] text-white leading-tight mb-1" }, /* @__PURE__ */ React49.createElement("span", { className: "text-white/60" }, "AI Credits Balance")), isBillingLoading ? /* @__PURE__ */ React49.createElement("div", { className: "h-8 w-32 bg-white/10 animate-pulse rounded mt-2" }) : /* @__PURE__ */ React49.createElement("div", { className: "flex items-center gap-2 mt-1" }, /* @__PURE__ */ React49.createElement(HugeiconsIcon35, { icon: Coins01Icon, size: 24, className: "text-white" }), /* @__PURE__ */ React49.createElement("span", { className: "text-2xl text-white tracking-tight" }, aiCredits)), /* @__PURE__ */ React49.createElement("div", { className: "mt-2 w-full " }, /* @__PURE__ */ React49.createElement(
5529
+ ))))), activeTab === "BILLING" && /* @__PURE__ */ React49.createElement("div", { className: "flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React49.createElement("div", { className: "bg-[#ffffff] rounded-3xl p-6 relative overflow-hidden flex flex-col w-full mt-2" }, /* @__PURE__ */ React49.createElement("div", { className: "relative z-10 flex flex-col items-start w-full" }, /* @__PURE__ */ React49.createElement("p", { className: "text-[11px] text-black leading-tight mb-1" }, /* @__PURE__ */ React49.createElement("span", { className: "text-black/60" }, "AI Credits Balance")), isBillingLoading ? /* @__PURE__ */ React49.createElement("div", { className: "h-8 w-32 bg-black/10 animate-pulse rounded mt-2" }) : /* @__PURE__ */ React49.createElement("div", { className: "flex items-center gap-2 mt-1" }, /* @__PURE__ */ React49.createElement(HugeiconsIcon35, { icon: Coins01Icon, size: 24, className: "text-black" }), /* @__PURE__ */ React49.createElement("span", { className: "text-2xl text-black tracking-tight" }, aiCredits)), /* @__PURE__ */ React49.createElement("div", { className: "mt-2 w-full " }, /* @__PURE__ */ React49.createElement(
5566
5530
  "button",
5567
5531
  {
5568
5532
  onClick: onTopUp,
5569
- className: "px-6 py-2 rounded-full border border-white/50 bg-transparent text-white/50 text-[11px] tracking-wide transition-colors outline-none hover:bg-white/10 hover:text-white hover:border-white"
5533
+ className: "px-6 py-2 rounded-full border border-neutral-200 bg-transparent text-neutral-200 text-[11px] tracking-wide transition-colors outline-none hover:bg-black/10 hover:text-black hover:border-black"
5570
5534
  },
5571
5535
  "Top Up Credits"
5572
- ))), /* @__PURE__ */ React49.createElement(
5573
- "img",
5574
- {
5575
- src: "https://storage.googleapis.com/retina-cloud-v2/assets/images/save_box.avif",
5576
- alt: "Credits",
5577
- className: "absolute bottom-2 right-2 translate-x-1/4 translate-y-1/2 w-32 h-auto object-contain z-0 pointer-events-none drop-shadow-md"
5578
- }
5579
- )), /* @__PURE__ */ React49.createElement("div", { className: "mt-4 px-1" }, /* @__PURE__ */ React49.createElement("p", { className: "text-[11px] text-neutral-500 leading-relaxed max-w-lg" }, "AI credits are consumed when generating intelligent summaries, transcriptions, and automated huddle insights. Additional credits are billed dynamically to your primary payment method."))));
5536
+ )))), /* @__PURE__ */ React49.createElement("div", { className: "mt-4 px-1" }, /* @__PURE__ */ React49.createElement("p", { className: "text-[11px] text-neutral-500 leading-relaxed max-w-lg" }, "AI credits are consumed when generating intelligent summaries, transcriptions, and automated huddle insights. Additional credits are billed dynamically to your primary payment method."))));
5580
5537
  };
5581
5538
  export {
5582
5539
  AppBento2,
@@ -5612,10 +5569,10 @@ export {
5612
5569
  UniversalBuyCryptoPage,
5613
5570
  UniversalCardActionPage,
5614
5571
  UniversalCardPage,
5615
- UniversalDepartmentsPage,
5616
5572
  UniversalErrorView,
5617
5573
  UniversalHome2,
5618
5574
  UniversalHomeView,
5575
+ UniversalHuddlesPage,
5619
5576
  UniversalMembersPage,
5620
5577
  UniversalOrganizationPage,
5621
5578
  UniversalProfilePage,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@retinalabsllc/zairusjs",
3
- "version": "16.1.80",
3
+ "version": "16.1.95",
4
4
  "description": "A perceptive, Ai data driven Next.js UI component library.",
5
5
  "author": "Retina Labs Company",
6
6
  "license": "MIT",