@zeniai/web-app-ui 5.1.61-qa → 5.1.62-dev
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.
- package/dist/assets/AddressRoutes-DvuqFlm5.js +1 -0
- package/dist/assets/AddressScreen-D7DCNUGo.js +9 -0
- package/dist/assets/{AiCfoScreen-It5Iqwvu.js → AiCfoScreen-Bv6DgXwH.js} +2 -2
- package/dist/assets/{BillPayApprovalRoutes-BzW0b3Z-.js → BillPayApprovalRoutes-DxIJLeU6.js} +1 -1
- package/dist/assets/{BillPayRoutes-BM10Ap-2.js → BillPayRoutes-CxAjptk9.js} +9 -9
- package/dist/assets/{BusinessVerificationPageScreen-tq2Pq8-k.js → BusinessVerificationPageScreen-HLhTZBjl.js} +2 -2
- package/dist/assets/CardsAiCfoScreen-BQXIEsXX.js +14 -0
- package/dist/assets/{ChargeCardRoutes-BKpbGgWX.js → ChargeCardRoutes-CF9hoDo5.js} +11 -11
- package/dist/assets/CompanyPassportScreen-Dd-P8T6z.js +1 -0
- package/dist/assets/ConnectionAuthScreen-BWQPD0qS.js +11 -0
- package/dist/assets/CustomerOnboardingAuthScreen-BycVZ7K6.js +1 -0
- package/dist/assets/{CustomerOnboardingRoutes-DC4e3Ogu.js → CustomerOnboardingRoutes-B4tFhrDj.js} +4 -4
- package/dist/assets/{DashboardRoutes-BpHU2Qkf.js → DashboardRoutes-uPgpLI1W.js} +3 -3
- package/dist/assets/{DefaultTenantHome-TmE6YsRf.js → DefaultTenantHome-Bhp_uriR.js} +1 -1
- package/dist/assets/DomesticWireDetailScreen-YZRErnfJ.js +18 -0
- package/dist/assets/DrawerScreen-BqYmVuny.js +1 -0
- package/dist/assets/EntityDetailRoutes-DbpAgwXS.js +1 -0
- package/dist/assets/{ExpenseAutomationRoutes-CGrxhlUE.js → ExpenseAutomationRoutes-ChVJkArc.js} +4 -4
- package/dist/assets/FeaturePreviewScreen-kp5WtNsg.js +1 -0
- package/dist/assets/HubSpotOAuthCallbackScreen-BAfTUuIq.js +1 -0
- package/dist/assets/MagicLinkRoutes-CGh8IMWW.js +72 -0
- package/dist/assets/MagicLinkSignInScreen-BFMyglUM.js +12 -0
- package/dist/assets/MobileAppDrawer-BuakBUGx.js +1 -0
- package/dist/assets/NotFoundScreen-AsC21qGx.js +1 -0
- package/dist/assets/NotificationRoutes-B06j6V42.js +1 -0
- package/dist/assets/{OAuthConsentScreen-DXJTz5MU.js → OAuthConsentScreen-B6euKfvQ.js} +1 -1
- package/dist/assets/PandLWithForecastRoutes-DfEV7guz.js +1 -0
- package/dist/assets/{PeopleRoutes-DM0B31yg.js → PeopleRoutes-qz_hXV4C.js} +4 -4
- package/dist/assets/{PerformanceRoutes-yT4nKfMt.js → PerformanceRoutes-v5FcQW2N.js} +1 -1
- package/dist/assets/{Preview-DgYvT3D-.js → Preview-lrK4F27Y.js} +1 -1
- package/dist/assets/{QBOConnectionScreen-Dxk5EKMF.js → QBOConnectionScreen-Cx74YOuE.js} +1 -1
- package/dist/assets/ReferralListScreen-G8WgDfU8.js +5 -0
- package/dist/assets/ReimbursementApprovalRoutes-yvcY1FyR.js +1 -0
- package/dist/assets/{ReimbursementApprovalRuleDetailScreen-Btjx5v4l.js → ReimbursementApprovalRuleDetailScreen-s9Cc-PAW.js} +1 -1
- package/dist/assets/{ReimbursementRoutes-CLjD-rz3.js → ReimbursementRoutes-vHQ3hpWm.js} +11 -11
- package/dist/assets/{ReportsRoutes-DIvKwgKT.js → ReportsRoutes-DIUc8s5q.js} +1 -1
- package/dist/assets/RewardsRoutes-lnm6cAkX.js +1 -0
- package/dist/assets/ScreenRoutes-CAtz09zv.js +2 -0
- package/dist/assets/{SettingsRoutes-CwZJeFhH.js → SettingsRoutes-B4g8CJnG.js} +8 -8
- package/dist/assets/{SetupPagesScreen-DHP6inkV.js → SetupPagesScreen-BkPb95y9.js} +5 -5
- package/dist/assets/SignInScreen-Dhh5qz65.js +1 -0
- package/dist/assets/SignOutScreen-3sXSL_QM.js +9 -0
- package/dist/assets/TaskListScreen-DGOHeeuZ.js +9 -0
- package/dist/assets/TaskRoutes-CDomkVrp.js +9 -0
- package/dist/assets/{TransactionDetailRoutes-DWs1Egcj.js → TransactionDetailRoutes-BXwhj2nX.js} +1 -1
- package/dist/assets/{TransactionDetailScreen-BbsGsqi_.js → TransactionDetailScreen-DUZV5JDK.js} +2 -2
- package/dist/assets/{TransactionListRoutes-Co9duxwX.js → TransactionListRoutes-CDDcflri.js} +1 -1
- package/dist/assets/TreasuryRoutes-CZyF8G2k.js +37 -0
- package/dist/assets/{VendorsRoutes-puD2Dgk7.js → VendorsRoutes-B0mGOZoL.js} +23 -23
- package/dist/assets/WiseConfirmationScreen-B3-wTx7l.js +12 -0
- package/dist/assets/{ZeniAccountRoutes-CbulRVVe.js → ZeniAccountRoutes-BeZsG6M5.js} +11 -11
- package/dist/assets/ZeniAccountStatementScreen-CU5lpB3Y.js +9 -0
- package/dist/assets/{accountMappingHelper-BPz1owqi.js → accountMappingHelper-CSvCSQoY.js} +1 -1
- package/dist/assets/{analytics-C-A3qVJh.js → analytics-DCrhd8oB.js} +1 -1
- package/dist/assets/{analyticsHelper-CewoJ3Hu.js → analyticsHelper-CQXeRvKo.js} +1 -1
- package/dist/assets/{core-SRRzy8qJ.js → core-DmAftQ4g.js} +1 -1
- package/dist/assets/{decodeURIComponentSafe-Bz-26BXW.js → decodeURIComponentSafe-C70tsXnj.js} +1 -1
- package/dist/assets/{dnd-CR8sMRK3.js → dnd-3F1D24DQ.js} +1 -1
- package/dist/assets/{empty-BjaZv87n.js → empty-B3YzB_Zh.js} +1 -1
- package/dist/assets/{empty-Btqk4ZK3.js → empty-CDCfsLV4.js} +1 -1
- package/dist/assets/{emptyVideoElement-CcSCePHi.js → emptyVideoElement-CFNhZ55F.js} +1 -1
- package/dist/assets/epic-Bmb0p0Me.js +2 -0
- package/dist/assets/getLocaleForTenant-C55KVru2.js +1 -0
- package/dist/assets/{index-CejiZfG4.js → index-B2dyNLwa.js} +1 -1
- package/dist/assets/{index-JPErnqsm.js → index-BJ17Ijlb.js} +2 -2
- package/dist/assets/{index-CxtVVz4g.js → index-BTn1WqO7.js} +1 -1
- package/dist/assets/{index-CEFX9nem.js → index-BpGaPboJ.js} +1 -1
- package/dist/assets/{index-rTYnRLvf.js → index-DPrh5XVZ.js} +1 -1
- package/dist/assets/{index-6PBzTIZ2.js → index-DniSRtks.js} +1 -1
- package/dist/assets/{index-BnX1nS7p.js → index-DsVH62ZK.js} +13159 -13147
- package/dist/assets/{index-DiKyQs4W.js → index-EyTFjAAZ.js} +1 -1
- package/dist/assets/{lexical-qJrDnJMV.js → lexical-PVlNGkpS.js} +1 -1
- package/dist/assets/{liveblocks-DS8sOLD1.js → liveblocks-evjZPqs_.js} +1 -1
- package/dist/assets/{lottie-Coq2aDEW.js → lottie-CmTLY-9t.js} +1 -1
- package/dist/assets/{mui-DQ-jfgFM.js → mui-PcDpEhsm.js} +1 -1
- package/dist/assets/{pathToGoBack-BmSmVqnZ.js → pathToGoBack-Dt8AwbCr.js} +1 -1
- package/dist/assets/{pdf-D2Xq7623.js → pdf-CbXlPYUs.js} +4 -4
- package/dist/assets/{pdf-lib-fB9Fkl6A.js → pdf-lib-CU5FhbnZ.js} +1 -1
- package/dist/assets/{plaid-DWZgMqW3.js → plaid-DSnXUEUK.js} +1 -1
- package/dist/assets/{pusher-Xj81uOBz.js → pusher-Cwyg5VVV.js} +1 -1
- package/dist/assets/{react-eGjCUI9Z.js → react-CDqmK3AW.js} +1 -1
- package/dist/assets/{react-BlqDZveQ.js → react-CJ1HWQ69.js} +1 -1
- package/dist/assets/{react-CgdBA-iC.js → react-CY1ZQ6op.js} +1 -1
- package/dist/assets/{react-DRyTZBkZ.js → react-Cf5hLxOq.js} +1 -1
- package/dist/assets/{react-DyXk5i5q.js → react-EoTfQhVb.js} +1 -1
- package/dist/assets/{react-DrjKWElm.js → react-ymB_cbpE.js} +1 -1
- package/dist/assets/{recharts-CHATJmXy.js → recharts-CgEqsrFw.js} +1 -1
- package/dist/assets/routePaths-Dq5U7lhs.js +1 -0
- package/dist/assets/{sentry-B2Aew07S.js → sentry-CCZGmBkl.js} +1 -1
- package/dist/assets/{url-BOKPP8B2.js → url-9kg5cual.js} +1 -1
- package/dist/assets/{url-BfvldWlU.js → url-BKaTO14S.js} +1 -1
- package/dist/assets/{useAiCfoDashboardSuggestedQuestionsChips-DiiAXpvy.js → useAiCfoDashboardSuggestedQuestionsChips-BzB3gTK8.js} +1 -1
- package/dist/assets/{useAskAiCfoHostNavButtonProps-RYFll1PC.js → useAskAiCfoHostNavButtonProps-uVGdd0zj.js} +1 -1
- package/dist/assets/useCashManagementBanner-BB3WgTJ-.js +1 -0
- package/dist/assets/{useChargeCardPusherEvents-iVaYEDl9.js → useChargeCardPusherEvents-BOkZNaGv.js} +1 -1
- package/dist/assets/{useDeviceId-obtSvxuy.js → useDeviceId-DGJPBja9.js} +1 -1
- package/dist/assets/useEmailConnectResultRefresh-FRZ2xd4V.js +1 -0
- package/dist/assets/{useInitialThreadRequest-8loDIspA.js → useInitialThreadRequest-D9ebiXdA.js} +1 -1
- package/dist/assets/{utils-D8kKiFqT.js → utils--mWNe9J7.js} +1 -1
- package/dist/assets/{withTransactionSidePanel-CpddR0Hs.js → withTransactionSidePanel-iGXE6khP.js} +2 -2
- package/dist/assets/{zeni-epic-state-DcKqCCCg.js → zeni-epic-state-vtQ66nN6.js} +6 -6
- package/dist/index.html +1 -1
- package/package.json +3 -3
- package/dist/assets/AddressRoutes-DYu6X0mE.js +0 -1
- package/dist/assets/AddressScreen-DmitYkw7.js +0 -9
- package/dist/assets/CardsAiCfoScreen-DWCPoMx2.js +0 -14
- package/dist/assets/CompanyPassportScreen-CdbgEPbH.js +0 -1
- package/dist/assets/ConnectionAuthScreen-B6ApFE5A.js +0 -11
- package/dist/assets/CustomerOnboardingAuthScreen-BC6kPGo0.js +0 -1
- package/dist/assets/DomesticWireDetailScreen-Bg4mE0II.js +0 -18
- package/dist/assets/DrawerScreen-Q_Fkogtz.js +0 -1
- package/dist/assets/EntityDetailRoutes-FVCOQ4xF.js +0 -1
- package/dist/assets/FeaturePreviewScreen-D35UAPet.js +0 -1
- package/dist/assets/HubSpotOAuthCallbackScreen-CqLWzeL5.js +0 -1
- package/dist/assets/MagicLinkRoutes-Cy9sY1KO.js +0 -72
- package/dist/assets/MagicLinkSignInScreen-CTQVJ1D1.js +0 -12
- package/dist/assets/MobileAppDrawer-DChLZMjE.js +0 -1
- package/dist/assets/NotFoundScreen-DRRoMVDk.js +0 -1
- package/dist/assets/NotificationRoutes-DC-UVqrq.js +0 -1
- package/dist/assets/PandLWithForecastRoutes-DtN54cOv.js +0 -1
- package/dist/assets/ReferralListScreen-DoZyTHjO.js +0 -5
- package/dist/assets/ReimbursementApprovalRoutes-AEJXMIeN.js +0 -1
- package/dist/assets/RewardsRoutes-B_SjWYxl.js +0 -1
- package/dist/assets/ScreenRoutes-DrzMUCeq.js +0 -2
- package/dist/assets/SignInScreen-B5h77NMY.js +0 -1
- package/dist/assets/SignOutScreen-MsTaSP0q.js +0 -9
- package/dist/assets/TaskListScreen-BDTDGrzi.js +0 -9
- package/dist/assets/TaskRoutes-CNamnrYQ.js +0 -9
- package/dist/assets/TreasuryRoutes-B_Dv4GZ7.js +0 -37
- package/dist/assets/WiseConfirmationScreen-DAi_rrl_.js +0 -12
- package/dist/assets/ZeniAccountStatementScreen-DbJvbotJ.js +0 -9
- package/dist/assets/epic-DDYIjE2A.js +0 -2
- package/dist/assets/getLocaleForTenant-DHWNDQcY.js +0 -1
- package/dist/assets/routePaths-DyfF54Mg.js +0 -1
- package/dist/assets/useCashManagementBanner-DeSZsTvv.js +0 -1
- package/dist/assets/useEmailConnectResultRefresh-DEaO6bJX.js +0 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{j as C}from"./liveblocks-evjZPqs_.js";import{a}from"./sentry-CCZGmBkl.js";import{u as D,g as v,j as u,N as w}from"./core-DmAftQ4g.js";import{LR as O,eW as _,f$ as A,o7 as L,gq as E,f_ as j,fx as U,LY as $}from"./zeni-epic-state-vtQ66nN6.js";import{u as F,z as m,L as g,O as k,o as H}from"./index-DsVH62ZK.js";import{n as R}from"./mui-PcDpEhsm.js";import{t as z}from"./getLocaleForTenant-C55KVru2.js";import{g as P,Q as q}from"./QBOConnectionScreen-Cx74YOuE.js";import"./recharts-CgEqsrFw.js";import"./analytics-DCrhd8oB.js";import"./plaid-DSnXUEUK.js";import"./dnd-3F1D24DQ.js";import"./stripe-DMRn4zHo.js";import"./lottie-CmTLY-9t.js";import"./lexical-PVlNGkpS.js";import"./pdf-CbXlPYUs.js";import"./utils--mWNe9J7.js";import"./empty-CDCfsLV4.js";import"./pdf-lib-CU5FhbnZ.js";import"./index-EyTFjAAZ.js";import"./url-9kg5cual.js";import"./index-DniSRtks.js";import"./decodeURIComponentSafe-C70tsXnj.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},i=new t.Error().stack;i&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[i]="e4dfbb67-e431-4f5d-a801-dcb24d61b7f6",t._sentryDebugIdIdentifier="sentry-dbid-e4dfbb67-e431-4f5d-a801-dcb24d61b7f6")}catch{}})();const G=R.div`
|
|
2
|
+
display: flex;
|
|
3
|
+
flex: 1 1 auto;
|
|
4
|
+
flex-direction: row;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
align-items: center;
|
|
7
|
+
width: 100%;
|
|
8
|
+
height: 100vh;
|
|
9
|
+
background-color: ${t=>t.theme.colors.background};
|
|
10
|
+
box-shadow: ${t=>`0px 2px ${H.sp1} ${t.theme.colors.dropShadowNormal}`};
|
|
11
|
+
`;function pe(){const t=D(),i=v(),{setLoading:d,clearAllLoading:h}=F(),p=a.useRef(!1),c=a.useRef(!1),{code:x,realmId:T,state:y}=P(i.search),N=x!==""&&T!==""&&y!=="",I=u(l=>O(l)),e=u(l=>_(l)),n=u(l=>l.tenantState.fetchState),r=u(l=>l.tenantState.activeTenantFetchState.fetchState),o=m.getSignedInUser(),f=m.getActiveTenantForUser()?.tenantId,s=e?.externalConnections?.fetchState,b=e?.externalConnections?.saveConnectionState,S=e.externalConnections?.accounting[0]?.isValid;return a.useLayoutEffect(()=>{d(g.CONNECTION_AUTH)},[d]),a.useEffect(()=>{p.current||o==null||f==null||(p.current=!0,n==="Completed"||r!=="Not-Started"&&r!=="Error"||(d(g.TENANT_FETCHING),t(A(o.userId,f))))},[p,n,d]),a.useEffect(()=>{e.tenantId==null&&!c.current&&o!=null&&(c.current=!0,!(f==null||f!=null&&(r==="Completed"||r==="Error"))||n!=="Not-Started"&&n!=="Error"||t(L(o.userId)))},[c,n,r]),a.useEffect(()=>{o==null||e?.tenantId==null||e.externalConnections!=null||n!=="Completed"&&r!=="Completed"||s==="In-Progress"||b!=="Error"||(d(g.CONNECTION_AUTH),t(E(o.userId,e.tenantId)))},[b]),a.useEffect(()=>{n!=="Completed"&&r!=="Completed"||o==null||e?.tenantId==null||(t(j(e.tenantId)),m.saveActiveTenantDomainForUser(e.tenantEmailDomain),U(o?.userId,o?.zeniSessionId,e.tenantId),k.updateAppLocaleID(z($(e))),e.externalConnections!=null||n!=="Completed"&&r!=="Completed"||s==="In-Progress"||o==null||e==null||t(E(o.userId,e.tenantId)))},[n,r,s]),a.useEffect(()=>{I.tenantsCoreDetailsInOrder.length>0&&n==="Completed"&&m.saveSignedInUserTenants(I.tenantsCoreDetailsInOrder)},[I.tenantsCoreDetailsInOrder.length,n]),a.useEffect(()=>{n!=="Completed"&&n!=="Error"||r!=="Completed"&&r!=="Error"||s!=="Completed"&&s!=="Error"||h()},[n,r,s]),e==null||n!=="Completed"&&r!=="Completed"||s!=="Completed"?null:N||S===!1?C.jsx(G,{children:C.jsx(q,{})}):C.jsx(w,{to:"/",replace:!0})}export{pe as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as i}from"./liveblocks-evjZPqs_.js";import{z as n}from"./index-DsVH62ZK.js";import{g as d}from"./QBOConnectionScreen-Cx74YOuE.js";import"./sentry-CCZGmBkl.js";import{g as p,N as s}from"./core-DmAftQ4g.js";import"./zeni-epic-state-vtQ66nN6.js";import"./recharts-CgEqsrFw.js";import"./mui-PcDpEhsm.js";import"./analytics-DCrhd8oB.js";import"./plaid-DSnXUEUK.js";import"./dnd-3F1D24DQ.js";import"./stripe-DMRn4zHo.js";import"./lottie-CmTLY-9t.js";import"./lexical-PVlNGkpS.js";import"./pdf-CbXlPYUs.js";import"./utils--mWNe9J7.js";import"./empty-CDCfsLV4.js";import"./pdf-lib-CU5FhbnZ.js";import"./index-EyTFjAAZ.js";import"./url-9kg5cual.js";import"./index-DniSRtks.js";import"./decodeURIComponentSafe-C70tsXnj.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},o=new t.Error().stack;o&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[o]="817363c8-7f1d-4590-b58b-cef70b99ca15",t._sentryDebugIdIdentifier="sentry-dbid-817363c8-7f1d-4590-b58b-cef70b99ca15")}catch{}})();const U=()=>{const t=p(),{code:o,realmId:r,state:e}=d(t.search),m=n.getSignedInUser()?.userId??"";if(f(o,r,e,m)===!0){const a=`../../${e}/onboarding?code=${o}&realmId=${r}&state=auth_flow`;return i.jsx(s,{to:a})}return i.jsx(s,{to:"../../"})},f=(t,o,r,e)=>t!=""&&o!=""&&r!=""&&e!=null&&e!="";export{U as default,f as hasValidParams};
|
package/dist/assets/{CustomerOnboardingRoutes-DC4e3Ogu.js → CustomerOnboardingRoutes-B4tFhrDj.js}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{j as o}from"./liveblocks-
|
|
1
|
+
import{j as o}from"./liveblocks-evjZPqs_.js";import{t as ft,A as Ne}from"./AddressScreen-D7DCNUGo.js";import yt from"./NotFoundScreen-AsC21qGx.js";import{a as d}from"./sentry-CCZGmBkl.js";import{h as Ce,g as ke,u as H,i as Ie,j as _,N as j,n as Ee,l as ht,o as St,p as Q}from"./core-DmAftQ4g.js";import{v as _e,I as xe,z as $,W as Ae,U as M,n as bt,q as N,x as ce,c as K,ap as nt,e as ve,aq as Ct,Z as kt,ar as $e,i as he,as as It,o as Ge,at as ze,au as Et,av as Qe,aw as _t}from"./index-DsVH62ZK.js";import{eW as W,fT as xt,fB as Te,fz as Oe,bs as At,o5 as vt,fP as Tt,bS as Ot,tk as wt,tn as Pt,MQ as Dt,MR as Ft,MS as jt,xI as Ut,Es as Bt,u9 as Vt,MT as Rt,k7 as Se,ka as at,Ml as Lt,bY as Mt,c6 as ue,tO as we,tz as Nt,MU as de,tP as ot,Ke as $t,lb as st,MV as Gt,MW as zt,rh as Qt,ho as Kt,Md as me,hl as Zt,Me as qt,xX as Ht,rl as Wt,hd as Xt,hg as Ke,MX as it,MY as Yt,D$ as Jt,MZ as en,E3 as tn,tq as nn,tB as be,M_ as an,M$ as on,k5 as sn,k8 as rn,t$ as cn,tN as dn,bE as Ze,cy as un,t_ as qe,rA as ln,ro as pn,l3 as mn,gf as gn,ge as fn,gd as yn,N0 as hn,tt as Sn,u0 as bn,u3 as Cn,u6 as kn,uc as In}from"./zeni-epic-state-vtQ66nN6.js";import{n as Pe}from"./mui-PcDpEhsm.js";import{g as En,h as _n,q as ae}from"./QBOConnectionScreen-Cx74YOuE.js";import{u as xn}from"./useEmailConnectResultRefresh-FRZ2xd4V.js";import{u as An}from"./useChargeCardPusherEvents-BOkZNaGv.js";import{u as vn}from"./plaid-DSnXUEUK.js";import"./recharts-CgEqsrFw.js";import"./analytics-DCrhd8oB.js";import"./dnd-3F1D24DQ.js";import"./stripe-DMRn4zHo.js";import"./lottie-CmTLY-9t.js";import"./lexical-PVlNGkpS.js";import"./pdf-CbXlPYUs.js";import"./utils--mWNe9J7.js";import"./empty-CDCfsLV4.js";import"./pdf-lib-CU5FhbnZ.js";import"./index-EyTFjAAZ.js";import"./url-9kg5cual.js";import"./index-DniSRtks.js";import"./decodeURIComponentSafe-C70tsXnj.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},s=new t.Error().stack;s&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[s]="ae0de6cf-7440-4d4a-9206-faeb1cd500ca",t._sentryDebugIdIdentifier="sentry-dbid-ae0de6cf-7440-4d4a-9206-faeb1cd500ca")}catch{}})();const Tn=Ee(function(t,s){const n=[];s.isApAgingFeatureEnabled===!1&&n.push("accounts_payable_aging"),s.isArAgingFeatureEnabled===!1&&n.push("accounts_receivable_aging"),s.shouldFetchZeniAccountsPromoCard===!1&&n.push("zeni_accounts_promo_card"),s.shouldFetchRewardsPlanCard===!1&&n.push("rewards_card"),s.isExpenseAutomationEnabledForUser===!1&&n.push("expense_automation_card");const a=Tt(t,n,s.signedInUser,s.isExpenseAutomationFeatureEnabledV2,s.isExpenseAutomationEnabledForUser,s.isTreasuryEnabled);return{dashboardFetchState:Ot(a.reportsInOrder.map(c=>({fetchState:c.fetchState,error:c.error}))).fetchState}},function(t,s){const{themeState:n,navigate:a,location:c}=s;return{onZeniLogoClick:()=>{n.toggle()},onDashboardFetchDone:()=>{const u=N(c.state?.pathnameStackToGoBack,c.pathname);a("../../dashboard",{state:{pathnameStackToGoBack:u,message:"activation"}})}}})(Ct),On=()=>{const t=Ce(),s=ke(),n=H(),a=_e(),[c,u]=d.useState(!1),[h,I]=d.useState(!1),{tenantEmailDomain:e}=Ie(),i=xe(),l=$.getSignedInUser(),{useFeatureGate:p}=Ae(),{isFeatureEnabled:T}=p(M.isApAgingFeatureEnabled),{isFeatureEnabled:r}=p(M.isArAgingFeatureEnabled),{isFeatureEnabled:m}=p(M.isDepositAccountsFeatureEnabled),{isFeatureEnabled:x}=p(M.isReferralFeatureEnabled),{isFeatureEnabled:E}=p(M.isExpenseAutomationEnabledV2),{isFeatureEnabled:g}=p(M.isDebitCardFeatureEnabled),U=bt(),S=_(k=>W(k)),{isFeatureEnabled:P}=p(M.isTreasuryEnabled),V=S.company!=null&&xt(S.company),y=P&&V,b=_(k=>k.onboardingCustomerViewState.fetchState),A=S.excludedResources,B=S.companyId??$.getSignedInUserTenant(e)?.companyId;if(l==null)throw Error("Can't access onboarding flow without signing in...");const D=Te(g,S),v=Oe(S),w=[],Z=A?.resources?.find(k=>k.resource==="/reports/top_expenses")==null,G=A?.resources?.find(k=>k.resource==="/reports/task_card")==null,X=S?.userRole!=null&&At(S?.userRole),Y=A?.resources?.find(k=>k.resource==="/bills")==null&&!X,z=A?.resources?.find(k=>k.resource==="/reimbursements")==null;if(Z===!1&&w.push("top_expenses"),G===!1&&w.push("task_card"),Y===!1&&w.push("bill_pay_card","bill_pay_promo_card"),z===!1&&w.push("reimbursement_card","reimbursement_promo_card"),m===!1&&w.push("zeni_accounts_promo_card"),x===!1&&w.push("rewards_card"),d.useEffect(()=>{b!=="Completed"||c||D||v||(u(!0),n(vt(l.userId,B,S.tenantId,!0,!1,w)))},[c,b,D,v,l,S.tenantId,n]),d.useEffect(()=>{(D||v)&&setTimeout(()=>{I(!0)},5e3)},[D,v]),b!=="Completed")return o.jsx(j,{to:"../"});if(b==="Completed"&&h){const k=N(s.state?.pathnameStackToGoBack,s.pathname);if(D)return o.jsx(j,{to:"../../checking",state:{...s.state,pathnameStackToGoBack:k,message:"activation"}});if(v)return o.jsx(j,{to:"../../cards",state:{...s.state,pathnameStackToGoBack:k,message:"activation"}})}return i?.loggedInUserRoleMap!=null?o.jsxs(o.Fragment,{children:[o.jsx(ce,{analytics:K,onLoad:k=>(F=>F.trackPageLoaded(ve.Event.onboardingDashboardActivation))(k)}),o.jsx(Tn,{navigate:t,location:s,themeState:a,signedInUser:l,isApAgingFeatureEnabled:T,isArAgingFeatureEnabled:r,shouldFetchZeniAccountsPromoCard:m,shouldFetchRewardsPlanCard:x,isExpenseAutomationEnabledForUser:U,isExpenseAutomationFeatureEnabledV2:E,isTreasuryEnabled:y,loggedInUserRoleMap:i?.loggedInUserRoleMap})]}):o.jsx(nt,{})},ge=["reading_books","finance_graph","reconciliation","cfo_foundation"],fe=["llm_fine_tuning","rag_knowledge_graph","personalized_context"],He=(t,s)=>{const n=new Map(t.map(a=>[a.key,a]));return s.map(a=>{return c=n.get(a)?.status,c==="starting"||c==="building"?c:"idle";var c})},We=(t,s)=>{if(t.length===0)return!1;const n=new Map(t.map(a=>[a.key,a]));return s.every(a=>n.get(a)?.status==="ready")},wn=new Set(Rt),Xe=Pe.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
height: 100vh;
|
|
4
4
|
background-color: ${t=>t.theme.colors.grey4};
|
|
5
|
-
`,
|
|
5
|
+
`,Ye=Pe.div`
|
|
6
6
|
display: flex;
|
|
7
7
|
flex-direction: column;
|
|
8
8
|
align-items: center;
|
|
@@ -23,8 +23,8 @@ import{j as o}from"./liveblocks-DS8sOLD1.js";import{t as ft,A as Ne}from"./Addre
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
${t=>t.windowSize!=="small"?"overflow: auto;":""}
|
|
26
|
-
`,Xe=Ee(function(t,s){const{companyId:n,isAdmin:a,currentTenant:c,isOnAddressPage:u}=s,h=$.getSignedInUser(),I=c.tenantId,e={userId:h?.userId??"",sessionId:h?.zeniSessionId??"",tenantId:I??""},i=W(t),l=we(t,n),p=it(t),O=ue(c?.userRole??[])&&l.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",r=Jt(t.userRoleConfigState);return{onboardingCustomerView:l,analytics:K,isRefreshingViewInBackground:!1,isDisabled:O,companyTitles:r.companyTitles,connectedAccountProvider:i.company?.featuresActivationInfo.connectedAccountProvider??"",fileProps:{filesEndPoint:Et.fileMicroServiceBaseUrl,authParams:e},signedInUser:$.getSignedInUser(),currentTenant:i,isAdmin:a,isOnAddressPage:u,meetingUrl:"https://meetings.hubspot.com/niharn/zeni-onboarding-overview?embed=true",cardPaymentView:p,isCardPaymentPopupOpen:!1,stripeKey:he.stripeKey}},function(t,s){const{companyId:n,currentTenant:a,themeState:c,navigate:u,location:h}=s,{tenantEmailDomain:I}=a;return{onFetchLinkTokenClick:(e,i)=>{t(In(e,i))},onEstablishConnectionClick:(e,i)=>{t(kn(e,i))},onUpdatePaymentAccountStatus:(e,i,l)=>{t(Cn(e,i,l))},onUpdatePaymentAccountLoginStatus:(e,i)=>{t(Sn(!1,e,i))},onEstablishConnectionSuccess:()=>{t(bn(n,!0,!1))},handleOnConnectClick:()=>{K.trackOnboardingConnectQBO(),ae.handleClick()},updateQBOPopupState:e=>{t(de({isQBOPopupOpen:e}))},onCompanyOfficerUpdated:e=>{const i=e.map(l=>{const{officerType:p,userId:O,name:r,email:m,ssn:v,nationalityCountryCode:E,dob:g,phone:U,syncToken:b,selectDocument:P,role:V,ownership:y,isSelectedForVerification:S,userVerificationStatus:x,fileIds:B,isPhoneVerified:D}=l;let A;return P.selectDocumentType==="driverLicense"?A="driving_license":P.selectDocumentType==="passport"?A="passport":P.selectDocumentType==="stateId"?A="id_document":P.selectDocumentType==="ssnCard"&&(A="social_security_card"),{officerType:p,userId:O,firstName:r.firstName,lastName:r.lastName,email:m,ssn:v,nationalityCountryCode:E?.selectedOption!=null?Qe(E.selectedOption):void 0,phone:U,birthday:g!=null?qe(g?.toString()):g,syncToken:b,titleAtCompany:V.selectedOption,ownershipInCompany:y,documentTypeSelectedForVerification:A,isSelectedForVerification:S,userVerificationStatus:x,fileIds:B,additionalDocumentTypesRequestedForVerification:[],additionalSubmittedDocumentsForVerificationFileIds:[],areAdditionalDocumentsRequestedForVerification:!1,areAdditionalDocumentsSubmittedForVerification:!1,isPhoneVerified:D}});t(Ze({officers:i}))},onGetOtp:(e,i)=>{t(yn(e,"CustomerOnboarding")),i!=null&&t(hn({officerType:i,phone:e}))},onResendOtp:e=>{t(fn(e,"CustomerOnboarding"))},onVerifyOtp:(e,i)=>{t(gn(e,i,"CustomerOnboarding"))},updateFilesEntity:e=>{t(mn({files:e}))},onDeleteFile:e=>{t(pn(e))},onEditFileName:(e,i)=>{t(ln(e,i.split(".")[0]))},onCompanyDetailsChanged:e=>{const{companyDescription:i,companyIndustry:l,companyIndustryType:p,companyLegalName:O,companyTaxId:r,companyWebsite:m,companyPhone:v,primaryContactEmail:E,primaryContactName:g,primaryContactUserId:U,primaryContactSyncToken:b,syncToken:P,fileIds:V,typeOfIncorporation:y,stateOfIncorporation:S,incDate:x,companySourceOfFunds:B,companySourceOfFundsDescription:D,companySubIndustry:A,countriesOfOperations:w,purposeOfAccount:q,purposeOfAccountDescription:G,regulatedStatus:Y,regulatedStatusDescription:J,transactionVolume:z,transactionVolumeDescription:k,usNexus:F,usNexusTypes:oe}=e,R={companyId:n,companyDescription:i,companyIndustry:l.selectedOption,companyIndustryType:p?.selectedOption??"",companyLegalName:O,taxIdOrEIN:r,website:m!=""&&m!=null?un(m):void 0,phone:v,syncToken:P,fileIds:V,incDate:x!=null?qe(x?.toString()):x,typeOfIncorporation:y?.selectedOption??"",stateOfIncorporation:S?.selectedOption??"",companySourceOfFunds:B?.selectedOption??"",companySourceOfFundsDescription:D,companySubIndustry:A?.selectedOption??"",countriesOfOperations:w?.selectedOptions.map(X=>X.length===2?X:Qe(X))??[],purposeOfAccount:q?.selectedOption??"",purposeOfAccountDescription:G,regulatedStatus:Y??"",regulatedStatusDescription:J,transactionVolume:z?.selectedOption??"",transactionVolumeDescription:k,usNexus:F,usNexusTypes:oe?.selectedOptions??[]},le={userId:U,firstName:g.firstName,lastName:g.lastName,email:E,syncToken:b};t(Ze({companyDetails:R,primaryContactDetails:le}))},onAddressClick:(e,i)=>{const l=tt(I,e,i),p=N(h.state?.pathnameStackToGoBack,h.pathname);u(l,{state:{pathnameStackToGoBack:p}})},onRegisteredAddressClick:(e,i)=>{const l=tt(I,e,i),p=N(h.state?.pathnameStackToGoBack,h.pathname);u(l,{state:{pathnameStackToGoBack:p}})},onUpdateCustomerView:(e,i,l)=>{t(dn(n,!1,i,l,e))},onAddressEditHandler:e=>{if(e!=null){const i=ft(e);t(st({addressType:"subscription_billing_address",addressToCreate:i}))}},onSkipSetupClick:()=>{const e=N(h.state?.pathnameStackToGoBack,h.pathname);t(Se(n,!1,!1)),u("./activation",{state:{pathnameStackToGoBack:e}})},onUpdateStep:e=>{t(ot({step:e}))},onUpdateSubStep:e=>{t(cn({subStep:e}))},onZeniLogoClick:()=>{c.toggle()},handleLogOutClick:()=>{const e=N(h.state?.pathnameStackToGoBack,h.pathname);u("/signout",{replace:!0,state:{pathnameStackToGoBack:e,message:"logout"}})},handleCockpitClick:()=>{window.open("/cockpit")},handleCreateCardSetupIntent:e=>{t(at(e))},handleConfirmCardSetupIntent:e=>{t(rn(e))},updateCardPaymentModalState:e=>{t(de({isCardPaymentPopupOpen:e}))},handleAddCardPaymentSource:(e,i,l)=>{t(sn(e,i,l))},handleFetchPaymentSources:()=>{t(be())},resetCardPaymentViewState:()=>{t(on())},handleResetCardPaymentErrorStatuses:()=>{t(an())},redirectToProductSuitePage:()=>{const e=N(h.state?.pathnameStackToGoBack,h.pathname);t(Se(n,!1,!1)),u(`/${I}/onboarding/thankyou`,{state:{pathnameStackToGoBack:e,message:"OnboardingThankyou"},replace:!0})},onAcknowledgeAiFinanceTeam:()=>{n!=null&&t(nn(n))},onIdentityDocumentUploadedForAutofill:e=>{if(n==null)return;const i=en(e.documentType);i!=null&&t(tn({target:"onboarding",companyId:n,officerType:e.officerType,fileId:e.fileId,documentType:i}))},onCompanyDocumentUploadedForAutofill:e=>{n!=null&&t(Xt({target:"onboarding",companyId:n,fileId:e.fileId,documentType:e.documentType}))}}})(It),re=({taxCFOCustomer:t=!1,isOnAddressPage:s=!1,appContent:n})=>{const a=Ce(),c=ke(),u=H(),h=kt(),I=_e(),[e,i]=d.useState(!1),[l,p]=d.useState(!1),[O,r]=d.useState(!1),{tenantEmailDomain:m}=Ie(),v=ve(),{useFeatureGate:E}=xe(),{isFeatureEnabled:g}=E(M.isDebitCardFeatureEnabled),U=ht("/:tenantEmailDomain/onboarding")!==null&&c.search?.includes("code"),b=_(f=>f.onboardingCustomerViewState.fetchState),P=_(f=>f.onboardingCustomerViewState.currentStep),V=_(f=>f.onboardingCustomerViewState.uiState),y=_(f=>W(f)),S=_(f=>f.userRoleConfigState.fetchState),x=_(f=>f.cardPaymentViewState),B=$e(x.addCardPaymentSourceStatus.fetchState),D=x.addCardPaymentSourceStatus.fetchState,{code:A,realmId:w,state:q}=En(c.search),G=y.externalConnections?.accounting[0],Y=G?.connectionType,J=G?.connectionName,z=G?.connectionId??"",k=$.getSignedInUser()?.userId??"";d.useEffect(()=>{l||(p(!0),u(be()))},[l,u]),d.useEffect(()=>{O||(at(["card"]),r(!0))},[O]),d.useEffect(()=>{B==="In-Progress"&&D==="Completed"&&u(be())},[B,D]),d.useEffect(()=>{_n(A,w,q,z,k)===!0&&y.externalConnections?.saveConnectionState!=="In-Progress"&&b==="Completed"&&(u(Lt(y.tenantId,{connection_type:Y??"accounting",connection_name:J??"quickbooks_online",authorization_code:A,realm_id:w,connection_id:z,user_id:k},Mt(window.location.origin+"/onboarding/auth"))),K.trackOnboardingSaveQBOConnection(w,z),a(c.pathname))},[A,w,q,c.pathname,b]),d.useEffect(()=>{ae.isInitiated===!1&&b==="Completed"&&ae.init("/onboarding/auth",y.tenantEmailDomain)},[b]);const F=y.companyId??$.getSignedInUserTenant(m)?.companyId,oe=ue(y?.userRole??[]),R=_(f=>we(f,F));d.useEffect(()=>{e||b!=="Not-Started"||F==null||(i(!0),u(Nt(F,!0,!U)))},[e,b,F]),d.useEffect(()=>{y.externalConnections?.saveConnectionState!=="Completed"&&y.externalConnections?.saveConnectionState!=="Error"||!V.isQBOPopupOpen||P!=="connect_ledger"||u(de({isQBOPopupOpen:!1}))},[y.externalConnections?.saveConnectionState]),d.useEffect(()=>{b==="Completed"&&U&&(u(ot({step:"connect_ledger"})),u(de({isQBOPopupOpen:!0})))},[U,b]),d.useEffect(()=>{S==="Not-Started"&&u($t(!0))},[S,u]);const le=$e(R.companyDetailsLocalData?.addressStatus);d.useEffect(()=>{R.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate==null&&R.companyDetailsLocalData?.addressStatus?.addressToCreate!=null&&le==null&&u(st({addressType:"company_registered_address",addressToCreate:R.companyDetailsLocalData?.addressStatus?.addressToCreate}))},[R.companyDetailsLocalData?.addressStatus?.addressToCreate,R.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate]);const X=R.isInterimEmailSent,De=$.getSignedInUser();if(De==null)throw Error("Can't access onboarding flow without signing in...");const rt=Oe(g,y),ct=Te(y),Fe=y.company?.companyOnboardingInfo.isOnboardingCompleted,je=f=>f.trackPageLoaded(Ae.Event.onboardingPage),Ue=y.productSettings.isOtherProductsEnabled,dt=y.productSettings.isTreasuryEnabled,Be=Pn({tenantEmailDomain:m??"",signedInUserEmail:De.userEmail??"",companyId:F}),Ve=(({companyId:f})=>{const L=H(),se=_(T=>T.onboardingCustomerViewState?.aiAgentsActivation),ee=_(T=>W(T).company?.companyOnboardingInfo?.onboardingInfo?.onboardingAiActivationInfo?.isOnboardingAiActivationViewed??!1),pe=d.useCallback(()=>{L(wt())},[L]);d.useEffect(()=>{pe()},[pe]);const Re=d.useCallback(()=>{f==null||f===""||ee||L(Pt(f))},[f,ee,L]),ut=d.useMemo(()=>{if(f==null||f==="")return[];const T=`private-encrypted-${f}`;return[`${T}.ledger-ingestion.counts-updated`,`${T}.ai-agents-activation.phase-changed`]},[f]),lt=d.useCallback((T,te)=>{if(te==null||typeof te!="object")return;const C=te;if(T!=="ledger-ingestion.counts-updated"){if(T==="ai-agents-activation.phase-changed"){const ie=typeof C.phase_key=="string"?C.phase_key:typeof C.key=="string"?C.key:"",Z=typeof C.status=="string"?C.status:"idle";if(ie==="")return;L(Ft({key:ie,status:Z==="starting"||Z==="building"||Z==="ready"?Z:"idle",startedAt:typeof C.started_at=="string"?C.started_at:void 0,completedAt:typeof C.completed_at=="string"?C.completed_at:void 0}))}}else L(Dt({customerCount:typeof C.customer_count=="number"?C.customer_count:void 0,glAccountCount:typeof C.gl_account_count=="number"?C.gl_account_count:void 0,targetTransactionCount:typeof C.target_transaction_count=="number"?C.target_transaction_count:void 0,transactionCount:typeof C.transaction_count=="number"?C.transaction_count:void 0,vendorCount:typeof C.vendor_count=="number"?C.vendor_count:void 0}))},[L]);return xn({events:ut,onEvent:lt,onSubscribed:pe}),d.useMemo(()=>{const T=se?.phases??[],te=He(T,ge),C=He(T,fe),ie=We(T,ge),Z=We(T,fe),Le=T.some(gt=>gt.status!=="idle"),ne=!ee&&!Le,Me=ee&&!Le,pt=Me?ge.map(()=>"building"):te,mt=Me?fe.map(()=>"building"):C;return{ledgerRowStatuses:ne?void 0:pt,backgroundRowStatuses:ne?void 0:mt,showLedgerReadyInLabel:ne?void 0:ie,showBackgroundReadyInLabel:ne?void 0:Z,forceContinueEnabled:!ne||void 0,counts:se?.counts,onContinueClicked:Re}},[se?.phases,se?.counts,ee,Re])})({companyId:F});if(Fe===!0){if(!Ue)return dt?o.jsx(j,{to:"../../treasury"}):rt?o.jsx(j,{to:"../../checking"}):ct?o.jsx(j,{to:"../../cards"}):o.jsx(j,{to:"../../dashboard"});const f=R.updateStatus.fetchState==="In-Progress";if(Ue&&!f)return t?o.jsxs(Ye,{children:[o.jsx(ce,{analytics:K,onLoad:L=>je(L)}),o.jsx(Xe,{navigate:a,location:c,companyId:F,currentTenant:y,isAdmin:oe,isOnAddressPage:s,themeState:I,googleAPIKey:he.googleMapsAPIKey,integrationsSectionProps:Be,aiAgentsActivationProps:Ve}),n!=null?o.jsx(Je,{windowSize:h,skipLegacyDrawerOffset:s&&y.productSettings.isOtherProductsEnabled!==!0,children:n}):null]}):o.jsx(j,{to:"../../onboarding/thankyou"})}else if(Fe===!1&&v?.loggedInUserRoleMap!=null)return X===!0?o.jsx(j,{to:"../../onboarding/thankyou"}):o.jsxs(Ye,{children:[o.jsx(ce,{analytics:K,onLoad:f=>je(f)}),o.jsx(Xe,{navigate:a,location:c,companyId:F,currentTenant:y,isAdmin:oe,isOnAddressPage:s,themeState:I,googleAPIKey:he.googleMapsAPIKey,integrationsSectionProps:Be,aiAgentsActivationProps:Ve}),n!=null?o.jsx(Je,{windowSize:h,skipLegacyDrawerOffset:s&&y.productSettings.isOtherProductsEnabled!==!0,children:n}):null]});return null},ye="external_integrations",Pn=({tenantEmailDomain:t,signedInUserEmail:s,companyId:n})=>{const a=H();vn();const{plaidAccounts:c,onAddPlaidAccount:u}=(({companyId:r})=>{const m=H(),v=_(S=>S.plaidAccountViewState.external_account.plaidConnectionDetails.link_external_account),E=_(S=>jt(S.paymentAccountState)),g=d.useRef(!1);d.useEffect(()=>{m(Ut())},[m]);const U=d.useCallback(S=>{m(Bt(S,r,"external_account",void 0,"link_external_account")),g.current=!1},[m,r]),b=d.useCallback(()=>{g.current=!1},[]),{open:P,ready:V}=An({token:v.linkToken??null,onSuccess:U,onExit:b});d.useEffect(()=>{g.current&&V&&(P(),g.current=!1)},[V,P]);const y=d.useCallback(()=>{g.current=!0,m(Vt("external_account","link_external_account"))},[m]);return{plaidAccounts:d.useMemo(()=>E.map(S=>{return{accountId:S.paymentAccountId,name:S.institutionDetails?.institutionName??S.accountName,mask:S.accountLast4Digits,balanceFormatted:(x=S.balances?.current?.amount,B=S.balances?.current?.currencySymbol,x==null?"":`${B??"$"}${x.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}`),isActive:wn.has(S.providerVerificationStatus?.code??"")};var x,B}),[E]),onAddPlaidAccount:y}})({companyId:n}),h=_(r=>W(r)),I=_(r=>r.tenantState.fetchState),e=_(r=>Gt(r,n)),i=_(r=>zt(r,ye)),l=d.useMemo(()=>new Set(i.map(r=>r.additionalInfo).filter(r=>r!=null)),[i]),p=h.tenantId,O=ue(h.userRole??[]);return d.useEffect(()=>{a(Qt(ye))},[a]),d.useMemo(()=>({isAdmin:O,integrationsView:e,isLoading:I==="In-Progress",notifyMeRegisteredSlugs:l,saveChargeBeeState:e.externalConnections?.saveAPIKeyConnectionState??"Not-Started",saveChargeBeeError:e.externalConnections?.saveAPIKeyConnectionError?.message,saveHubSpotState:e.externalConnections?.saveOAuthConnectionState??"Not-Started",saveHubSpotError:e.externalConnections?.saveOAuthConnectionError?.message,saveConnectorCredentialsStateBySlug:e.externalConnections?.saveConnectorCredentialsStateBySlug??{},saveConnectorCredentialsErrorBySlug:Object.fromEntries(Object.entries(e.externalConnections?.saveConnectorCredentialsErrorBySlug??{}).map(([r,m])=>[r,m?.message])),deleteConnectionState:e.externalConnections?.deleteConnectionState??"Not-Started",deleteConnectionError:e.externalConnections?.deleteConnectionError?.message,onConnectGmail:()=>{a(Ke(p,"gmail",et()))},onConnectOutlook:()=>{a(Ke(p,"outlook",et()))},onConnectHubSpot:(r,m)=>{const v=e.externalConnections?.revenue?.find(g=>g.connectionName==="hubspot")?.connectionId;if(v==null)return;const E=`${window.location.origin}/oauth/hubspot/callback`;sessionStorage.setItem("hubspot_oauth_pending",JSON.stringify({client_id:r,client_secret:m,connection_id:v,redirect_uri:E,tenant_id:p})),window.location.href=`https://app.hubspot.com/oauth/authorize?client_id=${encodeURIComponent(r)}&scope=${encodeURIComponent("oauth crm.objects.deals.read crm.objects.owners.read")}&redirect_uri=${encodeURIComponent(E)}`},onDisconnect:(r,m)=>{a(Yt(p,r,me(m)))},onNotifyMe:r=>{a(Wt(ye,r,s))},onReconnectQBO:()=>{ae.init("/onboarding/auth",t),ae.handleClick()},onRefreshClick:()=>{e.integrations.refreshQBO.fetchState!=="In-Progress"&&a(Ht())},onSaveChargeBeeCredentials:(r,m)=>{const v=e.externalConnections?.revenue?.find(E=>E.connectionName==="chargebee")?.connectionId;v!=null&&a(qt(p,v,me("revenue"),Zt("chargebee"),{api_key:r,site:m}))},onSaveConnectorCredentials:r=>{a(Kt(p,me("payments"),r))},plaidAccounts:c,onAddPlaidAccount:u}),[O,e,I,l,p,s,t,a,c,u])};function et(){const t=new URL(window.location.href);return t.searchParams.set("onboarding_step","connect_data_source"),t.toString()}function tt(t,s,n){let a=`/${t}/onboarding/address`;return a=n!=null?a.concat(`/edit/${s}/${encodeURIComponent(n)}`):a.concat(`/new/${s}`),a}const Dn=Pe.div`
|
|
26
|
+
`,Je=Ee(function(t,s){const{companyId:n,isAdmin:a,currentTenant:c,isOnAddressPage:u}=s,h=$.getSignedInUser(),I=c.tenantId,e={userId:h?.userId??"",sessionId:h?.zeniSessionId??"",tenantId:I??""},i=W(t),l=we(t,n),p=it(t),T=ue(c?.userRole??[])&&l.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",r=Yt(t.userRoleConfigState);return{onboardingCustomerView:l,analytics:K,isRefreshingViewInBackground:!1,isDisabled:T,companyTitles:r.companyTitles,connectedAccountProvider:i.company?.featuresActivationInfo.connectedAccountProvider??"",fileProps:{filesEndPoint:Et.fileMicroServiceBaseUrl,authParams:e},signedInUser:$.getSignedInUser(),currentTenant:i,isAdmin:a,isOnAddressPage:u,meetingUrl:"https://meetings.hubspot.com/niharn/zeni-onboarding-overview?embed=true",cardPaymentView:p,isCardPaymentPopupOpen:!1,stripeKey:he.stripeKey}},function(t,s){const{companyId:n,currentTenant:a,themeState:c,navigate:u,location:h}=s,{tenantEmailDomain:I}=a;return{onFetchLinkTokenClick:(e,i)=>{t(In(e,i))},onEstablishConnectionClick:(e,i)=>{t(kn(e,i))},onUpdatePaymentAccountStatus:(e,i,l)=>{t(Cn(e,i,l))},onUpdatePaymentAccountLoginStatus:(e,i)=>{t(bn(!1,e,i))},onEstablishConnectionSuccess:()=>{t(Sn(n,!0,!1))},handleOnConnectClick:()=>{K.trackOnboardingConnectQBO(),ae.handleClick()},updateQBOPopupState:e=>{t(de({isQBOPopupOpen:e}))},onCompanyOfficerUpdated:e=>{const i=e.map(l=>{const{officerType:p,userId:T,name:r,email:m,ssn:x,nationalityCountryCode:E,dob:g,phone:U,syncToken:S,selectDocument:P,role:V,ownership:y,isSelectedForVerification:b,userVerificationStatus:A,fileIds:B,isPhoneVerified:D}=l;let v;return P.selectDocumentType==="driverLicense"?v="driving_license":P.selectDocumentType==="passport"?v="passport":P.selectDocumentType==="stateId"?v="id_document":P.selectDocumentType==="ssnCard"&&(v="social_security_card"),{officerType:p,userId:T,firstName:r.firstName,lastName:r.lastName,email:m,ssn:x,nationalityCountryCode:E?.selectedOption!=null?Qe(E.selectedOption):void 0,phone:U,birthday:g!=null?Ze(g?.toString()):g,syncToken:S,titleAtCompany:V.selectedOption,ownershipInCompany:y,documentTypeSelectedForVerification:v,isSelectedForVerification:b,userVerificationStatus:A,fileIds:B,additionalDocumentTypesRequestedForVerification:[],additionalSubmittedDocumentsForVerificationFileIds:[],areAdditionalDocumentsRequestedForVerification:!1,areAdditionalDocumentsSubmittedForVerification:!1,isPhoneVerified:D}});t(qe({officers:i}))},onGetOtp:(e,i)=>{t(yn(e,"CustomerOnboarding")),i!=null&&t(hn({officerType:i,phone:e}))},onResendOtp:e=>{t(fn(e,"CustomerOnboarding"))},onVerifyOtp:(e,i)=>{t(gn(e,i,"CustomerOnboarding"))},updateFilesEntity:e=>{t(mn({files:e}))},onDeleteFile:e=>{t(pn(e))},onEditFileName:(e,i)=>{t(ln(e,i.split(".")[0]))},onCompanyDetailsChanged:e=>{const{companyDescription:i,companyIndustry:l,companyIndustryType:p,companyLegalName:T,companyTaxId:r,companyWebsite:m,companyPhone:x,primaryContactEmail:E,primaryContactName:g,primaryContactUserId:U,primaryContactSyncToken:S,syncToken:P,fileIds:V,typeOfIncorporation:y,stateOfIncorporation:b,incDate:A,companySourceOfFunds:B,companySourceOfFundsDescription:D,companySubIndustry:v,countriesOfOperations:w,purposeOfAccount:Z,purposeOfAccountDescription:G,regulatedStatus:X,regulatedStatusDescription:Y,transactionVolume:z,transactionVolumeDescription:k,usNexus:F,usNexusTypes:oe}=e,R={companyId:n,companyDescription:i,companyIndustry:l.selectedOption,companyIndustryType:p?.selectedOption??"",companyLegalName:T,taxIdOrEIN:r,website:m!=""&&m!=null?un(m):void 0,phone:x,syncToken:P,fileIds:V,incDate:A!=null?Ze(A?.toString()):A,typeOfIncorporation:y?.selectedOption??"",stateOfIncorporation:b?.selectedOption??"",companySourceOfFunds:B?.selectedOption??"",companySourceOfFundsDescription:D,companySubIndustry:v?.selectedOption??"",countriesOfOperations:w?.selectedOptions.map(J=>J.length===2?J:Qe(J))??[],purposeOfAccount:Z?.selectedOption??"",purposeOfAccountDescription:G,regulatedStatus:X??"",regulatedStatusDescription:Y,transactionVolume:z?.selectedOption??"",transactionVolumeDescription:k,usNexus:F,usNexusTypes:oe?.selectedOptions??[]},le={userId:U,firstName:g.firstName,lastName:g.lastName,email:E,syncToken:S};t(qe({companyDetails:R,primaryContactDetails:le}))},onAddressClick:(e,i)=>{const l=tt(I,e,i),p=N(h.state?.pathnameStackToGoBack,h.pathname);u(l,{state:{pathnameStackToGoBack:p}})},onRegisteredAddressClick:(e,i)=>{const l=tt(I,e,i),p=N(h.state?.pathnameStackToGoBack,h.pathname);u(l,{state:{pathnameStackToGoBack:p}})},onUpdateCustomerView:(e,i,l)=>{t(dn(n,!1,i,l,e))},onAddressEditHandler:e=>{if(e!=null){const i=ft(e);t(st({addressType:"subscription_billing_address",addressToCreate:i}))}},onSkipSetupClick:()=>{const e=N(h.state?.pathnameStackToGoBack,h.pathname);t(be(n,!1,!1)),u("./activation",{state:{pathnameStackToGoBack:e}})},onUpdateStep:e=>{t(ot({step:e}))},onUpdateSubStep:e=>{t(cn({subStep:e}))},onZeniLogoClick:()=>{c.toggle()},handleLogOutClick:()=>{const e=N(h.state?.pathnameStackToGoBack,h.pathname);u("/signout",{replace:!0,state:{pathnameStackToGoBack:e,message:"logout"}})},handleCockpitClick:()=>{window.open("/cockpit")},handleCreateCardSetupIntent:e=>{t(at(e))},handleConfirmCardSetupIntent:e=>{t(rn(e))},updateCardPaymentModalState:e=>{t(de({isCardPaymentPopupOpen:e}))},handleAddCardPaymentSource:(e,i,l)=>{t(sn(e,i,l))},handleFetchPaymentSources:()=>{t(Se())},resetCardPaymentViewState:()=>{t(on())},handleResetCardPaymentErrorStatuses:()=>{t(an())},redirectToProductSuitePage:()=>{const e=N(h.state?.pathnameStackToGoBack,h.pathname);t(be(n,!1,!1)),u(`/${I}/onboarding/thankyou`,{state:{pathnameStackToGoBack:e,message:"OnboardingThankyou"},replace:!0})},onAcknowledgeAiFinanceTeam:()=>{n!=null&&t(nn(n))},onIdentityDocumentUploadedForAutofill:e=>{if(n==null)return;const i=en(e.documentType);i!=null&&t(tn({target:"onboarding",companyId:n,officerType:e.officerType,fileId:e.fileId,documentType:i}))},onCompanyDocumentUploadedForAutofill:e=>{n!=null&&t(Jt({target:"onboarding",companyId:n,fileId:e.fileId,documentType:e.documentType}))}}})(It),re=({taxCFOCustomer:t=!1,isOnAddressPage:s=!1,appContent:n})=>{const a=Ce(),c=ke(),u=H(),h=kt(),I=_e(),[e,i]=d.useState(!1),[l,p]=d.useState(!1),[T,r]=d.useState(!1),{tenantEmailDomain:m}=Ie(),x=xe(),{useFeatureGate:E}=Ae(),{isFeatureEnabled:g}=E(M.isDebitCardFeatureEnabled),U=ht("/:tenantEmailDomain/onboarding")!==null&&c.search?.includes("code"),S=_(f=>f.onboardingCustomerViewState.fetchState),P=_(f=>f.onboardingCustomerViewState.currentStep),V=_(f=>f.onboardingCustomerViewState.uiState),y=_(f=>W(f)),b=_(f=>f.userRoleConfigState.fetchState),A=_(f=>f.cardPaymentViewState),B=$e(A.addCardPaymentSourceStatus.fetchState),D=A.addCardPaymentSourceStatus.fetchState,{code:v,realmId:w,state:Z}=En(c.search),G=y.externalConnections?.accounting[0],X=G?.connectionType,Y=G?.connectionName,z=G?.connectionId??"",k=$.getSignedInUser()?.userId??"";d.useEffect(()=>{l||(p(!0),u(Se()))},[l,u]),d.useEffect(()=>{T||(at(["card"]),r(!0))},[T]),d.useEffect(()=>{B==="In-Progress"&&D==="Completed"&&u(Se())},[B,D]),d.useEffect(()=>{_n(v,w,Z,z,k)===!0&&y.externalConnections?.saveConnectionState!=="In-Progress"&&S==="Completed"&&(u(Lt(y.tenantId,{connection_type:X??"accounting",connection_name:Y??"quickbooks_online",authorization_code:v,realm_id:w,connection_id:z,user_id:k},Mt(window.location.origin+"/onboarding/auth"))),K.trackOnboardingSaveQBOConnection(w,z),a(c.pathname))},[v,w,Z,c.pathname,S]),d.useEffect(()=>{ae.isInitiated===!1&&S==="Completed"&&ae.init("/onboarding/auth",y.tenantEmailDomain)},[S]);const F=y.companyId??$.getSignedInUserTenant(m)?.companyId,oe=ue(y?.userRole??[]),R=_(f=>we(f,F));d.useEffect(()=>{e||S!=="Not-Started"||F==null||(i(!0),u(Nt(F,!0,!U)))},[e,S,F]),d.useEffect(()=>{y.externalConnections?.saveConnectionState!=="Completed"&&y.externalConnections?.saveConnectionState!=="Error"||!V.isQBOPopupOpen||P!=="connect_ledger"||u(de({isQBOPopupOpen:!1}))},[y.externalConnections?.saveConnectionState]),d.useEffect(()=>{S==="Completed"&&U&&(u(ot({step:"connect_ledger"})),u(de({isQBOPopupOpen:!0})))},[U,S]),d.useEffect(()=>{b==="Not-Started"&&u($t(!0))},[b,u]);const le=$e(R.companyDetailsLocalData?.addressStatus);d.useEffect(()=>{R.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate==null&&R.companyDetailsLocalData?.addressStatus?.addressToCreate!=null&&le==null&&u(st({addressType:"company_registered_address",addressToCreate:R.companyDetailsLocalData?.addressStatus?.addressToCreate}))},[R.companyDetailsLocalData?.addressStatus?.addressToCreate,R.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate]);const J=R.isInterimEmailSent,De=$.getSignedInUser();if(De==null)throw Error("Can't access onboarding flow without signing in...");const rt=Te(g,y),ct=Oe(y),Fe=y.company?.companyOnboardingInfo.isOnboardingCompleted,je=f=>f.trackPageLoaded(ve.Event.onboardingPage),Ue=y.productSettings.isOtherProductsEnabled,dt=y.productSettings.isTreasuryEnabled,Be=Pn({tenantEmailDomain:m??"",signedInUserEmail:De.userEmail??"",companyId:F}),Ve=(({companyId:f})=>{const L=H(),se=_(O=>O.onboardingCustomerViewState?.aiAgentsActivation),ee=_(O=>W(O).company?.companyOnboardingInfo?.onboardingInfo?.onboardingAiActivationInfo?.isOnboardingAiActivationViewed??!1),pe=d.useCallback(()=>{L(wt())},[L]);d.useEffect(()=>{pe()},[pe]);const Re=d.useCallback(()=>{f==null||f===""||ee||L(Pt(f))},[f,ee,L]),ut=d.useMemo(()=>{if(f==null||f==="")return[];const O=`private-encrypted-${f}`;return[`${O}.ledger-ingestion.counts-updated`,`${O}.ai-agents-activation.phase-changed`]},[f]),lt=d.useCallback((O,te)=>{if(te==null||typeof te!="object")return;const C=te;if(O!=="ledger-ingestion.counts-updated"){if(O==="ai-agents-activation.phase-changed"){const ie=typeof C.phase_key=="string"?C.phase_key:typeof C.key=="string"?C.key:"",q=typeof C.status=="string"?C.status:"idle";if(ie==="")return;L(Ft({key:ie,status:q==="starting"||q==="building"||q==="ready"?q:"idle",startedAt:typeof C.started_at=="string"?C.started_at:void 0,completedAt:typeof C.completed_at=="string"?C.completed_at:void 0}))}}else L(Dt({customerCount:typeof C.customer_count=="number"?C.customer_count:void 0,glAccountCount:typeof C.gl_account_count=="number"?C.gl_account_count:void 0,targetTransactionCount:typeof C.target_transaction_count=="number"?C.target_transaction_count:void 0,transactionCount:typeof C.transaction_count=="number"?C.transaction_count:void 0,vendorCount:typeof C.vendor_count=="number"?C.vendor_count:void 0}))},[L]);return An({events:ut,onEvent:lt,onSubscribed:pe}),d.useMemo(()=>{const O=se?.phases??[],te=He(O,ge),C=He(O,fe),ie=We(O,ge),q=We(O,fe),Le=O.some(gt=>gt.status!=="idle"),ne=!ee&&!Le,Me=ee&&!Le,pt=Me?ge.map(()=>"building"):te,mt=Me?fe.map(()=>"building"):C;return{ledgerRowStatuses:ne?void 0:pt,backgroundRowStatuses:ne?void 0:mt,showLedgerReadyInLabel:ne?void 0:ie,showBackgroundReadyInLabel:ne?void 0:q,forceContinueEnabled:!ne||void 0,counts:se?.counts,onContinueClicked:Re}},[se?.phases,se?.counts,ee,Re])})({companyId:F});if(Fe===!0){if(!Ue)return dt?o.jsx(j,{to:"../../treasury"}):rt?o.jsx(j,{to:"../../checking"}):ct?o.jsx(j,{to:"../../cards"}):o.jsx(j,{to:"../../dashboard"});const f=R.updateStatus.fetchState==="In-Progress";if(Ue&&!f)return t?o.jsxs(Xe,{children:[o.jsx(ce,{analytics:K,onLoad:L=>je(L)}),o.jsx(Je,{navigate:a,location:c,companyId:F,currentTenant:y,isAdmin:oe,isOnAddressPage:s,themeState:I,googleAPIKey:he.googleMapsAPIKey,integrationsSectionProps:Be,aiAgentsActivationProps:Ve}),n!=null?o.jsx(Ye,{windowSize:h,skipLegacyDrawerOffset:s&&y.productSettings.isOtherProductsEnabled!==!0,children:n}):null]}):o.jsx(j,{to:"../../onboarding/thankyou"})}else if(Fe===!1&&x?.loggedInUserRoleMap!=null)return J===!0?o.jsx(j,{to:"../../onboarding/thankyou"}):o.jsxs(Xe,{children:[o.jsx(ce,{analytics:K,onLoad:f=>je(f)}),o.jsx(Je,{navigate:a,location:c,companyId:F,currentTenant:y,isAdmin:oe,isOnAddressPage:s,themeState:I,googleAPIKey:he.googleMapsAPIKey,integrationsSectionProps:Be,aiAgentsActivationProps:Ve}),n!=null?o.jsx(Ye,{windowSize:h,skipLegacyDrawerOffset:s&&y.productSettings.isOtherProductsEnabled!==!0,children:n}):null]});return null},ye="external_integrations",Pn=({tenantEmailDomain:t,signedInUserEmail:s,companyId:n})=>{const a=H();xn();const{plaidAccounts:c,onAddPlaidAccount:u}=(({companyId:r})=>{const m=H(),x=_(b=>b.plaidAccountViewState.external_account.plaidConnectionDetails.link_external_account),E=_(b=>jt(b.paymentAccountState)),g=d.useRef(!1);d.useEffect(()=>{m(Ut())},[m]);const U=d.useCallback(b=>{m(Bt(b,r,"external_account",void 0,"link_external_account")),g.current=!1},[m,r]),S=d.useCallback(()=>{g.current=!1},[]),{open:P,ready:V}=vn({token:x.linkToken??null,onSuccess:U,onExit:S});d.useEffect(()=>{g.current&&V&&(P(),g.current=!1)},[V,P]);const y=d.useCallback(()=>{g.current=!0,m(Vt("external_account","link_external_account"))},[m]);return{plaidAccounts:d.useMemo(()=>E.map(b=>{return{accountId:b.paymentAccountId,name:b.institutionDetails?.institutionName??b.accountName,mask:b.accountLast4Digits,balanceFormatted:(A=b.balances?.current?.amount,B=b.balances?.current?.currencySymbol,A==null?"":`${B??"$"}${A.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}`),isActive:wn.has(b.providerVerificationStatus?.code??"")};var A,B}),[E]),onAddPlaidAccount:y}})({companyId:n}),h=_(r=>W(r)),I=_(r=>r.tenantState.fetchState),e=_(r=>Gt(r,n)),i=_(r=>zt(r,ye)),l=d.useMemo(()=>new Set(i.map(r=>r.additionalInfo).filter(r=>r!=null)),[i]),p=h.tenantId,T=ue(h.userRole??[]);return d.useEffect(()=>{a(Qt(ye))},[a]),d.useMemo(()=>({isAdmin:T,integrationsView:e,isLoading:I==="In-Progress",notifyMeRegisteredSlugs:l,saveChargeBeeState:e.externalConnections?.saveAPIKeyConnectionState??"Not-Started",saveChargeBeeError:e.externalConnections?.saveAPIKeyConnectionError?.message,saveHubSpotState:e.externalConnections?.saveOAuthConnectionState??"Not-Started",saveHubSpotError:e.externalConnections?.saveOAuthConnectionError?.message,saveConnectorCredentialsStateBySlug:e.externalConnections?.saveConnectorCredentialsStateBySlug??{},saveConnectorCredentialsErrorBySlug:Object.fromEntries(Object.entries(e.externalConnections?.saveConnectorCredentialsErrorBySlug??{}).map(([r,m])=>[r,m?.message])),deleteConnectionState:e.externalConnections?.deleteConnectionState??"Not-Started",deleteConnectionError:e.externalConnections?.deleteConnectionError?.message,onConnectGmail:()=>{a(Ke(p,"gmail",et()))},onConnectOutlook:()=>{a(Ke(p,"outlook",et()))},onConnectHubSpot:(r,m)=>{const x=e.externalConnections?.revenue?.find(g=>g.connectionName==="hubspot")?.connectionId;if(x==null)return;const E=`${window.location.origin}/oauth/hubspot/callback`;sessionStorage.setItem("hubspot_oauth_pending",JSON.stringify({client_id:r,client_secret:m,connection_id:x,redirect_uri:E,tenant_id:p})),window.location.href=`https://app.hubspot.com/oauth/authorize?client_id=${encodeURIComponent(r)}&scope=${encodeURIComponent("oauth crm.objects.deals.read crm.objects.owners.read")}&redirect_uri=${encodeURIComponent(E)}`},onDisconnect:(r,m)=>{a(Xt(p,r,me(m)))},onNotifyMe:r=>{a(Wt(ye,r,s))},onReconnectQBO:()=>{ae.init("/onboarding/auth",t),ae.handleClick()},onRefreshClick:()=>{e.integrations.refreshQBO.fetchState!=="In-Progress"&&a(Ht())},onSaveChargeBeeCredentials:(r,m)=>{const x=e.externalConnections?.revenue?.find(E=>E.connectionName==="chargebee")?.connectionId;x!=null&&a(Zt(p,x,me("revenue"),qt("chargebee"),{api_key:r,site:m}))},onSaveConnectorCredentials:r=>{a(Kt(p,me("payments"),r))},plaidAccounts:c,onAddPlaidAccount:u}),[T,e,I,l,p,s,t,a,c,u])};function et(){const t=new URL(window.location.href);return t.searchParams.set("onboarding_step","connect_data_source"),t.toString()}function tt(t,s,n){let a=`/${t}/onboarding/address`;return a=n!=null?a.concat(`/edit/${s}/${encodeURIComponent(n)}`):a.concat(`/new/${s}`),a}const Dn=Pe.div`
|
|
27
27
|
display: flex;
|
|
28
28
|
height: 100vh;
|
|
29
29
|
background-color: ${t=>t.theme.colors.grey4};
|
|
30
|
-
`,Fn=Ee(function(t,s){const{companyId:n,currentTenant:a}=s,c=we(t,n),u=it(t);return{hasVerifiedBankAccount:(c.paymentAccount?.providerVerificationStatus?.code?.includes("verified")??!1)||(u.bankAccountsList[0]?.providerVerificationStatus?.code?.includes("verified")??!1),isDisabled:ue(a?.userRole??[])&&c.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",signedInUser:$.getSignedInUser(),currentTenant:a,meetingUrl:"https://meetings.hubspot.com/niharn/zeni-onboarding-overview?embed=true"}},function(t,s){const{currentTenant:n,themeState:a,navigate:c,location:u}=s,{tenantEmailDomain:h}=n;return{onZeniLogoClick:()=>{a.toggle()},handleLogOutClick:()=>{const I=N(u.state?.pathnameStackToGoBack,u.pathname);c("/signout",{replace:!0,state:{pathnameStackToGoBack:I,message:"logout"}})},handleCockpitClick:()=>{window.open("/cockpit")},handleUpdatePaymentAddressDetailClick:()=>{const I=N(u.state?.pathnameStackToGoBack,u.pathname);c(`/${h}/onboarding/billing/edit`,{state:{pathnameStackToGoBack:I,message:"UpdatePaymentAddressDetail"}})}}})(_t),jn=()=>{const t=Ce(),s=H(),n=ke(),a=_e(),{useFeatureGate:c}=
|
|
30
|
+
`,Fn=Ee(function(t,s){const{companyId:n,currentTenant:a}=s,c=we(t,n),u=it(t);return{hasVerifiedBankAccount:(c.paymentAccount?.providerVerificationStatus?.code?.includes("verified")??!1)||(u.bankAccountsList[0]?.providerVerificationStatus?.code?.includes("verified")??!1),isDisabled:ue(a?.userRole??[])&&c.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",signedInUser:$.getSignedInUser(),currentTenant:a,meetingUrl:"https://meetings.hubspot.com/niharn/zeni-onboarding-overview?embed=true"}},function(t,s){const{currentTenant:n,themeState:a,navigate:c,location:u}=s,{tenantEmailDomain:h}=n;return{onZeniLogoClick:()=>{a.toggle()},handleLogOutClick:()=>{const I=N(u.state?.pathnameStackToGoBack,u.pathname);c("/signout",{replace:!0,state:{pathnameStackToGoBack:I,message:"logout"}})},handleCockpitClick:()=>{window.open("/cockpit")},handleUpdatePaymentAddressDetailClick:()=>{const I=N(u.state?.pathnameStackToGoBack,u.pathname);c(`/${h}/onboarding/billing/edit`,{state:{pathnameStackToGoBack:I,message:"UpdatePaymentAddressDetail"}})}}})(_t),jn=()=>{const t=Ce(),s=H(),n=ke(),a=_e(),{useFeatureGate:c}=Ae(),{isFeatureEnabled:u}=c(M.isDebitCardFeatureEnabled),{tenantEmailDomain:h}=Ie(),I=xe(),[e,i]=d.useState(!1);d.useEffect(()=>{e===!1&&n.state?.message==="OnboardingThankyou"&&i(!0)},[n.state]);const l=_(g=>W(g)),p=l.productSettings.isOtherProductsEnabled;d.useEffect(()=>{s(be(T,!1,!p))},[]);const T=l.companyId??$.getSignedInUserTenant(h)?.companyId;if(I.loggedInUser==null)throw Error("Can't access onboarding flow without signing in...");const r=Te(u,l),m=Oe(l),x=_(g=>g.onboardingCustomerViewState.updateStatus.fetchState),E=l.company?.companyOnboardingInfo.isOnboardingCompleted;if(E===!0){const g={pathnameStackToGoBack:n.state?.pathnameStackToGoBack,message:"activation"};return r?o.jsx(j,{to:"../../checking",state:g,replace:!0}):m?o.jsx(j,{to:"../../cards",state:g,replace:!0}):o.jsx(j,{to:"../../dashboard",state:g,replace:!0})}return x==="Completed"&&E===!1&&I?.loggedInUserRoleMap!=null?o.jsxs(Dn,{children:[o.jsx(ce,{analytics:K,onLoad:g=>{g.trackPageLoaded(ve.Event.onboardingInterimPage)}}),o.jsx(Fn,{navigate:t,showUpdatePaymentDetailButton:p,location:n,companyId:T,currentTenant:l,themeState:a,isVisitingFirstTime:e})]}):o.jsx(nt,{})};function ra(){return o.jsxs(St,{children:[o.jsx(Q,{path:"/",element:o.jsx(re,{})}),o.jsx(Q,{path:"/billing/edit",element:o.jsx(re,{taxCFOCustomer:!0})}),o.jsx(Q,{path:"/thankyou",element:o.jsx(jn,{})}),o.jsx(Q,{path:"/activation",element:o.jsx(On,{})}),o.jsx(Q,{path:"/address/edit/:addressType/:addressId",element:o.jsx(re,{isOnAddressPage:!0,appContent:o.jsx(Ne,{})})}),o.jsx(Q,{path:"/address/new/:addressType",element:o.jsx(re,{isOnAddressPage:!0,appContent:o.jsx(Ne,{})})}),o.jsx(Q,{path:"*",element:o.jsx(yt,{})})]})}export{ra as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as d}from"./liveblocks-DS8sOLD1.js";import{i as K,j as k,g as H,u as z,h as W,n as ee,k as ia,o as Ct,p as P}from"./core-SRRzy8qJ.js";import{eV as L,Ng as We,bE as ca,bo as xe,Ou as On,iY as Pn,Ov as Zt,Ow as Fn,i$ as _t,Ox as qe,Oy as Rn,j4 as Bn,Oz as qt,OA as jn,j8 as kt,OB as Qe,OC as Mn,co as vt,OD as Un,OE as Ln,NA as Gn,k0 as Vn,OF as Yn,bn as Xe,OG as la,N4 as ce,bc as da,ke as ua,oe as ma,jZ as pa,N6 as le,N5 as J,eU as ha,fo as Nn,g0 as St,OH as $n,OI as zn,OJ as fa,OK as Fe,vM as Ue,vN as Le,w8 as De,w2 as de,vR as Ge,OL as Kn,OM as Zn,ON as qn,OO as ga,OP as Re,OQ as Qn,dI as Je,s7 as ba,OR as Hn,OS as Wn,OT as Xn,OU as At,Mm as It,ku as we,wg as Et,sf as Jn,OV as eo,vO as Qt,sa as Ee,s6 as Ca,OW as ge,OX as to,OY as Tt,Ml as xt,uf as _a,OZ as ao,O_ as no,O$ as oo,P0 as Dt,us as so,P1 as ro,vQ as Ht,ue as ka,P2 as be,P3 as io,bs as Sa,wk as ya,P4 as co,P5 as lo,P6 as uo,P7 as wt,wf as mo,P8 as po,vP as Wt,wj as va,P9 as Ce,Pa as ho,Pb as fo,Pc as Aa,kj as Ia,ob as Ea,ko as Ta,o9 as xa,o8 as Da,o7 as wa,tD as go,fS as bo,cR as Co,cS as _o,o4 as ko,fO as So,ol as yo,Gy as ut,Gq as vo,Gu as Ao,Pd as Io,Pe as Eo,Pf as To,b5 as et,fG as xo,hG as Do,gg as wo,of as Oo,jS as Po,oc as Fo,oa as Ro,fA as Bo,fy as jo}from"./zeni-epic-state-DcKqCCCg.js";import{z as M,a2 as te,s as D,d as T,a as Z,aY as Mo,Z as Ve,x as Ye,aZ as Oa,f as N,a_ as Uo,I as ke,a$ as Pa,W as Se,U as B,m as Lo,b0 as Go,b1 as Vo,Q as Fa,q as Ra,c as Ba,X as Yo,b2 as No,K as $o,aQ as ja,_ as se,b3 as Ma,b4 as Ua,a1 as La,b5 as zo,b6 as Ko,B as Zo,ar as qo,k as Qo,V as Ho,b7 as Wo,b8 as Xo,b9 as Jo,ba as es,bb as _e}from"./index-BnX1nS7p.js";import{n as Ot}from"./mui-DQ-jfgFM.js";import{a as b}from"./sentry-B2Aew07S.js";import{w as Ga}from"./withTransactionSidePanel-CpddR0Hs.js";import{c as Va,t as Oe,f as ue,a as Pt,v as ts}from"./routePaths-DyfF54Mg.js";import{u as ae}from"./useAskAiCfoHostNavButtonProps-RYFll1PC.js";import Me from"./NotFoundScreen-DRRoMVDk.js";import{u as Ft}from"./useInitialThreadRequest-8loDIspA.js";import{t as Ya}from"./analyticsHelper-CewoJ3Hu.js";import{C as as}from"./CompanyPassportScreen-CdbgEPbH.js";import{u as ns}from"./useAiCfoDashboardSuggestedQuestionsChips-DiiAXpvy.js";import{F as os}from"./FeaturePreviewScreen-D35UAPet.js";import{R as ss}from"./ReferralListScreen-DoZyTHjO.js";import"./recharts-CHATJmXy.js";import"./analytics-C-A3qVJh.js";import"./plaid-DWZgMqW3.js";import"./dnd-CR8sMRK3.js";import"./stripe-DMRn4zHo.js";import"./lottie-Coq2aDEW.js";import"./lexical-qJrDnJMV.js";import"./pdf-D2Xq7623.js";import"./utils-D8kKiFqT.js";import"./TransactionDetailScreen-BbsGsqi_.js";import"./decodeURIComponentSafe-Bz-26BXW.js";import"./MobileAppDrawer-DChLZMjE.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},a=new e.Error().stack;a&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[a]="c04cb67b-c185-48a3-9640-80a5e0a2b819",e._sentryDebugIdIdentifier="sentry-dbid-c04cb67b-c185-48a3-9640-80a5e0a2b819")}catch{}})();const rs=Ga(function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{vendorId:o,reportDate:r}=K(),s=M.getSignedInUser(),i=k(I=>I.tenantState.currentTenantId),c=k(I=>L(I)),{tenantEmailDomain:m}=K(),g=H(),C=c?.companyName??"",u={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i??""},l=b.useMemo(()=>({authParams:u,companyName:C,downloadEndPoint:`${te}/agingDetailedReport`,timezone:We()}),[]),h=b.useMemo(()=>r!=null?ca(r):xe(),[r]),p=z(),f=W(),S=k(I=>On(I,h,o)),E=b.useCallback(()=>{o!=null&&S.fetchState!=="In-Progress"&&S.fetchState!=="Completed"&&p(Pn(o,h))},[h]),v=b.useCallback(()=>{f("../../",{relative:"path"})},[]),_=b.useCallback((I,U)=>{p(Zt({sortKey:I,sortOrder:U}))},[]),x=b.useCallback(I=>{p(Zt({downloadState:I}))},[]),w=b.useCallback(I=>{if(e)e(I.transactionId,I.transactionType);else if(m!=null){const U=Va({id:I.transactionId,type:I.transactionType},m);f(U);const ne=D(g.state?.pathnameStackToGoBack,g.pathname);f(U,{state:{pathnameStackToGoBack:ne}})}},[m,e]),y=b.useCallback(()=>{S.vendor!=null&&T.trackApAgingDetail("AP Aging",h.format(Z.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),S.vendor.id,S.vendor.name)},[S.vendor,h]);return b.useEffect(()=>{E()},[]),b.useEffect(()=>{S.fetchState==="Completed"&&y()},[y,S.fetchState]),d.jsx(Mo,{apAgingDetail:S,downloadParams:l,reportDate:h,analytics:T,onTransactionClick:w,onReload:E,onBackClick:v,onColumnSortConfigChanged:_,updateDownloadStateHandler:x,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})}),is=()=>{const e=z(),a=W(),t=k(_=>Fn(_)),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=ae({mobileExploreReferrer:"AP Aging"});Ve({isDataReady:t.fetchState==="Completed"});const r=M.getSignedInUser(),s=k(_=>_.tenantState.currentTenantId),i=k(_=>L(_)),c=i?.companyName??"",m={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:s??""},g=b.useMemo(()=>({authParams:m,companyName:c,downloadEndPoint:`${te}/agingReport`,timezone:We()}),[]),C=t.apAgingUIState.selectedDate??xe(),u=b.useCallback(()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(_t(C))},[]);b.useEffect(()=>{u()},[]);const l=b.useCallback(()=>{a("../",{relative:"path"})},[]),h=b.useCallback(_=>{e(qe({searchString:_}))},[]),p=b.useCallback((_,x)=>{e(qe({sortKey:x,sortOrder:_}))},[]),f=b.useCallback(_=>{a(`./${_}/${C.format(Z.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)},[C]),S=b.useCallback(_=>{e(qe({downloadState:_}))},[]),E=b.useCallback((_,x)=>{},[]),v=b.useCallback((_,x)=>{e(qe({selectedDate:_,agingDateSelectionType:x})),e(_t(_))},[]);return d.jsxs(d.Fragment,{children:[t.fetchState==="Completed"?d.jsx(Ye,{analytics:T,onLoad:_=>_.trackPageLoaded(N.Event.agingReport,"AP Aging")}):null,d.jsx(Oa,{uiState:t.apAgingUIState,report:t,downloadParams:g,analytics:T,onReloadReport:u,onBackClick:l,onSearchTextChange:h,onSortOrderChange:p,onEntityNameClick:f,updateDownloadStateHandler:S,onSelectedDateChanged:v,onNodeCollapseToggled:E,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},cs=Ga(function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{customerId:o,reportDate:r}=K(),s=M.getSignedInUser(),i=k(y=>L(y)),{tenantEmailDomain:c}=K(),m=H(),g=i.companyName,C={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i.tenantId},u=b.useMemo(()=>({authParams:C,companyName:g,downloadEndPoint:`${te}/agingDetailedReport`,timezone:We()}),[]),l=b.useMemo(()=>r!=null?ca(r):xe(),[r]),h=z(),p=W(),f=k(y=>Rn(y,l,o)),S=b.useCallback(()=>{o!=null&&f.fetchState!=="In-Progress"&&f.fetchState!=="Completed"&&h(Bn(o,l))},[l]),E=b.useCallback(()=>{p("../../",{relative:"path"})},[]),v=b.useCallback((y,I)=>{h(qt({sortKey:y,sortOrder:I}))},[]),_=b.useCallback(y=>{h(qt({downloadState:y}))},[]),x=b.useCallback(y=>{if(e)e(y.transactionId,y.transactionType);else if(c!=null){const I=Va({id:y.transactionId,type:y.transactionType},c);p(I);const U=D(m.state?.pathnameStackToGoBack,m.pathname);p(I,{state:{pathnameStackToGoBack:U}})}},[c,e]),w=b.useCallback(()=>{f.customer!=null&&T.trackArAgingDetail("AR Aging",l.format(Z.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),f.customer.id,f.customer.name)},[f.customer,l]);return b.useEffect(()=>{S()},[]),b.useEffect(()=>{f.fetchState==="Completed"&&w()},[f.fetchState,w]),d.jsx(Uo,{arAgingDetail:f,downloadParams:u,reportDate:l,analytics:T,onTransactionClick:x,onReload:S,onBackClick:E,onColumnSortConfigChanged:v,updateDownloadStateHandler:_,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})}),ls=()=>{const e=z(),a=W(),t=k(v=>jn(v)),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=ae({mobileExploreReferrer:"AR Aging"});Ve({isDataReady:t.fetchState==="Completed"});const r=M.getSignedInUser(),s=k(v=>L(v)),i=s.companyName,c={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:s.tenantId},m=b.useMemo(()=>({authParams:c,companyName:i,downloadEndPoint:`${te}/agingReport`,timezone:We()}),[]),g=t.arAgingUIState.selectedDate??xe(),C=b.useCallback(()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(kt(g))},[]);b.useEffect(()=>{C()},[]);const u=b.useCallback(()=>{a("../",{relative:"path"})},[]),l=b.useCallback(v=>{e(Qe({searchString:v}))},[]),h=b.useCallback((v,_)=>{e(Qe({sortKey:_,sortOrder:v}))},[]),p=b.useCallback(v=>{a(`./${v}/${g.format(Z.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)},[g]),f=b.useCallback(v=>{e(Qe({downloadState:v}))},[]),S=b.useCallback((v,_)=>{e(Qe({selectedDate:v,agingDateSelectionType:_})),e(kt(v))},[]),E=b.useCallback((v,_)=>{e(Mn({nodeId:v,isCollapsed:_}))},[]);return d.jsxs(d.Fragment,{children:[t.fetchState==="Completed"?d.jsx(Ye,{analytics:T,onLoad:v=>v.trackPageLoaded(N.Event.agingReport,"AR Aging")}):null,d.jsx(Oa,{uiState:t.arAgingUIState,report:t,downloadParams:m,analytics:T,onReloadReport:C,onBackClick:u,onSearchTextChange:l,onSortOrderChange:h,onEntityNameClick:p,updateDownloadStateHandler:f,onSelectedDateChanged:S,onNodeCollapseToggled:E,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},Na=(e,a)=>({key:a,title:e.accountName,amount:e.balance?.available,logoUri:e.logo?.toString(),source:e});function $a(e,a){const t=Gn(a.firstMonthOfFY);return{onItemClick:(n,o)=>{const r=o.accountName===""?o.accountDescription:o.accountName,s=Oe(a.tenantEmailDomain,o.accountId,o.accountType,r,"quarter",t,!1),i=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i,referrer:a.referrerType}})},onSetAccountsStatementDate:(n,o)=>{e(Vn(n,o))},onPromoCardBtnClick:n=>{if(a.isZeniAccountsAdmin){let o=`../../checking/${n}`;n?T.trackZeniAccountsCashBalancePromoClicked("Move Money"):(T.trackZeniAccountsCashBalancePromoClicked("Sign Up for Free"),o="../../checking/promo");const r=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(o,{state:{pathnameStackToGoBack:r}})}else T.trackZeniAccountsCashBalancePromoClicked("Learn More"),window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")}}}const ds=ee(function(e){const a=Un(e).accountsInOrder.map((n,o)=>Na(n,o)),t=Ln(e);return{sectionTitle:Z.getLocalizedStrings().balanceCard.cashBalanceSectionTitle,transactionArray:a,zeniAccountsPromoCardReport:t,fetchState:e.cashBalanceState.fetchState,analytics:T}},$a)(Pa),us=ee(function(e){const a=Yn(e).accountsInOrder.map((o,r)=>Na(o,r)),t=M.getSignedInUser(),n=Xe(t);return{sectionTitle:Z.getLocalizedStrings().balanceCard.cardBalanceSectionTitle,transactionArray:a,isZeniUser:n,fetchState:e.cardBalanceState.fetchState,analytics:T}},$a)(Pa);function ms(){const e=W(),a=H(),{tenantEmailDomain:t}=K(),n=ke(),o=k(s=>L(s).company?.companyInfo.firstMonthOfFY??1),r=vt(n?.loggedInUserRoleMap);return k(s=>s.cashBalanceState.fetchState)==="Error"?d.jsx(Me,{}):d.jsx(ds,{tenantEmailDomain:t,location:a,referrerType:"Cash Balance",navigate:e,isZeniAccountsAdmin:r,firstMonthOfFY:o})}function ps(){const e=W(),a=H(),{tenantEmailDomain:t}=K(),n=ke(),o=vt(n?.loggedInUserRoleMap),r=k(s=>L(s).company?.companyInfo.firstMonthOfFY??1);return k(s=>s.cardBalanceState.fetchState)==="Error"?d.jsx(Me,{}):d.jsx(us,{tenantEmailDomain:t,location:a,referrerType:"Card Balance",navigate:e,isZeniAccountsAdmin:o,firstMonthOfFY:r})}const hs=Ot.div`
|
|
1
|
+
import{j as d}from"./liveblocks-evjZPqs_.js";import{i as K,j as _,g as H,u as z,h as W,n as ee,k as ia,o as Ct,p as P}from"./core-DmAftQ4g.js";import{eW as U,Nh as We,bE as ca,bo as xe,Ov as On,iZ as Pn,Ow as Zt,Ox as Fn,j0 as kt,Oy as qe,Oz as Rn,j5 as Bn,OA as qt,OB as jn,j9 as _t,OC as Qe,OD as Mn,co as At,OE as Ln,OF as Un,NB as Gn,k1 as Vn,OG as Yn,bn as Xe,OH as la,N5 as ce,bc as da,kf as ua,of as ma,j_ as pa,N7 as le,N6 as J,eV as ha,fp as Nn,g1 as St,OI as $n,OJ as zn,OK as fa,OL as Fe,vN as Le,vO as Ue,w9 as De,w3 as de,vS as Ge,OM as Kn,ON as Zn,OO as qn,OP as ga,OQ as Re,OR as Qn,dJ as Je,s8 as ba,OS as Hn,OT as Wn,OU as Xn,OV as vt,Mn as It,kv as we,wh as Et,sg as Jn,OW as eo,vP as Qt,sb as Ee,s7 as Ca,OX as ge,OY as to,OZ as Tt,Mm as xt,ug as ka,O_ as ao,O$ as no,P0 as oo,P1 as Dt,ut as so,P2 as ro,vR as Ht,uf as _a,P3 as be,P4 as io,bs as Sa,wl as ya,P5 as co,P6 as lo,P7 as uo,P8 as wt,wg as mo,P9 as po,vQ as Wt,wk as Aa,Pa as Ce,Pb as ho,Pc as fo,Pd as va,kk as Ia,oc as Ea,kp as Ta,oa as xa,o9 as Da,o8 as wa,tE as go,fT as bo,cR as Co,cS as ko,o5 as _o,fP as So,om as yo,Gz as ut,Gr as Ao,Gv as vo,Pe as Io,Pf as Eo,Pg as To,b5 as et,fH as xo,hH as Do,gh as wo,og as Oo,jT as Po,od as Fo,ob as Ro,fB as Bo,fz as jo}from"./zeni-epic-state-vtQ66nN6.js";import{z as M,a2 as te,q as D,c as T,O as Z,aY as Mo,_ as Ve,x as Ye,aZ as Oa,e as N,a_ as Lo,I as _e,a$ as Pa,W as Se,U as B,m as Uo,b0 as Go,b1 as Vo,V as Fa,Z as Ra,a as Ba,Y as Yo,b2 as No,Q as $o,aQ as ja,$ as se,b3 as Ma,b4 as La,a1 as Ua,b5 as zo,b6 as Ko,n as Zo,ar as qo,p as Qo,X as Ho,b7 as Wo,b8 as Xo,b9 as Jo,ba as es,bb as ke}from"./index-DsVH62ZK.js";import{n as Ot}from"./mui-PcDpEhsm.js";import{a as b}from"./sentry-CCZGmBkl.js";import{w as Ga}from"./withTransactionSidePanel-iGXE6khP.js";import{c as Va,t as Oe,f as ue,a as Pt,v as ts}from"./routePaths-Dq5U7lhs.js";import{u as ae}from"./useAskAiCfoHostNavButtonProps-uVGdd0zj.js";import Me from"./NotFoundScreen-AsC21qGx.js";import{u as Ft}from"./useInitialThreadRequest-D9ebiXdA.js";import{t as Ya}from"./analyticsHelper-CQXeRvKo.js";import{C as as}from"./CompanyPassportScreen-Dd-P8T6z.js";import{u as ns}from"./useAiCfoDashboardSuggestedQuestionsChips-BzB3gTK8.js";import{F as os}from"./FeaturePreviewScreen-kp5WtNsg.js";import{R as ss}from"./ReferralListScreen-G8WgDfU8.js";import"./recharts-CgEqsrFw.js";import"./analytics-DCrhd8oB.js";import"./plaid-DSnXUEUK.js";import"./dnd-3F1D24DQ.js";import"./stripe-DMRn4zHo.js";import"./lottie-CmTLY-9t.js";import"./lexical-PVlNGkpS.js";import"./pdf-CbXlPYUs.js";import"./utils--mWNe9J7.js";import"./TransactionDetailScreen-DUZV5JDK.js";import"./decodeURIComponentSafe-C70tsXnj.js";import"./MobileAppDrawer-BuakBUGx.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},a=new e.Error().stack;a&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[a]="44e813f5-1b95-499b-bd53-e1085e304644",e._sentryDebugIdIdentifier="sentry-dbid-44e813f5-1b95-499b-bd53-e1085e304644")}catch{}})();const rs=Ga(function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{vendorId:o,reportDate:r}=K(),s=M.getSignedInUser(),i=_(I=>I.tenantState.currentTenantId),c=_(I=>U(I)),{tenantEmailDomain:m}=K(),g=H(),C=c?.companyName??"",u={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i??""},l=b.useMemo(()=>({authParams:u,companyName:C,downloadEndPoint:`${te}/agingDetailedReport`,timezone:We()}),[]),h=b.useMemo(()=>r!=null?ca(r):xe(),[r]),p=z(),f=W(),S=_(I=>On(I,h,o)),E=b.useCallback(()=>{o!=null&&S.fetchState!=="In-Progress"&&S.fetchState!=="Completed"&&p(Pn(o,h))},[h]),A=b.useCallback(()=>{f("../../",{relative:"path"})},[]),k=b.useCallback((I,L)=>{p(Zt({sortKey:I,sortOrder:L}))},[]),x=b.useCallback(I=>{p(Zt({downloadState:I}))},[]),w=b.useCallback(I=>{if(e)e(I.transactionId,I.transactionType);else if(m!=null){const L=Va({id:I.transactionId,type:I.transactionType},m);f(L);const ne=D(g.state?.pathnameStackToGoBack,g.pathname);f(L,{state:{pathnameStackToGoBack:ne}})}},[m,e]),y=b.useCallback(()=>{S.vendor!=null&&T.trackApAgingDetail("AP Aging",h.format(Z.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),S.vendor.id,S.vendor.name)},[S.vendor,h]);return b.useEffect(()=>{E()},[]),b.useEffect(()=>{S.fetchState==="Completed"&&y()},[y,S.fetchState]),d.jsx(Mo,{apAgingDetail:S,downloadParams:l,reportDate:h,analytics:T,onTransactionClick:w,onReload:E,onBackClick:A,onColumnSortConfigChanged:k,updateDownloadStateHandler:x,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})}),is=()=>{const e=z(),a=W(),t=_(k=>Fn(k)),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=ae({mobileExploreReferrer:"AP Aging"});Ve({isDataReady:t.fetchState==="Completed"});const r=M.getSignedInUser(),s=_(k=>k.tenantState.currentTenantId),i=_(k=>U(k)),c=i?.companyName??"",m={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:s??""},g=b.useMemo(()=>({authParams:m,companyName:c,downloadEndPoint:`${te}/agingReport`,timezone:We()}),[]),C=t.apAgingUIState.selectedDate??xe(),u=b.useCallback(()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(kt(C))},[]);b.useEffect(()=>{u()},[]);const l=b.useCallback(()=>{a("../",{relative:"path"})},[]),h=b.useCallback(k=>{e(qe({searchString:k}))},[]),p=b.useCallback((k,x)=>{e(qe({sortKey:x,sortOrder:k}))},[]),f=b.useCallback(k=>{a(`./${k}/${C.format(Z.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)},[C]),S=b.useCallback(k=>{e(qe({downloadState:k}))},[]),E=b.useCallback((k,x)=>{},[]),A=b.useCallback((k,x)=>{e(qe({selectedDate:k,agingDateSelectionType:x})),e(kt(k))},[]);return d.jsxs(d.Fragment,{children:[t.fetchState==="Completed"?d.jsx(Ye,{analytics:T,onLoad:k=>k.trackPageLoaded(N.Event.agingReport,"AP Aging")}):null,d.jsx(Oa,{uiState:t.apAgingUIState,report:t,downloadParams:g,analytics:T,onReloadReport:u,onBackClick:l,onSearchTextChange:h,onSortOrderChange:p,onEntityNameClick:f,updateDownloadStateHandler:S,onSelectedDateChanged:A,onNodeCollapseToggled:E,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},cs=Ga(function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{customerId:o,reportDate:r}=K(),s=M.getSignedInUser(),i=_(y=>U(y)),{tenantEmailDomain:c}=K(),m=H(),g=i.companyName,C={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i.tenantId},u=b.useMemo(()=>({authParams:C,companyName:g,downloadEndPoint:`${te}/agingDetailedReport`,timezone:We()}),[]),l=b.useMemo(()=>r!=null?ca(r):xe(),[r]),h=z(),p=W(),f=_(y=>Rn(y,l,o)),S=b.useCallback(()=>{o!=null&&f.fetchState!=="In-Progress"&&f.fetchState!=="Completed"&&h(Bn(o,l))},[l]),E=b.useCallback(()=>{p("../../",{relative:"path"})},[]),A=b.useCallback((y,I)=>{h(qt({sortKey:y,sortOrder:I}))},[]),k=b.useCallback(y=>{h(qt({downloadState:y}))},[]),x=b.useCallback(y=>{if(e)e(y.transactionId,y.transactionType);else if(c!=null){const I=Va({id:y.transactionId,type:y.transactionType},c);p(I);const L=D(m.state?.pathnameStackToGoBack,m.pathname);p(I,{state:{pathnameStackToGoBack:L}})}},[c,e]),w=b.useCallback(()=>{f.customer!=null&&T.trackArAgingDetail("AR Aging",l.format(Z.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),f.customer.id,f.customer.name)},[f.customer,l]);return b.useEffect(()=>{S()},[]),b.useEffect(()=>{f.fetchState==="Completed"&&w()},[f.fetchState,w]),d.jsx(Lo,{arAgingDetail:f,downloadParams:u,reportDate:l,analytics:T,onTransactionClick:x,onReload:S,onBackClick:E,onColumnSortConfigChanged:A,updateDownloadStateHandler:k,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})}),ls=()=>{const e=z(),a=W(),t=_(A=>jn(A)),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=ae({mobileExploreReferrer:"AR Aging"});Ve({isDataReady:t.fetchState==="Completed"});const r=M.getSignedInUser(),s=_(A=>U(A)),i=s.companyName,c={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:s.tenantId},m=b.useMemo(()=>({authParams:c,companyName:i,downloadEndPoint:`${te}/agingReport`,timezone:We()}),[]),g=t.arAgingUIState.selectedDate??xe(),C=b.useCallback(()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(_t(g))},[]);b.useEffect(()=>{C()},[]);const u=b.useCallback(()=>{a("../",{relative:"path"})},[]),l=b.useCallback(A=>{e(Qe({searchString:A}))},[]),h=b.useCallback((A,k)=>{e(Qe({sortKey:k,sortOrder:A}))},[]),p=b.useCallback(A=>{a(`./${A}/${g.format(Z.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)},[g]),f=b.useCallback(A=>{e(Qe({downloadState:A}))},[]),S=b.useCallback((A,k)=>{e(Qe({selectedDate:A,agingDateSelectionType:k})),e(_t(A))},[]),E=b.useCallback((A,k)=>{e(Mn({nodeId:A,isCollapsed:k}))},[]);return d.jsxs(d.Fragment,{children:[t.fetchState==="Completed"?d.jsx(Ye,{analytics:T,onLoad:A=>A.trackPageLoaded(N.Event.agingReport,"AR Aging")}):null,d.jsx(Oa,{uiState:t.arAgingUIState,report:t,downloadParams:m,analytics:T,onReloadReport:C,onBackClick:u,onSearchTextChange:l,onSortOrderChange:h,onEntityNameClick:p,updateDownloadStateHandler:f,onSelectedDateChanged:S,onNodeCollapseToggled:E,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},Na=(e,a)=>({key:a,title:e.accountName,amount:e.balance?.available,logoUri:e.logo?.toString(),source:e});function $a(e,a){const t=Gn(a.firstMonthOfFY);return{onItemClick:(n,o)=>{const r=o.accountName===""?o.accountDescription:o.accountName,s=Oe(a.tenantEmailDomain,o.accountId,o.accountType,r,"quarter",t,!1),i=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i,referrer:a.referrerType}})},onSetAccountsStatementDate:(n,o)=>{e(Vn(n,o))},onPromoCardBtnClick:n=>{if(a.isZeniAccountsAdmin){let o=`../../checking/${n}`;n?T.trackZeniAccountsCashBalancePromoClicked("Move Money"):(T.trackZeniAccountsCashBalancePromoClicked("Sign Up for Free"),o="../../checking/promo");const r=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(o,{state:{pathnameStackToGoBack:r}})}else T.trackZeniAccountsCashBalancePromoClicked("Learn More"),window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")}}}const ds=ee(function(e){const a=Ln(e).accountsInOrder.map((n,o)=>Na(n,o)),t=Un(e);return{sectionTitle:Z.getLocalizedStrings().balanceCard.cashBalanceSectionTitle,transactionArray:a,zeniAccountsPromoCardReport:t,fetchState:e.cashBalanceState.fetchState,analytics:T}},$a)(Pa),us=ee(function(e){const a=Yn(e).accountsInOrder.map((o,r)=>Na(o,r)),t=M.getSignedInUser(),n=Xe(t);return{sectionTitle:Z.getLocalizedStrings().balanceCard.cardBalanceSectionTitle,transactionArray:a,isZeniUser:n,fetchState:e.cardBalanceState.fetchState,analytics:T}},$a)(Pa);function ms(){const e=W(),a=H(),{tenantEmailDomain:t}=K(),n=_e(),o=_(s=>U(s).company?.companyInfo.firstMonthOfFY??1),r=At(n?.loggedInUserRoleMap);return _(s=>s.cashBalanceState.fetchState)==="Error"?d.jsx(Me,{}):d.jsx(ds,{tenantEmailDomain:t,location:a,referrerType:"Cash Balance",navigate:e,isZeniAccountsAdmin:r,firstMonthOfFY:o})}function ps(){const e=W(),a=H(),{tenantEmailDomain:t}=K(),n=_e(),o=At(n?.loggedInUserRoleMap),r=_(s=>U(s).company?.companyInfo.firstMonthOfFY??1);return _(s=>s.cardBalanceState.fetchState)==="Error"?d.jsx(Me,{}):d.jsx(us,{tenantEmailDomain:t,location:a,referrerType:"Card Balance",navigate:e,isZeniAccountsAdmin:o,firstMonthOfFY:r})}const hs=Ot.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex: 1 1 auto;
|
|
4
4
|
min-height: 100%;
|
|
@@ -10,11 +10,11 @@ import{j as d}from"./liveblocks-DS8sOLD1.js";import{i as K,j as k,g as H,u as z,
|
|
|
10
10
|
flex-direction: column;
|
|
11
11
|
align-items: center;
|
|
12
12
|
background-color: ${e=>e.theme.colors.grey4};
|
|
13
|
-
`;function gs({title:e,reportId:a,entityAutoCompleteView:t,autoCompleteText:n,isAiCfoAccessEnabled:o,onAskAiCfoClick:r}){const s=W(),i=z(),c=H(),{tenantEmailDomain:m}=K(),g=Lo();return d.jsxs(hs,{children:[d.jsx(Go,{source:a==="cash_balance"?"CashBalanceDetailScreen":"CardBalanceDetailScreen",title:e,onBackClick:()=>{s("../")},hideSearchBtn:!0,backgroundColor:g.colors.grey4,searchAutoComplete:{autoCompleteData:{entityAutoCompleteView:t,autoCompleteText:n},autoCompleteActions:{onAutoCompleteInputChange:C=>{C.trim().length>=2?i(le({searchString:C,searchOrigin:"navbar"})):C.trim().length===0&&i(J("navbar"))},onAutoCompleteEntity:C=>{n!=null&&T?.trackSearch(N.Event.search,bs(a),C.type,C.name,n);const u=ue(C,m),l=D(c.state?.pathnameStackToGoBack,c.pathname);s(u,{state:{pathnameStackToGoBack:l}})}}},rightSideComponent:d.jsx(Vo,{isAiCfoAccessEnabled:o,onAskAiCfoClick:r})}),d.jsx(fs,{children:a==="cash_balance"?d.jsx(ms,{}):d.jsx(ps,{})})]})}function Xt(){const e=H(),a=z(),{useFeatureGate:t}=Se(),{isFeatureEnabled:n}=t(B.isDepositAccountsFeatureEnabled),o=k(p=>p.cashBalanceState.fetchState),r=k(p=>p.cardBalanceState.fetchState),s=M.getSignedInUser();if(s==null)throw Error("Can't access dashboard detail without signing in...");const i=la((p=>{const f=da(p,"/").split("/");return f[f.length-1]})(e.pathname));let c="Not-Started",m="";const g=Z.getLocalizedStrings();switch(i){case"cash_balance":c=o,m=g.reportTitleById.cash_balance;break;case"card_balance":c=r,m=g.reportTitleById.card_balance;break;default:console.error(`${i} is not supported!`)}const{isAiCfoAccessEnabled:C,onAskAiCfoClick:u}=ae({mobileExploreReferrer:i==="card_balance"?"Card Balance":"Cash Balance"});Ve({isDataReady:c==="Completed"});const l=k(p=>p.entityAutoCompleteState.autoCompleteText.navbar),h=k(p=>ce(p,"navbar"));return b.useEffect(()=>{c==="Not-Started"&&function(p,f,S){switch(f){case"card_balance":p(pa());break;case"cash_balance":p(ua()),S===!0&&p(ma());break;default:throw new Error(`balance report type ${f} is not yet supported`)}}(a,i,n)},[s,a,c]),d.jsxs(d.Fragment,{children:[c==="Completed"?d.jsx(Ye,{analytics:T,onLoad:p=>((f,S)=>{switch(S){case"card_balance":f.trackPageLoaded(N.Event.cardBalance);break;case"cash_balance":f.trackPageLoaded(N.Event.cashBalance);break;default:console.error(`Analytics: Not tracking Page Loaded for ${S}!`)}})(p,i)}):null,d.jsx(gs,{title:m,reportId:i,autoCompleteText:l,entityAutoCompleteView:h,isAiCfoAccessEnabled:C,onAskAiCfoClick:u})]})}const bs=e=>{switch(e){case"cash_balance":return"Cash Balance";case"card_balance":return"Card Balance";default:return"Dashboard"}},Cs=[];function Ne(e){const{mobileExploreReferrer:a}=e,t=z(),n=W(),o=H(),{tenantEmailDomain:r}=K(),{setIsAiCfoOpen:s,setAiCfoSidePanelQuestionToSubmit:i}=Fa(),c=Ra(),m=La(c),g=ia(),C=k(F=>F.tenantState.fetchState==="Completed"||F.tenantState.activeTenantFetchState.fetchState==="Completed"?L(F):void 0),u=C?.masterTOSInfo?.isMasterTOSAccepted??!1,l=k(F=>ha(F)),h=l.uiState?.currentChatSessionId,p=l.allSessionsWithOrderedQuestionAnswers??Cs,f=M.getSignedInUser()?.userId,S=Ba(),E=Yo()&&S&&r!=null,v=No(),_=$o(!0),x=k(F=>v!=null?Nn(F,v):void 0),{useDynamicConfig:w}=Se(),{configValue:y}=w(ja.aiCfoMessageDynamicConfig),I=b.useMemo(()=>Array.isArray(y.default_message_list)?y.default_message_list:[],[y.default_message_list]),U=b.useMemo(()=>I.slice(0,2),[I]),ne=v!=null&&x!=null&&x.fetchState!=="Completed"&&x.fetchState!=="Error"&&(_||x.fetchState==="In-Progress"),ze=b.useMemo(()=>{if(v==null||x?.fetchState==="Error")return U;if(ne)return[];const F=(x?.suggestedQuestions??[]).map(oe=>oe.trim()).filter(oe=>oe.length>0).slice(0,2);return F.length===0?U:F},[U,ne,v,x?.fetchState,x?.suggestedQuestions]),me=b.useCallback((F,oe)=>{if(f==null||F.trim()==="")return;if(!u)return void se({location:o,navigate:n,mergeState:{referrer:a}});const Pe=Ma(g.getState());if(m){const Ze=D(o.state?.pathnameStackToGoBack,o.pathname);n(`/${r}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:Ze,referrer:a,aiCfoInitialQuestion:F,aiCfoShouldSubmit:!Pe}})}else{if(Pe)return t(St(F)),void s(!0);i(F),s(!0),Ua(t,F,"insights_section",h,p,f,oe,void 0)}},[p,h,t,u,m,o,a,n,s,i,g,r,f]),Ke=b.useCallback(()=>{if(u)if(m){const F=D(o.state?.pathnameStackToGoBack,o.pathname);n(`/${r}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:F,referrer:a}})}else s(!0);else se({location:o,navigate:n,mergeState:{referrer:a}})},[u,m,o,a,n,s,r]);return b.useMemo(()=>{if(E)return{isSuggestedQuestionsLoading:ne,onAskSomethingElseClick:Ke,onSuggestedQuestionClick:me,suggestedQuestions:ze}},[E,ne,Ke,me,ze])}const $e=zo,_s=ee(function(e){const a=$n(e),t=zn(e),n=fa(e),{scrollPosition:o,...r}=n,s=Z.getLocalizedStrings().reportTitleById.cash_in_cash_out,i=M.getSignedInUser(),c=e.tenantState.currentTenantId,m=L(e),g=m?.companyName??"",C={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:c??""},u=e.entityAutoCompleteState.autoCompleteText.navbar,l=ce(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:g,statementEndPoint:`${te}/statement`,authParams:C},analytics:T,autoCompleteData:{autoCompleteText:u,entityAutoCompleteView:l}}},function(e,a){return{updateDownloadStateHandler:t=>{e(Kn(t))},onTimeframeSelectionChanged:()=>{},onCOABalancesRangeChanged:(t,n)=>{e(Ge(t,n)),e(Fe({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(De("month")),e(de(a.firstMonthOfFY,t)),e(Fe({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Ue(a.firstMonthOfFY,t,o,n)),n.length>0&&e(Le(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout(()=>e(Fe({resetLeftScroll:!0})),50)},onElementCollapseStateChanged:(t,n)=>{e(Fe({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(Fe({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}})($e),ks=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,{isAiCfoAccessEnabled:o,onAskAiCfoClick:r}=ae({mobileExploreReferrer:"DashboardCashInCashOut"}),s=Ne({mobileExploreReferrer:"DashboardCashInCashOut"}),i=k(c=>fa(c)).mode==="compare_mode";return d.jsx(_s,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:i,navigate:n,insightsSectionAiCfoInfo:s,isAiCfoAccessEnabled:o,onAskAiCfoClick:r})},Ss=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Je(e);break;case"year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;case"free_range":console.error("free_range timeframe is not supported!")}return{timeframe:a,timePeriod:t}},ys=ee(function(e){const a=Zn(e),t=qn(e),n=ga(e),{scrollPosition:o,...r}=n,s=Z.getLocalizedStrings().reportTitleById.cash_position,i=M.getSignedInUser(),c=e.tenantState.currentTenantId,m=L(e),g=m?.companyName??"",C={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:c??""},u=e.entityAutoCompleteState.autoCompleteText.navbar,l=ce(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:g,statementEndPoint:`${te}/statement`,authParams:C},analytics:T,autoCompleteData:{autoCompleteText:u,entityAutoCompleteView:l}}},function(e,a){return{updateDownloadStateHandler:t=>{e(Qn(t))},onTimeframeSelectionChanged:t=>{e(De(t)),setTimeout(()=>e(Re({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ge(t,n)),e(Re({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(de(a.firstMonthOfFY,t)),e(Re({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Ue(a.firstMonthOfFY,t,o,n)),n.length>0&&e(Le(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout(()=>e(Re({resetLeftScroll:!0})),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Ss(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const i=Oe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Cash Position"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onTableScroll:t=>{e(Re({scrollPosition:t}))},onBackClick:()=>{a.navigate("../")}}})($e),vs=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,{isAiCfoAccessEnabled:o,onAskAiCfoClick:r}=ae({mobileExploreReferrer:"DashboardCashPosition"}),s=Ne({mobileExploreReferrer:"DashboardCashPosition"}),i=k(c=>ga(c)).mode==="compare_mode";return d.jsx(ys,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:i,navigate:n,insightsSectionAiCfoInfo:s,isAiCfoAccessEnabled:o,onAskAiCfoClick:r})},$=(e,a,t,n)=>{e===!1?a!=null&&n("../../",{relative:"path"}):a!=t&&(a!=null&&a.length>0?n(`../${t}`,{replace:!0}):n(`./forecast/${t}`,{replace:!0}))};function mt(){return d.jsxs(Ct,{children:[d.jsx(P,{path:"/",element:d.jsx(re,{})}),d.jsx(P,{path:"/:forecastId",element:d.jsx(re,{})}),d.jsx(P,{path:"/:forecastId/*",element:d.jsx(Me,{})})]})}const As=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Je(e);break;case"year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;case"free_range":console.error("free_range timeframe is not supported!")}return{timeframe:a,timePeriod:t}},Is=ee(function(e){const a=ba(e),t=Hn(e),n=Wn(e),o=Xn(e),r=At(e),{scrollPosition:s,...i}=r,c=t.reportTitle,m=M.getSignedInUser(),g=e.tenantState.currentTenantId,C=L(e),u=C?.companyName??"",l={userId:m?.userId??"",sessionId:m?.zeniSessionId??"",tenantId:g??""},h=e.entityAutoCompleteState.autoCompleteText.navbar,p=ce(e,"navbar"),f=It(C);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:c},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${te}/statement`,authParams:l},analytics:T,isZeniUser:Xe(m),autoCompleteData:{autoCompleteText:h,entityAutoCompleteView:p},isZeniCOAUsed:f,isAccountingClassesEnabled:we(e)}},function(e,a){return{updateDownloadStateHandler:t=>{e(to(t))},onTimeframeSelectionChanged:t=>{e(De(t)),setTimeout(()=>e(ge({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ge(t,n)),e(ge({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(de(a.firstMonthOfFY,t)),e(ge({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Ue(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Le(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&$(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout(()=>e(ge({resetLeftScroll:!0})),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=As(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?Pt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):Oe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Burn Rate"}})}},onElementCollapseStateChanged:(t,n)=>{e(ge({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(ge({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.selectedForecastId!=null?a.navigate("../../../"):a.navigate("../")},onForecastToggle:(t,n)=>{e(Ee(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?Te:Rt,n)),t==="forecast_mode"?(e(Qt({viewMode:"account_group"})),e(Ca(!1,n?.id)),n!=null&&$(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):$(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(ge({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Burn Rate"),e(Qt({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(eo({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(Jn())},onResyncReports:()=>{e(Et("net_burn_or_income_by_classes"))}}})($e),Es=e=>{const a=z(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,{isAiCfoAccessEnabled:s,onAskAiCfoClick:i}=ae({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),c=Ne({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),m=k(y=>At(y)),g=m.isForecastModeOn,C=m.timeframe,u=m.selectedForecast?.id,l=k(y=>Tt(y.forecastState,u??"")),h=k(y=>ba(y)),p=k(y=>xt(y)),f=k(y=>we(y)),S=m.mode==="compare_mode",E=h.dataAvailable;b.useEffect(()=>{if(u!=null&&g===!0&&($(g,r,u,o),l!=null)){const y=l?.forecastPeriod,I=E!=null&&y.endDate.isAfter(E?.endDate)===!0?E:y;a(de(e.firstMonthOfFY,{startDate:I.endDate.startOf(C),endDate:I?.endDate}))}},[u]);const v=ke(),{useFeatureGate:_}=Se(),{isFeatureEnabled:x}=_(B.isReportsCommentingEnabled),w=Ft(x?v?.currentTenant?.companyId:void 0,{clearParams:h.fetchState==="Completed"});return d.jsx(Is,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,forecastIdFromUrlPath:r,location:n,isAccountingClassesEnabled:f,isCompareModeOn:S,navigate:o,analytics:T,reportsResyncFetchState:p.reportsResyncFetchState,insightsSectionAiCfoInfo:c,isAiCfoAccessEnabled:s,onAskAiCfoClick:i,initialOpenThreadRequest:w,isReportsCommentingEnabled:x})},Ts=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Je(e);break;case"year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;case"free_range":console.error("free_range timeframe is not supported!")}return{timeframe:a,timePeriod:t}},xs=ee(function(e){const a=_a(e),t=ao(e),n=no(e),o=oo(e),r=Dt(e),{scrollPosition:s,...i}=r,c=Z.getLocalizedStrings().reportTitleById.operating_expenses,m=M.getSignedInUser(),g=e.tenantState.currentTenantId,C=L(e),u=C?.companyName??"",l={userId:m?.userId??"",sessionId:m?.zeniSessionId??"",tenantId:g??""},h=e.entityAutoCompleteState.autoCompleteText.navbar,p=ce(e,"navbar"),f=It(C);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:c},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${te}/statement`,authParams:l},analytics:T,isZeniUser:Xe(m),autoCompleteData:{autoCompleteText:h,entityAutoCompleteView:p},isZeniCOAUsed:f,isAccountingClassesEnabled:we(e)}},function(e,a){return{updateDownloadStateHandler:t=>{e(io(t))},onTimeframeSelectionChanged:t=>{e(De(t)),setTimeout(()=>e(be({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ge(t,n)),e(be({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(de(a.firstMonthOfFY,t)),e(be({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Ue(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Le(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&$(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout(()=>e(be({resetLeftScroll:!0})),50)},onAccountBalanceClick:a.hasTransactionAccess!==!0?void 0:(t,n)=>{const{timePeriod:o,timeframe:r}=Ts(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?Pt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):Oe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Operating Expenses"}})}},onElementCollapseStateChanged:(t,n)=>{e(be({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(be({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.selectedForecastId!=null?a.navigate("../../../"):a.navigate("../")},onForecastToggle:(t,n)=>{e(Ee(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?Te:Rt,n)),t=="forecast_mode"?(e(Ht({viewMode:"account_group"})),e(ka(!1,n?.id)),n!=null&&$(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):$(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(be({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Operating Expenses"),e(Ht({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(ro({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(so())},onResyncReports:()=>{e(Et("operating_expenses_by_classes"))}}})($e),Ds=e=>{const a=z(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,{isAiCfoAccessEnabled:s,onAskAiCfoClick:i}=ae({mobileExploreReferrer:"DashboardOpEx"}),c=Ne({mobileExploreReferrer:"DashboardOpEx"}),m=k(I=>Dt(I)),g=m.isForecastModeOn,C=m.timeframe,u=m.selectedForecast?.id,l=k(I=>Tt(I.forecastState,u??"")),h=k(I=>_a(I)),p=k(I=>xt(I)),f=k(I=>we(I)),S=m.mode==="compare_mode",E=h.dataAvailable;b.useEffect(()=>{if(u!=null&&g===!0&&($(g,r,u,o),l!=null)){const I=l?.forecastPeriod,U=E!=null&&I.endDate.isAfter(E?.endDate)===!0?E:I;a(de(e.firstMonthOfFY,{startDate:U.endDate.startOf(C),endDate:U?.endDate}))}},[u]);const v=ke(),_=v?.loggedInUserRole!=null&&Sa(v?.loggedInUserRole)!==!0,{useFeatureGate:x}=Se(),{isFeatureEnabled:w}=x(B.isReportsCommentingEnabled),y=Ft(w?v?.currentTenant?.companyId:void 0,{clearParams:h.fetchState==="Completed"});return d.jsx(xs,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,location:n,isAccountingClassesEnabled:f,isCompareModeOn:S,navigate:o,forecastIdFromUrlPath:r,analytics:T,hasTransactionAccess:_,reportsResyncFetchState:p.reportsResyncFetchState,insightsSectionAiCfoInfo:c,isAiCfoAccessEnabled:s,onAskAiCfoClick:i,initialOpenThreadRequest:y,isReportsCommentingEnabled:w})},ws=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Je(e);break;case"year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;case"free_range":console.error("free_range timeframe is not supported!")}return{timeframe:a,timePeriod:t}},Os=ee(function(e){const a=ya(e),t=co(e),n=lo(e),o=uo(e),r=wt(e),{scrollPosition:s,...i}=r,c=Z.getLocalizedStrings().reportTitleById.revenue,m=M.getSignedInUser(),g=e.tenantState.currentTenantId,C=L(e),u=C?.companyName??"",l={userId:m?.userId??"",sessionId:m?.zeniSessionId??"",tenantId:g??""},h=e.entityAutoCompleteState.autoCompleteText.navbar,p=ce(e,"navbar"),f=It(C);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:c},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${te}/statement`,authParams:l},analytics:T,isZeniUser:Xe(m),autoCompleteData:{autoCompleteText:h,entityAutoCompleteView:p},isZeniCOAUsed:f,isAccountingClassesEnabled:we(e)}},function(e,a){return{updateDownloadStateHandler:t=>{e(ho(t))},onTimeframeSelectionChanged:t=>{e(De(t)),setTimeout(()=>e(Ce({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ge(t,n)),e(Ce({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(de(a.firstMonthOfFY,t)),e(Ce({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Ue(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Le(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&$(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout(()=>e(Ce({resetLeftScroll:!0})),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=ws(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?Pt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):Oe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Revenues"}})}},onElementCollapseStateChanged:(t,n)=>{e(Ce({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(Ce({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.selectedForecastId!=null?a.navigate("../../../"):a.navigate("../")},onForecastToggle:(t,n)=>{e(Ee(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?Te:Rt,n)),t==="forecast_mode"?(e(Wt({viewMode:"account_group"})),e(va(!1,n?.id)),n!=null&&$(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):$(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(Ce({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Revenues"),e(Wt({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(po({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(mo())},onResyncReports:()=>{e(Et("revenue_by_classes"))}}})($e),Ps=e=>{const a=z(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,{isAiCfoAccessEnabled:s,onAskAiCfoClick:i}=ae({mobileExploreReferrer:"DashboardRevenue"}),c=Ne({mobileExploreReferrer:"DashboardRevenue"}),m=k(y=>wt(y)),g=m.isForecastModeOn,C=m.timeframe,u=m.selectedForecast?.id,l=k(y=>Tt(y.forecastState,u??"")),h=k(y=>ya(y)),p=h.dataAvailable,f=m.mode==="compare_mode",S=k(y=>we(y)),E=k(y=>xt(y));b.useEffect(()=>{if(u!=null&&g===!0&&($(g,r,u,o),l!=null)){const y=l?.forecastPeriod,I=p!=null&&y.endDate.isAfter(p?.endDate)===!0?p:y;a(de(e.firstMonthOfFY,{startDate:I.endDate.startOf(C),endDate:I?.endDate}))}},[u]);const v=ke(),{useFeatureGate:_}=Se(),{isFeatureEnabled:x}=_(B.isReportsCommentingEnabled),w=Ft(x?v?.currentTenant?.companyId:void 0,{clearParams:h.fetchState==="Completed"});return d.jsx(Os,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,isAccountingClassesEnabled:S,isCompareModeOn:f,location:n,navigate:o,forecastIdFromUrlPath:r,analytics:T,reportsResyncFetchState:E.reportsResyncFetchState,insightsSectionAiCfoInfo:c,isAiCfoAccessEnabled:s,onAskAiCfoClick:i,initialOpenThreadRequest:w,isReportsCommentingEnabled:x})},Fs=e=>{let a,t;if(e.endDate!=null)switch(e.timePeriod){case"this_month_to_date":case"last_month":case"this_week_to_date":case"last_week":a="month",t={startDate:e.endDate.startOf("month"),endDate:e.endDate};break;case"last_3_months":case"last_6_months":case"last_12_months":case"this_year_to_date":case"last_year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;default:console.error(`this timeperiod ${e.timePeriod} is not supported!`)}return{timeframe:a,timePeriod:t}},Rs=ee(function(e){const a=fo(e),t=e.entityAutoCompleteState.autoCompleteText.navbar,n=ce(e,"navbar");return{report:a,analytics:T,autoCompleteData:{autoCompleteText:t,entityAutoCompleteView:n}}},function(e,a){return{onTimeframeSelectionChanged:t=>{T.trackTimeframeSwitch(Ya(t),"Top Expenses"),e(Aa(t))},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Fs(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const i=Oe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Top Expenses"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}})(Ko),Bs=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e;return d.jsx(Rs,{tenantEmailDomain:a,location:t,navigate:n})},js=Ot.div`
|
|
13
|
+
`;function gs({title:e,reportId:a,entityAutoCompleteView:t,autoCompleteText:n,isAiCfoAccessEnabled:o,onAskAiCfoClick:r}){const s=W(),i=z(),c=H(),{tenantEmailDomain:m}=K(),g=Uo();return d.jsxs(hs,{children:[d.jsx(Go,{source:a==="cash_balance"?"CashBalanceDetailScreen":"CardBalanceDetailScreen",title:e,onBackClick:()=>{s("../")},hideSearchBtn:!0,backgroundColor:g.colors.grey4,searchAutoComplete:{autoCompleteData:{entityAutoCompleteView:t,autoCompleteText:n},autoCompleteActions:{onAutoCompleteInputChange:C=>{C.trim().length>=2?i(le({searchString:C,searchOrigin:"navbar"})):C.trim().length===0&&i(J("navbar"))},onAutoCompleteEntity:C=>{n!=null&&T?.trackSearch(N.Event.search,bs(a),C.type,C.name,n);const u=ue(C,m),l=D(c.state?.pathnameStackToGoBack,c.pathname);s(u,{state:{pathnameStackToGoBack:l}})}}},rightSideComponent:d.jsx(Vo,{isAiCfoAccessEnabled:o,onAskAiCfoClick:r})}),d.jsx(fs,{children:a==="cash_balance"?d.jsx(ms,{}):d.jsx(ps,{})})]})}function Xt(){const e=H(),a=z(),{useFeatureGate:t}=Se(),{isFeatureEnabled:n}=t(B.isDepositAccountsFeatureEnabled),o=_(p=>p.cashBalanceState.fetchState),r=_(p=>p.cardBalanceState.fetchState),s=M.getSignedInUser();if(s==null)throw Error("Can't access dashboard detail without signing in...");const i=la((p=>{const f=da(p,"/").split("/");return f[f.length-1]})(e.pathname));let c="Not-Started",m="";const g=Z.getLocalizedStrings();switch(i){case"cash_balance":c=o,m=g.reportTitleById.cash_balance;break;case"card_balance":c=r,m=g.reportTitleById.card_balance;break;default:console.error(`${i} is not supported!`)}const{isAiCfoAccessEnabled:C,onAskAiCfoClick:u}=ae({mobileExploreReferrer:i==="card_balance"?"Card Balance":"Cash Balance"});Ve({isDataReady:c==="Completed"});const l=_(p=>p.entityAutoCompleteState.autoCompleteText.navbar),h=_(p=>ce(p,"navbar"));return b.useEffect(()=>{c==="Not-Started"&&function(p,f,S){switch(f){case"card_balance":p(pa());break;case"cash_balance":p(ua()),S===!0&&p(ma());break;default:throw new Error(`balance report type ${f} is not yet supported`)}}(a,i,n)},[s,a,c]),d.jsxs(d.Fragment,{children:[c==="Completed"?d.jsx(Ye,{analytics:T,onLoad:p=>((f,S)=>{switch(S){case"card_balance":f.trackPageLoaded(N.Event.cardBalance);break;case"cash_balance":f.trackPageLoaded(N.Event.cashBalance);break;default:console.error(`Analytics: Not tracking Page Loaded for ${S}!`)}})(p,i)}):null,d.jsx(gs,{title:m,reportId:i,autoCompleteText:l,entityAutoCompleteView:h,isAiCfoAccessEnabled:C,onAskAiCfoClick:u})]})}const bs=e=>{switch(e){case"cash_balance":return"Cash Balance";case"card_balance":return"Card Balance";default:return"Dashboard"}},Cs=[];function Ne(e){const{mobileExploreReferrer:a}=e,t=z(),n=W(),o=H(),{tenantEmailDomain:r}=K(),{setIsAiCfoOpen:s,setAiCfoSidePanelQuestionToSubmit:i}=Fa(),c=Ra(),m=Ua(c),g=ia(),C=_(F=>F.tenantState.fetchState==="Completed"||F.tenantState.activeTenantFetchState.fetchState==="Completed"?U(F):void 0),u=C?.masterTOSInfo?.isMasterTOSAccepted??!1,l=_(F=>ha(F)),h=l.uiState?.currentChatSessionId,p=l.allSessionsWithOrderedQuestionAnswers??Cs,f=M.getSignedInUser()?.userId,S=Ba(),E=Yo()&&S&&r!=null,A=No(),k=$o(!0),x=_(F=>A!=null?Nn(F,A):void 0),{useDynamicConfig:w}=Se(),{configValue:y}=w(ja.aiCfoMessageDynamicConfig),I=b.useMemo(()=>Array.isArray(y.default_message_list)?y.default_message_list:[],[y.default_message_list]),L=b.useMemo(()=>I.slice(0,2),[I]),ne=A!=null&&x!=null&&x.fetchState!=="Completed"&&x.fetchState!=="Error"&&(k||x.fetchState==="In-Progress"),ze=b.useMemo(()=>{if(A==null||x?.fetchState==="Error")return L;if(ne)return[];const F=(x?.suggestedQuestions??[]).map(oe=>oe.trim()).filter(oe=>oe.length>0).slice(0,2);return F.length===0?L:F},[L,ne,A,x?.fetchState,x?.suggestedQuestions]),me=b.useCallback((F,oe)=>{if(f==null||F.trim()==="")return;if(!u)return void se({location:o,navigate:n,mergeState:{referrer:a}});const Pe=Ma(g.getState());if(m){const Ze=D(o.state?.pathnameStackToGoBack,o.pathname);n(`/${r}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:Ze,referrer:a,aiCfoInitialQuestion:F,aiCfoShouldSubmit:!Pe}})}else{if(Pe)return t(St(F)),void s(!0);i(F),s(!0),La(t,F,"insights_section",h,p,f,oe,void 0)}},[p,h,t,u,m,o,a,n,s,i,g,r,f]),Ke=b.useCallback(()=>{if(u)if(m){const F=D(o.state?.pathnameStackToGoBack,o.pathname);n(`/${r}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:F,referrer:a}})}else s(!0);else se({location:o,navigate:n,mergeState:{referrer:a}})},[u,m,o,a,n,s,r]);return b.useMemo(()=>{if(E)return{isSuggestedQuestionsLoading:ne,onAskSomethingElseClick:Ke,onSuggestedQuestionClick:me,suggestedQuestions:ze}},[E,ne,Ke,me,ze])}const $e=zo,ks=ee(function(e){const a=$n(e),t=zn(e),n=fa(e),{scrollPosition:o,...r}=n,s=Z.getLocalizedStrings().reportTitleById.cash_in_cash_out,i=M.getSignedInUser(),c=e.tenantState.currentTenantId,m=U(e),g=m?.companyName??"",C={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:c??""},u=e.entityAutoCompleteState.autoCompleteText.navbar,l=ce(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:g,statementEndPoint:`${te}/statement`,authParams:C},analytics:T,autoCompleteData:{autoCompleteText:u,entityAutoCompleteView:l}}},function(e,a){return{updateDownloadStateHandler:t=>{e(Kn(t))},onTimeframeSelectionChanged:()=>{},onCOABalancesRangeChanged:(t,n)=>{e(Ge(t,n)),e(Fe({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(De("month")),e(de(a.firstMonthOfFY,t)),e(Fe({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Le(a.firstMonthOfFY,t,o,n)),n.length>0&&e(Ue(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout(()=>e(Fe({resetLeftScroll:!0})),50)},onElementCollapseStateChanged:(t,n)=>{e(Fe({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(Fe({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}})($e),_s=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,{isAiCfoAccessEnabled:o,onAskAiCfoClick:r}=ae({mobileExploreReferrer:"DashboardCashInCashOut"}),s=Ne({mobileExploreReferrer:"DashboardCashInCashOut"}),i=_(c=>fa(c)).mode==="compare_mode";return d.jsx(ks,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:i,navigate:n,insightsSectionAiCfoInfo:s,isAiCfoAccessEnabled:o,onAskAiCfoClick:r})},Ss=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Je(e);break;case"year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;case"free_range":console.error("free_range timeframe is not supported!")}return{timeframe:a,timePeriod:t}},ys=ee(function(e){const a=Zn(e),t=qn(e),n=ga(e),{scrollPosition:o,...r}=n,s=Z.getLocalizedStrings().reportTitleById.cash_position,i=M.getSignedInUser(),c=e.tenantState.currentTenantId,m=U(e),g=m?.companyName??"",C={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:c??""},u=e.entityAutoCompleteState.autoCompleteText.navbar,l=ce(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:g,statementEndPoint:`${te}/statement`,authParams:C},analytics:T,autoCompleteData:{autoCompleteText:u,entityAutoCompleteView:l}}},function(e,a){return{updateDownloadStateHandler:t=>{e(Qn(t))},onTimeframeSelectionChanged:t=>{e(De(t)),setTimeout(()=>e(Re({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ge(t,n)),e(Re({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(de(a.firstMonthOfFY,t)),e(Re({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Le(a.firstMonthOfFY,t,o,n)),n.length>0&&e(Ue(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout(()=>e(Re({resetLeftScroll:!0})),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Ss(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const i=Oe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Cash Position"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onTableScroll:t=>{e(Re({scrollPosition:t}))},onBackClick:()=>{a.navigate("../")}}})($e),As=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,{isAiCfoAccessEnabled:o,onAskAiCfoClick:r}=ae({mobileExploreReferrer:"DashboardCashPosition"}),s=Ne({mobileExploreReferrer:"DashboardCashPosition"}),i=_(c=>ga(c)).mode==="compare_mode";return d.jsx(ys,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:i,navigate:n,insightsSectionAiCfoInfo:s,isAiCfoAccessEnabled:o,onAskAiCfoClick:r})},$=(e,a,t,n)=>{e===!1?a!=null&&n("../../",{relative:"path"}):a!=t&&(a!=null&&a.length>0?n(`../${t}`,{replace:!0}):n(`./forecast/${t}`,{replace:!0}))};function mt(){return d.jsxs(Ct,{children:[d.jsx(P,{path:"/",element:d.jsx(re,{})}),d.jsx(P,{path:"/:forecastId",element:d.jsx(re,{})}),d.jsx(P,{path:"/:forecastId/*",element:d.jsx(Me,{})})]})}const vs=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Je(e);break;case"year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;case"free_range":console.error("free_range timeframe is not supported!")}return{timeframe:a,timePeriod:t}},Is=ee(function(e){const a=ba(e),t=Hn(e),n=Wn(e),o=Xn(e),r=vt(e),{scrollPosition:s,...i}=r,c=t.reportTitle,m=M.getSignedInUser(),g=e.tenantState.currentTenantId,C=U(e),u=C?.companyName??"",l={userId:m?.userId??"",sessionId:m?.zeniSessionId??"",tenantId:g??""},h=e.entityAutoCompleteState.autoCompleteText.navbar,p=ce(e,"navbar"),f=It(C);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:c},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${te}/statement`,authParams:l},analytics:T,isZeniUser:Xe(m),autoCompleteData:{autoCompleteText:h,entityAutoCompleteView:p},isZeniCOAUsed:f,isAccountingClassesEnabled:we(e)}},function(e,a){return{updateDownloadStateHandler:t=>{e(to(t))},onTimeframeSelectionChanged:t=>{e(De(t)),setTimeout(()=>e(ge({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ge(t,n)),e(ge({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(de(a.firstMonthOfFY,t)),e(ge({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Le(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Ue(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&$(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout(()=>e(ge({resetLeftScroll:!0})),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=vs(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?Pt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):Oe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Burn Rate"}})}},onElementCollapseStateChanged:(t,n)=>{e(ge({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(ge({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.selectedForecastId!=null?a.navigate("../../../"):a.navigate("../")},onForecastToggle:(t,n)=>{e(Ee(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?Te:Rt,n)),t==="forecast_mode"?(e(Qt({viewMode:"account_group"})),e(Ca(!1,n?.id)),n!=null&&$(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):$(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(ge({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Burn Rate"),e(Qt({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(eo({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(Jn())},onResyncReports:()=>{e(Et("net_burn_or_income_by_classes"))}}})($e),Es=e=>{const a=z(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,{isAiCfoAccessEnabled:s,onAskAiCfoClick:i}=ae({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),c=Ne({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),m=_(y=>vt(y)),g=m.isForecastModeOn,C=m.timeframe,u=m.selectedForecast?.id,l=_(y=>Tt(y.forecastState,u??"")),h=_(y=>ba(y)),p=_(y=>xt(y)),f=_(y=>we(y)),S=m.mode==="compare_mode",E=h.dataAvailable;b.useEffect(()=>{if(u!=null&&g===!0&&($(g,r,u,o),l!=null)){const y=l?.forecastPeriod,I=E!=null&&y.endDate.isAfter(E?.endDate)===!0?E:y;a(de(e.firstMonthOfFY,{startDate:I.endDate.startOf(C),endDate:I?.endDate}))}},[u]);const A=_e(),{useFeatureGate:k}=Se(),{isFeatureEnabled:x}=k(B.isReportsCommentingEnabled),w=Ft(x?A?.currentTenant?.companyId:void 0,{clearParams:h.fetchState==="Completed"});return d.jsx(Is,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,forecastIdFromUrlPath:r,location:n,isAccountingClassesEnabled:f,isCompareModeOn:S,navigate:o,analytics:T,reportsResyncFetchState:p.reportsResyncFetchState,insightsSectionAiCfoInfo:c,isAiCfoAccessEnabled:s,onAskAiCfoClick:i,initialOpenThreadRequest:w,isReportsCommentingEnabled:x})},Ts=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Je(e);break;case"year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;case"free_range":console.error("free_range timeframe is not supported!")}return{timeframe:a,timePeriod:t}},xs=ee(function(e){const a=ka(e),t=ao(e),n=no(e),o=oo(e),r=Dt(e),{scrollPosition:s,...i}=r,c=Z.getLocalizedStrings().reportTitleById.operating_expenses,m=M.getSignedInUser(),g=e.tenantState.currentTenantId,C=U(e),u=C?.companyName??"",l={userId:m?.userId??"",sessionId:m?.zeniSessionId??"",tenantId:g??""},h=e.entityAutoCompleteState.autoCompleteText.navbar,p=ce(e,"navbar"),f=It(C);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:c},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${te}/statement`,authParams:l},analytics:T,isZeniUser:Xe(m),autoCompleteData:{autoCompleteText:h,entityAutoCompleteView:p},isZeniCOAUsed:f,isAccountingClassesEnabled:we(e)}},function(e,a){return{updateDownloadStateHandler:t=>{e(io(t))},onTimeframeSelectionChanged:t=>{e(De(t)),setTimeout(()=>e(be({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ge(t,n)),e(be({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(de(a.firstMonthOfFY,t)),e(be({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Le(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Ue(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&$(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout(()=>e(be({resetLeftScroll:!0})),50)},onAccountBalanceClick:a.hasTransactionAccess!==!0?void 0:(t,n)=>{const{timePeriod:o,timeframe:r}=Ts(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?Pt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):Oe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Operating Expenses"}})}},onElementCollapseStateChanged:(t,n)=>{e(be({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(be({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.selectedForecastId!=null?a.navigate("../../../"):a.navigate("../")},onForecastToggle:(t,n)=>{e(Ee(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?Te:Rt,n)),t=="forecast_mode"?(e(Ht({viewMode:"account_group"})),e(_a(!1,n?.id)),n!=null&&$(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):$(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(be({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Operating Expenses"),e(Ht({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(ro({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(so())},onResyncReports:()=>{e(Et("operating_expenses_by_classes"))}}})($e),Ds=e=>{const a=z(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,{isAiCfoAccessEnabled:s,onAskAiCfoClick:i}=ae({mobileExploreReferrer:"DashboardOpEx"}),c=Ne({mobileExploreReferrer:"DashboardOpEx"}),m=_(I=>Dt(I)),g=m.isForecastModeOn,C=m.timeframe,u=m.selectedForecast?.id,l=_(I=>Tt(I.forecastState,u??"")),h=_(I=>ka(I)),p=_(I=>xt(I)),f=_(I=>we(I)),S=m.mode==="compare_mode",E=h.dataAvailable;b.useEffect(()=>{if(u!=null&&g===!0&&($(g,r,u,o),l!=null)){const I=l?.forecastPeriod,L=E!=null&&I.endDate.isAfter(E?.endDate)===!0?E:I;a(de(e.firstMonthOfFY,{startDate:L.endDate.startOf(C),endDate:L?.endDate}))}},[u]);const A=_e(),k=A?.loggedInUserRole!=null&&Sa(A?.loggedInUserRole)!==!0,{useFeatureGate:x}=Se(),{isFeatureEnabled:w}=x(B.isReportsCommentingEnabled),y=Ft(w?A?.currentTenant?.companyId:void 0,{clearParams:h.fetchState==="Completed"});return d.jsx(xs,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,location:n,isAccountingClassesEnabled:f,isCompareModeOn:S,navigate:o,forecastIdFromUrlPath:r,analytics:T,hasTransactionAccess:k,reportsResyncFetchState:p.reportsResyncFetchState,insightsSectionAiCfoInfo:c,isAiCfoAccessEnabled:s,onAskAiCfoClick:i,initialOpenThreadRequest:y,isReportsCommentingEnabled:w})},ws=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Je(e);break;case"year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;case"free_range":console.error("free_range timeframe is not supported!")}return{timeframe:a,timePeriod:t}},Os=ee(function(e){const a=ya(e),t=co(e),n=lo(e),o=uo(e),r=wt(e),{scrollPosition:s,...i}=r,c=Z.getLocalizedStrings().reportTitleById.revenue,m=M.getSignedInUser(),g=e.tenantState.currentTenantId,C=U(e),u=C?.companyName??"",l={userId:m?.userId??"",sessionId:m?.zeniSessionId??"",tenantId:g??""},h=e.entityAutoCompleteState.autoCompleteText.navbar,p=ce(e,"navbar"),f=It(C);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:c},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${te}/statement`,authParams:l},analytics:T,isZeniUser:Xe(m),autoCompleteData:{autoCompleteText:h,entityAutoCompleteView:p},isZeniCOAUsed:f,isAccountingClassesEnabled:we(e)}},function(e,a){return{updateDownloadStateHandler:t=>{e(ho(t))},onTimeframeSelectionChanged:t=>{e(De(t)),setTimeout(()=>e(Ce({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ge(t,n)),e(Ce({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(de(a.firstMonthOfFY,t)),e(Ce({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Le(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Ue(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&$(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout(()=>e(Ce({resetLeftScroll:!0})),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=ws(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?Pt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):Oe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Revenues"}})}},onElementCollapseStateChanged:(t,n)=>{e(Ce({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(Ce({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.selectedForecastId!=null?a.navigate("../../../"):a.navigate("../")},onForecastToggle:(t,n)=>{e(Ee(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?Te:Rt,n)),t==="forecast_mode"?(e(Wt({viewMode:"account_group"})),e(Aa(!1,n?.id)),n!=null&&$(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):$(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(Ce({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Revenues"),e(Wt({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(po({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(mo())},onResyncReports:()=>{e(Et("revenue_by_classes"))}}})($e),Ps=e=>{const a=z(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,{isAiCfoAccessEnabled:s,onAskAiCfoClick:i}=ae({mobileExploreReferrer:"DashboardRevenue"}),c=Ne({mobileExploreReferrer:"DashboardRevenue"}),m=_(y=>wt(y)),g=m.isForecastModeOn,C=m.timeframe,u=m.selectedForecast?.id,l=_(y=>Tt(y.forecastState,u??"")),h=_(y=>ya(y)),p=h.dataAvailable,f=m.mode==="compare_mode",S=_(y=>we(y)),E=_(y=>xt(y));b.useEffect(()=>{if(u!=null&&g===!0&&($(g,r,u,o),l!=null)){const y=l?.forecastPeriod,I=p!=null&&y.endDate.isAfter(p?.endDate)===!0?p:y;a(de(e.firstMonthOfFY,{startDate:I.endDate.startOf(C),endDate:I?.endDate}))}},[u]);const A=_e(),{useFeatureGate:k}=Se(),{isFeatureEnabled:x}=k(B.isReportsCommentingEnabled),w=Ft(x?A?.currentTenant?.companyId:void 0,{clearParams:h.fetchState==="Completed"});return d.jsx(Os,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,isAccountingClassesEnabled:S,isCompareModeOn:f,location:n,navigate:o,forecastIdFromUrlPath:r,analytics:T,reportsResyncFetchState:E.reportsResyncFetchState,insightsSectionAiCfoInfo:c,isAiCfoAccessEnabled:s,onAskAiCfoClick:i,initialOpenThreadRequest:w,isReportsCommentingEnabled:x})},Fs=e=>{let a,t;if(e.endDate!=null)switch(e.timePeriod){case"this_month_to_date":case"last_month":case"this_week_to_date":case"last_week":a="month",t={startDate:e.endDate.startOf("month"),endDate:e.endDate};break;case"last_3_months":case"last_6_months":case"last_12_months":case"this_year_to_date":case"last_year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;default:console.error(`this timeperiod ${e.timePeriod} is not supported!`)}return{timeframe:a,timePeriod:t}},Rs=ee(function(e){const a=fo(e),t=e.entityAutoCompleteState.autoCompleteText.navbar,n=ce(e,"navbar");return{report:a,analytics:T,autoCompleteData:{autoCompleteText:t,entityAutoCompleteView:n}}},function(e,a){return{onTimeframeSelectionChanged:t=>{T.trackTimeframeSwitch(Ya(t),"Top Expenses"),e(va(t))},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Fs(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const i=Oe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Top Expenses"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}})(Ko),Bs=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e;return d.jsx(Rs,{tenantEmailDomain:a,location:t,navigate:n})},js=Ot.div`
|
|
14
14
|
display: flex;
|
|
15
15
|
flex: 1 1 auto;
|
|
16
16
|
min-height: 100%;
|
|
17
17
|
flex-direction: column;
|
|
18
18
|
background-color: ${e=>e.theme.colors.grey5};
|
|
19
19
|
align-items: center;
|
|
20
|
-
`,Te=3,Rt=1;function Ms({fetchState:e,firstMonthOfFY:a,reportId:t,forecastId:n}){const o=W(),r=H(),{tenantEmailDomain:s}=K();let i;Ve({isDataReady:!0});const c={firstMonthOfFY:a,tenantEmailDomain:s,location:r,navigate:o,forecastIdFromUrlPath:n,fetchState:e};switch(t){case"operating_expenses":i=d.jsx(Ds,{...c});break;case"revenue":i=d.jsx(Ps,{...c});break;case"net_burn_or_income":i=d.jsx(Es,{...c});break;case"cash_position":i=d.jsx(vs,{...c});break;case"top_expenses":i=d.jsx(Bs,{...c});break;case"cash_in_cash_out":i=d.jsx(ks,{...c});break;default:console.error(`${t} is not supported!`),i=null}return i!=null?d.jsx(js,{children:i}):null}function re(){const e=H(),a=z(),{forecastId:t}=K();let n="Not-Started";const o=k(l=>Dt(l).fetchState),r=k(l=>wt(l).fetchState),s=k(l=>At(l).fetchState),i=k(l=>l.cashPositionState.fetchState),c=k(l=>l.topExState.fetchState),m=k(l=>l.cashInCashOutState.fetchState);if(M.getSignedInUser()==null)throw Error("Can't access dashboard detail without signing in...");const g=k(l=>L(l)),C=g?.company?.companyInfo?.firstMonthOfFY??1,u=la((l=>{const h=da(l,"/").split("/");return t!=null?h[h.length-3]:h[h.length-1]})(e.pathname));switch(u){case"operating_expenses":n=o;break;case"revenue":n=r;break;case"net_burn_or_income":n=s;break;case"cash_position":n=i;break;case"top_expenses":n=c;break;case"cash_in_cash_out":n=m;break;default:console.error(`${u} is not supported!`)}return b.useEffect(()=>{n==="Not-Started"&&function(l,h,p,f){switch(h){case"operating_expenses":l(wa(!0)),f!=null&&(l(Ee(p,!0,Te,{id:f,index:0})),l(ka(!1,f)));break;case"revenue":l(Da(!0)),f!=null&&(l(Ee(p,!0,Te,{id:f,index:0})),l(va(!1,f)));break;case"net_burn_or_income":l(xa(!0)),f!=null&&(l(Ee(p,!0,Te,{id:f,index:0})),l(Ca(!1,f)));break;case"cash_position":l(Ta(!0));break;case"top_expenses":l(Ea());break;case"cash_in_cash_out":l(Ia());break;default:throw new Error(`report type ${h} is not yet supported`)}}(a,u,C,t)},[t]),d.jsxs(d.Fragment,{children:[n==="Completed"?d.jsx(Ye,{analytics:T,onLoad:l=>((h,p)=>{const f=e.state?.referrer;switch(p){case"operating_expenses":h.trackPageLoaded(N.Event.operatingExpenses,f);break;case"revenue":h.trackPageLoaded(N.Event.revenues,f);break;case"net_burn_or_income":h.trackPageLoaded(N.Event.burnRate,f);break;case"cash_position":h.trackPageLoaded(N.Event.cashPosition,f);break;case"top_expenses":h.trackPageLoaded(N.Event.topExpenses,f);break;case"cash_in_cash_out":h.trackPageLoaded(N.Event.cashInCashOut,f);break;default:console.error(`Analytics: Not tracking Page Loaded for ${p}!`)}})(l,u)}):null,d.jsx(Ms,{firstMonthOfFY:C,fetchState:n,reportId:u,forecastId:t})]})}var pt=typeof navigator<"u"&&navigator.userAgent.toLowerCase().indexOf("firefox")>0;function ht(e,a,t,n){e.addEventListener?e.addEventListener(a,t,n):e.attachEvent&&e.attachEvent("on".concat(a),function(){t(window.event)})}function za(e,a){for(var t=a.slice(0,a.length-1),n=0;n<t.length;n++)t[n]=e[t[n].toLowerCase()];return t}function Ka(e){typeof e!="string"&&(e="");for(var a=(e=e.replace(/\s/g,"")).split(","),t=a.lastIndexOf("");t>=0;)a[t-1]+=",",a.splice(t,1),t=a.lastIndexOf("");return a}for(var Bt={backspace:8,tab:9,clear:12,enter:13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,del:46,delete:46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,num_0:96,num_1:97,num_2:98,num_3:99,num_4:100,num_5:101,num_6:102,num_7:103,num_8:104,num_9:105,num_multiply:106,num_add:107,num_enter:108,num_subtract:109,num_decimal:110,num_divide:111,"⇪":20,",":188,".":190,"/":191,"`":192,"-":pt?173:189,"=":pt?61:187,";":pt?59:186,"'":222,"[":219,"]":221,"\\":220},ie={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91},yt={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},j={16:!1,18:!1,17:!1,91:!1},R={},He=1;He<20;He++)Bt["f".concat(He)]=111+He;var O=[],Jt=!1,Za="all",ea=[],tt=function(e){return Bt[e.toLowerCase()]||ie[e.toLowerCase()]||e.toUpperCase().charCodeAt(0)};function ta(e){Za=e||"all"}function je(){return Za||"all"}var ft=function(e){var a=e.key,t=e.scope,n=e.method,o=e.splitKey,r=o===void 0?"+":o;Ka(a).forEach(function(s){var i=s.split(r),c=i.length,m=i[c-1],g=m==="*"?"*":tt(m);if(R[g]){t||(t=je());var C=c>1?za(ie,i):[];R[g]=R[g].filter(function(u){return!((!n||u.method===n)&&u.scope===t&&function(l,h){for(var p=l.length>=h.length?l:h,f=l.length>=h.length?h:l,S=!0,E=0;E<p.length;E++)f.indexOf(p[E])===-1&&(S=!1);return S}(u.mods,C))})}})};function aa(e,a,t,n){var o;if(a.element===n&&(a.scope===t||a.scope==="all")){for(var r in o=a.mods.length>0,j)Object.prototype.hasOwnProperty.call(j,r)&&(!j[r]&&a.mods.indexOf(+r)>-1||j[r]&&a.mods.indexOf(+r)===-1)&&(o=!1);(a.mods.length!==0||j[16]||j[18]||j[17]||j[91])&&!o&&a.shortcut!=="*"||a.method(e,a)===!1&&(e.preventDefault?e.preventDefault():e.returnValue=!1,e.stopPropagation&&e.stopPropagation(),e.cancelBubble&&(e.cancelBubble=!0))}}function na(e,a){var t=R["*"],n=e.keyCode||e.which||e.charCode;if(G.filter.call(this,e)){if(n!==93&&n!==224||(n=91),O.indexOf(n)===-1&&n!==229&&O.push(n),["ctrlKey","altKey","shiftKey","metaKey"].forEach(function(h){var p=yt[h];e[h]&&O.indexOf(p)===-1?O.push(p):!e[h]&&O.indexOf(p)>-1?O.splice(O.indexOf(p),1):h==="metaKey"&&e[h]&&O.length===3&&(e.ctrlKey||e.shiftKey||e.altKey||(O=O.slice(O.indexOf(p))))}),n in j){for(var o in j[n]=!0,ie)ie[o]===n&&(G[o]=!0);if(!t)return}for(var r in j)Object.prototype.hasOwnProperty.call(j,r)&&(j[r]=e[yt[r]]);e.getModifierState&&(!e.altKey||e.ctrlKey)&&e.getModifierState("AltGraph")&&(O.indexOf(17)===-1&&O.push(17),O.indexOf(18)===-1&&O.push(18),j[17]=!0,j[18]=!0);var s=je();if(t)for(var i=0;i<t.length;i++)t[i].scope===s&&(e.type==="keydown"&&t[i].keydown||e.type==="keyup"&&t[i].keyup)&&aa(e,t[i],s,a);if(n in R){for(var c=0;c<R[n].length;c++)if((e.type==="keydown"&&R[n][c].keydown||e.type==="keyup"&&R[n][c].keyup)&&R[n][c].key){for(var m=R[n][c],g=m.splitKey,C=m.key.split(g),u=[],l=0;l<C.length;l++)u.push(tt(C[l]));u.sort().join("")===O.sort().join("")&&aa(e,m,s,a)}}}}function G(e,a,t){O=[];var n=Ka(e),o=[],r="all",s=document,i=0,c=!1,m=!0,g="+",C=!1;for(t===void 0&&typeof a=="function"&&(t=a),Object.prototype.toString.call(a)==="[object Object]"&&(a.scope&&(r=a.scope),a.element&&(s=a.element),a.keyup&&(c=a.keyup),a.keydown!==void 0&&(m=a.keydown),a.capture!==void 0&&(C=a.capture),typeof a.splitKey=="string"&&(g=a.splitKey)),typeof a=="string"&&(r=a);i<n.length;i++)o=[],(e=n[i].split(g)).length>1&&(o=za(ie,e)),(e=(e=e[e.length-1])==="*"?"*":tt(e))in R||(R[e]=[]),R[e].push({keyup:c,keydown:m,scope:r,mods:o,shortcut:n[i],method:t,key:n[i],splitKey:g,element:s});s!==void 0&&!function(u){return ea.indexOf(u)>-1}(s)&&window&&(ea.push(s),ht(s,"keydown",function(u){na(u,s)},C),Jt||(Jt=!0,ht(window,"focus",function(){O=[]},C)),ht(s,"keyup",function(u){na(u,s),function(l){var h=l.keyCode||l.which||l.charCode,p=O.indexOf(h);if(p>=0&&O.splice(p,1),l.key&&l.key.toLowerCase()==="meta"&&O.splice(0,O.length),h!==93&&h!==224||(h=91),h in j)for(var f in j[h]=!1,ie)ie[f]===h&&(G[f]=!1)}(u)},C))}var gt={setScope:ta,getScope:je,deleteScope:function(e,a){var t,n;for(var o in e||(e=je()),R)if(Object.prototype.hasOwnProperty.call(R,o))for(t=R[o],n=0;n<t.length;)t[n].scope===e?t.splice(n,1):n++;je()===e&&ta(a||"all")},getPressedKeyCodes:function(){return O.slice(0)},isPressed:function(e){return typeof e=="string"&&(e=tt(e)),O.indexOf(e)!==-1},filter:function(e){var a=e.target||e.srcElement,t=a.tagName,n=!0;return!a.isContentEditable&&(t!=="INPUT"&&t!=="TEXTAREA"&&t!=="SELECT"||a.readOnly)||(n=!1),n},trigger:function(e){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"all";Object.keys(R).forEach(function(t){var n=R[t].find(function(o){return o.scope===a&&o.shortcut===e});n&&n.method&&n.method()})},unbind:function(e){if(e===void 0)Object.keys(R).forEach(function(s){return delete R[s]});else if(Array.isArray(e))e.forEach(function(s){s.key&&ft(s)});else if(typeof e=="object")e.key&&ft(e);else if(typeof e=="string"){for(var a=arguments.length,t=new Array(a>1?a-1:0),n=1;n<a;n++)t[n-1]=arguments[n];var o=t[0],r=t[1];typeof o=="function"&&(r=o,o=""),ft({key:e,scope:o,method:r,splitKey:"+"})}},keyMap:Bt,modifier:ie,modifierMap:yt};for(var bt in gt)Object.prototype.hasOwnProperty.call(gt,bt)&&(G[bt]=gt[bt]);if(typeof window<"u"){var Us=window.hotkeys;G.noConflict=function(e){return e&&window.hotkeys===G&&(window.hotkeys=Us),G},window.hotkeys=G}G.filter=function(){return!0};var oa=function(e,a){var t=e.target,n=t&&t.tagName;return!!(n&&a&&a.includes(n))};function Ls(e,a,t,n){t instanceof Array&&(n=t,t=void 0);var o=t||{},r=o.enableOnTags,s=o.filter,i=o.keyup,c=o.keydown,m=o.filterPreventDefault,g=m===void 0||m,C=o.enabled,u=C===void 0||C,l=o.enableOnContentEditable,h=l!==void 0&&l,p=b.useRef(null),f=b.useCallback(function(S,E){var v,_;return s&&!s(S)?!g:!!(oa(S,["INPUT","TEXTAREA","SELECT"])&&!oa(S,r)||(v=S.target)!=null&&v.isContentEditable&&!h)||!!(p.current===null||document.activeElement===p.current||(_=p.current)!=null&&_.contains(document.activeElement))&&(a(S,E),!0)},n?[p,r,s].concat(n):[p,r,s]);return b.useEffect(function(){if(u)return i&&c!==!0&&(t.keydown=!1),G(e,t||{},f),function(){return G.unbind(e,f)};G.unbind(e,f)},[f,e,u]),p}G.isPressed;const Gs=[],sa="dashboard_card",X="ai_cfo_dashboard_card";function ra(e,a){return a?e.some(t=>String(t)===X)?e.slice():[X,...e]:e.filter(t=>String(t)!==X)}const Vs=["net_burn_or_income_story_card","cash_balance","task_card","card_balance","zeni_promo_card","insights_dashboard","information_card","company_details","bill_pay_promo_card","bill_pay_card","reimbursement_card","reimbursement_promo_card","zeni_accounts_promo_card","rewards_card","treasury_promo_card"],Ys=(e,a,t,n,o)=>({card:{dimension:et(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!1,spansFullDashboardWidth:!1},data:e.status!=null?{balanceAmount:e.balance?.available,lastUpdatedTime:e.status.lastRefreshSuccessTime,changePercent:e.balance?.change?.percent,changeComparedToDate:e.balance?.change?.since}:void 0}),Be=(e,a,t,n,o)=>({card:{dimension:et(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!1,spansFullDashboardWidth:!1},data:e}),Ns=(e,a,t,n)=>Be(void 0,e,_e,a,t),$s=(e,a,t,n,o)=>({card:{dimension:et(_e),cardType:a,cardIndex:t,fetchState:e,disableAnimations:!1,spansFullDashboardWidth:!1},data:{funds:n,shouldShowTreasuryPromoIntroVideo:o,videoUrl:"https://www.youtube.com/watch?v=sqvJWKCMZgk"}}),zs=e=>{const a=et(_e);return a.height=_e.height+10,{card:{dimension:a,cardType:X,cardIndex:e,fetchState:"Completed",disableAnimations:!1,spansFullDashboardWidth:!0}}},Ks=ee(function(e,a){const t=Qs(a.dashboardReport),n=a.passedCardsOrdered,o=a.dashboardReport.reportsInOrder,{isInterestedInChargeCard:r,cardsCreditLimit:s,cashbackRate:i,treasuryFundDetails:c,shouldShowTreasuryPromoIntroVideo:m,treasuryFetchState:g}=a;let C=n.map((u,l)=>{if(u==="reimbursement_promo_card"||u==="bill_pay_promo_card")return Ns(t,u,l);if(u==="zeni_promo_card")return Be({isExpressedInterest:r,creditLimit:s,cashbackRate:i,fetchState:"Completed"},a.cardBalanceFetchState,_e,u,l);if(u==="treasury_promo_card")return $s(g,u,l,c,m);if(u==="information_card")return Be(void 0,"Completed",_e,u,l);if(u===X)return zs(l);{const h=o.find(p=>p?.reportId===u);return h?function(p,f,S,E){const v=p.reportId;switch(v){case"card_balance":case"cash_balance":return[Ys(p,f,S,v,E)];case"expense_automation_card":case"operating_expenses":case"revenue":case"top_expenses":case"cash_position":case"cash_in_cash_out":case"insights_dashboard":case"company_details":case"task_card":case"bill_pay_card":case"reimbursement_card":case"net_burn_or_income":case"accounts_payable_aging":case"accounts_receivable_aging":case"zeni_accounts_promo_card":case"rewards_card":return[Be(p,f,S,v,E)];case"net_burn_or_income_story_card":return[Be(p,f,S,"net_burn_or_income_story_card",E)];default:return console.error(`card type ${v} not yet supported!`),[]}}(h,h.fetchState,_e,l):[]}}).flat();return a.isSummaryCardsFiltered===!0&&(C=C.filter(u=>Vs.includes(u.card.cardType)==0).filter(u=>{const l=u.data?.availableNumberOfPeriods;return l!=null?l>0:u.card.cardType!="top_expenses"||u.data==null||function(h){if(h==null||h.length===0)return!0;let p=!0;for(const f of h)if(f.balance.available.amount!==0){p=!1;break}return p}(u.data.topExpenses.accountsOrdered)===!1})),{cardDataArray:C,autoCompleteData:{autoCompleteText:e.entityAutoCompleteState.autoCompleteText.navbar,entityAutoCompleteView:ce(e,"navbar")},analytics:T,isReimbursementEnabled:a.isReimbursementEnabled,isBillPayEnabled:a.isBillPayEnabled}},function(e,a){const t=a.tenantId,n=M.getSignedInUser();return{cardActions:{onCardClick:(o,r,s,i)=>{if(console.warn(`onCardClick at ${o} for the type ${r}`),r==="zeni_promo_card"&&i!=null)T.trackDashboardCardClicked("cards promo",2),T.trackZeniCardsPromoCardClicked(a.isChargeCardFeatureEnabled,i,2,`${n?.firstName??""} ${n?.lastName??""}`,a.isChargeCardFeatureEnabled?a.cardsCreditLimit:void 0),i==="Learn More"?window.open("https://www.zeni.ai/product/business-credit-card","_blank"):a.navigate("../cards/promo",{relative:"path"});else if(a.isForecastOn)switch(r){case"net_burn_or_income":case"operating_expenses":case"revenue":a.navigate(`${r}/forecast/${a.selectedForecastOnDashboard}`,{state:{referrer:s}});break;default:a.navigate(`${r}`,{state:{referrer:s}})}else r==="rewards_card"?(n!=null&&T.trackDashboardCardClicked("rewards promo",o+1),a.navigate("../../rewards/refer",{state:{referrer:s}})):r==="expense_automation_card"?(T.trackMonthEndCloseClicked(a.selectedPeriod.month,a.selectedPeriod.year,"Dashboard"),a.navigate("../../month_end_close_checks/review",{state:{referrer:"Dashboard"}})):a.navigate(`${r}`,{state:{referrer:s}})},onReloadData:(o,r)=>{const s=[];a.isApAgingFeatureEnabled===!1&&s.push("accounts_payable_aging"),a.isArAgingFeatureEnabled===!1&&s.push("accounts_receivable_aging"),a.isZeniAccountEnabled===!1&&s.push("zeni_accounts_promo_card"),a.isRewardsFeatureEnabled===!1&&s.push("rewards_card"),function(i,c,m,g){if(c!==X)switch(c){case"card_balance":i(pa());break;case"cash_balance":i(ua());break;case"operating_expenses":i(wa(!0));break;case"revenue":i(Da(!0));break;case"net_burn_or_income":i(xa(!0));break;case"net_burn_or_income_story_card":i(Ro(!0));break;case"cash_position":i(Ta(!0));break;case"top_expenses":i(Ea());break;case"cash_in_cash_out":i(Ia());break;case"insights_dashboard":i(Fo());break;case"bill_pay_card":i(Po());break;case"reimbursement_card":i(Oo());break;case"company_details":i(wo(m));break;case"task_card":i(Do());break;case"accounts_payable_aging":g.includes("accounts_payable_aging")===!1&&i(_t(xe()));break;case"accounts_receivable_aging":i(kt(xe()));break;case"zeni_accounts_promo_card":g.includes("zeni_accounts_promo_card")===!1&&i(ma());break;case"rewards_card":g.includes("rewards_card")===!1&&i(xo(!0));break;default:throw new Error(`report type ${c} is not yet supported`)}}(e,r,a.companyId,s)},onTimeframeChange:(o,r)=>{T.trackTimeframeSwitch(Ya(r),qs(o),"Dashboard"),function(s,i,c){switch(i){case"operating_expenses":case"revenue":case"net_burn_or_income":case"cash_position":s(De(c));break;case"top_expenses":s(Aa(c));break;default:throw new Error(`report type ${i} doesn't support changeTimeframe`)}}(e,o,r)},onUpdateSelectedInsightIndex:o=>{e(To(o))},onCategoryClick:(o,r,s)=>{o==="bill-pay"?a.navigate("../bills",{state:{tab:r,subTab:s},relative:"path"}):o==="reimbursement"?a.navigate("../reimbursements",{state:{tab:r,subTab:s},relative:"path"}):o==="uncategorized-account-mapping"?a.navigate("../settings/accounting",{relative:"path"}):o==="show-all-tasks"?a.navigate("../tasks",{relative:"path"}):a.navigate(`../../transactions/${o}`)},onCardBtnClick:(o,r)=>{if(o==="bill_pay_promo_card"){const s="../bills",i=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i},relative:"path"})}else if(o==="reimbursement_promo_card"){const s="../reimbursements",i=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i},relative:"path"})}else if(o==="zeni_accounts_promo_card")if(a.hasZeniAccountsAdminAccess){let s="../checking/promo";r!=null&&(s=`../checking/${r}`);const i=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i},relative:"path"})}else window.open("https://www.zeni.ai/product/business-checking-accounts","_blank");else if(o==="treasury_promo_card")if(a.isUserHasTreasuryAccess){M.saveTreasuryPopupSeen(a.tenantEmailDomain,!0);const s="../treasury",i=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i},relative:"path"})}else window.open("https://www.zeni.ai/product/treasury","_blank")},onSaveClick:(o,r,s)=>{o==="net_burn_or_income_story_card"&&(T.trackUpdateBurnRateCalculatorSettings(r,s,Io(s)),e(Eo(t,r,s)))},onVideoPlay:()=>{e(ut())},onRemindMeLaterClick:()=>{e(Ao())},onDontShowAgainClick:()=>{e(ut())},onIntroOutsideClick:()=>{a.isTreasuryPromoIntroClosedByOutsideClick===!0&&a.isTreasuryPromoVideoPlayed!==!0?e(ut()):e(vo())}},autoCompleteActions:{onAutoCompleteInputChange:o=>{o.trim().length>=2?e(le({searchString:o,searchOrigin:"navbar"})):o.trim().length===0&&e(J("navbar"))},onCancelAutoComplete:()=>{e(J("navbar"))},onAutoCompleteEntity:o=>{let r="";r=o.type!=="vendor"||o.detailType!=="bank_merchant"&&o.detailType!=="card_merchant"?ue(o,a.tenantEmailDomain):ts(o.zeniId,o.qboId,a.tenantEmailDomain);const s=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(r,{state:{pathnameStackToGoBack:s,referrer:"Search"}})}}}})(es);function Zs(){const e=ia(),a=Ra(),t=La(a),{isAiCfoOpen:n,setIsAiCfoOpen:o,setAiCfoSidePanelQuestionToSubmit:r}=Fa(),s=W(),i=z(),c=H(),m=M.getSignedInUser(),{useFeatureGate:g,useDynamicConfig:C}=Se(),[u,l]=b.useState(!1),[h,p]=b.useState(!1),f=Ba(),{tenantEmailDomain:S}=K(),{isAiCfoAccessEnabled:E,onAskAiCfoClick:v}=ae({mobileExploreReferrer:"Dashboard"}),_=k(A=>A.tenantState.fetchState==="Completed"||A.tenantState.activeTenantFetchState.fetchState==="Completed"?L(A):void 0),x=_??M.getSignedInUserTenant(S),w=_?.masterTOSInfo?.isMasterTOSAccepted??!1,y=x.tenantId,I=x.companyId;b.useEffect(()=>{u===!1&&c.state?.message==="activation"&&(i(go(I)),l(!0))},[c.state,u,I,i]),b.useEffect(()=>{f&&!h&&c.state?.message==="open_ai_cfo_drawer"&&(p(!0),w?(o(!0),s({pathname:c.pathname,search:c.search,hash:c.hash},{replace:!0,state:{...c.state,message:void 0}})):se({location:c,navigate:s,mergeState:{referrer:"Dashboard",message:void 0}}))},[c,h,f,w,o,s]);const{isFeatureEnabled:U}=g(B.isApAgingFeatureEnabled),{isFeatureEnabled:ne}=g(B.isExpenseAutomationEnabled),{isFeatureEnabled:ze}=g(B.isExpenseAutomationEnabledV2),me=Zo(),{isFeatureEnabled:Ke}=g(B.isTreasuryEnabled),F=qo(me),{isFeatureEnabled:oe}=g(B.isArAgingFeatureEnabled),{isFeatureEnabled:Pe}=g(B.isDepositAccountsFeatureEnabled),{isFeatureEnabled:Ze}=g(B.isReferralFeatureEnabled),{isFeatureEnabled:qa}=g(B.isChargeCardFeatureEnabled),{isFeatureEnabled:Qa}=g(B.isAiCfoFileUploadEnabled),{isFeatureEnabled:Ha}=g(B.isDashboardSidebarChristmasAnimationEnabled),{isFeatureEnabled:Wa}=g(B.isDashboardSidebarNewYearAnimationEnabled),{isFeatureEnabled:Xa}=g(B.aiAuditScorePercentage),{configValue:jt}=C(ja.zeniCardsConfig),Ja=jt.charge_card_cashback_rate_per_transaction==null?.0175:jt.charge_card_cashback_rate_per_transaction;if(c.state?.message==="activation"){const A=Qo(c.state?.pathnameStackToGoBack);s(c.pathname,{state:{...c.state,message:void 0,pathnameStackToGoBack:A.newStack}})}const[Mt,en]=b.useState(!1),[at,tn]=b.useState(!1);Ls("command+p, Control+p",A=>{tn(!at),A.preventDefault()},{enableOnContentEditable:!0,enableOnTags:["INPUT","SELECT","TEXTAREA"]},[at]);const Ut=_?.externalConnections?.accounting[0]?.isValid;if(m==null)throw Error("Can't access dashboard without signing in...");const pe=k(A=>L(A)?.excludedResources),an=k(A=>A.expenseAutomationViewState.selectedPeriodByTenantId),nn=!!_?.companyReimbursementInfo?.info?.isReimbursementEnabled,on=!!_?.companyBillPayInfo?.info?.isBillPayEnabled,sn=k(A=>A.treasurySetupViewState.treasuryFundsDetails).fetchStatus.fetchState,rn=_?.company!=null&&bo(_.company),nt=Ke&&rn,ot=ke(),cn=vt(ot?.loggedInUserRoleMap),V=[],Lt=pe?.resources?.find(A=>A.resource==="/reports/top_expenses")==null,ln=pe?.resources?.find(A=>A.resource==="/reports/task_card")==null,st=_?.userRole!=null&&Sa(_?.userRole),dn=pe?.resources?.find(A=>A.resource==="/bills")==null&&!st,un=pe?.resources?.find(A=>A.resource==="/reimbursements")==null,mn=Co(ot?.loggedInUserRoleMap),pn=_o(ot?.loggedInUserRoleMap),hn=_?.company?.companyChargeCardInfo?.chargeCardsCreditAccountLimit??0,fn=_?.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,gn=k(A=>A.treasurySetupViewState.treasuryFundsDetails).fundsDetails;Lt===!1&&V.push("top_expenses"),ln===!1&&V.push("task_card"),dn===!1&&V.push("bill_pay_card","bill_pay_promo_card"),U===!1&&V.push("accounts_payable_aging"),oe===!1&&V.push("accounts_receivable_aging"),(me===!1||st)&&V.push("expense_automation_card"),un===!1&&V.push("reimbursement_card","reimbursement_promo_card"),Pe===!1&&V.push("zeni_accounts_promo_card"),Ze===!1&&V.push("rewards_card"),nt===!1&&V.push("treasury_promo_card");const{areTenantIdsInSync:Gt}=Ho();b.useLayoutEffect(()=>{Mt&&F===me||Ut!==!0||!Gt||pe?.fetchState!=="Completed"&&pe?.fetchState!=="Error"||(en(!0),i(ko(m.userId,I,y,!0,!1,V)))},[Mt,m,y,i,Lt,Ut,pe?.fetchState,Gt]);const bn=k(A=>A.reportUIOptionsState.forecastOnDashboard.isForecastModeOn),Cn=k(A=>A.revenueState.uiState.selectedForecast?.id),_n=k(A=>A.cardBalanceState.fetchState),he=k(A=>So(A,V,m,ze,ne,nt)),kn=he.fetchState,Sn=b.useMemo(()=>ra(he.cardsOrdered,E),[he.cardsOrdered,E]),yn=b.useMemo(()=>ra(he.cardsForDashboardUI,E),[he.cardsForDashboardUI,E]);Ve({isDataReady:!0});const{isSuggestedQuestionsLoading:vn,suggestedPromptQuestions:An}=ns(),rt=_?.isTreasuryPromoVideoPlayed===!0,Vt=_?.isTreasuryPromoVideoRemindMeLaterClicked===!0,Yt=_?.loginCounterForTreasuryPromoVideo??0,In=_?.isTreasuryPromoIntroClosedByOutsideClick===!0,Nt=k(A=>A.dashboardState.isTreasuryVideoClosed),$t=b.useMemo(()=>Wo({isTreasuryPromoVideoRemindMeLaterClicked:Vt,isTreasuryPromoVideoPlayed:rt,loginCounterForTreasuryPromoVideo:Yt,isTreasuryVideoClosed:Nt}),[Vt,rt,Yt,Nt]),zt=k(A=>ha(A)),ye=zt.uiState?.currentChatSessionId,it=zt.allSessionsWithOrderedQuestionAnswers??Gs,{currentSessionQuestionAnswers:En}=Xo(it,ye),Kt=En.length===0,Tn=b.useCallback((A,q,fe)=>{const ve=m?.userId;if(ve==null)return;const Y=A.trim();if(Y.length===0&&q.length===0)return;if(!w)return void se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}});const Q=Ma(e.getState()),Ae=()=>{const Ie=D(c.state?.pathnameStackToGoBack,c.pathname);s(`/${S}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:Ie,referrer:"Dashboard",aiCfoInitialQuestion:Y,aiCfoShouldSubmit:!Q&&Y.length>0,aiCfoInitialSubmissionSource:sa,...typeof fe=="number"?{aiCfoSuggestionIndex:fe}:{}}})};return t?q.length>0?void o(!0):void Ae():q.length>0?Q?(i(St(Y)),void o(!0)):(r(Y.length>0?Y:null),o(!0),void(Y.length>0&&Ua(i,Y,sa,ye,it,ve,fe,q.length>0?q:void 0))):(Q&&i(St(Y)),void Ae())},[it,ye,i,w,t,c,s,r,o,m?.userId,e,S]),xn=b.useCallback(()=>{w?o(!0):se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}})},[w,c,s,o]),Dn=b.useCallback(()=>{if(!w)return void se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}});if(S==null)return;const A=D(c.state?.pathnameStackToGoBack,c.pathname);s(`/${S}/ai-cfo/explore`,{state:{pathnameStackToGoBack:A,referrer:"Dashboard"}})},[w,c,s,S]),wn=b.useCallback(()=>{if(w)if(t){if(S==null||_==null)return;const A=ye==null||Kt?`/${S}/ai-cfo/explore`:`/${S}/ai-cfo/${ye}`,q=c.state?.pathnameStackToGoBack??[],fe=D(q,c.pathname);s(A,{state:{...c.state,pathnameStackToGoBack:fe,[Jo]:!0}})}else se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}});else se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}})},[w,t,c,s,S,_,ye,Kt]);return d.jsxs(d.Fragment,{children:[kn==="Completed"?d.jsx(Ye,{analytics:T,onLoad:A=>{A.trackPageLoaded(N.Event.dashboard),nt&&$t===!0&&A.trackTreasuryPromoView("Dashboard Promo Video")}}):null,d.jsx(Ks,{maxColumns:n?2:void 0,isAiCfoAccessEnabled:E,onAskAiCfoClick:v,onAiCfoDashboardOpenPanel:xn,onAiCfoDashboardOpenScopePage:wn,isAiCfoFileUploadEnabled:Qa===!0&&t===!1,onAiCfoDashboardPromptSubmit:Tn,onAiCfoDashboardExpandToFullPage:Dn,aiCfoDashboardSuggestedPromptQuestions:An,aiCfoDashboardSuggestedPromptQuestionsLoading:vn,onDragAndDropCard:(A,q)=>{if(A===X||q===X)return;const fe=function(Q,Ae,Ie){const ct=Ie.indexOf(Q),lt=Ie.indexOf(Ae);if(ct===-1||lt===-1||ct===lt)return Ie;const dt=[...Ie];return dt.splice(ct,1),dt.splice(lt,0,Q),dt}(A,q,Sn),ve=fe.filter(Q=>Q!==X),Y=he.cardsOrdered;(ve.length!==Y.length||ve.some((Q,Ae)=>Q!==Y[Ae]))&&i(yo(ve))},dashboardReport:he,passedCardsOrdered:yn,tenantId:y,companyId:I,tenantEmailDomain:S,location:c,navigate:s,isApAgingFeatureEnabled:U,isArAgingFeatureEnabled:oe,isBillPayEnabled:on,isReimbursementEnabled:nn,isSummaryCardsFiltered:at,isForecastOn:bn,selectedForecastOnDashboard:Cn,isVisitingFirstTime:u,isZeniAccountEnabled:Pe,isRewardsFeatureEnabled:Ze,hasZeniAccountsAdminAccess:cn,isExpenseAutomationEnabledForUser:me&&st===!1,selectedPeriod:an[y],isChargeCardFeatureEnabled:qa,isUserHasCardsAccess:mn,isUserHasTreasuryAccess:pn,cardsCreditLimit:hn,cashbackRate:Ja,isInterestedInChargeCard:fn,cardBalanceFetchState:_n,christmasAnimationEnabled:Ha,newYearAnimationEnabled:Wa,treasuryFundDetails:gn,shouldShowTreasuryPromoIntroVideo:$t,isTreasuryPromoVideoPlayed:rt,isTreasuryPromoIntroClosedByOutsideClick:In,treasuryFetchState:sn,aiAuditScorePercentageEnabled:Xa})]})}const qs=e=>{switch(e){case"operating_expenses":return"Operating Expenses";case"revenue":return"Revenues";case"top_expenses":return"Top Expenses";case"net_burn_or_income":return"Burn Rate";case"cash_in_cash_out":return"Cash In, Cash Out";case"cash_position":return"Cash Position"}return"Dashboard"},Qs=e=>e.fetchState!=="Error"?e.fetchState:e.reportsInOrder.map(a=>a.fetchState).reduce((a,t)=>a==="In-Progress"||a==="Not-Started"?a:t);function Ar(){const e=ke(),a=e?.excludedResources?.find(m=>m.resource==="/reports/top_expenses")==null,{useFeatureGate:t}=Se(),{isFeatureEnabled:n}=t(B.isApAgingFeatureEnabled),{isFeatureEnabled:o}=t(B.isArAgingFeatureEnabled),r=k(m=>L(m)),{isFeatureEnabled:s}=t(B.isDebitCardFeatureEnabled),i=Bo(s,r),c=jo(r);return i===!0||c===!0?d.jsx(Ct,{children:d.jsx(P,{path:"/*",element:d.jsx(os,{})})}):d.jsxs(Ct,{children:[d.jsx(P,{path:"/",element:d.jsx(Zs,{})}),d.jsx(P,{path:"cash_balance/*",element:d.jsx(Xt,{})}),d.jsx(P,{path:"card_balance/*",element:d.jsx(Xt,{})}),d.jsx(P,{path:"operating_expenses/*",element:d.jsx(re,{})}),d.jsx(P,{path:"operating_expenses/forecast/*",element:d.jsx(mt,{})}),d.jsx(P,{path:"revenue/forecast/*",element:d.jsx(mt,{})}),d.jsx(P,{path:"revenue/*",element:d.jsx(re,{})}),d.jsx(P,{path:"net_burn_or_income/forecast/*",element:d.jsx(mt,{})}),d.jsx(P,{path:"net_burn_or_income/*",element:d.jsx(re,{})}),n===!0&&d.jsxs(d.Fragment,{children:[d.jsx(P,{path:"accounts_payable_aging/*",element:d.jsx(is,{})}),d.jsx(P,{path:"accounts_payable_aging/:vendorId/:reportDate/*",element:d.jsx(rs,{})})]}),o&&d.jsxs(d.Fragment,{children:[d.jsx(P,{path:"accounts_receivable_aging/:customerId/:reportDate/*",element:d.jsx(cs,{})}),d.jsx(P,{path:"accounts_receivable_aging/*",element:d.jsx(ls,{})})]}),d.jsx(P,{path:"cash_position/*",element:d.jsx(re,{})}),d.jsx(P,{path:"top_expenses/*",element:a===!0?d.jsx(re,{}):d.jsx(Me,{})}),d.jsx(P,{path:"cash_in_cash_out/*",element:d.jsx(re,{})}),d.jsx(P,{path:"company_details",element:d.jsx(as,{})}),d.jsx(P,{path:"referrals/*",element:d.jsx(ss,{})}),d.jsx(P,{path:"*",element:d.jsx(Me,{})})]})}export{Ar as default};
|
|
20
|
+
`,Te=3,Rt=1;function Ms({fetchState:e,firstMonthOfFY:a,reportId:t,forecastId:n}){const o=W(),r=H(),{tenantEmailDomain:s}=K();let i;Ve({isDataReady:!0});const c={firstMonthOfFY:a,tenantEmailDomain:s,location:r,navigate:o,forecastIdFromUrlPath:n,fetchState:e};switch(t){case"operating_expenses":i=d.jsx(Ds,{...c});break;case"revenue":i=d.jsx(Ps,{...c});break;case"net_burn_or_income":i=d.jsx(Es,{...c});break;case"cash_position":i=d.jsx(As,{...c});break;case"top_expenses":i=d.jsx(Bs,{...c});break;case"cash_in_cash_out":i=d.jsx(_s,{...c});break;default:console.error(`${t} is not supported!`),i=null}return i!=null?d.jsx(js,{children:i}):null}function re(){const e=H(),a=z(),{forecastId:t}=K();let n="Not-Started";const o=_(l=>Dt(l).fetchState),r=_(l=>wt(l).fetchState),s=_(l=>vt(l).fetchState),i=_(l=>l.cashPositionState.fetchState),c=_(l=>l.topExState.fetchState),m=_(l=>l.cashInCashOutState.fetchState);if(M.getSignedInUser()==null)throw Error("Can't access dashboard detail without signing in...");const g=_(l=>U(l)),C=g?.company?.companyInfo?.firstMonthOfFY??1,u=la((l=>{const h=da(l,"/").split("/");return t!=null?h[h.length-3]:h[h.length-1]})(e.pathname));switch(u){case"operating_expenses":n=o;break;case"revenue":n=r;break;case"net_burn_or_income":n=s;break;case"cash_position":n=i;break;case"top_expenses":n=c;break;case"cash_in_cash_out":n=m;break;default:console.error(`${u} is not supported!`)}return b.useEffect(()=>{n==="Not-Started"&&function(l,h,p,f){switch(h){case"operating_expenses":l(wa(!0)),f!=null&&(l(Ee(p,!0,Te,{id:f,index:0})),l(_a(!1,f)));break;case"revenue":l(Da(!0)),f!=null&&(l(Ee(p,!0,Te,{id:f,index:0})),l(Aa(!1,f)));break;case"net_burn_or_income":l(xa(!0)),f!=null&&(l(Ee(p,!0,Te,{id:f,index:0})),l(Ca(!1,f)));break;case"cash_position":l(Ta(!0));break;case"top_expenses":l(Ea());break;case"cash_in_cash_out":l(Ia());break;default:throw new Error(`report type ${h} is not yet supported`)}}(a,u,C,t)},[t]),d.jsxs(d.Fragment,{children:[n==="Completed"?d.jsx(Ye,{analytics:T,onLoad:l=>((h,p)=>{const f=e.state?.referrer;switch(p){case"operating_expenses":h.trackPageLoaded(N.Event.operatingExpenses,f);break;case"revenue":h.trackPageLoaded(N.Event.revenues,f);break;case"net_burn_or_income":h.trackPageLoaded(N.Event.burnRate,f);break;case"cash_position":h.trackPageLoaded(N.Event.cashPosition,f);break;case"top_expenses":h.trackPageLoaded(N.Event.topExpenses,f);break;case"cash_in_cash_out":h.trackPageLoaded(N.Event.cashInCashOut,f);break;default:console.error(`Analytics: Not tracking Page Loaded for ${p}!`)}})(l,u)}):null,d.jsx(Ms,{firstMonthOfFY:C,fetchState:n,reportId:u,forecastId:t})]})}var pt=typeof navigator<"u"&&navigator.userAgent.toLowerCase().indexOf("firefox")>0;function ht(e,a,t,n){e.addEventListener?e.addEventListener(a,t,n):e.attachEvent&&e.attachEvent("on".concat(a),function(){t(window.event)})}function za(e,a){for(var t=a.slice(0,a.length-1),n=0;n<t.length;n++)t[n]=e[t[n].toLowerCase()];return t}function Ka(e){typeof e!="string"&&(e="");for(var a=(e=e.replace(/\s/g,"")).split(","),t=a.lastIndexOf("");t>=0;)a[t-1]+=",",a.splice(t,1),t=a.lastIndexOf("");return a}for(var Bt={backspace:8,tab:9,clear:12,enter:13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,del:46,delete:46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,num_0:96,num_1:97,num_2:98,num_3:99,num_4:100,num_5:101,num_6:102,num_7:103,num_8:104,num_9:105,num_multiply:106,num_add:107,num_enter:108,num_subtract:109,num_decimal:110,num_divide:111,"⇪":20,",":188,".":190,"/":191,"`":192,"-":pt?173:189,"=":pt?61:187,";":pt?59:186,"'":222,"[":219,"]":221,"\\":220},ie={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91},yt={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},j={16:!1,18:!1,17:!1,91:!1},R={},He=1;He<20;He++)Bt["f".concat(He)]=111+He;var O=[],Jt=!1,Za="all",ea=[],tt=function(e){return Bt[e.toLowerCase()]||ie[e.toLowerCase()]||e.toUpperCase().charCodeAt(0)};function ta(e){Za=e||"all"}function je(){return Za||"all"}var ft=function(e){var a=e.key,t=e.scope,n=e.method,o=e.splitKey,r=o===void 0?"+":o;Ka(a).forEach(function(s){var i=s.split(r),c=i.length,m=i[c-1],g=m==="*"?"*":tt(m);if(R[g]){t||(t=je());var C=c>1?za(ie,i):[];R[g]=R[g].filter(function(u){return!((!n||u.method===n)&&u.scope===t&&function(l,h){for(var p=l.length>=h.length?l:h,f=l.length>=h.length?h:l,S=!0,E=0;E<p.length;E++)f.indexOf(p[E])===-1&&(S=!1);return S}(u.mods,C))})}})};function aa(e,a,t,n){var o;if(a.element===n&&(a.scope===t||a.scope==="all")){for(var r in o=a.mods.length>0,j)Object.prototype.hasOwnProperty.call(j,r)&&(!j[r]&&a.mods.indexOf(+r)>-1||j[r]&&a.mods.indexOf(+r)===-1)&&(o=!1);(a.mods.length!==0||j[16]||j[18]||j[17]||j[91])&&!o&&a.shortcut!=="*"||a.method(e,a)===!1&&(e.preventDefault?e.preventDefault():e.returnValue=!1,e.stopPropagation&&e.stopPropagation(),e.cancelBubble&&(e.cancelBubble=!0))}}function na(e,a){var t=R["*"],n=e.keyCode||e.which||e.charCode;if(G.filter.call(this,e)){if(n!==93&&n!==224||(n=91),O.indexOf(n)===-1&&n!==229&&O.push(n),["ctrlKey","altKey","shiftKey","metaKey"].forEach(function(h){var p=yt[h];e[h]&&O.indexOf(p)===-1?O.push(p):!e[h]&&O.indexOf(p)>-1?O.splice(O.indexOf(p),1):h==="metaKey"&&e[h]&&O.length===3&&(e.ctrlKey||e.shiftKey||e.altKey||(O=O.slice(O.indexOf(p))))}),n in j){for(var o in j[n]=!0,ie)ie[o]===n&&(G[o]=!0);if(!t)return}for(var r in j)Object.prototype.hasOwnProperty.call(j,r)&&(j[r]=e[yt[r]]);e.getModifierState&&(!e.altKey||e.ctrlKey)&&e.getModifierState("AltGraph")&&(O.indexOf(17)===-1&&O.push(17),O.indexOf(18)===-1&&O.push(18),j[17]=!0,j[18]=!0);var s=je();if(t)for(var i=0;i<t.length;i++)t[i].scope===s&&(e.type==="keydown"&&t[i].keydown||e.type==="keyup"&&t[i].keyup)&&aa(e,t[i],s,a);if(n in R){for(var c=0;c<R[n].length;c++)if((e.type==="keydown"&&R[n][c].keydown||e.type==="keyup"&&R[n][c].keyup)&&R[n][c].key){for(var m=R[n][c],g=m.splitKey,C=m.key.split(g),u=[],l=0;l<C.length;l++)u.push(tt(C[l]));u.sort().join("")===O.sort().join("")&&aa(e,m,s,a)}}}}function G(e,a,t){O=[];var n=Ka(e),o=[],r="all",s=document,i=0,c=!1,m=!0,g="+",C=!1;for(t===void 0&&typeof a=="function"&&(t=a),Object.prototype.toString.call(a)==="[object Object]"&&(a.scope&&(r=a.scope),a.element&&(s=a.element),a.keyup&&(c=a.keyup),a.keydown!==void 0&&(m=a.keydown),a.capture!==void 0&&(C=a.capture),typeof a.splitKey=="string"&&(g=a.splitKey)),typeof a=="string"&&(r=a);i<n.length;i++)o=[],(e=n[i].split(g)).length>1&&(o=za(ie,e)),(e=(e=e[e.length-1])==="*"?"*":tt(e))in R||(R[e]=[]),R[e].push({keyup:c,keydown:m,scope:r,mods:o,shortcut:n[i],method:t,key:n[i],splitKey:g,element:s});s!==void 0&&!function(u){return ea.indexOf(u)>-1}(s)&&window&&(ea.push(s),ht(s,"keydown",function(u){na(u,s)},C),Jt||(Jt=!0,ht(window,"focus",function(){O=[]},C)),ht(s,"keyup",function(u){na(u,s),function(l){var h=l.keyCode||l.which||l.charCode,p=O.indexOf(h);if(p>=0&&O.splice(p,1),l.key&&l.key.toLowerCase()==="meta"&&O.splice(0,O.length),h!==93&&h!==224||(h=91),h in j)for(var f in j[h]=!1,ie)ie[f]===h&&(G[f]=!1)}(u)},C))}var gt={setScope:ta,getScope:je,deleteScope:function(e,a){var t,n;for(var o in e||(e=je()),R)if(Object.prototype.hasOwnProperty.call(R,o))for(t=R[o],n=0;n<t.length;)t[n].scope===e?t.splice(n,1):n++;je()===e&&ta(a||"all")},getPressedKeyCodes:function(){return O.slice(0)},isPressed:function(e){return typeof e=="string"&&(e=tt(e)),O.indexOf(e)!==-1},filter:function(e){var a=e.target||e.srcElement,t=a.tagName,n=!0;return!a.isContentEditable&&(t!=="INPUT"&&t!=="TEXTAREA"&&t!=="SELECT"||a.readOnly)||(n=!1),n},trigger:function(e){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"all";Object.keys(R).forEach(function(t){var n=R[t].find(function(o){return o.scope===a&&o.shortcut===e});n&&n.method&&n.method()})},unbind:function(e){if(e===void 0)Object.keys(R).forEach(function(s){return delete R[s]});else if(Array.isArray(e))e.forEach(function(s){s.key&&ft(s)});else if(typeof e=="object")e.key&&ft(e);else if(typeof e=="string"){for(var a=arguments.length,t=new Array(a>1?a-1:0),n=1;n<a;n++)t[n-1]=arguments[n];var o=t[0],r=t[1];typeof o=="function"&&(r=o,o=""),ft({key:e,scope:o,method:r,splitKey:"+"})}},keyMap:Bt,modifier:ie,modifierMap:yt};for(var bt in gt)Object.prototype.hasOwnProperty.call(gt,bt)&&(G[bt]=gt[bt]);if(typeof window<"u"){var Ls=window.hotkeys;G.noConflict=function(e){return e&&window.hotkeys===G&&(window.hotkeys=Ls),G},window.hotkeys=G}G.filter=function(){return!0};var oa=function(e,a){var t=e.target,n=t&&t.tagName;return!!(n&&a&&a.includes(n))};function Us(e,a,t,n){t instanceof Array&&(n=t,t=void 0);var o=t||{},r=o.enableOnTags,s=o.filter,i=o.keyup,c=o.keydown,m=o.filterPreventDefault,g=m===void 0||m,C=o.enabled,u=C===void 0||C,l=o.enableOnContentEditable,h=l!==void 0&&l,p=b.useRef(null),f=b.useCallback(function(S,E){var A,k;return s&&!s(S)?!g:!!(oa(S,["INPUT","TEXTAREA","SELECT"])&&!oa(S,r)||(A=S.target)!=null&&A.isContentEditable&&!h)||!!(p.current===null||document.activeElement===p.current||(k=p.current)!=null&&k.contains(document.activeElement))&&(a(S,E),!0)},n?[p,r,s].concat(n):[p,r,s]);return b.useEffect(function(){if(u)return i&&c!==!0&&(t.keydown=!1),G(e,t||{},f),function(){return G.unbind(e,f)};G.unbind(e,f)},[f,e,u]),p}G.isPressed;const Gs=[],sa="dashboard_card",X="ai_cfo_dashboard_card";function ra(e,a){return a?e.some(t=>String(t)===X)?e.slice():[X,...e]:e.filter(t=>String(t)!==X)}const Vs=["net_burn_or_income_story_card","cash_balance","task_card","card_balance","zeni_promo_card","insights_dashboard","information_card","company_details","bill_pay_promo_card","bill_pay_card","reimbursement_card","reimbursement_promo_card","zeni_accounts_promo_card","rewards_card","treasury_promo_card"],Ys=(e,a,t,n,o)=>({card:{dimension:et(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!1,spansFullDashboardWidth:!1},data:e.status!=null?{balanceAmount:e.balance?.available,lastUpdatedTime:e.status.lastRefreshSuccessTime,changePercent:e.balance?.change?.percent,changeComparedToDate:e.balance?.change?.since}:void 0}),Be=(e,a,t,n,o)=>({card:{dimension:et(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!1,spansFullDashboardWidth:!1},data:e}),Ns=(e,a,t,n)=>Be(void 0,e,ke,a,t),$s=(e,a,t,n,o)=>({card:{dimension:et(ke),cardType:a,cardIndex:t,fetchState:e,disableAnimations:!1,spansFullDashboardWidth:!1},data:{funds:n,shouldShowTreasuryPromoIntroVideo:o,videoUrl:"https://www.youtube.com/watch?v=sqvJWKCMZgk"}}),zs=e=>{const a=et(ke);return a.height=ke.height+10,{card:{dimension:a,cardType:X,cardIndex:e,fetchState:"Completed",disableAnimations:!1,spansFullDashboardWidth:!0}}},Ks=ee(function(e,a){const t=Qs(a.dashboardReport),n=a.passedCardsOrdered,o=a.dashboardReport.reportsInOrder,{isInterestedInChargeCard:r,cardsCreditLimit:s,cashbackRate:i,treasuryFundDetails:c,shouldShowTreasuryPromoIntroVideo:m,treasuryFetchState:g}=a;let C=n.map((u,l)=>{if(u==="reimbursement_promo_card"||u==="bill_pay_promo_card")return Ns(t,u,l);if(u==="zeni_promo_card")return Be({isExpressedInterest:r,creditLimit:s,cashbackRate:i,fetchState:"Completed"},a.cardBalanceFetchState,ke,u,l);if(u==="treasury_promo_card")return $s(g,u,l,c,m);if(u==="information_card")return Be(void 0,"Completed",ke,u,l);if(u===X)return zs(l);{const h=o.find(p=>p?.reportId===u);return h?function(p,f,S,E){const A=p.reportId;switch(A){case"card_balance":case"cash_balance":return[Ys(p,f,S,A,E)];case"expense_automation_card":case"operating_expenses":case"revenue":case"top_expenses":case"cash_position":case"cash_in_cash_out":case"insights_dashboard":case"company_details":case"task_card":case"bill_pay_card":case"reimbursement_card":case"net_burn_or_income":case"accounts_payable_aging":case"accounts_receivable_aging":case"zeni_accounts_promo_card":case"rewards_card":return[Be(p,f,S,A,E)];case"net_burn_or_income_story_card":return[Be(p,f,S,"net_burn_or_income_story_card",E)];default:return console.error(`card type ${A} not yet supported!`),[]}}(h,h.fetchState,ke,l):[]}}).flat();return a.isSummaryCardsFiltered===!0&&(C=C.filter(u=>Vs.includes(u.card.cardType)==0).filter(u=>{const l=u.data?.availableNumberOfPeriods;return l!=null?l>0:u.card.cardType!="top_expenses"||u.data==null||function(h){if(h==null||h.length===0)return!0;let p=!0;for(const f of h)if(f.balance.available.amount!==0){p=!1;break}return p}(u.data.topExpenses.accountsOrdered)===!1})),{cardDataArray:C,autoCompleteData:{autoCompleteText:e.entityAutoCompleteState.autoCompleteText.navbar,entityAutoCompleteView:ce(e,"navbar")},analytics:T,isReimbursementEnabled:a.isReimbursementEnabled,isBillPayEnabled:a.isBillPayEnabled}},function(e,a){const t=a.tenantId,n=M.getSignedInUser();return{cardActions:{onCardClick:(o,r,s,i)=>{if(console.warn(`onCardClick at ${o} for the type ${r}`),r==="zeni_promo_card"&&i!=null)T.trackDashboardCardClicked("cards promo",2),T.trackZeniCardsPromoCardClicked(a.isChargeCardFeatureEnabled,i,2,`${n?.firstName??""} ${n?.lastName??""}`,a.isChargeCardFeatureEnabled?a.cardsCreditLimit:void 0),i==="Learn More"?window.open("https://www.zeni.ai/product/business-credit-card","_blank"):a.navigate("../cards/promo",{relative:"path"});else if(a.isForecastOn)switch(r){case"net_burn_or_income":case"operating_expenses":case"revenue":a.navigate(`${r}/forecast/${a.selectedForecastOnDashboard}`,{state:{referrer:s}});break;default:a.navigate(`${r}`,{state:{referrer:s}})}else r==="rewards_card"?(n!=null&&T.trackDashboardCardClicked("rewards promo",o+1),a.navigate("../../rewards/refer",{state:{referrer:s}})):r==="expense_automation_card"?(T.trackMonthEndCloseClicked(a.selectedPeriod.month,a.selectedPeriod.year,"Dashboard"),a.navigate("../../month_end_close_checks/review",{state:{referrer:"Dashboard"}})):a.navigate(`${r}`,{state:{referrer:s}})},onReloadData:(o,r)=>{const s=[];a.isApAgingFeatureEnabled===!1&&s.push("accounts_payable_aging"),a.isArAgingFeatureEnabled===!1&&s.push("accounts_receivable_aging"),a.isZeniAccountEnabled===!1&&s.push("zeni_accounts_promo_card"),a.isRewardsFeatureEnabled===!1&&s.push("rewards_card"),function(i,c,m,g){if(c!==X)switch(c){case"card_balance":i(pa());break;case"cash_balance":i(ua());break;case"operating_expenses":i(wa(!0));break;case"revenue":i(Da(!0));break;case"net_burn_or_income":i(xa(!0));break;case"net_burn_or_income_story_card":i(Ro(!0));break;case"cash_position":i(Ta(!0));break;case"top_expenses":i(Ea());break;case"cash_in_cash_out":i(Ia());break;case"insights_dashboard":i(Fo());break;case"bill_pay_card":i(Po());break;case"reimbursement_card":i(Oo());break;case"company_details":i(wo(m));break;case"task_card":i(Do());break;case"accounts_payable_aging":g.includes("accounts_payable_aging")===!1&&i(kt(xe()));break;case"accounts_receivable_aging":i(_t(xe()));break;case"zeni_accounts_promo_card":g.includes("zeni_accounts_promo_card")===!1&&i(ma());break;case"rewards_card":g.includes("rewards_card")===!1&&i(xo(!0));break;default:throw new Error(`report type ${c} is not yet supported`)}}(e,r,a.companyId,s)},onTimeframeChange:(o,r)=>{T.trackTimeframeSwitch(Ya(r),qs(o),"Dashboard"),function(s,i,c){switch(i){case"operating_expenses":case"revenue":case"net_burn_or_income":case"cash_position":s(De(c));break;case"top_expenses":s(va(c));break;default:throw new Error(`report type ${i} doesn't support changeTimeframe`)}}(e,o,r)},onUpdateSelectedInsightIndex:o=>{e(To(o))},onCategoryClick:(o,r,s)=>{o==="bill-pay"?a.navigate("../bills",{state:{tab:r,subTab:s},relative:"path"}):o==="reimbursement"?a.navigate("../reimbursements",{state:{tab:r,subTab:s},relative:"path"}):o==="uncategorized-account-mapping"?a.navigate("../settings/accounting",{relative:"path"}):o==="show-all-tasks"?a.navigate("../tasks",{relative:"path"}):a.navigate(`../../transactions/${o}`)},onCardBtnClick:(o,r)=>{if(o==="bill_pay_promo_card"){const s="../bills",i=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i},relative:"path"})}else if(o==="reimbursement_promo_card"){const s="../reimbursements",i=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i},relative:"path"})}else if(o==="zeni_accounts_promo_card")if(a.hasZeniAccountsAdminAccess){let s="../checking/promo";r!=null&&(s=`../checking/${r}`);const i=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i},relative:"path"})}else window.open("https://www.zeni.ai/product/business-checking-accounts","_blank");else if(o==="treasury_promo_card")if(a.isUserHasTreasuryAccess){M.saveTreasuryPopupSeen(a.tenantEmailDomain,!0);const s="../treasury",i=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i},relative:"path"})}else window.open("https://www.zeni.ai/product/treasury","_blank")},onSaveClick:(o,r,s)=>{o==="net_burn_or_income_story_card"&&(T.trackUpdateBurnRateCalculatorSettings(r,s,Io(s)),e(Eo(t,r,s)))},onVideoPlay:()=>{e(ut())},onRemindMeLaterClick:()=>{e(vo())},onDontShowAgainClick:()=>{e(ut())},onIntroOutsideClick:()=>{a.isTreasuryPromoIntroClosedByOutsideClick===!0&&a.isTreasuryPromoVideoPlayed!==!0?e(ut()):e(Ao())}},autoCompleteActions:{onAutoCompleteInputChange:o=>{o.trim().length>=2?e(le({searchString:o,searchOrigin:"navbar"})):o.trim().length===0&&e(J("navbar"))},onCancelAutoComplete:()=>{e(J("navbar"))},onAutoCompleteEntity:o=>{let r="";r=o.type!=="vendor"||o.detailType!=="bank_merchant"&&o.detailType!=="card_merchant"?ue(o,a.tenantEmailDomain):ts(o.zeniId,o.qboId,a.tenantEmailDomain);const s=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(r,{state:{pathnameStackToGoBack:s,referrer:"Search"}})}}}})(es);function Zs(){const e=ia(),a=Ra(),t=Ua(a),{isAiCfoOpen:n,setIsAiCfoOpen:o,setAiCfoSidePanelQuestionToSubmit:r}=Fa(),s=W(),i=z(),c=H(),m=M.getSignedInUser(),{useFeatureGate:g,useDynamicConfig:C}=Se(),[u,l]=b.useState(!1),[h,p]=b.useState(!1),f=Ba(),{tenantEmailDomain:S}=K(),{isAiCfoAccessEnabled:E,onAskAiCfoClick:A}=ae({mobileExploreReferrer:"Dashboard"}),k=_(v=>v.tenantState.fetchState==="Completed"||v.tenantState.activeTenantFetchState.fetchState==="Completed"?U(v):void 0),x=k??M.getSignedInUserTenant(S),w=k?.masterTOSInfo?.isMasterTOSAccepted??!1,y=x.tenantId,I=x.companyId;b.useEffect(()=>{u===!1&&c.state?.message==="activation"&&(i(go(I)),l(!0))},[c.state,u,I,i]),b.useEffect(()=>{f&&!h&&c.state?.message==="open_ai_cfo_drawer"&&(p(!0),w?(o(!0),s({pathname:c.pathname,search:c.search,hash:c.hash},{replace:!0,state:{...c.state,message:void 0}})):se({location:c,navigate:s,mergeState:{referrer:"Dashboard",message:void 0}}))},[c,h,f,w,o,s]);const{isFeatureEnabled:L}=g(B.isApAgingFeatureEnabled),{isFeatureEnabled:ne}=g(B.isExpenseAutomationEnabled),{isFeatureEnabled:ze}=g(B.isExpenseAutomationEnabledV2),me=Zo(),{isFeatureEnabled:Ke}=g(B.isTreasuryEnabled),F=qo(me),{isFeatureEnabled:oe}=g(B.isArAgingFeatureEnabled),{isFeatureEnabled:Pe}=g(B.isDepositAccountsFeatureEnabled),{isFeatureEnabled:Ze}=g(B.isReferralFeatureEnabled),{isFeatureEnabled:qa}=g(B.isChargeCardFeatureEnabled),{isFeatureEnabled:Qa}=g(B.isAiCfoFileUploadEnabled),{isFeatureEnabled:Ha}=g(B.isDashboardSidebarChristmasAnimationEnabled),{isFeatureEnabled:Wa}=g(B.isDashboardSidebarNewYearAnimationEnabled),{isFeatureEnabled:Xa}=g(B.aiAuditScorePercentage),{configValue:jt}=C(ja.zeniCardsConfig),Ja=jt.charge_card_cashback_rate_per_transaction==null?.0175:jt.charge_card_cashback_rate_per_transaction;if(c.state?.message==="activation"){const v=Qo(c.state?.pathnameStackToGoBack);s(c.pathname,{state:{...c.state,message:void 0,pathnameStackToGoBack:v.newStack}})}const[Mt,en]=b.useState(!1),[at,tn]=b.useState(!1);Us("command+p, Control+p",v=>{tn(!at),v.preventDefault()},{enableOnContentEditable:!0,enableOnTags:["INPUT","SELECT","TEXTAREA"]},[at]);const Lt=k?.externalConnections?.accounting[0]?.isValid;if(m==null)throw Error("Can't access dashboard without signing in...");const pe=_(v=>U(v)?.excludedResources),an=_(v=>v.expenseAutomationViewState.selectedPeriodByTenantId),nn=!!k?.companyReimbursementInfo?.info?.isReimbursementEnabled,on=!!k?.companyBillPayInfo?.info?.isBillPayEnabled,sn=_(v=>v.treasurySetupViewState.treasuryFundsDetails).fetchStatus.fetchState,rn=k?.company!=null&&bo(k.company),nt=Ke&&rn,ot=_e(),cn=At(ot?.loggedInUserRoleMap),V=[],Ut=pe?.resources?.find(v=>v.resource==="/reports/top_expenses")==null,ln=pe?.resources?.find(v=>v.resource==="/reports/task_card")==null,st=k?.userRole!=null&&Sa(k?.userRole),dn=pe?.resources?.find(v=>v.resource==="/bills")==null&&!st,un=pe?.resources?.find(v=>v.resource==="/reimbursements")==null,mn=Co(ot?.loggedInUserRoleMap),pn=ko(ot?.loggedInUserRoleMap),hn=k?.company?.companyChargeCardInfo?.chargeCardsCreditAccountLimit??0,fn=k?.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,gn=_(v=>v.treasurySetupViewState.treasuryFundsDetails).fundsDetails;Ut===!1&&V.push("top_expenses"),ln===!1&&V.push("task_card"),dn===!1&&V.push("bill_pay_card","bill_pay_promo_card"),L===!1&&V.push("accounts_payable_aging"),oe===!1&&V.push("accounts_receivable_aging"),(me===!1||st)&&V.push("expense_automation_card"),un===!1&&V.push("reimbursement_card","reimbursement_promo_card"),Pe===!1&&V.push("zeni_accounts_promo_card"),Ze===!1&&V.push("rewards_card"),nt===!1&&V.push("treasury_promo_card");const{areTenantIdsInSync:Gt}=Ho();b.useLayoutEffect(()=>{Mt&&F===me||Lt!==!0||!Gt||pe?.fetchState!=="Completed"&&pe?.fetchState!=="Error"||(en(!0),i(_o(m.userId,I,y,!0,!1,V)))},[Mt,m,y,i,Ut,Lt,pe?.fetchState,Gt]);const bn=_(v=>v.reportUIOptionsState.forecastOnDashboard.isForecastModeOn),Cn=_(v=>v.revenueState.uiState.selectedForecast?.id),kn=_(v=>v.cardBalanceState.fetchState),he=_(v=>So(v,V,m,ze,ne,nt)),_n=he.fetchState,Sn=b.useMemo(()=>ra(he.cardsOrdered,E),[he.cardsOrdered,E]),yn=b.useMemo(()=>ra(he.cardsForDashboardUI,E),[he.cardsForDashboardUI,E]);Ve({isDataReady:!0});const{isSuggestedQuestionsLoading:An,suggestedPromptQuestions:vn}=ns(),rt=k?.isTreasuryPromoVideoPlayed===!0,Vt=k?.isTreasuryPromoVideoRemindMeLaterClicked===!0,Yt=k?.loginCounterForTreasuryPromoVideo??0,In=k?.isTreasuryPromoIntroClosedByOutsideClick===!0,Nt=_(v=>v.dashboardState.isTreasuryVideoClosed),$t=b.useMemo(()=>Wo({isTreasuryPromoVideoRemindMeLaterClicked:Vt,isTreasuryPromoVideoPlayed:rt,loginCounterForTreasuryPromoVideo:Yt,isTreasuryVideoClosed:Nt}),[Vt,rt,Yt,Nt]),zt=_(v=>ha(v)),ye=zt.uiState?.currentChatSessionId,it=zt.allSessionsWithOrderedQuestionAnswers??Gs,{currentSessionQuestionAnswers:En}=Xo(it,ye),Kt=En.length===0,Tn=b.useCallback((v,q,fe)=>{const Ae=m?.userId;if(Ae==null)return;const Y=v.trim();if(Y.length===0&&q.length===0)return;if(!w)return void se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}});const Q=Ma(e.getState()),ve=()=>{const Ie=D(c.state?.pathnameStackToGoBack,c.pathname);s(`/${S}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:Ie,referrer:"Dashboard",aiCfoInitialQuestion:Y,aiCfoShouldSubmit:!Q&&Y.length>0,aiCfoInitialSubmissionSource:sa,...typeof fe=="number"?{aiCfoSuggestionIndex:fe}:{}}})};return t?q.length>0?void o(!0):void ve():q.length>0?Q?(i(St(Y)),void o(!0)):(r(Y.length>0?Y:null),o(!0),void(Y.length>0&&La(i,Y,sa,ye,it,Ae,fe,q.length>0?q:void 0))):(Q&&i(St(Y)),void ve())},[it,ye,i,w,t,c,s,r,o,m?.userId,e,S]),xn=b.useCallback(()=>{w?o(!0):se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}})},[w,c,s,o]),Dn=b.useCallback(()=>{if(!w)return void se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}});if(S==null)return;const v=D(c.state?.pathnameStackToGoBack,c.pathname);s(`/${S}/ai-cfo/explore`,{state:{pathnameStackToGoBack:v,referrer:"Dashboard"}})},[w,c,s,S]),wn=b.useCallback(()=>{if(w)if(t){if(S==null||k==null)return;const v=ye==null||Kt?`/${S}/ai-cfo/explore`:`/${S}/ai-cfo/${ye}`,q=c.state?.pathnameStackToGoBack??[],fe=D(q,c.pathname);s(v,{state:{...c.state,pathnameStackToGoBack:fe,[Jo]:!0}})}else se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}});else se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}})},[w,t,c,s,S,k,ye,Kt]);return d.jsxs(d.Fragment,{children:[_n==="Completed"?d.jsx(Ye,{analytics:T,onLoad:v=>{v.trackPageLoaded(N.Event.dashboard),nt&&$t===!0&&v.trackTreasuryPromoView("Dashboard Promo Video")}}):null,d.jsx(Ks,{maxColumns:n?2:void 0,isAiCfoAccessEnabled:E,onAskAiCfoClick:A,onAiCfoDashboardOpenPanel:xn,onAiCfoDashboardOpenScopePage:wn,isAiCfoFileUploadEnabled:Qa===!0&&t===!1,onAiCfoDashboardPromptSubmit:Tn,onAiCfoDashboardExpandToFullPage:Dn,aiCfoDashboardSuggestedPromptQuestions:vn,aiCfoDashboardSuggestedPromptQuestionsLoading:An,onDragAndDropCard:(v,q)=>{if(v===X||q===X)return;const fe=function(Q,ve,Ie){const ct=Ie.indexOf(Q),lt=Ie.indexOf(ve);if(ct===-1||lt===-1||ct===lt)return Ie;const dt=[...Ie];return dt.splice(ct,1),dt.splice(lt,0,Q),dt}(v,q,Sn),Ae=fe.filter(Q=>Q!==X),Y=he.cardsOrdered;(Ae.length!==Y.length||Ae.some((Q,ve)=>Q!==Y[ve]))&&i(yo(Ae))},dashboardReport:he,passedCardsOrdered:yn,tenantId:y,companyId:I,tenantEmailDomain:S,location:c,navigate:s,isApAgingFeatureEnabled:L,isArAgingFeatureEnabled:oe,isBillPayEnabled:on,isReimbursementEnabled:nn,isSummaryCardsFiltered:at,isForecastOn:bn,selectedForecastOnDashboard:Cn,isVisitingFirstTime:u,isZeniAccountEnabled:Pe,isRewardsFeatureEnabled:Ze,hasZeniAccountsAdminAccess:cn,isExpenseAutomationEnabledForUser:me&&st===!1,selectedPeriod:an[y],isChargeCardFeatureEnabled:qa,isUserHasCardsAccess:mn,isUserHasTreasuryAccess:pn,cardsCreditLimit:hn,cashbackRate:Ja,isInterestedInChargeCard:fn,cardBalanceFetchState:kn,christmasAnimationEnabled:Ha,newYearAnimationEnabled:Wa,treasuryFundDetails:gn,shouldShowTreasuryPromoIntroVideo:$t,isTreasuryPromoVideoPlayed:rt,isTreasuryPromoIntroClosedByOutsideClick:In,treasuryFetchState:sn,aiAuditScorePercentageEnabled:Xa})]})}const qs=e=>{switch(e){case"operating_expenses":return"Operating Expenses";case"revenue":return"Revenues";case"top_expenses":return"Top Expenses";case"net_burn_or_income":return"Burn Rate";case"cash_in_cash_out":return"Cash In, Cash Out";case"cash_position":return"Cash Position"}return"Dashboard"},Qs=e=>e.fetchState!=="Error"?e.fetchState:e.reportsInOrder.map(a=>a.fetchState).reduce((a,t)=>a==="In-Progress"||a==="Not-Started"?a:t);function vr(){const e=_e(),a=e?.excludedResources?.find(m=>m.resource==="/reports/top_expenses")==null,{useFeatureGate:t}=Se(),{isFeatureEnabled:n}=t(B.isApAgingFeatureEnabled),{isFeatureEnabled:o}=t(B.isArAgingFeatureEnabled),r=_(m=>U(m)),{isFeatureEnabled:s}=t(B.isDebitCardFeatureEnabled),i=Bo(s,r),c=jo(r);return i===!0||c===!0?d.jsx(Ct,{children:d.jsx(P,{path:"/*",element:d.jsx(os,{})})}):d.jsxs(Ct,{children:[d.jsx(P,{path:"/",element:d.jsx(Zs,{})}),d.jsx(P,{path:"cash_balance/*",element:d.jsx(Xt,{})}),d.jsx(P,{path:"card_balance/*",element:d.jsx(Xt,{})}),d.jsx(P,{path:"operating_expenses/*",element:d.jsx(re,{})}),d.jsx(P,{path:"operating_expenses/forecast/*",element:d.jsx(mt,{})}),d.jsx(P,{path:"revenue/forecast/*",element:d.jsx(mt,{})}),d.jsx(P,{path:"revenue/*",element:d.jsx(re,{})}),d.jsx(P,{path:"net_burn_or_income/forecast/*",element:d.jsx(mt,{})}),d.jsx(P,{path:"net_burn_or_income/*",element:d.jsx(re,{})}),n===!0&&d.jsxs(d.Fragment,{children:[d.jsx(P,{path:"accounts_payable_aging/*",element:d.jsx(is,{})}),d.jsx(P,{path:"accounts_payable_aging/:vendorId/:reportDate/*",element:d.jsx(rs,{})})]}),o&&d.jsxs(d.Fragment,{children:[d.jsx(P,{path:"accounts_receivable_aging/:customerId/:reportDate/*",element:d.jsx(cs,{})}),d.jsx(P,{path:"accounts_receivable_aging/*",element:d.jsx(ls,{})})]}),d.jsx(P,{path:"cash_position/*",element:d.jsx(re,{})}),d.jsx(P,{path:"top_expenses/*",element:a===!0?d.jsx(re,{}):d.jsx(Me,{})}),d.jsx(P,{path:"cash_in_cash_out/*",element:d.jsx(re,{})}),d.jsx(P,{path:"company_details",element:d.jsx(as,{})}),d.jsx(P,{path:"referrals/*",element:d.jsx(ss,{})}),d.jsx(P,{path:"*",element:d.jsx(Me,{})})]})}export{vr as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as v}from"./liveblocks-
|
|
1
|
+
import{j as v}from"./liveblocks-evjZPqs_.js";import{a as u}from"./sentry-CCZGmBkl.js";import{u as y,j as b,n as w,g as A,N as L}from"./core-DmAftQ4g.js";import{LR as N,eW as _,f$ as R,LS as U,o7 as k,LT as z}from"./zeni-epic-state-vtQ66nN6.js";import{u as O,z as f,L as T,t as I,O as $,b as j}from"./index-DsVH62ZK.js";import"./mui-PcDpEhsm.js";import{t as P}from"./getLocaleForTenant-C55KVru2.js";import"./recharts-CgEqsrFw.js";import"./analytics-DCrhd8oB.js";import"./plaid-DSnXUEUK.js";import"./dnd-3F1D24DQ.js";import"./stripe-DMRn4zHo.js";import"./lottie-CmTLY-9t.js";import"./lexical-PVlNGkpS.js";import"./pdf-CbXlPYUs.js";import"./utils--mWNe9J7.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},s=new t.Error().stack;s&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[s]="3b50d821-589c-4a01-b747-dcaf08ff4190",t._sentryDebugIdIdentifier="sentry-dbid-3b50d821-589c-4a01-b747-dcaf08ff4190")}catch{}})();const Q=w(function(t){return{fetchState:t.tenantState.fetchState,activeTenantFetchState:t.tenantState.activeTenantFetchState.fetchState,currentTenant:_(t),tenantsInOrder:z(t).tenantsInOrder}})(function({fetchState:t,activeTenantFetchState:s,currentTenant:o,tenantsInOrder:h}){const r=A(),p=new URLSearchParams(r.search);if(o==null||t!=="Completed"&&s!=="Completed")return null;{let m="";const n=h.map(l=>l.tenantEmailDomain),i=r.state?.origin,a=r.state?.queryParams;let c=`../${o.tenantEmailDomain}`,d=null,e=!1,g=null,S=null;const C=E(r.pathname);if(C!=null)c=`../${o.tenantEmailDomain}/${C}`,m="comingFromV2UrlPath",C==="ai-cfo/explore"&&(d=p.get("question")?.replace(/^["']|["']$/g,"")??null,e=p.get("should_submit")==="true");else if(i!=null)if(n.reduce((l,F)=>l||i.split("/").find(D=>D===F)!=null,!1))c=i,i.includes("ai-cfo")&&a!=null&&(g=a.aiCfoRef??null,S=a.aiCfoEmailRefId??null);else{const l=E(i);l!=null?(c=`../${o.tenantEmailDomain}/${l}`,m="comingFromV2UrlPath",l==="ai-cfo/explore"&&a!=null&&(a.aiCfoQuestion!=null&&(d=a.aiCfoQuestion),a.aiCfoShouldSubmit==="true"&&(e=!0))):console.warn("Don't have access to previous path tenant!")}const x=j(c,p);return v.jsx(L,{to:x,replace:!0,state:{...r.state,origin:"",message:m,aiCfoInitialQuestion:d,aiCfoShouldSubmit:e,aiCfoRef:g,aiCfoEmailRefId:S}})}});function oe(){const t=y(),{setLoading:s,clearAllLoading:o}=O(),h=u.useRef(!1),r=u.useRef(!1),p=u.useRef(null),m=b(e=>N(e)),n=b(e=>e.tenantState.fetchState),i=b(e=>e.tenantState.error),a=b(e=>e.tenantState.activeTenantFetchState.fetchState),c=b(e=>_(e)),d=f.getSignedInUser();return u.useLayoutEffect(()=>{const e=f.getActiveTenantForUser()?.tenantId??null;p.current!==e&&(p.current=e,h.current=!1,r.current=!1,s(T.TENANT_FETCHING)),!h.current||a!=="Completed"&&a!=="Error"||(h.current=!1),!r.current||n!=="Completed"&&n!=="Error"||(r.current=!1)},[a,n]),u.useEffect(()=>{const e=f.getActiveTenantForUser()?.tenantId;h.current===!1&&d!=null&&e!=null&&I.shouldFetchActiveTenant(e)&&(h.current=!0,I.markActiveTenantFetchStarted(e),n==="Completed"||a!=="Not-Started"&&a!=="Error"||(s(T.TENANT_FETCHING),t(R(d.userId,e))))},[n,a,d,t]),u.useEffect(()=>{const e=f.getSignedInUser(),g=f.getActiveTenantForUser()?.tenantId,S=g==null||a==="Completed"||a==="Error";r.current===!1&&e!=null&&S&&I.shouldFetchAllTenants()&&(r.current=!0,I.markAllTenantsFetchStarted(),(n==="Not-Started"||n==="Error"&&!U(i))&&t(k(e.userId)))},[n,a,i,d,t]),u.useEffect(()=>{f.isSignedIn()&&n==="Completed"&&m.tenantsCoreDetailsInOrder.length>0&&(f.saveSignedInUserTenants(m.tenantsCoreDetailsInOrder),o())},[m.tenantsCoreDetailsInOrder,n]),u.useEffect(()=>{!f.isSignedIn()||n!=="Completed"&&a!=="Completed"||c==null||($.updateAppLocaleID(P(c)),o())},[n,a,c]),v.jsx(Q,{})}const q=["dashboard/cash-balance","dashboard/card-balance","dashboard/operating-expenses","dashboard/revenue","dashboard/burn-rate","dashboard/cash-position","dashboard/top-expenses","dashboard/cash-in-cash-out","dashboard","reports","forecast","uncategorized-expense","uncategorized-income","missing-receipts","bills","cards/activate","cards","reimbursements","wise","checking","aicfo"],G={"dashboard/cash-balance":"dashboard/cash_balance","dashboard/card-balance":"dashboard/card_balance","dashboard/operating-expenses":"dashboard/operating_expenses","dashboard/revenue":"dashboard/revenue","dashboard/burn-rate":"dashboard/net_burn_or_income","dashboard/cash-position":"dashboard/cash_position","dashboard/top-expenses":"dashboard/top_expenses","dashboard/cash-in-cash-out":"dashboard/cash_in_cash_out",dashboard:"dashboard",reports:"reports",forecast:"forecast","uncategorized-expense":"transactions/uncategorized-expense","uncategorized-income":"transactions/uncategorized-income","missing-receipts":"transactions/missing-receipts",bills:"bills",reimbursements:"reimbursements","cards/activate":"cards/activate",cards:"cards",wise:"bills/wise/callback/link-account",checking:"checking",aicfo:"ai-cfo/explore"};function E(t){for(const s of q)if(t.toLocaleLowerCase().includes(s))return G[s]}export{oe as default};
|