@accounter/client
Version:
Accounter client application
1 lines • 4 kB
JavaScript
import{t as e}from"./bank-deposits-CmYogIHM.js";import{$ as t,Al as n,B as r,Cu as i,G as a,H as o,Id as s,K as c,Kt as l,U as u,V as d,W as f,Wl as p,X as m,Y as h,jd as g,md as _,pd as v,q as y,ya as b}from"./index-CSYTUOOk.js";var x=s(g(),1),S=i();function C(){let[{data:i,fetching:s},g]=n({query:b}),[C,w]=(0,x.useState)([{id:`openDate`,desc:!1}]),T=(0,x.useMemo)(()=>(i?.allDeposits??[]).map(e=>({id:e.id,name:e.name,currency:e.currency??null,openDate:e.openDate??null,closeDate:e.closeDate??null,isOpen:e.isOpen,currentBalanceRaw:e.metadata.currentBalance?.raw??0,currentBalanceFormatted:e.metadata.currentBalance?.formatted??``,totalDepositRaw:e.metadata.totalDeposit?.raw??0,totalDepositFormatted:e.metadata.totalDeposit?.formatted??``,totalInterestRaw:e.metadata.totalInterest?.raw??0,totalInterestFormatted:e.metadata.totalInterest?.formatted??``})),[i]),E=(0,x.useRef)([{id:`expander`,header:()=>null,cell:({row:e})=>(0,S.jsx)(p,{variant:`ghost`,size:`icon`,onClick:()=>e.toggleExpanded(),"aria-label":e.getIsExpanded()?`Collapse`:`Expand`,children:e.getIsExpanded()?(0,S.jsx)(_,{}):(0,S.jsx)(v,{})}),enableSorting:!1},{accessorKey:`name`,header:`Deposit Name`,cell:e=>(0,S.jsx)(`span`,{className:`font-mono text-xs`,children:e.getValue()})},{accessorKey:`currency`,header:`Currency`},{accessorKey:`isOpen`,header:`Status`,cell:e=>e.getValue()?(0,S.jsx)(l,{className:`bg-green-600 text-white`,variant:`secondary`,children:`Open`}):(0,S.jsx)(l,{variant:`secondary`,children:`Closed`}),sortingFn:(e,t)=>Number(e.original.isOpen)-Number(t.original.isOpen)},{accessorKey:`openDate`,header:`Open Date`,cell:e=>(0,S.jsx)(`span`,{children:e.getValue()})},{accessorKey:`closeDate`,header:`Close Date`,cell:e=>(0,S.jsx)(`span`,{children:e.getValue()??`-`}),sortingFn:(e,t)=>{let n=e.original.closeDate??``,r=t.original.closeDate??``;return n.localeCompare(r)}},{id:`totalDeposit`,header:`Total Deposit`,accessorFn:e=>e.totalDepositRaw,cell:e=>(0,S.jsx)(`span`,{className:`tabular-nums`,children:e.row.original.totalDepositFormatted}),sortingFn:(e,t)=>e.original.totalDepositRaw-t.original.totalDepositRaw},{id:`currentBalance`,header:`Current Balance`,accessorFn:e=>e.currentBalanceRaw,cell:e=>(0,S.jsx)(`span`,{className:`tabular-nums`,children:e.row.original.currentBalanceFormatted}),sortingFn:(e,t)=>e.original.currentBalanceRaw-t.original.currentBalanceRaw},{id:`totalInterest`,header:`Total Interest`,accessorFn:e=>e.totalInterestRaw,cell:e=>(0,S.jsx)(`span`,{className:`tabular-nums`,children:e.row.original.totalInterestFormatted}),sortingFn:(e,t)=>e.original.totalInterestRaw-t.original.totalInterestRaw}]).current,D=y({data:T,columns:E,state:{sorting:C},onSortingChange:w,getCoreRowModel:h(),getSortedRowModel:t(),getExpandedRowModel:m(),getRowCanExpand:()=>!0});return(0,S.jsxs)(`div`,{className:`max-w-[95vw]`,children:[(0,S.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,S.jsx)(`h1`,{className:`text-2xl font-semibold`,children:`Bank Deposits`})}),(0,S.jsx)(`div`,{className:`mt-6 overflow-hidden rounded-md border`,children:(0,S.jsxs)(r,{children:[(0,S.jsx)(f,{children:D.getHeaderGroups().map(e=>(0,S.jsx)(a,{children:e.headers.map(e=>(0,S.jsx)(u,{colSpan:e.colSpan,children:e.isPlaceholder?null:c(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,S.jsx)(d,{children:s?(0,S.jsx)(a,{children:(0,S.jsx)(o,{colSpan:E.length,className:`h-24 text-center`,children:`Loading...`})}):D.getRowModel().rows?.length?D.getRowModel().rows.map(t=>(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(a,{"data-state":t.getIsSelected()&&`selected`,children:t.getVisibleCells().map(e=>(0,S.jsx)(o,{children:c(e.column.columnDef.cell,e.getContext())},e.id))},t.id),t.getIsExpanded()?(0,S.jsx)(a,{children:(0,S.jsx)(o,{colSpan:E.length,children:(0,S.jsx)(e,{depositId:t.original.id,enableReassign:!0,refetch:g})})}):null]})):(0,S.jsx)(a,{children:(0,S.jsx)(o,{colSpan:E.length,className:`h-24 text-center`,children:`No results.`})})})]})})]})}export{C as DepositsScreen};