UNPKG

@accounter/client

Version:
1 lines 4.15 kB
import{s as e}from"./dist-BBBZL-zT.js";import{i as t,o as n}from"./utils-C9b7NsUD.js";import{D as r,_o as i}from"./error-handling-DBz7h-2r.js";import{mt as a,pt as o}from"./select-D_LnCowF.js";import{t as s}from"./bank-deposits-C_842xdV.js";import{t as c}from"./button-DATCl8sW.js";import{a as l,c as u,d,h as f,i as p,m,n as h,o as g,r as _,s as v,t as y,u as b}from"./table-CZ9XLwX9.js";var x=e(n(),1),S=t();function C(){let[{data:e,fetching:t},n]=i({query:r}),[C,w]=(0,x.useState)([{id:`openDate`,desc:!1}]),T=(0,x.useMemo)(()=>(e?.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??``})),[e]),E=(0,x.useRef)([{id:`expander`,header:()=>null,cell:({row:e})=>(0,S.jsx)(c,{variant:`ghost`,size:`icon`,onClick:()=>e.toggleExpanded(),"aria-label":e.getIsExpanded()?`Collapse`:`Expand`,children:e.getIsExpanded()?(0,S.jsx)(a,{}):(0,S.jsx)(o,{})}),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)(f,{className:`bg-green-600 text-white`,variant:`secondary`,children:`Open`}):(0,S.jsx)(f,{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=u({data:T,columns:E,state:{sorting:C},onSortingChange:w,getCoreRowModel:b(),getSortedRowModel:m(),getExpandedRowModel:d(),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)(y,{children:[(0,S.jsx)(l,{children:D.getHeaderGroups().map(e=>(0,S.jsx)(g,{children:e.headers.map(e=>(0,S.jsx)(p,{colSpan:e.colSpan,children:e.isPlaceholder?null:v(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,S.jsx)(h,{children:t?(0,S.jsx)(g,{children:(0,S.jsx)(_,{colSpan:E.length,className:`h-24 text-center`,children:`Loading...`})}):D.getRowModel().rows?.length?D.getRowModel().rows.map(e=>(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(g,{"data-state":e.getIsSelected()&&`selected`,children:e.getVisibleCells().map(e=>(0,S.jsx)(_,{children:v(e.column.columnDef.cell,e.getContext())},e.id))},e.id),e.getIsExpanded()?(0,S.jsx)(g,{children:(0,S.jsx)(_,{colSpan:E.length,children:(0,S.jsx)(s,{depositId:e.original.id,enableReassign:!0,refetch:n})})}):null]})):(0,S.jsx)(g,{children:(0,S.jsx)(_,{colSpan:E.length,className:`h-24 text-center`,children:`No results.`})})})]})})]})}export{C as DepositsScreen};