1import{r as d,f3 as H,f4 as z,f5 as U,B as D,f6 as V,f7 as J,f8 as Q,f9 as X,fa as Z,fb as ee,l as q,A as t,S as te,az as ae}from"./index.40d342e9.1791468131499.js";import{i as L,r as K,u as ne}from"./agentation.5bb278ab.1791468131499.js";import{l as se}from"./index.56f327d8.1791468131499.js";import{M as R}from"./modal-select.231a1c65.1791468131499.js";import{w as le}from"./with-auth-guard.6cdab7d3.1791468131499.js";import{M as oe}from"./index-layout-lite.8cf00893.1791468131499.js";import re from"./breadcrumbs.be80adc7.1791468131499.js";import{j as ce}from"./historyModules.8292c3c6.1791468131499.js";import"./index.cbdc45e1.1791468131499.js";import"./no-records.28f5a25c.1791468131499.js";import"./select-input.f4b918b8.1791468131499.js";import"./index.760ecd5e.1791468131499.js";import"./registerModules.d40c18aa.1791468131499.js";import"./user-slice.957d110e.1791468131499.js";import"./usePreloadTheme.cf8603d9.1791468131499.js";import"./staticContentModules.e3a4452c.1791468131499.js";import"./dateInput.8af20141.1791468131499.js";import"./react-datepicker.min.de8ecdfc.1791468131499.js";import"./index.578a46aa.1791468131499.js";import"./warning.883c7a3c.1791468131499.js";import"./luckyWheelModules.279f6fd1.1791468131499.js";import"./ms-hook.d0662f9b.1791468131499.js";import"./index.d73faf44.1791468131499.js";const ie=({activeTab:s})=>{const[l,a]=d.useState([]),[r,c]=d.useState([]),[o,b]=d.useState([]),[h,m]=d.useState(!1),[y,_]=d.useState(!1),w=async e=>{m(!0);try{const k=await H(e);switch(e){case"B":a(k);break;case"R":c(k);break;default:break}}catch(k){console.error(k)}finally{m(!1)}},u=async()=>{_(!0);try{const e=await z();b(e)}catch(e){console.error(e)}finally{_(!1)}};d.useEffect(()=>{switch(s){case"bank":l.length===0&&w("B");break;case"ewallet":r.length===0&&w("R");break;case"crypto":o.length===0&&u();break}},[s]);const B=d.useMemo(()=>{switch(s){case"bank":return l;case"ewallet":return r;case"crypto":return o;default:return[]}},[s,l,r,o]);return{isLoading:d.useMemo(()=>{switch(s){case"bank":case"ewallet":return h;case"crypto":return y;default:return!1}},[s,h,y]),details:B,fetchMemberBankByType:w,loadMemberCryptoAccounts:u}},de=()=>{const[s,l]=d.useState(!1),[a,r]=d.useState([]),c=d.useMemo(()=>Object.keys(a).filter(b=>Y?.[b]?.id).map(b=>Y[b]),[a]),o=async()=>{l(!0);try{const b=await ce();r(b)}catch(b){console.error(b)}finally{l(!1)}};return d.useEffect(()=>{o()},[]),{isWithdrawalBankListLoading:s,availableTab:c}},ue=({type:s,bankList:l})=>{const[a,r]=d.useState([]),[c,o]=d.useState(!1),[b,h]=d.useState({}),[m,y]=d.useState(!1),_=async p=>{o(!0);try{const k=(await J())?.filter(f=>f.bankType===s&&!me(f.id,l)&&f.id!==p);r(k)}catch(e){console.error(e)}finally{o(!1)}},w=async()=>{y(!0);try{const[p,e]=await Promise.all([Q(),X()]),k=p.reduce((g,{cryptoCoin:N,cryptoNetwork:x})=>(g[N]=[...new Set([...g[N]||[],x])],g),{}),f=Object.entries(e).reduce((g,[N,x])=>{const C=(k[N]||[]).filter(j=>x.includes(j));return C.length>0&&(g[N]=C),g},{});h(f)}catch(p){console.error(p)}finally{y(!1)}},u=async(p,e)=>{const k=await Z(p);k.status===200?(D.toast.success(L.t("liteBank:liteBank.successAddedCryptoAddress","Crypto Address Added Successfully!")),e()):D.toast.error(k.detail||k.message)},B=async(p,e,k)=>{const f=await ee(p);if(f.status===200){e==="bank"?D.toast.success(L.t("liteBank:liteBank.successAddedBank","Bank Added Successfully!")):D.toast.success(L.t("liteBank:liteBank.successAddedEwallet","E-Wallet Added Successfully!")),k();const g=a?.filter(N=>N.id!==p.bankId);r(g)}else D.toast.error(f.detail||f.message)};return d.useEffect(()=>{s==="CT"?w():_()},[s]),{isLoading:c,availableBanks:a,isCryptoLoading:m,availableCrypto:b,submitCryptoAddress:u,submitAddBank:B,fetchCryptoList:w}},Y={B:{id:"bank",title:"Bank Details",translation:"liteBank:bankDetails"},R:{id:"ewallet",title:"E-Wallet Details",translation:"liteBank:ewalletDetails"},CT:{id:"crypto",title:"Crypto Details",translation:"liteBank:cryptoDetails"}},ke=()=>({deleteBank:async(a,r,c)=>{const o=await U({id:a});o.status===200?(c==="bank"?D.toast.success(L.t("liteBank:liteBank.successDeleteBank","Bank Deleted Successfully!")):D.toast.success(L.t("liteBank:liteBank.successDeleteEWallet","E-Wallet Deleted Successfully!")),r()
1):D.toast.error(o.detail||o.message)},deleteCrytoAddress:async(a,r)=>{const c=await V(a);c.status===200?(D.toast.success(L.t("liteBank:liteBank.successDeleteCrypto","Crypto Address Deleted Successfully!")),r()):D.toast.error(c.detail||c.message)}}),me=(s,l)=>Array.isArray(l)?l.some(a=>a.bankId===s):!1,pe="_skeleton_1628l_51",be="_row_1628l_73",ye="_title_1628l_97",Be="_date_1628l_102",_e="_details_1628l_107",fe="_removeIcon_1628l_112",he="_noBankAccount_1628l_121",we="_deleteButton_1628l_126",ge="_tabContainer_1628l_138",Ne="_tab_1628l_138",Ce="_active_1628l_154",xe="_addBankContainer_1628l_162",Ae="_field_1628l_162",De="_label_1628l_165",Se="_selected_1628l_172",je="_req_1628l_176",Ee="_input_1628l_179",ve="_error_1628l_187",$e="_typeContainer_1628l_194",Le="_labelSelect_1628l_213",Ie="_typeBox_1628l_216",Oe="_arrowIcon_1628l_221",Te="_option_1628l_224",Me="_bankIcon_1628l_230",Re="_action_1628l_238",We="_btn_1628l_242",Pe="_cancel_1628l_251",Fe="_add_1628l_31",qe="_errorMessage_1628l_263",n={"bank-details-container":"_bank-details-container_1628l_9","bank-detail
1s-content":"_bank-details-content_1628l_26","bank-details-navbar":"_bank-details-navbar_1628l_26","add-new-bank-btn":"_add-new-bank-btn_1628l_31","warning-message":"_warning-message_1628l_46",skeleton:pe,"skeleton-loading-effect":"_skeleton-loading-effect_1628l_1","bank-details-list":"_bank-details-list_1628l_65",row:be,"bank-details-row":"_bank-details-row_1628l_78","bank-info":"_bank-info_1628l_92",title:ye,date:Be,details:_e,removeIcon:fe,noBankAccount:he,deleteButton:we,tabContainer:ge,tab:Ne,active:Ce,addBankContainer:xe,field:Ae,label:De,selected:Se,req:je,input:Ee,error:ve,typeContainer:$e,labelSelect:Le,typeBox:Ie,arrowIcon:Oe,option:Te,bankIcon:Me,action:Re,btn:We,cancel:Pe,add:Fe,errorMessage:qe,"add-bank-btn":"_add-bank-btn_1628l_270"},Nt=()=>{const s=K.useLocation(),{navigateTo:l}=s.state||{},{t:a}=ne(["liteBank"]),r=K.useHistory(),c=q.useSelector(i=>i.language)||{},{name:o}=q.useSelector(i=>i.user?.account)||{},b=c.currentLanguage.currency,{availableTab:h}=de(),[m,y]=d.useState(l==="ADD_CRYPTO"?"crypto":h?.[0]?.id||"bank"),[_,w]=d.useState(l==="ADD_CRYPTO"||!1),{isLoading:u,details:B,fetchMemberBankByType:p,loadMemberCryptoAccounts:e}=ie({activeTab:m}),k=Ue?.[m]||"B",f=()=>{switch(m){case"bank":case"ewallet":p(k);break;case"crypto":e();break}},g=()=>{w(!0)},N=d.useCallback(()=>{w(!1),f()},[m]),x=window.portalSettings?.disabledAddBank,C=x?typeof x=="object"?x?.[m]:!!x:!1,j=!_&&!C;
1return t.jsx("div",{className:n["bank-details-container"],children:t.jsxs("div",{className:n["bank-details-content"],children:[t.jsxs("div",{className:n["bank-details-navbar"],children:[t.jsx(re,{title:_?a(`liteBank:${`add${m}`}`,`Add ${m}`):a("liteBank:bankDetails","Bank Details"),backAction:()=>l==="ADD_CRYPTO"?r.push("/myaccount/withdraw"):_?N():r.push("/myaccount/profile")}),j&&t.jsx("button",{className:n["add-new-bank-btn"],onClick:g,children:t.jsx(te,{category:"SVGReactIcons",name:"add_bank"})})]}),_?t.jsx(He,{t:a,accountName:o,currentActiveTab:m,currency:b,memberBanks:B,currentBankType:k,addBankPageOnBack:N}):t.jsxs(d.Fragment,{children:[t.jsx(Ye,{availableTab:h,currentActiveTab:m,setCurrentActiveTab:y,t:a}),C&&t.jsx("p",{className:n["warning-message"],children:a("liteBank:notes","*If you wish to change or add a deposit/withdrawal account, please contact our 24 hour customer service")}),u?t.jsx("div",{className:n.skeleton}):t.jsx("div",{className:n["bank-details-list"],children:t.jsx(Ke,{memberBanks:B,currency:b,t:a,currentActiveTab:m,fetchMemberBankByType:p,loadMemberCryptoAccounts:e,currentBankType:k})})]})]})})},Ke=({memberBanks:s,currency:l,t:a,currentActiveTab:r,fetchMemberBankByType:c,loadMemberCryptoAccounts:o,currentBankType:b})=>{const{deleteBank:h,deleteCrytoAddress:m}=ke(),[y,_]=d.useState({status:!1,id:""}),w=d.useCallback(e=>{switch(r){case"bank":case"ewallet":h(e,()=>{c(b),_({status:!1,id:""})},r);break;case"crypto":m(e,()=>{o(),_({status:!1,id:""})});break}},[r,b,c,o]),u=window.portalSettings?.disabledDeleteBank,B=u?typeof u=="object"?u?.[r]:!!u:!1,p=e=>{_({status:!0,id:e})};return s.length>0?t.jsxs(t.Fragment,{children:[y.status&&t.jsx(oe,{headerTranslationText:a("liteBank:deleteBankConfirmation","Delete selected bank?"),onClose:()=>_({status:!1,id:""}),children:t.jsx("button",{className:n.deleteButton,onClick:()=>w(y.id),children:a("liteBank:delete","Delete")})}),s.map(e=>{const k=r==="crypto",f=`/cms/public/payment/icons/Bank/${l}/${k?e.coin:e.bankCode}.png`,g=k?e.coin:e.bankCode,N=k?e.coin:e.bankName,x=k?`${a("liteBank:network","Network")}: ${e.network}`:`${a("liteBank:details","Details")}: ${e.accountName} / ${e.accountNumber}`,C=k?`${a("liteBank:address","Address")}: ${e.address}`:`${a("liteBank:bankBranch","Bank Branch")}: ${e.bankBranch}`,j=`/cms/public/payment/icons/Bank/${l}/default-bank-icon.png`;return t.jsxs("div",{className:n.row,children:[!B&&t.jsx("img",{src:"/public/html/default_whitelabel/shared-image/sp2lite/common-icon/trash.png",alt:"remove-icon",className:n?.removeIcon,onClick:()=>p(e.id),role:"button"}
1),t.jsxs("div",{className:n["bank-details-row"],children:[t.jsx("img",{alt:g,src:f,onError:i=>{i.currentTarget.src!==j&&(i.currentTarget.src=j)}}),t.jsxs("div",{className:n["bank-info"],children:[t.jsxs("span",{className:n.date,children:[a("liteBank:createdDate","Date of Creation")," - ",ae(e.createdDate).format("DD-MM-yyyy HH:mm")]}),t.jsx("span",{className:n.title,children:N}),t.jsx("span",{className:n.details,children:x}),t.jsx("span",{className:n.details,children:C})]})]})]},e.bankId)})]}):t.jsx("div",{className:n.noBankAccount,children:a(`liteBank:noAccount${r}`,`No ${r} Account`)})},Ye=({currentActiveTab:s,setCurrentActiveTab:l,availableTab:a,t:r})=>{const c=o=>{l(o)};return d.useEffect(()=>{a.length>0&&!s&&l(a?.[0]?.id)},[a]),t.jsx("div",{className:n.tabContainer,children:a.map(({id:o,title:b,translation:h})=>{const m=s===o;return t.jsx("button",{className:`${n.tab} ${m?n.active:""}`,onClick:()=>c(o),children:r(h,b)},o)})})},Ge=({t:s,accountName:l,currentActiveTab:a,currency:r,memberBanks:c,onProtectedSubmit:o,currentBankType:b,addBankPageOnBack:h})=>{const[m,y]=d.useState({toggle:!1,type:""}),{availableBanks:_,isLoading:w,availableCrypto:u,submitCryptoAddress:B,submitAddBank:p}=ue({type:b,bankList:c}),[e,k]=d.useState({selectedOption:{name:"",id:""},selectedNetwork:{name:"",id:""},bankBranch:"",accountNo:"",address:"",walletNo:"",accountName:l}),f=(i,S)=>{k(A=>({...A,[i]:S}))},g=()=>{k({selectedOption:{name:"",id:""},selectedNetwork:{name:"",id:""},bankBranch:"",accountNo:"",address:"",walletNo:"",accountName:l})},N=()=>{g(),h()},x=async i=>{if(i==="crypto"){const S={address:e.address,cryptoCoin:e.selectedOption.id,cryptoNetwork:e.selectedNetwork.id};o({submitFromParam:A=>B(A,void 0,g),payload:S})}else{const S={accountName:e.accountName,accountNumber:i==="ewallet"?e.walletNo:e.accountNo,bankBranch:e.bankBranch,bankId:e.selectedOption.id,bankName:e.selectedOption.name};o({submitFromParam:A=>p(A,i,g),payload:S})}},C=a==="bank"?Ve:a==="crypto"?Qe:Je,j=d.useCallback((i,S)=>{const A=C.find(O=>O.id===m?.type),v=m?.type,{id:$}=i||{},I=$?!$:!e?.[S]?.id;A?.validation?.emptyError&&I?f(`${v}_error`,s(A.validation.emptyError.translation,A.validation.emptyError.text)):f(`${v}_error`,"")},[e,C,m]);return t.jsxs("div",{className:n.addBankContainer,children:[m.toggle&&t.jsx(ze,{currentActiveTab:a,t:s,currency:r,availableCrypto:u,availableBanks:_,setBankModalOpen:y,fieldValues:e,setFieldValues:k,isBankModalOpen:m,handleBankSelect:j,currentRenderedFields:C,handleFieldOnChange:f}),C.map(({id:i,label:S,translation:A,placeholder:v,placeholderTranslation:$,type:I,mandatory:O,disabled:G,digitOnly:P,validation:T})=>{const F=I==="select";return t.jsxs("div",{className:n.field,children:[t.jsxs("label",{className:n.label,children:[s(A,S)," ",O?t.jsx("span",{className:n.req,children:"*"}):null]}),F?t.jsxs(d.Fragment,{children:[t.jsxs("div",{className:`${n.typeContainer} ${w?n.typeContainerLoading:""} ${e[`${i}_error`]&&n.error}`,onClick:()=>w?null:y({toggle:!0,type:i}),role:"button",tabIndex:0,onKeyDown:()=>w?null:y({toggle:!0,type:i}),children:[t.jsx("div",{className:`${n.label} ${i==="network"?e.selectedNetwork.name?n.selected:"":e.selectedOption.name?n.selected:""} ${F?n.labelSelect:""}`,children:i==="network"?e.selectedNetwork.name||s($,v):e.selectedOption.name||s($,v)}),t.jsx("div",{className:n.typeBox,children:t.jsx("div",{className:n.arrowIcon,children:t.jsx("img",{className:n.arrow,src:"/public/html/images/sp2lite/nav/arrow.png",alt:"bank-arrow"})})})]}),e[`${i}_error`]&&t.jsx("span",{className:n.errorMessage,children:e[`${i}_error`]})]}):t.jsxs(d.Fragment,{children:[t.jsx(se.DebounceInput,{debounceTimeout:500,className:`${n.input} ${e[`${i}_error`]&&n.error}`,placeholder:s($,v),disabled:G,value:e[i]||"",onKeyDown:E=>{P&&!/[0-9]/.test(E.key)&&!["Backspace","Delete","ArrowLeft","ArrowRight","Tab"].includes(E.key)&&E.preventDefault()},onBlur:E=>{const M=E.target.value;T?.emptyError&&!M?.trim()?f(`${i}_error`,s(T?.emptyError?.translation,T?.emptyError?.text)):f(`${i}_error`,"")},onChange:E=>{const M=P?E.target.value.replace(/\D/g,""):E.target.value;f(i,M)}}),e[`${i}_error`]&&t.jsx("span",{className:n.errorMessage,children:e[`${i}_error`]})]})]},`modal-${i}`)}),t.jsxs("div",{className:n.action,children:[t.jsx("button",{className:`${n.btn} ${n.cancel}`,onClick:N,children:s("liteBank:cancel","Cancel")}),t.jsx("button",{className:`${n.btn} ${n.add}`,disabled:Xe(e,C),onClick:()=>x(a),children:s("liteBank:add","Add")})]})]})},He=s=>{const{currentActiveTab:l}=s,a={bank:"BANK_DETAIL_BANK",ewallet:"BANK_DETAIL_EWALLET",crypto:"CRYPTO_ADDRESS"},r=le(Ge,{authParam:{isPublic:!1,moduleType:a[l]},module:a[l]});return t.jsx(r,{...s})},ze=({currency:s,t:l,availableBanks:a,currentActiveTab:r,setBankModalOpen:c,availableCrypto:o,setFieldValues:b,fieldValues:h,isBankModalOpen:m,handleBankSelect:y})=>{const _=h?.selectedOption?.id,w=d.useMemo(()=>_?o?.[_].map(u=>({id:u,name:u})):[],[o]);switch(r){case"bank":case"ewallet":return t.jsx(R,{header:l("liteBank:selectBank","Select Bank"),optionList:a,customSelection:{displayText:"name",customImage:"/cms/public/payment/icons/Bank/{{currency}}/{{code}}.png",code:"code",currency:s},currentSelection:h.selectedOption.id,handleClose:()=>{c({toggle:!1}),y(void 0,"selectedOption")},customClasses:W,handleSelect:u=>{const B=a.find(p=>p.id===u);y(B,"selectedOption"),b(p=>({...p,selectedOption:{name:B.name,id:B.id}})),c({toggle:!1})}});case"crypto":return m.type==="network"?_?t.jsx(R,{header:l("liteBank:selectNetwork","Select Network"),optionList:w,customSelection:{displayText:"name"},currentSelection:h?.selectedNetwork?.id,handleClose:()=>{c({toggle:!1}),y(void 0,"selectedNetwork")},customClasses:W,handleSelect:u=>{const B={selectedNetwork:{name:u,id:u}};y(B.selectedNetwork,"selectedNetwork"),b(p=>({...p,...B})),c({toggle:!1})}}):void 0:t.jsx(R,{header:l("liteBank:selectCrypto","Select Crypto"),optionList:o?Object.keys(o).map(u=>({id:u,name:u})):[],customSelection:{customImage:"/cms/public/payment/icons/Bank/{{currency}}/{{code}}.png",code:"name",currency:s,displayText:"name"},currentSelection:h?.selectedOption?.id,handleClose:()=>{c({toggle:!1}),y(void 0,"selectedOption")},customClasses:W,handleSelect:u=>{b(B=>{const p={selectedOption:{name:u,id:u},selectedNetwork:B?.selectedOption?.id!==u?{name:"",id:""}:B?.selectedNetwork};return y(p.selectedOption,"selectedOption"),{...B,...p}}),c({toggle:!1})}})}},Ue={bank:"B",ewallet:"R",crypto:"CT"},W={option:n.option,image:n.bankIcon},Ve=[{id:"bank",label:"Bank",translation:"liteBank:bank",placeholder:"Select bank",placeholderTranslation:"liteBank:selectBank",type:"select",mandatory:!0,field:"selectedOption.name",validation:{emptyError:{translation:"liteBank:validationEmptyBank",text:"Bank is Required"}}},{id:"bankBranch",label:"Bank Branch",translation:"liteBank:bankBranch",placeholderTranslation:"liteBank:bankBranch",placeholder:"Bank Branch",type:"text",value:"branch",field:"bankBranch"},{id:"accountName",label:"Account Name",translation:"liteBank:accountName",placeholderTranslation:"liteBank:accountName",placeholder:"Account Name",type:"text",mandatory:!0,disabled:!0,field:"accountName"},{id:"accountNo",label:"Account No.",translation:"liteBank:accountNo",placeholderTranslation:"liteBank:accountNo",placeholder:"Account No.",type:"text",mandatory:!0,field:"accountNo",digitOnly:!0,validation:{emptyError:{translation:"liteBank:validationEmptyAccountNo",text:"Account No is Required"}}}],Je=[{id:"ewallet",label:"E-Wallet",translation:"liteBank:ewallet",placeholder:"Select E-Wallet",placeholderTranslation:"liteBank:selectEwallet",type:"select",mandatory:!0,field:"selectedOption.name",validation:{emptyError:{translation:"liteBank:validationEmptyEwallet",text:"Ewallet is Required"}}},{id:"accountName",label:"E-Wallet",translation:"liteBank:ewallet",placeholderTranslation:"liteBank:ewallet",placeholder:"E-Wallet",type:"text",mandatory:!0,disabled:!0,field:"accountName"},{id:"walletNo",label:"Wallet No.",translation:"liteBank:walletNo",placeholderTranslation:"liteBank:walletNoPlaceholder",placeholder:"Example: 0123456789",type:"text",mandatory:!0,value:"code",disabled:!1,field:"walletNo",digitOnly:!0,validation:{emptyError:{translation:"liteBank:validationEmptyWalletNo",text:"Wallet No is Required"}}}],Qe=[{id:"crypto",label:"Cryptocurrency",translation:"liteBank:cryptocurrency",placeholder:"Select Crypto",placeholderTranslation:"liteBank:selectCrypto",type:"select",mandatory:!0,field:"selectedOption.name",validation:{emptyError:{translation:"liteBank:validationEmptyCryptoCurrency",text:"Crypto Currency is Required"}}},{id:"network",label:"Network",translation:"liteBank:network",placeholderTranslation:"liteBank:networkPlaceholder",placeholder:"Select Network",type:"select",mandatory:!0,field:"selectedNetwork.name",validation:{emptyError:{translation:"liteBank:validationEmptyNetwork",text:"Crypto Network is Required"}}},{id:"address",label:"Address",translation:"liteBank:address",placeholderTranslation:"liteBank:address",placeholder:"Address",type:"text",mandatory:!0,field:"address",validation:{emptyError:{translation:"liteBank:validationEmptyAddress",text:"Crypto Address is Required"}}}],Xe=(s,l)=>!l.filter(c=>c.mandatory).every(c=>{const o=Ze(s,c.field);return o!=null&&String(o).trim()!==""});function Ze(s,l){return l.split(".").reduce((a,r)=>a?.[r],s)}
1export{Nt as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.