import{d as V,m as k,o as d,ab as P,a9 as s,f as y,b as A,bV as te,bi as se,w as W,ag as Y,t as N,aA as ae,aj as ne,ah as ie,h as le,p as ce,al as ue,ar as de,bg as pe,q as fe,aT as me,ac as ve,Z as R,$ as ge,Q as j,am as he,J as m,ao as be,c as D,F as _e,l as _,bW as ye,bX as ke,bY as Se,bZ as F,b_ as G}from"./index-BTTFajzp.js";const we=["aria-label"],Te={class:"sportsbook-loading__content flex animate-pulse flex-col items-center justify-center gap-4 transition-all"},xe=V({__name:"Index",props:{currentPhrase:{default:void 0}},setup(l){return(p,a)=>(d(),k("div",{class:"sportsbook-loading absolute left-0 right-0 top-0 z-10 flex h-[95dvh] flex-col items-center justify-center gap-4 bg-[var(--color-brand-background)]",role:"status","aria-label":P(s)("sportsbook.loading")},[y(te,{class:"h-auto max-w-48"}),A("div",Te,[y(se,{indeterminate:"",color:"primary",size:"32",width:"3","aria-hidden":"true"}),y(ae,{name:"sportsbook-fade",mode:"out-in"},{default:W(()=>[l.currentPhrase?(d(),k("p",{key:l.currentPhrase,class:"text-center text-[var(--color-content-secondary)]"},N(l.currentPhrase),1)):Y("",!0)]),_:1})])],8,we))}}),Re=ne(xe,[["__scopeId","data-v-9156be75"]]),Pe={class:"sportsbook-error absolute left-0 right-0 top-0 z-10 flex h-[95dvh] flex-col items-center justify-center gap-4 text-center text-[var(--color-content-primary)]",role:"alert"},Oe={class:"font-semibold text-[var(--body-md-size,1rem)]"},Ee=V({__name:"Index",props:{error:{}},emits:["retry"],setup(l){return(p,a)=>(d(),k("div",Pe,[y(ie,{icon:"fa6-solid:triangle-exclamation",color:"warning",size:"36","aria-hidden":"true"}),A("p",Oe,N(P(s)("sportsbook.error.title")),1),y(ce,{color:"primary",variant:"flat","aria-label":P(s)("sportsbook.error.retry"),onClick:a[0]||(a[0]=O=>p.$emit("retry"))},{default:W(()=>[le(N(P(s)("sportsbook.error.retry")),1)]),_:1},8,["aria-label"])]))}}),Ie={digitain:l=>{throw new Error("Digitain server URL is required (VITE_SPORTSBOOK_DIGITAIN_SERVER_URL)")},altenar:()=>{throw new Error("Altenar SDK URL is required (VITE_SPORTSBOOK_ALTENAR_SDK_URL)")},betby:()=>{throw new Error("Betby script URL is required (VITE_SPORTSBOOK_BETBY_SCRIPT_URL)")}};function Be(l,p){return Ie[l](p)}const Ce={class:"relative flex min-h-[95dvh] w-full flex-col overflow-hidden bg-[var(--color-surface-primary)]"},Ne=V({__name:"Index",props:{mode:{default:"sports"}},setup(l,{expose:p}){const a=l,O=ue(),v=de(),Z=pe(),E=fe(),U=me(),H=ve(),I=R(null),i=ge(null),S=R(!1),c=R(null),w=[],B=R("");let g="",u=null,h=0,K=!1;const L=j(()=>[s("sports.loading"),s("sports.wait-moment"),s("sports.almost-there"),s("sports.loading-dots"),s("sports.searching-odds")]),J=j(()=>a.mode==="esports"?"/sports/esports":"/sports");function Q(){const e=L.value,o=Math.floor(Math.random()*e.length);B.value=e[o]}function q(){const e=U.params.page;return(Array.isArray(e)?e:e?[e]:[]).join("/")}async function M(){const e=++h,o=O.business;if(!o.sport_enabled){c.value={code:"sportsbook/disabled",message:"Sportsbook is not available for this house"};return}if(!o.cometa_sports_book){await H.replace("/");return}const n=o.sport_sportbook_type;if(!n){c.value={code:"sportsbook/no-provider",message:"No sportsbook provider configured"},_.warning("no provider configured",{tag:"SPORTSBOOK"});return}if(!ye(n,a.mode)){c.value={code:"sportsbook/mode-unsupported",message:`${a.mode} mode is not supported on this house`};return}if(!I.value||n!=="betby"&&v.isAuthenticated&&(await v.fetchSportsbookToken(),e!==h))return;let f;try{f=Be(n,{isMobile:typeof window<"u"?window.innerWidth<=768:!1,mode:a.mode})}catch(r){c.value={code:"sportsbook/config",message:s("sportsbook.error.title")},_.error(`config failure: ${r.message}`,{tag:"SPORTSBOOK"});return}let t;try{t=ke(n,f)}catch(r){c.value=r instanceof Se?{code:"sportsbook/unknown-provider",message:s("sportsbook.error.title")}:{code:"sportsbook/registry",message:s("sportsbook.error.title")},_.error(`registry failure: ${r.message}`,{tag:"SPORTSBOOK"});return}if(e!==h){t.destroy();return}i.value=t;const C=q(),z=a.mode==="esports"?C.replace(/^esports\/?/,""):C,re=t.urlToProviderState(z);g=C,w.push(t.on("ready",()=>{S.value=!0}),t.on("route-change",X),t.on("sign-in-requested",()=>{E.setModal({name:"login"})}),t.on("register-requested",()=>{E.setModal({name:"register"})}),t.on("deposit-requested",()=>{E.setModal({name:"deposit"})}),t.on("balance-changed",({balance:r})=>Z.setBalance(r)),t.on("error",r=>_.error(r.message,{tag:"SPORTSBOOK"})),t.on("seo-context",r=>{const x=String(r.page||"overview");if(x==="event"||x==="liveEvent"){const b=String(r.eventName||"");b&&F({viewType:"event",eventName:b})}else if(x!=="overview"&&x!=="betHistory"){const b=String(r.championshipName||r.sportName||"");b&&F({viewType:"category",categoryName:b})}})),w.push(m(()=>v.sportsbookToken,r=>{n!=="betby"&&t.setToken(r??null)}),m(()=>O.business.cometa_sportsbook_css,r=>t.setCustomCss(r)),m(()=>q(),ee));const $=U.query?.shareCode,oe=Array.isArray($)?$[0]??null:$??null;try{await t.init({mountEl:I.value,language:G(),customCssUrl:o.cometa_sportsbook_css??null,initialRoute:re,initialPathTail:z,initialToken:v.sportsbookToken??null,shareCode:oe})}catch(r){if(e!==h)return;c.value={code:"sportsbook/init",message:s("sportsbook.error.title")},_.error(`init failure: ${r.message}`,{tag:"SPORTSBOOK"})}}function X(e){if(!i.value)return;const o=i.value.providerStateToUrl(e),n=a.mode==="esports"?`esports/${o}`.replace(/\/$/,""):o,f=`${J.value}${o?"/"+o.replace(/^\//,""):""}`;n!==g&&(g=n,window.history.replaceState({},"",f))}function ee(e){if(!i.value||e===g)return;g=e;const o=a.mode==="esports"?e.replace(/^esports\/?/,""):e;i.value.navigate(i.value.urlToProviderState(o))}function T(){c.value=null,S.value=!1,w.splice(0).forEach(e=>e()),i.value?.destroy(),i.value=null,M()}return he(()=>{B.value=L.value[0],u=setInterval(Q,2500),M()}),m(S,e=>{e&&u&&(clearInterval(u),u=null)}),m(()=>G(),T,{immediate:!1}),m(()=>v.isAuthenticated,(e,o)=>{if(!K){K=!0;return}e!==o&&T()}),be(()=>{h++,u&&(clearInterval(u),u=null),w.splice(0).forEach(e=>e()),i.value?.destroy(),i.value=null}),p({retry:T}),(e,o)=>{const n=Ee,f=Re;return d(),k("div",Ce,[c.value?(d(),D(n,{key:0,error:c.value,onRetry:T},null,8,["error"])):(d(),k(_e,{key:1},[A("div",{ref_key:"mountEl",ref:I,class:"w-full"},null,512),S.value?Y("",!0):(d(),D(f,{key:0,"current-phrase":B.value},null,8,["current-phrase"]))],64))])}}});export{Ne as _};