1import{d as U,at as D,az as N,P as A,r as M,c as C,w as L,a1 as i,R as o,n as E,j as V,O as G,N as g,a5 as H,Q as s,z as w,u as a,Y as h,a0 as m,M as v,cb as K,an as O,m as W,df as j,aF as d,dg as q,dh as Q,_ as Y}from"./B9hccdKs.js";import"./CI5-UG_7.js";import{l as J}from"./BMNdcWOJ.js";import{B as X}from"./DxFCZofl.js";import{C as Z}from"./BvFKiz7d.js";import{R as ee}from"./BPuiW8PF.js";import"./D6kYyQpC.js";import"./Dt3BNYdw.js";import"./B8LniJga.js";import"./BffUSYYa.js";const ae={class:"stripe-bind-card-title"},re={class:"stripe-bind-card-title-text"},te={class:"stripe-bind-card-title-text-content"},ie={class:"stripe-bind-card-content"},oe={key:0,class:"initializing-container"},ne={class:"initializing-text"},se={key:1,id:"payment-element",class:"payment-element-container"},de={class:"stripe-bind-card-footer"},le={key:0,class:"loading-spinner"},ce={key:1},pe={class:"stripe-bind-card-footer-text"},me=U({__name:"stripe-bind-card-modal",setup(fe){const I=D(),t=N(),{isMobile:b}=A(),n=M(!1),f=M(!1);let p=null,u=null,l=null;const y=C({get:()=>t.isShowStripeBindCardModal,set:e=>{t.isShowStripeBindCardModal=e}}),z=C(()=>b.value?{maxHeight:"calc(var(--responsive-modal-visual-height, 100dvh) - 12px)",overflow:"hidden"}:void 0),P=C(()=>b.value?"stripe-bind-card-drawer":"stripe-bind-card-modal"),$=C(()=>b.value?"stripe-bind-card-drawer-body":"stripe-bind-card-modal-body"),R=async()=>{n.value=!0;try{const e=await j();if(e.data.biz_code!==1e4||!e.data.data){d(e.data.msg||"Failed to get payment configuration, please try again"),n.value=!1,i(o.StripeBindCardModalInitError,{error:e.data.msg||"Failed to get payment configuration",biz_code:e.data.biz_code});return}const S=e.data.data,c=S.client_secret,k=S.public_key;if(!c||!k){d("Failed to get payment configuration, please try again"),n.value=!1,i(o.StripeBindCardModalInitError,{error:"Missing clientSecret or publicKey"});return}if(p=await J(k),!p){d("Stripe initialization failed, please refresh the page and try again"),n.value=!1,i(o.StripeBindCardModalInitError,{error:"Stripe initialization failed"});return}const F={theme:"night",variables:{colorPrimary:"rgba(15, 17, 20, 0.95)",colorBackground:"#0f1114",colorText:"#ffffff",colorTextSecondary:"#a1a1aa",colorDanger:"#ef4444",borderRadius:"12px",borderWidth:"1px",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif',fontLineHeight:"1.6",colorBorder:"#2a2d32",colorInputBackground:"#111317"},rules:{".AccordionItem":{backgroundColor:"#111317",border:"1px solid #1f2328"},".AccordionItem--selected":{backgroundColor:"#151922",borderColor:"#3b82f6"},".Input":{backgroundColor:"#0f1114",color:"#ffffff",border:"1px solid #2a2d32",padding:"14px"},".Input:focus":{borderColor:"#3b82f6",boxShadow:"0 0 0 1px #3b82f6"},".Input::placeholder":{color:"#71717a"},".Label":{color:"#e5e7eb",fontWeight:"500"},".Tab":{backgroundColor:"transparent",border:"none"},".Tab--selected":{backgroundColor:"#111317",borderRadius:"10px"},".Error":{color:"#f87171"}}};u=p.elements({clientSecret:c,appearance:F}),n.value=!1,await E(),l=u.create("payment"),await l.mount("#payment-element"),l.on("ready",()=>{f.value=!0}),l.on("change",T=>{T.complete})}catch(e){console.error("Stripe initialization failed:",e),d((e==null?void 0:e.message)||"Initialization failed, please try again"),n.value=!1,f.value=!1,i(o.StripeBindCardModalInitError,{error:(e==null?void 0:e.message)||"Unknown error"})}},B=()=>{if(l){try{l.unmount()}catch(e){console.error("Failed to clean up Payment Element:",e)}l=null}u=null,p=null,f.value=!1},_=()=>{B(),t.isShowStripeBindCardModal=!1,t.loadingStripeBindCard=!1,t.isShowStripeBindCardModal=!1,i(o.StripeBindCardModalClose)},x=async()=>{var e;if(!p||!u){d("Payment environment not initialized, please try again later");return}if(!f.value){d("Payment form is not ready, please wait...");return}if(!t.loadingStripeBindCard){t.loadingStripeBindCard=!0,i(o.StripeBindCardModalSubmit);try{await q();const{error:r}=await p.confirmSetup({elements:u,redirect:"if_required",confirmParams:{return_url:window.location.href}});if(r){console.error("Stripe bind card error:",r.message),t.loadingStripeBindCard=!1,d(r.message||"Stripe bind card error, please try again"),i(o.StripeBindCardModalSubmitError,{error:r.message,error_type:r.type,error_code:r.code});return}(e=I.userInfo)!=null&&e.id&&(localStorage.setItem(Q.STRIPE_BIND_CARD_POLLING,I.userInfo.id),t.initBindCardPolling())}catch(r){t.loadingStripeBindCard=!1,_(),console.error("Stripe bind card error:",r),d((r==null?void 0:r.message)||"Stripe bind card error, please try again"),i(o.StripeBindCardModalSubmitError,{error:(r==null?void 0:r.message)||"Unknown error"})}}};return L(()=>y.value,e=>{e?(i(o.StripeBindCardModalExpose),E(()=>{R()})):B()},{immediate:!0}),V(()=>{B()}),(e,r)=>{const S=K;return g(),G(ee,{visible:a(y),"onUpdate:visible":r[0]||(r[0]=c=>
1W(y)?y.value=c:null),width:a(b)?"100%":"500px","unmount-on-close":!0,footer:!1,"hide-title":!0,"mask-closable":!1,header:!1,"modal-class":a(P),"body-class":a($),"drawer-style":a(z),onClose:_},{default:H(()=>{var c;return[s("div",ae,[s("div",re,[w(a(X),{class:"binding-icon"}),s("span",te,h((c=a(t).roulettePrize)!=null&&c.name?"".concat(a(t).roulettePrize.name," ").concat(("$t"in e?e.$t:a(m))("payment-modal.forFirstCardBinding")):"".concat(("$t"in e?e.$t:a(m))("payment-modal.freeBonusCredits")," ").concat(("$t"in e?e.$t:a(m))("payment-modal.forFirstCardBinding"))),1)]),w(a(Z),{class:"close-icon",onClick:_})]),s("div",ie,[a(n)?(g(),v("div",oe,[w(S,{size:"large"}),s("p",ne,h(("$t"in e?e.$t:a(m))("payment-modal.initializingPaymentEnvironment")),1)])):(g(),v("div",se))]),s("div",de,[s("div",{class:O(["stripe-bind-card-footer-confirm",{"is-loading":a(t).loadingStripeBindCard,"is-disabled":!a(f)||a(n)}]),onClick:x},[a(t).loadingStripeBindCard?(g(),v("div",le)):(g(),v("span",ce,h(("$t"in e?e.$t:a(m))("payment-modal.getFreeCredits")),1))],2),s("div",pe,h(("$t"in e?e.$t:a(m))("payment-modal.noChargesWillBeMadeSecureEncrypted")),1)])]}),_:1},8,["visible","width","modal-class","body-class","drawer-style"])}}}),Ie=Object.assign(Y(me,[["__scopeId","data-v-5fbdefb3"]]),{__name:"FeaturesPaymentStripeBindCardModal"});export{Ie 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.