@accounter/client
Version:
Accounter client application
1 lines • 23.8 kB
JavaScript
import{n as e,t}from"./charges-table-Cvrlnv5-.js";import{t as n}from"./funnel-DYKZrHgK.js";import{$ as r,$u as i,Au as a,B as o,Bl as s,Cd as c,Cl as l,Dl as u,Do as d,El as f,G as p,H as m,Hi as h,It as g,J as _,Ji as v,K as y,Kl as b,Kn as x,M as S,Ml as C,N as ee,Nd as te,Nn as w,Ol as ne,Pl as T,Pn as E,Rd as re,Sl as ie,Sn as ae,Tl as oe,Tu as se,U as ce,Ui as le,V as D,Vi as O,W as k,X as A,Xn as j,Xu as M,Y as ue,Yu as N,_r as de,bl as fe,en as pe,er as me,fs as P,gd as F,gi as he,id as I,kl as ge,ku as L,md as R,or as z,q as B,tr as V,un as _e,vi as ve,wl as H,wn as ye,xd as U,xl as be,zs as xe,zt as Se}from"./index-BdWApCqi.js";import{t as W}from"./use-url-query-8I97z9a3.js";import{t as Ce}from"./page-layout-9Fp4HhGU.js";import{n as we}from"./charges-filters-CEzwaInL.js";var G=U(`chart-column`,[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`path`,{d:`M18 17V9`,key:`2bz60n`}],[`path`,{d:`M13 17V5`,key:`1frdt8`}],[`path`,{d:`M8 17v-3`,key:`17ska0`}]]),Te=U(`file-digit`,[[`path`,{d:`M4 12V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2`,key:`jrl274`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 16h2v6`,key:`1bxocy`}],[`path`,{d:`M10 22h4`,key:`ceow96`}],[`rect`,{x:`2`,y:`16`,width:`4`,height:`6`,rx:`2`,key:`r45zd0`}]]),K=re(te(),1),q=se(),Ee=({data:e,toggleMergeCharge:n,mergeSelectedCharges:r})=>{let i=j(ie,e),[a,o]=(0,K.useState)(!0);return(0,q.jsxs)(s,{className:`p-6`,children:[(0,q.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,q.jsxs)(`h2`,{className:`text-lg font-semibold flex items-center gap-2`,children:[(0,q.jsx)(b,{variant:`outline`,size:`icon`,className:`size-7.5`,onClick:()=>o(e=>!e),disabled:!i||i.businessTrips.length===0,children:a?(0,q.jsx)(M,{className:`size-5`}):(0,q.jsx)(N,{className:`size-5`})}),`Business Trips`]})}),a&&i&&(0,q.jsx)(t,{data:i.businessTrips,isAllOpened:!1,toggleMergeCharge:n,mergeSelectedCharges:r})]})};function J(e){switch(e){case`C`:case`M`:return`Self Invoice`;case`H`:return`Single Doc By Law`;case`I`:return`Palestinian Customer`;case`K`:return`Petty Cash`;case`L1`:return`Unidentified Customer`;case`L2`:return`Unidentified Zero or Exempt`;case`P`:return`Palestinian Supplier`;case`R`:return`Import`;case`S1`:case`T`:return`Regular`;case`S2`:return`Zero or Exempt`;case`Y`:return`Export`;default:return`Unknown`}}var De=e=>{let t=e.reduce((e,t)=>(e[t.recordType]||={recordType:t.recordType,count:0,vatTotal:0,totalBeforeVat:0},e[t.recordType].count++,e[t.recordType].vatTotal+=t.roundedLocalVatAfterDeduction?.raw??0,e[t.recordType].totalBeforeVat+=t.taxReducedLocalAmount?.raw??0,e),{});return Object.values(t)},Y=({records:e})=>{let t=(0,K.useMemo)(()=>De(e??[]),[e]);return(0,q.jsx)(`div`,{className:`overflow-x-auto`,children:(0,q.jsxs)(`table`,{className:`w-full`,children:[(0,q.jsx)(`thead`,{children:(0,q.jsxs)(`tr`,{className:`border-b border-border text-left`,children:[(0,q.jsx)(`th`,{className:`pb-3 text-sm font-medium text-muted-foreground`,children:`Record Type`}),(0,q.jsx)(`th`,{className:`pb-3 text-sm font-medium text-muted-foreground text-right`,children:`Count`}),(0,q.jsx)(`th`,{className:`pb-3 text-sm font-medium text-muted-foreground text-right`,children:`Total Before VAT`}),(0,q.jsx)(`th`,{className:`pb-3 text-sm font-medium text-muted-foreground text-right`,children:`VAT Total`})]})}),(0,q.jsx)(`tbody`,{children:t.map(e=>(0,q.jsxs)(`tr`,{className:`border-b border-border/50`,children:[(0,q.jsxs)(`td`,{className:`py-3 text-sm font-medium`,children:[J(e.recordType),` (`,e.recordType,`)`]}),(0,q.jsx)(`td`,{className:`py-3 text-sm text-right`,children:e.count}),(0,q.jsx)(`td`,{className:`py-3 text-sm text-right`,children:v(e.totalBeforeVat,P.Ils)}),(0,q.jsx)(`td`,{className:`py-3 text-sm text-right`,children:v(e.vatTotal,P.Ils)})]},e.recordType))})]})})};function Oe({data:e}){let{chargeId:t,chargeAccountantStatus:n}=j(be,e);return(0,q.jsx)(`td`,{children:(0,q.jsx)(Se,{value:n??void 0,chargeId:t})})}var X=_(),Z=[X.accessor(e=>j(H,e.data).recordType,{id:`recordType`,header:`Record Type`,cell:e=>{let t=e.getValue();return(0,q.jsx)(`p`,{className:`whitespace-wrap`,children:`${J(t)} (${t})`})}}),X.accessor(e=>j(H,e.data).business?.name??``,{id:`business`,header:`Business`,cell:e=>{let t=j(H,e.row.original.data);return(0,q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[t.business?.id?(0,q.jsx)(c,{to:L.BUSINESSES.DETAIL(t.business.id),target:`_blank`,rel:`noreferrer`,onClick:e=>e.stopPropagation(),className:`inline-flex items-center font-semibold`,children:t.business.name}):(0,q.jsx)(`span`,{children:t.business?.name}),t.vatNumber&&(0,q.jsx)(`span`,{className:`text-[10px] text-gray-500`,children:t.vatNumber})]})}}),X.display({id:`invoice`,header:`Invoice`,cell:e=>{let t=j(H,e.row.original.data);return t.image?(0,q.jsx)(`a`,{href:t.image,target:`_blank`,rel:`noreferrer`,children:(0,q.jsx)(`img`,{alt:`missing img`,src:t.image,height:80,width:80})}):null}}),X.accessor(e=>j(H,e.data).documentSerial??``,{id:`documentSerial`,header:`Invoice Serial#`,cell:e=>{let t=j(H,e.row.original.data);return(0,q.jsxs)(`div`,{className:`flex flex-col`,children:[(0,q.jsx)(`span`,{children:e.getValue()}),t.allocationNumber&&(0,q.jsxs)(`span`,{className:`text-xs`,children:[`(`,t.allocationNumber,`)`]})]})}}),X.accessor(e=>j(H,e.data).documentDate??``,{id:`documentDate`,header:`Invoice Date`,cell:e=>e.getValue()}),X.accessor(e=>j(H,e.data).chargeDate??``,{id:`chargeDate`,header:`Transaction Date`,cell:e=>e.getValue()}),X.accessor(e=>j(H,e.data).amount.raw??0,{id:`amount`,header:`Amount`,cell:e=>(0,q.jsx)(`span`,{className:`whitespace-nowrap`,children:j(H,e.row.original.data).amount.formatted})}),X.accessor(e=>j(H,e.data).localAmount?.raw??0,{id:`localAmount`,header:`Amount ₪`,cell:e=>(0,q.jsx)(`span`,{className:`whitespace-nowrap`,children:j(H,e.row.original.data).localAmount?.formatted})}),X.accessor(e=>j(H,e.data).localVat?.raw??0,{id:`localVat`,header:`VAT`,cell:e=>(0,q.jsx)(`span`,{className:`whitespace-nowrap`,children:j(H,e.row.original.data).localVat?.formatted})}),X.accessor(e=>j(H,e.data).localVatAfterDeduction?.raw??0,{id:`localVatAfterDeduction`,header:`VAT ₪`,cell:e=>(0,q.jsx)(`span`,{className:`whitespace-nowrap`,children:j(H,e.row.original.data).localVatAfterDeduction?.formatted})}),X.accessor(e=>j(H,e.data).foreignVatAfterDeduction?.raw??0,{id:`foreignVatAfterDeduction`,header:`Actual VAT`,cell:e=>(0,q.jsx)(`span`,{className:`whitespace-nowrap`,children:j(H,e.row.original.data).foreignVatAfterDeduction?.formatted})}),X.accessor(e=>j(H,e.data).roundedLocalVatAfterDeduction?.raw??0,{id:`roundedLocalVatAfterDeduction`,header:`Rounded VAT`,cell:e=>(0,q.jsx)(`span`,{className:`whitespace-nowrap`,children:j(H,e.row.original.data).roundedLocalVatAfterDeduction?.formatted})}),X.accessor(e=>e.cumulativeVat,{id:`cumulativeVat`,header:`Cumulative VAT`,cell:e=>(0,q.jsxs)(`span`,{className:`whitespace-nowrap`,children:[`₪ `,O(e.getValue(),0)]})}),X.accessor(e=>j(H,e.data).taxReducedLocalAmount?.raw??0,{id:`taxReducedLocalAmount`,header:`Amount without VAT ₪`,cell:e=>(0,q.jsx)(`span`,{className:`whitespace-nowrap`,children:j(H,e.row.original.data).taxReducedLocalAmount?.formatted})}),X.accessor(e=>e.cumulativeAmount,{id:`cumulativeAmount`,header:`Cumulative Amount without VAT ₪`,cell:e=>(0,q.jsxs)(`span`,{className:`whitespace-nowrap`,children:[`₪ `,O(e.getValue(),0)]})}),X.display({id:`accountantApproval`,header:`Accountant Approval`,cell:e=>(0,q.jsx)(Oe,{data:j(H,e.row.original.data)})}),X.display({id:`actions`,header:`Edit`,cell:e=>{let t=j(H,e.row.original.data);return(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.jsx)(E,{toggleExpansion:()=>e.row.toggleExpanded(),isExpanded:e.row.getIsExpanded()}),(0,q.jsx)(w,{toggleMergeSelected:()=>e.row.original.toggleMergeCharge(t.chargeId),mergeSelected:e.row.original.mergeSelectedCharges.has(t.chargeId)}),(0,q.jsx)(x,{chargeId:t.chargeId})]})}})],ke=({data:t,toggleMergeCharge:n,mergeSelectedCharges:i})=>{let{expenses:a}=j(l,t)??{expenses:[]},[c,u]=(0,K.useState)(!0),[d,f]=(0,K.useState)([]),[h,g]=(0,K.useState)({}),[_,v]=(0,K.useState)({}),[x,S]=(0,K.useState)(`detailed`),C=B({data:(0,K.useMemo)(()=>{let e=0,t=0;return a.map(r=>(e+=r.taxReducedLocalAmount?.raw??0,t+=r.roundedLocalVatAfterDeduction?.raw??0,{data:r,toggleMergeCharge:n,mergeSelectedCharges:i,cumulativeVat:t,cumulativeAmount:e}))},[a,n,i]),columns:Z,getCoreRowModel:ue(),onSortingChange:f,getSortedRowModel:r(),onColumnVisibilityChange:g,onExpandedChange:v,getExpandedRowModel:A(),state:{sorting:d,columnVisibility:h,expanded:_}});return(0,q.jsxs)(s,{className:`p-6`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,q.jsxs)(`h2`,{className:`text-lg font-semibold flex items-center gap-2`,children:[(0,q.jsx)(b,{variant:`outline`,size:`icon`,className:`size-7.5`,onClick:()=>u(e=>!e),children:c?(0,q.jsx)(M,{className:`size-5`}):(0,q.jsx)(N,{className:`size-5`})}),`Expenses`]}),c&&(0,q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,q.jsxs)(b,{variant:x===`detailed`?`default`:`outline`,size:`sm`,onClick:()=>S(`detailed`),children:[(0,q.jsx)(I,{className:`h-4 w-4 mr-2`}),`Detailed`]}),(0,q.jsxs)(b,{variant:x===`summarized`?`default`:`outline`,size:`sm`,onClick:()=>S(`summarized`),children:[(0,q.jsx)(G,{className:`h-4 w-4 mr-2`}),`Summarized`]})]})]}),c&&(x===`detailed`?(0,q.jsxs)(o,{children:[(0,q.jsx)(k,{children:C.getHeaderGroups().map(e=>(0,q.jsx)(p,{children:e.headers.map(e=>(0,q.jsx)(ce,{colSpan:e.colSpan,children:e.isPlaceholder?null:(0,q.jsxs)(b,{variant:`ghost`,onClick:e.column.getToggleSortingHandler(),className:`h-auto p-0 hover:bg-transparent`,children:[y(e.column.columnDef.header,e.getContext()),{asc:(0,q.jsx)(R,{className:`size-5`}),desc:(0,q.jsx)(F,{className:`size-5`})}[e.column.getIsSorted()]??null]})},e.id))},e.id))}),(0,q.jsx)(D,{children:C.getRowModel().rows?.length?C.getRowModel().rows.map(t=>{let n=j(H,t.original.data);return(0,q.jsxs)(K.Fragment,{children:[(0,q.jsx)(p,{"data-state":t.getIsSelected()&&`selected`,children:t.getVisibleCells().map(e=>(0,q.jsx)(m,{children:y(e.column.columnDef.cell,e.getContext())},e.id))}),t.getIsExpanded()&&(0,q.jsx)(p,{children:(0,q.jsx)(m,{colSpan:Z.length,children:(0,q.jsx)(de,{style:{width:`100%`},withBorder:!0,shadow:`lg`,children:(0,q.jsx)(e,{chargeID:n.chargeId,fetching:!!n})})})})]},t.id)}):(0,q.jsx)(p,{children:(0,q.jsx)(m,{colSpan:Z.length,className:`h-24 text-center`,children:`No results.`})})})]}):(0,q.jsx)(Y,{records:a}))]})},Q=_(),$=[Q.accessor(e=>j(f,e.data).recordType,{id:`recordType`,header:`Record Type`,cell:e=>{let t=e.getValue();return(0,q.jsx)(`p`,{className:`whitespace-wrap`,children:`${J(t)} (${t})`})}}),Q.accessor(e=>j(f,e.data).business?.name??``,{id:`business`,header:`Business`,cell:e=>{let t=j(f,e.row.original.data);return(0,q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[t.business?.id?(0,q.jsx)(c,{to:L.BUSINESSES.DETAIL(t.business.id),target:`_blank`,rel:`noreferrer`,onClick:e=>e.stopPropagation(),className:`inline-flex items-center font-semibold`,children:t.business.name}):(0,q.jsx)(`span`,{children:t.business?.name}),t.vatNumber&&(0,q.jsx)(`span`,{className:`text-[10px] text-gray-500`,children:t.vatNumber})]})}}),Q.display({id:`invoice`,header:`Invoice`,cell:e=>{let t=j(f,e.row.original.data);return t.image?(0,q.jsx)(`a`,{href:t.image,target:`_blank`,rel:`noreferrer`,children:(0,q.jsx)(`img`,{alt:`missing img`,src:t.image,height:80,width:80})}):null}}),Q.accessor(e=>j(f,e.data).documentSerial??``,{id:`documentSerial`,header:`Invoice Serial#`,cell:e=>{let t=j(f,e.row.original.data);return(0,q.jsxs)(`div`,{className:`flex flex-col`,children:[(0,q.jsx)(`span`,{children:e.getValue()}),t.allocationNumber&&(0,q.jsxs)(`span`,{className:`text-xs`,children:[`(`,t.allocationNumber,`)`]})]})}}),Q.accessor(e=>j(f,e.data).documentDate??``,{id:`documentDate`,header:`Invoice Date`,cell:e=>e.getValue()}),Q.accessor(e=>j(f,e.data).chargeDate??``,{id:`chargeDate`,header:`Transaction Date`,cell:e=>e.getValue()}),Q.accessor(e=>j(f,e.data).taxReducedForeignAmount?.raw??0,{id:`amount`,header:`Amount`,cell:e=>j(f,e.row.original.data).taxReducedForeignAmount?.formatted??``}),Q.accessor(e=>j(f,e.data).taxReducedLocalAmount?.raw??0,{id:`localAmount`,header:`Amount ₪`,cell:e=>j(f,e.row.original.data).taxReducedLocalAmount?.formatted??``}),Q.accessor(e=>e.cumulativeAmount,{id:`cumulativeAmount`,header:`Cumulative Amount ₪`,cell:e=>(0,q.jsxs)(`span`,{className:`whitespace-nowrap`,children:[`₪ `,O(e.getValue(),0)]})}),Q.display({id:`accountantApproval`,header:`Accountant Approval`,cell:e=>(0,q.jsx)(Oe,{data:j(f,e.row.original.data)})}),Q.display({id:`actions`,header:`Edit`,cell:e=>{let t=j(f,e.row.original.data);return(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.jsx)(E,{toggleExpansion:()=>e.row.toggleExpanded(),isExpanded:e.row.getIsExpanded()}),(0,q.jsx)(w,{toggleMergeSelected:()=>e.row.original.toggleMergeCharge(t.chargeId),mergeSelected:e.row.original.mergeSelectedCharges.has(t.chargeId)}),(0,q.jsx)(x,{chargeId:t.chargeId})]})}})],Ae=({data:t,toggleMergeCharge:n,mergeSelectedCharges:i})=>{let{income:a}=j(oe,t)??{income:[]},[c,l]=(0,K.useState)(!0),[u,d]=(0,K.useState)([]),[h,g]=(0,K.useState)({}),[_,v]=(0,K.useState)({}),[x,S]=(0,K.useState)(`detailed`),C=B({data:(0,K.useMemo)(()=>{let e=0;return a.map(t=>(e+=t.taxReducedLocalAmount?.raw??0,{data:t,toggleMergeCharge:n,mergeSelectedCharges:i,cumulativeAmount:e}))},[a,n,i]),columns:$,getCoreRowModel:ue(),onSortingChange:d,getSortedRowModel:r(),onColumnVisibilityChange:g,onExpandedChange:v,getExpandedRowModel:A(),state:{sorting:u,columnVisibility:h,expanded:_}});return(0,q.jsxs)(s,{className:`p-6`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,q.jsxs)(`h2`,{className:`text-lg font-semibold flex items-center gap-2`,children:[(0,q.jsx)(b,{variant:`outline`,size:`icon`,className:`size-7.5`,onClick:()=>l(e=>!e),children:c?(0,q.jsx)(M,{className:`size-5`}):(0,q.jsx)(N,{className:`size-5`})}),`Income`]}),c&&(0,q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,q.jsxs)(b,{variant:x===`detailed`?`default`:`outline`,size:`sm`,onClick:()=>S(`detailed`),children:[(0,q.jsx)(I,{className:`h-4 w-4 mr-2`}),`Detailed`]}),(0,q.jsxs)(b,{variant:x===`summarized`?`default`:`outline`,size:`sm`,onClick:()=>S(`summarized`),children:[(0,q.jsx)(G,{className:`h-4 w-4 mr-2`}),`Summarized`]})]})]}),c&&(x===`detailed`?(0,q.jsxs)(o,{children:[(0,q.jsx)(k,{children:C.getHeaderGroups().map(e=>(0,q.jsx)(p,{children:e.headers.map(e=>(0,q.jsx)(ce,{colSpan:e.colSpan,children:e.isPlaceholder?null:(0,q.jsxs)(b,{variant:`ghost`,onClick:e.column.getToggleSortingHandler(),className:`h-auto p-0 hover:bg-transparent`,children:[y(e.column.columnDef.header,e.getContext()),{asc:(0,q.jsx)(R,{className:`size-5`}),desc:(0,q.jsx)(F,{className:`size-5`})}[e.column.getIsSorted()]??null]})},e.id))},e.id))}),(0,q.jsx)(D,{children:C.getRowModel().rows?.length?C.getRowModel().rows.map(t=>{let n=j(f,t.original.data);return(0,q.jsxs)(K.Fragment,{children:[(0,q.jsx)(p,{"data-state":t.getIsSelected()&&`selected`,children:t.getVisibleCells().map(e=>(0,q.jsx)(m,{children:y(e.column.columnDef.cell,e.getContext())},e.id))}),t.getIsExpanded()&&(0,q.jsx)(p,{children:(0,q.jsx)(m,{colSpan:$.length,children:(0,q.jsx)(de,{style:{width:`100%`},withBorder:!0,shadow:`lg`,children:(0,q.jsx)(e,{chargeID:n.chargeId,fetching:!!n})})})})]},t.id)}):(0,q.jsx)(p,{children:(0,q.jsx)(m,{colSpan:$.length,className:`h-24 text-center`,children:`No results.`})})})]}):(0,q.jsx)(Y,{records:a}))]})},je=({data:e,toggleMergeCharge:n,mergeSelectedCharges:r})=>{let i=j(u,e),[a,o]=(0,K.useState)(!0);return(0,q.jsxs)(s,{className:`p-6`,children:[(0,q.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,q.jsxs)(`h2`,{className:`text-lg font-semibold flex items-center gap-2`,children:[(0,q.jsx)(b,{variant:`outline`,size:`icon`,className:`size-7.5`,onClick:()=>o(e=>!e),disabled:!i||i.differentMonthDoc.length===0,children:a?(0,q.jsx)(M,{className:`size-5`}):(0,q.jsx)(N,{className:`size-5`})}),`Misc Charges (which are not on the above tables)`]})}),a&&i&&(0,q.jsx)(t,{data:i.differentMonthDoc,isAllOpened:!1,toggleMergeCharge:n,mergeSelectedCharges:r})]})},Me=({data:e,toggleMergeCharge:n,mergeSelectedCharges:r})=>{let i=j(ne,e),[a,o]=(0,K.useState)(!0);return(0,q.jsxs)(s,{className:`p-6`,children:[(0,q.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,q.jsxs)(`h2`,{className:`text-lg font-semibold flex items-center gap-2`,children:[(0,q.jsx)(b,{variant:`outline`,size:`icon`,className:`size-7.5`,onClick:()=>o(e=>!e),disabled:!i||i.missingInfo.length===0,children:a?(0,q.jsx)(M,{className:`size-5`}):(0,q.jsx)(N,{className:`size-5`})}),`Missing Info`]})}),a&&i&&(0,q.jsx)(t,{data:i.missingInfo,isAllOpened:!1,toggleMergeCharge:n,mergeSelectedCharges:r})]})},Ne=({filter:{monthDate:e,financialEntityId:t},isLoading:n})=>{let[{data:r,fetching:i,error:a},o]=C({query:h(xe),pause:!0,variables:{monthDate:e,financialEntityId:t}});return(0,K.useEffect)(()=>{if(a){let e=`Error generating PCN874 file`;console.error(`${e}: ${a}`),ve.error(`Error`,{description:e,duration:5e3,closeButton:!0})}},[a]),(0,K.useEffect)(()=>{r&&le(new File([r.pcnFile.reportContent],`pcn874.txt`,{type:`text/plain`}))},[r]),(0,q.jsx)(pe,{content:`Generate and Download PCN874 File`,children:(0,q.jsx)(b,{disabled:i||n,variant:`outline`,size:`icon`,className:`size-7.5`,onClick:o,children:(0,q.jsx)(Te,{className:`size-5`})})})},Pe=({data:e})=>{let t=j(ge,e),n=(0,K.useMemo)(()=>t?.expenses??[],[t?.expenses]),r=(0,K.useMemo)(()=>t?.income??[],[t?.income]),i=(0,K.useMemo)(()=>r.reduce((e,t)=>e+(t.taxReducedLocalAmount?.raw??0),0),[r]),a=(0,K.useMemo)(()=>r.reduce((e,t)=>e+(t.roundedLocalVatAfterDeduction?.raw??0),0),[r]),o=(0,K.useMemo)(()=>r.filter(e=>(e.roundedLocalVatAfterDeduction?.raw??0)===0).reduce((e,t)=>e+(t.taxReducedLocalAmount?.raw??0),0),[r]),c=(0,K.useMemo)(()=>n.filter(e=>e.isProperty).reduce((e,t)=>e+(t.taxReducedLocalAmount?.raw??0),0),[n]),l=(0,K.useMemo)(()=>a-n.reduce((e,t)=>e+(t.roundedLocalVatAfterDeduction?.raw??0),0),[a,n]);return(0,q.jsxs)(s,{className:`p-6`,children:[(0,q.jsx)(`h2`,{className:`text-lg font-semibold mb-4`,children:`Report Summary`}),(0,q.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:[(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Taxable Sales Total`}),(0,q.jsx)(`p`,{className:`text-2xl font-bold`,children:v(i,P.Ils)})]}),(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Taxable Sales VAT`}),(0,q.jsx)(`p`,{className:`text-2xl font-bold`,children:v(a,P.Ils)})]}),(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Zero / Exempt Sales`}),(0,q.jsx)(`p`,{className:`text-2xl font-bold`,children:v(o,P.Ils)})]}),(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Equipment Inputs`}),(0,q.jsx)(`p`,{className:`text-2xl font-bold`,children:v(c,P.Ils)})]}),(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Total VAT Amount`}),(0,q.jsx)(`p`,{className:`text-2xl font-bold`,children:v(l,P.Ils)})]})]})]})},Fe=re(he(),1);function Ie({filter:e,setFilter:t,closeModal:n}){let{control:r,handleSubmit:i,setValue:a}=ye({defaultValues:{...e}}),{selectableAdminBusinesses:o,fetching:s}=S(),c=e=>{t(e),n()};function l(){t(),n()}function u(e){a(`monthDate`,T(new Date(e.getFullYear(),e.getMonth(),15),`yyyy-MM-dd`))}return(0,q.jsxs)(q.Fragment,{children:[s?(0,q.jsx)(`div`,{children:`Loading...`}):(0,q.jsx)(`div`,{}),(0,q.jsxs)(`form`,{onSubmit:i(c),children:[(0,q.jsx)(ae,{name:`financialEntityId`,control:r,defaultValue:void 0,render:({field:e,fieldState:t})=>(0,q.jsx)(z,{...e,data:o,value:e.value,disabled:s,label:`Report Issuer (Admin Business)`,placeholder:`Scroll to see all options`,maxDropdownHeight:160,searchable:!0,error:t.error?.message})}),(0,q.jsx)(ae,{name:`chargesType`,control:r,defaultValue:e.chargesType,render:({field:e,fieldState:t})=>(0,q.jsx)(z,{...e,data:we,value:e.value??d.All,label:`Charge Type`,placeholder:`Filter income/expense`,maxDropdownHeight:160,error:t.error?.message})}),(0,q.jsx)(_e,{defaultValue:e?.monthDate?new Date(e.monthDate):new Date,defaultDate:e?.monthDate?new Date(e.monthDate):new Date,onChange:u,popoverProps:{withinPortal:!0}}),(0,q.jsxs)(`div`,{className:`flex justify-center mt-5 gap-3`,children:[(0,q.jsx)(`button`,{type:`submit`,className:`text-white bg-indigo-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-indigo-600 rounded-sm text-lg`,children:`Filter`}),(0,q.jsx)(`button`,{type:`button`,className:`text-white bg-orange-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-orange-600 rounded-sm text-lg`,onClick:l,children:`Clear`}),(0,q.jsx)(`button`,{type:`button`,className:`text-white bg-rose-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-rose-600 rounded-sm text-lg`,onClick:n,children:`Cancel`})]})]})]})}function Le({filter:e,setFilter:t}){let[r,i]=(0,K.useState)(!1),{get:o,set:s}=W(),{userContext:c}=(0,K.useContext)(V);function l(n){n||={financialEntityId:c?.context.adminBusinessId??e.financialEntityId,monthDate:T(new Date,`yyyy-MM-15`)},(0,Fe.default)(n,e)||t(n)}return(0,K.useEffect)(()=>{let t=a(e??{});t!==o(`vatMonthlyReportFilters`)&&s(`vatMonthlyReportFilters`,t)},[e,o,s]),(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(ee,{opened:r,onClose:()=>i(!1),content:(0,q.jsx)(Ie,{filter:e,setFilter:l,closeModal:()=>i(!1)})}),(0,q.jsx)(b,{variant:`outline`,size:`icon`,className:`size-7.5`,onClick:()=>i(!0),children:(0,q.jsx)(n,{className:`size-5`})})]})}var Re=()=>{let{get:e}=W(),{setFiltersContext:t}=(0,K.useContext)(me),{userContext:n}=(0,K.useContext)(V),[r,a]=(0,K.useState)(e(`vatMonthlyReportFilters`)?JSON.parse(decodeURIComponent(e(`vatMonthlyReportFilters`))):{financialEntityId:n?.context.adminBusinessId??``,monthDate:T(new Date,`yyyy-MM-15`)}),[o,s]=(0,K.useState)([]);(0,K.useEffect)(()=>{(!r.financialEntityId||r.financialEntityId===``)&&n?.context.adminBusinessId&&a({...r,financialEntityId:n.context.adminBusinessId})},[r,n?.context.adminBusinessId]);let[{data:c,fetching:l}]=C({query:h(fe),variables:{filters:r},pause:r.financialEntityId===``}),u=(0,K.useCallback)(e=>{o.includes(e)?s(o.filter(t=>t!==e)):s([...o,e])},[o]);function f(){s([])}(0,K.useEffect)(()=>{t((0,q.jsxs)(`div`,{className:`flex flex-row gap-2`,children:[(0,q.jsx)(Ne,{filter:r,isLoading:l}),(0,q.jsx)(Le,{filter:{...r},setFilter:a}),(0,q.jsx)(g,{selected:o.map(e=>({id:e,onChange:()=>{}})),resetMerge:f})]}))},[c,r,l,t,o]);let p=(0,K.useMemo)(()=>new Set(o),[o]);return(0,q.jsx)(Ce,{title:`VAT Monthly Report${r.monthDate?`, ${T(new Date(r.monthDate),`MMMM yyyy`)}`:``}`,children:l?(0,q.jsx)(i,{className:`h-10 w-10 animate-spin mr-2 self-center`}):(0,q.jsx)(`div`,{className:`min-h-screen`,children:(0,q.jsxs)(`div`,{className:`space-y-4`,children:[r.financialEntityId&&r.monthDate&&(0,q.jsx)(Pe,{data:c?.vatReport}),r.chargesType!==d.Expense&&(0,q.jsx)(Ae,{data:c?.vatReport,toggleMergeCharge:u,mergeSelectedCharges:p}),r.chargesType!==d.Income&&(0,q.jsx)(ke,{data:c?.vatReport,toggleMergeCharge:u,mergeSelectedCharges:p}),(0,q.jsx)(Me,{data:c?.vatReport,toggleMergeCharge:u,mergeSelectedCharges:p}),(0,q.jsx)(Ee,{data:c?.vatReport,toggleMergeCharge:u,mergeSelectedCharges:p}),(0,q.jsx)(je,{data:c?.vatReport,toggleMergeCharge:u,mergeSelectedCharges:p})]})})})};export{Re as VatMonthlyReport};