import{j as e,r as s}from"./vendor-react-RSDKEZ60.js";import{bb as a,c$ as n,h as i,a3 as t,d0 as r,cl as o,f as c,a9 as d,y as u,d1 as l,aC as x,a0 as m,ar as g}from"./c818056db-BBpc4u6S.js";import{u as f}from"./vendor-query-AdjnXGiH.js";import{M as p,u as v}from"./vendor-intl-BNW8a19h.js";import{aI as b,aJ as j,y as h}from"./ca9c256b9-B7ADeATc.js";import{m as _,n as y}from"./vendor-icons-CjJMeNuY.js";import{B as z}from"./vendor-ant-cds-CBh5POw1.js";const C=s=>e.jsx(a,{...s,children:e.jsx("path",{d:"M10 13c1.004 0 2.01.124 2.82.534.84.425 1.446 1.148 1.625 2.252l.014.131c.026.639-.534 1.083-1.095 1.083H6.636c-.599 0-1.196-.506-1.082-1.214.18-1.104.786-1.826 1.626-2.252C7.99 13.124 8.996 13 10 13m0 1c-.946 0-1.765.122-2.367.427-.572.289-.966.749-1.091 1.52v.007q0 .002.009.014a.12.12 0 0 0 .085.032h6.728a.12.12 0 0 0 .085-.032q.009-.011.009-.014v-.008c-.125-.77-.52-1.23-1.091-1.52C11.764 14.123 10.946 14 10 14M6.5 8a.5.5 0 1 1 0 1c-.946 0-1.765.122-2.367.427-.536.27-.917.692-1.065 1.379l-.026.14v.008q0 .002.009.014a.12.12 0 0 0 .085.032H6.5a.5.5 0 0 1 0 1H3.136c-.598 0-1.196-.506-1.082-1.214l.039-.202c.217-.99.8-1.651 1.587-2.05C4.49 8.124 5.496 8 6.5 8m3.5-.5a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5m3.5.5c1.004 0 2.01.125 2.82.534.84.425 1.446 1.148 1.625 2.252.115.708-.483 1.214-1.08 1.214H13.5a.5.5 0 0 1 0-1h3.364a.12.12 0 0 0 .085-.032q.009-.011.009-.014v-.008c-.125-.77-.52-1.23-1.091-1.52C15.264 9.123 14.446 9 13.5 9a.5.5 0 0 1 0-1m-3.5.5a1.25 1.25 0 1 0 0 2.5 1.25 1.25 0 0 0 0-2.5m-3.5-6a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5m7 0a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5m-7 1a1.25 1.25 0 1 0 0 2.5 1.25 1.25 0 0 0 0-2.5m7 0a1.25 1.25 0 1 0 0 2.5 1.25 1.25 0 0 0 0-2.5"})}),N="pendingAccountInvites";function S(){const{account:e}=i();return t(`/api/accounts/${e?.uuid??""}/invites`,{queryKey:[N,e?.uuid],enabled:!!e?.uuid,staleTime:6e4,refetchOnWindowFocus:!0,meta:{noToast:!0}})}const k=e=>"pending"===e.status&&!!e.organization.capabilities?.includes("raven"),M=[];function w(){const{data:e}=S(),s=(e??M).filter(k);return s.length>0&&n("in_app_pending_invites")?s:M}function q(){return w().length}function J(e,s={}){const{account:a}=i(),n=`/api/accounts/${a?.uuid??""}/invites/${e?.uuid??""}/accept`,t=f();return r("onboarding.invite_accept_page.invite_accept.submitted",n,"POST",{...s,async onSuccess(...e){await t.invalidateQueries({queryKey:[o]}),await(s.onSuccess?.(...e))}})}function T(e={}){const{account:s}=i(),a=`/api/accounts/${s?.uuid??""}/invites/accept_by_token`,n=f();return r("onboarding.invite_accept_page.invite_accept_by_token.submitted",a,"POST",{...e,async onSuccess(...s){await n.invalidateQueries({queryKey:[o]}),await(e.onSuccess?.(...s))}})}function O(e,s={}){const{account:a}=i(),n=`/api/accounts/${a?.uuid??""}/invites/${e?.uuid??""}/reject`,t=f();return r("onboarding.invite_accept_page.invite_reject.submitted",n,"POST",{...s,async onSuccess(...e){await t.invalidateQueries({queryKey:[o]}),await(s.onSuccess?.(...e))}})}function P({org:s,onJoin:a,isJoining:n,disabled:i,compact:t=!1}){const r=s.has_pending_request;return e.jsxs("div",{className:c("flex items-center gap-2.5",t?"py-3 border-b border-border-300 last:border-b-0":"rounded-2xl border border-border-300 bg-bg-000 p-5 shadow-[0px_4px_20px_0px_hsl(var(--always-black)/4%)]"),children:[e.jsx("div",{className:c("flex flex-shrink-0 items-center justify-center rounded-md",t?"size-8":"size-10 bg-bg-200"),children:e.jsx(_,{size:t?16:20,className:"text-text-300"})}),e.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[e.jsx("span",{className:c("truncate font-semibold text-text-100",t?"font-base":"font-large"),children:s.name}),r?e.jsx("span",{className:"text-xs text-success-200",children:e.jsx(p,{defaultMessage:"Request sent",id:"LJZGVbeTMP"})}):s.member_count>0&&e.jsx("span",{className:"text-xs text-text-300",children:e.jsx(p,{defaultMessage:"{count, plural, one {# member} other {# members}}",id:"otTBkErfbC",values:{count:s.member_count}})})]}),e.jsx("div",{className:"flex-shrink-0",children:r?e.jsx(y,{size:20,weight:"bold",className:"text-text-300"}):e.jsx(z,{variant:t?"secondary":"primary",size:t?"sm":"lg",onClick:()=>a(s.organization_uuid),disabled:i||n,busy:n,children:e.jsx(p,{defaultMessage:"Join",id:"P6PLpip+L0"})})})]})}function L({source:e,errorContextSource:a,onPending:n,orgCount:i}){const t=v(),r=f(),{addError:o}=d(),{track:c}=u(),{mutateAsync:x}=b(),m=j(),[g,p]=s.useState(null),h=s.useRef(null);s.useEffect(()=>()=>{h.current?.abort()},[]);return{handleJoin:s.useCallback(async s=>{h.current?.abort();const d=new AbortController;h.current=d,p(s),c({event_key:"claudeai.org_discovery.join_requested",organization_uuid:s,org_count:i,source:e});try{const a=await x({organization_uuid:s});if(d.signal.aborted)return;if("approved"===a.status)return c({event_key:"claudeai.org_discovery.join_approved",organization_uuid:s,source:e}),void m(s,{surface:"org_discovery"});c({event_key:"claudeai.org_discovery.join_pending",organization_uuid:s,source:e}),n(s),r.setQueryData([l],e=>e?{...e,organizations:e.organizations.map(e=>e.organization_uuid===s?{...e,has_pending_request:!0}:e)}:e)}catch(u){if(d.signal.aborted)return;c({event_key:"claudeai.org_discovery.join_failed",organization_uuid:s,source:e}),o(t.formatMessage({defaultMessage:"Failed to send join request. You can try again.",id:"Bh+9NnoktZ"}),{error:u,errorContext:{tags:{source:a}},messageForLogging:"Failed to send join request. You can try again."})}d.signal.aborted||p(null)},[t,r,x,m,o,c,e,a,n,i]),joiningOrgUuid:g}}const $=s.memo(function({isOpen:s,onClose:a,source:n="user_menu",errorContextSource:i="user_menu_join_org"}){const t=v();return e.jsx(x,{isOpen:s,onClose:a,title:t.formatMessage({defaultMessage:"Join your team on Claude",id:"B8DvdutP6y"}),hasCloseButton:!0,modalSize:"lg",children:e.jsx(B,{onClose:a,source:n,errorContextSource:i})})});function B({onClose:a,source:n,errorContextSource:i}){const{data:t,isLoading:r,isError:o,refetch:c}=h(),d=w(),[u,l]=s.useState(new Set),x=s.useMemo(()=>new Set(d.map(e=>e.organization.uuid)),[d]),g=s.useMemo(()=>(t?.organizations??[]).filter(e=>!x.has(e.organization_uuid)).map(e=>({...e,has_pending_request:e.has_pending_request||u.has(e.organization_uuid)})),[t?.organizations,u,x]),f=s.useCallback(e=>{l(s=>new Set(s).add(e))},[]),{handleJoin:v,joiningOrgUuid:b}=L({source:n,errorContextSource:i,onPending:f,orgCount:g.length}),j=d.length>0,_=g.length>0,y=j&&_;return r&&!j?e.jsx("div",{className:"mt-2 flex flex-col min-h-[240px]",children:[1,2].map(s=>e.jsx("div",{className:"h-[52px] animate-pulse border-b border-border-300 last:border-b-0 bg-bg-200"},s))}):o&&!j?e.jsxs("div",{className:"mt-2 min-h-[240px]",children:[e.jsx("p",{className:"text-text-300 font-base",children:e.jsx(p,{defaultMessage:"Something went wrong loading organizations.",id:"u6RfLTv+ic"})}),e.jsx(m,{variant:"secondary",className:"mt-4",onClick:()=>{c()},children:e.jsx(p,{defaultMessage:"Try again",id:"FazwRldA7z"})})]}):j||_?e.jsxs("div",{className:"mt-2 flex flex-col gap-4 min-h-[240px]",children:[j&&e.jsxs("div",{children:[y&&e.jsx(I,{children:e.jsx(p,{defaultMessage:"Invites",id:"Wy+IdbkBFc"})}),e.jsx("div",{className:"flex flex-col",children:d.map(s=>e.jsx(F,{invite:s,onClose:a},s.uuid))})]}),_&&e.jsxs("div",{children:[y&&e.jsx(I,{children:e.jsx(p,{defaultMessage:"Other teams",id:"YodSi+9rOC"})}),e.jsx("div",{className:"flex flex-col",children:g.map(s=>{const a=b===s.organization_uuid,n=null!==b&&!a;return e.jsx(P,{org:s,onJoin:v,isJoining:a,disabled:n,compact:!0},s.organization_uuid)})})]})]}):e.jsx("div",{className:"mt-2 min-h-[240px]",children:e.jsx("p",{className:"text-text-300 font-base",children:e.jsx(p,{defaultMessage:"No organizations available to join.",id:"7pkfo3T2oz"})})})}function I({children:s}){return e.jsx("h3",{className:"text-xs font-medium text-text-300 mb-1",children:s})}function F({invite:s,onClose:a}){const n=v(),{account:t}=i(),r=f(),o=s.creator?.full_name||s.creator?.email_address,{mutate:c,isPending:d}=O(s,{onSuccess(){r.setQueryData([N,t?.uuid],e=>e?.filter(e=>e.uuid!==s.uuid))}});return e.jsxs("div",{className:"flex items-center gap-2.5 py-3 border-b border-border-300 last:border-b-0","data-testid":"join-modal-pending-invite",children:[e.jsx("div",{className:"flex flex-shrink-0 items-center justify-center rounded-md size-8",children:e.jsx(C,{size:16,className:"text-text-300"})}),e.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[e.jsx("span",{className:"truncate text-text-100 font-base",children:s.organization.name}),o&&e.jsx("span",{className:"text-xs text-text-300 truncate",children:e.jsx(p,{defaultMessage:"Invited by {inviter}",id:"Brxkv4a45I",values:{inviter:o}})})]}),e.jsxs("div",{className:"flex flex-shrink-0 items-center gap-1",children:[e.jsx(m,{size:"sm",href:`/invites?invite=${encodeURIComponent(s.uuid)}`,onLinkClick:a,children:e.jsx(p,{defaultMessage:"Accept invite",id:"8YMK0+TSSL"})}),e.jsx(m,{variant:"ghost",size:"icon_sm",onClick:()=>c(),loading:d,disabled:d,"aria-label":n.formatMessage({defaultMessage:"Decline invite",id:"yJuzKrN2c/"}),children:e.jsx(g,{size:16})})]})]})}export{P as D,$ as J,O as a,S as b,q as c,T as d,L as e,J as u};
