UNPKG

@accounter/client

Version:
1 lines • 6.85 kB
import{s as e}from"./dist-BbgEzppd.js";import{i as t,o as n}from"./utils-BUNz070n.js";import{Gn as r,Kn as i,Ya as a}from"./error-handling-AQOG1RNy.js";import{r as o}from"./routes-BXbESQBe.js";import{c as s,p as c,s as l,u}from"./select-6mBYg_R6.js";import{At as d,Ft as f,It as p,Nt as m,Pt as h,Vt as g,_t as _,dr as v,jt as y,pt as b,wt as x}from"./common-Cy-x5Vhe.js";import{t as S}from"./funnel-BvwoBZ0O.js";import{t as C}from"./button-CBTN3XMQ.js";import{X as w,a as T,at as E,b as D,g as O,i as k,n as A,o as j,r as M,t as N,v as P}from"./table-tK8pMUMS.js";import{w as F}from"./index-B8E5XsZe.js";import{t as I}from"./use-url-query-BZOFfgST.js";import{t as L}from"./page-layout-BO3YzLcj.js";var R=e(n(),1),z=t(),B=({record:e})=>{let t=O(r,e);return(0,z.jsxs)(j,{children:[(0,z.jsx)(M,{children:e.description}),(0,z.jsx)(M,{children:E(new Date(e.purchaseDate),`dd/MM/yyyy`)}),(0,z.jsx)(M,{children:e.activationDate?E(new Date(e.activationDate),`dd/MM/yyyy`):void 0}),(0,z.jsx)(M,{children:t.originalCost?v(t.originalCost,0):void 0}),(0,z.jsx)(M,{children:t.reportYearDelta?v(t.reportYearDelta,0):void 0}),(0,z.jsx)(M,{children:v(t.totalDepreciableCosts,0)}),(0,z.jsxs)(M,{children:[v(e.statutoryDepreciationRate,0),`%`]}),(0,z.jsx)(M,{children:e.claimedDepreciationRate?`${v(e.claimedDepreciationRate,1)}%`:`-`}),(0,z.jsx)(M,{children:t.reportYearClaimedDepreciation?v(t.reportYearClaimedDepreciation,0):`-`}),(0,z.jsx)(M,{children:t.pastYearsAccumulatedDepreciation?v(t.pastYearsAccumulatedDepreciation,0):`-`}),(0,z.jsx)(M,{children:t.totalDepreciation?v(t.totalDepreciation,0):`-`}),(0,z.jsx)(M,{children:t.netValue?v(t.netValue,0):`-`})]})},V=e(w(),1);function H(e){return!e||o(e)?null:encodeURIComponent(JSON.stringify(e))}var U=`depreciationReportFilters`;function W({filter:e,setFilter:t,close:n}){let r=g({defaultValues:{...e}}),{control:i,handleSubmit:a}=r,{selectableFinancialEntities:o,fetching:s}=x(),c=e=>{t({...e,year:Number(e.year)}),n()};return(0,z.jsx)(d,{...r,children:(0,z.jsxs)(`form`,{onSubmit:a(c),className:`space-y-4`,children:[(0,z.jsx)(m,{name:`year`,control:i,rules:{required:`Year is required`,validate:e=>{let t=Number(e);return Number.isNaN(t)||t<2e3||t>2100?`Invalid year`:!0}},render:({field:e})=>(0,z.jsxs)(h,{children:[(0,z.jsx)(f,{children:`Year`}),(0,z.jsx)(y,{children:(0,z.jsx)(b,{...e,hideControls:!0,decimalScale:0})}),(0,z.jsx)(p,{})]})}),(0,z.jsx)(m,{name:`financialEntityId`,defaultValue:e?.financialEntityId,control:i,render:({field:e})=>(0,z.jsxs)(h,{children:[(0,z.jsx)(f,{children:`Owner`}),(0,z.jsx)(_,{...e,data:o,value:e.value??void 0,disabled:s,placeholder:`Select a financial entity`,formPart:!0}),(0,z.jsx)(p,{})]})}),(0,z.jsx)(u,{children:(0,z.jsx)(C,{type:`submit`,disabled:s,children:`Filter`})})]})})}function G({filter:e,setFilter:t}){let[n,r]=(0,R.useState)(!1),{get:i,set:a}=I();(0,R.useEffect)(()=>{let t=H(e);t!==i(`depreciationReportFilters`)&&a(U,t)},[e,i,a]);let o=(0,R.useCallback)(n=>{(0,V.default)(n,e)||t(n)},[e,t]);return(0,z.jsxs)(l,{open:n,onOpenChange:r,children:[(0,z.jsx)(c,{asChild:!0,children:(0,z.jsx)(C,{variant:`outline`,size:`icon`,children:(0,z.jsx)(S,{size:20})})}),(0,z.jsx)(s,{className:`sm:max-w-[425px]`,children:(0,z.jsx)(W,{filter:e,setFilter:o,close:()=>r(!1)})})]})}var K=({data:e,groupName:t})=>{let n=O(r,e);return(0,z.jsxs)(j,{className:`font-bold border-b border-black`,children:[(0,z.jsx)(M,{children:t?`Group Total`:`Overall Total`}),(0,z.jsx)(M,{colSpan:2,children:t}),(0,z.jsx)(M,{children:n.originalCost?v(n.originalCost,0):void 0}),(0,z.jsx)(M,{children:n.reportYearDelta?v(n.reportYearDelta,0):void 0}),(0,z.jsx)(M,{children:n.totalDepreciableCosts?v(n.totalDepreciableCosts,0):void 0}),(0,z.jsx)(M,{}),(0,z.jsx)(M,{}),(0,z.jsx)(M,{children:n.reportYearClaimedDepreciation?v(n.reportYearClaimedDepreciation,0):void 0}),(0,z.jsx)(M,{children:n.pastYearsAccumulatedDepreciation?v(n.pastYearsAccumulatedDepreciation,0):void 0}),(0,z.jsx)(M,{children:n.totalDepreciation?v(n.totalDepreciation,0):void 0}),(0,z.jsx)(M,{children:n.netValue?v(n.netValue,0):void 0})]})},q=()=>{let{setFiltersContext:e}=(0,R.useContext)(F),{userContext:t}=(0,R.useContext)(P),{get:n}=I(),[r,o]=(0,R.useState)((0,R.useMemo)(()=>{let e={financialEntityId:t?.context.adminBusinessId,year:new Date().getFullYear()},r=n(U);if(r)try{return JSON.parse(decodeURIComponent(r))}catch(e){console.error(`Failed to parse depreciation report filters from URL`,e)}return e},[t?.context.adminBusinessId,n])),[{data:s,fetching:c}]=a({query:i,variables:{filters:r}});return(0,R.useEffect)(()=>{e((0,z.jsx)(`div`,{className:`flex flex-row gap-x-5`,children:(0,z.jsx)(G,{filter:r,setFilter:o})}))},[r,e,o]),(0,z.jsx)(L,{title:`Depreciation Report`,description:(0,R.useMemo)(()=>`Depreciation Report for ${r.year}`,[r.year]),children:c?(0,z.jsx)(D,{}):(0,z.jsxs)(N,{children:[(0,z.jsxs)(T,{children:[(0,z.jsxs)(j,{className:`font-bold text-xl`,children:[(0,z.jsx)(k,{colSpan:6,className:`text-center border-x`,children:`List of Assets and Costs`}),(0,z.jsx)(k,{colSpan:5,className:`text-center border-x`,children:`Depreciation`}),(0,z.jsx)(k,{className:`text-center border-x`,children:`Remaining`})]}),(0,z.jsxs)(j,{className:`border-b border-black`,children:[(0,z.jsx)(k,{className:`whitespace-normal`,children:`Assets List and Descriptions`}),(0,z.jsx)(k,{className:`whitespace-normal`,children:`Date of Purchase`}),(0,z.jsx)(k,{className:`whitespace-normal`,children:`Activation Date`}),(0,z.jsx)(k,{className:`whitespace-normal`,children:`Original Cost`}),(0,z.jsx)(k,{className:`whitespace-normal`,children:`Changes During the Year`}),(0,z.jsx)(k,{className:`whitespace-normal`,children:`Total Depreciable Assets`}),(0,z.jsx)(k,{className:`whitespace-normal`,children:`Statutory Depreciation Rate`}),(0,z.jsx)(k,{className:`whitespace-normal`,children:`Claimed Depreciation Rate`}),(0,z.jsx)(k,{className:`whitespace-normal`,children:`Depreciation Claimed This Year`}),(0,z.jsx)(k,{className:`whitespace-normal`,children:`Previous Tax Years Accumulated Depreciation`}),(0,z.jsx)(k,{className:`whitespace-normal`,children:`Total Depreciation`}),(0,z.jsx)(k,{className:`whitespace-normal`,children:`Net Book Value`})]})]}),(0,z.jsx)(A,{children:s?.depreciationReport&&(0,z.jsxs)(z.Fragment,{children:[s.depreciationReport.categories.map((e,t)=>(0,z.jsxs)(R.Fragment,{children:[(0,z.jsxs)(j,{className:`font-bold`,children:[(0,z.jsx)(M,{children:`Category ${t+1}`}),(0,z.jsx)(M,{colSpan:2,children:e.category.name}),(0,z.jsx)(M,{colSpan:3}),(0,z.jsxs)(M,{children:[v(e.category.percentage,0),`%`]}),(0,z.jsx)(M,{colSpan:5})]}),e.records.sort((e,t)=>e.purchaseDate.localeCompare(t.purchaseDate)).map(e=>(0,z.jsx)(B,{record:e},e.id)),(0,z.jsx)(K,{data:e.summary,groupName:e.category.name})]},e.id)),(0,z.jsx)(K,{data:s.depreciationReport.summary})]})})]})})};export{q as DepreciationReport};