UNPKG

@accounter/client

Version:
1 lines • 7.94 kB
import{s as e}from"./dist-ypP48_Ax.js";import{i as t,o as n}from"./utils-CbS-oR5I.js";import{s as r,t as i}from"./routes-Cawu7UJi.js";import{$ as a,A as o,D as s,Ft as c,I as l,Yn as u,ct as d,n as f,ut as p,wt as m,zt as h}from"./common-D-vYt_Yl.js";import{n as g,r as _,t as v}from"./similar-transactions-modal-DEG19dHL.js";import{dt as y,mt as b,pt as x}from"./select-Zdatwv1b.js";import{t as S}from"./button-DUNsVBiu.js";import{Bc as C,Ul as w,Zc as T,a as E,c as D,d as O,i as k,n as A,o as j,r as M,s as N,t as P}from"./table-AJA7Uyxy.js";import{Aa as F}from"./graphql-DC5GYCFE.js";var I=e(n(),1),L=t(),R=({transaction:e})=>{let t=`effectiveDate`in e?e.effectiveDate:void 0;return(0,L.jsxs)(`div`,{className:`flex flex-col justify-center`,children:[(0,L.jsx)(`div`,{children:t&&w(new Date(t),`dd/MM/yy`)}),e.sourceEffectiveDate&&(0,L.jsxs)(`div`,{className:`text-xs text-gray-500`,children:[`(Originally `,w(new Date(e.sourceEffectiveDate),`dd/MM/yy`),`)`]})]})},z=({transaction:e})=>{let t=`eventDate`in e?e.eventDate:void 0;return(0,L.jsx)(`div`,{className:`flex flex-col justify-center`,children:t&&w(new Date(t),`dd/MM/yy`)})},B=({transaction:e})=>{let t=`amount`in e?e.amount:void 0,{isFee:n}=e;return(0,L.jsxs)(`div`,{style:{color:Number(t?.raw)>0?`green`:`red`,whiteSpace:`nowrap`},children:[t?.formatted,n&&(0,L.jsx)(C,{variant:`secondary`,className:`ml-2 text-xs font-semibold`,children:`Fee`}),(0,L.jsx)(`br`,{}),e.cryptoExchangeRate&&(0,L.jsxs)(`span`,{style:{color:`gray`,marginLeft:`0.5rem`},children:[`(Rate: ${e.cryptoExchangeRate.rate})`,(0,L.jsx)(`br`,{}),t?.raw?`${u(t.raw*e.cryptoExchangeRate.rate)}$`:null]})]})},V=({transaction:e})=>{let{account:t}=e,n=g(t.type),r=_(t.type),i=t.name;return(0,L.jsxs)(`div`,{className:`flex flex-col justify-center`,children:[(0,L.jsx)(`p`,{children:(0,L.jsx)(d,{content:r,children:n})}),(0,L.jsx)(`p`,{children:i})]})},H=({transaction:e})=>{let t=`sourceDescription`in e?e.sourceDescription:`Missing`;return(0,L.jsx)(`div`,{className:`flex flex-wrap`,children:(0,L.jsx)(`div`,{className:`flex flex-col justify-center`,children:t})})},U=({transaction:e})=>(0,L.jsx)(`div`,{className:`flex flex-wrap`,children:(0,L.jsx)(`div`,{className:`flex flex-col justify-center`,children:e.referenceKey})});function W({transaction:e,onChange:t}){let{id:n,counterparty:s,missingInfoSuggestions:c,id:l,sourceDescription:u,enableEdit:f}=e,h=!!c?.business&&f,g=h?c?.business?.name:`Missing`,_=h?c?.business?.id:null,y=s?.name??g,[x,C]=(0,I.useState)(!1),{updateTransaction:w,fetching:T}=m(),E=(0,I.useCallback)(async e=>{await w({transactionId:l,fields:{counterpartyId:e}}),C(!0)},[l,w]),D=(0,I.useCallback)(async e=>{await E(e),t?.()},[E,t]),{selectableBusinesses:O,fetching:k}=p(),[A,j]=(0,I.useState)(_??null),[M,N]=(0,I.useState)(u);return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`div`,{className:`flex flex-wrap flex-col justify-center`,children:s?.id?(0,L.jsx)(r,{to:i.BUSINESSES.DETAIL(s.id),target:`_blank`,rel:`noreferrer`,onClick:e=>e.stopPropagation(),className:`inline-flex items-center font-semibold`,children:y}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(a,{options:O,value:A,onChange:j,search:M,onSearchChange:N,placeholder:`Choose or create a business`,empty:M?(0,L.jsx)(o,{description:M,onAdd:D}):null}),(0,L.jsx)(d,{content:`Approve`,children:(0,L.jsx)(S,{variant:`outline`,size:`icon`,onClick:()=>A&&E(A),disabled:T||k||!A,children:(0,L.jsx)(b,{className:`size-4`})})})]})}),(0,L.jsx)(v,{transactionId:n,counterpartyId:s?.id??A,open:x,onOpenChange:C,onClose:t})]})}var G=[{accessorKey:`counterparty.name`,header:({column:e})=>(0,L.jsxs)(S,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Counterparty`,e.getIsSorted()&&(e.getIsSorted()===`asc`?(0,L.jsx)(y,{className:`ml-2 h-4 w-4`}):(0,L.jsx)(x,{className:`ml-2 h-4 w-4`}))]}),cell:({row:e})=>(0,L.jsx)(W,{transaction:e.original})},{accessorKey:`eventDate`,sortFn:e=>`eventDate`in e.original&&e.original.eventDate?new Date(e.original.eventDate).getTime():0,header:({column:e})=>(0,L.jsxs)(S,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Event Date`,e.getIsSorted()&&(e.getIsSorted()===`asc`?(0,L.jsx)(y,{className:`ml-2 h-4 w-4`}):(0,L.jsx)(x,{className:`ml-2 h-4 w-4`}))]}),cell:({row:e})=>(0,L.jsx)(z,{transaction:e.original})},{accessorKey:`effectiveDate`,sortFn:e=>`effectiveDate`in e.original&&e.original.effectiveDate?new Date(e.original.effectiveDate).getTime():0,header:({column:e})=>(0,L.jsxs)(S,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Debit Date`,e.getIsSorted()&&(e.getIsSorted()===`asc`?(0,L.jsx)(y,{className:`ml-2 h-4 w-4`}):(0,L.jsx)(x,{className:`ml-2 h-4 w-4`}))]}),cell:({row:e})=>(0,L.jsx)(R,{transaction:e.original})},{accessorKey:`amount.raw`,header:({column:e})=>(0,L.jsxs)(S,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Amount`,e.getIsSorted()&&(e.getIsSorted()===`asc`?(0,L.jsx)(y,{className:`ml-2 h-4 w-4`}):(0,L.jsx)(x,{className:`ml-2 h-4 w-4`}))]}),cell:({row:e})=>(0,L.jsx)(B,{transaction:e.original})},{accessorKey:`account.name`,header:({column:e})=>(0,L.jsxs)(S,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Account`,e.getIsSorted()&&(e.getIsSorted()===`asc`?(0,L.jsx)(y,{className:`ml-2 h-4 w-4`}):(0,L.jsx)(x,{className:`ml-2 h-4 w-4`}))]}),cell:({row:e})=>(0,L.jsx)(V,{transaction:e.original})},{accessorKey:`sourceDescription`,header:({column:e})=>(0,L.jsxs)(S,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Description`,e.getIsSorted()&&(e.getIsSorted()===`asc`?(0,L.jsx)(y,{className:`ml-2 h-4 w-4`}):(0,L.jsx)(x,{className:`ml-2 h-4 w-4`}))]}),cell:({row:e})=>(0,L.jsx)(H,{transaction:e.original})},{accessorKey:`referenceKey`,header:({column:e})=>(0,L.jsxs)(S,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Reference#`,e.getIsSorted()&&(e.getIsSorted()===`asc`?(0,L.jsx)(y,{className:`ml-2 h-4 w-4`}):(0,L.jsx)(x,{className:`ml-2 h-4 w-4`}))]}),cell:({row:e})=>(0,L.jsx)(U,{transaction:e.original})}],K={accessorKey:`id`,header:`Actions`,cell:({row:e})=>e.original.enableEdit?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(c,{onClick:()=>e.original.editTransaction(e.original.id),tooltip:`Edit Transaction`}),(0,L.jsx)(s,{chargeId:e.original.chargeId,transactionId:e.original.id,onDone:e.original.onUpdate})]}):e.original.enableChargeLink?(0,L.jsx)(h,{chargeId:e.original.chargeId}):null},q=({transactionsProps:e,onChange:t,enableEdit:n,enableChargeLink:r})=>{let[i,a]=(0,I.useState)(void 0),[o,s]=(0,I.useState)([]),c=(0,I.useMemo)(()=>e.map(e=>T(F,e)),[e]),u=(0,I.useMemo)(()=>c.map(e=>({...e,editTransaction:a,onUpdate:t||(()=>{}),enableEdit:n,enableChargeLink:r})),[c,n,r,t]),d=(0,I.useMemo)(()=>n||r?[...G,K]:G,[n,r]),p=D({features:N,data:u,columns:d,onSortingChange:s,state:{sorting:o},initialState:{pagination:{pageIndex:0,pageSize:100},sorting:[{id:`eventDate`,desc:!0}]}});return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(P,{children:[(0,L.jsx)(E,{children:p.getHeaderGroups().map(e=>(0,L.jsx)(j,{children:e.headers.map(e=>(0,L.jsx)(k,{colSpan:e.colSpan,children:e.isPlaceholder?null:O(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,L.jsx)(A,{children:p.getRowModel().rows?.length?p.getRowModel().rows.map(e=>(0,L.jsx)(j,{children:e.getVisibleCells().map(e=>(0,L.jsx)(M,{children:O(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,L.jsx)(j,{children:(0,L.jsx)(M,{colSpan:G.length,className:`h-24 text-center`,children:`No results.`})})})]}),p.getPageCount()>1&&(0,L.jsx)(`div`,{className:`flex items-center justify-end space-x-2 py-4`,children:(0,L.jsx)(f,{currentPageIndex:p.state.pagination.pageIndex,totalPages:p.getPageCount(),onChange:e=>p.setPageIndex(e)})}),(0,L.jsx)(l,{transactionID:i,close:()=>a(void 0),onChange:t??(()=>{})})]})};export{V as a,R as c,H as i,W as n,B as o,U as r,z as s,q as t};