import"../chunks/DsnmJJEf.js";import{p as xe,u as fe,k as t,t as _,a as d,b as me,d as i,l as g,e as r,s,r as e,f as vt,n as et,i as W,j as ct,m as _e}from"../chunks/BxEwC6Zc.js";import{d as ue,s as v,a as be}from"../chunks/DoLu9QLy.js";import{i as f}from"../chunks/BQKoxf2Q.js";import{e as rt,i as at}from"../chunks/BLQQas77.js";import{a as st,e as ot}from"../chunks/BAocuFgQ.js";import{s as Q,r as ge,a as ye}from"../chunks/BnX5ZnVA.js";import{s as F}from"../chunks/BqOsL1Vv.js";import{i as he}from"../chunks/BkIq08el.js";var Ie=i('· ',1),we=i('
'),Le=i('
'),ke=i('
'),Ce=i('
'),$e=i('
'),Ne=i(''),Pe=i(''),Re=i('
'),Ge=i('โ
'),Se=i(''),Ee=i(' or type !roll in osu! chat
',1),Oe=i('Waiting for all rolls...
'),De=i('๐ฒ Roll Phase
Highest roll picks first
'),Be=i('
'),je=i('
'),Ae=i('?
'),Fe=i('
',1),Ye=i('
'),He=i('โ'),Te=i(''),Ue=i(''),Me=i(`๐ฏ Pick a Map
's turn to pick
or type !pick NM1 in osu! chat
`),Ve=i('
',1),Ke=i(' Waiting for players to ready up & play in osu!...
'),We=i('
'),ze=i(''),qe=i('
'),Je=i('
'),Qe=i(" "),Xe=i(' -
'),Ze=i('Live'),tr=i(' '),er=i(''),rr=i(''),ar=i(''),sr=i('
'),or=i('Lobby created. Waiting for players to join...
'),nr=i('This match was cancelled.
'),dr=i('');function ur(Dt,q){xe(q,!0);let n=g(()=>q.data.match),D=g(()=>t(n).participants[0]),j=g(()=>t(n).participants[1]);const ht=g(()=>t(n).config),pt=g(()=>Math.ceil(t(ht).bestOf/2)),Bt=g(()=>new Set(t(n).games.map(a=>a.mappoolSlotId))),It=g(()=>[...t(n).participants].sort((a,o)=>(a.pickOrder??99)-(o.pickOrder??99))),jt=g(()=>t(n).games.length%t(It).length),At=g(()=>t(It)[t(jt)]),Ft=g(()=>t(n).state==="ROLLING"&&t(n).participants.some(a=>a.rollValue===null)),xt={NM:"bg-blue-500/20 text-blue-400 border-blue-500/30",HD:"bg-yellow-500/20 text-yellow-400 border-yellow-500/30",HR:"bg-red-500/20 text-red-400 border-red-500/30",DT:"bg-purple-500/20 text-purple-400 border-purple-500/30",FM:"bg-green-500/20 text-green-400 border-green-500/30",TB:"bg-pink-500/20 text-pink-400 border-pink-500/30"},Yt=g(()=>()=>{if(!t(n).mappool?.slots)return{};const a={};for(const o of t(n).mappool.slots)a[o.category]||(a[o.category]=[]),a[o.category].push(o);for(const o of Object.keys(a))a[o].sort((l,c)=>l.orderInCategory-c.orderInCategory);return a});let nt=ct(!1),ft=ct(!1),dt=ct(""),it=ct(!1),mt=null;fe(()=>(["CREATED","LOBBY","ROLLING","PICKING","PLAYING"].includes(t(n).state)&&(mt=setInterval(()=>he(),3e3)),()=>{mt&&clearInterval(mt)}));function Ht(a){const o=Math.floor(a/60),l=a%60;return`${o}:${l.toString().padStart(2,"0")}`}function Tt(a){return{CREATED:"Waiting",LOBBY:"In Lobby",ROLLING:"Rolling",PICKING:"Pick Phase",PLAYING:"Playing",FINISHED:"Finished",CANCELLED:"Cancelled"}[a]??a}function Ut(a){return{ROLLING:"border-yellow-500/30",PICKING:"border-blue-500/30",PLAYING:"border-green-500/30",FINISHED:"border-accent/30"}[a]??"border-border"}var _t=dr(),ut=r(_t),bt=s(r(ut),2),gt=r(bt),Mt=r(gt,!0);e(gt);var wt=s(gt,2),Lt=r(wt),Vt=s(Lt);{var Kt=a=>{var o=Ie(),l=s(vt(o)),c=r(l);e(l),_(()=>{Q(l,"href",`https://osu.ppy.sh/mp/${t(n).osuLobbyId??""}`),v(c,`osu! mp/${t(n).osuLobbyId??""}`)}),d(a,o)};f(Vt,a=>{t(n).osuLobbyId&&a(Kt)})}e(wt),e(bt);var lt=s(bt,2),Wt=r(lt,!0);e(lt);var zt=s(lt,2);{var qt=a=>{var o=we(),l=r(o);e(o),st(o,c=>ot?.(c)),be("click",l,c=>{confirm("Cancel this match?")||c.preventDefault()}),d(a,o)},Jt=g(()=>!["FINISHED","CANCELLED"].includes(t(n).state));f(zt,a=>{t(Jt)&&a(qt)})}e(ut);var kt=s(ut,2);{var Qt=a=>{var o=Ne(),l=r(o),c=r(l);{var p=N=>{var G=Le();_(()=>Q(G,"src",t(D).team.avatarUrl)),d(N,G)};f(c,N=>{t(D).team.avatarUrl&&N(p)})}var h=s(c,2),P=r(h),b=r(P,!0);e(P);var R=s(P,2);{var u=N=>{var G=ke(),V=r(G);e(G),_(()=>v(V,`Roll: ${t(D).rollValue??""}${t(D).pickOrder===1?" โ
":""}`)),d(N,G)};f(R,N=>{t(D).rollValue!=null&&N(u)})}e(h);var m=s(h,2),y=r(m,!0);e(m),e(l);var L=s(l,4),k=r(L),B=r(k,!0);e(k);var I=s(k,2),$=r(I),O=r($,!0);e($);var T=s($,2);{var M=N=>{var G=Ce(),V=r(G);e(G),_(()=>v(V,`${t(j).pickOrder===1?"โ
":""}Roll: ${t(j).rollValue??""}`)),d(N,G)};f(T,N=>{t(j).rollValue!=null&&N(M)})}e(I);var Y=s(I,2);{var S=N=>{var G=$e();_(()=>Q(G,"src",t(j).team.avatarUrl)),d(N,G)};f(Y,N=>{t(j).team.avatarUrl&&N(S)})}e(L),e(o),_(()=>{F(l,1,`flex flex-1 items-center gap-4 rounded-lg border p-4 ${t(n).winnerId===t(D).teamId?"border-green-500/40 bg-green-500/5":"border-border bg-surface-800"}`),v(b,t(D).team.name),F(m,1,`text-3xl font-800 tabular-nums ${t(D).score>=t(pt)?"text-green-400":"text-text-primary"}`),v(y,t(D).score),F(L,1,`flex flex-1 items-center gap-4 rounded-lg border p-4 ${t(n).winnerId===t(j).teamId?"border-green-500/40 bg-green-500/5":"border-border bg-surface-800"}`),F(k,1,`text-3xl font-800 tabular-nums ${t(j).score>=t(pt)?"text-green-400":"text-text-primary"}`),v(B,t(j).score),v(O,t(j).team.name)}),d(a,o)};f(kt,a=>{t(D)&&t(j)&&a(Qt)})}var Ct=s(kt,2);{var Xt=a=>{var o=Pe(),l=r(o);st(l,(c,p)=>ot?.(c,p),()=>()=>async({result:c,update:p})=>{c.type==="success"&&c.data?.reinvited&&await p()}),e(o),d(a,o)},Zt=g(()=>["LOBBY","ROLLING","PICKING","PLAYING"].includes(t(n).state));f(Ct,a=>{t(Zt)&&a(Xt)})}var $t=s(Ct,2);{var te=a=>{var o=De(),l=r(o),c=s(r(l),4);rt(c,21,()=>t(n).participants,at,(b,R)=>{var u=Se(),m=r(u),y=r(m,!0);e(m);var L=s(m,2);{var k=I=>{var $=Re(),O=r($,!0);e($),_(()=>v(O,t(R).rollValue)),d(I,$)},B=I=>{var $=Ge();d(I,$)};f(L,I=>{t(R).rollValue!=null?I(k):I(B,!1)})}e(u),_(()=>v(y,t(R).team.name)),d(b,u)}),e(c);var p=s(c,2);{var h=b=>{var R=Ee(),u=vt(R),m=r(u),y=r(m,!0);e(m),e(u),st(u,(L,k)=>ot?.(L,k),()=>()=>(W(nt,!0),async({update:L})=>{W(nt,!1),await L()})),et(2),_(()=>{m.disabled=t(nt),v(y,t(nt)?"Rolling...":"๐ฒ Roll!")}),d(b,R)},P=b=>{var R=Oe();d(b,R)};f(p,b=>{t(Ft)?b(h):b(P,!1)})}e(l),e(o),d(a,o)};f($t,a=>{t(n).state==="ROLLING"&&a(te)})}var Nt=s($t,2);{var ee=a=>{var o=Me(),l=r(o),c=r(l),p=s(r(c),2),h=r(p),P=r(h,!0);e(h),et(),e(p),et(2),e(c);var b=s(c,2);{var R=m=>{var y=Be(),L=r(y,!0);e(y),_(()=>v(L,t(dt))),d(m,y)};f(b,m=>{t(dt)&&m(R)})}var u=s(b,2);rt(u,21,()=>Object.entries(t(Yt)()),at,(m,y)=>{var L=g(()=>_e(t(y),2));let k=()=>t(L)[0],B=()=>t(L)[1];var I=Ue(),$=r(I),O=r($,!0);e($);var T=s($,2);rt(T,21,B,at,(M,Y)=>{const S=g(()=>q.data.beatmapCache[t(Y).beatmapId]),N=g(()=>t(Bt).has(t(Y).id));var G=Te(),V=r(G);ge(V);var J=s(V,2),x=r(J);{var C=w=>{var E=je();_(()=>Q(E,"src",t(S).listCoverUrl)),d(w,E)},A=w=>{var E=Ae();d(w,E)};f(x,w=>{t(S)?.listCoverUrl?w(C):w(A,!1)})}var U=s(x,2),K=r(U);{var yt=w=>{var E=Fe(),tt=vt(E),ve=r(tt);e(tt);var Ot=s(tt,2),ce=r(Ot);e(Ot),_(pe=>{v(ve,`${t(S).artist??""} - ${t(S).title??""}`),v(ce,`[${t(S).version??""}] ยท โ
${pe??""} ยท ${t(S).bpm??""}bpm`)},[()=>t(S).starRating.toFixed(1)]),d(w,E)},X=w=>{var E=Ye(),tt=r(E);e(E),_(()=>v(tt,`#${t(Y).beatmapId??""}`)),d(w,E)};f(K,w=>{t(S)?w(yt):w(X,!1)})}e(U);var Z=s(U,2),H=r(Z);e(Z);var z=s(Z,2);{var le=w=>{var E=He();d(w,E)};f(z,w=>{t(N)&&w(le)})}e(J),e(G),st(G,(w,E)=>ot?.(w,E),()=>()=>(W(ft,!0),W(dt,""),async({result:w,update:E})=>{W(ft,!1),w.type==="failure"||w.type==="success"&&w.data?.error?W(dt,w.data?.error??"Pick failed",!0):await E()})),_(()=>{ye(V,t(Y).id),J.disabled=t(N)||t(ft),F(J,1,`flex w-full items-center gap-3 rounded-lg border p-2 text-left transition-all ${t(N)?"border-border/50 bg-surface-900 opacity-30 cursor-not-allowed":"border-border bg-surface-700 hover:border-accent hover:bg-surface-600 cursor-pointer"}`),v(H,`${k()??""}${t(Y).orderInCategory??""}`)}),d(M,G)}),e(T),e(I),_(()=>{F($,1,`mb-2 inline-block rounded border px-2 py-0.5 text-xs font-600 ${xt[k()]??"border-border"??""}`),v(O,k())}),d(m,I)}),e(u),e(l),e(o),_(()=>v(P,t(At)?.team.name)),d(a,o)};f(Nt,a=>{t(n).state==="PICKING"&&a(ee)})}var Pt=s(Nt,2);{var re=a=>{const o=g(()=>t(n).games[t(n).games.length-1]),l=g(()=>t(o)?q.data.beatmapCache[t(o).slot?.beatmapId]:null);var c=Ke(),p=s(r(c),2);{var h=u=>{var m=Ve(),y=vt(m),L=r(y),k=s(L),B=r(k);e(k),e(y);var I=s(y,2),$=r(I);e(I),_((O,T)=>{v(L,`${t(l).artist??""} - ${t(l).title??""} `),v(B,`[${t(l).version??""}]`),v($,`โ
${O??""} ยท ${t(l).bpm??""}bpm ยท ${T??""}`)},[()=>t(l).starRating.toFixed(1),()=>Ht(t(l).totalLength)]),d(u,m)};f(p,u=>{t(l)&&u(h)})}var P=s(p,4),b=r(P),R=r(b,!0);e(b),e(P),st(P,(u,m)=>ot?.(u,m),()=>()=>(W(it,!0),async({update:u})=>{W(it,!1),await u()})),e(c),_(()=>{b.disabled=t(it),v(R,t(it)?"Starting...":"Force Start (skip ready)")}),d(a,c)};f(Pt,a=>{t(n).state==="PLAYING"&&a(re)})}var Rt=s(Pt,2);{var ae=a=>{const o=g(()=>t(n).participants.find(m=>m.teamId===t(n).winnerId));var l=ze(),c=r(l),p=s(r(c),2),h=r(p),P=r(h,!0);e(h),et(),e(p);var b=s(p,2),R=r(b);e(b);var u=s(b,2);rt(u,21,()=>t(n).games,at,(m,y)=>{const L=g(()=>q.data.beatmapCache[t(y).slot?.beatmapId]),k=g(()=>t(n).participants.find(S=>S.id===t(y).winnerParticipantId));var B=We(),I=r(B),$=r(I);e(I);var O=s(I,2),T=r(O,!0);e(O);var M=s(O,2),Y=r(M,!0);e(M),e(B),_(S=>{F(I,1,`font-600 ${S??""}`),v($,`${t(y).slot?.category??""}${t(y).slot?.orderInCategory??""}`),v(T,t(L)?`${t(L).artist} - ${t(L).title}`:`#${t(y).slot?.beatmapId}`),F(M,1,`font-600 ${t(k)?.id===t(D)?.id?"text-blue-400":"text-red-400"}`),v(Y,t(k)?.team.name)},[()=>xt[t(y).slot?.category]?.split(" ")[1]??"text-text-secondary"]),d(m,B)}),e(u),et(2),e(c),e(l),_(()=>{v(P,t(o)?.team.name),v(R,`${t(D)?.score??""} โ ${t(j)?.score??""}`)}),d(a,l)};f(Rt,a=>{t(n).state==="FINISHED"&&a(ae)})}var Gt=s(Rt,2);{var se=a=>{var o=rr(),l=s(r(o),2);rt(l,21,()=>t(n).games,at,(c,p)=>{const h=g(()=>q.data.beatmapCache[t(p).slot?.beatmapId]),P=g(()=>t(n).participants.find(x=>x.id===t(p).pickedByParticipantId)?.team),b=g(()=>t(n).participants.find(x=>x.id===t(p).winnerParticipantId)?.team);var R=er(),u=r(R),m=r(u,!0);e(u);var y=s(u,2);{var L=x=>{var C=qe();_(()=>Q(C,"src",t(h).listCoverUrl)),d(x,C)};f(y,x=>{t(h)?.listCoverUrl&&x(L)})}var k=s(y,2),B=r(k);{var I=x=>{var C=Je(),A=r(C),U=s(A),K=r(U);e(U),e(C),_(()=>{v(A,`${t(h).artist??""} - ${t(h).title??""} `),v(K,`[${t(h).version??""}]`)}),d(x,C)};f(B,x=>{t(h)&&x(I)})}var $=s(B,2),O=r($),T=r(O);e(O);var M=s(O,2);{var Y=x=>{var C=Qe(),A=r(C);e(C),_(()=>v(A,`Picked by ${t(P).name??""}`)),d(x,C)};f(M,x=>{t(P)&&x(Y)})}e($),e(k);var S=s(k,2);{var N=x=>{const C=g(()=>t(p).scores.filter(H=>H.player?.participantId===t(D).id).reduce((H,z)=>H+z.score,0)),A=g(()=>t(p).scores.filter(H=>H.player?.participantId===t(j).id).reduce((H,z)=>H+z.score,0));var U=Xe(),K=r(U),yt=r(K,!0);e(K);var X=s(K,4),Z=r(X,!0);e(X),e(U),_((H,z)=>{F(K,1,t(C)>t(A)?"font-700 text-green-400":"text-text-secondary"),v(yt,H),F(X,1,t(A)>t(C)?"font-700 text-green-400":"text-text-secondary"),v(Z,z)},[()=>t(C).toLocaleString(),()=>t(A).toLocaleString()]),d(x,U)},G=x=>{var C=Ze();d(x,C)};f(S,x=>{t(p).state==="FINISHED"&&t(D)&&t(j)?x(N):t(p).state==="PLAYING"&&x(G,1)})}var V=s(S,2);{var J=x=>{var C=tr(),A=r(C);e(C),_(()=>v(A,`โ ${t(b).name??""}`)),d(x,C)};f(V,x=>{t(b)&&x(J)})}e(R),_(()=>{v(m,t(p).gameNumber),F(O,1,`rounded border px-1.5 py-0.5 ${xt[t(p).slot?.category]??"border-border"??""}`),v(T,`${t(p).slot?.category??""}${t(p).slot?.orderInCategory??""}`)}),d(c,R)}),e(l),e(o),d(a,o)};f(Gt,a=>{t(n).games.length>0&&a(se)})}var St=s(Gt,2);{var oe=a=>{var o=ar();d(a,o)};f(St,a=>{t(n).state==="CREATED"&&a(oe)})}var Et=s(St,2);{var ne=a=>{var o=or(),l=s(r(o),2);{var c=p=>{var h=sr(),P=r(h),b=r(P);e(P),e(h),_(()=>{Q(P,"href",`https://osu.ppy.sh/mp/${t(n).osuLobbyId??""}`),v(b,`osu! mp/${t(n).osuLobbyId??""}`)}),d(p,h)};f(l,p=>{t(n).osuLobbyId&&p(c)})}e(o),d(a,o)};f(Et,a=>{t(n).state==="LOBBY"&&a(ne)})}var de=s(Et,2);{var ie=a=>{var o=nr();d(a,o)};f(de,a=>{t(n).state==="CANCELLED"&&a(ie)})}e(_t),_((a,o)=>{v(Mt,t(n).name||"Match"),v(Lt,`Best of ${t(ht).bestOf??""} ยท First to ${t(pt)??""} `),F(lt,1,`rounded border px-2.5 py-1 text-xs font-600 ${a??""}`),v(Wt,o)},[()=>Ut(t(n).state),()=>Tt(t(n).state)]),d(Dt,_t),me()}ue(["click"]);export{ur as component};