@accounter/client 0.0.11-alpha-20260125180828-ba6265251b2d2e84e3355b96352f5bf83918317f → 0.0.11-alpha-20260126094406-5e339d8e89f94400c777170c689d55bd9dd5f95c

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/assets/{Checkbox-DWmOT4mx.js → Checkbox-Dmuz3t7B.js} +1 -1
  3. package/dist/assets/{MultiSelect-DhEZHYxn.js → MultiSelect-DBeIExB5.js} +1 -1
  4. package/dist/assets/{Progress-DE13gAJ5.js → Progress---sZILQb.js} +1 -1
  5. package/dist/assets/{Table-rNmO5bBI.js → Table-BQv3frL8.js} +1 -1
  6. package/dist/assets/{Typography-C1pdNNG8.js → Typography-B8Kph7eR.js} +1 -1
  7. package/dist/assets/accordion-Bn08_4fN.js +1 -0
  8. package/dist/assets/{accountant-approvals-DXUA4Z8R.js → accountant-approvals-DuNl7y6H.js} +1 -1
  9. package/dist/assets/{accounter-table-CGncq_73.js → accounter-table-DTsgtq5M.js} +1 -1
  10. package/dist/assets/{addDays-DpkzPtfc.js → addDays-DTiBTTns.js} +1 -1
  11. package/dist/assets/{all-charges-CAf5Sz2_.js → all-charges-DPyM-a74.js} +1 -1
  12. package/dist/assets/{arrow-up-down-MrfN0fhR.js → arrow-up-down-VY6mkkTR.js} +1 -1
  13. package/dist/assets/{building-2-CWrl-iq9.js → building-2-CMKd_bU8.js} +1 -1
  14. package/dist/assets/{business-CnobDfUp.js → business-BVMKhHFx.js} +1 -1
  15. package/dist/assets/{business-extended-info-6Ykvm7VT.js → business-extended-info-B94y5ZK6.js} +1 -1
  16. package/dist/assets/business-header-BC86M-9m.js +1 -0
  17. package/dist/assets/{business-ledger-filters-Bi9mwcxM.js → business-ledger-filters-es3H4rPK.js} +1 -1
  18. package/dist/assets/{business-ledger-single-SwmnJ5M-.js → business-ledger-single-U3zkqgW2.js} +1 -1
  19. package/dist/assets/business-trip-BUKYnQkG.js +1 -0
  20. package/dist/assets/charge-DuqIMfNm.js +1 -0
  21. package/dist/assets/charges-filters-CFCAP-bP.js +1 -0
  22. package/dist/assets/{charges-ledger-validation-ClbJGvF9.js → charges-ledger-validation-CCTNRpCE.js} +1 -1
  23. package/dist/assets/{charges-table-zGkVW5or.js → charges-table-BJtpvXfL.js} +3 -3
  24. package/dist/assets/contracts-ljjcB_x7.js +1 -0
  25. package/dist/assets/{data-table-column-header-DDRUwuwC.js → data-table-column-header-CZ1dXiU0.js} +1 -1
  26. package/dist/assets/{data-table-pagination-DxOcd13P.js → data-table-pagination-XAlQIbO9.js} +1 -1
  27. package/dist/assets/deposits-transactions-table-2rtRFZgK.js +1 -0
  28. package/dist/assets/{download-csv-BmamqJJW.js → download-csv-BSGaUZsM.js} +1 -1
  29. package/dist/assets/{download-csv-button-BFfxSTjQ.js → download-csv-button-CMQBUQeX.js} +1 -1
  30. package/dist/assets/{editable-business-trip-CPfdEl45.js → editable-business-trip-CED1Su3d.js} +1 -1
  31. package/dist/assets/{eye-off-DtXkBVx1.js → eye-off-Buv7eciz.js} +1 -1
  32. package/dist/assets/{funnel-B1ZA9LM9.js → funnel-Cfb9Pxmr.js} +1 -1
  33. package/dist/assets/index-3ev2Q3E9.js +1 -0
  34. package/dist/assets/{index-Cs7XgdTM.js → index-7gCTV42h.js} +2 -2
  35. package/dist/assets/{index-Bsnch-zI.js → index-8fdLByFg.js} +1 -1
  36. package/dist/assets/index-B0hZ0TDG.js +1 -0
  37. package/dist/assets/{index-DCmEMj8e.js → index-B4OP8iL7.js} +3 -3
  38. package/dist/assets/{index-DKmgIoB5.js → index-BN-I0GSO.js} +2 -2
  39. package/dist/assets/index-BhFsGqUx.js +1 -0
  40. package/dist/assets/{index-Chao5nQb.js → index-Bui9zV-z.js} +1 -1
  41. package/dist/assets/{index-ciP7vurq.js → index-C7p19nIa.js} +1 -1
  42. package/dist/assets/{index-DwGxsIkH.js → index-CPMJQkvw.js} +1 -1
  43. package/dist/assets/{index-BBOAkvDK.js → index-CSdQtH7c.js} +1 -1
  44. package/dist/assets/index-CcZll7L2.js +1 -0
  45. package/dist/assets/index-CjG9JDZB.js +2 -0
  46. package/dist/assets/{index-DqoPYGJE.js → index-DGAT1KYx.js} +1 -1
  47. package/dist/assets/index-DIrLsKod.js +1 -0
  48. package/dist/assets/{index-DfBrqs5_.js → index-DJY6AKiM.js} +2 -2
  49. package/dist/assets/{index-Bv5ZyMGd.js → index-DOy0Yf1i.js} +1 -1
  50. package/dist/assets/{index-CywvUChw.js → index-DRBzHdu9.js} +1 -1
  51. package/dist/assets/index-Dal_ULkA.js +1 -0
  52. package/dist/assets/{index-DJQjDgkB.js → index-DokXNUuN.js} +1 -1
  53. package/dist/assets/{index-DjsqV-Fn.js → index-Dq33WQoi.js} +1 -1
  54. package/dist/assets/{index-C60AFYOu.js → index-DzzUoyj4.js} +1 -1
  55. package/dist/assets/{index-Vxd58TOQ.js → index-GlUqZUgQ.js} +1 -1
  56. package/dist/assets/index-X3RoQQa9.js +1 -0
  57. package/dist/assets/index-X9rrwleE.js +1 -0
  58. package/dist/assets/{index-DRqooPz9.js → index-rI994S3C.js} +4 -4
  59. package/dist/assets/{index.es-C6H8Q1nD.js → index.es-C2YDJ0AL.js} +1 -1
  60. package/dist/assets/issue-document-zNxGzRkY.js +1 -0
  61. package/dist/assets/login-page-BimTSmTC.js +1 -0
  62. package/dist/assets/{missing-info-charges-Dr8TvB2G.js → missing-info-charges-CVhY60ZL.js} +1 -1
  63. package/dist/assets/{modal-CPrQ9jQu.js → modal-BXR_xgUm.js} +1 -1
  64. package/dist/assets/modify-contract-dialog-flMl2p_T.js +1 -0
  65. package/dist/assets/{page-layout-Dp9Tr43G.js → page-layout-DMGj5xhW.js} +1 -1
  66. package/dist/assets/{page-not-found-BIERJkiT.js → page-not-found-B_GB5ntj.js} +1 -1
  67. package/dist/assets/{panel-top-open-lnF5tdL1.js → panel-top-open-Bf39HBrp.js} +1 -1
  68. package/dist/assets/report-commentary-row-BMyeQR9J.js +1 -0
  69. package/dist/assets/{save-BaXyzRSW.js → save-jkuyCWyY.js} +1 -1
  70. package/dist/assets/{similar-transactions-modal-DilkLkpx.js → similar-transactions-modal-DX3CPrMo.js} +1 -1
  71. package/dist/assets/{sub-764RJPt0.js → sub-CEXBz_OW.js} +1 -1
  72. package/dist/assets/subMonths-DY4HlBVa.js +1 -0
  73. package/dist/assets/summary-CPKS_69D.js +1 -0
  74. package/dist/assets/{toggle-expansion-button-BquTpOYj.js → toggle-expansion-button-Y2eS7nqg.js} +1 -1
  75. package/dist/assets/{update-accountant-status-Btcm95Uc.js → update-accountant-status-zL6vnwU9.js} +1 -1
  76. package/dist/assets/use-issue-monthly-documents-D9vQpbaZ.js +1 -0
  77. package/dist/assets/{use-url-query-A8PE3FMA.js → use-url-query-CqWra6gD.js} +1 -1
  78. package/dist/index.html +1 -1
  79. package/package.json +1 -1
  80. package/dist/assets/accordion-Air1oXnF.js +0 -1
  81. package/dist/assets/business-header-CAJaQahQ.js +0 -1
  82. package/dist/assets/business-trip-ADSYpFTM.js +0 -1
  83. package/dist/assets/charge-CLyQ-8f8.js +0 -1
  84. package/dist/assets/charges-filters-CYR6-jcu.js +0 -1
  85. package/dist/assets/contracts-DCd159UE.js +0 -1
  86. package/dist/assets/deposits-transactions-table-Dhm74qLm.js +0 -1
  87. package/dist/assets/index-5Ht40D_c.js +0 -1
  88. package/dist/assets/index-BL8siR4m.js +0 -1
  89. package/dist/assets/index-C0Bd8nM_.js +0 -1
  90. package/dist/assets/index-CFLkhm3K.js +0 -1
  91. package/dist/assets/index-CXZphjyK.js +0 -1
  92. package/dist/assets/index-Cd9YArsS.js +0 -1
  93. package/dist/assets/index-DynC0Vxq.js +0 -1
  94. package/dist/assets/index-cd89pXq_.js +0 -1
  95. package/dist/assets/index-d-FcvOUD.js +0 -2
  96. package/dist/assets/issue-document-B8SLRY9w.js +0 -1
  97. package/dist/assets/login-page-DF0c_Pay.js +0 -1
  98. package/dist/assets/modify-contract-dialog-BMTCgQ3i.js +0 -1
  99. package/dist/assets/report-commentary-row-BsA3JSzG.js +0 -1
  100. package/dist/assets/subMonths-CZ2djAnO.js +0 -1
  101. package/dist/assets/summary-BvHHpnIR.js +0 -1
  102. package/dist/assets/use-issue-monthly-documents-Dx6_0gyN.js +0 -1
@@ -0,0 +1,2 @@
1
+ import{dZ as C,j as e,ah as L,ay as a,R as U,a6 as b,gg as y,r as u,b$ as N,gh as D,gi as k,J as R,gj as A,u as $,F as E,g9 as T,B as O,gk as P,c as z,gl as M}from"./index-rI994S3C.js";import{P as Y}from"./page-layout-DMGj5xhW.js";const d=(s,o)=>C(o,{minimumFractionDigits:0}).format(s);function B(s){return{id:s.id,chargeId:s.chargeId,date:s.date,description:s.description??"",reference:s.reference??"",amountILS:s.revenueLocal.raw,amountUSD:s.revenueDefaultForeign.raw,originalAmount:s.revenueOriginal.formatted}}const V=({recordData:s})=>{const o=b(y,s),r=B(o);return e.jsx("div",{className:"p-2 bg-background rounded-lg border border-border/30 text-sm",children:e.jsxs(L,{to:U.CHARGES.DETAIL(r.chargeId),target:"_blank",rel:"noreferrer",onClick:g=>g.stopPropagation(),className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"font-medium text-foreground",children:r.reference}),e.jsx("p",{className:"font-medium text-foreground",children:r.description}),e.jsxs("div",{className:"flex gap-4 mt-1 text-xs text-muted-foreground",children:[e.jsx("span",{children:r.chargeId}),e.jsx("span",{children:r.date})]})]}),e.jsxs("div",{className:"invisible md:visible md:text-right flex-shrink-0",children:[e.jsx("p",{className:"text-sm font-medium text-foreground",children:d(r.amountILS,a.Ils)}),e.jsx("p",{className:"text-xs text-muted-foreground",children:d(r.amountUSD,a.Usd)}),e.jsx("p",{className:"text-xs text-muted-foreground",children:r.originalAmount})]}),e.jsx("div",{className:"md:invisible ml-2 text-right",children:e.jsx("p",{className:"text-xs font-medium text-foreground",children:d(r.amountILS,a.Ils)})})]})})};function q(s){return{id:s.id,name:s.name,revenueILS:s.revenueLocal.raw,revenueUSD:s.revenueDefaultForeign.raw,records:s.records.map(o=>({id:o.id,data:o}))}}const G=({clientData:s})=>{const[o,r]=u.useState(!1),g=b(k,s),t=q(g),v=()=>{r(l=>!l)},x=u.useMemo(()=>t.records.slice().sort((l,i)=>l.data.date.localeCompare(i.data.date)),[t.records]);return e.jsxs("div",{children:[e.jsxs("button",{onClick:v,className:"w-full flex items-center justify-between p-2 bg-background rounded-lg border border-border/50 hover:bg-accent/5 transition-colors",children:[e.jsxs("div",{className:"flex items-center gap-3 flex-1",children:[o?e.jsx(N,{className:"size-4 text-muted-foreground flex-shrink-0"}):e.jsx(D,{className:"size-4 text-muted-foreground flex-shrink-0"}),e.jsxs("div",{className:"text-left",children:[e.jsx("p",{className:"font-medium text-foreground text-sm",children:t.name}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[t.records?.length||0," record",t.records?.length===1?"":"s"]})]})]}),e.jsxs("div",{className:"hidden md:grid grid-cols-2 gap-4 text-right flex-shrink-0",children:[e.jsx("div",{children:e.jsx("p",{className:"text-xs text-muted-foreground",children:d(t.revenueILS,a.Ils)})}),e.jsx("div",{children:e.jsx("p",{className:"text-xs text-muted-foreground",children:d(t.revenueUSD,a.Usd)})})]}),e.jsxs("div",{className:"md:hidden ml-4 text-right",children:[e.jsx("p",{className:"text-xs font-medium text-foreground",children:d(t.revenueILS,a.Ils)}),e.jsx("p",{className:"text-xs text-muted-foreground",children:d(t.revenueUSD,a.Usd)})]})]}),o&&x&&e.jsx("div",{className:"mt-3 ml-2 space-y-3 border-l-2 border-border/50 pl-2",children:x.map(l=>e.jsx(V,{recordData:l.data},l.id))})]})};function H(s){return{code:s.code,name:s.name,revenues:{ILS:s.revenueLocal.raw,USD:s.revenueDefaultForeign.raw},clients:s.clients.map(o=>({id:o.id,data:o}))}}const J=({countryData:s})=>{const[o,r]=u.useState(!1),g=b(A,s),t=H(g),v=()=>{r(i=>!i)},x={ILS:t.revenues.ILS,USD:t.revenues.USD},l=u.useMemo(()=>t.clients.slice().sort((i,j)=>j.data.revenueDefaultForeign.raw-i.data.revenueDefaultForeign.raw),[t.clients]);return e.jsxs(R,{className:"border border-border",children:[e.jsxs("button",{onClick:()=>v(),className:"w-full px-4 py-2 hover:bg-accent/5 transition-colors flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-1",children:[o?e.jsx(N,{className:"size-5 text-muted-foreground flex-shrink-0"}):e.jsx(D,{className:"size-5 text-muted-foreground flex-shrink-0"}),e.jsxs("div",{className:"text-left",children:[e.jsx("p",{className:"font-semibold text-foreground text-lg",children:t.name}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[t.clients.length," clients"]})]})]}),e.jsxs("div",{className:"hidden md:grid grid-cols-2 gap-4 text-right flex-shrink-0",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground mb-1",children:"ILS"}),e.jsx("p",{className:"font-semibold text-foreground",children:d(t.revenues.ILS,a.Ils)})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground mb-1",children:"USD"}),e.jsx("p",{className:"font-semibold text-foreground",children:d(t.revenues.USD,a.Usd)})]})]})]}),e.jsxs("div",{className:"md:hidden px-2 py-2 bg-accent/5 border-t border-border flex gap-4",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:"ILS"}),e.jsx("p",{className:"font-semibold text-foreground",children:d(t.revenues.ILS,a.Ils)})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:"USD"}),e.jsx("p",{className:"font-semibold text-foreground",children:d(t.revenues.USD,a.Usd)})]})]}),o&&e.jsx("div",{className:"border-t border-border",children:e.jsxs("div",{className:"space-y-2 p-3 bg-muted/30",children:[l.map(i=>e.jsx(G,{clientData:i.data},i.id)),e.jsx("div",{className:"pt-2 border-t border-border/50 mt-4",children:e.jsxs("div",{className:"flex items-center justify-between p-2",children:[e.jsx("p",{className:"font-semibold text-foreground text-sm",children:"Clients Subtotal"}),e.jsxs("div",{className:"hidden md:grid grid-cols-2 gap-4 text-right",children:[e.jsx("div",{children:e.jsx("p",{className:"font-semibold text-foreground",children:d(x.ILS,a.Ils)})}),e.jsx("div",{children:e.jsx("p",{className:"font-semibold text-foreground",children:d(x.USD,a.Usd)})})]}),e.jsxs("div",{className:"md:hidden ml-4 text-right",children:[e.jsx("p",{className:"text-sm font-semibold text-foreground",children:d(x.ILS,a.Ils)}),e.jsx("p",{className:"text-xs text-muted-foreground",children:d(x.USD,a.Usd)})]})]})})]})})]},t.code)},_=()=>{const[s,o]=u.useState(new Date().getFullYear()-1),[{data:r,fetching:g}]=$({query:M,variables:{filters:{year:s}}}),{setFiltersContext:t}=u.useContext(E),v=u.useMemo(()=>`Annual Revenue Report for ${s}`,[s]),{totalClients:x,totalRevenueIls:l,totalRevenueUsd:i}=u.useMemo(()=>{const n={totalClients:0,totalRevenueIls:0,totalRevenueUsd:0};return r?.annualRevenueReport.countries.map(p=>{n.totalClients+=p.clients.length,n.totalRevenueIls+=p.revenueLocal.raw,n.totalRevenueUsd+=p.revenueDefaultForeign.raw}),n},[r?.annualRevenueReport.countries]),j=u.useCallback(()=>{const n=[];n.push("Country,Client,charge ID,Date,Description,Revenue ILS,Revenue USD"),n.push(`Annual,,,,TOTAL,${l.toFixed(2)},${i.toFixed(2)}`),r?.annualRevenueReport.countries.sort((m,c)=>c.revenueDefaultForeign.raw-m.revenueDefaultForeign.raw).map(m=>{n.push(`${m.name},,,,TOTAL,${m.revenueLocal.raw.toFixed(2)},${m.revenueDefaultForeign.raw.toFixed(2)}`),m.clients.sort((c,h)=>h.revenueDefaultForeign.raw-c.revenueDefaultForeign.raw).map(c=>{c.records&&c.records.length>0?(n.push(`${m.name},${c.name},,,TOTAL,${c.revenueLocal.raw.toFixed(2)},${c.revenueDefaultForeign.raw.toFixed(2)}`),c.records.sort((h,I)=>h.date.localeCompare(I.date)).map(h=>{n.push(`${m.name},${c.name},${h.chargeId},${h.date},${h.description},${h.revenueLocal.raw.toFixed(2)},${h.revenueDefaultForeign.raw.toFixed(2)}`)})):n.push(`${m.name},${c.name},,,,,`)})});const p=n.join(`
2
+ `),w=new Blob([p],{type:"text/csv;charset=utf-8;"}),f=document.createElement("a"),F=URL.createObjectURL(w);f.setAttribute("href",F),f.setAttribute("download",`annual-revenue-${s}.csv`),f.style.visibility="hidden",document.body.appendChild(f),f.click(),document.body.removeChild(f)},[r,s]);u.useEffect(()=>{t(e.jsxs("div",{className:"flex items-center justify-end gap-2",children:[e.jsx(T,{value:new Date(s,0,1),onChange:n=>n&&o(n?.getFullYear()),popoverProps:{withinPortal:!0},minDate:new Date(2010,0,1),maxDate:new Date}),e.jsxs(O,{onClick:j,variant:"outline",size:"sm",className:"flex items-center gap-2 bg-transparent",children:[e.jsx(P,{className:"h-4 w-4"}),e.jsx("span",{className:"hidden sm:inline",children:"Export CSV"})]})]}))},[s,g,t,j]);const S=u.useMemo(()=>r?.annualRevenueReport.countries.slice().sort((n,p)=>p.revenueDefaultForeign.raw-n.revenueDefaultForeign.raw),[r]);return e.jsx(Y,{title:"Annual Revenue Report",description:v,children:g?e.jsx(z,{}):e.jsx("div",{className:"min-h-screen bg-background",children:e.jsx("main",{className:"container mx-auto px-2 py-2 max-w-7xl",children:e.jsxs("div",{className:"space-y-2",children:[e.jsxs(R,{className:"border border-border bg-accent/10",children:[e.jsxs("div",{className:"w-full px-4 py-2 pl-12 transition-colors flex items-center justify-between",children:[e.jsx("div",{className:"flex items-center gap-2 flex-1",children:e.jsxs("div",{className:"text-left",children:[e.jsx("p",{className:"font-semibold text-foreground text-lg",children:"Total Revenue"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[x," clients"]})]})}),e.jsxs("div",{className:"hidden md:grid grid-cols-2 gap-4 text-right flex-shrink-0",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground mb-1",children:"ILS"}),e.jsx("p",{className:"font-semibold text-foreground",children:d(l,a.Ils)})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground mb-1",children:"USD"}),e.jsx("p",{className:"font-semibold text-foreground",children:d(i,a.Usd)})]})]})]}),e.jsxs("div",{className:"md:hidden px-2 py-2 bg-accent/5 border-t border-border flex gap-4",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:"ILS"}),e.jsx("p",{className:"font-semibold text-foreground",children:d(l,a.Ils)})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:"USD"}),e.jsx("p",{className:"font-semibold text-foreground",children:d(i,a.Usd)})]})]})]}),S?.map(n=>e.jsx(J,{countryData:n},n.id))]})})})})};export{_ as AnnualRevenueReport};
@@ -1 +1 @@
1
- import{j as e,bQ as D,bT as a,w as f,d7 as n,H as N,ge as v,r as d,bI as E,D as T,aL as I,B as w,x as A,bB as O,E as P,dr as B,W as L,Z as y,_ as C,$ as F,a0 as M,b7 as V,a2 as g,b5 as U,au as _,F as k,aC as q,u as Q,c as $,bO as H,bP as z,bR as o,bS as G,gf as J}from"./index-DRqooPz9.js";import{u as S}from"./use-url-query-A8PE3FMA.js";import{P as W}from"./page-layout-Dp9Tr43G.js";import{F as Z}from"./funnel-B1ZA9LM9.js";const K=({record:s})=>{const t=N(v,s);return e.jsxs(D,{children:[e.jsx(a,{children:s.description}),e.jsx(a,{children:f(new Date(s.purchaseDate),"dd/MM/yyyy")}),e.jsx(a,{children:s.activationDate?f(new Date(s.activationDate),"dd/MM/yyyy"):void 0}),e.jsx(a,{children:t.originalCost?n(t.originalCost,0):void 0}),e.jsx(a,{children:t.reportYearDelta?n(t.reportYearDelta,0):void 0}),e.jsx(a,{children:n(t.totalDepreciableCosts,0)}),e.jsxs(a,{children:[n(s.statutoryDepreciationRate,0),"%"]}),e.jsx(a,{children:s.claimedDepreciationRate?`${n(s.claimedDepreciationRate,1)}%`:"-"}),e.jsx(a,{children:t.reportYearClaimedDepreciation?n(t.reportYearClaimedDepreciation,0):"-"}),e.jsx(a,{children:t.pastYearsAccumulatedDepreciation?n(t.pastYearsAccumulatedDepreciation,0):"-"}),e.jsx(a,{children:t.totalDepreciation?n(t.totalDepreciation,0):"-"}),e.jsx(a,{children:t.netValue?n(t.netValue,0):"-"})]})};function X(s){return!s||O(s)?null:encodeURIComponent(JSON.stringify(s))}const b="depreciationReportFilters";function ee({filter:s,setFilter:t,close:r}){const m=P({defaultValues:{...s}}),{control:c,handleSubmit:x}=m,{selectableFinancialEntities:u,fetching:l}=B(),j=i=>{t({...i,year:Number(i.year)}),r()};return e.jsx(L,{...m,children:e.jsxs("form",{onSubmit:x(j),className:"space-y-4",children:[e.jsx(y,{name:"year",control:c,rules:{required:"Year is required",validate:i=>{const p=Number(i);return Number.isNaN(p)||p<2e3||p>2100?"Invalid year":!0}},render:({field:i})=>e.jsxs(C,{children:[e.jsx(F,{children:"Year"}),e.jsx(M,{children:e.jsx(V,{...i,hideControls:!0,decimalScale:0})}),e.jsx(g,{})]})}),e.jsx(y,{name:"financialEntityId",defaultValue:s?.financialEntityId,control:c,render:({field:i})=>e.jsxs(C,{children:[e.jsx(F,{children:"Owner"}),e.jsx(U,{...i,data:u,value:i.value??void 0,disabled:l,placeholder:"Select a financial entity",formPart:!0}),e.jsx(g,{})]})}),e.jsx(_,{children:e.jsx(w,{type:"submit",disabled:l,children:"Filter"})})]})})}function ae({filter:s,setFilter:t}){const[r,m]=d.useState(!1),{get:c,set:x}=S();d.useEffect(()=>{const l=X(s),j=c(b);l!==j&&x(b,l)},[s,c,x]);const u=d.useCallback(l=>{E(l,s)||t(l)},[s,t]);return e.jsxs(T,{open:r,onOpenChange:m,children:[e.jsx(I,{asChild:!0,children:e.jsx(w,{variant:"outline",size:"icon",children:e.jsx(Z,{size:20})})}),e.jsx(A,{className:"sm:max-w-[425px]",children:e.jsx(ee,{filter:s,setFilter:u,close:()=>m(!1)})})]})}const R=({data:s,groupName:t})=>{const r=N(v,s);return e.jsxs(D,{className:"font-bold border-b border-black",children:[e.jsx(a,{children:t?"Group Total":"Overall Total"}),e.jsx(a,{colSpan:2,children:t}),e.jsx(a,{children:r.originalCost?n(r.originalCost,0):void 0}),e.jsx(a,{children:r.reportYearDelta?n(r.reportYearDelta,0):void 0}),e.jsx(a,{children:r.totalDepreciableCosts?n(r.totalDepreciableCosts,0):void 0}),e.jsx(a,{}),e.jsx(a,{}),e.jsx(a,{children:r.reportYearClaimedDepreciation?n(r.reportYearClaimedDepreciation,0):void 0}),e.jsx(a,{children:r.pastYearsAccumulatedDepreciation?n(r.pastYearsAccumulatedDepreciation,0):void 0}),e.jsx(a,{children:r.totalDepreciation?n(r.totalDepreciation,0):void 0}),e.jsx(a,{children:r.netValue?n(r.netValue,0):void 0})]})},ne=()=>{const{setFiltersContext:s}=d.useContext(k),{userContext:t}=d.useContext(q),{get:r}=S(),m=d.useMemo(()=>{const i={financialEntityId:t?.context.adminBusinessId,year:new Date().getFullYear()},p=r(b);if(p)try{return JSON.parse(decodeURIComponent(p))}catch(h){console.error("Failed to parse depreciation report filters from URL",h)}return i},[t?.context.adminBusinessId]),[c,x]=d.useState(m),[{data:u,fetching:l}]=Q({query:J,variables:{filters:c}});d.useEffect(()=>{s(e.jsx("div",{className:"flex flex-row gap-x-5",children:e.jsx(ae,{filter:c,setFilter:x})}))},[c,s,x]);const j=d.useMemo(()=>`Depreciation Report for ${c.year}`,[c.year]);return e.jsx(W,{title:"Depreciation Report",description:j,children:l?e.jsx($,{}):e.jsxs(H,{children:[e.jsxs(z,{children:[e.jsxs(D,{className:"font-bold text-xl",children:[e.jsx(o,{colSpan:6,className:"text-center border-x",children:"List of Assets and Costs"}),e.jsx(o,{colSpan:5,className:"text-center border-x",children:"Depreciation"}),e.jsx(o,{className:"text-center border-x",children:"Remaining"})]}),e.jsxs(D,{className:"border-b border-black",children:[e.jsx(o,{className:"whitespace-normal",children:"Assets List and Descriptions"}),e.jsx(o,{className:"whitespace-normal",children:"Date of Purchase"}),e.jsx(o,{className:"whitespace-normal",children:"Activation Date"}),e.jsx(o,{className:"whitespace-normal",children:"Original Cost"}),e.jsx(o,{className:"whitespace-normal",children:"Changes During the Year"}),e.jsx(o,{className:"whitespace-normal",children:"Total Depreciable Assets"}),e.jsx(o,{className:"whitespace-normal",children:"Statutory Depreciation Rate"}),e.jsx(o,{className:"whitespace-normal",children:"Claimed Depreciation Rate"}),e.jsx(o,{className:"whitespace-normal",children:"Depreciation Claimed This Year"}),e.jsx(o,{className:"whitespace-normal",children:"Previous Tax Years Accumulated Depreciation"}),e.jsx(o,{className:"whitespace-normal",children:"Total Depreciation"}),e.jsx(o,{className:"whitespace-normal",children:"Net Book Value"})]})]}),e.jsx(G,{children:u?.depreciationReport&&e.jsxs(e.Fragment,{children:[u.depreciationReport.categories.map((i,p)=>e.jsxs(d.Fragment,{children:[e.jsxs(D,{className:"font-bold",children:[e.jsx(a,{children:`Category ${p+1}`}),e.jsx(a,{colSpan:2,children:i.category.name}),e.jsx(a,{colSpan:3}),e.jsxs(a,{children:[n(i.category.percentage,0),"%"]}),e.jsx(a,{colSpan:5})]}),i.records.sort((h,Y)=>h.purchaseDate.localeCompare(Y.purchaseDate)).map(h=>e.jsx(K,{record:h},h.id)),e.jsx(R,{data:i.summary,groupName:i.category.name})]},i.id)),e.jsx(R,{data:u.depreciationReport.summary})]})})]})})};export{ne as DepreciationReport};
1
+ import{j as e,bQ as D,bT as a,w as f,d7 as n,a6 as N,ge as v,r as d,bI as E,D as T,aL as I,B as w,x as A,bB as O,E as P,dr as B,V as L,Y as y,Z as C,_ as F,$ as M,b7 as V,a1 as g,b5 as U,au as _,F as k,aC as q,u as Q,c as $,bO as z,bP as G,bR as o,bS as H,gf as J}from"./index-rI994S3C.js";import{u as S}from"./use-url-query-CqWra6gD.js";import{P as Z}from"./page-layout-DMGj5xhW.js";import{F as K}from"./funnel-Cfb9Pxmr.js";const W=({record:s})=>{const t=N(v,s);return e.jsxs(D,{children:[e.jsx(a,{children:s.description}),e.jsx(a,{children:f(new Date(s.purchaseDate),"dd/MM/yyyy")}),e.jsx(a,{children:s.activationDate?f(new Date(s.activationDate),"dd/MM/yyyy"):void 0}),e.jsx(a,{children:t.originalCost?n(t.originalCost,0):void 0}),e.jsx(a,{children:t.reportYearDelta?n(t.reportYearDelta,0):void 0}),e.jsx(a,{children:n(t.totalDepreciableCosts,0)}),e.jsxs(a,{children:[n(s.statutoryDepreciationRate,0),"%"]}),e.jsx(a,{children:s.claimedDepreciationRate?`${n(s.claimedDepreciationRate,1)}%`:"-"}),e.jsx(a,{children:t.reportYearClaimedDepreciation?n(t.reportYearClaimedDepreciation,0):"-"}),e.jsx(a,{children:t.pastYearsAccumulatedDepreciation?n(t.pastYearsAccumulatedDepreciation,0):"-"}),e.jsx(a,{children:t.totalDepreciation?n(t.totalDepreciation,0):"-"}),e.jsx(a,{children:t.netValue?n(t.netValue,0):"-"})]})};function X(s){return!s||O(s)?null:encodeURIComponent(JSON.stringify(s))}const b="depreciationReportFilters";function ee({filter:s,setFilter:t,close:r}){const m=P({defaultValues:{...s}}),{control:c,handleSubmit:x}=m,{selectableFinancialEntities:u,fetching:l}=B(),j=i=>{t({...i,year:Number(i.year)}),r()};return e.jsx(L,{...m,children:e.jsxs("form",{onSubmit:x(j),className:"space-y-4",children:[e.jsx(y,{name:"year",control:c,rules:{required:"Year is required",validate:i=>{const p=Number(i);return Number.isNaN(p)||p<2e3||p>2100?"Invalid year":!0}},render:({field:i})=>e.jsxs(C,{children:[e.jsx(F,{children:"Year"}),e.jsx(M,{children:e.jsx(V,{...i,hideControls:!0,decimalScale:0})}),e.jsx(g,{})]})}),e.jsx(y,{name:"financialEntityId",defaultValue:s?.financialEntityId,control:c,render:({field:i})=>e.jsxs(C,{children:[e.jsx(F,{children:"Owner"}),e.jsx(U,{...i,data:u,value:i.value??void 0,disabled:l,placeholder:"Select a financial entity",formPart:!0}),e.jsx(g,{})]})}),e.jsx(_,{children:e.jsx(w,{type:"submit",disabled:l,children:"Filter"})})]})})}function ae({filter:s,setFilter:t}){const[r,m]=d.useState(!1),{get:c,set:x}=S();d.useEffect(()=>{const l=X(s),j=c(b);l!==j&&x(b,l)},[s,c,x]);const u=d.useCallback(l=>{E(l,s)||t(l)},[s,t]);return e.jsxs(T,{open:r,onOpenChange:m,children:[e.jsx(I,{asChild:!0,children:e.jsx(w,{variant:"outline",size:"icon",children:e.jsx(K,{size:20})})}),e.jsx(A,{className:"sm:max-w-[425px]",children:e.jsx(ee,{filter:s,setFilter:u,close:()=>m(!1)})})]})}const R=({data:s,groupName:t})=>{const r=N(v,s);return e.jsxs(D,{className:"font-bold border-b border-black",children:[e.jsx(a,{children:t?"Group Total":"Overall Total"}),e.jsx(a,{colSpan:2,children:t}),e.jsx(a,{children:r.originalCost?n(r.originalCost,0):void 0}),e.jsx(a,{children:r.reportYearDelta?n(r.reportYearDelta,0):void 0}),e.jsx(a,{children:r.totalDepreciableCosts?n(r.totalDepreciableCosts,0):void 0}),e.jsx(a,{}),e.jsx(a,{}),e.jsx(a,{children:r.reportYearClaimedDepreciation?n(r.reportYearClaimedDepreciation,0):void 0}),e.jsx(a,{children:r.pastYearsAccumulatedDepreciation?n(r.pastYearsAccumulatedDepreciation,0):void 0}),e.jsx(a,{children:r.totalDepreciation?n(r.totalDepreciation,0):void 0}),e.jsx(a,{children:r.netValue?n(r.netValue,0):void 0})]})},ne=()=>{const{setFiltersContext:s}=d.useContext(k),{userContext:t}=d.useContext(q),{get:r}=S(),m=d.useMemo(()=>{const i={financialEntityId:t?.context.adminBusinessId,year:new Date().getFullYear()},p=r(b);if(p)try{return JSON.parse(decodeURIComponent(p))}catch(h){console.error("Failed to parse depreciation report filters from URL",h)}return i},[t?.context.adminBusinessId]),[c,x]=d.useState(m),[{data:u,fetching:l}]=Q({query:J,variables:{filters:c}});d.useEffect(()=>{s(e.jsx("div",{className:"flex flex-row gap-x-5",children:e.jsx(ae,{filter:c,setFilter:x})}))},[c,s,x]);const j=d.useMemo(()=>`Depreciation Report for ${c.year}`,[c.year]);return e.jsx(Z,{title:"Depreciation Report",description:j,children:l?e.jsx($,{}):e.jsxs(z,{children:[e.jsxs(G,{children:[e.jsxs(D,{className:"font-bold text-xl",children:[e.jsx(o,{colSpan:6,className:"text-center border-x",children:"List of Assets and Costs"}),e.jsx(o,{colSpan:5,className:"text-center border-x",children:"Depreciation"}),e.jsx(o,{className:"text-center border-x",children:"Remaining"})]}),e.jsxs(D,{className:"border-b border-black",children:[e.jsx(o,{className:"whitespace-normal",children:"Assets List and Descriptions"}),e.jsx(o,{className:"whitespace-normal",children:"Date of Purchase"}),e.jsx(o,{className:"whitespace-normal",children:"Activation Date"}),e.jsx(o,{className:"whitespace-normal",children:"Original Cost"}),e.jsx(o,{className:"whitespace-normal",children:"Changes During the Year"}),e.jsx(o,{className:"whitespace-normal",children:"Total Depreciable Assets"}),e.jsx(o,{className:"whitespace-normal",children:"Statutory Depreciation Rate"}),e.jsx(o,{className:"whitespace-normal",children:"Claimed Depreciation Rate"}),e.jsx(o,{className:"whitespace-normal",children:"Depreciation Claimed This Year"}),e.jsx(o,{className:"whitespace-normal",children:"Previous Tax Years Accumulated Depreciation"}),e.jsx(o,{className:"whitespace-normal",children:"Total Depreciation"}),e.jsx(o,{className:"whitespace-normal",children:"Net Book Value"})]})]}),e.jsx(H,{children:u?.depreciationReport&&e.jsxs(e.Fragment,{children:[u.depreciationReport.categories.map((i,p)=>e.jsxs(d.Fragment,{children:[e.jsxs(D,{className:"font-bold",children:[e.jsx(a,{children:`Category ${p+1}`}),e.jsx(a,{colSpan:2,children:i.category.name}),e.jsx(a,{colSpan:3}),e.jsxs(a,{children:[n(i.category.percentage,0),"%"]}),e.jsx(a,{colSpan:5})]}),i.records.sort((h,Y)=>h.purchaseDate.localeCompare(Y.purchaseDate)).map(h=>e.jsx(W,{record:h},h.id)),e.jsx(R,{data:i.summary,groupName:i.category.name})]},i.id)),e.jsx(R,{data:u.depreciationReport.summary})]})})]})})};export{ne as DepreciationReport};
@@ -0,0 +1 @@
1
+ import{g as v,ig as L,r as g,t as m,i as F,b3 as U,j as e,Y as C,Z as j,_ as f,$ as p,I as B,a0 as y,a1 as b,bE as V,bH as _,b7 as z,at as K,D as E,aL as D,B as h,x as M,al as R,am as A,E as O,V as P,ih as Q,ag as Y,u as $,ii as G,L as k,F as Z,bY as J,bO as W,bP as X,bQ as T,bR as ee,c2 as S,bS as se,bT as w,ij as te,c5 as ae,c4 as re,c6 as oe}from"./index-rI994S3C.js";import{D as ne}from"./data-table-pagination-XAlQIbO9.js";import{P as ie}from"./page-layout-DMGj5xhW.js";import{A as N}from"./arrow-up-down-VY6mkkTR.js";const de="insertTaxCategory",ce=()=>{const[{fetching:s},n]=v(L),t=g.useCallback(async a=>{const d="Error creating tax category",r=de;m.loading("Adding Tax Category",{id:r});try{const i=await n(a),l=F(i,d,r);if(l)return m.success("Success",{id:r,description:`${l.insertTaxCategory.name} was created`}),l.insertTaxCategory}catch(i){console.error(`${d}: ${i}`),m.error("Error",{id:r,description:d,duration:1e5,closeButton:!0})}},[n]);return{fetching:s,insertTaxCategory:t}};function q({formManager:s,setFetching:n,isInsert:t}){const{control:a,watch:d,setValue:r}=s,{selectableSortCodes:i,fetching:l,sortCodes:x}=U();g.useEffect(()=>{n(l)},[n,l]);const c=d("sortCode");return g.useEffect(()=>{if(c){const o=x.find(u=>u.key===c);o?.defaultIrsCode&&r("irsCode",o.defaultIrsCode,{shouldDirty:!0})}},[c,x,r]),e.jsxs(e.Fragment,{children:[e.jsx(C,{name:"name",control:a,rules:{required:"Required",minLength:{value:2,message:"Must be at least 2 characters"}},render:({field:o,fieldState:u})=>e.jsxs(j,{children:[e.jsx(f,{children:"Name"}),e.jsx(p,{children:e.jsx(B,{...o,value:o.value??void 0,required:!0,className:t?"":y(u)})}),e.jsx(b,{})]})}),e.jsx(V,{name:"sortCode",control:a,render:({field:o,fieldState:u})=>e.jsx(_,{...o,onChange:H=>{o.onChange(Number(H))},data:i,value:o.value?.toString(),disabled:l,label:"Sort Code",placeholder:"Scroll to see all options",maxDropdownHeight:160,searchable:!0,className:t?"":y(u)})}),e.jsx(C,{name:"irsCode",control:a,render:({field:o,fieldState:u})=>e.jsxs(j,{children:[e.jsx(f,{children:"IRS Code"}),e.jsx(p,{children:e.jsx(z,{...o,className:t?"":y(u),value:o.value??void 0,hideControls:!0,decimalScale:0})}),e.jsx(b,{})]})}),e.jsx(C,{control:a,name:"taxExcluded",render:({field:o})=>e.jsxs(j,{className:"flex flex-row items-center justify-between",children:[e.jsx("div",{className:"space-y-0.5",children:e.jsx(f,{children:"Tax excluded category"})}),e.jsx(p,{children:e.jsx(K,{onCheckedChange:o.onChange,checked:o.value??void 0})})]})})]})}function le({onAdd:s}){const[n,t]=g.useState(!1);return e.jsxs(E,{open:n,onOpenChange:t,children:[e.jsx(D,{asChild:!0,children:e.jsx(h,{children:"Add Tax Category"})}),e.jsxs(M,{className:"w-[90vw] max-w-screen-md",children:[e.jsx(R,{children:e.jsx(A,{children:"Add New Tax Category"})}),e.jsx(xe,{close:()=>t(!1),onAdd:s})]})]})}function xe({close:s,onAdd:n}){const t=O({}),{handleSubmit:a}=t,[d,r]=g.useState(!1),{insertTaxCategory:i,fetching:l}=ce(),x=c=>{c.sortCode&&=parseInt(c.sortCode.toString()),i({fields:c}).then(o=>{o?.id&&(n?.(o.id),s())})};return e.jsx(P,{...t,children:e.jsxs("form",{onSubmit:a(x),children:[e.jsx("div",{className:"flex flex-col gap-4 my-4",children:e.jsx(q,{isInsert:!0,formManager:t,setFetching:r})}),e.jsx("div",{className:"flex justify-end mt-4",children:e.jsx(h,{type:"submit",disabled:l||d,children:"Add Tax Category"})})]})})}const ge="updateTaxCategory",ue=()=>{const[{fetching:s},n]=v(Q),t=g.useCallback(async a=>{const d="Error updating tax category",r=`${ge}-${a.taxCategoryId}`;m.loading("Uploading Tax Category",{id:r});try{const i=await n(a),l=F(i,d,r,"updateTaxCategory");if(l)return m.success("Success",{id:r,description:`${l.updateTaxCategory.name} was updated`}),l.updateTaxCategory}catch(i){console.error(`${d}: ${i}`),m.error("Error",{id:r,description:d,duration:1e5,closeButton:!0})}},[n]);return{fetching:s,updateTaxCategory:t}};function me({taxCategoryId:s,onAdd:n}){const[t,a]=g.useState(!1);return e.jsxs(E,{open:t,onOpenChange:a,children:[e.jsx(D,{asChild:!0,children:e.jsx(h,{variant:"outline",size:"icon",children:e.jsx(Y,{})})}),e.jsxs(M,{className:"w-[400px] max-w-screen-md",children:[e.jsx(R,{children:e.jsx(A,{children:"Edit Tax Category"})}),e.jsx(he,{taxCategoryId:s,close:()=>a(!1),onAdd:n})]})]})}function he({taxCategoryId:s,close:n,onAdd:t}){const[{data:a,fetching:d}]=$({query:G,variables:{id:s}}),r=a?.taxCategory;return!r&&!d&&m.error("Error",{description:"Couldn'nt find tax category"}),d?e.jsx(k,{className:"h-10 w-10 animate-spin"}):e.jsx(Ce,{taxCategory:r,close:n,onAdd:t})}function Ce({taxCategory:s,close:n,onAdd:t}){const a=O({defaultValues:{sortCode:s.sortCode?.key,name:s.name,irsCode:s.irsCode}}),{handleSubmit:d}=a,[r,i]=g.useState(!1),{updateTaxCategory:l,fetching:x}=ue(),c=o=>{o.sortCode&&=parseInt(o.sortCode.toString()),l({fields:o,taxCategoryId:s.id}).then(u=>{u?.id&&(t?.(u.id),n())})};return e.jsx(P,{...a,children:e.jsxs("form",{onSubmit:d(c),children:[e.jsx("div",{className:"flex flex-col gap-4 my-4",children:e.jsx(q,{isInsert:!1,formManager:a,setFetching:i})}),e.jsx("div",{className:"flex justify-end mt-4",children:e.jsx(h,{type:"submit",disabled:x||r,children:"Update"})})]})})}const je=({data:s})=>e.jsx("td",{children:s.name}),fe=({data:s})=>e.jsx("td",{children:s.sortCode?e.jsxs("span",{children:[s.sortCode?.name," (",s.sortCode?.id,")"]}):"N/A"}),I=[{id:"name",accessorKey:"name",cell:({row:s})=>e.jsx(je,{data:s.original}),header:({column:s})=>e.jsxs(h,{variant:"ghost",onClick:()=>s.toggleSorting(s.getIsSorted()==="asc"),children:["Name",e.jsx(N,{})]})},{id:"sortCode",accessorKey:"sortCode.key",cell:({row:s})=>e.jsx(fe,{data:s.original}),header:({column:s})=>e.jsxs(h,{variant:"ghost",onClick:()=>s.toggleSorting(s.getIsSorted()==="asc"),children:["Sort Code",e.jsx(N,{})]})},{id:"edit",cell:({row:s})=>e.jsx(me,{taxCategoryId:s.original.id})}],Se=()=>{const[{data:s,fetching:n,error:t},a]=$({query:te}),{setFiltersContext:d}=g.useContext(Z),r=s?.taxCategories??[],i=J({data:r,columns:I,getCoreRowModel:oe(),getPaginationRowModel:re(),getSortedRowModel:ae(),initialState:{pagination:{pageSize:30}}}),l=i.getPageOptions();return g.useEffect(()=>{d(e.jsx("div",{className:"flex items-center justify-end gap-10 space-x-2 py-4",children:e.jsx("div",{className:"flex items-center justify-between px-2",children:e.jsx(ne,{table:i})})}))},[d,i,l]),g.useEffect(()=>{t&&m.error("Error",{description:"Error fetching tax categories"})},[t]),e.jsx(ie,{title:`Tax Categories (${r.length})`,description:"All tax categories",headerActions:e.jsx(le,{onAdd:()=>a()}),children:n?e.jsx("div",{className:"flex flex-row justify-center",children:e.jsx(k,{className:"h-10 w-10 animate-spin mr-2"})}):e.jsx("div",{className:"flex flex-col gap-4 rounded-md border",children:e.jsxs(W,{children:[e.jsx(X,{children:i.getHeaderGroups().map(x=>e.jsx(T,{children:x.headers.map(c=>e.jsx(ee,{children:c.isPlaceholder?null:S(c.column.columnDef.header,c.getContext())},c.id))},x.id))}),e.jsx(se,{children:i.getRowModel().rows.length===0?e.jsx(T,{children:e.jsx(w,{colSpan:I.length,className:"text-center py-8",children:"No tax categories found"})}):i.getRowModel().rows.map(x=>e.jsx(T,{children:x.getVisibleCells().map(c=>e.jsx(w,{children:S(c.column.columnDef.cell,c.getContext())},c.id))},x.id))})]})})})};export{Se as TaxCategories};
@@ -1,2 +1,2 @@
1
- import{r as u,j as e,w as v,H as R,gz as M,F as $,u as k,bY as P,g9 as B,L as T,bO as V,bP as L,bQ as d,bR as S,c2 as C,bS as Y,bT as t,gA as K,c4 as O,c6 as H,dX as z,ay as A}from"./index-DRqooPz9.js";import{D as Q}from"./data-table-pagination-DxOcd13P.js";import{P as q}from"./page-layout-Dp9Tr43G.js";import{D as X}from"./download-csv-button-BFfxSTjQ.js";const _=({data:a,year:s})=>{const n=u.useCallback(async()=>{if(!a)return{fileContent:"",fileName:""};const x=R(M,a),m=E(x),l=`${s}_ledger`;return{fileContent:m,fileName:l}},[a,s]);return a?e.jsx(X,{createFileVariables:n}):e.jsx("div",{})},F=[{key:"",valueFn:()=>""},{key:"",valueFn:()=>""},{key:"Counterparty",valueFn:a=>j(a.counterParty?.name??"")},{key:"Invoice Date",valueFn:a=>v(a.invoiceDate,"yyyy-MM-dd")},{key:"Value Date",valueFn:a=>v(a.valueDate,"yyyy-MM-dd")},{key:"Reference",valueFn:a=>a.reference?`"${j(a.reference)}"`:""},{key:"Description",valueFn:a=>a.description?`"${j(a.description)}"`:""},{key:"Debit Amount",valueFn:a=>a.amount.raw<0?Math.abs(a.amount.raw).toFixed(2):""},{key:"Credit Amount",valueFn:a=>a.amount.raw>=0?a.amount.raw.toFixed(2):""},{key:"Balance",valueFn:a=>a.balance.toFixed(2)}],E=a=>{const s=[F.map(({key:n})=>n).join(",")];return a.financialEntitiesInfo.map(n=>{const x=`${j(n.entity.name)},${n.entity.sortCode?.key}`,m=`,Opening Balance,,,,,,,,${n.openingBalance.raw.toFixed(2)}`,l=`Total,${j(n.entity.name)},,,,,,,${Math.abs(n.totalDebit.raw).toFixed(2)} Debit,`,g=`,,,,,,,,${n.totalCredit.raw.toFixed(2)} Credit,${n.closingBalance.raw.toFixed(2)}`,b=`,,,,,,,,${(n.totalCredit.raw-n.totalDebit.raw).toFixed(2)} Diff,`;s.push(x,m,...n.records.map(o=>F.map(({valueFn:D})=>D(o)).join(",")),l,g,b)}),s.join(`\r
2
- `)};function j(a){return a.replace(/"/g,'""').replace(/,/g,".")}const c=z(A.Ils),G=[{id:"placeholder",header:"",cell:()=>null},{id:"counterparty",accessorKey:"counterparty",header:"Counterparty",cell:({row:a})=>e.jsx("div",{className:"font-medium",children:a.original.counterParty?.name})},{id:"invoiceDate",accessorKey:"invoiceDate",header:"Invoice Date",cell:({row:a})=>{const s=new Date(a.getValue("invoiceDate")),n=v(s,"yyyy-MM-dd");return e.jsx("div",{className:"font-medium",children:n})}},{id:"valueDate",accessorKey:"valueDate",header:"Value Date",cell:({row:a})=>{const s=new Date(a.getValue("valueDate")),n=v(s,"yyyy-MM-dd");return e.jsx("div",{className:"font-medium",children:n})}},{id:"reference",accessorKey:"reference",header:"Reference"},{id:"description",accessorKey:"description",header:"Description"},{id:"debit",header:"Debit",cell:({row:a})=>{const s=a.original.amount.raw;return s<0?e.jsx("div",{className:"font-medium",children:c.format(s*-1)}):null}},{id:"credit",header:"Credit",cell:({row:a})=>{const s=a.original.amount.raw;return s>=0?e.jsx("div",{className:"font-medium",children:c.format(s)}):null}},{id:"balance",accessorKey:"balance",header:"Balance",cell:({row:a})=>e.jsx("div",{className:"font-medium",children:c.format(a.getValue("balance"))})}],ae=()=>{const{setFiltersContext:a}=u.useContext($),[s,n]=u.useState(new Date().getFullYear()-1),[{data:x,fetching:m}]=k({query:K,variables:{year:s}}),l=x?.yearlyLedgerReport,{financialEntitiesInfo:g}=l??{},b=u.useMemo(()=>g?.flatMap(r=>{const{entity:i,openingBalance:y,closingBalance:h,totalCredit:p,totalDebit:w}=r;return r.records.map(N=>({entity:i,openingBalance:y,closingBalance:h,totalCredit:p,totalDebit:w,...N}))})??[],[g]),o=P({data:b,columns:G,getCoreRowModel:H(),getPaginationRowModel:O(),initialState:{pagination:{pageSize:100}}}),D=o.getState().pagination.pageIndex;return u.useEffect(()=>{a(e.jsxs("div",{className:"flex items-center justify-end gap-10 space-x-2 py-4",children:[e.jsx("div",{className:"flex items-center justify-between px-2",children:e.jsx(Q,{table:o})}),e.jsxs("div",{className:"flex items-center justify-end gap-2",children:[e.jsx(B,{value:new Date(s,0,1),onChange:r=>r&&n(r?.getFullYear()),popoverProps:{withinPortal:!0},minDate:new Date(2010,0,1),maxDate:new Date}),e.jsx(_,{data:l,year:s})]})]}))},[s,m,a,l,o,D]),e.jsx(q,{title:"Yearly Ledger Report",children:m?e.jsx(T,{className:"h-10 w-10 animate-spin mr-2 self-center"}):l?e.jsx("div",{className:"flex flex-col gap-4 rounded-md border",children:e.jsxs(V,{children:[e.jsx(L,{children:o.getHeaderGroups().map(r=>e.jsx(d,{children:r.headers.map(i=>e.jsx(S,{children:i.isPlaceholder?null:C(i.column.columnDef.header,i.getContext())},i.id))},r.id))}),e.jsx(Y,{children:o.getRowModel().rows.map((r,i)=>{const y=o.getRowModel().rows[i-1],h=o.getRowModel().rows[i+1],p=!y||y.original.entity.id!==r.original.entity.id,w=!h||h.original.entity.id!==r.original.entity.id;return e.jsxs(e.Fragment,{children:[p&&i!==0&&e.jsx(d,{className:"border-y-2 border-t-gray-300 border-b-gray-500",children:e.jsx(t,{})}),p&&e.jsx(J,{row:r}),e.jsx(d,{children:r.getVisibleCells().map(f=>e.jsx(t,{children:C(f.column.columnDef.cell,f.getContext())},f.id))},r.id),w&&e.jsx(U,{row:r})]})})})]})}):e.jsx("div",{className:"rounded-md border h-24 text-center",children:"No results."})})};function J({row:a}){return e.jsxs(e.Fragment,{children:[e.jsxs(d,{className:"bg-gray-300",children:[e.jsx(t,{children:e.jsx("div",{className:"font-medium",children:a.original.entity.name})}),e.jsx(t,{children:e.jsx("div",{className:"font-medium",children:a.original.entity.sortCode?.key})}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{})]},`${a.id}-opening1`),e.jsxs(d,{className:"bg-gray-200",children:[e.jsx(t,{}),e.jsx(t,{children:e.jsx("div",{className:"font-medium",children:"Opening Balance"})}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{children:e.jsx("div",{className:"font-medium",children:c.format(a.original.openingBalance.raw)})})]},`${a.id}-opening2`)]})}function U({row:a}){return e.jsxs(e.Fragment,{children:[e.jsxs(d,{className:"bg-gray-200",children:[e.jsx(t,{children:e.jsx("div",{className:"font-medium",children:"Total"})}),e.jsx(t,{children:e.jsx("div",{className:"font-medium",children:a.original.entity.name})}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{children:e.jsxs("div",{className:"font-medium",children:[c.format(a.original.totalDebit.raw)," Debit"]})}),e.jsx(t,{})]},`${a.id}-totals1`),e.jsxs(d,{className:"bg-gray-200",children:[e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{children:e.jsxs("div",{className:"font-medium",children:[c.format(a.original.totalCredit.raw)," Credit"]})}),e.jsx(t,{children:e.jsx("div",{className:"font-medium",children:c.format(a.original.closingBalance.raw)})})]},`${a.id}-totals2`),e.jsxs(d,{className:"bg-gray-200",children:[e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{children:e.jsxs("div",{className:"font-medium",children:[c.format(a.original.totalCredit.raw-a.original.totalDebit.raw)," Diff"]})}),e.jsx(t,{})]},`${a.id}-totals3`)]})}export{ae as YearlyLedgerReport};
1
+ import{r as u,j as e,a6 as R,gz as M,w as v,F as $,u as k,bY as P,g9 as B,L as T,bO as V,bP as L,bQ as d,bR as S,c2 as C,bS as Y,bT as t,gA as K,c4 as O,c6 as z,dZ as A,ay as H}from"./index-rI994S3C.js";import{D as Q}from"./data-table-pagination-XAlQIbO9.js";import{P as q}from"./page-layout-DMGj5xhW.js";import{D as Z}from"./download-csv-button-CMQBUQeX.js";const _=({data:a,year:s})=>{const n=u.useCallback(async()=>{if(!a)return{fileContent:"",fileName:""};const x=R(M,a),m=E(x),l=`${s}_ledger`;return{fileContent:m,fileName:l}},[a,s]);return a?e.jsx(Z,{createFileVariables:n}):e.jsx("div",{})},F=[{key:"",valueFn:()=>""},{key:"",valueFn:()=>""},{key:"Counterparty",valueFn:a=>j(a.counterParty?.name??"")},{key:"Invoice Date",valueFn:a=>v(a.invoiceDate,"yyyy-MM-dd")},{key:"Value Date",valueFn:a=>v(a.valueDate,"yyyy-MM-dd")},{key:"Reference",valueFn:a=>a.reference?`"${j(a.reference)}"`:""},{key:"Description",valueFn:a=>a.description?`"${j(a.description)}"`:""},{key:"Debit Amount",valueFn:a=>a.amount.raw<0?Math.abs(a.amount.raw).toFixed(2):""},{key:"Credit Amount",valueFn:a=>a.amount.raw>=0?a.amount.raw.toFixed(2):""},{key:"Balance",valueFn:a=>a.balance.toFixed(2)}],E=a=>{const s=[F.map(({key:n})=>n).join(",")];return a.financialEntitiesInfo.map(n=>{const x=`${j(n.entity.name)},${n.entity.sortCode?.key}`,m=`,Opening Balance,,,,,,,,${n.openingBalance.raw.toFixed(2)}`,l=`Total,${j(n.entity.name)},,,,,,,${Math.abs(n.totalDebit.raw).toFixed(2)} Debit,`,g=`,,,,,,,,${n.totalCredit.raw.toFixed(2)} Credit,${n.closingBalance.raw.toFixed(2)}`,b=`,,,,,,,,${(n.totalCredit.raw-n.totalDebit.raw).toFixed(2)} Diff,`;s.push(x,m,...n.records.map(o=>F.map(({valueFn:D})=>D(o)).join(",")),l,g,b)}),s.join(`\r
2
+ `)};function j(a){return a.replace(/"/g,'""').replace(/,/g,".")}const c=A(H.Ils),G=[{id:"placeholder",header:"",cell:()=>null},{id:"counterparty",accessorKey:"counterparty",header:"Counterparty",cell:({row:a})=>e.jsx("div",{className:"font-medium",children:a.original.counterParty?.name})},{id:"invoiceDate",accessorKey:"invoiceDate",header:"Invoice Date",cell:({row:a})=>{const s=new Date(a.getValue("invoiceDate")),n=v(s,"yyyy-MM-dd");return e.jsx("div",{className:"font-medium",children:n})}},{id:"valueDate",accessorKey:"valueDate",header:"Value Date",cell:({row:a})=>{const s=new Date(a.getValue("valueDate")),n=v(s,"yyyy-MM-dd");return e.jsx("div",{className:"font-medium",children:n})}},{id:"reference",accessorKey:"reference",header:"Reference"},{id:"description",accessorKey:"description",header:"Description"},{id:"debit",header:"Debit",cell:({row:a})=>{const s=a.original.amount.raw;return s<0?e.jsx("div",{className:"font-medium",children:c.format(s*-1)}):null}},{id:"credit",header:"Credit",cell:({row:a})=>{const s=a.original.amount.raw;return s>=0?e.jsx("div",{className:"font-medium",children:c.format(s)}):null}},{id:"balance",accessorKey:"balance",header:"Balance",cell:({row:a})=>e.jsx("div",{className:"font-medium",children:c.format(a.getValue("balance"))})}],ae=()=>{const{setFiltersContext:a}=u.useContext($),[s,n]=u.useState(new Date().getFullYear()-1),[{data:x,fetching:m}]=k({query:K,variables:{year:s}}),l=x?.yearlyLedgerReport,{financialEntitiesInfo:g}=l??{},b=u.useMemo(()=>g?.flatMap(r=>{const{entity:i,openingBalance:y,closingBalance:h,totalCredit:p,totalDebit:w}=r;return r.records.map(N=>({entity:i,openingBalance:y,closingBalance:h,totalCredit:p,totalDebit:w,...N}))})??[],[g]),o=P({data:b,columns:G,getCoreRowModel:z(),getPaginationRowModel:O(),initialState:{pagination:{pageSize:100}}}),D=o.getState().pagination.pageIndex;return u.useEffect(()=>{a(e.jsxs("div",{className:"flex items-center justify-end gap-10 space-x-2 py-4",children:[e.jsx("div",{className:"flex items-center justify-between px-2",children:e.jsx(Q,{table:o})}),e.jsxs("div",{className:"flex items-center justify-end gap-2",children:[e.jsx(B,{value:new Date(s,0,1),onChange:r=>r&&n(r?.getFullYear()),popoverProps:{withinPortal:!0},minDate:new Date(2010,0,1),maxDate:new Date}),e.jsx(_,{data:l,year:s})]})]}))},[s,m,a,l,o,D]),e.jsx(q,{title:"Yearly Ledger Report",children:m?e.jsx(T,{className:"h-10 w-10 animate-spin mr-2 self-center"}):l?e.jsx("div",{className:"flex flex-col gap-4 rounded-md border",children:e.jsxs(V,{children:[e.jsx(L,{children:o.getHeaderGroups().map(r=>e.jsx(d,{children:r.headers.map(i=>e.jsx(S,{children:i.isPlaceholder?null:C(i.column.columnDef.header,i.getContext())},i.id))},r.id))}),e.jsx(Y,{children:o.getRowModel().rows.map((r,i)=>{const y=o.getRowModel().rows[i-1],h=o.getRowModel().rows[i+1],p=!y||y.original.entity.id!==r.original.entity.id,w=!h||h.original.entity.id!==r.original.entity.id;return e.jsxs(e.Fragment,{children:[p&&i!==0&&e.jsx(d,{className:"border-y-2 border-t-gray-300 border-b-gray-500",children:e.jsx(t,{})}),p&&e.jsx(J,{row:r}),e.jsx(d,{children:r.getVisibleCells().map(f=>e.jsx(t,{children:C(f.column.columnDef.cell,f.getContext())},f.id))},r.id),w&&e.jsx(U,{row:r})]})})})]})}):e.jsx("div",{className:"rounded-md border h-24 text-center",children:"No results."})})};function J({row:a}){return e.jsxs(e.Fragment,{children:[e.jsxs(d,{className:"bg-gray-300",children:[e.jsx(t,{children:e.jsx("div",{className:"font-medium",children:a.original.entity.name})}),e.jsx(t,{children:e.jsx("div",{className:"font-medium",children:a.original.entity.sortCode?.key})}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{})]},`${a.id}-opening1`),e.jsxs(d,{className:"bg-gray-200",children:[e.jsx(t,{}),e.jsx(t,{children:e.jsx("div",{className:"font-medium",children:"Opening Balance"})}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{children:e.jsx("div",{className:"font-medium",children:c.format(a.original.openingBalance.raw)})})]},`${a.id}-opening2`)]})}function U({row:a}){return e.jsxs(e.Fragment,{children:[e.jsxs(d,{className:"bg-gray-200",children:[e.jsx(t,{children:e.jsx("div",{className:"font-medium",children:"Total"})}),e.jsx(t,{children:e.jsx("div",{className:"font-medium",children:a.original.entity.name})}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{children:e.jsxs("div",{className:"font-medium",children:[c.format(a.original.totalDebit.raw)," Debit"]})}),e.jsx(t,{})]},`${a.id}-totals1`),e.jsxs(d,{className:"bg-gray-200",children:[e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{children:e.jsxs("div",{className:"font-medium",children:[c.format(a.original.totalCredit.raw)," Credit"]})}),e.jsx(t,{children:e.jsx("div",{className:"font-medium",children:c.format(a.original.closingBalance.raw)})})]},`${a.id}-totals2`),e.jsxs(d,{className:"bg-gray-200",children:[e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{children:e.jsxs("div",{className:"font-medium",children:[c.format(a.original.totalCredit.raw-a.original.totalDebit.raw)," Diff"]})}),e.jsx(t,{})]},`${a.id}-totals3`)]})}export{ae as YearlyLedgerReport};
@@ -1 +1 @@
1
- import{g as I,h as w,r as d,t as p,i as E,u as N,k as M,j as e,c as k,l as A,B as F,m as S,n as L,P as D,I as P,F as T,o as $,L as z,p as R,R as j,q as U,s as q}from"./index-DRqooPz9.js";import{u as v}from"./use-url-query-A8PE3FMA.js";import{B as O}from"./business-header-CAJaQahQ.js";import{C as _,M as Q}from"./Checkbox-DWmOT4mx.js";import{P as V}from"./page-layout-Dp9Tr43G.js";import"./building-2-CWrl-iq9.js";const H="mergeBusinesses",K=()=>{const[{fetching:a},o]=I(w),u=d.useCallback(async c=>{const l=`Error merging into business ID [${c.targetBusinessId}]`,n=`${H}-${c.targetBusinessId}`;p.loading("Merging Businesses",{id:n});try{const r=await o(c),t=E(r,l,n);if(t)return p.success("Success",{id:n,description:"Businesses merged"}),t.mergeBusinesses.id}catch(r){console.error(`${l}: ${r}`),p.error("Error",{id:n,description:l,duration:1e5,closeButton:!0})}},[o]);return{fetching:a,mergeBusinesses:u}};function G({businessIds:a,onDone:o,resetMerge:u}){const{mergeBusinesses:c,fetching:l}=K(),n=Array.from(new Set(a)),[{data:r,fetching:t}]=N({query:M,variables:{businessIds:n}}),[x,h]=d.useState(r?.businesses[0]),s=r?.businesses.length!==n.length&&"Some businesses were not Found"||void 0,m=r?.businesses||[],b=d.useCallback(async()=>{if(!x){p.error("Error",{description:"No main business selected"});return}if(n.length<2){p.error("Error",{description:"At least 2 businesses are required to execute a merge"});return}return await c({targetBusinessId:x.id,businessIdsToMerge:n.filter(g=>g!==x.id)}),u(),o()},[x,n,c,o,u]);return e.jsxs(e.Fragment,{children:[t&&e.jsx("div",{className:"flex flex-col text-center w-full mb-1",children:e.jsx(k,{})}),!t&&s&&e.jsx("div",{className:"flex flex-col text-center w-full mb-1",children:e.jsx("h3",{className:"sm:text-2xl text-xl font-medium title-font mb-6 text-gray-900",children:s})}),!t&&!s&&e.jsxs(e.Fragment,{children:[e.jsxs("table",{children:[e.jsxs("tr",{children:[e.jsx("th",{children:"Main"}),m.map(g=>e.jsx("td",{children:e.jsx("div",{className:"flex items-center justify-center mx-2 px-2 py-2 border-2 border-b-0 rounded-t-xl",children:e.jsx(_,{checked:g.id===x?.id,size:"xl",onClick:()=>{h(g)}})})},g.id))]}),e.jsxs("tr",{children:[e.jsx("th",{children:"Name"}),m.map(g=>e.jsx("td",{children:g.name},g.id))]})]}),e.jsxs("div",{className:"flex justify-center gap-5 mt-5",children:[e.jsx("button",{type:"button",className:" text-white bg-blue-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-blue-600 rounded-sm text-lg",disabled:t||l,onClick:b,children:"Accept"}),e.jsx("button",{type:"button",className:" text-white bg-red-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-red-600 rounded-sm text-lg",onClick:o,children:"Cancel"}),e.jsx("button",{type:"button",className:" text-white bg-red-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-red-600 rounded-sm text-lg",onClick:()=>{u(),o()},children:"Reset Merge"})]})]})]})}function J(a){const[o,{close:u,open:c}]=A(!1),{selected:l,resetMerge:n}=a,r=new Set(l.map(({id:m})=>m)),t=r.size>=1,[x,h]=d.useState(t?"default":"outline");d.useEffect(()=>{h(t?"default":"outline")},[t]);const s=d.useCallback(()=>{u(),l.map(({onChange:m})=>m())},[l,u]);return e.jsxs(e.Fragment,{children:[e.jsx(F,{onClick:()=>{t&&c()},disabled:!t,variant:x,className:S("size-7.5",t?" bg-blue-500 hover:bg-blue-500/90":""),size:"icon",children:e.jsx(Q,{className:"size-5"})}),e.jsx(L,{opened:o,onClose:u,size:"auto",centered:!0,children:e.jsx(G,{businessIds:Array.from(r),onDone:s,resetMerge:n})})]})}function W({activePage:a,setPage:o,totalPages:u=1,businessName:c,setBusinessName:l}){const{get:n,set:r}=v(),[t,x]=d.useState(c);d.useEffect(()=>{const s=a>0?a.toFixed(0):void 0,m=n("page");s!==m&&s!=="0"&&r("page",s)},[a,n,r]),d.useEffect(()=>{const s=setTimeout(()=>{l(t)},600);return()=>{clearTimeout(s)}},[t,l]);const h=s=>{x(s)};return e.jsxs("div",{className:"flex flex-row gap-5 items-center",children:[e.jsx(D,{className:"flex-fit w-fit mx-0",currentPageIndex:a,onChange:o,totalPages:u}),e.jsx(P,{className:"w-72",placeholder:"Business Name",defaultValue:c??void 0,onChange:s=>h(s.target.value===""?void 0:s.target.value)})]})}const ne=()=>{const{get:a}=v(),[o,u]=d.useState(a("page")?Number(a("page")):0),[c,l]=d.useState(a("name")?a("name"):void 0),{setFiltersContext:n}=d.useContext(T),[{data:r,fetching:t},x]=N({query:q,variables:{page:o,limit:100,name:c}}),h=$(),[s,m]=d.useState([]),b=d.useCallback((i,f)=>{s.map(B=>B.id).includes(i)?m(s.filter(B=>B.id!==i)):m([...s,{id:i,onChange:f}])},[s]);function g(){m([])}d.useEffect(()=>{n(e.jsxs("div",{className:"flex flex-row gap-x-5",children:[e.jsx(W,{activePage:o,setPage:u,businessName:c,setBusinessName:l,totalPages:r?.allBusinesses?.pageInfo.totalPages}),e.jsx(J,{selected:s,resetMerge:g})]}))},[r,o,c,n,u,l,s]);const y=r?.allBusinesses?.nodes.filter(i=>i.__typename==="LtdFinancialEntity").sort((i,f)=>i.name.toLowerCase()>f.name.toLowerCase()?1:-1)??[],C=new Set(s.map(i=>i.id));return e.jsx(V,{title:`Businesses (${r?.allBusinesses?.pageInfo.totalRecords??""})`,description:"All businesses",headerActions:e.jsx("div",{className:"flex items-center py-4 gap-4",children:e.jsx(U,{description:"",onAdd:()=>x()})}),children:t?e.jsx("div",{className:"flex flex-row justify-center",children:e.jsx(z,{className:S("h-10 w-10 animate-spin mr-2")})}):e.jsx("div",{className:"space-y-2",children:y.map(i=>e.jsx("div",{className:"group relative border rounded-lg hover:shadow-md transition-shadow",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"pl-4 flex items-center",children:e.jsx(R,{checked:C.has(i.id),onCheckedChange:()=>{b(i.id,()=>{})},className:"h-4 w-4 rounded border-gray-300 cursor-pointer",onClick:f=>f.stopPropagation()})}),e.jsx("div",{role:"button",tabIndex:0,className:"flex-1 cursor-pointer",onClick:()=>{h(j.BUSINESSES.DETAIL(i.id),{state:{from:j.BUSINESSES.ALL}})},onKeyDown:f=>{(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),h(j.BUSINESSES.DETAIL(i.id),{state:{from:j.BUSINESSES.ALL}}))},children:e.jsx(O,{data:i})})]})},i.id))})})};export{ne as Businesses};
1
+ import{g as I,h as w,r as d,t as p,i as E,u as N,k as M,j as e,c as k,l as A,B as F,m as S,n as L,P as D,I as P,F as T,o as $,L as z,p as R,R as j,q as U,s as q}from"./index-rI994S3C.js";import{u as v}from"./use-url-query-CqWra6gD.js";import{B as O}from"./business-header-BC86M-9m.js";import{C as _,M as Q}from"./Checkbox-Dmuz3t7B.js";import{P as V}from"./page-layout-DMGj5xhW.js";import"./building-2-CMKd_bU8.js";const H="mergeBusinesses",K=()=>{const[{fetching:a},o]=I(w),u=d.useCallback(async c=>{const l=`Error merging into business ID [${c.targetBusinessId}]`,n=`${H}-${c.targetBusinessId}`;p.loading("Merging Businesses",{id:n});try{const r=await o(c),t=E(r,l,n);if(t)return p.success("Success",{id:n,description:"Businesses merged"}),t.mergeBusinesses.id}catch(r){console.error(`${l}: ${r}`),p.error("Error",{id:n,description:l,duration:1e5,closeButton:!0})}},[o]);return{fetching:a,mergeBusinesses:u}};function G({businessIds:a,onDone:o,resetMerge:u}){const{mergeBusinesses:c,fetching:l}=K(),n=Array.from(new Set(a)),[{data:r,fetching:t}]=N({query:M,variables:{businessIds:n}}),[x,h]=d.useState(r?.businesses[0]),s=r?.businesses.length!==n.length&&"Some businesses were not Found"||void 0,m=r?.businesses||[],b=d.useCallback(async()=>{if(!x){p.error("Error",{description:"No main business selected"});return}if(n.length<2){p.error("Error",{description:"At least 2 businesses are required to execute a merge"});return}return await c({targetBusinessId:x.id,businessIdsToMerge:n.filter(g=>g!==x.id)}),u(),o()},[x,n,c,o,u]);return e.jsxs(e.Fragment,{children:[t&&e.jsx("div",{className:"flex flex-col text-center w-full mb-1",children:e.jsx(k,{})}),!t&&s&&e.jsx("div",{className:"flex flex-col text-center w-full mb-1",children:e.jsx("h3",{className:"sm:text-2xl text-xl font-medium title-font mb-6 text-gray-900",children:s})}),!t&&!s&&e.jsxs(e.Fragment,{children:[e.jsxs("table",{children:[e.jsxs("tr",{children:[e.jsx("th",{children:"Main"}),m.map(g=>e.jsx("td",{children:e.jsx("div",{className:"flex items-center justify-center mx-2 px-2 py-2 border-2 border-b-0 rounded-t-xl",children:e.jsx(_,{checked:g.id===x?.id,size:"xl",onClick:()=>{h(g)}})})},g.id))]}),e.jsxs("tr",{children:[e.jsx("th",{children:"Name"}),m.map(g=>e.jsx("td",{children:g.name},g.id))]})]}),e.jsxs("div",{className:"flex justify-center gap-5 mt-5",children:[e.jsx("button",{type:"button",className:" text-white bg-blue-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-blue-600 rounded-sm text-lg",disabled:t||l,onClick:b,children:"Accept"}),e.jsx("button",{type:"button",className:" text-white bg-red-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-red-600 rounded-sm text-lg",onClick:o,children:"Cancel"}),e.jsx("button",{type:"button",className:" text-white bg-red-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-red-600 rounded-sm text-lg",onClick:()=>{u(),o()},children:"Reset Merge"})]})]})]})}function J(a){const[o,{close:u,open:c}]=A(!1),{selected:l,resetMerge:n}=a,r=new Set(l.map(({id:m})=>m)),t=r.size>=1,[x,h]=d.useState(t?"default":"outline");d.useEffect(()=>{h(t?"default":"outline")},[t]);const s=d.useCallback(()=>{u(),l.map(({onChange:m})=>m())},[l,u]);return e.jsxs(e.Fragment,{children:[e.jsx(F,{onClick:()=>{t&&c()},disabled:!t,variant:x,className:S("size-7.5",t?" bg-blue-500 hover:bg-blue-500/90":""),size:"icon",children:e.jsx(Q,{className:"size-5"})}),e.jsx(L,{opened:o,onClose:u,size:"auto",centered:!0,children:e.jsx(G,{businessIds:Array.from(r),onDone:s,resetMerge:n})})]})}function W({activePage:a,setPage:o,totalPages:u=1,businessName:c,setBusinessName:l}){const{get:n,set:r}=v(),[t,x]=d.useState(c);d.useEffect(()=>{const s=a>0?a.toFixed(0):void 0,m=n("page");s!==m&&s!=="0"&&r("page",s)},[a,n,r]),d.useEffect(()=>{const s=setTimeout(()=>{l(t)},600);return()=>{clearTimeout(s)}},[t,l]);const h=s=>{x(s)};return e.jsxs("div",{className:"flex flex-row gap-5 items-center",children:[e.jsx(D,{className:"flex-fit w-fit mx-0",currentPageIndex:a,onChange:o,totalPages:u}),e.jsx(P,{className:"w-72",placeholder:"Business Name",defaultValue:c??void 0,onChange:s=>h(s.target.value===""?void 0:s.target.value)})]})}const ne=()=>{const{get:a}=v(),[o,u]=d.useState(a("page")?Number(a("page")):0),[c,l]=d.useState(a("name")?a("name"):void 0),{setFiltersContext:n}=d.useContext(T),[{data:r,fetching:t},x]=N({query:q,variables:{page:o,limit:100,name:c}}),h=$(),[s,m]=d.useState([]),b=d.useCallback((i,f)=>{s.map(B=>B.id).includes(i)?m(s.filter(B=>B.id!==i)):m([...s,{id:i,onChange:f}])},[s]);function g(){m([])}d.useEffect(()=>{n(e.jsxs("div",{className:"flex flex-row gap-x-5",children:[e.jsx(W,{activePage:o,setPage:u,businessName:c,setBusinessName:l,totalPages:r?.allBusinesses?.pageInfo.totalPages}),e.jsx(J,{selected:s,resetMerge:g})]}))},[r,o,c,n,u,l,s]);const y=r?.allBusinesses?.nodes.filter(i=>i.__typename==="LtdFinancialEntity").sort((i,f)=>i.name.toLowerCase()>f.name.toLowerCase()?1:-1)??[],C=new Set(s.map(i=>i.id));return e.jsx(V,{title:`Businesses (${r?.allBusinesses?.pageInfo.totalRecords??""})`,description:"All businesses",headerActions:e.jsx("div",{className:"flex items-center py-4 gap-4",children:e.jsx(U,{description:"",onAdd:()=>x()})}),children:t?e.jsx("div",{className:"flex flex-row justify-center",children:e.jsx(z,{className:S("h-10 w-10 animate-spin mr-2")})}):e.jsx("div",{className:"space-y-2",children:y.map(i=>e.jsx("div",{className:"group relative border rounded-lg hover:shadow-md transition-shadow",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"pl-4 flex items-center",children:e.jsx(R,{checked:C.has(i.id),onCheckedChange:()=>{b(i.id,()=>{})},className:"h-4 w-4 rounded border-gray-300 cursor-pointer",onClick:f=>f.stopPropagation()})}),e.jsx("div",{role:"button",tabIndex:0,className:"flex-1 cursor-pointer",onClick:()=>{h(j.BUSINESSES.DETAIL(i.id),{state:{from:j.BUSINESSES.ALL}})},onKeyDown:f=>{(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),h(j.BUSINESSES.DETAIL(i.id),{state:{from:j.BUSINESSES.ALL}}))},children:e.jsx(O,{data:i})})]})},i.id))})})};export{ne as Businesses};