1import{C as F,x as f,q_ as G,q$ as D,r0 as O,r1 as U,r2 as B,r3 as Q,m_ as R,f as M,Z as _,pz as q,j as t,Y as u,j7 as H,r4 as I,r5 as Z,bc as J,j8 as K,cj as W,bl as Y,L as X,mI as ee}from"./app-6As101UE.js";import{g as te,h as se}from"./feature-bookkeeping-wIj2I1Ll.js";import{D as ae,R as ne}from"./feature-auth-B1L7RaGf.js";import"./bookkeeping-rules-gHnoycun.js";import"./recharts-Drl9pjbz.js";import"./accountant-invite-token-Bo8fib0o.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="76efc273-266a-4523-8b40-78c8cce33f0f",e._sentryDebugIdIdentifier="sentry-dbid-76efc273-266a-4523-8b40-78c8cce33f0f")}catch{}})();const k=25,re={pending:R.PendingVerification,verified:R.Verified,all:void 0},ce=()=>{const{t:e}=F(),[n,c]=f.useState(k),[p,g]=f.useState("pending"),{data:o,loading:s,error:b,refetch:h}=G({variables:{limit:n,verificationStatus:re[p]},fetchPolicy:"network-only"}),[x,{data:i,loading:j}]=D({fetchPolicy:"network-only"}),[y]=O(),[S]=U(),[d]=B(),[w]=Q(),[N,v]=f.useState(),[l,C]=f.useState(""),[r,E]=f.useState(!1),z=async a=>{const m=a.trim();if(C(m),E(!1),!!m)try{await x({variables:{query:m}}),E(!0)}catch(P){_(P,e,"accountant.requests.error.search")}},A=async(a,m,P,V)=>{v(a);try{await m(),M.success(e(P)),await Promise.all([h(),l?z(l):Promise.resolve()])}catch($){_($,e,V)}finally{v(void 0)}},T=(o==null?void 0:o.accountantProfilesForReview)??[];return{requests:T,hasMore:T.length>=n,showMore:()=>c(a=>a+k),filter:p,setFilter:a=>{g(a),c(k)},isLoading:s&&!o,hasError:!!b&&!o,decidingId:N,refetch:()=>{h()},searchTerm:l,isSearching:j,searchResults:l&&r?(i==null?void 0:i.accountantProfileSearch)??[]:void 0,search:z,clearSearch:()=>{C(""),E(!1)},verify:a=>A(a,()=>y({variables:{id:a}}),"accountant.requests.verified","accountant.requests.error.verify"),suspend:a=>A(a,()=>d({variables:{id:a}}),"accountant.requests.suspended","accountant.requests.error.suspend"),reactivate:a=>{const m=[...(i==null?void 0:i.accountantProfileSearch)??[],...(o==null?void 0:o.accountantProfilesForReview)??[]].find(P=>P.id===a);return A(a,()=>w({variables:{id:a}}),m!=null&&m.practiceTenant?"accountant.requests.reactivated":"accountant.requests.reactivatedStatusOnly","accountant.requests.error.reactivate")},reject:async(a,m)=>{await A(a,()=>S({variables:{id:a,reason:m}}),"accountant.requests.rejected","accountant.requests.error.reject")}}},oe=e=>e.practiceTenant?"noAt":"noPractice",ie=e=>e.verificationStatus===R.Verified?e.professionalStatus===q.Suspended?"reactivate":"suspend":e.practiceTenant&&e.practiceHasVerifiedAt?"confirm":"blocked",le=e=>e.verificationStatus!==R.PendingVerification||e.professionalStatus!==q.Active,ue=(e,n)=>{if(!e)return n("accountant.requests.noPractice");const c=e.name||n("accountant.clients.unnamedProfile");return e.taxPayerNumber?`${c} · ${e.taxPayerNumber}`:c},de=[I.CedulaNotFound,I.CedulaHolderMismatch,I.CedulaNotActive,I.AtCredentialsRequired],L=({request:e,isBusy:n,onVerify:c,onReject:p,onSuspend:g,onReactivate:o})=>{const{t:s}=F(),[b,h]=f.useState(!1),[x,i]=f.useState(null),[j,y]=f.useState(!1),S=f.useId(),d=ie(e),w=e.verificationStatus===R.PendingVerification,N=async()=>{try{await navigator.clipboard.writeText(e.cedula),y(!0)}catch{M.error(s("error.error"))}},v=()=>{h(!1),i(null)};return t.jsxs("div",{className:"rounded-xl border border-border bg-card p-4",children:[t.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[t.jsxs("div",{className:"min-w-0",children:[t.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[t.jsx("span",{className:"font-mono text-base font-semibold text-foreground",children:e.cedula}),t.jsx(u,{variant:"neutralGhost",size:"small",leftSection:t.jsx(H,{size:14}),onClick:N,children:s(j?"button.label.copied":"button.label.copy")})]}),le(e)&&t.jsxs("p",{className:"mt-2 text-xs font-medium uppercase text-muted-foreground",children:[s(`accountant.requests.state.${e.verificationStatus}`),e.professionalStatus===q.Suspended&&` · ${s("accountant.requests.state.suspended")}`]}),t.jsx("p",{className:"mt-2 text-sm text-foreground",children:ue(e.practiceTenant,s)}),!!e.rejectionReason&&t.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:s("accountant.status.rejected.reason",{reason:s(`accountant.rejectionReason.${e.rejectionReason}`)})}),t.jsx("p",{className:"mt-1 break-words text-sm text-muted-foreground",children:e.userEmail||s("accountant.requests.noContact")}),t.jsxs("p",{className:"mt-1 text-xs text-muted-foreground",children:[s("accountant.requests.filed",{date:te(e.createdAt)}),e.pendingManagedCount>0&&` · ${s("accountant.requests.pendingClients",{count:e.pendingManagedCount})}`]})]}),t.jsxs("div",{className:"flex shrink-0 flex-col items-stretch gap-2 sm:flex-row sm:items-start",children:[d==="confirm"&&t.jsx(u,{variant:"successPrime",size:"small",disabled:n,onClick:()=>c(e.id),className:"w-full sm:w-auto",children:s("accountant.requests.verify")}),d==="blocked"&&t.jsx("p",{className:"text-pretty text-xs text-muted-foreground sm:max-w-[16rem] sm:text-right",children:s(`accountant.requests.verifyBlocked.${oe(e)}`)}),d==="suspend"&&t.jsx(u,{variant:"dangerSecondary",size:"small",disabled:n,onClick:()=>g(e.id),className:"w-full sm:w-auto",children:s("accountant.requests.suspend")}),d==="reactivate"&&t.jsx(u,{variant:"successPrime",size:"small",disabled:n,onClick:()=>o(e.id),className:"w-full sm:w-auto",children:s("accountant.requests.reactivate")}),w&&t.jsx(u,{variant:"dangerSecondary",size:"small",disabled:n,onClick:()=>h(!0),className:"w-full sm:w-auto",children:s("accountant.requests.reject")})]})]}),b&&t.jsxs("div",{className:"mt-3 border-t border-border pt-3",children:[t.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:s("accountant.requests.reasonLabel")}),t.jsx("div",{className:"flex flex-col gap-1.5",children:de.map(l=>t.jsxs("label",{className:"flex cursor-pointer items-start gap-2 text-sm text-foreground",children:[t.jsx("input",{type:"radio",name:S,className:"mt-0.5",checked:x===l,onChange:()=>i(l)}),s(`accountant.rejectionReason.${l}`)]},l))}),t.jsxs("div",{className:"mt-2 flex flex-col gap-2 sm:flex-row",children:[t.jsx(u,{variant:"dangerPrime",size:"small",disabled:n||!x,onClick:()=>x&&p(e.id,x),className:"w-full sm:w-auto",children:s("accountant.requests.rejectConfirm")}),t.jsx(u,{variant:"neutralGhost",size:"small",onClick:v,className:"w-full sm:w-auto",children:s("button.label.cancel")})]})]})]})},me=()=>{const{t:e}=F(),[n,c]=f.useState(""),{requests:p,isLoading:g,hasError:o,decidingId:s,refetch:b,verify:h,reject:x,suspend:i,reactivate:j,search:y,clearSearch:S,searchResults:d,isSearching:w,hasMore:N,showMore:v,filter:l,setFilter:C}=ce();return se({title:e("accountant.requests.title"),icon:t.jsx("div",{className:"rounded-full bg-[#FFC850]/10 p-1.5",children:t.jsx(Z,{className:"h-5 w-5 text-[#FFC850]"})})}),g?t.jsx("div",{className:"flex justify-center py-12",children:t.jsx(J,{color:"#FFC850",size:32})}):o?t.jsxs("div",{className:"mt-4 flex flex-col items-center gap-3 rounded-xl border border-border bg-card p-6 text-center",children:[t.jsx("p",{className:"text-sm text-muted-foreground",children:e("accountant.requests.loadError")}),t.jsx(u,{variant:"neutralSecondary",size:"small",onClick:b,children:e("button.label.tryAgain")})]}):t.jsxs("div",{className:"pb-8",children:[t.jsxs("p",{className:"text-pretty text-sm text-muted-foreground",children:[e("accountant.requests.hint")," ",t.jsxs("a",{href:ae,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1 whitespace-nowrap text-[#438BFA] underline",children:[e("accountant.requests.occRegister"),t.jsx(K,{size:14})]})]}),t.jsxs("form",{className:"mt-4 flex flex-col gap-2 sm:flex-row",onSubmit:r=>{r.preventDefault(),y(n)},children:[t.jsx("label",{className:"sr-only",htmlFor:"accountant-request-search",children:e("accountant.requests.searchPlaceholder")}),t.jsx(W,{id:"accountant-request-search",className:"sm:max-w-sm",value:n,placeholder:e("accountant.requests.searchPlaceholder"),onChange:r=>c(r.target.value)}),t.jsx(u,{variant:"neutralSecondary",size:"medium",type:"submit",loading:w,children:e("search")}),d&&t.jsx(u,{variant:"neutralGhost",size:"medium",type:"button",onClick:()=>{c(""),S()},children:e("button.label.cancel")})]}),d&&t.jsxs("div",{className:"mt-4",children:[t.jsx("p",{className:"text-xs font-medium uppercase text-muted-foreground",children:e("accountant.requests.searchResults")}),d.length===0?t.jsx("p",{className:"mt-2 text-sm text-muted-foreground",children:e("accountant.requests.searchEmpty")}):t.jsx("div",{className:"mt-2 flex flex-col gap-3",children:d.map(r=>
1t.jsx(L,{request:r,isBusy:s===r.id,onVerify:h,onReject:x,onSuspend:i,onReactivate:j},r.id))})]}),t.jsx("div",{className:"mt-6 flex flex-wrap gap-2",children:ne.map(r=>t.jsx(u,{variant:l===r.value?"neutralPrime":"neutralGhost",size:"small",onClick:()=>C(r.value),children:e(r.labelKey)},r.value))}),p.length===0?t.jsx("p",{className:"mt-2 text-sm text-muted-foreground",children:e(l==="pending"?"accountant.requests.empty":"accountant.requests.noneInFilter")}):t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"mt-2 flex max-h-[70vh] flex-col gap-3 overflow-y-auto pr-1",children:p.map(r=>t.jsx(L,{request:r,isBusy:s===r.id,onVerify:h,onReject:x,onSuspend:i,onReactivate:j},r.id))}),N&&t.jsx(u,{variant:"neutralSecondary",size:"small",className:"mt-3",loading:g,onClick:v,children:e("accountant.requests.showMore")})]})]})};function ve(){var c;const{data:e,loading:n}=Y({fetchPolicy:"cache-first"});return n&&!e?t.jsx(X,{visible:!0}):(c=e==null?void 0:e.me)!=null&&c.isSuperuser?t.jsx(me,{}):t.jsx(ee,{})}export{ve as Component};
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.