Files
esports/.svelte-kit/output/client/_app/immutable/nodes/6.CEe0czaO.js

2 lines
6.3 KiB
JavaScript

import"../chunks/DsnmJJEf.js";import{p as St,t as m,k as r,a as l,b as Tt,e as a,s,d as c,l as st,r as e,i as b,m as Lt,n as Pt,j as M,f as Ut}from"../chunks/BxEwC6Zc.js";import{d as Ct,a as Et,s as i}from"../chunks/DoLu9QLy.js";import{i as q}from"../chunks/BQKoxf2Q.js";import{e as z,i as G}from"../chunks/BLQQas77.js";import{a as J,e as K}from"../chunks/BAocuFgQ.js";import{r as dt,a as Ot,s as nt}from"../chunks/BnX5ZnVA.js";import{s as qt}from"../chunks/BqOsL1Vv.js";import{b as zt}from"../chunks/CAkKRSSs.js";import{b as Gt}from"../chunks/Cy2QBcXt.js";import"../chunks/DAtZQVjv.js";var Jt=c("<option> </option>"),Kt=c('<p class="mt-2 text-sm text-red-400"> </p>'),Qt=c('<img alt="" class="h-12 w-24 rounded object-cover"/>'),Vt=c('<div class="flex h-12 w-24 items-center justify-center rounded bg-surface-700 text-xs text-text-secondary">No cover</div>'),Wt=c('<a target="_blank" rel="noopener" class="truncate text-sm font-500 hover:text-accent"> </a> <div class="mt-0.5 flex items-center gap-3 text-xs text-text-secondary"><span> </span> <span> </span> <span> </span> <span> </span></div>',1),Xt=c('<p class="text-sm text-text-secondary"> </p>'),Yt=c('<div class="group flex items-center gap-3 rounded-lg border border-border bg-surface-800 p-2 transition-colors hover:border-accent/30"><!> <div class="min-w-0 flex-1"><!></div> <span class="text-xs font-600 text-text-secondary"> </span> <form method="post" action="?/removeSlot"><input type="hidden" name="slotId"/> <button type="submit" class="rounded p-1 text-text-secondary opacity-0 transition-all hover:bg-red-500/10 hover:text-red-400 group-hover:opacity-100">✕</button></form></div>'),Zt=c('<div><div class="mb-2 flex items-center gap-2"><span> </span> <span class="text-xs text-text-secondary"> </span></div> <div class="flex flex-col gap-2"></div></div>'),te=c('<div class="rounded-lg border border-dashed border-border py-12 text-center"><p class="text-sm text-text-secondary">No maps yet. Add your first map above.</p></div>'),ee=c('<div class="mx-auto max-w-4xl"><div class="flex items-center justify-between"><div class="flex items-center gap-3"><a href="/mappools" class="text-text-secondary transition-colors hover:text-text-primary">←</a> <div><h1 class="text-2xl font-700 tracking-tight"> </h1> <p class="mt-1 text-sm text-text-secondary"> </p></div></div> <form method="post" action="?/deletePool"><button type="submit" class="rounded-md border border-red-500/30 px-3 py-1.5 text-sm text-red-400 transition-colors hover:bg-red-500/10">Delete Pool</button></form></div> <form method="post" action="?/addSlot" class="mt-6 rounded-lg border border-border bg-surface-800 p-4"><h2 class="text-sm font-600">Add Map</h2> <div class="mt-3 flex gap-3"><select name="category" class="rounded-md border border-border bg-surface-700 px-3 py-2 text-sm text-text-primary focus:border-accent focus:outline-none"></select> <input type="text" name="beatmapId" placeholder="Beatmap ID or URL (e.g. 75 or https://osu.ppy.sh/beatmaps/75)" class="flex-1 rounded-md border border-border bg-surface-700 px-3 py-2 text-sm text-text-primary placeholder:text-text-secondary/50 focus:border-accent focus:outline-none"/> <button type="submit" class="rounded-md bg-accent px-4 py-2 text-sm font-600 text-surface-900 transition-colors hover:bg-accent-hover disabled:opacity-50"> </button></div> <!></form> <div class="mt-6 flex flex-col gap-6"></div></div>');function me(it,_){St(_,!0);const Q=["NM","HD","HR","DT","FM","TB"];let V=M("NM"),g=M(""),y=M(""),h=M(!1);const pt=st(()=>()=>{const t={};for(const o of Q){const d=_.data.pool.slots.filter(x=>x.category===o);d.length>0&&(t[o]=d)}return t});function vt(t){const o=Math.floor(t/60),d=t%60;return`${o}:${d.toString().padStart(2,"0")}`}const lt={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"};var j=ee(),B=a(j),I=a(B),W=s(a(I),2),N=a(W),ct=a(N,!0);e(N);var X=s(N,2),mt=a(X);e(X),e(W),e(I);var $=s(I,2),xt=a($);e($),J($,t=>K?.(t)),e(B);var k=s(B,2),A=s(a(k),2),w=a(A);z(w,21,()=>Q,G,(t,o)=>{var d=Jt(),x=a(d,!0);e(d);var f={};m(()=>{i(x,r(o)),f!==(f=r(o))&&(d.value=(d.__value=r(o))??"")}),l(t,d)}),e(w);var F=s(w,2);dt(F);var H=s(F,2),bt=a(H,!0);e(H),e(A);var ft=s(A,2);{var ut=t=>{var o=Kt(),d=a(o,!0);e(o),m(()=>i(d,r(y))),l(t,o)};q(ft,t=>{r(y)&&t(ut)})}e(k),J(k,(t,o)=>K?.(t,o),()=>()=>(b(h,!0),b(y,""),async({result:t,update:o})=>{b(h,!1),t.type==="success"?(b(g,""),await o()):t.type==="failure"&&b(y,t.data?.error??"Failed to add map",!0)}));var Y=s(k,2);z(Y,21,()=>Object.entries(r(pt)()),G,(t,o)=>{var d=st(()=>Lt(r(o),2));let x=()=>r(d)[0],f=()=>r(d)[1];var R=Zt(),S=a(R),D=a(S),_t=a(D,!0);e(D);var Z=s(D,2),gt=a(Z);e(Z),e(S);var tt=s(S,2);z(tt,21,f,G,(yt,p,ht)=>{var T=Yt(),et=a(T);{var kt=n=>{var v=Qt();m(()=>nt(v,"src",r(p).beatmap.coverUrl)),l(n,v)},wt=n=>{var v=Vt();l(n,v)};q(et,n=>{r(p).beatmap?.coverUrl?n(kt):n(wt,!1)})}var L=s(et,2),Dt=a(L);{var Mt=n=>{var v=Wt(),u=Ut(v),It=a(u);e(u);var rt=s(u,2),C=a(rt),Nt=a(C);e(C);var E=s(C,2),$t=a(E);e(E);var O=s(E,2),At=a(O);e(O);var ot=s(O,2),Ft=a(ot,!0);e(ot),e(rt),m((Ht,Rt)=>{nt(u,"href",r(p).beatmap.url),i(It,`${r(p).beatmap.artist??""} - ${r(p).beatmap.title??""}`),i(Nt,`[${r(p).beatmap.version??""}]`),i($t,`★ ${Ht??""}`),i(At,`${r(p).beatmap.bpm??""} BPM`),i(Ft,Rt)},[()=>r(p).beatmap.starRating.toFixed(2),()=>vt(r(p).beatmap.totalLength)]),l(n,v)},jt=n=>{var v=Xt(),u=a(v);e(v),m(()=>i(u,`Beatmap #${r(p).beatmapId??""}`)),l(n,v)};q(Dt,n=>{r(p).beatmap?n(Mt):n(jt,!1)})}e(L);var P=s(L,2),Bt=a(P);e(P);var U=s(P,2),at=a(U);dt(at),Pt(2),e(U),J(U,n=>K?.(n)),e(T),m(()=>{i(Bt,`${x()??""}${ht+1}`),Ot(at,r(p).id)}),l(yt,T)}),e(tt),e(R),m(()=>{qt(D,1,`rounded border px-2 py-0.5 text-xs font-600 ${lt[x()]??"bg-surface-600 text-text-secondary border-border"??""}`),i(_t,x()),i(gt,`${f().length??""} map${f().length!==1?"s":""}`)}),l(t,R)},t=>{var o=te();l(t,o)}),e(Y),e(j),m(t=>{i(ct,_.data.pool.name),i(mt,`${_.data.pool.slots.length??""} map${_.data.pool.slots.length!==1?"s":""}`),H.disabled=t,i(bt,r(h)?"Adding...":"Add")},[()=>r(h)||!r(g).trim()]),Et("click",xt,t=>{confirm("Delete this mappool?")||t.preventDefault()}),Gt(w,()=>r(V),t=>b(V,t)),zt(F,()=>r(g),t=>b(g,t)),l(it,j),Tt()}Ct(["click"]);export{me as component};