@accounter/client
Version:
Accounter client application
1 lines • 2.52 kB
JavaScript
import{s as e,t}from"./charges-table-DxfYxHf3.js";import{t as n}from"./Progress-DI3-gaxM.js";import{Al as r,Cu as i,Du as a,Fd as o,Fo as s,Id as c,It as l,Ju as u,Ou as d,Ur as f,Wl as p,Zu as m,en as h,er as g,hd as _,jd as v,qu as y}from"./index-D0acqeZF.js";import{t as b}from"./use-url-query-C7MjeAb9.js";import{t as x}from"./page-layout-DQqxV7Kl.js";import{t as S}from"./charges-filters-Br0yUGwv.js";var C=o({ChargesLedgerValidation:()=>D,getLedgerValidationHref:()=>E}),w=c(v(),1),T=i();function E(e,t){let n=new URLSearchParams;t&&n.append(`page`,String(t));let r=d(e);r&&n.append(`chargesFilters`,r);let i=n.size>0?`?${n}`:``;return`${a.CHARGES.LEDGER_VALIDATION}${i}`}var D=()=>{let{setFiltersContext:i}=(0,w.useContext)(g),[a,o]=(0,w.useState)(!1),[c,d]=(0,w.useState)([]),{get:v}=b(),C=v(`chargesFilters`),[E,D]=(0,w.useState)((0,w.useMemo)(()=>{if(C)try{return JSON.parse(decodeURIComponent(C))}catch{return}},[C])),O=(0,w.useCallback)((e,t)=>{c.map(e=>e.id).includes(e)?d(c.filter(t=>t.id!==e)):d([...c,{id:e,onChange:t}])},[c]),[{data:k,fetching:A},j]=r({query:s,variables:{filters:E},pause:!0});function M(){d([])}let N=k?.chargesWithLedgerChanges?.length?k.chargesWithLedgerChanges[k.chargesWithLedgerChanges.length-1].progress:0,P=(0,w.useCallback)(e=>{D(e)},[D]);return(0,w.useEffect)(()=>{E&&j()},[E,j]),(0,w.useEffect)(()=>{i((0,T.jsxs)(`div`,{className:`flex flex-row gap-x-5 items-center`,children:[(0,T.jsx)(n,{value:N,label:`${N?.toFixed(2)}%`,size:`xl`,animate:N<100,className:`min-w-52`}),(0,T.jsx)(S,{filter:E,setFilter:P,activePage:0,setPage:()=>{},initiallyOpened:!0}),(0,T.jsx)(h,{content:`Expand all accounts`,children:(0,T.jsx)(p,{variant:`outline`,size:`icon`,className:`size-7.5`,onClick:()=>o(e=>!e),children:a?(0,T.jsx)(u,{className:`size-5`}):(0,T.jsx)(y,{className:`size-5`})})}),(0,T.jsx)(l,{selected:c,resetMerge:M})]}))},[k,A,E,a,i,o,c,N,P]),(0,T.jsx)(x,{title:`Charges Ledger Validation`,description:`Manage charges`,children:A?(0,T.jsx)(m,{className:`h-10 w-10 animate-spin mr-2 self-center`}):(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(t,{toggleMergeCharge:O,mergeSelectedCharges:new Set(c.map(e=>e.id)),data:k?.chargesWithLedgerChanges.filter(e=>!!e.charge).map(e=>e.charge)??[],isAllOpened:a}),(0,T.jsxs)(`div`,{className:`flex flex-row justify-center my-2`,children:[N>0&&N<100&&(0,T.jsx)(f,{}),N===100&&!k?.chargesWithLedgerChanges.filter(e=>!!e.charge).length&&(0,T.jsx)(e,{radius:`xl`,size:`xl`,color:`green`,children:(0,T.jsx)(_,{})})]})]})})};export{E as n,C as t};