1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},s=(new e.Error).stack;s&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[s]="89aab02f-8adf-4ebc-979c-113b6b280cb3",e._sentryDebugIdIdentifier="sentry-dbid-89aab02f-8adf-4ebc-979c-113b6b280cb3")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6790],{6790:function(e,s,t){t.d(s,{l:function(){return n}});var a,n,r=t(11010),o=t(85893),c=t(67294),i=t(2185),l=t(86189),d=t(8224),m=t(44173),u=t(65522),g=t(14841),f=t(86652),p=t(27263),h=t(38099),v=t(42015),j=t(75023),b=t(71035),x=t(54879),M=t(65323),y=t(11660),A=t(23908),P=t(88767),N=t(33249),U=t(85349),L=t(51676),C=t(86896),T=t(14430);(a=n||(n={})).PROJECTS="PROJECTS",a.GROUPS="GROUPS",s.Z=function(){var e,s,t,a,n,S,_=(0,C.Z)(),E=(0,i.I0)(),{modal:R,payload:w}=(0,i.v9)(e=>({modal:e.modalReducer.modal,payload:e.modalReducer.payload}),i.wU),[k,I]=(0,c.useState)(null==w?void 0:null===(n=w.teamMember)||void 0===n?void 0:n.id),[G,O]=(0,c.useState)(""),[F,z]=(0,c.useState)(null!==(S=null==w?void 0:w.defaultTab)&&void 0!==S?S:"PROJECTS"),[Z,D]=(0,c.useState)(""),J=(0,P.useQueryClient)(),{data:H=[]}=(0,b.Z)(),B=H.filter(e=>!e.role),Q=B.findIndex(e=>e.id===k),V=Q>=0?B[Q]:null==w?void 0:w.teamMember,W=null==V?void 0:V.id,X=e=>{var s=B[Q+("prev"===e?-1:1)];s&&I(s.id)},K=(null==V?void 0:V.name)||(null==V?void 0:V.email),{data:Y=[],refetch:$}=(0,x.Z)(W,{enabled:!!W}),q=(e=(0,r._)(function*(e){if(globalThis.confirm(_.formatMessage({id:"manageUserProjectsListAccess.cancelInvitationConfirm",defaultMessage:"Are you sure you want to cancel the invitation?"})))try{yield(0,f.o8)(e.projectToken,null==e?void 0:e.email),yield(0,j.D)(1e3),yield $()}catch(e){m.Am.error(_.formatMessage({id:"manageUserProjectsListAccess.cancelInvitationError",defaultMessage:"Failed to cancel the invitation"})),console.error(e)}}),function(s){return e.apply(this,arguments)}),ee=(s=(0,r._)(function*(e){if(globalThis.confirm(_.formatMessage({id:"manageUserProjectsListAccess.resendInvitationConfirm",defaultMessage:"Are you sure you want to resend the invitation?"})))try{yield(0,f.o5)(e.projectToken,null==e?void 0:e.email),m.Am.success(_.formatMessage({id:"manageUserProjectsListAccess.resendInvitationSuccess",defaultMessage:"Invitation resent"})),yield $()}catch(e){m.Am.error(_.formatMessage({id:"manageUserProjectsListAccess.resendInvitationError",defaultMessage:"Failed to resend the invitation"})),console.error(e)}}),function(e){return s.apply(this,arguments)}),{subscription:es}=(0,y.Z)(),et=(0,l.K$)(null==es?void 0:es.plan),{data:ea=[]}=(0,M.Z)({enabled:R===l.w8.MANAGE_USER_PROJECT_ACCESS&&et}),en=e=>{var s;return!!(null===(s=e.members)||void 0===s?void 0:s.some(e=>e.email===(null==V?void 0:V.email)))},er=G.trim().toLowerCase(),eo=ea.filter(e=>!er||e.name.toLowerCase().includes(er)),ec=ea.filter(en).length,ei=eo.filter(en),el=eo.filter(e=>!en(e)),ed=(t=(0,r._)(function*(e,s,t,a){if(globalThis.confirm(s)){D(e.id);try{yield t(),m.Am.success(a),yield $(),yield J.invalidateQueries("team-groups"),yield J.invalidateQueries("team-members")}catch(e){m.Am.error((0,T.t)(e,_.formatMessage({id:"manageUserProjectsListAccess.groupActionError",defaultMessage:"Failed to update the group membership"}))),console.error(e)}finally{D("")}}}),function(e,s,a,n){return t.apply(this,arguments)}),em=e=>ed(e,_.formatMessage({id:"manageUserProjectsListAccess.addToGroupConfirm",defaultMessage:"Add {name} to {group}? They will get the group access right away."},{name:K,group:e.name}),()=>(0,f.E2)(e.id,null==V?void 0:V.email),_.formatMessage({id:"manageUserProjectsListAccess.addToGroupSuccess",defaultMessage:"Added to {group}"},{group:e.name})),eu=e=>ed(e,_.formatMessage({id:"manageUserProjectsListAccess.removeFromGroupConfirm",defaultMessage:"Remove {name} from {group}? The access they already have stays unchanged."},{name:K,group:e.name}),()=>(0,f._j)(e.id,null==V?void 0:V.email),_.formatMessage({id:"manageUserProjectsListAccess.removeFromGroupSuccess",defaultMessage:"Removed from {group}"},{group:e.name})),eg=e=>ed(e,_.formatMessage({id:"manageUserProjectsListAccess.synchronizeConfirm",defaultMessage:"Give {name} exactly the access of {group}? This overwrites their current access and removes them from team projects the group does not include."},{name:K,group:e.name}),()=>(0,f.lm)(e.id,null==V?void 0:V.email),_.formatMessage({id:"manageUserProjectsListAccess.synchronizeSuccess",defaultMessage:"{name} now has the access of {group}"},{name:K,group:e.name})),ef=(a=(0,r._)(function*(e){if(globalThis.confirm(_.formatMessage({id:"manageUserProjectsListAccess.removeFromProjectConfirm",defaultMessage:"Remove {name} from {project}? They lose access to this project."},{name:K,project:e.projectName})))try{yield(0,f.o8)(e.projectToken,(null==e?void 0:e.email)||(null==V?void 0:V.email)),m.Am.success(_.formatMessage({id:"manageUserProjectsListAccess.removeFromProjectSuccess",defaultMessage:"Removed from {project}"},{project:e.projectName})),yield $()}catch(e){m.Am.error((0,T.t)(e,_.formatMessage({id:"manageUserProjectsListAccess.removeFromProjectError",defaultMessage:"Failed to remove from the project"}))),console.error(e)}}),function(e){return a.apply(this,arguments)}),ep=()=>E((0,p.bF)(l.w8.MANAGE_USER_PROJECT_ACCESS,{teamMember:V})),eh=e=>E((0,p.bF)(l.w8.UPDATE_CONTRIBUTOR,{projectMember:e,projectToken:e.projectToken,userName:null==V?void 0:V.name,showHeaderSubtitle:!0,onBack:ep,onSubmit:ep})),ev=e=>E((0,p.bF)(l.w8.INVITE_CONTRIBUTOR,{projectToken:e.projectToken,prefillEmail:null==V?void 0:V.email,userName:null==V?void 0:V.name,showHeaderSubtitle:!0,onBack:ep,onSubmit:(0,r._)(function*(){ep(),yield $()})})),ej=Y.filter(e=>e.role&&(null==e?void 0:e.invitationStatus)===l.XC.ACCEPTED).length,eb=Y.filter(e=>!er||e.projectName.toLowerCase().includes(er)),ex=eb.filter(e=>e.role&&(null==e?void 0:e.invitationStatus)===l.XC.ACCEPTED),eM=eb.filter(e=>(null==e?void 0:e.invitationStatus)===l.XC.INVITED),ey=eb.filter(e=>!e.role),eA="d-flex align-items-center justify-content-between gap-3 py-2 px-2 rounded-1 border-bottom border-light-subtle bg-secondary-subtle--on-hover",eP=e=>(0,o.jsxs)("div",{className:"position-relative mb-3","data-sentry-component":"renderSearch","data-sentry-source-file":"ManageUserProjectsListAccessModal.tsx",children:[(0,o.jsx)("input",{type:"text",name:"search",maxLength:80,className:"form-control form-control-sm w-100",placeholder:e,onChange:e=>O(e.target.value),value:G,style:{paddingLeft:36}}),(0,o.jsx)("span",{className:"position-absolute top-50 start-0 translate-middle-y text-muted font-size-16 pe-none",style:{marginLeft:10},children:(0,o.jsx)("i",{className:"fal fa-search","aria-hidden":"true"})})]}),eN=e=>{var s,t,a,n;return(0,o.jsxs)("div",{className:"d-flex flex-column","data-sentry-component":"renderGroupName","data-sentry-source-file":"ManageUserProjectsListAccessModal.tsx",children:[(0,o.jsx)("div",{className:"fw-600 text-body font-size-14",children:e.name}),(0,o.jsxs)("div",{className:"text-muted font-size-13",children:[_.formatMessage({id:"groups.permissionsCount",defaultMessage:"{count, plural, one {# permission} other {# permissions}}"},{count:null!==(a=null===(s=e.permissions)||void 0===s?void 0:s.filter(e=>e.access===d.Cc.value).length)&&void 0!==a?a:0}),(0,o.jsx)(g.Z,{"data-sentry-element":"Separator","data-sentry-source-file":"ManageUserProjectsListAccessModal.tsx"}),_.formatMessage({id:"groups.projectsCount",defaultMessage:"{count, plural, one {# project} other {# projects}}"},{count:null!==(n=null===(t=e.projects)||void 0===t?void 0:t.length)&&void 0!==n?n:0})]})]})},eU="text-muted font-size-13 fw-500 mb-1",eL=e=>{var s,t,a,n=null===(s=e.permissions)||void 0===s?void 0:s.filter(e=>e.access===d.Cc.value).length,r=null===(t=e.assignedLanguages)||void 0===t?void 0:t.filter(e=>e.access===l.zy.WRITE_READ).length,c=null===(a=e.assignedCustomers)||void 0===a?void 0:a.filter(e=>e.access===l.uh.WRITE_READ).length;return(0,o.jsxs)("div",{className:"text-muted font-size-13","data-sentry-component":"generateSubtitle","data-sentry-source-file":"ManageUserProjectsListAccessModal.tsx",children:[e.role===l.i4.TRANSLATOR&&(0,o.jsxs)(o.Fragment,{children:[_.formatMessage({id:"manageUserProjectsListAccess.role.translator",defaultMessage:"Translator"}),(0,o.jsx)(g.Z,{}),_.formatMessage({id:"manageUserProjectsListAccess.permissions",defaultMessage:"{count} {count, plural, one {permission} other {permissions}}"},{count:n}),(0,o.jsx)(g.Z,{}),_.formatMessage({id:"manageUserProjectsListAccess.languages",defaultMessage:"{count} {count, plural, one {language} other {languages}}"},{count:r}),c>0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(g.Z,{}),_.formatMessage({id:"manageUserProjectsListAccess.customers",defaultMessage:"{count} {count, plural, one {customer} other {customers}}"},{count:c}
1)]})]}),e.role===l.i4.ADMIN&&(0,o.jsx)(o.Fragment,{children:_.formatMessage({id:"manageUserProjectsListAccess.role.admin",defaultMessage:"Project administrator"})}),e.role===l.i4.DEVELOPER&&(0,o.jsx)(o.Fragment,{children:_.formatMessage({id:"manageUserProjectsListAccess.role.developer",defaultMessage:"Developer"})})]})};return(0,o.jsxs)(h.u,{isOpen:R===l.w8.MANAGE_USER_PROJECT_ACCESS,size:"lg",style:{top:30},scrollable:!0,"data-sentry-element":"Modal","data-sentry-component":"ManageUserProjectsListAccessModal","data-sentry-source-file":"ManageUserProjectsListAccessModal.tsx",children:[(0,o.jsx)(v.x,{rightComponent:Q>=0&&(0,o.jsx)(N.l,{onPrevious:()=>X("prev"),onNext:()=>X("next"),hasPrevious:Q>0,hasNext:Q<B.length-1}),"data-sentry-element":"ModalHeader","data-sentry-source-file":"ManageUserProjectsListAccessModal.tsx",children:(0,o.jsxs)("div",{className:"d-flex flex-column",children:[(0,o.jsx)("h5",{className:"mb-1",children:_.formatMessage({id:"manageUserProjectsListAccess.header.title",defaultMessage:"Manage access"})}),(0,o.jsx)("div",{className:"text-muted font-size-14",children:K})]})}),(0,o.jsxs)("div",{className:"modal-body pt-3",children:[(0,o.jsx)(U.Q,{className:"mb-3",showIcons:!0,tabs:[{label:_.formatMessage({id:"manageUserProjectsListAccess.tab.projects",defaultMessage:"Projects"}),value:"PROJECTS",icon:"far fa-rectangle-history",number:ej},{label:_.formatMessage({id:"manageUserProjectsListAccess.tab.groups",defaultMessage:"Groups"}),value:"GROUPS",icon:"far fa-users",number:ec}],activeTab:F,onTabClick:e=>{z(e),O("")},"data-sentry-element":"TabButtonSwitcher","data-sentry-source-file":"ManageUserProjectsListAccessModal.tsx"}),"GROUPS"===F&&!et&&(0,o.jsx)("div",{className:"text-center py-5",children:(0,o.jsx)("div",{className:"text-muted font-size-14 text-center mt-2",children:_.formatMessage({id:"groups.availableInTeamPlan",defaultMessage:"Groups are available in the <a>Team plan</a>."},{a:e=>(0,o.jsx)("a",{href:A.y4,target:"_blank",children:e})})})}),"GROUPS"===F&&et&&(0,o.jsxs)(o.Fragment,{children:[eP(_.formatMessage({id:"manageUserProjectsListAccess.searchGroupsPlaceholder",defaultMessage:"Search groups"})),ea.length>0&&0===ei.length&&0===el.length&&(0,o.jsx)(u.V,{className:"py-4",icon:"far fa-users",text:_.formatMessage({id:"manageUserProjectsListAccess.noGroupSearchResults",defaultMessage:"No groups match this search"})}),(0,o.jsxs)("div",{style:{maxHeight:"calc(100vh - 380px)",minHeight:200,overflowY:"auto"},children:[ei.length>0&&(0,o.jsx)("div",{className:eU,children:_.formatMessage({id:"manageUserProjectsListAccess.section.assignedGroups",defaultMessage:"Assigned groups ({count})"},{count:ei.length})}),ei.map(e=>{var s,t,a,n=null!==(a=null===(t=e.members)||void 0===t?void 0:null===(s=t.find(e=>e.email===(null==V?void 0:V.email)))||void 0===s?void 0:s.customAccess)&&void 0!==a?a:[];return(0,o.jsxs)("div",{className:eA,children:[eN(e),(0,o.jsxs)("div",{className:"d-flex align-items-center gap-4 text-nowrap",children:[n.length>0&&(0,o.jsxs)("div",{className:"d-flex flex-column align-items-end",children:[(0,o.jsx)(L.Z,{customAccess:n,tooltipKey:"member_group_".concat(e.id,"_").concat(null==V?void 0:V.id)}),(0,o.jsx)("button",{type:"button",className:"btn btn-link btn-better-500 btn-sm font-size-12 p-0",disabled:!!Z,onClick:()=>eg(e),children:_.formatMessage({id:"manageUserProjectsListAccess.resetAccessButton",defaultMessage:"Reset to group access"})})]}),(0,o.jsx)("button",{type:"button",className:"btn btn-link btn-better-500 btn-sm text-danger",disabled:!!Z,onClick:()=>eu(e),children:_.formatMessage({id:"manageUserProjectsListAccess.removeFromGroupButton",defaultMessage:"Remove"})})]})]},"assigned_group_".concat(e.id))}),el.length>0&&(0,o.jsx)("div",{className:"".concat(eU," ").concat(ei.length>0?"mt-4":""),children:_.formatMessage({id:"manageUserProjectsListAccess.section.notAssignedGroups",defaultMessage:"Not assigned groups ({count})"},{count:el.length})}),el.map(e=>(0,o.jsxs)("div",{className:eA,children:[eN(e),(0,o.jsx)("button",{type:"button",className:"btn btn-link btn-better-500 btn-sm text-nowrap",disabled:!!Z,onClick:()=>em(e),children:_.formatMessage({id:"manageUserProjectsListAccess.addToGroupButton",defaultMessage:"Add to group"})})]},"not_assigned_group_".concat(e.id))),0===ea.length&&(0,o.jsx)(u.V,{className:"py-4",icon:"far fa-users",text:_.formatMessage({id:"manageUserProjectsListAccess.noGroups",defaultMessage:"There are no groups in your team yet"})})]})]}),"PROJECTS"===F&&(0,o.jsxs)(o.Fragment,{children:[eP(_.formatMessage({id:"manageUserProjectsListAccess.searchPlaceholder",defaultMessage:"Search projects"})),Y.length>0&&0===eb.length&&(0,o.jsx)(u.V,{className:"py-4",icon:"far fa-folder",text:_.formatMessage({id:"manageUserProjectsListAccess.noSearchResults",defaultMessage:"No projects match this search"})}),(0,o.jsxs)("div",{style:{maxHeight:"calc(100vh - 320px)",minHeight:200,overflowY:"auto"},children:[ex.length>0&&(0,o.jsx)("div",{className:eU,children:_.formatMessage({id:"manageUserProjectsListAccess.section.assigned",defaultMessage:"Assigned projects ({count})"},{count:ex.length})}),ex.map(e=>(0,o.jsxs)("div",{className:eA,children:[(0,o.jsxs)("div",{className:"d-flex flex-column",children:[(0,o.jsx)("div",{className:"fw-600 text-body font-size-14",children:e.projectName}),eL(e)]}),(0,o.jsxs)("div",{className:"d-flex align-items-center text-nowrap",children:[(0,o.jsx)("button",{type:"button",className:"btn btn-link btn-better-500 btn-sm",onClick:()=>eh(e),children:_.formatMessage({id:"manageUserProjectsListAccess.action.manageAccess",defaultMessage:"Manage"})}),(0,o.jsx)("button",{type:"button",className:"btn btn-link btn-better-500 btn-sm text-danger",onClick:()=>ef(e),children:_.formatMessage({id:"manageUserProjectsListAccess.action.removeFromProject",defaultMessage:"Remove"})})]})]},"assigned_project_".concat(e.projectToken))),eM.length>0&&(0,o.jsx)("div",{className:"".concat(eU," ").concat(ex.length>0?"mt-4":""),children:_.formatMessage({id:"manageUserProjectsListAccess.section.pending",defaultMessage:"Pending invitations ({count})"},{count:eM.length})}),eM.map(e=>(0,o.jsxs)("div",{className:eA,children:[(0,o.jsxs)("div",{className:"d-flex flex-column",children:[(0,o.jsx)("div",{className:"fw-600 text-body font-size-14",children:e.projectName}),eL(e)]}),(0,o.jsxs)("div",{className:"d-flex align-items-center text-nowrap",children:[(0,o.jsx)("button",{type:"button",className:"btn btn-link btn-better-500 btn-sm",onClick:()=>ee(e),children:_.formatMessage({id:"manageUserProjectsListAccess.action.resendInvitation",defaultMessage:"Resend"})}),(0,o.jsx)("button",{type:"button",className:"btn btn-link btn-better-500 btn-sm text-danger",onClick:()=>q(e),children:_.formatMessage({id:"manageUserProjectsListAccess.action.cancelInvitation",defaultMessage:"Cancel"})})]})]},"pending_project_".concat(e.projectToken))),ey.length>0&&(0,o.jsx)("div",{className:"".concat(eU," ").concat(ex.length>0||eM.length>0?"mt-4":""),children:_.formatMessage({id:"manageUserProjectsListAccess.section.notAssigned",defaultMessage:"Not assigned projects ({count})"},{count:ey.length})}),ey.map(e=>(0,o.jsxs)("div",{className:eA,children:[(0,o.jsx)("div",{className:"fw-600 text-body font-size-14",children:e.projectName}),(0,o.jsx)("button",{type:"button",className:"btn btn-link btn-better-500 btn-sm text-nowrap",onClick:()=>ev(e),children:_.formatMessage({id:"manageUserProjectsListAccess.action.inviteToProject",defaultMessage:"Invite"})})]},"not_assigned_project_".concat(e.projectToken)))]})]})]})]})}},51676:function(e,s,t){t.d(s,{Z:function(){return i}});var a=t(85893);t(67294);var n=t(86896),r=t(99560),o=t.n(r),c=t(34542),i=e=>{var{customAccess:s,tooltipKey:t}=e,r=(0,n.Z)();if(!(null==s?void 0:s.length))return null;var i="custom_access_".concat(o()(t)),l=s.map(e=>r.formatMessage({id:"groups.customAccess.area",defaultMessage:"{area, select, PROJECTS {projects} PERMISSIONS {permissions} LANGUAGES {languages} CUSTOMERS {customers} other {access}
1}"},{area:e})).join(", ");return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("span",{id:i,className:"text-danger font-size-13 d-flex align-items-center cursor-default text-nowrap",children:[(0,a.jsx)("i",{className:"far fa-triangle-exclamation me-1"}),r.formatMessage({id:"groups.customAccess.badge",defaultMessage:"Custom access"})]}),(0,a.jsx)(c.u,{placement:"top",target:i,"data-sentry-element":"Tooltip","data-sentry-source-file":"GroupCustomAccessWarning.tsx",children:(0,a.jsx)("div",{className:"font-size-13",style:{maxWidth:280},children:r.formatMessage({id:"groups.customAccess.tooltip",defaultMessage:"This person's access is not exactly the same as the group access: {areas}."},{areas:l})})})]})}},65323:function(e,s,t){var a=t(88767),n=t(93186);s.Z=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,a.useQuery)("team-groups",()=>n.ZP.get("/team/groups").then(e=>{var s;return(null==e?void 0:null===(s=e.data)||void 0===s?void 0:s.data)||[]}),e)}},54879:function(e,s,t){t.d(s,{P:function(){return r}});var a=t(88767),n=t(93186),r=e=>n.ZP.get("/team/members/".concat(e,"/access")).then(e=>{var s,t;return(null==e?void 0:null===(t=e.data)||void 0===t?void 0:null===(s=t.data)||void 0===s?void 0:s.projects)||[]});s.Z=function(e){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,a.useQuery)("team-member-permissions-".concat(e),()=>r(e),s)}}}]);
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.