@zeniai/web-app-ui 5.0.62-qa → 5.0.63-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/AddressRoutes-RwSajKrp.js +1 -0
- package/dist/assets/AddressScreen-CEJ2EDwb.js +9 -0
- package/dist/assets/{AiCfoScreen-C0vZP1YL.js → AiCfoScreen-C6yOeSXT.js} +2 -2
- package/dist/assets/BillPayApprovalRoutes-Clait2oB.js +1 -0
- package/dist/assets/{BillPayRoutes-DORdSaXs.js → BillPayRoutes-CNxKKr85.js} +33 -33
- package/dist/assets/BusinessVerificationPageScreen-D1YPo8Z4.js +9 -0
- package/dist/assets/{ChargeCardRoutes-BHiPj32T.js → ChargeCardRoutes-CnwrVVuL.js} +8 -8
- package/dist/assets/{CompanyPassportScreen-CP7xp86t.js → CompanyPassportScreen-1FjaBc8x.js} +1 -1
- package/dist/assets/ConnectionAuthScreen-HH9X732t.js +11 -0
- package/dist/assets/CustomerOnboardingAuthScreen-BkQxPYWy.js +1 -0
- package/dist/assets/{CustomerOnboardingRoutes-tQabyyPB.js → CustomerOnboardingRoutes-9nN3_YTL.js} +7 -7
- package/dist/assets/{DashboardRoutes-Cnk-C3nT.js → DashboardRoutes-D9JTnMJm.js} +3 -3
- package/dist/assets/DefaultTenantHome-DrGDVd8p.js +1 -0
- package/dist/assets/DomesticWireDetailScreen-BlARsGBU.js +18 -0
- package/dist/assets/DrawerScreen-CeOGUHHx.js +1 -0
- package/dist/assets/EntityDetailRoutes-S1Q1dSD0.js +1 -0
- package/dist/assets/{ExpenseAutomationRoutes-CkF5XxpD.js → ExpenseAutomationRoutes-p-exYuWV.js} +4 -4
- package/dist/assets/FeaturePreviewScreen-BXc7ySeT.js +1 -0
- package/dist/assets/MagicLinkRoutes-DDJqLHEp.js +72 -0
- package/dist/assets/MagicLinkSignInScreen-CkHH4Az-.js +12 -0
- package/dist/assets/MobileAppDrawer-BT6_YvGi.js +1 -0
- package/dist/assets/NotFoundScreen-DmUDPIT7.js +1 -0
- package/dist/assets/{NotificationRoutes-YdO3fFDs.js → NotificationRoutes-7z0fHxrA.js} +1 -1
- package/dist/assets/PandLWithForecastRoutes-DFvaaNlx.js +1 -0
- package/dist/assets/PeopleRoutes-gY3Aav8U.js +22 -0
- package/dist/assets/PerformanceRoutes-D6Rtmi-s.js +1 -0
- package/dist/assets/{Preview-a01dgLdt.js → Preview-DdSrf9_j.js} +1 -1
- package/dist/assets/{QBOConnectionScreen-s3qwiSMy.js → QBOConnectionScreen-Bjej94BR.js} +1 -1
- package/dist/assets/ReferralListScreen-kApKqS2k.js +5 -0
- package/dist/assets/ReimbursementApprovalRoutes-CR2bmPGc.js +1 -0
- package/dist/assets/{ReimbursementApprovalRuleDetailScreen-BE4IHKZp.js → ReimbursementApprovalRuleDetailScreen-BZpuIdR9.js} +1 -1
- package/dist/assets/{ReimbursementRoutes-ClJ2U4hB.js → ReimbursementRoutes-uEvSbixb.js} +10 -10
- package/dist/assets/{ReportsRoutes-C5in9Uhw.js → ReportsRoutes-CQZXb-9e.js} +1 -1
- package/dist/assets/RewardsRoutes-CyW8SzZH.js +1 -0
- package/dist/assets/ScreenRoutes-DNGTyhx_.js +2 -0
- package/dist/assets/{SettingsRoutes-CNhiCvwZ.js → SettingsRoutes-CfiC51bV.js} +7 -7
- package/dist/assets/{SetupPagesScreen-kg92bsGG.js → SetupPagesScreen-QyIIGt5H.js} +5 -5
- package/dist/assets/{SignInScreen-BPEkTQq0.js → SignInScreen-B4cdN2NA.js} +1 -1
- package/dist/assets/SignOutScreen-D0SwBrWQ.js +9 -0
- package/dist/assets/TaskListScreen-BfkcXalq.js +9 -0
- package/dist/assets/TaskRoutes-C9gGJAZI.js +9 -0
- package/dist/assets/TransactionDetailRoutes-CsBGCgAL.js +1 -0
- package/dist/assets/TransactionDetailScreen-_-jSXb2F.js +5 -0
- package/dist/assets/{TransactionListRoutes-D5W7s2n8.js → TransactionListRoutes-BELszHz8.js} +1 -1
- package/dist/assets/{TreasuryRoutes-3vVOYpSk.js → TreasuryRoutes-Cb0h8yIL.js} +6 -6
- package/dist/assets/{VendorsRoutes-Ds-Ggg2o.js → VendorsRoutes-BoHy1d4r.js} +15 -15
- package/dist/assets/WiseConfirmationScreen-COxzjKOT.js +12 -0
- package/dist/assets/{ZeniAccountRoutes-b1lH_04J.js → ZeniAccountRoutes-B4dKyLOa.js} +12 -12
- package/dist/assets/ZeniAccountStatementScreen-VHDsCowc.js +9 -0
- package/dist/assets/{accountMappingHelper-cyeg1rbm.js → accountMappingHelper-D6w4MCc5.js} +1 -1
- package/dist/assets/{analytics-6quGmcJ9.js → analytics-CQOsvcBG.js} +1 -1
- package/dist/assets/{analyticsHelper-DXgEF5Aw.js → analyticsHelper-DNvULkv0.js} +1 -1
- package/dist/assets/{core-Bsrz_HO3.js → core-CGhI3jCZ.js} +1 -1
- package/dist/assets/{decodeURIComponentSafe-CO5SD6sS.js → decodeURIComponentSafe-CZEzMrgK.js} +1 -1
- package/dist/assets/{dnd-DQWt2Oqt.js → dnd-DKCsG5d8.js} +1 -1
- package/dist/assets/{empty-DkyZJno0.js → empty-BAfFi45J.js} +1 -1
- package/dist/assets/{empty-Jn9Yx-HD.js → empty-CzOjtD5w.js} +1 -1
- package/dist/assets/{emptyVideoElement-bn80pelP.js → emptyVideoElement-qqeUs6C2.js} +1 -1
- package/dist/assets/epic-CY0OxDpl.js +2 -0
- package/dist/assets/{getLocaleForTenant-DsTopByq.js → getLocaleForTenant-CsrZKOZW.js} +1 -1
- package/dist/assets/{index-BZoYXLsp.js → index-2FSYOFek.js} +1 -1
- package/dist/assets/{index-CwB6hQtw.js → index-BDBqjJWE.js} +1 -1
- package/dist/assets/{index-CYTNjdXt.js → index-BRtx8cu_.js} +1 -1
- package/dist/assets/{index-C8HyFXLI.js → index-Bio3vcCU.js} +2 -2
- package/dist/assets/{index-BLDAeN7R.js → index-DH8cVwcc.js} +1 -1
- package/dist/assets/{index-nqKyeDxx.js → index-DHmfzpvJ.js} +1 -1
- package/dist/assets/{index-CD3Zb4OY.js → index-DT4MXfVf.js} +16795 -15702
- package/dist/assets/{lexical-BINeBAQD.js → lexical-DT64qE89.js} +1 -1
- package/dist/assets/{liveblocks-D_qjMTev.js → liveblocks-CzlYoB8q.js} +1 -1
- package/dist/assets/{lottie-DsuJTV9-.js → lottie-CLMz6y3A.js} +1 -1
- package/dist/assets/{mui-B-WzuEhL.js → mui-ILn-Gd-L.js} +1 -1
- package/dist/assets/{pathToGoBack-D3h6Q2dm.js → pathToGoBack-B-0xWAao.js} +1 -1
- package/dist/assets/{pdf-CvaAggXr.js → pdf-CUf9xopY.js} +4 -4
- package/dist/assets/{pdf-lib-BPIedIxZ.js → pdf-lib-CWTnCbuI.js} +1 -1
- package/dist/assets/{plaid-D8D4m-Yi.js → plaid-D8caW90M.js} +1 -1
- package/dist/assets/{pusher-Jerb5Wwf.js → pusher-ChRriP4_.js} +1 -1
- package/dist/assets/{react-BKhVWO-J.js → react-BAtU9tgF.js} +1 -1
- package/dist/assets/{react-BXhXAucy.js → react-DJjQrdjO.js} +1 -1
- package/dist/assets/{react-DSTDk7nG.js → react-DSJG23We.js} +1 -1
- package/dist/assets/{react-DM_-ScVY.js → react-Dncm-YTr.js} +1 -1
- package/dist/assets/{react-BFe6OMY5.js → react-DoaQNmh0.js} +1 -1
- package/dist/assets/{react-V_2FFnGc.js → react-DyH9BXY-.js} +1 -1
- package/dist/assets/{recharts-DLyOpEqk.js → recharts-D6qS-pdV.js} +1 -1
- package/dist/assets/{routePaths-guUFi6jP.js → routePaths-C4fFm5dh.js} +1 -1
- package/dist/assets/{sentry-8G-PMI1Z.js → sentry-CNCwYM02.js} +1 -1
- package/dist/assets/{url-BJ82BmRR.js → url-CTEP03uL.js} +1 -1
- package/dist/assets/{url-lTh3vvoR.js → url-CWzi7k2i.js} +1 -1
- package/dist/assets/useAskAiCfoHostNavButtonProps-B8Pz--PX.js +1 -0
- package/dist/assets/{useDeviceId-BKsq__8n.js → useDeviceId-D_8GbJBB.js} +1 -1
- package/dist/assets/useFetchSuggestedQuestionsWhenReady-BKx6d-d7.js +1 -0
- package/dist/assets/useInitialThreadRequest-CdMafJlm.js +1 -0
- package/dist/assets/{utils-DwSP01dM.js → utils-zvjLmBW4.js} +1 -1
- package/dist/assets/{withTransactionSidePanel-DrkIOqqu.js → withTransactionSidePanel-DEEtwy0r.js} +3 -3
- package/dist/assets/zeni-epic-state-lenVK-tm.js +14 -0
- package/dist/index.html +1 -1
- package/package.json +4 -4
- package/dist/assets/AddressRoutes-BudgT9Tf.js +0 -1
- package/dist/assets/AddressScreen-B5JiBops.js +0 -9
- package/dist/assets/BillPayApprovalRoutes-Fbfb_MBf.js +0 -1
- package/dist/assets/BusinessVerificationPageScreen-CkoxiZjG.js +0 -9
- package/dist/assets/ConnectionAuthScreen-DaPsQep3.js +0 -11
- package/dist/assets/CustomerOnboardingAuthScreen-CSMxvlH4.js +0 -1
- package/dist/assets/DefaultTenantHome-D8exSt4J.js +0 -1
- package/dist/assets/DomesticWireDetailScreen-BR6zHu9V.js +0 -18
- package/dist/assets/DrawerScreen-DcvAr7RJ.js +0 -1
- package/dist/assets/EntityDetailRoutes-DCALdQfe.js +0 -1
- package/dist/assets/FeaturePreviewScreen-zKBzcSjH.js +0 -1
- package/dist/assets/MagicLinkRoutes-BB2uPUFV.js +0 -72
- package/dist/assets/MagicLinkSignInScreen-BvUxN4tf.js +0 -12
- package/dist/assets/MobileAppDrawer-B1UAm8wT.js +0 -1
- package/dist/assets/NotFoundScreen-7pgsDHD4.js +0 -1
- package/dist/assets/PandLWithForecastRoutes-B0-5KdjK.js +0 -1
- package/dist/assets/PeopleRoutes-BY_yNFRo.js +0 -22
- package/dist/assets/PerformanceRoutes-UoHT4j_3.js +0 -1
- package/dist/assets/ReferralListScreen-CLtUXrj_.js +0 -5
- package/dist/assets/ReimbursementApprovalRoutes-2Qd6Uiuj.js +0 -1
- package/dist/assets/RewardsRoutes-BKLXLgos.js +0 -1
- package/dist/assets/ScreenRoutes-q1FJ4qn-.js +0 -2
- package/dist/assets/SignOutScreen-BGFD6mSx.js +0 -9
- package/dist/assets/TaskListScreen-rthYiQl-.js +0 -9
- package/dist/assets/TaskRoutes-CMnVLLkj.js +0 -9
- package/dist/assets/TransactionDetailRoutes-Dic273qP.js +0 -1
- package/dist/assets/TransactionDetailScreen-BUEQCRRD.js +0 -5
- package/dist/assets/WiseConfirmationScreen-Cmyjb9h-.js +0 -12
- package/dist/assets/ZeniAccountStatementScreen-C4dXxS-n.js +0 -9
- package/dist/assets/epic-BrdclDjZ.js +0 -2
- package/dist/assets/useAskAiCfoHostNavButtonProps-V5qZeX-6.js +0 -1
- package/dist/assets/useFetchSuggestedQuestionsWhenReady-DZ4iI1Ee.js +0 -1
- package/dist/assets/useInitialThreadRequest-m86psU6G.js +0 -1
- package/dist/assets/zeni-epic-state-jNbR5Y4-.js +0 -14
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as s}from"./liveblocks-D_qjMTev.js";import{j as le,l as ia,h as ue,g as y,u as ge,k as pe,N as ga,q as lt,n as Kt,o as te}from"./core-Bsrz_HO3.js";import{eN as ie,bs as Ue,NZ as ka,eR as be,eS as ye,eT as Se,fO as ze,cq as $e,N_ as Ge,N$ as Ma,sL as ba,jy as ya,O0 as Sa,gC as oa,zd as Xe,zf as za,zg as $a,jo as ut,O1 as Ye,z1 as mt,O2 as Wt,O3 as qt,z4 as Da,O4 as Jt,Mq as _a,qX as Ct,za as Ga,gN as Qt,O5 as pt,O6 as Ze,bq as Xt,O7 as en,fz as wa,fy as Pa,zK as an,fx as Ta,M6 as tn,O8 as ht,cj as ft,cL as nn,Mp as da,Ak as rn,O9 as tt,zW as Fa,Oa as gt,Al as sn,MQ as on,Am as cn,Bg as dn,s5 as ln,Ba as un,zv as bt,zo as mn,Ob as Cn,fQ as pn,zE as yt,zI as St,fP as hn,Oc as fn,A6 as It,Od as gn,Oe as bn,Of as yn,zG as At,zr as Et,z7 as kt,zA as Dt,zy as _t,zC as Sn,ze as nt,Og as wt,Oh as va,zT as Ia,J5 as Pt,cM as Ya,Oi as In,Oj as An,Ok as En,Ol as kn,zQ as Na,Ad as Dn,A9 as _n,zM as wn,Ab as Pn,A1 as Tn,A3 as Fn,Om as Tt,Aj as Ft,GD as vn,On as xn,Oo as Ln,Op as On,Oq as vt,Or as Bn,AG as Un,zV as xt,zP as ca,zU as Rn,Os as jn,Ot as Nn,y_ as Vn,Ou as Lt,Ov as Ot,Ow as Hn,z0 as Mn,y$ as rt,Ox as zn,Oy as $n,Oz as Gn,J1 as Yn,OA as Za,OB as Zn,vB as Bt,k6 as Kn,gD as Wn,AL as qn,OC as Ut,OD as Jn,AM as Qn,OE as Xn,dc as er,sF as ar,AB as tr,Av as Be,bv as nr,bD as rr,cv as sr,bE as or,Ik as cr}from"./zeni-epic-state-jNbR5Y4-.js";import{z as X,j as je,a as ce,p as Y,B as Ke,bY as xa,c7 as ir,n as ve,c8 as dr,c9 as lr,q as la,aJ as Fe,s as fe,bf as Ka,ca as ur,F as ua,k as La,h as Wa,d as J,D as qa,cb as mr,am as Ja,br as Je,cc as Va,cd as Cr,A as Qa,a1 as pr,ce as hr,ap as Rt,Q as Ha,M as jt,f as Nt,cf as fr,cg as gr,ch as br,ci as yr,cj as Sr,o as Aa,ck as Ir,cl as Ar,cm as Ua,v as Er,cn as kr,co as Dr,cp as _r,cq as wr,a5 as Pr}from"./index-CD3Zb4OY.js";import{n as _e,D as Vt,S as Tr}from"./mui-B-WzuEhL.js";import{a as i}from"./sentry-8G-PMI1Z.js";import{g as Ce,a as ma,b as Ht,c as Ie,d as Ae,e as Re,f as Ne,A as Fr,h as Xa,P as vr,i as et,s as Qe,j as Mt,k as Me,l as zt,m as xr,n as $t,p as Lr,S as st}from"./SetupPagesScreen-kg92bsGG.js";import Oa from"./NotFoundScreen-7pgsDHD4.js";import{M as Ca}from"./MobileAppDrawer-B1UAm8wT.js";import{u as Gt}from"./useAskAiCfoHostNavButtonProps-V5qZeX-6.js";import{c as Yt}from"./useFetchSuggestedQuestionsWhenReady-DZ4iI1Ee.js";import{v as ot}from"./utils-DwSP01dM.js";import{t as Or}from"./AddressScreen-B5JiBops.js";import"./recharts-DLyOpEqk.js";import"./analytics-6quGmcJ9.js";import"./plaid-D8D4m-Yi.js";import"./dnd-DQWt2Oqt.js";import"./stripe-DMRn4zHo.js";import"./lottie-DsuJTV9-.js";import"./lexical-BINeBAQD.js";import"./pdf-CvaAggXr.js";import"./analyticsHelper-DXgEF5Aw.js";import"./routePaths-guUFi6jP.js";import"./BusinessVerificationPageScreen-CkoxiZjG.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="52dc4d9e-21eb-4f03-8b06-b680f05d8ba3",e._sentryDebugIdIdentifier="sentry-dbid-52dc4d9e-21eb-4f03-8b06-b680f05d8ba3")}catch{}})();function Br(){const e=le(),{cardId:t}=ia(),a=ue(),r=X.getSignedInUser(),n=y(Q=>ie(Q)),m=je(),C=Ue(m?.loggedInUserRoleMap),{useFeatureGate:p}=ce();if(r==null)throw Error("Can't access Add To Wallet Page without signing in...");const[S,o]=i.useState(!1),c=y(Q=>ka(Q).firstViewAfterActivation);if(t==null)throw Error("Empty card id is not valid...");const _=n.userRole.includes("charge_card_user"),{isFeatureEnabled:A}=p(Y.isChargeCardFeatureEnabled),f=!!n.companyChargeCardInfo?.info?.isChargeCardEnabled,{isFeatureEnabled:U}=p(Y.isDebitCardFeatureEnabled),F=be(n),k=ye(n),h=Se(U,n),b=n.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,g=Ie({isDebitCardFeatureEnabled:U,isBankingOnlyTenant:h}),d=Ae({isCardsOnlyTenant:F,isChargeCardFeatureEnabled:A,isBookKeepingTenant:k,isDebitCardProductVisible:g,chargeCardsCreditAccountLimit:b}),D=!!n.companyDebitCardInfo?.info?.isDebitCardEnabled,v=y(Q=>ze(Q,n.companyId)),j=$e(v.controllers),{creditAccount:O,creditAccountRepayment:P}=y(Q=>Ge(Q)),V=y(Q=>Q.classListState.fetchState),u=!_&&d&&f,l=y(Q=>Ma(Q,t,u,d)),[w,T]=i.useState(!1),H=l.chargeCard,B=H?.cardCreatedByUser?.userId,K=y(Q=>B!=null?ba(Q.userRoleState,B):void 0),I=K?.accountingClassIDs[0],L=y(Q=>I!=null?ya(Q.classState,{classId:I,reportId:"class_list"}):void 0),N=H?.cardHolderUser?.userId,R=y(Q=>N!=null?ba(Q.userRoleState,N):void 0),W=R?.accountingClassIDs[0],E=y(Q=>W!=null?ya(Q.classState,{classId:W,reportId:"class_list"}):void 0),G=H?.type.code==="business_physical_credit_card"||H?.type.code==="business_physical_debit_card",q=H?.type.code==="business_physical_debit_card";i.useEffect(()=>{c&&S===!1&&G&&(o(!0),setTimeout(()=>{a(Sa()),q&&a(oa({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))},5e3))},[c,S,G,q]),i.useEffect(()=>{w||l.fetchState==="Completed"||l.fetchState==="In-Progress"||t==null||(T(!0),a(Xe(t,u,!1)))},[w,l,t,a]),i.useEffect(()=>{if(l.fetchState==="Completed"&&(G===!1||G&&H?.status?.code!=="active"||H?.cardHolderUserId!==r.userId||c===!1&&S===!1||H?.type.code==="business_physical_debit_card"||H?.type.code==="business_virtual_debit_card")){const Q=Ce(n.tenantEmailDomain,t,r,H,c);e(Q)}},[l.fetchState,c,G]),i.useEffect(()=>{O.fetchState!=="Completed"&&O.fetchState!=="In-Progress"&&d&&f&&C&&a(za()),P.fetchState!=="Completed"&&P.fetchState!=="In-Progress"&&d&&f&&C&&a($a()),V!=="Completed"&&V!=="In-Progress"&&a(ut())},[O.fetchState,P.fetchState,a,d,f,C,V]);const $=()=>{if(r!=null&&t!=null){a(Sa());const Q=Ce(n.tenantEmailDomain,t,r);e(Q)}},x=H?.type.code==="business_physical_debit_card"||H?.type.code==="business_virtual_debit_card",se=Re(d,g,D,f),ae=ma(d,f,C,O,P),ne=Ht(x,l);return l.fetchState!=="Completed"?s.jsx(Ke,{fetchState:"In-Progress"}):s.jsxs(s.Fragment,{children:[s.jsx(xa,{showConfetti:c}),s.jsx(ir,{onGotItClick:$,isDebitCard:H?.type.code==="business_physical_debit_card",controllerEmails:j,isChargeCardFeatureEnabled:d,isDebitCardFeatureEnabled:g,isDebitCardSetupEnabled:D,isChargeCardSetupEnabled:f,productInformation:se,creditAccountInformation:ae,debitAccountInformation:ne,chargeCardDetailView:l,creditAccount:O,classListFetchState:V,creditAccountRepayment:P,cardIssuedByRoles:K?.userRoles,cardIssuedByDepartmentName:L?.className,cardHolderRoles:R?.userRoles,cardHolderDepartmentName:E?.className})]})}const Ur=pe(function(e){const t=Ye(e);return{insightsData:t.insight,cashbackByPeriod:t.cashbackByPeriod,uiState:t.uiState,cashbackSummary:t.cashbackSummary}},function(e){return{onColumnSortConfigChanged:(t,a)=>{e(Wt({uiState:{sortKey:t,sortOrder:a}}))}}})(lr);function Rr(){const e=le(),t=ue(),a=ge(),r=X.getSignedInUser(),n=y(o=>ie(o)),[m,C]=i.useState(!1),p=y(o=>Ye(o)),S=i.useCallback(()=>{const o=ve(a.state?.pathnameStackToGoBack),c=o.poppedPathname??jr(n.tenantEmailDomain);e(c,{state:{pathnameStackToGoBack:o.newStack}})},[e,a,n.tenantEmailDomain]);if(i.useEffect(()=>{m||p.fetchState==="Completed"||p.fetchState==="In-Progress"||(C(!0),t(mt()))},[m,p,t]),r==null)throw Error("Can't access cashback detail page without signing in...");return p.fetchState==="In-Progress"?s.jsx(dr,{onBackClick:S}):p.cashbackSummary.cashbackEarned.amount===0&&p.fetchState==="Completed"?s.jsx(Oa,{}):s.jsx(Ur,{onBackClick:S})}const jr=e=>`/${e}/cards`,Nr={containerWidth:new ua(100,58)},Vr=({appContent:e})=>{const t=la(),a=ue(),r=le(),{cardId:n}=ia(),m=ge(),{useDynamicConfig:C}=ce(),[p,S]=i.useState(!1),[o,c]=i.useState(!1),[_,A]=i.useState(!1),[f,U]=i.useState(!1),F=X.getSignedInUser();if(F==null)throw Error("Can't access onboarding card page without signing in...");const k=y(E=>ie(E));if(n==null)throw Error("Empty card id is not valid...");const{configValue:h}=C(Fe.zeniCardsConfig),b=h.max_charge_card_activation_attempts_by_card_id,g=y(E=>qt(E,n)),d=g.chargeCard,D=y(E=>E.chargeCardConfigState.fetchState),{useFeatureGate:v}=ce(),{isFeatureEnabled:j}=v(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:O}=v(Y.isDebitCardFeatureEnabled),P=Se(O,k),V=Ie({isDebitCardFeatureEnabled:O,isBankingOnlyTenant:P}),u=!!k.companyChargeCardInfo?.info?.isChargeCardEnabled,l=k.userRole.includes("charge_card_user"),w=be(k),T=ye(k),H=k.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,B=Ae({isCardsOnlyTenant:w,isChargeCardFeatureEnabled:j,isBookKeepingTenant:T,isDebitCardProductVisible:V,chargeCardsCreditAccountLimit:H}),K=!l&&B&&u;i.useEffect(()=>{p===!1&&D!=="In-Progress"&&D!=="Completed"&&(a(Da()),S(!0)),o===!1&&g.fetchState==="Not-Started"&&(c(!0),a(Xe(n,K,B)))},[o,g.fetchState,p,D]);const I=d?.type.code==="business_physical_credit_card"||d?.type.code==="business_physical_debit_card";i.useEffect(()=>{if(g.fetchState==="Completed"){if(_===!1&&(I===!1||I&&d?.status?.code!=="inactive"||d?.cardHolderUserId!==F.userId)){const E=Ce(k.tenantEmailDomain,n,F,d,!0),G=fe(m.state?.pathnameStackToGoBack,m.pathname);r(E,{state:{pathnameStackToGoBack:G}})}else if(_&&g.isRefreshingViewInBackground===!1&&d?.status?.code==="active"){a(Jt({chargeCardId:n}));const E=Ce(k.tenantEmailDomain,n,F,d,!0),G=fe(m.state?.pathnameStackToGoBack,m.pathname);a(_a()),r(E,{state:{pathnameStackToGoBack:G}})}}},[g.fetchState,d?.type.code,_,g.isRefreshingViewInBackground]);const L=X.getZeniOtpTokenForCardHolder(n),N=y(E=>Ct(E.userState,F.userId)),R=()=>{d?.status?.code!=="active"&&a(Ga(n,!0))};i.useEffect(()=>{g.updatePhysicalChargeCardAttemptFetchState.fetchState==="Completed"&&d?.cardActivationAttemptHistory.some(E=>E.statusCode==="success")===!0&&_===!1&&(setTimeout(R,3e3),A(!0))},[g.updatePhysicalChargeCardAttemptFetchState.fetchState,d?.cardActivationAttemptHistory]);const W=E=>{U(E)};if(D!=="Completed"||d==null)return s.jsx(Ke,{fetchState:"In-Progress"});if(d.shippingAddressId==null)throw Error("Can't access shippingAddressId.");if(N?.phone==null)throw Error("Can't access user phone number.");return s.jsxs(zr,{children:[s.jsx(Ca,{isAppContentDrawerOpen:f,handleDrawerToggle:W}),s.jsx(Hr,{cardId:n,card:d,shippingAddressId:d.shippingAddressId,phone:N.phone,signedInUser:F,isSandboxEnv:Ka(),chargeCardDetailState:g,signedInUserToken:L,navigate:r,currentTenant:k,location:m,maxChargeCardActivationAttempts:b[n]!=null?b[n]:h.default_max_charge_card_activation_attempts!=null?h.default_max_charge_card_activation_attempts:3,chargeCardCashbackRatePerTransaction:h.charge_card_cashback_rate_per_transaction!=null?h.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{W(!0)}}),e!=null?s.jsx(Mr,{windowSize:t,children:e}):null]})},Hr=pe(function(e,{chargeCardDetailState:t,shippingAddressId:a,location:r,cardId:n}){const m=Qt(e.addressState,a);if(m==null)throw Error("Can't access shippingAddress.");const C=pt(e,n),p=t.updateStatus,S=Ze(e,!1,!1,!1);let o=!1;S.fetchState==="Completed"&&S.cards.length<=1&&(o=!0);const c=r.state?.message==="comingFromV2UrlPath";return{showActivatePage:t.chargeCard?.providerCardCreateTime!=null&&t.chargeCard.providerCardCreateTime.add(24,"h").isBefore(Xt())||c,showMenuIcon:o,shippingAddress:m,vgsVaultId:La.cardVaultId,twoFAView:C,activationWaitStatus:p,isRefreshingViewInBackground:t.isRefreshingViewInBackground}},function(e,t){const{navigate:a,cardId:r,location:n,currentTenant:m,chargeCardDetailState:C}=t,p=C.chargeCard?.cardProviderID,{tenantEmailDomain:S}=m;return{onGetOtp:o=>{p!=null&&e(Ta(o,"ChargeCardHolder",r))},onUpdatePhysicalChargeCardAttempt:o=>{e(an(r,o))},onResendOtp:o=>{p!=null&&e(Pa(o,"ChargeCardHolder",r))},onVerifyOtp:(o,c)=>{p!=null&&e(wa(o,c,"ChargeCardHolder",r))},onVerifyOtpSuccess:o=>{o!=null&&X.saveZeniOtpTokenForCardHolder(o,r)},onCVVActivateSuccess:()=>{e(en({chargeCardId:r}))},onBackClick:()=>{const o=ve(n.state?.pathnameStackToGoBack),c=o.poppedPathname==null||o.poppedPathname.includes("onboard")===!0?Ne(S):o.poppedPathname;a(c,{state:{pathnameStackToGoBack:o.newStack}})}}})(ur),Mr=_e.div`
|
|
1
|
+
import{j as s}from"./liveblocks-CzlYoB8q.js";import{j as le,l as ia,h as ue,g as y,u as ge,k as pe,N as ga,q as lt,n as Kt,o as te}from"./core-CGhI3jCZ.js";import{eO as ie,bs as Re,Oc as ka,eS as be,eT as ye,eU as Se,fP as ze,cr as Ge,Od as $e,Oe as Ma,sM as ba,jz as ya,Of as Sa,gD as oa,ze as Xe,zg as za,zh as Ga,jp as ut,Og as Ye,z2 as mt,Oh as Wt,Oi as qt,z5 as Da,Oj as Qt,MF as _a,qY as Ct,zb as $a,gO as Jt,Ok as pt,Ol as Ze,bq as Xt,Om as en,fA as wa,fz as Pa,zL as an,fy as Ta,Ml as tn,On as ht,ck as ft,cM as nn,ME as da,Al as rn,Oo as tt,zX as Fa,Op as gt,Am as sn,N3 as on,An as cn,Bh as dn,s6 as ln,Bb as un,zw as bt,zp as mn,Oq as Cn,fR as pn,zF as yt,zJ as St,fQ as hn,Or as fn,A7 as It,Os as gn,Ot as bn,Ou as yn,zH as At,zs as Et,z8 as kt,zB as Dt,zz as _t,zD as Sn,zf as nt,Ov as wt,Ow as va,zU as Ia,Jk as Pt,cN as Ya,Ox as In,Oy as An,Oz as En,OA as kn,zR as Na,Ae as Dn,Aa as _n,zN as wn,Ac as Pn,A2 as Tn,A4 as Fn,OB as Tt,Ak as Ft,GS as vn,OC as On,OD as xn,OE as Bn,OF as vt,OG as Ln,AH as Rn,zW as Ot,zQ as ca,zV as Un,OH as jn,OI as Nn,y$ as Vn,OJ as xt,OK as Bt,OL as Hn,z1 as Mn,z0 as rt,OM as zn,ON as Gn,OO as $n,Jg as Yn,OP as Za,OQ as Zn,vC as Lt,k7 as Kn,gE as Wn,AM as qn,OR as Rt,OS as Qn,AN as Jn,OT as Xn,dd as er,sG as ar,AC as tr,Aw as Le,bv as nr,bE as rr,cw as sr,bF as or,Iz as cr}from"./zeni-epic-state-lenVK-tm.js";import{z as X,I as je,x as ce,c as Y,B as Ke,bY as Oa,c7 as ir,q as ve,c8 as dr,c9 as lr,Z as la,aJ as Fe,s as fe,bf as Ka,ca as ur,E as ua,k as xa,h as Wa,d as Q,D as qa,cb as mr,am as Qa,br as Qe,cc as Va,cd as Cr,A as Ja,a2 as pr,ce as hr,ap as Ut,T as Ha,N as jt,f as Nt,cf as fr,cg as gr,ch as br,ci as yr,cj as Sr,o as Aa,ck as Ir,cl as Ar,cm as Ra,v as Er,cn as kr,co as Dr,cp as _r,cq as wr,a5 as Pr}from"./index-DT4MXfVf.js";import{n as _e,D as Vt,S as Tr}from"./mui-ILn-Gd-L.js";import{a as i}from"./sentry-CNCwYM02.js";import{g as Ce,a as ma,b as Ht,c as Ie,d as Ae,e as Ue,f as Ne,A as Fr,h as Xa,P as vr,i as et,s as Je,j as Mt,k as Me,l as zt,m as Or,n as Gt,p as xr,S as st}from"./SetupPagesScreen-QyIIGt5H.js";import Ba from"./NotFoundScreen-DmUDPIT7.js";import{M as Ca}from"./MobileAppDrawer-BT6_YvGi.js";import{u as $t}from"./useAskAiCfoHostNavButtonProps-B8Pz--PX.js";import{c as Yt}from"./useFetchSuggestedQuestionsWhenReady-BKx6d-d7.js";import{v as ot}from"./utils-zvjLmBW4.js";import{t as Br}from"./AddressScreen-CEJ2EDwb.js";import"./recharts-D6qS-pdV.js";import"./analytics-CQOsvcBG.js";import"./plaid-D8caW90M.js";import"./dnd-DKCsG5d8.js";import"./stripe-DMRn4zHo.js";import"./lottie-CLMz6y3A.js";import"./lexical-DT64qE89.js";import"./pdf-CUf9xopY.js";import"./analyticsHelper-DNvULkv0.js";import"./routePaths-C4fFm5dh.js";import"./BusinessVerificationPageScreen-D1YPo8Z4.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="004bfa2e-823c-411f-b5ed-5a8d624307b5",e._sentryDebugIdIdentifier="sentry-dbid-004bfa2e-823c-411f-b5ed-5a8d624307b5")}catch{}})();function Lr(){const e=le(),{cardId:t}=ia(),a=ue(),r=X.getSignedInUser(),n=y(J=>ie(J)),m=je(),C=Re(m?.loggedInUserRoleMap),{useFeatureGate:p}=ce();if(r==null)throw Error("Can't access Add To Wallet Page without signing in...");const[S,o]=i.useState(!1),c=y(J=>ka(J).firstViewAfterActivation);if(t==null)throw Error("Empty card id is not valid...");const _=n.userRole.includes("charge_card_user"),{isFeatureEnabled:A}=p(Y.isChargeCardFeatureEnabled),f=!!n.companyChargeCardInfo?.info?.isChargeCardEnabled,{isFeatureEnabled:R}=p(Y.isDebitCardFeatureEnabled),F=be(n),k=ye(n),h=Se(R,n),b=n.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,g=Ie({isDebitCardFeatureEnabled:R,isBankingOnlyTenant:h}),d=Ae({isCardsOnlyTenant:F,isChargeCardFeatureEnabled:A,isBookKeepingTenant:k,isDebitCardProductVisible:g,chargeCardsCreditAccountLimit:b}),D=!!n.companyDebitCardInfo?.info?.isDebitCardEnabled,v=y(J=>ze(J,n.companyId)),j=Ge(v.controllers),{creditAccount:B,creditAccountRepayment:P}=y(J=>$e(J)),V=y(J=>J.classListState.fetchState),u=!_&&d&&f,l=y(J=>Ma(J,t,u,d)),[w,T]=i.useState(!1),H=l.chargeCard,L=H?.cardCreatedByUser?.userId,K=y(J=>L!=null?ba(J.userRoleState,L):void 0),I=K?.accountingClassIDs[0],x=y(J=>I!=null?ya(J.classState,{classId:I,reportId:"class_list"}):void 0),N=H?.cardHolderUser?.userId,U=y(J=>N!=null?ba(J.userRoleState,N):void 0),W=U?.accountingClassIDs[0],E=y(J=>W!=null?ya(J.classState,{classId:W,reportId:"class_list"}):void 0),$=H?.type.code==="business_physical_credit_card"||H?.type.code==="business_physical_debit_card",q=H?.type.code==="business_physical_debit_card";i.useEffect(()=>{c&&S===!1&&$&&(o(!0),setTimeout(()=>{a(Sa()),q&&a(oa({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))},5e3))},[c,S,$,q]),i.useEffect(()=>{w||l.fetchState==="Completed"||l.fetchState==="In-Progress"||t==null||(T(!0),a(Xe(t,u,!1)))},[w,l,t,a]),i.useEffect(()=>{if(l.fetchState==="Completed"&&($===!1||$&&H?.status?.code!=="active"||H?.cardHolderUserId!==r.userId||c===!1&&S===!1||H?.type.code==="business_physical_debit_card"||H?.type.code==="business_virtual_debit_card")){const J=Ce(n.tenantEmailDomain,t,r,H,c);e(J)}},[l.fetchState,c,$]),i.useEffect(()=>{B.fetchState!=="Completed"&&B.fetchState!=="In-Progress"&&d&&f&&C&&a(za()),P.fetchState!=="Completed"&&P.fetchState!=="In-Progress"&&d&&f&&C&&a(Ga()),V!=="Completed"&&V!=="In-Progress"&&a(ut())},[B.fetchState,P.fetchState,a,d,f,C,V]);const G=()=>{if(r!=null&&t!=null){a(Sa());const J=Ce(n.tenantEmailDomain,t,r);e(J)}},O=H?.type.code==="business_physical_debit_card"||H?.type.code==="business_virtual_debit_card",se=Ue(d,g,D,f),ae=ma(d,f,C,B,P),ne=Ht(O,l);return l.fetchState!=="Completed"?s.jsx(Ke,{fetchState:"In-Progress"}):s.jsxs(s.Fragment,{children:[s.jsx(Oa,{showConfetti:c}),s.jsx(ir,{onGotItClick:G,isDebitCard:H?.type.code==="business_physical_debit_card",controllerEmails:j,isChargeCardFeatureEnabled:d,isDebitCardFeatureEnabled:g,isDebitCardSetupEnabled:D,isChargeCardSetupEnabled:f,productInformation:se,creditAccountInformation:ae,debitAccountInformation:ne,chargeCardDetailView:l,creditAccount:B,classListFetchState:V,creditAccountRepayment:P,cardIssuedByRoles:K?.userRoles,cardIssuedByDepartmentName:x?.className,cardHolderRoles:U?.userRoles,cardHolderDepartmentName:E?.className})]})}const Rr=pe(function(e){const t=Ye(e);return{insightsData:t.insight,cashbackByPeriod:t.cashbackByPeriod,uiState:t.uiState,cashbackSummary:t.cashbackSummary}},function(e){return{onColumnSortConfigChanged:(t,a)=>{e(Wt({uiState:{sortKey:t,sortOrder:a}}))}}})(lr);function Ur(){const e=le(),t=ue(),a=ge(),r=X.getSignedInUser(),n=y(o=>ie(o)),[m,C]=i.useState(!1),p=y(o=>Ye(o)),S=i.useCallback(()=>{const o=ve(a.state?.pathnameStackToGoBack),c=o.poppedPathname??jr(n.tenantEmailDomain);e(c,{state:{pathnameStackToGoBack:o.newStack}})},[e,a,n.tenantEmailDomain]);if(i.useEffect(()=>{m||p.fetchState==="Completed"||p.fetchState==="In-Progress"||(C(!0),t(mt()))},[m,p,t]),r==null)throw Error("Can't access cashback detail page without signing in...");return p.fetchState==="In-Progress"?s.jsx(dr,{onBackClick:S}):p.cashbackSummary.cashbackEarned.amount===0&&p.fetchState==="Completed"?s.jsx(Ba,{}):s.jsx(Rr,{onBackClick:S})}const jr=e=>`/${e}/cards`,Nr={containerWidth:new ua(100,58)},Vr=({appContent:e})=>{const t=la(),a=ue(),r=le(),{cardId:n}=ia(),m=ge(),{useDynamicConfig:C}=ce(),[p,S]=i.useState(!1),[o,c]=i.useState(!1),[_,A]=i.useState(!1),[f,R]=i.useState(!1),F=X.getSignedInUser();if(F==null)throw Error("Can't access onboarding card page without signing in...");const k=y(E=>ie(E));if(n==null)throw Error("Empty card id is not valid...");const{configValue:h}=C(Fe.zeniCardsConfig),b=h.max_charge_card_activation_attempts_by_card_id,g=y(E=>qt(E,n)),d=g.chargeCard,D=y(E=>E.chargeCardConfigState.fetchState),{useFeatureGate:v}=ce(),{isFeatureEnabled:j}=v(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:B}=v(Y.isDebitCardFeatureEnabled),P=Se(B,k),V=Ie({isDebitCardFeatureEnabled:B,isBankingOnlyTenant:P}),u=!!k.companyChargeCardInfo?.info?.isChargeCardEnabled,l=k.userRole.includes("charge_card_user"),w=be(k),T=ye(k),H=k.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,L=Ae({isCardsOnlyTenant:w,isChargeCardFeatureEnabled:j,isBookKeepingTenant:T,isDebitCardProductVisible:V,chargeCardsCreditAccountLimit:H}),K=!l&&L&&u;i.useEffect(()=>{p===!1&&D!=="In-Progress"&&D!=="Completed"&&(a(Da()),S(!0)),o===!1&&g.fetchState==="Not-Started"&&(c(!0),a(Xe(n,K,L)))},[o,g.fetchState,p,D]);const I=d?.type.code==="business_physical_credit_card"||d?.type.code==="business_physical_debit_card";i.useEffect(()=>{if(g.fetchState==="Completed"){if(_===!1&&(I===!1||I&&d?.status?.code!=="inactive"||d?.cardHolderUserId!==F.userId)){const E=Ce(k.tenantEmailDomain,n,F,d,!0),$=fe(m.state?.pathnameStackToGoBack,m.pathname);r(E,{state:{pathnameStackToGoBack:$}})}else if(_&&g.isRefreshingViewInBackground===!1&&d?.status?.code==="active"){a(Qt({chargeCardId:n}));const E=Ce(k.tenantEmailDomain,n,F,d,!0),$=fe(m.state?.pathnameStackToGoBack,m.pathname);a(_a()),r(E,{state:{pathnameStackToGoBack:$}})}}},[g.fetchState,d?.type.code,_,g.isRefreshingViewInBackground]);const x=X.getZeniOtpTokenForCardHolder(n),N=y(E=>Ct(E.userState,F.userId)),U=()=>{d?.status?.code!=="active"&&a($a(n,!0))};i.useEffect(()=>{g.updatePhysicalChargeCardAttemptFetchState.fetchState==="Completed"&&d?.cardActivationAttemptHistory.some(E=>E.statusCode==="success")===!0&&_===!1&&(setTimeout(U,3e3),A(!0))},[g.updatePhysicalChargeCardAttemptFetchState.fetchState,d?.cardActivationAttemptHistory]);const W=E=>{R(E)};if(D!=="Completed"||d==null)return s.jsx(Ke,{fetchState:"In-Progress"});if(d.shippingAddressId==null)throw Error("Can't access shippingAddressId.");if(N?.phone==null)throw Error("Can't access user phone number.");return s.jsxs(zr,{children:[s.jsx(Ca,{isAppContentDrawerOpen:f,handleDrawerToggle:W}),s.jsx(Hr,{cardId:n,card:d,shippingAddressId:d.shippingAddressId,phone:N.phone,signedInUser:F,isSandboxEnv:Ka(),chargeCardDetailState:g,signedInUserToken:x,navigate:r,currentTenant:k,location:m,maxChargeCardActivationAttempts:b[n]!=null?b[n]:h.default_max_charge_card_activation_attempts!=null?h.default_max_charge_card_activation_attempts:3,chargeCardCashbackRatePerTransaction:h.charge_card_cashback_rate_per_transaction!=null?h.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{W(!0)}}),e!=null?s.jsx(Mr,{windowSize:t,children:e}):null]})},Hr=pe(function(e,{chargeCardDetailState:t,shippingAddressId:a,location:r,cardId:n}){const m=Jt(e.addressState,a);if(m==null)throw Error("Can't access shippingAddress.");const C=pt(e,n),p=t.updateStatus,S=Ze(e,!1,!1,!1);let o=!1;S.fetchState==="Completed"&&S.cards.length<=1&&(o=!0);const c=r.state?.message==="comingFromV2UrlPath";return{showActivatePage:t.chargeCard?.providerCardCreateTime!=null&&t.chargeCard.providerCardCreateTime.add(24,"h").isBefore(Xt())||c,showMenuIcon:o,shippingAddress:m,vgsVaultId:xa.cardVaultId,twoFAView:C,activationWaitStatus:p,isRefreshingViewInBackground:t.isRefreshingViewInBackground}},function(e,t){const{navigate:a,cardId:r,location:n,currentTenant:m,chargeCardDetailState:C}=t,p=C.chargeCard?.cardProviderID,{tenantEmailDomain:S}=m;return{onGetOtp:o=>{p!=null&&e(Ta(o,"ChargeCardHolder",r))},onUpdatePhysicalChargeCardAttempt:o=>{e(an(r,o))},onResendOtp:o=>{p!=null&&e(Pa(o,"ChargeCardHolder",r))},onVerifyOtp:(o,c)=>{p!=null&&e(wa(o,c,"ChargeCardHolder",r))},onVerifyOtpSuccess:o=>{o!=null&&X.saveZeniOtpTokenForCardHolder(o,r)},onCVVActivateSuccess:()=>{e(en({chargeCardId:r}))},onBackClick:()=>{const o=ve(n.state?.pathnameStackToGoBack),c=o.poppedPathname==null||o.poppedPathname.includes("onboard")===!0?Ne(S):o.poppedPathname;a(c,{state:{pathnameStackToGoBack:o.newStack}})}}})(ur),Mr=_e.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
width: ${e=>`${Nr.containerWidth.value(e.windowSize)}%`};
|
|
@@ -11,18 +11,18 @@ import{j as s}from"./liveblocks-D_qjMTev.js";import{j as le,l as ia,h as ue,g as
|
|
|
11
11
|
flex-direction: column;
|
|
12
12
|
align-items: center;
|
|
13
13
|
background-color: ${e=>e.theme.colors.grey4};
|
|
14
|
-
`,Ea=qa.getLocalizedStrings().dateFormat
|
|
14
|
+
`,Ea=qa.getLocalizedStrings().dateFormat,Gr={overlayWidth:new ua(100,100,58)},$r=pe(function(e,t){const a=t.currentTenant?.companyId;return{plaidConnectionDetails:on(e,a,"zeni_accounts","external_account").plaidConnectionDetails,depositAccountListView:cn(e.depositAccountState,e.depositAccountListState)}},function(e,t){const{navigate:a,currentTenant:r,hasZeniAccountsAdminAccess:n,isZeniAccountsUser:m,isCashbackInfoFetchStateCompleted:C,isCreditCardInfoFetchStateCompleted:p,isDebitCardInfoFetchStateCompleted:S,controllerEmails:o,paymentDetails:c,productInformation:_,cashbackInformation:A,paymentSourceInformation:f,creditAccountInformation:R,debitAccountInformation:F,paymentInitiatedDate:k,sourcePage:h}=t,{tenantEmailDomain:b}=r;return{onBackNavigation:()=>{if(C&&p&&S&&A!=null&&Q.trackCardsPayEarlyFormClick(o,_,A,"Back",c.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:c.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:c.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:c.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:c.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:k?.add(3,"day").format(Ea.visual.MMMDCommaYYYYformat),paymentInitiatedDate:k?.format(Ea.visual.MMMDCommaYYYYformat)},f,R,F),h==="cardPaymentHistory")t.closeDrawerHandler(!0),e(gt());else{const g=Ne(b);a(g)}},onUpdatePaymentAccountStatus:(g,d,D)=>{e(un(g,d,"bill_pay","bill_pay_detail",D))},onEstablishConnectionSuccess:()=>{e(Fa(r.companyId,!0))},onFetchLinkTokenClick:g=>{e(ln("external_account",g))},onEstablishConnectionClick:g=>{e(dn(g,r.companyId,"charge_card_payment","charge_cards"))},onSignUpAccountClick:()=>{n?window.open(`/${b}/checking/promo`,"_blank"):window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")},onMoveMoneyClick:()=>{m?window.open(`/${b}/checking/transfer`):window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")}}})(mr),at=({isPaymentDrawerOpen:e,closeDrawerHandler:t,pageName:a,creditAccountSpentAmount:r,productInformation:n,sourcePage:m,creditAccountInformation:C,debitAccountInformation:p,cashbackInformation:S,isDebitCardInfoFetchStateCompleted:o,isCreditCardInfoFetchStateCompleted:c,isCashbackInfoFetchStateCompleted:_,paymentInitiatedDate:A,retryRepayment:f})=>{const R=le(),{useDynamicConfig:F}=ce(),{configValue:k}=F(Fe.zeniAccountsConfig),h=tn(k),b=y(G=>ht(G)),{creditAccount:g}=y(G=>$e(G)),d=y(G=>ie(G)),D=Wa(),v=la(),j=ue(),B=X.getSignedInUser(),P=je(),[V,u]=i.useState(!1),[l,w]=i.useState(!1),{configValue:T}=F(Fe.zeniCardsConfig),H=T.credit_card_auto_pay_threshold_by_company_id?.[d.companyId]??T.default_credit_card_auto_pay_threshold??Fr,L=ft(P?.loggedInUserRoleMap),K=nn(P?.loggedInUserRoleMap),I=!!d.companyZeniAccountInfo?.info?.isZeniAccountEnabled,x=y(G=>da(G,d.companyId)),N=x.companyChargeCardInfo?.primaryFundingAccount,U=x.allFundingAccounts.find(G=>G.id===N?.accountId),W=y(G=>ze(G,d.companyId)),E=Ge(W.controllers);i.useEffect(()=>{if(b.fetchState!=="Completed"&&b.fetchState!=="In-Progress"&&j(rn()),b.fetchState==="Completed"&&!l){const G=d.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,O=b.transferFromAccounts.find(ae=>ae.id===G);let se;if(m==="cardPaymentHistory"&&f){const ae=f.paymentAccountId!=null?b.transferFromAccounts.find(ne=>ne.id===f.paymentAccountId):void 0;se={amount:f.amount,isAutoRepayment:d.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:ot(),transferFrom:ae??O}}else se={amount:{amount:g.balance.amount+g.hold.amount,currencyCode:g.balance.currencyCode,currencySymbol:g.balance.currencySymbol},isAutoRepayment:d.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:ot(),transferFrom:O};j(tt(se)),w(!0)}},[b.fetchState,l,m,f,b.transferFromAccounts,d.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,d.companyChargeCardInfo?.info?.isAutoPayEnabled,g.balance.amount,g.balance.currencyCode,g.balance.currencySymbol,g.hold.amount,j]);const $={isZeniCheckingEnabled:d.companyZeniAccountInfo?.info?.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:U?.accType==="depositAccount",creditCardPaymentSourceAccountName:U?.label,creditCardPaymentSourceAccountType:U?.accType,creditCardPaymentSourceLastFourDigits:U?.accountLast4,creditCardPaymentSourceBalance:U?.accountBalance?.available?.amount??0};if(i.useEffect(()=>{x.fetchState!=="Completed"&&x.fetchState!=="In-Progress"&&j(Fa(d.companyId,!0))},[x.fetchState]),i.useEffect(()=>{b.updateStatus==="Completed"&&S!=null&&_&&c&&o&&Q.trackCardsPayEarlyPayNowClick(E,n,S,b.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:b.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:b.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:b.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:b.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:A?.add(3,"day").format(Ea.visual.MMMDCommaYYYYformat),paymentInitiatedDate:A?.format(Ea.visual.MMMDCommaYYYYformat)},$,C,p)},[b.updateStatus,S,_,c,o,A]),i.useEffect(()=>{b.fetchState==="Completed"&&S!=null&&_&&c&&o&&!V&&e&&l&&S!=null&&(Q.trackCardsPayEarlyFormView(E,n,S,a,d.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,g.balance.amount,$,C,p),u(!0))},[b,_,c,o,V,e,l]),B==null)throw Error("Can't access invite people page without signing in...");const q=()=>{t(!0),j(gt())};return s.jsx(s.Fragment,{children:s.jsx(Vt,{onClose:()=>{q()},anchor:"right",transitionDuration:250,open:e,PaperProps:{style:{width:Gr.overlayWidth.valuePercentage(v),boxShadow:"none"}},slotProps:{backdrop:{style:{backgroundColor:D.colors.black,opacity:.75,cursor:"pointer"}}},children:s.jsx(Yr,{onClick:G=>G.stopPropagation(),children:s.jsx($r,{closeDrawerHandler:t,navigate:R,paymentDetails:b,creditAccountSpentAmount:r,onTransferClick:()=>{_&&c&&o&&S!=null&&Q.trackCardsPayEarlyFormClick(E,n,S,"Pay Now",b.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:b.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:b.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:b.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:b.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:void 0,paymentInitiatedDate:void 0},$,C,p),j(sn({companyId:d.companyId}))},onDismissClick:q,onSaveChangesToLocalStore:G=>{j(tt(G))},currentTenant:d,hasZeniAccountsAdminAccess:L,isZeniAccountsUser:K,isZeniAccountSetupEnabled:I,productInformation:n,sourcePage:m,controllerEmails:E,autoPayThreshold:H,paymentSourceInformation:$,creditAccountInformation:C,debitAccountInformation:p,cashbackInformation:S,isCashbackInfoFetchStateCompleted:_,isCreditCardInfoFetchStateCompleted:c,isDebitCardInfoFetchStateCompleted:o,paymentInitiatedDate:A,maxInsuredAmount:h.maxInsuredAmount})})})})},Yr=_e(Tr)`
|
|
15
15
|
display: flex;
|
|
16
16
|
min-height: 100%;
|
|
17
17
|
flex-direction: column;
|
|
18
|
-
`,Zt="charge-card-transaction-update",Ra=qa.getLocalizedStrings().dateFormat,Zr=pe(function(e,t){const{includeCreditAccountInfo:a,cardId:r,signedInUserToken:n,isChargeCardFeatureEnabled:m}=t,C=X.getSignedInUser(),p=e.tenantState.currentTenantId,S={userId:C?.userId??"",sessionId:C?.zeniSessionId??"",tenantId:p??""},o=Ma(e,r,a,m),c=Cn(e,r),_=pn(e);return{chargeCardDetailView:o,chargeCardsRecurringExpensesState:c,vgsVaultId:La.cardVaultId,transactionAttachmentsEndpointToFetch:`${Ha}/card_transaction_attachments`,transactionAttachmentEndpointToDownload:`${Ha}/card_transaction_attachment`,authParams:S,isSnackbarOpen:_.isSnackbarOpen,cardsEndPoint:`${Rt.cardMicroServiceBaseUrl}`,signedInUserToken:o.twoFAView.token??n}},function(e,t){const{cardId:a,currentTenant:r,navigate:n,location:m,cardProviderId:C,includeCreditAccountInfo:p,setIsPaymentOpen:S,controllerEmails:o,productInformation:c,cashbackInformation:_,primaryFundingAccountDetails:A,creditAccountInformation:f,debitAccountInformation:U,isChargeCardFeatureEnabled:F}=t,{tenantEmailDomain:k}=r;return{onEventReceived:h=>{h===Zt&&(e(Ga(a,!0)),e(nt(a,null,null,!0)))},onReloadTransactions:()=>{e(Xe(a,p,F))},onFetchChargeCardTransactionList:(h,b)=>{e(nt(a,h,b))},onUpdateScrollYOffset:h=>{},onGetOtp:h=>{C!=null&&e(Ta(h,"ChargeCardHolder",a))},onResendOtp:h=>{C!=null&&e(Pa(h,"ChargeCardHolder",a))},onVerifyOtp:(h,b)=>{C!=null&&e(wa(h,b,"ChargeCardHolder",a))},onVerifyOtpSuccess:h=>{h!=null&&X.saveZeniOtpTokenForCardHolder(h,a)},onColorCodeChange:h=>{e(Sn(a,h))},onLockChargeCard:(h,b)=>{e(_t(h,a,b))},onUnlockChargeCard:h=>{e(Dt(h,a))},onCloseChargeCard:h=>{e(kt(a,h))},onFetchChargeCardsRecurringExpenses:()=>{e(Et([a]))},updateChargeCardName:(h,b)=>{e(At(h,a,b))},updateChargeCardTransactionAttachments:(h,b)=>{b!=null&&e(yn({transactionId:h,data:b}))},updateChargeCardTransactionUploadReceiptsFetchStatus:(h,b,g,d)=>{e(bn({chargeCardId:b,transactionId:h,fetchState:g,error:d}))},updateChargeCardTransactionReceiptsShowTick:(h,b,g)=>{e(gn({chargeCardId:b,transactionId:h,shouldShowTick:g}))},onChargeCardRevokeInviteClick:()=>{e(It(a))},updateChargeCardTransactionIsViewReceiptClicked:(h,b,g)=>{e(fn({chargeCardId:b,transactionId:h,isViewReceiptClicked:g}))},onChargeCardTransactionRowClick:(h,b)=>{const g=fe(m.state?.pathnameStackToGoBack,m.pathname);n(`../../transaction/${h}/${b}`,{state:{pathnameStackToGoBack:g}})},onBackClick:()=>{const h=ve(m.state?.pathnameStackToGoBack),b=Ne(k);n(b,{state:{pathnameStackToGoBack:h.newStack,message:"comingFromCardDetail"}})},removeSnackbar:()=>{e(hn())},onUpdateDebitCardPinAttempt:h=>{e(St(a,h)),h==="success"&&e(oa({messageSection:"update_debit_card_pin_attempt",messageText:"success",type:"success",showStatusIcon:!0}))},onUploadReceiptComplete:(h,b)=>{h?e(oa({messageSection:"charge_card_receipt_upload",messageText:"success",type:"success",showStatusIcon:!0})):b!=null&&e(oa({messageSection:"charge_card_receipt_upload",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:b.message}]}))},updateSpendLimit(h,b,g,d){e(yt(h,b,g.code,d))},shouldOpenCreditCardPaymentDrawer(h){h&&_!=null&&J.trackCardsPayEarlyClick(o,c,_,"Card Detail","Text Button","Pay Now",{isZeniCheckingEnabled:r.company?.companyZeniAccountInfo.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:A?.accType==="depositAccount",creditCardPaymentSourceAccountName:A?.label,creditCardPaymentSourceAccountType:A?.accType,creditCardPaymentSourceLastFourDigits:A?.accountLast4,creditCardPaymentSourceBalance:A?.accountBalance?.available?.amount??0},f,U),S(h)}}})(pr(hr));function Kr(){const e=le(),t=ue(),a=ge(),{cardId:r}=ia(),[n,m]=i.useState(!1),[C,p]=i.useState(!1),{useDynamicConfig:S}=ce(),o=X.getSignedInUser(),c=y(M=>ie(M)),_=y(M=>ka(M).firstViewAfterActivation),A=y(M=>M.classListState.fetchState),{configValue:f}=S(Fe.documentAiReceiptMaxSizeLimitBytesConfig),{configValue:U}=S(Fe.zeniCardsConfig),F=U.enable_card_controls_for_company_ids,k=U.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(F)&&F.includes(c.companyId),[h,b]=i.useState(!1),[g,d]=i.useState(!1),{useFeatureGate:D}=ce(),{isFeatureEnabled:v}=D(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:j}=D(Y.isDebitCardFeatureEnabled),O=Se(j,c),P=Ie({isDebitCardFeatureEnabled:j,isBankingOnlyTenant:O}),{isFeatureEnabled:V}=D(Y.isEarlyPayFeatureEnabled),{isFeatureEnabled:u}=D(Y.isCardsCommentingEnabled),l=ye(c),w=be(c),T=c.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,H=Ae({isCardsOnlyTenant:w,isChargeCardFeatureEnabled:v,isBookKeepingTenant:l,isDebitCardProductVisible:P,chargeCardsCreditAccountLimit:T}),B=!!c.companyDebitCardInfo?.info?.isDebitCardEnabled,K=!!c.companyChargeCardInfo?.info?.isChargeCardEnabled,I=!c.userRole.includes("charge_card_user")&&H&&K;if(r==null)throw Error("Empty card id is not valid...");const L=y(M=>da(M,c.companyId)),{creditAccount:N,creditAccountRepayment:R}=y(M=>Ge(M)),W=X.getZeniOtpTokenForCardHolder(r),E=y(M=>Ma(M,r,I,H)),{isAiCfoAccessEnabled:G,onAskAiCfoClick:q}=Gt({mobileExploreReferrer:"Card Detail"});Yt({isDataReady:E.fetchState==="Completed"});const $=y(M=>Ye(M)),x=E.chargeCard,se=je(),ae=Ue(se?.loggedInUserRoleMap),ne=x?.type.code==="business_physical_debit_card"||x?.type.code==="business_virtual_debit_card",Q=x?.type.code==="business_physical_debit_card"||x?.type.code==="business_physical_credit_card",re=x?.type.code==="business_virtual_debit_card"||x?.type.code==="business_virtual_credit_card",Ee=x?.type.code==="business_virtual_debit_card",xe=ma(H,K,ae,N,R),Z=Ht(ne,E),he=Xa(ae,$),ke=Re(H,P,B,K),Le=E.depositAccountLimitFetchState.fetchState!=="Completed"&&E.depositAccountLimitFetchState.fetchState!=="In-Progress",we=y(M=>ze(M,c.companyId)),Pe=$e(we.controllers),ee=y(M=>x?.cardCreatedByUser?.userId!=null?ba(M.userRoleState,x?.cardCreatedByUser?.userId):void 0),pa=y(M=>ee?.accountingClassIDs[0]!=null?ya(M.classState,{classId:ee?.accountingClassIDs[0],reportId:"class_list"}):void 0),oe=y(M=>x?.cardHolderUser?.userId!=null?ba(M.userRoleState,x?.cardHolderUser?.userId):void 0),ea=y(M=>oe?.accountingClassIDs[0]!=null?ya(M.classState,{classId:oe?.accountingClassIDs[0],reportId:"class_list"}):void 0),de=c?.userRole,Oe=y(M=>Ze(M,!1,P,v).revokeCardInvite),aa=Ja(Oe.saveStatus.fetchState);if(i.useEffect(()=>{if(aa==="In-Progress"&&Oe.saveStatus.fetchState==="Completed"){const M=Ne(c.tenantEmailDomain);e(M)}},[aa,Oe.saveStatus.fetchState,e,c.tenantEmailDomain]),i.useEffect(()=>{_&&n===!1&&re&&(m(!0),setTimeout(()=>{t(Sa()),Ee&&t(oa({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))},5e3))},[_,n,re,Ee]),i.useEffect(()=>{h||E.fetchState==="Completed"||E.fetchState==="In-Progress"||r==null||(b(!0),t(Xe(r,I,H,!1)))},[h,E,r,t]),i.useEffect(()=>{!g&&E.fetchState==="Completed"&&E.chargeCard?.connectedAccountId!=null&&ne&&Le&&ae&&(d(!0),t(bt({depositAccountId:E.chargeCard?.connectedAccountId})))},[g,E,t,Le,ae]),i.useEffect(()=>{$.fetchState!=="Completed"&&$.fetchState!=="In-Progress"&&ae&&t(mt()),A!=="Completed"&&A!=="In-Progress"&&t(ut()),E.transactionStatistics.fetchState!=="Completed"&&E.transactionStatistics.fetchState!=="In-Progress"&&t(mn({chargeCardId:r})),L.fetchState!=="Completed"&&L.fetchState!=="In-Progress"&&t(Fa(c.companyId,!0))},[$.fetchState,t,ae,A,E.transactionStatistics.fetchState,L.fetchState]),i.useEffect(()=>{if(!(E.fetchState!=="Completed"||H&&N.fetchState!=="Completed"||x==null||E.transactionStatistics.fetchState!=="Completed"||ne&&ae&&E.depositAccountLimitFetchState.fetchState!=="Completed")){const M=x.type.code.includes("physical"),me=M?x.cardActivationAttemptHistory[0]?.timestamp:x.createTime;J.trackCardsCardDetailView(Pe,ke,{cardId:r,cardName:x.cardName,cardType:x.type.code.includes("credit")?"credit":"debit",cardCategory:M?"physical":"virtual",cardLimit:Je(x.limit.amount),cardLastFourDigits:x.accountLast4,cardStatus:x.status.code,cardAssignedDate:x.createTime?.format(Ra.analytics.MMMDashDDDashYYYYFormat),cardIssuedDate:x.providerCardCreateTime?.format(Ra.analytics.MMMDashDDDashYYYYFormat),cardActivatedDate:me?.format(Ra.analytics.MMMDashDDDashYYYYFormat),cardLimitFrequency:x.creditLimitFrequency.name,cardSpentAmount:Je(x.balance.amount),cardAvailableLimit:Je(x.available.amount),cardUtilizationPercent:x.limit.amount>0?Math.round((x.limit.amount-x.available.amount)/x.limit.amount*100):0,cardUtilizationAmount:Je(x.limit.amount-x.available.amount),totalNumberOfDeclinedTransactions:E.transactionStatistics.statistics.totalNumberOfDeclinedTransactions,numberOfDeclinedTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfDeclinedTransactionsCurrentMonth,totalNumberOfPaidTransactions:E.transactionStatistics.statistics.totalNumberOfPaidTransactions,numberOfPaidTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfPaidTransactionsCurrentMonth,totalNumberOfCanceledTransactions:E.transactionStatistics.statistics.totalNumberOfCanceledTransactions,numberOfCanceledTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfCanceledTransactionsCurrentMonth,totalNumberOfAuthorizedTransactions:E.transactionStatistics.statistics.totalNumberOfAuthorizedTransactions,numberOfAuthorizedTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfAuthorizedTransactionsCurrentMonth,totalNumberOfTransactionsWithReceipts:E.transactionStatistics.statistics.totalNumberOfTransactionsWithReceipts,numberOfTransactionsWithReceiptsCurrentMonth:E.transactionStatistics.statistics.numberOfTransactionsWithReceiptsCurrentMonth},{cardIssuedByName:Va(x.cardCreatedByUser,!1),cardIssuedByEmail:x.cardCreatedByUser?.email,cardIssuedByUserId:x.cardCreatedByUser?.userId,cardIssuedByRole:ee?.userRoles,cardIssuedByDepartment:pa?.className},{cardholderName:Va(x.cardHolderUser,!1),cardholderEmail:x.cardHolderUser?.email,cardholderRole:oe?.userRoles,cardholderUserId:x.cardHolderUser?.userId,cardholderDepartment:ea?.className},xe,Z)}},[E.fetchState,E.depositAccountLimitFetchState.fetchState,E.transactionStatistics.fetchState,N.fetchState,ae]),o==null)throw Error("Can't access card detail page without signing in...");const We=c.companyId??X.getSignedInUserTenant(c.tenantEmailDomain)?.companyId,ta={events:We!=null?[`private-${We}.${Zt}`]:[],eventCallback:(M,me,Te)=>{Te.onEventReceived(M)}},na=()=>{if(r!=null&&x!=null){const{ownerName:M,cardName:me,utilisation:Te,limit:Ve,frequency:qe,cardColor:z}=ja(x),De=x.cardHolderUserId===o.userId;J.trackCardsDetailPageViewed(r,M,me,Te,Ve,qe,z,De)}};i.useEffect(()=>{if(E.fetchState==="Completed"){const M=E.chargeCard;if(M?.status.code==="inactive"||ne&&M?.isPinSet===!1||Q&&_){const me=Ce(c.tenantEmailDomain,r,o,x,_);e(me)}}},[E.fetchState]);const ra=(M,me)=>{if(r!=null&&x!=null){const{ownerName:Te,cardName:Ve,utilisation:qe,limit:z,frequency:De}=ja(x),He=x.cardHolderUserId===o.userId;J.trackCardsDetailPageClicked(r,Te,Ve,qe,z,De,M,He,me)}},sa=(M,me)=>{if(r!=null&&x!=null){const{ownerName:Te,cardName:Ve,utilisation:qe,limit:z,frequency:De}=ja(x),He=x.cardHolderUserId===o.userId;J.trackCardsVerifyPopUpClick(r,Te,Ve,qe,z,De,M,He,me)}},Ba=N.balance.amount+N.hold.amount,ha=c.companyChargeCardInfo?.info?.primaryFundingAccount,fa=L.allFundingAccounts.find(M=>M.id===ha?.accountId);return r==null||E.fetchState==="Error"?s.jsx(Oa,{}):E.fetchState==="In-Progress"||E.fetchState==="Not-Started"||Oe.saveStatus.fetchState==="In-Progress"||ne&&ae&&E.depositAccountLimitFetchState.fetchState!=="Completed"?s.jsx(Cr,{}):s.jsxs(s.Fragment,{children:[s.jsx(xa,{showConfetti:_}),E.fetchState==="Completed"?s.jsx(Qa,{analytics:J,onLoad:na}):null,C===!0?s.jsx(at,{closeDrawerHandler:()=>p(!1),isPaymentDrawerOpen:C,pageName:"Card Detail",sourcePage:"cardDetailPage",productInformation:ke,creditAccountInformation:xe,debitAccountInformation:Z,cashbackInformation:he,creditAccountSpentAmount:Ba,isDebitCardInfoFetchStateCompleted:!ne||!ae||E.depositAccountLimitFetchState.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!H||N.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!ae||$.fetchState==="Completed",paymentInitiatedDate:R.initiatedRepaymentDate}):null,s.jsx(Zr,{...ta,hideSorting:!0,onColumnSortConfigChanged:()=>{},onFireVerifyPopOnClickAnalytics:sa,onFireOnClickAnalytics:ra,isSandboxEnv:Ka(),signedInUser:o,location:a,navigate:e,setIsPaymentOpen:p,cardIssuedByRoles:ee?.userRoles,cardIssuedByDepartmentName:pa?.className,cardHolderRoles:oe?.userRoles,cardHolderDepartmentName:ea?.className,loggedInUserRole:de,isChargeCardFeatureEnabled:H,isDebitCardFeatureEnabled:P,isDebitCardSetupEnabled:B,isChargeCardSetupEnabled:K,isCardControlsEnabled:k,isEarlyPayEnabled:V,controllerEmails:Pe,chargeCardCashbackDetailState:$,productInformation:ke,creditAccountInformation:xe,debitAccountInformation:Z,cashbackInformation:he,classListFetchState:A,primaryFundingAccountDetails:fa,currentTenant:c,cardProviderId:E.chargeCard?.cardProviderID,cardId:r,creditAccount:N,creditAccountRepayment:R,includeCreditAccountInfo:I,signedInUserToken:W,appleWalletLink:"shoebox://",googleWalletLink:"https://www.android.com/payapp/",documentAiReceiptMaxSizeLimit:f.documentAiReceiptMaxSizeLimitBytes!=null?f.documentAiReceiptMaxSizeLimitBytes:9437184,isAiCfoAccessEnabled:G,onAskAiCfoClick:q,isCardsCommentingEnabled:u})]})}const ja=e=>{const t=`${e.cardHolderUser?.firstName.toLowerCase()} ${e.cardHolderUser?.lastName.toLowerCase()}`,a=e.cardName,r=(e.limit.amount??0)-(e.available.amount??0),n=e.limit.amount,m=e.creditLimitFrequency.name;return{ownerName:t,cardName:a,utilisation:r,cardColor:e.cardColorCode??"",frequency:m,limit:n}},Wr=_e.div`
|
|
18
|
+
`,Zt="charge-card-transaction-update",Ua=qa.getLocalizedStrings().dateFormat,Zr=pe(function(e,t){const{includeCreditAccountInfo:a,cardId:r,signedInUserToken:n,isChargeCardFeatureEnabled:m}=t,C=X.getSignedInUser(),p=e.tenantState.currentTenantId,S={userId:C?.userId??"",sessionId:C?.zeniSessionId??"",tenantId:p??""},o=Ma(e,r,a,m),c=Cn(e,r),_=pn(e);return{chargeCardDetailView:o,chargeCardsRecurringExpensesState:c,vgsVaultId:xa.cardVaultId,transactionAttachmentsEndpointToFetch:`${Ha}/card_transaction_attachments`,transactionAttachmentEndpointToDownload:`${Ha}/card_transaction_attachment`,authParams:S,isSnackbarOpen:_.isSnackbarOpen,cardsEndPoint:`${Ut.cardMicroServiceBaseUrl}`,signedInUserToken:o.twoFAView.token??n}},function(e,t){const{cardId:a,currentTenant:r,navigate:n,location:m,cardProviderId:C,includeCreditAccountInfo:p,setIsPaymentOpen:S,controllerEmails:o,productInformation:c,cashbackInformation:_,primaryFundingAccountDetails:A,creditAccountInformation:f,debitAccountInformation:R,isChargeCardFeatureEnabled:F}=t,{tenantEmailDomain:k}=r;return{onEventReceived:h=>{h===Zt&&(e($a(a,!0)),e(nt(a,null,null,!0)))},onReloadTransactions:()=>{e(Xe(a,p,F))},onFetchChargeCardTransactionList:(h,b)=>{e(nt(a,h,b))},onUpdateScrollYOffset:h=>{},onGetOtp:h=>{C!=null&&e(Ta(h,"ChargeCardHolder",a))},onResendOtp:h=>{C!=null&&e(Pa(h,"ChargeCardHolder",a))},onVerifyOtp:(h,b)=>{C!=null&&e(wa(h,b,"ChargeCardHolder",a))},onVerifyOtpSuccess:h=>{h!=null&&X.saveZeniOtpTokenForCardHolder(h,a)},onColorCodeChange:h=>{e(Sn(a,h))},onLockChargeCard:(h,b)=>{e(_t(h,a,b))},onUnlockChargeCard:h=>{e(Dt(h,a))},onCloseChargeCard:h=>{e(kt(a,h))},onFetchChargeCardsRecurringExpenses:()=>{e(Et([a]))},updateChargeCardName:(h,b)=>{e(At(h,a,b))},updateChargeCardTransactionAttachments:(h,b)=>{b!=null&&e(yn({transactionId:h,data:b}))},updateChargeCardTransactionUploadReceiptsFetchStatus:(h,b,g,d)=>{e(bn({chargeCardId:b,transactionId:h,fetchState:g,error:d}))},updateChargeCardTransactionReceiptsShowTick:(h,b,g)=>{e(gn({chargeCardId:b,transactionId:h,shouldShowTick:g}))},onChargeCardRevokeInviteClick:()=>{e(It(a))},updateChargeCardTransactionIsViewReceiptClicked:(h,b,g)=>{e(fn({chargeCardId:b,transactionId:h,isViewReceiptClicked:g}))},onChargeCardTransactionRowClick:(h,b)=>{const g=fe(m.state?.pathnameStackToGoBack,m.pathname);n(`../../transaction/${h}/${b}`,{state:{pathnameStackToGoBack:g}})},onBackClick:()=>{const h=ve(m.state?.pathnameStackToGoBack),b=Ne(k);n(b,{state:{pathnameStackToGoBack:h.newStack,message:"comingFromCardDetail"}})},removeSnackbar:()=>{e(hn())},onUpdateDebitCardPinAttempt:h=>{e(St(a,h)),h==="success"&&e(oa({messageSection:"update_debit_card_pin_attempt",messageText:"success",type:"success",showStatusIcon:!0}))},onUploadReceiptComplete:(h,b)=>{h?e(oa({messageSection:"charge_card_receipt_upload",messageText:"success",type:"success",showStatusIcon:!0})):b!=null&&e(oa({messageSection:"charge_card_receipt_upload",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:b.message}]}))},updateSpendLimit(h,b,g,d){e(yt(h,b,g.code,d))},shouldOpenCreditCardPaymentDrawer(h){h&&_!=null&&Q.trackCardsPayEarlyClick(o,c,_,"Card Detail","Text Button","Pay Now",{isZeniCheckingEnabled:r.company?.companyZeniAccountInfo.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:A?.accType==="depositAccount",creditCardPaymentSourceAccountName:A?.label,creditCardPaymentSourceAccountType:A?.accType,creditCardPaymentSourceLastFourDigits:A?.accountLast4,creditCardPaymentSourceBalance:A?.accountBalance?.available?.amount??0},f,R),S(h)}}})(pr(hr));function Kr(){const e=le(),t=ue(),a=ge(),{cardId:r}=ia(),[n,m]=i.useState(!1),[C,p]=i.useState(!1),{useDynamicConfig:S}=ce(),o=X.getSignedInUser(),c=y(M=>ie(M)),_=y(M=>ka(M).firstViewAfterActivation),A=y(M=>M.classListState.fetchState),{configValue:f}=S(Fe.documentAiReceiptMaxSizeLimitBytesConfig),{configValue:R}=S(Fe.zeniCardsConfig),F=R.enable_card_controls_for_company_ids,k=R.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(F)&&F.includes(c.companyId),[h,b]=i.useState(!1),[g,d]=i.useState(!1),{useFeatureGate:D}=ce(),{isFeatureEnabled:v}=D(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:j}=D(Y.isDebitCardFeatureEnabled),B=Se(j,c),P=Ie({isDebitCardFeatureEnabled:j,isBankingOnlyTenant:B}),{isFeatureEnabled:V}=D(Y.isEarlyPayFeatureEnabled),{isFeatureEnabled:u}=D(Y.isCardsCommentingEnabled),l=ye(c),w=be(c),T=c.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,H=Ae({isCardsOnlyTenant:w,isChargeCardFeatureEnabled:v,isBookKeepingTenant:l,isDebitCardProductVisible:P,chargeCardsCreditAccountLimit:T}),L=!!c.companyDebitCardInfo?.info?.isDebitCardEnabled,K=!!c.companyChargeCardInfo?.info?.isChargeCardEnabled,I=!c.userRole.includes("charge_card_user")&&H&&K;if(r==null)throw Error("Empty card id is not valid...");const x=y(M=>da(M,c.companyId)),{creditAccount:N,creditAccountRepayment:U}=y(M=>$e(M)),W=X.getZeniOtpTokenForCardHolder(r),E=y(M=>Ma(M,r,I,H)),{isAiCfoAccessEnabled:$,onAskAiCfoClick:q}=$t({mobileExploreReferrer:"Card Detail"});Yt({isDataReady:E.fetchState==="Completed"});const G=y(M=>Ye(M)),O=E.chargeCard,se=je(),ae=Re(se?.loggedInUserRoleMap),ne=O?.type.code==="business_physical_debit_card"||O?.type.code==="business_virtual_debit_card",J=O?.type.code==="business_physical_debit_card"||O?.type.code==="business_physical_credit_card",re=O?.type.code==="business_virtual_debit_card"||O?.type.code==="business_virtual_credit_card",Ee=O?.type.code==="business_virtual_debit_card",Oe=ma(H,K,ae,N,U),Z=Ht(ne,E),he=Xa(ae,G),ke=Ue(H,P,L,K),xe=E.depositAccountLimitFetchState.fetchState!=="Completed"&&E.depositAccountLimitFetchState.fetchState!=="In-Progress",we=y(M=>ze(M,c.companyId)),Pe=Ge(we.controllers),ee=y(M=>O?.cardCreatedByUser?.userId!=null?ba(M.userRoleState,O?.cardCreatedByUser?.userId):void 0),pa=y(M=>ee?.accountingClassIDs[0]!=null?ya(M.classState,{classId:ee?.accountingClassIDs[0],reportId:"class_list"}):void 0),oe=y(M=>O?.cardHolderUser?.userId!=null?ba(M.userRoleState,O?.cardHolderUser?.userId):void 0),ea=y(M=>oe?.accountingClassIDs[0]!=null?ya(M.classState,{classId:oe?.accountingClassIDs[0],reportId:"class_list"}):void 0),de=c?.userRole,Be=y(M=>Ze(M,!1,P,v).revokeCardInvite),aa=Qa(Be.saveStatus.fetchState);if(i.useEffect(()=>{if(aa==="In-Progress"&&Be.saveStatus.fetchState==="Completed"){const M=Ne(c.tenantEmailDomain);e(M)}},[aa,Be.saveStatus.fetchState,e,c.tenantEmailDomain]),i.useEffect(()=>{_&&n===!1&&re&&(m(!0),setTimeout(()=>{t(Sa()),Ee&&t(oa({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))},5e3))},[_,n,re,Ee]),i.useEffect(()=>{h||E.fetchState==="Completed"||E.fetchState==="In-Progress"||r==null||(b(!0),t(Xe(r,I,H,!1)))},[h,E,r,t]),i.useEffect(()=>{!g&&E.fetchState==="Completed"&&E.chargeCard?.connectedAccountId!=null&&ne&&xe&&ae&&(d(!0),t(bt({depositAccountId:E.chargeCard?.connectedAccountId})))},[g,E,t,xe,ae]),i.useEffect(()=>{G.fetchState!=="Completed"&&G.fetchState!=="In-Progress"&&ae&&t(mt()),A!=="Completed"&&A!=="In-Progress"&&t(ut()),E.transactionStatistics.fetchState!=="Completed"&&E.transactionStatistics.fetchState!=="In-Progress"&&t(mn({chargeCardId:r})),x.fetchState!=="Completed"&&x.fetchState!=="In-Progress"&&t(Fa(c.companyId,!0))},[G.fetchState,t,ae,A,E.transactionStatistics.fetchState,x.fetchState]),i.useEffect(()=>{if(!(E.fetchState!=="Completed"||H&&N.fetchState!=="Completed"||O==null||E.transactionStatistics.fetchState!=="Completed"||ne&&ae&&E.depositAccountLimitFetchState.fetchState!=="Completed")){const M=O.type.code.includes("physical"),me=M?O.cardActivationAttemptHistory[0]?.timestamp:O.createTime;Q.trackCardsCardDetailView(Pe,ke,{cardId:r,cardName:O.cardName,cardType:O.type.code.includes("credit")?"credit":"debit",cardCategory:M?"physical":"virtual",cardLimit:Qe(O.limit.amount),cardLastFourDigits:O.accountLast4,cardStatus:O.status.code,cardAssignedDate:O.createTime?.format(Ua.analytics.MMMDashDDDashYYYYFormat),cardIssuedDate:O.providerCardCreateTime?.format(Ua.analytics.MMMDashDDDashYYYYFormat),cardActivatedDate:me?.format(Ua.analytics.MMMDashDDDashYYYYFormat),cardLimitFrequency:O.creditLimitFrequency.name,cardSpentAmount:Qe(O.balance.amount),cardAvailableLimit:Qe(O.available.amount),cardUtilizationPercent:O.limit.amount>0?Math.round((O.limit.amount-O.available.amount)/O.limit.amount*100):0,cardUtilizationAmount:Qe(O.limit.amount-O.available.amount),totalNumberOfDeclinedTransactions:E.transactionStatistics.statistics.totalNumberOfDeclinedTransactions,numberOfDeclinedTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfDeclinedTransactionsCurrentMonth,totalNumberOfPaidTransactions:E.transactionStatistics.statistics.totalNumberOfPaidTransactions,numberOfPaidTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfPaidTransactionsCurrentMonth,totalNumberOfCanceledTransactions:E.transactionStatistics.statistics.totalNumberOfCanceledTransactions,numberOfCanceledTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfCanceledTransactionsCurrentMonth,totalNumberOfAuthorizedTransactions:E.transactionStatistics.statistics.totalNumberOfAuthorizedTransactions,numberOfAuthorizedTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfAuthorizedTransactionsCurrentMonth,totalNumberOfTransactionsWithReceipts:E.transactionStatistics.statistics.totalNumberOfTransactionsWithReceipts,numberOfTransactionsWithReceiptsCurrentMonth:E.transactionStatistics.statistics.numberOfTransactionsWithReceiptsCurrentMonth},{cardIssuedByName:Va(O.cardCreatedByUser,!1),cardIssuedByEmail:O.cardCreatedByUser?.email,cardIssuedByUserId:O.cardCreatedByUser?.userId,cardIssuedByRole:ee?.userRoles,cardIssuedByDepartment:pa?.className},{cardholderName:Va(O.cardHolderUser,!1),cardholderEmail:O.cardHolderUser?.email,cardholderRole:oe?.userRoles,cardholderUserId:O.cardHolderUser?.userId,cardholderDepartment:ea?.className},Oe,Z)}},[E.fetchState,E.depositAccountLimitFetchState.fetchState,E.transactionStatistics.fetchState,N.fetchState,ae]),o==null)throw Error("Can't access card detail page without signing in...");const We=c.companyId??X.getSignedInUserTenant(c.tenantEmailDomain)?.companyId,ta={events:We!=null?[`private-encrypted-${We}.${Zt}`]:[],eventCallback:(M,me,Te)=>{Te.onEventReceived(M)}},na=()=>{if(r!=null&&O!=null){const{ownerName:M,cardName:me,utilisation:Te,limit:Ve,frequency:qe,cardColor:z}=ja(O),De=O.cardHolderUserId===o.userId;Q.trackCardsDetailPageViewed(r,M,me,Te,Ve,qe,z,De)}};i.useEffect(()=>{if(E.fetchState==="Completed"){const M=E.chargeCard;if(M?.status.code==="inactive"||ne&&M?.isPinSet===!1||J&&_){const me=Ce(c.tenantEmailDomain,r,o,O,_);e(me)}}},[E.fetchState]);const ra=(M,me)=>{if(r!=null&&O!=null){const{ownerName:Te,cardName:Ve,utilisation:qe,limit:z,frequency:De}=ja(O),He=O.cardHolderUserId===o.userId;Q.trackCardsDetailPageClicked(r,Te,Ve,qe,z,De,M,He,me)}},sa=(M,me)=>{if(r!=null&&O!=null){const{ownerName:Te,cardName:Ve,utilisation:qe,limit:z,frequency:De}=ja(O),He=O.cardHolderUserId===o.userId;Q.trackCardsVerifyPopUpClick(r,Te,Ve,qe,z,De,M,He,me)}},La=N.balance.amount+N.hold.amount,ha=c.companyChargeCardInfo?.info?.primaryFundingAccount,fa=x.allFundingAccounts.find(M=>M.id===ha?.accountId);return r==null||E.fetchState==="Error"?s.jsx(Ba,{}):E.fetchState==="In-Progress"||E.fetchState==="Not-Started"||Be.saveStatus.fetchState==="In-Progress"||ne&&ae&&E.depositAccountLimitFetchState.fetchState!=="Completed"?s.jsx(Cr,{}):s.jsxs(s.Fragment,{children:[s.jsx(Oa,{showConfetti:_}),E.fetchState==="Completed"?s.jsx(Ja,{analytics:Q,onLoad:na}):null,C===!0?s.jsx(at,{closeDrawerHandler:()=>p(!1),isPaymentDrawerOpen:C,pageName:"Card Detail",sourcePage:"cardDetailPage",productInformation:ke,creditAccountInformation:Oe,debitAccountInformation:Z,cashbackInformation:he,creditAccountSpentAmount:La,isDebitCardInfoFetchStateCompleted:!ne||!ae||E.depositAccountLimitFetchState.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!H||N.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!ae||G.fetchState==="Completed",paymentInitiatedDate:U.initiatedRepaymentDate}):null,s.jsx(Zr,{...ta,hideSorting:!0,onColumnSortConfigChanged:()=>{},onFireVerifyPopOnClickAnalytics:sa,onFireOnClickAnalytics:ra,isSandboxEnv:Ka(),signedInUser:o,location:a,navigate:e,setIsPaymentOpen:p,cardIssuedByRoles:ee?.userRoles,cardIssuedByDepartmentName:pa?.className,cardHolderRoles:oe?.userRoles,cardHolderDepartmentName:ea?.className,loggedInUserRole:de,isChargeCardFeatureEnabled:H,isDebitCardFeatureEnabled:P,isDebitCardSetupEnabled:L,isChargeCardSetupEnabled:K,isCardControlsEnabled:k,isEarlyPayEnabled:V,controllerEmails:Pe,chargeCardCashbackDetailState:G,productInformation:ke,creditAccountInformation:Oe,debitAccountInformation:Z,cashbackInformation:he,classListFetchState:A,primaryFundingAccountDetails:fa,currentTenant:c,cardProviderId:E.chargeCard?.cardProviderID,cardId:r,creditAccount:N,creditAccountRepayment:U,includeCreditAccountInfo:I,signedInUserToken:W,appleWalletLink:"shoebox://",googleWalletLink:"https://www.android.com/payapp/",documentAiReceiptMaxSizeLimit:f.documentAiReceiptMaxSizeLimitBytes!=null?f.documentAiReceiptMaxSizeLimitBytes:9437184,isAiCfoAccessEnabled:$,onAskAiCfoClick:q,isCardsCommentingEnabled:u})]})}const ja=e=>{const t=`${e.cardHolderUser?.firstName.toLowerCase()} ${e.cardHolderUser?.lastName.toLowerCase()}`,a=e.cardName,r=(e.limit.amount??0)-(e.available.amount??0),n=e.limit.amount,m=e.creditLimitFrequency.name;return{ownerName:t,cardName:a,utilisation:r,cardColor:e.cardColorCode??"",frequency:m,limit:n}},Wr=_e.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
|
-
`,qr=pe(function(e,t){const a=Ze(e,t.includeCreditAccountDebitSummaryAndCashbackInfo,t.isDebitCardFeatureEnabled&&t.isDebitCardSetupEnabled,t.isChargeCardFeatureEnabled&&t.isChargeCardSetupEnabled);return{chargeCardListView:a,rowActionView:In(e),bulkActionView:An(e),companyLegalName:t.currentTenant.companyName,admins:t.admins,searchText:a.searchText,uiState:a.uiState,signedInUser:t.signedInUser}},function(e,t){const{navigateAndClearBulkSelection:a,currentTenant:r,location:n,signedInUser:m,chargeCardListState:C,includeCreditAccountDebitSummaryAndCashbackInfo:p,isChargeCardFeatureEnabled:S,isCreditCardProductVisibleForExpressInterest:o,isChargeCardSetupEnabled:c,isDebitCardFeatureEnabled:_,isDebitCardSetupEnabled:A,isDebitCardTOSAccepted:f,isChargeCardTOSAccepted:U,controllerEmails:F,depositAccountListWithDebitCardIssued:k,primaryFundingAccountDetails:h,chargeCardSetUpViewFetchState:b,productInformation:g,cashbackInformation:d,creditAccountInformation:D,debitAccountInformation:v,updatePayNowInfoTooltip:j,isUserHasCardsAdminLevelAccess:O}=t,{tenantEmailDomain:P}=r,{cards:V}=C;return{onChargeCardRowClick:(u,l)=>{const w=zt(V,u);let T;w!=null&&((B=>{const K=B.limit.amount-B.available.amount,I=`${B.cardHolderUser?.firstName.toLowerCase()} ${B.cardHolderUser?.lastName.toLowerCase()}`,L=B.cardName,N=B.department?.className??"",R=B.limit.amount,W=B.creditLimitFrequency.name;J.trackCardsListRowClicked(I,L,N,K,R,W,m.userId===B.cardHolderUserId)})(w),Me(_,A,k)&&J.trackCardsCardListRowClick(F,g,"Card Row Item","row_clicked",l+1,{cardOwner:Va(w.cardHolderUser,!1),cardName:w.cardName,cardType:w.type.code.includes("credit")?"credit":"debit",cardStatus:w.status.code,cardUtilizationAmount:Je(w.limit.amount-w.available.amount),cardUtilizationPercent:w.limit.amount>0?Math.round((w.limit.amount-w.available.amount)/w.limit.amount*100):0,cardLimit:Je(w.limit.amount)},d,D,v)),T=w?.status.code==="request_on_hold"&&m.userId===w.cardHolderUserId?$t(P):Ce(P,u,m,w);const H=fe(n.state?.pathnameStackToGoBack,n.pathname);a(T,{state:{pathnameStackToGoBack:H}})},onFetchChargeCardsRecurringExpenses:u=>{e(Et(u))},onFetchDepositAccountLimit:u=>{e(bt({depositAccountId:u}))},onChargeCardResendInviteClick:u=>{e(Fn(u))},onChargeCardRevokeInviteClick:u=>{e(It(u))},onLockChargeCardList:(u,l)=>{e(Tn(u,l))},onUnlockChargeCardList:u=>{e(Pn(u))},onCloseChargeCardList:(u,l)=>{e(wn(u,l))},onRevokeChargeCardList:u=>{e(_n(u))},updateChargeCardListSpendLimit(u,l,w){e(Dn(u,l,w.code))},onLockChargeCard:(u,l)=>{e(_t(O,u,l))},onUnlockChargeCard:u=>{e(Dt(O,u))},onCloseChargeCard:(u,l)=>{e(kt(u,l))},onUpdateSpendLimit(u,l,w,T){e(yt(u,l,w.code,T))},updateChargeCardName:(u,l)=>{e(At(O,u,l))},onClickSetupIcon:()=>{J.trackCardsListPageClicked("settings"),Me(_,A,k)&&d!=null&&J.trackCardsSettingsClick(F,g,d,D,v);const u=xr(P),l=fe(n.state?.pathnameStackToGoBack,n.pathname);a(u,{state:{pathnameStackToGoBack:l}})},onIssueCardClick:()=>{J.trackCardsListPageClicked("new card"),Me(_,A,k)&&d!=null&&J.trackCardsNewCardClick(F,g,d,"New Button","card_creation_initiated","Card List",D,v);const u=Jr(P),l=fe(n.state?.pathnameStackToGoBack,n.pathname);a(u,{state:{pathnameStackToGoBack:l}})},onColumnSortConfigChanged:(u,l)=>{Me(_,A,k)&&d!=null&&J.trackCardsCardListSortClick(F,g,d,"Sort Icon","sort",u,l==="ascending"?"ASC":"DESC","Cards List",D,v),e(Na({uiState:{sortKey:u,sortOrder:l}}))},onSearchTextChanged:u=>{e(kn(u))},onReloadCards:()=>{e(Ia(p,_&&A,S&&c,!0))},onLetsGoClick:()=>{a("./onboard")},onBackClick:()=>{a("../../")},onTotalCashbackClick:()=>{Me(_,A,k)&&d!=null&&J.trackCardsCashbackOverviewClick(F,g,d,"Cashback Overview","cashback_details_viewed",D,v),a("./cashback")},onClickStatementsIcon:()=>{Me(_,A,k)&&d!=null&&J.trackCardsStatementsClick(F,g,d,D,v),a("./statements")},onCreateNowClick:u=>{Me(_,A,k)&&d!=null&&J.trackCardsNewCardClick(F,g,d,"Promo Banner","card_creation_initiated","Card List",D,v),a(`./new?cardType=${u}`)},onPromoCardClick:u=>{a(u==="debit"&&_&&!f||u==="credit"&&o&&!U?`../promo?cardPromoType=${u}`:"./setup")},navigateToCreditCardPaymentPage:(u,l)=>{b==="Completed"&&r.company!=null&&d!=null&&J.trackCardsPayEarlyClick(F,g,d,"Card List",u,l,{isZeniCheckingEnabled:r.company.companyZeniAccountInfo.isZeniAccountEnabled,isZeniCheckingPaymentSource:h?.accType==="depositAccount",creditCardPaymentSourceAccountName:h?.label,creditCardPaymentSourceAccountType:h?.accType,creditCardPaymentSourceLastFourDigits:h?.accountLast4,creditCardPaymentSourceBalance:h?.accountBalance?.available?.amount??0},D,v);const w=Qr(P);a(w)},navigateToCreditCardPaymentHistoryPage:()=>{const u=Xr(P),l=fe(n.state?.pathnameStackToGoBack,n.pathname);a(u,{state:{pathnameStackToGoBack:l}})},shouldShowPayNowInfoTooltip:j,onSetRowActionCardId:u=>{e(En(u))},onSetBulkActionCardIds:u=>{e(wt(u))}}})(fr);function ct({isPaymentDrawerOpen:e}){const t=le(),a=ue(),r=ge(),n=i.useCallback((z,De)=>{a(wt([])),t(z,De)},[a,t]),[m,C]=i.useState(!1),[p,S]=i.useState(X.getPayNowInfoTooltip()??!1),o=z=>{X.savePayNowInfoTooltip(z),S(z)},[c,_]=i.useState(!1),A=X.getSignedInUser(),f=y(z=>ie(z)),[U,F]=i.useState(!1),[k,h]=i.useState(!1),{isAiCfoAccessEnabled:b,onAskAiCfoClick:g}=Gt({mobileExploreReferrer:"Cards"}),d=f.userRole.includes("charge_card_user"),D=!d,v=!!f.companyDebitCardInfo?.info?.isDebitCardEnabled,{useFeatureGate:j,useDynamicConfig:O}=ce(),{isFeatureEnabled:P}=j(Y.isCashbackFeatureEnabled),{isFeatureEnabled:V}=j(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:u}=j(Y.isDebitCardFeatureEnabled),{isFeatureEnabled:l}=j(Y.isEarlyPayFeatureEnabled),{isFeatureEnabled:w}=j(Y.isChargeCardPaymentHistoryFeatureEnabled),{isFeatureEnabled:T}=j(Y.isCardsCommentingEnabled),H=Se(u,f),B=Ie({isDebitCardFeatureEnabled:u,isBankingOnlyTenant:H}),K=be(f),I=ye(f),L=f.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,N=Ae({isCardsOnlyTenant:K,isChargeCardFeatureEnabled:V,isBookKeepingTenant:I,isDebitCardProductVisible:B,chargeCardsCreditAccountLimit:L}),R=Mt({isCardsOnlyTenant:K,isChargeCardFeatureEnabled:V,isBookKeepingTenant:I}),{configValue:W}=O(Fe.zeniCardsConfig),E=je(),G=Ue(E?.loggedInUserRoleMap),q=y(z=>ze(z,f.companyId)),$=$e(q.controllers),x=W.charge_card_cashback_rate_per_transaction!=null?W.charge_card_cashback_rate_per_transaction:.0175,se=W.credit_card_pay_now_threshold_by_company_id?.[f.companyId]??W.default_credit_card_pay_now_threshold??vr,ae=W.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(W.enable_card_controls_for_company_ids)&&W.enable_card_controls_for_company_ids.includes(f.companyId),ne=!!f.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,Q=!!f.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,re=!!f.companyChargeCardInfo?.info?.isChargeCardEnabled,Ee=y(z=>ht(z)),xe=Ja(Ee.updateStatus),Z=y(z=>Ze(z,D,B&&v,N&&re)),he=Z.cards.filter(z=>z.type.code.includes("debit")).map(z=>z.connectedAccountId),ke=[...new Set(he)],Le=y(z=>Ye(z)),we=y(z=>va(z,ke)),Pe=y(z=>da(z,f.companyId)),ee=Pe.companyChargeCardInfo?.primaryFundingAccount,pa=Pe.allFundingAccounts.find(z=>z.id===ee?.accountId),oe=Z.fetchState,ea=Z.creditAccount;Yt({isDataReady:oe==="Completed"});const{creditAccountRepayment:de}=y(z=>Ge(z)),Oe=y(z=>ka(z).firstViewAfterActivation),{areTenantIdsInSync:aa}=jt(),We=Xa(G,Le),ta=ma(N,re,G,ea,de),na=et(B,v,G,we,Z.debitCardSummary),ra=Re(N,B,v,re),sa=Z.creditAccount.balance.amount+Z.creditAccount.hold.amount;if(i.useEffect(()=>{oe==="Completed"&&(X.getPayNowInfoTooltip()==null||sa<se*Z.creditAccount.limit.amount/100)&&o(!0)},[oe,se,sa,Z.creditAccount.limit.amount]),i.useEffect(()=>{if(e!=null&&e===!0&&de.initiatedRepayments.amount===0&&de.fetchState==="Completed"||xe==="In-Progress"&&Ee.updateStatus==="Completed")o(!1),C(!0);else if(de.initiatedRepayments.amount>0&&de.fetchState==="Completed"){C(!1),document.body.style.overflow="auto";const z=Ne(f.tenantEmailDomain);n(z)}},[e,de.initiatedRepayments.amount,de.fetchState,xe,Ee.updateStatus,n,f.tenantEmailDomain]),i.useEffect(()=>{!U&&(re||v)&&aa&&(F(!0),a(Ia(D,B&&v,N&&re,!1)))},[U,D,a,aa]),i.useEffect(()=>{Oe&&c===!1&&(_(!0),setTimeout(()=>{a(Sa())},5e3))},[Oe,c]),i.useEffect(()=>{oe==="Completed"&&d&&Z.cards.length===1&&(Z.cards[0].status.code==="inactive"&&Z.cards[0].type.code==="business_physical_credit_card"?n(`./${Z.cards[0].id}/activate`):Z.cards[0].status.code!=="request_on_hold"&&(r.state?.message==="comingFromCardDetail"?n("../../"):n(`./${Z.cards[0].id}`)))},[oe,d,r.state,n,Z.cards]),i.useEffect(()=>{if(oe==="Completed"&&d){const z=Z.cards.length,De=Z.cards.filter(He=>He.cardHolderUserId===A?.userId).filter(He=>He.status.code==="request_on_hold");De.length>0&&z===De.length&&n("./onboard")}},[oe,Z.cards,d,n,A?.userId]),i.useEffect(()=>{oe!=="Completed"||N&&de.fetchState!=="Completed"||B&&v&&G&&we.fetchState!=="Completed"||J.trackCardsCardListView($,ra,We,ta,na)},[oe,ea,de.fetchState,we.fetchState,G]),A==null)throw Error("Can't access charge card list page without signing in...");const Ba=y(z=>Pt(z.userState,z.userRoleState,z.userListViewState,"cardAdmin")),ha=Ya(E?.loggedInUserRoleMap),fa=z=>{h(z)},M=Z.creditAccount.limit,me=()=>{C(!1),n("..")},Te=f.companyChargeCardInfo?.info!=null&&Qe({cardInfo:f.companyChargeCardInfo.info,isProductVisible:N,isTOSAccepted:ne,isSetupEnabled:re,isUserHasCardsAdminLevelAccess:G,isUserHasCardsAccess:ha}),Ve=f.companyDebitCardInfo?.info!=null&&Qe({cardInfo:f.companyDebitCardInfo.info,isProductVisible:B,isTOSAccepted:Q,isSetupEnabled:v,isUserHasCardsAdminLevelAccess:G,isUserHasCardsAccess:ha});return re||v?s.jsxs(s.Fragment,{children:[oe==="Completed"?s.jsxs(s.Fragment,{children:[s.jsx(Qa,{analytics:J,onLoad:()=>{J.trackPageLoaded(Nt.Event.cardsListPage),(N&&!re||B&&!v)&&J.trackCardsPromoView($,{isCreditCardOffered:N,isDebitCardOffered:B,isDebitCardEnabled:v,isCreditCardEnabled:re},"Banner",B&&!v?"Debit Card":N&&!re?"Credit Card":"","Card List")}}),s.jsx(xa,{showConfetti:Oe})]}):null,m===!0?s.jsx(at,{closeDrawerHandler:me,isPaymentDrawerOpen:m,pageName:"Card List",sourcePage:"cardListPage",creditAccountSpentAmount:sa,productInformation:ra,creditAccountInformation:ta,debitAccountInformation:na,cashbackInformation:We,isDebitCardInfoFetchStateCompleted:!(B&&v&&G)||we.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!N||de.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!G||Le.fetchState==="Completed",paymentInitiatedDate:de.initiatedRepaymentDate}):null,s.jsxs(Wr,{children:[s.jsx(Ca,{isAppContentDrawerOpen:k,handleDrawerToggle:fa}),s.jsx(qr,{isCashbackFeatureEnabled:P,isChargeCardFeatureEnabled:N,isDebitCardFeatureEnabled:B,isCreditCardProductVisibleForExpressInterest:R,updatePayNowInfoTooltip:o,showPayNowInfoTooltip:p,creditCardPayNowThreshold:se,signedInUser:A,chargeCardListState:Z,location:r,admins:Ba.users,navigateAndClearBulkSelection:n,currentTenant:f,isCardControlsEnabled:ae,companyChargeCardInfoCreditAccountLimit:f.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,isCompanyInterestedInChargeCard:f.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,isUserHasCardsAdminLevelAccess:G,includeCreditAccountDebitSummaryAndCashbackInfo:D,onClickMenuIcon:()=>{fa(!0)},creditLimit:M,isChargeCardSetupEnabled:re,isDebitCardSetupEnabled:v,isEarlyPayEnabled:l,isChargeCardPaymentHistoryFeatureEnabled:w,cashbackRate:x,controllerEmails:$,chargeCardCashbackDetailState:Le,depositAccountListWithDebitCardIssued:we,isChargeCardTOSAccepted:ne,isDebitCardTOSAccepted:Q,primaryFundingAccountDetails:pa,chargeCardSetUpViewFetchState:Pe.fetchState,productInformation:ra,creditAccountInformation:ta,debitAccountInformation:na,cashbackInformation:We,isAiCfoAccessEnabled:b,onAskAiCfoClick:g,isCardsCommentingEnabled:T})]})]}):(ne||Q)&&G===!0?s.jsx(ga,{to:"../setup"}):Te||Ve?s.jsx(ga,{to:"../promo"}):s.jsx(Ke,{fetchState:oe})}const Jr=e=>`/${e}/cards/new`,Qr=e=>`/${e}/cards/payment`,Xr=e=>`/${e}/cards/payment-history`,es=pe(function(e){const t=X.getSignedInUser(),a=ie(e),r=e.tenantState.currentTenantId,n=Tt(e),m={userId:t?.userId??"",sessionId:t?.zeniSessionId??"",tenantId:r??""},C=a?.companyName??"",p=e.chargeCardPaymentHistoryState.downloadUIState.downloadState;return{fetchState:n.fetchState,filters:n.filters,isZeniTenant:vn(a),repaymentList:n.repaymentHistory,searchText:n.searchText,repaymentHistoryUsers:n.repaymentHistoryUsers,sortConfig:{sortKey:n.uiState.sortKey,sortOrder:n.uiState.sortOrder},downloadParams:{authParams:m,companyName:C,spendManagementEndPoint:`${Ha}/spendManagement`,isShowDeletedBillsEnabled:!1,isShowDeletedReimbursementEnabled:!1},downloadState:p}},function(e,t){const{location:a,navigate:r}=t;return{onBackClick:()=>{const n=ve(a.state?.pathnameStackToGoBack),m=n.poppedPathname??"..";r(m,{state:{pathnameStackToGoBack:n.newStack}})},onColumnSortConfigChanged:(n,m)=>{e({type:"chargeCardPaymentHistory/updatePaymentHistoryUIState",payload:{uiState:{sortKey:n,sortOrder:m}}})},onFiltersChange:n=>{e(Ln({filters:n}))},onReloadPayments:()=>{e(Ft(!0))},onSearchTextChanged:n=>{e({type:"chargeCardPaymentHistory/updatePaymentHistorySearchText",payload:n})},updateDownloadStateHandler:n=>{e(xn({uiState:{downloadState:n}}))}}})(gr);function as(){const e=le(),t=ge(),a=ue(),{areTenantIdsInSync:r}=jt(),{useFeatureGate:n}=ce();if(X.getSignedInUser()==null)throw Error("Can't access payment history page without signing in...");const m=y(q=>ie(q)),C=y(q=>Tt(q)),[p,S]=i.useState(!1),[o,c]=i.useState(!1),[_,A]=i.useState(!1),[f,U]=i.useState(null),F=!m.userRole.includes("charge_card_user"),k=!!m.companyDebitCardInfo?.info?.isDebitCardEnabled,{isFeatureEnabled:h}=n(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:b}=n(Y.isDebitCardFeatureEnabled),g=Se(b,m),d=Ie({isDebitCardFeatureEnabled:b,isBankingOnlyTenant:g}),D=be(m),v=ye(m),j=m.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,O=Ae({isCardsOnlyTenant:D,isChargeCardFeatureEnabled:h,isBookKeepingTenant:v,isDebitCardProductVisible:d,chargeCardsCreditAccountLimit:j}),P=!!m.companyChargeCardInfo?.info?.isChargeCardEnabled,V=je(),u=Ue(V?.loggedInUserRoleMap),l=y(q=>Ze(q,F,d&&k,O&&P)),w=i.useMemo(()=>{const q=l.cards.filter($=>$.type.code.includes("debit"));return[...new Set(q.map($=>$.connectedAccountId))]},[l.cards]),T=y(q=>Ye(q)),H=y(q=>va(q,w)),{creditAccountRepayment:B}=y(q=>Ge(q)),K=i.useMemo(()=>Xa(u,T),[u,T]),I=i.useMemo(()=>ma(O,P,u,l.creditAccount,B),[O,P,u,l.creditAccount,B]),L=i.useMemo(()=>et(d,k,u,H,l.debitCardSummary),[d,k,u,H,l.debitCardSummary]),N=i.useMemo(()=>Re(O,d,k,P),[O,d,k,P]),R=l.creditAccount.balance.amount+l.creditAccount.hold.amount,W=i.useMemo(()=>f!=null?C.repaymentHistory.find(q=>q.cardRepaymentId===f):void 0,[f,C.repaymentHistory]),E=i.useCallback(q=>{U(q),a(Ia(F,d&&k,O&&P,!1)),A(!0)},[a,F,d,k,O,P]),G=i.useCallback(()=>{A(!1),U(null),document.body.style.overflow="auto"},[]);return i.useEffect(()=>{p||C.fetchState==="Completed"||C.fetchState==="In-Progress"||(S(!0),a(Ft()))},[p,a,C.fetchState]),i.useEffect(()=>{!o&&(P||k)&&r&&(c(!0),a(Ia(F,!1,O&&P,!1)))},[o,P,k,r,a,F,O]),s.jsxs(s.Fragment,{children:[_?s.jsx(at,{closeDrawerHandler:G,isPaymentDrawerOpen:_,pageName:"Payment History",sourcePage:"cardPaymentHistory",creditAccountSpentAmount:R,productInformation:N,creditAccountInformation:I,debitAccountInformation:L,cashbackInformation:K,isDebitCardInfoFetchStateCompleted:!(d&&k&&u)||H.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!O||B.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!u||T.fetchState==="Completed",paymentInitiatedDate:B.initiatedRepaymentDate,retryRepayment:W}):null,s.jsx(es,{location:t,navigate:e,accountInfoByAccountId:C.accountInfoByAccountId,onRetryPaymentClick:E})]})}const it=_e.div`
|
|
25
|
+
`,qr=pe(function(e,t){const a=Ze(e,t.includeCreditAccountDebitSummaryAndCashbackInfo,t.isDebitCardFeatureEnabled&&t.isDebitCardSetupEnabled,t.isChargeCardFeatureEnabled&&t.isChargeCardSetupEnabled);return{chargeCardListView:a,rowActionView:In(e),bulkActionView:An(e),companyLegalName:t.currentTenant.companyName,admins:t.admins,searchText:a.searchText,uiState:a.uiState,signedInUser:t.signedInUser}},function(e,t){const{navigateAndClearBulkSelection:a,currentTenant:r,location:n,signedInUser:m,chargeCardListState:C,includeCreditAccountDebitSummaryAndCashbackInfo:p,isChargeCardFeatureEnabled:S,isCreditCardProductVisibleForExpressInterest:o,isChargeCardSetupEnabled:c,isDebitCardFeatureEnabled:_,isDebitCardSetupEnabled:A,isDebitCardTOSAccepted:f,isChargeCardTOSAccepted:R,controllerEmails:F,depositAccountListWithDebitCardIssued:k,primaryFundingAccountDetails:h,chargeCardSetUpViewFetchState:b,productInformation:g,cashbackInformation:d,creditAccountInformation:D,debitAccountInformation:v,updatePayNowInfoTooltip:j,isUserHasCardsAdminLevelAccess:B}=t,{tenantEmailDomain:P}=r,{cards:V}=C;return{onChargeCardRowClick:(u,l)=>{const w=zt(V,u);let T;w!=null&&((L=>{const K=L.limit.amount-L.available.amount,I=`${L.cardHolderUser?.firstName.toLowerCase()} ${L.cardHolderUser?.lastName.toLowerCase()}`,x=L.cardName,N=L.department?.className??"",U=L.limit.amount,W=L.creditLimitFrequency.name;Q.trackCardsListRowClicked(I,x,N,K,U,W,m.userId===L.cardHolderUserId)})(w),Me(_,A,k)&&Q.trackCardsCardListRowClick(F,g,"Card Row Item","row_clicked",l+1,{cardOwner:Va(w.cardHolderUser,!1),cardName:w.cardName,cardType:w.type.code.includes("credit")?"credit":"debit",cardStatus:w.status.code,cardUtilizationAmount:Qe(w.limit.amount-w.available.amount),cardUtilizationPercent:w.limit.amount>0?Math.round((w.limit.amount-w.available.amount)/w.limit.amount*100):0,cardLimit:Qe(w.limit.amount)},d,D,v)),T=w?.status.code==="request_on_hold"&&m.userId===w.cardHolderUserId?Gt(P):Ce(P,u,m,w);const H=fe(n.state?.pathnameStackToGoBack,n.pathname);a(T,{state:{pathnameStackToGoBack:H}})},onFetchChargeCardsRecurringExpenses:u=>{e(Et(u))},onFetchDepositAccountLimit:u=>{e(bt({depositAccountId:u}))},onChargeCardResendInviteClick:u=>{e(Fn(u))},onChargeCardRevokeInviteClick:u=>{e(It(u))},onLockChargeCardList:(u,l)=>{e(Tn(u,l))},onUnlockChargeCardList:u=>{e(Pn(u))},onCloseChargeCardList:(u,l)=>{e(wn(u,l))},onRevokeChargeCardList:u=>{e(_n(u))},updateChargeCardListSpendLimit(u,l,w){e(Dn(u,l,w.code))},onLockChargeCard:(u,l)=>{e(_t(B,u,l))},onUnlockChargeCard:u=>{e(Dt(B,u))},onCloseChargeCard:(u,l)=>{e(kt(u,l))},onUpdateSpendLimit(u,l,w,T){e(yt(u,l,w.code,T))},updateChargeCardName:(u,l)=>{e(At(B,u,l))},onClickSetupIcon:()=>{Q.trackCardsListPageClicked("settings"),Me(_,A,k)&&d!=null&&Q.trackCardsSettingsClick(F,g,d,D,v);const u=Or(P),l=fe(n.state?.pathnameStackToGoBack,n.pathname);a(u,{state:{pathnameStackToGoBack:l}})},onIssueCardClick:()=>{Q.trackCardsListPageClicked("new card"),Me(_,A,k)&&d!=null&&Q.trackCardsNewCardClick(F,g,d,"New Button","card_creation_initiated","Card List",D,v);const u=Qr(P),l=fe(n.state?.pathnameStackToGoBack,n.pathname);a(u,{state:{pathnameStackToGoBack:l}})},onColumnSortConfigChanged:(u,l)=>{Me(_,A,k)&&d!=null&&Q.trackCardsCardListSortClick(F,g,d,"Sort Icon","sort",u,l==="ascending"?"ASC":"DESC","Cards List",D,v),e(Na({uiState:{sortKey:u,sortOrder:l}}))},onSearchTextChanged:u=>{e(kn(u))},onReloadCards:()=>{e(Ia(p,_&&A,S&&c,!0))},onLetsGoClick:()=>{a("./onboard")},onBackClick:()=>{a("../../")},onTotalCashbackClick:()=>{Me(_,A,k)&&d!=null&&Q.trackCardsCashbackOverviewClick(F,g,d,"Cashback Overview","cashback_details_viewed",D,v),a("./cashback")},onClickStatementsIcon:()=>{Me(_,A,k)&&d!=null&&Q.trackCardsStatementsClick(F,g,d,D,v),a("./statements")},onCreateNowClick:u=>{Me(_,A,k)&&d!=null&&Q.trackCardsNewCardClick(F,g,d,"Promo Banner","card_creation_initiated","Card List",D,v),a(`./new?cardType=${u}`)},onPromoCardClick:u=>{a(u==="debit"&&_&&!f||u==="credit"&&o&&!R?`../promo?cardPromoType=${u}`:"./setup")},navigateToCreditCardPaymentPage:(u,l)=>{b==="Completed"&&r.company!=null&&d!=null&&Q.trackCardsPayEarlyClick(F,g,d,"Card List",u,l,{isZeniCheckingEnabled:r.company.companyZeniAccountInfo.isZeniAccountEnabled,isZeniCheckingPaymentSource:h?.accType==="depositAccount",creditCardPaymentSourceAccountName:h?.label,creditCardPaymentSourceAccountType:h?.accType,creditCardPaymentSourceLastFourDigits:h?.accountLast4,creditCardPaymentSourceBalance:h?.accountBalance?.available?.amount??0},D,v);const w=Jr(P);a(w)},navigateToCreditCardPaymentHistoryPage:()=>{const u=Xr(P),l=fe(n.state?.pathnameStackToGoBack,n.pathname);a(u,{state:{pathnameStackToGoBack:l}})},shouldShowPayNowInfoTooltip:j,onSetRowActionCardId:u=>{e(En(u))},onSetBulkActionCardIds:u=>{e(wt(u))}}})(fr);function ct({isPaymentDrawerOpen:e}){const t=le(),a=ue(),r=ge(),n=i.useCallback((z,De)=>{a(wt([])),t(z,De)},[a,t]),[m,C]=i.useState(!1),[p,S]=i.useState(X.getPayNowInfoTooltip()??!1),o=z=>{X.savePayNowInfoTooltip(z),S(z)},[c,_]=i.useState(!1),A=X.getSignedInUser(),f=y(z=>ie(z)),[R,F]=i.useState(!1),[k,h]=i.useState(!1),{isAiCfoAccessEnabled:b,onAskAiCfoClick:g}=$t({mobileExploreReferrer:"Cards"}),d=f.userRole.includes("charge_card_user"),D=!d,v=!!f.companyDebitCardInfo?.info?.isDebitCardEnabled,{useFeatureGate:j,useDynamicConfig:B}=ce(),{isFeatureEnabled:P}=j(Y.isCashbackFeatureEnabled),{isFeatureEnabled:V}=j(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:u}=j(Y.isDebitCardFeatureEnabled),{isFeatureEnabled:l}=j(Y.isEarlyPayFeatureEnabled),{isFeatureEnabled:w}=j(Y.isChargeCardPaymentHistoryFeatureEnabled),{isFeatureEnabled:T}=j(Y.isCardsCommentingEnabled),H=Se(u,f),L=Ie({isDebitCardFeatureEnabled:u,isBankingOnlyTenant:H}),K=be(f),I=ye(f),x=f.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,N=Ae({isCardsOnlyTenant:K,isChargeCardFeatureEnabled:V,isBookKeepingTenant:I,isDebitCardProductVisible:L,chargeCardsCreditAccountLimit:x}),U=Mt({isCardsOnlyTenant:K,isChargeCardFeatureEnabled:V,isBookKeepingTenant:I}),{configValue:W}=B(Fe.zeniCardsConfig),E=je(),$=Re(E?.loggedInUserRoleMap),q=y(z=>ze(z,f.companyId)),G=Ge(q.controllers),O=W.charge_card_cashback_rate_per_transaction!=null?W.charge_card_cashback_rate_per_transaction:.0175,se=W.credit_card_pay_now_threshold_by_company_id?.[f.companyId]??W.default_credit_card_pay_now_threshold??vr,ae=W.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(W.enable_card_controls_for_company_ids)&&W.enable_card_controls_for_company_ids.includes(f.companyId),ne=!!f.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,J=!!f.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,re=!!f.companyChargeCardInfo?.info?.isChargeCardEnabled,Ee=y(z=>ht(z)),Oe=Qa(Ee.updateStatus),Z=y(z=>Ze(z,D,L&&v,N&&re)),he=Z.cards.filter(z=>z.type.code.includes("debit")).map(z=>z.connectedAccountId),ke=[...new Set(he)],xe=y(z=>Ye(z)),we=y(z=>va(z,ke)),Pe=y(z=>da(z,f.companyId)),ee=Pe.companyChargeCardInfo?.primaryFundingAccount,pa=Pe.allFundingAccounts.find(z=>z.id===ee?.accountId),oe=Z.fetchState,ea=Z.creditAccount;Yt({isDataReady:oe==="Completed"});const{creditAccountRepayment:de}=y(z=>$e(z)),Be=y(z=>ka(z).firstViewAfterActivation),{areTenantIdsInSync:aa}=jt(),We=Xa($,xe),ta=ma(N,re,$,ea,de),na=et(L,v,$,we,Z.debitCardSummary),ra=Ue(N,L,v,re),sa=Z.creditAccount.balance.amount+Z.creditAccount.hold.amount;if(i.useEffect(()=>{oe==="Completed"&&(X.getPayNowInfoTooltip()==null||sa<se*Z.creditAccount.limit.amount/100)&&o(!0)},[oe,se,sa,Z.creditAccount.limit.amount]),i.useEffect(()=>{if(e!=null&&e===!0&&de.initiatedRepayments.amount===0&&de.fetchState==="Completed"||Oe==="In-Progress"&&Ee.updateStatus==="Completed")o(!1),C(!0);else if(de.initiatedRepayments.amount>0&&de.fetchState==="Completed"){C(!1),document.body.style.overflow="auto";const z=Ne(f.tenantEmailDomain);n(z)}},[e,de.initiatedRepayments.amount,de.fetchState,Oe,Ee.updateStatus,n,f.tenantEmailDomain]),i.useEffect(()=>{!R&&(re||v)&&aa&&(F(!0),a(Ia(D,L&&v,N&&re,!1)))},[R,D,a,aa]),i.useEffect(()=>{Be&&c===!1&&(_(!0),setTimeout(()=>{a(Sa())},5e3))},[Be,c]),i.useEffect(()=>{oe==="Completed"&&d&&Z.cards.length===1&&(Z.cards[0].status.code==="inactive"&&Z.cards[0].type.code==="business_physical_credit_card"?n(`./${Z.cards[0].id}/activate`):Z.cards[0].status.code!=="request_on_hold"&&(r.state?.message==="comingFromCardDetail"?n("../../"):n(`./${Z.cards[0].id}`)))},[oe,d,r.state,n,Z.cards]),i.useEffect(()=>{if(oe==="Completed"&&d){const z=Z.cards.length,De=Z.cards.filter(He=>He.cardHolderUserId===A?.userId).filter(He=>He.status.code==="request_on_hold");De.length>0&&z===De.length&&n("./onboard")}},[oe,Z.cards,d,n,A?.userId]),i.useEffect(()=>{oe!=="Completed"||N&&de.fetchState!=="Completed"||L&&v&&$&&we.fetchState!=="Completed"||Q.trackCardsCardListView(G,ra,We,ta,na)},[oe,ea,de.fetchState,we.fetchState,$]),A==null)throw Error("Can't access charge card list page without signing in...");const La=y(z=>Pt(z.userState,z.userRoleState,z.userListViewState,"cardAdmin")),ha=Ya(E?.loggedInUserRoleMap),fa=z=>{h(z)},M=Z.creditAccount.limit,me=()=>{C(!1),n("..")},Te=f.companyChargeCardInfo?.info!=null&&Je({cardInfo:f.companyChargeCardInfo.info,isProductVisible:N,isTOSAccepted:ne,isSetupEnabled:re,isUserHasCardsAdminLevelAccess:$,isUserHasCardsAccess:ha}),Ve=f.companyDebitCardInfo?.info!=null&&Je({cardInfo:f.companyDebitCardInfo.info,isProductVisible:L,isTOSAccepted:J,isSetupEnabled:v,isUserHasCardsAdminLevelAccess:$,isUserHasCardsAccess:ha});return re||v?s.jsxs(s.Fragment,{children:[oe==="Completed"?s.jsxs(s.Fragment,{children:[s.jsx(Ja,{analytics:Q,onLoad:()=>{Q.trackPageLoaded(Nt.Event.cardsListPage),(N&&!re||L&&!v)&&Q.trackCardsPromoView(G,{isCreditCardOffered:N,isDebitCardOffered:L,isDebitCardEnabled:v,isCreditCardEnabled:re},"Banner",L&&!v?"Debit Card":N&&!re?"Credit Card":"","Card List")}}),s.jsx(Oa,{showConfetti:Be})]}):null,m===!0?s.jsx(at,{closeDrawerHandler:me,isPaymentDrawerOpen:m,pageName:"Card List",sourcePage:"cardListPage",creditAccountSpentAmount:sa,productInformation:ra,creditAccountInformation:ta,debitAccountInformation:na,cashbackInformation:We,isDebitCardInfoFetchStateCompleted:!(L&&v&&$)||we.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!N||de.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!$||xe.fetchState==="Completed",paymentInitiatedDate:de.initiatedRepaymentDate}):null,s.jsxs(Wr,{children:[s.jsx(Ca,{isAppContentDrawerOpen:k,handleDrawerToggle:fa}),s.jsx(qr,{isCashbackFeatureEnabled:P,isChargeCardFeatureEnabled:N,isDebitCardFeatureEnabled:L,isCreditCardProductVisibleForExpressInterest:U,updatePayNowInfoTooltip:o,showPayNowInfoTooltip:p,creditCardPayNowThreshold:se,signedInUser:A,chargeCardListState:Z,location:r,admins:La.users,navigateAndClearBulkSelection:n,currentTenant:f,isCardControlsEnabled:ae,companyChargeCardInfoCreditAccountLimit:f.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,isCompanyInterestedInChargeCard:f.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,isUserHasCardsAdminLevelAccess:$,includeCreditAccountDebitSummaryAndCashbackInfo:D,onClickMenuIcon:()=>{fa(!0)},creditLimit:M,isChargeCardSetupEnabled:re,isDebitCardSetupEnabled:v,isEarlyPayEnabled:l,isChargeCardPaymentHistoryFeatureEnabled:w,cashbackRate:O,controllerEmails:G,chargeCardCashbackDetailState:xe,depositAccountListWithDebitCardIssued:we,isChargeCardTOSAccepted:ne,isDebitCardTOSAccepted:J,primaryFundingAccountDetails:pa,chargeCardSetUpViewFetchState:Pe.fetchState,productInformation:ra,creditAccountInformation:ta,debitAccountInformation:na,cashbackInformation:We,isAiCfoAccessEnabled:b,onAskAiCfoClick:g,isCardsCommentingEnabled:T})]})]}):(ne||J)&&$===!0?s.jsx(ga,{to:"../setup"}):Te||Ve?s.jsx(ga,{to:"../promo"}):s.jsx(Ke,{fetchState:oe})}const Qr=e=>`/${e}/cards/new`,Jr=e=>`/${e}/cards/payment`,Xr=e=>`/${e}/cards/payment-history`,es=pe(function(e){const t=X.getSignedInUser(),a=ie(e),r=e.tenantState.currentTenantId,n=Tt(e),m={userId:t?.userId??"",sessionId:t?.zeniSessionId??"",tenantId:r??""},C=a?.companyName??"",p=e.chargeCardPaymentHistoryState.downloadUIState.downloadState;return{fetchState:n.fetchState,filters:n.filters,isZeniTenant:vn(a),repaymentList:n.repaymentHistory,searchText:n.searchText,repaymentHistoryUsers:n.repaymentHistoryUsers,sortConfig:{sortKey:n.uiState.sortKey,sortOrder:n.uiState.sortOrder},downloadParams:{authParams:m,companyName:C,spendManagementEndPoint:`${Ha}/spendManagement`,isShowDeletedBillsEnabled:!1,isShowDeletedReimbursementEnabled:!1},downloadState:p}},function(e,t){const{location:a,navigate:r}=t;return{onBackClick:()=>{const n=ve(a.state?.pathnameStackToGoBack),m=n.poppedPathname??"..";r(m,{state:{pathnameStackToGoBack:n.newStack}})},onColumnSortConfigChanged:(n,m)=>{e({type:"chargeCardPaymentHistory/updatePaymentHistoryUIState",payload:{uiState:{sortKey:n,sortOrder:m}}})},onFiltersChange:n=>{e(xn({filters:n}))},onReloadPayments:()=>{e(Ft(!0))},onSearchTextChanged:n=>{e({type:"chargeCardPaymentHistory/updatePaymentHistorySearchText",payload:n})},updateDownloadStateHandler:n=>{e(On({uiState:{downloadState:n}}))}}})(gr);function as(){const e=le(),t=ge(),a=ue(),{areTenantIdsInSync:r}=jt(),{useFeatureGate:n}=ce();if(X.getSignedInUser()==null)throw Error("Can't access payment history page without signing in...");const m=y(q=>ie(q)),C=y(q=>Tt(q)),[p,S]=i.useState(!1),[o,c]=i.useState(!1),[_,A]=i.useState(!1),[f,R]=i.useState(null),F=!m.userRole.includes("charge_card_user"),k=!!m.companyDebitCardInfo?.info?.isDebitCardEnabled,{isFeatureEnabled:h}=n(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:b}=n(Y.isDebitCardFeatureEnabled),g=Se(b,m),d=Ie({isDebitCardFeatureEnabled:b,isBankingOnlyTenant:g}),D=be(m),v=ye(m),j=m.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,B=Ae({isCardsOnlyTenant:D,isChargeCardFeatureEnabled:h,isBookKeepingTenant:v,isDebitCardProductVisible:d,chargeCardsCreditAccountLimit:j}),P=!!m.companyChargeCardInfo?.info?.isChargeCardEnabled,V=je(),u=Re(V?.loggedInUserRoleMap),l=y(q=>Ze(q,F,d&&k,B&&P)),w=i.useMemo(()=>{const q=l.cards.filter(G=>G.type.code.includes("debit"));return[...new Set(q.map(G=>G.connectedAccountId))]},[l.cards]),T=y(q=>Ye(q)),H=y(q=>va(q,w)),{creditAccountRepayment:L}=y(q=>$e(q)),K=i.useMemo(()=>Xa(u,T),[u,T]),I=i.useMemo(()=>ma(B,P,u,l.creditAccount,L),[B,P,u,l.creditAccount,L]),x=i.useMemo(()=>et(d,k,u,H,l.debitCardSummary),[d,k,u,H,l.debitCardSummary]),N=i.useMemo(()=>Ue(B,d,k,P),[B,d,k,P]),U=l.creditAccount.balance.amount+l.creditAccount.hold.amount,W=i.useMemo(()=>f!=null?C.repaymentHistory.find(q=>q.cardRepaymentId===f):void 0,[f,C.repaymentHistory]),E=i.useCallback(q=>{R(q),a(Ia(F,d&&k,B&&P,!1)),A(!0)},[a,F,d,k,B,P]),$=i.useCallback(()=>{A(!1),R(null),document.body.style.overflow="auto"},[]);return i.useEffect(()=>{p||C.fetchState==="Completed"||C.fetchState==="In-Progress"||(S(!0),a(Ft()))},[p,a,C.fetchState]),i.useEffect(()=>{!o&&(P||k)&&r&&(c(!0),a(Ia(F,!1,B&&P,!1)))},[o,P,k,r,a,F,B]),s.jsxs(s.Fragment,{children:[_?s.jsx(at,{closeDrawerHandler:$,isPaymentDrawerOpen:_,pageName:"Payment History",sourcePage:"cardPaymentHistory",creditAccountSpentAmount:U,productInformation:N,creditAccountInformation:I,debitAccountInformation:x,cashbackInformation:K,isDebitCardInfoFetchStateCompleted:!(d&&k&&u)||H.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!B||L.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!u||T.fetchState==="Completed",paymentInitiatedDate:L.initiatedRepaymentDate,retryRepayment:W}):null,s.jsx(es,{location:t,navigate:e,accountInfoByAccountId:C.accountInfoByAccountId,onRetryPaymentClick:E})]})}const it=_e.div`
|
|
26
26
|
display: flex;
|
|
27
27
|
height: 100vh;
|
|
28
28
|
width: 100%;
|
|
@@ -31,7 +31,7 @@ import{j as s}from"./liveblocks-D_qjMTev.js";import{j as le,l as ia,h as ue,g as
|
|
|
31
31
|
overflow: auto;
|
|
32
32
|
align-items: center;
|
|
33
33
|
background-color: ${e=>e.theme.colors.grey4};
|
|
34
|
-
`,dt=qa.getLocalizedStrings().months;function ts(){const e=le(),t=ue(),a=ge(),{creditAccount:r,creditAccountRepayment:n}=y(I
|
|
34
|
+
`,dt=qa.getLocalizedStrings().months;function ts(){const e=le(),t=ue(),a=ge(),{creditAccount:r,creditAccountRepayment:n}=y(I=>$e(I)),m=`${Ut.cardMicroServiceBaseUrl}/1.0/credit-accounts/${r.id}`,[C,p]=i.useState(!1),[S,o]=i.useState(!1),c=y(I=>Bn(I)),{useFeatureGate:_}=ce(),A=y(I=>ie(I)),{isFeatureEnabled:f}=_(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:R}=_(Y.isDebitCardFeatureEnabled),F=Se(R,A),k=Ie({isDebitCardFeatureEnabled:R,isBankingOnlyTenant:F}),h=be(A),b=ye(A),g=A.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,d=Ae({isCardsOnlyTenant:h,isChargeCardFeatureEnabled:f,isBookKeepingTenant:b,isDebitCardProductVisible:k,chargeCardsCreditAccountLimit:g}),D=!!A.companyDebitCardInfo?.info?.isDebitCardEnabled,v=!!A.companyChargeCardInfo?.info?.isChargeCardEnabled,j=y(I=>ze(I,A.companyId)),B=Ge(j.controllers),P=y(I=>vt(I)),V=P.cards.filter(I=>I.type.code.includes("debit")).map(I=>I.connectedAccountId),u=[...new Set(V)],l=y(I=>va(I,u)),w=y(I=>Ln(I));i.useEffect(()=>{S||r.fetchState==="Completed"||r.fetchState==="In-Progress"||(p(!0),t(za()))},[C,t,r.fetchState]),i.useEffect(()=>{S||r.fetchState!=="Completed"||r.id==null||c.fetchState==="Completed"||c.fetchState==="In-Progress"||(o(!0),t(Rn(r.id)))},[S,t,r.fetchState,r.id,c.fetchState]),i.useEffect(()=>{l.fetchState!=="Completed"&&l.fetchState!=="In-Progress"&&k&&D&&t(Ot()),P.fetchState!=="Completed"&&P.fetchState!=="In-Progress"&&t(ca()),w.fetchState!=="Completed"&&w.fetchState!=="In-Progress"&&k&&D&&t(Un()),n.fetchState!=="Completed"&&n.fetchState!=="In-Progress"&&d&&v&&t(Ga())},[l.fetchState,k,D,P.fetchState,w.fetchState,n.fetchState,d,v]),i.useEffect(()=>{if(c.fetchState==="Completed"&&r.fetchState==="Completed"&&n.fetchState==="Completed"&&P.fetchState==="Completed"&&(!k||!D||l.fetchState==="Completed"&&w.fetchState==="Completed")){let I="",x="";if(c.statements.length>0){const E=c.statements[c.statements.length-1].period,[$,q]=E.split("-"),G=c.statements[0].period,[O,se]=G.split("-");I=`${dt[parseInt(q)-1]} ${$}`,x=`${dt[parseInt(se)-1]} ${O}`}const N=Ue(d,k,D,v),U=ma(d,v,!0,r,n),W=et(k,D,!0,l,w);Q.trackCardsCreditCardStatementsView(B,N,{numberOfStatements:c.statements.length,oldestStatementMonthYear:I,latestStatementMonthYear:x},U,W)}},[c.fetchState,r.fetchState,n.fetchState,l.fetchState,P.fetchState,w.fetchState]);const T=()=>{const I=ve(a.state?.pathnameStackToGoBack),x=I.poppedPathname??"..";e(x,{state:{pathnameStackToGoBack:I.newStack}})},H=y(I=>Ye(I)),L=X.getSignedInUser(),K={userId:L?.userId??"",sessionId:L?.zeniSessionId??"",tenantId:A.tenantId??""};if(L==null)throw Error("Can't access address page without signing in...");if(c.fetchState!=="Completed")return s.jsx(it,{children:s.jsx(br,{onBackClick:T})});{const I=Ue(d,k,D,v);return s.jsx(it,{children:s.jsx(yr,{currentTenantCompanyName:A.companyName,statementListView:c,productInformation:I,onBackClick:T,authParams:K,controllerEmails:B,isChargeCardFeatureEnabled:d,isDebitCardFeatureEnabled:k,isDebitCardSetupEnabled:D,isChargeCardSetupEnabled:v,chargeCardCashbackDetailState:H,creditAccount:r,creditAccountRepayment:n,depositAccountListWithDebitCardIssued:l,debitCardSummary:w,downloadEndPoint:m})})}}const ns={containerWidth:new ua(100,58)},rs=({appContent:e})=>{const t=la(),a=ue(),r=le(),n=ge(),{useDynamicConfig:m}=ce(),[C,p]=i.useState(!1),[S,o]=i.useState(!1),[c,_]=i.useState(!1),[A,f]=i.useState(!1),[R,F]=i.useState(!1),[k,h]=i.useState(!1),b=X.getSignedInUser();if(b==null)throw Error("Can't access onboarding card page without signing in...");const g=y(U=>ie(U)),{configValue:d}=m(Fe.zeniCardsConfig),D=y(U=>jn(U)),{tenantEmailDomain:v}=g,j=y(U=>U.settingsViewState.profile.fetchState),B=y(U=>U.chargeCardListState.fetchState),P=y(U=>U.settingsViewState.profile.userId),V=y(U=>U.chargeCardConfigState.fetchState);i.useEffect(()=>{C===!1&&j!=="In-Progress"&&j!=="Completed"&&(a(Nn()),p(!0)),S===!1&&V!=="In-Progress"&&V!=="Completed"&&(a(Da()),o(!0)),c===!1&&B==="Not-Started"&&(_(!0),a(ca()))},[C,c,B,S,V]),i.useEffect(()=>{j==="Completed"&&R===!1&&P!=null&&B==="Completed"&&D.cards.length>0&&(a(Vn({userId:P})),a(xt({cardId:D.cards[D.cards.length-1].id})),F(!0))},[j,R,P,B]),i.useEffect(()=>{if(!A&&D.fetchState==="Completed"&&D.cards.length===0){const U=ve(n.state?.pathnameStackToGoBack),W=U.poppedPathname??Ne(v);r(W,{state:{pathnameStackToGoBack:U.newStack}})}},[D.fetchState,D.cards,A]);const u=y(U=>ka(U)),l=Qa(u.updateStatus.fetchState),w=u.currentDisplayedCardId,{useFeatureGate:T}=ce(),{isFeatureEnabled:H}=T(Y.isChargeCardFeatureEnabled),L=!!g.companyChargeCardInfo?.info?.isChargeCardEnabled,K=!g.userRole.includes("charge_card_user")&&H&&L,I=y(U=>w!=null?Bt(U.chargeCardState,w):null),x=()=>{w!=null&&(a(Xe(w,K,!0)),a(ca()),f(!0))};i.useEffect(()=>{if(A&&w!=null&&I!=null&&I.status.code!=="request_on_hold"){const U=Ce(g.tenantEmailDomain,w,b,I),W=fe(n.state?.pathnameStackToGoBack,n.pathname);a(Hn()),I?.type.code==="business_virtual_credit_card"&&a(_a()),r(U,{state:{pathnameStackToGoBack:W},replace:!0})}},[A,I?.status.code]),i.useEffect(()=>{l==="In-Progress"&&u.updateStatus.fetchState==="Completed"&&setTimeout(x,3e3)},[l,u.updateStatus.fetchState]);const N=U=>{h(U)};if(!A&&B!=="Completed"||j!=="Completed"||D.cards.length===0)return s.jsx(Ke,{fetchState:"In-Progress"});if(P==null)throw Error("Can't access my userId.");return s.jsxs(cs,{children:[s.jsx(Ca,{isAppContentDrawerOpen:k,handleDrawerToggle:N}),s.jsx(ss,{chargeCardListView:D,cardUserOnboardingView:u,navigate:r,currentTenant:g,myUserId:P,location:n,chargeCardCashbackRatePerTransaction:d.charge_card_cashback_rate_per_transaction!=null?d.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{N(!0)}}),e!=null?s.jsx(os,{windowSize:t,children:e}):null]})},ss=pe(function(e,{currentTenant:t,cardUserOnboardingView:a,chargeCardListView:r,myUserId:n}){const m=Ze(e,!1,!1,!1);let C=!1;return m.fetchState==="Completed"&&m.cards.length<=1&&(C=!0),{cards:r.cards,showMenuIcon:C,companyLegalName:t.companyName,twoFAView:a.twoFAView,cardUserOnboardingLocalData:a.cardUserOnboardingLocalData??{userId:n},isDOBDisabled:a.isDOBPresent,onboardingProgressStatus:a.onboardingProgressStatus}},function(e,t){const{navigate:a,cardUserOnboardingView:r,location:n,currentTenant:m}=t,{tenantEmailDomain:C}=m;return{updateCardUserOnboardingLocalData:p=>{e(rt({localData:p}))},onGetOtp:p=>{if(r.cardUserOnboardingLocalData!=null){const S={...r.cardUserOnboardingLocalData,phone:p};e(rt({localData:S}))}e(Ta(p,"CardUserOnboarding"))},onResendOtp:p=>{e(Pa(p,"CardUserOnboarding"))},onVerifyOtp:(p,S)=>{e(wa(p,S,"CardUserOnboarding"))},onVerifyOtpSuccess:p=>{e(Mn()),p!=null&&X.saveZeniOtpToken(p)},setCurrentDisplayedCardId:p=>{e(xt({cardId:p}))},onBackClick:()=>{const p=ve(n.state?.pathnameStackToGoBack),S=p.poppedPathname??Ne(C);a(S,{state:{pathnameStackToGoBack:p.newStack}})}}})(Sr),os=_e.div`
|
|
35
35
|
display: flex;
|
|
36
36
|
flex-direction: column;
|
|
37
37
|
width: ${e=>`${ns.containerWidth.value(e.windowSize)}%`};
|
|
@@ -44,7 +44,7 @@ import{j as s}from"./liveblocks-D_qjMTev.js";import{j as le,l as ia,h as ue,g as
|
|
|
44
44
|
flex-direction: column;
|
|
45
45
|
align-items: center;
|
|
46
46
|
background-color: ${e=>e.theme.colors.grey4};
|
|
47
|
-
`,is={containerWidth:new ua(100,58)},ds=({appContent:e})=>{const t=la(),a=ue(),r=le(),{cardId:n}=ia(),m=ge(),{useDynamicConfig:C,useFeatureGate:p}=ce(),[S,o]=i.useState(!1),[c,_]=i.useState(!1),[A,f]=i.useState(!1),[
|
|
47
|
+
`,is={containerWidth:new ua(100,58)},ds=({appContent:e})=>{const t=la(),a=ue(),r=le(),{cardId:n}=ia(),m=ge(),{useDynamicConfig:C,useFeatureGate:p}=ce(),[S,o]=i.useState(!1),[c,_]=i.useState(!1),[A,f]=i.useState(!1),[R,F]=i.useState(!1),k=X.getSignedInUser();if(k==null)throw Error("Can't access onboarding card page without signing in...");const h=y(x=>ie(x));if(n==null)throw Error("Empty card id is not valid...");const{configValue:b}=C(Fe.zeniCardsConfig),g=y(x=>zn(x,n)),{isFeatureEnabled:d}=p(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:D}=p(Y.isDebitCardFeatureEnabled),v=Se(D,h),j=Ie({isDebitCardFeatureEnabled:D,isBankingOnlyTenant:v}),B=be(h),P=ye(h),V=h.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,u=Ae({isCardsOnlyTenant:B,isChargeCardFeatureEnabled:d,isBookKeepingTenant:P,isDebitCardProductVisible:j,chargeCardsCreditAccountLimit:V}),l=g.chargeCard,w=y(x=>x.chargeCardConfigState.fetchState);i.useEffect(()=>{S===!1&&w!=="In-Progress"&&w!=="Completed"&&(a(Da()),o(!0)),c===!1&&g.fetchState==="Not-Started"&&(_(!0),a(Xe(n,!1,u)))},[c,g.fetchState,S,w]);const T=l?.type.code==="business_physical_debit_card"||l?.type.code==="business_virtual_debit_card";i.useEffect(()=>{if(g.fetchState==="Completed"){if(A===!1&&(T===!1||T&&l.status?.code!=="active"||T&&l.status.code==="active"&&l.isPinSet||l.cardHolderUserId!==k.userId)){const x=Ce(h.tenantEmailDomain,n,k,l,!0),N=fe(m.state?.pathnameStackToGoBack,m.pathname);r(x,{state:{pathnameStackToGoBack:N}})}else if(A&&g.isRefreshingViewInBackground===!1&&l?.isPinSet===!0){a(Gn({chargeCardId:n}));const x=Ce(h.tenantEmailDomain,n,k,l,!0),N=fe(m.state?.pathnameStackToGoBack,m.pathname);a(_a()),r(x,{state:{pathnameStackToGoBack:N}})}}},[g.fetchState,l?.type.code,A,g.isRefreshingViewInBackground]);const H=X.getZeniOtpTokenForCardHolder(n),L=y(x=>Ct(x.userState,k.userId)),K=()=>{l?.isPinSet!==!0&&a($a(n,!0))};i.useEffect(()=>{g.updateDebitCardPinAttemptFetchState.fetchState==="Completed"&&(setTimeout(K,3e3),f(!0))},[g.updateDebitCardPinAttemptFetchState.fetchState]);const I=x=>{F(x)};if(w!=="Completed"||l==null)return s.jsx(Ke,{fetchState:"In-Progress"});if(L?.phone==null)throw Error("Can't access user phone number.");return s.jsxs(ms,{children:[s.jsx(Ca,{isAppContentDrawerOpen:R,handleDrawerToggle:I}),s.jsx(ls,{cardId:n,card:l,phone:L.phone,signedInUser:k,isSandboxEnv:Ka(),debitCardDetailState:g,signedInUserToken:H,navigate:r,currentTenant:h,location:m,chargeCardCashbackRatePerTransaction:b.charge_card_cashback_rate_per_transaction!=null?b.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{I(!0)}}),e!=null?s.jsx(us,{windowSize:t,children:e}):null]})},ls=pe(function(e,{debitCardDetailState:t,cardId:a}){const r=pt(e,a),n=t.updateStatus,m=Ze(e,!1,!1,!1);let C=!1;return m.fetchState==="Completed"&&m.cards.length<=1&&(C=!0),{showMenuIcon:C,vgsVaultId:xa.cardVaultId,twoFAView:r,setPinWaitStatus:n}},function(e,t){const{navigate:a,cardId:r,location:n,currentTenant:m,debitCardDetailState:C}=t,p=C.chargeCard?.cardProviderID,{tenantEmailDomain:S}=m;return{onGetOtp:o=>{p!=null&&e(Ta(o,"ChargeCardHolder",r))},onUpdateDebitCardPinAttempt:o=>{e(St(r,o))},onResendOtp:o=>{p!=null&&e(Pa(o,"ChargeCardHolder",r))},onVerifyOtp:(o,c)=>{p!=null&&e(wa(o,c,"ChargeCardHolder",r))},onVerifyOtpSuccess:o=>{o!=null&&X.saveZeniOtpTokenForCardHolder(o,r)},onSetPinSuccess:()=>{e($n({chargeCardId:r}))},onBackClick:()=>{const o=ve(n.state?.pathnameStackToGoBack),c=o.poppedPathname==null||o.poppedPathname.includes("activate")===!0?Ne(S):o.poppedPathname;a(c,{state:{pathnameStackToGoBack:o.newStack}})}}})(Ir),us=_e.div`
|
|
48
48
|
display: flex;
|
|
49
49
|
flex-direction: column;
|
|
50
50
|
width: ${e=>`${is.containerWidth.value(e.windowSize)}%`};
|
|
@@ -59,7 +59,7 @@ import{j as s}from"./liveblocks-D_qjMTev.js";import{j as le,l as ia,h as ue,g as
|
|
|
59
59
|
align-items: center;
|
|
60
60
|
background-color: ${e=>e.theme.colors.grey4};
|
|
61
61
|
box-shadow: ${e=>`${Aa.sp0} 2px ${Aa.sp1} ${e.theme.colors.dropShadowNormal}`};
|
|
62
|
-
`,Cs={overlayWidth:new ua(
|
|
62
|
+
`,Cs={overlayWidth:new ua(Ra[12],Ra[12],Ra[9])},ps=pe(function(e,t){const a=Za(e,!1,!1),r=t.lineId,n=a.customAddress[r],m=a.customAddressStatus[r]??{fetchState:"Not-Started",error:void 0};return{googleAPIKey:t.googleAPIKey,customAddress:n,customAddressStatus:m,lineId:r}},function(e,t){const{newCustomAddressId:a,lineId:r,chargeCardTypeOption:n}=t;return{onSubmitHandler:m=>{a!=null&&e(Lt(`${n==="creditCard"?"credit":"debit"}_custom_shipping_${r}_address`));const C=Br(m);e(Kn({addressType:`${n==="creditCard"?"credit":"debit"}_custom_shipping_${r}_address`,addressToCreate:C})),e(Wn(`${n==="creditCard"?"credit":"debit"}_custom_shipping_${r}_address`))},onDismissClick:()=>{t.onDismissClick(),a!=null&&e(Zn({addressId:a,cardLineId:r,cardType:n==="creditCard"?"business_physical_credit_card":"business_physical_debit_card"}))}}})(Ar),hs=({lineId:e,closeDrawerHandler:t,chargeCardTypeOption:a})=>{const r=Wa(),n=la(),m=()=>{t()},C=y(p=>Yn(`${a==="creditCard"?"credit":"debit"}_custom_shipping_${e}_address`,p))?.newAddressId;return s.jsx(Vt,{anchor:"right",open:e.length>0,PaperProps:{style:{minWidth:Cs.overlayWidth.valuePercentage(n),boxShadow:"none",zIndex:8}},slotProps:{backdrop:{style:{opacity:.75,backgroundColor:r.colors.black,cursor:"pointer"}}},onClose:(p,S)=>(S==="backdropClick"||S==="escapeKeyDown")&&m(),children:s.jsx(ps,{googleAPIKey:xa.googleMapsAPIKey,onDismissClick:m,lineId:e,chargeCardTypeOption:a,newCustomAddressId:C})})},fs=pe(function(e,t){const{isChargeCardFeatureEnabled:a,isDebitCardFeatureEnabled:r,isIssuePhysicalCardEnabled:n,isIssuePhysicalDebitCardEnabled:m,isChargeCardSetupEnabled:C,isDebitCardSetupEnabled:p}=t,S=Za(e,a&&C,r&&p);return{companyName:t.companyName,signedInUser:t.signedInUser,issueChargeCards:S,isIssuePhysicalCardEnabled:n,isIssuePhysicalDebitCardEnabled:m,isDebitCardFeatureEnabled:r,isChargeCardFeatureEnabled:a,isChargeCardSetupEnabled:C,isDebitCardSetupEnabled:p,cardHolderCandidates:S.userList.map(o=>o.user).filter(Boolean),allRoles:S.userList.map(o=>o.userRole),allAccountingClasses:S.allAccountingClasses,userList:S.userList}},function(e,t){return{onIssueCardClick:()=>{e(Jn())},onSaveChangesToLocalStore:a=>{e(Qn(a))},onDismissClick:()=>{e(Rt()),t.navigate("../")},resetCustomAddressByLineID:(a,r)=>{e(Lt(`${r==="creditCard"?"credit":"debit"}_custom_shipping_${a}_address`))},openAddAddressDrawerHandler:t.openAddAddressDrawerHandler}})(Dr);function gs(){const e=X.getSignedInUser(),t=le(),a=ue(),r=Er(),[n]=lt(),m=n.get("cardType"),{useFeatureGate:C}=ce(),{isFeatureEnabled:p}=C(Y.isIssuePhysicalCardEnabled),{isFeatureEnabled:S}=C(Y.isIssuePhysicalDebitCardEnabled),{isFeatureEnabled:o}=C(Y.isDebitCardFeatureEnabled),{isFeatureEnabled:c}=C(Y.isChargeCardFeatureEnabled),_=y(I=>ie(I)),A=Se(o,_),f=Ie({isDebitCardFeatureEnabled:o,isBankingOnlyTenant:A}),R=be(_),F=ye(_),k=_.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,h=Ae({isCardsOnlyTenant:R,isChargeCardFeatureEnabled:c,isBookKeepingTenant:F,isDebitCardProductVisible:f,chargeCardsCreditAccountLimit:k}),[b,g]=i.useState(!1);if(e==null)throw Error("Can't access issue card page without signing in...");i.useEffect(()=>{b||(g(!0),a(qn(f&&D,h&&d,!1)))},[b,g,a]);const d=!!_.companyChargeCardInfo?.info?.isChargeCardEnabled,D=!!_.companyDebitCardInfo?.info?.isDebitCardEnabled,v=_.companyName,j=y(I=>Za(I,h&&d,f&&D)),B=j.fetchState,P=j.issueCardStatus.fetchState,V=j.lastSelfIssuedDebitCardId,u=y(I=>V!=null?Bt(I.chargeCardState,V):void 0),[l,w]=i.useState(null),[T,H]=i.useState(null),L=()=>{w(null)},K=(I,x)=>{w(I),H(x)};return i.useEffect(()=>{if(P==="Completed"){if(V!=null&&u?.type.code==="business_virtual_debit_card"){let I;I=u?.status.code==="request_on_hold"&&e.userId===u.cardHolderUserId?Gt(_.tenantEmailDomain):Ce(_.tenantEmailDomain,V,e,u),t(I)}else t("../");a(Rt())}},[P,V]),B==="Completed"?s.jsxs(s.Fragment,{children:[l!==null&&T!==null?s.jsx(hs,{closeDrawerHandler:L,lineId:l,chargeCardTypeOption:T}):null,s.jsx(fs,{companyName:v,signedInUser:e,themeState:r,isIssuePhysicalCardEnabled:p,isIssuePhysicalDebitCardEnabled:S,isDebitCardFeatureEnabled:f,isChargeCardFeatureEnabled:h,isChargeCardSetupEnabled:d,isDebitCardSetupEnabled:D,navigate:t,fetchState:j.fetchState,openAddAddressDrawerHandler:K,defaultCardType:m==="creditCard"||m==="debitCard"?m:void 0})]}):B==="Error"?s.jsx(Ba,{}):s.jsx(kr,{})}const bs=_e.div`
|
|
63
63
|
display: flex;
|
|
64
64
|
height: 100vh;
|
|
65
65
|
width: 100%;
|
|
@@ -68,4 +68,4 @@ import{j as s}from"./liveblocks-D_qjMTev.js";import{j as le,l as ia,h as ue,g as
|
|
|
68
68
|
overflow: auto;
|
|
69
69
|
align-items: center;
|
|
70
70
|
background-color: ${e=>e.theme.colors.grey4};
|
|
71
|
-
`,ys=pe(function(e,t){const{myPendingActivationChargeCardListState:a}=t;return{myPendingActivationChargeCardListView:a,uiState:a.uiState,signedInUser:t.signedInUser}},function(e,t){const{navigate:a,currentTenant:r,location:n,signedInUser:m,myPendingActivationChargeCardListState:C}=t,{tenantEmailDomain:p}=r,{cards:S}=C;return{onChargeCardRowClick:o=>{const c=zt(S,o),_=Ce(p,o,m,c),A=fe(n.state?.pathnameStackToGoBack,n.pathname);a(_,{state:{pathnameStackToGoBack:A}})},onColumnSortConfigChanged:(o,c)=>{e(Na({uiState:{sortKey:o,sortOrder:c}}))},onReloadCards:()=>{e(ca())},onBackClick:()=>{const o=r.userRole.includes("charge_card_user");e(Na({uiState:{sortKey:o?"cardName":"owner",sortOrder:"ascending"}})),a("../")}}})(_r);function Ss(){const e=le(),t=ue(),a=ge(),r=Wa(),[n,m]=i.useState(!1),C=y(T=>Xn(T)),p=y(T=>ie(T)),S=y(T=>ze(T,p.companyId)),o=$e(S.controllers),{useFeatureGate:c}=ce(),{isFeatureEnabled:_}=c(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:A}=c(Y.isDebitCardFeatureEnabled),f=Se(A,p),U=Ie({isDebitCardFeatureEnabled:A,isBankingOnlyTenant:f}),F=!!p.companyDebitCardInfo?.info?.isDebitCardEnabled,k=!!p.companyChargeCardInfo?.info?.isChargeCardEnabled,h=je(),b=be(p),g=ye(p),d=p.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,D=Ae({isCardsOnlyTenant:b,isChargeCardFeatureEnabled:_,isBookKeepingTenant:g,isDebitCardProductVisible:U,chargeCardsCreditAccountLimit:d}),v=Ue(h?.loggedInUserRoleMap),j=y(T=>Ye(T)),{creditAccount:O,creditAccountRepayment:P}=y(T=>Ge(T)),V=y(T=>vt(T)).cards.filter(T=>T.type.code.includes("debit")).map(T=>T.connectedAccountId),u=[...new Set(V)],l=y(T=>va(T,u));i.useEffect(()=>{n||C.fetchState==="Completed"||C.fetchState==="In-Progress"||(m(!0),t(ca()),t(Da()))},[n,t,C.fetchState]),i.useEffect(()=>{if(C.fetchState==="Completed"&&C.cards.length===1&&w!=null){const T=Ce(p.tenantEmailDomain,C.cards[0].id,w,C.cards[0]);e(T,{state:{message:a.state?.message}})}},[C.fetchState,C.cards]);const w=X.getSignedInUser();if(i.useEffect(()=>{O.fetchState!=="Completed"&&O.fetchState!=="In-Progress"&&D&&k&&v&&t(za()),P.fetchState!=="Completed"&&P.fetchState!=="In-Progress"&&v&&t($a()),l.fetchState!=="Completed"&&l.fetchState!=="In-Progress"&&U&&F&&v&&t(xt())},[O.fetchState,P.fetchState,t,l.fetchState,U,F,v,D,k]),w==null)throw Error("Can't access address page without signing in...");if(C.fetchState!=="Completed")return s.jsx(Ke,{fetchState:"In-Progress",style:{backgroundColor:r.colors.grey5}});{const T=Re(D,U,F,k);return s.jsx(bs,{children:s.jsx(ys,{navigate:e,currentTenant:p,signedInUser:w,productInformation:T,myPendingActivationChargeCardListState:C,isChargeCardFeatureEnabled:D,isDebitCardFeatureEnabled:U,isDebitCardSetupEnabled:F,isChargeCardSetupEnabled:k,chargeCardCashbackDetailState:j,creditAccount:O,creditAccountRepayment:P,depositAccountListWithDebitCardIssued:l,controllerEmails:o,location:a})})}}const Is=pe(function(e,t){const{companyId:a,companyLegalName:r}=t;return{chargeCardSetupView:da(e,a),admins:t.adminList,companyLegalName:r,meetingUrl:"https://meetings.hubspot.com/niharn/demo-zeni-charge-cards?embed=true"}},function(e,t){const{navigate:a,companyId:r,isCompanyBusinessVerificationAndPaymentSetUpDone:n,isDebitCardSetupEnabled:m,isChargeCardSetupEnabled:C,signedInUser:p,location:S,productInformation:o,isEarlyPayEnabled:c,controllerEmails:_,chargeCardsCreditAccountLimit:A}=t;return{onSetupButtonClick:f=>{if(p!=null&&J.trackCardsPromoPageClicked("enable cards"),n)switch(J.trackCardsEnableCardsClick(_,o,"Cards Promo"),f){case"credit":e(Be(r,!0,"charge_cards",c,!1));break;case"debit":e(Be(r,!0,"debit_cards",c,!1));break;case"debit_and_credit":e(A===0?Be(r,!0,"debit_cards",c,!0):Be(r,!0,"charge_cards__debit_cards",c,!1))}else switch(J.trackCardsSetupCardsClick(_,o,"Cards Promo"),f){case"credit":e(Be(r,!1,"charge_cards",c,!1));break;case"debit":e(Be(r,!1,"debit_cards",c,!1));break;case"debit_and_credit":e(A===0?Be(r,!1,"debit_cards",c,!0):Be(r,!1,"charge_cards__debit_cards",c,!1))}},onBackClick:()=>{const f=ve(S.state?.pathnameStackToGoBack);let U=f.poppedPathname;U==null&&(U=m||C?"..":"../.."),a(U,{state:{pathnameStackToGoBack:f.newStack}})},onLetsGoClick:()=>{a("./onboard")},onSetupChargeCardSuccess:()=>{n?(e(_a()),a("../",{relative:"path"})):a("../setup",{relative:"path"})},onExpressInterestClick:()=>{e(tr(r))}}})(wr),As=()=>{const e=le(),{tenantEmailDomain:t}=ia(),[a]=lt(),r=a.get("cardPromoType"),n=ue(),{useDynamicConfig:m,useFeatureGate:C}=ce(),[p,S]=i.useState(!1),{isFeatureEnabled:o}=C(Y.isDebitCardFeatureEnabled),{isFeatureEnabled:c}=C(Y.isEarlyPayFeatureEnabled),{isFeatureEnabled:_}=C(Y.isChargeCardFeatureEnabled),{configValue:A}=m(Fe.zeniCardsConfig),f=y(ee=>ie(ee)),U=y(ee=>ze(ee,f.companyId)),F=$e(U.controllers),k=A.charge_card_cashback_rate_per_transaction!=null?A.charge_card_cashback_rate_per_transaction:.0175,h=ge(),b=X.getSignedInUserTenant(t)?.companyId??f.companyId,g=y(ee=>da(ee,b)),d=g.primaryFundingAccount,D=f.companyBillPayInfo?.info,v=be(f),j=ye(f),O=Se(o,f),P=f.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,V=Ie({isDebitCardFeatureEnabled:o,isBankingOnlyTenant:O}),u=Ae({isCardsOnlyTenant:v,isChargeCardFeatureEnabled:_,isBookKeepingTenant:j,isDebitCardProductVisible:V,chargeCardsCreditAccountLimit:P}),l=Mt({isCardsOnlyTenant:v,isChargeCardFeatureEnabled:_,isBookKeepingTenant:j}),w=V&&u===!1,T=D?.businessVerificationStatus?.code==="verified"&&(w||d?.accType==="depositAccount"||er(d?.providerVerificationStatus?.code??"")),H=X.getSignedInUser(),B=!!f.companyZeniAccountInfo?.info?.isZeniAccountEnabled,K=!!f.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,I=!!f.company?.companyChargeCardInfo.isChargeCardEnabled,L=!!f.company?.companyDebitCardInfo.isDebitCardEnabled,N=!!f.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,R=ee=>{S(ee)},W=y(ee=>ee.chargeCardSetupViewState.fetchState);if(H==null)throw Error("Can't access Charge Card promo page without signing in...");const E=je(),G=Ue(E?.loggedInUserRoleMap),q=Ya(E?.loggedInUserRoleMap),[$,x]=i.useState(!1),[se,ae]=i.useState(!1),[ne,Q]=i.useState(!1);i.useEffect(()=>{$===!1&&h.state?.message==="activation"&&x(!0)},[h.state]),i.useEffect(()=>{se||W!=="Not-Started"||b==null||(ae(!0),n(Fa(b,!0)))},[se,W,b,n]);const re=f.companyChargeCardInfo?.info!=null&&Qe({cardInfo:f.companyChargeCardInfo.info,isProductVisible:l,isTOSAccepted:K,isSetupEnabled:I,isUserHasCardsAdminLevelAccess:G,isUserHasCardsAccess:q}),Ee=f.companyDebitCardInfo?.info!=null&&Qe({cardInfo:f.companyDebitCardInfo.info,isProductVisible:V,isTOSAccepted:N,isSetupEnabled:L,isUserHasCardsAdminLevelAccess:G,isUserHasCardsAccess:q}),xe=V&&Ee&&l&&P>=0&&re?"debit_and_credit":V&&Ee?"debit":"credit",Z=Lr(r,xe),he=g?.chargeCardTermsDetails?.fetchStatus?.fetchState,ke=i.useRef(null);i.useEffect(()=>{he==="In-Progress"?ke.current=Z:he!=="Error"&&he!=="Not-Started"||(ke.current=null)},[he,Z]);const Le=he!=="In-Progress"&&he!=="Completed"||ke.current==null?Z:ke.current;i.useEffect(()=>{Z==="credit"&&(I||l===!1&&L)||Z==="debit"&&L||Z==="debit_and_credit"&&L&&I?e("../"):(Z==="debit_and_credit"&&K===!0&&N===!0||Z==="credit"&&(K===!0||l===!1&&N===!0)||Z==="debit"&&N===!0)&&G===!0&&e("../setup")},[T,I,L,Z,K,N]),i.useEffect(()=>{ne||(n(ar("cardAdmin")),Q(!0))},[ne]);const we=y(ee=>Pt(ee.userState,ee.userRoleState,ee.userListViewState,"cardAdmin")),Pe=Re(l,V,L,I);return(re||Ee)&&W==="Completed"?s.jsxs(s.Fragment,{children:[s.jsx(Qa,{analytics:J,onLoad:()=>{if(J.trackPageLoaded(Nt.Event.cardsPromoPage),!!l&&!I||!!V&&!L||!!l&&!!V&&!L&&!I){const ee=Es({isDebitCardSetupEnabled:L,isChargeCardSetupEnabled:I,isCreditCardProductVisibleForExpressInterest:l,isDebitCardProductVisible:V});J.trackCardsPromoView(F,Pe,"Page",ee,"Promo Page")}}}),s.jsx(xa,{showConfetti:$}),s.jsx(Ca,{isAppContentDrawerOpen:p,handleDrawerToggle:R}),s.jsx(Is,{signedInUser:H,location:h,showEnableCardButton:T,isCompanyBusinessVerificationAndPaymentSetUpDone:T,isChargeCardSetupEnabled:I,isDebitCardSetupEnabled:L,companyLegalName:f.companyName,adminList:we.users,isCheckingEnabled:B,navigate:e,companyId:b,cardPromoType:Le,controllerEmails:F,productInformation:Pe,isCreditCardProductVisible:u,isDebitCardFeatureEnabled:o,isEarlyPayEnabled:c,cashbackRate:k,chargeCardsCreditAccountLimit:P,onClickMenuIcon:()=>{R(!0)}})]}):s.jsx(Ke,{fetchState:"Not-Started"})},Es=({isDebitCardSetupEnabled:e,isChargeCardSetupEnabled:t,isCreditCardProductVisibleForExpressInterest:a,isDebitCardProductVisible:r})=>a&&r&&!e&&!t?"Credit & Debit Card":a&&!t?"Credit Card":r&&!e?"Debit Card":"";function Ks(){const e=ge(),t=y(W=>ie(W)),{useFeatureGate:a}=ce(),{isFeatureEnabled:r}=a(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:n}=a(Y.isDebitCardFeatureEnabled),{isFeatureEnabled:m}=a(Y.isEarlyPayFeatureEnabled),{isFeatureEnabled:C}=a(Y.isChargeCardPaymentHistoryFeatureEnabled),p=Se(n,t),S=Ie({isDebitCardFeatureEnabled:n,isBankingOnlyTenant:p}),o=Pr(t,r,n),c=!!t.company?.companyChargeCardInfo.isChargeCardTOSAccepted,_=!!t.company?.companyDebitCardInfo.isDebitCardTOSAccepted,A=!!t.company?.companyChargeCardInfo.isChargeCardEnabled,f=!!t.company?.companyDebitCardInfo.isDebitCardEnabled,U=je(),F=Ue(U?.loggedInUserRoleMap),k=Ya(U?.loggedInUserRoleMap),{isFeatureEnabled:h}=a(Y.isCashbackFeatureEnabled),b=t.userRole.includes("charge_card_user"),g=!b,d=!b&&A,D=t?.userRole!=null&&nr(t?.userRole),v=(t?.company==null||t.company.featuresActivationInfo?.isBillPayFeatureEnabled&&!D)&&rr(U?.loggedInUserRoleMap),j=sr(U?.loggedInUserRoleMap),O=(t?.company==null||t.company.featuresActivationInfo?.isReimbursementFeatureEnabled&&!D)&&or(U?.loggedInUserRoleMap),{isFeatureEnabled:P}=a(Y.isDepositAccountsFeatureEnabled),V=P&&!D&&ft(U?.loggedInUserRoleMap),u=A&&!D,l=f&&!D,w=o&&!D&&Ue(U?.loggedInUserRoleMap),T=cr(U?.loggedInUserRoleMap),H=be(t),B=ye(t),K=t.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,I=Ae({isCardsOnlyTenant:H,isChargeCardFeatureEnabled:r,isBookKeepingTenant:B,isDebitCardProductVisible:S,chargeCardsCreditAccountLimit:K}),L=t.companyChargeCardInfo?.info!=null&&Qe({cardInfo:t.companyChargeCardInfo.info,isProductVisible:I,isTOSAccepted:c,isSetupEnabled:A,isUserHasCardsAdminLevelAccess:F,isUserHasCardsAccess:k}),N=t.companyDebitCardInfo?.info!=null&&Qe({cardInfo:t.companyDebitCardInfo.info,isProductVisible:S,isTOSAccepted:_,isSetupEnabled:f,isUserHasCardsAdminLevelAccess:F,isUserHasCardsAccess:k}),R=L||N;return s.jsxs(Kt,{children:[F?s.jsx(te,{path:"setup",element:s.jsx(st,{isBillPayAdminLevelAccess:v,isReimbursementAdminLevelAccess:O,isZeniAccountAdminLevelAccess:V,isChargeCardAdminLevelAccess:w,isUserHasOnlyCardAccess:T,isUserHasOnlyBillPayAccess:j,productType:"charge_cards",type:"setup"})}):null,F?s.jsx(te,{path:"verification",element:s.jsx(st,{isBillPayAdminLevelAccess:v,isUserHasOnlyBillPayAccess:j,isReimbursementAdminLevelAccess:O,isZeniAccountAdminLevelAccess:V,isChargeCardAdminLevelAccess:w,isUserHasOnlyCardAccess:T,productType:"charge_cards",type:"verification"})}):null,s.jsx(te,{path:"promo",element:s.jsx(As,{})}),u||l?s.jsxs(s.Fragment,{children:[s.jsx(te,{path:"/",element:s.jsx(ct,{isPaymentDrawerOpen:!1})}),w&&m?s.jsx(te,{path:"payment",element:s.jsx(ct,{isPaymentDrawerOpen:!0})}):null,s.jsx(te,{path:"activate",element:s.jsx(Ss,{})}),s.jsx(te,{path:"onboard",element:s.jsx(rs,{})}),F?s.jsx(te,{path:"new",element:s.jsx(gs,{})}):null,h&&g?s.jsx(te,{path:"cashback",element:s.jsx(Rr,{})}):null,d?s.jsx(te,{path:"statements",element:s.jsx(ts,{})}):null,w&&C&&A?s.jsx(te,{path:"payment-history",element:s.jsx(as,{})}):null,s.jsx(te,{path:":cardId/activate",element:s.jsx(Vr,{})}),s.jsx(te,{path:":cardId/setPin",element:s.jsx(ds,{})}),s.jsx(te,{path:":cardId/addToWallet",element:s.jsx(Br,{})}),s.jsx(te,{path:":cardId/*",element:s.jsx(Kr,{})}),s.jsx(te,{path:"*",element:s.jsx(Oa,{})})]}):(c||_)&&F?s.jsx(te,{path:"*",element:s.jsx(ga,{to:"../setup"})}):R?s.jsx(te,{path:"*",element:s.jsx(ga,{to:"../promo",state:e.state})}):s.jsx(te,{path:"*",element:null})]})}export{Ks as default};
|
|
71
|
+
`,ys=pe(function(e,t){const{myPendingActivationChargeCardListState:a}=t;return{myPendingActivationChargeCardListView:a,uiState:a.uiState,signedInUser:t.signedInUser}},function(e,t){const{navigate:a,currentTenant:r,location:n,signedInUser:m,myPendingActivationChargeCardListState:C}=t,{tenantEmailDomain:p}=r,{cards:S}=C;return{onChargeCardRowClick:o=>{const c=zt(S,o),_=Ce(p,o,m,c),A=fe(n.state?.pathnameStackToGoBack,n.pathname);a(_,{state:{pathnameStackToGoBack:A}})},onColumnSortConfigChanged:(o,c)=>{e(Na({uiState:{sortKey:o,sortOrder:c}}))},onReloadCards:()=>{e(ca())},onBackClick:()=>{const o=r.userRole.includes("charge_card_user");e(Na({uiState:{sortKey:o?"cardName":"owner",sortOrder:"ascending"}})),a("../")}}})(_r);function Ss(){const e=le(),t=ue(),a=ge(),r=Wa(),[n,m]=i.useState(!1),C=y(T=>Xn(T)),p=y(T=>ie(T)),S=y(T=>ze(T,p.companyId)),o=Ge(S.controllers),{useFeatureGate:c}=ce(),{isFeatureEnabled:_}=c(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:A}=c(Y.isDebitCardFeatureEnabled),f=Se(A,p),R=Ie({isDebitCardFeatureEnabled:A,isBankingOnlyTenant:f}),F=!!p.companyDebitCardInfo?.info?.isDebitCardEnabled,k=!!p.companyChargeCardInfo?.info?.isChargeCardEnabled,h=je(),b=be(p),g=ye(p),d=p.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,D=Ae({isCardsOnlyTenant:b,isChargeCardFeatureEnabled:_,isBookKeepingTenant:g,isDebitCardProductVisible:R,chargeCardsCreditAccountLimit:d}),v=Re(h?.loggedInUserRoleMap),j=y(T=>Ye(T)),{creditAccount:B,creditAccountRepayment:P}=y(T=>$e(T)),V=y(T=>vt(T)).cards.filter(T=>T.type.code.includes("debit")).map(T=>T.connectedAccountId),u=[...new Set(V)],l=y(T=>va(T,u));i.useEffect(()=>{n||C.fetchState==="Completed"||C.fetchState==="In-Progress"||(m(!0),t(ca()),t(Da()))},[n,t,C.fetchState]),i.useEffect(()=>{if(C.fetchState==="Completed"&&C.cards.length===1&&w!=null){const T=Ce(p.tenantEmailDomain,C.cards[0].id,w,C.cards[0]);e(T,{state:{message:a.state?.message}})}},[C.fetchState,C.cards]);const w=X.getSignedInUser();if(i.useEffect(()=>{B.fetchState!=="Completed"&&B.fetchState!=="In-Progress"&&D&&k&&v&&t(za()),P.fetchState!=="Completed"&&P.fetchState!=="In-Progress"&&v&&t(Ga()),l.fetchState!=="Completed"&&l.fetchState!=="In-Progress"&&R&&F&&v&&t(Ot())},[B.fetchState,P.fetchState,t,l.fetchState,R,F,v,D,k]),w==null)throw Error("Can't access address page without signing in...");if(C.fetchState!=="Completed")return s.jsx(Ke,{fetchState:"In-Progress",style:{backgroundColor:r.colors.grey5}});{const T=Ue(D,R,F,k);return s.jsx(bs,{children:s.jsx(ys,{navigate:e,currentTenant:p,signedInUser:w,productInformation:T,myPendingActivationChargeCardListState:C,isChargeCardFeatureEnabled:D,isDebitCardFeatureEnabled:R,isDebitCardSetupEnabled:F,isChargeCardSetupEnabled:k,chargeCardCashbackDetailState:j,creditAccount:B,creditAccountRepayment:P,depositAccountListWithDebitCardIssued:l,controllerEmails:o,location:a})})}}const Is=pe(function(e,t){const{companyId:a,companyLegalName:r}=t;return{chargeCardSetupView:da(e,a),admins:t.adminList,companyLegalName:r,meetingUrl:"https://meetings.hubspot.com/niharn/demo-zeni-charge-cards?embed=true"}},function(e,t){const{navigate:a,companyId:r,isCompanyBusinessVerificationAndPaymentSetUpDone:n,isDebitCardSetupEnabled:m,isChargeCardSetupEnabled:C,signedInUser:p,location:S,productInformation:o,isEarlyPayEnabled:c,controllerEmails:_,chargeCardsCreditAccountLimit:A}=t;return{onSetupButtonClick:f=>{if(p!=null&&Q.trackCardsPromoPageClicked("enable cards"),n)switch(Q.trackCardsEnableCardsClick(_,o,"Cards Promo"),f){case"credit":e(Le(r,!0,"charge_cards",c,!1));break;case"debit":e(Le(r,!0,"debit_cards",c,!1));break;case"debit_and_credit":e(A===0?Le(r,!0,"debit_cards",c,!0):Le(r,!0,"charge_cards__debit_cards",c,!1))}else switch(Q.trackCardsSetupCardsClick(_,o,"Cards Promo"),f){case"credit":e(Le(r,!1,"charge_cards",c,!1));break;case"debit":e(Le(r,!1,"debit_cards",c,!1));break;case"debit_and_credit":e(A===0?Le(r,!1,"debit_cards",c,!0):Le(r,!1,"charge_cards__debit_cards",c,!1))}},onBackClick:()=>{const f=ve(S.state?.pathnameStackToGoBack);let R=f.poppedPathname;R==null&&(R=m||C?"..":"../.."),a(R,{state:{pathnameStackToGoBack:f.newStack}})},onLetsGoClick:()=>{a("./onboard")},onSetupChargeCardSuccess:()=>{n?(e(_a()),a("../",{relative:"path"})):a("../setup",{relative:"path"})},onExpressInterestClick:()=>{e(tr(r))}}})(wr),As=()=>{const e=le(),{tenantEmailDomain:t}=ia(),[a]=lt(),r=a.get("cardPromoType"),n=ue(),{useDynamicConfig:m,useFeatureGate:C}=ce(),[p,S]=i.useState(!1),{isFeatureEnabled:o}=C(Y.isDebitCardFeatureEnabled),{isFeatureEnabled:c}=C(Y.isEarlyPayFeatureEnabled),{isFeatureEnabled:_}=C(Y.isChargeCardFeatureEnabled),{configValue:A}=m(Fe.zeniCardsConfig),f=y(ee=>ie(ee)),R=y(ee=>ze(ee,f.companyId)),F=Ge(R.controllers),k=A.charge_card_cashback_rate_per_transaction!=null?A.charge_card_cashback_rate_per_transaction:.0175,h=ge(),b=X.getSignedInUserTenant(t)?.companyId??f.companyId,g=y(ee=>da(ee,b)),d=g.primaryFundingAccount,D=f.companyBillPayInfo?.info,v=be(f),j=ye(f),B=Se(o,f),P=f.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,V=Ie({isDebitCardFeatureEnabled:o,isBankingOnlyTenant:B}),u=Ae({isCardsOnlyTenant:v,isChargeCardFeatureEnabled:_,isBookKeepingTenant:j,isDebitCardProductVisible:V,chargeCardsCreditAccountLimit:P}),l=Mt({isCardsOnlyTenant:v,isChargeCardFeatureEnabled:_,isBookKeepingTenant:j}),w=V&&u===!1,T=D?.businessVerificationStatus?.code==="verified"&&(w||d?.accType==="depositAccount"||er(d?.providerVerificationStatus?.code??"")),H=X.getSignedInUser(),L=!!f.companyZeniAccountInfo?.info?.isZeniAccountEnabled,K=!!f.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,I=!!f.company?.companyChargeCardInfo.isChargeCardEnabled,x=!!f.company?.companyDebitCardInfo.isDebitCardEnabled,N=!!f.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,U=ee=>{S(ee)},W=y(ee=>ee.chargeCardSetupViewState.fetchState);if(H==null)throw Error("Can't access Charge Card promo page without signing in...");const E=je(),$=Re(E?.loggedInUserRoleMap),q=Ya(E?.loggedInUserRoleMap),[G,O]=i.useState(!1),[se,ae]=i.useState(!1),[ne,J]=i.useState(!1);i.useEffect(()=>{G===!1&&h.state?.message==="activation"&&O(!0)},[h.state]),i.useEffect(()=>{se||W!=="Not-Started"||b==null||(ae(!0),n(Fa(b,!0)))},[se,W,b,n]);const re=f.companyChargeCardInfo?.info!=null&&Je({cardInfo:f.companyChargeCardInfo.info,isProductVisible:l,isTOSAccepted:K,isSetupEnabled:I,isUserHasCardsAdminLevelAccess:$,isUserHasCardsAccess:q}),Ee=f.companyDebitCardInfo?.info!=null&&Je({cardInfo:f.companyDebitCardInfo.info,isProductVisible:V,isTOSAccepted:N,isSetupEnabled:x,isUserHasCardsAdminLevelAccess:$,isUserHasCardsAccess:q}),Oe=V&&Ee&&l&&P>=0&&re?"debit_and_credit":V&&Ee?"debit":"credit",Z=xr(r,Oe),he=g?.chargeCardTermsDetails?.fetchStatus?.fetchState,ke=i.useRef(null);i.useEffect(()=>{he==="In-Progress"?ke.current=Z:he!=="Error"&&he!=="Not-Started"||(ke.current=null)},[he,Z]);const xe=he!=="In-Progress"&&he!=="Completed"||ke.current==null?Z:ke.current;i.useEffect(()=>{Z==="credit"&&(I||l===!1&&x)||Z==="debit"&&x||Z==="debit_and_credit"&&x&&I?e("../"):(Z==="debit_and_credit"&&K===!0&&N===!0||Z==="credit"&&(K===!0||l===!1&&N===!0)||Z==="debit"&&N===!0)&&$===!0&&e("../setup")},[T,I,x,Z,K,N]),i.useEffect(()=>{ne||(n(ar("cardAdmin")),J(!0))},[ne]);const we=y(ee=>Pt(ee.userState,ee.userRoleState,ee.userListViewState,"cardAdmin")),Pe=Ue(l,V,x,I);return(re||Ee)&&W==="Completed"?s.jsxs(s.Fragment,{children:[s.jsx(Ja,{analytics:Q,onLoad:()=>{if(Q.trackPageLoaded(Nt.Event.cardsPromoPage),!!l&&!I||!!V&&!x||!!l&&!!V&&!x&&!I){const ee=Es({isDebitCardSetupEnabled:x,isChargeCardSetupEnabled:I,isCreditCardProductVisibleForExpressInterest:l,isDebitCardProductVisible:V});Q.trackCardsPromoView(F,Pe,"Page",ee,"Promo Page")}}}),s.jsx(Oa,{showConfetti:G}),s.jsx(Ca,{isAppContentDrawerOpen:p,handleDrawerToggle:U}),s.jsx(Is,{signedInUser:H,location:h,showEnableCardButton:T,isCompanyBusinessVerificationAndPaymentSetUpDone:T,isChargeCardSetupEnabled:I,isDebitCardSetupEnabled:x,companyLegalName:f.companyName,adminList:we.users,isCheckingEnabled:L,navigate:e,companyId:b,cardPromoType:xe,controllerEmails:F,productInformation:Pe,isCreditCardProductVisible:u,isDebitCardFeatureEnabled:o,isEarlyPayEnabled:c,cashbackRate:k,chargeCardsCreditAccountLimit:P,onClickMenuIcon:()=>{U(!0)}})]}):s.jsx(Ke,{fetchState:"Not-Started"})},Es=({isDebitCardSetupEnabled:e,isChargeCardSetupEnabled:t,isCreditCardProductVisibleForExpressInterest:a,isDebitCardProductVisible:r})=>a&&r&&!e&&!t?"Credit & Debit Card":a&&!t?"Credit Card":r&&!e?"Debit Card":"";function Ks(){const e=ge(),t=y(W=>ie(W)),{useFeatureGate:a}=ce(),{isFeatureEnabled:r}=a(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:n}=a(Y.isDebitCardFeatureEnabled),{isFeatureEnabled:m}=a(Y.isEarlyPayFeatureEnabled),{isFeatureEnabled:C}=a(Y.isChargeCardPaymentHistoryFeatureEnabled),p=Se(n,t),S=Ie({isDebitCardFeatureEnabled:n,isBankingOnlyTenant:p}),o=Pr(t,r,n),c=!!t.company?.companyChargeCardInfo.isChargeCardTOSAccepted,_=!!t.company?.companyDebitCardInfo.isDebitCardTOSAccepted,A=!!t.company?.companyChargeCardInfo.isChargeCardEnabled,f=!!t.company?.companyDebitCardInfo.isDebitCardEnabled,R=je(),F=Re(R?.loggedInUserRoleMap),k=Ya(R?.loggedInUserRoleMap),{isFeatureEnabled:h}=a(Y.isCashbackFeatureEnabled),b=t.userRole.includes("charge_card_user"),g=!b,d=!b&&A,D=t?.userRole!=null&&nr(t?.userRole),v=(t?.company==null||t.company.featuresActivationInfo?.isBillPayFeatureEnabled&&!D)&&rr(R?.loggedInUserRoleMap),j=sr(R?.loggedInUserRoleMap),B=(t?.company==null||t.company.featuresActivationInfo?.isReimbursementFeatureEnabled&&!D)&&or(R?.loggedInUserRoleMap),{isFeatureEnabled:P}=a(Y.isDepositAccountsFeatureEnabled),V=P&&!D&&ft(R?.loggedInUserRoleMap),u=A&&!D,l=f&&!D,w=o&&!D&&Re(R?.loggedInUserRoleMap),T=cr(R?.loggedInUserRoleMap),H=be(t),L=ye(t),K=t.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,I=Ae({isCardsOnlyTenant:H,isChargeCardFeatureEnabled:r,isBookKeepingTenant:L,isDebitCardProductVisible:S,chargeCardsCreditAccountLimit:K}),x=t.companyChargeCardInfo?.info!=null&&Je({cardInfo:t.companyChargeCardInfo.info,isProductVisible:I,isTOSAccepted:c,isSetupEnabled:A,isUserHasCardsAdminLevelAccess:F,isUserHasCardsAccess:k}),N=t.companyDebitCardInfo?.info!=null&&Je({cardInfo:t.companyDebitCardInfo.info,isProductVisible:S,isTOSAccepted:_,isSetupEnabled:f,isUserHasCardsAdminLevelAccess:F,isUserHasCardsAccess:k}),U=x||N;return s.jsxs(Kt,{children:[F?s.jsx(te,{path:"setup",element:s.jsx(st,{isBillPayAdminLevelAccess:v,isReimbursementAdminLevelAccess:B,isZeniAccountAdminLevelAccess:V,isChargeCardAdminLevelAccess:w,isUserHasOnlyCardAccess:T,isUserHasOnlyBillPayAccess:j,productType:"charge_cards",type:"setup"})}):null,F?s.jsx(te,{path:"verification",element:s.jsx(st,{isBillPayAdminLevelAccess:v,isUserHasOnlyBillPayAccess:j,isReimbursementAdminLevelAccess:B,isZeniAccountAdminLevelAccess:V,isChargeCardAdminLevelAccess:w,isUserHasOnlyCardAccess:T,productType:"charge_cards",type:"verification"})}):null,s.jsx(te,{path:"promo",element:s.jsx(As,{})}),u||l?s.jsxs(s.Fragment,{children:[s.jsx(te,{path:"/",element:s.jsx(ct,{isPaymentDrawerOpen:!1})}),w&&m?s.jsx(te,{path:"payment",element:s.jsx(ct,{isPaymentDrawerOpen:!0})}):null,s.jsx(te,{path:"activate",element:s.jsx(Ss,{})}),s.jsx(te,{path:"onboard",element:s.jsx(rs,{})}),F?s.jsx(te,{path:"new",element:s.jsx(gs,{})}):null,h&&g?s.jsx(te,{path:"cashback",element:s.jsx(Ur,{})}):null,d?s.jsx(te,{path:"statements",element:s.jsx(ts,{})}):null,w&&C&&A?s.jsx(te,{path:"payment-history",element:s.jsx(as,{})}):null,s.jsx(te,{path:":cardId/activate",element:s.jsx(Vr,{})}),s.jsx(te,{path:":cardId/setPin",element:s.jsx(ds,{})}),s.jsx(te,{path:":cardId/addToWallet",element:s.jsx(Lr,{})}),s.jsx(te,{path:":cardId/*",element:s.jsx(Kr,{})}),s.jsx(te,{path:"*",element:s.jsx(Ba,{})})]}):(c||_)&&F?s.jsx(te,{path:"*",element:s.jsx(ga,{to:"../setup"})}):U?s.jsx(te,{path:"*",element:s.jsx(ga,{to:"../promo",state:e.state})}):s.jsx(te,{path:"*",element:null})]})}export{Ks as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as m}from"./liveblocks-
|
|
1
|
+
import{j as m}from"./liveblocks-CzlYoB8q.js";import{a as g}from"./sentry-CNCwYM02.js";import{j as w,h as x,u as k,l as T,g as O,k as E}from"./core-CGhI3jCZ.js";import{z as D,b1 as F,A as L,d as P,f as V,ab as b,b2 as j,ap as A,aq as U,s as B}from"./index-DT4MXfVf.js";import{eO as C,fC as M,rx as _,fx as G,c1 as R,LK as z,bn as Y,pF as $,pt as q,j$ as H,lv as S,LL as K,bD as Z,cu as N,lD as J,lG as Q}from"./zeni-epic-state-lenVK-tm.js";import"./mui-ILn-Gd-L.js";import{c as W}from"./routePaths-C4fFm5dh.js";import{M as X}from"./MobileAppDrawer-BT6_YvGi.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]="bda3cb92-eea2-440c-9025-d21db0f4871b",t._sentryDebugIdIdentifier="sentry-dbid-bda3cb92-eea2-440c-9025-d21db0f4871b")}catch{}})();const ee=E(function(t){const a=G(t),i=D.getSignedInUser(),l=C(t),c=l.tenantId,p={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:c??""},f=R(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:Y(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(Q())},onAddressClick:e=>{const n=W(f,e),o=B(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?N(u):void 0,meetingLink:y!=""&&y!=null?N(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?Z(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(K(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($(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=>C(s)),d=r.companyId??D.getSignedInUserTenant(l)?.companyId;if(D.getSignedInUser()==null)throw Error("Can't access company details page without signing in...");g.useEffect(()=>{c||n!=="Not-Started"||d==null||(p(!0),a(M(d)))},[c,n,d,a]),g.useEffect(()=>{o==="Not-Started"&&a(_())},[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(L,{analytics:P,onLoad:s=>s.trackPageLoaded(V.Event.companyPassport,b(i)?"Settings":"Company Passport")}),b(i)?m.jsx(X,{isAppContentDrawerOpen:f,handleDrawerToggle:u}):null,m.jsx(ee,{companyId:d,navigate:t,location:i,isLoading:y,currentTenant:r,isSettings:b(i),onClickMenuIcon:()=>{u(!0)}})]})}export{de as C};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{j as C}from"./liveblocks-CzlYoB8q.js";import{a}from"./sentry-CNCwYM02.js";import{h as D,u as v,g as m,N as w}from"./core-CGhI3jCZ.js";import{Iv as O,eO as A,fj as j,mm as L,fL as h,fi as U,eP as _,IC as F}from"./zeni-epic-state-lenVK-tm.js";import{u as $,z as u,L as g,D as k,o as H}from"./index-DT4MXfVf.js";import{n as P}from"./mui-ILn-Gd-L.js";import{t as z}from"./getLocaleForTenant-CsrZKOZW.js";import{g as R,Q as G}from"./QBOConnectionScreen-Bjej94BR.js";import"./recharts-D6qS-pdV.js";import"./analytics-CQOsvcBG.js";import"./plaid-D8caW90M.js";import"./dnd-DKCsG5d8.js";import"./stripe-DMRn4zHo.js";import"./lottie-CLMz6y3A.js";import"./lexical-DT64qE89.js";import"./pdf-CUf9xopY.js";import"./utils-zvjLmBW4.js";import"./empty-CzOjtD5w.js";import"./pdf-lib-CWTnCbuI.js";import"./index-BRtx8cu_.js";import"./url-CWzi7k2i.js";import"./index-DH8cVwcc.js";import"./decodeURIComponentSafe-CZEzMrgK.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]="64e7d4a8-3ff6-4511-9adf-12e0a696c66f",t._sentryDebugIdIdentifier="sentry-dbid-64e7d4a8-3ff6-4511-9adf-12e0a696c66f")}catch{}})();const Q=P.div`
|
|
2
|
+
display: flex;
|
|
3
|
+
flex: 1 1 auto;
|
|
4
|
+
flex-direction: row;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
align-items: center;
|
|
7
|
+
width: 100%;
|
|
8
|
+
height: 100vh;
|
|
9
|
+
background-color: ${t=>t.theme.colors.background};
|
|
10
|
+
box-shadow: ${t=>`0px 2px ${H.sp1} ${t.theme.colors.dropShadowNormal}`};
|
|
11
|
+
`;function pe(){const t=D(),i=v(),{setLoading:d,clearAllLoading:x}=$(),p=a.useRef(!1),c=a.useRef(!1),{code:T,realmId:y,state:N}=R(i.search),S=T!==""&&y!==""&&N!=="",I=m(l=>O(l)),e=m(l=>A(l)),n=m(l=>l.tenantState.fetchState),r=m(l=>l.tenantState.activeTenantFetchState.fetchState),o=u.getSignedInUser(),f=u.getActiveTenantForUser()?.tenantId,s=e?.externalConnections?.fetchState,E=e?.externalConnections?.saveConnectionState,b=e.externalConnections?.accounting[0]?.isValid;return a.useLayoutEffect(()=>{d(g.CONNECTION_AUTH)},[d]),a.useEffect(()=>{p.current||o==null||f==null||(p.current=!0,n==="Completed"||r!=="Not-Started"&&r!=="Error"||(d(g.TENANT_FETCHING),t(j(o.userId,f))))},[p,n,d]),a.useEffect(()=>{e.tenantId==null&&!c.current&&o!=null&&(c.current=!0,!(f==null||f!=null&&(r==="Completed"||r==="Error"))||n!=="Not-Started"&&n!=="Error"||t(L(o.userId)))},[c,n,r]),a.useEffect(()=>{o==null||e?.tenantId==null||e.externalConnections!=null||n!=="Completed"&&r!=="Completed"||s==="In-Progress"||E!=="Error"||(d(g.CONNECTION_AUTH),t(h(o.userId,e.tenantId)))},[E]),a.useEffect(()=>{n!=="Completed"&&r!=="Completed"||o==null||e?.tenantId==null||(t(U(e.tenantId)),u.saveActiveTenantDomainForUser(e.tenantEmailDomain),_(o?.userId,o?.zeniSessionId,e.tenantId),k.updateAppLocaleID(z(F(e))),e.externalConnections!=null||n!=="Completed"&&r!=="Completed"||s==="In-Progress"||o==null||e==null||t(h(o.userId,e.tenantId)))},[n,r,s]),a.useEffect(()=>{I.tenantsCoreDetailsInOrder.length>0&&n==="Completed"&&u.saveSignedInUserTenants(I.tenantsCoreDetailsInOrder)},[I.tenantsCoreDetailsInOrder.length,n]),a.useEffect(()=>{n!=="Completed"&&n!=="Error"||r!=="Completed"&&r!=="Error"||s!=="Completed"&&s!=="Error"||x()},[n,r,s]),e==null||n!=="Completed"&&r!=="Completed"||s!=="Completed"?null:S||b===!1?C.jsx(Q,{children:C.jsx(G,{})}):C.jsx(w,{to:"/",replace:!0})}export{pe as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as d}from"./liveblocks-CzlYoB8q.js";import{z as n}from"./index-DT4MXfVf.js";import{g as p}from"./QBOConnectionScreen-Bjej94BR.js";import"./sentry-CNCwYM02.js";import{u as a,N as i}from"./core-CGhI3jCZ.js";import"./zeni-epic-state-lenVK-tm.js";import"./recharts-D6qS-pdV.js";import"./mui-ILn-Gd-L.js";import"./analytics-CQOsvcBG.js";import"./plaid-D8caW90M.js";import"./dnd-DKCsG5d8.js";import"./stripe-DMRn4zHo.js";import"./lottie-CLMz6y3A.js";import"./lexical-DT64qE89.js";import"./pdf-CUf9xopY.js";import"./utils-zvjLmBW4.js";import"./empty-CzOjtD5w.js";import"./pdf-lib-CWTnCbuI.js";import"./index-BRtx8cu_.js";import"./url-CWzi7k2i.js";import"./index-DH8cVwcc.js";import"./decodeURIComponentSafe-CZEzMrgK.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]="b68d0d57-e81d-4cfb-97e6-d4dd5e5b7ebd",t._sentryDebugIdIdentifier="sentry-dbid-b68d0d57-e81d-4cfb-97e6-d4dd5e5b7ebd")}catch{}})();const U=()=>{const t=a(),{code:o,realmId:r,state:e}=p(t.search),s=n.getSignedInUser()?.userId??"";if(f(o,r,e,s)===!0){const m=`../../${e}/onboarding?code=${o}&realmId=${r}&state=auth_flow`;return d.jsx(i,{to:m})}return d.jsx(i,{to:"../../"})},f=(t,o,r,e)=>t!=""&&o!=""&&r!=""&&e!=null&&e!="";export{U as default,f as hasValidParams};
|