1import{c as _e,a as i,f as b,d as $e,t as st}from"../chunks/CCiNb-_B.js";import{p as we,f as ie,o as e,x as de,c as ke,d as a,n as bt,r as t,t as y,y as n,w as B,s as o,g as Pe,bf as zt,af as ct,u as kt,e as Ht,$ as Rt}from"../chunks/DC7TLuxy.js";import{d as et,s as f,e as nt,r as Et}from"../chunks/DYJZw9eY.js";import{i as j}from"../chunks/DKVejeVm.js";import{e as Qe,i as Ye}from"../chunks/CZyC9Tyk.js";import{h as Ot}from"../chunks/Bhw4Tbo-.js";import{a as jt,b as Ae,e as Kt,r as Tt,s as Z,f as Ct,g as Vt}from"../chunks/j6h2t88o.js";import{a as Be,s as ye}from"../chunks/E6X7JA2W.js";import{p as Xt}from"../chunks/Ds5ooqRP.js";import{$ as Fe,a as Gt}from"../chunks/C8Uv0BD2.js";import{a as Wt}from"../chunks/KWZs1Aur.js";import{b as Zt}from"../chunks/BRlMDCwa.js";import{c as Dt}from"../chunks/C_ufUulB.js";import{s as yt,u as Jt,c as Qt,b as Yt,a as $t}from"../chunks/3A6PoxkQ.js";import{r as ea,p as Ke}from"../chunks/CZfcxfRb.js";import{g as ta,c as aa,r as ra,a as sa}from"../chunks/l_cw7Wzo.js";import{c as na,d as la,e as ia,i as oa,t as va,f as ua,u as da,h as ca}from"../chunks/D_hHhF2z.js";import{g as fa,d as ga,v as ha,x as _a,y as ma,b as ba}from"../chunks/Dd96wJYH.js";import{a as ya,b as pa,c as xa}from"../chunks/Bqw2LZO6.js";import{b as Pt}from"../chunks/Bf13lE39.js";const wa=Dt("inline-flex items-center justify-center gap-2 rounded-md leading-tight text-sm outline-primary transition-colors cursor-pointer focus-visible:outline-[0.125rem] focus-visible:outline-offset-[0.125rem] focus-visible:outline-primary",{variants:{variant:{primary:[],secondary:[],success:[],danger:[]},size:{xsmall:["min-h-7 px-2 py-1 text-xs"],small:["min-h-9 px-3 py-2"],medium:["min-h-10 px-4 py-2.5"],large:["min-h-11 px-8 py-3"]},tone:{solid:[],ghost:[]},isSquare:{true:["aspect-square"],false:[]},disabled:{true:["opacity-50 !text-base-foreground-default pointer-events-none"],false:[]}},compoundVariants:[{variant:"primary",tone:"solid",class:"bg-primary border border-primary text-primary-on-fill active:bg-primary/80 hover:bg-primary/90 hover:border-primary/10 active:border-primary/80"},{variant:"primary",tone:"ghost",class:"border border-transparent text-primary active:bg-base-container-accent/80 hover:bg-base-container-accent/90 active:border-base-container-accent/80 hover:border-base-container-accent/90"},{variant:"secondary",tone:"solid",class:"border border-base-stroke-default text-base-foreground-default active:bg-base-container-accent/80 hover:bg-base-container-accent/90"},{variant:"secondary",tone:"ghost",class:"border border-transparent text-base-foreground-default active:bg-base-container-accent/80 hover:bg-base-container-accent/90 active:border-base-container-accent/80 hover:border-base-container-accent/90"},{variant:"success",tone:"solid",class:"bg-success border border-success text-success-on-fill active:bg-success/80 hover:bg-success/90 hover:border-success/10 active:border-success/80"},{variant:"success",tone:"ghost",class:"border border-transparent text-success active:bg-base-container-accent/80 hover:bg-base-container-accent/90 active:border-base-container-accent/80 hover:border-base-container-accent/90"},{variant:"danger",tone:"solid",class:"bg-destructive border border-destructive text-destructive-on-fill active:bg-destructive/80 hover:bg-destructive/90 hover:border-destructive/10 active:border-destructive/80"},{variant:"danger",tone:"ghost",class:"border border-transparent text-destructive active:bg-base-container-accent/80 hover:bg-base-container-accent/90 active:border-base-container-accent/80 hover:border-base-container-accent/90"},{variant:"primary",disabled:!0,tone:"solid",class:"!bg-base-container-muted !border-base-container-muted !text-base-foreground-default"},{variant:"success",disabled:!0,tone:"solid",class:"!bg-base-container-muted !border-base-container-muted !text-base-foreground-default"},{variant:"danger",disabled:!0,tone:"solid",class:"!bg-base-container-muted !border-base-container-muted !text-base-foreground-default"},{isSquare:!0,size:"xsmall",class:"!p-1.5"},{isSquare:!0,size:"small",class:"!p-2.25"},{isSquare:!0,size:"medium",class:"!p-2.75"},{isSquare:!0,size:"large",class:"!p-3.25"}],defaultVariants:{variant:"primary",tone:"solid",size:"medium"}});var ka=b("<a><!></a>"),ja=b("<button><!></button>");function ft(X,r){we(r,!0);let v=ea(r,["$$slots","$$events","$$legacy","tone","isSquare","variant","size","class","children","href"]),q=de(()=>
1wa({tone:r.tone,isSquare:r.isSquare,variant:r.variant,disabled:"disabled"in v?r.disabled:!1,size:r.size,class:r.class})),F=de(()=>!!r.href);var g=_e(),h=ie(g);{var N=s=>{var U=ka();jt(U,()=>({class:e(q),href:r.href,...v}));var K=a(U);yt(K,()=>r.children??bt),t(U),i(s,U)},w=s=>{var U=ja();jt(U,()=>({class:e(q),...v}));var K=a(U);yt(K,()=>r.children??bt),t(U),i(s,U)};j(h,s=>{e(F)?s(N):s(w,!1)})}i(X,g),ke()}const Ca=Dt("flex flex-col gap-6 p-6 border border-base-stroke-default rounded-lg shadow-xs");var Ta=b("<div><!></div>");function Da(X,r){we(r,!0);let v=de(()=>Ca({class:r.class}));var q=Ta(),F=a(q);yt(F,()=>r.children??bt),t(q),y(()=>Ae(q,1,Kt(e(v)))),i(X,q),ke()}const Pa="audioFiles";async function La(X){return X.length===0?[]:(await Promise.all(X.map(async v=>{const q=await fa(ga(ba,Pa,v));if(!q.exists())return null;const F=q.data(),g=await ha(_a(ma,F.storagePath));return{id:q.id,searchTitle:F.searchTitle,title:F.title,storagePath:F.storagePath,createdAt:F.createdAt,updatedAt:F.updatedAt,url:g}}))).filter(v=>v!==null)}let Ie=null;var Na=$e('<svg class="loading-icon svelte-j1l7g3" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 12a9 9 0 1 1-6.219-8.56"></path></svg>'),Ma=$e('<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><rect x="6" y="4" width="4" height="16"></rect><rect x="14" y="4" width="4" height="16"></rect></svg>'),Sa=$e('<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><polygon points="5 3 19 12 5 21 5 3"></polygon></svg>'),qa=b('<div class="loop-region svelte-j1l7g3"></div>'),Ua=b('<button class="loop-clear-btn svelte-j1l7g3" aria-label="ã«ã¼ããè§£é¤"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg> Clear</button>'),Ia=b("<button> </button>"),Aa=b('<div class="audio-player svelte-j1l7g3"><div class="player-label svelte-j1l7g3"> </div> <audio preload="metadata"></audio> <div class="player-controls svelte-j1l7g3"><button class="restart-btn svelte-j1l7g3" aria-label="æåã«æ»ã"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="19 20 9 12 19 4 19 20"></polygon><line x1="5" y1="19" x2="5" y2="5"></line></svg></button> <button class="play-btn svelte-j1l7g3"><!></button> <div class="seek-wrapper svelte-j1l7g3"><div class="progress-bar svelte-j1l7g3"><div class="progress-fill svelte-j1l7g3"></div> <!></div> <input class="seek-input svelte-j1l7g3" type="range" min="0" step="0.01" aria-label="åçä½ç½®"/></div> <div class="time-display svelte-j1l7g3"> </div></div> <div class="loop-controls svelte-j1l7g3"><span class="loop-label svelte-j1l7g3">A-B Loop</span> <div class="loop-buttons svelte-j1l7g3"><button aria-label="ã«ã¼ãéå§ä½ç½®ãè¨å®"> </button> <button aria-label="ã«ã¼ãçµäºä½ç½®ãè¨å®"> </button> <!></div></div> <div class="speed-controls svelte-j1l7g3"><span class="speed-label svelte-j1l7g3">Speed</span> <div class="speed-buttons svelte-j1l7g3"></div></div></div>');function Ba(X,r){we(r,!0);let v,q=B(!1),F=B(0),g=B(0),h=B(1),N=B(!0),w=B(null),s=B(null);const U=[.5,.75,1,1.25,1.5],K=5;let z=!1,P=!1,H=0;function G(){e(q)?v.pause():v.play()}function W(){n(F,v.currentTime,!0),e(w)!==null&&e(s)!==null&&!P&&v.currentTime>=e(s)&&(v.currentTime=e(w))}function J(){n(g,v.duration,!0),n(N,!1)}function R(x){const V=x.currentTarget;v.currentTime=Number(V.value)}function M(x){z=!0,P=!1,H=x.clientX}function k(x){!z||P||Math.abs(x.clientX-H)>K&&(P=!0)}function d(){if(P&&e(w)!==null){const x=v.currentTime;x<e(w)?n(w,x,!0):e(s)!==null&&x>e(s)&&n(s,x,!0)}z=!1,P=!1}function u(){z=!1,P=!1}function D(){v.currentTime=e(w)??0}function l(){n(w,v.currentTime,!0),e(s)!==null&&e(s)<=v.currentTime&&n(s,null)}function L(){e(w)===null&&n(w,0),!(v.currentTime<=e(w))&&n(s,v.currentTime,!0)}function C(){n(w,null),n(s,null)}function A(x){if(Number.isNaN(x))return"0:00";const V=Math.floor(x/60),O=Math.floor(x%60);return`${V}:${O.toString().padStart(2,"0")}`}Wt(()=>{v.addEventListener("play",()=>{Ie&&Ie!==v&&Ie.pause(),Ie=v,n(q,!0)}),v.addEventListener("pause",()=>{Ie===v&&(Ie=null),n(q,!1)}),v.addEventListener("ended",()=>{if(e(w)!==null&&e(s)!==null){v.currentTime=e(w),v.play();return}Ie===v&&(Ie=null),n(q,!1)})});var I=Aa(),te=a(I),ue=a(te,!0);t(te);var p=o(te,2);Zt(p,x=>v=x,()=>v);var _=o(p,2),T=a(_);T.__click=D;var E=o(T,2);E.__click=G;var Y=a(E);{var ae=x=>{var V=Na();i(x,V)},je=x=>{var V=_e(),O=ie(V);{var oe=me=>{var Le=Ma();i(me,Le)},Xe=me=>{var Le=Sa();i(me,Le)};j(O,me=>{e(q)?me(oe):me(Xe,!1)},!0)}i(x,V)};j(Y,x=>{e(N)?x(ae):x(je,!1)})}t(E);var ze=o(E,2),tt=a(ze),at=a(tt),lt=o(at,2);{var Ve=x=>{var V=qa();y(()=>
1Ct(V,`left: ${e(w)/e(g)*100}%; width: ${((e(s)??e(g))-e(w))/e(g)*100}%`)),i(x,V)};j(lt,x=>{e(w)!==null&&e(g)>0&&x(Ve)})}t(tt);var pe=o(tt,2);Tt(pe),pe.__input=R,pe.__pointerdown=M,pe.__pointermove=k,pe.__pointerup=d,t(ze);var it=o(ze,2),ht=a(it,!0);t(it),t(_);var rt=o(_,2),ot=o(a(rt),2),qe=a(ot);let vt;qe.__click=l;var ut=a(qe);t(qe);var Ce=o(qe,2);let dt;Ce.__click=L;var _t=a(Ce);t(Ce);var mt=o(Ce,2);{var c=x=>{var V=Ua();V.__click=C,i(x,V)};j(mt,x=>{e(w)!==null&&x(c)})}t(ot),t(rt);var m=o(rt,2),S=o(a(m),2);Qe(S,21,()=>U,Ye,(x,V)=>{var O=Ia();let oe;O.__click=()=>{n(h,e(V),!0),v.playbackRate=e(V)};var Xe=a(O);t(O),y(()=>{oe=Ae(O,1,"speed-btn svelte-j1l7g3",null,oe,{active:e(h)===e(V)}),f(Xe,`${e(V)??""}x`)}),i(x,O)}),t(S),t(m),t(I),y((x,V,O)=>{f(ue,r.label),Z(p,"src",r.src),T.disabled=e(N),E.disabled=e(N),Z(E,"aria-label",e(q)?"䏿忢":"åç"),Ct(at,`width: ${e(g)>0?e(F)/e(g)*100:0}%`),Z(pe,"max",e(g)||0),Vt(pe,e(F)),pe.disabled=e(N),f(ht,x),vt=Ae(qe,1,"loop-btn svelte-j1l7g3",null,vt,{active:e(w)!==null}),qe.disabled=e(N),f(ut,`A ${V??""}`),dt=Ae(Ce,1,"loop-btn svelte-j1l7g3",null,dt,{active:e(s)!==null}),Ce.disabled=e(N),f(_t,`B ${O??""}`)},[()=>A(e(F)),()=>e(w)!==null?A(e(w)):"",()=>e(s)!==null?A(e(s)):""]),nt("timeupdate",p,W),nt("loadedmetadata",p,J),nt("pointercancel",pe,u),i(X,I),ke()}et(["click","input","pointerdown","pointermove","pointerup"]);var Fa=b('<a class="meta-badge svelte-rkyh55"> </a>'),za=b('<a class="meta-badge svelte-rkyh55"> <!></a>'),Ha=b('<a class="meta-badge svelte-rkyh55"> </a>'),Ra=b('<a class="meta-badge svelte-rkyh55"> </a>'),Ea=b('<a class="meta-badge svelte-rkyh55"> </a>'),Oa=b('<a class="meta-badge svelte-rkyh55"> </a>'),Ka=b('<a class="meta-badge svelte-rkyh55"> </a>'),Va=b('<a class="nav-btn svelte-rkyh55"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m15 18-6-6 6-6"></path></svg> <span> </span></a>'),Xa=b('<a class="nav-btn svelte-rkyh55"><span> </span> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"></path></svg></a>'),Ga=b('<header class="detail-header no-print svelte-rkyh55"><div class="tune-info svelte-rkyh55"><span class="tune-number-badge svelte-rkyh55"> </span> <h1 class="tune-title svelte-rkyh55"> </h1> <div class="tune-meta svelte-rkyh55"><!> <!> <!> <!> <!> <!> <!></div></div> <div class="header-actions svelte-rkyh55"><!> <!></div></header>');function Wa(X,r){we(r,!0);const v=()=>ye(Fe,"$_",q),[q,F]=Be();var g=Ga(),h=a(g),N=a(h),w=a(N);t(N);var s=o(N,2),U=a(s,!0);t(s);var K=o(s,2),z=a(K);{var P=p=>{var _=Fa(),T=a(_,!0);t(_),y(E=>{Z(_,"href",`/search?tuneType=${E??""}`),f(T,r.tuneType)},[()=>encodeURIComponent(r.tuneType)]),i(p,_)};j(z,p=>{r.tuneType&&p(P)})}var H=o(z,2);{var G=p=>{var _=za(),T=a(_),E=o(T);{var Y=ae=>{var je=st();y(()=>f(je,` 2 ${r.tuneMode??""}`)),i(ae,je)};j(E,ae=>{r.tuneMode&&ae(Y)})}t(_),y(ae=>{Z(_,"href",`/search?key=${ae??""}`),f(T,`${r.tuneKey??""} `)},[()=>encodeURIComponent(r.tuneKey)]),i(p,_)};j(H,p=>{r.tuneKey&&p(G)})}var W=o(H,2);{var J=p=>{var _=Ha(),T=a(_,!0);t(_),y(E=>{Z(_,"href",`/search?popularity=${E??""}`),f(T,r.popularity)},[()=>encodeURIComponent(r.popularity)]),i(p,_)};j(W,p=>{r.popularity&&p(J)})}var R=o(W,2);{var M=p=>{var _=Ra(),T=a(_,!0);t(_),y(E=>{Z(_,"href",`/search?region=${E??""}`),f(T,r.region)},[()=>encodeURIComponent(r.region)]),i(p,_)};j(R,p=>{r.region&&p(M)})}var k=o(R,2);{var d=p=>{var _=_e(),T=ie(_);Qe(T,17,()=>r.instruments,Ye,(E,Y)=>{var ae=Ea(),je=a(ae,!0);t(ae),y(ze=>{Z(ae,"href",`/search?instrument=${ze??""}`),f(je,e(Y))},[()=>encodeURIComponent(e(Y))]),i(E,ae)}),i(p,_)};j(k,p=>{r.instruments&&r.instruments.length>0&&p(d)})}var u=o(k,2);{var D=p=>{var _=Oa(),T=a(_,!0);t(_),y(E=>{Z(_,"href",`/search?composer=${E??""}`),f(T,r.composer)},[()=>encodeURIComponent(r.composer)]),i(p,_)};j(u,p=>{r.composer&&p(D)})}var l=o(u,2);{var L=p=>{var _=Ka(),T=a(_,!0);t(_),y(E=>{Z(_,"href",`/search?era=${E??""}`),f(T,r.era)},[()=>encodeURIComponent(r.era)]),i(p,_)};j(l,p=>{r.era&&p(L)})}t(K),t(h);var C=o(h,2),A=a(C);{var I=p=>{var _=Va(),T=o(a(_),2),E=a(T,!0);t(T),t(_),y(Y=>{Z(_,"href",`/tunes/${r.prevNumber??""}`),f(E,Y)},[()=>v()("tuneDetail.prevTune")]),i(p,_)};j(A,p=>{r.prevNumber&&p(I)})}var te=o(A,2);{var ue=p=>{var _=Xa(),T=a(_),E=a(T,!0);t(T),Pe(2),t(_),y(Y=>{Z(_,"href",`/tunes/${r.nextNumber??""}`),f(E,Y)},[()=>v()("tuneDetail.nextTune")]),i(p,_)};j(te,p=>{r.nextNumber&&p(ue)})}
2t(C),t(g),y(()=>{f(w,`No. ${r.tuneNumber??""}`),f(U,r.tuneTitle)}),i(X,g),ke(),F()}const gt=X=>{var r=Za();i(X,r)};var Za=$e('<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="#FF0000" stroke="none" class="svelte-1y2iqt9"><path d="M19.615 3.184c-3.604-.246-11.631-.245-15.23 0-3.897.266-4.356 2.62-4.385 8.816.029 6.185.484 8.549 4.385 8.816 3.6.245 11.626.246 15.23 0 3.897-.266 4.356-2.62 4.385-8.816-.029-6.185-.484-8.549-4.385-8.816zm-10.615 12.816v-8l8 3.993-8 4.007z"></path></svg>'),Ja=b('<a target="_blank" rel="noopener noreferrer" class="link-item svelte-1y2iqt9"><!> <span> </span></a>'),Qa=b('<a target="_blank" rel="noopener noreferrer" class="link-item svelte-1y2iqt9"><!> <span>Tune of the Day</span></a>'),Ya=b('<a target="_blank" rel="noopener noreferrer" class="link-item svelte-1y2iqt9"><!> <span>Tune of the Day Set</span></a>'),$a=b('<a target="_blank" rel="noopener noreferrer" class="link-item svelte-1y2iqt9"><!> <span>Tune Learning Session</span></a>'),er=b('<a target="_blank" rel="noopener noreferrer" class="link-item svelte-1y2iqt9"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#5C7A5C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1y2iqt9"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" x2="21" y1="14" y2="3"></line></svg> <span>thesession.org</span></a>'),tr=b('<a target="_blank" rel="noopener noreferrer" class="link-item svelte-1y2iqt9"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="#1DB954" stroke="none" class="svelte-1y2iqt9"><path d="M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.66 0 12 0zm5.521 17.34c-.24.359-.66.48-1.021.24-2.82-1.74-6.36-2.101-10.561-1.141-.418.122-.779-.179-.899-.539-.12-.421.18-.78.54-.9 4.56-1.021 8.52-.6 11.64 1.32.42.18.479.659.301 1.02zm1.44-3.3c-.301.42-.841.6-1.262.3-3.239-1.98-8.159-2.58-11.939-1.38-.479.12-1.02-.12-1.14-.6-.12-.48.12-1.021.6-1.141C9.6 9.9 15 10.561 18.72 12.84c.361.181.54.78.241 1.2zm.12-3.36C15.24 8.4 8.82 8.16 5.16 9.301c-.6.179-1.2-.181-1.38-.721-.18-.601.18-1.2.72-1.381 4.26-1.26 11.28-1.02 15.721 1.621.539.3.719 1.02.419 1.56-.299.421-1.02.599-1.559.3z"></path></svg> <span>Spotify</span></a>'),ar=b('<div class="sidebar-card svelte-1y2iqt9"><h3 class="card-title svelte-1y2iqt9"> </h3> <div class="links-list svelte-1y2iqt9"><!> <!> <!> <!> <!> <!></div></div>');function rr(X,r){we(r,!0);const v=()=>ye(Fe,"$_",q),[q,F]=Be();var g=ar(),h=a(g),N=a(h,!0);t(h);var w=o(h,2),s=a(w);{var U=d=>{var u=Ja(),D=a(u);gt(D);var l=o(D,2),L=a(l,!0);t(l),t(u),y(C=>{Z(u,"href",r.youtubeUrl),f(L,C)},[()=>v()("tuneDetail.watchVideo")]),i(d,u)};j(s,d=>{r.youtubeUrl&&d(U)})}var K=o(s,2);{var z=d=>{var u=Qa(),D=a(u);gt(D),Pe(2),t(u),y(()=>Z(u,"href",r.tuneOfTheDayUrl)),i(d,u)};j(K,d=>{r.tuneOfTheDayUrl&&d(z)})}var P=o(K,2);{var H=d=>{var u=Ya(),D=a(u);gt(D),Pe(2),t(u),y(()=>Z(u,"href",r.tuneOfTheDaySetUrl)),i(d,u)};j(P,d=>{r.tuneOfTheDaySetUrl&&d(H)})}var G=o(P,2);{var W=d=>{var u=$a(),D=a(u);gt(D),Pe(2),t(u),y(()=>Z(u,"href",r.learningSessionUrl)),i(d,u)};j(G,d=>{r.learningSessionUrl&&d(W)})}var J=o(G,2);{var R=d=>{var u=er();y(()=>Z(u,"href",r.sessionUrl)),i(d,u)};j(J,d=>{r.sessionUrl&&d(R)})}var M=o(J,2);{var k=d=>{var u=tr();y(()=>Z(u,"href",r.spotifyUrl)),i(d,u)};j(M,d=>{r.spotifyUrl&&d(k)})}t(w),t(g),y(d=>f(N,d),[()=>v()("tuneDetail.externalLinks")]),i(X,g),ke(),F()}var sr=b('<div class="sidebar-card svelte-id6ymq"><h3 class="card-title svelte-id6ymq"> </h3> <div class="status-section svelte-id6ymq"><div class="status-item svelte-id6ymq"><span class="status-label svelte-id6ymq" id="knows-tune-name-label"> </span> <button aria-labelledby="knows-tune-name-label"><span class="toggle-knob svelte-id6ymq"></span></button></div> <div class="status-item svelte-id6ymq"><span class="status-label svelte-id6ymq" id="knows-melody-label"> </span> <button aria-labelledby="knows-melody-label"><span class="toggle-knob svelte-id6ymq"></span></button></div> <div class="status-item svelte-id6ymq"><span class="status-label svelte-id6ymq"> </span> <div class="play-count-control svelte-id6ymq"><button class="count-btn minus svelte-id6ymq"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
2ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path></svg></button> <span class="play-count-num svelte-id6ymq"> </span> <button class="count-btn plus svelte-id6ymq"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg></button></div></div></div></div>');function nr(X,r){we(r,!0);const v=()=>ye(Fe,"$_",q),[q,F]=Be();let g=Ke(r,"knowsTuneName",3,!1),h=Ke(r,"knowsMelody",3,!1),N=Ke(r,"totalPlayCount",3,0),w=Ke(r,"todayPlayCount",3,0),s=Ke(r,"practiceLoading",3,!1);var U=sr(),K=a(U),z=a(K,!0);t(K);var P=o(K,2),H=a(P),G=a(H),W=a(G,!0);t(G);var J=o(G,2);let R;J.__click=function(..._){var T;(T=r.onToggleKnowsTuneName)==null||T.apply(this,_)},t(H);var M=o(H,2),k=a(M),d=a(k,!0);t(k);var u=o(k,2);let D;u.__click=function(..._){var T;(T=r.onToggleKnowsMelody)==null||T.apply(this,_)},t(M);var l=o(M,2),L=a(l),C=a(L,!0);t(L);var A=o(L,2),I=a(A);I.__click=function(..._){var T;(T=r.onDecrementPlayCount)==null||T.apply(this,_)};var te=o(I,2),ue=a(te,!0);t(te);var p=o(te,2);p.__click=function(..._){var T;(T=r.onIncrementPlayCount)==null||T.apply(this,_)},t(A),t(l),t(P),t(U),y((_,T,E,Y,ae,je)=>{f(z,_),f(W,T),R=Ae(J,1,"toggle-switch svelte-id6ymq",null,R,{active:g()}),J.disabled=s(),Z(J,"aria-pressed",g()),f(d,E),D=Ae(u,1,"toggle-switch svelte-id6ymq",null,D,{active:h()}),u.disabled=s(),Z(u,"aria-pressed",h()),f(C,Y),I.disabled=s()||N()<=0||w()<=0,Z(I,"aria-label",ae),f(ue,N()),p.disabled=s(),Z(p,"aria-label",je)},[()=>v()("tuneDetail.practiceRecord"),()=>v()("practice.knowsTuneName"),()=>v()("practice.knowsMelody"),()=>v()("practice.totalPlayCount"),()=>v()("tuneDetail.decrementPlayCount"),()=>v()("tuneDetail.incrementPlayCount")]),i(X,U),ke(),F()}et(["click"]);var lr=b('<p class="loading-text svelte-14ttxgf"> </p>'),ir=b('<p class="empty-text svelte-14ttxgf"> </p>'),or=b('<div class="history-item svelte-14ttxgf"><span class="history-date svelte-14ttxgf"> </span> <span class="history-count svelte-14ttxgf"> </span></div>'),vr=b('<button class="show-more-btn svelte-14ttxgf"><span> </span> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"></path></svg></button>'),ur=b('<div class="history-list svelte-14ttxgf"></div> <!>',1),dr=b('<div class="sidebar-card svelte-14ttxgf"><h3 class="card-title svelte-14ttxgf"> </h3> <!></div>');function cr(X,r){we(r,!0);const v=()=>ye(Fe,"$_",q),[q,F]=Be();let g=Ke(r,"historyLoading",3,!1),h=B(!1);var N=dr(),w=a(N),s=a(w,!0);t(w);var U=o(w,2);{var K=P=>{var H=lr(),G=a(H,!0);t(H),y(W=>f(G,W),[()=>v()("tuneDetail.loadingMessage")]),i(P,H)},z=P=>{var H=_e(),G=ie(H);{var W=R=>{var M=ir(),k=a(M,!0);t(M),y(d=>f(k,d),[()=>v()("tuneDetail.noPlayHistory")]),i(R,M)},J=R=>{var M=ur(),k=ie(M);Qe(k,21,()=>r.playHistory.slice(0,e(h)?r.playHistory.length:3),Ye,(D,l)=>{var L=or(),C=a(L),A=a(C,!0);t(C);var I=o(C,2),te=a(I,!0);t(I),t(L),y(ue=>{f(A,ue),f(te,e(l).playCount)},[()=>
2e(l).date.replace(/-/g,"/")]),i(D,L)}),t(k);var d=o(k,2);{var u=D=>{var l=vr();l.__click=()=>n(h,!e(h));var L=a(l),C=a(L,!0);t(L);var A=o(L,2);let I;t(l),y(te=>{f(C,te),I=Ae(A,0,"svelte-14ttxgf",null,I,{rotated:e(h)})},[()=>e(h)?v()("tuneDetail.close"):v()("tuneDetail.showMore")]),i(D,l)};j(d,D=>{r.playHistory.length>3&&D(u)})}i(R,M)};j(G,R=>{r.playHistory.length===0?R(W):R(J,!1)},!0)}i(P,H)};j(U,P=>{g()?P(K):P(z,!1)})}t(N),y(P=>f(s,P),[()=>v()("tuneDetail.playHistory")]),i(X,N),ke(),F()}et(["click"]);var fr=b('<button class="edit-btn svelte-d3riej"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"></path><path d="m15 5 4 4"></path></svg> </button>'),gr=b('<div class="note-edit svelte-d3riej"><textarea class="note-textarea svelte-d3riej" rows="4"></textarea> <div class="note-actions svelte-d3riej"><button class="btn-secondary svelte-d3riej"> </button> <button class="btn-primary svelte-d3riej"> </button></div></div>'),hr=b('<p class="note-content svelte-d3riej"> </p>'),_r=b('<p class="empty-text svelte-d3riej"> </p>'),mr=b('<div class="sidebar-card svelte-d3riej"><div class="card-header svelte-d3riej"><h3 class="card-title svelte-d3riej"> </h3> <!></div> <!></div>');function br(X,r){we(r,!0);const v=()=>ye(Fe,"$_",q),[q,F]=Be();let g=B(!1),h=B(""),N=B(!1);function w(){n(h,r.note??"",!0),n(g,!0)}function s(){n(g,!1),n(h,"")}async function U(){n(N,!0);try{await r.onSaveNote(e(h)),n(g,!1)}finally{n(N,!1)}}var K=mr(),z=a(K),P=a(z),H=a(P,!0);t(P);var G=o(P,2);{var W=k=>{var d=fr();d.__click=w;var u=o(a(d));t(d),y(D=>f(u,` ${D??""}`),[()=>v()("tuneDetail.editNote")]),i(k,d)};j(G,k=>{e(g)||k(W)})}t(z);var J=o(z,2);{var R=k=>{var d=gr(),u=a(d);zt(u);var D=o(u,2),l=a(D);l.__click=s;var L=a(l,!0);t(l);var C=o(l,2);C.__click=U;var A=a(C,!0);t(C),t(D),t(d),y((I,te,ue)=>{Z(u,"placeholder",I),l.disabled=e(N),f(L,te),C.disabled=e(N),f(A,ue)},[()=>v()("tuneDetail.notePlaceholder"),()=>v()("tuneDetail.cancel"),()=>e(N)?v()("tuneDetail.saving"):v()("tuneDetail.save")]),Pt(u,()=>e(h),I=>n(h,I)),i(k,d)},M=k=>{var d=_e(),u=ie(d);{var D=L=>{var C=hr(),A=a(C,!0);t(C),y(()=>f(A,r.note)),i(L,C)},l=L=>{var C=_r(),A=a(C,!0);t(C),y(I=>f(A,I),[()=>v()("tuneDetail.noNote")]),i(L,C)};j(u,L=>{r.note?L(D):L(l,!1)},!0)}i(k,d)};j(J,k=>{e(g)?k(R):k(M,!1)})}t(K),y(k=>f(H,k),[()=>v()("tuneDetail.note")]),i(X,K),ke(),F()}et(["click"]);var yr=b('<div class="modal-overlay svelte-or4bvo" role="dialog" aria-modal="true" aria-labelledby="modal-title" tabindex="-1"><div class="modal svelte-or4bvo"><h3 id="modal-title" class="svelte-or4bvo"> </h3> <form><div class="form-group"><label for="list-name"> </label> <input id="list-name" type="text" required/></div> <div class="modal-actions svelte-or4bvo"><button type="button" class="btn btn-outline"> </button> <button type="submit" class="btn btn-primary"> </button></div></form></div></div>');function pr(X,r){we(r,!0);const v=()=>ye(Fe,"$_",q),[q,F]=Be();let g=B(""),h=B(!1);async function N(){if(e(g).trim()){n(h,!0);try{await r.onCreateList(e(g).trim()),r.onClose()}finally{n(h,!1)}}}var w=yr();w.__click=function(...u){var D;(D=r.onClose)==null||D.apply(this,u)},w.__keydown=u=>u.key==="Escape"&&r.onClose();var s=a(w);s.__click=u=>u.stopPropagation(),s.__keydown=u=>u.stopPropagation();var U=a(s),K=a(U,!0);t(U);var z=o(U,2),P=a(z),H=a(P),G=a(H,!0);t(H);var W=o(H,2);Tt(W),t(P);var J=o(P,2),R=a(J);R.__click=function(...u){var D;(D=r.onClose)==null||D.apply(this,u)};var M=a(R,!0);t(R);var k=o(R,2),d=a(k,!0);t(k),t(J),t(z),t(s),t(w),y((u,D,l,L,C,A)=>{f(K,u),f(G,D),Z(W,"placeholder",l),f(M,L),k.disabled=C,f(d,A)},[()=>v()("tuneDetail.createNewList"),()=>v()("tuneDetail.listName"),()=>v()("tuneDetail.listNamePlaceholder"),()=>v()("tuneDetail.cancel"),()=>e(h)||!e(g).trim(),()=>e(h)?v()("tuneDetail.creating"):v()("tuneDetail.create")]),nt("submit",z,u=>{u.preventDefault(),N()}),Pt(W,()=>e(g),u=>n(g,u)),i(X,w),ke(),F()}et(["click","keydown"]);var xr=b('<p class="loading-text svelte-1fj3dqn"> </p>'),wr=b('<p class="empty-text svelte-1fj3dqn"> </p>'),kr=$e('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
2ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1fj3dqn"><path d="M19.707 4.293a1 1 0 010 1.414l-10 10a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L9 13.586l9.293-9.293a1 1 0 011.414 0z"></path></svg>'),jr=$e('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1fj3dqn"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"></path></svg>'),Cr=b('<button><!> <span class="list-name svelte-1fj3dqn"> </span></button>'),Tr=b('<div class="list-items svelte-1fj3dqn"></div>'),Dr=b('<div class="sidebar-card svelte-1fj3dqn"><div class="card-header svelte-1fj3dqn"><h3 class="card-title svelte-1fj3dqn"> </h3> <button class="add-list-btn svelte-1fj3dqn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg> </button></div> <!></div> <!>',1);function Pr(X,r){we(r,!0);const v=()=>ye(Fe,"$_",q),[q,F]=Be();let g=Ke(r,"listsLoading",3,!1),h=B(!1);var N=Dr(),w=ie(N),s=a(w),U=a(s),K=a(U,!0);t(U);var z=o(U,2);z.__click=()=>n(h,!0);var P=o(a(z));t(z),t(s);var H=o(s,2);{var G=M=>{var k=xr(),d=a(k,!0);t(k),y(u=>f(d,u),[()=>v()("tuneDetail.loadingMessage")]),i(M,k)},W=M=>{var k=_e(),d=ie(k);{var u=l=>{var L=wr(),C=a(L,!0);t(L),y(A=>f(C,A),[()=>v()("tuneDetail.noLists")]),i(l,L)},D=l=>{var L=Tr();Qe(L,21,()=>r.userLists,Ye,(C,A)=>{var I=Cr();let te;I.__click=()=>r.onToggleList(e(A).id);var ue=a(I);{var p=Y=>{var ae=kr();i(Y,ae)},_=Y=>{var ae=jr();i(Y,ae)};j(ue,Y=>{r.listIds.includes(e(A).id)?Y(p):Y(_,!1)})}var T=o(ue,2),E=a(T,!0);t(T),t(I),y(Y=>{te=Ae(I,1,"list-item svelte-1fj3dqn",null,te,Y),f(E,e(A).name)},[()=>({active:r.listIds.includes(e(A).id)})]),i(C,I)}),t(L),i(l,L)};j(d,l=>{r.userLists.length===0?l(u):l(D,!1)},!0)}i(M,k)};j(H,M=>{g()?M(G):M(W,!1)})}t(w);var J=o(w,2);{var R=M=>{pr(M,{onClose:()=>n(h,!1),get onCreateList(){return r.onCreateList}})};j(J,M=>{e(h)&&M(R)})}y((M,k)=>{f(K,M),f(P,` ${k??""}`)},[()=>v()("tuneDetail.lists"),()=>v()("tuneDetail.addList")]),i(X,N),ke(),F()}et(["click"]);var Lr=b('<div class="loading svelte-1vjl4xd"><div class="spinner svelte-1vjl4xd"></div> <p class="svelte-1vjl4xd"> </p></div>'),Nr=b('<div class="access-denied svelte-1vjl4xd"><h2 class="svelte-1vjl4xd"> </h2> <p class="svelte-1vjl4xd"> </p> <div class="actions svelte-1vjl4xd"><!> <!></div></div>'),Mr=b('<div class="error-state card svelte-1vjl4xd"><p class="svelte-1vjl4xd"> </p> <a href="/" class="btn btn-primary svelte-1vjl4xd"> </a></div>'),Sr=b('<section class="section-card svelte-1vjl4xd"><h2 class="section-title svelte-1vjl4xd"> </h2> <div class="sheet-card svelte-1vjl4xd"><div class="skeleton skeleton-sheet svelte-1vjl4xd"></div></div></section>'),qr=b('<section class="section-card svelte-1vjl4xd"><h2 class="section-title svelte-1vjl4xd"> </h2> <div class="media-error svelte-1vjl4xd"><p class="svelte-1vjl4xd"> </p> <!></div></section>'),Ur=b('<img class="sheet-image svelte-1vjl4xd"/>'),Ir=b('<section class="section-card svelte-1vjl4xd"><h2 class="section-title svelte-1vjl4xd"> </h2> <div class="sheet-card svelte-1vjl4xd"></div></section>'),Ar=b('<section class="section-card svelte-1vjl4xd"><h2 class="section-title svelte-1vjl4xd"> </h2> <div class="audio-list svelte-1vjl4xd"><div class="skeleton skeleton-audio svelte-1vjl4xd"></div> <div class="skeleton skeleton-audio svelte-1vjl4xd"></div></div></section>'),Br=b('<section class="section-card svelte-1vjl4xd"><h2 class="section-title svelte-1vjl4xd"> </h2> <div class="media-error svelte-1vjl4xd"><p class="svelte-1vjl4xd"> </p> <!></div></section>'),Fr=b('<section class="section-card svelte-1vjl4xd"><h2 class="section-title svelte-1vjl4xd"> </h2> <div class="audio-list svelte-1vjl4xd"></div></section>'),zr=b('<section class="section-card svelte-1vjl4xd"><h2 class="section-title svelte-1vjl4xd"> </h2> <div class="story-card svelte-1vjl4xd"><p class="story-content svelte-1vjl4xd"> </p></div></section>'),Hr=b("<!> <!> <!> <!>",1),Rr=b('<!> <div class="content-area svelte-1vjl4xd"><div class="left-column svelte-1vjl4xd"><!> <!> <!></div> <div class="right-column svelte-1vjl4xd"><!> <!></div></div>',1),Er=b('<div class="tune-page svelte-1vjl4xd"><!></div>');function vs(X,r){we(r,!0);const v=()=>ye(Gt,"$locale",N),q=()=>ye(Yt,"$isAdmin",N),F=()=>ye($t,"$unlockedRangeIds",N),g=()=>ye(Fe,"$_",N),h=()=>ye(Jt,"$user",N),[N,w]=Be();let s=B(null),U=B(null),K=B(null),z=B(!0),P=B(""),H=B(!1),G=B(ct([])),W=B(ct([])),J=B(!1),R=B(!1),M=B(!1),k=B(!1),d=0,u=[],D=[],l=B(null),L=B(!1),C=B(ct([])),A=
2B(!1),I=B(ct([])),te=B(!1);const ue=de(()=>()=>{const c=new Date().toISOString().split("T")[0],m=e(I).find(S=>S.date===c);return(m==null?void 0:m.playCount)??0}),p=de(()=>parseInt(Xt.params.number,10)),_=de(()=>{var c;return(c=v())!=null&&c.startsWith("en")?"en":"ja"});function T(c){return q()?!0:Qt(c,F())}async function E(c){const m=++d;if(n(z,!0),n(P,""),n(H,!1),n(G,[],!0),n(W,[],!0),n(J,!1),n(R,!1),n(M,!1),n(k,!1),u=[],D=[],!T(c)){n(H,!0),n(z,!1);return}try{const[S,x]=await Promise.all([ya(c),pa(c)]);if(m!==d)return;if(!S){n(P,g()("tuneDetail.notFound"),!0);return}n(s,S,!0),n(U,x.prevNumber?x.prevNumber:null,!0),n(K,x.nextNumber?x.nextNumber:null,!0),h()&&(at(S.id),lt(),Ve(S.id)),Y(S.sheetMusicUrls??[],m),ae(S.audioFileIds??[],m)}catch(S){if(m!==d)return;n(P,g()("tuneDetail.loadFailed"),!0),console.error(S)}finally{m===d&&n(z,!1)}}async function Y(c,m){if(u=c,c.length!==0){n(J,!0),n(M,!1);try{const S=await xa(c);if(m!==d)return;n(W,S,!0)}catch(S){if(console.error("Failed to load sheet music:",S),m!==d)return;n(M,!0)}finally{m===d&&n(J,!1)}}}async function ae(c,m){if(D=c,c.length!==0){n(R,!0),n(k,!1);try{const S=await La(c);if(m!==d)return;n(G,S,!0)}catch(S){if(console.error("Failed to load audio files:",S),m!==d)return;n(k,!0)}finally{m===d&&n(R,!1)}}}function je(){n(W,[],!0),Y(u,d)}function ze(){n(G,[],!0),ae(D,d)}function tt(){n(M,!0)}async function at(c){if(h()){n(L,!0);try{n(l,await na(h().uid,c),!0)}catch(m){console.error("Failed to load practice data:",m)}finally{n(L,!1)}}}async function lt(){if(h()){n(A,!0);try{n(C,await ta(h().uid),!0)}catch(c){console.error("Failed to load user lists:",c)}finally{n(A,!1)}}}async function Ve(c){if(h()){n(te,!0);try{n(I,await la(h().uid,c,20),!0)}catch(m){console.error("Failed to load plactice log:",m)}finally{n(te,!1)}}}async function pe(){var m;if(!h()||!e(s))return;const c=!(((m=e(l))==null?void 0:m.knowsTuneName)??!1);e(l)?n(l,{...e(l),knowsTuneName:c},!0):n(l,{tuneId:e(s).id,tuneNumber:e(s).number,knowsTuneName:c,knowsMelody:!1,totalPlayCount:0,lastPlayedAt:null,listIds:[]},!0);try{await ua(h().uid,e(s).id,e(s).number,c)}catch(S){console.error("Failed to toggle knowsTuneName:",S),e(l)&&n(l,{...e(l),knowsTuneName:!c},!0)}}async function it(){var m;if(!h()||!e(s))return;const c=!(((m=e(l))==null?void 0:m.knowsMelody)??!1);e(l)?n(l,{...e(l),knowsMelody:c},!0):n(l,{tuneId:e(s).id,tuneNumber:e(s).number,knowsTuneName:!1,knowsMelody:c,totalPlayCount:0,lastPlayedAt:null,listIds:[]},!0);try{await va(h().uid,e(s).id,e(s).number,c)}catch(S){console.error("Failed to toggle knowsMelody:",S),e(l)&&n(l,{...e(l),knowsMelody:!c},!0)}}async function ht(){var m;if(!h()||!e(s))return;const c=((m=e(l))==null?void 0:m.totalPlayCount)??0;e(l)?n(l,{...e(l),totalPlayCount:c+1},!0):n(l,{tuneId:e(s).id,tuneNumber:e(s).number,knowsTuneName:!1,knowsMelody:!1,totalPlayCount:1,lastPlayedAt:null,listIds:[]},!0);try{await oa(h().uid,e(s).id,e(s).number),Ve(e(s).id)}catch(S){console.error("Failed to increment practice count:",S),e(l)&&n(l,{...e(l),totalPlayCount:c},!0)}}async function rt(){if(!h()||!e(s)||!e(l)||e(l).totalPlayCount<=0)return;const c=e(l).totalPlayCount;n(l,{...e(l),totalPlayCount:c-1},!0);try{await ia(h().uid,e(s).id),Ve(e(s).id)}catch(m){console.error("Failed to decrement practice count:",m),n(l,{...e(l),totalPlayCount:c},!0)}}async function ot(c){var V;if(!h()||!e(s))return;if(!e(l))try{n(l,await ca(h().uid,e(s).id,e(s).number),!0)}catch(O){console.error("Failed to create practice data:",O);return}const m=e(l),S=((V=m.listIds)==null?void 0:V.includes(c))??!1,x=m.listIds??[];S?n(l,{...m,listIds:x.filter(O=>O!==c)},!0):n(l,{...m,listIds:[...x,c]},!0),n(C,e(C).map(O=>O.id===c?{...O,tuneCount:O.tuneCount+(S?-1:1)}:O),!0);try{S?await ra(h().uid,e(s).id,c):await sa(h().uid,e(s).id,c)}catch(O){console.error("Failed to toggle list:",O),S?n(l,{...m,listIds:[...x]},!0):n(l,{...m,listIds:x.filter(oe=>oe!==c)},!0),n(C,e(C).map(oe=>oe.id===c?{...oe,tuneCount:oe.tuneCount+(S?1:-1)}:oe),!0)}}async function qe(c){if(!h())return;const m=await aa(h().uid,c);n(C,[...e(C),{id:m,name:c,order:Date.now(),tuneCount:0}],!0)}async function vt(c){!h()||!e(s)||(await da(h().uid,e(s).id,e(s).number,c),e(l)?n(l,{...e(l),note:c},!0):n(l,{tuneId:e(s).id,tuneNumber:e(s).number,knowsTuneName:!1,knowsMelody:!1,totalPlayCount:0,lastPlayedAt:null,listIds:[],note:c},!0))}let ut=null;kt(()=>{e(p)&&e(p)!==ut&&(ut=e(p),E(e(p)))}),kt(()=>{h()&&e(s)?(at(e(s).id),lt(),Ve(e(s).id)):(n(l,null),n(C,[],!0),n(I,[],!0))});var Ce=Er();Ot("1vjl4xd",c=>{Ht(m=>{Rt.title=`${m??""} | Tune Trainer`},[()=>{var m;return((m=e(s))==null?void 0:m.title)||g()("tuneDetail.loading")}])});var dt=a(Ce);{var _t=c=>{var m=Lr(),S=o(a(m),2),x=a(S,!0);t(S),t(m),y(V=>f(x,V),[()=>g()("tuneDetail.loadingMessage")]),i(c,m)},mt=c=>{var m=_e(),S=ie(m);{var x=O=>{Da(O,{class:"bg-white max-w-lg mx-auto",children:(oe,Xe)=>{var me=Nr(),Le=a(me),Ue=a(Le,!0);t(Le);var Te=o(Le,2),He=a(Te,!0);t(Te);var Ge=o(Te,2),Ne=a(Ge);ft(Ne,{href:"/activate",variant:"primary",tone:"solid",children:(De,Ze)=>{Pe();var Me=st();y(Je=>f(Me,Je),[()=>g()("tuneDetail.enterAuthCode")]),i(De,Me)},$$slots:{default:!0}});var We=o(Ne,2);ft(We,{href:"/",variant:"primary",tone:"ghost",children:(De,Ze)=>{Pe();var Me=st();y(Je=>f(Me,Je),[()=>g()("tuneDetail.backToList")]),i(De,Me)},$$slots:{default:!0}}),t(Ge),t(me),y((De,Ze)=>{f(Ue,De),f(He,Ze)},[()=>g()("tuneDetail.accessDenied"),()=>g()("tuneDetail.accessDeniedMessage")]),i(oe,me)},$$slots:{default:!0}})},V=O=>{var oe=_e(),Xe=ie(oe);{var me=Ue=>{var Te=Mr(),He=a(Te),Ge=a(He,!0);t(He);var Ne=o(He,2),We=a(Ne,!0);t(Ne),t(Te),y(De=>{f(Ge,e(P)),f(We,De)},[()=>g()("tuneDetail.backToList")]),i(Ue,Te)},Le=Ue=>{var Te=_e(),He=ie(Te);{var Ge=Ne=>{var We=Rr(),De=ie(We);Wa(De,{get tuneNumber(){return e(s).number},get tuneTitle(){return e(s).title},get tuneType(){return e(s).tuneType},get tuneKey(){return e(s).key},get tuneMode(){return e(s).mode},get popularity(){return e(s).popularity},get region(){return e(s).region},get instruments(){return e(s).instruments},get composer(){return e(s).composer},get era(){return e(s).era},get prevNumber(){return e(U)},get nextNumber(){return e(K)}});var Ze=o(De,2),Me=a(Ze),Je=a(Me);{var Lt=Q=>{var ee=Sr(),ne=a(ee),be=a(ne,!0);t(ne),Pe(2),t(ee),y(ce=>f(be,ce),[()=>g()("tuneDetail.sheetMusic")]),i(Q,ee)},Nt=Q=>{var ee=_e(),ne=ie(ee);{var be=le=>{var re=qr(),se=a(re),Se=a(se,!0);t(se);var ve=o(se,2),$=a(ve),xe=a($,!0);t($);var Re=o($,2);ft(Re,{variant:"primary",tone:"solid",onclick:je,children:(fe,ge)=>{Pe();var he=st();y(Ee=>f(he,Ee),[()=>g()("tuneDetail.retry")]),i(fe,he)},$$slots:{default:!0}}),t(ve),t(re),y((fe,ge)=>{f(Se,fe),f(xe,ge)},[()=>g()("tuneDetail.sheetMusic"),()=>g()("tuneDetail.sheetMusicLoadFailed")]),i(le,re)},ce=le=>{var re=_e(),se=ie(re);{var Se=ve=>{var $=Ir(),xe=a($),Re=a(xe,!0);t(xe);var fe=o(xe,2);Qe(fe,21,()=>e(W),Ye,(ge,he,Ee)=>{var Oe=Ur();y(Ft=>{Z(Oe,"src",e(he)),Z(Oe,"alt",`${Ft??""} ${Ee+1}`)},[()=>g()("tuneDetail.sheetMusicAlt")]),nt("error",Oe,tt),Et(Oe),i(ge,Oe)}),t(fe),t($),y(ge=>f(Re,ge),[()=>g()("tuneDetail.sheetMusic")]),i(ve,$)};j(se,ve=>{e(W).length>0&&ve(Se)},!0)}i(le,re)};j(ne,le=>{e(M)?le(be):le(ce,!1)},!0)}i(Q,ee)};j(Je,Q=>{e(J)?Q(Lt):Q(Nt,!1)})}var pt=o(Je,2);{var Mt=Q=>{var ee=Ar(),ne=a(ee),be=a(ne,!0);t(ne),Pe(2),t(ee),y(ce=>f(be,ce),[()=>g()("tuneDetail.audioFiles")]),i(Q,ee)},St=Q=>{var ee=_e(),ne=ie(ee);{var be=le=>{var re=Br(),se=a(re),Se=a(se,!0);t(se);var ve=o(se,2),$=a(ve),xe=a($,!0);t($);var Re=o($,2);ft(Re,{variant:"primary",tone:"solid",onclick:ze,children:(fe,ge)=>{Pe();var he=st();y(Ee=>f(he,Ee),[()=>g()("tuneDetail.retry")]),i(fe,he)},$$slots:{default:!0}}),t(ve),t(re),y((fe,ge)=>{f(Se,fe),f(xe,ge)},[()=>g()("tuneDetail.audioFiles"),()=>g()("tuneDetail.audioLoadFailed")]),i(le,re)},ce=le=>{var re=_e(),se=ie(re);{var Se=ve=>{var $=Fr(),xe=a($),Re=a(xe,!0);t(xe);var fe=o(xe,2);Qe(fe,21,()=>e(G),Ye,(ge,he)=>{{let Ee=de(()=>e(he).title[e(_)]||e(he).title.ja),Oe=de(()=>e(he).searchTitle?`Â Â (${e(he).searchTitle})`:"");Ba(ge,{get src(){return e(he).url},get label(){return`${e(Ee)??""}${e(Oe)??""}`}})}}),t(fe),t($),y(ge=>f(Re,ge),[()=>g()("tuneDetail.audioFiles")]),i(ve,$)};j(se,ve=>{e(G).length>0&&ve(Se)},!0)}i(le,re)};j(ne,le=>{e(k)?le(be):le(ce,!1)},!0)}i(Q,ee)};j(pt,Q=>{e(R)?Q(Mt):Q(St,!1)})}
2var qt=o(pt,2);{var Ut=Q=>{var ee=zr(),ne=a(ee),be=a(ne,!0);t(ne);var ce=o(ne,2),le=a(ce),re=a(le,!0);t(le),t(ce),t(ee),y(se=>{f(be,se),f(re,e(s).backgroundStory[e(_)]||e(s).backgroundStory.ja||"")},[()=>g()("tuneDetail.backgroundStory")]),i(Q,ee)};j(qt,Q=>{var ee,ne;((ee=e(s).backgroundStory)!=null&&ee.ja||(ne=e(s).backgroundStory)!=null&&ne.en)&&Q(Ut)})}t(Me);var xt=o(Me,2),wt=a(xt);{var It=Q=>{rr(Q,{get youtubeUrl(){return e(s).youtubeUrl},get tuneOfTheDayUrl(){return e(s).tuneOfTheDayUrl},get tuneOfTheDaySetUrl(){return e(s).tuneOfTheDaySetUrl},get learningSessionUrl(){return e(s).learningSessionUrl},get sessionUrl(){return e(s).sessionUrl},get spotifyUrl(){return e(s).spotifyUrl}})};j(wt,Q=>{(e(s).youtubeUrl||e(s).tuneOfTheDayUrl||e(s).tuneOfTheDaySetUrl||e(s).learningSessionUrl||e(s).sessionUrl||e(s).spotifyUrl)&&Q(It)})}var At=o(wt,2);{var Bt=Q=>{var ee=Hr(),ne=ie(ee);{let re=de(()=>{var $;return(($=e(l))==null?void 0:$.knowsTuneName)??!1}),se=de(()=>{var $;return(($=e(l))==null?void 0:$.knowsMelody)??!1}),Se=de(()=>{var $;return(($=e(l))==null?void 0:$.totalPlayCount)??0}),ve=de(()=>e(ue)());nr(ne,{get knowsTuneName(){return e(re)},get knowsMelody(){return e(se)},get totalPlayCount(){return e(Se)},get todayPlayCount(){return e(ve)},get practiceLoading(){return e(L)},onToggleKnowsTuneName:pe,onToggleKnowsMelody:it,onIncrementPlayCount:ht,onDecrementPlayCount:rt})}var be=o(ne,2);cr(be,{get playHistory(){return e(I)},get historyLoading(){return e(te)}});var ce=o(be,2);{let re=de(()=>{var se;return(se=e(l))==null?void 0:se.note});br(ce,{get note(){return e(re)},onSaveNote:vt})}var le=o(ce,2);{let re=de(()=>{var se;return((se=e(l))==null?void 0:se.listIds)??[]});Pr(le,{get userLists(){return e(C)},get listIds(){return e(re)},get listsLoading(){return e(A)},onToggleList:ot,onCreateList:qe})}i(Q,ee)};j(At,Q=>{h()&&Q(Bt)})}t(xt),t(Ze),i(Ne,We)};j(He,Ne=>{e(s)&&Ne(Ge)},!0)}i(Ue,Te)};j(Xe,Ue=>{e(P)?Ue(me):Ue(Le,!1)},!0)}i(O,oe)};j(S,O=>{e(H)?O(x):O(V,!1)},!0)}i(c,m)};j(dt,c=>{e(z)?c(_t):c(mt,!1)})}t(Ce),i(X,Ce),ke(),w()}export{vs as component};
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.