@accounter/client
Version:
Accounter client application
1 lines • 1.97 kB
JavaScript
import{s as e}from"./dist-BbgEzppd.js";import{i as t,o as n}from"./utils-BUNz070n.js";import{Ya as r,w as i}from"./error-handling-AQOG1RNy.js";import{dt as a}from"./select-6mBYg_R6.js";import{t as o}from"./charges-table-CIcrjmB2.js";import{Lr as s,Rr as c,at as l,vt as u}from"./common-Cy-x5Vhe.js";import{t as d}from"./button-CBTN3XMQ.js";import{w as f}from"./index-B8E5XsZe.js";import{t as p}from"./use-url-query-BZOFfgST.js";import{t as m}from"./page-layout-BO3YzLcj.js";import{t as h}from"./charges-filters-mfFPPlkt.js";var g=e(n(),1),_=t(),v=()=>{let{setFiltersContext:e}=(0,g.useContext)(f),[t,n]=(0,g.useState)(!1),[v,y]=(0,g.useState)([]),{get:b}=p(),[x,S]=(0,g.useState)(b(`page`)?Number(b(`page`)):0),C=b(`chargesFilters`),w=(0,g.useMemo)(()=>{if(C)try{return JSON.parse(decodeURIComponent(C))}catch{return}},[C]),[T,E]=(0,g.useState)(w),D=(0,g.useCallback)((e,t)=>{v.map(e=>e.id).includes(e)?y(v.filter(t=>t.id!==e)):y([...v,{id:e,onChange:t}])},[v]),[{data:O,fetching:k},A]=r({query:i,variables:{filters:T,page:x,limit:100},pause:!0});(0,g.useEffect)(()=>{T&&A()},[T,A]);function j(){y([])}return(0,g.useEffect)(()=>{e((0,_.jsxs)(`div`,{className:`flex flex-row gap-x-5`,children:[(0,_.jsx)(h,{filter:T,setFilter:E,activePage:x,setPage:S,totalPages:O?.allCharges?.pageInfo.totalPages,initiallyOpened:!T}),(0,_.jsx)(u,{content:`Expand all accounts`,children:(0,_.jsx)(d,{variant:`outline`,size:`icon`,className:`size-7.5`,onClick:()=>n(e=>!e),children:t?(0,_.jsx)(c,{className:`size-5`}):(0,_.jsx)(s,{className:`size-5`})})}),(0,_.jsx)(l,{selected:v,resetMerge:j})]}))},[O,k,T,x,t,e,S,E,n,v,w]),(0,_.jsx)(m,{title:`All Charges`,description:`Manage charges`,children:k?(0,_.jsx)(a,{className:`h-10 w-10 animate-spin mr-2 self-center`}):O?.allCharges.nodes?(0,_.jsx)(o,{toggleMergeCharge:D,mergeSelectedCharges:new Set(v.map(e=>e.id)),data:O?.allCharges?.nodes,isAllOpened:t}):(0,_.jsx)(`span`,{children:`Please apply filters`})})};export{v as AllCharges};