UNPKG

@accounter/client

Version:
1 lines 2.17 kB
import{s as e}from"./dist-ypP48_Ax.js";import{i as t,o as n}from"./utils-CbS-oR5I.js";import{t as r}from"./loader-circle-CfW9jOIr.js";import{t as i}from"./charges-table-ZLozA1tS.js";import{Qt as a,Sr as o,W as s,ct as c,xr as l}from"./common-D-vYt_Yl.js";import{r as u}from"./bank-deposits-e7ndUl2A.js";import{c as d}from"./separator-BvKylNhK.js";import{t as f}from"./button-DUNsVBiu.js";import{Qo as p,x as m}from"./graphql-DC5GYCFE.js";import{t as h}from"./use-url-query-Bb8ddrDs.js";import{t as g}from"./page-layout-DfY10rJx.js";import{t as _}from"./charges-filters-jQtrB7Ny.js";var v=e(n(),1),y=t(),b=()=>{let{setFiltersContext:e}=(0,v.useContext)(d),[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=(0,v.useMemo)(()=>{if(T)try{return JSON.parse(decodeURIComponent(T))}catch{return}},[T]),[D,O]=(0,v.useState)(E),[{data:k,fetching:A},j]=p({query:m,variables:{filters:D,page:C,limit:100},pause:!0});(0,v.useEffect)(()=>{D&&j({requestPolicy:`network-only`})},[D,C,j]);let M=u(k?.allCharges?.nodes),N=(0,v.useCallback)(()=>{x({})},[]),P=(0,v.useMemo)(()=>Object.entries(b).filter(([,e])=>e).map(([e])=>({id:e,onChange:()=>{j({requestPolicy:`network-only`})}})),[b,j]),F=k?.allCharges?.pageInfo.totalPages;return(0,v.useEffect)(()=>{e((0,y.jsxs)(`div`,{className:`flex flex-row gap-x-5`,children:[(0,y.jsx)(_,{filter:D,setFilter:O,activePage:C,setPage:w,totalPages:F,initiallyOpened:!D}),(0,y.jsx)(c,{content:`Expand all accounts`,children:(0,y.jsx)(f,{variant:`outline`,size:`icon`,className:`size-7.5`,onClick:()=>n(e=>!e),children:t?(0,y.jsx)(o,{className:`size-5`}):(0,y.jsx)(l,{className:`size-5`})})}),(0,y.jsx)(s,{selected:P,resetMergeList:N})]}))},[F,D,C,t,e,w,O,n,P,N]),(0,y.jsx)(g,{title:`All Charges`,description:`Manage charges`,children:A&&!k?(0,y.jsx)(r,{className:`h-10 w-10 animate-spin mr-2 self-center`}):M?(0,y.jsxs)(`div`,{className:`relative`,children:[(0,y.jsx)(a,{visible:A,overlayBlur:1}),(0,y.jsx)(i,{data:M,rowSelection:b,onRowSelectionChange:x,isAllOpened:t,showExport:!0})]}):(0,y.jsx)(`span`,{children:`Please apply filters`})})};export{b as AllCharges};