Files
edr-platform/apps/edr-freight-web/backoffice/public/_um/assets/OrganizationsPage-Cai8R-Dj.js
2026-06-13 14:32:26 +03:00

9 lines
28 KiB
JavaScript

import{y as Ie,ad as Be,K as $,N as L,j as e,bw as Ue,bx as Te,by as $e,bz as Le,bA as Fe,bB as _e,aq as Ge,V as He,bC as Re,ai as Ve,ap as J,W as Ke,X as Ze,_ as We,as as qe,r as x,bD as Qe,aF as le,v as w,b8 as G,az as ye,u as X,k as Je,I as he,B as M,b6 as Xe,t as E,f as Ye,aA as ea,aB as aa,aC as ta,aD as ra,aE as Q,bn as sa,aH as na,aR as ia,bE as oa,aI as la,aJ as da,L as ca}from"./index-Db-xuq0b.js";import{u as be}from"./useOrganizations-DiuNBweX.js";import{A as ma}from"./AdvancedTable-CC9ioMU-.js";import{A as ve,h as je,a as Ne,b as Ce,c as we,d as ke,e as ze,f as Se,g as Oe}from"./alert-dialog-B5Y0wlSz.js";import{S as ua,a as pa,b as ga,c as ha,d as xa}from"./select-BoQxM42A.js";import{a as fa,u as ya,b as ba,c as va,d as ja,e as Na,f as Ca,g as wa,h as ka,i as za,j as Sa}from"./useConfig-B72ZZHmV.js";import{u as Oa}from"./useUnit-C4s9nepK.js";import{R as Aa,a as xe}from"./radio-group-DqG5gUnT.js";import{u as Da}from"./useArchived-D2u5xEKl.js";import{E as Pa}from"./ellipsis-CbtaBcvT.js";import{E as Ea}from"./eye-Bhud4znU.js";import{S as Ma}from"./square-pen-B91TPB19.js";import{B as fe}from"./badge-D7JvaQeJ.js";import{S as Ia}from"./StatusCell-D7zi31G6.js";import{S as Ba}from"./switch-BNCD27Bd.js";import{f as Ua}from"./format-DvwV82px.js";import{U as Ta}from"./users-DNqydOCy.js";import{C as $a,a as La,b as Fa,d as _a}from"./card-BBWyxDss.js";import{L as Ga}from"./loader-mVRAFg0f.js";import{P as Ha}from"./plus-BdjS2Pc-.js";import"./organizationsService-BEVk8qa1.js";import"./table-D3n3VABd.js";import"./chevron-left-DCpEaNzo.js";import"./utils-BncSPdK1.js";import"./command-Cr0tMDDu.js";import"./search-CM5F2ZRy.js";import"./popover-X-j_SRnG.js";import"./Popover-CzANYrEa.js";import"./use-uncontrolled-C3HRHW6t.js";import"./separator-BaOOgzZX.js";import"./refresh-cw-JB7N413f.js";import"./unitService-CmGVtFHQ.js";import"./Radio-C3SNvFel.js";import"./get-auto-contrast-value-Da6zqqWm.js";import"./InputsGroupFieldset-COkNgcEo.js";import"./positionService-JD0NEiGK.js";import"./useOrganizationAdmins-Bl-gbkwr.js";import"./use-toast-CdbbItn1.js";import"./phone-Ce15UUGI.js";import"./Switch-DSHMk-sj.js";import"./en-US-Cc-9gH5A.js";/**
* @license lucide-react v0.513.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Ra=[["path",{d:"M10 5a2 2 0 0 0-1.344.519l-6.328 5.74a1 1 0 0 0 0 1.481l6.328 5.741A2 2 0 0 0 10 19h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2z",key:"1yo7s0"}],["path",{d:"m12 9 6 6",key:"anjzzh"}],["path",{d:"m18 9-6 6",key:"1fp51s"}]],Va=Ie("delete",Ra),[Ka,H]=Be("Drawer component was not found in tree");var B={root:"m_f11b401e",header:"m_5a7c2c9",content:"m_b8a05bbd",inner:"m_31cd769a"};const Za={},Y=$((a,t)=>{const r=L("DrawerBody",Za,a),{classNames:i,className:l,style:m,styles:d,vars:u,...g}=r,s=H();return e.jsx(Ue,{ref:t,...s.getStyles("body",{classNames:i,style:m,styles:d,className:l}),...g})});Y.classes=B;Y.displayName="@mantine/core/DrawerBody";const Wa={},ee=$((a,t)=>{const r=L("DrawerCloseButton",Wa,a),{classNames:i,className:l,style:m,styles:d,vars:u,...g}=r,s=H();return e.jsx(Te,{ref:t,...s.getStyles("close",{classNames:i,style:m,styles:d,className:l}),...g})});ee.classes=B;ee.displayName="@mantine/core/DrawerCloseButton";const qa={},ae=$((a,t)=>{const r=L("DrawerContent",qa,a),{classNames:i,className:l,style:m,styles:d,vars:u,children:g,radius:s,__hidden:b,...N}=r,o=H(),z=o.scrollAreaComponent||$e;return e.jsx(Le,{...o.getStyles("content",{className:l,style:m,styles:d,classNames:i}),innerProps:o.getStyles("inner",{className:l,style:m,styles:d,classNames:i}),ref:t,...N,radius:s||o.radius||0,"data-hidden":b||void 0,children:e.jsx(z,{style:{height:"calc(100vh - var(--drawer-offset) * 2)"},children:g})})});ae.classes=B;ae.displayName="@mantine/core/DrawerContent";const Qa={},te=$((a,t)=>{const r=L("DrawerHeader",Qa,a),{classNames:i,className:l,style:m,styles:d,vars:u,...g}=r,s=H();return e.jsx(Fe,{ref:t,...s.getStyles("header",{classNames:i,style:m,styles:d,className:l}),...g})});te.classes=B;te.displayName="@mantine/core/DrawerHeader";const Ja={},re=$((a,t)=>{const r=L("DrawerOverlay",Ja,a),{classNames:i,className:l,style:m,styles:d,vars:u,...g}=r,s=H();return e.jsx(_e,{ref:t,...s.getStyles("overlay",{classNames:i,style:m,styles:d,className:l}),...g})});re.classes=B;re.displayName="@mantine/core/DrawerOverlay";function Xa(a){switch(a){case"top":return"flex-start";case"bottom":return"flex-end";default:return}}function Ya(a){if(a==="top"||a==="bottom")return"0 0 calc(100% - var(--drawer-offset, 0rem) * 2)"}const et={top:"slide-down",bottom:"slide-up",left:"slide-right",right:"slide-left"},at={top:"slide-down",bottom:"slide-up",right:"slide-right",left:"slide-left"},tt={closeOnClickOutside:!0,withinPortal:!0,lockScroll:!0,trapFocus:!0,returnFocus:!0,closeOnEscape:!0,keepMounted:!1,zIndex:J("modal"),position:"left"},rt=Ke((a,{position:t,size:r,offset:i})=>({root:{"--drawer-size":We(r,"drawer-size"),"--drawer-flex":Ya(t),"--drawer-height":t==="left"||t==="right"?void 0:"var(--drawer-size)","--drawer-align":Xa(t),"--drawer-justify":t==="right"?"flex-end":void 0,"--drawer-offset":Ze(i)}})),se=$((a,t)=>{const r=L("DrawerRoot",tt,a),{classNames:i,className:l,style:m,styles:d,unstyled:u,vars:g,scrollAreaComponent:s,position:b,transitionProps:N,radius:o,...z}=r,{dir:c}=Ge(),S=He({name:"Drawer",classes:B,props:r,className:l,style:m,classNames:i,styles:d,unstyled:u,vars:g,varsResolver:rt}),A=(c==="rtl"?at:et)[b];return e.jsx(Ka,{value:{scrollAreaComponent:s,getStyles:S,radius:o},children:e.jsx(Re,{ref:t,...S("root"),transitionProps:{transition:A,...N},"data-offset-scrollbars":s===Ve.Autosize||void 0,unstyled:u,...z})})});se.classes=B;se.displayName="@mantine/core/DrawerRoot";const[st,nt]=qe();function Ae({children:a}){const[t,r]=x.useState([]),[i,l]=x.useState(J("modal"));return e.jsx(st,{value:{stack:t,addModal:(m,d)=>{r(u=>[...new Set([...u,m])]),l(u=>typeof d=="number"&&typeof u=="number"?Math.max(u,d):u)},removeModal:m=>r(d=>d.filter(u=>u!==m)),getZIndex:m=>`calc(${i} + ${t.indexOf(m)} + 1)`,currentId:t[t.length-1],maxZIndex:i},children:a})}Ae.displayName="@mantine/core/DrawerStack";const it={},ne=$((a,t)=>{const r=L("DrawerTitle",it,a),{classNames:i,className:l,style:m,styles:d,vars:u,...g}=r,s=H();return e.jsx(Qe,{ref:t,...s.getStyles("title",{classNames:i,style:m,styles:d,className:l}),...g})});ne.classes=B;ne.displayName="@mantine/core/DrawerTitle";const ot={closeOnClickOutside:!0,withinPortal:!0,lockScroll:!0,trapFocus:!0,returnFocus:!0,closeOnEscape:!0,keepMounted:!1,zIndex:J("modal"),withOverlay:!0,withCloseButton:!0},P=$((a,t)=>{const{title:r,withOverlay:i,overlayProps:l,withCloseButton:m,closeButtonProps:d,children:u,opened:g,stackId:s,zIndex:b,...N}=L("Drawer",ot,a),o=nt(),z=!!r||m,c=o&&s?{closeOnEscape:o.currentId===s,trapFocus:o.currentId===s,zIndex:o.getZIndex(s)}:{},S=i===!1?!1:s&&o?o.currentId===s:g;return x.useEffect(()=>{o&&s&&(g?o.addModal(s,b||J("modal")):o.removeModal(s))},[g,s,b]),e.jsxs(se,{ref:t,opened:g,zIndex:o&&s?o.getZIndex(s):b,...N,...c,children:[i&&e.jsx(re,{visible:S,transitionProps:o&&s?{duration:0}:void 0,...l}),e.jsxs(ae,{__hidden:o&&s&&g?s!==o.currentId:!1,children:[z&&e.jsxs(te,{children:[r&&e.jsx(ne,{children:r}),m&&e.jsx(ee,{...d})]}),e.jsx(Y,{children:u})]})]})});P.classes=B;P.displayName="@mantine/core/Drawer";P.Root=se;P.Overlay=re;P.Content=ae;P.Body=Y;P.Header=te;P.Title=ne;P.CloseButton=ee;P.Stack=Ae;const lt=({organizationName:a,isActive:t,onConfirm:r,isLoading:i,trigger:l})=>e.jsxs(ve,{children:[e.jsx(je,{asChild:!0,children:l}),e.jsxs(Ne,{children:[e.jsxs(Ce,{children:[e.jsxs(we,{children:[t?"Deactivate":"Activate"," Organization"]}),e.jsxs(ke,{children:["Are you sure you want to ",t?"deactivate":"activate"," ",e.jsx("span",{className:"font-medium",children:a}),"? This action can be reversed later."]})]}),e.jsxs(ze,{children:[e.jsx(Se,{disabled:i,className:"cursor-pointer",children:"Cancel"}),e.jsxs(Oe,{onClick:r,disabled:i,className:t?"bg-red-600 hover:bg-red-700 cursor-pointer":"",children:[i&&e.jsx(le,{className:"h-4 w-4 animate-spin"}),i?t?"Deactivating...":"Activating...":t?"Deactivate":"Activate"]})]})]})]}),dt=({organizationName:a,onDelete:t,onCancel:r,isLoading:i,trigger:l})=>e.jsxs(ve,{children:[e.jsx(je,{asChild:!0,children:l}),e.jsxs(Ne,{children:[e.jsxs(Ce,{children:[e.jsx(we,{children:w("organization.deleteOrganization")}),e.jsxs(ke,{children:[w("organization.confirmDelete")," ",e.jsx("strong",{children:a}),"? ",w("organization.cannotUndo")]})]}),e.jsxs(ze,{children:[e.jsx(Se,{onClick:r,disabled:i,className:"cursor-pointer",children:w("common.Cancel")}),e.jsx(Oe,{className:"bg-red-600 hover:bg-red-700 text-white cursor-pointer",disabled:i,onClick:t,children:i?w("organization.deleting"):w("organization.delete")})]})]})]}),de=x.createContext({open:!1,setOpen:()=>{}});function ct({children:a,open:t,onOpenChange:r,defaultOpen:i=!1}){const[l,m]=x.useState(i),d=t!==void 0,u=d?t:l,g=x.useCallback(s=>{d||m(s),r==null||r(s)},[d,r]);return e.jsx(de.Provider,{value:{open:u,setOpen:g},children:a})}function mt({children:a,className:t,...r}){const{open:i,setOpen:l}=x.useContext(de);return e.jsx(P,{opened:i,onClose:()=>l(!1),position:"right",size:400,withCloseButton:!0,classNames:{content:G("p-6",t),overlay:"bg-black/50"},...r,children:a})}function ut({className:a,children:t,...r}){return e.jsx("div",{className:G("mb-4",a),...r,children:t})}function pt({className:a,children:t,...r}){return e.jsx("h2",{className:G("text-lg font-semibold",a),...r,children:t})}function gt({className:a,children:t,...r}){return e.jsx("p",{className:G("text-sm text-muted-foreground",a),...r,children:t})}function ht({className:a,children:t,...r}){return e.jsx("div",{className:G("mt-4 flex justify-end gap-2",a),...r,children:t})}function xt({children:a,asChild:t,className:r,...i}){const{setOpen:l}=x.useContext(de);return t&&x.isValidElement(a)?x.cloneElement(a,{onClick:m=>{var d,u;(u=(d=a.props).onClick)==null||u.call(d,m),l(!1)}}):e.jsx("button",{type:"button",className:G("cursor-pointer",r),onClick:()=>l(!1),...i,children:a})}const ft=ct;function yt({manageOrgConfigOpen:a,setManageOrgConfigOpen:t,organizationId:r}){var ce,me,ue,pe;const{getList:i}=Oa(),[l,m]=x.useState(""),[d,u]=x.useState(""),[g,s]=x.useState(""),[b,N]=x.useState(null),{data:o}=r?i(r,{take:300,skip:0}):{data:void 0},z=ye(),{t:c}=X(),{handleError:S}=Je(c),A=fa(r),U=ya(r),[p,T]=x.useState(!1),D=p?A.data:U.data,ie=p?A.isLoading:U.isLoading,I=p?A.refetch:U.refetch,R=ba(),K=va(),V=ja(),Z=Na(),W=Ca(),y=wa(),v=p?R.isPending||K.isPending:Z.isPending||W.isPending,f=p?V:y,h=(()=>{var O,k;const n=((k=(O=U.data)==null?void 0:O.data)==null?void 0:k.items)??[];return Array.isArray(n)?n.find(j=>((j==null?void 0:j.organizationId)??(j==null?void 0:j.organization_id))===r)??n[0]??null:null})(),C=(()=>{var O,k;if(!l)return null;const n=((k=(O=A.data)==null?void 0:O.data)==null?void 0:k.items)??[];return Array.isArray(n)?n.find(j=>((j==null?void 0:j.unitId)??(j==null?void 0:j.unit_id))===l)??null:null})();x.useEffect(()=>{p||h!=null&&h.id&&b!==h.id&&(N(h.id),u((h.maximumNumberOfUnits??0).toString()))},[p,h,b]),x.useEffect(()=>{p&&C!=null&&C.id&&b!==C.id&&(N(C.id),u((C.numberOfSubUnits??0).toString()),s((C.numberOfEmployeesPerUnit??0).toString()))},[p,C,b]);const oe=()=>{if(p&&!l){E.warning(c("superAdmin.messages.selectUnitWarning"));return}if(p?!d||!g:!d){E.warning(c("superAdmin.messages.fillAllFields"));return}if(p){const k={unitId:l,numberOfSubUnits:Number(d),numberOfEmployeesPerUnit:Number(g)},j=b||(C==null?void 0:C.id)||null;j?K.mutate({id:j,data:k},{onSuccess:()=>{E.success(c("superAdmin.messages.configUpdated")),F(),I()},onError:S}):R.mutate(k,{onSuccess:()=>{E.success(c("superAdmin.messages.configAdded")),F(),I()},onError:_=>q(_)});return}const n={organizationId:r,maximumNumberOfUnits:Number(d),...(h==null?void 0:h.canStartReceivingRecord)!==void 0&&{canStartReceivingRecord:h.canStartReceivingRecord},...(h==null?void 0:h.canCreateBranchByItself)!==void 0&&{canCreateBranchByItself:h.canCreateBranchByItself}},O=b||(h==null?void 0:h.id)||null;O?W.mutate({id:O,data:n},{onSuccess:()=>{E.success(c("superAdmin.messages.configUpdated")),F(),I()},onError:S}):Z.mutate(n,{onSuccess:()=>{E.success(c("superAdmin.messages.configAdded")),F(),I()},onError:k=>q(k)})},q=n=>{var j,_,ge;const O=(j=n==null?void 0:n.response)==null?void 0:j.status,k=((ge=(_=n==null?void 0:n.response)==null?void 0:_.data)==null?void 0:ge.message)??(n==null?void 0:n.message)??"";if(O===400&&/duplicate/i.test(k)){E.warning(c("superAdmin.messages.configAlreadyExists")),I();return}S(n)},F=()=>{m(""),u(""),s(""),N(null)},De=n=>{p?(N(n.id),m(n.unitId??""),u((n.numberOfSubUnits??0).toString()),s((n.numberOfEmployeesPerUnit??0).toString())):(N(n.id),u((n.maximumNumberOfUnits??0).toString()))},Pe=n=>{n!=null&&n.id&&f.mutate(n.id,{onSuccess:()=>{E.success(c("superAdmin.messages.configDeleted")),b===n.id&&F(),I()},onError:S})},Ee=c(p?"superAdmin.manageConfig.unit":"superAdmin.manageConfig.organization"),Me=c(p?"superAdmin.manageConfig.unitBased":"superAdmin.manageConfig.organizationLevel");return e.jsx(ft,{open:a,onOpenChange:t,children:e.jsxs(mt,{className:"max-h-[85vh] overflow-hidden flex flex-col top-1/6 bg-white dark:bg-gray-900",children:[e.jsxs("div",{className:"overflow-y-auto flex-1",children:[e.jsxs(ut,{className:"pb-4",children:[e.jsx(pt,{className:"text-lg text-primary-700 dark:text-primary-400",children:c("superAdmin.manageConfig.title",{type:Ee})}),e.jsxs(gt,{className:"text-primary-600/80 dark:text-primary-300/80 space-y-3",children:[e.jsx("div",{children:c("superAdmin.manageConfig.description",{level:Me})}),e.jsxs(Aa,{value:p?"unit":"org",onValueChange:n=>{T(n==="unit"),F()},className:"inline-flex rounded-md bg-gray-100 dark:bg-gray-800 p-1",children:[e.jsx(xe,{value:"org",id:"org-radio",className:"hidden"}),e.jsx("label",{htmlFor:"org-radio",className:`cursor-pointer px-4 py-1 rounded-md text-sm font-medium transition-all
${p?"text-primary-700 dark:text-primary-300 hover:bg-primary-200 dark:hover:bg-primary-900/30":"bg-primary-600 text-white"}`,children:c("superAdmin.manageConfig.organization")}),e.jsx(xe,{value:"unit",id:"unit-radio",className:"hidden"}),e.jsx("label",{htmlFor:"unit-radio",className:`cursor-pointer px-4 py-1 rounded-md text-sm font-medium transition-all
${p?"bg-primary-600 text-white":"text-primary-700 dark:text-primary-300 hover:bg-primary-200 dark:hover:bg-primary-900/30"}`,children:c("superAdmin.manageConfig.unit")})]}),p&&((me=(ce=o==null?void 0:o.data)==null?void 0:ce.items)==null?void 0:me.length)>0&&e.jsxs("div",{className:"pt-2",children:[e.jsx("label",{className:"block text-sm font-medium text-primary-700 dark:text-primary-300",children:c("superAdmin.manageConfig.selectUnit")}),e.jsxs(ua,{value:l,onValueChange:n=>m(n),children:[e.jsx(pa,{className:"mt-1 border-primary-400 dark:border-primary-700 dark:bg-gray-800 dark:text-gray-100 focus:ring-primary-500",children:e.jsx(ga,{placeholder:c("superAdmin.manageConfig.selectUnitPlaceholder")})}),e.jsx(ha,{children:o==null?void 0:o.data.items?.map(n=>e.jsx(xa,{value:n.id,children:z(n.name)},n.id))})]})]})]})]}),e.jsxs("div",{className:"px-6 space-y-4 pb-4",children:[e.jsxs("div",{className:`grid gap-4 ${p?"grid-cols-2":"grid-cols-1"}`,children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-primary-700 dark:text-primary-300",children:p?c("superAdmin.manageConfig.subOrganizations"):c("superAdmin.manageConfig.maxUnits","Maximum Number of Units")}),e.jsx(he,{type:"number",min:"0",value:d,onChange:n=>u(n.target.value),placeholder:c("superAdmin.manageConfig.subOrgsPlaceholder"),className:"border-primary-400 dark:border-primary-700 dark:bg-gray-800 dark:text-gray-100 focus:ring-primary-500"})]}),p&&e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-primary-700 dark:text-primary-300",children:c("superAdmin.manageConfig.employeesPerOrg")}),e.jsx(he,{type:"number",min:"0",value:g,onChange:n=>s(n.target.value),placeholder:c("superAdmin.manageConfig.employeesPlaceholder"),className:"border-primary-400 dark:border-primary-700 dark:bg-gray-800 dark:text-gray-100 focus:ring-primary-500"})]})]}),e.jsxs(M,{onClick:oe,className:"w-full flex items-center gap-2 bg-primary-600 hover:bg-primary-700 text-white",disabled:v,children:[v&&e.jsx(le,{className:"h-4 w-4 animate-spin"}),b||!p&&(h!=null&&h.id)||p&&(C!=null&&C.id)?c("superAdmin.manageConfig.updateConfiguration"):c("superAdmin.manageConfig.addConfiguration")]}),e.jsx("div",{className:"border border-primary-300 dark:border-primary-800 rounded-lg p-3 space-y-3 mt-4",children:ie?e.jsx("p",{className:"text-sm text-primary-600/70 text-center py-4",children:c("superAdmin.manageConfig.loading")}):(pe=(ue=D==null?void 0:D.data)==null?void 0:ue.items)!=null&&pe.length?e.jsx("div",{className:"max-h-48 overflow-y-auto",children:D.data.items?.map(n=>{var O,k,j;return e.jsxs("div",{className:"flex items-center justify-between border-b border-primary-100 pb-2 last:border-none py-2",children:[e.jsxs("div",{children:[p&&e.jsx("p",{className:"font-semibold capitalize text-primary-700 text-sm",children:z((j=(k=(O=o==null?void 0:o.data)==null?void 0:O.items)==null?void 0:k.find(_=>_.id===n.unitId))==null?void 0:j.name)||n.unitId}),e.jsx("p",{className:"text-xs text-primary-600/80",children:p?e.jsxs(e.Fragment,{children:[n.numberOfSubUnits," ",c("superAdmin.manageConfig.subOrganizations")," •"," ",n.numberOfEmployeesPerUnit," ",c("superAdmin.manageConfig.employeesPerOrg")]}):e.jsxs(e.Fragment,{children:[c("superAdmin.manageConfig.maxUnits","Maximum Number of Units"),": ",n.maximumNumberOfUnits??0]})})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(M,{variant:"ghost",size:"sm",onClick:()=>De(n),className:"h-8 px-2 text-xs text-primary-700 dark:text-primary-300 hover:bg-primary-100 dark:hover:bg-primary-900/30",children:c("superAdmin.manageConfig.edit")}),e.jsx(M,{variant:"ghost",size:"sm",onClick:()=>Pe(n),disabled:f.isPending&&f.variables===n.id,className:"h-8 w-8 p-0 text-primary-700 dark:text-primary-300 hover:bg-primary-100 dark:hover:bg-primary-900/30",children:f.isPending&&f.variables===n.id?e.jsx(le,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(Xe,{size:14})})]})]},n.id)})}):e.jsx("p",{className:"text-sm text-primary-600/70 text-center py-4",children:c("superAdmin.manageConfig.noConfigurations")})})]})]}),e.jsx(ht,{className:"pt-4 border-t border-primary-200 dark:border-primary-800 bg-primary-50/40 dark:bg-primary-900/10",children:e.jsx(xt,{asChild:!0,children:e.jsx(M,{variant:"outline",onClick:F,className:"w-full border-primary-500 dark:border-primary-700 text-primary-700 dark:text-primary-300 hover:bg-primary-100 dark:hover:bg-primary-900/30",children:c("superAdmin.manageConfig.close")})})})]})})}const bt=({rowData:a})=>{const[t,r]=x.useState(!1),{t:i}=X(),l=Ye(),[m,d]=x.useState(!1),{activateOrganization:u,deactivateOrganization:g,isOrganizationActivating:s,isOrganizationDeactivating:b,deleteOrganization:N,isOrganizationDeleting:o}=be("Org"),{softDeleteOrganization:z,isArchivingOrganization:c}=Da(),S=()=>{r(!1),l(`/user-management/organizations/edit/${a==null?void 0:a.id}`)},A=()=>{r(!1),l(`/user-management/organizations/detail/${a==null?void 0:a.id}`)},U=()=>{r(!1),d(!0)},p=a.status==="Active";return e.jsxs("div",{className:"flex gap-3 align-center",children:[e.jsx(lt,{organizationName:a.name.en,isActive:p,onConfirm:()=>{p?g({id:a.id}):u({id:a.id})},isLoading:s||b,trigger:p?e.jsx(M,{variant:"outline",className:p?"text-red-600 dark:text-red-400 border-red-600 dark:border-red-500 hover:bg-red-50 dark:hover:bg-red-900/30":"text-primary-600 dark:text-primary-400 border-primary-600 dark:border-primary-500 hover:bg-primary-50 dark:hover:bg-primary-900/30",children:i("statusBar.deactivate")}):e.jsx(M,{variant:"outline",size:"sm",className:p?"text-red-600 dark:text-red-400 border-red-600 dark:border-red-500 hover:bg-red-50 dark:hover:bg-red-900/30":"text-primary-600 dark:text-primary-400 border-primary-600 dark:border-primary-500 hover:bg-primary-50 dark:hover:bg-primary-900/30",children:i("statusBar.activate")})}),e.jsxs(ea,{open:t,onOpenChange:r,children:[e.jsx(aa,{asChild:!0,children:e.jsxs(M,{variant:"ghost",className:"flex h-8 w-8 p-0 data-[state=open]:bg-muted","aria-haspopup":"menu","aria-expanded":t,children:[e.jsx(Pa,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Open menu"})]})}),e.jsxs(ta,{align:"end",className:"w-[200px]",onInteractOutside:T=>{T.target.closest('[role="dialog"]')||r(!1)},children:[e.jsx(ra,{children:"Actions"}),e.jsxs(Q,{onSelect:A,children:[e.jsx(Ea,{className:"mr-2 h-4 w-4"}),i("organization.viewOrganization")]}),e.jsxs(Q,{onSelect:S,children:[e.jsx(Ma,{className:"mr-2 h-4 w-4"}),i("organization.editOrganization")]}),e.jsxs(Q,{onSelect:U,children:[e.jsx(sa,{className:"mr-2 h-4 w-4"}),i("organization.editOrganization")]}),e.jsxs(Q,{onSelect:()=>{r(!1),z(a.id)},disabled:c,className:"text-amber-700 focus:text-amber-700",children:[e.jsx(na,{className:"mr-2 h-4 w-4"}),i("archive.archiveOrganization","Archive Organization")]}),e.jsx(dt,{organizationName:a.name.en,onDelete:()=>{N({id:a.id})},onCancel:()=>{},isLoading:o,trigger:e.jsxs(M,{variant:"destructive",children:[e.jsx(Va,{className:"mr-2 h-4 w-4"}),i("organization.deleteOrganization")]})})]}),m&&e.jsx(yt,{manageOrgConfigOpen:m,setManageOrgConfigOpen:d,organizationId:a.id,isUnitConfig:!1})]})]})},vt=({organizationId:a})=>{const{t}=X(),[r,i]=x.useState(null),[l,m]=x.useState(!1),[d,u]=x.useState(!0);x.useEffect(()=>{(async()=>{try{u(!0);const o=(await ka(a)).data;if(o.count>0&&o.items&&o.items.length>0){const z=o.items[0];i(z)}else i(null)}catch{i(null)}finally{u(!1)}})()},[a]);const g=async b=>{try{m(!0);const N={canStartReceivingRecord:b,organizationId:a};if(r&&r.id)await za(r.id,N),i(o=>o?{...o,canStartReceivingRecord:b}:null);else{const o=await Sa(N);i(o.data)}E.success(t(b?"organization.visibilityEnabled":"organization.visibilityDisabled"))}catch{E.error(t("organization.visibilityUpdateFailed"))}finally{m(!1)}};if(d)return e.jsx("div",{className:"flex items-center justify-center",children:e.jsx("div",{className:"w-4 h-4 border-2 border-gray-300 dark:border-gray-600 border-t-primary-600 rounded-full animate-spin"})});const s=r?r.canStartReceivingRecord:!0;return e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm text-gray-600 dark:text-gray-300",children:t(s?"organization.visible":"organization.hidden")}),e.jsx(Ba,{checked:s,onCheckedChange:g,disabled:l,className:"data-[state=checked]:bg-primary-600"})]}),l&&e.jsx("div",{className:"w-4 h-4 border-2 border-gray-300 dark:border-gray-600 border-t-primary-600 rounded-full animate-spin"})]})},jt=[{accessorKey:"name.en",header:()=>w("organization.organizationName"),size:300,minSize:200,maxSize:400,cell:({row:a})=>{const t=a.original;return ia.language,e.jsxs("div",{className:"font-medium",children:[t.parentId&&e.jsx("span",{className:"text-gray-400 dark:text-gray-500 mr-2",children:"└─"}),t.name.am]})}},{accessorKey:"createdAt",header:()=>w("organization.createdOn"),cell:({row:a})=>e.jsx("div",{className:"font-medium",children:Ua(new Date(a.original.createdAt),"MMM dd, yyyy")})},{accessorKey:"activeEmployeeCount",header:()=>w("organization.numberOfUsers"),cell:({row:a})=>e.jsxs("div",{className:"font-medium flex items-center",children:[e.jsx(Ta,{className:"h-4 w-4 mr-2 text-gray-500 dark:text-gray-400"}),a.original.activeEmployeeCount!==void 0?a.original.activeEmployeeCount:"-"]})},{accessorKey:"adminsCount",header:()=>w("organization.assignedAdmin"),cell:({row:a})=>e.jsx(Ia,{id:a.original.id,adminsCount:a.original.adminsCount||0})},{id:"status",header:()=>w("userRecord.Status"),cell:({row:a})=>{const t=a.original;return e.jsx("div",{children:e.jsx(fe,{className:`${t.status==="Active"?"bg-primary-100 text-primary-600 hover:bg-primary-100 dark:bg-primary-900/40 dark:text-primary-300 dark:hover:bg-primary-900/50":"bg-red-100 text-red-600 hover:bg-red-100 dark:bg-red-900/40 dark:text-red-300 dark:hover:bg-red-900/50"} rounded-full px-6 py-1 font-medium`,children:t.status==="Active"?w("statusBar.activate"):w("statusBar.deactivate")})})}},{id:"isGovernmentOrganization",header:()=>w("organization.isGovernmentOrganization"),cell:({row:a})=>{const t=a.original;return e.jsx("div",{children:e.jsx(fe,{className:`${t.isGovernmentOrganization?"bg-blue-600 text-white hover:bg-blue-400":"bg-red-600 text-white hover:bg-red-400"} rounded-full px-6 py-1 font-medium`,children:t.isGovernmentOrganization===!0?w("common.yes"):w("common.no")})})}},{id:"visibility",header:()=>w("organization.visibilityToOthers"),cell:({row:a})=>{const t=a.original;return e.jsx(vt,{organizationId:t.id})}},{id:"Actions",header:()=>w("userRecord.Actions"),cell:({row:a})=>{const t=a.original;return e.jsx(bt,{rowData:t})}}],Nt=a=>{const{permissions:t}=oa();return a?.some(r=>t.includes(r))},Ct=({perms:a,fallback:t=null,children:r})=>Nt(a)?r:t;function wt(){const[a,t]=x.useState(0),[r,i]=x.useState(new Set),[l,m]=x.useState(""),d=10;x.useEffect(()=>{t(0)},[l]);const{t:u}=X(),g=ye(),{organizationsResponse:s,isLoading:b,refetch:N}=be("Org",{take:1e3,skip:0,orderBy:"createdAt",order:"createdAt:Desc"}),o=y=>{t(y)},z=y=>{i(v=>{const f=new Set(v);return f.has(y)?f.delete(y):f.add(y),f})},c=x.useMemo(()=>{const y=new Map;return((s==null?void 0:s.items)||[]).forEach(v=>{y.set(v.id,v)}),y},[s==null?void 0:s.items]),S=y=>{const v=[],f=new Map;return y.forEach(h=>{h.parentId?(f.has(h.parentId)||f.set(h.parentId,[]),f.get(h.parentId).push(h)):v.push(h)}),{root:v,children:f}},A=x.useMemo(()=>(s==null?void 0:s.items)||[],[s==null?void 0:s.items]),{root:U,children:p}=S(A),T=l.trim().toLowerCase(),D=T.length>0,ie=x.useMemo(()=>D?A.filter(y=>{var v,f;return(((v=y.name)==null?void 0:v.en)||"").toLowerCase().includes(T)||(((f=y.name)==null?void 0:f.am)||"").toLowerCase().includes(T)}):[],[A,D,T]),I=D?ie:U,R=a*d,K=R+d,V=I.slice(R,K),Z=x.useMemo(()=>{const y=[];return D?(V.forEach(v=>{const f=v.parentId?c.get(v.parentId):null;y.push({...v,isChild:!!v.parentId,parentName:f?f.name.en:void 0})}),y):(V.forEach(v=>{y.push(v),r.has(v.id)&&(p.get(v.id)||[]).forEach(h=>{y.push({...h,isChild:!0,parentName:v.name.en})})}),y)},[V,p,r,D,c]),W=x.useMemo(()=>jt?.map(y=>"accessorKey"in y&&y.accessorKey==="name.en"?{...y,cell:({row:v})=>{const f=v.original,h=f.isChild||!1,C=f.parentName,oe=p.has(f.id),q=r.has(f.id);return e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[oe&&e.jsx(M,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0 flex-shrink-0",onClick:()=>z(f.id),children:q?e.jsx(la,{className:"h-4 w-4"}):e.jsx(da,{className:"h-4 w-4"})}),e.jsxs("div",{className:"font-medium flex items-center gap-2 min-w-0 flex-1 overflow-hidden",children:[h&&e.jsx("span",{className:"text-gray-400 dark:text-gray-500 flex-shrink-0",children:"└─"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"truncate",title:f.name.en,children:g(f.name)}),C&&e.jsxs("div",{className:"text-sm text-gray-500 dark:text-gray-400 font-normal truncate",title:`under ${C}`,children:["(under ",C,")"]})]})]})]})}}:y),[p,r,g]);return b?e.jsx("div",{children:e.jsx(Ga,{})}):e.jsx("div",{className:"p-6 space-y-6",children:e.jsxs($a,{className:"col-span-2 shadow-none border-none bg-transparent px-0",children:[e.jsx(La,{className:"flex flex-row justify-between items-center px-0",children:e.jsx(Fa,{className:"text-xl font-semibold ",children:u("organization.organizations")})}),e.jsx(_a,{className:"px-0",children:e.jsx(ma,{columns:W,data:Z,tableName:"Organizations",toolBarPosition:"right",itemCount:I.length,pageSize:d,onGlobalFilterChange:m,extraToolbar:e.jsx(Ct,{perms:["create:organization","activate:organization"],children:e.jsx(ca,{to:"/user-management/organizations/new",children:e.jsxs(M,{className:"px-5 py-2 rounded-md text-sm font-medium shadow-md",children:[e.jsx(Ha,{className:"w-4 h-4 mr-2"}),u("organization.newOrganization")]})})}),pageIndex:a,onPageChange:o,nextFunction:()=>o(a+1),prevFunction:()=>o(Math.max(a-1,0)),refresh:N})})]})})}const ur=()=>e.jsx(wt,{});export{ur as default};