import{_ as qe}from"./Dask9WAq.js";import{_ as Ye}from"./CrTH47Kg.js";import{_ as He}from"./CJ7vo-Ox.js";import{_ as Ke,a as Qe,b as Xe}from"./HzavGRoY.js";import{w as me,_ as Ze}from"./DIjK3-5u.js";import{_ as et}from"./D0tAuAH-.js";import{_ as tt}from"./ByBixulB.js";import{u as at,T as ce}from"./tLnNeW5f.js";import{a as lt,R as Q,f as pe}from"./DyGcr8JH.js";import{g as nt,u as ve,b as st,B as j}from"./CSZeIc-n.js";import{cI as _e,d9 as ot,d8 as M,cJ as A,cO as W,bv as it,db as ae,ez as ye,cT as le,cQ as y,cV as rt,cP as R,ds as F,cS as t,cX as e,cR as a,dW as o,eA as X,dt as _,dl as fe,dm as i,dk as x,dh as B,dL as dt,cU as d,di as ut,dj as mt,et as ct,ej as pt,eg as ft,eB as bt,du as gt,fH as vt,i9 as _t,d2 as yt,ia as kt}from"./BC4hLSsA.js";import{u as Vt}from"./vHI_ccjx.js";import{a as b,V as c}from"./4kGmKtnr.js";import{V as I}from"./qut2CM-I.js";import{V as Bt}from"./XbD-jec3.js";import{a as Z}from"./BLtFZmd8.js";import{V as Pt}from"./Dm4q74KD.js";import{V as wt}from"./DNj1sn9K.js";import{u as be}from"./C_ZDBJhM.js";import{V as ht,a as z}from"./B3slhlEQ.js";import{V as ee}from"./Ca5ypWnW.js";import{V as ge,a as h}from"./CERlGgo0.js";import{V as St}from"./CLHPky4Y.js";import{V as te}from"./BusBP0FW.js";import"./C4JX9G5N.js";import"./Bb-Ds3qC.js";import"./C6iUKSE9.js";import"./C-GTDzx5.js";import"./6L8PRSUE.js";import"./DF0rVYEp.js";import"./DlrL_d2K.js";import"./DFl25b2e.js";import"./BNDxxYca.js";import"./q7ClGcS_.js";import"./BOljUKgO.js";import"./DpkzY8Zu.js";import"./BXWpV_1S.js";import"./Cz2IrQ2l.js";import"./CEx-2nn-.js";import"./CLHigZFa.js";import"./fZeovsXe.js";import"./BtpVTFvi.js";/* empty css */import"./Cdupr3TC.js";const Tt=_e({__name:"PvPBet",setup(ke){const N=ot(),{gasPriceInfoMustDisplay:C,gasPriceErrorMustDisplay:S,gasPriceInfoCookie:k}=M(N),P=nt(),{currentPvPChain:g}=ve(),V=A(null),O=A(null),v=A(!1),u=A(""),m=W(()=>Ce.value-1),n=W(()=>u.value.split(",").map(s=>s.trim()).filter(s=>it(s))),l=W(()=>u.value.split(",").length!=n.value.length?'Respect the format "playerAddress1,playerAddress2" inline':n.value.length>m.value?`Too many participants. Max ${m.value}`:Array.from(new Set(n.value.map(H=>H.toLowerCase()))).length!=n.value.length?"Some addresses are not unique":"");ae(n,r=>{Ee.value=r});const T=A(!1),E=()=>{C.value?(T.value=!0,k.value=!0):f()},L=ye("game"),{wager:f,join:Ve,game:q,switchToWagerMode:ne}=L,{token:w,betAmount:$,currentBetMode:U,canWager:Y,disabledWagerLabel:se,isLoadingWager:G,isPendingWager:J,isSuccessWager:oe,errorWager:Be,isWaitingErrorWager:Pe,currentSelectedBattle:ie,canJoin:we,disabledJoinLabel:he,isLoadingJoin:Se,isPendingJoin:Te,isSuccessJoin:$e,errorJoin:Ie,isWaitingErrorJoin:Re,totalJoinAmount:xe,numSeats:Ce,opponents:Ee,gasPrice:re}=M(L),Ae=st(),{balances:de}=M(Ae),{format:We}=Vt(),Ne=()=>{scrollTo({top:300,behavior:"smooth"})},Oe=[oe,Be,Pe],Le=[$e,Ie,Re];me(Oe,V),me(Le,O),ae(oe,r=>{r&&(u.value="",v.value=!1)});const{tokenPrice:Ue}=at(w,W(()=>g.value.chain.chain.id),ce.SLOW),Ge=W(()=>Number($.value)*Ue.value);return(r,s)=>{const H=He,Je=Ke,K=Ze,De=et,je=tt,ze=Qe,Me=Xe;return y(),le(rt,null,[e(U)==e(j).EMPTY?(y(),R(I,{key:0,class:"inputBet__container"},{default:a(()=>[o(r.$slots,"empty-header"),t(b,null,{default:a(()=>[t(X,{class:"v-btn-group--split v-btn--norounded"},{default:a(()=>[t(_,{color:"textBrandPrimary",size:"x-large",onClick:e(ne),text:"Create"},null,8,["onClick"]),t(_,{color:"textBrandPrimary",size:"x-large",onClick:Ne,text:"Join",class:"ml-0"},{append:a(()=>[t(fe,{class:"i-lucide:arrow-down",size:"large"})]),_:1})]),_:1})]),_:1})]),_:3})):e(U)==e(j).WAGER?(y(),R(I,{key:1,class:"inputBet__container"},{default:a(()=>[t(b,{class:"text-body-3 text-textNeutralSecondary flex-grow-1"},{default:a(()=>[t(c,null,{default:a(()=>[t(H,{token:e(w),"chain-id":e(g).chain.chain.id,"token-amount":Number(e(We)(e(de)[e(w).address],e(w).decimals)),"refresh-type":("TOKEN_REFRESH_TYPE"in r?r.TOKEN_REFRESH_TYPE:e(ce)).SLOW,location:"right"},{default:a(()=>[i(x(e(w).symbol)+" balance: "+x(("formatRawAmount"in r?r.formatRawAmount:e(lt))(e(de)[e(w).address],e(w).decimals,e(Q).STANDARD)),1)]),_:1},8,["token","chain-id","token-amount","refresh-type"])]),_:1})]),_:1}),t(b,null,{default:a(()=>[t(c,null,{default:a(()=>[t(Bt,{modelValue:e($),"onUpdate:modelValue":s[0]||(s[0]=p=>B($)?$.value=p:null),"hide-details":"",label:`Bet amount (${e(pe)(e(Ge),e(Q).MINIFY)}$)`,disabled:e(G)||e(J)},{"append-inner":a(()=>[t(Je)]),_:1},8,["modelValue","label","disabled"])]),_:1})]),_:1}),t(Z),o(r.$slots,"create-custom-inputs"),t(Z),o(r.$slots,"create-custom-info"),t(X,{class:"mt-8 v-btn-group--split v-btn--norounded"},{default:a(()=>{var p;return[t(K,{loading:e(G),pending:e(J),"can-bet":e(Y),amount:e($),token:e(P).token,label:"Create battle",class:"flex-grow-1","disabled-label":e(se),chainId:e(g).chain.chain.id,allowance:{disabled:!1,notificationEnabled:!0,spender:(p=e(g).chain.contracts.games[e(q)])==null?void 0:p.address},"on-click":E,ref_key:"inputWagerRef",ref:V},null,8,["loading","pending","can-bet","amount","token","disabled-label","chainId","allowance"]),t(De,{modelValue:e(v),"onUpdate:modelValue":s[2]||(s[2]=D=>B(v)?v.value=D:null),"max-width":"620",title:"Private Battle"},{activator:a(({props:D})=>[t(_,dt({color:"textBrandPrimary",icon:"i-lucide:venetian-mask",size:"x-large",class:"flex-grow-0",disabled:e(G)||e(J)||!e(Y)},D),null,16,["disabled"])]),default:a(({isActive:D})=>{var ue;return[t(I,{class:"mt-12"},{default:a(()=>[t(Pt,{label:`List participants (${e(n).length}/${e(m)})`,hint:"Respect the format : “playerAddress1, playerAddress2” inline",modelValue:e(u),"onUpdate:modelValue":s[1]||(s[1]=Fe=>B(u)?u.value=Fe:null),focused:"","error-messages":e(l)},null,8,["label","modelValue","error-messages"])]),_:1}),t(K,{loading:e(G),pending:e(J),"can-bet":e(Y)&&!e(l),amount:e($),token:e(P).token,label:"Create private battle","disabled-label":e(se),chainId:e(g).chain.chain.id,allowance:{disabled:!1,notificationEnabled:!0,spender:(ue=e(g).chain.contracts.games[e(q)])==null?void 0:ue.address},"on-click":E,ref_key:"inputWagerRef",ref:V,color:"textBrandPrimary",size:"x-large",class:"mt-12",block:""},{default:a(()=>s[5]||(s[5]=[i(" >")])),_:1},8,["loading","pending","can-bet","amount","token","disabled-label","chainId","allowance"])]}),_:1},8,["modelValue"])]}),_:1})]),_:3})):e(U)==e(j).JOIN?(y(),R(I,{key:2,class:"inputBet__container"},{default:a(()=>[t(b,{class:"justify-space-between"},{default:a(()=>[t(c,{class:"pr-0"},{default:a(()=>[t(wt,{location:"left",class:"v-tooltip--left",text:"price per seat"},{activator:a(({props:p})=>[d("div",ut(mt(p)),[t(je,{token:e(ie).token.symbol,amount:e(pe)(e(ie).betAmount,e(Q).FULL_PRECISE),"size-icon":20,reverse:!0},null,8,["token","amount"])],16)]),_:1})]),_:1}),t(c,{class:"text-right"},{default:a(()=>[t(_,{variant:"text",size:"large",onClick:e(ne)},{default:a(()=>[t(fe,null,{default:a(()=>s[6]||(s[6]=[i("i-lucide:x")])),_:1})]),_:1},8,["onClick"])]),_:1})]),_:1}),o(r.$slots,"join-custom-inputs"),t(Z),o(r.$slots,"join-custom-info"),t(X,{class:"v-btn--norounded"},{default:a(()=>{var p;return[t(K,{loading:e(Se),pending:e(Te),"can-bet":e(we),amount:e(xe).toString(),token:e(P).token,class:"mt-8 flex-grow-1",label:"Join battle","disabled-label":e(he),chainId:e(g).chain.chain.id,allowance:{disabled:!1,notificationEnabled:!0,spender:(p=e(g).chain.contracts.games[e(q)])==null?void 0:p.address},"on-click":e(Ve),ref_key:"inputJoinRef",ref:O},null,8,["loading","pending","can-bet","amount","token","disabled-label","chainId","allowance","on-click"])]}),_:1})]),_:3})):e(U)==e(j).RESOLVING?(y(),R(I,{key:3},{default:a(()=>[t(ct,{size:"20",indeterminate:""})]),_:1})):F("",!0),t(ze,{modelValue:e(T),"onUpdate:modelValue":s[3]||(s[3]=p=>B(T)?T.value=p:null),wager:e(f),"gas-price":e(re)},null,8,["modelValue","wager","gas-price"]),t(Me,{modelValue:e(S),"onUpdate:modelValue":s[4]||(s[4]=p=>B(S)?S.value=p:null),wager:e(f),"gas-price":e(re)},null,8,["modelValue","wager","gas-price"])],64)}}}),$t={class:"PvPGame"},It={class:"scene__animation"},Rt={class:"scene__content"},xt={key:0,class:"scene__controls"},Ct={class:"font-weight-bold"},Pa=_e({__name:"pvp-game",setup(ke){const N=pt(),C=ft(),{xs:S}=bt(),k=ye("game"),{game:P}=k,{currentHouseEdge:g,token:V,vrfSubId:O}=M(k),{currentPvPChain:v}=ve(),{tab:u}=be("openBattles","tab"),{tab:m}=be("myOpenedBattles","subTab");return ae(u,n=>{n!="myBattles"?(C.query.subTab&&delete C.query.subTab,N.push({query:{...C.query,tab:n}})):N.push({query:{tab:n,subTab:m.value}})}),(n,l)=>{const T=qe,E=Ye,L=Tt;return y(),le("div",$t,[t(b,{class:"mb-8"},{default:a(()=>[t(c,null,{default:a(()=>[t(T,{"is-card-mode":!1})]),_:1}),e(S)?F("",!0):(y(),R(c,{key:0,class:"d-flex align-center",cols:"auto"},{default:a(()=>[t(E)]),_:1}))]),_:1}),t(b,null,{default:a(()=>[t(c,{cols:"",md:"9",class:"py-0 pl-4"},{default:a(()=>[d("div",{class:gt(["scene",`is-${e(P)}`])},[d("div",It,[o(n.$slots,"scene"),d("div",Rt,[t(b,null,{default:a(()=>[t(c,null,{default:a(()=>[o(n.$slots,"head"),o(n.$slots,"game")]),_:3})]),_:3})]),e(S)?(y(),le("div",xt,[t(E)])):F("",!0)])],2)]),_:3}),t(c,{cols:"",md:"3",class:"d-flex py-0 pr-4"},{default:a(()=>[t(L,null,{"empty-header":a(()=>[o(n.$slots,"empty-header")]),"create-custom-inputs":a(()=>[o(n.$slots,"create-custom-inputs")]),"create-custom-info":a(()=>[o(n.$slots,"create-custom-info")]),"join-custom-inputs":a(()=>[o(n.$slots,"join-custom-inputs")]),"join-custom-info":a(()=>[o(n.$slots,"join-custom-info")]),_:3})]),_:3})]),_:3}),t(b,{class:"mt-0"},{default:a(()=>[t(c,null,{default:a(()=>[t(ht,{modelValue:e(u),"onUpdate:modelValue":l[0]||(l[0]=f=>B(u)?u.value=f:null),mandatory:""},{default:a(()=>[t(z,{value:"openBattles",variant:"plain","prepend-icon":"i-lucide:swords"},{default:a(()=>l[6]||(l[6]=[i(" Open battles ")])),_:1}),t(z,{value:"closedBattles",variant:"plain","prepend-icon":"i-lucide:hand-coins"},{default:a(()=>l[7]||(l[7]=[i(" Closed battles ")])),_:1}),t(z,{value:"myBattles",variant:"plain","prepend-icon":"i-lucide:user"},{default:a(()=>[l[8]||(l[8]=i(" My battles ")),t(ee,{class:"ml-4",color:"textBrandPrimary",content:e(k).myInvitationBattles.totalItems+e(k).myOpenBattles.totalItems,inline:""},null,8,["content"])]),_:1}),t(z,{value:"details",variant:"plain","prepend-icon":"i-lucide:info"},{default:a(()=>l[9]||(l[9]=[i(" Game details ")])),_:1})]),_:1},8,["modelValue"]),t(ge,{modelValue:e(u),"onUpdate:modelValue":l[5]||(l[5]=f=>B(u)?u.value=f:null)},{default:a(()=>[t(h,{value:"openBattles"},{default:a(()=>[o(n.$slots,"open-battles")]),_:3}),t(h,{value:"closedBattles"},{default:a(()=>[o(n.$slots,"closed-battles")]),_:3}),t(h,{value:"myBattles"},{default:a(()=>[t(St,{class:"mb-8","model-value":"subTab","show-arrows":""},{default:a(()=>[t(te,{value:"myOpenedBattles"},{default:a(()=>[t(_,{variant:"tonal",active:e(m)=="myOpenedBattles",onClick:l[1]||(l[1]=f=>m.value="myOpenedBattles")},{default:a(()=>[l[10]||(l[10]=i(" Opened ")),t(ee,{class:"ml-4",color:"textBrandPrimary",content:e(k).myOpenBattles.totalItems,inline:""},null,8,["content"])]),_:1},8,["active"])]),_:1}),t(te,{value:"myInvitationBattles"},{default:a(()=>[t(_,{variant:"tonal",active:e(m)=="myInvitationBattles",onClick:l[2]||(l[2]=f=>m.value="myInvitationBattles")},{default:a(()=>[l[11]||(l[11]=i(" Invitation ")),t(ee,{class:"ml-4",color:"textBrandPrimary",content:e(k).myInvitationBattles.totalItems,inline:""},null,8,["content"])]),_:1},8,["active"])]),_:1}),t(te,{value:"myClosedBattles"},{default:a(()=>[t(_,{variant:"tonal",active:e(m)=="myClosedBattles",onClick:l[3]||(l[3]=f=>m.value="myClosedBattles")},{default:a(()=>l[12]||(l[12]=[i(" Closed ")])),_:1},8,["active"])]),_:1})]),_:1}),t(ge,{modelValue:e(m),"onUpdate:modelValue":l[4]||(l[4]=f=>B(m)?m.value=f:null)},{default:a(()=>[t(h,{value:"myOpenedBattles"},{default:a(()=>[o(n.$slots,"my-open-battles")]),_:3}),t(h,{value:"myInvitationBattles"},{default:a(()=>[o(n.$slots,"my-invitation-battles")]),_:3}),t(h,{value:"myClosedBattles"},{default:a(()=>[o(n.$slots,"my-closed-battles")]),_:3})]),_:3},8,["modelValue"])]),_:3}),t(h,{value:"details"},{default:a(()=>[t(I,{class:"text-body-2 text-textNeutralSecondary pb-8"},{default:a(()=>[t(b,null,{default:a(()=>[t(c,null,{default:a(()=>[o(n.$slots,"details")]),_:3})]),_:3}),t(b,{class:"mt-12"},{default:a(()=>[t(c,null,{default:a(()=>[l[15]||(l[15]=d("p",{class:"text-textNeutralWhite font-weight-semibold"}," Game details ",-1)),d("p",null,[i(x(e(V).symbol)+" house edge: ",1),d("span",Ct,x(e(g))+"%",1)]),d("p",null,[l[13]||(l[13]=i(" Contract: ")),t(_,{variant:"text",href:e(vt)(e(v).chain.contracts.games[e(P)].address,e(v).chain.chain),target:"_blank",rel:"noopener",color:"textBrandSecondary",class:"text-truncate","append-icon":"i-lucide:external-link"},{default:a(()=>[i(x(e(v).chain.contracts.games[e(P)].address),1)]),_:1},8,["href"])]),d("p",null,[t(_,{variant:"text",href:e(_t)(e(O),e(v).chain.chain),target:"_blank",rel:"noopener",color:"textBrandSecondary",class:"text-truncate","append-icon":"i-lucide:external-link"},{default:a(()=>l[14]||(l[14]=[i(" Chainlink VRF Subscription ")])),_:1},8,["href"])]),l[16]||(l[16]=d("p",null," The RNG (Random Number Generator) fee is Chainlink VRF's fee to resolve the bet, we do not take profit out of this. ",-1))]),_:1})]),_:1}),e(V).address!=e(yt)?(y(),R(b,{key:0,class:"mt-12"},{default:a(()=>[t(c,null,{default:a(()=>[l[18]||(l[18]=d("p",{class:"text-textNeutralWhite font-weight-semibold"}," Token ",-1)),d("p",null,[l[17]||(l[17]=i(" Token: ")),t(_,{variant:"text",href:e(kt)(e(V).address,e(v).chain.chain),target:"_blank",rel:"noopener",color:"textBrandSecondary",class:"text-truncate","append-icon":"i-lucide:external-link"},{default:a(()=>[i(x(e(V).address),1)]),_:1},8,["href"])])]),_:1})]),_:1})):F("",!0),t(b,null,{default:a(()=>[t(c,null,{default:a(()=>l[19]||(l[19]=[d("p",{class:"mt-8"},[d("a",{href:"https://chain.link/badge",class:"chainlinkBadge",target:"_blank",rel:"noopener"},[d("img",{width:"200",src:"https://chain.link/badge-randomness-black",alt:"randomness secured with chainlink"})])],-1)])),_:1})]),_:1})]),_:3})]),_:3})]),_:3},8,["modelValue"])]),_:3})]),_:3})])}}});export{Pa as default};