1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9635],{7061:function(e,r,s){(window.__NEXT_P=window.__NEXT_P||[]).push(["/admin/users",function(){return s(92058)}])},50591:function(e,r,s){"use strict";var a=s(2734),i=s(25812);let n=()=>{let e=(0,a.Z)();return{primaryFilled:{color:e.palette.primary.contrastText,backgroundColor:e.palette.primary.main},primaryLight:{color:e.palette.primary.main,backgroundColor:(0,i.E)(e.palette.primary.main,.12)},secondaryFilled:{color:e.palette.secondary.contrastText,backgroundColor:e.palette.secondary.main},secondaryLight:{color:e.palette.secondary.main,backgroundColor:(0,i.E)(e.palette.secondary.main,.12)},successFilled:{color:e.palette.success.contrastText,backgroundColor:e.palette.success.main},successLight:{color:e.palette.success.main,backgroundColor:(0,i.E)(e.palette.success.main,.12)},errorFilled:{color:e.palette.error.contrastText,backgroundColor:e.palette.error.main},errorLight:{color:e.palette.error.main,backgroundColor:(0,i.E)(e.palette.error.main,.12)},warningFilled:{color:e.palette.warning.contrastText,backgroundColor:e.palette.warning.main},warningLight:{color:e.palette.warning.main,backgroundColor:(0,i.E)(e.palette.warning.main,.12)},infoFilled:{color:e.palette.info.contrastText,backgroundColor:e.palette.info.main},infoLight:{color:e.palette.info.main,backgroundColor:(0,i.E)(e.palette.info.main,.12)}}};r.Z=n},25013:function(e,r,s){"use strict";s.d(r,{H:function(){return o}});let a=Number("3"),i=Number("4"),n=Number("2"),l=Number("1"),o=e=>{if(!e)return"-";switch(e){case a:return"Free";case i:return"Standard";case n:return"Premium";case l:return"Basic";default:return"-"}}},69396:function(e,r,s){"use strict";s.d(r,{X:function(){return o}});var a=s(85893),i=s(87918),n=s(86010),l=s(50591);let o=e=>{let{sx:r,skin:s,color:o,rounded:t}=e,d=(0,l.Z)(),u={primary:{...d.primaryLight},secondary:{...d.secondaryLight},success:{...d.successLight},error:{...d.errorLight},warning:{...d.warningLight},info:{...d.infoLight}},c={...e};return c.rounded=void 0,(0,a.jsx)(i.Z,{...c,variant:"filled",className:(0,n.Z)({"MuiChip-rounded":t,"MuiChip-light":"light"===s}),sx:"light"===s&&o?Object.assign(u[o],r):r})}},9354:function(e,r,s){"use strict";s.d(r,{o:function(){return m}});var a=s(85893);s(67294);var i=s(37645),n=s(50657),l=s(99226),o=s(93946),t=s(6514),d=s(98456),u=s(50594);let c={spinner:{position:"absolute",top:"50%",left:"50%",marginTop:"-12px",marginLeft:"-12px"}},m=e=>{let{children:r,open:s,title:m,showSpinner:g=!1,containerStyles:p,onClose:h}=e,x=()=>{h()};return(0,a.jsx)(n.Z,{onClose:x,open:s,children:(0,a.jsxs)(l.Z,{sx:p,children:[(0,a.jsxs)(i.Z,{sx:{textAlign:"center",marginTop:"16px"},children:[m,(0,a.jsx)(o.Z,{onClick:h,sx:{position:"absolute",right:"8px",top:"8px",color:e=>e.palette.grey[500]},children:(0,a.jsx)(u.Z,{})})]}),(0,a.jsx)(t.Z,{children:g?(0,a.jsx)(d.Z,{sx:c.spinner}):r})]})})}},92058:function(e,r,s){"use strict";s.r(r),s.d(r,{default:function(){return ev}});var a,i,n=s(85893),l=s(67294),o=s(2734),t=s(98396),d=s(26447),u=s(79332),c=s(87109),m=s(93946),g=s(7631),p=s(55008),h=s(63730),x=s(45013),f=s(51049),v=s(41715),j=s(86501),Z=s(81134),P=s(22120),b=s(67218),w=s(40044),C=s(30298),k=s(87462),N=s(63366),y=s(86010),M=s(90948),S=s(71657),E=s(94780),T=s(34867);function I(e){return(0,T.Z)("MuiTabPanel",e)}(0,s(1588).Z)("MuiTabPanel",["root"]);var A=s(45670);let U=["children","className","value"],z=e=>{let{classes:r}=e;return(0,E.Z)({root:["root"]},I,r)},L=(0,M.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:(e,r)=>r.root})(({theme:e})=>({padding:e.spacing(3)})),F=l.forwardRef(function(e,r){let s=(0,S.Z)({props:e,name:"MuiTabPanel"}),{children:a,className:i,value:l}=s,o=(0,N.Z)(s,U),t=(0,k.Z)({},s),d=z(t),u=(0,A._i)();if(null===u)throw TypeError("No TabContext provided");let c=(0,A.uU)(u,l),m=(0,A.pQ)(u,l);return(0,n.jsx)(L,(0,k.Z)({"aria-labelledby":m,className:(0,y.Z)(d.root,i),hidden:l!==u.value,id:c,ref:r,role:"tabpanel",ownerState:t},o,{children:l===u.value&&a}))});var O=s(99226),_=s(50135),R=s(31425),W=s(83321),q=s(9354);let D=e=>{let{t:r}=(0,P.$G)(),s=(0,g.m)(),[a,i]=l.useState(1),[o,t]=l.useState(0),d=(0,l.useCallback)(()=>{e.onClose()},[]),u=async()=>{try{if(a>0){let r=await s.perk.giftPerk({amount:a,recipientUserId:e.user.id,type:p.Ib.BookPass});if(!r.ok)throw Error(r.error.message)}if(o>0){let r=await s.perk.giftPerk({amount:o,recipientUserId:e.user.id,type:p.Ib.PaidIndiviualPass});if(!r.ok)throw Error(r.error.message)}j.ZP.success(r("adminPage.users.passesAdded"),{duration:5e3})}catch(e){j.ZP.error(r("adminPage.users.errorMessages.addPassFailed"),{duration:5e3}),console.error("Failed to add passes. Error: ",e)}finally{var i;d(),null===(i=e.onComplete)||void 0===i||i.call(e)}};return(0,n.jsx)(q.o,{open:e.open,onClose:d,title:r("adminPage.users.addPass"),children:(0,n.jsxs)(O.Z,{sx:{marginTop:2,display:"flex",flexDirection:"column",gap:4},children:[(0,n.jsx)(_.Z,{label:r("adminPage.users.addBookedPassInputLabel"),value:a,type:"number",onChange:e=>{if(0>Number(e.target.value)){i(0);return}i(Number(e.target.value))}}),(0,n.jsx)(_.Z,{label:r("adminPage.users.addPaidPassInputLabel"),value:o,type:"number",onChange:e=>{if(0>Number(e.target.value)){t(0);return}t(Number(e.target.value))}}),(0,n.jsxs)(R.Z,{className:"dialog-actions-dense",sx:{marginTop:4},children:[(0,n.jsx)(W.Z,{onClick:d,children:r("common.cancel")}),(0,n.jsx)(f.KM,{onClick:u,children:r("common.confirm")})]})]})})};var X=s(54476),B=s(25013);let G=(e,r)=>{var s;if(!r)return;let a=null===(s=e.organizationMemberships)||void 0===s?void 0:s.find(e=>e.organizationId===r);return null==a?void 0:a.productId};var Q=s(86886),H=s(94054),$=s(33841),K=s(18360),J=s(18972),V=s(87536),Y=s(16310),ee=s(47533);let er=Object.entries(p.i4).filter(e=>{let[r,s]=e;return"number"==typeof s}),es={firstName:"",lastName:"",email:"",role:p.i4.Student,password:"",confirmPassword:""},ea=e=>{let{t:r}=(0,P.$G)(),s=(0,g.m)(),{user:a}=(0,b.a)(),i=(0,l.useMemo)(()=>Y.Ry().shape({firstName:Y.Z_().required(r("adminPage.users.errorMessages.invalidName")),lastName:Y.Z_().required(r("adminPage.users.errorMessages.invalidName")),email:Y.Z_().email(r("adminPage.users.errorMessages.invalidEmail")).required(r("adminPage.users.errorMessages.invalidEmail")),password:Y.Z_().min(5,r("adminPage.users.errorMessages.invalidPassword")).required(r("adminPage.users.errorMessages.invalidPassword")),confirmPassword:Y.Z_().min(5,r("adminPage.users.errorMessages.invalidPassword")).required(r("adminPage.users.errorMessages.passwordsDoNotMatch")).oneOf([Y.iH("password")],r("adminPage.users.errorMessages.passwordsDoNotMatch")),ssn:Y.Z_().matches(/^[0-9]{10}$/,r("adminPage.users.errorMessages.invalidSsn")),role:Y.Rx().required()}),[r]),{control:o,setError:t,reset:d,handleSubmit:u,watch:c,formState:{errors:m}}=(0,V.cI)({defaultValues:es,mode:"onBlur",resolver:(0,ee.X)(i)}),h=(0,l.useCallback)(()=>{d(es),e.onClose()},[]),x=(0,l.useMemo)(()=>(null==a?void 0:a.role)===p.i4.Admin?er:er.filter(e=>{let[r,s]=e;return s!==p.i4.Admin}),[a]),v=async a=>{try{delete a.confirmPassword;let e=await s.user.save(a);if(!e.ok)throw Error(e.error.message);if(a.role===p.i4.Teacher){let r=await s.group.save({assignedUserId:e.data.id,name:"".concat(a.firstName," ").concat(a.lastName),shiftTypes:[p.IF.OneOnOne],description:"Group led by ".concat(a.firstName," ").concat(a.lastName),userIds:[]});if(!r.ok)throw await s.user.delete(e.data.id),Error(r.error.message)}j.ZP.success(r("adminPage.users.userAdded"),{duration:5e3})}catch(e){j.ZP.error(r("adminPage.users.errorMessages.createUserFailed"),{duration:5e3}),console.error("Failed to create user. Error: ",e)}finally{var i;h(),d(es),null===(i=e.onComplete)||void 0===i||i.call(e)}};return(0,n.jsx)(q.o,{open:e.open,onClose:h,title:r("adminPage.users.createUser"),children:(0,n.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:u(v),children:(0,n.jsxs)(O.Z,{sx:{marginTop:2},children:[(0,n.jsxs)(Q.ZP,{container:!0,columnSpacing:2,rowGap:5,direction:"row",children:[(0,n.jsx)(Q.ZP,{item:!0,xs:12,md:6,children:(0,n.jsx)(H.Z,{fullWidth:!0,children:(0,n.jsx)(V.Qr,{name:"firstName",control:o,rules:{required:!0},render:e=>{var s;let{field:{value:a,onChange:i}}=e;return(0,n.jsx)(_.Z,{label:r("adminPage.users.firstNameInput"),value:a,error:!!m.firstName,helperText:!!m.firstName&&(null===(s=m.firstName)||void 0===s?void 0:s.message),onChange:e=>{i(e.target.value)}})}})})}),(0,n.jsx)(Q.ZP,{item:!0,xs:12,md:6,children:(0,n.jsx)(H.Z,{fullWidth:!0,children:(0,n.jsx)(V.Qr,{name:"lastName",control:o,rules:{required:!0},render:e=>{var s;let{field:{value:a,onChange:i}}=e;return(0,n.jsx)(_.Z,{label:r("adminPage.users.lastNameInput"),value:a,error:!!m.lastName,helperText:!!m.lastName&&(null===(s=m.lastName)||void 0===s?void 0:s.message),onChange:e=>{i(e.target.value)}})}})})}),(0,n.jsx)(Q.ZP,{item:!0,xs:12,md:6,children:(0,n.jsx)(H.Z,{fullWidth:!0,children:(0,n.jsx)(V.Qr,{name:"email",control:o,rules:{required:!0},render:e=>{var s;let{field:{value:a,onChange:i}}=e;return(0,n.jsx)(_.Z,{label:r("adminPage.users.emailInput"),value:a,error:!!m.email,helperText:!!m.email&&(null===(s=m.email)||void 0===s?void 0:s.message),onChange:e=>{i(e.target.value)}})}})})}),(0,n.jsx)(Q.ZP,{item:!0,xs:12,md:6,children:(0,n.jsx)(H.Z,{fullWidth:!0,children:(0,n.jsx)(V.Qr,{name:"role",control:o,rules:{required:!0},render:e=>{let{field:{value:s,onChange:a,onBlur:i}}=e;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)($.Z,{htmlFor:"role-select",children:r("common.role")}),(0,n.jsx)(K.Z,{value:s,label:r("common.role"),inputProps:{id:"role-select"},onChange:e=>{a(e.target.value)},children:x.map(e=>{let[s,a]=e;return(0,n.jsx)(J.Z,{value:a,children:r("userRoles.".concat(s))},a)})})]})}})})}),(0,n.jsx)(Q.ZP,{item:!0,xs:12,md:6,children:(0,n.jsx)(H.Z,{fullWidth:!0,children:(0,n.jsx)(V.Qr,{name:"password",control:o,rules:{required:!0},render:e=>{var s;let{field:{value:a,onChange:i,onBlur:l}}=e;return(0,n.jsx)(_.Z,{label:r("adminPage.users.passwordInput"),value:a,type:"password",error:!!m.password,helperText:!!m.password&&(null===(s=m.password)||void 0===s?void 0:s.message),onChange:e=>{i(e.target.value)}})}})})}),(0,n.jsx)(Q.ZP,{item:!0,xs:12,md:6,children:(0,n.jsx)(H.Z,{fullWidth:!0,children:(0,n.jsx)(V.Qr,{name:"confirmPassword",control:o,rules:{required:!0},render:e=>{var s;let{field:{value:a,onChange:i,onBlur:l}}=e;return(0,n.jsx)(_.Z,{label:r("adminPage.users.confirmPasswordInput"),value:a,type:"password",error:!!m.confirmPassword,helperText:!!m.confirmPassword&&(null===(s=m.confirmPassword)||void 0===s?void 0:s.message),onChange:e=>{i(e.target.value)}})}})})})]}),(0,n.jsxs)(R.Z,{className:"dialog-actions-dense",sx:{marginTop:4},children:[(0,n.jsx)(W.Z,{onClick:h,children:r("common.cancel")}),(0,n.jsx)(f.KM,{type:"submit",children:r("common.confirm")})]})]})})})},ei=Object.entries(p.i4).filter(e=>{let[r,s]=e;return"number"==typeof s}),en={firstName:"",lastName:"",email:"",role:p.i4.Student},el=e=>{let{t:r}=(0,P.$G)(),s=(0,g.m)(),{user:a}=(0,b.a)(),i=(0,l.useMemo)(()=>Y.Ry().shape({firstName:Y.Z_().required(r("adminPage.users.errorMessages.invalidName")),lastName:Y.Z_().required(r("adminPage.users.errorMessages.invalidName")),email:Y.Z_().email(r("adminPage.users.errorMessages.invalidEmail")).required(r("adminPage.users.errorMessages.invalidEmail")),role:Y.Rx().required()}),[r]),{control:o,setError:t,reset:d,handleSubmit:u,formState:{errors:c}}=(0,V.cI)({defaultValues:en,mode:"onBlur",resolver:(0,ee.X)(i)}),m=(0,l.useCallback)(()=>{d(en),e.onClose()},[]),h=(0,l.useMemo)(()=>(null==a?void 0:a.role)===p.i4.Admin?ei:ei.filter(e=>{let[r,s]=e;return s!==p.i4.Admin}),[a]),x=async a=>{try{let i=await s.user.update({...a,id:e.user.id});if(!i.ok)throw Error(i.error.message);j.ZP.success(r("adminPage.users.userUpdated"),{duration:5e3})}catch(e){j.ZP.error(r("adminPage.users.errorMessages.editUserFailed"),{duration:5e3}),console.error("Failed to edit user. Error: ",e)}finally{var i;m(),d(en),null===(i=e.onComplete)||void 0===i||i.call(e)}};return(0,l.useEffect)(()=>
1{if(e.open){let r=async()=>{let r=await s.user.get(e.user.id);if(!r.ok)throw Error(r.error.message);let a=r.data;d(a)};r()}},[e.open,d,e.user]),(0,n.jsx)(q.o,{open:e.open,onClose:m,title:r("adminPage.users.editUser"),children:(0,n.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:u(x),children:(0,n.jsxs)(O.Z,{sx:{marginTop:2},children:[(0,n.jsxs)(Q.ZP,{container:!0,columnSpacing:2,rowGap:5,direction:"row",children:[(0,n.jsx)(Q.ZP,{item:!0,xs:12,md:6,children:(0,n.jsx)(H.Z,{fullWidth:!0,children:(0,n.jsx)(V.Qr,{name:"firstName",control:o,rules:{required:!0},render:e=>{var s;let{field:{value:a,onChange:i}}=e;return(0,n.jsx)(_.Z,{label:r("adminPage.users.firstNameInput"),value:a,error:!!c.firstName,helperText:!!c.firstName&&(null===(s=c.firstName)||void 0===s?void 0:s.message),onChange:e=>{i(e.target.value)}})}})})}),(0,n.jsx)(Q.ZP,{item:!0,xs:12,md:6,children:(0,n.jsx)(H.Z,{fullWidth:!0,children:(0,n.jsx)(V.Qr,{name:"lastName",control:o,rules:{required:!0},render:e=>{var s;let{field:{value:a,onChange:i}}=e;return(0,n.jsx)(_.Z,{label:r("adminPage.users.lastNameInput"),value:a,error:!!c.lastName,helperText:!!c.lastName&&(null===(s=c.lastName)||void 0===s?void 0:s.message),onChange:e=>{i(e.target.value)}})}})})}),(0,n.jsx)(Q.ZP,{item:!0,xs:12,md:6,children:(0,n.jsx)(H.Z,{fullWidth:!0,children:(0,n.jsx)(V.Qr,{name:"email",control:o,rules:{required:!0},render:e=>{var s;let{field:{value:a,onChange:i}}=e;return(0,n.jsx)(_.Z,{label:r("adminPage.users.emailInput"),value:a,error:!!c.email,helperText:!!c.email&&(null===(s=c.email)||void 0===s?void 0:s.message),onChange:e=>{i(e.target.value)}})}})})}),(0,n.jsx)(Q.ZP,{item:!0,xs:12,md:6,children:(0,n.jsx)(H.Z,{fullWidth:!0,children:(0,n.jsx)(V.Qr,{name:"role",control:o,rules:{required:!0},render:e=>{let{field:{value:s,onChange:a,onBlur:i}}=e;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)($.Z,{htmlFor:"role-select",children:r("common.role")}),(0,n.jsx)(K.Z,{value:s,label:r("common.role"),inputProps:{id:"role-select"},onChange:e=>{a(e.target.value)},children:h.map(e=>{let[s,a]=e;return(0,n.jsx)(J.Z,{value:a,children:r("userRoles.".concat(s))},a)})})]})}})})})]}),(0,n.jsxs)(R.Z,{className:"dialog-actions-dense",sx:{marginTop:4},children:[(0,n.jsx)(W.Z,{onClick:m,children:r("common.cancel")}),(0,n.jsx)(f.KM,{type:"submit",children:r("common.save")})]})]})})})};var eo=s(87952),et=s(15861),ed=s(6882),eu=s(69396),ec=s(81010);let em=Number("3"),eg=Number("4"),ep=Number("2"),eh=Number("1"),ex=e=>{let{t:r}=(0,P.$G)(),{user:s}=(0,b.a)();(0,o.Z)();let[a,i]=(0,l.useState)([]),t=(0,l.useMemo)(()=>[{flex:.3,minWidth:200,maxWidth:400,field:"Name",renderHeader:()=>(0,n.jsx)(h.Z,{icon:"mdi:account-outline",fontSize:20}),renderCell:e=>{var r;let{row:s}=e;return(0,n.jsxs)(O.Z,{sx:{display:"flex",alignItems:"center"},children:[(0,n.jsx)(eo.Z,{alt:"".concat(s.firstName," ").concat(s.lastName)||"",sx:{width:"1.875rem",he
1ight:"1.875rem",borderRadius:5},src:(null===(r=s.avatar)||void 0===r?void 0:r.src)||""}),(0,n.jsxs)(O.Z,{sx:{display:"flex",alignItems:"flex-start",flexDirection:"column",ml:2},children:[(0,n.jsxs)(et.Z,{variant:"subtitle1",children:[s.firstName," ",s.lastName]}),(0,n.jsx)(et.Z,{noWrap:!0,variant:"caption",children:"".concat(s.email)})]})]})}},{flex:.25,minWidth:120,maxWidth:150,field:"Role",renderHeader:()=>(0,n.jsx)(h.Z,{icon:"mdi:check-circle-outline",fontSize:20}),renderCell:e=>{let{row:s}=e;switch(s.role){case p.i4.Student:return(0,n.jsx)(eu.X,{label:r("userRoles.Student"),skin:"light",color:"success"});case p.i4.Teacher:return(0,n.jsx)(eu.X,{label:r("userRoles.Teacher"),skin:"light",color:"info"});case p.i4.OrganizationAdmin:return(0,n.jsx)(eu.X,{label:r("userRoles.OrganizationAdmin"),skin:"light",color:"warning"});case p.i4.Admin:return(0,n.jsx)(eu.X,{label:r("userRoles.Admin"),skin:"light",color:"warning"});default:return(0,n.jsx)(n.Fragment,{children:s.role})}}},e.showOrganizationColumn&&{flex:.25,minWidth:300,maxWidth:600,field:"Organization",headerName:r("adminPage.users.organizationsColumnLabel"),sortable:!0,renderCell:e=>{var r;let{row:s}=e;return(0,n.jsx)(n.Fragment,{children:null===(r=s.organizationMemberships)||void 0===r?void 0:r.map((e,r)=>{var s;return(0,n.jsx)(eu.X,{label:null===(s=e.organization)||void 0===s?void 0:s.name,sx:{marginRight:2}},r)})})}},e.showSubscriptionColumn&&{flex:.25,minWidth:300,maxWidth:600,field:"Subscription",headerName:r("adminPage.users.subscriptionColumnLabel"),sortable:!0,renderCell:e=>{var r;let{row:a}=e,i=G(a,null==s?void 0:null===(r=s.activeOrganization)||void 0===r?void 0:r.id),l=(0,B.H)(i),o={label:l,skin:"light"};switch(i){case em:return(0,n.jsx)(eu.X,{...o,color:"secondary"});case eg:return(0,n.jsx)(eu.X,{...o,color:"warning"});case ep:return(0,n.jsx)(eu.X,{...o,color:"success"});case eh:return(0,n.jsx)(eu.X,{...o,color:"info"});default:return(0,n.jsx)(n.Fragment,{children:i})}}},{flex:.1,minWidth:90,sortable:!1,field:"actions",headerName:"Actions",headerAlign:"right",align:"right",renderCell:a=>{let{row:i}=a;return(0,n.jsx)(O.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:(0,n.jsx)(ec.Z,{iconProps:{fontSize:20},iconButtonProps:{size:"small"},menuProps:{sx:{"& .MuiMenuItem-root svg":{mr:2}}},options:[{text:r("adminPage.users.editButtonLabel"),icon:(0,n.jsx)(h.Z,{icon:"mdi:edit",fontSize:20}),menuItemProps:{onClick:async()=>{e.onEditUser(i)}}},e.onRevokeMembership&&{text:r("adminPage.users.revokeMembershipButtonLabel"),icon:(0,n.jsx)(h.Z,{icon:"mdi:account-off",fontSize:20,color:"red"}),menuItemProps:{onClick:async()=>{var r;null===(r=e.onRevokeMembership)||void 0===r||r.call(e,i.id)}}},(null==s?void 0:s.role)===p.i4.Admin&&{divider:!0,dividerProps:{children:(0,n.jsx)(et.Z,{variant:"caption",children:"Admin"})}},(null==s?void 0:s.role)===p.i4.Admin&&e.onShowJournal&&{text:r("adminPage.users.journal"),icon:(0,n.jsx)(h.Z,{icon:"mdi:playlist-edit",fontSize:20}),menuItemProps:{onClick:async()=>{var r;null===(r=e.onShowJournal)||void 0===r||r.call(e,i)}}},(null==s?void 0:s.role)===p.i4.Admin&&e.onAddPerk&&{text:r("adminPage.users.addPassButtonLabel"),icon:(0,n.jsx)(h.Z,{icon:"mdi:star-plus-outline",fontSize:20}),menuItemProps:{onClick:async()=>{var r;null===(r=e.onAddPerk)||void 0===r||r.call(e,i)}}},(null==s?void 0:s.role)===p.i4.Admin&&{text:r("adminPage.users.deleteButtonLabel"),icon:(0,n.jsx)(h.Z,{icon:"mdi:delete",fontSize:20,color:"red"}),menuItemProps:{onClick:async()=>{e.onDeleteUser(i.id)}}}].filter(Boolean)})})}}].filter(Boolean),[r]);return(0,n.jsx)(d.Z,{spacing:3,flexGrow:1,children:(0,n.jsx)(Q.ZP,{container:!0,flexGrow:1,children:(0,n.jsx)(Q.ZP,{item:!0,xs:12,md:12,children:(0,n.jsx)(O.Z,{sx:{flexGrow:1,width:"100%",height:"100%",backgroundColor:"background.paper"},children:(0,n.jsx)(ed._,{style:{minHeight:"70vh"},columns:t,rows:e.users,disableRowSelectionOnClick:!0,pageSizeOptions:[7,10,25,50],rowSelectionModel:a})})})})})};(a=i||(i={})).OrgUsers="1",a.AllUsers="2";let ef=()=>{var e;let r=(0,g.m)(),{user:s}=(0,b.a)(),[a,x]=(0,l.useState)([]),[k,N]=(0,l.useState)([]),[y,M]=(0,l.useState)(""),[S,E]=(0,l.useState)(i.OrgUsers),[T,I]=(0,l.useState)({open:!1}
1),[U,z]=(0,l.useState)({open:!1,user:{}}),[L,O]=(0,l.useState)({open:!1,user:{}}),[_,R]=(0,l.useState)({open:!1,user:{}}),W=(0,o.Z)(),q=(0,t.Z)(W.breakpoints.up("md"),{defaultMatches:!0}),{showConfirmation:Q}=(0,Z.p)(),{t:H}=(0,P.$G)(),$=(e,r)=>{let a=r.toLowerCase().split(" ");return a.every(r=>{var a,i,n,l,o;let t=G(e,null==s?void 0:null===(a=s.activeOrganization)||void 0===a?void 0:a.id),d=(0,B.H)(t);return(null===(i=e.email)||void 0===i?void 0:i.toLowerCase().includes(r))||(null===(n=e.firstName)||void 0===n?void 0:n.toLowerCase().includes(r))||(null===(l=e.lastName)||void 0===l?void 0:l.toLowerCase().includes(r))||(null===(o=e.organizationMemberships)||void 0===o?void 0:o.some(e=>{var s,a;return null===(s=e.organization)||void 0===s?void 0:null===(a=s.name)||void 0===a?void 0:a.toLowerCase().includes(r)}))||(null==d?void 0:d.toLowerCase().includes(r))})},K=(0,l.useMemo)(()=>""===y?a:a.filter(e=>$(e,y)),[y,a]),J=(0,l.useMemo)(()=>""===y?k:k.filter(e=>$(e,y)),[y,k]),V=async e=>{if(e)try{let s=await Q({title:H("adminPage.users.deleteUserDialogTitle"),message:H("adminPage.users.deleteUserDialogDescription")});if(!s)return;let a=await r.user.delete(e);if(!a.ok)throw Error(a.error.message);j.ZP.success(H("adminPage.users.userDeletedConfirmation"),{duration:5e3}),em()}catch(e){console.error("Failed to delete user. Error: ",e),j.ZP.error(H("adminPage.users.errorMessages.deleteUserFailed"),{duration:5e3})}},Y=async e=>{if(e)try{let s=await Q({title:H("adminPage.users.revokeMembershipDialogTitle"),message:H("adminPage.users.revokeMembershipDialogDescription")});if(!s)return;let a=await r.user.revokeMembership(e);if(!a.ok)throw Error(a.error.message);j.ZP.success(H("adminPage.users.revokeMembershipConfirmation"),{duration:5e3}),em()}catch(e){console.error("Failed to delete user. Error: ",e),j.ZP.error(H("adminPage.users.errorMessages.revokeMembershipFailed"),{duration:5e3})}},ee=(0,l.useCallback)(e=>{R({open:!0,user:e})},[]),er=(0,l.useCallback)(()=>{R({open:!1,user:{}})},[]),es=(0,l.useCallback)(e=>{z({open:!0,user:e})},[]),ei=(0,l.useCallback)(()=>{z({open:!1,user:{}})},[]),en=(0,l.useCallback)(()=>{I({open:!1})},[]),eo=(0,l.useCallback)(()=>{I({open:!0})},[]),et=(0,l.useCallback)(e=>{O({open:!0,user:e})},[]),ed=(0,l.useCallback)(()=>{O({open:!1,user:{}})},[]),eu=async()=>{try{let e=await r.user.search();if(!e.ok)throw Error(e.error.message);x(e.data)}catch(e){console.error(e)}},ec=async()=>{try{let e=await r.user.getAll();if(!e.ok)throw Error(e.error.message);let s=e.data.filter(e=>!e.isDeleted);N(s)}catch(e){console.error(e)}},em=async()=>{await eu(),(null==s?void 0:s.role)===p.i4.Admin&&await ec()};return(0,l.useEffect)(()=>{em()},[]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(d.Z,{direction:"row",spacing:2,alignItems:"center",flexWrap:"wrap",children:[(0,n.jsx)(f.Kk,{variant:"outlined",color:"secondary",startIcon:(0,n.jsx)(v.Z,{}),onClick:eo,children:H("adminPage.users.createUser")}),(0,n.jsx)(u.Z,{value:y,placeholder:H("adminPage.users.searchUser"),onChange:e=>M(e.target.value),sx:{width:q?"600px":"100%","&:before, &:after":{display:"none"}},startAdornment:(0,n.jsx)(c.Z,{position:"start",sx:{color:"text.disabled"},children:(0,n.jsx)(h.Z,{icon:"mdi:magnify",fontSize:"1.375rem"})}),endAdornment:y&&(0,n.jsx)(c.Z,{position:"end",onClick:()=>M(""),sx:{display:"flex",cursor:"pointer",alignItems:"center"},children:(0,n.jsx)(m.Z,{size:"small",sx:{p:1},children:(0,n.jsx)(h.Z,{icon:"mdi:close",fontSize:20})})})})]}),(0,n.jsxs)(A.ZP,{value:S,children:[(0,n.jsxs)(C.Z,{children:[(0,n.jsx)(w.Z,{label:null==s?void 0:null===(e=s.activeOrganization)||void 0===e?void 0:e.name,value:i.OrgUsers,onClick:()=>E(i.OrgUsers)}),(null==s?void 0:s.role)===p.i4.Admin&&(0,n.jsx)(w.Z,{label:H("adminPage.users.allUsers"),value:i.AllUsers,onClick:()=>E(i.AllUsers)})]}),(0,n.jsx)(F,{value:i.OrgUsers,children:(0,n.jsx)(ex,{users:K,showSubscriptionColumn:!0,onEditUser:es,onRevokeMembership:Y,onAddPerk:et,onDeleteUser:V,onShowJournal:ee})}),(null==s?void 0:s.role)===p.i4.Admin&&(0,n.jsx)(F,{value:i.AllUsers,children:(0,n.jsx)(ex,{users:J,showOrganizationColumn:!0,onEditUser:es,onDeleteUser:V})})]}),(0,n.jsx)(ea,{...T,onClose:en,onComplete:em}),(0,n.jsx)(el,{...U,onClose:ei,onComplete:em}),(0,n.jsx)(D,{...L,onClose:ed}),(0,n.jsx)(X.Z,{user:_.user,open:_.open,onClose:er})]})};ef.acl={action:x.H.Read,subject:x.D.OrgAdminPage};var ev=ef}},function(e){e.O(0,[6886,2395,135,3420,6310,4386,4277,7912,8710,63,4476,9774,2888,179],function(){return e(e.s=7061)}),_N_E=e.O()}]);
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.