UNPKG

@accounter/client

Version:
1 lines 2.15 kB
import{t as e}from"./editable-business-trip-Bnm_7W5N.js";import{i as t,n,r,t as i}from"./accordion-CMenXFmN.js";import{$u as a,In as o,Ml as s,Nd as c,Rd as l,So as u,Tu as d,Xn as f,bo as p,dn as m,en as h,er as g,fr as _,lt as v,xo as y}from"./index-BdWApCqi.js";import{t as b}from"./page-layout-9Fp4HhGU.js";var x=l(c(),1),S=d(),C=({data:i,isOpened:a,shouldValidate:o})=>{let c=f(p,i),[{data:l,fetching:u}]=s({pause:!o,query:y,variables:{id:c.id}}),d=(0,x.useMemo)(()=>o?l?.businessTrip&&(l.businessTrip.uncategorizedTransactions?.length||l?.businessTrip.summary?.errors?.length):!1,[l]),m=d||c?.accountantApproval!==`APPROVED`;return(0,S.jsxs)(r,{value:c.id,children:[(0,S.jsx)(t,{children:(0,S.jsx)(_,{inline:!0,size:12,processing:u,disabled:!m,color:d?`red`:`yellow`,zIndex:`auto`,children:c.name})}),(0,S.jsx)(n,{children:a&&(0,S.jsx)(e,{tripId:c.id,isExtended:!0},c.id)})]})},w=()=>{let{setFiltersContext:e}=(0,x.useContext)(g),[t,n]=(0,x.useState)([]),[r,c]=(0,x.useState)(!1),[{data:l,fetching:d}]=s({query:u});(0,x.useEffect)(()=>{if(!l?.allBusinessTrips?.length){n([]);return}n(l.allBusinessTrips.sort((e,t)=>e.dates?.start&&t.dates?.start?e.dates.start<t.dates.start?1:-1:e.dates?.start?-1:t.dates?.start?1:e.name.toLocaleLowerCase()<t.name.toLocaleLowerCase()?-1:1))},[l?.allBusinessTrips]);let[f,p]=(0,x.useState)([]);return(0,x.useEffect)(()=>{e((0,S.jsxs)(`div`,{className:`flex flex-row gap-x-5`,children:[(0,S.jsx)(v,{}),(0,S.jsx)(h,{content:`Toggle business trips validation`,children:(0,S.jsxs)(`div`,{className:`flex flex-row items-center gap-x-2`,children:[(0,S.jsx)(m,{checked:r??!1,onCheckedChange:e=>c(e)}),(0,S.jsx)(`span`,{className:`text-sm text-gray-500`,children:`Validate`})]})}),(0,S.jsx)(o,{filename:`business_trips`})]}))},[l,d,e,r]),(0,S.jsx)(b,{title:`Business Trips`,description:`Manage business trips`,children:t.length===0&&d?(0,S.jsx)(a,{className:`h-10 w-10 animate-spin mr-2 self-center`}):(0,S.jsx)(i,{className:`w-full`,type:`multiple`,value:f,onValueChange:p,children:t?.map(e=>(0,S.jsx)(C,{data:t.find(t=>t.id===e.id),shouldValidate:r,isOpened:f.includes(e.id)},e.id))})})};export{w as BusinessTrips};