UNPKG

@accounter/client

Version:
1 lines 2.14 kB
import{s as e}from"./dist-BmACi7k_.js";import{i as t,o as n}from"./utils-BxkqV8PM.js";import{Go as r,w as i}from"./error-handling-DOF-ysm7.js";import{ut as a}from"./select-BZkoGTFP.js";import{t as o}from"./charges-table-CNj76ME_.js";import{W as s,Zt as c,br as l,st as u,xr as d}from"./common-_Cbgbzg_.js";import{r as f}from"./bank-deposits-IHyEzfE3.js";import{c as p}from"./separator-DX7kO-_W.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-kYT4HQy5.js";import{t as _}from"./charges-filters-sAK_lH_J.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])),O=(0,v.useCallback)((e,t)=>{b.map(e=>e.id).includes(e)?x(b.filter(t=>t.id!==e)):x([...b,{id:e,onChange:t}])},[b]),[{data:k,fetching:A},j]=r({query:i,variables:{filters:E,page:C,limit:100},pause:!0});(0,v.useEffect)(()=>{E&&j({requestPolicy:`network-only`})},[E,C,j]);let M=f(k?.allCharges?.nodes);function N(){x([])}let P=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: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:b,resetMerge:N})]}))},[P,E,C,t,e,w,D,n,b]),(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)(c,{visible:A,overlayBlur:1}),(0,y.jsx)(o,{toggleMergeCharge:O,mergeSelectedCharges:new Set(b.map(e=>e.id)),data:M,isAllOpened:t})]}):(0,y.jsx)(`span`,{children:`Please apply filters`})})};export{b as AllCharges};