@accounter/client
Version:
Accounter client application
1 lines • 2.17 kB
JavaScript
import{s as e}from"./dist-ypP48_Ax.js";import{i as t,o as n}from"./utils-CbS-oR5I.js";import{Xo as r,w as i}from"./error-handling-4e5czINv.js";import{dt as a}from"./select-CBL38KW3.js";import{t as o}from"./charges-table-DukA0b47.js";import{$t as s,Cr as c,W as l,ct as u,wr as d}from"./common-GyBLHXtP.js";import{r as f}from"./bank-deposits-BlXmUXQt.js";import{c as p}from"./separator-CewkthSK.js";import{t as m}from"./button-DUNsVBiu.js";import{t as h}from"./use-url-query-BH1w9BvL.js";import{t as g}from"./page-layout-Dzb0muId.js";import{t as _}from"./charges-filters-CSMATLiC.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=(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]=r({query:i,variables:{filters:D,page:C,limit:100},pause:!0});(0,v.useEffect)(()=>{D&&j({requestPolicy:`network-only`})},[D,C,j]);let M=f(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)(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)(c,{className:`size-5`})})}),(0,y.jsx)(l,{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)(a,{className:`h-10 w-10 animate-spin mr-2 self-center`}):M?(0,y.jsxs)(`div`,{className:`relative`,children:[(0,y.jsx)(s,{visible:A,overlayBlur:1}),(0,y.jsx)(o,{data:M,rowSelection:b,onRowSelectionChange:x,isAllOpened:t,showExport:!0})]}):(0,y.jsx)(`span`,{children:`Please apply filters`})})};export{b as AllCharges};