UNPKG

@accounter/client

Version:
1 lines 39.4 kB
import{s as e}from"./dist-ypP48_Ax.js";import{i as t,o as n}from"./utils-CbS-oR5I.js";import{r,t as i}from"./error-handling-CKe_iwSC.js";import{d as a,p as o,t as s}from"./chunk-62JRHF6Z-CBbOZODe.js";import{t as c}from"./createLucideIcon-BK8Z-P8J.js";import{Ar as l,Mr as u,Pr as d,Rr as f,U as p,yr as m}from"./common-DtCH-1rN.js";import{a as h,ft as g,i as _,n as v,o as y,r as b,t as x}from"./select-DrAHsHyM.js";import{t as S}from"./chevron-right-B6x1sjCY.js";import{t as C}from"./circle-check-DsB8GnOL.js";import{c as w,o as T}from"./separator-C_NTzotM.js";import{t as E}from"./info-DVp5JTix.js";import{t as D}from"./loader-circle-CZACSY-b.js";import{t as O}from"./lock-dZsYWUxt.js";import{n as k,t as ee}from"./upload-Dy-GM_Mx.js";import{t as A}from"./routes-4W-duEv9.js";import{t as j}from"./button-DUNsVBiu.js";import{Bc as M,Kl as te,nl as ne}from"./table-BXolY871.js";import{a as re,i as ie,n as N,o as P,r as ae,t as F}from"./card-DR4aRSHr.js";import{Ar as oe,B as se,Dr as ce,E as le,G as ue,H as I,Ma as de,Mr as fe,Nr as pe,Or as me,Qr as he,U as ge,V as L,W as _e,cs as R,ei as ve,g as ye,ha as be,i as xe,ja as Se,jr as Ce,ls as z,ma as we,n as Te,sn as Ee}from"./graphql-HKLcNTdf.js";import{B as De,C as Oe,S as ke,T as B,V,W as Ae,w as H}from"./index-U1vN7cBF.js";import{n as U,r as W,t as G}from"./alert-55QsYEfR.js";import{t as je}from"./page-layout-DtkTEMd2.js";import{n as Me}from"./charges-ledger-validation-D1LBP6Ct.js";var Ne=c(`circle-plus`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),Pe=c(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),K=e(n(),1),Fe=`setAnnualAuditStepStatus`,Ie=()=>{let[{fetching:e},t]=R(be);return{fetching:e,setStepStatus:(0,K.useCallback)(async e=>{let{stepId:n,ownerId:a,year:o}=e.input,s=e.input.status===I.Completed,c=`Error updating step ${n} status`,l=`${Fe}-${a}-${o}-${n}`;r.loading(s?`Marking as done...`:`Updating step status...`,{id:l});try{let n=await t(e),a=i(n,c,l);return a?(r.success(s?`Step marked as done`:`Step status updated`,{id:l}),a.setAnnualAuditStepStatus):void 0}catch(e){console.error(`${c}: ${e}`),r.error(`Error`,{id:l,description:c});return}},[t])}},q=t(),Le=e=>{switch(e){case`completed`:return(0,q.jsx)(C,{className:`h-5 w-5 text-green-600`});case`in-progress`:return(0,q.jsx)(f,{className:`h-5 w-5 text-blue-600`});case`pending`:return(0,q.jsx)(f,{className:`h-5 w-5 text-gray-400`});case`blocked`:return(0,q.jsx)(V,{className:`h-5 w-5 text-red-600`});case`loading`:return(0,q.jsx)(D,{className:`h-5 w-5 text-gray-400 animate-spin`})}},Re=e=>(0,q.jsx)(M,{variant:{completed:`default`,"in-progress":`secondary`,pending:`outline`,blocked:`destructive`,loading:`outline`}[e],children:{completed:`Completed`,"in-progress":`In Progress`,pending:`Pending`,blocked:`Blocked`,loading:`Loading...`}[e]}),ze=({children:e,ref:t,level:n})=>(0,q.jsx)(`div`,{ref:t,className:`${n>0?`ml-6 border-l-2 border-gray-200 pl-4`:``} relative`,children:e});function J({id:e,ref:t,title:n,description:r,icon:i,status:a,statusIndicator:o,actions:s,children:c,footer:l,isExpanded:u,onToggleExpanded:d,level:f=0,disabled:p=!1,manualData:m}){let h=(0,K.useMemo)(()=>{if(Array.isArray(m))return m.find(t=>t.stepId===e)},[m,e])?.notes??null;return(0,q.jsxs)(ze,{ref:t,level:f,children:[(0,q.jsxs)(F,{className:`mb-4`,children:[(0,q.jsx)(re,{className:`pb-3`,children:(0,q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[u==null?(0,q.jsx)(`div`,{className:`w-4`}):(0,q.jsx)(j,{disabled:p,variant:`ghost`,size:`sm`,onClick:d,className:`p-0 h-auto`,children:u?(0,q.jsx)(g,{className:`h-4 w-4`}):(0,q.jsx)(S,{className:`h-4 w-4`})}),Le(a),i,(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(P,{className:`text-lg`,children:[e,`. `,n]}),r&&(0,q.jsx)(ae,{className:`mt-1`,children:r})]})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[o,Re(a)]})]})}),s&&s.length>0&&(0,q.jsx)(N,{className:`pt-0`,children:(0,q.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:s.map((e,t)=>(0,q.jsx)(j,{variant:`outline`,size:`sm`,disabled:e.disabled||p,onClick:e.onClick,asChild:!!e.href&&!p&&!e.disabled,children:e.href?(0,q.jsx)(`a`,{href:e.href,children:e.label}):e.label},t))})}),(l||h)&&(0,q.jsxs)(ie,{className:`flex flex-col gap-2 items-start`,children:[l,h&&(0,q.jsxs)(`div`,{className:`mt-2 text-sm text-muted-foreground`,children:[`Notes: `,h]})]}),c]}),p&&(0,q.jsx)(F,{className:`absolute inset-0 bg-gray-500 opacity-50 pointer-events-auto z-10 ${f>0?`ml-4`:``}`})]})}function Y(e){switch(e){case I.Completed:return`completed`;case I.InProgress:return`in-progress`;case I.Blocked:return`blocked`;default:return`pending`}}var Be=[I.Pending,I.InProgress,I.Completed];function X({ownerId:e,stepId:t,year:n,initialStatus:r,initialNotes:i,onSaved:a}){let[o,s]=(0,K.useState)(r??I.Pending),[c,l]=(0,K.useState)(i??``),{fetching:u,setStepStatus:d}=Ie();(0,K.useEffect)(()=>{s(r??I.Pending)},[r]),(0,K.useEffect)(()=>{l(i??``)},[i]);let f=(0,K.useCallback)(async()=>{let r=await d({input:{ownerId:e,year:n,status:o,notes:c||null,stepId:t}});r&&a(Y(r.status))},[d,e,n,o,c,t,a]);return(0,q.jsxs)(F,{className:`mt-3 pl-4`,children:[(0,q.jsxs)(re,{className:`pb-2 pt-3 px-3`,children:[(0,q.jsx)(`div`,{className:`w-4`}),(0,q.jsx)(P,{className:`text-lg`,children:`Accountant Approval`})]}),(0,q.jsxs)(N,{className:`px-3 pb-3 pt-0 space-y-4`,children:[(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(y,{className:`text-xs text-muted-foreground`,children:`Status`}),(0,q.jsxs)(x,{value:o,onValueChange:e=>s(e),children:[(0,q.jsx)(_,{className:`h-8 w-48 text-xs`,children:(0,q.jsx)(h,{})}),(0,q.jsx)(v,{children:Be.map(e=>(0,q.jsx)(b,{value:e,className:`text-xs`,children:e.replace(`_`,` `)},e))})]})]}),(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(y,{className:`text-xs text-muted-foreground`,children:`Notes (optional)`}),(0,q.jsx)(T,{value:c,onChange:e=>l(e.target.value),rows:2,className:`text-xs`,placeholder:`Add any review notes...`})]}),(0,q.jsx)(j,{size:`sm`,className:`w-fit`,disabled:u,onClick:f,children:u?`Saving...`:`Save Approval`})]})]})}function Ve(e){let[t,n]=(0,K.useState)(`loading`),[r,i]=(0,K.useState)({approvedPercentage:0,pendingPercentage:0,unapprovedPercentage:100,totalCharges:1,approvedCount:0,pendingCount:0,unapprovedCount:1}),[a,o]=(0,K.useState)(!1),[s,c]=(0,K.useState)(!1),[l,d]=(0,K.useState)(void 0),{adminBusinessId:f,id:p,onStatusChange:m,year:h}=e,[{data:g,fetching:_,error:v},y]=z({query:Te,variables:{fromDate:`${h}-01-01`,toDate:`${h}-12-31`},pause:!0}),b=(0,K.useCallback)(async()=>{await y()},[y]),x=(0,K.useMemo)(()=>{if(Array.isArray(e.manualData))return e.manualData.find(e=>e.stepId===p)},[e.manualData,p]),S=(0,K.useMemo)(()=>{let e=x?.status;if(e)return Y(e)},[x]);(0,K.useEffect)(()=>{f&&!S&&!_&&!g&&!v&&b()},[f,S,_,g,v,b]);let C=x?.notes??null;(0,K.useEffect)(()=>{S&&d(S)},[S]),(0,K.useEffect)(()=>{let e=l??t;m&&m(p,e),e===`completed`&&!s?c(!0):e!==`completed`&&s&&c(!1)},[t,l,m,p,s]),(0,K.useEffect)(()=>{f?_&&!S&&n(`loading`):n(`blocked`)},[f,_,S]),(0,K.useEffect)(()=>{if(g?.accountantApprovalStatus){let{totalCharges:e,approvedCount:t,pendingCount:r,unapprovedCount:a}=g.accountantApprovalStatus,o={approvedPercentage:t/e*100||0,pendingPercentage:r/e*100||0,unapprovedPercentage:a/e*100||0,totalCharges:e,approvedCount:t,pendingCount:r,unapprovedCount:a};i(o),o.pendingPercentage===0&&o.unapprovedPercentage===0?n(`completed`):o.pendingPercentage+o.unapprovedPercentage<30?n(`in-progress`):n(`pending`)}},[g]);let w=(0,K.useMemo)(()=>A.CHARGES.ALL({byOwners:f?[f]:void 0,fromAnyDate:`${h}-01-01`,toAnyDate:`${h}-12-31`,accountantStatus:[xe.Pending,xe.Unapproved],sortBy:{field:Ee.Date,asc:!1}}),[f,h]),T=(0,K.useMemo)(()=>S?[{label:`Review Charges`,href:w},{label:`Revalidate`,onClick:b,disabled:_}]:[{label:`Review Charges`,href:w}],[S,w,b,_]),E=l??t,O=l&&l!==t;return(0,q.jsx)(J,{...e,status:E,statusIndicator:_?(0,q.jsx)(D,{className:`h-5 w-5 animate-spin text-muted-foreground`}):O?(0,q.jsx)(M,{variant:`outline`,className:`text-xs border-blue-200 text-blue-700`,children:`Manual override`}):void 0,icon:(0,q.jsx)(u,{className:`h-4 w-4`}),actions:T,isExpanded:a,footer:(0,q.jsxs)(`div`,{className:`w-full flex items-center gap-2 pt-2 border-t`,children:[(0,q.jsx)(`span`,{className:`text-sm font-medium`,children:`Charge Validation Details`}),(0,q.jsxs)(M,{variant:`outline`,className:`text-xs`,children:[r.pendingCount+r.unapprovedCount,` need attention`]})]}),onToggleExpanded:()=>o(e=>!e),children:(0,q.jsx)(H,{open:a,children:(0,q.jsxs)(B,{children:[(0,q.jsx)(N,{className:`pt-0`,children:(0,q.jsxs)(`div`,{className:`space-y-4`,children:[(0,q.jsxs)(`div`,{className:`space-y-3`,children:[(0,q.jsxs)(`div`,{className:`flex justify-between items-center text-sm`,children:[(0,q.jsx)(`span`,{className:`font-medium`,children:`Charge Review Progress`}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsxs)(`span`,{className:`text-muted-foreground`,children:[r.totalCharges.toLocaleString(),` total charges`]}),(0,q.jsx)(j,{variant:`ghost`,size:`sm`,onClick:b,disabled:t===`loading`,children:`Refresh`})]})]}),(0,q.jsxs)(`div`,{className:`relative h-6 bg-gray-200 rounded-full overflow-hidden`,children:[(0,q.jsx)(`div`,{className:`absolute left-0 top-0 h-full bg-green-500 transition-all duration-300`,style:{width:`${r.approvedPercentage}%`}}),(0,q.jsx)(`div`,{className:`absolute top-0 h-full bg-orange-500 transition-all duration-300`,style:{left:`${r.approvedPercentage}%`,width:`${r.pendingPercentage}%`}}),(0,q.jsx)(`div`,{className:`absolute top-0 h-full bg-red-500 transition-all duration-300`,style:{left:`${r.approvedPercentage+r.pendingPercentage}%`,width:`${r.unapprovedPercentage}%`}})]}),(0,q.jsxs)(`div`,{className:`grid grid-cols-3 gap-4 text-sm`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`div`,{className:`w-3 h-3 bg-green-500 rounded-full`}),(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:`font-medium text-green-700`,children:[`Approved (`,r.approvedPercentage.toFixed(2),`%)`]}),(0,q.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[r.approvedCount.toLocaleString(),` charges`]})]})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`div`,{className:`w-3 h-3 bg-orange-500 rounded-full`}),(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:`font-medium text-orange-700`,children:[`Pending (`,r.pendingPercentage.toFixed(2),`%)`]}),(0,q.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[r.pendingCount.toLocaleString(),` charges`]})]})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`div`,{className:`w-3 h-3 bg-red-500 rounded-full`}),(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:`font-medium text-red-700`,children:[`Unapproved (`,r.unapprovedPercentage.toFixed(2),`%)`]}),(0,q.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[r.unapprovedCount.toLocaleString(),` charges`]})]})]})]})]}),(r.pendingPercentage>0||r.unapprovedPercentage>0)&&(0,q.jsxs)(`div`,{className:`flex items-center gap-2 p-3 bg-orange-50 rounded-lg border border-orange-200`,children:[(0,q.jsx)(V,{className:`h-4 w-4 text-orange-600`}),(0,q.jsxs)(`span`,{className:`text-sm text-orange-800`,children:[r.pendingCount+r.unapprovedCount,` charges need review before proceeding`]})]})]})}),f&&(0,q.jsx)(`div`,{className:`px-6 pb-4 pt-2 border-t`,children:(0,q.jsx)(X,{ownerId:f,year:h,stepId:p,initialStatus:x?.status??void 0,initialNotes:C,onSaved:e=>d(e)})})]})})})}function He(e){let[t,n]=(0,K.useState)(`blocked`),[r,i]=(0,K.useState)(1/0),[a,o]=(0,K.useState)(!1),[s,c]=(0,K.useState)(void 0),{year:l,adminBusinessId:u,onStatusChange:d,id:f}=e,[{data:p,fetching:h,error:g},_]=z({query:ve,variables:{filters:{byOwners:u?[u]:[],fromAnyDate:`${l}-01-01`,toAnyDate:`${l}-12-31`}},pause:!0}),v=(0,K.useMemo)(()=>{if(Array.isArray(e.manualData))return e.manualData.find(e=>e.stepId===f)},[e.manualData,f]),y=(0,K.useMemo)(()=>{let e=v?.status;if(e)return Y(e)},[v]),b=v?.notes??null;(0,K.useEffect)(()=>{y&&c(y)},[y]),(0,K.useEffect)(()=>{d&&d(f,s??t)},[t,s,d,f]),(0,K.useEffect)(()=>{!p&&!h&&!g&&u&&!y&&_()},[p,h,g,u,y,_]),(0,K.useEffect)(()=>{h&&n(`loading`)},[h]),(0,K.useEffect)(()=>{if(p?.chargesWithLedgerChanges){let e=p.chargesWithLedgerChanges.filter(e=>!!e.charge?.id).length;i(e),n(e===0?`completed`:`in-progress`)}},[p]);let x=(0,K.useMemo)(()=>Me({byOwners:u?[u]:void 0,fromAnyDate:`${l}-01-01`,toAnyDate:`${l}-12-31`,sortBy:{field:Ee.Date,asc:!1}}),[u,l]),S=(0,K.useMemo)(()=>y?[{label:`View Ledger Status`,href:x},{label:`Revalidate`,onClick:_,disabled:h}]:[{label:`View Ledger Status`,href:x}],[y,x,_,h]),C=s??t,w=s&&s!==t;return(0,q.jsxs)(J,{...e,status:C,statusIndicator:h?(0,q.jsx)(D,{className:`h-5 w-5 animate-spin text-muted-foreground`}):w?(0,q.jsx)(M,{variant:`outline`,className:`text-xs border-blue-200 text-blue-700`,children:`Manual override`}):void 0,icon:(0,q.jsx)(m,{className:`h-4 w-4`}),actions:S,isExpanded:a,onToggleExpanded:()=>o(e=>!e),children:[r>0&&!y&&(0,q.jsx)(N,{className:`p-2 border-t`,children:h?(0,q.jsxs)(`div`,{className:`flex items-center gap-2 p-2 bg-gray-50 rounded-lg border border-gray-200 animate-pulse`,children:[(0,q.jsx)(m,{className:`h-4 w-4 text-gray-400`}),(0,q.jsx)(`div`,{className:`flex-1`,children:(0,q.jsx)(`span`,{className:`text-sm text-gray-600 font-medium`,children:`Checking for pending ledger changes...`})})]}):(0,q.jsxs)(`div`,{className:`flex items-center gap-2 p-3 bg-red-50 rounded-lg border border-red-200`,children:[(0,q.jsx)(k,{className:`h-4 w-4 text-red-600`}),(0,q.jsx)(`div`,{className:`flex-1`,children:(0,q.jsx)(`span`,{className:`text-sm text-red-800 font-medium`,children:r===1/0?`Trigger revalidation manually`:`${r} pending ledger change${r>1?`s`:``} detected`})}),(0,q.jsx)(M,{variant:`destructive`,className:`text-xs`,children:`Action Required`})]})}),(0,q.jsx)(H,{open:a,children:(0,q.jsx)(B,{children:u&&(0,q.jsx)(`div`,{className:`px-6 pb-4 pt-2 border-t`,children:(0,q.jsx)(X,{ownerId:u,year:l,stepId:f,initialStatus:v?.status??void 0,initialNotes:b,onSaved:e=>c(e)})})})})]})}function Ue({year:e,adminBusinessId:t,balanceChargeId:n}){let r=A.REPORTS.DYNAMIC_REPORT({fromDate:`${e-1}-01-01`,toDate:`${e-1}-12-31`,ownerIds:[t]}),[i,a]=(0,K.useState)(!1);return(0,q.jsx)(J,{id:`3a`,title:`Enter Opening Balances`,description:`Create a balance charge and save the opening balance snapshot template to import prior-year balances`,status:n?`completed`:`pending`,level:1,actions:[n?{label:`Balance Charge`,href:A.CHARGES.DETAIL(n)}:{label:`Create Balance Charge`,onClick:()=>a(!0)},{label:`Upload Dynamic Report`,href:r,disabled:!0}],disabled:!1,manualData:[],children:(0,q.jsx)(Oe,{open:i,onOpenChange:a,onClose:()=>a(!1)})})}function We(e){let[t,n]=(0,K.useState)(!1),[r,i]=(0,K.useState)(null),{adminBusinessId:a,id:o,onStatusChange:s,year:c}=e,[{data:l,fetching:u,error:d}]=z({query:se,variables:{ownerId:a,year:c},pause:!a}),f=(0,K.useMemo)(()=>{if(Array.isArray(e.manualData))return e.manualData.find(e=>e.stepId===o)},[e.manualData,o]),p=(0,K.useMemo)(()=>{let e=f?.status;if(e)return Y(e)},[f]),m=f?.notes??null;(0,K.useEffect)(()=>{i(p??null)},[p]);let h=(0,K.useMemo)(()=>a?u?`loading`:d||!l?.annualAuditOpeningBalanceStatus?`pending`:Y(l.annualAuditOpeningBalanceStatus.derivedStatus):`blocked`,[a,u,d,l]),g=r??h;(0,K.useEffect)(()=>{s?.(o,g)},[g,s,o]);let _=l?.annualAuditOpeningBalanceStatus;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(J,{...e,status:g,icon:(0,q.jsx)(Ae,{className:`h-4 w-4`}),isExpanded:t,onToggleExpanded:()=>n(!t)}),a&&(0,q.jsx)(H,{open:t,children:(0,q.jsxs)(B,{className:`space-y-2 pt-2`,children:[_?.userType===L.Error&&(0,q.jsxs)(G,{variant:`destructive`,className:`ml-8`,children:[(0,q.jsx)(V,{className:`h-4 w-4`}),(0,q.jsx)(W,{children:`Configuration Error`}),(0,q.jsx)(U,{children:_.errorMessage})]}),_?.userType===L.New&&(0,q.jsxs)(G,{className:`ml-8`,children:[(0,q.jsx)(E,{className:`h-4 w-4`}),(0,q.jsx)(W,{children:`No Opening Balance Required`}),(0,q.jsx)(U,{children:`First year of both business establishment and Accounter usage — opening balance is not required.`})]}),!_&&!u&&(0,q.jsxs)(G,{className:`ml-8`,children:[(0,q.jsx)(E,{className:`h-4 w-4`}),(0,q.jsx)(W,{children:`Configuration Incomplete`}),(0,q.jsxs)(U,{children:[`Could not determine user type. Please verify `,(0,q.jsx)(`strong`,{children:`initialAccounterYear`}),` `,`and `,(0,q.jsx)(`strong`,{children:`dateEstablished`}),` are set in Settings › Admin Context.`]})]}),_?.userType===L.Migrating&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Ue,{year:c,adminBusinessId:a,balanceChargeId:_.balanceChargeId??null}),(0,q.jsx)(`div`,{className:`pl-8`,children:(0,q.jsx)(X,{ownerId:a,year:c,stepId:e.id,initialStatus:f?.status,initialNotes:m,onSaved:i})})]}),_?.userType===L.Continuing&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(G,{className:`ml-8`,children:[(0,q.jsx)(E,{className:`h-4 w-4`}),(0,q.jsx)(W,{children:`Verify Prior-Year Closing Balance`}),(0,q.jsx)(U,{className:`pb-4`,children:`Prior-year closing balances are already in the system. Review the prior-year data and approve once confirmed.`}),(0,q.jsxs)(`a`,{href:A.REPORTS.TRIAL_BALANCE({toDate:`${c-1}-12-31`,ownerIds:[a]}),target:`_blank`,rel:`noreferrer`,onClick:e=>e.stopPropagation(),className:`text-sm text-primary underline-offset-4 hover:underline`,children:[`View prior-year (`,c-1,`) trial balance →`]})]}),(0,q.jsx)(`div`,{className:`pl-8`,children:(0,q.jsx)(X,{ownerId:a,year:c,stepId:e.id,initialStatus:f?.status,initialNotes:m,onSaved:i})})]})]})})]})}var Ge=({chargeId:e,label:t})=>(0,q.jsx)(j,{asChild:!0,variant:`link`,className:`h-auto justify-start p-0`,children:(0,q.jsx)(s,{to:A.CHARGES.DETAIL(e),target:`_blank`,rel:`noreferrer`,onClick:e=>e.stopPropagation(),children:t})},e),Z=function(e){return e.Revaluation=`Revaluation`,e.BankDeposits=`BankDeposits`,e.TaxExpenses=`TaxExpenses`,e.Depreciation=`Depreciation`,e.RecoveryReserve=`RecoveryReserve`,e.VacationReserve=`VacationReserve`,e}({}),Ke=`generateFinancialCharge`,qe=()=>{let[{fetching:e},t]=R(Ce),[{fetching:n},a]=R(ce),[{fetching:o},s]=R(fe),[{fetching:c},l]=R(me),[{fetching:u},d]=R(oe),[{fetching:f},p]=R(pe);return{fetching:e||n||o||c||u||f,generateFinancialCharge:(0,K.useCallback)(async e=>{let{type:n,...o}=e,c=`Error generating financial charge [${n}]`,u=`${Ke}-${n}`;r.loading(`Generating financial charge`,{id:u});let f;try{switch(n){case`Revaluation`:f=await t(o).then(e=>i(e,c,u)?.generateRevaluationCharge);break;case`BankDeposits`:f=await a(o).then(e=>i(e,c,u)?.generateBankDepositsRevaluationCharge);break;case`TaxExpenses`:f=await s(o).then(e=>i(e,c,u)?.generateTaxExpensesCharge);break;case`Depreciation`:f=await l(o).then(e=>i(e,c,u)?.generateDepreciationCharge);break;case`RecoveryReserve`:f=await d(o).then(e=>i(e,c,u)?.generateRecoveryReserveCharge);break;case`VacationReserve`:f=await p(o).then(e=>i(e,c,u)?.generateVacationReserveCharge);break;default:throw Error(`Unknown financial charge type: ${n}`)}if(f?.id)return r.success(`Success`,{id:u,description:Ge({chargeId:f.id,label:`New ${n} charge created`})}),!0}catch(e){return console.error(`${c}: ${e}`),r.error(`Error`,{id:u,description:c,duration:1e5,closeButton:!0}),!1}return!1},[a,l,d,t,s,p])}},Je=[{key:`revaluationCharge`,label:`Revaluation Charge`,generateType:Z.Revaluation,required:!0},{key:`taxExpensesCharge`,label:`Tax Expenses Charge`,generateType:Z.TaxExpenses,required:!0},{key:`bankDepositsRevaluationCharge`,label:`Bank Deposits Revaluation Charge`,generateType:Z.BankDeposits,required:!1},{key:`depreciationCharge`,label:`Depreciation Charge`,generateType:Z.Depreciation,required:!1},{key:`recoveryReserveCharge`,label:`Recovery Reserve Charge`,generateType:Z.RecoveryReserve,required:!1},{key:`vacationReserveCharge`,label:`Vacation Reserve Charge`,generateType:Z.VacationReserve,required:!1}];function Ye(e){let[t,n]=(0,K.useState)(`loading`),[r,i]=(0,K.useState)(!1),[a,o]=(0,K.useState)(void 0),{adminBusinessId:s,id:c,onStatusChange:l,year:u}=e,d=`${u}-12-31`,{fetching:f,generateFinancialCharge:p}=qe(),[{data:m,fetching:h,error:g},_]=z({query:ue,variables:{ownerId:s,year:d}}),v=(0,K.useMemo)(()=>{if(Array.isArray(e.manualData))return e.manualData.find(e=>e.stepId===c)},[e.manualData,c]),y=(0,K.useMemo)(()=>{let e=v?.status;if(e)return Y(e)},[v]),b=v?.notes??null;(0,K.useEffect)(()=>{y&&o(y)},[y]),(0,K.useEffect)(()=>{l&&l(c,a??t)},[t,a,l,c]);let x=(0,K.useMemo)(()=>{let e=m?.annualFinancialCharges;return Je.map(t=>{let n=e?.[t.key]?.id;return{...t,chargeId:n,exists:!!n}})},[m]);(0,K.useEffect)(()=>{if(!s){n(`blocked`);return}if(h||f){n(`loading`);return}if(g||!m?.annualFinancialCharges){n(`blocked`);return}let e=x.filter(e=>e.required),t=e.filter(e=>e.exists).length;t===e.length?n(`completed`):n(t>0?`in-progress`:`pending`)},[s,x,m,g,h,f]);let S=(0,K.useCallback)(async e=>{s&&await p({type:e,ownerId:s,date:d})&&await _()},[s,p,_,d]),w=e=>e.exists?(0,q.jsx)(C,{className:`h-4 w-4 text-green-600`}):e.required?(0,q.jsx)(V,{className:`h-4 w-4 text-orange-600`}):(0,q.jsx)(V,{className:`h-4 w-4 text-gray-400`}),T=e=>e.exists?(0,q.jsx)(M,{variant:`default`,children:`Exists`}):e.required?(0,q.jsx)(M,{variant:`outline`,children:`Missing`}):(0,q.jsx)(M,{variant:`secondary`,children:`Optional`}),E=a??t,O=a&&a!==t;return(0,q.jsx)(J,{...e,status:E,statusIndicator:h?(0,q.jsx)(D,{className:`h-5 w-5 animate-spin text-muted-foreground`}):O?(0,q.jsx)(M,{variant:`outline`,className:`text-xs border-blue-200 text-blue-700`,children:`Manual override`}):void 0,isExpanded:r,onToggleExpanded:()=>i(e=>!e),children:s&&(0,q.jsx)(H,{open:r,children:(0,q.jsxs)(B,{children:[(0,q.jsx)(N,{className:`pt-0 border-t`,children:(0,q.jsx)(`div`,{className:`space-y-2 mt-3`,children:x.map(e=>(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 p-3 rounded-lg border bg-background`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[w(e),(0,q.jsx)(`span`,{className:`text-sm font-medium`,children:e.label}),T(e)]}),e.exists&&e.chargeId?(0,q.jsx)(j,{variant:`outline`,size:`sm`,asChild:!0,children:(0,q.jsx)(`a`,{href:A.CHARGES.DETAIL(e.chargeId),children:`View`})}):(0,q.jsxs)(j,{variant:`outline`,size:`sm`,onClick:()=>S(e.generateType),disabled:f||t===`loading`,children:[(0,q.jsx)(Ne,{className:`h-4 w-4 mr-1`}),`Generate`]})]},e.key))})}),s&&(0,q.jsx)(`div`,{className:`px-6 pb-4 pt-2 border-t`,children:(0,q.jsx)(X,{ownerId:s,year:u,stepId:c,initialStatus:v?.status??void 0,initialNotes:b,onSaved:e=>o(e)})})]})})})}function Xe(e){let[t,n]=(0,K.useState)(`pending`),[r,i]=(0,K.useState)(!1),{adminBusinessId:a,id:o,onStatusChange:s}=e,[{data:c}]=z({query:Se,variables:{ownerId:a??``,year:e.year-1},pause:!a}),l=(0,K.useMemo)(()=>{let e=c?.annualAuditStepStatuses?.find(e=>e.stepId===`9`);if(!e?.evidence)return null;try{return JSON.parse(e.evidence).lockedTemplateName??null}catch{return null}},[c]),u=(0,K.useMemo)(()=>{if(Array.isArray(e.manualData))return e.manualData.find(e=>e.stepId===o)},[e.manualData,o]),d=(0,K.useMemo)(()=>{let e=u?.status;if(e)return Y(e)},[u]),f=u?.notes??null;(0,K.useEffect)(()=>{d&&n(d)},[d]),(0,K.useEffect)(()=>s?.(o,t),[t,s,o]);let p=(0,K.useMemo)(()=>[...l?[{label:`Balance Sheet`,href:A.REPORTS.DYNAMIC_REPORT({ownerIds:a?[a]:void 0,fromDate:`1900-01-01`,toDate:`${e.year}-12-31`,templateName:l})},{label:`Profit and Loss`,href:A.REPORTS.DYNAMIC_REPORT({ownerIds:a?[a]:void 0,fromDate:`${e.year}-01-01`,toDate:`${e.year}-12-31`,templateName:l})}]:[{label:`Create Dynamic Report Template`,href:A.REPORTS.DYNAMIC_REPORT()}],{label:`Trial Balance`,href:A.REPORTS.TRIAL_BALANCE({ownerIds:a?[a]:void 0,fromDate:`1900-01-01`,toDate:`${e.year}-12-31`,isShowZeroedAccounts:!0})},{label:`Review Tax Report`,href:A.REPORTS.TAX(e.year)}],[e.year,a,l]);return(0,q.jsx)(J,{...e,status:t,isExpanded:r,onToggleExpanded:()=>i(e=>!e),actions:p,children:a&&(0,q.jsx)(H,{open:r,children:(0,q.jsx)(B,{children:(0,q.jsx)(`div`,{className:`px-6 pb-4 pt-2 border-t`,children:(0,q.jsx)(X,{ownerId:a,year:e.year,stepId:o,initialStatus:u?.status??void 0,initialNotes:f,onSaved:e=>n(e)})})})})})}var Ze=`ledgerLock`,Qe=()=>{let[{fetching:e},t]=R(he);return{fetching:e,ledgerLock:(0,K.useCallback)(async e=>{let n=`Error locking ledger`,a=`${Ze}-${e.date}`;r.loading(`Locking ledger`,{id:a});try{let o=await t(e),s=i(o,n,a,`lockLedgerRecords`);if(s?.lockLedgerRecords)return r.success(`Success`,{id:a,description:`Payroll file added`}),s.lockLedgerRecords;throw Error(`Server error`)}catch(e){console.error(`${n}: ${e}`),r.error(`Error`,{id:a,description:n,duration:1e5,closeButton:!0})}return!1},[t])}};function $e(e){let[t,n]=(0,K.useState)(`pending`),[r,i]=(0,K.useState)(!1),{fetching:a,ledgerLock:o}=Qe(),{adminBusinessId:s,id:c,onStatusChange:l,year:u}=e,d=`${u}-12-31`,[{data:f,fetching:m},h]=z({query:ye,variables:{ownerId:s}});(0,K.useEffect)(()=>l?.(c,t),[t,l,c]),(0,K.useEffect)(()=>{m||a?n(`loading`):f?!f.adminContext?.ledgerLock||f.adminContext.ledgerLock<d?n(`pending`):n(`completed`):n(`blocked`)},[f,m,d,a]);let g=(0,K.useCallback)(async()=>{o({date:d}).then(()=>h())},[d,o,h]),{userContext:_}=(0,K.useContext)(ne),v=_?.context.ledgerLock;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(J,{...e,status:t,actions:[{label:`Lock Ledger`,onClick:()=>i(!0),disabled:!!v&&v>=d}]}),(0,q.jsx)(p,{onConfirm:g,title:`Are you sure you want to lock all ledger records until ${te(new Date(d),`MMMM do, yyy`)}?`,open:r,setOpen:i})]})}var et=`setAnnualAuditStep09Status`,tt=()=>{let[{fetching:e},t]=R(we);return{fetching:e,setStep09Status:(0,K.useCallback)(async e=>{let n=`Error saving final dynamic report template selection`,a=`${et}-${e.input.ownerId}-${e.input.year}`;r.loading(`Locking template...`,{id:a});try{let o=await t(e),s=i(o,n,a);if(s)return r.success(`Template locked`,{id:a,description:`"${e.input.templateName}" saved as the final dynamic report template`}),s.setAnnualAuditStep09Status}catch(e){console.error(`${n}: ${e}`),r.error(`Error`,{id:a,description:n});return}},[t])}};function nt(e){let[t,n]=(0,K.useState)(`pending`),{adminBusinessId:r,id:i,onStatusChange:a,year:o}=e,{fetching:s,setStep09Status:c}=tt(),[{data:l,fetching:u},d]=z({query:de,variables:{ownerId:r,year:o},pause:!r}),[{data:f,fetching:p}]=z({query:le});(0,K.useEffect)(()=>a?.(i,t),[t,a,i]);let m=(0,K.useMemo)(()=>l?.annualAuditStepStatuses.find(e=>e.stepId===i),[l,i]),g=(0,K.useMemo)(()=>{if(!m?.evidence)return null;try{return JSON.parse(m.evidence).lockedTemplateName??null}catch{return null}},[m]);(0,K.useEffect)(()=>{r?u||p||s?n(`loading`):m?.status===I.Completed&&g?n(`completed`):n(`pending`):n(`blocked`)},[r,u,p,s,m,g]);let y=(0,K.useMemo)(()=>f?.allDynamicReports??[],[f]),S=(0,K.useMemo)(()=>y.filter(e=>!e.isLocked||e.name===g),[y,g]),C=(0,K.useCallback)(async e=>{r&&(await c({input:{ownerId:r,year:o,templateName:e}}),d())},[r,o,c,d]);return(0,q.jsx)(J,{...e,status:t,description:t===`completed`?`Final template: ${g}`:`Select the final dynamic report template to lock for this fiscal year`,children:r&&!p&&!u&&(0,q.jsx)(`div`,{className:`px-6 pb-4`,children:(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsxs)(x,{value:g??``,onValueChange:C,disabled:s,children:[(0,q.jsx)(_,{className:`w-[280px]`,children:(0,q.jsx)(h,{placeholder:`Select a report template...`})}),(0,q.jsx)(v,{children:S.length===0?(0,q.jsx)(b,{value:`__none__`,disabled:!0,children:`No unlocked templates available`}):S.map(e=>(0,q.jsx)(b,{value:e.name,children:e.name},e.id))})]}),g&&(0,q.jsxs)(`span`,{className:`text-sm text-muted-foreground`,children:[`Saved: `,g]})]})})})}function rt({stepId:e,adminBusinessId:t,year:n}){let[r,i]=(0,K.useState)(`pending`),{fetching:a,setStepStatus:o}=Ie(),[{data:s,fetching:c},l]=z({query:ge,variables:{ownerId:t,year:n},pause:!t}),u=(0,K.useMemo)(()=>s?.annualAuditStepStatuses.find(t=>t.stepId===e),[s,e]);return(0,K.useEffect)(()=>{t?c||a?i(`loading`):u?.status===I.Completed?i(`completed`):i(`pending`):i(`blocked`)},[t,c,a,u]),{status:r,saving:a,fetchingStatus:c,handleMarkDone:(0,K.useCallback)(async()=>{t&&await o({input:{ownerId:t,year:n,stepId:e,status:I.Completed}})&&l()},[t,n,e,o,l]),handleUnmark:(0,K.useCallback)(async()=>{t&&await o({input:{ownerId:t,year:n,stepId:e,status:I.Pending}})&&l()},[t,n,e,o,l])}}function Q({stepId:e,adminBusinessId:t,year:n,linkLabel:r,linkHref:i,...a}){let{status:o,saving:s,fetchingStatus:c,handleMarkDone:l,handleUnmark:u}=rt({stepId:e,adminBusinessId:t,year:n}),{onStatusChange:f,id:p}=a;return(0,K.useEffect)(()=>f?.(p,o),[o,f,p]),(0,q.jsx)(J,{...a,status:o,children:t&&!c&&(0,q.jsx)(`div`,{className:`px-6 pb-4`,children:(0,q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,q.jsx)(j,{variant:`outline`,size:`sm`,asChild:!0,children:(0,q.jsxs)(`a`,{href:i,target:`_blank`,rel:`noreferrer`,children:[(0,q.jsx)(d,{size:16,className:`mr-1.5`}),r]})}),o===`completed`?(0,q.jsx)(j,{variant:`ghost`,size:`sm`,disabled:s,onClick:u,children:`Unmark`}):(0,q.jsx)(j,{variant:`outline`,size:`sm`,disabled:s,onClick:l,children:`Mark as Done`})]})})})}function it({adminBusinessId:e,year:t,...n}){let r=`${t}-01-01`,i=`${t}-12-31`,a=(0,K.useMemo)(()=>A.REPORTS.TRIAL_BALANCE({fromDate:r,toDate:i,ownerIds:e?[e]:void 0}),[r,i,e]);return(0,q.jsx)(Q,{...n,stepId:`10`,adminBusinessId:e,year:t,description:`Download year-end trial balance CSV for future validations`,linkLabel:`Open Trial Balance Report`,linkHref:a})}function at({adminBusinessId:e,year:t,...n}){let r=(0,K.useMemo)(()=>A.REPORTS.DEPRECIATION(e?{year:t,financialEntityId:e}:{year:t}),[t,e]);return(0,q.jsx)(Q,{...n,stepId:`11`,adminBusinessId:e,year:t,description:`Review and export the final depreciation report for the year`,linkLabel:`Open Depreciation Report`,linkHref:r})}function ot({adminBusinessId:e,year:t,...n}){let r=(0,K.useMemo)(()=>A.REPORTS.TAX(t),[t]);return(0,q.jsx)(Q,{...n,stepId:`13`,adminBusinessId:e,year:t,description:`Review and export the tax report for the year`,linkLabel:`Open Tax Report`,linkHref:r})}function st({adminBusinessId:e,year:t,...n}){let r=(0,K.useMemo)(()=>A.REPORTS.CORPORATE_TAX_RULING_COMPLIANCE(t),[t]);return(0,q.jsx)(Q,{...n,stepId:`14`,adminBusinessId:e,year:t,description:`For Yossi's review`,linkLabel:`Open Tax Compliance Report`,linkHref:r})}function $({defaultStatus:e=`pending`,actions:t=[],fetchStatus:n,onStatusChange:r,...i}){let[a,o]=(0,K.useState)(n?`loading`:e);return(0,K.useEffect)(()=>{o(e)},[e]),(0,K.useEffect)(()=>{r&&r(i.id,a)},[a,r,i.id]),(0,K.useEffect)(()=>{n&&n().then(o).catch(()=>o(`blocked`))},[n]),(0,q.jsx)(J,{...i,status:a,actions:t,onStatusChange:r})}var ct=2e3,lt=new Date().getFullYear();function ut(e,t,n){return Math.min(Math.max(e,t),n)}function dt({value:e,onChange:t,minYear:n=ct,maxYear:r=lt}){let i=typeof e==`number`?ut(e,n,r):void 0,a=Array.from({length:r-n+1},(e,t)=>String(r-t));return(0,q.jsxs)(x,{value:i?String(i):void 0,onValueChange:e=>t(Number(e)),children:[(0,q.jsx)(_,{className:`w-full`,children:(0,q.jsx)(h,{placeholder:`Select year (${n}-${r})`})}),(0,q.jsx)(v,{children:a.map(e=>(0,q.jsx)(b,{value:e,children:e},e))})]})}var ft=()=>{let{setFiltersContext:e}=(0,K.useContext)(w),{userContext:t}=(0,K.useContext)(ne),n=t?.context.adminBusinessId,{year:r}=o(),i=a(),s=new Date().getFullYear(),c=s-1,d=r?Number(r):c,f=!Number.isNaN(d)&&d>=2e3&&d<=s,p=f?d:c;(0,K.useEffect)(()=>{f||i(A.WORKFLOWS.ANNUAL_AUDIT(c),{replace:!0})},[f,i,c]);let h=(0,K.useCallback)(e=>{e!==p&&i(A.WORKFLOWS.ANNUAL_AUDIT(e))},[p,i]);(0,K.useEffect)(()=>{e((0,q.jsx)(`div`,{className:`flex flex-row gap-x-5`,children:(0,q.jsx)(dt,{value:p,onChange:h})}))},[p,e,h]);let[{data:g,fetching:_}]=z({query:_e,variables:{ownerId:n,year:p},pause:!n}),v=!!(n&&_),y=(0,K.useRef)(new Map),[b,x]=(0,K.useState)(0),[S,C]=(0,K.useState)(`pending`),T=(0,K.useCallback)(()=>{let e=y.current.get(`1`),t=y.current.get(`2`),n=e===`completed`&&t===`completed`?`completed`:`pending`;y.current.get(`7`)!==n&&(y.current.set(`7`,n),C(n))},[]),E=(0,K.useCallback)((e,t)=>{if(y.current.get(e)!==t){y.current.set(e,t);let n=Array.from(y.current.values()).filter(e=>e===`completed`).length;x(n)}(e===`1`||e===`2`)&&T()},[T]),k=b/21*100,M=(0,K.useRef)(null),te=(0,K.useRef)(null);return(0,K.useEffect)(()=>{T()},[T]),f?(0,q.jsx)(je,{title:`Annual Audit Flow - ${p}`,description:`Complete audit process for annual financial reporting and compliance`,children:(0,q.jsxs)(`div`,{className:`container mx-auto p-6 max-w-6xl`,children:[(0,q.jsx)(`div`,{className:`mb-8`,children:(0,q.jsxs)(F,{className:`mb-6`,children:[(0,q.jsx)(re,{children:(0,q.jsx)(P,{className:`text-lg`,children:`Progress Overview`})}),(0,q.jsx)(N,{children:(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,q.jsx)(`span`,{children:`Completed Steps`}),(0,q.jsxs)(`span`,{children:[b,` of `,21]})]}),(0,q.jsx)(ke,{value:k,className:`h-2`}),(0,q.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[k.toFixed(1),`% Complete`]})]})})]})}),v?(0,q.jsx)(F,{children:(0,q.jsxs)(N,{className:`flex flex-col items-center justify-center gap-3 py-10`,children:[(0,q.jsx)(D,{className:`h-10 w-10 animate-spin text-muted-foreground`}),(0,q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading annual audit step statuses...`})]})}):(0,q.jsxs)(`div`,{className:`space-y-4`,children:[(0,q.jsx)(Ve,{id:`1`,ref:M,year:p,adminBusinessId:n,title:`Validate All Charges`,description:`Ensure all charges of the year were reviewed, handle pending charges`,onStatusChange:E,manualData:g?.annualAuditStepStatuses}),(0,q.jsx)(He,{id:`2`,ref:te,year:p,adminBusinessId:n,title:`Check Pending Ledger Changes`,description:`Ensure no pending ledger changes exist`,onStatusChange:E,manualData:g?.annualAuditStepStatuses}),(0,q.jsx)(We,{id:`3`,year:p,adminBusinessId:n,title:`Verify Opening Balance`,description:`Handle opening balance verification based on user type`,onStatusChange:E,manualData:g?.annualAuditStepStatuses}),(0,q.jsx)(Ye,{id:`4`,title:`Generate Financial Charges`,description:`Create various financial charges and reserves`,icon:(0,q.jsx)(Ae,{className:`h-4 w-4`}),onStatusChange:E,manualData:g?.annualAuditStepStatuses,year:p,adminBusinessId:n}),(0,q.jsx)(Xe,{id:`5`,title:`Audit Main Process`,description:`Task management system for comprehensive audit checks`,icon:(0,q.jsx)(l,{className:`h-4 w-4`}),onStatusChange:E,manualData:g?.annualAuditStepStatuses,year:p,adminBusinessId:n}),(0,q.jsx)($,{id:`6`,title:`Add Shareholders Data (1214)`,description:`For 1214 report preparation`,icon:(0,q.jsx)(Pe,{className:`h-4 w-4`}),onStatusChange:E,manualData:g?.annualAuditStepStatuses,actions:[{label:`Manage Shareholders`,href:`/shareholders/manage`},{label:`Import Data`,href:`/shareholders/import`}]}),(0,q.jsx)($,{id:`7`,title:`Revalidate Pending Items`,description:`Ensure no charges approval or ledger regeneration pending`,icon:(0,q.jsx)(u,{className:`h-4 w-4`}),onStatusChange:E,manualData:g?.annualAuditStepStatuses,defaultStatus:S,actions:[{label:`Check Pending Approvals`,onClick:()=>{M.current?.scrollIntoView({behavior:`smooth`,block:`start`})}},{label:`Ledger Status`,onClick:()=>{te.current?.scrollIntoView({behavior:`smooth`,block:`start`})}}]}),(0,q.jsx)($e,{id:`8`,title:`Lock Ledger`,description:`Lock ledger by records and by date`,year:p,icon:(0,q.jsx)(O,{className:`h-4 w-4`}),onStatusChange:E,manualData:g?.annualAuditStepStatuses}),(0,q.jsx)(nt,{id:`9`,title:`Save Final Dynamic Report Template`,icon:(0,q.jsx)(l,{className:`h-4 w-4`}),year:p,adminBusinessId:n,onStatusChange:E,manualData:g?.annualAuditStepStatuses}),(0,q.jsx)(it,{id:`10`,title:`Export Year-end Trial Balance`,icon:(0,q.jsx)(De,{className:`h-4 w-4`}),year:p,adminBusinessId:n,onStatusChange:E,manualData:g?.annualAuditStepStatuses}),(0,q.jsx)(at,{id:`11`,title:`Generate Final Depreciation Report`,icon:(0,q.jsx)(l,{className:`h-4 w-4`}),year:p,adminBusinessId:n,onStatusChange:E,manualData:g?.annualAuditStepStatuses}),(0,q.jsx)($,{id:`12`,title:`Generate Financial Reports`,description:`With comparison numbers from last year`,icon:(0,q.jsx)(l,{className:`h-4 w-4`}),onStatusChange:E,manualData:g?.annualAuditStepStatuses,actions:[{label:`Generate Reports`,href:`/reports/financial`}]}),(0,q.jsx)(ot,{id:`13`,title:`Generate Tax Report`,icon:(0,q.jsx)(l,{className:`h-4 w-4`}),year:p,adminBusinessId:n,onStatusChange:E,manualData:g?.annualAuditStepStatuses}),(0,q.jsx)(st,{id:`14`,title:`Generate Tax Compliance Reports`,icon:(0,q.jsx)(l,{className:`h-4 w-4`}),year:p,adminBusinessId:n,onStatusChange:E,manualData:g?.annualAuditStepStatuses}),(0,q.jsx)($,{id:`15`,title:`Generate Tax Compliance Report`,icon:(0,q.jsx)(l,{className:`h-4 w-4`}),onStatusChange:E,manualData:g?.annualAuditStepStatuses,actions:[{label:`Generate 973`,href:`/reports/973`},{label:`Generate 901א`,href:`/reports/901a`}]}),(0,q.jsx)($,{id:`16`,title:`Generate 6111 Report`,icon:(0,q.jsx)(l,{className:`h-4 w-4`}),onStatusChange:E,manualData:g?.annualAuditStepStatuses,actions:[{label:`Generate 6111`,href:A.REPORTS.SHAAM_6111}]}),(0,q.jsx)($,{id:`17`,title:`Generate Dividend Report 1214ב`,icon:(0,q.jsx)(l,{className:`h-4 w-4`}),onStatusChange:E,manualData:g?.annualAuditStepStatuses,actions:[{label:`Generate Dividend Report`,href:`/reports/dividend-1214b`}]}),(0,q.jsx)($,{id:`18`,title:`Generate 1214 Report`,icon:(0,q.jsx)(l,{className:`h-4 w-4`}),onStatusChange:E,manualData:g?.annualAuditStepStatuses,actions:[{label:`Generate 1214`,href:`/reports/1214`}]}),(0,q.jsx)($,{id:`19`,title:`Compare Tax Expenses`,description:`Compare 1214 tax expenses with ledger tax expenses`,icon:(0,q.jsx)(Ae,{className:`h-4 w-4`}),onStatusChange:E,manualData:g?.annualAuditStepStatuses,actions:[{label:`Compare Expenses`,href:`/tax/compare-expenses`}]}),(0,q.jsx)($,{id:`20`,title:`Signing Process`,description:`Handle signing process and accompanying documents`,icon:(0,q.jsx)(l,{className:`h-4 w-4`}),onStatusChange:E,manualData:g?.annualAuditStepStatuses,actions:[{label:`Prepare Documents`,href:`/signing/prepare`},{label:`Digital Signing`,href:`/signing/digital`}]}),(0,q.jsx)($,{id:`21`,title:`File Annual Report`,description:`Submit annual report to companies government office`,icon:(0,q.jsx)(ee,{className:`h-4 w-4`}),onStatusChange:E,manualData:g?.annualAuditStepStatuses,actions:[{label:`Prepare Filing`,href:`/filing/prepare`},{label:`Submit Report`,href:`/filing/submit`}]})]}),(0,q.jsxs)(`div`,{className:`mt-8 p-4 bg-muted rounded-lg`,children:[(0,q.jsx)(`h3`,{className:`font-semibold mb-2`,children:`Quick Actions`}),(0,q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,q.jsxs)(j,{variant:`outline`,size:`sm`,children:[(0,q.jsx)(De,{className:`h-4 w-4 mr-2`}),`Export Progress Report`]}),(0,q.jsxs)(j,{variant:`outline`,size:`sm`,children:[(0,q.jsx)(m,{className:`h-4 w-4 mr-2`}),`Configure Workflow`]}),(0,q.jsxs)(j,{variant:`outline`,size:`sm`,children:[(0,q.jsx)(u,{className:`h-4 w-4 mr-2`}),`View All Reports`]})]})]})]})}):null};export{ft as AnnualAuditFlow};