@shumai-one/shumai 0.3.4 → 0.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/bin/{chunk-c4nenmry.js → chunk-0jesq6sm.js} +1 -1
  2. package/bin/{chunk-gg1wfpm8.js → chunk-0jr6q4j4.js} +2 -2
  3. package/bin/{chunk-cwpmf8tx.js → chunk-0sajh8fw.js} +2 -2
  4. package/bin/{chunk-ardp3pze.js → chunk-1b7shyfp.js} +1 -1
  5. package/bin/{chunk-kfbztymc.js → chunk-1f8rr3ef.js} +2 -2
  6. package/bin/{chunk-zpq34g0w.js → chunk-1fq10abj.js} +2 -2
  7. package/bin/chunk-1hn9v6hv.js +2 -0
  8. package/bin/{chunk-4rexdetz.js → chunk-20wtz3kc.js} +3 -3
  9. package/bin/chunk-2882s5sp.js +1 -0
  10. package/bin/{chunk-6gjn8trh.js → chunk-29nhtrfv.js} +1 -1
  11. package/bin/chunk-3egeywt8.js +1 -0
  12. package/bin/chunk-3htn4m2d.js +7 -0
  13. package/bin/{chunk-tbdgkpgw.js → chunk-47093mwk.js} +1 -1
  14. package/bin/{chunk-2mr99scd.js → chunk-4a9sdfyp.js} +2 -2
  15. package/bin/{chunk-3t7v2de9.js → chunk-4ajat3xv.js} +57 -57
  16. package/bin/{chunk-6b0f3d07.js → chunk-55myfmhy.js} +2 -2
  17. package/bin/{chunk-5e48saab.js → chunk-5wrakb8p.js} +1 -1
  18. package/bin/{chunk-d4sjezbk.js → chunk-6awkqp09.js} +1 -1
  19. package/bin/chunk-6bztpk7h.js +1 -0
  20. package/bin/{chunk-j5q3t199.js → chunk-6edadcpn.js} +2 -2
  21. package/bin/chunk-74zstxav.js +6 -0
  22. package/bin/chunk-76hs7g0x.js +2 -0
  23. package/bin/{chunk-s584wxzj.js → chunk-7b60a9sy.js} +2 -2
  24. package/bin/{chunk-v5zdafv4.js → chunk-7fm1hznx.js} +2 -2
  25. package/bin/{chunk-sfmhbk59.js → chunk-800vdz5n.js} +1 -1
  26. package/bin/{chunk-5qwzveck.js → chunk-89kqtj7x.js} +2 -2
  27. package/bin/chunk-8g0mhzsg.js +2 -0
  28. package/bin/chunk-8jdgzy22.js +2 -0
  29. package/bin/chunk-8js9m1j7.js +1 -0
  30. package/bin/{chunk-r9thyg31.js → chunk-9annjnj2.js} +2 -2
  31. package/bin/{chunk-pew69nxg.js → chunk-9hsfjqgq.js} +2 -2
  32. package/bin/{chunk-e6rmqgzv.js → chunk-9p5n3m2z.js} +1 -1
  33. package/bin/{chunk-8pa1n500.js → chunk-9tnfhrnh.js} +2 -2
  34. package/bin/{chunk-qw5yjhab.js → chunk-a5fw02xq.js} +3 -3
  35. package/bin/chunk-adekdctx.css +1 -0
  36. package/bin/{chunk-q9tm2d21.js → chunk-aeg4kya9.js} +1 -1
  37. package/bin/{chunk-vzx1r87y.js → chunk-bq2aq6v8.js} +2 -2
  38. package/bin/{chunk-ddfx823h.js → chunk-c9bpf8gp.js} +2 -2
  39. package/bin/{chunk-ankkm2wz.js → chunk-ce50f746.js} +2 -2
  40. package/bin/{chunk-h0k9zw29.js → chunk-crdvxq38.js} +2 -2
  41. package/bin/{chunk-3vbx3x11.js → chunk-d2qp8g98.js} +2 -2
  42. package/bin/{chunk-5dqn7egd.js → chunk-d8bpqbdw.js} +1 -1
  43. package/bin/{chunk-4a185tez.js → chunk-dfzmqx1v.js} +3 -3
  44. package/bin/{chunk-03pw611p.js → chunk-dmjzrdan.js} +2 -2
  45. package/bin/chunk-e5s7202g.js +2 -0
  46. package/bin/{chunk-bpb0szs5.js → chunk-ef5v7gta.js} +2 -2
  47. package/bin/{chunk-7kdz1eng.js → chunk-ew4cxkcc.js} +2 -2
  48. package/bin/{chunk-axe5rq99.js → chunk-ex4qa7gv.js} +1 -1
  49. package/bin/{chunk-75x3w5hx.js → chunk-f2eh802w.js} +1 -1
  50. package/bin/{chunk-c1j58ekb.js → chunk-f44d9fpd.js} +2 -2
  51. package/bin/chunk-f5zg7b38.js +1 -0
  52. package/bin/chunk-fdm1yc29.js +1 -0
  53. package/bin/{chunk-w3xzd86e.js → chunk-fwbrcfaq.js} +2 -2
  54. package/bin/{chunk-bhqrqt97.js → chunk-fzaw1e34.js} +2 -2
  55. package/bin/{chunk-58y9bagr.js → chunk-g70eyttc.js} +2 -2
  56. package/bin/{chunk-nabagpah.js → chunk-gct52xks.js} +2 -2
  57. package/bin/{chunk-j5dejr3e.js → chunk-gewh7p42.js} +6 -6
  58. package/bin/chunk-gg1gwjtn.js +2 -0
  59. package/bin/chunk-gh64hag9.js +2 -0
  60. package/bin/{chunk-898hrxwq.js → chunk-ghz19a7t.js} +2 -2
  61. package/bin/{chunk-n7cmya8k.js → chunk-gra3617w.js} +2 -2
  62. package/bin/{chunk-jnx8p6kj.js → chunk-gx5rjm9m.js} +1 -1
  63. package/bin/chunk-h0p8yew4.js +1 -0
  64. package/bin/{chunk-6ab9eftx.js → chunk-hcvpb1hw.js} +1 -1
  65. package/bin/chunk-hgngnc1k.js +1 -0
  66. package/bin/chunk-hqbzjzsm.js +2 -0
  67. package/bin/{chunk-d4sg0z3y.js → chunk-j1awxx51.js} +2 -2
  68. package/bin/{chunk-khc3dydj.js → chunk-js0genbf.js} +1 -1
  69. package/bin/chunk-jt4yh37q.js +62 -0
  70. package/bin/{chunk-c9f6n4sf.js → chunk-jtd7rydv.js} +1 -1
  71. package/bin/chunk-k0xpskyq.js +1 -0
  72. package/bin/{chunk-jgxhv36z.js → chunk-kaxwma6y.js} +1 -1
  73. package/bin/{chunk-8wzepzp3.js → chunk-kk0gx8eg.js} +2 -2
  74. package/bin/{chunk-8tnq43k9.js → chunk-mgbqjbfc.js} +1 -1
  75. package/bin/{chunk-xkh6b42h.js → chunk-mhj0pqq3.js} +2 -2
  76. package/bin/{chunk-05m8w09t.js → chunk-mmrtjcst.js} +1 -1
  77. package/bin/{chunk-bagxeg82.js → chunk-mxee09jk.js} +2 -2
  78. package/bin/{chunk-z544s59c.js → chunk-n198tewr.js} +2 -2
  79. package/bin/{chunk-1bfrnc6b.js → chunk-n9cjmkky.js} +1 -1
  80. package/bin/{chunk-4153rke8.js → chunk-nh31ma8d.js} +2 -2
  81. package/bin/{chunk-gg8dmkwd.js → chunk-nh8azwsx.js} +2 -2
  82. package/bin/chunk-nhc72y4x.js +2 -0
  83. package/bin/{chunk-8qe7cpbr.js → chunk-pm64et9d.js} +1 -1
  84. package/bin/chunk-px6q3jpz.js +1 -0
  85. package/bin/{chunk-q2shr586.js → chunk-q7xfrtnj.js} +1 -1
  86. package/bin/{chunk-scfbmsy7.js → chunk-rmm6y799.js} +2 -2
  87. package/bin/{chunk-sddrv3ep.js → chunk-snexx7ks.js} +1 -1
  88. package/bin/chunk-sx3by19j.js +1 -0
  89. package/bin/{chunk-2ydhnafa.js → chunk-sx7kparv.js} +2 -2
  90. package/bin/{chunk-2y9t0qxp.js → chunk-t5561vz5.js} +1 -1
  91. package/bin/chunk-thj4cpev.js +2 -0
  92. package/bin/{chunk-3xfhbvar.js → chunk-tqxmj05h.js} +2 -2
  93. package/bin/{chunk-d2xrh0vv.js → chunk-vgr9db5g.js} +2 -2
  94. package/bin/{chunk-7pcba64w.js → chunk-vqgz25av.js} +1 -1
  95. package/bin/{chunk-m8tnsds1.js → chunk-vw1rhgjs.js} +2 -2
  96. package/bin/chunk-vz75bqvx.js +2 -0
  97. package/bin/{chunk-zned6mj8.js → chunk-w16jgdfx.js} +1 -1
  98. package/bin/{chunk-s5s1rk4n.js → chunk-w4ycztv5.js} +1 -1
  99. package/bin/{chunk-38hp9gfh.js → chunk-w98wvk17.js} +2 -2
  100. package/bin/chunk-wa8k9fwx.js +1 -0
  101. package/bin/{chunk-89chaa11.js → chunk-y0yrmcf3.js} +2 -2
  102. package/bin/{chunk-2jnyk045.js → chunk-y1t47c7f.js} +1 -1
  103. package/bin/{chunk-1apsnd7e.js → chunk-y8vw7zv1.js} +1 -1
  104. package/bin/{chunk-k78m3rar.js → chunk-ym47952x.js} +2 -2
  105. package/bin/{chunk-kgr3ytpb.js → chunk-yzra1x8f.js} +2 -2
  106. package/bin/{chunk-7xfx7741.js → chunk-z0tbq08w.js} +1 -1
  107. package/bin/{chunk-9deae0n7.js → chunk-z0zevgb6.js} +1 -1
  108. package/bin/{chunk-2967rnmn.js → chunk-z2ef8zpz.js} +1 -1
  109. package/bin/chunk-z3p3qz9d.js +3 -0
  110. package/bin/chunk-zv85aqwb.css +1 -0
  111. package/bin/shumai-app.html +1 -1
  112. package/bin/shumai-app.js +490 -340
  113. package/package.json +7 -7
  114. package/prisma/migrations/20260810025327_add_mcp_servers/migration.sql +71 -0
  115. package/prisma/migrations/20260810074554_mcp_server_cleanup/migration.sql +12 -0
  116. package/prisma/migrations/20260810124707_add_mcp_server_instructions/migration.sql +2 -0
  117. package/prisma/schema.prisma +69 -0
  118. package/bin/chunk-0ark0qrm.js +0 -1
  119. package/bin/chunk-21h9kgp5.js +0 -1
  120. package/bin/chunk-2errtbmb.js +0 -2
  121. package/bin/chunk-2pxev94x.js +0 -2
  122. package/bin/chunk-61hfhfce.js +0 -2
  123. package/bin/chunk-7e39zmss.js +0 -1
  124. package/bin/chunk-7h1m1e0b.js +0 -1
  125. package/bin/chunk-8btfb5g6.js +0 -2
  126. package/bin/chunk-bn1sts8x.js +0 -3
  127. package/bin/chunk-cwh21vfb.js +0 -2
  128. package/bin/chunk-dtjx1097.js +0 -2
  129. package/bin/chunk-e32bzfza.js +0 -1
  130. package/bin/chunk-ersxsrz8.js +0 -62
  131. package/bin/chunk-gnx9g8px.js +0 -2
  132. package/bin/chunk-htrzgs2a.css +0 -1
  133. package/bin/chunk-j2jdrmaa.js +0 -2
  134. package/bin/chunk-k41vt2gq.js +0 -1
  135. package/bin/chunk-krpr6g8a.js +0 -1
  136. package/bin/chunk-mfmcsdd7.js +0 -1
  137. package/bin/chunk-msjv1ykh.js +0 -2
  138. package/bin/chunk-n73dbqps.js +0 -1
  139. package/bin/chunk-nn5qpr0q.js +0 -1
  140. package/bin/chunk-q7v8sj72.js +0 -1
  141. package/bin/chunk-twhj7h73.js +0 -1
  142. package/bin/chunk-yn7mxpmb.js +0 -7
@@ -1,2 +1,2 @@
1
- import{db as Vq}from"./chunk-05m8w09t.js";import{fb as Qq,gb as Wq,hb as Xq,ib as Yq,jb as Zq,kb as _q,lb as $q,mb as Hq}from"./chunk-3vbx3x11.js";import{Af as e,xf as o,yf as r,zf as m}from"./chunk-898hrxwq.js";import{jg as P,lg as k,mg as G,og as B,pg as Y}from"./chunk-38hp9gfh.js";import{Ag as t,Aj as h,Bg as E,Bj as C,Cg as K,Cj as O,Fj as J,Gj as qq,Hj as Eq,Ij as Jq,Jj as Kq,Kh as H,Lj as Nq,Uh as n,Ui as s,bh as W,oh as z,zg as Cq,zj as X}from"./chunk-ersxsrz8.js";import{Jk as hq}from"./chunk-8tnq43k9.js";var Z=hq(Cq(),1);function uq({open:fq,onOpenChange:Fq,title:zq,members:g,isOwner:_,onInvite:c,onUpdateRole:I,onRemoveMember:v,currentUserId:Pq,availableMembersToAdd:M,onAddMember:L,type:V="team"}){let[T,u]=Z.useState("editor"),[S,p]=Z.useState(null),[l,x]=Z.useState(!1),[D,U]=Z.useState(null),[f,A]=Z.useState(null),[j,i]=Z.useState({}),[$,F]=Z.useState(null),y=(q)=>{if(!q)return"";switch(q.toLowerCase()){case"owner":return J.owner();case"editor":return J.editor();case"reviewer":return J.reviewer();default:return q}},a=(q,N)=>{i((Q)=>({...Q,[q]:N}))},kq=async(q,N)=>{if(!I)return;U(q);try{await I(q,N),W.success(J.member_role_updated())}catch(Q){console.error(Q),W.error(J.failed_to_update_member_role())}finally{U(null)}},Gq=async()=>{if(!v||!f?.id)return;U(f.id);try{await v(f.id),W.success(J.member_removed()),A(null)}catch(q){console.error(q),W.error(J.failed_to_remove_member())}finally{U(null)}},Bq=async()=>{if(!c)return;x(!0);try{let q=await c(T),N=`${window.location.origin}/signup?inviteCode=${q}`;p(N)}catch(q){console.error(q),W.error(J.failed_to_generate_invite_link())}finally{x(!1)}},Lq=async()=>{if(S){if(await Vq(S))W.success(J.invite_link_copied())}},R=(q)=>{if(!q)return"??";return q.split(" ").map((N)=>N[0]).slice(0,2).join("").toUpperCase()},Sq=(q)=>{if(!q)p(null),u("editor"),i({}),F(null);Fq(q)},w=Array.isArray(g)?g:[],Uq=Array.isArray(M)?M:[],yq=V==="project"&&_?w.filter((q)=>q.role==="owner"||q.scope==="project"||q.hasCustomRole):w,d=V==="project"&&_?w.filter((q)=>q.scope==="team"&&q.role!=="owner"&&!q.hasCustomRole):[],b=V==="project"&&_?Uq.filter((q)=>q.scope==="project"):[];return E(Eq,{open:fq,onOpenChange:Sq,children:K(Jq,{className:"sm:max-w-xl",onOpenAutoFocus:(q)=>q.preventDefault(),children:[E(Kq,{children:E(Nq,{children:zq})}),K("div",{className:"space-y-4",children:[E("div",{className:"max-h-[300px] overflow-y-auto space-y-2",children:yq.map((q)=>{let N=V==="team"&&q.scope==="project";return K("div",{className:"flex items-center justify-between p-2 rounded-lg hover:bg-muted/50",children:[K("div",{className:"flex items-center gap-3",children:[K(h,{children:[q.image&&E(C,{src:q.image,alt:q.name,className:"object-cover"}),E(O,{children:R(q.name)})]}),K("div",{className:"flex flex-col",children:[E("span",{className:"text-sm font-medium",children:q.name}),K("div",{className:"flex items-center gap-2",children:[!N&&E("span",{className:"text-xs text-muted-foreground capitalize",children:y(q.role)}),q.scope&&K(t,{children:[!N&&E("span",{className:"text-[10px] text-muted-foreground/70",children:"•"}),E("span",{className:"text-xs text-muted-foreground capitalize",children:q.scope==="team"?J.team_member():J.project_member()})]})]})]})]}),_&&q.role!=="owner"&&q.id!==Pq&&K("div",{className:"flex items-center gap-2",children:[N?E(o,{children:K(r,{children:[E(m,{asChild:!0,children:E("span",{children:E(X,{variant:"outline",size:"sm",className:"h-8 px-2 text-xs capitalize w-26 justify-between",disabled:!0,children:E(H,{className:"ml-auto h-3 w-3 opacity-50"})})})}),E(e,{side:"top",children:E("p",{className:"text-xs",children:J.project_member_role_tooltip()})})]})}):K(P,{children:[E(k,{asChild:!0,children:K(X,{variant:"outline",size:"sm",className:"h-8 px-2 text-xs capitalize w-26",disabled:D===q.id,children:[y(q.role),E(H,{className:"ml-1 h-3 w-3 opacity-50"})]})}),E(G,{children:K(B,{value:q.role,onValueChange:(Q)=>kq(q.id,Q),children:[E(Y,{value:"editor",className:"text-xs",children:J.editor()}),E(Y,{value:"reviewer",className:"text-xs",children:J.reviewer()})]})})]}),E(X,{variant:"ghost",size:"icon",className:"h-8 w-8 text-destructive hover:text-destructive hover:bg-destructive/10",onClick:()=>A(q),disabled:D===q.id,children:D===q.id?E(z,{className:"h-3 w-3 animate-spin"}):E(s,{className:"h-3 w-3"})})]})]},q.id)})}),E(Qq,{open:!!f,onOpenChange:(q)=>!q&&A(null),children:K(Wq,{children:[K(Xq,{children:[E(Zq,{children:J.remove_member()}),E(_q,{children:J.remove_member_confirmation({name:f?.name||"",type:V==="project"?J.project():J.team()})})]}),K(Yq,{children:[E(Hq,{children:J.cancel()}),E($q,{onClick:Gq,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:J.remove()})]})]})})," ",_&&L&&d.length>0&&K("div",{className:"border-t pt-4",children:[E("h4",{className:"text-sm font-medium mb-1",children:J.add_team_member_to_project()}),E("p",{className:"text-xs text-muted-foreground mb-3 font-normal",children:J.add_team_member_to_project_hint()}),E("div",{className:"max-h-[200px] overflow-y-auto space-y-2 pr-1",children:d.map((q)=>{let N=j[q.id]||"editor";return K("div",{className:"flex items-center justify-between p-2 rounded-lg hover:bg-muted/50",children:[K("div",{className:"flex items-center gap-3",children:[K(h,{children:[q.image&&E(C,{src:q.image,alt:q.name,className:"object-cover"}),E(O,{children:R(q.name)})]}),K("div",{className:"flex flex-col",children:[E("span",{className:"text-sm font-medium",children:q.name}),E("span",{className:"text-xs text-muted-foreground capitalize",children:q.scope==="team"?J.team_member():J.project_member()})]})]}),K("div",{className:"flex items-center gap-2",children:[K(P,{children:[E(k,{asChild:!0,children:K(X,{variant:"outline",size:"sm",className:"h-8 px-2 text-xs capitalize w-26",disabled:$===q.id,children:[y(N),E(H,{className:"ml-1 h-3 w-3 opacity-50"})]})}),E(G,{children:K(B,{value:N,onValueChange:(Q)=>a(q.id,Q),children:[E(Y,{value:"editor",className:"text-xs",children:J.editor()}),E(Y,{value:"reviewer",className:"text-xs",children:J.reviewer()})]})})]}),E(X,{onClick:async()=>{F(q.id);try{await L(q.id,N),W.success(J.added_member_successfully({name:q.name||""}))}catch(Q){console.error(Q),W.error(J.failed_to_add_member({name:q.name||""}))}finally{F(null)}},disabled:$!==null,size:"sm",className:"h-8 text-xs px-3",children:$===q.id?E(z,{className:"h-3 w-3 animate-spin"}):J.set_role()})]})]},q.id)})})]}),_&&L&&b.length>0&&K("div",{className:"border-t pt-4",children:[E("h4",{className:"text-sm font-medium mb-1",children:J.add_members_from_other_projects()}),E("p",{className:"text-xs text-muted-foreground mb-3 font-normal",children:J.add_members_from_other_projects_hint()}),E("div",{className:"max-h-[200px] overflow-y-auto space-y-2 pr-1",children:b.map((q)=>{let N=j[q.id]||"editor";return K("div",{className:"flex items-center justify-between p-2 rounded-lg hover:bg-muted/50",children:[K("div",{className:"flex items-center gap-3",children:[K(h,{children:[q.image&&E(C,{src:q.image,alt:q.name,className:"object-cover"}),E(O,{children:R(q.name)})]}),K("div",{className:"flex flex-col",children:[E("span",{className:"text-sm font-medium",children:q.name}),E("span",{className:"text-xs text-muted-foreground capitalize",children:q.scope==="team"?J.team_member():J.project_member()})]})]}),K("div",{className:"flex items-center gap-2",children:[K(P,{children:[E(k,{asChild:!0,children:K(X,{variant:"outline",size:"sm",className:"h-8 px-2 text-xs capitalize w-26",disabled:$===q.id,children:[y(N),E(H,{className:"ml-1 h-3 w-3 opacity-50"})]})}),E(G,{children:K(B,{value:N,onValueChange:(Q)=>a(q.id,Q),children:[E(Y,{value:"editor",className:"text-xs",children:J.editor()}),E(Y,{value:"reviewer",className:"text-xs",children:J.reviewer()})]})})]}),E(X,{onClick:async()=>{F(q.id);try{await L(q.id,N),W.success(J.added_member_successfully({name:q.name||""}))}catch(Q){console.error(Q),W.error(J.failed_to_add_member({name:q.name||""}))}finally{F(null)}},disabled:$!==null,size:"sm",className:"h-8 text-xs px-3",children:$===q.id?E(z,{className:"h-3 w-3 animate-spin"}):J.add_to_project()})]})]},q.id)})})]}),_&&c&&K("div",{className:"border-t pt-4",children:[E("h4",{className:"text-sm font-medium mb-3",children:J.invite_new_member()}),K("div",{className:"space-y-3",children:[K("div",{className:"flex gap-2",children:[K(P,{children:[E(k,{asChild:!0,children:K(X,{variant:"outline",className:"w-[120px] justify-between",children:[T==="editor"?J.editor():J.reviewer(),E(H,{className:"h-4 w-4 opacity-50"})]})}),E(G,{children:K(B,{value:T,onValueChange:(q)=>u(q),children:[E(Y,{value:"editor",children:J.editor()}),E(Y,{value:"reviewer",children:J.reviewer()})]})})]}),K(X,{onClick:Bq,disabled:l,className:"flex-1",children:[l&&E(z,{className:"mr-2 h-4 w-4 animate-spin"}),J.generate_link()]})]}),S&&K("div",{className:"flex gap-2",children:[E(qq,{value:S,readOnly:!0}),E(X,{variant:"outline",size:"icon",onClick:Lq,children:E(n,{className:"h-4 w-4"})})]})]})]})]})]})})}
2
- export{uq as Ja};
1
+ import{gb as Vq}from"./chunk-mmrtjcst.js";import{ib as Qq,jb as Wq,kb as Xq,lb as Yq,mb as Zq,nb as _q,ob as $q,pb as Hq}from"./chunk-d2qp8g98.js";import{Fg as o,Gg as r,Hg as m,Ig as e}from"./chunk-ghz19a7t.js";import{fh as P,hh as k,ih as G,kh as B,lh as Y}from"./chunk-w98wvk17.js";import{Ak as C,Bk as O,Ek as J,Fk as qq,Gi as H,Gk as Eq,Hk as Jq,Ik as Kq,Kk as Nq,Qi as n,Tj as s,Zh as W,ki as z,vh as Cq,wh as t,xh as E,yh as K,yk as X,zk as h}from"./chunk-jt4yh37q.js";import{Il as hq}from"./chunk-mgbqjbfc.js";var Z=hq(Cq(),1);function uq({open:fq,onOpenChange:Fq,title:zq,members:g,isOwner:_,onInvite:c,onUpdateRole:I,onRemoveMember:v,currentUserId:Pq,availableMembersToAdd:M,onAddMember:L,type:V="team"}){let[T,u]=Z.useState("editor"),[S,p]=Z.useState(null),[l,x]=Z.useState(!1),[D,U]=Z.useState(null),[f,A]=Z.useState(null),[j,i]=Z.useState({}),[$,F]=Z.useState(null),y=(q)=>{if(!q)return"";switch(q.toLowerCase()){case"owner":return J.owner();case"editor":return J.editor();case"reviewer":return J.reviewer();default:return q}},a=(q,N)=>{i((Q)=>({...Q,[q]:N}))},kq=async(q,N)=>{if(!I)return;U(q);try{await I(q,N),W.success(J.member_role_updated())}catch(Q){console.error(Q),W.error(J.failed_to_update_member_role())}finally{U(null)}},Gq=async()=>{if(!v||!f?.id)return;U(f.id);try{await v(f.id),W.success(J.member_removed()),A(null)}catch(q){console.error(q),W.error(J.failed_to_remove_member())}finally{U(null)}},Bq=async()=>{if(!c)return;x(!0);try{let q=await c(T),N=`${window.location.origin}/signup?inviteCode=${q}`;p(N)}catch(q){console.error(q),W.error(J.failed_to_generate_invite_link())}finally{x(!1)}},Lq=async()=>{if(S){if(await Vq(S))W.success(J.invite_link_copied())}},R=(q)=>{if(!q)return"??";return q.split(" ").map((N)=>N[0]).slice(0,2).join("").toUpperCase()},Sq=(q)=>{if(!q)p(null),u("editor"),i({}),F(null);Fq(q)},w=Array.isArray(g)?g:[],Uq=Array.isArray(M)?M:[],yq=V==="project"&&_?w.filter((q)=>q.role==="owner"||q.scope==="project"||q.hasCustomRole):w,d=V==="project"&&_?w.filter((q)=>q.scope==="team"&&q.role!=="owner"&&!q.hasCustomRole):[],b=V==="project"&&_?Uq.filter((q)=>q.scope==="project"):[];return E(Eq,{open:fq,onOpenChange:Sq,children:K(Jq,{className:"sm:max-w-xl",onOpenAutoFocus:(q)=>q.preventDefault(),children:[E(Kq,{children:E(Nq,{children:zq})}),K("div",{className:"space-y-4",children:[E("div",{className:"max-h-[300px] overflow-y-auto space-y-2",children:yq.map((q)=>{let N=V==="team"&&q.scope==="project";return K("div",{className:"flex items-center justify-between p-2 rounded-lg hover:bg-muted/50",children:[K("div",{className:"flex items-center gap-3",children:[K(h,{children:[q.image&&E(C,{src:q.image,alt:q.name,className:"object-cover"}),E(O,{children:R(q.name)})]}),K("div",{className:"flex flex-col",children:[E("span",{className:"text-sm font-medium",children:q.name}),K("div",{className:"flex items-center gap-2",children:[!N&&E("span",{className:"text-xs text-muted-foreground capitalize",children:y(q.role)}),q.scope&&K(t,{children:[!N&&E("span",{className:"text-[10px] text-muted-foreground/70",children:"•"}),E("span",{className:"text-xs text-muted-foreground capitalize",children:q.scope==="team"?J.team_member():J.project_member()})]})]})]})]}),_&&q.role!=="owner"&&q.id!==Pq&&K("div",{className:"flex items-center gap-2",children:[N?E(o,{children:K(r,{children:[E(m,{asChild:!0,children:E("span",{children:E(X,{variant:"outline",size:"sm",className:"h-8 px-2 text-xs capitalize w-26 justify-between",disabled:!0,children:E(H,{className:"ml-auto h-3 w-3 opacity-50"})})})}),E(e,{side:"top",children:E("p",{className:"text-xs",children:J.project_member_role_tooltip()})})]})}):K(P,{children:[E(k,{asChild:!0,children:K(X,{variant:"outline",size:"sm",className:"h-8 px-2 text-xs capitalize w-26",disabled:D===q.id,children:[y(q.role),E(H,{className:"ml-1 h-3 w-3 opacity-50"})]})}),E(G,{children:K(B,{value:q.role,onValueChange:(Q)=>kq(q.id,Q),children:[E(Y,{value:"editor",className:"text-xs",children:J.editor()}),E(Y,{value:"reviewer",className:"text-xs",children:J.reviewer()})]})})]}),E(X,{variant:"ghost",size:"icon",className:"h-8 w-8 text-destructive hover:text-destructive hover:bg-destructive/10",onClick:()=>A(q),disabled:D===q.id,children:D===q.id?E(z,{className:"h-3 w-3 animate-spin"}):E(s,{className:"h-3 w-3"})})]})]},q.id)})}),E(Qq,{open:!!f,onOpenChange:(q)=>!q&&A(null),children:K(Wq,{children:[K(Xq,{children:[E(Zq,{children:J.remove_member()}),E(_q,{children:J.remove_member_confirmation({name:f?.name||"",type:V==="project"?J.project():J.team()})})]}),K(Yq,{children:[E(Hq,{children:J.cancel()}),E($q,{onClick:Gq,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:J.remove()})]})]})})," ",_&&L&&d.length>0&&K("div",{className:"border-t pt-4",children:[E("h4",{className:"text-sm font-medium mb-1",children:J.add_team_member_to_project()}),E("p",{className:"text-xs text-muted-foreground mb-3 font-normal",children:J.add_team_member_to_project_hint()}),E("div",{className:"max-h-[200px] overflow-y-auto space-y-2 pr-1",children:d.map((q)=>{let N=j[q.id]||"editor";return K("div",{className:"flex items-center justify-between p-2 rounded-lg hover:bg-muted/50",children:[K("div",{className:"flex items-center gap-3",children:[K(h,{children:[q.image&&E(C,{src:q.image,alt:q.name,className:"object-cover"}),E(O,{children:R(q.name)})]}),K("div",{className:"flex flex-col",children:[E("span",{className:"text-sm font-medium",children:q.name}),E("span",{className:"text-xs text-muted-foreground capitalize",children:q.scope==="team"?J.team_member():J.project_member()})]})]}),K("div",{className:"flex items-center gap-2",children:[K(P,{children:[E(k,{asChild:!0,children:K(X,{variant:"outline",size:"sm",className:"h-8 px-2 text-xs capitalize w-26",disabled:$===q.id,children:[y(N),E(H,{className:"ml-1 h-3 w-3 opacity-50"})]})}),E(G,{children:K(B,{value:N,onValueChange:(Q)=>a(q.id,Q),children:[E(Y,{value:"editor",className:"text-xs",children:J.editor()}),E(Y,{value:"reviewer",className:"text-xs",children:J.reviewer()})]})})]}),E(X,{onClick:async()=>{F(q.id);try{await L(q.id,N),W.success(J.added_member_successfully({name:q.name||""}))}catch(Q){console.error(Q),W.error(J.failed_to_add_member({name:q.name||""}))}finally{F(null)}},disabled:$!==null,size:"sm",className:"h-8 text-xs px-3",children:$===q.id?E(z,{className:"h-3 w-3 animate-spin"}):J.set_role()})]})]},q.id)})})]}),_&&L&&b.length>0&&K("div",{className:"border-t pt-4",children:[E("h4",{className:"text-sm font-medium mb-1",children:J.add_members_from_other_projects()}),E("p",{className:"text-xs text-muted-foreground mb-3 font-normal",children:J.add_members_from_other_projects_hint()}),E("div",{className:"max-h-[200px] overflow-y-auto space-y-2 pr-1",children:b.map((q)=>{let N=j[q.id]||"editor";return K("div",{className:"flex items-center justify-between p-2 rounded-lg hover:bg-muted/50",children:[K("div",{className:"flex items-center gap-3",children:[K(h,{children:[q.image&&E(C,{src:q.image,alt:q.name,className:"object-cover"}),E(O,{children:R(q.name)})]}),K("div",{className:"flex flex-col",children:[E("span",{className:"text-sm font-medium",children:q.name}),E("span",{className:"text-xs text-muted-foreground capitalize",children:q.scope==="team"?J.team_member():J.project_member()})]})]}),K("div",{className:"flex items-center gap-2",children:[K(P,{children:[E(k,{asChild:!0,children:K(X,{variant:"outline",size:"sm",className:"h-8 px-2 text-xs capitalize w-26",disabled:$===q.id,children:[y(N),E(H,{className:"ml-1 h-3 w-3 opacity-50"})]})}),E(G,{children:K(B,{value:N,onValueChange:(Q)=>a(q.id,Q),children:[E(Y,{value:"editor",className:"text-xs",children:J.editor()}),E(Y,{value:"reviewer",className:"text-xs",children:J.reviewer()})]})})]}),E(X,{onClick:async()=>{F(q.id);try{await L(q.id,N),W.success(J.added_member_successfully({name:q.name||""}))}catch(Q){console.error(Q),W.error(J.failed_to_add_member({name:q.name||""}))}finally{F(null)}},disabled:$!==null,size:"sm",className:"h-8 text-xs px-3",children:$===q.id?E(z,{className:"h-3 w-3 animate-spin"}):J.add_to_project()})]})]},q.id)})})]}),_&&c&&K("div",{className:"border-t pt-4",children:[E("h4",{className:"text-sm font-medium mb-3",children:J.invite_new_member()}),K("div",{className:"space-y-3",children:[K("div",{className:"flex gap-2",children:[K(P,{children:[E(k,{asChild:!0,children:K(X,{variant:"outline",className:"w-[120px] justify-between",children:[T==="editor"?J.editor():J.reviewer(),E(H,{className:"h-4 w-4 opacity-50"})]})}),E(G,{children:K(B,{value:T,onValueChange:(q)=>u(q),children:[E(Y,{value:"editor",children:J.editor()}),E(Y,{value:"reviewer",children:J.reviewer()})]})})]}),K(X,{onClick:Bq,disabled:l,className:"flex-1",children:[l&&E(z,{className:"mr-2 h-4 w-4 animate-spin"}),J.generate_link()]})]}),S&&K("div",{className:"flex gap-2",children:[E(qq,{value:S,readOnly:!0}),E(X,{variant:"outline",size:"icon",onClick:Lq,children:E(n,{className:"h-4 w-4"})})]})]})]})]})]})})}
2
+ export{uq as fb};