UNPKG

@accounter/client

Version:
1 lines 2.17 kB
import{s as e}from"./dist-BmACi7k_.js";import{i as t,o as n}from"./utils-BxkqV8PM.js";import{Ro as r,w as i}from"./error-handling-wXZrXhQp.js";import{dt as a}from"./select-C2i-wLGF.js";import{t as o}from"./charges-table-QNW03SOP.js";import{W as s,Zt as c,br as l,st as u,xr as d}from"./common-ClWrRiKb.js";import{r as f}from"./bank-deposits-DtHNTVnr.js";import{c as p}from"./separator-D3vGB2Vv.js";import{t as m}from"./button-BZ6z_NAl.js";import{t as h}from"./use-url-query-DXFemxIX.js";import{t as g}from"./page-layout-BcxA2__m.js";import{t as _}from"./charges-filters-ehGQ6uDp.js";var v=e(n(),1),y=t(),b=()=>{let{setFiltersContext:e}=(0,v.useContext)(p),[t,n]=(0,v.useState)(!1),[b,x]=(0,v.useState)({}),{get:S}=h(),[C,w]=(0,v.useState)(S(`page`)?Number(S(`page`)):0),T=S(`chargesFilters`),[E,D]=(0,v.useState)((0,v.useMemo)(()=>{if(T)try{return JSON.parse(decodeURIComponent(T))}catch{return}},[T])),[{data:O,fetching:k},A]=r({query:i,variables:{filters:E,page:C,limit:100},pause:!0});(0,v.useEffect)(()=>{E&&A({requestPolicy:`network-only`})},[E,C,A]);let j=f(O?.allCharges?.nodes),M=(0,v.useCallback)(()=>{x({})},[]),N=(0,v.useMemo)(()=>Object.entries(b).filter(([,e])=>e).map(([e])=>({id:e,onChange:()=>{A({requestPolicy:`network-only`})}})),[b,A]),P=O?.allCharges?.pageInfo.totalPages;return(0,v.useEffect)(()=>{e((0,y.jsxs)(`div`,{className:`flex flex-row gap-x-5`,children:[(0,y.jsx)(_,{filter:E,setFilter:D,activePage:C,setPage:w,totalPages:P,initiallyOpened:!E}),(0,y.jsx)(u,{content:`Expand all accounts`,children:(0,y.jsx)(m,{variant:`outline`,size:`icon`,className:`size-7.5`,onClick:()=>n(e=>!e),children:t?(0,y.jsx)(d,{className:`size-5`}):(0,y.jsx)(l,{className:`size-5`})})}),(0,y.jsx)(s,{selected:N,resetMergeList:M})]}))},[P,E,C,t,e,w,D,n,N,M]),(0,y.jsx)(g,{title:`All Charges`,description:`Manage charges`,children:k&&!O?(0,y.jsx)(a,{className:`h-10 w-10 animate-spin mr-2 self-center`}):j?(0,y.jsxs)(`div`,{className:`relative`,children:[(0,y.jsx)(c,{visible:k,overlayBlur:1}),(0,y.jsx)(o,{data:j,rowSelection:b,onRowSelectionChange:x,isAllOpened:t,showExport:!0})]}):(0,y.jsx)(`span`,{children:`Please apply filters`})})};export{b as AllCharges};