@zeniai/web-app-ui 5.0.95-qa → 5.0.97-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-CGWqKw2A.js +1 -0
- package/dist/assets/AddressScreen-DgW0r12j.js +9 -0
- package/dist/assets/AiCfoScreen-mpMOsrgh.js +22 -0
- package/dist/assets/{BillPayApprovalRoutes-DLpMtIRS.js → BillPayApprovalRoutes-CuO1OyTh.js} +1 -1
- package/dist/assets/{BillPayRoutes-B5l3Tw20.js → BillPayRoutes-CVK-SvP3.js} +17 -17
- package/dist/assets/BusinessVerificationPageScreen-BYdF1bHH.js +9 -0
- package/dist/assets/ChargeCardRoutes-BnLL7Oh9.js +71 -0
- package/dist/assets/CompanyPassportScreen-CurP8P_r.js +1 -0
- package/dist/assets/ConnectionAuthScreen-XYG9quUc.js +11 -0
- package/dist/assets/CustomerOnboardingAuthScreen-DkpxqvRp.js +1 -0
- package/dist/assets/CustomerOnboardingRoutes-XzuPwC7t.js +23 -0
- package/dist/assets/DashboardRoutes-aXE6eRUn.js +20 -0
- package/dist/assets/{DefaultTenantHome-DPWdITeE.js → DefaultTenantHome-D8TLMGvX.js} +1 -1
- package/dist/assets/DomesticWireDetailScreen-BaXgsKL_.js +18 -0
- package/dist/assets/DrawerScreen-Cl15MV8E.js +1 -0
- package/dist/assets/EntityDetailRoutes-DzGzpMa5.js +1 -0
- package/dist/assets/ExpenseAutomationRoutes-BcjfN0Ju.js +25 -0
- package/dist/assets/FeaturePreviewScreen-D6uCQjjF.js +1 -0
- package/dist/assets/HubSpotOAuthCallbackScreen-B2Lq1erT.js +1 -0
- package/dist/assets/MagicLinkRoutes-Krl3LdoK.js +72 -0
- package/dist/assets/MagicLinkSignInScreen-AmlbZLoQ.js +12 -0
- package/dist/assets/MobileAppDrawer-CIFLBMnG.js +1 -0
- package/dist/assets/NotFoundScreen-6s-CV-uJ.js +1 -0
- package/dist/assets/NotificationRoutes-sNkUDoB9.js +1 -0
- package/dist/assets/OAuthConsentScreen-DnssIj9h.js +1 -0
- package/dist/assets/PandLWithForecastRoutes-e4NHYCVg.js +1 -0
- package/dist/assets/PeopleRoutes-D22bF149.js +22 -0
- package/dist/assets/PerformanceRoutes-CeJDOkS_.js +1 -0
- package/dist/assets/{Preview-DVbW5PS-.js → Preview-CnNge2qE.js} +1 -1
- package/dist/assets/{QBOConnectionScreen-DckktUOs.js → QBOConnectionScreen-4k7XqHlG.js} +1 -1
- package/dist/assets/ReferralListScreen-CKP-RqZB.js +5 -0
- package/dist/assets/ReimbursementApprovalRoutes-CWQE-ocg.js +1 -0
- package/dist/assets/{ReimbursementApprovalRuleDetailScreen-BK03a97e.js → ReimbursementApprovalRuleDetailScreen-Dgpqad5D.js} +1 -1
- package/dist/assets/{ReimbursementRoutes-BOTzgYhv.js → ReimbursementRoutes-Cd4dr8g5.js} +6 -6
- package/dist/assets/ReportsRoutes-C1JCi0DK.js +1 -0
- package/dist/assets/RewardsRoutes-C04DC-zn.js +1 -0
- package/dist/assets/ScreenRoutes-BdDWctgF.js +2 -0
- package/dist/assets/{SettingsRoutes-DOALXrsx.js → SettingsRoutes-ClBKtlV1.js} +8 -8
- package/dist/assets/{SetupPagesScreen-BYhmd0-N.js → SetupPagesScreen-ISYmAXSw.js} +5 -5
- package/dist/assets/SignInScreen-DbrQdSIc.js +1 -0
- package/dist/assets/SignOutScreen-tN2xKweR.js +9 -0
- package/dist/assets/TaskListScreen-CcxsLxWY.js +9 -0
- package/dist/assets/TaskRoutes-BlNcUUfL.js +9 -0
- package/dist/assets/TransactionDetailRoutes-Bptrg1f9.js +1 -0
- package/dist/assets/TransactionDetailScreen-DxF4bkB2.js +5 -0
- package/dist/assets/TransactionListRoutes-HDLI794m.js +1 -0
- package/dist/assets/TreasuryRoutes-VXqomRCb.js +37 -0
- package/dist/assets/{VendorsRoutes-D8t3eTpL.js → VendorsRoutes-Q2QOh8Cr.js} +21 -21
- package/dist/assets/WiseConfirmationScreen-DrnQduD4.js +12 -0
- package/dist/assets/{ZeniAccountRoutes-BhbbjK45.js → ZeniAccountRoutes-B0GIox14.js} +12 -12
- package/dist/assets/ZeniAccountStatementScreen-DAHwiVMm.js +9 -0
- package/dist/assets/{accountMappingHelper-DdryjbCH.js → accountMappingHelper-Bvkx36I4.js} +1 -1
- package/dist/assets/{analytics-B35UERag.js → analytics-CAylLTML.js} +1 -1
- package/dist/assets/{analyticsHelper-Cnf9wNpk.js → analyticsHelper-CnKhOE0J.js} +1 -1
- package/dist/assets/{core-B20PugrR.js → core-DPuoDz-C.js} +2 -2
- package/dist/assets/{decodeURIComponentSafe-HZX6LUOb.js → decodeURIComponentSafe-CoP-62fa.js} +1 -1
- package/dist/assets/{dnd-CTNaOehy.js → dnd-DoKiSnu1.js} +1 -1
- package/dist/assets/{empty-DqPV1QMu.js → empty-CqLohdTd.js} +1 -1
- package/dist/assets/{empty-DbjE3Pml.js → empty-Dya-tSOZ.js} +1 -1
- package/dist/assets/{emptyVideoElement-D5A8Alvf.js → emptyVideoElement-DN0XgSVD.js} +1 -1
- package/dist/assets/epic-nb_4clnc.js +2 -0
- package/dist/assets/getLocaleForTenant-Cv1qkYRT.js +1 -0
- package/dist/assets/{index-Dh7l3Ca4.js → index-8sAtTwXX.js} +1 -1
- package/dist/assets/{index-BJUGjRvu.js → index-BJ1_hb4m.js} +1 -1
- package/dist/assets/{index-Dx-tgz0s.js → index-CIJ8oTsb.js} +1 -1
- package/dist/assets/{index-DwJt1swd.js → index-CiNh7iF3.js} +1 -1
- package/dist/assets/{index-DDN5QRfh.js → index-D00upk1h.js} +2 -2
- package/dist/assets/{index-DODLcfP6.js → index-DFMBbjjX.js} +1 -1
- package/dist/assets/{index-CtCI_jgi.js → index-DPfZNvSx.js} +15801 -15966
- package/dist/assets/{index-qbNk-Sh2.js → index-D_RleLEr.js} +1 -1
- package/dist/assets/{lexical-BDpP_OMn.js → lexical-By4mk6_c.js} +1 -1
- package/dist/assets/{liveblocks-BSDLCmF2.js → liveblocks-oJncKqAM.js} +1 -1
- package/dist/assets/{lottie-DG71PfmK.js → lottie-DF3afs57.js} +1 -1
- package/dist/assets/{mui-BBkBdMVO.js → mui-CvBhrbbU.js} +1 -1
- package/dist/assets/{pathToGoBack-BJj5tqvK.js → pathToGoBack-BsOMzCPN.js} +1 -1
- package/dist/assets/{pdf-Cp8DoYAG.js → pdf-ZStfwNCw.js} +3 -3
- package/dist/assets/{pdf-lib-BqwRJQ00.js → pdf-lib-Cz_8yjsc.js} +1 -1
- package/dist/assets/{plaid-DHvUog4a.js → plaid-B5RWvsAl.js} +1 -1
- package/dist/assets/{pusher-DsZLo3j0.js → pusher-CBx-MkLq.js} +1 -1
- package/dist/assets/{react-DpONCvOo.js → react-B9yLfzkL.js} +1 -1
- package/dist/assets/{react-BPL_4xi4.js → react-BYV_Q7yH.js} +1 -1
- package/dist/assets/{react-BUTkVbbW.js → react-CDIoRxEm.js} +1 -1
- package/dist/assets/{react-zGcoIiO8.js → react-CX37p-_t.js} +1 -1
- package/dist/assets/{react-D4RyndA4.js → react-Cru1b7DY.js} +1 -1
- package/dist/assets/{react-Uu6ZW5p-.js → react-DWAXaztH.js} +1 -1
- package/dist/assets/{recharts-BzjcN9SN.js → recharts-8icy_MRK.js} +2 -2
- package/dist/assets/routePaths-C0C2W8XC.js +1 -0
- package/dist/assets/{sentry-67DqaLi1.js → sentry-Wbq0JKts.js} +1 -1
- package/dist/assets/{url-DgheZiFv.js → url-ByM-m_3z.js} +1 -1
- package/dist/assets/{url-D5ovKX_j.js → url-DJu6Grkr.js} +1 -1
- package/dist/assets/useAskAiCfoHostNavButtonProps-Dp2Xhyb6.js +1 -0
- package/dist/assets/{useDeviceId-CZrGGxHD.js → useDeviceId-B67Wr9jV.js} +1 -1
- package/dist/assets/useFetchSuggestedQuestionsWhenReady-eIU3TXlQ.js +1 -0
- package/dist/assets/{useInitialThreadRequest-CHUXHA4e.js → useInitialThreadRequest-OlVGnbEH.js} +1 -1
- package/dist/assets/{utils-C7uJ9upL.js → utils-BQwNg4C5.js} +1 -1
- package/dist/assets/withTransactionSidePanel-D14NyE9e.js +21 -0
- package/dist/assets/zeni-epic-state-DxdjrTbG.js +13 -0
- package/dist/index.html +1 -1
- package/package.json +4 -5
- package/dist/assets/AddressRoutes-CjTHTSuI.js +0 -1
- package/dist/assets/AddressScreen-CqBa6_-n.js +0 -9
- package/dist/assets/AiCfoScreen-BXUvjbhu.js +0 -22
- package/dist/assets/BusinessVerificationPageScreen-CSKO8lFK.js +0 -9
- package/dist/assets/ChargeCardRoutes-jWkInVo_.js +0 -71
- package/dist/assets/CompanyPassportScreen-CKvp1ssr.js +0 -1
- package/dist/assets/ConnectionAuthScreen-B4RQUYL_.js +0 -11
- package/dist/assets/CustomerOnboardingAuthScreen-BGqU9gPw.js +0 -1
- package/dist/assets/CustomerOnboardingRoutes-Dr5zRy1K.js +0 -23
- package/dist/assets/DashboardRoutes-pJhHX-2b.js +0 -20
- package/dist/assets/DomesticWireDetailScreen-SKLAPI0e.js +0 -18
- package/dist/assets/DrawerScreen-D5UV8-Be.js +0 -1
- package/dist/assets/EntityDetailRoutes-gOpFte8h.js +0 -1
- package/dist/assets/ExpenseAutomationRoutes-ARewAzCQ.js +0 -25
- package/dist/assets/FeaturePreviewScreen-CWGIZoD1.js +0 -1
- package/dist/assets/HubSpotOAuthCallbackScreen-DZdAM3r7.js +0 -1
- package/dist/assets/MagicLinkRoutes-GUUoK2nF.js +0 -72
- package/dist/assets/MagicLinkSignInScreen-Im4VESmI.js +0 -12
- package/dist/assets/MobileAppDrawer-DjZLcHYq.js +0 -1
- package/dist/assets/NotFoundScreen-GGUH6kfI.js +0 -1
- package/dist/assets/NotificationRoutes-BoplnVa2.js +0 -1
- package/dist/assets/OAuthConsentScreen-DxwRtYz2.js +0 -1
- package/dist/assets/PandLWithForecastRoutes-D8O3Fecf.js +0 -1
- package/dist/assets/PeopleRoutes-DreG0KS5.js +0 -22
- package/dist/assets/PerformanceRoutes-BWWDxy3D.js +0 -1
- package/dist/assets/ReferralListScreen-deq5DiBs.js +0 -5
- package/dist/assets/ReimbursementApprovalRoutes-XhXfCwat.js +0 -1
- package/dist/assets/ReportsRoutes-d5fJ62NK.js +0 -1
- package/dist/assets/RewardsRoutes-C4s9WH-A.js +0 -1
- package/dist/assets/ScreenRoutes-D5644a5x.js +0 -2
- package/dist/assets/SignInScreen-CLFmIoF3.js +0 -1
- package/dist/assets/SignOutScreen-GZOa1gnF.js +0 -9
- package/dist/assets/TaskListScreen-DXLUHaMY.js +0 -9
- package/dist/assets/TaskRoutes-CBpVhxjZ.js +0 -9
- package/dist/assets/TransactionDetailRoutes-BM0mSWXo.js +0 -1
- package/dist/assets/TransactionDetailScreen-Mjv-0Vsi.js +0 -5
- package/dist/assets/TransactionListRoutes-DX4_qMdv.js +0 -1
- package/dist/assets/TreasuryRoutes-33SOS81s.js +0 -37
- package/dist/assets/WiseConfirmationScreen-C9nK-3Oh.js +0 -12
- package/dist/assets/ZeniAccountStatementScreen-BSfOyBC_.js +0 -9
- package/dist/assets/epic-C05Fn23e.js +0 -2
- package/dist/assets/getLocaleForTenant-DX4sTRBy.js +0 -1
- package/dist/assets/routePaths-Bd-gFJIO.js +0 -1
- package/dist/assets/useAiCfoDashboardSuggestedQuestionsChips-CjjIkZeq.js +0 -1
- package/dist/assets/useAskAiCfoHostNavButtonProps-CMgniebB.js +0 -1
- package/dist/assets/withTransactionSidePanel-KXh--JtC.js +0 -21
- package/dist/assets/zeni-epic-state-B3AwsZqW.js +0 -13
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import{j as s}from"./liveblocks-oJncKqAM.js";import{j as le,l as ia,h as ue,g as y,u as fe,k as pe,N as fa,q as ut,n as Wt,o as te}from"./core-DPuoDz-C.js";import{eQ as ie,bs as Re,O_ as ka,eU as be,eV as ye,eW as Se,fR as Ge,cs as ze,O$ as Ye,P0 as Ma,tn as ba,jK as ya,P1 as Sa,gO as oa,zR as Je,zT as $a,zU as Ga,jA as mt,P2 as Ze,zF as Ct,P3 as qt,P4 as Qt,zI as Da,P5 as Xt,Nq as _a,rz as pt,zO as za,gZ as Jt,P6 as ht,P7 as Ke,bq as en,P8 as an,fC as Pa,fB as wa,Am as tn,fA as Ta,N6 as nn,P9 as gt,cl as ft,cN as rn,Np as da,AY as sn,Pa as tt,Ay as Fa,Pb as bt,AZ as on,NR as cn,A_ as dn,BU as ln,sJ as un,BO as mn,A7 as yt,A0 as Cn,Pc as pn,fT as hn,Ag as St,Ak as It,fS as gn,Pd as fn,AK as At,Pe as bn,Pf as yn,Pg as Sn,Ai as Et,A3 as kt,zL as Dt,Ac as _t,Aa as Pt,Ae as In,zS as nt,Ph as wt,Pi as va,Av as Ia,K5 as Tt,cO as Ya,Pj as An,Pk as En,Pl as kn,Pm as Dn,As as Na,AR as _n,AN as Pn,Ao as wn,AP as Tn,AF as Fn,AH as vn,Pn as Ft,AX as vt,Ht as xn,Po as Bn,Pp as Ln,Pq as Un,Pr as xt,Ps as Rn,Bi as On,Ax as Bt,Ar as ca,Aw as jn,Pt as Nn,Pu as Vn,zC as Hn,Pv as Lt,Pw as Ut,Px as Mn,zE as $n,zD as rt,Py as Gn,Pz as zn,PA as Yn,K1 as Zn,PB as Za,PC as Kn,wd as Rt,ki as Wn,gP as qn,Bn as Qn,PD as Ot,PE as Xn,Bo as Jn,PF as er,df as ar,th as tr,Bd as nr,B7 as Ue,bv as rr,bF as sr,cx as or,bG as cr,Jd as ir}from"./zeni-epic-state-DxdjrTbG.js";import{z as J,c as je,y as ce,S as Y,x as la,bY as xa,c7 as dr,p as ve,c8 as lr,c9 as ur,Z as ua,aK as Fe,n as ge,bf as Ka,ca as mr,E as ma,h as Ba,m as Wa,d as Q,D as qa,cb as Cr,an as Qa,br as Qe,cc as Va,cd as pr,A as Xa,a3 as hr,ce as gr,aq as jt,Y as Ha,T as Nt,f as Vt,cf as fr,cg as br,ch as yr,ci as Sr,cj as Ir,ck as Ar,o as Aa,cl as Er,cm as kr,cn as Ra,v as Dr,co as _r,cp as Pr,cq as wr,cr as Tr,cs as Fr,a6 as vr}from"./index-DPfZNvSx.js";import{n as _e,D as Ht,S as xr}from"./mui-CvBhrbbU.js";import{a as i}from"./sentry-Wbq0JKts.js";import{g as Ce,a as Ca,b as Mt,c as Ie,d as Ae,e as Oe,f as Ne,A as Br,h as Ja,P as Lr,i as et,s as Xe,j as $t,k as Me,l as Gt,m as Ur,n as zt,p as Rr,S as st}from"./SetupPagesScreen-ISYmAXSw.js";import La from"./NotFoundScreen-6s-CV-uJ.js";import{M as $e}from"./MobileAppDrawer-CIFLBMnG.js";import{u as Yt}from"./useAskAiCfoHostNavButtonProps-Dp2Xhyb6.js";import{c as Zt}from"./useFetchSuggestedQuestionsWhenReady-eIU3TXlQ.js";import{v as ot}from"./utils-BQwNg4C5.js";import{t as Or}from"./AddressScreen-DgW0r12j.js";import"./recharts-8icy_MRK.js";import"./analytics-CAylLTML.js";import"./plaid-B5RWvsAl.js";import"./dnd-DoKiSnu1.js";import"./stripe-DMRn4zHo.js";import"./lottie-DF3afs57.js";import"./lexical-By4mk6_c.js";import"./pdf-ZStfwNCw.js";import"./analyticsHelper-CnKhOE0J.js";import"./routePaths-C0C2W8XC.js";import"./BusinessVerificationPageScreen-BYdF1bHH.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9a676abd-abdc-40ef-b681-ac2445e2d3ae",e._sentryDebugIdIdentifier="sentry-dbid-9a676abd-abdc-40ef-b681-ac2445e2d3ae")}catch{}})();function jr(){const e=le(),{cardId:t}=ia(),a=ue(),r=J.getSignedInUser(),n=y(X=>ie(X)),C=je(),p=Re(C?.loggedInUserRoleMap),{useFeatureGate:u}=ce();if(r==null)throw Error("Can't access Add To Wallet Page without signing in...");const[S,o]=i.useState(!1),c=y(X=>ka(X).firstViewAfterActivation);if(t==null)throw Error("Empty card id is not valid...");const _=n.userRole.includes("charge_card_user"),{isFeatureEnabled:A}=u(Y.isChargeCardFeatureEnabled),g=!!n.companyChargeCardInfo?.info?.isChargeCardEnabled,{isFeatureEnabled:R}=u(Y.isDebitCardFeatureEnabled),F=be(n),k=ye(n),h=Se(R,n),b=n.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,f=Ie({isDebitCardFeatureEnabled:R,isBankingOnlyTenant:h}),d=Ae({isCardsOnlyTenant:F,isChargeCardFeatureEnabled:A,isBookKeepingTenant:k,isDebitCardProductVisible:f,chargeCardsCreditAccountLimit:b}),D=!!n.companyDebitCardInfo?.info?.isDebitCardEnabled,v=y(X=>Ge(X,n.companyId)),N=ze(v.controllers),{creditAccount:L,creditAccountRepayment:w}=y(X=>Ye(X)),V=y(X=>X.classListState.fetchState),m=!_&&d&&g,l=y(X=>Ma(X,t,m,d)),[P,T]=i.useState(!1),H=l.chargeCard,U=H?.cardCreatedByUser?.userId,K=y(X=>U!=null?ba(X.userRoleState,U):void 0),I=K?.accountingClassIDs[0],B=y(X=>I!=null?ya(X.classState,{classId:I,reportId:"class_list"}):void 0),j=H?.cardHolderUser?.userId,O=y(X=>j!=null?ba(X.userRoleState,j):void 0),W=O?.accountingClassIDs[0],E=y(X=>W!=null?ya(X.classState,{classId:W,reportId:"class_list"}):void 0),z=H?.type.code==="business_physical_credit_card"||H?.type.code==="business_physical_debit_card",q=H?.type.code==="business_physical_debit_card";i.useEffect(()=>{c&&S===!1&&z&&(o(!0),setTimeout(()=>{a(Sa()),q&&a(oa({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))},5e3))},[c,S,z,q]),i.useEffect(()=>{P||l.fetchState==="Completed"||l.fetchState==="In-Progress"||t==null||(T(!0),a(Je(t,m,!1)))},[P,l,t,a]),i.useEffect(()=>{if(l.fetchState==="Completed"&&(z===!1||z&&H?.status?.code!=="active"||H?.cardHolderUserId!==r.userId||c===!1&&S===!1||H?.type.code==="business_physical_debit_card"||H?.type.code==="business_virtual_debit_card")){const X=Ce(n.tenantEmailDomain,t,r,H,c);e(X)}},[l.fetchState,c,z]),i.useEffect(()=>{L.fetchState!=="Completed"&&L.fetchState!=="In-Progress"&&d&&g&&p&&a($a()),w.fetchState!=="Completed"&&w.fetchState!=="In-Progress"&&d&&g&&p&&a(Ga()),V!=="Completed"&&V!=="In-Progress"&&a(mt())},[L.fetchState,w.fetchState,a,d,g,p,V]);const G=()=>{if(r!=null&&t!=null){a(Sa());const X=Ce(n.tenantEmailDomain,t,r);e(X)}},x=H?.type.code==="business_physical_debit_card"||H?.type.code==="business_virtual_debit_card",se=Oe(d,f,D,g),ae=Ca(d,g,p,L,w),ne=Mt(x,l);return l.fetchState!=="Completed"?s.jsx(la,{fetchState:"In-Progress"}):s.jsxs(s.Fragment,{children:[s.jsx(xa,{showConfetti:c}),s.jsx(dr,{onGotItClick:G,isDebitCard:H?.type.code==="business_physical_debit_card",controllerEmails:N,isChargeCardFeatureEnabled:d,isDebitCardFeatureEnabled:f,isDebitCardSetupEnabled:D,isChargeCardSetupEnabled:g,productInformation:se,creditAccountInformation:ae,debitAccountInformation:ne,chargeCardDetailView:l,creditAccount:L,classListFetchState:V,creditAccountRepayment:w,cardIssuedByRoles:K?.userRoles,cardIssuedByDepartmentName:B?.className,cardHolderRoles:O?.userRoles,cardHolderDepartmentName:E?.className})]})}const Nr=pe(function(e){const t=Ze(e);return{insightsData:t.insight,cashbackByPeriod:t.cashbackByPeriod,uiState:t.uiState,cashbackSummary:t.cashbackSummary}},function(e){return{onColumnSortConfigChanged:(t,a)=>{e(qt({uiState:{sortKey:t,sortOrder:a}}))}}})(ur);function Vr(){const e=le(),t=ue(),a=fe(),r=J.getSignedInUser(),n=y(o=>ie(o)),[C,p]=i.useState(!1),u=y(o=>Ze(o)),S=i.useCallback(()=>{const o=ve(a.state?.pathnameStackToGoBack),c=o.poppedPathname??Hr(n.tenantEmailDomain);e(c,{state:{pathnameStackToGoBack:o.newStack}})},[e,a,n.tenantEmailDomain]);if(i.useEffect(()=>{C||u.fetchState==="Completed"||u.fetchState==="In-Progress"||(p(!0),t(Ct()))},[C,u,t]),r==null)throw Error("Can't access cashback detail page without signing in...");return u.fetchState==="In-Progress"?s.jsx(lr,{onBackClick:S}):u.cashbackSummary.cashbackEarned.amount===0&&u.fetchState==="Completed"?s.jsx(La,{}):s.jsx(Nr,{onBackClick:S})}const Hr=e=>`/${e}/cards`,Mr={containerWidth:new ma(100,58)},$r=({appContent:e})=>{const t=ua(),a=ue(),r=le(),{cardId:n}=ia(),C=fe(),{useDynamicConfig:p}=ce(),[u,S]=i.useState(!1),[o,c]=i.useState(!1),[_,A]=i.useState(!1),[g,R]=i.useState(!1),F=J.getSignedInUser();if(F==null)throw Error("Can't access onboarding card page without signing in...");const k=y(E=>ie(E));if(n==null)throw Error("Empty card id is not valid...");const{configValue:h}=p(Fe.zeniCardsConfig),b=h.max_charge_card_activation_attempts_by_card_id,f=y(E=>Qt(E,n)),d=f.chargeCard,D=y(E=>E.chargeCardConfigState.fetchState),{useFeatureGate:v}=ce(),{isFeatureEnabled:N}=v(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:L}=v(Y.isDebitCardFeatureEnabled),w=Se(L,k),V=Ie({isDebitCardFeatureEnabled:L,isBankingOnlyTenant:w}),m=!!k.companyChargeCardInfo?.info?.isChargeCardEnabled,l=k.userRole.includes("charge_card_user"),P=be(k),T=ye(k),H=k.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,U=Ae({isCardsOnlyTenant:P,isChargeCardFeatureEnabled:N,isBookKeepingTenant:T,isDebitCardProductVisible:V,chargeCardsCreditAccountLimit:H}),K=!l&&U&&m;i.useEffect(()=>{u===!1&&D!=="In-Progress"&&D!=="Completed"&&(a(Da()),S(!0)),o===!1&&f.fetchState==="Not-Started"&&(c(!0),a(Je(n,K,U)))},[o,f.fetchState,u,D]);const I=d?.type.code==="business_physical_credit_card"||d?.type.code==="business_physical_debit_card";i.useEffect(()=>{if(f.fetchState==="Completed"){if(_===!1&&(I===!1||I&&d?.status?.code!=="inactive"||d?.cardHolderUserId!==F.userId)){const E=Ce(k.tenantEmailDomain,n,F,d,!0),z=ge(C.state?.pathnameStackToGoBack,C.pathname);r(E,{state:{pathnameStackToGoBack:z}})}else if(_&&f.isRefreshingViewInBackground===!1&&d?.status?.code==="active"){a(Xt({chargeCardId:n}));const E=Ce(k.tenantEmailDomain,n,F,d,!0),z=ge(C.state?.pathnameStackToGoBack,C.pathname);a(_a()),r(E,{state:{pathnameStackToGoBack:z}})}}},[f.fetchState,d?.type.code,_,f.isRefreshingViewInBackground]);const B=J.getZeniOtpTokenForCardHolder(n),j=y(E=>pt(E.userState,F.userId)),O=()=>{d?.status?.code!=="active"&&a(za(n,!0))};i.useEffect(()=>{f.updatePhysicalChargeCardAttemptFetchState.fetchState==="Completed"&&d?.cardActivationAttemptHistory.some(E=>E.statusCode==="success")===!0&&_===!1&&(setTimeout(O,3e3),A(!0))},[f.updatePhysicalChargeCardAttemptFetchState.fetchState,d?.cardActivationAttemptHistory]);const W=E=>{R(E)};if(D!=="Completed"||d==null)return s.jsx(la,{fetchState:"In-Progress"});if(d.shippingAddressId==null)throw Error("Can't access shippingAddressId.");if(j?.phone==null)throw Error("Can't access user phone number.");return s.jsxs(Yr,{children:[s.jsx($e,{isAppContentDrawerOpen:g,handleDrawerToggle:W}),s.jsx(Gr,{cardId:n,card:d,shippingAddressId:d.shippingAddressId,phone:j.phone,signedInUser:F,isSandboxEnv:Ka(),chargeCardDetailState:f,signedInUserToken:B,navigate:r,currentTenant:k,location:C,maxChargeCardActivationAttempts:b[n]!=null?b[n]:h.default_max_charge_card_activation_attempts!=null?h.default_max_charge_card_activation_attempts:3,chargeCardCashbackRatePerTransaction:h.charge_card_cashback_rate_per_transaction!=null?h.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{W(!0)}}),e!=null?s.jsx(zr,{windowSize:t,children:e}):null]})},Gr=pe(function(e,{chargeCardDetailState:t,shippingAddressId:a,location:r,cardId:n}){const C=Jt(e.addressState,a);if(C==null)throw Error("Can't access shippingAddress.");const p=ht(e,n),u=t.updateStatus,S=Ke(e,!1,!1,!1);let o=!1;S.fetchState==="Completed"&&S.cards.length<=1&&(o=!0);const c=r.state?.message==="comingFromV2UrlPath";return{showActivatePage:t.chargeCard?.providerCardCreateTime!=null&&t.chargeCard.providerCardCreateTime.add(24,"h").isBefore(en())||c,showMenuIcon:o,shippingAddress:C,vgsVaultId:Ba.cardVaultId,twoFAView:p,activationWaitStatus:u,isRefreshingViewInBackground:t.isRefreshingViewInBackground}},function(e,t){const{navigate:a,cardId:r,location:n,currentTenant:C,chargeCardDetailState:p}=t,u=p.chargeCard?.cardProviderID,{tenantEmailDomain:S}=C;return{onGetOtp:o=>{u!=null&&e(Ta(o,"ChargeCardHolder",r))},onUpdatePhysicalChargeCardAttempt:o=>{e(tn(r,o))},onResendOtp:o=>{u!=null&&e(wa(o,"ChargeCardHolder",r))},onVerifyOtp:(o,c)=>{u!=null&&e(Pa(o,c,"ChargeCardHolder",r))},onVerifyOtpSuccess:o=>{o!=null&&J.saveZeniOtpTokenForCardHolder(o,r)},onCVVActivateSuccess:()=>{e(an({chargeCardId:r}))},onBackClick:()=>{const o=ve(n.state?.pathnameStackToGoBack),c=o.poppedPathname==null||o.poppedPathname.includes("onboard")===!0?Ne(S):o.poppedPathname;a(c,{state:{pathnameStackToGoBack:o.newStack}})}}})(mr),zr=_e.div`
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
width: ${e=>`${Mr.containerWidth.value(e.windowSize)}%`};
|
|
5
|
+
${e=>e.windowSize!=="small"?"overflow: auto;":""}
|
|
6
|
+
`,Yr=_e.div`
|
|
7
|
+
display: flex;
|
|
8
|
+
min-height: 100%;
|
|
9
|
+
width: 100%;
|
|
10
|
+
flex: 1 1 auto;
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
align-items: center;
|
|
13
|
+
background-color: ${e=>e.theme.colors.grey4};
|
|
14
|
+
`,Ea=qa.getLocalizedStrings().dateFormat,Zr={overlayWidth:new ma(100,100,58)},Kr=pe(function(e,t){const a=t.currentTenant?.companyId;return{plaidConnectionDetails:cn(e,a,"zeni_accounts","external_account").plaidConnectionDetails,depositAccountListView:dn(e.depositAccountState,e.depositAccountListState)}},function(e,t){const{navigate:a,currentTenant:r,hasZeniAccountsAdminAccess:n,isZeniAccountsUser:C,isCashbackInfoFetchStateCompleted:p,isCreditCardInfoFetchStateCompleted:u,isDebitCardInfoFetchStateCompleted:S,controllerEmails:o,paymentDetails:c,productInformation:_,cashbackInformation:A,paymentSourceInformation:g,creditAccountInformation:R,debitAccountInformation:F,paymentInitiatedDate:k,sourcePage:h}=t,{tenantEmailDomain:b}=r;return{onBackNavigation:()=>{if(p&&u&&S&&A!=null&&Q.trackCardsPayEarlyFormClick(o,_,A,"Back",c.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:c.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:c.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:c.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:c.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:k?.add(3,"day").format(Ea.visual.MMMDCommaYYYYformat),paymentInitiatedDate:k?.format(Ea.visual.MMMDCommaYYYYformat)},g,R,F),h==="cardPaymentHistory")t.closeDrawerHandler(!0),e(bt());else{const f=Ne(b);a(f)}},onUpdatePaymentAccountStatus:(f,d,D)=>{e(mn(f,d,"bill_pay","bill_pay_detail",D))},onEstablishConnectionSuccess:()=>{e(Fa(r.companyId,!0))},onFetchLinkTokenClick:f=>{e(un("external_account",f))},onEstablishConnectionClick:f=>{e(ln(f,r.companyId,"charge_card_payment","charge_cards"))},onSignUpAccountClick:()=>{n?window.open(`/${b}/checking/promo`,"_blank"):window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")},onMoveMoneyClick:()=>{C?window.open(`/${b}/checking/transfer`):window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")}}})(Cr),at=({isPaymentDrawerOpen:e,closeDrawerHandler:t,pageName:a,creditAccountSpentAmount:r,productInformation:n,sourcePage:C,creditAccountInformation:p,debitAccountInformation:u,cashbackInformation:S,isDebitCardInfoFetchStateCompleted:o,isCreditCardInfoFetchStateCompleted:c,isCashbackInfoFetchStateCompleted:_,paymentInitiatedDate:A,retryRepayment:g})=>{const R=le(),{useDynamicConfig:F}=ce(),{configValue:k}=F(Fe.zeniAccountsConfig),h=nn(k),b=y(G=>gt(G)),{creditAccount:f}=y(G=>Ye(G)),d=y(G=>ie(G)),D=Wa(),v=ua(),N=ue(),L=J.getSignedInUser(),w=je(),[V,m]=i.useState(!1),[l,P]=i.useState(!1),{configValue:T}=F(Fe.zeniCardsConfig),H=T.credit_card_auto_pay_threshold_by_company_id?.[d.companyId]??T.default_credit_card_auto_pay_threshold??Br,U=ft(w?.loggedInUserRoleMap),K=rn(w?.loggedInUserRoleMap),I=!!d.companyZeniAccountInfo?.info?.isZeniAccountEnabled,B=y(G=>da(G,d.companyId)),j=B.companyChargeCardInfo?.primaryFundingAccount,O=B.allFundingAccounts.find(G=>G.id===j?.accountId),W=y(G=>Ge(G,d.companyId)),E=ze(W.controllers);i.useEffect(()=>{if(b.fetchState!=="Completed"&&b.fetchState!=="In-Progress"&&N(sn()),b.fetchState==="Completed"&&!l){const G=d.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,x=b.transferFromAccounts.find(ae=>ae.id===G);let se;if(C==="cardPaymentHistory"&&g){const ae=g.paymentAccountId!=null?b.transferFromAccounts.find(ne=>ne.id===g.paymentAccountId):void 0;se={amount:g.amount,isAutoRepayment:d.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:ot(),transferFrom:ae??x}}else se={amount:{amount:f.balance.amount+f.hold.amount,currencyCode:f.balance.currencyCode,currencySymbol:f.balance.currencySymbol},isAutoRepayment:d.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:ot(),transferFrom:x};N(tt(se)),P(!0)}},[b.fetchState,l,C,g,b.transferFromAccounts,d.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,d.companyChargeCardInfo?.info?.isAutoPayEnabled,f.balance.amount,f.balance.currencyCode,f.balance.currencySymbol,f.hold.amount,N]);const z={isZeniCheckingEnabled:d.companyZeniAccountInfo?.info?.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:O?.accType==="depositAccount",creditCardPaymentSourceAccountName:O?.label,creditCardPaymentSourceAccountType:O?.accType,creditCardPaymentSourceLastFourDigits:O?.accountLast4,creditCardPaymentSourceBalance:O?.accountBalance?.available?.amount??0};if(i.useEffect(()=>{B.fetchState!=="Completed"&&B.fetchState!=="In-Progress"&&N(Fa(d.companyId,!0))},[B.fetchState]),i.useEffect(()=>{b.updateStatus==="Completed"&&S!=null&&_&&c&&o&&Q.trackCardsPayEarlyPayNowClick(E,n,S,b.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:b.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:b.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:b.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:b.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:A?.add(3,"day").format(Ea.visual.MMMDCommaYYYYformat),paymentInitiatedDate:A?.format(Ea.visual.MMMDCommaYYYYformat)},z,p,u)},[b.updateStatus,S,_,c,o,A]),i.useEffect(()=>{b.fetchState==="Completed"&&S!=null&&_&&c&&o&&!V&&e&&l&&S!=null&&(Q.trackCardsPayEarlyFormView(E,n,S,a,d.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,f.balance.amount,z,p,u),m(!0))},[b,_,c,o,V,e,l]),L==null)throw Error("Can't access invite people page without signing in...");const q=()=>{t(!0),N(bt())};return s.jsx(s.Fragment,{children:s.jsx(Ht,{onClose:()=>{q()},anchor:"right",transitionDuration:250,open:e,PaperProps:{style:{width:Zr.overlayWidth.valuePercentage(v),boxShadow:"none"}},slotProps:{backdrop:{style:{backgroundColor:D.colors.black,opacity:.75,cursor:"pointer"}}},children:s.jsx(Wr,{onClick:G=>G.stopPropagation(),children:s.jsx(Kr,{closeDrawerHandler:t,navigate:R,paymentDetails:b,creditAccountSpentAmount:r,onTransferClick:()=>{_&&c&&o&&S!=null&&Q.trackCardsPayEarlyFormClick(E,n,S,"Pay Now",b.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:b.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:b.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:b.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:b.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:void 0,paymentInitiatedDate:void 0},z,p,u),N(on({companyId:d.companyId}))},onDismissClick:q,onSaveChangesToLocalStore:G=>{N(tt(G))},currentTenant:d,hasZeniAccountsAdminAccess:U,isZeniAccountsUser:K,isZeniAccountSetupEnabled:I,productInformation:n,sourcePage:C,controllerEmails:E,autoPayThreshold:H,paymentSourceInformation:z,creditAccountInformation:p,debitAccountInformation:u,cashbackInformation:S,isCashbackInfoFetchStateCompleted:_,isCreditCardInfoFetchStateCompleted:c,isDebitCardInfoFetchStateCompleted:o,paymentInitiatedDate:A,maxInsuredAmount:h.maxInsuredAmount})})})})},Wr=_e(xr)`
|
|
15
|
+
display: flex;
|
|
16
|
+
min-height: 100%;
|
|
17
|
+
flex-direction: column;
|
|
18
|
+
`,Kt="charge-card-transaction-update",Oa=qa.getLocalizedStrings().dateFormat,qr=pe(function(e,t){const{includeCreditAccountInfo:a,cardId:r,signedInUserToken:n,isChargeCardFeatureEnabled:C}=t,p=J.getSignedInUser(),u=e.tenantState.currentTenantId,S={userId:p?.userId??"",sessionId:p?.zeniSessionId??"",tenantId:u??""},o=Ma(e,r,a,C),c=pn(e,r),_=hn(e);return{chargeCardDetailView:o,chargeCardsRecurringExpensesState:c,vgsVaultId:Ba.cardVaultId,transactionAttachmentsEndpointToFetch:`${Ha}/card_transaction_attachments`,transactionAttachmentEndpointToDownload:`${Ha}/card_transaction_attachment`,authParams:S,isSnackbarOpen:_.isSnackbarOpen,cardsEndPoint:`${jt.cardMicroServiceBaseUrl}`,signedInUserToken:o.twoFAView.token??n}},function(e,t){const{cardId:a,currentTenant:r,navigate:n,location:C,cardProviderId:p,includeCreditAccountInfo:u,setIsPaymentOpen:S,controllerEmails:o,productInformation:c,cashbackInformation:_,primaryFundingAccountDetails:A,creditAccountInformation:g,debitAccountInformation:R,isChargeCardFeatureEnabled:F}=t,{tenantEmailDomain:k}=r;return{onEventReceived:h=>{h===Kt&&(e(za(a,!0)),e(nt(a,null,null,!0)))},onReloadTransactions:()=>{e(Je(a,u,F))},onFetchChargeCardTransactionList:(h,b)=>{e(nt(a,h,b))},onUpdateScrollYOffset:h=>{},onGetOtp:h=>{p!=null&&e(Ta(h,"ChargeCardHolder",a))},onResendOtp:h=>{p!=null&&e(wa(h,"ChargeCardHolder",a))},onVerifyOtp:(h,b)=>{p!=null&&e(Pa(h,b,"ChargeCardHolder",a))},onVerifyOtpSuccess:h=>{h!=null&&J.saveZeniOtpTokenForCardHolder(h,a)},onColorCodeChange:h=>{e(In(a,h))},onLockChargeCard:(h,b)=>{e(Pt(h,a,b))},onUnlockChargeCard:h=>{e(_t(h,a))},onCloseChargeCard:h=>{e(Dt(a,h))},onFetchChargeCardsRecurringExpenses:()=>{e(kt([a]))},updateChargeCardName:(h,b)=>{e(Et(h,a,b))},updateChargeCardTransactionAttachments:(h,b)=>{b!=null&&e(Sn({transactionId:h,data:b}))},updateChargeCardTransactionUploadReceiptsFetchStatus:(h,b,f,d)=>{e(yn({chargeCardId:b,transactionId:h,fetchState:f,error:d}))},updateChargeCardTransactionReceiptsShowTick:(h,b,f)=>{e(bn({chargeCardId:b,transactionId:h,shouldShowTick:f}))},onChargeCardRevokeInviteClick:()=>{e(At(a))},updateChargeCardTransactionIsViewReceiptClicked:(h,b,f)=>{e(fn({chargeCardId:b,transactionId:h,isViewReceiptClicked:f}))},onChargeCardTransactionRowClick:(h,b)=>{const f=ge(C.state?.pathnameStackToGoBack,C.pathname);n(`../../transaction/${h}/${b}`,{state:{pathnameStackToGoBack:f}})},onBackClick:()=>{const h=ve(C.state?.pathnameStackToGoBack),b=Ne(k);n(b,{state:{pathnameStackToGoBack:h.newStack,message:"comingFromCardDetail"}})},removeSnackbar:()=>{e(gn())},onUpdateDebitCardPinAttempt:h=>{e(It(a,h)),h==="success"&&e(oa({messageSection:"update_debit_card_pin_attempt",messageText:"success",type:"success",showStatusIcon:!0}))},onUploadReceiptComplete:(h,b)=>{h?e(oa({messageSection:"charge_card_receipt_upload",messageText:"success",type:"success",showStatusIcon:!0})):b!=null&&e(oa({messageSection:"charge_card_receipt_upload",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:b.message}]}))},updateSpendLimit(h,b,f,d){e(St(h,b,f.code,d))},shouldOpenCreditCardPaymentDrawer(h){h&&_!=null&&Q.trackCardsPayEarlyClick(o,c,_,"Card Detail","Text Button","Pay Now",{isZeniCheckingEnabled:r.company?.companyZeniAccountInfo.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:A?.accType==="depositAccount",creditCardPaymentSourceAccountName:A?.label,creditCardPaymentSourceAccountType:A?.accType,creditCardPaymentSourceLastFourDigits:A?.accountLast4,creditCardPaymentSourceBalance:A?.accountBalance?.available?.amount??0},g,R),S(h)}}})(hr(gr));function Qr(){const e=le(),t=ue(),a=fe(),{cardId:r}=ia(),[n,C]=i.useState(!1),[p,u]=i.useState(!1),{useDynamicConfig:S}=ce(),o=J.getSignedInUser(),c=y(M=>ie(M)),_=y(M=>ka(M).firstViewAfterActivation),A=y(M=>M.classListState.fetchState),{configValue:g}=S(Fe.documentAiReceiptMaxSizeLimitBytesConfig),{configValue:R}=S(Fe.zeniCardsConfig),F=R.enable_card_controls_for_company_ids,k=R.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(F)&&F.includes(c.companyId),[h,b]=i.useState(!1),[f,d]=i.useState(!1),{useFeatureGate:D}=ce(),{isFeatureEnabled:v}=D(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:N}=D(Y.isDebitCardFeatureEnabled),L=Se(N,c),w=Ie({isDebitCardFeatureEnabled:N,isBankingOnlyTenant:L}),{isFeatureEnabled:V}=D(Y.isEarlyPayFeatureEnabled),{isFeatureEnabled:m}=D(Y.isCardsCommentingEnabled),l=ye(c),P=be(c),T=c.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,H=Ae({isCardsOnlyTenant:P,isChargeCardFeatureEnabled:v,isBookKeepingTenant:l,isDebitCardProductVisible:w,chargeCardsCreditAccountLimit:T}),U=!!c.companyDebitCardInfo?.info?.isDebitCardEnabled,K=!!c.companyChargeCardInfo?.info?.isChargeCardEnabled,I=!c.userRole.includes("charge_card_user")&&H&&K;if(r==null)throw Error("Empty card id is not valid...");const B=y(M=>da(M,c.companyId)),{creditAccount:j,creditAccountRepayment:O}=y(M=>Ye(M)),W=J.getZeniOtpTokenForCardHolder(r),E=y(M=>Ma(M,r,I,H)),{isAiCfoAccessEnabled:z,onAskAiCfoClick:q}=Yt({mobileExploreReferrer:"Card Detail"});Zt({isDataReady:E.fetchState==="Completed"});const G=y(M=>Ze(M)),x=E.chargeCard,se=je(),ae=Re(se?.loggedInUserRoleMap),ne=x?.type.code==="business_physical_debit_card"||x?.type.code==="business_virtual_debit_card",X=x?.type.code==="business_physical_debit_card"||x?.type.code==="business_physical_credit_card",re=x?.type.code==="business_virtual_debit_card"||x?.type.code==="business_virtual_credit_card",Ee=x?.type.code==="business_virtual_debit_card",xe=Ca(H,K,ae,j,O),Z=Mt(ne,E),he=Ja(ae,G),ke=Oe(H,w,U,K),Be=E.depositAccountLimitFetchState.fetchState!=="Completed"&&E.depositAccountLimitFetchState.fetchState!=="In-Progress",Pe=y(M=>Ge(M,c.companyId)),we=ze(Pe.controllers),ee=y(M=>x?.cardCreatedByUser?.userId!=null?ba(M.userRoleState,x?.cardCreatedByUser?.userId):void 0),pa=y(M=>ee?.accountingClassIDs[0]!=null?ya(M.classState,{classId:ee?.accountingClassIDs[0],reportId:"class_list"}):void 0),oe=y(M=>x?.cardHolderUser?.userId!=null?ba(M.userRoleState,x?.cardHolderUser?.userId):void 0),ea=y(M=>oe?.accountingClassIDs[0]!=null?ya(M.classState,{classId:oe?.accountingClassIDs[0],reportId:"class_list"}):void 0),de=c?.userRole,Le=y(M=>Ke(M,!1,w,v).revokeCardInvite),aa=Qa(Le.saveStatus.fetchState);if(i.useEffect(()=>{if(aa==="In-Progress"&&Le.saveStatus.fetchState==="Completed"){const M=Ne(c.tenantEmailDomain);e(M)}},[aa,Le.saveStatus.fetchState,e,c.tenantEmailDomain]),i.useEffect(()=>{_&&n===!1&&re&&(C(!0),setTimeout(()=>{t(Sa()),Ee&&t(oa({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))},5e3))},[_,n,re,Ee]),i.useEffect(()=>{h||E.fetchState==="Completed"||E.fetchState==="In-Progress"||r==null||(b(!0),t(Je(r,I,H,!1)))},[h,E,r,t]),i.useEffect(()=>{!f&&E.fetchState==="Completed"&&E.chargeCard?.connectedAccountId!=null&&ne&&Be&&ae&&(d(!0),t(yt({depositAccountId:E.chargeCard?.connectedAccountId})))},[f,E,t,Be,ae]),i.useEffect(()=>{G.fetchState!=="Completed"&&G.fetchState!=="In-Progress"&&ae&&t(Ct()),A!=="Completed"&&A!=="In-Progress"&&t(mt()),E.transactionStatistics.fetchState!=="Completed"&&E.transactionStatistics.fetchState!=="In-Progress"&&t(Cn({chargeCardId:r})),B.fetchState!=="Completed"&&B.fetchState!=="In-Progress"&&t(Fa(c.companyId,!0))},[G.fetchState,t,ae,A,E.transactionStatistics.fetchState,B.fetchState]),i.useEffect(()=>{if(!(E.fetchState!=="Completed"||H&&j.fetchState!=="Completed"||x==null||E.transactionStatistics.fetchState!=="Completed"||ne&&ae&&E.depositAccountLimitFetchState.fetchState!=="Completed")){const M=x.type.code.includes("physical"),me=M?x.cardActivationAttemptHistory[0]?.timestamp:x.createTime;Q.trackCardsCardDetailView(we,ke,{cardId:r,cardName:x.cardName,cardType:x.type.code.includes("credit")?"credit":"debit",cardCategory:M?"physical":"virtual",cardLimit:Qe(x.limit.amount),cardLastFourDigits:x.accountLast4,cardStatus:x.status.code,cardAssignedDate:x.createTime?.format(Oa.analytics.MMMDashDDDashYYYYFormat),cardIssuedDate:x.providerCardCreateTime?.format(Oa.analytics.MMMDashDDDashYYYYFormat),cardActivatedDate:me?.format(Oa.analytics.MMMDashDDDashYYYYFormat),cardLimitFrequency:x.creditLimitFrequency.name,cardSpentAmount:Qe(x.balance.amount),cardAvailableLimit:Qe(x.available.amount),cardUtilizationPercent:x.limit.amount>0?Math.round((x.limit.amount-x.available.amount)/x.limit.amount*100):0,cardUtilizationAmount:Qe(x.limit.amount-x.available.amount),totalNumberOfDeclinedTransactions:E.transactionStatistics.statistics.totalNumberOfDeclinedTransactions,numberOfDeclinedTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfDeclinedTransactionsCurrentMonth,totalNumberOfPaidTransactions:E.transactionStatistics.statistics.totalNumberOfPaidTransactions,numberOfPaidTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfPaidTransactionsCurrentMonth,totalNumberOfCanceledTransactions:E.transactionStatistics.statistics.totalNumberOfCanceledTransactions,numberOfCanceledTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfCanceledTransactionsCurrentMonth,totalNumberOfAuthorizedTransactions:E.transactionStatistics.statistics.totalNumberOfAuthorizedTransactions,numberOfAuthorizedTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfAuthorizedTransactionsCurrentMonth,totalNumberOfTransactionsWithReceipts:E.transactionStatistics.statistics.totalNumberOfTransactionsWithReceipts,numberOfTransactionsWithReceiptsCurrentMonth:E.transactionStatistics.statistics.numberOfTransactionsWithReceiptsCurrentMonth},{cardIssuedByName:Va(x.cardCreatedByUser,!1),cardIssuedByEmail:x.cardCreatedByUser?.email,cardIssuedByUserId:x.cardCreatedByUser?.userId,cardIssuedByRole:ee?.userRoles,cardIssuedByDepartment:pa?.className},{cardholderName:Va(x.cardHolderUser,!1),cardholderEmail:x.cardHolderUser?.email,cardholderRole:oe?.userRoles,cardholderUserId:x.cardHolderUser?.userId,cardholderDepartment:ea?.className},xe,Z)}},[E.fetchState,E.depositAccountLimitFetchState.fetchState,E.transactionStatistics.fetchState,j.fetchState,ae]),o==null)throw Error("Can't access card detail page without signing in...");const We=c.companyId??J.getSignedInUserTenant(c.tenantEmailDomain)?.companyId,ta={events:We!=null?[`private-encrypted-${We}.${Kt}`]:[],eventCallback:(M,me,Te)=>{Te.onEventReceived(M)}},na=()=>{if(r!=null&&x!=null){const{ownerName:M,cardName:me,utilisation:Te,limit:Ve,frequency:qe,cardColor:$}=ja(x),De=x.cardHolderUserId===o.userId;Q.trackCardsDetailPageViewed(r,M,me,Te,Ve,qe,$,De)}};i.useEffect(()=>{if(E.fetchState==="Completed"){const M=E.chargeCard;if(M?.status.code==="inactive"||ne&&M?.isPinSet===!1||X&&_){const me=Ce(c.tenantEmailDomain,r,o,x,_);e(me)}}},[E.fetchState]);const ra=(M,me)=>{if(r!=null&&x!=null){const{ownerName:Te,cardName:Ve,utilisation:qe,limit:$,frequency:De}=ja(x),He=x.cardHolderUserId===o.userId;Q.trackCardsDetailPageClicked(r,Te,Ve,qe,$,De,M,He,me)}},sa=(M,me)=>{if(r!=null&&x!=null){const{ownerName:Te,cardName:Ve,utilisation:qe,limit:$,frequency:De}=ja(x),He=x.cardHolderUserId===o.userId;Q.trackCardsVerifyPopUpClick(r,Te,Ve,qe,$,De,M,He,me)}},Ua=j.balance.amount+j.hold.amount,ha=c.companyChargeCardInfo?.info?.primaryFundingAccount,ga=B.allFundingAccounts.find(M=>M.id===ha?.accountId);return r==null||E.fetchState==="Error"?s.jsx(La,{}):E.fetchState==="In-Progress"||E.fetchState==="Not-Started"||Le.saveStatus.fetchState==="In-Progress"||ne&&ae&&E.depositAccountLimitFetchState.fetchState!=="Completed"?s.jsx(pr,{}):s.jsxs(s.Fragment,{children:[s.jsx(xa,{showConfetti:_}),E.fetchState==="Completed"?s.jsx(Xa,{analytics:Q,onLoad:na}):null,p===!0?s.jsx(at,{closeDrawerHandler:()=>u(!1),isPaymentDrawerOpen:p,pageName:"Card Detail",sourcePage:"cardDetailPage",productInformation:ke,creditAccountInformation:xe,debitAccountInformation:Z,cashbackInformation:he,creditAccountSpentAmount:Ua,isDebitCardInfoFetchStateCompleted:!ne||!ae||E.depositAccountLimitFetchState.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!H||j.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!ae||G.fetchState==="Completed",paymentInitiatedDate:O.initiatedRepaymentDate}):null,s.jsx(qr,{...ta,hideSorting:!0,onColumnSortConfigChanged:()=>{},onFireVerifyPopOnClickAnalytics:sa,onFireOnClickAnalytics:ra,isSandboxEnv:Ka(),signedInUser:o,location:a,navigate:e,setIsPaymentOpen:u,cardIssuedByRoles:ee?.userRoles,cardIssuedByDepartmentName:pa?.className,cardHolderRoles:oe?.userRoles,cardHolderDepartmentName:ea?.className,loggedInUserRole:de,isChargeCardFeatureEnabled:H,isDebitCardFeatureEnabled:w,isDebitCardSetupEnabled:U,isChargeCardSetupEnabled:K,isCardControlsEnabled:k,isEarlyPayEnabled:V,controllerEmails:we,chargeCardCashbackDetailState:G,productInformation:ke,creditAccountInformation:xe,debitAccountInformation:Z,cashbackInformation:he,classListFetchState:A,primaryFundingAccountDetails:ga,currentTenant:c,cardProviderId:E.chargeCard?.cardProviderID,cardId:r,creditAccount:j,creditAccountRepayment:O,includeCreditAccountInfo:I,signedInUserToken:W,appleWalletLink:"shoebox://",googleWalletLink:"https://www.android.com/payapp/",documentAiReceiptMaxSizeLimit:g.documentAiReceiptMaxSizeLimitBytes!=null?g.documentAiReceiptMaxSizeLimitBytes:9437184,isAiCfoAccessEnabled:z,onAskAiCfoClick:q,isCardsCommentingEnabled:m})]})}const ja=e=>{const t=`${e.cardHolderUser?.firstName.toLowerCase()} ${e.cardHolderUser?.lastName.toLowerCase()}`,a=e.cardName,r=(e.limit.amount??0)-(e.available.amount??0),n=e.limit.amount,C=e.creditLimitFrequency.name;return{ownerName:t,cardName:a,utilisation:r,cardColor:e.cardColorCode??"",frequency:C,limit:n}},Xr=_e.div`
|
|
19
|
+
display: flex;
|
|
20
|
+
width: 100%;
|
|
21
|
+
flex: 1 1 auto;
|
|
22
|
+
flex-direction: column;
|
|
23
|
+
align-items: center;
|
|
24
|
+
background-color: ${e=>e.theme.colors.grey4};
|
|
25
|
+
`,Jr=pe(function(e,t){const a=Ke(e,t.includeCreditAccountDebitSummaryAndCashbackInfo,t.isDebitCardFeatureEnabled&&t.isDebitCardSetupEnabled,t.isChargeCardFeatureEnabled&&t.isChargeCardSetupEnabled);return{chargeCardListView:a,rowActionView:An(e),bulkActionView:En(e),companyLegalName:t.currentTenant.companyName,admins:t.admins,searchText:a.searchText,uiState:a.uiState,signedInUser:t.signedInUser}},function(e,t){const{navigateAndClearBulkSelection:a,currentTenant:r,location:n,signedInUser:C,chargeCardListState:p,includeCreditAccountDebitSummaryAndCashbackInfo:u,isChargeCardFeatureEnabled:S,isCreditCardProductVisibleForExpressInterest:o,isChargeCardSetupEnabled:c,isDebitCardFeatureEnabled:_,isDebitCardSetupEnabled:A,isDebitCardTOSAccepted:g,isChargeCardTOSAccepted:R,controllerEmails:F,depositAccountListWithDebitCardIssued:k,primaryFundingAccountDetails:h,chargeCardSetUpViewFetchState:b,productInformation:f,cashbackInformation:d,creditAccountInformation:D,debitAccountInformation:v,updatePayNowInfoTooltip:N,isUserHasCardsAdminLevelAccess:L}=t,{tenantEmailDomain:w}=r,{cards:V}=p;return{onChargeCardRowClick:(m,l)=>{const P=Gt(V,m);let T;P!=null&&((U=>{const K=U.limit.amount-U.available.amount,I=`${U.cardHolderUser?.firstName.toLowerCase()} ${U.cardHolderUser?.lastName.toLowerCase()}`,B=U.cardName,j=U.department?.className??"",O=U.limit.amount,W=U.creditLimitFrequency.name;Q.trackCardsListRowClicked(I,B,j,K,O,W,C.userId===U.cardHolderUserId)})(P),Me(_,A,k)&&Q.trackCardsCardListRowClick(F,f,"Card Row Item","row_clicked",l+1,{cardOwner:Va(P.cardHolderUser,!1),cardName:P.cardName,cardType:P.type.code.includes("credit")?"credit":"debit",cardStatus:P.status.code,cardUtilizationAmount:Qe(P.limit.amount-P.available.amount),cardUtilizationPercent:P.limit.amount>0?Math.round((P.limit.amount-P.available.amount)/P.limit.amount*100):0,cardLimit:Qe(P.limit.amount)},d,D,v)),T=P?.status.code==="request_on_hold"&&C.userId===P.cardHolderUserId?zt(w):Ce(w,m,C,P);const H=ge(n.state?.pathnameStackToGoBack,n.pathname);a(T,{state:{pathnameStackToGoBack:H}})},onFetchChargeCardsRecurringExpenses:m=>{e(kt(m))},onFetchDepositAccountLimit:m=>{e(yt({depositAccountId:m}))},onChargeCardResendInviteClick:m=>{e(vn(m))},onChargeCardRevokeInviteClick:m=>{e(At(m))},onLockChargeCardList:(m,l)=>{e(Fn(m,l))},onUnlockChargeCardList:m=>{e(Tn(m))},onCloseChargeCardList:(m,l)=>{e(wn(m,l))},onRevokeChargeCardList:m=>{e(Pn(m))},updateChargeCardListSpendLimit(m,l,P){e(_n(m,l,P.code))},onLockChargeCard:(m,l)=>{e(Pt(L,m,l))},onUnlockChargeCard:m=>{e(_t(L,m))},onCloseChargeCard:(m,l)=>{e(Dt(m,l))},onUpdateSpendLimit(m,l,P,T){e(St(m,l,P.code,T))},updateChargeCardName:(m,l)=>{e(Et(L,m,l))},onClickSetupIcon:()=>{Q.trackCardsListPageClicked("settings"),Me(_,A,k)&&d!=null&&Q.trackCardsSettingsClick(F,f,d,D,v);const m=Ur(w),l=ge(n.state?.pathnameStackToGoBack,n.pathname);a(m,{state:{pathnameStackToGoBack:l}})},onIssueCardClick:()=>{Q.trackCardsListPageClicked("new card"),Me(_,A,k)&&d!=null&&Q.trackCardsNewCardClick(F,f,d,"New Button","card_creation_initiated","Card List",D,v);const m=es(w),l=ge(n.state?.pathnameStackToGoBack,n.pathname);a(m,{state:{pathnameStackToGoBack:l}})},onColumnSortConfigChanged:(m,l)=>{Me(_,A,k)&&d!=null&&Q.trackCardsCardListSortClick(F,f,d,"Sort Icon","sort",m,l==="ascending"?"ASC":"DESC","Cards List",D,v),e(Na({uiState:{sortKey:m,sortOrder:l}}))},onSearchTextChanged:m=>{e(Dn(m))},onReloadCards:()=>{e(Ia(u,_&&A,S&&c,!0))},onLetsGoClick:()=>{a("./onboard")},onBackClick:()=>{a("../../")},onTotalCashbackClick:()=>{Me(_,A,k)&&d!=null&&Q.trackCardsCashbackOverviewClick(F,f,d,"Cashback Overview","cashback_details_viewed",D,v),a("./cashback")},onClickStatementsIcon:()=>{Me(_,A,k)&&d!=null&&Q.trackCardsStatementsClick(F,f,d,D,v),a("./statements")},onCreateNowClick:m=>{Me(_,A,k)&&d!=null&&Q.trackCardsNewCardClick(F,f,d,"Promo Banner","card_creation_initiated","Card List",D,v),a(`./new?cardType=${m}`)},onPromoCardClick:m=>{a(m==="debit"&&_&&!g||m==="credit"&&o&&!R?`../promo?cardPromoType=${m}`:"./setup")},navigateToCreditCardPaymentPage:(m,l)=>{b==="Completed"&&r.company!=null&&d!=null&&Q.trackCardsPayEarlyClick(F,f,d,"Card List",m,l,{isZeniCheckingEnabled:r.company.companyZeniAccountInfo.isZeniAccountEnabled,isZeniCheckingPaymentSource:h?.accType==="depositAccount",creditCardPaymentSourceAccountName:h?.label,creditCardPaymentSourceAccountType:h?.accType,creditCardPaymentSourceLastFourDigits:h?.accountLast4,creditCardPaymentSourceBalance:h?.accountBalance?.available?.amount??0},D,v);const P=as(w);a(P)},navigateToCreditCardPaymentHistoryPage:()=>{const m=ts(w),l=ge(n.state?.pathnameStackToGoBack,n.pathname);a(m,{state:{pathnameStackToGoBack:l}})},shouldShowPayNowInfoTooltip:N,onSetRowActionCardId:m=>{e(kn(m))},onSetBulkActionCardIds:m=>{e(wt(m))}}})(fr);function ct({isPaymentDrawerOpen:e}){const t=le(),a=ue(),r=fe(),n=i.useCallback(($,De)=>{a(wt([])),t($,De)},[a,t]),[C,p]=i.useState(!1),[u,S]=i.useState(J.getPayNowInfoTooltip()??!1),o=$=>{J.savePayNowInfoTooltip($),S($)},[c,_]=i.useState(!1),A=J.getSignedInUser(),g=y($=>ie($)),[R,F]=i.useState(!1),[k,h]=i.useState(!1),{isAiCfoAccessEnabled:b,onAskAiCfoClick:f}=Yt({mobileExploreReferrer:"Cards"}),d=g.userRole.includes("charge_card_user"),D=!d,v=!!g.companyDebitCardInfo?.info?.isDebitCardEnabled,{useFeatureGate:N,useDynamicConfig:L}=ce(),{isFeatureEnabled:w}=N(Y.isCashbackFeatureEnabled),{isFeatureEnabled:V}=N(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:m}=N(Y.isDebitCardFeatureEnabled),{isFeatureEnabled:l}=N(Y.isEarlyPayFeatureEnabled),{isFeatureEnabled:P}=N(Y.isChargeCardPaymentHistoryFeatureEnabled),{isFeatureEnabled:T}=N(Y.isCardsCommentingEnabled),H=Se(m,g),U=Ie({isDebitCardFeatureEnabled:m,isBankingOnlyTenant:H}),K=be(g),I=ye(g),B=g.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,j=Ae({isCardsOnlyTenant:K,isChargeCardFeatureEnabled:V,isBookKeepingTenant:I,isDebitCardProductVisible:U,chargeCardsCreditAccountLimit:B}),O=$t({isCardsOnlyTenant:K,isChargeCardFeatureEnabled:V,isBookKeepingTenant:I}),{configValue:W}=L(Fe.zeniCardsConfig),E=je(),z=Re(E?.loggedInUserRoleMap),q=y($=>Ge($,g.companyId)),G=ze(q.controllers),x=W.charge_card_cashback_rate_per_transaction!=null?W.charge_card_cashback_rate_per_transaction:.0175,se=W.credit_card_pay_now_threshold_by_company_id?.[g.companyId]??W.default_credit_card_pay_now_threshold??Lr,ae=W.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(W.enable_card_controls_for_company_ids)&&W.enable_card_controls_for_company_ids.includes(g.companyId),ne=!!g.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,X=!!g.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,re=!!g.companyChargeCardInfo?.info?.isChargeCardEnabled,Ee=y($=>gt($)),xe=Qa(Ee.updateStatus),Z=y($=>Ke($,D,U&&v,j&&re)),he=Z.cards.filter($=>$.type.code.includes("debit")).map($=>$.connectedAccountId),ke=[...new Set(he)],Be=y($=>Ze($)),Pe=y($=>va($,ke)),we=y($=>da($,g.companyId)),ee=we.companyChargeCardInfo?.primaryFundingAccount,pa=we.allFundingAccounts.find($=>$.id===ee?.accountId),oe=Z.fetchState,ea=Z.creditAccount;Zt({isDataReady:oe==="Completed"});const{creditAccountRepayment:de}=y($=>Ye($)),Le=y($=>ka($).firstViewAfterActivation),{areTenantIdsInSync:aa}=Nt(),We=Ja(z,Be),ta=Ca(j,re,z,ea,de),na=et(U,v,z,Pe,Z.debitCardSummary),ra=Oe(j,U,v,re),sa=Z.creditAccount.balance.amount+Z.creditAccount.hold.amount;if(i.useEffect(()=>{oe==="Completed"&&(J.getPayNowInfoTooltip()==null||sa<se*Z.creditAccount.limit.amount/100)&&o(!0)},[oe,se,sa,Z.creditAccount.limit.amount]),i.useEffect(()=>{if(e!=null&&e===!0&&de.initiatedRepayments.amount===0&&de.fetchState==="Completed"||xe==="In-Progress"&&Ee.updateStatus==="Completed")o(!1),p(!0);else if(de.initiatedRepayments.amount>0&&de.fetchState==="Completed"){p(!1),document.body.style.overflow="auto";const $=Ne(g.tenantEmailDomain);n($)}},[e,de.initiatedRepayments.amount,de.fetchState,xe,Ee.updateStatus,n,g.tenantEmailDomain]),i.useEffect(()=>{!R&&(re||v)&&aa&&(F(!0),a(Ia(D,U&&v,j&&re,!1)))},[R,D,a,aa]),i.useEffect(()=>{Le&&c===!1&&(_(!0),setTimeout(()=>{a(Sa())},5e3))},[Le,c]),i.useEffect(()=>{oe==="Completed"&&d&&Z.cards.length===1&&(Z.cards[0].status.code==="inactive"&&Z.cards[0].type.code==="business_physical_credit_card"?n(`./${Z.cards[0].id}/activate`):Z.cards[0].status.code!=="request_on_hold"&&(r.state?.message==="comingFromCardDetail"?n("../../"):n(`./${Z.cards[0].id}`)))},[oe,d,r.state,n,Z.cards]),i.useEffect(()=>{if(oe==="Completed"&&d){const $=Z.cards.length,De=Z.cards.filter(He=>He.cardHolderUserId===A?.userId).filter(He=>He.status.code==="request_on_hold");De.length>0&&$===De.length&&n("./onboard")}},[oe,Z.cards,d,n,A?.userId]),i.useEffect(()=>{oe!=="Completed"||j&&de.fetchState!=="Completed"||U&&v&&z&&Pe.fetchState!=="Completed"||Q.trackCardsCardListView(G,ra,We,ta,na)},[oe,ea,de.fetchState,Pe.fetchState,z]),A==null)throw Error("Can't access charge card list page without signing in...");const Ua=y($=>Tt($.userState,$.userRoleState,$.userListViewState,"cardAdmin")),ha=Ya(E?.loggedInUserRoleMap),ga=$=>{h($)},M=Z.creditAccount.limit,me=()=>{p(!1),n("..")},Te=g.companyChargeCardInfo?.info!=null&&Xe({cardInfo:g.companyChargeCardInfo.info,isProductVisible:j,isTOSAccepted:ne,isSetupEnabled:re,isUserHasCardsAdminLevelAccess:z,isUserHasCardsAccess:ha}),Ve=g.companyDebitCardInfo?.info!=null&&Xe({cardInfo:g.companyDebitCardInfo.info,isProductVisible:U,isTOSAccepted:X,isSetupEnabled:v,isUserHasCardsAdminLevelAccess:z,isUserHasCardsAccess:ha});return re||v?s.jsxs(s.Fragment,{children:[oe==="Completed"?s.jsxs(s.Fragment,{children:[s.jsx(Xa,{analytics:Q,onLoad:()=>{Q.trackPageLoaded(Vt.Event.cardsListPage),(j&&!re||U&&!v)&&Q.trackCardsPromoView(G,{isCreditCardOffered:j,isDebitCardOffered:U,isDebitCardEnabled:v,isCreditCardEnabled:re},"Banner",U&&!v?"Debit Card":j&&!re?"Credit Card":"","Card List")}}),s.jsx(xa,{showConfetti:Le})]}):null,C===!0?s.jsx(at,{closeDrawerHandler:me,isPaymentDrawerOpen:C,pageName:"Card List",sourcePage:"cardListPage",creditAccountSpentAmount:sa,productInformation:ra,creditAccountInformation:ta,debitAccountInformation:na,cashbackInformation:We,isDebitCardInfoFetchStateCompleted:!(U&&v&&z)||Pe.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!j||de.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!z||Be.fetchState==="Completed",paymentInitiatedDate:de.initiatedRepaymentDate}):null,s.jsxs(Xr,{children:[s.jsx($e,{isAppContentDrawerOpen:k,handleDrawerToggle:ga}),s.jsx(Jr,{isCashbackFeatureEnabled:w,isChargeCardFeatureEnabled:j,isDebitCardFeatureEnabled:U,isCreditCardProductVisibleForExpressInterest:O,updatePayNowInfoTooltip:o,showPayNowInfoTooltip:u,creditCardPayNowThreshold:se,signedInUser:A,chargeCardListState:Z,location:r,admins:Ua.users,navigateAndClearBulkSelection:n,currentTenant:g,isCardControlsEnabled:ae,companyChargeCardInfoCreditAccountLimit:g.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,isCompanyInterestedInChargeCard:g.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,isUserHasCardsAdminLevelAccess:z,includeCreditAccountDebitSummaryAndCashbackInfo:D,onClickMenuIcon:()=>{ga(!0)},creditLimit:M,isChargeCardSetupEnabled:re,isDebitCardSetupEnabled:v,isEarlyPayEnabled:l,isChargeCardPaymentHistoryFeatureEnabled:P,cashbackRate:x,controllerEmails:G,chargeCardCashbackDetailState:Be,depositAccountListWithDebitCardIssued:Pe,isChargeCardTOSAccepted:ne,isDebitCardTOSAccepted:X,primaryFundingAccountDetails:pa,chargeCardSetUpViewFetchState:we.fetchState,productInformation:ra,creditAccountInformation:ta,debitAccountInformation:na,cashbackInformation:We,isAiCfoAccessEnabled:b,onAskAiCfoClick:f,isCardsCommentingEnabled:T})]})]}):(ne||X)&&z===!0?s.jsx(fa,{to:"../setup"}):Te||Ve?s.jsx(fa,{to:"../promo"}):s.jsx(la,{fetchState:oe})}const es=e=>`/${e}/cards/new`,as=e=>`/${e}/cards/payment`,ts=e=>`/${e}/cards/payment-history`,ns=pe(function(e){const t=J.getSignedInUser(),a=ie(e),r=e.tenantState.currentTenantId,n=Ft(e),C={userId:t?.userId??"",sessionId:t?.zeniSessionId??"",tenantId:r??""},p=a?.companyName??"",u=e.chargeCardPaymentHistoryState.downloadUIState.downloadState;return{fetchState:n.fetchState,filters:n.filters,isZeniTenant:xn(a),repaymentList:n.repaymentHistory,searchText:n.searchText,repaymentHistoryUsers:n.repaymentHistoryUsers,sortConfig:{sortKey:n.uiState.sortKey,sortOrder:n.uiState.sortOrder},downloadParams:{authParams:C,companyName:p,spendManagementEndPoint:`${Ha}/spendManagement`,isShowDeletedBillsEnabled:!1,isShowDeletedReimbursementEnabled:!1},downloadState:u}},function(e,t){const{location:a,navigate:r}=t;return{onBackClick:()=>{const n=ve(a.state?.pathnameStackToGoBack),C=n.poppedPathname??"..";r(C,{state:{pathnameStackToGoBack:n.newStack}})},onColumnSortConfigChanged:(n,C)=>{e({type:"chargeCardPaymentHistory/updatePaymentHistoryUIState",payload:{uiState:{sortKey:n,sortOrder:C}}})},onFiltersChange:n=>{e(Ln({filters:n}))},onReloadPayments:()=>{e(vt(!0))},onSearchTextChanged:n=>{e({type:"chargeCardPaymentHistory/updatePaymentHistorySearchText",payload:n})},updateDownloadStateHandler:n=>{e(Bn({uiState:{downloadState:n}}))}}})(br);function rs(){const e=le(),t=fe(),a=ue(),{areTenantIdsInSync:r}=Nt(),{useFeatureGate:n}=ce();if(J.getSignedInUser()==null)throw Error("Can't access payment history page without signing in...");const C=y(q=>ie(q)),p=y(q=>Ft(q)),[u,S]=i.useState(!1),[o,c]=i.useState(!1),[_,A]=i.useState(!1),[g,R]=i.useState(null),F=!C.userRole.includes("charge_card_user"),k=!!C.companyDebitCardInfo?.info?.isDebitCardEnabled,{isFeatureEnabled:h}=n(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:b}=n(Y.isDebitCardFeatureEnabled),f=Se(b,C),d=Ie({isDebitCardFeatureEnabled:b,isBankingOnlyTenant:f}),D=be(C),v=ye(C),N=C.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,L=Ae({isCardsOnlyTenant:D,isChargeCardFeatureEnabled:h,isBookKeepingTenant:v,isDebitCardProductVisible:d,chargeCardsCreditAccountLimit:N}),w=!!C.companyChargeCardInfo?.info?.isChargeCardEnabled,V=je(),m=Re(V?.loggedInUserRoleMap),l=y(q=>Ke(q,F,d&&k,L&&w)),P=i.useMemo(()=>{const q=l.cards.filter(G=>G.type.code.includes("debit"));return[...new Set(q.map(G=>G.connectedAccountId))]},[l.cards]),T=y(q=>Ze(q)),H=y(q=>va(q,P)),{creditAccountRepayment:U}=y(q=>Ye(q)),K=i.useMemo(()=>Ja(m,T),[m,T]),I=i.useMemo(()=>Ca(L,w,m,l.creditAccount,U),[L,w,m,l.creditAccount,U]),B=i.useMemo(()=>et(d,k,m,H,l.debitCardSummary),[d,k,m,H,l.debitCardSummary]),j=i.useMemo(()=>Oe(L,d,k,w),[L,d,k,w]),O=l.creditAccount.balance.amount+l.creditAccount.hold.amount,W=i.useMemo(()=>g!=null?p.repaymentHistory.find(q=>q.cardRepaymentId===g):void 0,[g,p.repaymentHistory]),E=i.useCallback(q=>{R(q),a(Ia(F,d&&k,L&&w,!1)),A(!0)},[a,F,d,k,L,w]),z=i.useCallback(()=>{A(!1),R(null),document.body.style.overflow="auto"},[]);return i.useEffect(()=>{u||p.fetchState==="Completed"||p.fetchState==="In-Progress"||(S(!0),a(vt()))},[u,a,p.fetchState]),i.useEffect(()=>{!o&&(w||k)&&r&&(c(!0),a(Ia(F,!1,L&&w,!1)))},[o,w,k,r,a,F,L]),s.jsxs(s.Fragment,{children:[_?s.jsx(at,{closeDrawerHandler:z,isPaymentDrawerOpen:_,pageName:"Payment History",sourcePage:"cardPaymentHistory",creditAccountSpentAmount:O,productInformation:j,creditAccountInformation:I,debitAccountInformation:B,cashbackInformation:K,isDebitCardInfoFetchStateCompleted:!(d&&k&&m)||H.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!L||U.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!m||T.fetchState==="Completed",paymentInitiatedDate:U.initiatedRepaymentDate,retryRepayment:W}):null,s.jsx(ns,{location:t,navigate:e,accountInfoByAccountId:p.accountInfoByAccountId,onRetryPaymentClick:E})]})}const it=_e.div`
|
|
26
|
+
display: flex;
|
|
27
|
+
height: 100vh;
|
|
28
|
+
width: 100%;
|
|
29
|
+
flex: 1 1 auto;
|
|
30
|
+
flex-direction: column;
|
|
31
|
+
overflow: auto;
|
|
32
|
+
align-items: center;
|
|
33
|
+
background-color: ${e=>e.theme.colors.grey4};
|
|
34
|
+
`,dt=qa.getLocalizedStrings().months;function ss(){const e=le(),t=ue(),a=fe(),{creditAccount:r,creditAccountRepayment:n}=y(I=>Ye(I)),C=`${jt.cardMicroServiceBaseUrl}/1.0/credit-accounts/${r.id}`,[p,u]=i.useState(!1),[S,o]=i.useState(!1),c=y(I=>Un(I)),{useFeatureGate:_}=ce(),A=y(I=>ie(I)),{isFeatureEnabled:g}=_(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:R}=_(Y.isDebitCardFeatureEnabled),F=Se(R,A),k=Ie({isDebitCardFeatureEnabled:R,isBankingOnlyTenant:F}),h=be(A),b=ye(A),f=A.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,d=Ae({isCardsOnlyTenant:h,isChargeCardFeatureEnabled:g,isBookKeepingTenant:b,isDebitCardProductVisible:k,chargeCardsCreditAccountLimit:f}),D=!!A.companyDebitCardInfo?.info?.isDebitCardEnabled,v=!!A.companyChargeCardInfo?.info?.isChargeCardEnabled,N=y(I=>Ge(I,A.companyId)),L=ze(N.controllers),w=y(I=>xt(I)),V=w.cards.filter(I=>I.type.code.includes("debit")).map(I=>I.connectedAccountId),m=[...new Set(V)],l=y(I=>va(I,m)),P=y(I=>Rn(I));i.useEffect(()=>{S||r.fetchState==="Completed"||r.fetchState==="In-Progress"||(u(!0),t($a()))},[p,t,r.fetchState]),i.useEffect(()=>{S||r.fetchState!=="Completed"||r.id==null||c.fetchState==="Completed"||c.fetchState==="In-Progress"||(o(!0),t(On(r.id)))},[S,t,r.fetchState,r.id,c.fetchState]),i.useEffect(()=>{l.fetchState!=="Completed"&&l.fetchState!=="In-Progress"&&k&&D&&t(Bt()),w.fetchState!=="Completed"&&w.fetchState!=="In-Progress"&&t(ca()),P.fetchState!=="Completed"&&P.fetchState!=="In-Progress"&&k&&D&&t(jn()),n.fetchState!=="Completed"&&n.fetchState!=="In-Progress"&&d&&v&&t(Ga())},[l.fetchState,k,D,w.fetchState,P.fetchState,n.fetchState,d,v]),i.useEffect(()=>{if(c.fetchState==="Completed"&&r.fetchState==="Completed"&&n.fetchState==="Completed"&&w.fetchState==="Completed"&&(!k||!D||l.fetchState==="Completed"&&P.fetchState==="Completed")){let I="",B="";if(c.statements.length>0){const E=c.statements[c.statements.length-1].period,[z,q]=E.split("-"),G=c.statements[0].period,[x,se]=G.split("-");I=`${dt[parseInt(q)-1]} ${z}`,B=`${dt[parseInt(se)-1]} ${x}`}const j=Oe(d,k,D,v),O=Ca(d,v,!0,r,n),W=et(k,D,!0,l,P);Q.trackCardsCreditCardStatementsView(L,j,{numberOfStatements:c.statements.length,oldestStatementMonthYear:I,latestStatementMonthYear:B},O,W)}},[c.fetchState,r.fetchState,n.fetchState,l.fetchState,w.fetchState,P.fetchState]);const T=()=>{const I=ve(a.state?.pathnameStackToGoBack),B=I.poppedPathname??"..";e(B,{state:{pathnameStackToGoBack:I.newStack}})},H=y(I=>Ze(I)),U=J.getSignedInUser(),K={userId:U?.userId??"",sessionId:U?.zeniSessionId??"",tenantId:A.tenantId??""};if(U==null)throw Error("Can't access address page without signing in...");if(c.fetchState!=="Completed")return s.jsx(it,{children:s.jsx(yr,{onBackClick:T})});{const I=Oe(d,k,D,v);return s.jsx(it,{children:s.jsx(Sr,{currentTenantCompanyName:A.companyName,statementListView:c,productInformation:I,onBackClick:T,authParams:K,controllerEmails:L,isChargeCardFeatureEnabled:d,isDebitCardFeatureEnabled:k,isDebitCardSetupEnabled:D,isChargeCardSetupEnabled:v,chargeCardCashbackDetailState:H,creditAccount:r,creditAccountRepayment:n,depositAccountListWithDebitCardIssued:l,debitCardSummary:P,downloadEndPoint:C})})}}const os={containerWidth:new ma(100,58)},cs=({appContent:e})=>{const t=ua(),a=ue(),r=le(),n=fe(),{useDynamicConfig:C}=ce(),[p,u]=i.useState(!1),[S,o]=i.useState(!1),[c,_]=i.useState(!1),[A,g]=i.useState(!1),[R,F]=i.useState(!1),[k,h]=i.useState(!1),b=J.getSignedInUser();if(b==null)throw Error("Can't access onboarding card page without signing in...");const f=y(O=>ie(O)),{configValue:d}=C(Fe.zeniCardsConfig),D=y(O=>Nn(O)),{tenantEmailDomain:v}=f,N=y(O=>O.settingsViewState.profile.fetchState),L=y(O=>O.chargeCardListState.fetchState),w=y(O=>O.settingsViewState.profile.userId),V=y(O=>O.chargeCardConfigState.fetchState);i.useEffect(()=>{p===!1&&N!=="In-Progress"&&N!=="Completed"&&(a(Vn()),u(!0)),S===!1&&V!=="In-Progress"&&V!=="Completed"&&(a(Da()),o(!0)),c===!1&&L==="Not-Started"&&(_(!0),a(ca()))},[p,c,L,S,V]),i.useEffect(()=>{N==="Completed"&&R===!1&&w!=null&&L==="Completed"&&D.cards.length>0&&(a(Hn({userId:w})),a(Lt({cardId:D.cards[D.cards.length-1].id})),F(!0))},[N,R,w,L]),i.useEffect(()=>{if(!A&&D.fetchState==="Completed"&&D.cards.length===0){const O=ve(n.state?.pathnameStackToGoBack),W=O.poppedPathname??Ne(v);r(W,{state:{pathnameStackToGoBack:O.newStack}})}},[D.fetchState,D.cards,A]);const m=y(O=>ka(O)),l=Qa(m.updateStatus.fetchState),P=m.currentDisplayedCardId,{useFeatureGate:T}=ce(),{isFeatureEnabled:H}=T(Y.isChargeCardFeatureEnabled),U=!!f.companyChargeCardInfo?.info?.isChargeCardEnabled,K=!f.userRole.includes("charge_card_user")&&H&&U,I=y(O=>P!=null?Ut(O.chargeCardState,P):null),B=()=>{P!=null&&(a(Je(P,K,!0)),a(ca()),g(!0))};i.useEffect(()=>{if(A&&P!=null&&I!=null&&I.status.code!=="request_on_hold"){const O=Ce(f.tenantEmailDomain,P,b,I),W=ge(n.state?.pathnameStackToGoBack,n.pathname);a(Mn()),I?.type.code==="business_virtual_credit_card"&&a(_a()),r(O,{state:{pathnameStackToGoBack:W},replace:!0})}},[A,I?.status.code]),i.useEffect(()=>{l==="In-Progress"&&m.updateStatus.fetchState==="Completed"&&setTimeout(B,3e3)},[l,m.updateStatus.fetchState]);const j=O=>{h(O)};if(!A&&L!=="Completed"||N!=="Completed"||D.cards.length===0)return s.jsxs(lt,{children:[s.jsx($e,{isAppContentDrawerOpen:k,handleDrawerToggle:j}),s.jsx(Ir,{})]});if(w==null)throw Error("Can't access my userId.");return s.jsxs(lt,{children:[s.jsx($e,{isAppContentDrawerOpen:k,handleDrawerToggle:j}),s.jsx(is,{chargeCardListView:D,cardUserOnboardingView:m,navigate:r,currentTenant:f,myUserId:w,location:n,chargeCardCashbackRatePerTransaction:d.charge_card_cashback_rate_per_transaction!=null?d.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{j(!0)}}),e!=null?s.jsx(ds,{windowSize:t,children:e}):null]})},is=pe(function(e,{currentTenant:t,cardUserOnboardingView:a,chargeCardListView:r,myUserId:n}){const C=Ke(e,!1,!1,!1);let p=!1;return C.fetchState==="Completed"&&C.cards.length<=1&&(p=!0),{cards:r.cards,showMenuIcon:p,companyLegalName:t.companyName,twoFAView:a.twoFAView,cardUserOnboardingLocalData:a.cardUserOnboardingLocalData??{userId:n},isDOBDisabled:a.isDOBPresent,onboardingProgressStatus:a.onboardingProgressStatus}},function(e,t){const{navigate:a,cardUserOnboardingView:r,location:n,currentTenant:C}=t,{tenantEmailDomain:p}=C;return{updateCardUserOnboardingLocalData:u=>{e(rt({localData:u}))},onGetOtp:u=>{if(r.cardUserOnboardingLocalData!=null){const S={...r.cardUserOnboardingLocalData,phone:u};e(rt({localData:S}))}e(Ta(u,"CardUserOnboarding"))},onResendOtp:u=>{e(wa(u,"CardUserOnboarding"))},onVerifyOtp:(u,S)=>{e(Pa(u,S,"CardUserOnboarding"))},onVerifyOtpSuccess:u=>{e($n()),u!=null&&J.saveZeniOtpToken(u)},setCurrentDisplayedCardId:u=>{e(Lt({cardId:u}))},onBackClick:()=>{const u=ve(n.state?.pathnameStackToGoBack),S=u.poppedPathname??Ne(p);a(S,{state:{pathnameStackToGoBack:u.newStack}})}}})(Ar),ds=_e.div`
|
|
35
|
+
display: flex;
|
|
36
|
+
flex-direction: column;
|
|
37
|
+
width: ${e=>`${os.containerWidth.value(e.windowSize)}%`};
|
|
38
|
+
${e=>e.windowSize!=="small"?"overflow: auto;":""}
|
|
39
|
+
`,lt=_e.div`
|
|
40
|
+
display: flex;
|
|
41
|
+
min-height: 100%;
|
|
42
|
+
width: 100%;
|
|
43
|
+
flex: 1 1 auto;
|
|
44
|
+
flex-direction: column;
|
|
45
|
+
align-items: center;
|
|
46
|
+
background-color: ${e=>e.theme.colors.grey4};
|
|
47
|
+
`,ls={containerWidth:new ma(100,58)},us=({appContent:e})=>{const t=ua(),a=ue(),r=le(),{cardId:n}=ia(),C=fe(),{useDynamicConfig:p,useFeatureGate:u}=ce(),[S,o]=i.useState(!1),[c,_]=i.useState(!1),[A,g]=i.useState(!1),[R,F]=i.useState(!1),k=J.getSignedInUser();if(k==null)throw Error("Can't access onboarding card page without signing in...");const h=y(B=>ie(B));if(n==null)throw Error("Empty card id is not valid...");const{configValue:b}=p(Fe.zeniCardsConfig),f=y(B=>Gn(B,n)),{isFeatureEnabled:d}=u(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:D}=u(Y.isDebitCardFeatureEnabled),v=Se(D,h),N=Ie({isDebitCardFeatureEnabled:D,isBankingOnlyTenant:v}),L=be(h),w=ye(h),V=h.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,m=Ae({isCardsOnlyTenant:L,isChargeCardFeatureEnabled:d,isBookKeepingTenant:w,isDebitCardProductVisible:N,chargeCardsCreditAccountLimit:V}),l=f.chargeCard,P=y(B=>B.chargeCardConfigState.fetchState);i.useEffect(()=>{S===!1&&P!=="In-Progress"&&P!=="Completed"&&(a(Da()),o(!0)),c===!1&&f.fetchState==="Not-Started"&&(_(!0),a(Je(n,!1,m)))},[c,f.fetchState,S,P]);const T=l?.type.code==="business_physical_debit_card"||l?.type.code==="business_virtual_debit_card";i.useEffect(()=>{if(f.fetchState==="Completed"){if(A===!1&&(T===!1||T&&l.status?.code!=="active"||T&&l.status.code==="active"&&l.isPinSet||l.cardHolderUserId!==k.userId)){const B=Ce(h.tenantEmailDomain,n,k,l,!0),j=ge(C.state?.pathnameStackToGoBack,C.pathname);r(B,{state:{pathnameStackToGoBack:j}})}else if(A&&f.isRefreshingViewInBackground===!1&&l?.isPinSet===!0){a(zn({chargeCardId:n}));const B=Ce(h.tenantEmailDomain,n,k,l,!0),j=ge(C.state?.pathnameStackToGoBack,C.pathname);a(_a()),r(B,{state:{pathnameStackToGoBack:j}})}}},[f.fetchState,l?.type.code,A,f.isRefreshingViewInBackground]);const H=J.getZeniOtpTokenForCardHolder(n),U=y(B=>pt(B.userState,k.userId)),K=()=>{l?.isPinSet!==!0&&a(za(n,!0))};i.useEffect(()=>{f.updateDebitCardPinAttemptFetchState.fetchState==="Completed"&&(setTimeout(K,3e3),g(!0))},[f.updateDebitCardPinAttemptFetchState.fetchState]);const I=B=>{F(B)};if(P!=="Completed"||l==null)return s.jsx(la,{fetchState:"In-Progress"});if(U?.phone==null)throw Error("Can't access user phone number.");return s.jsxs(ps,{children:[s.jsx($e,{isAppContentDrawerOpen:R,handleDrawerToggle:I}),s.jsx(ms,{cardId:n,card:l,phone:U.phone,signedInUser:k,isSandboxEnv:Ka(),debitCardDetailState:f,signedInUserToken:H,navigate:r,currentTenant:h,location:C,chargeCardCashbackRatePerTransaction:b.charge_card_cashback_rate_per_transaction!=null?b.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{I(!0)}}),e!=null?s.jsx(Cs,{windowSize:t,children:e}):null]})},ms=pe(function(e,{debitCardDetailState:t,cardId:a}){const r=ht(e,a),n=t.updateStatus,C=Ke(e,!1,!1,!1);let p=!1;return C.fetchState==="Completed"&&C.cards.length<=1&&(p=!0),{showMenuIcon:p,vgsVaultId:Ba.cardVaultId,twoFAView:r,setPinWaitStatus:n}},function(e,t){const{navigate:a,cardId:r,location:n,currentTenant:C,debitCardDetailState:p}=t,u=p.chargeCard?.cardProviderID,{tenantEmailDomain:S}=C;return{onGetOtp:o=>{u!=null&&e(Ta(o,"ChargeCardHolder",r))},onUpdateDebitCardPinAttempt:o=>{e(It(r,o))},onResendOtp:o=>{u!=null&&e(wa(o,"ChargeCardHolder",r))},onVerifyOtp:(o,c)=>{u!=null&&e(Pa(o,c,"ChargeCardHolder",r))},onVerifyOtpSuccess:o=>{o!=null&&J.saveZeniOtpTokenForCardHolder(o,r)},onSetPinSuccess:()=>{e(Yn({chargeCardId:r}))},onBackClick:()=>{const o=ve(n.state?.pathnameStackToGoBack),c=o.poppedPathname==null||o.poppedPathname.includes("activate")===!0?Ne(S):o.poppedPathname;a(c,{state:{pathnameStackToGoBack:o.newStack}})}}})(Er),Cs=_e.div`
|
|
48
|
+
display: flex;
|
|
49
|
+
flex-direction: column;
|
|
50
|
+
width: ${e=>`${ls.containerWidth.value(e.windowSize)}%`};
|
|
51
|
+
${e=>e.windowSize!=="small"?"overflow: auto;":""}
|
|
52
|
+
box-shadow: ${e=>`${Aa.sp0} 2px ${Aa.sp1} ${e.theme.colors.dropShadowNormal}`};
|
|
53
|
+
`,ps=_e.div`
|
|
54
|
+
display: flex;
|
|
55
|
+
min-height: 100%;
|
|
56
|
+
width: 100%;
|
|
57
|
+
flex: 1 1 auto;
|
|
58
|
+
flex-direction: column;
|
|
59
|
+
align-items: center;
|
|
60
|
+
background-color: ${e=>e.theme.colors.grey4};
|
|
61
|
+
box-shadow: ${e=>`${Aa.sp0} 2px ${Aa.sp1} ${e.theme.colors.dropShadowNormal}`};
|
|
62
|
+
`,hs={overlayWidth:new ma(Ra[12],Ra[12],Ra[9])},gs=pe(function(e,t){const a=Za(e,!1,!1),r=t.lineId,n=a.customAddress[r],C=a.customAddressStatus[r]??{fetchState:"Not-Started",error:void 0};return{googleAPIKey:t.googleAPIKey,customAddress:n,customAddressStatus:C,lineId:r}},function(e,t){const{newCustomAddressId:a,lineId:r,chargeCardTypeOption:n}=t;return{onSubmitHandler:C=>{a!=null&&e(Rt(`${n==="creditCard"?"credit":"debit"}_custom_shipping_${r}_address`));const p=Or(C);e(Wn({addressType:`${n==="creditCard"?"credit":"debit"}_custom_shipping_${r}_address`,addressToCreate:p})),e(qn(`${n==="creditCard"?"credit":"debit"}_custom_shipping_${r}_address`))},onDismissClick:()=>{t.onDismissClick(),a!=null&&e(Kn({addressId:a,cardLineId:r,cardType:n==="creditCard"?"business_physical_credit_card":"business_physical_debit_card"}))}}})(kr),fs=({lineId:e,closeDrawerHandler:t,chargeCardTypeOption:a})=>{const r=Wa(),n=ua(),C=()=>{t()},p=y(u=>Zn(`${a==="creditCard"?"credit":"debit"}_custom_shipping_${e}_address`,u))?.newAddressId;return s.jsx(Ht,{anchor:"right",open:e.length>0,PaperProps:{style:{minWidth:hs.overlayWidth.valuePercentage(n),boxShadow:"none",zIndex:8}},slotProps:{backdrop:{style:{opacity:.75,backgroundColor:r.colors.black,cursor:"pointer"}}},onClose:(u,S)=>(S==="backdropClick"||S==="escapeKeyDown")&&C(),children:s.jsx(gs,{googleAPIKey:Ba.googleMapsAPIKey,onDismissClick:C,lineId:e,chargeCardTypeOption:a,newCustomAddressId:p})})},bs=pe(function(e,t){const{isChargeCardFeatureEnabled:a,isDebitCardFeatureEnabled:r,isIssuePhysicalCardEnabled:n,isIssuePhysicalDebitCardEnabled:C,isChargeCardSetupEnabled:p,isDebitCardSetupEnabled:u}=t,S=Za(e,a&&p,r&&u);return{companyName:t.companyName,signedInUser:t.signedInUser,issueChargeCards:S,isIssuePhysicalCardEnabled:n,isIssuePhysicalDebitCardEnabled:C,isDebitCardFeatureEnabled:r,isChargeCardFeatureEnabled:a,isChargeCardSetupEnabled:p,isDebitCardSetupEnabled:u,cardHolderCandidates:S.userList.map(o=>o.user).filter(Boolean),allRoles:S.userList.map(o=>o.userRole),allAccountingClasses:S.allAccountingClasses,userList:S.userList}},function(e,t){return{onIssueCardClick:()=>{e(Jn())},onSaveChangesToLocalStore:a=>{e(Xn(a))},onDismissClick:()=>{e(Ot()),t.navigate("../")},resetCustomAddressByLineID:(a,r)=>{e(Rt(`${r==="creditCard"?"credit":"debit"}_custom_shipping_${a}_address`))},openAddAddressDrawerHandler:t.openAddAddressDrawerHandler}})(Pr);function ys(){const e=J.getSignedInUser(),t=le(),a=ue(),r=Dr(),[n]=ut(),C=n.get("cardType"),{useFeatureGate:p}=ce(),{isFeatureEnabled:u}=p(Y.isIssuePhysicalCardEnabled),{isFeatureEnabled:S}=p(Y.isIssuePhysicalDebitCardEnabled),{isFeatureEnabled:o}=p(Y.isDebitCardFeatureEnabled),{isFeatureEnabled:c}=p(Y.isChargeCardFeatureEnabled),_=y(I=>ie(I)),A=Se(o,_),g=Ie({isDebitCardFeatureEnabled:o,isBankingOnlyTenant:A}),R=be(_),F=ye(_),k=_.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,h=Ae({isCardsOnlyTenant:R,isChargeCardFeatureEnabled:c,isBookKeepingTenant:F,isDebitCardProductVisible:g,chargeCardsCreditAccountLimit:k}),[b,f]=i.useState(!1);if(e==null)throw Error("Can't access issue card page without signing in...");i.useEffect(()=>{b||(f(!0),a(Qn(g&&D,h&&d,!1)))},[b,f,a]);const d=!!_.companyChargeCardInfo?.info?.isChargeCardEnabled,D=!!_.companyDebitCardInfo?.info?.isDebitCardEnabled,v=_.companyName,N=y(I=>Za(I,h&&d,g&&D)),L=N.fetchState,w=N.issueCardStatus.fetchState,V=N.lastSelfIssuedDebitCardId,m=y(I=>V!=null?Ut(I.chargeCardState,V):void 0),[l,P]=i.useState(null),[T,H]=i.useState(null),U=()=>{P(null)},K=(I,B)=>{P(I),H(B)};return i.useEffect(()=>{if(w==="Completed"){if(V!=null&&m?.type.code==="business_virtual_debit_card"){let I;I=m?.status.code==="request_on_hold"&&e.userId===m.cardHolderUserId?zt(_.tenantEmailDomain):Ce(_.tenantEmailDomain,V,e,m),t(I)}else t("../");a(Ot())}},[w,V]),L==="Completed"?s.jsxs(s.Fragment,{children:[l!==null&&T!==null?s.jsx(fs,{closeDrawerHandler:U,lineId:l,chargeCardTypeOption:T}):null,s.jsx(bs,{companyName:v,signedInUser:e,themeState:r,isIssuePhysicalCardEnabled:u,isIssuePhysicalDebitCardEnabled:S,isDebitCardFeatureEnabled:g,isChargeCardFeatureEnabled:h,isChargeCardSetupEnabled:d,isDebitCardSetupEnabled:D,navigate:t,fetchState:N.fetchState,openAddAddressDrawerHandler:K,defaultCardType:C==="creditCard"||C==="debitCard"?C:void 0})]}):L==="Error"?s.jsx(La,{}):s.jsx(_r,{})}const Ss=_e.div`
|
|
63
|
+
display: flex;
|
|
64
|
+
height: 100vh;
|
|
65
|
+
width: 100%;
|
|
66
|
+
flex: 1 1 auto;
|
|
67
|
+
flex-direction: column;
|
|
68
|
+
overflow: auto;
|
|
69
|
+
align-items: center;
|
|
70
|
+
background-color: ${e=>e.theme.colors.grey4};
|
|
71
|
+
`,Is=pe(function(e,t){const{myPendingActivationChargeCardListState:a}=t;return{myPendingActivationChargeCardListView:a,uiState:a.uiState,signedInUser:t.signedInUser}},function(e,t){const{navigate:a,currentTenant:r,location:n,signedInUser:C,myPendingActivationChargeCardListState:p}=t,{tenantEmailDomain:u}=r,{cards:S}=p;return{onChargeCardRowClick:o=>{const c=Gt(S,o),_=Ce(u,o,C,c),A=ge(n.state?.pathnameStackToGoBack,n.pathname);a(_,{state:{pathnameStackToGoBack:A}})},onColumnSortConfigChanged:(o,c)=>{e(Na({uiState:{sortKey:o,sortOrder:c}}))},onReloadCards:()=>{e(ca())},onBackClick:()=>{const o=r.userRole.includes("charge_card_user");e(Na({uiState:{sortKey:o?"cardName":"owner",sortOrder:"ascending"}})),a("../")}}})(wr);function As(){const e=le(),t=ue(),a=fe(),r=Wa(),[n,C]=i.useState(!1),p=y(T=>er(T)),u=y(T=>ie(T)),S=y(T=>Ge(T,u.companyId)),o=ze(S.controllers),{useFeatureGate:c}=ce(),{isFeatureEnabled:_}=c(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:A}=c(Y.isDebitCardFeatureEnabled),g=Se(A,u),R=Ie({isDebitCardFeatureEnabled:A,isBankingOnlyTenant:g}),F=!!u.companyDebitCardInfo?.info?.isDebitCardEnabled,k=!!u.companyChargeCardInfo?.info?.isChargeCardEnabled,h=je(),b=be(u),f=ye(u),d=u.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,D=Ae({isCardsOnlyTenant:b,isChargeCardFeatureEnabled:_,isBookKeepingTenant:f,isDebitCardProductVisible:R,chargeCardsCreditAccountLimit:d}),v=Re(h?.loggedInUserRoleMap),N=y(T=>Ze(T)),{creditAccount:L,creditAccountRepayment:w}=y(T=>Ye(T)),V=y(T=>xt(T)).cards.filter(T=>T.type.code.includes("debit")).map(T=>T.connectedAccountId),m=[...new Set(V)],l=y(T=>va(T,m));i.useEffect(()=>{n||p.fetchState==="Completed"||p.fetchState==="In-Progress"||(C(!0),t(ca()),t(Da()))},[n,t,p.fetchState]),i.useEffect(()=>{if(p.fetchState==="Completed"&&p.cards.length===1&&P!=null){const T=Ce(u.tenantEmailDomain,p.cards[0].id,P,p.cards[0]);e(T,{state:{message:a.state?.message}})}},[p.fetchState,p.cards]);const P=J.getSignedInUser();if(i.useEffect(()=>{L.fetchState!=="Completed"&&L.fetchState!=="In-Progress"&&D&&k&&v&&t($a()),w.fetchState!=="Completed"&&w.fetchState!=="In-Progress"&&v&&t(Ga()),l.fetchState!=="Completed"&&l.fetchState!=="In-Progress"&&R&&F&&v&&t(Bt())},[L.fetchState,w.fetchState,t,l.fetchState,R,F,v,D,k]),P==null)throw Error("Can't access address page without signing in...");if(p.fetchState!=="Completed")return s.jsx(la,{fetchState:"In-Progress",style:{backgroundColor:r.colors.grey5}});{const T=Oe(D,R,F,k);return s.jsx(Ss,{children:s.jsx(Is,{navigate:e,currentTenant:u,signedInUser:P,productInformation:T,myPendingActivationChargeCardListState:p,isChargeCardFeatureEnabled:D,isDebitCardFeatureEnabled:R,isDebitCardSetupEnabled:F,isChargeCardSetupEnabled:k,chargeCardCashbackDetailState:N,creditAccount:L,creditAccountRepayment:w,depositAccountListWithDebitCardIssued:l,controllerEmails:o,location:a})})}}const Es=pe(function(e,t){const{companyId:a,companyLegalName:r}=t;return{chargeCardSetupView:da(e,a),admins:t.adminList,companyLegalName:r,meetingUrl:"https://meetings.hubspot.com/niharn/demo-zeni-charge-cards?embed=true"}},function(e,t){const{navigate:a,companyId:r,isCompanyBusinessVerificationAndPaymentSetUpDone:n,isDebitCardSetupEnabled:C,isChargeCardSetupEnabled:p,signedInUser:u,location:S,productInformation:o,isEarlyPayEnabled:c,controllerEmails:_,chargeCardsCreditAccountLimit:A}=t;return{onSetupButtonClick:g=>{if(u!=null&&Q.trackCardsPromoPageClicked("enable cards"),n)switch(Q.trackCardsEnableCardsClick(_,o,"Cards Promo"),g){case"credit":e(Ue(r,!0,"charge_cards",c,!1));break;case"debit":e(Ue(r,!0,"debit_cards",c,!1));break;case"debit_and_credit":e(A===0?Ue(r,!0,"debit_cards",c,!0):Ue(r,!0,"charge_cards__debit_cards",c,!1))}else switch(Q.trackCardsSetupCardsClick(_,o,"Cards Promo"),g){case"credit":e(Ue(r,!1,"charge_cards",c,!1));break;case"debit":e(Ue(r,!1,"debit_cards",c,!1));break;case"debit_and_credit":e(A===0?Ue(r,!1,"debit_cards",c,!0):Ue(r,!1,"charge_cards__debit_cards",c,!1))}},onBackClick:()=>{const g=ve(S.state?.pathnameStackToGoBack);let R=g.poppedPathname;R==null&&(R=C||p?"..":"../.."),a(R,{state:{pathnameStackToGoBack:g.newStack}})},onLetsGoClick:()=>{a("./onboard")},onSetupChargeCardSuccess:()=>{n?(e(_a()),a("../",{relative:"path"})):a("../setup",{relative:"path"})},onExpressInterestClick:()=>{e(nr(r))}}})(Fr),ks=()=>{const e=le(),{tenantEmailDomain:t}=ia(),[a]=ut(),r=a.get("cardPromoType"),n=ue(),{useDynamicConfig:C,useFeatureGate:p}=ce(),[u,S]=i.useState(!1),{isFeatureEnabled:o}=p(Y.isDebitCardFeatureEnabled),{isFeatureEnabled:c}=p(Y.isEarlyPayFeatureEnabled),{isFeatureEnabled:_}=p(Y.isChargeCardFeatureEnabled),{configValue:A}=C(Fe.zeniCardsConfig),g=y(ee=>ie(ee)),R=y(ee=>Ge(ee,g.companyId)),F=ze(R.controllers),k=A.charge_card_cashback_rate_per_transaction!=null?A.charge_card_cashback_rate_per_transaction:.0175,h=fe(),b=J.getSignedInUserTenant(t)?.companyId??g.companyId,f=y(ee=>da(ee,b)),d=f.primaryFundingAccount,D=g.companyBillPayInfo?.info,v=be(g),N=ye(g),L=Se(o,g),w=g.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,V=Ie({isDebitCardFeatureEnabled:o,isBankingOnlyTenant:L}),m=Ae({isCardsOnlyTenant:v,isChargeCardFeatureEnabled:_,isBookKeepingTenant:N,isDebitCardProductVisible:V,chargeCardsCreditAccountLimit:w}),l=$t({isCardsOnlyTenant:v,isChargeCardFeatureEnabled:_,isBookKeepingTenant:N}),P=V&&m===!1,T=D?.businessVerificationStatus?.code==="verified"&&(P||d?.accType==="depositAccount"||ar(d?.providerVerificationStatus?.code??"")),H=J.getSignedInUser(),U=!!g.companyZeniAccountInfo?.info?.isZeniAccountEnabled,K=!!g.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,I=!!g.company?.companyChargeCardInfo.isChargeCardEnabled,B=!!g.company?.companyDebitCardInfo.isDebitCardEnabled,j=!!g.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,O=ee=>{S(ee)},W=y(ee=>ee.chargeCardSetupViewState.fetchState);if(H==null)throw Error("Can't access Charge Card promo page without signing in...");const E=je(),z=Re(E?.loggedInUserRoleMap),q=Ya(E?.loggedInUserRoleMap),[G,x]=i.useState(!1),[se,ae]=i.useState(!1),[ne,X]=i.useState(!1);i.useEffect(()=>{G===!1&&h.state?.message==="activation"&&x(!0)},[h.state]),i.useEffect(()=>{se||W!=="Not-Started"||b==null||(ae(!0),n(Fa(b,!0)))},[se,W,b,n]);const re=g.companyChargeCardInfo?.info!=null&&Xe({cardInfo:g.companyChargeCardInfo.info,isProductVisible:l,isTOSAccepted:K,isSetupEnabled:I,isUserHasCardsAdminLevelAccess:z,isUserHasCardsAccess:q}),Ee=g.companyDebitCardInfo?.info!=null&&Xe({cardInfo:g.companyDebitCardInfo.info,isProductVisible:V,isTOSAccepted:j,isSetupEnabled:B,isUserHasCardsAdminLevelAccess:z,isUserHasCardsAccess:q}),xe=V&&Ee&&l&&w>=0&&re?"debit_and_credit":V&&Ee?"debit":"credit",Z=Rr(r,xe),he=f?.chargeCardTermsDetails?.fetchStatus?.fetchState,ke=i.useRef(null);i.useEffect(()=>{he==="In-Progress"?ke.current=Z:he!=="Error"&&he!=="Not-Started"||(ke.current=null)},[he,Z]);const Be=he!=="In-Progress"&&he!=="Completed"||ke.current==null?Z:ke.current;i.useEffect(()=>{Z==="credit"&&(I||l===!1&&B)||Z==="debit"&&B||Z==="debit_and_credit"&&B&&I?e("../"):(Z==="debit_and_credit"&&K===!0&&j===!0||Z==="credit"&&(K===!0||l===!1&&j===!0)||Z==="debit"&&j===!0)&&z===!0&&e("../setup")},[T,I,B,Z,K,j]),i.useEffect(()=>{ne||(n(tr("cardAdmin")),X(!0))},[ne]);const Pe=y(ee=>Tt(ee.userState,ee.userRoleState,ee.userListViewState,"cardAdmin")),we=Oe(l,V,B,I);return(re||Ee)&&W==="Completed"?s.jsxs(s.Fragment,{children:[s.jsx(Xa,{analytics:Q,onLoad:()=>{if(Q.trackPageLoaded(Vt.Event.cardsPromoPage),!!l&&!I||!!V&&!B||!!l&&!!V&&!B&&!I){const ee=Ds({isDebitCardSetupEnabled:B,isChargeCardSetupEnabled:I,isCreditCardProductVisibleForExpressInterest:l,isDebitCardProductVisible:V});Q.trackCardsPromoView(F,we,"Page",ee,"Promo Page")}}}),s.jsx(xa,{showConfetti:G}),s.jsx($e,{isAppContentDrawerOpen:u,handleDrawerToggle:O}),s.jsx(Es,{signedInUser:H,location:h,showEnableCardButton:T,isCompanyBusinessVerificationAndPaymentSetUpDone:T,isChargeCardSetupEnabled:I,isDebitCardSetupEnabled:B,companyLegalName:g.companyName,adminList:Pe.users,isCheckingEnabled:U,navigate:e,companyId:b,cardPromoType:Be,controllerEmails:F,productInformation:we,isCreditCardProductVisible:m,isDebitCardFeatureEnabled:o,isEarlyPayEnabled:c,cashbackRate:k,chargeCardsCreditAccountLimit:w,onClickMenuIcon:()=>{O(!0)}})]}):s.jsxs(s.Fragment,{children:[s.jsx($e,{isAppContentDrawerOpen:u,handleDrawerToggle:O}),s.jsx(Tr,{})]})},Ds=({isDebitCardSetupEnabled:e,isChargeCardSetupEnabled:t,isCreditCardProductVisibleForExpressInterest:a,isDebitCardProductVisible:r})=>a&&r&&!e&&!t?"Credit & Debit Card":a&&!t?"Credit Card":r&&!e?"Debit Card":"";function qs(){const e=fe(),t=y(W=>ie(W)),{useFeatureGate:a}=ce(),{isFeatureEnabled:r}=a(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:n}=a(Y.isDebitCardFeatureEnabled),{isFeatureEnabled:C}=a(Y.isEarlyPayFeatureEnabled),{isFeatureEnabled:p}=a(Y.isChargeCardPaymentHistoryFeatureEnabled),u=Se(n,t),S=Ie({isDebitCardFeatureEnabled:n,isBankingOnlyTenant:u}),o=vr(t,r,n),c=!!t.company?.companyChargeCardInfo.isChargeCardTOSAccepted,_=!!t.company?.companyDebitCardInfo.isDebitCardTOSAccepted,A=!!t.company?.companyChargeCardInfo.isChargeCardEnabled,g=!!t.company?.companyDebitCardInfo.isDebitCardEnabled,R=je(),F=Re(R?.loggedInUserRoleMap),k=Ya(R?.loggedInUserRoleMap),{isFeatureEnabled:h}=a(Y.isCashbackFeatureEnabled),b=t.userRole.includes("charge_card_user"),f=!b,d=!b&&A,D=t?.userRole!=null&&rr(t?.userRole),v=(t?.company==null||t.company.featuresActivationInfo?.isBillPayFeatureEnabled&&!D)&&sr(R?.loggedInUserRoleMap),N=or(R?.loggedInUserRoleMap),L=(t?.company==null||t.company.featuresActivationInfo?.isReimbursementFeatureEnabled&&!D)&&cr(R?.loggedInUserRoleMap),{isFeatureEnabled:w}=a(Y.isDepositAccountsFeatureEnabled),V=w&&!D&&ft(R?.loggedInUserRoleMap),m=A&&!D,l=g&&!D,P=o&&!D&&Re(R?.loggedInUserRoleMap),T=ir(R?.loggedInUserRoleMap),H=be(t),U=ye(t),K=t.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,I=Ae({isCardsOnlyTenant:H,isChargeCardFeatureEnabled:r,isBookKeepingTenant:U,isDebitCardProductVisible:S,chargeCardsCreditAccountLimit:K}),B=t.companyChargeCardInfo?.info!=null&&Xe({cardInfo:t.companyChargeCardInfo.info,isProductVisible:I,isTOSAccepted:c,isSetupEnabled:A,isUserHasCardsAdminLevelAccess:F,isUserHasCardsAccess:k}),j=t.companyDebitCardInfo?.info!=null&&Xe({cardInfo:t.companyDebitCardInfo.info,isProductVisible:S,isTOSAccepted:_,isSetupEnabled:g,isUserHasCardsAdminLevelAccess:F,isUserHasCardsAccess:k}),O=B||j;return s.jsxs(Wt,{children:[F?s.jsx(te,{path:"setup",element:s.jsx(st,{isBillPayAdminLevelAccess:v,isReimbursementAdminLevelAccess:L,isZeniAccountAdminLevelAccess:V,isChargeCardAdminLevelAccess:P,isUserHasOnlyCardAccess:T,isUserHasOnlyBillPayAccess:N,productType:"charge_cards",type:"setup"})}):null,F?s.jsx(te,{path:"verification",element:s.jsx(st,{isBillPayAdminLevelAccess:v,isUserHasOnlyBillPayAccess:N,isReimbursementAdminLevelAccess:L,isZeniAccountAdminLevelAccess:V,isChargeCardAdminLevelAccess:P,isUserHasOnlyCardAccess:T,productType:"charge_cards",type:"verification"})}):null,s.jsx(te,{path:"promo",element:s.jsx(ks,{})}),m||l?s.jsxs(s.Fragment,{children:[s.jsx(te,{path:"/",element:s.jsx(ct,{isPaymentDrawerOpen:!1})}),P&&C?s.jsx(te,{path:"payment",element:s.jsx(ct,{isPaymentDrawerOpen:!0})}):null,s.jsx(te,{path:"activate",element:s.jsx(As,{})}),s.jsx(te,{path:"onboard",element:s.jsx(cs,{})}),F?s.jsx(te,{path:"new",element:s.jsx(ys,{})}):null,h&&f?s.jsx(te,{path:"cashback",element:s.jsx(Vr,{})}):null,d?s.jsx(te,{path:"statements",element:s.jsx(ss,{})}):null,P&&p&&A?s.jsx(te,{path:"payment-history",element:s.jsx(rs,{})}):null,s.jsx(te,{path:":cardId/activate",element:s.jsx($r,{})}),s.jsx(te,{path:":cardId/setPin",element:s.jsx(us,{})}),s.jsx(te,{path:":cardId/addToWallet",element:s.jsx(jr,{})}),s.jsx(te,{path:":cardId/*",element:s.jsx(Qr,{})}),s.jsx(te,{path:"*",element:s.jsx(La,{})})]}):(c||_)&&F?s.jsx(te,{path:"*",element:s.jsx(fa,{to:"../setup"})}):O?s.jsx(te,{path:"*",element:s.jsx(fa,{to:"../promo",state:e.state})}):s.jsx(te,{path:"*",element:null})]})}export{qs as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as m}from"./liveblocks-oJncKqAM.js";import{a as g}from"./sentry-Wbq0JKts.js";import{j as w,h as k,u as x,l as T,g as O,k as E}from"./core-DPuoDz-C.js";import{z as N,b1 as F,A as P,d as V,f as A,ac as C,b2 as j,aq as L,ar as M,n as U}from"./index-DPfZNvSx.js";import{eQ as h,fE as B,s8 as R,fz as _,c2 as z,Mv as G,bn as q,q9 as Y,pZ as Z,ka as H,lG as S,Mw as Q,bE as $,cv as D,lO as J,lR as K}from"./zeni-epic-state-DxdjrTbG.js";import"./mui-CvBhrbbU.js";import{c as W}from"./routePaths-C0C2W8XC.js";import{M as X}from"./MobileAppDrawer-CIFLBMnG.js";(function(){try{var n=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new n.Error().stack;t&&(n._sentryDebugIds=n._sentryDebugIds||{},n._sentryDebugIds[t]="3e69c985-c873-4a0e-93fc-7f52a76da1f3",n._sentryDebugIdIdentifier="sentry-dbid-3e69c985-c873-4a0e-93fc-7f52a76da1f3")}catch{}})();const ee=E(function(n){const t=_(n),i=N.getSignedInUser(),l=h(n),c=l.tenantId,p={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:c??""},f=z(l?.userRole??[])&&t.localData.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",e=G(n.companyConfigState),a=n.countryListState?.byCountryListCode?.nationalityCountryList?.countries??[];return{isCompanyVerified:t.companyView?.company?.company?.companyBillPayInfo?.companyVerificationStatus?.code==="verified",companyPassportView:t,allIndustries:e.companyIndustries??[],allNationalityCountries:a,isDisabled:f,authParams:p,filesEndPoint:`${L.fileMicroServiceBaseUrl}`,isZeniUser:q(i)}},function(n,t){const{companyId:i,currentTenant:l,navigate:c,location:p}=t,{tenantEmailDomain:f}=l;return{onScheduleClick:e=>{let a=e.href;a.includes("http")||(a="https://".concat(a)),window.open(a,"_blank")},onSaveAll:()=>{n(K())},onAddressClick:e=>{const a=W(f,e),o=U(p.state?.pathnameStackToGoBack,p.pathname);c(a,{state:{pathnameStackToGoBack:o}})},onResetClick:()=>{n(J({companyId:i}))},onBackClick:()=>{c("../")},onCompanyDetailsChanged:e=>{const{companyInfo:a,incInfo:o,taxDetails:r,zeniFinanceTeam:d}=e,{website:u}=a,{meetingLink:y}=d,{incDate:s}=o,{taxesFiledYears:b}=r,v={companyInfo:{...a,website:u!=""&&u!=null?D(u):void 0,meetingLink:y!=""&&y!=null?D(y):void 0,industry:a.industry.selectedOption,companyIndustryType:a.companyIndustryType?.selectedOption??void 0,companySubIndustry:a.companySubIndustry?.selectedOption??void 0,businessModel:a.businessModel.selectedOption??"",companySourceOfFunds:a.companySourceOfFunds?.selectedOption,companySourceOfFundsDescription:a.companySourceOfFundsDescription??void 0,countriesOfOperations:a.countriesOfOperations?.selectedOptions?.map(I=>I.length===2?I:M(I))??[],transactionVolume:a.transactionVolume?.selectedOption??void 0,transactionVolumeDescription:a.transactionVolumeDescription??void 0,regulatedStatus:a.regulatedStatus??void 0,regulatedStatusDescription:a.regulatedStatusDescription??void 0,usNexus:a.usNexus??void 0,usNexusTypes:a.usNexusTypes?.selectedOptions??[],purposeOfAccount:a.purposeOfAccount?.selectedOption??void 0,purposeOfAccountDescription:a.purposeOfAccountDescription??void 0},incInfo:{typeOfInc:o.typeOfInc.selectedOption??"",stateOfInc:o.stateOfInc.selectedOption??"",incDate:s!=null?$(s?.toString()):s,fileId:o.fileIds[0]},taxDetails:{taxIdOrEIN:r.taxIdOrEIN,sicCode:r.sicCode,naicsCode:r.naicsCode,dunsNumber:r.dunsNumber,taxesFiledYears:b.selectedOptions.map(I=>parseInt(I)),fileId:r.fileIds[0]}};n(S({companyDetails:v}))},onPrimaryContactDetailsUpdated:e=>{n(S({primaryContact:{userId:e.userId,email:e.email.trim(),firstName:e.name.firstName,lastName:e.name.lastName}}))},onNewCompanyOfficerAdded:e=>{n(S({officers:[{officerType:e.officerType,email:e.email.trim(),phone:e.phone,firstName:e.name.firstName,lastName:e.name.lastName,userId:void 0}]}))},onNewCompanyOfficerRemoved:e=>{n(Q(e))},onCompanyOfficerUpdated:e=>{n(S({officers:[{officerType:e.officerType,email:e.email.trim(),phone:e.phone,firstName:e.name.firstName,lastName:e.name.lastName,userId:e.userId}]}))},updateFilesEntity:e=>{n(H({files:e}))},onDeleteFile:e=>{n(Z(e))},onEditFileName:(e,a)=>{n(Y(e,a.split(".")[0]))}}})(j);function de(){const n=w(),t=k(),i=x(),{tenantEmailDomain:l}=T(),[c,p]=g.useState(!1),[f,e]=g.useState(!1),a=O(s=>s.companyViewState.passportView.fetchState),o=O(s=>s.companyConfigState.fetchState),r=O(s=>h(s)),d=r.companyId??N.getSignedInUserTenant(l)?.companyId;if(N.getSignedInUser()==null)throw Error("Can't access company details page without signing in...");g.useEffect(()=>{c||a!=="Not-Started"||d==null||(p(!0),t(B(d)))},[c,a,d,t]),g.useEffect(()=>{o==="Not-Started"&&t(R())},[o,t]);const u=s=>{e(s)},y=a==="Not-Started"||a==="In-Progress"||o==="Not-Started"||o==="In-Progress";return d!=null&&a==="Error"?m.jsx(F,{onGoHome:()=>n("../",{replace:!0}),onReload:()=>window.location.reload()}):m.jsxs(m.Fragment,{children:[m.jsx(P,{analytics:V,onLoad:s=>s.trackPageLoaded(A.Event.companyPassport,C(i)?"Settings":"Company Passport")}),C(i)?m.jsx(X,{isAppContentDrawerOpen:f,handleDrawerToggle:u}):null,m.jsx(ee,{companyId:d,navigate:n,location:i,isLoading:y,currentTenant:r,isSettings:C(i),onClickMenuIcon:()=>{u(!0)}})]})}export{de as C};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{j as C}from"./liveblocks-oJncKqAM.js";import{a}from"./sentry-Wbq0JKts.js";import{h as D,u as v,g as u,N as w}from"./core-DPuoDz-C.js";import{J9 as A,eQ as O,fl as U,mS as _,fN as E,fk as j,eR as L,Jg as k}from"./zeni-epic-state-DxdjrTbG.js";import{u as F,z as p,L as g,D as $,o as H}from"./index-DPfZNvSx.js";import{n as R}from"./mui-CvBhrbbU.js";import{t as z}from"./getLocaleForTenant-Cv1qkYRT.js";import{g as Q,Q as J}from"./QBOConnectionScreen-4k7XqHlG.js";import"./recharts-8icy_MRK.js";import"./analytics-CAylLTML.js";import"./plaid-B5RWvsAl.js";import"./dnd-DoKiSnu1.js";import"./stripe-DMRn4zHo.js";import"./lottie-DF3afs57.js";import"./lexical-By4mk6_c.js";import"./pdf-ZStfwNCw.js";import"./utils-BQwNg4C5.js";import"./empty-Dya-tSOZ.js";import"./pdf-lib-Cz_8yjsc.js";import"./index-D_RleLEr.js";import"./url-DJu6Grkr.js";import"./index-CIJ8oTsb.js";import"./decodeURIComponentSafe-CoP-62fa.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},d=new t.Error().stack;d&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[d]="0a98b192-a0c4-4670-822f-b14995350685",t._sentryDebugIdIdentifier="sentry-dbid-0a98b192-a0c4-4670-822f-b14995350685")}catch{}})();const P=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 fe(){const t=D(),d=v(),{setLoading:i,clearAllLoading:b}=F(),f=a.useRef(!1),c=a.useRef(!1),{code:x,realmId:N,state:S}=Q(d.search),T=x!==""&&N!==""&&S!=="",I=u(l=>A(l)),e=u(l=>O(l)),n=u(l=>l.tenantState.fetchState),r=u(l=>l.tenantState.activeTenantFetchState.fetchState),o=p.getSignedInUser(),m=p.getActiveTenantForUser()?.tenantId,s=e?.externalConnections?.fetchState,h=e?.externalConnections?.saveConnectionState,y=e.externalConnections?.accounting[0]?.isValid;return a.useLayoutEffect(()=>{i(g.CONNECTION_AUTH)},[i]),a.useEffect(()=>{f.current||o==null||m==null||(f.current=!0,n==="Completed"||r!=="Not-Started"&&r!=="Error"||(i(g.TENANT_FETCHING),t(U(o.userId,m))))},[f,n,i]),a.useEffect(()=>{e.tenantId==null&&!c.current&&o!=null&&(c.current=!0,!(m==null||m!=null&&(r==="Completed"||r==="Error"))||n!=="Not-Started"&&n!=="Error"||t(_(o.userId)))},[c,n,r]),a.useEffect(()=>{o==null||e?.tenantId==null||e.externalConnections!=null||n!=="Completed"&&r!=="Completed"||s==="In-Progress"||h!=="Error"||(i(g.CONNECTION_AUTH),t(E(o.userId,e.tenantId)))},[h]),a.useEffect(()=>{n!=="Completed"&&r!=="Completed"||o==null||e?.tenantId==null||(t(j(e.tenantId)),p.saveActiveTenantDomainForUser(e.tenantEmailDomain),L(o?.userId,o?.zeniSessionId,e.tenantId),$.updateAppLocaleID(z(k(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"&&p.saveSignedInUserTenants(I.tenantsCoreDetailsInOrder)},[I.tenantsCoreDetailsInOrder.length,n]),a.useEffect(()=>{n!=="Completed"&&n!=="Error"||r!=="Completed"&&r!=="Error"||s!=="Completed"&&s!=="Error"||b()},[n,r,s]),e==null||n!=="Completed"&&r!=="Completed"||s!=="Completed"?null:T||y===!1?C.jsx(P,{children:C.jsx(J,{})}):C.jsx(w,{to:"/",replace:!0})}export{fe as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as i}from"./liveblocks-oJncKqAM.js";import{z as a}from"./index-DPfZNvSx.js";import{g as n}from"./QBOConnectionScreen-4k7XqHlG.js";import"./sentry-Wbq0JKts.js";import{u as p,N as s}from"./core-DPuoDz-C.js";import"./zeni-epic-state-DxdjrTbG.js";import"./recharts-8icy_MRK.js";import"./mui-CvBhrbbU.js";import"./analytics-CAylLTML.js";import"./plaid-B5RWvsAl.js";import"./dnd-DoKiSnu1.js";import"./stripe-DMRn4zHo.js";import"./lottie-DF3afs57.js";import"./lexical-By4mk6_c.js";import"./pdf-ZStfwNCw.js";import"./utils-BQwNg4C5.js";import"./empty-Dya-tSOZ.js";import"./pdf-lib-Cz_8yjsc.js";import"./index-D_RleLEr.js";import"./url-DJu6Grkr.js";import"./index-CIJ8oTsb.js";import"./decodeURIComponentSafe-CoP-62fa.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]="8d904e89-6b8e-4c86-980c-585a84d9d789",t._sentryDebugIdIdentifier="sentry-dbid-8d904e89-6b8e-4c86-980c-585a84d9d789")}catch{}})();const U=()=>{const t=p(),{code:o,realmId:r,state:e}=n(t.search),d=a.getSignedInUser()?.userId??"";if(f(o,r,e,d)===!0){const m=`../../${e}/onboarding?code=${o}&realmId=${r}&state=auth_flow`;return i.jsx(s,{to:m})}return i.jsx(s,{to:"../../"})},f=(t,o,r,e)=>t!=""&&o!=""&&r!=""&&e!=null&&e!="";export{U as default,f as hasValidParams};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import{j as a}from"./liveblocks-oJncKqAM.js";import{t as Ke,A as Ce}from"./AddressScreen-DgW0r12j.js";import $e from"./NotFoundScreen-6s-CV-uJ.js";import{a as g}from"./sentry-Wbq0JKts.js";import{j as oe,u as se,h as ie,l as re,g as D,N as E,k as ce,i as ze,n as Me,o as z}from"./core-DPuoDz-C.js";import{v as de,c as le,z as B,y as ue,m as Qe,S as _,n as V,A as W,d as N,x as je,f as X,am as qe,Z as Ze,an as ke,h as te,ao as He,ap as Ie,o as We,aq as Je,ar as Ee,as as Xe}from"./index-DPfZNvSx.js";import{bn as Ye,eQ as ee,fd as et,eW as pe,eU as me,bv as tt,mQ as at,f9 as nt,bO as ot,je as ae,jh as ve,JF as st,bT as it,c2 as ge,sm as he,s7 as rt,Ka as Y,sn as _e,Hx as ct,ki as Ue,Kb as Ve,Kc as dt,Kd as lt,Ke as ut,jc as pt,jf as mt,s9 as Be,sl as gt,bE as xe,cv as ht,sz as Te,q9 as ft,pZ as yt,ka as bt,fC as St,fB as Ct,fA as kt,Kf as It,s1 as Et,sA as xt,sD as Tt,sG as Ot,sM as At,cU as Pt}from"./zeni-epic-state-DxdjrTbG.js";import{n as fe}from"./mui-CvBhrbbU.js";import{g as Dt,h as Ft,q as ne}from"./QBOConnectionScreen-4k7XqHlG.js";import"./recharts-8icy_MRK.js";import"./analytics-CAylLTML.js";import"./plaid-B5RWvsAl.js";import"./dnd-DoKiSnu1.js";import"./stripe-DMRn4zHo.js";import"./lottie-DF3afs57.js";import"./lexical-By4mk6_c.js";import"./pdf-ZStfwNCw.js";import"./utils-BQwNg4C5.js";import"./empty-Dya-tSOZ.js";import"./pdf-lib-Cz_8yjsc.js";import"./index-D_RleLEr.js";import"./url-DJu6Grkr.js";import"./index-CIJ8oTsb.js";import"./decodeURIComponentSafe-CoP-62fa.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]="b878aeac-8aaf-450e-8e34-41bd59880b96",t._sentryDebugIdIdentifier="sentry-dbid-b878aeac-8aaf-450e-8e34-41bd59880b96")}catch{}})();const wt=ce(function(t,o){const s=[];o.isApAgingFeatureEnabled===!1&&s.push("accounts_payable_aging"),o.isArAgingFeatureEnabled===!1&&s.push("accounts_receivable_aging"),o.shouldFetchZeniAccountsPromoCard===!1&&s.push("zeni_accounts_promo_card"),o.shouldFetchRewardsPlanCard===!1&&s.push("rewards_card"),o.isExpenseAutomationEnabledForUser===!1&&s.push("expense_automation_card");const u=nt(t,s,o.signedInUser,o.isExpenseAutomationFeatureEnabledV2,o.isExpenseAutomationEnabledForUser,o.isTreasuryEnabled);return{dashboardFetchState:ot(u.reportsInOrder.map(d=>({fetchState:d.fetchState,error:d.error}))).fetchState}},function(t,o){const{themeState:s,navigate:u,location:d}=o;return{onZeniLogoClick:()=>{s.toggle()},onDashboardFetchDone:()=>{const r=V(d.state?.pathnameStackToGoBack,d.pathname);u("../../dashboard",{state:{pathnameStackToGoBack:r,message:"activation"}})}}})(qe),jt=()=>{const t=oe(),o=se(),s=ie(),u=de(),[d,r]=g.useState(!1),[p,b]=g.useState(!1),{tenantEmailDomain:e}=re(),n=le(),i=B.getSignedInUser(),h=Ye(i),{useFeatureGate:m}=ue(),I=Qe(),{isFeatureEnabled:x}=m(_.isApAgingFeatureEnabled),{isFeatureEnabled:T}=m(_.isArAgingFeatureEnabled),{isFeatureEnabled:k}=m(_.isDepositAccountsFeatureEnabled),{isFeatureEnabled:f}=m(_.isReferralFeatureEnabled),{isFeatureEnabled:U}=m(_.isExpenseAutomationEnabled),{isFeatureEnabled:C}=m(_.isExpenseAutomationEnabledV2),{isFeatureEnabled:F}=m(_.isDebitCardFeatureEnabled),K=C||U&&h,c=D(l=>ee(l)),{isFeatureEnabled:L}=m(_.isTreasuryEnabled),w=c.company!=null&&et(c.company),G=L&&w,O=D(l=>l.onboardingCustomerViewState.fetchState),S=c.excludedResources,R=c.companyId??B.getSignedInUserTenant(e)?.companyId;if(i==null)throw Error("Can't access onboarding flow without signing in...");const j=pe(F,c),A=me(c),P=[],q=S?.resources?.find(l=>l.resource==="/reports/top_expenses")==null,$=S?.resources?.find(l=>l.resource==="/reports/task_card")==null,M=c?.userRole!=null&&tt(c?.userRole),v=S?.resources?.find(l=>l.resource==="/bills")==null&&!M,Q=S?.resources?.find(l=>l.resource==="/reimbursements")==null;if(q===!1&&P.push("top_expenses"),$===!1&&P.push("task_card"),v===!1&&P.push("bill_pay_card","bill_pay_promo_card"),Q===!1&&P.push("reimbursement_card","reimbursement_promo_card"),k===!1&&P.push("zeni_accounts_promo_card"),f===!1&&P.push("rewards_card"),g.useEffect(()=>{O!=="Completed"||d||j||A||(r(!0),s(at(i.userId,R,c.tenantId,!0,!1,P)))},[d,O,j,A,i,c.tenantId,s]),g.useEffect(()=>{(j||A)&&setTimeout(()=>{b(!0)},5e3)},[j,A]),O!=="Completed")return a.jsx(E,{to:"../"});if(O==="Completed"&&p){const l=V(o.state?.pathnameStackToGoBack,o.pathname);if(j)return a.jsx(E,{to:"../../checking",state:{...o.state,pathnameStackToGoBack:l,message:"activation"}});if(A)return a.jsx(E,{to:"../../cards",state:{...o.state,pathnameStackToGoBack:l,message:"activation"}})}return n?.loggedInUserRoleMap!=null?a.jsxs(a.Fragment,{children:[a.jsx(W,{analytics:N,onLoad:l=>(Z=>Z.trackPageLoaded(X.Event.onboardingDashboardActivation))(l)}),a.jsx(wt,{navigate:t,location:o,themeState:u,signedInUser:i,isApAgingFeatureEnabled:x,isArAgingFeatureEnabled:T,shouldFetchZeniAccountsPromoCard:k,shouldFetchRewardsPlanCard:f,isExpenseAutomationEnabledForUser:K,isExpenseAutomationFeatureEnabledV2:C,isTreasuryEnabled:G,loggedInUserRoleMap:n?.loggedInUserRoleMap})]}):a.jsx(je,{fetchState:"In-Progress",style:{backgroundColor:I.colors.grey5}})},Oe=fe.div`
|
|
2
|
+
display: flex;
|
|
3
|
+
height: 100vh;
|
|
4
|
+
background-color: ${t=>t.theme.colors.grey4};
|
|
5
|
+
`,Ae=fe.div`
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
align-items: center;
|
|
9
|
+
min-width: calc(100% - ${Ie}px);
|
|
10
|
+
padding-left: ${Ie}px;
|
|
11
|
+
flex: 1;
|
|
12
|
+
|
|
13
|
+
${t=>t.theme.breakpoints.down("md")} {
|
|
14
|
+
width: 100%;
|
|
15
|
+
padding-left: ${We.sp0};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
${t=>t.windowSize!=="small"?"overflow: auto;":""}
|
|
19
|
+
`,Pe=ce(function(t,o){const{companyId:s,isAdmin:u,currentTenant:d,isOnAddressPage:r}=o,p=B.getSignedInUser(),b=d.tenantId,e={userId:p?.userId??"",sessionId:p?.zeniSessionId??"",tenantId:b??""},n=ee(t),i=he(t,s),h=Ve(t),m=ge(d?.userRole??[])&&i.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",I=dt(t.userRoleConfigState);return{onboardingCustomerView:i,analytics:N,isRefreshingViewInBackground:!1,isDisabled:m,companyTitles:I.companyTitles,connectedAccountProvider:n.company?.featuresActivationInfo.connectedAccountProvider??"",fileProps:{filesEndPoint:Je.fileMicroServiceBaseUrl,authParams:e},signedInUser:B.getSignedInUser(),currentTenant:d,isAdmin:u,isOnAddressPage:r,meetingUrl:"https://meetings.hubspot.com/niharn/zeni-onboarding-overview?embed=true",cardPaymentView:h,isCardPaymentPopupOpen:!1,stripeKey:te.stripeKey}},function(t,o){const{companyId:s,currentTenant:u,themeState:d,navigate:r,location:p}=o,{tenantEmailDomain:b}=u;return{onFetchLinkTokenClick:(e,n)=>{t(At(e,n))},onEstablishConnectionClick:(e,n)=>{t(Ot(e,n))},onUpdatePaymentAccountStatus:(e,n,i)=>{t(Tt(e,n,i))},onUpdatePaymentAccountLoginStatus:(e,n)=>{t(xt(!1,e,n))},onEstablishConnectionSuccess:()=>{t(Et(s,!0,!1))},handleOnConnectClick:()=>{N.trackOnboardingConnectQBO(),ne.handleClick()},updateQBOPopupState:e=>{t(Y({isQBOPopupOpen:e}))},onCompanyOfficerUpdated:e=>{const n=e.map(i=>{const{officerType:h,userId:m,name:I,email:x,ssn:T,nationalityCountryCode:k,dob:f,phone:U,syncToken:C,selectDocument:F,role:K,ownership:c,isSelectedForVerification:L,userVerificationStatus:w,fileIds:G,isPhoneVerified:O}=i;let S;return F.selectDocumentType==="driverLicense"?S="driving_license":F.selectDocumentType==="passport"?S="passport":F.selectDocumentType==="stateId"?S="id_document":F.selectDocumentType==="ssnCard"&&(S="social_security_card"),{officerType:h,userId:m,firstName:I.firstName,lastName:I.lastName,email:x,ssn:T,nationalityCountryCode:k?.selectedOption!=null?Ee(k.selectedOption):void 0,phone:U,birthday:f!=null?xe(f?.toString()):f,syncToken:C,titleAtCompany:K.selectedOption,ownershipInCompany:c,documentTypeSelectedForVerification:S,isSelectedForVerification:L,userVerificationStatus:w,fileIds:G,additionalDocumentTypesRequestedForVerification:[],additionalSubmittedDocumentsForVerificationFileIds:[],areAdditionalDocumentsRequestedForVerification:!1,areAdditionalDocumentsSubmittedForVerification:!1,isPhoneVerified:O}});t(Te({officers:n}))},onGetOtp:(e,n)=>{t(kt(e,"CustomerOnboarding")),n!=null&&t(It({officerType:n,phone:e}))},onResendOtp:e=>{t(Ct(e,"CustomerOnboarding"))},onVerifyOtp:(e,n)=>{t(St(e,n,"CustomerOnboarding"))},updateFilesEntity:e=>{t(bt({files:e}))},onDeleteFile:e=>{t(yt(e))},onEditFileName:(e,n)=>{t(ft(e,n.split(".")[0]))},onCompanyDetailsChanged:e=>{const{companyDescription:n,companyIndustry:i,companyIndustryType:h,companyLegalName:m,companyTaxId:I,companyWebsite:x,companyPhone:T,primaryContactEmail:k,primaryContactName:f,primaryContactUserId:U,primaryContactSyncToken:C,syncToken:F,fileIds:K,typeOfIncorporation:c,stateOfIncorporation:L,incDate:w,companySourceOfFunds:G,companySourceOfFundsDescription:O,companySubIndustry:S,countriesOfOperations:R,purposeOfAccount:j,purposeOfAccountDescription:A,regulatedStatus:P,regulatedStatusDescription:q,transactionVolume:$,transactionVolumeDescription:M,usNexus:v,usNexusTypes:Q}=e,l={companyId:s,companyDescription:n,companyIndustry:i.selectedOption,companyIndustryType:h?.selectedOption??"",companyLegalName:m,taxIdOrEIN:I,website:x!=""&&x!=null?ht(x):void 0,phone:T,syncToken:F,fileIds:K,incDate:w!=null?xe(w?.toString()):w,typeOfIncorporation:c?.selectedOption??"",stateOfIncorporation:L?.selectedOption??"",companySourceOfFunds:G?.selectedOption??"",companySourceOfFundsDescription:O,companySubIndustry:S?.selectedOption??"",countriesOfOperations:R?.selectedOptions.map(H=>H.length===2?H:Ee(H))??[],purposeOfAccount:j?.selectedOption??"",purposeOfAccountDescription:A,regulatedStatus:P??"",regulatedStatusDescription:q,transactionVolume:$?.selectedOption??"",transactionVolumeDescription:M,usNexus:v,usNexusTypes:Q?.selectedOptions??[]},Z={userId:U,firstName:f.firstName,lastName:f.lastName,email:k,syncToken:C};t(Te({companyDetails:l,primaryContactDetails:Z}))},onAddressClick:(e,n)=>{const i=De(b,e,n),h=V(p.state?.pathnameStackToGoBack,p.pathname);r(i,{state:{pathnameStackToGoBack:h}})},onRegisteredAddressClick:(e,n)=>{const i=De(b,e,n),h=V(p.state?.pathnameStackToGoBack,p.pathname);r(i,{state:{pathnameStackToGoBack:h}})},onUpdateCustomerView:(e,n,i)=>{t(gt(s,!1,n,i,e))},onAddressEditHandler:e=>{if(e!=null){const n=Ke(e);t(Ue({addressType:"subscription_billing_address",addressToCreate:n}))}},onSkipSetupClick:()=>{const e=V(p.state?.pathnameStackToGoBack,p.pathname);t(Be(s,!1,!1)),r("./activation",{state:{pathnameStackToGoBack:e}})},onUpdateStep:e=>{t(_e({step:e}))},onZeniLogoClick:()=>{d.toggle()},handleLogOutClick:()=>{const e=V(p.state?.pathnameStackToGoBack,p.pathname);r("/signout",{replace:!0,state:{pathnameStackToGoBack:e,message:"logout"}})},handleCockpitClick:()=>{window.open("/cockpit")},handleCreateCardSetupIntent:e=>{t(ve(e))},handleConfirmCardSetupIntent:e=>{t(mt(e))},updateCardPaymentModalState:e=>{t(Y({isCardPaymentPopupOpen:e}))},handleAddCardPaymentSource:(e,n,i)=>{t(pt(e,n,i))},handleFetchPaymentSources:()=>{t(ae())},resetCardPaymentViewState:()=>{t(ut())},handleResetCardPaymentErrorStatuses:()=>{t(lt())},redirectToProductSuitePage:()=>{const e=V(p.state?.pathnameStackToGoBack,p.pathname);r(`/${b}/onboarding/thankyou`,{state:{pathnameStackToGoBack:e,message:"OnboardingThankyou"},replace:!0})}}})(He),J=({taxCFOCustomer:t=!1,isOnAddressPage:o=!1,appContent:s})=>{const u=oe(),d=se(),r=ie(),p=Ze(),b=de(),[e,n]=g.useState(!1),[i,h]=g.useState(!1),[m,I]=g.useState(!1),{tenantEmailDomain:x}=re(),T=le(),{useFeatureGate:k}=ue(),{isFeatureEnabled:f}=k(_.isDebitCardFeatureEnabled),U=ze("/:tenantEmailDomain/onboarding")!==null&&d.search?.includes("code"),C=D(y=>y.onboardingCustomerViewState.fetchState),F=D(y=>y.onboardingCustomerViewState.currentStep),K=D(y=>y.onboardingCustomerViewState.uiState),c=D(y=>ee(y)),L=D(y=>y.userRoleConfigState.fetchState),w=D(y=>y.cardPaymentViewState),G=ke(w.addCardPaymentSourceStatus.fetchState),O=w.addCardPaymentSourceStatus.fetchState,{code:S,realmId:R,state:j}=Dt(d.search),A=c.externalConnections?.accounting[0],P=A?.connectionType,q=A?.connectionName,$=A?.connectionId??"",M=B.getSignedInUser()?.userId??"";g.useEffect(()=>{i||(h(!0),r(ae()))},[i,r]),g.useEffect(()=>{m||(ve(["card"]),I(!0))},[m]),g.useEffect(()=>{G==="In-Progress"&&O==="Completed"&&r(ae())},[G,O]),g.useEffect(()=>{Ft(S,R,j,$,M)===!0&&c.externalConnections?.saveConnectionState!=="In-Progress"&&C==="Completed"&&(r(st(c.tenantId,{connection_type:P??"accounting",connection_name:q??"quickbooks_online",authorization_code:S,realm_id:R,connection_id:$,user_id:M},it(window.location.origin+"/onboarding/auth"))),N.trackOnboardingSaveQBOConnection(R,$),u(d.pathname))},[S,R,j,d.pathname,C]),g.useEffect(()=>{ne.isInitiated===!1&&C==="Completed"&&ne.init("/onboarding/auth",c.tenantEmailDomain)},[C]);const v=c.companyId??B.getSignedInUserTenant(x)?.companyId,Q=ge(c?.userRole??[]),l=D(y=>he(y,v));g.useEffect(()=>{e||C!=="Not-Started"||v==null||(n(!0),r(rt(v,!0,!U)))},[e,C,v]),g.useEffect(()=>{c.externalConnections?.saveConnectionState!=="Completed"&&c.externalConnections?.saveConnectionState!=="Error"||!K.isQBOPopupOpen||F!=="qbo_connection"||r(Y({isQBOPopupOpen:!1}))},[c.externalConnections?.saveConnectionState]),g.useEffect(()=>{C==="Completed"&&U&&(r(_e({step:"qbo_connection"})),r(Y({isQBOPopupOpen:!0})))},[U,C]),g.useEffect(()=>{L==="Not-Started"&&r(ct(!0))},[L,r]);const Z=ke(l.companyDetailsLocalData?.addressStatus);g.useEffect(()=>{l.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate==null&&l.companyDetailsLocalData?.addressStatus?.addressToCreate!=null&&Z==null&&r(Ue({addressType:"company_registered_address",addressToCreate:l.companyDetailsLocalData?.addressStatus?.addressToCreate}))},[l.companyDetailsLocalData?.addressStatus?.addressToCreate,l.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate]);const H=l.isInterimEmailSent;if(B.getSignedInUser()==null)throw Error("Can't access onboarding flow without signing in...");const Le=pe(f,c),Ge=me(c),ye=c.company?.companyOnboardingInfo.isOnboardingCompleted,be=y=>y.trackPageLoaded(X.Event.onboardingPage),Se=c.productSettings.isOtherProductsEnabled,Re=c.productSettings.isTreasuryEnabled;if(ye===!0){if(!Se)return Re?a.jsx(E,{to:"../../treasury"}):Le?a.jsx(E,{to:"../../checking"}):Ge?a.jsx(E,{to:"../../cards"}):a.jsx(E,{to:"../../dashboard"});const y=l.updateStatus.fetchState==="In-Progress";if(Se&&!y)return t?a.jsxs(Oe,{children:[a.jsx(W,{analytics:N,onLoad:Ne=>be(Ne)}),a.jsx(Pe,{navigate:u,location:d,companyId:v,currentTenant:c,isAdmin:Q,isOnAddressPage:o,themeState:b,googleAPIKey:te.googleMapsAPIKey}),s!=null?a.jsx(Ae,{windowSize:p,children:s}):null]}):a.jsx(E,{to:"../../onboarding/thankyou"})}else if(ye===!1&&T?.loggedInUserRoleMap!=null)return H===!0?a.jsx(E,{to:"../../onboarding/thankyou"}):a.jsxs(Oe,{children:[a.jsx(W,{analytics:N,onLoad:y=>be(y)}),a.jsx(Pe,{navigate:u,location:d,companyId:v,currentTenant:c,isAdmin:Q,isOnAddressPage:o,themeState:b,googleAPIKey:te.googleMapsAPIKey}),s!=null?a.jsx(Ae,{windowSize:p,children:s}):null]});return null};function De(t,o,s){let u=`/${t}/onboarding/address`;return u=s!=null?u.concat(`/edit/${o}/${encodeURIComponent(s)}`):u.concat(`/new/${o}`),u}const Fe=fe.div`
|
|
20
|
+
display: flex;
|
|
21
|
+
height: 100vh;
|
|
22
|
+
background-color: ${t=>t.theme.colors.grey4};
|
|
23
|
+
`,we=ce(function(t,o){const{companyId:s,currentTenant:u}=o,d=he(t,s),r=Ve(t);return{hasVerifiedBankAccount:(d.paymentAccount?.providerVerificationStatus?.code?.includes("verified")??!1)||(r.bankAccountsList[0]?.providerVerificationStatus?.code?.includes("verified")??!1),isDisabled:ge(u?.userRole??[])&&d.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",signedInUser:B.getSignedInUser(),currentTenant:u,meetingUrl:"https://meetings.hubspot.com/niharn/zeni-onboarding-overview?embed=true"}},function(t,o){const{currentTenant:s,themeState:u,navigate:d,location:r}=o,{tenantEmailDomain:p}=s;return{onZeniLogoClick:()=>{u.toggle()},handleLogOutClick:()=>{const b=V(r.state?.pathnameStackToGoBack,r.pathname);d("/signout",{replace:!0,state:{pathnameStackToGoBack:b,message:"logout"}})},handleCockpitClick:()=>{window.open("/cockpit")},handleUpdatePaymentAddressDetailClick:()=>{const b=V(r.state?.pathnameStackToGoBack,r.pathname);d(`/${p}/onboarding/billing/edit`,{state:{pathnameStackToGoBack:b,message:"UpdatePaymentAddressDetail"}})}}})(Xe),vt=()=>{const t=oe(),o=ie(),s=se(),u=de(),{useFeatureGate:d}=ue(),{isFeatureEnabled:r}=d(_.isDebitCardFeatureEnabled),{tenantEmailDomain:p}=re(),b=le(),[e,n]=g.useState(!1);g.useEffect(()=>{e===!1&&s.state?.message==="OnboardingThankyou"&&n(!0)},[s.state]);const i=D(f=>ee(f)),h=i.productSettings.isOtherProductsEnabled;g.useEffect(()=>{o(Be(m,!1,!h))},[]);const m=i.companyId??B.getSignedInUserTenant(p)?.companyId;if(b.loggedInUser==null)throw Error("Can't access onboarding flow without signing in...");const I=pe(r,i),x=me(i),T=D(f=>f.onboardingCustomerViewState.updateStatus.fetchState),k=i.company?.companyOnboardingInfo.isOnboardingCompleted;return k!==!0||h?T==="Completed"&&k===!0&&h&&b?.loggedInUserRoleMap!=null?a.jsxs(Fe,{children:[a.jsx(W,{analytics:N,onLoad:f=>{f.trackPageLoaded(X.Event.onboardingLandingPage,"Onboarding",Pt(i.productSettings))}}),a.jsx(we,{navigate:t,showUpdatePaymentDetailButton:h,location:s,companyId:m,currentTenant:i,themeState:u,isVisitingFirstTime:e})]}):T==="Completed"&&k===!1&&b?.loggedInUserRoleMap!=null?a.jsxs(Fe,{children:[a.jsx(W,{analytics:N,onLoad:f=>{f.trackPageLoaded(X.Event.onboardingInterimPage)}}),a.jsx(we,{navigate:t,showUpdatePaymentDetailButton:h,location:s,companyId:m,currentTenant:i,themeState:u,isVisitingFirstTime:e})]}):a.jsx(je,{fetchState:T}):I?a.jsx(E,{to:"../../checking"}):x?a.jsx(E,{to:"../../cards"}):a.jsx(E,{to:"../../dashboard"})};function oa(){return a.jsxs(Me,{children:[a.jsx(z,{path:"/",element:a.jsx(J,{})}),a.jsx(z,{path:"/billing/edit",element:a.jsx(J,{taxCFOCustomer:!0})}),a.jsx(z,{path:"/thankyou",element:a.jsx(vt,{})}),a.jsx(z,{path:"/activation",element:a.jsx(jt,{})}),a.jsx(z,{path:"/address/edit/:addressType/:addressId",element:a.jsx(J,{isOnAddressPage:!0,appContent:a.jsx(Ce,{})})}),a.jsx(z,{path:"/address/new/:addressType",element:a.jsx(J,{isOnAddressPage:!0,appContent:a.jsx(Ce,{})})}),a.jsx(z,{path:"*",element:a.jsx($e,{})})]})}export{oa as default};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import{j as l}from"./liveblocks-oJncKqAM.js";import{l as z,g as S,u as q,h as N,j as Z,k as Q,s as Ka,n as st,o as w}from"./core-DPuoDz-C.js";import{eQ as B,Kv as Ye,bE as Gt,bq as he,LI as qa,i2 as Za,LJ as wt,LK as Ha,i5 as rt,LL as je,LM as Qa,ia as Xa,LN as Dt,LO as Wa,ie as it,LP as Le,LQ as Ja,cl as lt,LR as en,LS as tn,KP as an,j8 as nn,LT as on,bn as Ie,LU as Nt,Kj as ae,bc as $t,jm as zt,m_ as Kt,j5 as qt,Kl as ne,Kk as H,f5 as sn,eN as rn,fn as cn,LV as ln,LW as dn,LX as Zt,LY as _e,uc as Ee,ud as Te,uA as fe,uu as oe,uh as xe,LZ as un,L_ as mn,L$ as pn,M0 as Ht,M1 as ke,M2 as hn,dE as Ve,qJ as Qt,M3 as fn,M4 as gn,M5 as bn,M6 as dt,JI as ut,jC as ge,uI as mt,qR as Cn,M7 as _n,ue as Ft,qM as me,qI as Xt,M8 as ie,M9 as kn,Ma as pt,JG as ht,sQ as Wt,Mb as Sn,Mc as yn,Md as An,Me as ft,t1 as vn,Mf as In,ug as Pt,sP as Jt,Mg as ce,Mh as En,bv as ea,uM as ta,Mi as Tn,Mj as xn,Mk as wn,Ml as gt,uH as Dn,Mm as Fn,uf as Ot,uL as aa,Mn as le,Mo as Pn,Mp as On,Mq as na,jr as oa,mX as sa,jw as ra,mV as ia,mU as ca,mT as la,sc as Mn,fd as Rn,cO as Bn,cP as jn,mQ as Ln,f9 as Un,n5 as Yn,DQ as Mt,Mr as Vn,Ms as Gn,Mt as Nn,Mu as $n,b5 as bt,f0 as zn,gM as Kn,fE as qn,m$ as Zn,i_ as Hn,mY as Qn,mW as Xn,eW as Wn,eU as Jn}from"./zeni-epic-state-DxdjrTbG.js";import{z as R,Y as X,n as D,d as I,D as K,aR as eo,A as we,aS as da,f as V,aT as to,c as De,aU as ua,y as Ge,S as j,m as ao,aV as no,aW as oo,R as ma,Z as so,a as pa,a1 as ro,aK as ha,aX as io,aY as co,X as lo,aZ as uo,a_ as mo,an as po,p as ho,T as fo,a$ as go,b0 as ye}from"./index-DPfZNvSx.js";import{n as Ct}from"./mui-CvBhrbbU.js";import{a as C}from"./sentry-Wbq0JKts.js";import{w as fa}from"./withTransactionSidePanel-D14NyE9e.js";import{b as ga,t as be,e as se,a as _t,v as bo}from"./routePaths-C0C2W8XC.js";import{u as W}from"./useAskAiCfoHostNavButtonProps-Dp2Xhyb6.js";import{c as Fe,b as Co,u as _o}from"./useFetchSuggestedQuestionsWhenReady-eIU3TXlQ.js";import ve from"./NotFoundScreen-6s-CV-uJ.js";import{t as ba}from"./analyticsHelper-CnKhOE0J.js";import{C as ko}from"./CompanyPassportScreen-CurP8P_r.js";import{F as So}from"./FeaturePreviewScreen-D6uCQjjF.js";import{R as yo}from"./ReferralListScreen-CKP-RqZB.js";import"./recharts-8icy_MRK.js";import"./analytics-CAylLTML.js";import"./plaid-B5RWvsAl.js";import"./dnd-DoKiSnu1.js";import"./stripe-DMRn4zHo.js";import"./lottie-DF3afs57.js";import"./lexical-By4mk6_c.js";import"./pdf-ZStfwNCw.js";import"./utils-BQwNg4C5.js";import"./TransactionDetailScreen-DxF4bkB2.js";import"./decodeURIComponentSafe-CoP-62fa.js";import"./MobileAppDrawer-CIFLBMnG.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]="3a93f1f3-44e5-4620-908f-b1e02e0cef7f",e._sentryDebugIdIdentifier="sentry-dbid-3a93f1f3-44e5-4620-908f-b1e02e0cef7f")}catch{}})();const Ao=fa(function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{vendorId:o,reportDate:r}=z(),s=R.getSignedInUser(),i=S(E=>E.tenantState.currentTenantId),d=S(E=>B(E)),{tenantEmailDomain:p}=z(),_=q(),g=d?.companyName??"",u={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i??""},c=C.useMemo(()=>({authParams:u,companyName:g,downloadEndPoint:`${X}/agingDetailedReport`,timezone:Ye()}),[]),m=C.useMemo(()=>r!=null?Gt(r):he(),[r]),h=N(),f=Z(),k=S(E=>qa(E,m,o)),y=C.useCallback(()=>{o!=null&&k.fetchState!=="In-Progress"&&k.fetchState!=="Completed"&&h(Za(o,m))},[m]),b=C.useCallback(()=>{f("../../",{relative:"path"})},[]),A=C.useCallback((E,$)=>{h(wt({sortKey:E,sortOrder:$}))},[]),T=C.useCallback(E=>{h(wt({downloadState:E}))},[]),L=C.useCallback(E=>{if(e)e(E.transactionId,E.transactionType);else if(p!=null){const $=ga({id:E.transactionId,type:E.transactionType},p);f($);const de=D(_.state?.pathnameStackToGoBack,_.pathname);f($,{state:{pathnameStackToGoBack:de}})}},[p,e]),F=C.useCallback(()=>{k.vendor!=null&&I.trackApAgingDetail("AP Aging",m.format(K.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),k.vendor.id,k.vendor.name)},[k.vendor,m]);return C.useEffect(()=>{y()},[]),C.useEffect(()=>{k.fetchState==="Completed"&&F()},[F,k.fetchState]),l.jsx(eo,{apAgingDetail:k,downloadParams:c,reportDate:m,analytics:I,onTransactionClick:L,onReload:y,onBackClick:b,onColumnSortConfigChanged:A,updateDownloadStateHandler:T,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})}),vo=()=>{const e=N(),a=Z(),t=S(A=>Ha(A)),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=W({mobileExploreReferrer:"AP Aging"});Fe({isDataReady:t.fetchState==="Completed"});const r=R.getSignedInUser(),s=S(A=>A.tenantState.currentTenantId),i=S(A=>B(A)),d=i?.companyName??"",p={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:s??""},_=C.useMemo(()=>({authParams:p,companyName:d,downloadEndPoint:`${X}/agingReport`,timezone:Ye()}),[]),g=t.apAgingUIState.selectedDate??he(),u=C.useCallback(()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(rt(g))},[]);C.useEffect(()=>{u()},[]);const c=C.useCallback(()=>{a("../",{relative:"path"})},[]),m=C.useCallback(A=>{e(je({searchString:A}))},[]),h=C.useCallback((A,T)=>{e(je({sortKey:T,sortOrder:A}))},[]),f=C.useCallback(A=>{a(`./${A}/${g.format(K.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)},[g]),k=C.useCallback(A=>{e(je({downloadState:A}))},[]),y=C.useCallback((A,T)=>{},[]),b=C.useCallback((A,T)=>{e(je({selectedDate:A,agingDateSelectionType:T})),e(rt(A))},[]);return l.jsxs(l.Fragment,{children:[t.fetchState==="Completed"?l.jsx(we,{analytics:I,onLoad:A=>A.trackPageLoaded(V.Event.agingReport,"AP Aging")}):null,l.jsx(da,{uiState:t.apAgingUIState,report:t,downloadParams:_,analytics:I,onReloadReport:u,onBackClick:c,onSearchTextChange:m,onSortOrderChange:h,onEntityNameClick:f,updateDownloadStateHandler:k,onSelectedDateChanged:b,onNodeCollapseToggled:y,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},Io=fa(function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{customerId:o,reportDate:r}=z(),s=R.getSignedInUser(),i=S(F=>B(F)),{tenantEmailDomain:d}=z(),p=q(),_=i.companyName,g={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i.tenantId},u=C.useMemo(()=>({authParams:g,companyName:_,downloadEndPoint:`${X}/agingDetailedReport`,timezone:Ye()}),[]),c=C.useMemo(()=>r!=null?Gt(r):he(),[r]),m=N(),h=Z(),f=S(F=>Qa(F,c,o)),k=C.useCallback(()=>{o!=null&&f.fetchState!=="In-Progress"&&f.fetchState!=="Completed"&&m(Xa(o,c))},[c]),y=C.useCallback(()=>{h("../../",{relative:"path"})},[]),b=C.useCallback((F,E)=>{m(Dt({sortKey:F,sortOrder:E}))},[]),A=C.useCallback(F=>{m(Dt({downloadState:F}))},[]),T=C.useCallback(F=>{if(e)e(F.transactionId,F.transactionType);else if(d!=null){const E=ga({id:F.transactionId,type:F.transactionType},d);h(E);const $=D(p.state?.pathnameStackToGoBack,p.pathname);h(E,{state:{pathnameStackToGoBack:$}})}},[d,e]),L=C.useCallback(()=>{f.customer!=null&&I.trackArAgingDetail("AR Aging",c.format(K.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),f.customer.id,f.customer.name)},[f.customer,c]);return C.useEffect(()=>{k()},[]),C.useEffect(()=>{f.fetchState==="Completed"&&L()},[f.fetchState,L]),l.jsx(to,{arAgingDetail:f,downloadParams:u,reportDate:c,analytics:I,onTransactionClick:T,onReload:k,onBackClick:y,onColumnSortConfigChanged:b,updateDownloadStateHandler:A,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})}),Eo=()=>{const e=N(),a=Z(),t=S(b=>Wa(b)),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=W({mobileExploreReferrer:"AR Aging"});Fe({isDataReady:t.fetchState==="Completed"});const r=R.getSignedInUser(),s=S(b=>B(b)),i=s.companyName,d={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:s.tenantId},p=C.useMemo(()=>({authParams:d,companyName:i,downloadEndPoint:`${X}/agingReport`,timezone:Ye()}),[]),_=t.arAgingUIState.selectedDate??he(),g=C.useCallback(()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(it(_))},[]);C.useEffect(()=>{g()},[]);const u=C.useCallback(()=>{a("../",{relative:"path"})},[]),c=C.useCallback(b=>{e(Le({searchString:b}))},[]),m=C.useCallback((b,A)=>{e(Le({sortKey:A,sortOrder:b}))},[]),h=C.useCallback(b=>{a(`./${b}/${_.format(K.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)},[_]),f=C.useCallback(b=>{e(Le({downloadState:b}))},[]),k=C.useCallback((b,A)=>{e(Le({selectedDate:b,agingDateSelectionType:A})),e(it(b))},[]),y=C.useCallback((b,A)=>{e(Ja({nodeId:b,isCollapsed:A}))},[]);return l.jsxs(l.Fragment,{children:[t.fetchState==="Completed"?l.jsx(we,{analytics:I,onLoad:b=>b.trackPageLoaded(V.Event.agingReport,"AR Aging")}):null,l.jsx(da,{uiState:t.arAgingUIState,report:t,downloadParams:p,analytics:I,onReloadReport:g,onBackClick:u,onSearchTextChange:c,onSortOrderChange:m,onEntityNameClick:h,updateDownloadStateHandler:f,onSelectedDateChanged:k,onNodeCollapseToggled:y,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},Ca=(e,a)=>({key:a,title:e.accountName,amount:e.balance?.available,logoUri:e.logo?.toString(),source:e});function _a(e,a){const t=an(a.firstMonthOfFY);return{onItemClick:(n,o)=>{const r=o.accountName===""?o.accountDescription:o.accountName,s=be(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(nn(n,o))},onPromoCardBtnClick:n=>{if(a.isZeniAccountsAdmin){let o=`../../checking/${n}`;n?I.trackZeniAccountsCashBalancePromoClicked("Move Money"):(I.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 I.trackZeniAccountsCashBalancePromoClicked("Learn More"),window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")}}}const To=Q(function(e){const a=en(e).accountsInOrder.map((n,o)=>Ca(n,o)),t=tn(e);return{sectionTitle:K.getLocalizedStrings().balanceCard.cashBalanceSectionTitle,transactionArray:a,zeniAccountsPromoCardReport:t,fetchState:e.cashBalanceState.fetchState,analytics:I}},_a)(ua),xo=Q(function(e){const a=on(e).accountsInOrder.map((o,r)=>Ca(o,r)),t=R.getSignedInUser(),n=Ie(t);return{sectionTitle:K.getLocalizedStrings().balanceCard.cardBalanceSectionTitle,transactionArray:a,isZeniUser:n,fetchState:e.cardBalanceState.fetchState,analytics:I}},_a)(ua);function wo(){const e=Z(),a=q(),{tenantEmailDomain:t}=z(),n=De(),o=S(s=>B(s).company?.companyInfo.firstMonthOfFY??1),r=lt(n?.loggedInUserRoleMap);return S(s=>s.cashBalanceState.fetchState)==="Error"?l.jsx(ve,{}):l.jsx(To,{tenantEmailDomain:t,location:a,referrerType:"Cash Balance",navigate:e,isZeniAccountsAdmin:r,firstMonthOfFY:o})}function Do(){const e=Z(),a=q(),{tenantEmailDomain:t}=z(),n=De(),o=lt(n?.loggedInUserRoleMap),r=S(s=>B(s).company?.companyInfo.firstMonthOfFY??1);return S(s=>s.cardBalanceState.fetchState)==="Error"?l.jsx(ve,{}):l.jsx(xo,{tenantEmailDomain:t,location:a,referrerType:"Card Balance",navigate:e,isZeniAccountsAdmin:o,firstMonthOfFY:r})}const Fo=Ct.div`
|
|
2
|
+
display: flex;
|
|
3
|
+
flex: 1 1 auto;
|
|
4
|
+
min-height: 100%;
|
|
5
|
+
flex-direction: column;
|
|
6
|
+
background-color: ${e=>e.theme.colors.grey4};
|
|
7
|
+
`,Po=Ct.div`
|
|
8
|
+
display: flex;
|
|
9
|
+
flex: 1 1 auto;
|
|
10
|
+
flex-direction: column;
|
|
11
|
+
align-items: center;
|
|
12
|
+
background-color: ${e=>e.theme.colors.grey4};
|
|
13
|
+
`;function Oo({title:e,reportId:a,entityAutoCompleteView:t,autoCompleteText:n,isAiCfoAccessEnabled:o,onAskAiCfoClick:r}){const s=Z(),i=N(),d=q(),{tenantEmailDomain:p}=z(),_=ao();return l.jsxs(Fo,{children:[l.jsx(no,{source:a==="cash_balance"?"CashBalanceDetailScreen":"CardBalanceDetailScreen",title:e,onBackClick:()=>{s("../")},hideSearchBtn:!0,backgroundColor:_.colors.grey4,searchAutoComplete:{autoCompleteData:{entityAutoCompleteView:t,autoCompleteText:n},autoCompleteActions:{onAutoCompleteInputChange:g=>{g.trim().length>=2?i(ne({searchString:g,searchOrigin:"navbar"})):g.trim().length===0&&i(H("navbar"))},onAutoCompleteEntity:g=>{n!=null&&I?.trackSearch(V.Event.search,Mo(a),g.type,g.name,n);const u=se(g,p),c=D(d.state?.pathnameStackToGoBack,d.pathname);s(u,{state:{pathnameStackToGoBack:c}})}}},rightSideComponent:l.jsx(oo,{isAiCfoAccessEnabled:o,onAskAiCfoClick:r})}),l.jsx(Po,{children:a==="cash_balance"?l.jsx(wo,{}):l.jsx(Do,{})})]})}function Rt(){const e=q(),a=N(),{useFeatureGate:t}=Ge(),{isFeatureEnabled:n}=t(j.isDepositAccountsFeatureEnabled),o=S(h=>h.cashBalanceState.fetchState),r=S(h=>h.cardBalanceState.fetchState),s=R.getSignedInUser();if(s==null)throw Error("Can't access dashboard detail without signing in...");const i=Nt((h=>{const f=$t(h,"/").split("/");return f[f.length-1]})(e.pathname));let d="Not-Started",p="";const _=K.getLocalizedStrings();switch(i){case"cash_balance":d=o,p=_.reportTitleById.cash_balance;break;case"card_balance":d=r,p=_.reportTitleById.card_balance;break;default:console.error(`${i} is not supported!`)}const{isAiCfoAccessEnabled:g,onAskAiCfoClick:u}=W({mobileExploreReferrer:i==="card_balance"?"Card Balance":"Cash Balance"});Fe({isDataReady:d==="Completed"});const c=S(h=>h.entityAutoCompleteState.autoCompleteText.navbar),m=S(h=>ae(h,"navbar"));return C.useEffect(()=>{d==="Not-Started"&&function(h,f,k){switch(f){case"card_balance":h(qt());break;case"cash_balance":h(zt()),k===!0&&h(Kt());break;default:throw new Error(`balance report type ${f} is not yet supported`)}}(a,i,n)},[s,a,d]),l.jsxs(l.Fragment,{children:[d==="Completed"?l.jsx(we,{analytics:I,onLoad:h=>((f,k)=>{switch(k){case"card_balance":f.trackPageLoaded(V.Event.cardBalance);break;case"cash_balance":f.trackPageLoaded(V.Event.cashBalance);break;default:console.error(`Analytics: Not tracking Page Loaded for ${k}!`)}})(h,i)}):null,l.jsx(Oo,{title:p,reportId:i,autoCompleteText:c,entityAutoCompleteView:m,isAiCfoAccessEnabled:g,onAskAiCfoClick:u})]})}const Mo=e=>{switch(e){case"cash_balance":return"Cash Balance";case"card_balance":return"Card Balance";default:return"Dashboard"}},Ro=[];function Pe(e){const{mobileExploreReferrer:a}=e,t=N(),n=Z(),o=q(),{tenantEmailDomain:r}=z(),{setIsAiCfoOpen:s,setAiCfoSidePanelQuestionToSubmit:i}=ma(),d=so(),p=lo(d),_=Ka(),g=S(O=>sn(O)),u=g.uiState?.currentChatSessionId,c=g.allSessionsWithOrderedQuestionAnswers??Ro,m=R.getSignedInUser()?.userId,h=pa(),f=Co()&&h&&r!=null,k=ro(),y=_o(!0),b=S(O=>k!=null?rn(O,k):void 0),{useDynamicConfig:A}=Ge(),{configValue:T}=A(ha.aiCfoMessageDynamicConfig),L=C.useMemo(()=>Array.isArray(T.default_message_list)?T.default_message_list:[],[T.default_message_list]),F=C.useMemo(()=>L.slice(0,2),[L]),E=k!=null&&b!=null&&b.fetchState!=="Completed"&&b.fetchState!=="Error"&&(y||b.fetchState==="In-Progress"),$=C.useMemo(()=>{if(k==null||b?.fetchState==="Error")return F;if(E)return[];const O=(b?.suggestedQuestions??[]).map(J=>J.trim()).filter(J=>J.length>0).slice(0,2);return O.length===0?F:O},[F,E,k,b?.fetchState,b?.suggestedQuestions]),de=C.useCallback((O,J)=>{if(m==null||O.trim()==="")return;const Me=io(_.getState());if(p){const $e=D(o.state?.pathnameStackToGoBack,o.pathname);n(`/${r}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:$e,referrer:a,aiCfoInitialQuestion:O,aiCfoShouldSubmit:!Me}})}else{if(Me)return t(cn(O)),void s(!0);i(O),s(!0),co(t,O,"insights_section",u,c,m,J,void 0)}},[c,u,t,p,o.pathname,o.state,a,n,s,i,_,r,m]),Ce=C.useCallback(()=>{if(p){const O=D(o.state?.pathnameStackToGoBack,o.pathname);n(`/${r}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:O,referrer:a}})}else s(!0)},[p,o.pathname,o.state,a,n,s,r]);return C.useMemo(()=>{if(f)return{isSuggestedQuestionsLoading:E,onAskSomethingElseClick:Ce,onSuggestedQuestionClick:de,suggestedQuestions:$}},[f,E,Ce,de,$])}const Oe=uo,Bo=Q(function(e){const a=ln(e),t=dn(e),n=Zt(e),{scrollPosition:o,...r}=n,s=K.getLocalizedStrings().reportTitleById.cash_in_cash_out,i=R.getSignedInUser(),d=e.tenantState.currentTenantId,p=B(e),_=p?.companyName??"",g={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:d??""},u=e.entityAutoCompleteState.autoCompleteText.navbar,c=ae(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:_,statementEndPoint:`${X}/statement`,authParams:g},analytics:I,autoCompleteData:{autoCompleteText:u,entityAutoCompleteView:c}}},function(e,a){return{updateDownloadStateHandler:t=>{e(un(t))},onTimeframeSelectionChanged:()=>{},onCOABalancesRangeChanged:(t,n)=>{e(xe(t,n)),e(_e({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(fe("month")),e(oe(a.firstMonthOfFY,t)),e(_e({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Ee(a.firstMonthOfFY,t,o,n)),n.length>0&&e(Te(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout(()=>e(_e({resetLeftScroll:!0})),50)},onElementCollapseStateChanged:(t,n)=>{e(_e({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(_e({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ne({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(H("navbar"))},onAutoCompleteEntity:t=>{const n=se(t,a.tenantEmailDomain),o=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}})(Oe),jo=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,{isAiCfoAccessEnabled:o,onAskAiCfoClick:r}=W({mobileExploreReferrer:"DashboardCashInCashOut"}),s=Pe({mobileExploreReferrer:"DashboardCashInCashOut"}),i=S(d=>Zt(d)).mode==="compare_mode";return l.jsx(Bo,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:i,navigate:n,insightsSectionAiCfoInfo:s,isAiCfoAccessEnabled:o,onAskAiCfoClick:r})},Lo=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Ve(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}},Uo=Q(function(e){const a=mn(e),t=pn(e),n=Ht(e),{scrollPosition:o,...r}=n,s=K.getLocalizedStrings().reportTitleById.cash_position,i=R.getSignedInUser(),d=e.tenantState.currentTenantId,p=B(e),_=p?.companyName??"",g={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:d??""},u=e.entityAutoCompleteState.autoCompleteText.navbar,c=ae(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:_,statementEndPoint:`${X}/statement`,authParams:g},analytics:I,autoCompleteData:{autoCompleteText:u,entityAutoCompleteView:c}}},function(e,a){return{updateDownloadStateHandler:t=>{e(hn(t))},onTimeframeSelectionChanged:t=>{e(fe(t)),setTimeout(()=>e(ke({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(xe(t,n)),e(ke({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(oe(a.firstMonthOfFY,t)),e(ke({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Ee(a.firstMonthOfFY,t,o,n)),n.length>0&&e(Te(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout(()=>e(ke({resetLeftScroll:!0})),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Lo(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const i=be(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),d=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:d,referrer:"Cash Position"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ne({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(H("navbar"))},onAutoCompleteEntity:t=>{const n=se(t,a.tenantEmailDomain),o=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onTableScroll:t=>{e(ke({scrollPosition:t}))},onBackClick:()=>{a.navigate("../")}}})(Oe),Yo=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,{isAiCfoAccessEnabled:o,onAskAiCfoClick:r}=W({mobileExploreReferrer:"DashboardCashPosition"}),s=Pe({mobileExploreReferrer:"DashboardCashPosition"}),i=S(d=>Ht(d)).mode==="compare_mode";return l.jsx(Uo,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:i,navigate:n,insightsSectionAiCfoInfo:s,isAiCfoAccessEnabled:o,onAskAiCfoClick:r})},G=(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 Je(){return l.jsxs(st,{children:[l.jsx(w,{path:"/",element:l.jsx(ee,{})}),l.jsx(w,{path:"/:forecastId",element:l.jsx(ee,{})}),l.jsx(w,{path:"/:forecastId/*",element:l.jsx(ve,{})})]})}const Vo=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Ve(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}},Go=Q(function(e){const a=Qt(e),t=fn(e),n=gn(e),o=bn(e),r=dt(e),{scrollPosition:s,...i}=r,d=t.reportTitle,p=R.getSignedInUser(),_=e.tenantState.currentTenantId,g=B(e),u=g?.companyName??"",c={userId:p?.userId??"",sessionId:p?.zeniSessionId??"",tenantId:_??""},m=e.entityAutoCompleteState.autoCompleteText.navbar,h=ae(e,"navbar"),f=ut(g);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:d},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${X}/statement`,authParams:c},analytics:I,isZeniUser:Ie(p),autoCompleteData:{autoCompleteText:m,entityAutoCompleteView:h},isZeniCOAUsed:f,isAccountingClassesEnabled:ge(e)}},function(e,a){return{updateDownloadStateHandler:t=>{e(kn(t))},onTimeframeSelectionChanged:t=>{e(fe(t)),setTimeout(()=>e(ie({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(xe(t,n)),e(ie({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(oe(a.firstMonthOfFY,t)),e(ie({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Ee(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Te(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&G(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout(()=>e(ie({resetLeftScroll:!0})),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Vo(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?_t(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):be(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),d=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:d,referrer:"Burn Rate"}})}},onElementCollapseStateChanged:(t,n)=>{e(ie({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(ie({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ne({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(H("navbar"))},onAutoCompleteEntity:t=>{const n=se(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(me(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?pe:kt,n)),t==="forecast_mode"?(e(Ft({viewMode:"account_group"})),e(Xt(!1,n?.id)),n!=null&&G(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):G(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(ie({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Burn Rate"),e(Ft({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(_n({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(Cn())},onResyncReports:()=>{e(mt("net_burn_or_income_by_classes"))}}})(Oe),No=e=>{const a=N(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,{isAiCfoAccessEnabled:s,onAskAiCfoClick:i}=W({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),d=Pe({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),p=S(b=>dt(b)),_=p.isForecastModeOn,g=p.timeframe,u=p.selectedForecast?.id,c=S(b=>pt(b.forecastState,u??"")),m=S(b=>Qt(b)),h=S(b=>ht(b)),f=S(b=>ge(b)),k=p.mode==="compare_mode",y=m.dataAvailable;return C.useEffect(()=>{if(u!=null&&_===!0&&(G(_,r,u,o),c!=null)){const b=c?.forecastPeriod,A=y!=null&&b.endDate.isAfter(y?.endDate)===!0?y:b;a(oe(e.firstMonthOfFY,{startDate:A.endDate.startOf(g),endDate:A?.endDate}))}},[u]),l.jsx(Go,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,forecastIdFromUrlPath:r,location:n,isAccountingClassesEnabled:f,isCompareModeOn:k,navigate:o,analytics:I,reportsResyncFetchState:h.reportsResyncFetchState,insightsSectionAiCfoInfo:d,isAiCfoAccessEnabled:s,onAskAiCfoClick:i})},$o=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Ve(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}},zo=Q(function(e){const a=Wt(e),t=Sn(e),n=yn(e),o=An(e),r=ft(e),{scrollPosition:s,...i}=r,d=K.getLocalizedStrings().reportTitleById.operating_expenses,p=R.getSignedInUser(),_=e.tenantState.currentTenantId,g=B(e),u=g?.companyName??"",c={userId:p?.userId??"",sessionId:p?.zeniSessionId??"",tenantId:_??""},m=e.entityAutoCompleteState.autoCompleteText.navbar,h=ae(e,"navbar"),f=ut(g);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:d},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${X}/statement`,authParams:c},analytics:I,isZeniUser:Ie(p),autoCompleteData:{autoCompleteText:m,entityAutoCompleteView:h},isZeniCOAUsed:f,isAccountingClassesEnabled:ge(e)}},function(e,a){return{updateDownloadStateHandler:t=>{e(En(t))},onTimeframeSelectionChanged:t=>{e(fe(t)),setTimeout(()=>e(ce({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(xe(t,n)),e(ce({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(oe(a.firstMonthOfFY,t)),e(ce({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Ee(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Te(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&G(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout(()=>e(ce({resetLeftScroll:!0})),50)},onAccountBalanceClick:a.hasTransactionAccess!==!0?void 0:(t,n)=>{const{timePeriod:o,timeframe:r}=$o(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?_t(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):be(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),d=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:d,referrer:"Operating Expenses"}})}},onElementCollapseStateChanged:(t,n)=>{e(ce({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(ce({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ne({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(H("navbar"))},onAutoCompleteEntity:t=>{const n=se(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(me(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?pe:kt,n)),t=="forecast_mode"?(e(Pt({viewMode:"account_group"})),e(Jt(!1,n?.id)),n!=null&&G(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):G(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(ce({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Operating Expenses"),e(Pt({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(In({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(vn())},onResyncReports:()=>{e(mt("operating_expenses_by_classes"))}}})(Oe),Ko=e=>{const a=N(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,{isAiCfoAccessEnabled:s,onAskAiCfoClick:i}=W({mobileExploreReferrer:"DashboardOpEx"}),d=Pe({mobileExploreReferrer:"DashboardOpEx"}),p=S(T=>ft(T)),_=p.isForecastModeOn,g=p.timeframe,u=p.selectedForecast?.id,c=S(T=>pt(T.forecastState,u??"")),m=S(T=>Wt(T)),h=S(T=>ht(T)),f=S(T=>ge(T)),k=p.mode==="compare_mode",y=m.dataAvailable;C.useEffect(()=>{if(u!=null&&_===!0&&(G(_,r,u,o),c!=null)){const T=c?.forecastPeriod,L=y!=null&&T.endDate.isAfter(y?.endDate)===!0?y:T;a(oe(e.firstMonthOfFY,{startDate:L.endDate.startOf(g),endDate:L?.endDate}))}},[u]);const b=De(),A=b?.loggedInUserRole!=null&&ea(b?.loggedInUserRole)!==!0;return l.jsx(zo,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,location:n,isAccountingClassesEnabled:f,isCompareModeOn:k,navigate:o,forecastIdFromUrlPath:r,analytics:I,hasTransactionAccess:A,reportsResyncFetchState:h.reportsResyncFetchState,insightsSectionAiCfoInfo:d,isAiCfoAccessEnabled:s,onAskAiCfoClick:i})},qo=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Ve(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}},Zo=Q(function(e){const a=ta(e),t=Tn(e),n=xn(e),o=wn(e),r=gt(e),{scrollPosition:s,...i}=r,d=K.getLocalizedStrings().reportTitleById.revenue,p=R.getSignedInUser(),_=e.tenantState.currentTenantId,g=B(e),u=g?.companyName??"",c={userId:p?.userId??"",sessionId:p?.zeniSessionId??"",tenantId:_??""},m=e.entityAutoCompleteState.autoCompleteText.navbar,h=ae(e,"navbar"),f=ut(g);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:d},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${X}/statement`,authParams:c},analytics:I,isZeniUser:Ie(p),autoCompleteData:{autoCompleteText:m,entityAutoCompleteView:h},isZeniCOAUsed:f,isAccountingClassesEnabled:ge(e)}},function(e,a){return{updateDownloadStateHandler:t=>{e(Pn(t))},onTimeframeSelectionChanged:t=>{e(fe(t)),setTimeout(()=>e(le({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(xe(t,n)),e(le({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(oe(a.firstMonthOfFY,t)),e(le({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Ee(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Te(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&G(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout(()=>e(le({resetLeftScroll:!0})),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=qo(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?_t(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):be(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),d=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:d,referrer:"Revenues"}})}},onElementCollapseStateChanged:(t,n)=>{e(le({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(le({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ne({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(H("navbar"))},onAutoCompleteEntity:t=>{const n=se(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(me(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?pe:kt,n)),t==="forecast_mode"?(e(Ot({viewMode:"account_group"})),e(aa(!1,n?.id)),n!=null&&G(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):G(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(le({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Revenues"),e(Ot({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(Fn({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(Dn())},onResyncReports:()=>{e(mt("revenue_by_classes"))}}})(Oe),Ho=e=>{const a=N(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,{isAiCfoAccessEnabled:s,onAskAiCfoClick:i}=W({mobileExploreReferrer:"DashboardRevenue"}),d=Pe({mobileExploreReferrer:"DashboardRevenue"}),p=S(y=>gt(y)),_=p.isForecastModeOn,g=p.timeframe,u=p.selectedForecast?.id,c=S(y=>pt(y.forecastState,u??"")),m=S(y=>ta(y)).dataAvailable,h=p.mode==="compare_mode",f=S(y=>ge(y)),k=S(y=>ht(y));return C.useEffect(()=>{if(u!=null&&_===!0&&(G(_,r,u,o),c!=null)){const y=c?.forecastPeriod,b=m!=null&&y.endDate.isAfter(m?.endDate)===!0?m:y;a(oe(e.firstMonthOfFY,{startDate:b.endDate.startOf(g),endDate:b?.endDate}))}},[u]),l.jsx(Zo,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,isAccountingClassesEnabled:f,isCompareModeOn:h,location:n,navigate:o,forecastIdFromUrlPath:r,analytics:I,reportsResyncFetchState:k.reportsResyncFetchState,insightsSectionAiCfoInfo:d,isAiCfoAccessEnabled:s,onAskAiCfoClick:i})},Qo=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}},Xo=Q(function(e){const a=On(e),t=e.entityAutoCompleteState.autoCompleteText.navbar,n=ae(e,"navbar");return{report:a,analytics:I,autoCompleteData:{autoCompleteText:t,entityAutoCompleteView:n}}},function(e,a){return{onTimeframeSelectionChanged:t=>{I.trackTimeframeSwitch(ba(t),"Top Expenses"),e(na(t))},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Qo(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const i=be(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),d=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:d,referrer:"Top Expenses"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ne({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(H("navbar"))},onAutoCompleteEntity:t=>{const n=se(t,a.tenantEmailDomain),o=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}})(mo),Wo=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e;return l.jsx(Xo,{tenantEmailDomain:a,location:t,navigate:n})},Jo=Ct.div`
|
|
14
|
+
display: flex;
|
|
15
|
+
flex: 1 1 auto;
|
|
16
|
+
min-height: 100%;
|
|
17
|
+
flex-direction: column;
|
|
18
|
+
background-color: ${e=>e.theme.colors.grey5};
|
|
19
|
+
align-items: center;
|
|
20
|
+
`,pe=3,kt=1;function es({fetchState:e,firstMonthOfFY:a,reportId:t,forecastId:n}){const o=Z(),r=q(),{tenantEmailDomain:s}=z();let i;Fe({isDataReady:!0});const d={firstMonthOfFY:a,tenantEmailDomain:s,location:r,navigate:o,forecastIdFromUrlPath:n,fetchState:e};switch(t){case"operating_expenses":i=l.jsx(Ko,{...d});break;case"revenue":i=l.jsx(Ho,{...d});break;case"net_burn_or_income":i=l.jsx(No,{...d});break;case"cash_position":i=l.jsx(Yo,{...d});break;case"top_expenses":i=l.jsx(Wo,{...d});break;case"cash_in_cash_out":i=l.jsx(jo,{...d});break;default:console.error(`${t} is not supported!`),i=null}return i!=null?l.jsx(Jo,{children:i}):null}function ee(){const e=q(),a=N(),{forecastId:t}=z();let n="Not-Started";const o=S(c=>ft(c).fetchState),r=S(c=>gt(c).fetchState),s=S(c=>dt(c).fetchState),i=S(c=>c.cashPositionState.fetchState),d=S(c=>c.topExState.fetchState),p=S(c=>c.cashInCashOutState.fetchState);if(R.getSignedInUser()==null)throw Error("Can't access dashboard detail without signing in...");const _=S(c=>B(c)),g=_?.company?.companyInfo?.firstMonthOfFY??1,u=Nt((c=>{const m=$t(c,"/").split("/");return t!=null?m[m.length-3]:m[m.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=d;break;case"cash_in_cash_out":n=p;break;default:console.error(`${u} is not supported!`)}return C.useEffect(()=>{n==="Not-Started"&&function(c,m,h,f){switch(m){case"operating_expenses":c(la(!0)),f!=null&&(c(me(h,!0,pe,{id:f,index:0})),c(Jt(!1,f)));break;case"revenue":c(ca(!0)),f!=null&&(c(me(h,!0,pe,{id:f,index:0})),c(aa(!1,f)));break;case"net_burn_or_income":c(ia(!0)),f!=null&&(c(me(h,!0,pe,{id:f,index:0})),c(Xt(!1,f)));break;case"cash_position":c(ra(!0));break;case"top_expenses":c(sa());break;case"cash_in_cash_out":c(oa());break;default:throw new Error(`report type ${m} is not yet supported`)}}(a,u,g,t)},[t]),l.jsxs(l.Fragment,{children:[n==="Completed"?l.jsx(we,{analytics:I,onLoad:c=>((m,h)=>{const f=e.state?.referrer;switch(h){case"operating_expenses":m.trackPageLoaded(V.Event.operatingExpenses,f);break;case"revenue":m.trackPageLoaded(V.Event.revenues,f);break;case"net_burn_or_income":m.trackPageLoaded(V.Event.burnRate,f);break;case"cash_position":m.trackPageLoaded(V.Event.cashPosition,f);break;case"top_expenses":m.trackPageLoaded(V.Event.topExpenses,f);break;case"cash_in_cash_out":m.trackPageLoaded(V.Event.cashInCashOut,f);break;default:console.error(`Analytics: Not tracking Page Loaded for ${h}!`)}})(c,u)}):null,l.jsx(es,{firstMonthOfFY:g,fetchState:n,reportId:u,forecastId:t})]})}var et=typeof navigator<"u"&&navigator.userAgent.toLowerCase().indexOf("firefox")>0;function tt(e,a,t,n){e.addEventListener?e.addEventListener(a,t,n):e.attachEvent&&e.attachEvent("on".concat(a),function(){t(window.event)})}function ka(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 Sa(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 St={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,"-":et?173:189,"=":et?61:187,";":et?59:186,"'":222,"[":219,"]":221,"\\":220},te={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91},ct={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},M={16:!1,18:!1,17:!1,91:!1},P={},Ue=1;Ue<20;Ue++)St["f".concat(Ue)]=111+Ue;var x=[],Bt=!1,ya="all",jt=[],Ne=function(e){return St[e.toLowerCase()]||te[e.toLowerCase()]||e.toUpperCase().charCodeAt(0)};function Lt(e){ya=e||"all"}function Ae(){return ya||"all"}var at=function(e){var a=e.key,t=e.scope,n=e.method,o=e.splitKey,r=o===void 0?"+":o;Sa(a).forEach(function(s){var i=s.split(r),d=i.length,p=i[d-1],_=p==="*"?"*":Ne(p);if(P[_]){t||(t=Ae());var g=d>1?ka(te,i):[];P[_]=P[_].filter(function(u){return!((!n||u.method===n)&&u.scope===t&&function(c,m){for(var h=c.length>=m.length?c:m,f=c.length>=m.length?m:c,k=!0,y=0;y<h.length;y++)f.indexOf(h[y])===-1&&(k=!1);return k}(u.mods,g))})}})};function Ut(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,M)Object.prototype.hasOwnProperty.call(M,r)&&(!M[r]&&a.mods.indexOf(+r)>-1||M[r]&&a.mods.indexOf(+r)===-1)&&(o=!1);(a.mods.length!==0||M[16]||M[18]||M[17]||M[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 Yt(e,a){var t=P["*"],n=e.keyCode||e.which||e.charCode;if(U.filter.call(this,e)){if(n!==93&&n!==224||(n=91),x.indexOf(n)===-1&&n!==229&&x.push(n),["ctrlKey","altKey","shiftKey","metaKey"].forEach(function(m){var h=ct[m];e[m]&&x.indexOf(h)===-1?x.push(h):!e[m]&&x.indexOf(h)>-1?x.splice(x.indexOf(h),1):m==="metaKey"&&e[m]&&x.length===3&&(e.ctrlKey||e.shiftKey||e.altKey||(x=x.slice(x.indexOf(h))))}),n in M){for(var o in M[n]=!0,te)te[o]===n&&(U[o]=!0);if(!t)return}for(var r in M)Object.prototype.hasOwnProperty.call(M,r)&&(M[r]=e[ct[r]]);e.getModifierState&&(!e.altKey||e.ctrlKey)&&e.getModifierState("AltGraph")&&(x.indexOf(17)===-1&&x.push(17),x.indexOf(18)===-1&&x.push(18),M[17]=!0,M[18]=!0);var s=Ae();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)&&Ut(e,t[i],s,a);if(n in P){for(var d=0;d<P[n].length;d++)if((e.type==="keydown"&&P[n][d].keydown||e.type==="keyup"&&P[n][d].keyup)&&P[n][d].key){for(var p=P[n][d],_=p.splitKey,g=p.key.split(_),u=[],c=0;c<g.length;c++)u.push(Ne(g[c]));u.sort().join("")===x.sort().join("")&&Ut(e,p,s,a)}}}}function U(e,a,t){x=[];var n=Sa(e),o=[],r="all",s=document,i=0,d=!1,p=!0,_="+",g=!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&&(d=a.keyup),a.keydown!==void 0&&(p=a.keydown),a.capture!==void 0&&(g=a.capture),typeof a.splitKey=="string"&&(_=a.splitKey)),typeof a=="string"&&(r=a);i<n.length;i++)o=[],(e=n[i].split(_)).length>1&&(o=ka(te,e)),(e=(e=e[e.length-1])==="*"?"*":Ne(e))in P||(P[e]=[]),P[e].push({keyup:d,keydown:p,scope:r,mods:o,shortcut:n[i],method:t,key:n[i],splitKey:_,element:s});s!==void 0&&!function(u){return jt.indexOf(u)>-1}(s)&&window&&(jt.push(s),tt(s,"keydown",function(u){Yt(u,s)},g),Bt||(Bt=!0,tt(window,"focus",function(){x=[]},g)),tt(s,"keyup",function(u){Yt(u,s),function(c){var m=c.keyCode||c.which||c.charCode,h=x.indexOf(m);if(h>=0&&x.splice(h,1),c.key&&c.key.toLowerCase()==="meta"&&x.splice(0,x.length),m!==93&&m!==224||(m=91),m in M)for(var f in M[m]=!1,te)te[f]===m&&(U[f]=!1)}(u)},g))}var nt={setScope:Lt,getScope:Ae,deleteScope:function(e,a){var t,n;for(var o in e||(e=Ae()),P)if(Object.prototype.hasOwnProperty.call(P,o))for(t=P[o],n=0;n<t.length;)t[n].scope===e?t.splice(n,1):n++;Ae()===e&&Lt(a||"all")},getPressedKeyCodes:function(){return x.slice(0)},isPressed:function(e){return typeof e=="string"&&(e=Ne(e)),x.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(P).forEach(function(t){var n=P[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(P).forEach(function(s){return delete P[s]});else if(Array.isArray(e))e.forEach(function(s){s.key&&at(s)});else if(typeof e=="object")e.key&&at(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=""),at({key:e,scope:o,method:r,splitKey:"+"})}},keyMap:St,modifier:te,modifierMap:ct};for(var ot in nt)Object.prototype.hasOwnProperty.call(nt,ot)&&(U[ot]=nt[ot]);if(typeof window<"u"){var ts=window.hotkeys;U.noConflict=function(e){return e&&window.hotkeys===U&&(window.hotkeys=ts),U},window.hotkeys=U}U.filter=function(){return!0};var Vt=function(e,a){var t=e.target,n=t&&t.tagName;return!!(n&&a&&a.includes(n))};function as(e,a,t,n){t instanceof Array&&(n=t,t=void 0);var o=t||{},r=o.enableOnTags,s=o.filter,i=o.keyup,d=o.keydown,p=o.filterPreventDefault,_=p===void 0||p,g=o.enabled,u=g===void 0||g,c=o.enableOnContentEditable,m=c!==void 0&&c,h=C.useRef(null),f=C.useCallback(function(k,y){var b,A;return s&&!s(k)?!_:!!(Vt(k,["INPUT","TEXTAREA","SELECT"])&&!Vt(k,r)||(b=k.target)!=null&&b.isContentEditable&&!m)||!!(h.current===null||document.activeElement===h.current||(A=h.current)!=null&&A.contains(document.activeElement))&&(a(k,y),!0)},n?[h,r,s].concat(n):[h,r,s]);return C.useEffect(function(){if(u)return i&&d!==!0&&(t.keydown=!1),U(e,t||{},f),function(){return U.unbind(e,f)};U.unbind(e,f)},[f,e,u]),h}U.isPressed;const ns=["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"],os=(e,a,t,n,o)=>({card:{dimension:bt(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!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}),Se=(e,a,t,n,o)=>({card:{dimension:bt(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!1},data:e}),ss=(e,a,t,n)=>Se(void 0,e,ye,a,t),rs=(e,a,t,n,o)=>({card:{dimension:bt(ye),cardType:a,cardIndex:t,fetchState:e,disableAnimations:!1},data:{funds:n,hasUserSeenVideo:o,videoUrl:"https://www.youtube.com/watch?v=sqvJWKCMZgk"}}),is=Q(function(e,a){const t=ds(a.dashboardReport),n=a.passedCardsOrdered,o=a.dashboardReport.reportsInOrder,{isInterestedInChargeCard:r,cardsCreditLimit:s,cashbackRate:i,treasuryFundDetails:d,hasUserSeenTreasuryVideo:p,treasuryFetchState:_}=a;let g=n.map((u,c)=>{if(u==="reimbursement_promo_card"||u==="bill_pay_promo_card")return ss(t,u,c);if(u==="zeni_promo_card")return Se({isExpressedInterest:r,creditLimit:s,cashbackRate:i,fetchState:"Completed"},a.cardBalanceFetchState,ye,u,c);if(u==="treasury_promo_card")return rs(_,u,c,d,p);if(u==="information_card")return Se(void 0,"Completed",ye,u,c);{const m=o.find(h=>h?.reportId===u);return m?function(h,f,k,y){const b=h.reportId;switch(b){case"card_balance":case"cash_balance":return[os(h,f,k,b,y)];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[Se(h,f,k,b,y)];case"net_burn_or_income_story_card":return[Se(h,f,k,"net_burn_or_income_story_card",y)];default:return console.error(`card type ${b} not yet supported!`),[]}}(m,m.fetchState,ye,c):[]}}).flat();return a.isSummaryCardsFiltered===!0&&(g=g.filter(u=>ns.includes(u.card.cardType)==0).filter(u=>{const c=u.data?.availableNumberOfPeriods;return c!=null?c>0:u.card.cardType!="top_expenses"||u.data==null||function(m){if(m==null||m.length===0)return!0;let h=!0;for(const f of m)if(f.balance.available.amount!==0){h=!1;break}return h}(u.data.topExpenses.accountsOrdered)===!1})),{cardDataArray:g,autoCompleteData:{autoCompleteText:e.entityAutoCompleteState.autoCompleteText.navbar,entityAutoCompleteView:ae(e,"navbar")},analytics:I,isReimbursementEnabled:a.isReimbursementEnabled,isBillPayEnabled:a.isBillPayEnabled}},function(e,a){const t=a.tenantId,n=R.getSignedInUser();return{cardActions:{onCardClick:(o,r,s,i)=>{if(console.warn(`onCardClick at ${o} for the type ${r}`),r==="zeni_promo_card"&&i!=null)I.trackDashboardCardClicked("cards promo",2),I.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&&I.trackDashboardCardClicked("rewards promo",o+1),a.navigate("../../rewards/refer",{state:{referrer:s}})):r==="expense_automation_card"?(I.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,d,p,_){switch(d){case"card_balance":i(qt());break;case"cash_balance":i(zt());break;case"operating_expenses":i(la(!0));break;case"revenue":i(ca(!0));break;case"net_burn_or_income":i(ia(!0));break;case"net_burn_or_income_story_card":i(Xn(!0));break;case"cash_position":i(ra(!0));break;case"top_expenses":i(sa());break;case"cash_in_cash_out":i(oa());break;case"insights_dashboard":i(Qn());break;case"bill_pay_card":i(Hn());break;case"reimbursement_card":i(Zn());break;case"company_details":i(qn(p));break;case"task_card":i(Kn());break;case"accounts_payable_aging":_.includes("accounts_payable_aging")===!1&&i(rt(he()));break;case"accounts_receivable_aging":i(it(he()));break;case"zeni_accounts_promo_card":_.includes("zeni_accounts_promo_card")===!1&&i(Kt());break;case"rewards_card":_.includes("rewards_card")===!1&&i(zn(!0));break;default:throw new Error(`report type ${d} is not yet supported`)}}(e,r,a.companyId,s)},onTimeframeChange:(o,r)=>{I.trackTimeframeSwitch(ba(r),ls(o),"Dashboard"),function(s,i,d){switch(i){case"operating_expenses":case"revenue":case"net_burn_or_income":case"cash_position":s(fe(d));break;case"top_expenses":s(na(d));break;default:throw new Error(`report type ${i} doesn't support changeTimeframe`)}}(e,o,r)},onUpdateSelectedInsightIndex:o=>{e($n(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){R.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"&&(I.trackUpdateBurnRateCalculatorSettings(r,s,Gn(s)),e(Nn(t,r,s)))},onVideoPlay:()=>{e(Mt())},onVideoClose:()=>{e(Mt()),e(Vn())}},autoCompleteActions:{onAutoCompleteInputChange:o=>{o.trim().length>=2?e(ne({searchString:o,searchOrigin:"navbar"})):o.trim().length===0&&e(H("navbar"))},onCancelAutoComplete:()=>{e(H("navbar"))},onAutoCompleteEntity:o=>{let r="";r=o.type!=="vendor"||o.detailType!=="bank_merchant"&&o.detailType!=="card_merchant"?se(o,a.tenantEmailDomain):bo(o.zeniId,o.qboId,a.tenantEmailDomain);const s=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(r,{state:{pathnameStackToGoBack:s,referrer:"Search"}})}}}})(go);function cs(){const{isAiCfoOpen:e,setIsAiCfoOpen:a}=ma(),t=Z(),n=N(),o=q(),r=R.getSignedInUser(),{useFeatureGate:s,useDynamicConfig:i}=Ge(),d=Ie(r),[p,_]=C.useState(!1),[g,u]=C.useState(!1),c=pa(),{tenantEmailDomain:m}=z(),{isAiCfoAccessEnabled:h,onAskAiCfoClick:f}=W({mobileExploreReferrer:"Dashboard"}),k=S(v=>v.tenantState.fetchState==="Completed"||v.tenantState.activeTenantFetchState.fetchState==="Completed"?B(v):void 0),y=k??R.getSignedInUserTenant(m),b=y.tenantId,A=y.companyId;C.useEffect(()=>{p===!1&&o.state?.message==="activation"&&(n(Mn(A)),_(!0))},[o.state,p,A,n]),C.useEffect(()=>{c&&!g&&o.state?.message==="open_ai_cfo_drawer"&&(a(!0),u(!0),t(o.pathname,{replace:!0,state:{...o.state,message:void 0}}))},[o.state,g,c,a,t,o.pathname]);const{isFeatureEnabled:T}=s(j.isApAgingFeatureEnabled),{isFeatureEnabled:L}=s(j.isExpenseAutomationEnabled),{isFeatureEnabled:F}=s(j.isExpenseAutomationEnabledV2),E=F||L&&d,{isFeatureEnabled:$}=s(j.isTreasuryEnabled),de=po(E),{isFeatureEnabled:Ce}=s(j.isArAgingFeatureEnabled),{isFeatureEnabled:O}=s(j.isDepositAccountsFeatureEnabled),{isFeatureEnabled:J}=s(j.isReferralFeatureEnabled),{isFeatureEnabled:Me}=s(j.isChargeCardFeatureEnabled),{isFeatureEnabled:$e}=s(j.isDashboardSidebarChristmasAnimationEnabled),{isFeatureEnabled:Aa}=s(j.isDashboardSidebarNewYearAnimationEnabled),{configValue:yt}=i(ha.zeniCardsConfig),va=yt.charge_card_cashback_rate_per_transaction==null?.0175:yt.charge_card_cashback_rate_per_transaction;if(o.state?.message==="activation"){const v=ho(o.state?.pathnameStackToGoBack);t(o.pathname,{state:{...o.state,message:void 0,pathnameStackToGoBack:v.newStack}})}const[At,Ia]=C.useState(!1),[ze,Ea]=C.useState(!1);as("command+p, Control+p",v=>{Ea(!ze),v.preventDefault()},{enableOnContentEditable:!0,enableOnTags:["INPUT","SELECT","TEXTAREA"]},[ze]);const vt=k?.externalConnections?.accounting[0]?.isValid;if(r==null)throw Error("Can't access dashboard without signing in...");const re=S(v=>B(v)?.excludedResources),Ta=S(v=>v.expenseAutomationViewState.selectedPeriodByTenantId),xa=!!k?.companyReimbursementInfo?.info?.isReimbursementEnabled,wa=!!k?.companyBillPayInfo?.info?.isBillPayEnabled,Da=S(v=>v.treasurySetupViewState.treasuryFundsDetails).fetchStatus.fetchState,Fa=k?.company!=null&&Rn(k.company),Ke=$&&Fa,qe=De(),Pa=lt(qe?.loggedInUserRoleMap),Y=[],It=re?.resources?.find(v=>v.resource==="/reports/top_expenses")==null,Oa=re?.resources?.find(v=>v.resource==="/reports/task_card")==null,Ze=k?.userRole!=null&&ea(k?.userRole),Ma=re?.resources?.find(v=>v.resource==="/bills")==null&&!Ze,Ra=re?.resources?.find(v=>v.resource==="/reimbursements")==null,Ba=Bn(qe?.loggedInUserRoleMap),ja=jn(qe?.loggedInUserRoleMap),La=k?.company?.companyChargeCardInfo?.chargeCardsCreditAccountLimit??0,Ua=k?.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,Ya=S(v=>v.treasurySetupViewState.treasuryFundsDetails).fundsDetails;It===!1&&Y.push("top_expenses"),Oa===!1&&Y.push("task_card"),Ma===!1&&Y.push("bill_pay_card","bill_pay_promo_card"),T===!1&&Y.push("accounts_payable_aging"),Ce===!1&&Y.push("accounts_receivable_aging"),(E===!1||Ze)&&Y.push("expense_automation_card"),Ra===!1&&Y.push("reimbursement_card","reimbursement_promo_card"),O===!1&&Y.push("zeni_accounts_promo_card"),J===!1&&Y.push("rewards_card"),Ke===!1&&Y.push("treasury_promo_card");const{areTenantIdsInSync:Et}=fo();C.useLayoutEffect(()=>{At&&de===E||vt!==!0||!Et||re?.fetchState!=="Completed"&&re?.fetchState!=="Error"||(Ia(!0),n(Ln(r.userId,A,b,!0,!1,Y)))},[At,r,b,n,It,vt,re?.fetchState,Et]);const Va=S(v=>v.reportUIOptionsState.forecastOnDashboard.isForecastModeOn),Ga=S(v=>v.revenueState.uiState.selectedForecast?.id),Na=S(v=>v.cardBalanceState.fetchState),ue=S(v=>Un(v,Y,r,F,L,Ke)),$a=ue.fetchState;Fe({isDataReady:!0});const Tt=k?.isTreasuryVideoViewed===!0||ue.isTreasuryVideoClosed===!0;return l.jsxs(l.Fragment,{children:[$a==="Completed"?l.jsx(we,{analytics:I,onLoad:v=>{v.trackPageLoaded(V.Event.dashboard),Ke&&!Tt&&v.trackTreasuryPromoView("Dashboard Promo Video")}}):null,l.jsx(is,{maxColumns:e?2:void 0,isAiCfoAccessEnabled:h,onAskAiCfoClick:f,onDragAndDropCard:(v,za)=>{const xt=function(Re,He,Be){const Qe=Be.indexOf(Re),Xe=Be.indexOf(He);if(Qe===-1||Xe===-1||Qe===Xe)return Be;const We=[...Be];return We.splice(Qe,1),We.splice(Xe,0,Re),We}(v,za,ue.cardsOrdered);xt.some((Re,He)=>Re!==ue.cardsOrdered[He])&&n(Yn(xt))},dashboardReport:ue,passedCardsOrdered:ue.cardsForDashboardUI,tenantId:b,companyId:A,tenantEmailDomain:m,location:o,navigate:t,isApAgingFeatureEnabled:T,isArAgingFeatureEnabled:Ce,isBillPayEnabled:wa,isReimbursementEnabled:xa,isSummaryCardsFiltered:ze,isForecastOn:Va,selectedForecastOnDashboard:Ga,isVisitingFirstTime:p,isZeniAccountEnabled:O,isRewardsFeatureEnabled:J,hasZeniAccountsAdminAccess:Pa,isExpenseAutomationEnabledForUser:E&&Ze===!1,selectedPeriod:Ta[b],isChargeCardFeatureEnabled:Me,isUserHasCardsAccess:Ba,isUserHasTreasuryAccess:ja,cardsCreditLimit:La,cashbackRate:va,isInterestedInChargeCard:Ua,cardBalanceFetchState:Na,christmasAnimationEnabled:$e,newYearAnimationEnabled:Aa,treasuryFundDetails:Ya,hasUserSeenTreasuryVideo:Tt,treasuryFetchState:Da})]})}const ls=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"},ds=e=>e.fetchState!=="Error"?e.fetchState:e.reportsInOrder.map(a=>a.fetchState).reduce((a,t)=>a==="In-Progress"||a==="Not-Started"?a:t);function Ls(){const e=De(),a=e?.excludedResources?.find(p=>p.resource==="/reports/top_expenses")==null,{useFeatureGate:t}=Ge(),{isFeatureEnabled:n}=t(j.isApAgingFeatureEnabled),{isFeatureEnabled:o}=t(j.isArAgingFeatureEnabled),r=S(p=>B(p)),{isFeatureEnabled:s}=t(j.isDebitCardFeatureEnabled),i=Wn(s,r),d=Jn(r);return i===!0||d===!0?l.jsx(st,{children:l.jsx(w,{path:"/*",element:l.jsx(So,{})})}):l.jsxs(st,{children:[l.jsx(w,{path:"/",element:l.jsx(cs,{})}),l.jsx(w,{path:"cash_balance/*",element:l.jsx(Rt,{})}),l.jsx(w,{path:"card_balance/*",element:l.jsx(Rt,{})}),l.jsx(w,{path:"operating_expenses/*",element:l.jsx(ee,{})}),l.jsx(w,{path:"operating_expenses/forecast/*",element:l.jsx(Je,{})}),l.jsx(w,{path:"revenue/forecast/*",element:l.jsx(Je,{})}),l.jsx(w,{path:"revenue/*",element:l.jsx(ee,{})}),l.jsx(w,{path:"net_burn_or_income/forecast/*",element:l.jsx(Je,{})}),l.jsx(w,{path:"net_burn_or_income/*",element:l.jsx(ee,{})}),n===!0&&l.jsxs(l.Fragment,{children:[l.jsx(w,{path:"accounts_payable_aging/*",element:l.jsx(vo,{})}),l.jsx(w,{path:"accounts_payable_aging/:vendorId/:reportDate/*",element:l.jsx(Ao,{})})]}),o&&l.jsxs(l.Fragment,{children:[l.jsx(w,{path:"accounts_receivable_aging/:customerId/:reportDate/*",element:l.jsx(Io,{})}),l.jsx(w,{path:"accounts_receivable_aging/*",element:l.jsx(Eo,{})})]}),l.jsx(w,{path:"cash_position/*",element:l.jsx(ee,{})}),l.jsx(w,{path:"top_expenses/*",element:a===!0?l.jsx(ee,{}):l.jsx(ve,{})}),l.jsx(w,{path:"cash_in_cash_out/*",element:l.jsx(ee,{})}),l.jsx(w,{path:"company_details",element:l.jsx(ko,{})}),l.jsx(w,{path:"referrals/*",element:l.jsx(yo,{})}),l.jsx(w,{path:"*",element:l.jsx(ve,{})})]})}export{Ls as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as v}from"./liveblocks-
|
|
1
|
+
import{j as v}from"./liveblocks-oJncKqAM.js";import{a as u}from"./sentry-Wbq0JKts.js";import{h as y,g as b,k as w,u as A,N as k}from"./core-DPuoDz-C.js";import{J9 as N,eQ as _,fl as U,Ja as L,mS as R,Jb as z}from"./zeni-epic-state-DxdjrTbG.js";import{u as O,z as f,L as T,t as I,D as $,b as j}from"./index-DPfZNvSx.js";import"./mui-CvBhrbbU.js";import{t as P}from"./getLocaleForTenant-Cv1qkYRT.js";import"./recharts-8icy_MRK.js";import"./analytics-CAylLTML.js";import"./plaid-B5RWvsAl.js";import"./dnd-DoKiSnu1.js";import"./stripe-DMRn4zHo.js";import"./lottie-DF3afs57.js";import"./lexical-By4mk6_c.js";import"./pdf-ZStfwNCw.js";import"./utils-BQwNg4C5.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]="0690d749-15fd-46f1-9347-543338f7fa14",t._sentryDebugIdIdentifier="sentry-dbid-0690d749-15fd-46f1-9347-543338f7fa14")}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(k,{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(U(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"&&!L(i))&&t(R(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 J=["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"],q={"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 J)if(t.toLocaleLowerCase().includes(s))return q[s]}export{oe as default};
|