PageSourceSearch

https://cssaude.app.br/assets/CollaboratorsManager-UMP3j-Nb.js

js cssaude.app.br collected 2026-10-09 23:09:41 UTC 21,271 bytes, 1 lines download raw bytes

1import{a as i,j as e}from"./vendor-query-BC-k7Zad.js";import{u as qe,P as Ue}from"./usePagination-xtOGrgRt.js";import{S as be,B as p,aE as ee,aF as Ke,L as x,I,s as u,u as l,R as Ve,h as F,i as P,j as R,k as T,l as h,f as Ge}from"./index-Bj0IC8l5.js";import{C as Ne}from"./checkbox-Bfz6RaH4.js";import{B as v}from"./badge-Caa_2Dk8.js";import{C as J,a as $e,b as He,d as Qe,c as W}from"./card-B7ABiRT0.js";import{D as re,e as Ee,a as Je,b as te,c as ie,d as We}from"./dialog-hbl8eKTw.js";import{A as Ce}from"./AdminFlowOverlay-DshYcDg-.js";import{A as Ye}from"./AdminPageHeader-DvIgSSZ3.js";import{Q as Xe}from"./browser-YQqDY5HI.js";import{L as ae}from"./loader-circle-DZrliUq4.js";import{K as _e}from"./key-round-BUDWx_PV.js";import{l as Ze,m as ea,n as ye,o as Se}from"./Admin-Dby0AgBi.js";import{u as aa,M as sa}from"./MasterKeyDialog-Cf1ToYuw.js";import{D as ra,a as ta,b as ia,c as Q}from"./dropdown-menu-3MuLYGRm.js";import{U as oa}from"./user-plus-CXlLkjvG.js";import{S as na}from"./search-qnNzSRbK.js";import{P as la}from"./pencil-COt34Kq-.js";import{E as ca}from"./ellipsis-cqVnhBWn.js";import{S as da}from"./shield-off-BWFS3mpw.js";import{S as ma}from"./shield-setyIKcc.js";import{T as ua}from"./trash-2-BiZKkrGI.js";import"./AdminPagination-VmrVRUoe.js";import"./chevron-left-B-l3Pobn.js";import"./chevron-right-Biw5yBnB.js";import"./vendor-ui-C7VZ-0Gn.js";import"./vendor-supabase-Crkn7ML9.js";import"./vendor-form-DfDjfO12.js";import"./vendor-react-Yoj03Zzx.js";import"./InfoHint-D--PyuVj.js";import"./info-C54TnQgs.js";import"./command-Ol-I9XRY.js";import"./check-check-BMl6pH6m.js";import"./tabs-BYYAjT1z.js";import"./ShortcutTile-CjWqXFbD.js";import"./format-WUgAigUZ.js";import"./calendar-CEDME4bB.js";import"./pt-BR-DobfxFmA.js";import"./skeleton-CfGvjdy7.js";import"./BarChart-QNx7Nv0h.js";import"./deviceFingerprint-CGErDH3S.js";import"./clock-B4TMdWnC.js";import"./plug-IoOG3oyR.js";import"./calculator-DHQEgteP.js";import"./link-2-D0e1x2E3.js";import"./trophy-c1Aaravx.js";import"./message-square-HLwEpdNi.js";import"./circle-help-Dn9r2nWL.js";import"./credit-card-DQVtzNX0.js";import"./stethoscope-CyVbdKTA.js";import"./file-text-DxlkC96Q.js";import"./gift-Bwl2EX77.js";import"./shield-alert-CINE5bWS.js";import"./circle-C11Drd_9.js";function ha(){var q;const[z,L]=i.useState(!1),[C,M]=i.useState(null),[g,f]=i.useState(!1),[S,A]=i.useState(""),[b,N]=i.useState({step:"idle"}),j=async()=>{try{const{data:t,error:d}=await u.functions.invoke("admin-totp",{body:{action:"status"}});if(d)throw d;M(!!(t!=null&&t.enabled))}catch(t){console.warn("refreshStatus 2FA falhou",t),M(!1)}};i.useEffect(()=>{j()},[]);const B=async()=>{f(!0);try{const{data:t,error:d}=await u.functions.invoke("admin-totp",{body:{action:"setup"}});if(d)throw d;const O=await Xe.toDataURL(t.otpauth,{margin:1,width:240});N({step:"qr",otpauth:t.otpauth,secret:t.secret,recoveryCodes:t.recoveryCodes,qrDataUrl:O})}catch(t){l.error(t.message||"Falha ao iniciar configuração")}finally{f(!1)}},E=async()=>{if(!/^\d{6}$/.test(S)){l.error("Digite os 6 dígitos do app autenticador");return}f(!0);try{const{data:t,error:d}=await u.functions.invoke("admin-totp",{body:{action:"verify-enroll",code:S}});if(d)throw d;if(!(t!=null&&t.success))throw new Error((t==null?void 0:t.error)||"Código inválido");l.success("2FA por app ativado com sucesso"),N(O=>({...O,step:"done"})),A(""),await j()}catch(t){l.error(t.message||"Código inválido")}finally{f(!1)}},_=async()=>{if(confirm("Desativar 2FA por app autenticador? Você voltará a receber códigos por e-mail.")){f(!0);try{const{error:t}=await u.functions.invoke("admin-totp",{body:{action:"disable"}});if(t)throw t;l.success("2FA por app desativado"),N({step:"idle"}),await j()}catch(t){l.error(t.message||"Erro ao desativar")}finally{f(!1)}}};return e.jsxs(J,{className:"border-cs-teal/20",children:[e.jsxs($e,{children:[e.jsxs(He,{className:"flex items-center gap-2",children:[e.jsx(be,{className:"h-5 w-5 text-cs-teal"}),"Minha Segurança (2FA)"]}),e.jsx(Qe,{children:"Use um app autenticador (Google Authenticator, Authy, 1Password) em vez de receber códigos por e-mail."})]}),e.jsxs(W,{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:"Status:"}),C===null?e.jsx(v,{variant:"outline",children:"Carregando…"}):C?e.jsx(v,{className:"bg-emerald-600 hover:bg-emerald-700",children:"Autenticador configurado"}):e.jsx(v,{variant:"secondary",children:"E-mail (padrão)"})]}),C?e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsxs(p,{onClick:B,variant:"outline",disabled:g,children:[g?e.jsx(ae,{className:"h-4 w-4 animate-spin mr-2"}):e.jsx(ee,{className:"h-4 w-4 mr-2"}),"Reconfigurar autenticador"]}),e.jsx(p,{onClick:_,variant:"ghost",disabled:g,className:"text-destructive hover:text-destructive",children:"Desativar 2FA por app"})]}):e.jsxs(re,{open:z,onOpenChange:t=>{L(t),t||(N({step:"idle"}),A(""))},children:[e.jsx(Ee,{asChild:!0,children:e.jsxs(p,{onClick:B,disabled:g,className:"bg-cs-teal hover:bg-cs-teal-dark",children:[g?e.jsx(ae,{className:"h-4 w-4 animate-spin mr-2"}):e.jsx(ee,{className:"h-4 w-4 mr-2"}),"Configurar autenticador"]})}),e.jsxs(Je,{className:"sm:max-w-md",children:[e.jsxs(te,{children:[e.jsxs(ie,{className:"flex items-center gap-2",children:[e.jsx(ee,{className:"h-5 w-5"})," Configurar 2FA"]}),e.jsx(We,{children:"Escaneie o QR Code no seu app autenticador e digite o código de 6 dígitos."})]}),b.step==="qr"&&b.qrDataUrl&&e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex flex-col items-center gap-3",children:[e.jsx("img",{src:b.qrDataUrl,alt:"QR Code 2FA",className:"rounded-lg border"}),e.jsxs("div",{className:"text-xs text-muted-foreground text-center",children:["Ou digite manualmente:",e.jsx("code",{className:"block mt-1 break-all text-[11px] font-mono bg-muted px-2 py-1 rounded",children:b.secret})]})]}),e.jsxs("div",{className:"rounded-md border border-amber-300 bg-amber-50 p-3 text-xs",children:[e.jsxs("div",{className:"flex items-center gap-2 font-medium text-amber-900 mb
1-1",children:[e.jsx(Ke,{className:"h-3.5 w-3.5"})," Códigos de recuperação (guarde agora)"]}),e.jsx("div",{className:"grid grid-cols-2 gap-1 font-mono text-[11px] text-amber-900",children:(q=b.recoveryCodes)==null?void 0:q.map(t=>e.jsx("span",{children:t},t))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(x,{htmlFor:"totp-code",children:"Código do app"}),e.jsx(I,{id:"totp-code",value:S,onChange:t=>A(t.target.value.replace(/\D/g,"").slice(0,6)),placeholder:"000000",className:"text-center text-xl tracking-widest",maxLength:6,autoFocus:!0})]}),e.jsxs(p,{onClick:E,disabled:g||S.length!==6,className:"w-full bg-cs-teal hover:bg-cs-teal-dark",children:[g?e.jsx(ae,{className:"h-4 w-4 animate-spin mr-2"}):e.jsx(_e,{className:"h-4 w-4 mr-2"}),"Ativar 2FA por App"]})]}),b.step==="done"&&e.jsxs("div",{className:"text-center py-4",children:[e.jsx(be,{className:"h-10 w-10 text-emerald-600 mx-auto mb-2"}),e.jsx("p",{className:"font-medium",children:"2FA por App ativado com sucesso!"}),e.jsx(p,{onClick:()=>L(!1),className:"mt-3",children:"Fechar"})]})]})]})]})]})}const Ae=[{value:"credenciamento",label:"Credenciamento · Rede e Clube"},{value:"comercial",label:"Comercial · PF e PJ"},{value:"relacionamento",label:"Relacionamento · Empresas"},{value:"dados_pf",label:"Gestão de Dados · PF"},{value:"dados_pj",label:"Gestão de Dados · PJ"},{value:"atendimento",label:"Atendimento · Experiência"},{value:"financeiro",label:"Financeiro"},{value:"tecnologia",label:"Tecnologia · Observabilidade"},{value:"marketing",label:"Marketing · Aquisição"},{value:"comunicacao",label:"Comunicação"},{value:"audiovisual",label:"Audiovisual"},{value:"gestao_geral",label:"Gestão Geral"},{value:"operacoes",label:"Operações (legado)"}],se=[{value:"gerente",label:"Gerente"},{value:"operador",label:"Operador"},{value:"visualizador",label:"Visualizador"}];function ps(){const[z,L]=i.useState([]),[C,M]=i.useState(new Set),[g,f]=i.useState(!0),[S,A]=i.useState(!1),[b,N]=i.useState(!1),[j,B]=i.useState(null),[E,_]=i.useState(!1),[q,t]=i.useState(null),[d,O]=i.useState(""),[k,ke]=i.useState("all"),[U,De]=i.useState("all"),K=aa(),[V,oe]=i.useState(""),[Y,ne]=i.useState(""),[le,ce]=i.useState(""),[X,de]=i.useState("operador"),[Z,me]=i.useState(["dashboard"]),[ue,he]=i.useState(""),[pe,xe]=i.useState(""),[ve,ge]=i.useState([]),[fe,je]=i.useState(""),y=async()=>{var s;f(!0);const{data:a,error:r}=await u.from("admin_collaborators").select("*").order("created_at",{ascending:!1});if(!r&&a){L(a);try{const{data:{session:n}}=await u.auth.getSession(),w=((s=(await u.functions.invoke("admin-totp",{body:{action:"list-enabled"},headers:{Authorization:`Bearer ${n==null?void 0:n.access_token}`}})).data)==null?void 0:s.enabled_emails)||[];M(new Set(w))}catch{}}f(!1)};i.useEffect(()=>{y()},[]);const G=async(a,r)=>{var w,$;const s=await K.ensureUnlocked();if(!s)throw new Error("Operação cancelada");const{data:{session:n}}=await u.auth.getSession(),c=await u.functions.invoke(a,{headers:{Authorization:`Bearer ${n==null?void 0:n.access_token}`,"x-admin-master-token":s},body:r});if(c.error)throw new Error(c.error.message||"Erro");if((w=c.data)!=null&&w.require_master_key)throw sessionStorage.removeItem("cs_admin_master_token"),sessionStorage.removeItem("cs_admin_master_token_exp"),new Error("Chave mestra expirada. Tente novamente.");if(($=c.data)!=null&&$.error)throw new Error(c.data.error);return c.data},Fe=async()=>{if(!V||!Y||!X||Z.length===0){l.error("Preencha todos os campos obrigatórios");return}if(!V.endsWith("@cssaude.app.br")){l.error("Email deve ser do domínio @cssaude.app.br");return}_(!0);try{const{data:{session:a}}=await u.auth.getSession(),{data:r,error:s}=await u.functions.invoke("admin-collaborators",{headers:{Authorization:`Bearer ${a==null?void 0:a.access_token}`},body:{action:"invite",email:V,name:Y,department:le||null,role:X,allowed_tabs:Z}});if(s)throw s;if(r!=null&&r.error)throw new Error(r.error);l.success("Convite enviado com sucesso!"),A(!1),oe(""),ne(""),ce(""),de("operador"),me(["dashboard"]),y()}catch(a){l.error(a.message||"Erro ao enviar convite")}finally{_(!1)}},Pe=async a=>{try{await G("admin-collaborators",{action:"manage",sub_action:"toggle_active",collaborator_id:a.id}),l.success(a.is_active?"Colaborador desativado":"Colaborador ativado"),y()}catch(r){r.message!=="Operação cancelada"&&l.error(r.message||"Erro ao alterar status")}},Re=a=>{B(a),je(a.name),he(a.department||""),xe(a.role),ge(a.allowed_tabs||[]),N(!0)},Te=async()=>
1{if(j){_(!0);try{await G("admin-collaborators",{action:"manage",sub_action:"update",collaborator_id:j.id,updates:{name:fe,department:ue||null,role:pe,allowed_tabs:ve}}),l.success("Permissões atualizadas"),N(!1),y()}catch(a){a.message!=="Operação cancelada"&&l.error(a.message||"Erro ao atualizar")}finally{_(!1)}}},Oe=async a=>{if(confirm(`Revogar o 2FA de ${a.email}? Ele precisará configurar novamente no próximo login.`))try{await G("admin-collaborators",{action:"manage",sub_action:"revoke_totp",collaborator_id:a.id}),l.success("2FA revogado"),y()}catch(r){r.message!=="Operação cancelada"&&l.error(r.message||"Erro ao revogar 2FA")}},Ie=async a=>{if(confirm(`Excluir permanentemente ${a.email}? Esta ação não pode ser desfeita.`))try{await G("admin-collaborators",{action:"manage",sub_action:"delete",collaborator_id:a.id}),l.success("Colaborador removido"),y()}catch(r){r.message!=="Operação cancelada"&&l.error(r.message||"Erro ao excluir")}},ze=(a,r,s)=>{r.includes(a)?s(r.filter(n=>n!==a)):s([...r,a])},Le=async a=>{t(a.id);try{const{data:{session:r}}=await u.auth.getSession(),{data:s,error:n}=await u.functions.invoke("admin-collaborators",{headers:{Authorization:`Bearer ${r==null?void 0:r.access_token}`},body:{action:"invite",email:a.email,name:a.name,department:a.department||null,role:a.role,allowed_tabs:a.allowed_tabs}});if(n)throw n;if(s!=null&&s.error)throw new Error(s.error);l.success("Convite reenviado com sucesso!")}catch(r){l.error(r.message||"Erro ao reenviar convite")}finally{t(null)}},Me=a=>a.is_active?a.accepted_at?e.jsx(v,{className:"bg-green-600 text-white",children:"Ativo"}):e.jsx(v,{variant:"secondary",children:"Pendente"}):e.jsx(v,{variant:"destructive",children:"Inativo"}),Be=Ze.filter(a=>a!=="equipe"),we=(a,r)=>{const s=Be,n=new Set(Se.flatMap(o=>o.tabs)),c=s.filter(o=>!n.has(o)),w=[...Se.map(o=>({id:o.id,label:o.label,keys:o.tabs.filter(D=>s.includes(D))})),...c.length?[{id:"outros",label:"Outros",keys:c}]:[]].filter(o=>o.keys.length>0),$=o=>{const H=o.every(m=>a.includes(m))?a.filter(m=>!o.includes(m)):Array.from(new Set([...a,...o]));r(H)};return e.jsx("div",{className:"space-y-3 mt-2",children:w.map(o=>{const D=o.keys.every(m=>a.includes(m)),H=!D&&o.keys.some(m=>a.includes(m));return e.jsxs("div",{className:"rounded-lg border border-border/60 bg-muted/30 p-3",children:[e.jsxs("label",{className:"flex items-center justify-between gap-2 cursor-pointer",children:[e.jsxs("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:[o.label," ",e.jsxs("span",{className:"text-muted-foreground/60 normal-case font-normal",children:["· ",o.keys.length]})]}),e.jsxs("span",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[H?"Parcial":D?"Tudo":"Nenhum",e.jsx(Ne,{checked:D?!0:H?"indeterminate":!1,onCheckedChange:()=>$(o.keys),"aria-label":`Selecionar grupo ${o.label}`})]})]}),e.jsx("div",{className:"grid grid-cols-2 gap-2 mt-2",children:o.keys.map(m=>e.jsxs("label",{className:"flex items-center gap-2 text-sm cursor-pointer",children:[e.jsx(Ne,{checked:a.includes(m),onCheckedChange:()=>ze(m,a,r)}),ye[m]||m]},m))})]},o.id)})})};return e.jsxs("div",{className:"space-y-6",children:[e.jsx(Ye,{icon:ea,title:"Equipe Administrativa",description:"Acessos e permissões da equipe.",actions:e.jsxs(e.Fragment,{children:[e.jsxs(p,{variant:"outline",size:"sm",onClick:y,children:[e.jsx(Ve,{className:"h-4 w-4 mr-1"})," Atualizar"]}),e.jsxs(re,{open:S,onOpenChange:A,children:[e.jsx(Ee,{asChild:!0,children:e.jsxs(p,{size:"sm",children:[e.jsx(oa,{className:"h-4 w-4 mr-1"})," Convidar"]})}),e.jsxs(Ce,{className:"max-w-lg max-h-[90vh] overflow-y-auto",children:[e.jsx(te,{children:e.jsx(ie,{children:"Convidar Colaborador"})}),e.jsxs("div",{className:"space-y-4 mt-2",children:[e.jsxs("div",{children:[e.jsx(x,{children:"Email *"}),e.jsx(I,{placeholder:"[email protected]",value:V,onChange:a=>oe(a.target.value)}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Apenas @cssaude.app.br"})]}),e.jsxs("div",{children:[e.jsx(x,{children:"Nome *"}),e.jsx(I,{placeholder:"Nome completo",value:Y,onChange:a=>ne(a.target.value)})]}),e.jsxs("div",{children:[e.jsx(x,{children:"Departamento"}),e.jsxs(F,{value:le,onValueChange:ce,children:[e.jsx(P,{children:e.jsx(R,{placeholder:"Selecione"})}),e.jsx(T,{children:Ae.map(a=>e.jsx(h,{value:a.value,children:a.label},a.value))})]})]}),e.jsxs("div",{children:[e.jsx(x,{children:"Nível de Acesso *"}),e.jsxs(F,{value:X,onValueChange:de,children:[e.jsx(P,{children:e.jsx(R,{})}),e.jsx(T,{children:se.map(a=>e.jsx(h,{value:a.value,children:a.label},a.value))})]})]}),e.jsxs("div",{children:[e.jsx(x,{children:"Abas Permitidas *"}),we(Z,me)]}),e.jsx(p,{onClick:Fe,disabled:E,className:"w-full",children:E?"Enviando...":"Enviar Convite"})]})]})]})]})}),e.jsxs("details",{className:"rounded-xl border border-border/40 bg-card px-3 py-2",children:[e.jsx("summary",{className:"cursor-pointer text-sm font-medium",children:"Segurança e acesso"}),e.jsx("div",{className:"mt-3",children:e.jsx(ha,{})})]}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[e.jsxs("div",{className:"relative flex-1 min-w-[200px]",children:[e.jsx(na,{className:"h-4 w-4 absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"}),e.jsx(I,{placeholder:"Buscar por nome, e-mail ou departamento...",className:"pl-9 h-9",value:d,onChange:a=>O(a.target.value)})]}),e.jsxs(F,{value:k,onValueChange:a=>ke(a),children:[e.jsx(P,{className:"h-9 w-full sm:w-44",children:e.jsx(R,{})}),e.jsxs(T,{children:[e.jsx(h,{value:"all",children:"Todos os status"}),e.jsx(h,{value:"active",children:"Ativos"}),e.jsx(h,{value:"inactive",children:"Desativados"}),e.jsx(h,{value:"pending",children:"Convites pendentes"}),e.jsx(h,{value:"with2fa",children:"Com 2FA"})]})]}),e.jsxs(F,{value:U,onValueChange:De,children:[e.jsx(P,{className:"h-9 w-full sm:w-44",children:e.jsx(R,{placeholder:"Nível"})}),e.jsxs(T,{children:[e.jsx(h,{value:"all",children:"Todos os níveis"}),se.map(a=>e.jsx(h,{value:a.value,children:a.label},a.value))]})]})]}),(()=>{const a=z.filter(s=>{var c,w;if(k==="active"&&!s.is_active||k==="inactive"&&s.is_active||k==="pending"&&s.accepted_at||k==="with2fa"&&!C.has(s.email)||U!=="all"&&s.role!==U)return!1;if(!d.trim())return!0;const n=d.toLowerCase();return((c=s.name)==null?void 0:c.toLowerCase().includes(n))||((w=s.email)==null?void 0:w.toLowerCase().includes(n))||(s.department||"").toLowerCase().includes(n)}
1),r=qe(a,25);return i.useEffect(()=>{r.setPage(1)},[d,k,U]),g?e.jsx("p",{className:"text-muted-foreground",children:"Carregando..."}):z.length===0?e.jsx(J,{children:e.jsx(W,{className:"py-8 text-center text-muted-foreground",children:"Nenhum colaborador convidado ainda."})}):a.length===0?e.jsx(J,{children:e.jsx(W,{className:"py-8 text-center text-muted-foreground",children:"Nenhum colaborador encontrado com os filtros aplicados."})}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"grid gap-4",children:r.paged.map(s=>{var n;return e.jsx(J,{children:e.jsx(W,{className:"py-4",children:e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[e.jsxs("div",{className:"space-y-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("span",{className:"font-medium break-words",children:s.name}),Me(s),e.jsx(v,{variant:"outline",children:s.role}),C.has(s.email)&&e.jsx(v,{className:"bg-emerald-600 text-white text-[10px]",children:"2FA"})]}),e.jsx("p",{className:"text-sm text-muted-foreground break-all",children:s.email}),e.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-1",children:[s.department&&e.jsx(v,{variant:"secondary",className:"text-xs",children:s.department}),((n=s.allowed_tabs)==null?void 0:n.length)>0&&e.jsxs("details",{className:"text-xs text-muted-foreground",children:[e.jsxs("summary",{className:"cursor-pointer",children:[s.allowed_tabs.length," área(s) permitida(s)"]}),e.jsx("div",{className:"mt-1 flex max-w-xl flex-wrap gap-1",children:s.allowed_tabs.map(c=>e.jsx(v,{variant:"outline",className:"text-xs",children:ye[c]||c},c))})]})]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Convidado em ",new Date(s.invited_at).toLocaleDateString("pt-BR"),s.last_login&&` · Último login: ${new Date(s.last_login).toLocaleDateString("pt-BR")}`]})]}),e.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[e.jsxs(p,{variant:"outline",size:"sm",onClick:()=>Re(s),children:[e.jsx(la,{className:"h-3 w-3 mr-1"})," Editar"]}),e.jsxs(ra,{children:[e.jsx(ta,{asChild:!0,children:e.jsx(p,{variant:"ghost",size:"icon",className:"h-8 w-8","aria-label":"Mais ações",children:e.jsx(ca,{className:"h-4 w-4"})})}),e.jsxs(ia,{align:"end",className:"min-w-44",children:[!s.accepted_at&&s.is_active&&e.jsxs(Q,{onSelect:()=>Le(s),disabled:q===s.id,children:[e.jsx(Ge,{className:"mr-2 h-3.5 w-3.5"})," Reenviar convite"]}),C.has(s.email)&&e.jsxs(Q,{onSelect:()=>Oe(s),children:[e.jsx(_e,{className:"mr-2 h-3.5 w-3.5"})," Revogar 2FA"]}),e.jsxs(Q,{onSelect:()=>Pe(s),children:[s.is_active?e.jsx(da,{className:"mr-2 h-3.5 w-3.5"}):e.jsx(ma,{className:"mr-2 h-3.5 w-3.5"}),s.is_active?"Desativar":"Ativar"]}),e.jsxs(Q,{onSelect:()=>Ie(s),className:"text-destructive focus:text-destructive",children:[e.jsx(ua,{className:"mr-2 h-3.5 w-3.5"})," Excluir"]})]})]})]})]})})},s.id)})}),e.jsx(Ue,{page:r.page,totalPages:r.totalPages,pageSize:r.pageSize,total:r.total,setPage:r.setPage,setPageSize:r.setPageSize})]})})(),e.jsx(sa,{open:K.open,onClose:K.resolveAndClose,submitKey:K.submitKey}),e.jsx(re,{open:b,onOpenChange:N,children:e.jsxs(Ce,{className:"max-w-lg max-h-[90vh] overflow-y-auto",children:[e.jsx(te,{children:e.jsxs(ie,{children:["Editar Permissões, ",j==null?void 0:j.name]})}),e.jsxs("div",{className:"space-y-4 mt-2",children:[e.jsxs("div",{children:[e.jsx(x,{children:"Nome"}),e.jsx(I,{value:fe,onChange:a=>je(a.target.value)})]}),e.jsxs("div",{children:[e.jsx(x,{children:"Departamento"}),e.jsxs(F,{value:ue,onValueChange:he,children:[e.jsx(P,{children:e.jsx(R,{placeholder:"Selecione"})}),e.jsx(T,{children:Ae.map(a=>e.jsx(h,{value:a.value,children:a.label},a.value))})]})]}),e.jsxs("div",{children:[e.jsx(x,{children:"Nível de Acesso"}),e.jsxs(F,{value:pe,onValueChange:xe,children:[e.jsx(P,{children:e.jsx(R,{})}),e.jsx(T,{children:se.map(a=>e.jsx(h,{value:a.value,children:a.label},a.value))})]})]}),e.jsxs("div",{children:[e.jsx(x,{children:"Abas Permitidas"}),we(ve,ge)]}),e.jsx(p,{onClick:Te,disabled:E,className:"w-full",children:E?"Salvando...":"Salvar Alterações"})]})]})})]})}export{ps as default};

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.