@zeniai/web-app-ui 5.4.6-qa → 5.4.7-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/AccountMappingScreen-D6HgzjWo.js +9 -0
- package/dist/assets/{ActualMatchingMatchDetailScreen-DUeW0FeC.js → ActualMatchingMatchDetailScreen-DrT4wLj3.js} +1 -1
- package/dist/assets/AddressRoutes-D7_KsY7f.js +1 -0
- package/dist/assets/{AddressScreen-p0IFMNFg.js → AddressScreen-yLBHCU8H.js} +2 -2
- package/dist/assets/{AiCfoScreen-BfgMLiU4.js → AiCfoScreen-C95CmuT8.js} +5 -5
- package/dist/assets/{AppDrawer-BIzjhsA0.js → AppDrawer-wuSLq_GC.js} +1 -1
- package/dist/assets/{BillPayApprovalRoutes-Bs7TBssf.js → BillPayApprovalRoutes-Cz4FnR8k.js} +1 -1
- package/dist/assets/{BillPayRoutes-7Fbpt50_.js → BillPayRoutes-lBcH3kG4.js} +7 -7
- package/dist/assets/{BusinessVerificationPageScreen-WqzTt6qr.js → BusinessVerificationPageScreen-CNBsygLT.js} +2 -2
- package/dist/assets/{CardsAiCfoScreen-lz2EFhk_.js → CardsAiCfoScreen-Dnj7L-Aq.js} +1 -1
- package/dist/assets/{ChargeCardRoutes-C8ZvDyvO.js → ChargeCardRoutes-BebvufWC.js} +7 -7
- package/dist/assets/CompanyPassportScreen-CWQymYC0.js +1 -0
- package/dist/assets/ConnectionAuthScreen-CTDny4hz.js +11 -0
- package/dist/assets/CustomerOnboardingAuthScreen-CIry93lh.js +1 -0
- package/dist/assets/{CustomerOnboardingRoutes-GZvUxipf.js → CustomerOnboardingRoutes-07XvuYSy.js} +3 -3
- package/dist/assets/{DashboardRoutes-Dl-mk1tS.js → DashboardRoutes-DtOF4t57.js} +4 -4
- package/dist/assets/{DefaultTenantHome-7LWmCmoi.js → DefaultTenantHome-CweSG_GQ.js} +1 -1
- package/dist/assets/{DomesticWireDetailScreen-YrrlMQvW.js → DomesticWireDetailScreen-jf25UFiV.js} +4 -4
- package/dist/assets/{DrawerScreen-C4n50ad8.js → DrawerScreen-5p-VaDVX.js} +1 -1
- package/dist/assets/EntityDetailRoutes-CacM-JPm.js +1 -0
- package/dist/assets/{ExpenseAutomationRoutes-DwNC4xUT.js → ExpenseAutomationRoutes-Byqo8eZZ.js} +4 -4
- package/dist/assets/{FeaturePreviewScreen-DUpjhzBa.js → FeaturePreviewScreen-CCuIxuhc.js} +1 -1
- package/dist/assets/HubSpotOAuthCallbackScreen-BLlIOZQ7.js +1 -0
- package/dist/assets/{InboxNotificationsProvider-Cp0oPhyn.js → InboxNotificationsProvider-yzTJ7wEQ.js} +1 -1
- package/dist/assets/{InvoicingRoutes-DyGqDLsr.js → InvoicingRoutes-D2PWzI_4.js} +2 -2
- package/dist/assets/{MagicLinkRoutes-AGVR-z-R.js → MagicLinkRoutes-CaOpn3qT.js} +6 -6
- package/dist/assets/MagicLinkSignInScreen-DiZU5_QE.js +12 -0
- package/dist/assets/MobileAppDrawer-BixbLTmv.js +1 -0
- package/dist/assets/NotFoundScreen-BkN7W6JR.js +1 -0
- package/dist/assets/NotificationRoutes-BdD13Onr.js +1 -0
- package/dist/assets/OAuthConsentScreen-NFsa-sgn.js +1 -0
- package/dist/assets/PandLWithForecastRoutes-Bm0J5IMo.js +1 -0
- package/dist/assets/{PaymentLinkScreen-iO2zhR0_.js → PaymentLinkScreen-CVV3tuZg.js} +1 -1
- package/dist/assets/{PeopleRoutes-dRYeyEkw.js → PeopleRoutes-I7YtZIOQ.js} +5 -5
- package/dist/assets/PerformanceRoutes-Bh2GJMgS.js +1 -0
- package/dist/assets/{Preview-BCKzfdtC.js → Preview-C1srXT8b.js} +1 -1
- package/dist/assets/{QBOConnectionScreen-r5X8FGIQ.js → QBOConnectionScreen-CMu1wr6r.js} +1 -1
- package/dist/assets/ReimbursementApprovalRoutes-DPr_Xw2e.js +1 -0
- package/dist/assets/{ReimbursementApprovalRuleDetailScreen-C_iPjPlT.js → ReimbursementApprovalRuleDetailScreen-B-Gs9TwE.js} +1 -1
- package/dist/assets/ReimbursementRoutes-C5mKxHY0.js +68 -0
- package/dist/assets/{ReportsRoutes-DQn4zD_M.js → ReportsRoutes-rLspO2bh.js} +1 -1
- package/dist/assets/RewardsRoutes-BAg5LFP3.js +1 -0
- package/dist/assets/{ScheduleDetailsPrepaidExpensesScreen-S_TRD8uL.js → ScheduleDetailsPrepaidExpensesScreen-CUlxxOT4.js} +5 -5
- package/dist/assets/ScreenRoutes-B27hAn5a.js +2 -0
- package/dist/assets/{SettingsRoutes-BwRfFRaL.js → SettingsRoutes-BafV6BMK.js} +6 -6
- package/dist/assets/{SetupPagesScreen-BvGqVswb.js → SetupPagesScreen-CYo2TZ1p.js} +5 -5
- package/dist/assets/SignInScreen-CT-WoxFu.js +1 -0
- package/dist/assets/SignOutScreen-CUkfHzEK.js +9 -0
- package/dist/assets/{TaskListScreen-B_rM9OHZ.js → TaskListScreen-CNDqJnu1.js} +2 -2
- package/dist/assets/TaskRoutes-BeXt3gMh.js +9 -0
- package/dist/assets/TransactionDetailRoutes-CSoIoyzR.js +1 -0
- package/dist/assets/TransactionDetailScreen-D3daFCwt.js +5 -0
- package/dist/assets/{TransactionListRoutes-DntzfHHO.js → TransactionListRoutes-Cp-cSB8W.js} +1 -1
- package/dist/assets/{TreasuryRoutes-CIEKPm1R.js → TreasuryRoutes-DnPKaz7R.js} +6 -6
- package/dist/assets/{VendorsRoutes-BJEgNAKV.js → VendorsRoutes-CY-uooJs.js} +10 -10
- package/dist/assets/WiseConfirmationScreen-CdXrY5Nn.js +12 -0
- package/dist/assets/ZeniAccountRoutes-CaWZaYnh.js +57 -0
- package/dist/assets/ZeniAccountStatementScreen-C3LaZbC9.js +9 -0
- package/dist/assets/{accountMappingHelper-qy_s46Hj.js → accountMappingHelper-HDztJioo.js} +1 -1
- package/dist/assets/{analytics-BLeep1MS.js → analytics-D7SbUCRL.js} +1 -1
- package/dist/assets/{analyticsHelper-DW5cduzA.js → analyticsHelper-BNh1_jfv.js} +1 -1
- package/dist/assets/{core-CAh5rCuj.js → core-Bc2mnalE.js} +1 -1
- package/dist/assets/{decodeURIComponentSafe-9S3zcxzZ.js → decodeURIComponentSafe-addd21BI.js} +1 -1
- package/dist/assets/{dnd-CrX2pTWR.js → dnd-B0zyAl0s.js} +1 -1
- package/dist/assets/{empty-DjSLUPoh.js → empty-CHx0Pvbk.js} +1 -1
- package/dist/assets/{empty-3-W7Grl0.js → empty-Nco5SaTV.js} +1 -1
- package/dist/assets/{emptyVideoElement-Dl0wMA4P.js → emptyVideoElement-B-mo7W39.js} +1 -1
- package/dist/assets/epic-BS7m068w.js +2 -0
- package/dist/assets/expenseAutomationHelper-6llqwO2d.js +1 -0
- package/dist/assets/{getLocaleForTenant-bfNzENpe.js → getLocaleForTenant-D-baUPRb.js} +1 -1
- package/dist/assets/{index-DtOneCvz.js → index-CtE8HnsY.js} +9414 -9414
- package/dist/assets/{index-BgMQtMJd.js → index-CyFWesiE.js} +1 -1
- package/dist/assets/{index-P2FyohD2.js → index-D3o0K0j9.js} +1 -1
- package/dist/assets/{index-DY2rccfR.js → index-DLOd76r9.js} +1 -1
- package/dist/assets/{index-DZNQ55yD.js → index-DLaXtkBa.js} +2 -2
- package/dist/assets/{index-xYxbPXxl.js → index-DcKiQFzt.js} +1 -1
- package/dist/assets/{index-C914hS8b.js → index-Dv6pUA2Y.js} +1 -1
- package/dist/assets/{index-SrluRRUS.js → index-L7bL_O40.js} +1 -1
- package/dist/assets/{lexical-Caj6E5Mq.js → lexical-CCch0Fzo.js} +1 -1
- package/dist/assets/{liveblocks-MCrpLltn.js → liveblocks-CevUFagi.js} +1 -1
- package/dist/assets/{lottie-xRtpxbQu.js → lottie-Dhd_0CJG.js} +1 -1
- package/dist/assets/{mui-D65-RCnL.js → mui-CUsYvTMG.js} +1 -1
- package/dist/assets/{pathToGoBack-DxXqfwM8.js → pathToGoBack-h9zXpfmB.js} +1 -1
- package/dist/assets/{pdf-BJQfcDMm.js → pdf-CuegwamZ.js} +3 -3
- package/dist/assets/{pdf-lib-H7CBLuxn.js → pdf-lib-C0hF4MJX.js} +1 -1
- package/dist/assets/{plaid-BLMTayxO.js → plaid-Dxz6lSJz.js} +1 -1
- package/dist/assets/{pusher-DO7geG4Q.js → pusher-Dov6Wpsh.js} +1 -1
- package/dist/assets/{react-CpKDfhGy.js → react-1IBu4NKN.js} +1 -1
- package/dist/assets/{react-wuXZEj6S.js → react-2Pr1ccsY.js} +1 -1
- package/dist/assets/{react-B9DWDj53.js → react-CuKi_1_s.js} +1 -1
- package/dist/assets/{react-Zn_qRkEQ.js → react-M3pe5IMI.js} +1 -1
- package/dist/assets/{react-dW8eloPB.js → react-VbHSu8I-.js} +1 -1
- package/dist/assets/{react-Bn1j06E6.js → react-kEWOHePJ.js} +1 -1
- package/dist/assets/{recharts-dm9pBwNL.js → recharts-BjkXpBn6.js} +1 -1
- package/dist/assets/{reportTimeframe-BvcIi7CW.js → reportTimeframe-CmNj9zQY.js} +1 -1
- package/dist/assets/{routePaths-CY1QL6df.js → routePaths-Dv28cYw1.js} +1 -1
- package/dist/assets/{sentry-VKV9InRh.js → sentry-BrSPpZKf.js} +1 -1
- package/dist/assets/{stripSplatSuffix-Dk-93TcV.js → stripSplatSuffix-wwIiiS3L.js} +1 -1
- package/dist/assets/{url-Cisremx1.js → url-2Ybk2sxg.js} +1 -1
- package/dist/assets/{url-DHW-P0JF.js → url-IFQJDLIg.js} +1 -1
- package/dist/assets/useActualMatchingMatchDetail-CZpCt66v.js +1 -0
- package/dist/assets/{useAiCfoDashboardSuggestedQuestionsChips-CS1N2-33.js → useAiCfoDashboardSuggestedQuestionsChips-C7G9HKEb.js} +1 -1
- package/dist/assets/useAskAiCfoHostNavButtonProps-JRFYPtx4.js +1 -0
- package/dist/assets/{useChargeCardPusherEvents-CSi4eAbt.js → useChargeCardPusherEvents-D_qYIckD.js} +1 -1
- package/dist/assets/{useDeviceId-YdOwWWnw.js → useDeviceId-7gkngZ73.js} +1 -1
- package/dist/assets/useEmailConnectResultRefresh-aPg3qWb4.js +1 -0
- package/dist/assets/{useEnsureVendorListLoaded-BN6cn_-b.js → useEnsureVendorListLoaded-nIoTpKXy.js} +1 -1
- package/dist/assets/{useInitialThreadRequest-CFiqVuk5.js → useInitialThreadRequest-gQdpW0fv.js} +1 -1
- package/dist/assets/useTaskManagerAccess-94Xv3cKO.js +1 -0
- package/dist/assets/{useTaskManagerPusherEvents-xZZkhmGA.js → useTaskManagerPusherEvents-CdVgZy4d.js} +1 -1
- package/dist/assets/{utils-DRaLbDIg.js → utils-BKSIhN7N.js} +1 -1
- package/dist/assets/{withTransactionSidePanel-CEKL9vmB.js → withTransactionSidePanel-DDzMeSLR.js} +2 -2
- package/dist/assets/{zeni-epic-state-BbP34Aqp.js → zeni-epic-state-VmxO3Mnv.js} +4 -4
- package/dist/index.html +1 -1
- package/package.json +3 -3
- package/dist/assets/AccountMappingScreen-CohTc0v4.js +0 -9
- package/dist/assets/AddressRoutes-xqFWfSGM.js +0 -1
- package/dist/assets/CompanyPassportScreen-Bca5R8ki.js +0 -1
- package/dist/assets/ConnectionAuthScreen-DFsuMn26.js +0 -11
- package/dist/assets/CustomerOnboardingAuthScreen-CMlJIa4p.js +0 -1
- package/dist/assets/EntityDetailRoutes-DAuCsR0B.js +0 -1
- package/dist/assets/HubSpotOAuthCallbackScreen-N82hmlbs.js +0 -1
- package/dist/assets/MagicLinkSignInScreen-myVmwr5U.js +0 -12
- package/dist/assets/MobileAppDrawer-D3J2lUPk.js +0 -1
- package/dist/assets/NotFoundScreen-Bu_5_beT.js +0 -1
- package/dist/assets/NotificationRoutes-T_awZYu2.js +0 -1
- package/dist/assets/OAuthConsentScreen-CQIGPoYo.js +0 -1
- package/dist/assets/PandLWithForecastRoutes-Bb5TI8zZ.js +0 -1
- package/dist/assets/PerformanceRoutes-CIGy_r0j.js +0 -1
- package/dist/assets/ReimbursementApprovalRoutes-C61lKuXL.js +0 -1
- package/dist/assets/ReimbursementRoutes-C8jRQBDZ.js +0 -68
- package/dist/assets/RewardsRoutes-wWL8-dzP.js +0 -1
- package/dist/assets/ScreenRoutes-C4eCwrs-.js +0 -2
- package/dist/assets/SignInScreen-CYtUklXw.js +0 -1
- package/dist/assets/SignOutScreen-DEbT0Pds.js +0 -9
- package/dist/assets/TaskRoutes-Dsy3v7vH.js +0 -9
- package/dist/assets/TransactionDetailRoutes-CXvYbIYv.js +0 -1
- package/dist/assets/TransactionDetailScreen-CB9xnJHu.js +0 -5
- package/dist/assets/WiseConfirmationScreen-DSrhxVMk.js +0 -12
- package/dist/assets/ZeniAccountRoutes-CIslP6ey.js +0 -57
- package/dist/assets/ZeniAccountStatementScreen-DNRMt6k7.js +0 -9
- package/dist/assets/epic-VKtq_xpr.js +0 -2
- package/dist/assets/expenseAutomationHelper-Br3isSOz.js +0 -1
- package/dist/assets/useActualMatchingMatchDetail-Dc0_3FT_.js +0 -1
- package/dist/assets/useAskAiCfoHostNavButtonProps-CviB8_e-.js +0 -1
- package/dist/assets/useEmailConnectResultRefresh-Od7PFitR.js +0 -1
- package/dist/assets/useTaskManagerAccess-6raGPFR-.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as o}from"./liveblocks-MCrpLltn.js";import{u as le,j as d,h as ie,g as me,i as Ve,N as Je,s as Dt,l as Pe,t as Dn,n as os,o as ne}from"./core-CAh5rCuj.js";import{fV as _t,a0O as cs,g5 as Pt,bu as Fe,a0P as is,a0Q as ds,fK as hn,a0R as _n,fT as Pn,a0S as wn,a0T as Tn,a0U as vn,a0V as Fn,fU as xn,g4 as Ln,a0W as Bn,a0X as ls,f_ as us,fZ as ms,a0Y as Cs,KB as Rn,g7 as ia,a0Z as ps,a0_ as hs,fM as fs,fL as gs,gk as We,g0 as On,f$ as jn,a0$ as bs,g1 as Ss,K7 as ys,K6 as Is,Ka as ks,Kc as Es,gd as As,fH as Un,a10 as Ds,a11 as _s,gi as Mn,a12 as Ps,gj as St,Ki as ws,Kf as Ts,fI as ge,a13 as Za,e0 as xe,dk as Le,e1 as Be,h2 as da,cD as la,a14 as ua,a15 as wt,Dk as Ga,mb as $a,a16 as Ka,KR as Ia,g8 as Qe,KT as Tt,m1 as Nn,a17 as ma,KF as Da,a18 as vs,a19 as Fs,KI as qa,a1a as xs,ZZ as Qa,g3 as Vn,KO as ga,iu as Ls,a1b as Hn,fW as Ca,br as Bs,a1c as Rs,gJ as Ja,gI as Xa,Ll as Os,gH as et,a1d as Gn,cw as $n,dc as js,ZY as Pa,LW as Kn,a1e as fn,Lw as _a,a1f as zn,LX as Us,_n as Ms,LY as Ns,N4 as Vs,CA as Hs,M_ as Gs,a1g as $s,KS as oa,a1h as Ks,a1i as zs,a1j as Ws,a1k as Ys,a1l as Zs,a1m as vt,a1n as qs,L6 as Wn,K$ as Qs,a1o as Js,h4 as Xs,a1p as Yn,Lf as Zn,Lj as qn,h3 as eo,a1q as ao,LI as Qn,a1r as to,a1s as no,a1t as ro,Lh as Jn,L2 as Xn,KL as er,Lb as ar,L9 as tr,Ld as so,a1u as nr,a1v as oo,gf as co,gg as io,gh as lo,a1w as at,g9 as rr,de as Ft,a1x as uo,a1y as mo,a1z as Co,a1A as po,Lr as yt,LP as ho,LL as fo,Ln as go,LN as bo,LD as So,LF as yo,a1B as sr,LV as Ha,S$ as Io,a1C as ko,a1D as Eo,a1E as Ao,a1F as or,a1G as Do,Mg as _o,Lv as cr,Lq as Ne,Lu as Po,a1H as wo,a1I as To,KC as vo,a1J as ir,g2 as dr,a1K as Fo,KE as xo,KD as gn,a1L as Lo,a1M as Bo,a1N as Ro,W9 as Oo,a1O as xt,a1P as jo,xz as lr,mL as Uo,ij as Mo,Ml as No,a1Q as ur,fQ as Vo,fR as Ho,a1R as Go,dR as $o,g6 as Ko,Mb as zo,M5 as qe,bq as Wo,bL as Yo,cI as Zo,bM as qo,U$ as Qo}from"./zeni-epic-state-BbP34Aqp.js";import{J as Re,df as mr,a2 as we,dg as Cr,dh as pr,di as Jo,G as aa,aq as Lt,dj as Xo,dk as ec,a as hr,e as fr,ap as gr,k as Ee,p as de,c as q,h as Sa,dl as br,dm as ac,dn as tc,z as te,a5 as wa,d4 as tt,dp as nc,dq as rc,dr as sc,$ as Ta,bj as Xe,bG as Bt,ds as oc,a9 as va,W as nt,j as ee,w as rt,dt as cc,bS as ba,du as It,dv as ic,a6 as Rt,dw as dc,ac as Sr,at as kt,dx as lc,ao as yr,I as Ir,R as kr,bo as uc,dy as mc,dz as Cc,dA as pc,dB as hc,dC as fc,dD as gc,E as za,dE as bc,dF as Sc,m as pt,l as yc,dG as Ic,dH as kc,dI as Ec,ag as Ac,dJ as Dc,dK as _c,g as Pc}from"./index-DtOneCvz.js";import{n as He,u as Ot,D as Er,S as wc}from"./mui-D65-RCnL.js";import{a as r}from"./sentry-VKV9InRh.js";import{u as Fa}from"./useAskAiCfoHostNavButtonProps-CviB8_e-.js";import{M as Ae}from"./MobileAppDrawer-D3J2lUPk.js";import{d as jt}from"./recharts-dm9pBwNL.js";import{g as _e,a as xa,b as Ar,c as Oe,d as je,e as ea,f as ta,h as na,A as Tc,i as Ut,P as vc,j as Mt,s as ya,k as Dr,l as ca,m as _r,n as Fc,o as Pr,p as xc,S as bn}from"./SetupPagesScreen-BvGqVswb.js";import{u as wr}from"./useInitialThreadRequest-CFiqVuk5.js";import st from"./NotFoundScreen-Bu_5_beT.js";import{u as Nt}from"./useChargeCardPusherEvents-CSi4eAbt.js";import{n as Sn}from"./utils-DRaLbDIg.js";import{t as Lc}from"./AddressScreen-p0IFMNFg.js";import"./analytics-BLeep1MS.js";import"./plaid-BLMTayxO.js";import"./dnd-CrX2pTWR.js";import"./stripe-cKAAJElX.js";import"./lottie-xRtpxbQu.js";import"./lexical-Caj6E5Mq.js";import"./pdf-BJQfcDMm.js";import"./InboxNotificationsProvider-Cp0oPhyn.js";import"./useTaskManagerAccess-6raGPFR-.js";import"./BusinessVerificationPageScreen-WqzTt6qr.js";import"./routePaths-CY1QL6df.js";import"./analyticsHelper-DW5cduzA.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]="3bcb5f7c-e6fb-4738-94e3-5933bc40a7ea",e._sentryDebugIdIdentifier="sentry-dbid-3bcb5f7c-e6fb-4738-94e3-5933bc40a7ea")}catch{}})();const Bc=e=>{const a=e.cardHolderUser,n=`${a.firstName??""} ${a.lastName??""}`.trim()||a.email||a.userId;return{userId:a.userId,displayName:n,roleLabel:e.cardHolderRoles?.titleAtCompany}},Tr=e=>({id:e.id,isChecked:!1,cardName:e.cardName,last4:e.accountLast4,limitAmount:e.limit?.amount??0,limitCadence:e.creditLimitFrequency?.code,owner:Bc(e),utilizationAmount:(e.limit?.amount??0)-(e.available?.amount??0)});function vr(){const e=le(),a=d((t=>_t(t.cardPolicyState))),n=d((t=>cs(t.cardPolicyState)));r.useEffect((()=>{n!==""||a==="Completed"&&n===""||a==="In-Progress"||e(Pt())}),[e,a,n])}const{spendManagement:{chargeCard:{cardPolicyPage:yn}}}=aa.getLocalizedStrings(),Rc=e=>On(e,!1),Oc=e=>jn(e.name,!1);function jc(){const e=ie(),a=me(),{tenantEmailDomain:n}=Ve(),t=le(),s=Re(),f=Fe(s?.loggedInUserRoleMap),[b,m]=r.useState(!1),A=r.useCallback((P=>{m(P)}),[]),u=r.useCallback((()=>{A(!0)}),[A]),{isAiCfoAccessEnabled:l,onAskAiCfoClick:B}=Fa({mobileExploreReferrer:"Card Policy"});r.useEffect((()=>()=>{t(is()),t(ds()),t(hn())}),[t]);const D=d((P=>_n(P.cardPolicyState))),C=d((P=>Pn(P.cardPolicyState))),O=d((P=>wn(P.cardPolicyState))),j=d((P=>Tn(P.cardPolicyState))),S=d((P=>vn(P.cardPolicyState))),c=d((P=>Fn(P.cardPolicyState))),p=d((P=>xn(P.cardPolicyState))),x=d((P=>_t(P.cardPolicyState))),E=d((P=>P.chargeCardConfigState.receiptRequiredAboveAmount.amount)),I=d((P=>P.chargeCardConfigState.fetchState));r.useEffect((()=>{D!=="Completed"&&D!=="In-Progress"&&t(Ln())}),[t,D]),vr();const k=d((P=>Bn(P.createCardPolicyState))),V=d((P=>ls(P.createCardPolicyState))),w=d((P=>us(P.cardPolicyState))),y=d((P=>ms(P.cardPolicyState))),F=d((P=>Cs(P.createCardPolicyState))),i=d((P=>Rn(P)));r.useEffect((()=>{i.fetchState==="Not-Started"&&t(ia(!1,!1,!1))}),[i.fetchState,t]);const g=r.useMemo((()=>C.map(Rc)),[C]),R=r.useMemo((()=>p.map(Oc)),[p]),G=r.useMemo((()=>i.cards.filter((P=>!mr(P.status.code))).map(Tr)),[i.cards]),M=D==="Completed"&&i.fetchState==="Completed"&&I==="Completed";r.useEffect((()=>{M&&F==null&&t(ps({cardsMasterList:G,defaultRequireReceiptAmount:E,suggestedAllowMerchants:O,suggestedBlockMerchants:j,suggestedAllowCategories:S,suggestedBlockCategories:c}))}),[I,t,M,F,G,E,O,j,S,c]);const L=r.useMemo((()=>jt((P=>{t(Pt(P))}),250)),[t]);r.useEffect((()=>()=>{L.cancel()}),[L]);const z=r.useCallback((P=>{L(P)}),[L]),U=k.fetchState,h=n!=null?`/${n}/cards/policy`:"..",H=r.useCallback((()=>{const P=we(a.state?.pathnameStackToGoBack),ae=P.poppedPathname??h;e(ae,{state:{pathnameStackToGoBack:P.newStack}})}),[a.state,e,h]),W=r.useCallback((()=>{e(h)}),[e,h]),_=r.useCallback((P=>{t(hs(P))}),[t]),Z=r.useCallback((P=>{const ae=Cr(P);t(fs({templates:[ae]}))}),[t]),N=r.useCallback((P=>{P.length!==0&&t(gs(P))}),[t]),$=r.useCallback((()=>{t(hn())}),[t]),v=r.useRef(U);r.useEffect((()=>{const P=v.current;v.current=U,U==="Completed"&&P!=="Completed"&&V!=null&&(t(We({messageSection:"card_policy_created",messageText:"success",type:"success"})),e(h))}),[t,U,V,e,h]);const T=U==="Error"?k.error?.message??yn.createPolicyGenericErrorMessage:void 0;return f&&n!=null?F==null?o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:b,handleDrawerToggle:A}),o.jsx(pr,{showUploadDocumentSection:!0,navBarTitle:yn.createPageTitle,onBackClick:H,onClickMenuIcon:u,isAiCfoAccessEnabled:l,onAskAiCfoClick:B})]}):o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:b,handleDrawerToggle:A}),o.jsx(Jo,{formDraft:F,vendorSearchOptions:R,categorySearchOptions:g,isVendorSearchLoading:x==="In-Progress",onVendorSearchTextChange:z,submitState:U,submitErrorMessage:T,documentUploadState:w,uploadedFileName:y,isAiCfoAccessEnabled:l,onAskAiCfoClick:B,onBackClick:H,onCancelClick:W,onClickMenuIcon:u,onFormChange:_,onSubmit:Z,onUploadDocument:N,onRemoveDocument:$})]}):o.jsx(Je,{to:"..",replace:!0})}const{spendManagement:{chargeCard:{cardPolicyPage:Uc}}}=aa.getLocalizedStrings(),Mc=e=>On(e,!1),Nc=e=>jn(e.name,!1);function Vc(){const e=ie(),a=me(),{tenantEmailDomain:n,templateId:t}=Ve(),s=le(),f=Re(),b=Fe(f?.loggedInUserRoleMap),[m,A]=r.useState(!1),u=r.useCallback((T=>{A(T)}),[]),l=r.useCallback((()=>{u(!0)}),[u]),{isAiCfoAccessEnabled:B,onAskAiCfoClick:D}=Fa({mobileExploreReferrer:"Card Policy"}),C=d((T=>bs(T))),O=d((T=>_n(T.cardPolicyState))),j=d((T=>Pn(T.cardPolicyState))),S=d((T=>wn(T.cardPolicyState))),c=d((T=>Tn(T.cardPolicyState))),p=d((T=>vn(T.cardPolicyState))),x=d((T=>Fn(T.cardPolicyState))),E=d((T=>xn(T.cardPolicyState))),I=d((T=>_t(T.cardPolicyState))),k=d((T=>Rn(T))),V=d((T=>t!=null?Ss(T.cardPolicyState,t):void 0)),w=r.useMemo((()=>C.templateId===t&&C.formDraft!=null?C.formDraft:V!=null?ys(V):void 0),[C.templateId,C.formDraft,V,t]);r.useEffect((()=>{if(t==null)return;const T=C.detailFetchState.fetchState;C.templateId===t&&(T==="Completed"||T==="In-Progress")||V!=null||s(Is(t))}),[s,t,C.templateId,C.detailFetchState.fetchState,V]),r.useEffect((()=>{O!=="Completed"&&O!=="In-Progress"&&s(Ln())}),[s,O]),vr();const y=d((T=>T.chargeCardConfigState.receiptRequiredAboveAmount.amount));r.useEffect((()=>{k.fetchState==="Not-Started"&&s(ia(!1,!1,!1))}),[k.fetchState,s]);const F=r.useMemo((()=>j.map(Mc)),[j]),i=r.useMemo((()=>E.map(Nc)),[E]),g=r.useMemo((()=>k.cards.filter((T=>!mr(T.status.code))).map(Tr)),[k.cards]);Lt({isDataReady:w!=null});const R=r.useMemo((()=>{if(w!=null)return Xo({draft:w,cardRows:g,categorySearchOptions:F,vendorSearchOptions:i,defaultRequireReceiptAmount:y,suggestedAllowMerchants:S,suggestedBlockMerchants:c,suggestedAllowCategories:p,suggestedBlockCategories:x})}),[w,g,F,i,y,S,c,p,x]),[G,M]=r.useState(void 0),L=r.useRef(!1);r.useEffect((()=>{L.current||G!=null||R==null||(L.current=!0,M(R))}),[G,R]);const z=r.useCallback((T=>{M(T)}),[]),U=r.useMemo((()=>jt((T=>{s(Pt(T))}),250)),[s]);r.useEffect((()=>()=>{U.cancel()}),[U]);const h=r.useCallback((T=>{U(T)}),[U]),H=C.updateFetchState.fetchState,W=n!=null?`/${n}/cards/policy`:"..",_=r.useCallback((()=>{const T=we(a.state?.pathnameStackToGoBack),P=T.poppedPathname??W;e(P,{state:{pathnameStackToGoBack:T.newStack}})}),[a.state,e,W]),Z=r.useCallback((()=>{e(W)}),[e,W]),N=r.useCallback((T=>{if(t==null)return;const P=Cr(T);s(ks(P)),s(Es(t))}),[s,t]),$=r.useRef(H);r.useEffect((()=>{const T=$.current;$.current=H,H==="Completed"&&T!=="Completed"&&(s(We({messageSection:"card_policy_updated",messageText:"success",type:"success"})),e(W))}),[s,H,e,W]);const v=H==="Error"?C.updateFetchState.error?.message??Uc.updatePolicyGenericErrorMessage:void 0;return!b||n==null||t==null?o.jsx(Je,{to:"..",replace:!0}):G!=null&&O==="Completed"&&k.fetchState==="Completed"?o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:m,handleDrawerToggle:u}),o.jsx(ec,{templateName:C.template?.name??"",formDraft:G,vendorSearchOptions:i,categorySearchOptions:F,isVendorSearchLoading:I==="In-Progress",onVendorSearchTextChange:h,submitState:H,submitErrorMessage:v,isAiCfoAccessEnabled:B,onAskAiCfoClick:D,onBackClick:_,onCancelClick:Z,onClickMenuIcon:l,onFormChange:z,onSubmit:N})]}):o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:m,handleDrawerToggle:u}),o.jsx(pr,{showUploadDocumentSection:!1,navBarTitle:C.template?.name,onBackClick:_,onClickMenuIcon:l,isAiCfoAccessEnabled:B,onAskAiCfoClick:D})]})}function Fr(e,a,n){return a?e.filter((t=>t!=null&&t.trim().length>0)).slice(0,n):[]}function xr(e){return d((a=>e==null||e===""?{chips:ht,isResolved:!1}:(function(n){const t=n?.fetchState,s=t==="Completed"||t==="Error";return{chips:t==="Completed"?n?.suggestedQuestions??ht:ht,isResolved:s}})(As(a,e))),Dt)}const ht=[],{spendManagement:{chargeCard:{cardPolicyAiCfoHero:{headline:Hc,subheadline:Gc,pageTitle:$c}}}}=aa.getLocalizedStrings(),Kc=e=>{const a=e.cardsCount>0?e.cardsCount:e.appliedCards.length,n=e.allowedEntity.merchantNames.length+e.blockedEntity.merchantNames.length,t=e.allowedEntity.categoryCodes.length+e.blockedEntity.categoryCodes.length;return{templateId:e.templateId,name:e.name,description:e.description,mode:e.mode==="flexible"?"flexible":"strict",createdAtFormatted:e.createdAt.format("ll"),cardsCount:a,vendorRestrictionsCount:n,categoryRestrictionsCount:t}};function zc(){const e=ie(),a=me(),{tenantEmailDomain:n}=Ve(),t=le(),s=Re(),f=Fe(s?.loggedInUserRoleMap),[b,m]=r.useState(!1),A=r.useCallback((h=>{m(h)}),[]),u=r.useCallback((()=>{A(!0)}),[A]),{useFeatureGate:l}=de(),{isFeatureEnabled:B}=l(q.isAiCfoFileUploadEnabled),{isFeatureEnabled:D}=l(q.isCardPolicyEnabled),{isAiCfoAccessEnabled:C,onAskAiCfoClick:O}=Fa({mobileExploreReferrer:"Card Policy"}),j=d((h=>Ds(h))),S=d((h=>Bn(h.createCardPolicyState))),c=d((h=>_s(h.createCardPolicyState))),p=d((h=>c==null?[]:Mn(h.aiCfoState,c).filter((H=>H.kind==="creating_policy"))),Dt),x=S.fetchState==="In-Progress"?Math.max(p.length,1):0,E=d((h=>Ps(h.createCardPolicyState))),I=Sa(S.fetchState);r.useEffect((()=>{if(I==="In-Progress"&&S.fetchState==="Completed"&&c!=null)p.forEach((h=>{t(St({chatSessionId:c,id:h.id,entityIds:E,kind:"created_policy"}))}));else if(I==="In-Progress"&&S.fetchState==="Error"&&c!=null){p.forEach((H=>{t(St({chatSessionId:c,id:H.id,kind:"errored_policy"}))}));const h=S.error?.message!=null&&S.error.message.length>0?S.error.message:aa.getLocalizedStrings().common.errorMessage.somethingWentWrongPleaseTryAgain;t(We({messageSection:"card_policy_created",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:h}]}))}}),[S.error?.message,S.fetchState,t,c,E,p,I]);const k=j.fetchState.fetchState;r.useEffect((()=>{k!=="Not-Started"&&k!=="Error"||t(ws())}),[t,k]);const V=j.archiveFetchState.fetchState,w=Sa(V);r.useEffect((()=>{w==="In-Progress"&&V==="Completed"&&t(We({messageSection:"card_policy_deleted",messageText:"success",type:"success"}))}),[V,t,w]);const y=r.useMemo((()=>j.templates.map(Kc)),[j.templates]);Lt({isDataReady:j.fetchState.fetchState==="Completed"});const F=y.length>0||x>0,i=(function(h){const{hasAnyPolicies:H,isChargeCardAdmin:W,isFileUploadEnabled:_}=h,Z=ie(),N=me(),{tenantEmailDomain:$}=Ve(),{isAiCfoOpen:v,setIsAiCfoOpen:T}=hr(),P=fr(),ae=gr(),Ce=d((Q=>Un(Q))).createSessionAndSubmitState.fetchState==="In-Progress",{chips:X,isResolved:Te}=xr("card_policy"),Ie=r.useMemo((()=>Fr(X,Te,3)),[X,Te]),[re,be]=r.useState(""),pe=ae&&P&&$!=null&&!v,he=r.useCallback((Q=>{if($==null)return;const Ge=Ee(N.state?.pathnameStackToGoBack,N.pathname);Z(`/${$}/cards/ask`,{state:{message:"",origin:"",pathnameStackToGoBack:Ge,referrer:"card_policy_hero",aiCfoInitialQuestion:Q,aiCfoShouldSubmit:Q!=null&&Q.trim().length>0}})}),[N.pathname,N.state,Z,$]),oe=r.useCallback((Q=>{Q.trim().length!==0&&(be(""),he(Q))}),[he]),J=r.useCallback((()=>{const Q=re.trim();Q.length!==0&&(be(""),he(Q))}),[re,he]),Se=r.useCallback((()=>{}),[]),De=r.useCallback((Q=>{be(Q)}),[]),fe=r.useCallback((()=>{T(!0)}),[T]),ve=r.useCallback((()=>{he(void 0)}),[he]);return r.useMemo((()=>{if(pe&&!H&&W)return{aiAgentName:$c,headline:Hc,subheadline:Gc,promptChips:Ie,composer:{currentInput:re,isSubmitting:Ce,isFileUploadEnabled:_,onInputChange:De,onSubmit:J,onStopSubmit:Se},onPromptClick:oe,onOpenSidePanel:fe,onOpenFullView:ve,dataTestIdPrefix:"card-policy-ai-cfo-hero"}}),[re,H,pe,W,_,Ce,De,ve,fe,oe,Se,J,Ie])})({hasAnyPolicies:F,isChargeCardAdmin:f,isFileUploadEnabled:B}),g=D&&i!=null?o.jsx(br,{...i}):null,R=C&&g==null,G=r.useCallback((()=>{const h=we(a.state?.pathnameStackToGoBack),H=h.poppedPathname??"..";e(H,{state:{pathnameStackToGoBack:h.newStack}})}),[a.state,e]),M=r.useCallback((()=>{n!=null&&e(`/${n}/cards/policy/new`)}),[e,n]),L=r.useCallback((h=>{n!=null&&e(`/${n}/cards/policy/${h}/edit`)}),[e,n]),z=r.useCallback((h=>{t(Ts(h))}),[t]),U=j.fetchState.fetchState;return!F&&U!=="Completed"&&U!=="Error"?o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:b,handleDrawerToggle:A}),o.jsx(ac,{onBackClick:G,onNewPolicyClick:M,onClickMenuIcon:u,isAiCfoAccessEnabled:C,onAskAiCfoClick:O})]}):o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:b,handleDrawerToggle:A}),o.jsx(tc,{policies:y,archivingTemplateId:j.archiveTargetTemplateId,pendingCreationCount:x,onBackClick:G,onNewPolicyClick:M,onEditPolicyClick:L,onArchivePolicyClick:z,onClickMenuIcon:u,policyAiCfoHero:g,isAiCfoAccessEnabled:R,onAskAiCfoClick:O})]})}function Wc(){const e=ie(),{cardId:a}=Ve(),n=le(),t=te.getSignedInUser(),s=d((X=>ge(X))),f=Re(),b=Fe(f?.loggedInUserRoleMap),{useFeatureGate:m}=de();if(t==null)throw Error("Can't access Add To Wallet Page without signing in...");const[A,u]=r.useState(!1),l=d((X=>Za(X).firstViewAfterActivation));if(a==null)throw Error("Empty card id is not valid...");const B=s.userRole.includes("charge_card_user"),{isFeatureEnabled:D}=m(q.isChargeCardFeatureEnabled),C=!!s.companyChargeCardInfo?.info?.isChargeCardEnabled,{isFeatureEnabled:O}=m(q.isDebitCardFeatureEnabled),j=xe(s),S=Le(s),c=Be(O,s),p=s.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,x=Oe({isDebitCardFeatureEnabled:O,isBankingOnlyTenant:c}),E=je({isCardsOnlyTenant:j,isChargeCardFeatureEnabled:D,isBookKeepingTenant:S,isDebitCardProductVisible:x,chargeCardsCreditAccountLimit:p}),I=!!s.companyDebitCardInfo?.info?.isDebitCardEnabled,k=d((X=>da(X,s.companyId))),V=la(k.controllers),{creditAccount:w,creditAccountRepayment:y}=d((X=>ua(X))),F=d((X=>X.classListState.fetchState)),i=!B&&E&&C,g=d((X=>wt(X,a,i,E))),[R,G]=r.useState(!1),M=g.chargeCard,L=M?.cardCreatedByUser?.userId,z=d((X=>L!=null?Ga(X.userRoleState,L):void 0)),U=z?.accountingClassIDs[0],h=d((X=>U!=null?$a(X.classState,{classId:U,reportId:"class_list"}):void 0)),H=M?.cardHolderUser?.userId,W=d((X=>H!=null?Ga(X.userRoleState,H):void 0)),_=W?.accountingClassIDs[0],Z=d((X=>_!=null?$a(X.classState,{classId:_,reportId:"class_list"}):void 0)),N=M?.type.code==="business_physical_credit_card"||M?.type.code==="business_physical_debit_card",$=M?.type.code==="business_physical_debit_card";r.useEffect((()=>{l&&A===!1&&N&&(u(!0),setTimeout((()=>{n(Ka()),$&&n(We({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))}),5e3))}),[l,A,N,$]),r.useEffect((()=>{R||g.fetchState==="Completed"||g.fetchState==="In-Progress"||a==null||(G(!0),n(Ia(a,i,!1)))}),[R,g,a,n]),r.useEffect((()=>{if(g.fetchState==="Completed"&&(N===!1||N&&M?.status?.code!=="active"||M?.cardHolderUserId!==t.userId||l===!1&&A===!1||M?.type.code==="business_physical_debit_card"||M?.type.code==="business_virtual_debit_card")){const X=_e(s.tenantEmailDomain,a,t,M,l);e(X)}}),[g.fetchState,l,N]),r.useEffect((()=>{w.fetchState!=="Completed"&&w.fetchState!=="In-Progress"&&E&&C&&b&&n(Qe()),y.fetchState!=="Completed"&&y.fetchState!=="In-Progress"&&E&&C&&b&&n(Tt()),F!=="Completed"&&F!=="In-Progress"&&n(Nn())}),[w.fetchState,y.fetchState,n,E,C,b,F]);const v=()=>{if(t!=null&&a!=null){n(Ka());const X=_e(s.tenantEmailDomain,a,t);e(X)}},T=M?.type.code==="business_physical_debit_card"||M?.type.code==="business_virtual_debit_card",P=ea(E,x,I,C),ae=xa(E,C,b,w,y),Ce=Ar(T,g);return g.fetchState!=="Completed"?o.jsx(wa,{fetchState:"In-Progress"}):o.jsxs(o.Fragment,{children:[o.jsx(tt,{showConfetti:l}),o.jsx(nc,{onGotItClick:v,isDebitCard:M?.type.code==="business_physical_debit_card",controllerEmails:V,isChargeCardFeatureEnabled:E,isDebitCardFeatureEnabled:x,isDebitCardSetupEnabled:I,isChargeCardSetupEnabled:C,productInformation:P,creditAccountInformation:ae,debitAccountInformation:Ce,chargeCardDetailView:g,creditAccount:w,classListFetchState:F,creditAccountRepayment:y,cardIssuedByRoles:z?.userRoles,cardIssuedByDepartmentName:h?.className,cardHolderRoles:W?.userRoles,cardHolderDepartmentName:Z?.className})]})}const Lr="charge-card-transaction-update",Br="charge-card-transaction-created",Rr="charge-card-transaction-declined",Or="charge-card-transaction-updated",jr="charge-card-transaction-receipt-uploaded",pa="charge-card-status-update",Vt="charge-card-spending-updated",ot="credit-account-balance-updated",ct="charge-card-created",Ht="charge-card-limit-updated",Gt="charge-card-limit-reset",$t="charge-card-renamed",Yc="charge-card-department-updated",Ur="charge-card-repayment-completed",Mr="charge-card-payment-date-updated",La="charge-card-cashback-redeemed",Ba="charge-card-cashback-earned",ha=(e,a)=>e==null||e===""?[]:a.map((n=>`private-encrypted-${e}.${n}`)),Zc=[Ba,La],qc=Pe((function(e){const a=ma(e);return{insightsData:a.insight,cashbackByPeriod:a.cashbackByPeriod,uiState:a.uiState,cashbackSummary:a.cashbackSummary}}),(function(e){return{onColumnSortConfigChanged:(a,n)=>{e(vs({uiState:{sortKey:a,sortOrder:n}}))}}}))(sc);function Qc(){const e=ie(),a=le(),n=me(),t=te.getSignedInUser(),s=d((D=>ge(D))),[f,b]=r.useState(!1),m=d((D=>ma(D))),A=wr(s.companyId,{clearParams:m.fetchState==="Completed"}),u=r.useCallback((()=>{const D=we(n.state?.pathnameStackToGoBack),C=D.poppedPathname??Jc(s.tenantEmailDomain);e(C,{state:{pathnameStackToGoBack:D.newStack}})}),[e,n,s.tenantEmailDomain]),l=ta(s);if(Nt({events:ha(l,Zc),onEvent:D=>{switch(D){case Ba:case La:return void a(Da(!0))}},onSubscribed:()=>{a(Da(!0))}}),r.useEffect((()=>{f||m.fetchState==="Completed"||m.fetchState==="In-Progress"||(b(!0),a(Da()))}),[f,m,a]),t==null)throw Error("Can't access cashback detail page without signing in...");const B=m.cashbackSummary?.cashbackEarned?.amount!=null&&m.fetchState!=="Not-Started";return m.fetchState!=="In-Progress"||B?(m.cashbackSummary?.cashbackEarned?.amount??0)===0&&m.fetchState==="Completed"?o.jsx(st,{}):o.jsx(qc,{onBackClick:u,initialOpenThreadRequest:A}):o.jsx(rc,{onBackClick:u})}const Jc=e=>`/${e}/cards`,Xc={containerWidth:new va(100,58)},ei=({appContent:e})=>{const a=Ta(),n=le(),t=ie(),{cardId:s}=Ve(),f=me(),{useDynamicConfig:b}=de(),[m,A]=r.useState(!1),[u,l]=r.useState(!1),[B,D]=r.useState(!1),[C,O]=r.useState(!1),j=te.getSignedInUser();if(j==null)throw Error("Can't access onboarding card page without signing in...");const S=d((Z=>ge(Z)));if(s==null)throw Error("Empty card id is not valid...");const{configValue:c}=b(Xe.zeniCardsConfig),p=c.max_charge_card_activation_attempts_by_card_id,x=d((Z=>Fs(Z,s))),E=x.chargeCard,I=d((Z=>Z.chargeCardConfigState.fetchState)),{useFeatureGate:k}=de(),{isFeatureEnabled:V}=k(q.isChargeCardFeatureEnabled),{isFeatureEnabled:w}=k(q.isDebitCardFeatureEnabled),y=Be(w,S),F=Oe({isDebitCardFeatureEnabled:w,isBankingOnlyTenant:y}),i=!!S.companyChargeCardInfo?.info?.isChargeCardEnabled,g=S.userRole.includes("charge_card_user"),R=xe(S),G=Le(S),M=S.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,L=je({isCardsOnlyTenant:R,isChargeCardFeatureEnabled:V,isBookKeepingTenant:G,isDebitCardProductVisible:F,chargeCardsCreditAccountLimit:M}),z=!g&&L&&i;r.useEffect((()=>{m===!1&&I!=="In-Progress"&&I!=="Completed"&&(n(qa()),A(!0)),u===!1&&x.fetchState==="Not-Started"&&(l(!0),n(Ia(s,z,L)))}),[u,x.fetchState,m,I]);const U=E?.type.code==="business_physical_credit_card"||E?.type.code==="business_physical_debit_card";r.useEffect((()=>{if(x.fetchState==="Completed"){if(B===!1&&(U===!1||U&&E?.status?.code!=="inactive"||E?.cardHolderUserId!==j.userId)){const Z=_e(S.tenantEmailDomain,s,j,E,!0),N=Ee(f.state?.pathnameStackToGoBack,f.pathname);t(Z,{state:{pathnameStackToGoBack:N}})}else if(B&&x.isRefreshingViewInBackground===!1&&E?.status?.code==="active"){n(xs({chargeCardId:s}));const Z=_e(S.tenantEmailDomain,s,j,E,!0),N=Ee(f.state?.pathnameStackToGoBack,f.pathname);n(Qa()),t(Z,{state:{pathnameStackToGoBack:N}})}}}),[x.fetchState,E?.type.code,B,x.isRefreshingViewInBackground]);const h=te.getZeniOtpTokenForCardHolder(s),H=d((Z=>Vn(Z.userState,j.userId))),W=()=>{E?.status?.code!=="active"&&n(ga(s,!0))};r.useEffect((()=>{x.updatePhysicalChargeCardAttemptFetchState.fetchState==="Completed"&&E?.cardActivationAttemptHistory.some((Z=>Z.statusCode==="success"))===!0&&B===!1&&(setTimeout(W,3e3),D(!0))}),[x.updatePhysicalChargeCardAttemptFetchState.fetchState,E?.cardActivationAttemptHistory]);const _=Z=>{O(Z)};if(I!=="Completed"||E==null)return o.jsx(wa,{fetchState:"In-Progress"});if(E.shippingAddressId==null)throw Error("Can't access shippingAddressId.");if(H?.phone==null)throw Error("Can't access user phone number.");return o.jsxs(ni,{children:[o.jsx(Ae,{isAppContentDrawerOpen:C,handleDrawerToggle:_}),o.jsx(ai,{cardId:s,card:E,shippingAddressId:E.shippingAddressId,phone:H.phone,signedInUser:j,isSandboxEnv:Bt(),chargeCardDetailState:x,signedInUserToken:h,navigate:t,currentTenant:S,location:f,maxChargeCardActivationAttempts:p[s]!=null?p[s]:c.default_max_charge_card_activation_attempts!=null?c.default_max_charge_card_activation_attempts:3,chargeCardCashbackRatePerTransaction:c.charge_card_cashback_rate_per_transaction!=null?c.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{_(!0)}}),e!=null?o.jsx(ti,{windowSize:a,children:e}):null]})},ai=Pe((function(e,{chargeCardDetailState:a,shippingAddressId:n,location:t,cardId:s}){const f=Ls(e.addressState,n);if(f==null)throw Error("Can't access shippingAddress.");const b=Hn(e,s),m=a.updateStatus,A=Ca(e,!1,!1,!1);let u=!1;A.fetchState==="Completed"&&A.cards.length<=1&&(u=!0);const l=t.state?.message==="comingFromV2UrlPath";return{showActivatePage:a.chargeCard?.providerCardCreateTime!=null&&a.chargeCard.providerCardCreateTime.add(24,"h").isBefore(Bs())||l,showMenuIcon:u,shippingAddress:f,vgsVaultId:nt.cardVaultId,twoFAView:b,activationWaitStatus:m,isRefreshingViewInBackground:a.isRefreshingViewInBackground}}),(function(e,a){const{navigate:n,cardId:t,location:s,currentTenant:f,chargeCardDetailState:b}=a,m=b.chargeCard?.cardProviderID,{tenantEmailDomain:A}=f;return{onGetOtp:u=>{m!=null&&e(et(u,"ChargeCardHolder",t))},onUpdatePhysicalChargeCardAttempt:u=>{e(Os(t,u))},onResendOtp:u=>{m!=null&&e(Xa(u,"ChargeCardHolder",t))},onVerifyOtp:(u,l)=>{m!=null&&e(Ja(u,l,"ChargeCardHolder",t))},onVerifyOtpSuccess:u=>{u!=null&&te.saveZeniOtpTokenForCardHolder(u,t)},onCVVActivateSuccess:()=>{e(Rs({chargeCardId:t}))},onBackClick:()=>{const u=we(s.state?.pathnameStackToGoBack),l=u.poppedPathname==null||u.poppedPathname.includes("onboard")===!0?na(A):u.poppedPathname;n(l,{state:{pathnameStackToGoBack:u.newStack}})}}}))(oc),ti=He.div`
|
|
1
|
+
import{j as o}from"./liveblocks-CevUFagi.js";import{u as le,j as d,h as ie,g as me,i as Ve,N as Qe,s as Dt,l as Pe,t as Dn,n as os,o as ne}from"./core-Bc2mnalE.js";import{fV as _t,a0T as cs,g5 as Pt,bu as Fe,a0U as is,a0V as ds,fK as hn,a0W as _n,fT as Pn,a0X as wn,a0Y as Tn,a0Z as vn,a0_ as Fn,fU as xn,g4 as Ln,a0$ as Bn,a10 as ls,f_ as us,fZ as ms,a11 as Cs,KF as Rn,g7 as ia,a12 as ps,a13 as hs,fM as fs,fL as gs,gk as We,g0 as On,f$ as jn,a14 as bs,g1 as Ss,Kb as ys,Ka as Is,Ke as ks,Kg as Es,gd as As,fH as Un,a15 as Ds,a16 as _s,gi as Mn,a17 as Ps,gj as St,Km as ws,Kj as Ts,fI as ge,a18 as Za,e0 as xe,dk as Le,e1 as Be,h2 as da,cD as la,a19 as ua,a1a as wt,Do as Ga,mb as $a,a1b as Ka,KV as Ia,g8 as Je,KX as Tt,m1 as Nn,a1c as ma,KJ as Da,a1d as vs,a1e as Fs,KM as qa,a1f as xs,_2 as Ja,g3 as Vn,KS as ga,iu as Ls,a1g as Hn,fW as Ca,br as Bs,a1h as Rs,gJ as Qa,gI as Xa,Lp as Os,gH as et,a1i as Gn,cw as $n,dc as js,_1 as Pa,L_ as Kn,a1j as fn,LA as _a,a1k as zn,L$ as Us,_s as Ms,M0 as Ns,N8 as Vs,CE as Hs,N2 as Gs,a1l as $s,KW as oa,a1m as Ks,a1n as zs,a1o as Ws,a1p as Ys,a1q as Zs,a1r as vt,a1s as qs,La as Wn,L3 as Js,a1t as Qs,h4 as Xs,a1u as Yn,Lj as Zn,Ln as qn,h3 as eo,a1v as ao,LM as Jn,a1w as to,a1x as no,a1y as ro,Ll as Qn,L6 as Xn,KP as er,Lf as ar,Ld as tr,Lh as so,a1z as nr,a1A as oo,gf as co,gg as io,gh as lo,a1B as at,g9 as rr,de as Ft,a1C as uo,a1D as mo,a1E as Co,a1F as po,Lv as yt,LT as ho,LP as fo,Lr as go,LR as bo,LH as So,LJ as yo,a1G as sr,LZ as Ha,T3 as Io,a1H as ko,a1I as Eo,a1J as Ao,a1K as or,a1L as Do,Mk as _o,Lz as cr,Lu as Ne,Ly as Po,a1M as wo,a1N as To,KG as vo,a1O as ir,g2 as dr,a1P as Fo,KI as xo,KH as gn,a1Q as Lo,a1R as Bo,a1S as Ro,We as Oo,a1T as xt,a1U as jo,xD as lr,mL as Uo,ij as Mo,Mp as No,a1V as ur,fQ as Vo,fR as Ho,a1W as Go,dR as $o,g6 as Ko,Mf as zo,M9 as qe,bq as Wo,bL as Yo,cI as Zo,bM as qo,V3 as Jo}from"./zeni-epic-state-VmxO3Mnv.js";import{J as Re,df as mr,a2 as we,dg as Cr,dh as pr,di as Qo,G as aa,aq as Lt,dj as Xo,dk as ec,a as hr,f as fr,ap as gr,l as Ee,p as de,d as q,j as Sa,dl as br,dm as ac,dn as tc,z as te,a5 as wa,d4 as tt,dp as nc,dq as rc,dr as sc,$ as Ta,bj as Xe,bG as Bt,ds as oc,a9 as va,W as nt,k as ee,w as rt,dt as cc,bS as ba,du as It,dv as ic,a6 as Rt,dw as dc,ac as Sr,at as kt,dx as lc,ao as yr,I as Ir,R as kr,bo as uc,dy as mc,dz as Cc,dA as pc,dB as hc,dC as fc,dD as gc,E as za,dE as bc,dF as Sc,m as pt,c as yc,dG as Ic,dH as kc,dI as Ec,ag as Ac,dJ as Dc,dK as _c,h as Pc}from"./index-CtE8HnsY.js";import{n as He,u as Ot,D as Er,S as wc}from"./mui-CUsYvTMG.js";import{a as r}from"./sentry-BrSPpZKf.js";import{u as Fa}from"./useAskAiCfoHostNavButtonProps-JRFYPtx4.js";import{M as Ae}from"./MobileAppDrawer-BixbLTmv.js";import{d as jt}from"./recharts-BjkXpBn6.js";import{g as _e,a as xa,b as Ar,c as Oe,d as je,e as ea,f as ta,h as na,A as Tc,i as Ut,P as vc,j as Mt,s as ya,k as Dr,l as ca,m as _r,n as Fc,o as Pr,p as xc,S as bn}from"./SetupPagesScreen-CYo2TZ1p.js";import{u as wr}from"./useInitialThreadRequest-gQdpW0fv.js";import st from"./NotFoundScreen-BkN7W6JR.js";import{u as Nt}from"./useChargeCardPusherEvents-D_qYIckD.js";import{n as Sn}from"./utils-BKSIhN7N.js";import{t as Lc}from"./AddressScreen-yLBHCU8H.js";import"./analytics-D7SbUCRL.js";import"./plaid-Dxz6lSJz.js";import"./dnd-B0zyAl0s.js";import"./stripe-cKAAJElX.js";import"./lottie-Dhd_0CJG.js";import"./lexical-CCch0Fzo.js";import"./pdf-CuegwamZ.js";import"./InboxNotificationsProvider-yzTJ7wEQ.js";import"./useTaskManagerAccess-94Xv3cKO.js";import"./BusinessVerificationPageScreen-CNBsygLT.js";import"./routePaths-Dv28cYw1.js";import"./analyticsHelper-BNh1_jfv.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]="fd7adbcd-000c-4a07-98bb-776d47d7b169",e._sentryDebugIdIdentifier="sentry-dbid-fd7adbcd-000c-4a07-98bb-776d47d7b169")}catch{}})();const Bc=e=>{const a=e.cardHolderUser,n=`${a.firstName??""} ${a.lastName??""}`.trim()||a.email||a.userId;return{userId:a.userId,displayName:n,roleLabel:e.cardHolderRoles?.titleAtCompany}},Tr=e=>({id:e.id,isChecked:!1,cardName:e.cardName,last4:e.accountLast4,limitAmount:e.limit?.amount??0,limitCadence:e.creditLimitFrequency?.code,owner:Bc(e),utilizationAmount:(e.limit?.amount??0)-(e.available?.amount??0)});function vr(){const e=le(),a=d((t=>_t(t.cardPolicyState))),n=d((t=>cs(t.cardPolicyState)));r.useEffect((()=>{n!==""||a==="Completed"&&n===""||a==="In-Progress"||e(Pt())}),[e,a,n])}const{spendManagement:{chargeCard:{cardPolicyPage:yn}}}=aa.getLocalizedStrings(),Rc=e=>On(e,!1),Oc=e=>jn(e.name,!1);function jc(){const e=ie(),a=me(),{tenantEmailDomain:n}=Ve(),t=le(),s=Re(),f=Fe(s?.loggedInUserRoleMap),[b,m]=r.useState(!1),A=r.useCallback((P=>{m(P)}),[]),u=r.useCallback((()=>{A(!0)}),[A]),{isAiCfoAccessEnabled:l,onAskAiCfoClick:B}=Fa({mobileExploreReferrer:"Card Policy"});r.useEffect((()=>()=>{t(is()),t(ds()),t(hn())}),[t]);const D=d((P=>_n(P.cardPolicyState))),C=d((P=>Pn(P.cardPolicyState))),O=d((P=>wn(P.cardPolicyState))),j=d((P=>Tn(P.cardPolicyState))),S=d((P=>vn(P.cardPolicyState))),c=d((P=>Fn(P.cardPolicyState))),p=d((P=>xn(P.cardPolicyState))),x=d((P=>_t(P.cardPolicyState))),E=d((P=>P.chargeCardConfigState.receiptRequiredAboveAmount.amount)),I=d((P=>P.chargeCardConfigState.fetchState));r.useEffect((()=>{D!=="Completed"&&D!=="In-Progress"&&t(Ln())}),[t,D]),vr();const k=d((P=>Bn(P.createCardPolicyState))),V=d((P=>ls(P.createCardPolicyState))),w=d((P=>us(P.cardPolicyState))),y=d((P=>ms(P.cardPolicyState))),F=d((P=>Cs(P.createCardPolicyState))),i=d((P=>Rn(P)));r.useEffect((()=>{i.fetchState==="Not-Started"&&t(ia(!1,!1,!1))}),[i.fetchState,t]);const g=r.useMemo((()=>C.map(Rc)),[C]),R=r.useMemo((()=>p.map(Oc)),[p]),G=r.useMemo((()=>i.cards.filter((P=>!mr(P.status.code))).map(Tr)),[i.cards]),M=D==="Completed"&&i.fetchState==="Completed"&&I==="Completed";r.useEffect((()=>{M&&F==null&&t(ps({cardsMasterList:G,defaultRequireReceiptAmount:E,suggestedAllowMerchants:O,suggestedBlockMerchants:j,suggestedAllowCategories:S,suggestedBlockCategories:c}))}),[I,t,M,F,G,E,O,j,S,c]);const L=r.useMemo((()=>jt((P=>{t(Pt(P))}),250)),[t]);r.useEffect((()=>()=>{L.cancel()}),[L]);const z=r.useCallback((P=>{L(P)}),[L]),U=k.fetchState,h=n!=null?`/${n}/cards/policy`:"..",H=r.useCallback((()=>{const P=we(a.state?.pathnameStackToGoBack),ae=P.poppedPathname??h;e(ae,{state:{pathnameStackToGoBack:P.newStack}})}),[a.state,e,h]),W=r.useCallback((()=>{e(h)}),[e,h]),_=r.useCallback((P=>{t(hs(P))}),[t]),Z=r.useCallback((P=>{const ae=Cr(P);t(fs({templates:[ae]}))}),[t]),N=r.useCallback((P=>{P.length!==0&&t(gs(P))}),[t]),$=r.useCallback((()=>{t(hn())}),[t]),v=r.useRef(U);r.useEffect((()=>{const P=v.current;v.current=U,U==="Completed"&&P!=="Completed"&&V!=null&&(t(We({messageSection:"card_policy_created",messageText:"success",type:"success"})),e(h))}),[t,U,V,e,h]);const T=U==="Error"?k.error?.message??yn.createPolicyGenericErrorMessage:void 0;return f&&n!=null?F==null?o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:b,handleDrawerToggle:A}),o.jsx(pr,{showUploadDocumentSection:!0,navBarTitle:yn.createPageTitle,onBackClick:H,onClickMenuIcon:u,isAiCfoAccessEnabled:l,onAskAiCfoClick:B})]}):o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:b,handleDrawerToggle:A}),o.jsx(Qo,{formDraft:F,vendorSearchOptions:R,categorySearchOptions:g,isVendorSearchLoading:x==="In-Progress",onVendorSearchTextChange:z,submitState:U,submitErrorMessage:T,documentUploadState:w,uploadedFileName:y,isAiCfoAccessEnabled:l,onAskAiCfoClick:B,onBackClick:H,onCancelClick:W,onClickMenuIcon:u,onFormChange:_,onSubmit:Z,onUploadDocument:N,onRemoveDocument:$})]}):o.jsx(Qe,{to:"..",replace:!0})}const{spendManagement:{chargeCard:{cardPolicyPage:Uc}}}=aa.getLocalizedStrings(),Mc=e=>On(e,!1),Nc=e=>jn(e.name,!1);function Vc(){const e=ie(),a=me(),{tenantEmailDomain:n,templateId:t}=Ve(),s=le(),f=Re(),b=Fe(f?.loggedInUserRoleMap),[m,A]=r.useState(!1),u=r.useCallback((T=>{A(T)}),[]),l=r.useCallback((()=>{u(!0)}),[u]),{isAiCfoAccessEnabled:B,onAskAiCfoClick:D}=Fa({mobileExploreReferrer:"Card Policy"}),C=d((T=>bs(T))),O=d((T=>_n(T.cardPolicyState))),j=d((T=>Pn(T.cardPolicyState))),S=d((T=>wn(T.cardPolicyState))),c=d((T=>Tn(T.cardPolicyState))),p=d((T=>vn(T.cardPolicyState))),x=d((T=>Fn(T.cardPolicyState))),E=d((T=>xn(T.cardPolicyState))),I=d((T=>_t(T.cardPolicyState))),k=d((T=>Rn(T))),V=d((T=>t!=null?Ss(T.cardPolicyState,t):void 0)),w=r.useMemo((()=>C.templateId===t&&C.formDraft!=null?C.formDraft:V!=null?ys(V):void 0),[C.templateId,C.formDraft,V,t]);r.useEffect((()=>{if(t==null)return;const T=C.detailFetchState.fetchState;C.templateId===t&&(T==="Completed"||T==="In-Progress")||V!=null||s(Is(t))}),[s,t,C.templateId,C.detailFetchState.fetchState,V]),r.useEffect((()=>{O!=="Completed"&&O!=="In-Progress"&&s(Ln())}),[s,O]),vr();const y=d((T=>T.chargeCardConfigState.receiptRequiredAboveAmount.amount));r.useEffect((()=>{k.fetchState==="Not-Started"&&s(ia(!1,!1,!1))}),[k.fetchState,s]);const F=r.useMemo((()=>j.map(Mc)),[j]),i=r.useMemo((()=>E.map(Nc)),[E]),g=r.useMemo((()=>k.cards.filter((T=>!mr(T.status.code))).map(Tr)),[k.cards]);Lt({isDataReady:w!=null});const R=r.useMemo((()=>{if(w!=null)return Xo({draft:w,cardRows:g,categorySearchOptions:F,vendorSearchOptions:i,defaultRequireReceiptAmount:y,suggestedAllowMerchants:S,suggestedBlockMerchants:c,suggestedAllowCategories:p,suggestedBlockCategories:x})}),[w,g,F,i,y,S,c,p,x]),[G,M]=r.useState(void 0),L=r.useRef(!1);r.useEffect((()=>{L.current||G!=null||R==null||(L.current=!0,M(R))}),[G,R]);const z=r.useCallback((T=>{M(T)}),[]),U=r.useMemo((()=>jt((T=>{s(Pt(T))}),250)),[s]);r.useEffect((()=>()=>{U.cancel()}),[U]);const h=r.useCallback((T=>{U(T)}),[U]),H=C.updateFetchState.fetchState,W=n!=null?`/${n}/cards/policy`:"..",_=r.useCallback((()=>{const T=we(a.state?.pathnameStackToGoBack),P=T.poppedPathname??W;e(P,{state:{pathnameStackToGoBack:T.newStack}})}),[a.state,e,W]),Z=r.useCallback((()=>{e(W)}),[e,W]),N=r.useCallback((T=>{if(t==null)return;const P=Cr(T);s(ks(P)),s(Es(t))}),[s,t]),$=r.useRef(H);r.useEffect((()=>{const T=$.current;$.current=H,H==="Completed"&&T!=="Completed"&&(s(We({messageSection:"card_policy_updated",messageText:"success",type:"success"})),e(W))}),[s,H,e,W]);const v=H==="Error"?C.updateFetchState.error?.message??Uc.updatePolicyGenericErrorMessage:void 0;return!b||n==null||t==null?o.jsx(Qe,{to:"..",replace:!0}):G!=null&&O==="Completed"&&k.fetchState==="Completed"?o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:m,handleDrawerToggle:u}),o.jsx(ec,{templateName:C.template?.name??"",formDraft:G,vendorSearchOptions:i,categorySearchOptions:F,isVendorSearchLoading:I==="In-Progress",onVendorSearchTextChange:h,submitState:H,submitErrorMessage:v,isAiCfoAccessEnabled:B,onAskAiCfoClick:D,onBackClick:_,onCancelClick:Z,onClickMenuIcon:l,onFormChange:z,onSubmit:N})]}):o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:m,handleDrawerToggle:u}),o.jsx(pr,{showUploadDocumentSection:!1,navBarTitle:C.template?.name,onBackClick:_,onClickMenuIcon:l,isAiCfoAccessEnabled:B,onAskAiCfoClick:D})]})}function Fr(e,a,n){return a?e.filter((t=>t!=null&&t.trim().length>0)).slice(0,n):[]}function xr(e){return d((a=>e==null||e===""?{chips:ht,isResolved:!1}:(function(n){const t=n?.fetchState,s=t==="Completed"||t==="Error";return{chips:t==="Completed"?n?.suggestedQuestions??ht:ht,isResolved:s}})(As(a,e))),Dt)}const ht=[],{spendManagement:{chargeCard:{cardPolicyAiCfoHero:{headline:Hc,subheadline:Gc,pageTitle:$c}}}}=aa.getLocalizedStrings(),Kc=e=>{const a=e.cardsCount>0?e.cardsCount:e.appliedCards.length,n=e.allowedEntity.merchantNames.length+e.blockedEntity.merchantNames.length,t=e.allowedEntity.categoryCodes.length+e.blockedEntity.categoryCodes.length;return{templateId:e.templateId,name:e.name,description:e.description,mode:e.mode==="flexible"?"flexible":"strict",createdAtFormatted:e.createdAt.format("ll"),cardsCount:a,vendorRestrictionsCount:n,categoryRestrictionsCount:t}};function zc(){const e=ie(),a=me(),{tenantEmailDomain:n}=Ve(),t=le(),s=Re(),f=Fe(s?.loggedInUserRoleMap),[b,m]=r.useState(!1),A=r.useCallback((h=>{m(h)}),[]),u=r.useCallback((()=>{A(!0)}),[A]),{useFeatureGate:l}=de(),{isFeatureEnabled:B}=l(q.isAiCfoFileUploadEnabled),{isFeatureEnabled:D}=l(q.isCardPolicyEnabled),{isAiCfoAccessEnabled:C,onAskAiCfoClick:O}=Fa({mobileExploreReferrer:"Card Policy"}),j=d((h=>Ds(h))),S=d((h=>Bn(h.createCardPolicyState))),c=d((h=>_s(h.createCardPolicyState))),p=d((h=>c==null?[]:Mn(h.aiCfoState,c).filter((H=>H.kind==="creating_policy"))),Dt),x=S.fetchState==="In-Progress"?Math.max(p.length,1):0,E=d((h=>Ps(h.createCardPolicyState))),I=Sa(S.fetchState);r.useEffect((()=>{if(I==="In-Progress"&&S.fetchState==="Completed"&&c!=null)p.forEach((h=>{t(St({chatSessionId:c,id:h.id,entityIds:E,kind:"created_policy"}))}));else if(I==="In-Progress"&&S.fetchState==="Error"&&c!=null){p.forEach((H=>{t(St({chatSessionId:c,id:H.id,kind:"errored_policy"}))}));const h=S.error?.message!=null&&S.error.message.length>0?S.error.message:aa.getLocalizedStrings().common.errorMessage.somethingWentWrongPleaseTryAgain;t(We({messageSection:"card_policy_created",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:h}]}))}}),[S.error?.message,S.fetchState,t,c,E,p,I]);const k=j.fetchState.fetchState;r.useEffect((()=>{k!=="Not-Started"&&k!=="Error"||t(ws())}),[t,k]);const V=j.archiveFetchState.fetchState,w=Sa(V);r.useEffect((()=>{w==="In-Progress"&&V==="Completed"&&t(We({messageSection:"card_policy_deleted",messageText:"success",type:"success"}))}),[V,t,w]);const y=r.useMemo((()=>j.templates.map(Kc)),[j.templates]);Lt({isDataReady:j.fetchState.fetchState==="Completed"});const F=y.length>0||x>0,i=(function(h){const{hasAnyPolicies:H,isChargeCardAdmin:W,isFileUploadEnabled:_}=h,Z=ie(),N=me(),{tenantEmailDomain:$}=Ve(),{isAiCfoOpen:v,setIsAiCfoOpen:T}=hr(),P=fr(),ae=gr(),Ce=d((J=>Un(J))).createSessionAndSubmitState.fetchState==="In-Progress",{chips:X,isResolved:Te}=xr("card_policy"),Ie=r.useMemo((()=>Fr(X,Te,3)),[X,Te]),[re,be]=r.useState(""),pe=ae&&P&&$!=null&&!v,he=r.useCallback((J=>{if($==null)return;const Ge=Ee(N.state?.pathnameStackToGoBack,N.pathname);Z(`/${$}/cards/ask`,{state:{message:"",origin:"",pathnameStackToGoBack:Ge,referrer:"card_policy_hero",aiCfoInitialQuestion:J,aiCfoShouldSubmit:J!=null&&J.trim().length>0}})}),[N.pathname,N.state,Z,$]),oe=r.useCallback((J=>{J.trim().length!==0&&(be(""),he(J))}),[he]),Q=r.useCallback((()=>{const J=re.trim();J.length!==0&&(be(""),he(J))}),[re,he]),Se=r.useCallback((()=>{}),[]),De=r.useCallback((J=>{be(J)}),[]),fe=r.useCallback((()=>{T(!0)}),[T]),ve=r.useCallback((()=>{he(void 0)}),[he]);return r.useMemo((()=>{if(pe&&!H&&W)return{aiAgentName:$c,headline:Hc,subheadline:Gc,promptChips:Ie,composer:{currentInput:re,isSubmitting:Ce,isFileUploadEnabled:_,onInputChange:De,onSubmit:Q,onStopSubmit:Se},onPromptClick:oe,onOpenSidePanel:fe,onOpenFullView:ve,dataTestIdPrefix:"card-policy-ai-cfo-hero"}}),[re,H,pe,W,_,Ce,De,ve,fe,oe,Se,Q,Ie])})({hasAnyPolicies:F,isChargeCardAdmin:f,isFileUploadEnabled:B}),g=D&&i!=null?o.jsx(br,{...i}):null,R=C&&g==null,G=r.useCallback((()=>{const h=we(a.state?.pathnameStackToGoBack),H=h.poppedPathname??"..";e(H,{state:{pathnameStackToGoBack:h.newStack}})}),[a.state,e]),M=r.useCallback((()=>{n!=null&&e(`/${n}/cards/policy/new`)}),[e,n]),L=r.useCallback((h=>{n!=null&&e(`/${n}/cards/policy/${h}/edit`)}),[e,n]),z=r.useCallback((h=>{t(Ts(h))}),[t]),U=j.fetchState.fetchState;return!F&&U!=="Completed"&&U!=="Error"?o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:b,handleDrawerToggle:A}),o.jsx(ac,{onBackClick:G,onNewPolicyClick:M,onClickMenuIcon:u,isAiCfoAccessEnabled:C,onAskAiCfoClick:O})]}):o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:b,handleDrawerToggle:A}),o.jsx(tc,{policies:y,archivingTemplateId:j.archiveTargetTemplateId,pendingCreationCount:x,onBackClick:G,onNewPolicyClick:M,onEditPolicyClick:L,onArchivePolicyClick:z,onClickMenuIcon:u,policyAiCfoHero:g,isAiCfoAccessEnabled:R,onAskAiCfoClick:O})]})}function Wc(){const e=ie(),{cardId:a}=Ve(),n=le(),t=te.getSignedInUser(),s=d((X=>ge(X))),f=Re(),b=Fe(f?.loggedInUserRoleMap),{useFeatureGate:m}=de();if(t==null)throw Error("Can't access Add To Wallet Page without signing in...");const[A,u]=r.useState(!1),l=d((X=>Za(X).firstViewAfterActivation));if(a==null)throw Error("Empty card id is not valid...");const B=s.userRole.includes("charge_card_user"),{isFeatureEnabled:D}=m(q.isChargeCardFeatureEnabled),C=!!s.companyChargeCardInfo?.info?.isChargeCardEnabled,{isFeatureEnabled:O}=m(q.isDebitCardFeatureEnabled),j=xe(s),S=Le(s),c=Be(O,s),p=s.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,x=Oe({isDebitCardFeatureEnabled:O,isBankingOnlyTenant:c}),E=je({isCardsOnlyTenant:j,isChargeCardFeatureEnabled:D,isBookKeepingTenant:S,isDebitCardProductVisible:x,chargeCardsCreditAccountLimit:p}),I=!!s.companyDebitCardInfo?.info?.isDebitCardEnabled,k=d((X=>da(X,s.companyId))),V=la(k.controllers),{creditAccount:w,creditAccountRepayment:y}=d((X=>ua(X))),F=d((X=>X.classListState.fetchState)),i=!B&&E&&C,g=d((X=>wt(X,a,i,E))),[R,G]=r.useState(!1),M=g.chargeCard,L=M?.cardCreatedByUser?.userId,z=d((X=>L!=null?Ga(X.userRoleState,L):void 0)),U=z?.accountingClassIDs[0],h=d((X=>U!=null?$a(X.classState,{classId:U,reportId:"class_list"}):void 0)),H=M?.cardHolderUser?.userId,W=d((X=>H!=null?Ga(X.userRoleState,H):void 0)),_=W?.accountingClassIDs[0],Z=d((X=>_!=null?$a(X.classState,{classId:_,reportId:"class_list"}):void 0)),N=M?.type.code==="business_physical_credit_card"||M?.type.code==="business_physical_debit_card",$=M?.type.code==="business_physical_debit_card";r.useEffect((()=>{l&&A===!1&&N&&(u(!0),setTimeout((()=>{n(Ka()),$&&n(We({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))}),5e3))}),[l,A,N,$]),r.useEffect((()=>{R||g.fetchState==="Completed"||g.fetchState==="In-Progress"||a==null||(G(!0),n(Ia(a,i,!1)))}),[R,g,a,n]),r.useEffect((()=>{if(g.fetchState==="Completed"&&(N===!1||N&&M?.status?.code!=="active"||M?.cardHolderUserId!==t.userId||l===!1&&A===!1||M?.type.code==="business_physical_debit_card"||M?.type.code==="business_virtual_debit_card")){const X=_e(s.tenantEmailDomain,a,t,M,l);e(X)}}),[g.fetchState,l,N]),r.useEffect((()=>{w.fetchState!=="Completed"&&w.fetchState!=="In-Progress"&&E&&C&&b&&n(Je()),y.fetchState!=="Completed"&&y.fetchState!=="In-Progress"&&E&&C&&b&&n(Tt()),F!=="Completed"&&F!=="In-Progress"&&n(Nn())}),[w.fetchState,y.fetchState,n,E,C,b,F]);const v=()=>{if(t!=null&&a!=null){n(Ka());const X=_e(s.tenantEmailDomain,a,t);e(X)}},T=M?.type.code==="business_physical_debit_card"||M?.type.code==="business_virtual_debit_card",P=ea(E,x,I,C),ae=xa(E,C,b,w,y),Ce=Ar(T,g);return g.fetchState!=="Completed"?o.jsx(wa,{fetchState:"In-Progress"}):o.jsxs(o.Fragment,{children:[o.jsx(tt,{showConfetti:l}),o.jsx(nc,{onGotItClick:v,isDebitCard:M?.type.code==="business_physical_debit_card",controllerEmails:V,isChargeCardFeatureEnabled:E,isDebitCardFeatureEnabled:x,isDebitCardSetupEnabled:I,isChargeCardSetupEnabled:C,productInformation:P,creditAccountInformation:ae,debitAccountInformation:Ce,chargeCardDetailView:g,creditAccount:w,classListFetchState:F,creditAccountRepayment:y,cardIssuedByRoles:z?.userRoles,cardIssuedByDepartmentName:h?.className,cardHolderRoles:W?.userRoles,cardHolderDepartmentName:Z?.className})]})}const Lr="charge-card-transaction-update",Br="charge-card-transaction-created",Rr="charge-card-transaction-declined",Or="charge-card-transaction-updated",jr="charge-card-transaction-receipt-uploaded",pa="charge-card-status-update",Vt="charge-card-spending-updated",ot="credit-account-balance-updated",ct="charge-card-created",Ht="charge-card-limit-updated",Gt="charge-card-limit-reset",$t="charge-card-renamed",Yc="charge-card-department-updated",Ur="charge-card-repayment-completed",Mr="charge-card-payment-date-updated",La="charge-card-cashback-redeemed",Ba="charge-card-cashback-earned",ha=(e,a)=>e==null||e===""?[]:a.map((n=>`private-encrypted-${e}.${n}`)),Zc=[Ba,La],qc=Pe((function(e){const a=ma(e);return{insightsData:a.insight,cashbackByPeriod:a.cashbackByPeriod,uiState:a.uiState,cashbackSummary:a.cashbackSummary}}),(function(e){return{onColumnSortConfigChanged:(a,n)=>{e(vs({uiState:{sortKey:a,sortOrder:n}}))}}}))(sc);function Jc(){const e=ie(),a=le(),n=me(),t=te.getSignedInUser(),s=d((D=>ge(D))),[f,b]=r.useState(!1),m=d((D=>ma(D))),A=wr(s.companyId,{clearParams:m.fetchState==="Completed"}),u=r.useCallback((()=>{const D=we(n.state?.pathnameStackToGoBack),C=D.poppedPathname??Qc(s.tenantEmailDomain);e(C,{state:{pathnameStackToGoBack:D.newStack}})}),[e,n,s.tenantEmailDomain]),l=ta(s);if(Nt({events:ha(l,Zc),onEvent:D=>{switch(D){case Ba:case La:return void a(Da(!0))}},onSubscribed:()=>{a(Da(!0))}}),r.useEffect((()=>{f||m.fetchState==="Completed"||m.fetchState==="In-Progress"||(b(!0),a(Da()))}),[f,m,a]),t==null)throw Error("Can't access cashback detail page without signing in...");const B=m.cashbackSummary?.cashbackEarned?.amount!=null&&m.fetchState!=="Not-Started";return m.fetchState!=="In-Progress"||B?(m.cashbackSummary?.cashbackEarned?.amount??0)===0&&m.fetchState==="Completed"?o.jsx(st,{}):o.jsx(qc,{onBackClick:u,initialOpenThreadRequest:A}):o.jsx(rc,{onBackClick:u})}const Qc=e=>`/${e}/cards`,Xc={containerWidth:new va(100,58)},ei=({appContent:e})=>{const a=Ta(),n=le(),t=ie(),{cardId:s}=Ve(),f=me(),{useDynamicConfig:b}=de(),[m,A]=r.useState(!1),[u,l]=r.useState(!1),[B,D]=r.useState(!1),[C,O]=r.useState(!1),j=te.getSignedInUser();if(j==null)throw Error("Can't access onboarding card page without signing in...");const S=d((Z=>ge(Z)));if(s==null)throw Error("Empty card id is not valid...");const{configValue:c}=b(Xe.zeniCardsConfig),p=c.max_charge_card_activation_attempts_by_card_id,x=d((Z=>Fs(Z,s))),E=x.chargeCard,I=d((Z=>Z.chargeCardConfigState.fetchState)),{useFeatureGate:k}=de(),{isFeatureEnabled:V}=k(q.isChargeCardFeatureEnabled),{isFeatureEnabled:w}=k(q.isDebitCardFeatureEnabled),y=Be(w,S),F=Oe({isDebitCardFeatureEnabled:w,isBankingOnlyTenant:y}),i=!!S.companyChargeCardInfo?.info?.isChargeCardEnabled,g=S.userRole.includes("charge_card_user"),R=xe(S),G=Le(S),M=S.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,L=je({isCardsOnlyTenant:R,isChargeCardFeatureEnabled:V,isBookKeepingTenant:G,isDebitCardProductVisible:F,chargeCardsCreditAccountLimit:M}),z=!g&&L&&i;r.useEffect((()=>{m===!1&&I!=="In-Progress"&&I!=="Completed"&&(n(qa()),A(!0)),u===!1&&x.fetchState==="Not-Started"&&(l(!0),n(Ia(s,z,L)))}),[u,x.fetchState,m,I]);const U=E?.type.code==="business_physical_credit_card"||E?.type.code==="business_physical_debit_card";r.useEffect((()=>{if(x.fetchState==="Completed"){if(B===!1&&(U===!1||U&&E?.status?.code!=="inactive"||E?.cardHolderUserId!==j.userId)){const Z=_e(S.tenantEmailDomain,s,j,E,!0),N=Ee(f.state?.pathnameStackToGoBack,f.pathname);t(Z,{state:{pathnameStackToGoBack:N}})}else if(B&&x.isRefreshingViewInBackground===!1&&E?.status?.code==="active"){n(xs({chargeCardId:s}));const Z=_e(S.tenantEmailDomain,s,j,E,!0),N=Ee(f.state?.pathnameStackToGoBack,f.pathname);n(Ja()),t(Z,{state:{pathnameStackToGoBack:N}})}}}),[x.fetchState,E?.type.code,B,x.isRefreshingViewInBackground]);const h=te.getZeniOtpTokenForCardHolder(s),H=d((Z=>Vn(Z.userState,j.userId))),W=()=>{E?.status?.code!=="active"&&n(ga(s,!0))};r.useEffect((()=>{x.updatePhysicalChargeCardAttemptFetchState.fetchState==="Completed"&&E?.cardActivationAttemptHistory.some((Z=>Z.statusCode==="success"))===!0&&B===!1&&(setTimeout(W,3e3),D(!0))}),[x.updatePhysicalChargeCardAttemptFetchState.fetchState,E?.cardActivationAttemptHistory]);const _=Z=>{O(Z)};if(I!=="Completed"||E==null)return o.jsx(wa,{fetchState:"In-Progress"});if(E.shippingAddressId==null)throw Error("Can't access shippingAddressId.");if(H?.phone==null)throw Error("Can't access user phone number.");return o.jsxs(ni,{children:[o.jsx(Ae,{isAppContentDrawerOpen:C,handleDrawerToggle:_}),o.jsx(ai,{cardId:s,card:E,shippingAddressId:E.shippingAddressId,phone:H.phone,signedInUser:j,isSandboxEnv:Bt(),chargeCardDetailState:x,signedInUserToken:h,navigate:t,currentTenant:S,location:f,maxChargeCardActivationAttempts:p[s]!=null?p[s]:c.default_max_charge_card_activation_attempts!=null?c.default_max_charge_card_activation_attempts:3,chargeCardCashbackRatePerTransaction:c.charge_card_cashback_rate_per_transaction!=null?c.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{_(!0)}}),e!=null?o.jsx(ti,{windowSize:a,children:e}):null]})},ai=Pe((function(e,{chargeCardDetailState:a,shippingAddressId:n,location:t,cardId:s}){const f=Ls(e.addressState,n);if(f==null)throw Error("Can't access shippingAddress.");const b=Hn(e,s),m=a.updateStatus,A=Ca(e,!1,!1,!1);let u=!1;A.fetchState==="Completed"&&A.cards.length<=1&&(u=!0);const l=t.state?.message==="comingFromV2UrlPath";return{showActivatePage:a.chargeCard?.providerCardCreateTime!=null&&a.chargeCard.providerCardCreateTime.add(24,"h").isBefore(Bs())||l,showMenuIcon:u,shippingAddress:f,vgsVaultId:nt.cardVaultId,twoFAView:b,activationWaitStatus:m,isRefreshingViewInBackground:a.isRefreshingViewInBackground}}),(function(e,a){const{navigate:n,cardId:t,location:s,currentTenant:f,chargeCardDetailState:b}=a,m=b.chargeCard?.cardProviderID,{tenantEmailDomain:A}=f;return{onGetOtp:u=>{m!=null&&e(et(u,"ChargeCardHolder",t))},onUpdatePhysicalChargeCardAttempt:u=>{e(Os(t,u))},onResendOtp:u=>{m!=null&&e(Xa(u,"ChargeCardHolder",t))},onVerifyOtp:(u,l)=>{m!=null&&e(Qa(u,l,"ChargeCardHolder",t))},onVerifyOtpSuccess:u=>{u!=null&&te.saveZeniOtpTokenForCardHolder(u,t)},onCVVActivateSuccess:()=>{e(Rs({chargeCardId:t}))},onBackClick:()=>{const u=we(s.state?.pathnameStackToGoBack),l=u.poppedPathname==null||u.poppedPathname.includes("onboard")===!0?na(A):u.poppedPathname;n(l,{state:{pathnameStackToGoBack:u.newStack}})}}}))(oc),ti=He.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
width: ${e=>`${Xc.containerWidth.value(e.windowSize)}%`};
|
|
@@ -11,18 +11,18 @@ import{j as o}from"./liveblocks-MCrpLltn.js";import{u as le,j as d,h as ie,g as
|
|
|
11
11
|
flex-direction: column;
|
|
12
12
|
align-items: center;
|
|
13
13
|
background-color: ${e=>e.theme.colors.grey4};
|
|
14
|
-
`,Wa=aa.getLocalizedStrings().dateFormat,ri={overlayWidth:new va(100,100,58)},Nr=[Ur,ot],si=new Set(Nr),oi=Pe((function(e,a){const n=a.currentTenant?.companyId;return{plaidConnectionDetails:Ms(e,n,"zeni_accounts","external_account").plaidConnectionDetails,depositAccountListView:Ns(e.depositAccountState,e.depositAccountListState)}}),(function(e,a){const{navigate:n,currentTenant:t,isCashbackInfoFetchStateCompleted:s,isCreditCardInfoFetchStateCompleted:f,isDebitCardInfoFetchStateCompleted:b,controllerEmails:m,paymentDetails:A,productInformation:u,cashbackInformation:l,paymentSourceInformation:B,creditAccountInformation:D,debitAccountInformation:C,paymentInitiatedDate:O,sourcePage:j}=a,{tenantEmailDomain:S}=t,c=()=>{e(Kn(!0));const p=ta(t);p!=null&&p!==""&&e(_a(p,!0,!0)),e(
|
|
14
|
+
`,Wa=aa.getLocalizedStrings().dateFormat,ri={overlayWidth:new va(100,100,58)},Nr=[Ur,ot],si=new Set(Nr),oi=Pe((function(e,a){const n=a.currentTenant?.companyId;return{plaidConnectionDetails:Ms(e,n,"zeni_accounts","external_account").plaidConnectionDetails,depositAccountListView:Ns(e.depositAccountState,e.depositAccountListState)}}),(function(e,a){const{navigate:n,currentTenant:t,isCashbackInfoFetchStateCompleted:s,isCreditCardInfoFetchStateCompleted:f,isDebitCardInfoFetchStateCompleted:b,controllerEmails:m,paymentDetails:A,productInformation:u,cashbackInformation:l,paymentSourceInformation:B,creditAccountInformation:D,debitAccountInformation:C,paymentInitiatedDate:O,sourcePage:j}=a,{tenantEmailDomain:S}=t,c=()=>{e(Kn(!0));const p=ta(t);p!=null&&p!==""&&e(_a(p,!0,!0)),e(Je(!0))};return{onBackNavigation:()=>{if(s&&f&&b&&l!=null&&ee.trackCardsPayEarlyFormClick(m,u,l,"Back",A.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:A.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:A.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:A.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:A.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:O?.add(3,"day").format(Wa.visual.MMMDCommaYYYYformat),paymentInitiatedDate:O?.format(Wa.visual.MMMDCommaYYYYformat)},B,D,C),j==="cardPaymentHistory")a.closeDrawerHandler(!0),e(zn());else{const p=na(S);n(p)}},onUpdatePaymentAccountStatus:(p,x,E)=>{e(Gs(p,x,"bill_pay","bill_pay_detail",E))},onEstablishConnectionSuccess:()=>{e(_a(t.companyId,!0))},onFetchLinkTokenClick:p=>{e(Hs("external_account",p))},onEstablishConnectionClick:p=>{e(Vs(p,t.companyId,"charge_card_payment","charge_cards"))},onEventReceived:p=>{si.has(p)&&c()},onPusherSubscribed:c}}))(rt(cc)),Kt=({isPaymentDrawerOpen:e,closeDrawerHandler:a,pageName:n,creditAccountSpentAmount:t,productInformation:s,sourcePage:f,creditAccountInformation:b,debitAccountInformation:m,cashbackInformation:A,isDebitCardInfoFetchStateCompleted:u,isCreditCardInfoFetchStateCompleted:l,isCashbackInfoFetchStateCompleted:B,paymentInitiatedDate:D,retryRepayment:C})=>{const O=ie(),{useDynamicConfig:j}=de(),S=d(($=>Gn($))),{creditAccount:c}=d(($=>ua($))),p=d(($=>ge($))),x=Ot(),E=Ta(),I=le(),k=te.getSignedInUser(),V=Re(),[w,y]=r.useState(!1),[F,i]=r.useState(!1),{configValue:g}=j(Xe.zeniCardsConfig),R=g.credit_card_auto_pay_threshold_by_company_id?.[p.companyId]??g.default_credit_card_auto_pay_threshold??Tc,G=$n(V?.loggedInUserRoleMap),M=js(V?.loggedInUserRoleMap),L=d(($=>Pa($,p.companyId))),z=L.companyChargeCardInfo?.primaryFundingAccount,U=L.allFundingAccounts.find(($=>$.id===z?.accountId)),h=d(($=>da($,p.companyId))),H=la(h.controllers);r.useEffect((()=>{if(S.fetchState!=="Completed"&&S.fetchState!=="In-Progress"&&I(Kn()),S.fetchState==="Completed"&&!F){const $=p.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,v=S.transferFromAccounts.find((P=>P.id===$));let T;if(f==="cardPaymentHistory"&&C){const P=C.paymentAccountId!=null?S.transferFromAccounts.find((ae=>ae.id===C.paymentAccountId)):void 0;T={amount:C.amount,isAutoRepayment:p.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:Sn(),transferFrom:P??v}}else T={amount:{amount:c.balance.amount+c.hold.amount,currencyCode:c.balance.currencyCode,currencySymbol:c.balance.currencySymbol},isAutoRepayment:p.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:Sn(),transferFrom:v};I(fn(T)),i(!0)}}),[S.fetchState,F,f,C,S.transferFromAccounts,p.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,p.companyChargeCardInfo?.info?.isAutoPayEnabled,c.balance.amount,c.balance.currencyCode,c.balance.currencySymbol,c.hold.amount,I]);const W={isZeniCheckingEnabled:p.companyZeniAccountInfo?.info?.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:U?.accType==="depositAccount",creditCardPaymentSourceAccountName:U?.label,creditCardPaymentSourceAccountType:U?.accType,creditCardPaymentSourceLastFourDigits:U?.accountLast4,creditCardPaymentSourceBalance:U?.accountBalance?.available?.amount??0};if(r.useEffect((()=>{L.fetchState!=="Completed"&&L.fetchState!=="In-Progress"&&I(_a(p.companyId,!0))}),[L.fetchState]),r.useEffect((()=>{S.updateStatus==="Completed"&&A!=null&&B&&l&&u&&ee.trackCardsPayEarlyPayNowClick(H,s,A,S.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:S.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:S.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:S.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:S.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:D?.add(3,"day").format(Wa.visual.MMMDCommaYYYYformat),paymentInitiatedDate:D?.format(Wa.visual.MMMDCommaYYYYformat)},W,b,m)}),[S.updateStatus,A,B,l,u,D]),r.useEffect((()=>{S.fetchState==="Completed"&&A!=null&&B&&l&&u&&!w&&e&&F&&A!=null&&(ee.trackCardsPayEarlyFormView(H,s,A,n,p.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,c.balance.amount,W,b,m),y(!0))}),[S,B,l,u,w,e,F]),k==null)throw Error("Can't access invite people page without signing in...");const _=()=>{a(!0),I(zn())},Z=ta(p),N={events:e?ha(Z,Nr):[],eventCallback:($,v,T)=>{T.onEventReceived($)},onSubscribed:$=>{$.onPusherSubscribed()}};return o.jsx(o.Fragment,{children:o.jsx(Er,{onClose:()=>{_()},anchor:"right",transitionDuration:250,open:e,PaperProps:{style:{width:ri.overlayWidth.valuePercentage(E),boxShadow:"none"}},slotProps:{backdrop:{style:{backgroundColor:x.colors.black,opacity:.75,cursor:"pointer"}}},children:o.jsx(ci,{onClick:$=>$.stopPropagation(),children:o.jsx(oi,{...N,closeDrawerHandler:a,navigate:O,paymentDetails:S,creditAccountSpentAmount:t,onTransferClick:()=>{B&&l&&u&&A!=null&&ee.trackCardsPayEarlyFormClick(H,s,A,"Pay Now",S.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:S.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:S.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:S.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:S.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:void 0,paymentInitiatedDate:void 0},W,b,m),I(Us({companyId:p.companyId}))},onDismissClick:_,onSaveChangesToLocalStore:$=>{I(fn($))},currentTenant:p,hasZeniAccountsAdminAccess:G,isZeniAccountsUser:M,productInformation:s,sourcePage:f,controllerEmails:H,autoPayThreshold:R,paymentSourceInformation:W,creditAccountInformation:b,debitAccountInformation:m,cashbackInformation:A,isCashbackInfoFetchStateCompleted:B,isCreditCardInfoFetchStateCompleted:l,isDebitCardInfoFetchStateCompleted:u,paymentInitiatedDate:D})})})})},ci=He(wc)`
|
|
15
15
|
display: flex;
|
|
16
16
|
min-height: 100%;
|
|
17
17
|
flex-direction: column;
|
|
18
|
-
`,zt=e=>e!=null&&typeof e=="object"?e:null,ce=e=>typeof e=="string"?e:void 0,Me=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,Ya=e=>e!=null&&typeof e=="object"&&typeof e.code=="string"&&typeof e.name=="string",ft=e=>{if(e==null||typeof e!="object")return!1;const a=e;return typeof a.transaction_id=="string"&&typeof a.amount=="number"&&typeof a.currency_code=="string"&&typeof a.currency_symbol=="string"&&typeof a.direction=="string"&&!!Ya(a.transaction_status)&&!!Ya(a.transaction_type)},Wt=(e,a)=>{const n=e?.card_status;if(!Ya(n))return null;const t=e?.is_locked_by_admin;return{cardId:a,cardStatus:n,isLockedByAdmin:typeof t=="boolean"?t:void 0}},Et=[Lr,Br,Rr,Or,jr,pa,Vt,ot,Ht,Gt,$t],Vr=[Ba,La],ii=new Set([...Et,...Vr]),gt=aa.getLocalizedStrings().dateFormat,di=Pe((function(e,a){const{includeCreditAccountInfo:n,cardId:t,signedInUserToken:s,isChargeCardFeatureEnabled:f}=a,b=te.getSignedInUser(),m=e.tenantState.currentTenantId,A={userId:b?.userId??"",sessionId:b?.zeniSessionId??"",tenantId:m??""},u=wt(e,t,n,f),l=Js(e,t),B=Xs(e);return{chargeCardDetailView:u,chargeCardsRecurringExpensesState:l,vgsVaultId:nt.cardVaultId,transactionAttachmentsEndpointToFetch:`${kt}/card_transaction_attachments`,transactionAttachmentEndpointToDownload:`${kt}/card_transaction_attachment`,authParams:A,isSnackbarOpen:B.isSnackbarOpen,cardsEndPoint:`${Sr.cardMicroServiceBaseUrl}`,signedInUserToken:u.twoFAView.token??s,receiptsEmail:Yn(e.tenantState,m)}}),(function(e,a){const{cardId:n,currentTenant:t,navigate:s,location:f,cardProviderId:b,includeCreditAccountInfo:m,setIsPaymentOpen:A,controllerEmails:u,productInformation:l,cashbackInformation:B,primaryFundingAccountDetails:D,creditAccountInformation:C,debitAccountInformation:O,isChargeCardFeatureEnabled:j}=a,{tenantEmailDomain:S}=t;return{onEventReceived:(c,p)=>{(({event:x,data:E,cardId:I,dispatch:k,subscribedEvents:V})=>{const w=zt(E);switch(x){case Ba:case La:return void k(Da(!0));case Lr:{const y=ce(w?.card_id);if(y==null||y!==I)return;const F=ce(w?.transaction_id),i=w?.transaction_status;return F!=null&&Ya(i)?void k(qs({transactionId:F,transactionStatus:i})):void k(oa(I,null,null,!0))}case pa:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=Wt(w,y);return F!=null?void k(vt(F)):void k(ga(I,!0))}case Vt:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=ce(w?.currency_code),i=ce(w?.currency_symbol),g=Me(w?.balance);return F!=null&&i!=null&&g!=null?(k(Zs({cardId:y,currencyCode:F,currencySymbol:i,balance:g,hold:Me(w?.hold),dailyPurchaseSpends:Me(w?.daily_purchase_spends),monthlyPurchaseSpends:Me(w?.monthly_purchase_spends),dailyWithdrawals:Me(w?.daily_withdrawals),monthlyWithdrawals:Me(w?.monthly_withdrawals)})),void k(Qe(!0))):(k(ga(I,!0)),void k(Qe(!0)))}case ot:{const y=ce(w?.currency_code),F=ce(w?.currency_symbol),i=Me(w?.available_amount),g=Me(w?.balance_amount);return y!=null&&F!=null&&i!=null&&g!=null?void k(Ys({currencyCode:y,currencySymbol:F,available:i,balance:g,hold:Me(w?.hold_amount),cashback:Me(w?.cashback_amount)})):void k(Qe(!0))}case Br:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=w?.transaction;return ft(F)?void k(Ws({cardId:y,transaction:F})):void k(oa(I,null,null,!0))}case Rr:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=w?.transaction;return ft(F)?void k(zs({cardId:y,declineReason:ce(w?.decline_reason),transaction:F})):void k(oa(I,null,null,!0))}case Or:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=w?.transaction;return ft(F)?void k(Ks({cardId:y,transaction:F})):void k(oa(I,null,null,!0))}case jr:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=ce(w?.transaction_id),i=w?.attachment_file_paths;return F!=null&&Array.isArray(i)&&i.every((g=>typeof g=="string"))?void k($s({cardId:y,transactionId:F,attachmentFilePaths:i})):void k(oa(I,null,null,!0))}case Ht:case Gt:case $t:{const y=ce(w?.card_id);if(y==null||y!==I)return;k(ga(I,!0))}}})({event:c,data:p,cardId:n,dispatch:e,subscribedEvents:ii})},onPusherSubscribed:()=>{e(ga(n,!0)),e(oa(n,null,null,!0)),e(Qe(!0))},onReloadTransactions:()=>{e(Ia(n,m,j))},onFetchChargeCardTransactionList:(c,p)=>{e(oa(n,c,p))},onUpdateScrollYOffset:c=>{},onGetOtp:c=>{b!=null&&e(et(c,"ChargeCardHolder",n))},onResendOtp:c=>{b!=null&&e(Xa(c,"ChargeCardHolder",n))},onVerifyOtp:(c,p)=>{b!=null&&e(Ja(c,p,"ChargeCardHolder",n))},onVerifyOtpSuccess:c=>{c!=null&&te.saveZeniOtpTokenForCardHolder(c,n)},onColorCodeChange:c=>{e(so(n,c))},onLockChargeCard:(c,p)=>{e(tr(c,n,p))},onUnlockChargeCard:c=>{e(ar(c,n))},onCloseChargeCard:c=>{e(er(n,c))},onFetchChargeCardsRecurringExpenses:()=>{e(Xn([n]))},updateChargeCardName:(c,p)=>{e(Jn(c,n,p))},updateChargeCardTransactionAttachments:(c,p)=>{p!=null&&e(ro({transactionId:c,data:p}))},updateChargeCardTransactionUploadReceiptsFetchStatus:(c,p,x,E)=>{e(no({chargeCardId:p,transactionId:c,fetchState:x,error:E}))},updateChargeCardTransactionReceiptsShowTick:(c,p,x)=>{e(to({chargeCardId:p,transactionId:c,shouldShowTick:x}))},onChargeCardRevokeInviteClick:()=>{e(Qn(n))},updateChargeCardTransactionIsViewReceiptClicked:(c,p,x)=>{e(ao({chargeCardId:p,transactionId:c,isViewReceiptClicked:x}))},onChargeCardTransactionRowClick:(c,p)=>{const x=Ee(f.state?.pathnameStackToGoBack,f.pathname);s(`../../transaction/${c}/${p}`,{state:{pathnameStackToGoBack:x}})},onBackClick:()=>{const c=we(f.state?.pathnameStackToGoBack),p=na(S);s(p,{state:{pathnameStackToGoBack:c.newStack,message:"comingFromCardDetail"}})},removeSnackbar:()=>{e(eo())},onUpdateDebitCardPinAttempt:c=>{e(qn(n,c)),c==="success"&&e(We({messageSection:"update_debit_card_pin_attempt",messageText:"success",type:"success",showStatusIcon:!0}))},onUploadReceiptComplete:(c,p)=>{c?e(We({messageSection:"charge_card_receipt_upload",messageText:"success",type:"success",showStatusIcon:!0})):p!=null&&e(We({messageSection:"charge_card_receipt_upload",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:p.message}]}))},updateSpendLimit(c,p,x,E){e(Zn(c,p,x.code,E))},shouldOpenCreditCardPaymentDrawer(c){c&&B!=null&&ee.trackCardsPayEarlyClick(u,l,B,"Card Detail","Text Button","Pay Now",{isZeniCheckingEnabled:t.company?.companyZeniAccountInfo.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:D?.accType==="depositAccount",creditCardPaymentSourceAccountName:D?.label,creditCardPaymentSourceAccountType:D?.accType,creditCardPaymentSourceLastFourDigits:D?.accountLast4,creditCardPaymentSourceBalance:D?.accountBalance?.available?.amount??0},C,O),A(c)}}}))(rt(dc));function li(){const e=ie(),a=le(),n=me(),{cardId:t}=Ve(),[s,f]=r.useState(!1),[b,m]=r.useState(!1),{useDynamicConfig:A}=de(),u=te.getSignedInUser(),l=d((Y=>ge(Y))),B=d((Y=>Za(Y).firstViewAfterActivation)),D=d((Y=>Y.classListState.fetchState)),{configValue:C}=A(Xe.documentAiReceiptMaxSizeLimitBytesConfig),{configValue:O}=A(Xe.zeniCardsConfig),j=O.enable_card_controls_for_company_ids,S=O.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(j)&&j.includes(l.companyId),[c,p]=r.useState(!1),[x,E]=r.useState(!1),{useFeatureGate:I}=de(),{isFeatureEnabled:k}=I(q.isChargeCardFeatureEnabled),{isFeatureEnabled:V}=I(q.isDebitCardFeatureEnabled),w=Be(V,l),y=Oe({isDebitCardFeatureEnabled:V,isBankingOnlyTenant:w}),{isFeatureEnabled:F}=I(q.isEarlyPayFeatureEnabled),i=Le(l),g=xe(l),R=l.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,G=je({isCardsOnlyTenant:g,isChargeCardFeatureEnabled:k,isBookKeepingTenant:i,isDebitCardProductVisible:y,chargeCardsCreditAccountLimit:R}),M=!!l.companyDebitCardInfo?.info?.isDebitCardEnabled,L=!!l.companyChargeCardInfo?.info?.isChargeCardEnabled,z=!l.userRole.includes("charge_card_user")&&G&&L;if(t==null)throw Error("Empty card id is not valid...");const U=d((Y=>Pa(Y,l.companyId))),{creditAccount:h,creditAccountRepayment:H}=d((Y=>ua(Y))),W=te.getZeniOtpTokenForCardHolder(t),_=d((Y=>wt(Y,t,z,G))),{isAiCfoAccessEnabled:Z,onAskAiCfoClick:N}=Fa({mobileExploreReferrer:"Card Detail"});Lt({isDataReady:_.fetchState==="Completed"});const $=d((Y=>ma(Y))),v=_.chargeCard,T=Re(),P=Fe(T?.loggedInUserRoleMap),ae=v?.type.code==="business_physical_debit_card"||v?.type.code==="business_virtual_debit_card",Ce=v?.type.code==="business_physical_debit_card"||v?.type.code==="business_physical_credit_card",X=v?.type.code==="business_virtual_debit_card"||v?.type.code==="business_virtual_credit_card",Te=v?.type.code==="business_virtual_debit_card",Ie=xa(G,L,P,h,H),re=Ar(ae,_),be=Ut(P,$),pe=ea(G,y,M,L),he=_.depositAccountLimitFetchState.fetchState!=="Completed"&&_.depositAccountLimitFetchState.fetchState!=="In-Progress",oe=d((Y=>da(Y,l.companyId))),J=la(oe.controllers),Se=d((Y=>v?.cardCreatedByUser?.userId!=null?Ga(Y.userRoleState,v?.cardCreatedByUser?.userId):void 0)),De=d((Y=>Se?.accountingClassIDs[0]!=null?$a(Y.classState,{classId:Se?.accountingClassIDs[0],reportId:"class_list"}):void 0)),fe=d((Y=>v?.cardHolderUser?.userId!=null?Ga(Y.userRoleState,v?.cardHolderUser?.userId):void 0)),ve=d((Y=>fe?.accountingClassIDs[0]!=null?$a(Y.classState,{classId:fe?.accountingClassIDs[0],reportId:"class_list"}):void 0)),Q=l?.userRole,Ge=d((Y=>Ca(Y,!1,y,k).revokeCardInvite)),Ra=Sa(Ge.saveStatus.fetchState);if(r.useEffect((()=>{if(Ra==="In-Progress"&&Ge.saveStatus.fetchState==="Completed"){const Y=na(l.tenantEmailDomain);e(Y)}}),[Ra,Ge.saveStatus.fetchState,e,l.tenantEmailDomain]),r.useEffect((()=>{B&&s===!1&&X&&(f(!0),setTimeout((()=>{a(Ka()),Te&&a(We({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))}),5e3))}),[B,s,X,Te]),r.useEffect((()=>{c||_.fetchState==="Completed"||_.fetchState==="In-Progress"||t==null||(p(!0),a(Ia(t,z,G,!1)))}),[c,_,t,a]),r.useEffect((()=>{!x&&_.fetchState==="Completed"&&_.chargeCard?.connectedAccountId!=null&&ae&&he&&P&&(E(!0),a(Wn({depositAccountId:_.chargeCard?.connectedAccountId})))}),[x,_,a,he,P]),r.useEffect((()=>{$.fetchState!=="Completed"&&$.fetchState!=="In-Progress"&&P&&a(Da()),D!=="Completed"&&D!=="In-Progress"&&a(Nn()),_.transactionStatistics.fetchState!=="Completed"&&_.transactionStatistics.fetchState!=="In-Progress"&&a(Qs({chargeCardId:t})),U.fetchState!=="Completed"&&U.fetchState!=="In-Progress"&&a(_a(l.companyId,!0))}),[$.fetchState,a,P,D,_.transactionStatistics.fetchState,U.fetchState]),r.useEffect((()=>{if(!(_.fetchState!=="Completed"||G&&h.fetchState!=="Completed"||v==null||_.transactionStatistics.fetchState!=="Completed"||ae&&P&&_.depositAccountLimitFetchState.fetchState!=="Completed")){const Y=v.type.code.includes("physical"),ye=Y?v.cardActivationAttemptHistory[0]?.timestamp:v.createTime;ee.trackCardsCardDetailView(J,pe,{cardId:t,cardName:v.cardName,cardType:v.type.code.includes("credit")?"credit":"debit",cardCategory:Y?"physical":"virtual",cardLimit:ba(v.limit.amount),cardLastFourDigits:v.accountLast4,cardStatus:v.status.code,cardAssignedDate:v.createTime?.format(gt.analytics.MMMDashDDDashYYYYFormat),cardIssuedDate:v.providerCardCreateTime?.format(gt.analytics.MMMDashDDDashYYYYFormat),cardActivatedDate:ye?.format(gt.analytics.MMMDashDDDashYYYYFormat),cardLimitFrequency:v.creditLimitFrequency.name,cardSpentAmount:ba(v.balance.amount),cardAvailableLimit:ba(v.available.amount),cardUtilizationPercent:v.limit.amount>0?Math.round((v.limit.amount-v.available.amount)/v.limit.amount*100):0,cardUtilizationAmount:ba(v.limit.amount-v.available.amount),totalNumberOfDeclinedTransactions:_.transactionStatistics.statistics.totalNumberOfDeclinedTransactions,numberOfDeclinedTransactionsCurrentMonth:_.transactionStatistics.statistics.numberOfDeclinedTransactionsCurrentMonth,totalNumberOfPaidTransactions:_.transactionStatistics.statistics.totalNumberOfPaidTransactions,numberOfPaidTransactionsCurrentMonth:_.transactionStatistics.statistics.numberOfPaidTransactionsCurrentMonth,totalNumberOfCanceledTransactions:_.transactionStatistics.statistics.totalNumberOfCanceledTransactions,numberOfCanceledTransactionsCurrentMonth:_.transactionStatistics.statistics.numberOfCanceledTransactionsCurrentMonth,totalNumberOfAuthorizedTransactions:_.transactionStatistics.statistics.totalNumberOfAuthorizedTransactions,numberOfAuthorizedTransactionsCurrentMonth:_.transactionStatistics.statistics.numberOfAuthorizedTransactionsCurrentMonth,totalNumberOfTransactionsWithReceipts:_.transactionStatistics.statistics.totalNumberOfTransactionsWithReceipts,numberOfTransactionsWithReceiptsCurrentMonth:_.transactionStatistics.statistics.numberOfTransactionsWithReceiptsCurrentMonth},{cardIssuedByName:It(v.cardCreatedByUser,!1),cardIssuedByEmail:v.cardCreatedByUser?.email,cardIssuedByUserId:v.cardCreatedByUser?.userId,cardIssuedByRole:Se?.userRoles,cardIssuedByDepartment:De?.className},{cardholderName:It(v.cardHolderUser,!1),cardholderEmail:v.cardHolderUser?.email,cardholderRole:fe?.userRoles,cardholderUserId:v.cardHolderUser?.userId,cardholderDepartment:ve?.className},Ie,re)}}),[_.fetchState,_.depositAccountLimitFetchState.fetchState,_.transactionStatistics.fetchState,h.fetchState,P]),u==null)throw Error("Can't access card detail page without signing in...");const it=ta(l),ka=P?[...Et,...Vr]:Et,ra={events:ha(it,ka),eventCallback:(Y,ye,se)=>{se.onEventReceived(Y,ye)},onSubscribed:Y=>{Y.onPusherSubscribed()}},Ea=()=>{if(t!=null&&v!=null){const{ownerName:Y,cardName:ye,utilisation:se,limit:$e,frequency:Ye,cardColor:Ke}=bt(v),ze=v.cardHolderUserId===u.userId;ee.trackCardsDetailPageViewed(t,Y,ye,se,$e,Ye,Ke,ze)}};r.useEffect((()=>{if(_.fetchState==="Completed"){const Y=_.chargeCard;if(Y?.status.code==="inactive"||ae&&Y?.isPinSet===!1||Ce&&B){const ye=_e(l.tenantEmailDomain,t,u,v,B);e(ye)}}}),[_.fetchState]);const dt=(Y,ye)=>{if(t!=null&&v!=null){const{ownerName:se,cardName:$e,utilisation:Ye,limit:Ke,frequency:ze}=bt(v),sa=v.cardHolderUserId===u.userId;ee.trackCardsDetailPageClicked(t,se,$e,Ye,Ke,ze,Y,sa,ye)}},lt=(Y,ye)=>{if(t!=null&&v!=null){const{ownerName:se,cardName:$e,utilisation:Ye,limit:Ke,frequency:ze}=bt(v),sa=v.cardHolderUserId===u.userId;ee.trackCardsVerifyPopUpClick(t,se,$e,Ye,Ke,ze,Y,sa,ye)}},ue=h.balance.amount+h.hold.amount,Oa=l.companyChargeCardInfo?.info?.primaryFundingAccount,Aa=U.allFundingAccounts.find((Y=>Y.id===Oa?.accountId)),ja=_.chargeCard!=null,Ua=_.depositAccountLimit!=null;return _.fetchState!=="Error"||ja?!ja&&(_.fetchState==="In-Progress"||_.fetchState==="Not-Started")||Ge.saveStatus.fetchState==="In-Progress"||!Ua&&ae&&P&&_.depositAccountLimitFetchState.fetchState!=="Completed"?o.jsx(ic,{}):o.jsxs(o.Fragment,{children:[o.jsx(tt,{showConfetti:B}),_.fetchState==="Completed"?o.jsx(Rt,{analytics:ee,onLoad:Ea}):null,b===!0?o.jsx(Kt,{closeDrawerHandler:()=>m(!1),isPaymentDrawerOpen:b,pageName:"Card Detail",sourcePage:"cardDetailPage",productInformation:pe,creditAccountInformation:Ie,debitAccountInformation:re,cashbackInformation:be,creditAccountSpentAmount:ue,isDebitCardInfoFetchStateCompleted:!ae||!P||_.depositAccountLimitFetchState.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!G||h.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!P||$.fetchState==="Completed",paymentInitiatedDate:H.initiatedRepaymentDate}):null,o.jsx(di,{...ra,hideSorting:!0,onColumnSortConfigChanged:()=>{},onFireVerifyPopOnClickAnalytics:lt,onFireOnClickAnalytics:dt,isSandboxEnv:Bt(),signedInUser:u,location:n,navigate:e,setIsPaymentOpen:m,cardIssuedByRoles:Se?.userRoles,cardIssuedByDepartmentName:De?.className,cardHolderRoles:fe?.userRoles,cardHolderDepartmentName:ve?.className,loggedInUserRole:Q,isChargeCardFeatureEnabled:G,isDebitCardFeatureEnabled:y,isDebitCardSetupEnabled:M,isChargeCardSetupEnabled:L,isCardControlsEnabled:S,isEarlyPayEnabled:F,controllerEmails:J,chargeCardCashbackDetailState:$,productInformation:pe,creditAccountInformation:Ie,debitAccountInformation:re,cashbackInformation:be,classListFetchState:D,primaryFundingAccountDetails:Aa,currentTenant:l,cardProviderId:_.chargeCard?.cardProviderID,cardId:t,creditAccount:h,creditAccountRepayment:H,includeCreditAccountInfo:z,signedInUserToken:W,appleWalletLink:"shoebox://",googleWalletLink:"https://www.android.com/payapp/",documentAiReceiptMaxSizeLimit:C.documentAiReceiptMaxSizeLimitBytes!=null?C.documentAiReceiptMaxSizeLimitBytes:9437184,isAiCfoAccessEnabled:Z,onAskAiCfoClick:N})]}):o.jsx(st,{})}const bt=e=>{const a=`${e.cardHolderUser?.firstName.toLowerCase()} ${e.cardHolderUser?.lastName.toLowerCase()}`,n=e.cardName,t=(e.limit.amount??0)-(e.available.amount??0),s=e.limit.amount,f=e.creditLimitFrequency.name;return{ownerName:a,cardName:n,utilisation:t,cardColor:e.cardColorCode??"",frequency:f,limit:s}},{spendManagement:{chargeCard:{cardsAiCfoHero:{headline:ui,subheadline:mi,pageTitle:Ci}}}}=aa.getLocalizedStrings(),Hr=[pa,ot,Mr,La,Ba,ct,$t,Yc,Ht,Gt,Vt],pi=new Set(Hr),At=jt(((e,a,n,t)=>{e(ia(a,n,t,!0))}),400),hi=He.div`
|
|
18
|
+
`,zt=e=>e!=null&&typeof e=="object"?e:null,ce=e=>typeof e=="string"?e:void 0,Me=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,Ya=e=>e!=null&&typeof e=="object"&&typeof e.code=="string"&&typeof e.name=="string",ft=e=>{if(e==null||typeof e!="object")return!1;const a=e;return typeof a.transaction_id=="string"&&typeof a.amount=="number"&&typeof a.currency_code=="string"&&typeof a.currency_symbol=="string"&&typeof a.direction=="string"&&!!Ya(a.transaction_status)&&!!Ya(a.transaction_type)},Wt=(e,a)=>{const n=e?.card_status;if(!Ya(n))return null;const t=e?.is_locked_by_admin;return{cardId:a,cardStatus:n,isLockedByAdmin:typeof t=="boolean"?t:void 0}},Et=[Lr,Br,Rr,Or,jr,pa,Vt,ot,Ht,Gt,$t],Vr=[Ba,La],ii=new Set([...Et,...Vr]),gt=aa.getLocalizedStrings().dateFormat,di=Pe((function(e,a){const{includeCreditAccountInfo:n,cardId:t,signedInUserToken:s,isChargeCardFeatureEnabled:f}=a,b=te.getSignedInUser(),m=e.tenantState.currentTenantId,A={userId:b?.userId??"",sessionId:b?.zeniSessionId??"",tenantId:m??""},u=wt(e,t,n,f),l=Qs(e,t),B=Xs(e);return{chargeCardDetailView:u,chargeCardsRecurringExpensesState:l,vgsVaultId:nt.cardVaultId,transactionAttachmentsEndpointToFetch:`${kt}/card_transaction_attachments`,transactionAttachmentEndpointToDownload:`${kt}/card_transaction_attachment`,authParams:A,isSnackbarOpen:B.isSnackbarOpen,cardsEndPoint:`${Sr.cardMicroServiceBaseUrl}`,signedInUserToken:u.twoFAView.token??s,receiptsEmail:Yn(e.tenantState,m)}}),(function(e,a){const{cardId:n,currentTenant:t,navigate:s,location:f,cardProviderId:b,includeCreditAccountInfo:m,setIsPaymentOpen:A,controllerEmails:u,productInformation:l,cashbackInformation:B,primaryFundingAccountDetails:D,creditAccountInformation:C,debitAccountInformation:O,isChargeCardFeatureEnabled:j}=a,{tenantEmailDomain:S}=t;return{onEventReceived:(c,p)=>{(({event:x,data:E,cardId:I,dispatch:k,subscribedEvents:V})=>{const w=zt(E);switch(x){case Ba:case La:return void k(Da(!0));case Lr:{const y=ce(w?.card_id);if(y==null||y!==I)return;const F=ce(w?.transaction_id),i=w?.transaction_status;return F!=null&&Ya(i)?void k(qs({transactionId:F,transactionStatus:i})):void k(oa(I,null,null,!0))}case pa:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=Wt(w,y);return F!=null?void k(vt(F)):void k(ga(I,!0))}case Vt:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=ce(w?.currency_code),i=ce(w?.currency_symbol),g=Me(w?.balance);return F!=null&&i!=null&&g!=null?(k(Zs({cardId:y,currencyCode:F,currencySymbol:i,balance:g,hold:Me(w?.hold),dailyPurchaseSpends:Me(w?.daily_purchase_spends),monthlyPurchaseSpends:Me(w?.monthly_purchase_spends),dailyWithdrawals:Me(w?.daily_withdrawals),monthlyWithdrawals:Me(w?.monthly_withdrawals)})),void k(Je(!0))):(k(ga(I,!0)),void k(Je(!0)))}case ot:{const y=ce(w?.currency_code),F=ce(w?.currency_symbol),i=Me(w?.available_amount),g=Me(w?.balance_amount);return y!=null&&F!=null&&i!=null&&g!=null?void k(Ys({currencyCode:y,currencySymbol:F,available:i,balance:g,hold:Me(w?.hold_amount),cashback:Me(w?.cashback_amount)})):void k(Je(!0))}case Br:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=w?.transaction;return ft(F)?void k(Ws({cardId:y,transaction:F})):void k(oa(I,null,null,!0))}case Rr:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=w?.transaction;return ft(F)?void k(zs({cardId:y,declineReason:ce(w?.decline_reason),transaction:F})):void k(oa(I,null,null,!0))}case Or:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=w?.transaction;return ft(F)?void k(Ks({cardId:y,transaction:F})):void k(oa(I,null,null,!0))}case jr:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=ce(w?.transaction_id),i=w?.attachment_file_paths;return F!=null&&Array.isArray(i)&&i.every((g=>typeof g=="string"))?void k($s({cardId:y,transactionId:F,attachmentFilePaths:i})):void k(oa(I,null,null,!0))}case Ht:case Gt:case $t:{const y=ce(w?.card_id);if(y==null||y!==I)return;k(ga(I,!0))}}})({event:c,data:p,cardId:n,dispatch:e,subscribedEvents:ii})},onPusherSubscribed:()=>{e(ga(n,!0)),e(oa(n,null,null,!0)),e(Je(!0))},onReloadTransactions:()=>{e(Ia(n,m,j))},onFetchChargeCardTransactionList:(c,p)=>{e(oa(n,c,p))},onUpdateScrollYOffset:c=>{},onGetOtp:c=>{b!=null&&e(et(c,"ChargeCardHolder",n))},onResendOtp:c=>{b!=null&&e(Xa(c,"ChargeCardHolder",n))},onVerifyOtp:(c,p)=>{b!=null&&e(Qa(c,p,"ChargeCardHolder",n))},onVerifyOtpSuccess:c=>{c!=null&&te.saveZeniOtpTokenForCardHolder(c,n)},onColorCodeChange:c=>{e(so(n,c))},onLockChargeCard:(c,p)=>{e(tr(c,n,p))},onUnlockChargeCard:c=>{e(ar(c,n))},onCloseChargeCard:c=>{e(er(n,c))},onFetchChargeCardsRecurringExpenses:()=>{e(Xn([n]))},updateChargeCardName:(c,p)=>{e(Qn(c,n,p))},updateChargeCardTransactionAttachments:(c,p)=>{p!=null&&e(ro({transactionId:c,data:p}))},updateChargeCardTransactionUploadReceiptsFetchStatus:(c,p,x,E)=>{e(no({chargeCardId:p,transactionId:c,fetchState:x,error:E}))},updateChargeCardTransactionReceiptsShowTick:(c,p,x)=>{e(to({chargeCardId:p,transactionId:c,shouldShowTick:x}))},onChargeCardRevokeInviteClick:()=>{e(Jn(n))},updateChargeCardTransactionIsViewReceiptClicked:(c,p,x)=>{e(ao({chargeCardId:p,transactionId:c,isViewReceiptClicked:x}))},onChargeCardTransactionRowClick:(c,p)=>{const x=Ee(f.state?.pathnameStackToGoBack,f.pathname);s(`../../transaction/${c}/${p}`,{state:{pathnameStackToGoBack:x}})},onBackClick:()=>{const c=we(f.state?.pathnameStackToGoBack),p=na(S);s(p,{state:{pathnameStackToGoBack:c.newStack,message:"comingFromCardDetail"}})},removeSnackbar:()=>{e(eo())},onUpdateDebitCardPinAttempt:c=>{e(qn(n,c)),c==="success"&&e(We({messageSection:"update_debit_card_pin_attempt",messageText:"success",type:"success",showStatusIcon:!0}))},onUploadReceiptComplete:(c,p)=>{c?e(We({messageSection:"charge_card_receipt_upload",messageText:"success",type:"success",showStatusIcon:!0})):p!=null&&e(We({messageSection:"charge_card_receipt_upload",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:p.message}]}))},updateSpendLimit(c,p,x,E){e(Zn(c,p,x.code,E))},shouldOpenCreditCardPaymentDrawer(c){c&&B!=null&&ee.trackCardsPayEarlyClick(u,l,B,"Card Detail","Text Button","Pay Now",{isZeniCheckingEnabled:t.company?.companyZeniAccountInfo.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:D?.accType==="depositAccount",creditCardPaymentSourceAccountName:D?.label,creditCardPaymentSourceAccountType:D?.accType,creditCardPaymentSourceLastFourDigits:D?.accountLast4,creditCardPaymentSourceBalance:D?.accountBalance?.available?.amount??0},C,O),A(c)}}}))(rt(dc));function li(){const e=ie(),a=le(),n=me(),{cardId:t}=Ve(),[s,f]=r.useState(!1),[b,m]=r.useState(!1),{useDynamicConfig:A}=de(),u=te.getSignedInUser(),l=d((Y=>ge(Y))),B=d((Y=>Za(Y).firstViewAfterActivation)),D=d((Y=>Y.classListState.fetchState)),{configValue:C}=A(Xe.documentAiReceiptMaxSizeLimitBytesConfig),{configValue:O}=A(Xe.zeniCardsConfig),j=O.enable_card_controls_for_company_ids,S=O.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(j)&&j.includes(l.companyId),[c,p]=r.useState(!1),[x,E]=r.useState(!1),{useFeatureGate:I}=de(),{isFeatureEnabled:k}=I(q.isChargeCardFeatureEnabled),{isFeatureEnabled:V}=I(q.isDebitCardFeatureEnabled),w=Be(V,l),y=Oe({isDebitCardFeatureEnabled:V,isBankingOnlyTenant:w}),{isFeatureEnabled:F}=I(q.isEarlyPayFeatureEnabled),i=Le(l),g=xe(l),R=l.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,G=je({isCardsOnlyTenant:g,isChargeCardFeatureEnabled:k,isBookKeepingTenant:i,isDebitCardProductVisible:y,chargeCardsCreditAccountLimit:R}),M=!!l.companyDebitCardInfo?.info?.isDebitCardEnabled,L=!!l.companyChargeCardInfo?.info?.isChargeCardEnabled,z=!l.userRole.includes("charge_card_user")&&G&&L;if(t==null)throw Error("Empty card id is not valid...");const U=d((Y=>Pa(Y,l.companyId))),{creditAccount:h,creditAccountRepayment:H}=d((Y=>ua(Y))),W=te.getZeniOtpTokenForCardHolder(t),_=d((Y=>wt(Y,t,z,G))),{isAiCfoAccessEnabled:Z,onAskAiCfoClick:N}=Fa({mobileExploreReferrer:"Card Detail"});Lt({isDataReady:_.fetchState==="Completed"});const $=d((Y=>ma(Y))),v=_.chargeCard,T=Re(),P=Fe(T?.loggedInUserRoleMap),ae=v?.type.code==="business_physical_debit_card"||v?.type.code==="business_virtual_debit_card",Ce=v?.type.code==="business_physical_debit_card"||v?.type.code==="business_physical_credit_card",X=v?.type.code==="business_virtual_debit_card"||v?.type.code==="business_virtual_credit_card",Te=v?.type.code==="business_virtual_debit_card",Ie=xa(G,L,P,h,H),re=Ar(ae,_),be=Ut(P,$),pe=ea(G,y,M,L),he=_.depositAccountLimitFetchState.fetchState!=="Completed"&&_.depositAccountLimitFetchState.fetchState!=="In-Progress",oe=d((Y=>da(Y,l.companyId))),Q=la(oe.controllers),Se=d((Y=>v?.cardCreatedByUser?.userId!=null?Ga(Y.userRoleState,v?.cardCreatedByUser?.userId):void 0)),De=d((Y=>Se?.accountingClassIDs[0]!=null?$a(Y.classState,{classId:Se?.accountingClassIDs[0],reportId:"class_list"}):void 0)),fe=d((Y=>v?.cardHolderUser?.userId!=null?Ga(Y.userRoleState,v?.cardHolderUser?.userId):void 0)),ve=d((Y=>fe?.accountingClassIDs[0]!=null?$a(Y.classState,{classId:fe?.accountingClassIDs[0],reportId:"class_list"}):void 0)),J=l?.userRole,Ge=d((Y=>Ca(Y,!1,y,k).revokeCardInvite)),Ra=Sa(Ge.saveStatus.fetchState);if(r.useEffect((()=>{if(Ra==="In-Progress"&&Ge.saveStatus.fetchState==="Completed"){const Y=na(l.tenantEmailDomain);e(Y)}}),[Ra,Ge.saveStatus.fetchState,e,l.tenantEmailDomain]),r.useEffect((()=>{B&&s===!1&&X&&(f(!0),setTimeout((()=>{a(Ka()),Te&&a(We({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))}),5e3))}),[B,s,X,Te]),r.useEffect((()=>{c||_.fetchState==="Completed"||_.fetchState==="In-Progress"||t==null||(p(!0),a(Ia(t,z,G,!1)))}),[c,_,t,a]),r.useEffect((()=>{!x&&_.fetchState==="Completed"&&_.chargeCard?.connectedAccountId!=null&&ae&&he&&P&&(E(!0),a(Wn({depositAccountId:_.chargeCard?.connectedAccountId})))}),[x,_,a,he,P]),r.useEffect((()=>{$.fetchState!=="Completed"&&$.fetchState!=="In-Progress"&&P&&a(Da()),D!=="Completed"&&D!=="In-Progress"&&a(Nn()),_.transactionStatistics.fetchState!=="Completed"&&_.transactionStatistics.fetchState!=="In-Progress"&&a(Js({chargeCardId:t})),U.fetchState!=="Completed"&&U.fetchState!=="In-Progress"&&a(_a(l.companyId,!0))}),[$.fetchState,a,P,D,_.transactionStatistics.fetchState,U.fetchState]),r.useEffect((()=>{if(!(_.fetchState!=="Completed"||G&&h.fetchState!=="Completed"||v==null||_.transactionStatistics.fetchState!=="Completed"||ae&&P&&_.depositAccountLimitFetchState.fetchState!=="Completed")){const Y=v.type.code.includes("physical"),ye=Y?v.cardActivationAttemptHistory[0]?.timestamp:v.createTime;ee.trackCardsCardDetailView(Q,pe,{cardId:t,cardName:v.cardName,cardType:v.type.code.includes("credit")?"credit":"debit",cardCategory:Y?"physical":"virtual",cardLimit:ba(v.limit.amount),cardLastFourDigits:v.accountLast4,cardStatus:v.status.code,cardAssignedDate:v.createTime?.format(gt.analytics.MMMDashDDDashYYYYFormat),cardIssuedDate:v.providerCardCreateTime?.format(gt.analytics.MMMDashDDDashYYYYFormat),cardActivatedDate:ye?.format(gt.analytics.MMMDashDDDashYYYYFormat),cardLimitFrequency:v.creditLimitFrequency.name,cardSpentAmount:ba(v.balance.amount),cardAvailableLimit:ba(v.available.amount),cardUtilizationPercent:v.limit.amount>0?Math.round((v.limit.amount-v.available.amount)/v.limit.amount*100):0,cardUtilizationAmount:ba(v.limit.amount-v.available.amount),totalNumberOfDeclinedTransactions:_.transactionStatistics.statistics.totalNumberOfDeclinedTransactions,numberOfDeclinedTransactionsCurrentMonth:_.transactionStatistics.statistics.numberOfDeclinedTransactionsCurrentMonth,totalNumberOfPaidTransactions:_.transactionStatistics.statistics.totalNumberOfPaidTransactions,numberOfPaidTransactionsCurrentMonth:_.transactionStatistics.statistics.numberOfPaidTransactionsCurrentMonth,totalNumberOfCanceledTransactions:_.transactionStatistics.statistics.totalNumberOfCanceledTransactions,numberOfCanceledTransactionsCurrentMonth:_.transactionStatistics.statistics.numberOfCanceledTransactionsCurrentMonth,totalNumberOfAuthorizedTransactions:_.transactionStatistics.statistics.totalNumberOfAuthorizedTransactions,numberOfAuthorizedTransactionsCurrentMonth:_.transactionStatistics.statistics.numberOfAuthorizedTransactionsCurrentMonth,totalNumberOfTransactionsWithReceipts:_.transactionStatistics.statistics.totalNumberOfTransactionsWithReceipts,numberOfTransactionsWithReceiptsCurrentMonth:_.transactionStatistics.statistics.numberOfTransactionsWithReceiptsCurrentMonth},{cardIssuedByName:It(v.cardCreatedByUser,!1),cardIssuedByEmail:v.cardCreatedByUser?.email,cardIssuedByUserId:v.cardCreatedByUser?.userId,cardIssuedByRole:Se?.userRoles,cardIssuedByDepartment:De?.className},{cardholderName:It(v.cardHolderUser,!1),cardholderEmail:v.cardHolderUser?.email,cardholderRole:fe?.userRoles,cardholderUserId:v.cardHolderUser?.userId,cardholderDepartment:ve?.className},Ie,re)}}),[_.fetchState,_.depositAccountLimitFetchState.fetchState,_.transactionStatistics.fetchState,h.fetchState,P]),u==null)throw Error("Can't access card detail page without signing in...");const it=ta(l),ka=P?[...Et,...Vr]:Et,ra={events:ha(it,ka),eventCallback:(Y,ye,se)=>{se.onEventReceived(Y,ye)},onSubscribed:Y=>{Y.onPusherSubscribed()}},Ea=()=>{if(t!=null&&v!=null){const{ownerName:Y,cardName:ye,utilisation:se,limit:$e,frequency:Ye,cardColor:Ke}=bt(v),ze=v.cardHolderUserId===u.userId;ee.trackCardsDetailPageViewed(t,Y,ye,se,$e,Ye,Ke,ze)}};r.useEffect((()=>{if(_.fetchState==="Completed"){const Y=_.chargeCard;if(Y?.status.code==="inactive"||ae&&Y?.isPinSet===!1||Ce&&B){const ye=_e(l.tenantEmailDomain,t,u,v,B);e(ye)}}}),[_.fetchState]);const dt=(Y,ye)=>{if(t!=null&&v!=null){const{ownerName:se,cardName:$e,utilisation:Ye,limit:Ke,frequency:ze}=bt(v),sa=v.cardHolderUserId===u.userId;ee.trackCardsDetailPageClicked(t,se,$e,Ye,Ke,ze,Y,sa,ye)}},lt=(Y,ye)=>{if(t!=null&&v!=null){const{ownerName:se,cardName:$e,utilisation:Ye,limit:Ke,frequency:ze}=bt(v),sa=v.cardHolderUserId===u.userId;ee.trackCardsVerifyPopUpClick(t,se,$e,Ye,Ke,ze,Y,sa,ye)}},ue=h.balance.amount+h.hold.amount,Oa=l.companyChargeCardInfo?.info?.primaryFundingAccount,Aa=U.allFundingAccounts.find((Y=>Y.id===Oa?.accountId)),ja=_.chargeCard!=null,Ua=_.depositAccountLimit!=null;return _.fetchState!=="Error"||ja?!ja&&(_.fetchState==="In-Progress"||_.fetchState==="Not-Started")||Ge.saveStatus.fetchState==="In-Progress"||!Ua&&ae&&P&&_.depositAccountLimitFetchState.fetchState!=="Completed"?o.jsx(ic,{}):o.jsxs(o.Fragment,{children:[o.jsx(tt,{showConfetti:B}),_.fetchState==="Completed"?o.jsx(Rt,{analytics:ee,onLoad:Ea}):null,b===!0?o.jsx(Kt,{closeDrawerHandler:()=>m(!1),isPaymentDrawerOpen:b,pageName:"Card Detail",sourcePage:"cardDetailPage",productInformation:pe,creditAccountInformation:Ie,debitAccountInformation:re,cashbackInformation:be,creditAccountSpentAmount:ue,isDebitCardInfoFetchStateCompleted:!ae||!P||_.depositAccountLimitFetchState.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!G||h.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!P||$.fetchState==="Completed",paymentInitiatedDate:H.initiatedRepaymentDate}):null,o.jsx(di,{...ra,hideSorting:!0,onColumnSortConfigChanged:()=>{},onFireVerifyPopOnClickAnalytics:lt,onFireOnClickAnalytics:dt,isSandboxEnv:Bt(),signedInUser:u,location:n,navigate:e,setIsPaymentOpen:m,cardIssuedByRoles:Se?.userRoles,cardIssuedByDepartmentName:De?.className,cardHolderRoles:fe?.userRoles,cardHolderDepartmentName:ve?.className,loggedInUserRole:J,isChargeCardFeatureEnabled:G,isDebitCardFeatureEnabled:y,isDebitCardSetupEnabled:M,isChargeCardSetupEnabled:L,isCardControlsEnabled:S,isEarlyPayEnabled:F,controllerEmails:Q,chargeCardCashbackDetailState:$,productInformation:pe,creditAccountInformation:Ie,debitAccountInformation:re,cashbackInformation:be,classListFetchState:D,primaryFundingAccountDetails:Aa,currentTenant:l,cardProviderId:_.chargeCard?.cardProviderID,cardId:t,creditAccount:h,creditAccountRepayment:H,includeCreditAccountInfo:z,signedInUserToken:W,appleWalletLink:"shoebox://",googleWalletLink:"https://www.android.com/payapp/",documentAiReceiptMaxSizeLimit:C.documentAiReceiptMaxSizeLimitBytes!=null?C.documentAiReceiptMaxSizeLimitBytes:9437184,isAiCfoAccessEnabled:Z,onAskAiCfoClick:N})]}):o.jsx(st,{})}const bt=e=>{const a=`${e.cardHolderUser?.firstName.toLowerCase()} ${e.cardHolderUser?.lastName.toLowerCase()}`,n=e.cardName,t=(e.limit.amount??0)-(e.available.amount??0),s=e.limit.amount,f=e.creditLimitFrequency.name;return{ownerName:a,cardName:n,utilisation:t,cardColor:e.cardColorCode??"",frequency:f,limit:s}},{spendManagement:{chargeCard:{cardsAiCfoHero:{headline:ui,subheadline:mi,pageTitle:Ci}}}}=aa.getLocalizedStrings(),Hr=[pa,ot,Mr,La,Ba,ct,$t,Yc,Ht,Gt,Vt],pi=new Set(Hr),At=jt(((e,a,n,t)=>{e(ia(a,n,t,!0))}),400),hi=He.div`
|
|
19
19
|
display: flex;
|
|
20
20
|
width: 100%;
|
|
21
21
|
flex: 1 1 auto;
|
|
22
22
|
flex-direction: column;
|
|
23
23
|
align-items: center;
|
|
24
24
|
background-color: ${e=>e.theme.colors.grey4};
|
|
25
|
-
`,fi=Pe((function(e,a){const n=Ca(e,a.includeCreditAccountDebitSummaryAndCashbackInfo,a.isDebitCardFeatureEnabled&&a.isDebitCardSetupEnabled,a.isChargeCardFeatureEnabled&&a.isChargeCardSetupEnabled);return{chargeCardListView:n,rowActionView:uo(e),bulkActionView:mo(e),companyLegalName:a.currentTenant.companyName,admins:a.admins,searchText:n.searchText,uiState:n.uiState,signedInUser:a.signedInUser,receiptsEmail:Yn(e.tenantState,a.currentTenant.tenantId)}}),(function(e,a){const{navigateAndClearBulkSelection:n,currentTenant:t,location:s,signedInUser:f,chargeCardListState:b,includeCreditAccountDebitSummaryAndCashbackInfo:m,isChargeCardFeatureEnabled:A,isCreditCardProductVisibleForExpressInterest:u,isChargeCardSetupEnabled:l,isDebitCardFeatureEnabled:B,isDebitCardSetupEnabled:D,isDebitCardTOSAccepted:C,isChargeCardTOSAccepted:O,controllerEmails:j,depositAccountListWithDebitCardIssued:S,primaryFundingAccountDetails:c,chargeCardSetUpViewFetchState:p,productInformation:x,cashbackInformation:E,creditAccountInformation:I,debitAccountInformation:k,updatePayNowInfoTooltip:V,isUserHasCardsAdminLevelAccess:w}=a,{tenantEmailDomain:y}=t,{cards:F}=b;return{onChargeCardRowClick:(i,g)=>{const R=_r(F,i);let G;R!=null&&((L=>{const z=L.limit.amount-L.available.amount,U=`${L.cardHolderUser?.firstName.toLowerCase()} ${L.cardHolderUser?.lastName.toLowerCase()}`,h=L.cardName,H=L.department?.className??"",W=L.limit.amount,_=L.creditLimitFrequency.name;ee.trackCardsListRowClicked(U,h,H,z,W,_,f.userId===L.cardHolderUserId)})(R),ca(B,D,S)&&ee.trackCardsCardListRowClick(j,x,"Card Row Item","row_clicked",g+1,{cardOwner:It(R.cardHolderUser,!1),cardName:R.cardName,cardType:R.type.code.includes("credit")?"credit":"debit",cardStatus:R.status.code,cardUtilizationAmount:ba(R.limit.amount-R.available.amount),cardUtilizationPercent:R.limit.amount>0?Math.round((R.limit.amount-R.available.amount)/R.limit.amount*100):0,cardLimit:ba(R.limit.amount)},E,I,k)),G=R?.status.code==="request_on_hold"&&f.userId===R.cardHolderUserId?Pr(y):_e(y,i,f,R);const M=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(G,{state:{pathnameStackToGoBack:M}})},onFetchChargeCardsRecurringExpenses:i=>{e(Xn(i))},onFetchDepositAccountLimit:i=>{e(Wn({depositAccountId:i}))},onChargeCardResendInviteClick:i=>{e(yo(i))},onChargeCardRevokeInviteClick:i=>{e(Qn(i))},onLockChargeCardList:(i,g)=>{e(So(i,g))},onUnlockChargeCardList:i=>{e(bo(i))},onCloseChargeCardList:(i,g)=>{e(go(i,g))},onRevokeChargeCardList:i=>{e(fo(i))},updateChargeCardListSpendLimit(i,g,R){e(ho(i,g,R.code))},onLockChargeCard:(i,g)=>{e(tr(w,i,g))},onUnlockChargeCard:i=>{e(ar(w,i))},onCloseChargeCard:(i,g)=>{e(er(i,g))},onUpdateSpendLimit(i,g,R,G){e(Zn(i,g,R.code,G))},updateChargeCardName:(i,g)=>{e(Jn(w,i,g))},onClickSetupIcon:()=>{ee.trackCardsListPageClicked("settings"),ca(B,D,S)&&E!=null&&ee.trackCardsSettingsClick(j,x,E,I,k);const i=Fc(y),g=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(i,{state:{pathnameStackToGoBack:g}})},onIssueCardClick:()=>{ee.trackCardsListPageClicked("new card"),ca(B,D,S)&&E!=null&&ee.trackCardsNewCardClick(j,x,E,"New Button","card_creation_initiated","Card List",I,k);const i=gi(y),g=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(i,{state:{pathnameStackToGoBack:g}})},onColumnSortConfigChanged:(i,g)=>{ca(B,D,S)&&E!=null&&ee.trackCardsCardListSortClick(j,x,E,"Sort Icon","sort",i,g==="ascending"?"ASC":"DESC","Cards List",I,k),e(yt({uiState:{sortKey:i,sortOrder:g}}))},onSearchTextChanged:i=>{e(po(i))},onReloadCards:()=>{e(ia(m,B&&D,A&&l,!0))},onLetsGoClick:()=>{n("./onboard")},onBackClick:()=>{n("../../")},onTotalCashbackClick:()=>{ca(B,D,S)&&E!=null&&ee.trackCardsCashbackOverviewClick(j,x,E,"Cashback Overview","cashback_details_viewed",I,k),n("./cashback")},onClickStatementsIcon:()=>{ca(B,D,S)&&E!=null&&ee.trackCardsStatementsClick(j,x,E,I,k),n("./statements")},onCreateNowClick:i=>{ca(B,D,S)&&E!=null&&ee.trackCardsNewCardClick(j,x,E,"Promo Banner","card_creation_initiated","Card List",I,k),n(`./new?cardType=${i}`)},onPromoCardClick:i=>{n(i==="debit"&&B&&!C||i==="credit"&&u&&!O?`../promo?cardPromoType=${i}`:"./setup")},navigateToCreditCardPaymentPage:(i,g)=>{p==="Completed"&&t.company!=null&&E!=null&&ee.trackCardsPayEarlyClick(j,x,E,"Card List",i,g,{isZeniCheckingEnabled:t.company.companyZeniAccountInfo.isZeniAccountEnabled,isZeniCheckingPaymentSource:c?.accType==="depositAccount",creditCardPaymentSourceAccountName:c?.label,creditCardPaymentSourceAccountType:c?.accType,creditCardPaymentSourceLastFourDigits:c?.accountLast4,creditCardPaymentSourceBalance:c?.accountBalance?.available?.amount??0},I,k);const R=bi(y);n(R)},navigateToCreditCardPaymentHistoryPage:()=>{const i=Si(y),g=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(i,{state:{pathnameStackToGoBack:g}})},shouldShowPayNowInfoTooltip:V,onSetRowActionCardId:i=>{e(Co(i))},onSetBulkActionCardIds:i=>{e(nr(i))},onEventReceived:i=>{pi.has(i)&&At(e,m,B&&D,A&&l)},onPusherSubscribed:()=>{At(e,m,B&&D,A&&l)}}}))(rt(mc));function In({isPaymentDrawerOpen:e}){const a=ie(),n=le(),t=me(),s=r.useCallback(((K,Ue)=>{n(nr([])),a(K,Ue)}),[n,a]),[f,b]=r.useState(!1),[m,A]=r.useState(te.getPayNowInfoTooltip()??!1),u=K=>{te.savePayNowInfoTooltip(K),A(K)},[l,B]=r.useState(!1),D=te.getSignedInUser(),C=d((K=>ge(K))),[O,j]=r.useState(!1),[S,c]=r.useState(!1),{isAiCfoAccessEnabled:p,onAskAiCfoClick:x}=Fa({mobileExploreReferrer:"Cards"}),E=C.userRole.includes("charge_card_user"),I=!E,k=!!C.companyDebitCardInfo?.info?.isDebitCardEnabled,{useFeatureGate:V,useDynamicConfig:w}=de(),{isFeatureEnabled:y}=V(q.isCashbackFeatureEnabled),{isFeatureEnabled:F}=V(q.isChargeCardFeatureEnabled),{isFeatureEnabled:i}=V(q.isDebitCardFeatureEnabled),{isFeatureEnabled:g}=V(q.isEarlyPayFeatureEnabled),{isFeatureEnabled:R}=V(q.isChargeCardPaymentHistoryFeatureEnabled),{isFeatureEnabled:G}=V(q.isAiCfoFileUploadEnabled),{isFeatureEnabled:M}=V(q.isCardPolicyEnabled),{isFeatureEnabled:L}=V(q.isAiCardCreationEnabled),z=Be(i,C),U=Oe({isDebitCardFeatureEnabled:i,isBankingOnlyTenant:z}),h=xe(C),H=Le(C),W=C.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,_=je({isCardsOnlyTenant:h,isChargeCardFeatureEnabled:F,isBookKeepingTenant:H,isDebitCardProductVisible:U,chargeCardsCreditAccountLimit:W}),Z=Dr({isCardsOnlyTenant:h,isChargeCardFeatureEnabled:F,isBookKeepingTenant:H}),{configValue:N}=w(Xe.zeniCardsConfig),$=Re(),v=Fe($?.loggedInUserRoleMap),T=d((K=>da(K,C.companyId))),P=la(T.controllers),ae=N.charge_card_cashback_rate_per_transaction!=null?N.charge_card_cashback_rate_per_transaction:.0175,Ce=N.credit_card_pay_now_threshold_by_company_id?.[C.companyId]??N.default_credit_card_pay_now_threshold??vc,X=N.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(N.enable_card_controls_for_company_ids)&&N.enable_card_controls_for_company_ids.includes(C.companyId),Te=!!C.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,Ie=!!C.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,re=!!C.companyChargeCardInfo?.info?.isChargeCardEnabled,be=!!C.company?.companyChargeCardInfo?.isChargeCardEnabled,pe=!!C.company?.companyDebitCardInfo?.isDebitCardEnabled,he=d((K=>Gn(K))),oe=Sa(he.updateStatus),J=d((K=>Ca(K,I,U&&k,_&&re))),Se=d((K=>oo(K))),De=d((K=>co(K))),fe=d((K=>io(K))),ve=d((K=>lo(K))),Q=d((K=>fe==null?[]:Mn(K.aiCfoState,fe).filter((Ue=>Ue.kind==="creating_cards"))),Dt),Ge=Sa(De.fetchState);r.useEffect((()=>{Ge==="In-Progress"&&De.fetchState==="Completed"&&fe!=null&&Q.forEach((K=>{n(St({chatSessionId:fe,id:K.id,entityIds:ve,kind:"created_cards"}))}))}),[n,De.fetchState,fe,ve,Q,Ge]);const Ra=J.cards.filter((K=>K.type.code.includes("debit"))).map((K=>K.connectedAccountId)),it=[...new Set(Ra)],ka=d((K=>ma(K))),ra=d((K=>at(K,it))),Ea=d((K=>Pa(K,C.companyId))),dt=Ea.companyChargeCardInfo?.primaryFundingAccount,lt=Ea.allFundingAccounts.find((K=>K.id===dt?.accountId)),ue=J.fetchState,Oa=J.creditAccount,Aa=r.useCallback((()=>v===!0&&M===!0&&ue==="Completed"&&te.getCardPolicyPopupSeen(C.tenantEmailDomain??"")!==!0),[v,M,ue,C.tenantEmailDomain]),[ja,Ua]=r.useState(Aa);r.useEffect((()=>{Ua(Aa())}),[Aa]);const Y=()=>{te.saveCardPolicyPopupSeen(C.tenantEmailDomain??"",!0),Ua(!1)},ye=ue==="Completed"&&!J.hasCreditCard&&!J.hasDebitCard;lc({isDataReady:ue==="Completed",pageContext:ye?"cards_creation":"cards"});const{creditAccountRepayment:se}=d((K=>ua(K))),$e=d((K=>Za(K).firstViewAfterActivation)),{areTenantIdsInSync:Ye}=yr(),Ke=Ut(v,ka),ze=xa(_,re,v,Oa,se),sa=Mt(U,k,v,ra,J.debitCardSummary),ut=ea(_,U,k,re),mt=J.creditAccount.balance.amount+J.creditAccount.hold.amount;if(r.useEffect((()=>{ue==="Completed"&&(te.getPayNowInfoTooltip()==null||mt<Ce*J.creditAccount.limit.amount/100)&&u(!0)}),[ue,Ce,mt,J.creditAccount.limit.amount]),r.useEffect((()=>{if(e!=null&&e===!0&&se.initiatedRepayments.amount===0&&se.fetchState==="Completed"||oe==="In-Progress"&&he.updateStatus==="Completed")u(!1),b(!0);else if(se.initiatedRepayments.amount>0&&se.fetchState==="Completed"){b(!1),document.body.style.overflow="auto";const K=na(C.tenantEmailDomain);s(K)}}),[e,se.initiatedRepayments.amount,se.fetchState,oe,he.updateStatus,s,C.tenantEmailDomain]),r.useEffect((()=>{!O&&(re||k)&&(be||pe)&&Ye&&(j(!0),n(ia(I,U&&k,_&&re,!1)))}),[O,I,n,Ye,be,pe]),r.useEffect((()=>{$e&&l===!1&&(B(!0),setTimeout((()=>{n(Ka())}),5e3))}),[$e,l]),r.useEffect((()=>()=>{At.flush()}),[]),r.useEffect((()=>{ue==="Completed"&&E&&J.cards.length===1&&(J.cards[0].status.code==="inactive"&&J.cards[0].type.code==="business_physical_credit_card"?s(`./${J.cards[0].id}/activate`):J.cards[0].status.code!=="request_on_hold"&&(t.state?.message==="comingFromCardDetail"?s("../../"):s(`./${J.cards[0].id}`)))}),[ue,E,t.state,s,J.cards]),r.useEffect((()=>{if(ue==="Completed"&&E){const K=J.cards.length,Ue=J.cards.filter((Ze=>Ze.cardHolderUserId===D?.userId)).filter((Ze=>Ze.status.code==="request_on_hold"));Ue.length>0&&K===Ue.length&&s("./onboard")}}),[ue,J.cards,E,s,D?.userId]),r.useEffect((()=>{ue!=="Completed"||_&&se.fetchState!=="Completed"||U&&k&&v&&ra.fetchState!=="Completed"||ee.trackCardsCardListView(P,ut,Ke,ze,sa)}),[ue,Oa,se.fetchState,ra.fetchState,v]),D==null)throw Error("Can't access charge card list page without signing in...");const zr=d((K=>rr(K.userState,K.userRoleState,K.userListViewState,"cardAdmin"))),Yt=Ft($?.loggedInUserRoleMap),Zt=K=>{c(K)},Wr=J.creditAccount.limit,Yr=()=>{b(!1),s("..")},Zr=C.companyChargeCardInfo?.info!=null&&ya({cardInfo:C.companyChargeCardInfo.info,isProductVisible:_&&be,isTOSAccepted:Te,isSetupEnabled:re,isUserHasCardsAdminLevelAccess:v,isUserHasCardsAccess:Yt}),qr=C.companyDebitCardInfo?.info!=null&&ya({cardInfo:C.companyDebitCardInfo.info,isProductVisible:U&&pe,isTOSAccepted:Ie,isSetupEnabled:k,isUserHasCardsAdminLevelAccess:v,isUserHasCardsAccess:Yt}),Qr=Zr||qr,qt=(function(K){const{isEmptyCardsState:Ue,isChargeCardAdmin:Ze,isFileUploadEnabled:en}=K,an=ie(),Ma=me(),{tenantEmailDomain:Na}=Ve(),{isAiCfoOpen:ts,setIsAiCfoOpen:tn}=hr(),ns=fr(),rs=gr(),nn=d((ke=>Un(ke))).createSessionAndSubmitState.fetchState==="In-Progress",{chips:rn,isResolved:sn}=xr("cards_creation"),on=r.useMemo((()=>Fr(rn,sn,3)),[rn,sn]),[Va,Ct]=r.useState(""),cn=rs&&ns&&Na!=null&&!ts,fa=r.useCallback((ke=>{if(Na==null)return;const ss=Ee(Ma.state?.pathnameStackToGoBack,Ma.pathname);an(`/${Na}/cards/ask`,{state:{message:"",origin:"",pathnameStackToGoBack:ss,referrer:"cards_hero",aiCfoInitialQuestion:ke,aiCfoShouldSubmit:ke!=null&&ke.trim().length>0}})}),[Ma.pathname,Ma.state,an,Na]),dn=r.useCallback((ke=>{ke.trim().length!==0&&(Ct(""),fa(ke))}),[fa]),ln=r.useCallback((()=>{const ke=Va.trim();ke.length!==0&&(Ct(""),fa(ke))}),[Va,fa]),un=r.useCallback((()=>{}),[]),mn=r.useCallback((ke=>{Ct(ke)}),[]),Cn=r.useCallback((()=>{tn(!0)}),[tn]),pn=r.useCallback((()=>{fa(void 0)}),[fa]);return r.useMemo((()=>{if(cn&&Ue&&Ze)return{aiAgentName:Ci,headline:ui,subheadline:mi,promptChips:on,composer:{currentInput:Va,isSubmitting:nn,isFileUploadEnabled:en,onInputChange:mn,onSubmit:ln,onStopSubmit:un},onPromptClick:dn,onOpenSidePanel:Cn,onOpenFullView:pn,dataTestIdPrefix:"cards-ai-cfo-hero"}}),[Va,cn,Ze,Ue,en,nn,mn,pn,Cn,dn,un,ln,on])})({isEmptyCardsState:ye,isChargeCardAdmin:v,isFileUploadEnabled:G}),Qt=L&&qt!=null?o.jsx(br,{...qt}):null,{isCardsShuttingDown:Jt,shutdownContent:Xt}=Ir(C.tenantId,C.company?.managementInfo?.receiverEmails),Jr=Jt===!0&&Xt!=null?o.jsx(uc,{shutdownContent:Xt}):null,Xr=p&&Qt==null,es=ta(C),as={events:ha(es,Hr),eventCallback:(K,Ue,Ze)=>{Ze.onEventReceived(K)},onSubscribed:K=>{K.onPusherSubscribed()}};return re||k?o.jsxs(o.Fragment,{children:[ue==="Completed"?o.jsxs(o.Fragment,{children:[o.jsx(Rt,{analytics:ee,onLoad:()=>{ee.trackPageLoaded(kr.Event.cardsListPage),(_&&!re||U&&!k)&&ee.trackCardsPromoView(P,{isCreditCardOffered:_,isDebitCardOffered:U,isDebitCardEnabled:k,isCreditCardEnabled:re},"Banner",U&&!k?"Debit Card":_&&!re?"Credit Card":"","Card List")}}),o.jsx(tt,{showConfetti:$e})]}):null,f===!0?o.jsx(Kt,{closeDrawerHandler:Yr,isPaymentDrawerOpen:f,pageName:"Card List",sourcePage:"cardListPage",creditAccountSpentAmount:mt,productInformation:ut,creditAccountInformation:ze,debitAccountInformation:sa,cashbackInformation:Ke,isDebitCardInfoFetchStateCompleted:!(U&&k&&v)||ra.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!_||se.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!v||ka.fetchState==="Completed",paymentInitiatedDate:se.initiatedRepaymentDate}):null,o.jsxs(hi,{children:[o.jsx(Ae,{isAppContentDrawerOpen:S,handleDrawerToggle:Zt}),o.jsx(fi,{...as,isCashbackFeatureEnabled:y,isChargeCardFeatureEnabled:_,isDebitCardFeatureEnabled:U,isCreditCardProductVisibleForExpressInterest:Z,updatePayNowInfoTooltip:u,showPayNowInfoTooltip:m,creditCardPayNowThreshold:Ce,signedInUser:D,chargeCardListState:J,location:t,admins:zr.users,navigateAndClearBulkSelection:s,currentTenant:C,isCardControlsEnabled:X,companyChargeCardInfoCreditAccountLimit:C.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,isCompanyInterestedInChargeCard:C.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,isUserHasCardsAdminLevelAccess:v,includeCreditAccountDebitSummaryAndCashbackInfo:I,onClickMenuIcon:()=>{Zt(!0)},creditLimit:Wr,isChargeCardSetupEnabled:re,isChargeCardEnabledOnCompany:be,isDebitCardSetupEnabled:k,isDebitCardEnabledOnCompany:pe,isEarlyPayEnabled:g,isChargeCardPaymentHistoryFeatureEnabled:R,cashbackRate:ae,controllerEmails:P,chargeCardCashbackDetailState:ka,depositAccountListWithDebitCardIssued:ra,isChargeCardTOSAccepted:Te,isDebitCardTOSAccepted:Ie,primaryFundingAccountDetails:lt,chargeCardSetUpViewFetchState:Ea.fetchState,productInformation:ut,creditAccountInformation:ze,debitAccountInformation:sa,cashbackInformation:Ke,isAiCfoAccessEnabled:Xr,onAskAiCfoClick:x,cardsAiCfoHero:Qt,cardsShutdownBanner:Jr,isCardsShuttingDown:Jt,onClickPolicyIcon:v&&M?()=>a(yi(C.tenantEmailDomain)):void 0,isPolicyIntroTooltipVisible:ja,onPolicyIntroTooltipClose:Y,pendingCreationCount:Se})]})]}):(Te||Ie)&&v===!0?o.jsx(Je,{to:"../setup"}):Qr?o.jsx(Je,{to:"../promo"}):o.jsx(wa,{fetchState:ue})}const gi=e=>`/${e}/cards/new`,bi=e=>`/${e}/cards/payment`,Si=e=>`/${e}/cards/payment-history`,yi=e=>`/${e}/cards/policy`,Gr=[Ur,Mr],Ii=new Set(Gr),ki=Pe((function(e){const a=te.getSignedInUser(),n=ge(e),t=e.tenantState.currentTenantId,s=sr(e),f={userId:a?.userId??"",sessionId:a?.zeniSessionId??"",tenantId:t??""},b=n?.companyName??"",m=e.chargeCardPaymentHistoryState.downloadUIState.downloadState;return{fetchState:s.fetchState,filters:s.filters,isZeniTenant:Io(n),repaymentList:s.repaymentHistory,searchText:s.searchText,repaymentHistoryUsers:s.repaymentHistoryUsers,sortConfig:{sortKey:s.uiState.sortKey,sortOrder:s.uiState.sortOrder},downloadParams:{authParams:f,companyName:b,spendManagementEndPoint:`${kt}/spendManagement`,isShowDeletedBillsEnabled:!1,isShowDeletedReimbursementEnabled:!1},downloadState:m}}),(function(e,a){const{location:n,navigate:t}=a;return{onBackClick:()=>{const s=we(n.state?.pathnameStackToGoBack),f=s.poppedPathname??"..";t(f,{state:{pathnameStackToGoBack:s.newStack}})},onColumnSortConfigChanged:(s,f)=>{e({type:"chargeCardPaymentHistory/updatePaymentHistoryUIState",payload:{uiState:{sortKey:s,sortOrder:f}}})},onFiltersChange:s=>{e(Eo({filters:s}))},onReloadPayments:()=>{e(Ha(!0))},onEventReceived:s=>{Ii.has(s)&&e(Ha(!0))},onPusherSubscribed:()=>{e(Ha(!0))},onSearchTextChanged:s=>{e({type:"chargeCardPaymentHistory/updatePaymentHistorySearchText",payload:s})},updateDownloadStateHandler:s=>{e(ko({uiState:{downloadState:s}}))}}}))(rt(Cc));function Ei(){const e=ie(),a=me(),n=le(),{areTenantIdsInSync:t}=yr(),{useFeatureGate:s}=de();if(te.getSignedInUser()==null)throw Error("Can't access payment history page without signing in...");const f=d((T=>ge(T))),b=d((T=>sr(T))),[m,A]=r.useState(!1),[u,l]=r.useState(!1),[B,D]=r.useState(!1),[C,O]=r.useState(null),j=!f.userRole.includes("charge_card_user"),S=!!f.companyDebitCardInfo?.info?.isDebitCardEnabled,{isFeatureEnabled:c}=s(q.isChargeCardFeatureEnabled),{isFeatureEnabled:p}=s(q.isDebitCardFeatureEnabled),x=Be(p,f),E=Oe({isDebitCardFeatureEnabled:p,isBankingOnlyTenant:x}),I=xe(f),k=Le(f),V=f.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,w=je({isCardsOnlyTenant:I,isChargeCardFeatureEnabled:c,isBookKeepingTenant:k,isDebitCardProductVisible:E,chargeCardsCreditAccountLimit:V}),y=!!f.companyChargeCardInfo?.info?.isChargeCardEnabled,F=Re(),i=Fe(F?.loggedInUserRoleMap),g=d((T=>Ca(T,j,E&&S,w&&y))),R=r.useMemo((()=>{const T=g.cards.filter((P=>P.type.code.includes("debit")));return[...new Set(T.map((P=>P.connectedAccountId)))]}),[g.cards]),G=d((T=>ma(T))),M=d((T=>at(T,R))),{creditAccountRepayment:L}=d((T=>ua(T))),z=r.useMemo((()=>Ut(i,G)),[i,G]),U=r.useMemo((()=>xa(w,y,i,g.creditAccount,L)),[w,y,i,g.creditAccount,L]),h=r.useMemo((()=>Mt(E,S,i,M,g.debitCardSummary)),[E,S,i,M,g.debitCardSummary]),H=r.useMemo((()=>ea(w,E,S,y)),[w,E,S,y]),W=g.creditAccount.balance.amount+g.creditAccount.hold.amount,_=r.useMemo((()=>C!=null?b.repaymentHistory.find((T=>T.cardRepaymentId===C)):void 0),[C,b.repaymentHistory]),Z=r.useCallback((T=>{O(T),n(ia(j,E&&S,w&&y,!1)),D(!0)}),[n,j,E,S,w,y]),N=r.useCallback((()=>{D(!1),O(null),document.body.style.overflow="auto"}),[]);r.useEffect((()=>{m||b.fetchState==="Completed"||b.fetchState==="In-Progress"||(A(!0),n(Ha()))}),[m,n,b.fetchState]),r.useEffect((()=>{!u&&(y||S)&&t&&(l(!0),n(ia(j,!1,w&&y,!1)))}),[u,y,S,t,n,j,w]);const $=ta(f),v={events:ha($,Gr),eventCallback:(T,P,ae)=>{ae.onEventReceived(T)},onSubscribed:T=>{T.onPusherSubscribed()}};return o.jsxs(o.Fragment,{children:[B?o.jsx(Kt,{closeDrawerHandler:N,isPaymentDrawerOpen:B,pageName:"Payment History",sourcePage:"cardPaymentHistory",creditAccountSpentAmount:W,productInformation:H,creditAccountInformation:U,debitAccountInformation:h,cashbackInformation:z,isDebitCardInfoFetchStateCompleted:!(E&&S&&i)||M.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!w||L.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!i||G.fetchState==="Completed",paymentInitiatedDate:L.initiatedRepaymentDate,retryRepayment:_}):null,o.jsx(ki,{...v,location:a,navigate:e,accountInfoByAccountId:b.accountInfoByAccountId,onRetryPaymentClick:Z})]})}const kn=He.div`
|
|
25
|
+
`,fi=Pe((function(e,a){const n=Ca(e,a.includeCreditAccountDebitSummaryAndCashbackInfo,a.isDebitCardFeatureEnabled&&a.isDebitCardSetupEnabled,a.isChargeCardFeatureEnabled&&a.isChargeCardSetupEnabled);return{chargeCardListView:n,rowActionView:uo(e),bulkActionView:mo(e),companyLegalName:a.currentTenant.companyName,admins:a.admins,searchText:n.searchText,uiState:n.uiState,signedInUser:a.signedInUser,receiptsEmail:Yn(e.tenantState,a.currentTenant.tenantId)}}),(function(e,a){const{navigateAndClearBulkSelection:n,currentTenant:t,location:s,signedInUser:f,chargeCardListState:b,includeCreditAccountDebitSummaryAndCashbackInfo:m,isChargeCardFeatureEnabled:A,isCreditCardProductVisibleForExpressInterest:u,isChargeCardSetupEnabled:l,isDebitCardFeatureEnabled:B,isDebitCardSetupEnabled:D,isDebitCardTOSAccepted:C,isChargeCardTOSAccepted:O,controllerEmails:j,depositAccountListWithDebitCardIssued:S,primaryFundingAccountDetails:c,chargeCardSetUpViewFetchState:p,productInformation:x,cashbackInformation:E,creditAccountInformation:I,debitAccountInformation:k,updatePayNowInfoTooltip:V,isUserHasCardsAdminLevelAccess:w}=a,{tenantEmailDomain:y}=t,{cards:F}=b;return{onChargeCardRowClick:(i,g)=>{const R=_r(F,i);let G;R!=null&&((L=>{const z=L.limit.amount-L.available.amount,U=`${L.cardHolderUser?.firstName.toLowerCase()} ${L.cardHolderUser?.lastName.toLowerCase()}`,h=L.cardName,H=L.department?.className??"",W=L.limit.amount,_=L.creditLimitFrequency.name;ee.trackCardsListRowClicked(U,h,H,z,W,_,f.userId===L.cardHolderUserId)})(R),ca(B,D,S)&&ee.trackCardsCardListRowClick(j,x,"Card Row Item","row_clicked",g+1,{cardOwner:It(R.cardHolderUser,!1),cardName:R.cardName,cardType:R.type.code.includes("credit")?"credit":"debit",cardStatus:R.status.code,cardUtilizationAmount:ba(R.limit.amount-R.available.amount),cardUtilizationPercent:R.limit.amount>0?Math.round((R.limit.amount-R.available.amount)/R.limit.amount*100):0,cardLimit:ba(R.limit.amount)},E,I,k)),G=R?.status.code==="request_on_hold"&&f.userId===R.cardHolderUserId?Pr(y):_e(y,i,f,R);const M=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(G,{state:{pathnameStackToGoBack:M}})},onFetchChargeCardsRecurringExpenses:i=>{e(Xn(i))},onFetchDepositAccountLimit:i=>{e(Wn({depositAccountId:i}))},onChargeCardResendInviteClick:i=>{e(yo(i))},onChargeCardRevokeInviteClick:i=>{e(Jn(i))},onLockChargeCardList:(i,g)=>{e(So(i,g))},onUnlockChargeCardList:i=>{e(bo(i))},onCloseChargeCardList:(i,g)=>{e(go(i,g))},onRevokeChargeCardList:i=>{e(fo(i))},updateChargeCardListSpendLimit(i,g,R){e(ho(i,g,R.code))},onLockChargeCard:(i,g)=>{e(tr(w,i,g))},onUnlockChargeCard:i=>{e(ar(w,i))},onCloseChargeCard:(i,g)=>{e(er(i,g))},onUpdateSpendLimit(i,g,R,G){e(Zn(i,g,R.code,G))},updateChargeCardName:(i,g)=>{e(Qn(w,i,g))},onClickSetupIcon:()=>{ee.trackCardsListPageClicked("settings"),ca(B,D,S)&&E!=null&&ee.trackCardsSettingsClick(j,x,E,I,k);const i=Fc(y),g=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(i,{state:{pathnameStackToGoBack:g}})},onIssueCardClick:()=>{ee.trackCardsListPageClicked("new card"),ca(B,D,S)&&E!=null&&ee.trackCardsNewCardClick(j,x,E,"New Button","card_creation_initiated","Card List",I,k);const i=gi(y),g=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(i,{state:{pathnameStackToGoBack:g}})},onColumnSortConfigChanged:(i,g)=>{ca(B,D,S)&&E!=null&&ee.trackCardsCardListSortClick(j,x,E,"Sort Icon","sort",i,g==="ascending"?"ASC":"DESC","Cards List",I,k),e(yt({uiState:{sortKey:i,sortOrder:g}}))},onSearchTextChanged:i=>{e(po(i))},onReloadCards:()=>{e(ia(m,B&&D,A&&l,!0))},onLetsGoClick:()=>{n("./onboard")},onBackClick:()=>{n("../../")},onTotalCashbackClick:()=>{ca(B,D,S)&&E!=null&&ee.trackCardsCashbackOverviewClick(j,x,E,"Cashback Overview","cashback_details_viewed",I,k),n("./cashback")},onClickStatementsIcon:()=>{ca(B,D,S)&&E!=null&&ee.trackCardsStatementsClick(j,x,E,I,k),n("./statements")},onCreateNowClick:i=>{ca(B,D,S)&&E!=null&&ee.trackCardsNewCardClick(j,x,E,"Promo Banner","card_creation_initiated","Card List",I,k),n(`./new?cardType=${i}`)},onPromoCardClick:i=>{n(i==="debit"&&B&&!C||i==="credit"&&u&&!O?`../promo?cardPromoType=${i}`:"./setup")},navigateToCreditCardPaymentPage:(i,g)=>{p==="Completed"&&t.company!=null&&E!=null&&ee.trackCardsPayEarlyClick(j,x,E,"Card List",i,g,{isZeniCheckingEnabled:t.company.companyZeniAccountInfo.isZeniAccountEnabled,isZeniCheckingPaymentSource:c?.accType==="depositAccount",creditCardPaymentSourceAccountName:c?.label,creditCardPaymentSourceAccountType:c?.accType,creditCardPaymentSourceLastFourDigits:c?.accountLast4,creditCardPaymentSourceBalance:c?.accountBalance?.available?.amount??0},I,k);const R=bi(y);n(R)},navigateToCreditCardPaymentHistoryPage:()=>{const i=Si(y),g=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(i,{state:{pathnameStackToGoBack:g}})},shouldShowPayNowInfoTooltip:V,onSetRowActionCardId:i=>{e(Co(i))},onSetBulkActionCardIds:i=>{e(nr(i))},onEventReceived:i=>{pi.has(i)&&At(e,m,B&&D,A&&l)},onPusherSubscribed:()=>{At(e,m,B&&D,A&&l)}}}))(rt(mc));function In({isPaymentDrawerOpen:e}){const a=ie(),n=le(),t=me(),s=r.useCallback(((K,Ue)=>{n(nr([])),a(K,Ue)}),[n,a]),[f,b]=r.useState(!1),[m,A]=r.useState(te.getPayNowInfoTooltip()??!1),u=K=>{te.savePayNowInfoTooltip(K),A(K)},[l,B]=r.useState(!1),D=te.getSignedInUser(),C=d((K=>ge(K))),[O,j]=r.useState(!1),[S,c]=r.useState(!1),{isAiCfoAccessEnabled:p,onAskAiCfoClick:x}=Fa({mobileExploreReferrer:"Cards"}),E=C.userRole.includes("charge_card_user"),I=!E,k=!!C.companyDebitCardInfo?.info?.isDebitCardEnabled,{useFeatureGate:V,useDynamicConfig:w}=de(),{isFeatureEnabled:y}=V(q.isCashbackFeatureEnabled),{isFeatureEnabled:F}=V(q.isChargeCardFeatureEnabled),{isFeatureEnabled:i}=V(q.isDebitCardFeatureEnabled),{isFeatureEnabled:g}=V(q.isEarlyPayFeatureEnabled),{isFeatureEnabled:R}=V(q.isChargeCardPaymentHistoryFeatureEnabled),{isFeatureEnabled:G}=V(q.isAiCfoFileUploadEnabled),{isFeatureEnabled:M}=V(q.isCardPolicyEnabled),{isFeatureEnabled:L}=V(q.isAiCardCreationEnabled),z=Be(i,C),U=Oe({isDebitCardFeatureEnabled:i,isBankingOnlyTenant:z}),h=xe(C),H=Le(C),W=C.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,_=je({isCardsOnlyTenant:h,isChargeCardFeatureEnabled:F,isBookKeepingTenant:H,isDebitCardProductVisible:U,chargeCardsCreditAccountLimit:W}),Z=Dr({isCardsOnlyTenant:h,isChargeCardFeatureEnabled:F,isBookKeepingTenant:H}),{configValue:N}=w(Xe.zeniCardsConfig),$=Re(),v=Fe($?.loggedInUserRoleMap),T=d((K=>da(K,C.companyId))),P=la(T.controllers),ae=N.charge_card_cashback_rate_per_transaction!=null?N.charge_card_cashback_rate_per_transaction:.0175,Ce=N.credit_card_pay_now_threshold_by_company_id?.[C.companyId]??N.default_credit_card_pay_now_threshold??vc,X=N.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(N.enable_card_controls_for_company_ids)&&N.enable_card_controls_for_company_ids.includes(C.companyId),Te=!!C.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,Ie=!!C.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,re=!!C.companyChargeCardInfo?.info?.isChargeCardEnabled,be=!!C.company?.companyChargeCardInfo?.isChargeCardEnabled,pe=!!C.company?.companyDebitCardInfo?.isDebitCardEnabled,he=d((K=>Gn(K))),oe=Sa(he.updateStatus),Q=d((K=>Ca(K,I,U&&k,_&&re))),Se=d((K=>oo(K))),De=d((K=>co(K))),fe=d((K=>io(K))),ve=d((K=>lo(K))),J=d((K=>fe==null?[]:Mn(K.aiCfoState,fe).filter((Ue=>Ue.kind==="creating_cards"))),Dt),Ge=Sa(De.fetchState);r.useEffect((()=>{Ge==="In-Progress"&&De.fetchState==="Completed"&&fe!=null&&J.forEach((K=>{n(St({chatSessionId:fe,id:K.id,entityIds:ve,kind:"created_cards"}))}))}),[n,De.fetchState,fe,ve,J,Ge]);const Ra=Q.cards.filter((K=>K.type.code.includes("debit"))).map((K=>K.connectedAccountId)),it=[...new Set(Ra)],ka=d((K=>ma(K))),ra=d((K=>at(K,it))),Ea=d((K=>Pa(K,C.companyId))),dt=Ea.companyChargeCardInfo?.primaryFundingAccount,lt=Ea.allFundingAccounts.find((K=>K.id===dt?.accountId)),ue=Q.fetchState,Oa=Q.creditAccount,Aa=r.useCallback((()=>v===!0&&M===!0&&ue==="Completed"&&te.getCardPolicyPopupSeen(C.tenantEmailDomain??"")!==!0),[v,M,ue,C.tenantEmailDomain]),[ja,Ua]=r.useState(Aa);r.useEffect((()=>{Ua(Aa())}),[Aa]);const Y=()=>{te.saveCardPolicyPopupSeen(C.tenantEmailDomain??"",!0),Ua(!1)},ye=ue==="Completed"&&!Q.hasCreditCard&&!Q.hasDebitCard;lc({isDataReady:ue==="Completed",pageContext:ye?"cards_creation":"cards"});const{creditAccountRepayment:se}=d((K=>ua(K))),$e=d((K=>Za(K).firstViewAfterActivation)),{areTenantIdsInSync:Ye}=yr(),Ke=Ut(v,ka),ze=xa(_,re,v,Oa,se),sa=Mt(U,k,v,ra,Q.debitCardSummary),ut=ea(_,U,k,re),mt=Q.creditAccount.balance.amount+Q.creditAccount.hold.amount;if(r.useEffect((()=>{ue==="Completed"&&(te.getPayNowInfoTooltip()==null||mt<Ce*Q.creditAccount.limit.amount/100)&&u(!0)}),[ue,Ce,mt,Q.creditAccount.limit.amount]),r.useEffect((()=>{if(e!=null&&e===!0&&se.initiatedRepayments.amount===0&&se.fetchState==="Completed"||oe==="In-Progress"&&he.updateStatus==="Completed")u(!1),b(!0);else if(se.initiatedRepayments.amount>0&&se.fetchState==="Completed"){b(!1),document.body.style.overflow="auto";const K=na(C.tenantEmailDomain);s(K)}}),[e,se.initiatedRepayments.amount,se.fetchState,oe,he.updateStatus,s,C.tenantEmailDomain]),r.useEffect((()=>{!O&&(re||k)&&(be||pe)&&Ye&&(j(!0),n(ia(I,U&&k,_&&re,!1)))}),[O,I,n,Ye,be,pe]),r.useEffect((()=>{$e&&l===!1&&(B(!0),setTimeout((()=>{n(Ka())}),5e3))}),[$e,l]),r.useEffect((()=>()=>{At.flush()}),[]),r.useEffect((()=>{ue==="Completed"&&E&&Q.cards.length===1&&(Q.cards[0].status.code==="inactive"&&Q.cards[0].type.code==="business_physical_credit_card"?s(`./${Q.cards[0].id}/activate`):Q.cards[0].status.code!=="request_on_hold"&&(t.state?.message==="comingFromCardDetail"?s("../../"):s(`./${Q.cards[0].id}`)))}),[ue,E,t.state,s,Q.cards]),r.useEffect((()=>{if(ue==="Completed"&&E){const K=Q.cards.length,Ue=Q.cards.filter((Ze=>Ze.cardHolderUserId===D?.userId)).filter((Ze=>Ze.status.code==="request_on_hold"));Ue.length>0&&K===Ue.length&&s("./onboard")}}),[ue,Q.cards,E,s,D?.userId]),r.useEffect((()=>{ue!=="Completed"||_&&se.fetchState!=="Completed"||U&&k&&v&&ra.fetchState!=="Completed"||ee.trackCardsCardListView(P,ut,Ke,ze,sa)}),[ue,Oa,se.fetchState,ra.fetchState,v]),D==null)throw Error("Can't access charge card list page without signing in...");const zr=d((K=>rr(K.userState,K.userRoleState,K.userListViewState,"cardAdmin"))),Yt=Ft($?.loggedInUserRoleMap),Zt=K=>{c(K)},Wr=Q.creditAccount.limit,Yr=()=>{b(!1),s("..")},Zr=C.companyChargeCardInfo?.info!=null&&ya({cardInfo:C.companyChargeCardInfo.info,isProductVisible:_&&be,isTOSAccepted:Te,isSetupEnabled:re,isUserHasCardsAdminLevelAccess:v,isUserHasCardsAccess:Yt}),qr=C.companyDebitCardInfo?.info!=null&&ya({cardInfo:C.companyDebitCardInfo.info,isProductVisible:U&&pe,isTOSAccepted:Ie,isSetupEnabled:k,isUserHasCardsAdminLevelAccess:v,isUserHasCardsAccess:Yt}),Jr=Zr||qr,qt=(function(K){const{isEmptyCardsState:Ue,isChargeCardAdmin:Ze,isFileUploadEnabled:en}=K,an=ie(),Ma=me(),{tenantEmailDomain:Na}=Ve(),{isAiCfoOpen:ts,setIsAiCfoOpen:tn}=hr(),ns=fr(),rs=gr(),nn=d((ke=>Un(ke))).createSessionAndSubmitState.fetchState==="In-Progress",{chips:rn,isResolved:sn}=xr("cards_creation"),on=r.useMemo((()=>Fr(rn,sn,3)),[rn,sn]),[Va,Ct]=r.useState(""),cn=rs&&ns&&Na!=null&&!ts,fa=r.useCallback((ke=>{if(Na==null)return;const ss=Ee(Ma.state?.pathnameStackToGoBack,Ma.pathname);an(`/${Na}/cards/ask`,{state:{message:"",origin:"",pathnameStackToGoBack:ss,referrer:"cards_hero",aiCfoInitialQuestion:ke,aiCfoShouldSubmit:ke!=null&&ke.trim().length>0}})}),[Ma.pathname,Ma.state,an,Na]),dn=r.useCallback((ke=>{ke.trim().length!==0&&(Ct(""),fa(ke))}),[fa]),ln=r.useCallback((()=>{const ke=Va.trim();ke.length!==0&&(Ct(""),fa(ke))}),[Va,fa]),un=r.useCallback((()=>{}),[]),mn=r.useCallback((ke=>{Ct(ke)}),[]),Cn=r.useCallback((()=>{tn(!0)}),[tn]),pn=r.useCallback((()=>{fa(void 0)}),[fa]);return r.useMemo((()=>{if(cn&&Ue&&Ze)return{aiAgentName:Ci,headline:ui,subheadline:mi,promptChips:on,composer:{currentInput:Va,isSubmitting:nn,isFileUploadEnabled:en,onInputChange:mn,onSubmit:ln,onStopSubmit:un},onPromptClick:dn,onOpenSidePanel:Cn,onOpenFullView:pn,dataTestIdPrefix:"cards-ai-cfo-hero"}}),[Va,cn,Ze,Ue,en,nn,mn,pn,Cn,dn,un,ln,on])})({isEmptyCardsState:ye,isChargeCardAdmin:v,isFileUploadEnabled:G}),Jt=L&&qt!=null?o.jsx(br,{...qt}):null,{isCardsShuttingDown:Qt,shutdownContent:Xt}=Ir(C.tenantId,C.company?.managementInfo?.receiverEmails),Qr=Qt===!0&&Xt!=null?o.jsx(uc,{shutdownContent:Xt}):null,Xr=p&&Jt==null,es=ta(C),as={events:ha(es,Hr),eventCallback:(K,Ue,Ze)=>{Ze.onEventReceived(K)},onSubscribed:K=>{K.onPusherSubscribed()}};return re||k?o.jsxs(o.Fragment,{children:[ue==="Completed"?o.jsxs(o.Fragment,{children:[o.jsx(Rt,{analytics:ee,onLoad:()=>{ee.trackPageLoaded(kr.Event.cardsListPage),(_&&!re||U&&!k)&&ee.trackCardsPromoView(P,{isCreditCardOffered:_,isDebitCardOffered:U,isDebitCardEnabled:k,isCreditCardEnabled:re},"Banner",U&&!k?"Debit Card":_&&!re?"Credit Card":"","Card List")}}),o.jsx(tt,{showConfetti:$e})]}):null,f===!0?o.jsx(Kt,{closeDrawerHandler:Yr,isPaymentDrawerOpen:f,pageName:"Card List",sourcePage:"cardListPage",creditAccountSpentAmount:mt,productInformation:ut,creditAccountInformation:ze,debitAccountInformation:sa,cashbackInformation:Ke,isDebitCardInfoFetchStateCompleted:!(U&&k&&v)||ra.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!_||se.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!v||ka.fetchState==="Completed",paymentInitiatedDate:se.initiatedRepaymentDate}):null,o.jsxs(hi,{children:[o.jsx(Ae,{isAppContentDrawerOpen:S,handleDrawerToggle:Zt}),o.jsx(fi,{...as,isCashbackFeatureEnabled:y,isChargeCardFeatureEnabled:_,isDebitCardFeatureEnabled:U,isCreditCardProductVisibleForExpressInterest:Z,updatePayNowInfoTooltip:u,showPayNowInfoTooltip:m,creditCardPayNowThreshold:Ce,signedInUser:D,chargeCardListState:Q,location:t,admins:zr.users,navigateAndClearBulkSelection:s,currentTenant:C,isCardControlsEnabled:X,companyChargeCardInfoCreditAccountLimit:C.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,isCompanyInterestedInChargeCard:C.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,isUserHasCardsAdminLevelAccess:v,includeCreditAccountDebitSummaryAndCashbackInfo:I,onClickMenuIcon:()=>{Zt(!0)},creditLimit:Wr,isChargeCardSetupEnabled:re,isChargeCardEnabledOnCompany:be,isDebitCardSetupEnabled:k,isDebitCardEnabledOnCompany:pe,isEarlyPayEnabled:g,isChargeCardPaymentHistoryFeatureEnabled:R,cashbackRate:ae,controllerEmails:P,chargeCardCashbackDetailState:ka,depositAccountListWithDebitCardIssued:ra,isChargeCardTOSAccepted:Te,isDebitCardTOSAccepted:Ie,primaryFundingAccountDetails:lt,chargeCardSetUpViewFetchState:Ea.fetchState,productInformation:ut,creditAccountInformation:ze,debitAccountInformation:sa,cashbackInformation:Ke,isAiCfoAccessEnabled:Xr,onAskAiCfoClick:x,cardsAiCfoHero:Jt,cardsShutdownBanner:Qr,isCardsShuttingDown:Qt,onClickPolicyIcon:v&&M?()=>a(yi(C.tenantEmailDomain)):void 0,isPolicyIntroTooltipVisible:ja,onPolicyIntroTooltipClose:Y,pendingCreationCount:Se})]})]}):(Te||Ie)&&v===!0?o.jsx(Qe,{to:"../setup"}):Jr?o.jsx(Qe,{to:"../promo"}):o.jsx(wa,{fetchState:ue})}const gi=e=>`/${e}/cards/new`,bi=e=>`/${e}/cards/payment`,Si=e=>`/${e}/cards/payment-history`,yi=e=>`/${e}/cards/policy`,Gr=[Ur,Mr],Ii=new Set(Gr),ki=Pe((function(e){const a=te.getSignedInUser(),n=ge(e),t=e.tenantState.currentTenantId,s=sr(e),f={userId:a?.userId??"",sessionId:a?.zeniSessionId??"",tenantId:t??""},b=n?.companyName??"",m=e.chargeCardPaymentHistoryState.downloadUIState.downloadState;return{fetchState:s.fetchState,filters:s.filters,isZeniTenant:Io(n),repaymentList:s.repaymentHistory,searchText:s.searchText,repaymentHistoryUsers:s.repaymentHistoryUsers,sortConfig:{sortKey:s.uiState.sortKey,sortOrder:s.uiState.sortOrder},downloadParams:{authParams:f,companyName:b,spendManagementEndPoint:`${kt}/spendManagement`,isShowDeletedBillsEnabled:!1,isShowDeletedReimbursementEnabled:!1},downloadState:m}}),(function(e,a){const{location:n,navigate:t}=a;return{onBackClick:()=>{const s=we(n.state?.pathnameStackToGoBack),f=s.poppedPathname??"..";t(f,{state:{pathnameStackToGoBack:s.newStack}})},onColumnSortConfigChanged:(s,f)=>{e({type:"chargeCardPaymentHistory/updatePaymentHistoryUIState",payload:{uiState:{sortKey:s,sortOrder:f}}})},onFiltersChange:s=>{e(Eo({filters:s}))},onReloadPayments:()=>{e(Ha(!0))},onEventReceived:s=>{Ii.has(s)&&e(Ha(!0))},onPusherSubscribed:()=>{e(Ha(!0))},onSearchTextChanged:s=>{e({type:"chargeCardPaymentHistory/updatePaymentHistorySearchText",payload:s})},updateDownloadStateHandler:s=>{e(ko({uiState:{downloadState:s}}))}}}))(rt(Cc));function Ei(){const e=ie(),a=me(),n=le(),{areTenantIdsInSync:t}=yr(),{useFeatureGate:s}=de();if(te.getSignedInUser()==null)throw Error("Can't access payment history page without signing in...");const f=d((T=>ge(T))),b=d((T=>sr(T))),[m,A]=r.useState(!1),[u,l]=r.useState(!1),[B,D]=r.useState(!1),[C,O]=r.useState(null),j=!f.userRole.includes("charge_card_user"),S=!!f.companyDebitCardInfo?.info?.isDebitCardEnabled,{isFeatureEnabled:c}=s(q.isChargeCardFeatureEnabled),{isFeatureEnabled:p}=s(q.isDebitCardFeatureEnabled),x=Be(p,f),E=Oe({isDebitCardFeatureEnabled:p,isBankingOnlyTenant:x}),I=xe(f),k=Le(f),V=f.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,w=je({isCardsOnlyTenant:I,isChargeCardFeatureEnabled:c,isBookKeepingTenant:k,isDebitCardProductVisible:E,chargeCardsCreditAccountLimit:V}),y=!!f.companyChargeCardInfo?.info?.isChargeCardEnabled,F=Re(),i=Fe(F?.loggedInUserRoleMap),g=d((T=>Ca(T,j,E&&S,w&&y))),R=r.useMemo((()=>{const T=g.cards.filter((P=>P.type.code.includes("debit")));return[...new Set(T.map((P=>P.connectedAccountId)))]}),[g.cards]),G=d((T=>ma(T))),M=d((T=>at(T,R))),{creditAccountRepayment:L}=d((T=>ua(T))),z=r.useMemo((()=>Ut(i,G)),[i,G]),U=r.useMemo((()=>xa(w,y,i,g.creditAccount,L)),[w,y,i,g.creditAccount,L]),h=r.useMemo((()=>Mt(E,S,i,M,g.debitCardSummary)),[E,S,i,M,g.debitCardSummary]),H=r.useMemo((()=>ea(w,E,S,y)),[w,E,S,y]),W=g.creditAccount.balance.amount+g.creditAccount.hold.amount,_=r.useMemo((()=>C!=null?b.repaymentHistory.find((T=>T.cardRepaymentId===C)):void 0),[C,b.repaymentHistory]),Z=r.useCallback((T=>{O(T),n(ia(j,E&&S,w&&y,!1)),D(!0)}),[n,j,E,S,w,y]),N=r.useCallback((()=>{D(!1),O(null),document.body.style.overflow="auto"}),[]);r.useEffect((()=>{m||b.fetchState==="Completed"||b.fetchState==="In-Progress"||(A(!0),n(Ha()))}),[m,n,b.fetchState]),r.useEffect((()=>{!u&&(y||S)&&t&&(l(!0),n(ia(j,!1,w&&y,!1)))}),[u,y,S,t,n,j,w]);const $=ta(f),v={events:ha($,Gr),eventCallback:(T,P,ae)=>{ae.onEventReceived(T)},onSubscribed:T=>{T.onPusherSubscribed()}};return o.jsxs(o.Fragment,{children:[B?o.jsx(Kt,{closeDrawerHandler:N,isPaymentDrawerOpen:B,pageName:"Payment History",sourcePage:"cardPaymentHistory",creditAccountSpentAmount:W,productInformation:H,creditAccountInformation:U,debitAccountInformation:h,cashbackInformation:z,isDebitCardInfoFetchStateCompleted:!(E&&S&&i)||M.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!w||L.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!i||G.fetchState==="Completed",paymentInitiatedDate:L.initiatedRepaymentDate,retryRepayment:_}):null,o.jsx(ki,{...v,location:a,navigate:e,accountInfoByAccountId:b.accountInfoByAccountId,onRetryPaymentClick:Z})]})}const kn=He.div`
|
|
26
26
|
display: flex;
|
|
27
27
|
height: 100vh;
|
|
28
28
|
width: 100%;
|
|
@@ -31,7 +31,7 @@ import{j as o}from"./liveblocks-MCrpLltn.js";import{u as le,j as d,h as ie,g as
|
|
|
31
31
|
overflow: auto;
|
|
32
32
|
align-items: center;
|
|
33
33
|
background-color: ${e=>e.theme.colors.grey4};
|
|
34
|
-
`,En=aa.getLocalizedStrings().months;function Ai(){const e=ie(),a=le(),n=me(),{creditAccount:t,creditAccountRepayment:s}=d((h=>ua(h))),f=`${Sr.cardMicroServiceBaseUrl}/1.0/credit-accounts/${t.id}`,[b,m]=r.useState(!1),[A,u]=r.useState(!1),l=d((h=>Ao(h))),{useFeatureGate:B}=de(),D=d((h=>ge(h))),{isFeatureEnabled:C}=B(q.isChargeCardFeatureEnabled),{isFeatureEnabled:O}=B(q.isDebitCardFeatureEnabled),j=wr(D.companyId,{clearParams:l.fetchState==="Completed"}),S=Be(O,D),c=Oe({isDebitCardFeatureEnabled:O,isBankingOnlyTenant:S}),p=xe(D),x=Le(D),E=D.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,I=je({isCardsOnlyTenant:p,isChargeCardFeatureEnabled:C,isBookKeepingTenant:x,isDebitCardProductVisible:c,chargeCardsCreditAccountLimit:E}),k=!!D.companyDebitCardInfo?.info?.isDebitCardEnabled,V=!!D.companyChargeCardInfo?.info?.isChargeCardEnabled,w=d((h=>da(h,D.companyId))),y=la(w.controllers),F=d((h=>or(h))),i=F.cards.filter((h=>h.type.code.includes("debit"))).map((h=>h.connectedAccountId)),g=[...new Set(i)],R=d((h=>at(h,g))),G=d((h=>Do(h)));r.useEffect((()=>{A||t.fetchState==="Completed"||t.fetchState==="In-Progress"||(m(!0),a(
|
|
34
|
+
`,En=aa.getLocalizedStrings().months;function Ai(){const e=ie(),a=le(),n=me(),{creditAccount:t,creditAccountRepayment:s}=d((h=>ua(h))),f=`${Sr.cardMicroServiceBaseUrl}/1.0/credit-accounts/${t.id}`,[b,m]=r.useState(!1),[A,u]=r.useState(!1),l=d((h=>Ao(h))),{useFeatureGate:B}=de(),D=d((h=>ge(h))),{isFeatureEnabled:C}=B(q.isChargeCardFeatureEnabled),{isFeatureEnabled:O}=B(q.isDebitCardFeatureEnabled),j=wr(D.companyId,{clearParams:l.fetchState==="Completed"}),S=Be(O,D),c=Oe({isDebitCardFeatureEnabled:O,isBankingOnlyTenant:S}),p=xe(D),x=Le(D),E=D.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,I=je({isCardsOnlyTenant:p,isChargeCardFeatureEnabled:C,isBookKeepingTenant:x,isDebitCardProductVisible:c,chargeCardsCreditAccountLimit:E}),k=!!D.companyDebitCardInfo?.info?.isDebitCardEnabled,V=!!D.companyChargeCardInfo?.info?.isChargeCardEnabled,w=d((h=>da(h,D.companyId))),y=la(w.controllers),F=d((h=>or(h))),i=F.cards.filter((h=>h.type.code.includes("debit"))).map((h=>h.connectedAccountId)),g=[...new Set(i)],R=d((h=>at(h,g))),G=d((h=>Do(h)));r.useEffect((()=>{A||t.fetchState==="Completed"||t.fetchState==="In-Progress"||(m(!0),a(Je()))}),[b,a,t.fetchState]),r.useEffect((()=>{A||t.fetchState!=="Completed"||t.id==null||l.fetchState==="Completed"||l.fetchState==="In-Progress"||(u(!0),a(_o(t.id)))}),[A,a,t.fetchState,t.id,l.fetchState]),r.useEffect((()=>{R.fetchState!=="Completed"&&R.fetchState!=="In-Progress"&&c&&k&&a(cr()),F.fetchState!=="Completed"&&F.fetchState!=="In-Progress"&&a(Ne()),G.fetchState!=="Completed"&&G.fetchState!=="In-Progress"&&c&&k&&a(Po()),s.fetchState!=="Completed"&&s.fetchState!=="In-Progress"&&I&&V&&a(Tt())}),[R.fetchState,c,k,F.fetchState,G.fetchState,s.fetchState,I,V]),r.useEffect((()=>{if(l.fetchState==="Completed"&&t.fetchState==="Completed"&&s.fetchState==="Completed"&&F.fetchState==="Completed"&&(!c||!k||R.fetchState==="Completed"&&G.fetchState==="Completed")){let h="",H="";if(l.statements.length>0){const N=l.statements[l.statements.length-1].period,[$,v]=N.split("-"),T=l.statements[0].period,[P,ae]=T.split("-");h=`${En[parseInt(v)-1]} ${$}`,H=`${En[parseInt(ae)-1]} ${P}`}const W=ea(I,c,k,V),_=xa(I,V,!0,t,s),Z=Mt(c,k,!0,R,G);ee.trackCardsCreditCardStatementsView(y,W,{numberOfStatements:l.statements.length,oldestStatementMonthYear:h,latestStatementMonthYear:H},_,Z)}}),[l.fetchState,t.fetchState,s.fetchState,R.fetchState,F.fetchState,G.fetchState]);const M=()=>{const h=we(n.state?.pathnameStackToGoBack),H=h.poppedPathname??"..";e(H,{state:{pathnameStackToGoBack:h.newStack}})},L=d((h=>ma(h))),z=te.getSignedInUser(),U={userId:z?.userId??"",sessionId:z?.zeniSessionId??"",tenantId:D.tenantId??""};if(z==null)throw Error("Can't access address page without signing in...");if(l.fetchState!=="Completed")return o.jsx(kn,{children:o.jsx(pc,{onBackClick:M})});{const h=ea(I,c,k,V);return o.jsx(kn,{children:o.jsx(hc,{currentTenantCompanyName:D.companyName,statementListView:l,productInformation:h,onBackClick:M,authParams:U,controllerEmails:y,isChargeCardFeatureEnabled:I,isDebitCardFeatureEnabled:c,isDebitCardSetupEnabled:k,isChargeCardSetupEnabled:V,initialOpenThreadRequest:j,chargeCardCashbackDetailState:L,creditAccount:t,creditAccountRepayment:s,depositAccountListWithDebitCardIssued:R,debitCardSummary:G,downloadEndPoint:f})})}}const $r=[pa,ct],Di=new Set($r),_i={containerWidth:new va(100,58)},Pi=({appContent:e})=>{const a=Ta(),n=le(),t=ie(),s=me(),{useDynamicConfig:f}=de(),[b,m]=r.useState(!1),[A,u]=r.useState(!1),[l,B]=r.useState(!1),[D,C]=r.useState(!1),O=r.useRef(!1),j=r.useRef(null);r.useEffect((()=>()=>{j.current!=null&&(clearTimeout(j.current),j.current=null)}),[]);const[S,c]=r.useState(!1),[p,x]=r.useState(!1),E=te.getSignedInUser();if(E==null)throw Error("Can't access onboarding card page without signing in...");const I=d((N=>ge(N))),{configValue:k}=f(Xe.zeniCardsConfig),V=d((N=>wo(N))),{tenantEmailDomain:w}=I,y=d((N=>N.settingsViewState.profile.fetchState)),F=d((N=>N.chargeCardListState.fetchState)),i=d((N=>N.settingsViewState.profile.userId)),g=d((N=>N.chargeCardConfigState.fetchState));r.useEffect((()=>{b===!1&&y!=="In-Progress"&&y!=="Completed"&&(n(To()),m(!0)),A===!1&&g!=="In-Progress"&&g!=="Completed"&&(n(qa()),u(!0)),l===!1&&F==="Not-Started"&&(B(!0),n(Ne()))}),[b,l,F,A,g]),r.useEffect((()=>{y==="Completed"&&S===!1&&i!=null&&F==="Completed"&&V.cards.length>0&&(n(vo({userId:i})),n(ir({cardId:V.cards[V.cards.length-1].id})),c(!0))}),[y,S,i,F]),r.useEffect((()=>{if(!D&&V.fetchState==="Completed"&&V.cards.length===0){const N=we(s.state?.pathnameStackToGoBack),$=N.poppedPathname??na(w);t($,{state:{pathnameStackToGoBack:N.newStack}})}}),[V.fetchState,V.cards,D]);const R=d((N=>Za(N))),G=Sa(R.updateStatus.fetchState),M=R.currentDisplayedCardId,{useFeatureGate:L}=de(),{isFeatureEnabled:z}=L(q.isChargeCardFeatureEnabled),U=!!I.companyChargeCardInfo?.info?.isChargeCardEnabled,h=!I.userRole.includes("charge_card_user")&&z&&U,H=d((N=>M!=null?dr(N.chargeCardState,M):null)),W=()=>{M!=null&&(O.current=!0,j.current!=null&&clearTimeout(j.current),j.current=setTimeout((()=>{O.current=!1,j.current=null}),5e3),n(Ia(M,h,!0)),n(Ne(!0)),C(!0))},_=ta(I);Nt({events:ha(_,$r),onSubscribed:()=>{n(Ne(!0))},onEvent:(N,$)=>{if(!Di.has(N))return;const v=zt($),T=O.current;if(N===pa){const ae=ce(v?.card_id)??M;if(ae!=null){const Ce=Wt(v,ae);if(Ce!=null)return n(vt(Ce)),void(ae!==M||T||W())}}if(N===ct)return void n(Ne(!0));const P=ce(v?.card_id)??M;(M==null||P===M)&&M!=null?T||W():n(Ne(!0))}}),r.useEffect((()=>{if(D&&M!=null&&H!=null&&H.status.code!=="request_on_hold"){const N=_e(I.tenantEmailDomain,M,E,H),$=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(Fo()),H?.type.code==="business_virtual_credit_card"&&n(Ja()),t(N,{state:{pathnameStackToGoBack:$},replace:!0}),O.current=!1,j.current!=null&&(clearTimeout(j.current),j.current=null)}}),[D,H?.status.code]),r.useEffect((()=>{G==="In-Progress"&&R.updateStatus.fetchState==="Completed"&&setTimeout(W,3e3)}),[G,R.updateStatus.fetchState]);const Z=N=>{x(N)};if(y!=="Completed"||V.cards.length===0)return o.jsxs(An,{children:[o.jsx(Ae,{isAppContentDrawerOpen:p,handleDrawerToggle:Z}),o.jsx(fc,{})]});if(i==null)throw Error("Can't access my userId.");return o.jsxs(An,{children:[o.jsx(Ae,{isAppContentDrawerOpen:p,handleDrawerToggle:Z}),o.jsx(wi,{chargeCardListView:V,cardUserOnboardingView:R,navigate:t,currentTenant:I,myUserId:i,location:s,chargeCardCashbackRatePerTransaction:k.charge_card_cashback_rate_per_transaction!=null?k.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{Z(!0)}}),e!=null?o.jsx(Ti,{windowSize:a,children:e}):null]})},wi=Pe((function(e,{currentTenant:a,cardUserOnboardingView:n,chargeCardListView:t,myUserId:s}){const f=Ca(e,!1,!1,!1);let b=!1;return f.fetchState==="Completed"&&f.cards.length<=1&&(b=!0),{cards:t.cards,showMenuIcon:b,companyLegalName:a.companyName,twoFAView:n.twoFAView,cardUserOnboardingLocalData:n.cardUserOnboardingLocalData??{userId:s},isDOBDisabled:n.isDOBPresent,onboardingProgressStatus:n.onboardingProgressStatus}}),(function(e,a){const{navigate:n,cardUserOnboardingView:t,location:s,currentTenant:f}=a,{tenantEmailDomain:b}=f;return{updateCardUserOnboardingLocalData:m=>{e(gn({localData:m}))},onGetOtp:m=>{if(t.cardUserOnboardingLocalData!=null){const A={...t.cardUserOnboardingLocalData,phone:m};e(gn({localData:A}))}e(et(m,"CardUserOnboarding"))},onResendOtp:m=>{e(Xa(m,"CardUserOnboarding"))},onVerifyOtp:(m,A)=>{e(Qa(m,A,"CardUserOnboarding"))},onVerifyOtpSuccess:m=>{e(xo()),m!=null&&te.saveZeniOtpToken(m)},setCurrentDisplayedCardId:m=>{e(ir({cardId:m}))},onBackClick:()=>{const m=we(s.state?.pathnameStackToGoBack),A=m.poppedPathname??na(b);n(A,{state:{pathnameStackToGoBack:m.newStack}})}}}))(gc),Ti=He.div`
|
|
35
35
|
display: flex;
|
|
36
36
|
flex-direction: column;
|
|
37
37
|
width: ${e=>`${_i.containerWidth.value(e.windowSize)}%`};
|
|
@@ -44,7 +44,7 @@ import{j as o}from"./liveblocks-MCrpLltn.js";import{u as le,j as d,h as ie,g as
|
|
|
44
44
|
flex-direction: column;
|
|
45
45
|
align-items: center;
|
|
46
46
|
background-color: ${e=>e.theme.colors.grey4};
|
|
47
|
-
`,vi={containerWidth:new va(100,58)},Fi=({appContent:e})=>{const a=Ta(),n=le(),t=ie(),{cardId:s}=Ve(),f=me(),{useDynamicConfig:b,useFeatureGate:m}=de(),[A,u]=r.useState(!1),[l,B]=r.useState(!1),[D,C]=r.useState(!1),[O,j]=r.useState(!1),S=te.getSignedInUser();if(S==null)throw Error("Can't access onboarding card page without signing in...");const c=d((h=>ge(h)));if(s==null)throw Error("Empty card id is not valid...");const{configValue:p}=b(Xe.zeniCardsConfig),x=d((h=>Lo(h,s))),{isFeatureEnabled:E}=m(q.isChargeCardFeatureEnabled),{isFeatureEnabled:I}=m(q.isDebitCardFeatureEnabled),k=Be(I,c),V=Oe({isDebitCardFeatureEnabled:I,isBankingOnlyTenant:k}),w=xe(c),y=Le(c),F=c.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,i=je({isCardsOnlyTenant:w,isChargeCardFeatureEnabled:E,isBookKeepingTenant:y,isDebitCardProductVisible:V,chargeCardsCreditAccountLimit:F}),g=x.chargeCard,R=d((h=>h.chargeCardConfigState.fetchState));r.useEffect((()=>{A===!1&&R!=="In-Progress"&&R!=="Completed"&&(n(qa()),u(!0)),l===!1&&x.fetchState==="Not-Started"&&(B(!0),n(Ia(s,!1,i)))}),[l,x.fetchState,A,R]);const G=g?.type.code==="business_physical_debit_card"||g?.type.code==="business_virtual_debit_card";r.useEffect((()=>{if(x.fetchState==="Completed"){if(D===!1&&(G===!1||G&&g.status?.code!=="active"||G&&g.status.code==="active"&&g.isPinSet||g.cardHolderUserId!==S.userId)){const h=_e(c.tenantEmailDomain,s,S,g,!0),H=Ee(f.state?.pathnameStackToGoBack,f.pathname);t(h,{state:{pathnameStackToGoBack:H}})}else if(D&&x.isRefreshingViewInBackground===!1&&g?.isPinSet===!0){n(Bo({chargeCardId:s}));const h=_e(c.tenantEmailDomain,s,S,g,!0),H=Ee(f.state?.pathnameStackToGoBack,f.pathname);n(
|
|
47
|
+
`,vi={containerWidth:new va(100,58)},Fi=({appContent:e})=>{const a=Ta(),n=le(),t=ie(),{cardId:s}=Ve(),f=me(),{useDynamicConfig:b,useFeatureGate:m}=de(),[A,u]=r.useState(!1),[l,B]=r.useState(!1),[D,C]=r.useState(!1),[O,j]=r.useState(!1),S=te.getSignedInUser();if(S==null)throw Error("Can't access onboarding card page without signing in...");const c=d((h=>ge(h)));if(s==null)throw Error("Empty card id is not valid...");const{configValue:p}=b(Xe.zeniCardsConfig),x=d((h=>Lo(h,s))),{isFeatureEnabled:E}=m(q.isChargeCardFeatureEnabled),{isFeatureEnabled:I}=m(q.isDebitCardFeatureEnabled),k=Be(I,c),V=Oe({isDebitCardFeatureEnabled:I,isBankingOnlyTenant:k}),w=xe(c),y=Le(c),F=c.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,i=je({isCardsOnlyTenant:w,isChargeCardFeatureEnabled:E,isBookKeepingTenant:y,isDebitCardProductVisible:V,chargeCardsCreditAccountLimit:F}),g=x.chargeCard,R=d((h=>h.chargeCardConfigState.fetchState));r.useEffect((()=>{A===!1&&R!=="In-Progress"&&R!=="Completed"&&(n(qa()),u(!0)),l===!1&&x.fetchState==="Not-Started"&&(B(!0),n(Ia(s,!1,i)))}),[l,x.fetchState,A,R]);const G=g?.type.code==="business_physical_debit_card"||g?.type.code==="business_virtual_debit_card";r.useEffect((()=>{if(x.fetchState==="Completed"){if(D===!1&&(G===!1||G&&g.status?.code!=="active"||G&&g.status.code==="active"&&g.isPinSet||g.cardHolderUserId!==S.userId)){const h=_e(c.tenantEmailDomain,s,S,g,!0),H=Ee(f.state?.pathnameStackToGoBack,f.pathname);t(h,{state:{pathnameStackToGoBack:H}})}else if(D&&x.isRefreshingViewInBackground===!1&&g?.isPinSet===!0){n(Bo({chargeCardId:s}));const h=_e(c.tenantEmailDomain,s,S,g,!0),H=Ee(f.state?.pathnameStackToGoBack,f.pathname);n(Ja()),t(h,{state:{pathnameStackToGoBack:H}})}}}),[x.fetchState,g?.type.code,D,x.isRefreshingViewInBackground]);const M=te.getZeniOtpTokenForCardHolder(s),L=d((h=>Vn(h.userState,S.userId))),z=()=>{g?.isPinSet!==!0&&n(ga(s,!0))};r.useEffect((()=>{x.updateDebitCardPinAttemptFetchState.fetchState==="Completed"&&(setTimeout(z,3e3),C(!0))}),[x.updateDebitCardPinAttemptFetchState.fetchState]);const U=h=>{j(h)};if(R!=="Completed"||g==null)return o.jsx(wa,{fetchState:"In-Progress"});if(L?.phone==null)throw Error("Can't access user phone number.");return o.jsxs(Bi,{children:[o.jsx(Ae,{isAppContentDrawerOpen:O,handleDrawerToggle:U}),o.jsx(xi,{cardId:s,card:g,phone:L.phone,signedInUser:S,isSandboxEnv:Bt(),debitCardDetailState:x,signedInUserToken:M,navigate:t,currentTenant:c,location:f,chargeCardCashbackRatePerTransaction:p.charge_card_cashback_rate_per_transaction!=null?p.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{U(!0)}}),e!=null?o.jsx(Li,{windowSize:a,children:e}):null]})},xi=Pe((function(e,{debitCardDetailState:a,cardId:n}){const t=Hn(e,n),s=a.updateStatus,f=Ca(e,!1,!1,!1);let b=!1;return f.fetchState==="Completed"&&f.cards.length<=1&&(b=!0),{showMenuIcon:b,vgsVaultId:nt.cardVaultId,twoFAView:t,setPinWaitStatus:s}}),(function(e,a){const{navigate:n,cardId:t,location:s,currentTenant:f,debitCardDetailState:b}=a,m=b.chargeCard?.cardProviderID,{tenantEmailDomain:A}=f;return{onGetOtp:u=>{m!=null&&e(et(u,"ChargeCardHolder",t))},onUpdateDebitCardPinAttempt:u=>{e(qn(t,u))},onResendOtp:u=>{m!=null&&e(Xa(u,"ChargeCardHolder",t))},onVerifyOtp:(u,l)=>{m!=null&&e(Qa(u,l,"ChargeCardHolder",t))},onVerifyOtpSuccess:u=>{u!=null&&te.saveZeniOtpTokenForCardHolder(u,t)},onSetPinSuccess:()=>{e(Ro({chargeCardId:t}))},onBackClick:()=>{const u=we(s.state?.pathnameStackToGoBack),l=u.poppedPathname==null||u.poppedPathname.includes("activate")===!0?na(A):u.poppedPathname;n(l,{state:{pathnameStackToGoBack:u.newStack}})}}}))(bc),Li=He.div`
|
|
48
48
|
display: flex;
|
|
49
49
|
flex-direction: column;
|
|
50
50
|
width: ${e=>`${vi.containerWidth.value(e.windowSize)}%`};
|
|
@@ -68,4 +68,4 @@ import{j as o}from"./liveblocks-MCrpLltn.js";import{u as le,j as d,h as ie,g as
|
|
|
68
68
|
overflow: auto;
|
|
69
69
|
align-items: center;
|
|
70
70
|
background-color: ${e=>e.theme.colors.grey4};
|
|
71
|
-
`,Hi=Pe((function(e,a){const{myPendingActivationChargeCardListState:n}=a;return{myPendingActivationChargeCardListView:n,uiState:n.uiState,signedInUser:a.signedInUser}}),(function(e,a){const{navigate:n,currentTenant:t,location:s,signedInUser:f,myPendingActivationChargeCardListState:b}=a,{tenantEmailDomain:m}=t,{cards:A}=b;return{onChargeCardRowClick:u=>{const l=_r(A,u),B=_e(m,u,f,l),D=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(B,{state:{pathnameStackToGoBack:D}})},onColumnSortConfigChanged:(u,l)=>{e(yt({uiState:{sortKey:u,sortOrder:l}}))},onReloadCards:()=>{e(Ne())},onBackClick:()=>{const u=t.userRole.includes("charge_card_user");e(yt({uiState:{sortKey:u?"cardName":"owner",sortOrder:"ascending"}})),n("../")}}}))(Ec);function Gi(){const e=ie(),a=le(),n=me(),t=Ot(),[s,f]=r.useState(!1),b=d((L=>Go(L))),m=d((L=>ge(L))),A=d((L=>da(L,m.companyId))),u=la(A.controllers),{useFeatureGate:l}=de(),{isFeatureEnabled:B}=l(q.isChargeCardFeatureEnabled),{isFeatureEnabled:D}=l(q.isDebitCardFeatureEnabled),C=Be(D,m),O=Oe({isDebitCardFeatureEnabled:D,isBankingOnlyTenant:C}),j=!!m.companyDebitCardInfo?.info?.isDebitCardEnabled,S=!!m.companyChargeCardInfo?.info?.isChargeCardEnabled,c=Re(),p=xe(m),x=Le(m),E=m.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,I=je({isCardsOnlyTenant:p,isChargeCardFeatureEnabled:B,isBookKeepingTenant:x,isDebitCardProductVisible:O,chargeCardsCreditAccountLimit:E}),k=Fe(c?.loggedInUserRoleMap),V=d((L=>ma(L))),{creditAccount:w,creditAccountRepayment:y}=d((L=>ua(L))),F=d((L=>or(L))).cards.filter((L=>L.type.code.includes("debit"))).map((L=>L.connectedAccountId)),i=[...new Set(F)],g=d((L=>at(L,i)));r.useEffect((()=>{s||b.fetchState==="Completed"||b.fetchState==="In-Progress"||(f(!0),a(Ne()),a(qa()))}),[s,a,b.fetchState]),r.useEffect((()=>{if(b.fetchState==="Completed"&&b.cards.length===1&&R!=null){const L=_e(m.tenantEmailDomain,b.cards[0].id,R,b.cards[0]);e(L,{state:{message:n.state?.message}})}}),[b.fetchState,b.cards]);const R=te.getSignedInUser();r.useEffect((()=>{w.fetchState!=="Completed"&&w.fetchState!=="In-Progress"&&I&&S&&k&&a(Qe()),y.fetchState!=="Completed"&&y.fetchState!=="In-Progress"&&k&&a(Tt()),g.fetchState!=="Completed"&&g.fetchState!=="In-Progress"&&O&&j&&k&&a(cr())}),[w.fetchState,y.fetchState,a,g.fetchState,O,j,k,I,S]);const G=ta(m);if(Nt({events:ha(G,Kr),onEvent:(L,z)=>{if(!Ni.has(L))return;const U=zt(z);if(L===pa){const h=ce(U?.card_id);if(h!=null){const H=Wt(U,h);if(H!=null)return void a(vt(H))}}a(Ne(!0))},onSubscribed:()=>{a(Ne(!0))}}),R==null)throw Error("Can't access address page without signing in...");const M=b.cards!=null&&b.cards.length>0;if(b.fetchState==="Completed"||M){const L=ea(I,O,j,S);return o.jsx(Vi,{children:o.jsx(Hi,{navigate:e,currentTenant:m,signedInUser:R,productInformation:L,myPendingActivationChargeCardListState:b,isChargeCardFeatureEnabled:I,isDebitCardFeatureEnabled:O,isDebitCardSetupEnabled:j,isChargeCardSetupEnabled:S,chargeCardCashbackDetailState:V,creditAccount:w,creditAccountRepayment:y,depositAccountListWithDebitCardIssued:g,controllerEmails:u,location:n})})}return o.jsx(wa,{fetchState:"In-Progress",style:{backgroundColor:t.colors.grey5}})}const $i=Pe((function(e,a){const{companyId:n,companyLegalName:t}=a;return{chargeCardSetupView:Pa(e,n),admins:a.adminList,companyLegalName:t}}),(function(e,a){const{navigate:n,companyId:t,isCompanyBusinessVerificationAndPaymentSetUpDone:s,isDebitCardSetupEnabled:f,isChargeCardSetupEnabled:b,signedInUser:m,location:A,productInformation:u,isEarlyPayEnabled:l,controllerEmails:B,chargeCardsCreditAccountLimit:D}=a;return{onSetupButtonClick:C=>{if(m!=null&&ee.trackCardsPromoPageClicked("enable cards"),s)switch(ee.trackCardsEnableCardsClick(B,u,"Cards Promo"),C){case"credit":e(qe(t,!0,"charge_cards",l,!1));break;case"debit":e(qe(t,!0,"debit_cards",l,!1));break;case"debit_and_credit":e(D===0?qe(t,!0,"debit_cards",l,!0):qe(t,!0,"charge_cards__debit_cards",l,!1))}else switch(ee.trackCardsSetupCardsClick(B,u,"Cards Promo"),C){case"credit":e(qe(t,!1,"charge_cards",l,!1));break;case"debit":e(qe(t,!1,"debit_cards",l,!1));break;case"debit_and_credit":e(D===0?qe(t,!1,"debit_cards",l,!0):qe(t,!1,"charge_cards__debit_cards",l,!1))}},onBackClick:()=>{const C=we(A.state?.pathnameStackToGoBack);let O=C.poppedPathname;O==null&&(O=f||b?"..":"../.."),n(O,{state:{pathnameStackToGoBack:C.newStack}})},onLetsGoClick:()=>{n("./onboard")},onSetupChargeCardSuccess:()=>{s?(e(Qa()),n("../",{relative:"path"})):n("../setup",{relative:"path"})},onExpressInterestClick:()=>{e(zo(t))}}}))(_c),Ki=()=>{const e=Ac(),a=ie(),{tenantEmailDomain:n}=Ve(),[t]=Dn(),s=t.get("cardPromoType"),f=le(),{useDynamicConfig:b,useFeatureGate:m}=de(),[A,u]=r.useState(!1),{isFeatureEnabled:l}=m(q.isDebitCardFeatureEnabled),{isFeatureEnabled:B}=m(q.isEarlyPayFeatureEnabled),{isFeatureEnabled:D}=m(q.isChargeCardFeatureEnabled),{configValue:C}=b(Xe.zeniCardsConfig),O=d((Q=>ge(Q))),j=d((Q=>da(Q,O.companyId))),S=la(j.controllers),c=C.charge_card_cashback_rate_per_transaction!=null?C.charge_card_cashback_rate_per_transaction:.0175,p=me(),x=te.getSignedInUserTenant(n)?.companyId??O.companyId,E=d((Q=>Pa(Q,x))),I=E.primaryFundingAccount,k=O.companyBillPayInfo?.info,V=xe(O),w=Le(O),y=Be(l,O),F=O.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,i=Oe({isDebitCardFeatureEnabled:l,isBankingOnlyTenant:y}),g=je({isCardsOnlyTenant:V,isChargeCardFeatureEnabled:D,isBookKeepingTenant:w,isDebitCardProductVisible:i,chargeCardsCreditAccountLimit:F}),R=Dr({isCardsOnlyTenant:V,isChargeCardFeatureEnabled:D,isBookKeepingTenant:w}),G=i&&g===!1,M=k?.businessVerificationStatus?.code==="verified"&&(G||I?.accType==="depositAccount"||$o(I?.providerVerificationStatus?.code??"")),L=te.getSignedInUser(),z=!!O.companyZeniAccountInfo?.info?.isZeniAccountEnabled,U=!!O.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,h=!!O.company?.companyChargeCardInfo?.isChargeCardEnabled,H=!!O.company?.companyDebitCardInfo?.isDebitCardEnabled,W=!!O.companyChargeCardInfo?.info?.isChargeCardEnabled,_=!!O.companyDebitCardInfo?.info?.isDebitCardEnabled,Z=!!O.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,N=Q=>{u(Q)},$=d((Q=>Q.chargeCardSetupViewState.fetchState));if(L==null)throw Error("Can't access Charge Card promo page without signing in...");const v=Re(),T=Fe(v?.loggedInUserRoleMap),P=Ft(v?.loggedInUserRoleMap),[ae,Ce]=r.useState(!1),[X,Te]=r.useState(!1),[Ie,re]=r.useState(!1);r.useEffect((()=>{ae===!1&&p.state?.message==="activation"&&Ce(!0)}),[p.state]),r.useEffect((()=>{X||$!=="Not-Started"||x==null||(Te(!0),f(_a(x,!0)))}),[X,$,x,f]);const be=O.companyChargeCardInfo?.info!=null&&ya({cardInfo:O.companyChargeCardInfo.info,isProductVisible:R&&h,isTOSAccepted:U,isSetupEnabled:W,isUserHasCardsAdminLevelAccess:T,isUserHasCardsAccess:P}),pe=O.companyDebitCardInfo?.info!=null&&ya({cardInfo:O.companyDebitCardInfo.info,isProductVisible:i&&H,isTOSAccepted:Z,isSetupEnabled:_,isUserHasCardsAdminLevelAccess:T,isUserHasCardsAccess:P}),he=i&&pe&&R&&F>=0&&be?"debit_and_credit":i&&pe?"debit":"credit",oe=xc(s,he),J=E?.chargeCardTermsDetails?.fetchStatus?.fetchState,Se=r.useRef(null);r.useEffect((()=>{J==="In-Progress"?Se.current=oe:J!=="Error"&&J!=="Not-Started"||(Se.current=null)}),[J,oe]);const De=J!=="In-Progress"&&J!=="Completed"||Se.current==null?oe:Se.current;r.useEffect((()=>{oe==="credit"&&(W||R===!1&&_)||oe==="debit"&&_||oe==="debit_and_credit"&&_&&W?a("../"):(oe==="debit_and_credit"&&U===!0&&Z===!0||oe==="credit"&&(U===!0||R===!1&&Z===!0)||oe==="debit"&&Z===!0)&&T===!0&&a("../setup")}),[M,W,_,oe,U,Z]),r.useEffect((()=>{Ie||(f(Ko("cardAdmin")),re(!0))}),[Ie]);const fe=d((Q=>rr(Q.userState,Q.userRoleState,Q.userListViewState,"cardAdmin"))),ve=ea(R,i,_,W);return(Q=>{switch(Q){case"credit":return h;case"debit":return H;case"debit_and_credit":return h&&H;default:return!1}})(De)?(be||pe)&&$==="Completed"?o.jsxs(o.Fragment,{children:[o.jsx(Rt,{analytics:ee,onLoad:()=>{if(ee.trackPageLoaded(kr.Event.cardsPromoPage),!!R&&!W||!!i&&!_||!!R&&!!i&&!_&&!W){const Q=zi({isDebitCardSetupEnabled:_,isChargeCardSetupEnabled:W,isCreditCardProductVisibleForExpressInterest:R,isDebitCardProductVisible:i});ee.trackCardsPromoView(S,ve,"Page",Q,"Promo Page")}}}),o.jsx(tt,{showConfetti:ae}),o.jsx(Ae,{isAppContentDrawerOpen:A,handleDrawerToggle:N}),o.jsx($i,{signedInUser:L,location:p,meetingUrl:e("charge_card_promo"),showEnableCardButton:M,isCompanyBusinessVerificationAndPaymentSetUpDone:M,isChargeCardSetupEnabled:W,isDebitCardSetupEnabled:_,companyLegalName:O.companyName,adminList:fe.users,isCheckingEnabled:z,navigate:a,companyId:x,cardPromoType:De,controllerEmails:S,productInformation:ve,isCreditCardProductVisible:g,isDebitCardFeatureEnabled:l,isEarlyPayEnabled:B,cashbackRate:c,chargeCardsCreditAccountLimit:F,onClickMenuIcon:()=>{N(!0)}})]}):o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:A,handleDrawerToggle:N}),o.jsx(Dc,{})]}):o.jsx(Je,{to:"../",replace:!0})},zi=({isDebitCardSetupEnabled:e,isChargeCardSetupEnabled:a,isCreditCardProductVisibleForExpressInterest:n,isDebitCardProductVisible:t})=>n&&t&&!e&&!a?"Credit & Debit Card":n&&!a?"Credit Card":t&&!e?"Debit Card":"";function yd(){const e=me(),a=d((v=>ge(v))),{useFeatureGate:n}=de(),{isFeatureEnabled:t}=n(q.isChargeCardFeatureEnabled),{isFeatureEnabled:s}=n(q.isDebitCardFeatureEnabled),{isFeatureEnabled:f}=n(q.isEarlyPayFeatureEnabled),{isFeatureEnabled:b}=n(q.isChargeCardPaymentHistoryFeatureEnabled),{isFeatureEnabled:m}=n(q.isCardPolicyEnabled),A=Be(s,a),u=Oe({isDebitCardFeatureEnabled:s,isBankingOnlyTenant:A}),l=Pc(a,t,s),B=!!a.company?.companyChargeCardInfo.isChargeCardTOSAccepted,D=!!a.company?.companyDebitCardInfo.isDebitCardTOSAccepted,C=!!a.company?.companyChargeCardInfo?.isChargeCardEnabled,O=!!a.company?.companyDebitCardInfo?.isDebitCardEnabled,j=!!a.companyChargeCardInfo?.info?.isChargeCardEnabled,S=!!a.companyDebitCardInfo?.info?.isDebitCardEnabled,c=Re(),p=Fe(c?.loggedInUserRoleMap),{isCardsShuttingDown:x}=Ir(a.tenantId,a.company?.managementInfo?.receiverEmails),E=Ft(c?.loggedInUserRoleMap),{isFeatureEnabled:I}=n(q.isCashbackFeatureEnabled),k=a.userRole.includes("charge_card_user"),V=!k,w=!k&&j,y=a?.userRole!=null&&Wo(a?.userRole),F=(a?.company==null||a.company.featuresActivationInfo?.isBillPayFeatureEnabled&&!y)&&Yo(c?.loggedInUserRoleMap),i=Zo(c?.loggedInUserRoleMap),g=(a?.company==null||a.company.featuresActivationInfo?.isReimbursementFeatureEnabled&&!y)&&qo(c?.loggedInUserRoleMap),{isFeatureEnabled:R}=n(q.isDepositAccountsFeatureEnabled),G=R&&!y&&$n(c?.loggedInUserRoleMap),M=j&&C&&!y,L=S&&O&&!y,z=l&&!y&&Fe(c?.loggedInUserRoleMap),U=Qo(c?.loggedInUserRoleMap),h=xe(a),H=Le(a),W=a.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,_=je({isCardsOnlyTenant:h,isChargeCardFeatureEnabled:t,isBookKeepingTenant:H,isDebitCardProductVisible:u,chargeCardsCreditAccountLimit:W}),Z=a.companyChargeCardInfo?.info!=null&&ya({cardInfo:a.companyChargeCardInfo.info,isProductVisible:_&&C,isTOSAccepted:B,isSetupEnabled:j,isUserHasCardsAdminLevelAccess:p,isUserHasCardsAccess:E}),N=a.companyDebitCardInfo?.info!=null&&ya({cardInfo:a.companyDebitCardInfo.info,isProductVisible:u&&O,isTOSAccepted:D,isSetupEnabled:S,isUserHasCardsAdminLevelAccess:p,isUserHasCardsAccess:E}),$=Z||N;return o.jsxs(os,{children:[p?o.jsx(ne,{path:"setup",element:o.jsx(bn,{isBillPayAdminLevelAccess:F,isReimbursementAdminLevelAccess:g,isZeniAccountAdminLevelAccess:G,isChargeCardAdminLevelAccess:z,isUserHasOnlyCardAccess:U,isUserHasOnlyBillPayAccess:i,productType:"charge_cards",type:"setup"})}):null,p?o.jsx(ne,{path:"verification",element:o.jsx(bn,{isBillPayAdminLevelAccess:F,isUserHasOnlyBillPayAccess:i,isReimbursementAdminLevelAccess:g,isZeniAccountAdminLevelAccess:G,isChargeCardAdminLevelAccess:z,isUserHasOnlyCardAccess:U,productType:"charge_cards",type:"verification"})}):null,p&&m?o.jsxs(o.Fragment,{children:[o.jsx(ne,{path:"policy",element:o.jsx(zc,{})}),o.jsx(ne,{path:"policy/new",element:o.jsx(jc,{})}),o.jsx(ne,{path:"policy/:templateId/edit",element:o.jsx(Vc,{})})]}):null,o.jsx(ne,{path:"promo",element:o.jsx(Ki,{})}),M||L?o.jsxs(o.Fragment,{children:[o.jsx(ne,{path:"/",element:o.jsx(In,{isPaymentDrawerOpen:!1})}),z&&f?o.jsx(ne,{path:"payment",element:o.jsx(In,{isPaymentDrawerOpen:!0})}):null,o.jsx(ne,{path:"activate",element:o.jsx(Gi,{})}),o.jsx(ne,{path:"onboard",element:o.jsx(Pi,{})}),p&&x!==!0?o.jsx(ne,{path:"new",element:o.jsx(Mi,{})}):p?o.jsx(ne,{path:"new",element:o.jsx(Je,{to:"..",replace:!0})}):null,I&&V?o.jsx(ne,{path:"cashback",element:o.jsx(Qc,{})}):null,w?o.jsx(ne,{path:"statements",element:o.jsx(Ai,{})}):null,z&&b&&j?o.jsx(ne,{path:"payment-history",element:o.jsx(Ei,{})}):null,o.jsx(ne,{path:":cardId/activate",element:o.jsx(ei,{})}),o.jsx(ne,{path:":cardId/setPin",element:o.jsx(Fi,{})}),o.jsx(ne,{path:":cardId/addToWallet",element:o.jsx(Wc,{})}),o.jsx(ne,{path:":cardId/*",element:o.jsx(li,{})}),o.jsx(ne,{path:"*",element:o.jsx(st,{})})]}):(B||D)&&p?o.jsx(ne,{path:"*",element:o.jsx(Je,{to:"../setup"})}):$?o.jsx(ne,{path:"*",element:o.jsx(Je,{to:"../promo",state:e.state})}):o.jsx(ne,{path:"*",element:null})]})}export{yd as default};
|
|
71
|
+
`,Hi=Pe((function(e,a){const{myPendingActivationChargeCardListState:n}=a;return{myPendingActivationChargeCardListView:n,uiState:n.uiState,signedInUser:a.signedInUser}}),(function(e,a){const{navigate:n,currentTenant:t,location:s,signedInUser:f,myPendingActivationChargeCardListState:b}=a,{tenantEmailDomain:m}=t,{cards:A}=b;return{onChargeCardRowClick:u=>{const l=_r(A,u),B=_e(m,u,f,l),D=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(B,{state:{pathnameStackToGoBack:D}})},onColumnSortConfigChanged:(u,l)=>{e(yt({uiState:{sortKey:u,sortOrder:l}}))},onReloadCards:()=>{e(Ne())},onBackClick:()=>{const u=t.userRole.includes("charge_card_user");e(yt({uiState:{sortKey:u?"cardName":"owner",sortOrder:"ascending"}})),n("../")}}}))(Ec);function Gi(){const e=ie(),a=le(),n=me(),t=Ot(),[s,f]=r.useState(!1),b=d((L=>Go(L))),m=d((L=>ge(L))),A=d((L=>da(L,m.companyId))),u=la(A.controllers),{useFeatureGate:l}=de(),{isFeatureEnabled:B}=l(q.isChargeCardFeatureEnabled),{isFeatureEnabled:D}=l(q.isDebitCardFeatureEnabled),C=Be(D,m),O=Oe({isDebitCardFeatureEnabled:D,isBankingOnlyTenant:C}),j=!!m.companyDebitCardInfo?.info?.isDebitCardEnabled,S=!!m.companyChargeCardInfo?.info?.isChargeCardEnabled,c=Re(),p=xe(m),x=Le(m),E=m.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,I=je({isCardsOnlyTenant:p,isChargeCardFeatureEnabled:B,isBookKeepingTenant:x,isDebitCardProductVisible:O,chargeCardsCreditAccountLimit:E}),k=Fe(c?.loggedInUserRoleMap),V=d((L=>ma(L))),{creditAccount:w,creditAccountRepayment:y}=d((L=>ua(L))),F=d((L=>or(L))).cards.filter((L=>L.type.code.includes("debit"))).map((L=>L.connectedAccountId)),i=[...new Set(F)],g=d((L=>at(L,i)));r.useEffect((()=>{s||b.fetchState==="Completed"||b.fetchState==="In-Progress"||(f(!0),a(Ne()),a(qa()))}),[s,a,b.fetchState]),r.useEffect((()=>{if(b.fetchState==="Completed"&&b.cards.length===1&&R!=null){const L=_e(m.tenantEmailDomain,b.cards[0].id,R,b.cards[0]);e(L,{state:{message:n.state?.message}})}}),[b.fetchState,b.cards]);const R=te.getSignedInUser();r.useEffect((()=>{w.fetchState!=="Completed"&&w.fetchState!=="In-Progress"&&I&&S&&k&&a(Je()),y.fetchState!=="Completed"&&y.fetchState!=="In-Progress"&&k&&a(Tt()),g.fetchState!=="Completed"&&g.fetchState!=="In-Progress"&&O&&j&&k&&a(cr())}),[w.fetchState,y.fetchState,a,g.fetchState,O,j,k,I,S]);const G=ta(m);if(Nt({events:ha(G,Kr),onEvent:(L,z)=>{if(!Ni.has(L))return;const U=zt(z);if(L===pa){const h=ce(U?.card_id);if(h!=null){const H=Wt(U,h);if(H!=null)return void a(vt(H))}}a(Ne(!0))},onSubscribed:()=>{a(Ne(!0))}}),R==null)throw Error("Can't access address page without signing in...");const M=b.cards!=null&&b.cards.length>0;if(b.fetchState==="Completed"||M){const L=ea(I,O,j,S);return o.jsx(Vi,{children:o.jsx(Hi,{navigate:e,currentTenant:m,signedInUser:R,productInformation:L,myPendingActivationChargeCardListState:b,isChargeCardFeatureEnabled:I,isDebitCardFeatureEnabled:O,isDebitCardSetupEnabled:j,isChargeCardSetupEnabled:S,chargeCardCashbackDetailState:V,creditAccount:w,creditAccountRepayment:y,depositAccountListWithDebitCardIssued:g,controllerEmails:u,location:n})})}return o.jsx(wa,{fetchState:"In-Progress",style:{backgroundColor:t.colors.grey5}})}const $i=Pe((function(e,a){const{companyId:n,companyLegalName:t}=a;return{chargeCardSetupView:Pa(e,n),admins:a.adminList,companyLegalName:t}}),(function(e,a){const{navigate:n,companyId:t,isCompanyBusinessVerificationAndPaymentSetUpDone:s,isDebitCardSetupEnabled:f,isChargeCardSetupEnabled:b,signedInUser:m,location:A,productInformation:u,isEarlyPayEnabled:l,controllerEmails:B,chargeCardsCreditAccountLimit:D}=a;return{onSetupButtonClick:C=>{if(m!=null&&ee.trackCardsPromoPageClicked("enable cards"),s)switch(ee.trackCardsEnableCardsClick(B,u,"Cards Promo"),C){case"credit":e(qe(t,!0,"charge_cards",l,!1));break;case"debit":e(qe(t,!0,"debit_cards",l,!1));break;case"debit_and_credit":e(D===0?qe(t,!0,"debit_cards",l,!0):qe(t,!0,"charge_cards__debit_cards",l,!1))}else switch(ee.trackCardsSetupCardsClick(B,u,"Cards Promo"),C){case"credit":e(qe(t,!1,"charge_cards",l,!1));break;case"debit":e(qe(t,!1,"debit_cards",l,!1));break;case"debit_and_credit":e(D===0?qe(t,!1,"debit_cards",l,!0):qe(t,!1,"charge_cards__debit_cards",l,!1))}},onBackClick:()=>{const C=we(A.state?.pathnameStackToGoBack);let O=C.poppedPathname;O==null&&(O=f||b?"..":"../.."),n(O,{state:{pathnameStackToGoBack:C.newStack}})},onLetsGoClick:()=>{n("./onboard")},onSetupChargeCardSuccess:()=>{s?(e(Ja()),n("../",{relative:"path"})):n("../setup",{relative:"path"})},onExpressInterestClick:()=>{e(zo(t))}}}))(_c),Ki=()=>{const e=Ac(),a=ie(),{tenantEmailDomain:n}=Ve(),[t]=Dn(),s=t.get("cardPromoType"),f=le(),{useDynamicConfig:b,useFeatureGate:m}=de(),[A,u]=r.useState(!1),{isFeatureEnabled:l}=m(q.isDebitCardFeatureEnabled),{isFeatureEnabled:B}=m(q.isEarlyPayFeatureEnabled),{isFeatureEnabled:D}=m(q.isChargeCardFeatureEnabled),{configValue:C}=b(Xe.zeniCardsConfig),O=d((J=>ge(J))),j=d((J=>da(J,O.companyId))),S=la(j.controllers),c=C.charge_card_cashback_rate_per_transaction!=null?C.charge_card_cashback_rate_per_transaction:.0175,p=me(),x=te.getSignedInUserTenant(n)?.companyId??O.companyId,E=d((J=>Pa(J,x))),I=E.primaryFundingAccount,k=O.companyBillPayInfo?.info,V=xe(O),w=Le(O),y=Be(l,O),F=O.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,i=Oe({isDebitCardFeatureEnabled:l,isBankingOnlyTenant:y}),g=je({isCardsOnlyTenant:V,isChargeCardFeatureEnabled:D,isBookKeepingTenant:w,isDebitCardProductVisible:i,chargeCardsCreditAccountLimit:F}),R=Dr({isCardsOnlyTenant:V,isChargeCardFeatureEnabled:D,isBookKeepingTenant:w}),G=i&&g===!1,M=k?.businessVerificationStatus?.code==="verified"&&(G||I?.accType==="depositAccount"||$o(I?.providerVerificationStatus?.code??"")),L=te.getSignedInUser(),z=!!O.companyZeniAccountInfo?.info?.isZeniAccountEnabled,U=!!O.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,h=!!O.company?.companyChargeCardInfo?.isChargeCardEnabled,H=!!O.company?.companyDebitCardInfo?.isDebitCardEnabled,W=!!O.companyChargeCardInfo?.info?.isChargeCardEnabled,_=!!O.companyDebitCardInfo?.info?.isDebitCardEnabled,Z=!!O.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,N=J=>{u(J)},$=d((J=>J.chargeCardSetupViewState.fetchState));if(L==null)throw Error("Can't access Charge Card promo page without signing in...");const v=Re(),T=Fe(v?.loggedInUserRoleMap),P=Ft(v?.loggedInUserRoleMap),[ae,Ce]=r.useState(!1),[X,Te]=r.useState(!1),[Ie,re]=r.useState(!1);r.useEffect((()=>{ae===!1&&p.state?.message==="activation"&&Ce(!0)}),[p.state]),r.useEffect((()=>{X||$!=="Not-Started"||x==null||(Te(!0),f(_a(x,!0)))}),[X,$,x,f]);const be=O.companyChargeCardInfo?.info!=null&&ya({cardInfo:O.companyChargeCardInfo.info,isProductVisible:R&&h,isTOSAccepted:U,isSetupEnabled:W,isUserHasCardsAdminLevelAccess:T,isUserHasCardsAccess:P}),pe=O.companyDebitCardInfo?.info!=null&&ya({cardInfo:O.companyDebitCardInfo.info,isProductVisible:i&&H,isTOSAccepted:Z,isSetupEnabled:_,isUserHasCardsAdminLevelAccess:T,isUserHasCardsAccess:P}),he=i&&pe&&R&&F>=0&&be?"debit_and_credit":i&&pe?"debit":"credit",oe=xc(s,he),Q=E?.chargeCardTermsDetails?.fetchStatus?.fetchState,Se=r.useRef(null);r.useEffect((()=>{Q==="In-Progress"?Se.current=oe:Q!=="Error"&&Q!=="Not-Started"||(Se.current=null)}),[Q,oe]);const De=Q!=="In-Progress"&&Q!=="Completed"||Se.current==null?oe:Se.current;r.useEffect((()=>{oe==="credit"&&(W||R===!1&&_)||oe==="debit"&&_||oe==="debit_and_credit"&&_&&W?a("../"):(oe==="debit_and_credit"&&U===!0&&Z===!0||oe==="credit"&&(U===!0||R===!1&&Z===!0)||oe==="debit"&&Z===!0)&&T===!0&&a("../setup")}),[M,W,_,oe,U,Z]),r.useEffect((()=>{Ie||(f(Ko("cardAdmin")),re(!0))}),[Ie]);const fe=d((J=>rr(J.userState,J.userRoleState,J.userListViewState,"cardAdmin"))),ve=ea(R,i,_,W);return(J=>{switch(J){case"credit":return h;case"debit":return H;case"debit_and_credit":return h&&H;default:return!1}})(De)?(be||pe)&&$==="Completed"?o.jsxs(o.Fragment,{children:[o.jsx(Rt,{analytics:ee,onLoad:()=>{if(ee.trackPageLoaded(kr.Event.cardsPromoPage),!!R&&!W||!!i&&!_||!!R&&!!i&&!_&&!W){const J=zi({isDebitCardSetupEnabled:_,isChargeCardSetupEnabled:W,isCreditCardProductVisibleForExpressInterest:R,isDebitCardProductVisible:i});ee.trackCardsPromoView(S,ve,"Page",J,"Promo Page")}}}),o.jsx(tt,{showConfetti:ae}),o.jsx(Ae,{isAppContentDrawerOpen:A,handleDrawerToggle:N}),o.jsx($i,{signedInUser:L,location:p,meetingUrl:e("charge_card_promo"),showEnableCardButton:M,isCompanyBusinessVerificationAndPaymentSetUpDone:M,isChargeCardSetupEnabled:W,isDebitCardSetupEnabled:_,companyLegalName:O.companyName,adminList:fe.users,isCheckingEnabled:z,navigate:a,companyId:x,cardPromoType:De,controllerEmails:S,productInformation:ve,isCreditCardProductVisible:g,isDebitCardFeatureEnabled:l,isEarlyPayEnabled:B,cashbackRate:c,chargeCardsCreditAccountLimit:F,onClickMenuIcon:()=>{N(!0)}})]}):o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:A,handleDrawerToggle:N}),o.jsx(Dc,{})]}):o.jsx(Qe,{to:"../",replace:!0})},zi=({isDebitCardSetupEnabled:e,isChargeCardSetupEnabled:a,isCreditCardProductVisibleForExpressInterest:n,isDebitCardProductVisible:t})=>n&&t&&!e&&!a?"Credit & Debit Card":n&&!a?"Credit Card":t&&!e?"Debit Card":"";function yd(){const e=me(),a=d((v=>ge(v))),{useFeatureGate:n}=de(),{isFeatureEnabled:t}=n(q.isChargeCardFeatureEnabled),{isFeatureEnabled:s}=n(q.isDebitCardFeatureEnabled),{isFeatureEnabled:f}=n(q.isEarlyPayFeatureEnabled),{isFeatureEnabled:b}=n(q.isChargeCardPaymentHistoryFeatureEnabled),{isFeatureEnabled:m}=n(q.isCardPolicyEnabled),A=Be(s,a),u=Oe({isDebitCardFeatureEnabled:s,isBankingOnlyTenant:A}),l=Pc(a,t,s),B=!!a.company?.companyChargeCardInfo.isChargeCardTOSAccepted,D=!!a.company?.companyDebitCardInfo.isDebitCardTOSAccepted,C=!!a.company?.companyChargeCardInfo?.isChargeCardEnabled,O=!!a.company?.companyDebitCardInfo?.isDebitCardEnabled,j=!!a.companyChargeCardInfo?.info?.isChargeCardEnabled,S=!!a.companyDebitCardInfo?.info?.isDebitCardEnabled,c=Re(),p=Fe(c?.loggedInUserRoleMap),{isCardsShuttingDown:x}=Ir(a.tenantId,a.company?.managementInfo?.receiverEmails),E=Ft(c?.loggedInUserRoleMap),{isFeatureEnabled:I}=n(q.isCashbackFeatureEnabled),k=a.userRole.includes("charge_card_user"),V=!k,w=!k&&j,y=a?.userRole!=null&&Wo(a?.userRole),F=(a?.company==null||a.company.featuresActivationInfo?.isBillPayFeatureEnabled&&!y)&&Yo(c?.loggedInUserRoleMap),i=Zo(c?.loggedInUserRoleMap),g=(a?.company==null||a.company.featuresActivationInfo?.isReimbursementFeatureEnabled&&!y)&&qo(c?.loggedInUserRoleMap),{isFeatureEnabled:R}=n(q.isDepositAccountsFeatureEnabled),G=R&&!y&&$n(c?.loggedInUserRoleMap),M=j&&C&&!y,L=S&&O&&!y,z=l&&!y&&Fe(c?.loggedInUserRoleMap),U=Jo(c?.loggedInUserRoleMap),h=xe(a),H=Le(a),W=a.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,_=je({isCardsOnlyTenant:h,isChargeCardFeatureEnabled:t,isBookKeepingTenant:H,isDebitCardProductVisible:u,chargeCardsCreditAccountLimit:W}),Z=a.companyChargeCardInfo?.info!=null&&ya({cardInfo:a.companyChargeCardInfo.info,isProductVisible:_&&C,isTOSAccepted:B,isSetupEnabled:j,isUserHasCardsAdminLevelAccess:p,isUserHasCardsAccess:E}),N=a.companyDebitCardInfo?.info!=null&&ya({cardInfo:a.companyDebitCardInfo.info,isProductVisible:u&&O,isTOSAccepted:D,isSetupEnabled:S,isUserHasCardsAdminLevelAccess:p,isUserHasCardsAccess:E}),$=Z||N;return o.jsxs(os,{children:[p?o.jsx(ne,{path:"setup",element:o.jsx(bn,{isBillPayAdminLevelAccess:F,isReimbursementAdminLevelAccess:g,isZeniAccountAdminLevelAccess:G,isChargeCardAdminLevelAccess:z,isUserHasOnlyCardAccess:U,isUserHasOnlyBillPayAccess:i,productType:"charge_cards",type:"setup"})}):null,p?o.jsx(ne,{path:"verification",element:o.jsx(bn,{isBillPayAdminLevelAccess:F,isUserHasOnlyBillPayAccess:i,isReimbursementAdminLevelAccess:g,isZeniAccountAdminLevelAccess:G,isChargeCardAdminLevelAccess:z,isUserHasOnlyCardAccess:U,productType:"charge_cards",type:"verification"})}):null,p&&m?o.jsxs(o.Fragment,{children:[o.jsx(ne,{path:"policy",element:o.jsx(zc,{})}),o.jsx(ne,{path:"policy/new",element:o.jsx(jc,{})}),o.jsx(ne,{path:"policy/:templateId/edit",element:o.jsx(Vc,{})})]}):null,o.jsx(ne,{path:"promo",element:o.jsx(Ki,{})}),M||L?o.jsxs(o.Fragment,{children:[o.jsx(ne,{path:"/",element:o.jsx(In,{isPaymentDrawerOpen:!1})}),z&&f?o.jsx(ne,{path:"payment",element:o.jsx(In,{isPaymentDrawerOpen:!0})}):null,o.jsx(ne,{path:"activate",element:o.jsx(Gi,{})}),o.jsx(ne,{path:"onboard",element:o.jsx(Pi,{})}),p&&x!==!0?o.jsx(ne,{path:"new",element:o.jsx(Mi,{})}):p?o.jsx(ne,{path:"new",element:o.jsx(Qe,{to:"..",replace:!0})}):null,I&&V?o.jsx(ne,{path:"cashback",element:o.jsx(Jc,{})}):null,w?o.jsx(ne,{path:"statements",element:o.jsx(Ai,{})}):null,z&&b&&j?o.jsx(ne,{path:"payment-history",element:o.jsx(Ei,{})}):null,o.jsx(ne,{path:":cardId/activate",element:o.jsx(ei,{})}),o.jsx(ne,{path:":cardId/setPin",element:o.jsx(Fi,{})}),o.jsx(ne,{path:":cardId/addToWallet",element:o.jsx(Wc,{})}),o.jsx(ne,{path:":cardId/*",element:o.jsx(li,{})}),o.jsx(ne,{path:"*",element:o.jsx(st,{})})]}):(B||D)&&p?o.jsx(ne,{path:"*",element:o.jsx(Qe,{to:"../setup"})}):$?o.jsx(ne,{path:"*",element:o.jsx(Qe,{to:"../promo",state:e.state})}):o.jsx(ne,{path:"*",element:null})]})}export{yd as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as m}from"./liveblocks-CevUFagi.js";import{a as g}from"./sentry-BrSPpZKf.js";import{h as w,u as x,g as k,i as T,j as O,l as E}from"./core-Bc2mnalE.js";import{z as b,bt as F,a6 as P,k as V,R as L,q as N,bu as j,ac as A,aE as U,l as G}from"./index-CtE8HnsY.js";import{fI as D,gL as B,C3 as M,gG as R,ca as _,Zb as z,bn as Z,v6 as Y,uW as q,mD as H,oc as S,Zc as W,bG as $,cG as C,on as J,ox as K}from"./zeni-epic-state-VmxO3Mnv.js";import"./mui-CUsYvTMG.js";import{d as Q}from"./routePaths-Dv28cYw1.js";import{M as X}from"./MobileAppDrawer-BixbLTmv.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},a=new t.Error().stack;a&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[a]="0dc76ffd-f1f4-4e70-b666-6a2453c701e7",t._sentryDebugIdIdentifier="sentry-dbid-0dc76ffd-f1f4-4e70-b666-6a2453c701e7")}catch{}})();const ee=E((function(t){const a=R(t),i=b.getSignedInUser(),l=D(t),c=l.tenantId,p={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:c??""},f=_(l?.userRole??[])&&a.localData.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",e=z(t.companyConfigState),n=t.countryListState?.byCountryListCode?.nationalityCountryList?.countries??[];return{isCompanyVerified:a.companyView?.company?.company?.companyBillPayInfo?.companyVerificationStatus?.code==="verified",companyPassportView:a,allIndustries:e.companyIndustries??[],allNationalityCountries:n,isDisabled:f,authParams:p,filesEndPoint:`${A.fileMicroServiceBaseUrl}`,isZeniUser:Z(i)}}),(function(t,a){const{companyId:i,currentTenant:l,navigate:c,location:p}=a,{tenantEmailDomain:f}=l;return{onScheduleClick:e=>{let n=e.href;n.includes("http")||(n="https://".concat(n)),window.open(n,"_blank")},onSaveAll:()=>{t(K())},onAddressClick:e=>{const n=Q(f,e),o=G(p.state?.pathnameStackToGoBack,p.pathname);c(n,{state:{pathnameStackToGoBack:o}})},onResetClick:()=>{t(J({companyId:i}))},onBackClick:()=>{c("../")},onCompanyDetailsChanged:e=>{const{companyInfo:n,incInfo:o,taxDetails:r,zeniFinanceTeam:d}=e,{website:u}=n,{meetingLink:y}=d,{incDate:s}=o,{taxesFiledYears:h}=r,v={companyInfo:{...n,website:u!=""&&u!=null?C(u):void 0,meetingLink:y!=""&&y!=null?C(y):void 0,industry:n.industry.selectedOption,companyIndustryType:n.companyIndustryType?.selectedOption??void 0,companySubIndustry:n.companySubIndustry?.selectedOption??void 0,businessModel:n.businessModel.selectedOption??"",companySourceOfFunds:n.companySourceOfFunds?.selectedOption,companySourceOfFundsDescription:n.companySourceOfFundsDescription??void 0,countriesOfOperations:n.countriesOfOperations?.selectedOptions?.map((I=>I.length===2?I:U(I)))??[],transactionVolume:n.transactionVolume?.selectedOption??void 0,transactionVolumeDescription:n.transactionVolumeDescription??void 0,regulatedStatus:n.regulatedStatus??void 0,regulatedStatusDescription:n.regulatedStatusDescription??void 0,usNexus:n.usNexus??void 0,usNexusTypes:n.usNexusTypes?.selectedOptions??[],purposeOfAccount:n.purposeOfAccount?.selectedOption??void 0,purposeOfAccountDescription:n.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:h.selectedOptions.map((I=>parseInt(I))),fileId:r.fileIds[0]}};t(S({companyDetails:v}))},onPrimaryContactDetailsUpdated:e=>{t(S({primaryContact:{userId:e.userId,email:e.email.trim(),firstName:e.name.firstName,lastName:e.name.lastName}}))},onNewCompanyOfficerAdded:e=>{t(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=>{t(W(e))},onCompanyOfficerUpdated:e=>{t(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=>{t(H({files:e}))},onDeleteFile:e=>{t(q(e))},onEditFileName:(e,n)=>{t(Y(e,n.split(".")[0]))}}}))(j);function de(){const t=w(),a=x(),i=k(),{tenantEmailDomain:l}=T(),[c,p]=g.useState(!1),[f,e]=g.useState(!1),n=O((s=>s.companyViewState.passportView.fetchState)),o=O((s=>s.companyConfigState.fetchState)),r=O((s=>D(s))),d=r.companyId??b.getSignedInUserTenant(l)?.companyId;if(b.getSignedInUser()==null)throw Error("Can't access company details page without signing in...");g.useEffect((()=>{c||n!=="Not-Started"||d==null||(p(!0),a(B(d)))}),[c,n,d,a]),g.useEffect((()=>{o==="Not-Started"&&a(M())}),[o,a]);const u=s=>{e(s)},y=n==="Not-Started"||n==="In-Progress"||o==="Not-Started"||o==="In-Progress";return d!=null&&n==="Error"?m.jsx(F,{onGoHome:()=>t("../",{replace:!0}),onReload:()=>window.location.reload()}):m.jsxs(m.Fragment,{children:[m.jsx(P,{analytics:V,onLoad:s=>s.trackPageLoaded(L.Event.companyPassport,N(i)?"Settings":"Company Passport")}),N(i)?m.jsx(X,{isAppContentDrawerOpen:f,handleDrawerToggle:u}):null,m.jsx(ee,{companyId:d,navigate:t,location:i,isLoading:y,currentTenant:r,isSettings:N(i),onClickMenuIcon:()=>{u(!0)}})]})}export{de as C};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{j as I}from"./liveblocks-CevUFagi.js";import{a as o}from"./sentry-BrSPpZKf.js";import{u as F,h as R,g as H,j as C,N as w}from"./core-Bc2mnalE.js";import{UI as q,fI as z,go as G,p_ as V,gP as A,gn as Q,gl as B,V6 as J,gk as O}from"./zeni-epic-state-VmxO3Mnv.js";import{u as K,z as E,L as D,G as M,E as W}from"./index-CtE8HnsY.js";import{n as X}from"./mui-CUsYvTMG.js";import{P as b,a as T}from"./AccountMappingScreen-D6HgzjWo.js";import{t as Y}from"./getLocaleForTenant-D-baUPRb.js";import{g as Z,Q as ee}from"./QBOConnectionScreen-CMu1wr6r.js";import"./recharts-BjkXpBn6.js";import"./analytics-D7SbUCRL.js";import"./plaid-Dxz6lSJz.js";import"./dnd-B0zyAl0s.js";import"./stripe-cKAAJElX.js";import"./lottie-Dhd_0CJG.js";import"./lexical-CCch0Fzo.js";import"./pdf-CuegwamZ.js";import"./utils-BKSIhN7N.js";import"./MobileAppDrawer-BixbLTmv.js";import"./InboxNotificationsProvider-yzTJ7wEQ.js";import"./useTaskManagerAccess-94Xv3cKO.js";import"./accountMappingHelper-HDztJioo.js";import"./empty-Nco5SaTV.js";import"./pdf-lib-C0hF4MJX.js";import"./index-CyFWesiE.js";import"./url-2Ybk2sxg.js";import"./index-Dv6pUA2Y.js";import"./decodeURIComponentSafe-addd21BI.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},i=new t.Error().stack;i&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[i]="6bdaa014-e3fb-435e-987a-82ab4f49e01d",t._sentryDebugIdIdentifier="sentry-dbid-6bdaa014-e3fb-435e-987a-82ab4f49e01d")}catch{}})();const te=X.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 ${W.sp1} ${t.theme.colors.dropShadowNormal}`};
|
|
11
|
+
`;function we(){const t=F(),i=R(),v=H(),{setLoading:m,clearAllLoading:c}=K(),h=o.useRef(!1),S=o.useRef(!1),N=o.useRef(!1),p=o.useRef(!1),{code:U,realmId:$,state:L}=Z(v.search),f=U!==""&&$!==""&&L!=="";f&&(N.current=!0);const j=sessionStorage.getItem(b),u=j===T.pending,P=j===T.ready,x=C((s=>q(s))),e=C((s=>z(s))),n=C((s=>s.tenantState.fetchState)),r=C((s=>s.tenantState.activeTenantFetchState.fetchState)),a=E.getSignedInUser(),g=E.getActiveTenantForUser()?.tenantId,l=e?.externalConnections?.fetchState,d=e?.externalConnections?.saveConnectionState,y=e.externalConnections?.accounting[0]?.isValid;o.useLayoutEffect((()=>{m(D.CONNECTION_AUTH)}),[m]),o.useEffect((()=>{h.current||a==null||g==null||(h.current=!0,n==="Completed"||r!=="Not-Started"&&r!=="Error"||(m(D.TENANT_FETCHING),t(G(a.userId,g))))}),[h,n,m]),o.useEffect((()=>{e.tenantId==null&&!S.current&&a!=null&&(S.current=!0,!(g==null||g!=null&&(r==="Completed"||r==="Error"))||n!=="Not-Started"&&n!=="Error"||t(V(a.userId)))}),[S,n,r]),o.useEffect((()=>{a==null||e?.tenantId==null||e.externalConnections!=null||n!=="Completed"&&r!=="Completed"||l==="In-Progress"||d!=="Error"||(m(D.CONNECTION_AUTH),t(A(a.userId,e.tenantId)))}),[d]),o.useEffect((()=>{n!=="Completed"&&r!=="Completed"||a==null||e?.tenantId==null||(t(Q(e.tenantId)),E.saveActiveTenantDomainForUser(e.tenantEmailDomain),B(a?.userId,a?.zeniSessionId,e.tenantId),M.updateAppLocaleID(Y(J(e))),e.externalConnections!=null||n!=="Completed"&&r!=="Completed"||l==="In-Progress"||a==null||e==null||t(A(a.userId,e.tenantId)))}),[n,r,l]),o.useEffect((()=>{x.tenantsCoreDetailsInOrder.length>0&&n==="Completed"&&E.saveSignedInUserTenants(x.tenantsCoreDetailsInOrder)}),[x.tenantsCoreDetailsInOrder.length,n]);const _=e==null||n!=="Completed"&&r!=="Completed"||l!=="Completed";if(o.useEffect((()=>{n!=="Completed"&&n!=="Error"||r!=="Completed"&&r!=="Error"||l!=="Completed"&&l!=="Error"||c()}),[n,r,l]),o.useEffect((()=>{u&&d==="In-Progress"&&(p.current=!0)}),[u,d]),o.useEffect((()=>{if(!u||_)return;const s=e.tenantEmailDomain!=null?`/${e.tenantEmailDomain}/settings/accounting`:"/";return p.current&&d==="Completed"?(sessionStorage.setItem(b,T.ready),c(),void i(s,{replace:!0})):p.current&&d==="Error"?(sessionStorage.removeItem(b),t(O({messageSection:"accounting_projects_qbo_reconnect_failed",messageText:"failed",type:"error"})),c(),void i(s,{replace:!0})):void(f||N.current||p.current||y!==!0||(sessionStorage.removeItem(b),t(O({messageSection:"accounting_projects_qbo_reconnect_failed",messageText:"failed",type:"error"})),c(),i(s,{replace:!0})))}),[u,_,d,f,y,e.tenantEmailDomain,c,t,i]),_)return null;if(f||y!==!0)return I.jsx(te,{children:I.jsx(ee,{})});if(u)return null;const k=e.tenantEmailDomain!=null?`/${e.tenantEmailDomain}/settings/accounting`:"/";return P?I.jsx(w,{to:k,replace:!0}):I.jsx(w,{to:"/",replace:!0})}export{we as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as i}from"./liveblocks-CevUFagi.js";import{z as m}from"./index-CtE8HnsY.js";import{g as n}from"./QBOConnectionScreen-CMu1wr6r.js";import"./sentry-BrSPpZKf.js";import{g as p,N as a}from"./core-Bc2mnalE.js";import"./zeni-epic-state-VmxO3Mnv.js";import"./recharts-BjkXpBn6.js";import"./mui-CUsYvTMG.js";import"./analytics-D7SbUCRL.js";import"./plaid-Dxz6lSJz.js";import"./dnd-B0zyAl0s.js";import"./stripe-cKAAJElX.js";import"./lottie-Dhd_0CJG.js";import"./lexical-CCch0Fzo.js";import"./pdf-CuegwamZ.js";import"./utils-BKSIhN7N.js";import"./empty-Nco5SaTV.js";import"./pdf-lib-C0hF4MJX.js";import"./index-CyFWesiE.js";import"./url-2Ybk2sxg.js";import"./index-Dv6pUA2Y.js";import"./decodeURIComponentSafe-addd21BI.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]="a1205b81-d106-415b-bd92-85aeae53ace3",t._sentryDebugIdIdentifier="sentry-dbid-a1205b81-d106-415b-bd92-85aeae53ace3")}catch{}})();const U=()=>{const t=p(),{code:o,realmId:r,state:e}=n(t.search),s=m.getSignedInUser()?.userId??"";if(f(o,r,e,s)===!0){const d=`../../${e}/onboarding?code=${o}&realmId=${r}&state=auth_flow`;return i.jsx(a,{to:d})}return i.jsx(a,{to:"../../"})},f=(t,o,r,e)=>t!=""&&o!=""&&r!=""&&e!=null&&e!="";export{U as default,f as hasValidParams};
|