@accounter/client
Version:
Accounter client application
1 lines • 2.76 kB
JavaScript
import{a as e,s as t}from"./dist-C51EwTaa.js";import{i as n,o as r}from"./utils-DdVdMk8X.js";import{Lo as i,rn as a}from"./error-handling-Dpfd9svJ.js";import{n as o,t as s}from"./routes-DUvpW9-n.js";import{ft as c,gt as l}from"./select-CrsvQyhZ.js";import{i as u,t as d}from"./charges-table-CNFGsVad.js";import{t as f}from"./button-Dzp2INW0.js";import{Z as p}from"./table--bF0wbxq.js";import{t as m}from"./Progress-CjIxJViS.js";import{Tt as h,cn as g,ct as _,ni as v,ri as y}from"./index-CL8-JoMZ.js";import{t as b}from"./use-url-query-BCNbSvLg.js";import{t as x}from"./page-layout-DoLDsSrs.js";import{t as S}from"./charges-filters-CENHQ5jv.js";var C=e({ChargesLedgerValidation:()=>D,getLedgerValidationHref:()=>E}),w=t(r(),1),T=n();function E(e,t){let n=new URLSearchParams;t&&n.append(`page`,String(t));let r=o(e);r&&n.append(`chargesFilters`,r);let i=n.size>0?`?${n}`:``;return`${s.CHARGES.LEDGER_VALIDATION}${i}`}var D=()=>{let{setFiltersContext:e}=(0,w.useContext)(g),[t,n]=(0,w.useState)(!1),[r,o]=(0,w.useState)([]),{get:s}=b(),C=s(`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)=>{r.map(e=>e.id).includes(e)?o(r.filter(t=>t.id!==e)):o([...r,{id:e,onChange:t}])},[r]),[{data:k,fetching:A},j]=i({query:a,variables:{filters:E},pause:!0});function M(){o([])}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)(()=>{e((0,T.jsxs)(`div`,{className:`flex flex-row gap-x-5 items-center`,children:[(0,T.jsx)(m,{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)(f,{variant:`outline`,size:`icon`,className:`size-7.5`,onClick:()=>n(e=>!e),children:t?(0,T.jsx)(y,{className:`size-5`}):(0,T.jsx)(v,{className:`size-5`})})}),(0,T.jsx)(_,{selected:r,resetMerge:M})]}))},[k,A,E,t,e,n,r,N,P]),(0,T.jsx)(x,{title:`Charges Ledger Validation`,description:`Manage charges`,children:A?(0,T.jsx)(c,{className:`h-10 w-10 animate-spin mr-2 self-center`}):(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(d,{toggleMergeCharge:O,mergeSelectedCharges:new Set(r.map(e=>e.id)),data:k?.chargesWithLedgerChanges.filter(e=>!!e.charge).map(e=>e.charge)??[],isAllOpened:t}),(0,T.jsxs)(`div`,{className:`flex flex-row justify-center my-2`,children:[N>0&&N<100&&(0,T.jsx)(p,{}),N===100&&!k?.chargesWithLedgerChanges.filter(e=>!!e.charge).length&&(0,T.jsx)(u,{radius:`xl`,size:`xl`,color:`green`,children:(0,T.jsx)(l,{})})]})]})})};export{E as n,C as t};