PageSourceSearch

https://demo.sonraisecurity.com/_next/static/chunks/pages/admin/manage/memberships-08d398a6faab993a.js

js sonraisecurity.com collected 2026-09-24 09:25:46 UTC 26,441 bytes, 5 lines download raw bytes

1
2!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="95ce4a0d-8e64-590b-831c-15b4f4cb7b72")}catch(e){}}();
3(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1379],{5271:(e,t,n)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/admin/manage/memberships",function(){return n(85442)}])},21808:(e,t,n)=>{"use strict";n.d(t,{m:()=>l});var s=n(6029),r=n(69222),a=n(53525);let i=e=>{let{children:t,iconButton:n,...i}=e;return"button"===i.type?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.K,{icon:"more-vertical",size:"sm",...n}),t]}):"menu"===i.type&&i.menuItems.length>0?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.W1,{items:i.menuItems,align:"end",stopPropagation:!0,children:(0,s.jsx)(r.K,{icon:"more-vertical",size:"sm",...n})}),t]}):null};function l(e,t){return{id:"actions",header:()=>(0,s.jsx)("span",{className:"sr-only",children:"Actions"}),meta:{className:"w-10"},cell:t=>{let{row:n}=t;return(0,s.jsx)(i,{...e(n.original)})},enableHiding:!1,...t}}},37002:(e,t,n)=>{"use strict";n.d(t,{G:()=>l});var s=n(6029),r=n(95632),a=n(68840),i=n(55729);function l(e){let{children:t,tooltip:n,className:l}=e,o=(0,i.useRef)(null),[u,c]=(0,i.useState)(!1),d=(0,a.y)(null!=n?n:t);return(0,s.jsx)(a.m_,{appearance:"light",align:"end",...d,className:(0,r.cn)("max-h-32 overflow-y-auto break-words",d.className),open:u,onOpenChange:e=>{let t=o.current;c(e&&!!t&&t.scrollWidth>t.offsetWidth)},children:(0,s.jsx)("span",{ref:o,className:(0,r.cn)("block min-w-0 truncate",l),children:t})})}},41656:(e,t,n)=>{"use strict";n.d(t,{R:()=>a});var s=n(85966);function r(){let e=(0,s._)(["\n    fragment SlimUser on SlimUser {\n  id\n  email\n  firstName\n  lastName\n  internalRole\n  image\n}\n    "]);return r=function(){return e},e}let a=(0,n(26626).Ay)(r())},72623:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var s=n(6029),r=n(95632),a=n(53525),i=n(55613),l=n(55729);function o(e){var t,n;let{onClear:o,clearable:u=!0,saveButtonProps:{children:c,...d}={},filters:m,children:h,className:p,state:x,...f}=e,[g,v]=(0,l.useState)(!1),b=null!=(t=null==x?void 0:x.open)?t:g,j=null!=(n=null==x?void 0:x.setOpen)?n:v;return(0,s.jsxs)("div",{className:(0,r.cn)("bg-muted flex w-full justify-between gap-2 rounded-xl p-2",p),...f,children:[(0,s.jsx)("div",{className:"flex gap-2",children:(0,s.jsxs)("div",{className:"flex flex-wrap gap-2",children:[h,m&&(0,s.jsx)(a.W1,{items:m,className:"max-h-[40vh]",open:b,onOpenChange:j,children:(0,s.jsx)(i.$,{id:"add-filter-button",variant:"outline",iconLeft:"plus",children:"Add filter"})}),u&&(0,s.jsx)(i.$,{id:"filter-menu-close",variant:"ghost",iconLeft:"x",onClick:o,children:"Clear"})]})}),d.onClick&&(0,s.jsx)(i.$,{variant:"outline",...d,children:null!=c?c:"Save"})]})}},73057:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var s=n(6029),r=n(81278),a=n(51652);let i=e=>{let{title:t,includeSlug:n}=e,i=(0,r.useRouter)().query.workspace_slug,l=Array.isArray(t)?t:[t];n&&l.push(i);let o=l.join(" \xb7 ");return(0,s.jsx)(a.bV,{title:o,openGraph:{title:o}})}},81048:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});var s=n(6029),r=n(83294),a=n(72623),i=n(89210),l=n(73537),o=n(55729);function u(e){var t,n;let{isLoading:u,columns:c,data:d,page:m,onPageChange:h,pageSize:p,onPageSizeChange:x,totalRowCount:f,actionBar:g,searchValue:v,onSearchChange:b,emptyState:j,filters:k,filterCount:y=0,onClearFilters:w,filterMenuState:S}=e,[C,R]=(0,o.useState)(!1),q=null!=(t=null==S?void 0:S.open)?t:C,N=null!=(n=null==S?void 0:S.setOpen)?n:R;return(0,s.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[b&&(0,s.jsx)(i.I,{value:v,onValueChange:e=>{null==b||b(e),null==h||h(0)}}),k&&(0,s.jsx)(r.A,{filterCount:y,onClick:()=>N(!q)})]}),g&&(0,s.jsx)("div",{className:"flex justify-end",children:g})]}),q&&k&&(0,s.jsx)(a.A,{onClear:w,clearable:y>0,state:S,children:k}),(0,s.jsx)(l.XI,{isLoading:u,columns:c,data:d,showPagination:!0,page:m,onPageChange:h,pageSize:p,onPageSizeChange:e=>{null==x||x(e),null==h||h(0)},totalRowCount:f,emptyState:j})]})}},83294:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var s=n(6029),r=n(55613),a=n(73096);function i(e){let{filterCount:t,...n}=e;return(0,s.jsxs)(r.$,{id:"filter-button",variant:"outline",iconLeft:"list-filter",...n,children:[(0,s.jsx)("span",{children:"Filter"}),t&&t>0?(0,s.jsx)(a.E,{isSquare:t<=9,children:t}):null]})}n(55729)},85442:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__N_SSP:()=>ep,default:()=>ex});var s=n(6029),r=n(97803),a=n(24002),i=n(72807),l=n(3947),o=n(28698),u=n(42423),c=n(55613),d=n(55729);function m(){let[e,t]=(0,d.useState)(!1);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.$,{onClick:()=>t(!0),iconLeft:"plus",children:"Request"}),(0,s.jsx)(u.A,{open:e,onOpenChange:t})]})}var h=n(73096),p=n(21808),x=n(27952),f=n(85966),g=n(26626),v=n(50197);function b(){let e=(0,f._)(["\n    mutation DeleteMembership($membershipId: String!) {\n  deleteMembership(membershipId: $membershipId) {\n    id\n    workspace {\n      id\n      name\n      slug\n    }\n    role {\n      id\n      name\n    }\n  }\n}\n    "]);return b=function(){return e},e}let j=(0,g.Ay)(b());var k=n(96146),y=n(1559);
3function w(){let e=(0,f._)(["\n    query ListCurrentUserMemberships($searchText: String, $limit: Int, $skip: Int, $roleNames: [String!]) {\n  currentUserMemberships(\n    searchText: $searchText\n    limit: $limit\n    skip: $skip\n    roleNames: $roleNames\n  ) {\n    memberships {\n      id\n      role {\n        id\n        name\n      }\n      workspace {\n        ...WorkspaceSlim\n      }\n      createdAt\n      accepted\n      expiresAt\n      interactiveDemosEnabled\n      launchpadEnabled\n      isTeamManager\n      seismicUser {\n        id\n      }\n    }\n    totalCount\n  }\n}\n    ",""]);return w=function(){return e},e}let S=(0,g.Ay)(w(),k.d);var C=n(62019),R=n(3967),q=n(81048),N=n(81079);let A=n(23397).gRN.map(e=>({id:e,label:e,value:e}));function M(e){return(0,s.jsx)(N.K,{items:A,placeholder:"Role",...e})}function _(){var e,t,n;let[r,a]=(0,d.useState)(""),[i,l]=(0,d.useState)(0),[o,u]=(0,d.useState)(25),[c,f]=(0,d.useState)([]),[g,b]=(0,d.useState)(null),k=!!g,[{data:w,fetching:N}]=(n={variables:{searchText:r||void 0,limit:o,skip:i*o,roleNames:c.length>0?c:void 0}},(0,y.s)(S,"currentUserMemberships",n)),[,A]=v.n_(j),_=(0,d.useMemo)(()=>{var e,t;return null!=(t=null==w||null==(e=w.currentUserMemberships)?void 0:e.memberships)?t:[]},[w]),F=null!=(t=null==w||null==(e=w.currentUserMemberships)?void 0:e.totalCount)?t:0,$=c.length,O=(0,d.useCallback)(async()=>{g&&((await A({membershipId:g.id})).error?(0,R.V2)("Failed to leave workspace"):((0,R.kX)("Left ".concat(g.workspace.name," successfully")),b(null)))},[g,A]),T=(0,d.useMemo)(()=>[{id:"workspace",header:"Workspace",cell:e=>{let{row:t}=e;return(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"font-medium",children:t.original.workspace.name}),(0,s.jsx)("div",{className:"text-sm text-gray-500",children:t.original.workspace.slug})]})}},{id:"role",header:"Role",cell:e=>{var t;let{row:n}=e;return(0,s.jsx)(h.E,{colorScheme:"gray",size:"sm",children:null==(t=n.original.role)?void 0:t.name})}},{id:"joinedAt",header:"Joined",cell:e=>{let{row:t}=e;return(0,s.jsx)("div",{className:"text-sm text-gray-500",children:new Date(t.original.createdAt).toLocaleDateString()})}},{id:"expiresAt",header:"Expiry",cell:e=>{let{row:t}=e,n=t.original.expiresAt;return n?new Date(n)<new Date?(0,s.jsx)(h.E,{colorScheme:"red",size:"sm",children:"Expired"}):(0,s.jsx)("div",{className:"text-sm text-gray-500",children:(0,C.aQ)(new Date,new Date(n))}):(0,s.jsx)("span",{className:"text-sm italic text-gray-400",children:"Never"})}},(0,p.m)(e=>({type:"menu",menuItems:[{type:"button",id:"leave-".concat(e.id),iconLeft:"user-x",label:"Leave Workspace",onClick:()=>b(e),variant:"danger"}]}))],[]);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(q.A,{isLoading:N,columns:T,data:_,page:i,onPageChange:l,pageSize:o,onPageSizeChange:u,totalRowCount:F,searchValue:r,onSearchChange:a,filters:(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(M,{selected:c,onChange:f})}),filterCount:$,onClearFilters:()=>f([]),emptyState:{title:"No current memberships",description:"You are not currently a member of any workspaces.",children:(0,s.jsx)(m,{})},actionBar:(0,s.jsx)(m,{})}),(0,s.jsx)(x.WD,{variant:"danger",open:k,onOpenChange:e=>!e&&b(null),title:"Leave Workspace",primaryButton:{children:"Leave",onClick:O},children:(0,s.jsxs)("p",{className:"text-sm text-gray-600",children:["Are you sure you want to leave"," ",(0,s.jsx)("strong",{children:null==g?void 0:g.workspace.name}),"? You will lose access to this workspace and will need to request access again to rejoin."]})})]})}var F=n(45115),$=n(37002);function O(){let e=(0,f._)(["\n    mutation ReRequestMembership($input: ReRequestMembershipInput!) {\n  reRequestMembership(input: $input) {\n    id\n    status\n    message\n    requester {\n      id\n      email\n      firstName\n      lastName\n    }\n    workspace {\n      id\n      name\n      slug\n    }\n    role {\n      id\n      name\n    }\n    approver {\n      id\n      email\n      firstName\n      lastName\n    }\n  }\n}\n    "]);return O=function(){return e},e}let T=(0,g.Ay)(O());var I=n(41656);function L(){let e=(0,f._)(["\n    fragment MembershipRequest on MembershipRequest {\n  id\n  status\n  message\n  requester {\n    ...SlimUser\n  }\n  workspace {\n    id\n    name\n    slug\n  }\n  role {\n    id\n    name\n  }\n  approver {\n    ...SlimUser\n  }\n}\n    ",""]);return L=function(){return e},e}let G=(0,g.Ay)(L(),I.R);function P(){let e=(0,f._)(["\n    query MembershipRequests($input
3: MembershipRequestQueryInput!) {\n  membershipRequests(input: $input) {\n    requests {\n      ...MembershipRequest\n    }\n    totalCount\n  }\n}\n    ",""]);return P=function(){return e},e}let z=(0,g.Ay)(P(),G);function B(e){return(0,y.s)(z,"membershipRequests",e)}var E=n(84379);function D(e){let{status:t,...n}=e,r=F.ni[t],a=(0,C.qV)(t);return(0,s.jsx)(h.E,{colorScheme:r,...n,children:a})}let V=[{id:l.GOT.Submitted,label:"Submitted",value:l.GOT.Submitted},{id:l.GOT.Approved,label:"Approved",value:l.GOT.Approved},{id:l.GOT.Rejected,label:"Rejected",value:l.GOT.Rejected},{id:l.GOT.Revoked,label:"Revoked",value:l.GOT.Revoked}];function W(e){return(0,s.jsx)(N.K,{items:V,placeholder:"Status",...e})}function U(){var e,t,n,r;let{currentUser:a}=(0,E.iZ)(),[i,o]=(0,d.useState)(0),[u,c]=(0,d.useState)(F.hD),[f,g]=(0,d.useState)(""),[b,j]=(0,d.useState)([]),[k,y]=(0,d.useState)([]),[w,S]=(0,d.useState)(null),C=!!w,[,N]=v.n_(T),[{data:A,fetching:_}]=B({variables:{input:{searchText:f||void 0,limit:u,skip:i*u,requesterId:null==a?void 0:a.id,...b.length>0&&{statuses:b},...k.length>0&&{roleNames:k}}}}),O=null!=(n=null==A||null==(e=A.membershipRequests)?void 0:e.requests)?n:[],I=null!=(r=null==A||null==(t=A.membershipRequests)?void 0:t.totalCount)?r:0,L=b.length+k.length,G=(0,d.useCallback)(()=>{j([]),y([])},[]),P=(0,d.useCallback)(e=>{S(e)},[]),z=(0,d.useCallback)(async()=>{w&&((await N({input:{requestId:w.id}})).error?(0,R.V2)("Failed to re-request membership"):((0,R.kX)("Re-requested access to ".concat(w.workspace.name)),S(null)))},[w,N]),V=(0,d.useMemo)(()=>[{id:"workspace",header:"Workspace",cell:e=>{let{row:t}=e;return(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"font-medium",children:t.original.workspace.name}),(0,s.jsx)("div",{className:"text-sm text-gray-500",children:t.original.workspace.slug})]})}},{id:"role",header:"Requested Role",cell:e=>{let{row:t}=e;return(0,s.jsx)(h.E,{colorScheme:"gray",size:"sm",children:t.original.role.name})}},{id:"status",header:"Status",cell:e=>{let{row:t}=e;return(0,s.jsx)(D,{status:t.original.status})}},{id:"message",header:"Message",cell:e=>{let{row:t}=e;return(0,s.jsx)("div",{className:"flex max-w-[400px]",children:(0,s.jsx)($.G,{className:"text-default text-sm font-medium",children:t.original.message||"—"})})}},(0,p.m)(e=>[l.GOT.Rejected,l.GOT.Revoked].includes(e.status)?{type:"menu",menuItems:[{type:"button",id:"re-request-".concat(e.id),iconLeft:"refresh",label:"Re-request",onClick:()=>P(e),variant:"default"}]}:{type:"menu",menuItems:[],iconButton:{isDisabled:!0}})],[P]);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(q.A,{isLoading:_,columns:V,data:O,page:i,onPageChange:o,pageSize:u,onPageSizeChange:c,totalRowCount:I,filters:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(W,{selected:b,onChange:j}),(0,s.jsx)(M,{selected:k,onChange:y})]}),filterCount:L,onClearFilters:G,actionBar:(0,s.jsx)(m,{}),searchValue:f,onSearchChange:g,emptyState:{title:"No requested memberships",description:"You have not requested access to any workspaces.",children:(0,s.jsx)(m,{})}}),(0,s.jsx)(x.WD,{variant:"info",open:C,onOpenChange:()=>S(null),title:"Re-request Membership",primaryButton:{children:"Re-request",onClick:z},children:(0,s.jsxs)("p",{className:"text-sm text-gray-600",children:["Are you sure you want to re-request access to"," ",(0,s.jsx)("strong",{children:null==w?void 0:w.workspace.name}),'? This will change your request status back to "Submitted" for review.']})})]})}var X=n(72840),K=n(73534),Y=n(1778);function H(){let e=(0,f._)(["\n    mutation ApproveMembershipRequests($input: BulkMembershipRequestInput!) {\n  approveMembershipRequests(input: $input)\n}\n    "]);return H=function(){return e},e}let Q=(0,g.Ay)(H());function J(){let e=(0,f._)(["\n    mutation RejectMembershipRequests($input: BulkMembershipRequestInput!) {\n  rejectMembershipRequests(input: $input)\n}\n    "]);return J=function(){return e},e}let Z=(0,g.Ay)(J());function ee(){let e=(0,f._)(["\n    mutation ReviewMembershipRequest($input: ReviewMembershipRequestInput!) {\n  reviewMembershipRequest(input: $input) {\n    ...MembershipRequest\n  }\n}\n    ",""]);return ee=function(){return e},e}let et=(0,g.Ay)(ee(),G);function en(){let e=(0,f._)(["\n    mutation RevokeMembershipRequest($input: RevokeMembershipRequestInput!) {\n  revokeMembershipRequest(input: $input) {\n    ...MembershipRequest\n  }\n}\n    ",""]);return en=function(){return e},e}let es=(0,g.Ay)(en(),G);function er(){let e=(0,f._)(["\n    mutation RevokeMembershipRequests($input
3: BulkMembershipRequestInput!) {\n  revokeMembershipRequests(input: $input)\n}\n    "]);return er=function(){return e},e}let ea=(0,g.Ay)(er());function ei(){var e,t,n;let{selected:r,onToggleSelect:a}=(0,X.N)(),[i,o]=(0,d.useState)(0),[u,c]=(0,d.useState)(F.hD),[m,x]=(0,d.useState)(""),[f,g]=(0,d.useState)([l.GOT.Submitted]),[b,j]=(0,d.useState)([]),[k,y]=(0,d.useState)(!0),[{data:w,fetching:S}]=B({variables:{input:{searchText:m||void 0,limit:u,skip:i*u,forReview:!0,statuses:f.length>0?f:void 0,roleNames:b.length>0?b:void 0}}}),[,N]=v.n_(et),[,A]=v.n_(es),_=(0,d.useMemo)(()=>{var e,t;return null!=(t=null==w||null==(e=w.membershipRequests)?void 0:e.requests)?t:[]},[null==w||null==(e=w.membershipRequests)?void 0:e.requests]),O=null!=(n=null==w||null==(t=w.membershipRequests)?void 0:t.totalCount)?n:0,T=f.length+b.length,I=(0,d.useCallback)(()=>{g([]),j([])},[]),L=(0,d.useCallback)(async(e,t)=>{let n=t.toLowerCase();(await N({input:{requestId:e,action:t}})).error?(0,R.V2)("Failed to ".concat(n," request")):(0,R.kX)("Request ".concat(n," successfully"))},[N]),G=(0,d.useCallback)(async e=>{(await A({input:{requestId:e}})).error?(0,R.V2)("Failed to revoke request"):(0,R.kX)("Request revoked successfully")},[A]),P=Object.fromEntries(r.map(e=>[e.id,!0])),z=(0,d.useMemo)(()=>[function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,{selectedRowIds:n,onRowSelect:r,onSelectAll:a,getRowId:i=e=>e.id,totalRowCount:l}=e;return{id:"select",header:e=>{let{table:t}=e;if(!n)return(0,s.jsx)(K.Sc,{checked:!!t.getIsAllPageRowsSelected()||!!t.getIsSomePageRowsSelected()&&"indeterminate",onCheckedChange:e=>t.toggleAllPageRowsSelected(!!e),"aria-label":"Select all",className:"bg-transparent enabled:hover:bg-transparent"});{let e=Object.values(n).filter(Boolean).length,r=null!=l?l:Object.values(n).length;return(0,s.jsx)(K.Sc,{checked:!!(e>0&&e===r)||!!(e>0&&e<r)&&"indeterminate",onCheckedChange:e=>a?a(!!e):t.toggleAllPageRowsSelected(!!e),"aria-label":"Select all",className:"bg-transparent enabled:hover:bg-transparent"})}},cell:e=>{let{row:t}=e,a=i(t.original),l=n?!!n[a]:t.getIsSelected();return(0,s.jsx)(K.Sc,{checked:l,onCheckedChange:e=>r?r(a,!!e):t.toggleSelected(!!e),"aria-label":"Select row",className:"bg-transparent enabled:hover:bg-transparent"})},enableSorting:!1,enableHiding:!1,meta:{className:"w-8"},...t}}({selectedRowIds:P,onRowSelect:(e,t)=>{let n=_.find(t=>t.id===e);n&&!!P[e]!==t&&a(n)},onSelectAll:e=>{for(let t of _)!!P[t.id]!==e&&a(t)},totalRowCount:_.length}),{id:"requester",header:"Requester",cell:e=>{var t,n,r;let{row:a}=e;return(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)(Y.e,{size:32,src:null!=(t=a.original.requester.image)?t:"",initials:(0,C.IM)("".concat(null!=(n=a.original.requester.firstName)?n:""," ").concat(null!=(r=a.original.requester.lastName)?r:""))}),(0,s.jsxs)("div",{className:"flex flex-col text-sm",children:[(0,s.jsxs)("div",{className:"font-medium",children:[a.original.requester.firstName," ",a.original.requester.lastName]}),(0,s.jsx)("div",{className:"text-gray-500",children:a.original.requester.email})]})]})}},{id:"workspace",header:"Workspace",cell:e=>{let{row:t}=e;return(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"font-medium",children:t.original.workspace.name}),(0,s.jsx)("div",{className:"text-sm text-gray-500",children:t.original.workspace.slug})]})}},{id:"role",header:"Requested Role",cell:e=>{let{row:t}=e;return(0,s.jsx)(h.E,{colorScheme:"gray",children:t.original.role.name})}},{id:"status",header:"Status",cell:e=>{let{row:t}=e;return(0,s.jsx)(D,{status:t.original.status})}},{id:"message",header:"Message",cell:e=>{let{row:t}=e;return(0,s.jsx)("div",{className:"flex max-w-[400px]",children:(0,s.jsx)($.G,{className:"text-default text-sm font-medium",children:t.original.message||"—"})})}},(0,p.m)(e=>{let t=[];switch(e.status){case l.GOT.Submitted:t.push({iconLeft:"check",label:"Approve",onClick:()=>L(e.id,l.GOT.Approved)},{iconLeft:"x",label:"Reject",onClick:()=>L(e.id,l.GOT.Rejected),variant:"danger"});break;case l.GOT.Approved:t.push({iconLeft:"user-x",label:"Revoke",onClick:()=>G(e.id),variant:"danger"});case l.GOT.Rejected:case l.GOT.Revoked:}return{type:"menu",menuItems:t,iconButton:{"data-test-id":"membership-request-actions"}}})],[L,G,P,_,a]);return(0,s.jsx)(q.A,{isLoading:S,columns:z,data:_,page:i,onPageChange:o,pageSize:u,onPageSizeChange:c,totalRowCount:O,searchValue:m,onSearchChange:x,filters:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(W,{selected:f,onChange:g}),(0,s.jsx)(M,{selected:b,onChange:j})]}),filterCount:T,onClearFilters:I,emptyState:{title:"No requests to review",description:"There are no membership requests available for you to review."},filterMenuState:{open:k,setOpen:y}})}function el(){let[,e]=v.n_(Q),[,t]=v.n_(Z),[,n]=v.n_(ea),r=(0,d.useCallback)((r,a)=>{if(0===r.length)return null;let i=r.some(e=>e.status===l.GOT.Submitted),o=r.some(e=>e.status===l.GOT.Approved),u=r.some(e=>e.status!==l.GOT.Submitted&&e.status!==l.GOT.Approved),d=[];return!i||o||u||(d.push((0,s.jsxs)(c.$,{onClick:async()=>{let t=r.map(e=>e.id);(await e({input:{requestIds:t}})).error?(0,R.V2)("Failed to approve requests"):((0,R.kX)("".concat(r.length," requests approved successfully")),a())},colorScheme:"brand",size:"sm",children:["Approve (",r.length,")"]})),d.push((0,s.jsxs)(c.$,{onClick:async()=>{let e=r.map(e=>e.id);(await t({input:{requestIds:e}})).error?(0,R.V2)("Failed to reject requests"):((0,R.kX)("".concat(r.length," requests rejected successfully")),a())},colorScheme:"red",size:"sm",children:["Reject (",r.length,")"]}))),!o||i||u||d.push((0,s.jsxs)(c.$,{onClick:async()=>{let e=r.map(e=>e.id);(await n({input:{requestIds:e}})).error?(0,R.V2)("Failed to revoke requests"):((0,R.kX)("".concat(r.length," requests revoked successfully")),a())},colorScheme:"red",size:"sm",children:["Revoke (",r.length,")"]})),d.length>0?(0,s.jsx)(s.Fragment,{children:d}):null},[e,t,n]);
3return(0,s.jsx)(X.R,{primaryButtons:e=>{let{selected:t,clearSelected:n}=e;return r(t,n)},children:(0,s.jsx)(ei,{})})}function eo(){let e=(0,i.cM)(l.ek1.Admin),[t,n]=(0,d.useState)("current"),r=[{id:"current",value:"Current",name:"Current"},{id:"requested",value:"Requested",name:"Requested"},...e?[{id:"for-review",value:"For Review",name:"For Review"}]:[]],u=(0,d.useMemo)(()=>{switch(t){case"current":default:return(0,s.jsx)(_,{});case"requested":return(0,s.jsx)(U,{});case"for-review":return(0,s.jsx)(el,{})}},[t]);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.A.FilterBar,{children:(0,s.jsx)(o.I,{value:t,onChange:t=>{("for-review"!==t||e)&&n(t)},items:r})}),(0,s.jsx)(a.A.Body,{children:u})]})}var eu=n(73057);function ec(){let e=(0,f._)(["\n    mutation SyncSalesforceMemberships {\n  syncSalesforceMemberships {\n    addedCount\n    removedCount\n    skippedCount\n    errorCount\n  }\n}\n    "]);return ec=function(){return e},e}let ed=(0,g.Ay)(ec()),em="Memberships";function eh(){let[e,t]=(0,d.useState)(!1),[,n]=v.n_(ed),r=async()=>{t(!0);try{var e;let t=await n({}),s=null==(e=t.data)?void 0:e.syncSalesforceMemberships;if(t.error||!s)return void(t.error?(0,R.iN)(t.error,{fallback:"Failed to sync SFDC memberships"}):(0,R.V2)("Failed to sync SFDC memberships"));(0,R.kX)("Synced: ".concat(s.addedCount," added, ").concat(s.removedCount," removed, ").concat(s.skippedCount," skipped, ").concat(s.errorCount," errors"))}catch(e){(0,R.V2)("Failed to sync SFDC memberships")}finally{t(!1)}};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(eu.A,{title:["Admin","Manage",em]}),(0,s.jsx)(a.A.Nav,{breadcrumbs:[{type:"link",value:"Manage"},{value:em}]}),(0,s.jsx)(a.A.ActionBar,{title:em,children:(0,s.jsx)(c.$,{onClick:r,isLoading:e,children:"Sync SFDC Memberships"})}),(0,s.jsx)(eo,{})]})}eh.getLayout=function(e){return(0,s.jsx)(r.A,{children:e})};var ep=!0;let ex=eh},97803:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});var s=n(6029),r=n(72807),a=n(3947),i=n(73096),l=n(55613),o=n(98077),u=n(82203),c=n.n(u),d=n(81278);function m(){let e=(0,d.useRouter)(),t=[{name:"Workspaces",items:[{id:"workspace",n
3ame:"Workspaces",icon:"building",href:"/admin",isActive:e=>"/admin"===e},{id:"permits",name:"Permits",icon:"file-text",href:"/admin/permits",isActive:e=>e.includes("/admin/permits")},{id:"closure-requests",name:"Closure requests",icon:"square-x",href:"/admin/closure-requests",isActive:e=>e.includes("/admin/closure-requests")},{id:"feedback",name:"Feedback",icon:"message-square",href:"/admin/feedback",isActive:e=>e.includes("/admin/feedback")},{id:"export",name:"Export",icon:"download",href:"/admin/export",isActive:e=>e.includes("/admin/export")}]},{name:"Feature flags",items:[{id:"feature-flags",name:"Feature flags",icon:"flag",href:"/admin/feature-flags",isActive:e=>"/admin/feature-flags"===e},{id:"cohort-deployments",name:"Cohort deployments",icon:"team",href:"/admin/cohort-deployments",isActive:e=>"/admin/cohort-deployments"===e}]},{name:"Broadcasts",items:[{id:"broadcasts",name:"Broadcasts",icon:"radio",href:"/admin/broadcasts",isActive:e=>e.includes("/admin/broadcasts")}]},{name:"Features",items:[{id:"playbooks",name:"Playbooks",icon:"zap",href:"/admin/playbooks",isActive:e=>"/admin/playbooks"===e},{id:"crm-pull",name:"CRM Pull",icon:"refresh",href:"/admin/crm-pull",isActive:e=>"/admin/crm-pull"===e}]},{name:"Copilot",items:[{id:"copilot-logs",name:"Logs",icon:"list",href:"/admin/copilot",isActive:e=>e.includes("/admin/copilot")}]},{name:"Manage",items:[{id:"staff",name:"Staff",icon:"contact",href:"/admin/manage/staff",isActive:e=>e.includes("/admin/manage/staff"),hidden:!(0,r.cM)(a.ek1.Admin)},{id:"memberships",name:"Memberships",icon:"user-check",href:"/admin/manage/memberships",isActive:e=>e.includes("/admin/manage/memberships")}]},{name:"Activity",items:[{id:"activity-users",name:"Users",icon:"user",href:"/admin/activity/users",isActive:e=>e.includes("/admin/activity/users")}]}];return(0,s.jsxs)("div",{className:"border-subtle relative flex h-full w-[224px] shrink-0 flex-col justify-between border-r bg-linear-to-t from-gray-50 to-white",children:[(0,s.jsxs)("div",{className:"flex flex-col",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between p-5",children:[(0,s.jsx)(o.Ay,{height:"17px",className:"text-emphasis"}),(0,s.jsx)(i.E,{colorScheme:"gray",iconLeft:"shield",children:"Admin"})]}),(0,s.jsx)("div",{className:"flex flex-col gap-2 px-2",children:(0,s.jsx)("div",{className:"flex flex-col gap-2",children:t.map(t=>(0,s.jsxs)("div",{className:"flex flex-col",children:[(0,s.jsx)("div",{className:"text-subtle px-2.5 py-3 text-xs leading-none font-medium",children:t.name}),(0,s.jsx)("div",{className:"flex flex-col gap-px",children:t.items.filter(e=>!e.hidden).map(t=>{let{href:n,isActive:r=e=>e.includes(n),...a}=t;return(0,s.jsx)(c(),{href:n,children:(0,s.jsx)(l.$,{iconLeft:a.icon,variant:"ghost",isActive:r(e.pathname),className:{root:"w-full border-none",contentWrapper:"justify-start gap-2"},children:a.name})},a.id)})})]},t.name))})})]}),(0,s.jsx)("div",{className:"m-5",children:(0,s.jsx)(c(),{href:"/",children:(0,s.jsx)(l.$,{variant:"outline",iconLeft:"arrow-left",className:"w-full",children:"Back to app"})})})]})}var h=n(24568);function p(e){let{children:t}=e;return(0,s.jsx)(h.A,{showNav:!1,children:(0,s.jsx)("div",{className:"relative flex h-full w-full flex-col",children:(0,s.jsxs)("div",{className:"flex h-full w-full items-stretch",children:[(0,s.jsx)(m,{}),(0,s.jsx)("div",{className:"w-full overflow-auto",children:(0,s.jsx)("main",{className:"bg-default ease flex h-full min-w-[600px] flex-1 flex-col overflow-auto transition-all",children:t})})]})})})}}},e=>{e.O(0,[6593,8635,8213,1663,9616,4254,4664,1456,238,9913,8277,3684,4446,4882,9391,2292,9261,8750,1652,9047,6450,9899,5460,7283,488,9928,5742,7929,330,2653,2532,8975,6100,865,2593,4379,2146,1224,5389,2045,2444,5720,7676,7135,2020,8938,4641,500,3482,6681,8388,4568,8255,8792],()=>e(e.s=5271)),_N_E=e.O()}]);
4//# sourceMappingURL=memberships-08d398a6faab993a.js.map
5//# debugId=95ce4a0d-8e64-590b-831c-15b4f4cb7b72

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.