@accounter/client
Version:
Accounter client application
1 lines • 7.77 kB
JavaScript
import{n as e,r as t,t as n}from"./similar-transactions-modal-DTEk61jq.js";import{$ as r,B as i,C as a,Cu as o,Du as s,G as c,H as l,Hn as u,Ht as d,Id as f,K as p,Kn as m,Kt as h,Ml as g,Mn as _,Ot as v,Q as y,U as b,V as x,Vi as S,W as C,Wc as w,Wl as T,Xn as E,Y as D,en as O,fd as k,hd as A,jd as j,md as M,nn as N,q as P,st as F,ut as I,xd as L}from"./index-CSYTUOOk.js";var R=f(j(),1),z=o(),B=({transaction:e})=>{let t=`effectiveDate`in e?e.effectiveDate:void 0;return(0,z.jsxs)(`div`,{className:`flex flex-col justify-center`,children:[(0,z.jsx)(`div`,{children:t&&g(new Date(t),`dd/MM/yy`)}),e.sourceEffectiveDate&&(0,z.jsxs)(`div`,{className:`text-xs text-gray-500`,children:[`(Originally `,g(new Date(e.sourceEffectiveDate),`dd/MM/yy`),`)`]})]})},V=({transaction:e})=>{let t=`eventDate`in e?e.eventDate:void 0;return(0,z.jsx)(`div`,{className:`flex flex-col justify-center`,children:t&&g(new Date(t),`dd/MM/yy`)})},H=({transaction:e})=>{let t=`amount`in e?e.amount:void 0,{isFee:n}=e;return(0,z.jsxs)(`div`,{style:{color:Number(t?.raw)>0?`green`:`red`,whiteSpace:`nowrap`},children:[t?.formatted,n&&(0,z.jsx)(h,{variant:`secondary`,className:`ml-2 text-xs font-semibold`,children:`Fee`}),(0,z.jsx)(`br`,{}),e.cryptoExchangeRate&&(0,z.jsxs)(`span`,{style:{color:`gray`,marginLeft:`0.5rem`},children:[`(Rate: ${e.cryptoExchangeRate.rate})`,(0,z.jsx)(`br`,{}),t?.raw?`${S(t.raw*e.cryptoExchangeRate.rate)}$`:null]})]})},U=({transaction:n})=>{let{account:r}=n,i=e(r.type),a=t(r.type),o=r.name;return(0,z.jsxs)(`div`,{className:`flex flex-col justify-center`,children:[(0,z.jsx)(`p`,{children:(0,z.jsx)(O,{content:a,children:i})}),(0,z.jsx)(`p`,{children:o})]})},W=({transaction:e})=>(0,z.jsx)(`div`,{className:`flex flex-wrap`,children:(0,z.jsx)(`div`,{className:`flex flex-col justify-center`,children:`sourceDescription`in e?e.sourceDescription:`Missing`})}),G=({transaction:e})=>(0,z.jsx)(`div`,{className:`flex flex-wrap`,children:(0,z.jsx)(`div`,{className:`flex flex-col justify-center`,children:e.referenceKey})});function K({transaction:e,onChange:t}){let{id:r,counterparty:i,missingInfoSuggestions:a,id:o,sourceDescription:c,enableEdit:l}=e,u=!!a?.business&&l,f=u?a?.business?.name:`Missing`,p=u?a?.business?.id:null,m=i?.name??f,[h,g]=(0,R.useState)(!1),{updateTransaction:v,fetching:y}=_(),b=(0,R.useCallback)(async e=>{await v({transactionId:o,fields:{counterpartyId:e}}),g(!0)},[o,v]),x=(0,R.useCallback)(async e=>{await b(e),t?.()},[b,t]),{selectableBusinesses:S,fetching:C}=N(),[w,E]=(0,R.useState)(p??null),[D,k]=(0,R.useState)(c);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`div`,{className:`flex flex-wrap flex-col justify-center`,children:i?.id?(0,z.jsx)(L,{to:s.BUSINESSES.DETAIL(i.id),target:`_blank`,rel:`noreferrer`,onClick:e=>e.stopPropagation(),className:`inline-flex items-center font-semibold`,children:m}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(d,{options:S,value:w,onChange:E,search:D,onSearchChange:k,placeholder:`Choose or create a business`,empty:D?(0,z.jsx)(I,{description:D,onAdd:x}):null}),(0,z.jsx)(O,{content:`Approve`,children:(0,z.jsx)(T,{variant:`outline`,size:`icon`,onClick:()=>w&&b(w),disabled:y||C||!w,children:(0,z.jsx)(A,{className:`size-4`})})})]})}),(0,z.jsx)(n,{transactionId:r,counterpartyId:i?.id??w,open:h,onOpenChange:g,onClose:t})]})}var q=[{accessorKey:`counterparty.name`,header:({column:e})=>(0,z.jsxs)(T,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Counterparty`,e.getIsSorted()&&(e.getIsSorted()===`asc`?(0,z.jsx)(k,{className:`ml-2 h-4 w-4`}):(0,z.jsx)(M,{className:`ml-2 h-4 w-4`}))]}),cell:({row:e})=>(0,z.jsx)(K,{transaction:e.original})},{accessorKey:`eventDate`,sortingFn:e=>`eventDate`in e.original&&e.original.eventDate?new Date(e.original.eventDate).getTime():0,header:({column:e})=>(0,z.jsxs)(T,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Event Date`,e.getIsSorted()&&(e.getIsSorted()===`asc`?(0,z.jsx)(k,{className:`ml-2 h-4 w-4`}):(0,z.jsx)(M,{className:`ml-2 h-4 w-4`}))]}),cell:({row:e})=>(0,z.jsx)(V,{transaction:e.original})},{accessorKey:`effectiveDate`,sortingFn:e=>`effectiveDate`in e.original&&e.original.effectiveDate?new Date(e.original.effectiveDate).getTime():0,header:({column:e})=>(0,z.jsxs)(T,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Debit Date`,e.getIsSorted()&&(e.getIsSorted()===`asc`?(0,z.jsx)(k,{className:`ml-2 h-4 w-4`}):(0,z.jsx)(M,{className:`ml-2 h-4 w-4`}))]}),cell:({row:e})=>(0,z.jsx)(B,{transaction:e.original})},{accessorKey:`amount.raw`,header:({column:e})=>(0,z.jsxs)(T,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Amount`,e.getIsSorted()&&(e.getIsSorted()===`asc`?(0,z.jsx)(k,{className:`ml-2 h-4 w-4`}):(0,z.jsx)(M,{className:`ml-2 h-4 w-4`}))]}),cell:({row:e})=>(0,z.jsx)(H,{transaction:e.original})},{accessorKey:`account.name`,header:({column:e})=>(0,z.jsxs)(T,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Account`,e.getIsSorted()&&(e.getIsSorted()===`asc`?(0,z.jsx)(k,{className:`ml-2 h-4 w-4`}):(0,z.jsx)(M,{className:`ml-2 h-4 w-4`}))]}),cell:({row:e})=>(0,z.jsx)(U,{transaction:e.original})},{accessorKey:`sourceDescription`,header:({column:e})=>(0,z.jsxs)(T,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Description`,e.getIsSorted()&&(e.getIsSorted()===`asc`?(0,z.jsx)(k,{className:`ml-2 h-4 w-4`}):(0,z.jsx)(M,{className:`ml-2 h-4 w-4`}))]}),cell:({row:e})=>(0,z.jsx)(W,{transaction:e.original})},{accessorKey:`referenceKey`,header:({column:e})=>(0,z.jsxs)(T,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Reference#`,e.getIsSorted()&&(e.getIsSorted()===`asc`?(0,z.jsx)(k,{className:`ml-2 h-4 w-4`}):(0,z.jsx)(M,{className:`ml-2 h-4 w-4`}))]}),cell:({row:e})=>(0,z.jsx)(G,{transaction:e.original})}],J={accessorKey:`id`,header:`Actions`,cell:({row:e})=>e.original.enableEdit?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(u,{onClick:()=>e.original.editTransaction(e.original.id),tooltip:`Edit Transaction`}),(0,z.jsx)(F,{chargeId:e.original.chargeId,transactionId:e.original.id,onDone:e.original.onUpdate})]}):e.original.enableChargeLink?(0,z.jsx)(m,{chargeId:e.original.chargeId}):null},Y=({transactionsProps:e,onChange:t,enableEdit:n,enableChargeLink:o})=>{let[s,u]=(0,R.useState)(void 0),[d,f]=(0,R.useState)([]),m=(0,R.useMemo)(()=>e.map(e=>E(w,e)),[e]),h=P({data:(0,R.useMemo)(()=>m.map(e=>({...e,editTransaction:u,onUpdate:t||(()=>{}),enableEdit:n,enableChargeLink:o})),[m,n,o,t]),columns:(0,R.useMemo)(()=>n||o?[...q,J]:q,[n,o]),getCoreRowModel:D(),onSortingChange:f,getSortedRowModel:r(),getPaginationRowModel:y(),state:{sorting:d},initialState:{pagination:{pageIndex:0,pageSize:100},sorting:[{id:`eventDate`,desc:!0}]}});return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(i,{children:[(0,z.jsx)(C,{children:h.getHeaderGroups().map(e=>(0,z.jsx)(c,{children:e.headers.map(e=>(0,z.jsx)(b,{colSpan:e.colSpan,children:e.isPlaceholder?null:p(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,z.jsx)(x,{children:h.getRowModel().rows?.length?h.getRowModel().rows.map(e=>(0,z.jsx)(c,{children:e.getVisibleCells().map(e=>(0,z.jsx)(l,{children:p(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,z.jsx)(c,{children:(0,z.jsx)(l,{colSpan:q.length,className:`h-24 text-center`,children:`No results.`})})})]}),h.getPageCount()>1&&(0,z.jsx)(`div`,{className:`flex items-center justify-end space-x-2 py-4`,children:(0,z.jsx)(a,{currentPageIndex:h.getState().pagination.pageIndex,totalPages:h.getPageCount(),onChange:e=>h.setPageIndex(e)})}),(0,z.jsx)(v,{transactionID:s,close:()=>u(void 0),onChange:t??(()=>{})})]})};export{U as a,B as c,W as i,K as n,H as o,G as r,V as s,Y as t};