PageSourceSearch

https://app.backstagebaton.com/app/assets/MusicHealthPage-OTq3Gtn9.js

js backstagebaton.com collected 2026-10-07 08:50:17 UTC 21,310 bytes, 1 lines download raw bytes

1import{r as o,j as e,L,c as P,B as f,u as U,t as k,g as X,S as Z,E as ee}from"./index-_aijvlUq.js";import{u as te,P as E}from"./PageHeader-DCofr6qo.js";import{m as y}from"./musicLibrary-DdhMEkq5.js";import{I as $}from"./Input-ysTyZFq5.js";import{B as R}from"./Badge-DJIi163x.js";import{M as se}from"./MobileListSkeleton-BxuyWDCs.js";import{E as re}from"./EmptyState-CPGKooqj.js";import{T as ae}from"./Tabs-CGDUdv1I.js";const z=[{key:"missingEntirely",label:"Missing entirely",hint:"counted zero on hand"},{key:"countedShort",label:"Counted short",hint:"on hand below the set count"},{key:"neverCounted",label:"Never counted",hint:"unknown — not the same as missing"}];function ne({upcoming:a}){return a?e.jsxs("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-semibold bg-blue-100 text-blue-700 whitespace-nowrap",title:a.title,children:["on ",a.date," program"]}):null}function le({pieceId:a,row:i,onSaved:n}){const{showSuccess:d,showError:s}=P(),[r,m]=o.useState(""),[b,l]=o.useState(!1);async function g(){const x=r===""?null:Number(r);if(!(r!==""&&(!Number.isInteger(x)||x<0))){l(!0);try{await y.setPartInventory(a,[{rawLabel:i.rawLabel,copiesOnHand:r===""?null:x}]),d("Count saved."),n()}catch(N){s(N.message||"Couldn’t save the count.")}finally{l(!1)}}}return e.jsxs("div",{className:"flex items-center gap-2 flex-wrap text-sm py-1",children:[e.jsx("span",{className:"text-gray-700",children:i.rawLabel}),e.jsxs("span",{className:"text-xs text-gray-400 tabular-nums",children:["on hand ",i.copiesOnHand??"—",i.setCount!=null?` of ${i.setCount} in the set`:""]}),e.jsxs("form",{className:"flex items-center gap-1 ml-auto",onSubmit:x=>{x.preventDefault(),g()},children:[e.jsx($,{value:r,onChange:x=>m(x.target.value.replace(/[^0-9]/g,"")),placeholder:"recount",className:"!w-20 !py-1 !px-2 !text-xs","aria-label":`Recount ${i.rawLabel}`}),e.jsx(f,{size:"sm",variant:"ghost",type:"submit",isLoading:b,children:"Save"})]})]})}function ie({partsInventory:a,onChanged:i}){const[n,d]=o.useState(null);if(!a)return null;const s=Object.fromEntries(z.map(r=>[r.key,(a[r.key]||[]).length]));return e.jsxs("div",{className:"bg-white rounded-xl border border-gray-200 p-6",children:[e.jsx("h3",{className:"text-sm font-semibold text-gray-500 uppercase tracking-wide mb-1",children:"Parts Inventory"}),e.jsx("p",{className:"text-xs text-gray-400 mb-4",children:"Derived from your part counts — “never counted” means unknown, never missing. Pieces on an upcoming program sort first."}),e.jsx("div",{className:"flex flex-wrap gap-2 mb-4",children:z.map(r=>e.jsxs("button",{type:"button",onClick:()=>d(n===r.key?null:r.key),title:r.hint,className:`px-3 py-1.5 rounded-full text-xs font-medium transition-colors ${n===r.key?"bg-brand-primary text-white":s[r.key]>0?r.key==="neverCounted"?"bg-gray-100 text-gray-600 border border-gray-200 hover:bg-gray-200":"bg-amber-50 text-amber-700 border border-amber-200 hover:bg-amber-100":"bg-green-50 text-green-700 border border-green-200"}`,children:[r.label," ",e.jsx("span",{className:"ml-1 font-bold",children:s[r.key]})]},r.key))}),n&&e.jsx("div",{className:"space-y-1 max-h-96 overflow-y-auto",children:(a[n]||[]).length===0?e.jsx("p",{className:"text-sm text-green-600 py-4 text-center",children:"Nothing here."}):(a[n]||[]).map(r=>e.jsxs("div",{className:"py-2 px-2 border-b border-gray-50 last:border-0 hover:bg-gray-50 rounded",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx(L,{to:`/music?search=${encodeURIComponent(r.title)}`,className:"text-sm font-medium text-gray-800 hover:text-band-700 truncate",children:r.title}),r.folderNumber&&e.jsxs("span",{className:"text-xs text-gray-400",children:["#",r.folderNumber]}),e.jsx(ne,{upcoming:r.upcoming})]}),n==="neverCounted"?e.jsxs("p",{className:"text-xs text-gray-400 mt-0.5",children:["No parts counted yet — count them from the piece’s Parts panel in the ",e.jsx(L,{to:"/music",className:"text-band-600",children:"Music Library"}),"."]}):e.jsx("div",{className:"mt-1",children:(r.labels||[]).map(m=>e.jsx(le,{pieceId:r.id,row:m,onSaved:i},m.rawLabel))})]},r.id))})]})}function oe(){const{showError:a}
1=P(),i=U(),[n,d]=o.useState(null),[s,r]=o.useState(!0);if(o.useEffect(()=>{y.health().then(d).catch(()=>a(k("music health"))).finally(()=>r(!1))},[]),s)return e.jsx(se,{variant:"music",count:5});if(!n)return null;const m=(n.totalPieces??0)-(n.neverPerformed?.length??0),b=n.neverPerformed?.length??0;return e.jsxs("div",{style:{paddingBottom:24},children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:"var(--bb-space-2)",padding:"var(--bb-space-3) var(--bb-space-4)"},children:[e.jsx(S,{label:"Pieces",value:n.totalPieces??0}),e.jsx(S,{label:"Performed",value:m,color:"var(--bb-success-ink)"}),e.jsx(S,{label:"Never",value:b,color:"var(--bb-warning-ink)"})]}),e.jsxs("section",{style:{marginTop:"var(--bb-space-3)"},children:[e.jsx(A,{children:"Top performed"}),!n.topPerformed||n.topPerformed.length===0?e.jsx(I,{children:"No performance history yet."}):e.jsx("ul",{style:B,children:n.topPerformed.slice(0,10).map((l,g)=>e.jsxs("li",{style:M,onClick:()=>l.id&&i("/music"),children:[e.jsx("div",{style:{width:22,fontSize:12,fontWeight:700,color:"var(--bb-fg-subtle)"},children:g+1}),e.jsxs("div",{style:{flex:1,minWidth:0},children:[e.jsx("div",{style:{fontSize:14,fontWeight:600,color:"var(--bb-fg)"},children:l.title||"Untitled"}),(l.composer||l.composers)&&e.jsx("div",{style:{marginTop:2,fontSize:12,color:"var(--bb-fg-muted)"},children:l.composer||l.composers})]}),e.jsxs("div",{style:{fontSize:12,fontWeight:600,color:"var(--bb-primary)",flexShrink:0},children:[l.performanceCount??l.count??"","×"]})]},l.id||g))})]}),e.jsxs("section",{style:{marginTop:"var(--bb-space-5)"},children:[e.jsxs(A,{children:["Never performed",b>0?` · ${b}`:""]}),b===0?e.jsx(I,{children:"Every piece has been performed. 🎉"}):e.jsx("ul",{style:B,children:n.neverPerformed.slice(0,30).map(l=>e.jsxs("li",{style:{...M,gap:10},children:[e.jsxs("div",{style:{flex:1,minWidth:0},children:[e.jsx("div",{style:{fontSize:14,fontWeight:600,color:"var(--bb-fg)"},children:l.title||"Untitled"}),(l.composer||l.composers)&&e.jsx("div",{style:{marginTop:2,fontSize:12,color:"var(--bb-fg-muted)"},children:l.composer||l.composers})]}),l.grade!=null&&e.jsxs("span",{style:{padding:"2px 8px",borderRadius:"var(--bb-radius-pill)",background:"var(--bb-surface-sunken)",color:"var(--bb-fg-muted)",fontSize:11,fontWeight:600,flexShrink:0},children:["G",l.grade]})]},l.id))}),b>30&&e.jsxs("div",{style:{padding:"var(--bb-space-3) var(--bb-space-4)",fontSize:12,color:"var(--bb-fg-muted)"},children:["Showing 30 of ",b,". Use desktop for the full list."]})]})]})}function S({label:a,value:i,color:n}){return e.jsxs("div",{style:{padding:"var(--bb-space-3)",background:"var(--bb-surface)",border:"1px solid var(--bb-border-soft)",borderRadius:"var(--bb-radius-lg)",textAlign:"center"},children:[e.jsx("div",{style:{fontSize:22,fontWeight:700,color:n||"var(--bb-fg)",lineHeight:1},children:i}),e.jsx("div",{style:{marginTop:4,fontSize:10,fontWeight:600,letterSpacing:"0.08em",textTransform:"uppercase",color:"var(--bb-fg-muted)"},children:a})]})}function A({children:a}){return e.jsxs("div",{style:{borderTop:"1px solid var(--bb-border-soft)",margin:"0 var(--bb-space-4)",padding:"var(--bb-space-4) 0 var(--bb-space-2)",display:"flex",alignItems:"center",gap:8},children:[e.jsx("span",{"aria-hidden":"true",style:{width:3,height:12,borderRadius:2,background:"var(--bb-primary)",flexShrink:0}}),e.jsx("span",{style:{fontSize:11,fontWeight:700,letterSpacing:"0.08em",textTransform:"uppercase",color:"var(--bb-fg-body)"},children:a})]})}function I({children:a}){return e.jsx("div",{style:{margin:"var(--bb-space-2) var(--bb-space-4)",padding:"var(--bb-space-4)",background:"var(--bb-surface)",border:"1px solid var(--bb-border-soft)",borderRadius:"var(--bb-radius-md)",color:"var(--bb-fg-muted)",fontSize:13,textAlign:"center"},children:a})}const B={listStyle:"none",margin:0,padding:0,background:"var(--bb-surface)"},M={display:"flex",alignItems:"center",gap:"var(--bb-space-3)",padding:"10px var(--bb-space-4)",borderTop:"1px solid var(--bb-border-soft)"};function H(){return new Promise(a=>{if(window.Chart){a(window.Chart);return}const i=document.createElement("script");i.src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.4.1/chart.umd.js",i.onload=()=>a(window.Chart),document.head.appendChild(i)})}function C({data:a,colors:i,title:n}){const d=o.useRef(null),s=o.useRef(null);return o.useEffect(()=>{if(!(!d.current||a.length===0))return H().then(r=>
1{s.current&&s.current.destroy(),s.current=new r(d.current,{type:"doughnut",data:{labels:a.map(m=>m.label),datasets:[{data:a.map(m=>m.count),backgroundColor:i}]},options:{responsive:!0,maintainAspectRatio:!1,plugins:{legend:{position:"right",labels:{boxWidth:12,padding:8,font:{size:11}}},title:{display:!!n,text:n,font:{size:13,weight:"bold"},color:"#374151"}}}})}),()=>{s.current&&s.current.destroy()}},[a]),e.jsx("canvas",{ref:d})}function ce({data:a,colors:i,title:n,horizontal:d=!1}){const s=o.useRef(null),r=o.useRef(null);return o.useEffect(()=>{if(!(!s.current||a.length===0))return H().then(m=>{r.current&&r.current.destroy(),r.current=new m(s.current,{type:"bar",data:{labels:a.map(b=>b.label),datasets:[{data:a.map(b=>b.count),backgroundColor:i||"#2e6b8a",borderRadius:4}]},options:{indexAxis:d?"y":"x",responsive:!0,maintainAspectRatio:!1,plugins:{legend:{display:!1},title:{display:!!n,text:n,font:{size:13,weight:"bold"},color:"#374151"}},scales:{x:{grid:{display:!d},ticks:{font:{size:11}}},y:{grid:{display:d},ticks:{font:{size:11},precision:0}}}}})}),()=>{r.current&&r.current.destroy()}},[a]),e.jsx("canvas",{ref:s})}const de={thisSeason:"#10b981",oneToThreeYears:"#f59e0b",threeYearsPlus:"#ef4444",never:"#9ca3af"},me={thisSeason:"This Season",oneToThreeYears:"1–3 Years Ago",threeYearsPlus:"3+ Years Ago",never:"Never Performed"},O=["#2e6b8a","#e8a838","#10b981","#8b5cf6","#ef4444","#06b6d4","#f97316","#84cc16","#ec4899","#6366f1","#14b8a6","#a855f7","#f43f5e","#0ea5e9","#eab308"],be=[{value:"concert",label:"Concert Band"},{value:"orchestra",label:"Orchestra"},{value:"marching",label:"Marching Band"},{value:"jazz",label:"Jazz Ensemble"}],xe={missingComposer:{field:"composers",label:"Composer",type:"text"},missingGrade:{field:"grade",label:"Grade",type:"text"},missingClassification:{field:"classification",label:"Classification",type:"select",options:be},missingTheme:{field:"theme",label:"Theme",type:"text",placeholder:"Holiday, Patriotic, Broadway…"},missingFolderNumber:{field:"folderNumber",label:"Folder #",type:"text"},missingPerformanceTime:{field:"performanceTime",label:"Duration",type:"text",placeholder:"4:30"},missingInstruments:null,missingRecordingUrl:{field:"recordingUrl",label:"Recording URL",type:"url",placeholder:"https://youtu.be/..."}};function Ne(){te();const a=U(),{showSuccess:i,showError:n}=P(),d=X(),[s,r]=o.useState(null),[m,b]=o.useState(!0),[l,g]=o.useState(!1),[x,N]=o.useState("overview"),[h,W]=o.useState(null),[D,v]=o.useState(null),[w,j]=o.useState(""),[_,T]=o.useState(!1);async function Y(t,c,p){T(!0);try{await y.update(t,{[c]:p||null}),i("Updated"),v(null),j("");const u=await y.health();r(u)}catch(u){n(u?.message||ee)}finally{T(!1)}}async function F(){try{r(await y.health())}catch{n(k("music health"))}}if(o.useEffect(()=>{y.health().then(r).catch(()=>n(k("music health"))).finally(()=>b(!1))},[]),m)return e.jsxs("div",{children:[e.jsx(E,{title:"Music Library Health",breadcrumbs:[{label:"Home",to:"/"},{label:"Music Library",to:"/music"},{label:"Health"}]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[1,2,3,4].map(t=>e.jsx("div",{className:"bg-white rounded-xl border border-gray-200 p-6 h-64 animate-pulse"},t))})]});if(!s)return null;const G=Object.entries(s.staleness).map(([t,c])=>({label:me[t],count:c})),V=Object.keys(s.staleness).map(t=>de[t]),J=l?s.neverPerformed:s.neverPerformed.slice(0,20),q=s.audit?Object.values(s.audit).reduce((t,c)=>t+c.pieces.length,0):0,K=s.partsInventory?(s.partsInventory.missingEntirely?.length||0)+(s.partsInventory.countedShort?.length||0):0,Q=[{key:"overview",label:"Overview"},{key:"audit",label:"Audit",badge:q},{key:"parts",label:"Parts inventory",badge:K}];return d?e.jsx(oe,{}):e.jsxs("div",{children:[e.jsx(E,{title:"Music Library Health",breadcrumbs:[{label:"Home",to:"/"},{label:"Music Library",to:"/music"},{label:"Health"}]}),e.jsx(ae,{className:"mb-6",ariaLabel:"Library health sections",tabs:Q.map(t=>t.badge>0?{...t,count:t.badge,countTone:"yellow"}:t),value:x,onChange:N}),x==="overview"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-4 mb-6",children:[e.jsxs("div",{className:"bg-white rounded-xl border border-gray-200 p-4 text-center",children:[e.jsx("p",{className:"text-2xl font-bold text-gray-800",children:s.totalPieces}),e.jsx("p",{className:"text-xs text-gray-500 mt-1",children:"Total Pieces"})]}),e.jsxs("div",{className:"bg-white rounded-xl border border-gray-200 p-4 text-center",children:[e.jsx("p",{className:"text-2xl font-bold text-emerald-600",children:s.totalPieces-s.neverPerformed.length}),e.jsx("p",{className:"text-xs text-gray-500 mt-1",children:"Performed"})]}),e.jsxs("div",{className:"bg-white rounded-xl border border-gray-200 p-4 text-center",children:[e.jsx("p",{className:"text-2xl font-bold text-amber-600",children:s.neverPerformed.length}),e.jsx("p",{className:"text-xs text-gray-500 mt-1",children:"Never Performed"})]}),e.jsxs("div",{className:"bg-white rounded-xl border border-gray-200 p-4 text-center",children:[e.jsx("p",{className:"text-2xl font-bold text-red-600",children:s.staleness.threeYearsPlus}),e.jsx("p",{className:"text-xs text-gray-500 mt-1",children:"3+ Years Stale"})]})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mb-6",children:[e.jsx("div",{className:"bg-white rounded-xl border border-gray-200 p-6",children:e.jsx("div",{className:"h-64",children:e.jsx(C,{data:G,colors:V,title:"Performance Recency"})})}),e.jsx("div",{className:"bg-white rounded-xl border border-gray-200 p-6",children:e.jsx("div",{className:"h-64",children:e.jsx(ce,{data:s.byGrade,title:"Pieces by Grade"})})})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mb-6",children:[e.jsx("div",{className:"bg-white rounded-xl border border-gray-200 p-6",children:e.jsx("div",{className:"h-64",children:e.jsx(C,{data:s.byClassification.slice(0,12),colors:O,title:"By Classification"})})}),e.jsx("div",{className:"bg-white rounded-xl border border-gray-200 p-6",children:e.jsx("div",{className:"h-64",children:e.jsx(C,{data:s.byStyle.slice(0,12),colors:O,title:"By Style"})})})]}),e.jsxs("div",{className:"bg-white rounded-xl border border-gray-200 p-6 mb-6",children:[e.jsx("h3",{className:"text-sm font-semibold text-gray-500 uppercase tracking-wide mb-4",children:"Top 10 Most Performed"}),s.topPerformed.length===0?e.jsx(re,{size:"compact",title:"No performance history yet."}):e.jsx("div",{className:"space-y-2",children:s.topPerformed.map((t,c)=>e.jsxs("div",{className:"flex items-center gap-3 py-2 border-b border-gray-50 last:border-0",children:[e.jsx("span",{className:"text-lg font-bold text-gray-300 w-6 text-right",children:c+1}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("button",{type:"button",onClick:()=>a(`/music?search=${encodeURIComponent(t.title)}`),className:"text-sm font-medium text-gray-800 hover:text-band-600 truncate block text-left",children:t.title}),e.jsx("p",{className:"text-xs text-gray-400",children:[t.composers,t.grade?`Grade ${t.grade}
1`:null,t.style].filter(Boolean).join(" · ")})]}),e.jsxs(R,{variant:"default",className:"shrink-0",children:[t.performanceCount," ",t.performanceCount===1?"time":"times"]}),t.lastPerformed&&e.jsxs("span",{className:"text-xs text-gray-400 shrink-0",children:["Last: ",t.lastPerformed]})]},t.id))})]}),e.jsxs("div",{className:"bg-white rounded-xl border border-gray-200 p-6 mb-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("h3",{className:"text-sm font-semibold text-gray-500 uppercase tracking-wide",children:["Never Performed ",e.jsxs("span",{className:"text-gray-400",children:["(",s.neverPerformed.length,")"]})]}),e.jsx("p",{className:"text-xs text-gray-400",children:"Candidates for long-term storage"})]}),s.neverPerformed.length===0?e.jsx("p",{className:"text-sm text-gray-400",children:"Every piece has been performed at least once."}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"space-y-1",children:J.map(t=>e.jsxs("div",{className:"flex items-center gap-3 py-1.5 border-b border-gray-50 last:border-0",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("button",{type:"button",onClick:()=>a(`/music?search=${encodeURIComponent(t.title)}`),className:"text-sm text-gray-700 hover:text-band-600 truncate block text-left",children:t.title}),e.jsx("p",{className:"text-xs text-gray-400",children:[t.composers,t.grade?`Grade ${t.grade}`:null,t.style,t.folderNumber?`#${t.folderNumber}`:null].filter(Boolean).join(" · ")})]}),t.ownership==="borrowed"&&e.jsx(R,{variant:"warning",className:"shrink-0",children:"Borrowed"})]},t.id))}),s.neverPerformed.length>20&&e.jsx("div",{className:"mt-3 text-center",children:e.jsx(f,{variant:"ghost",size:"sm",onClick:()=>g(!l),children:l?"Show Less":`Show All ${s.neverPerformed.length} Pieces`})})]})]})]}),x==="parts"&&e.jsx(ie,{partsInventory:s.partsInventory,onChanged:F}),x==="audit"&&s.audit&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"bg-white rounded-xl border border-gray-200 p-6 mb-4",children:e.jsx("p",{className:"text-sm text-gray-600 leading-relaxed",children:"Pieces missing key attributes that help with programming and library management. Click a category to see affected pieces, then use the inline editor to fill in missing data without leaving this page."})}),e.jsxs("div",{className:"bg-white rounded-xl border border-gray-200 p-6 mb-6",children:[e.jsx("h3",{className:"text-sm font-semibold text-gray-500 uppercase tracking-wide mb-4",children:"Missing Attributes"}),e.jsx("div",{className:"flex flex-wrap gap-2 mb-4",children:Object.entries(s.audit).map(([t,{label:c,pieces:p}])=>e.jsxs("button",{type:"button",onClick:()=>{W(h===t?null:t),v(null)},className:`px-3 py-1.5 rounded-full text-xs font-medium transition-colors ${h===t?"bg-brand-primary text-white":p.length>0?"bg-amber-50 text-amber-700 border border-amber-200 hover:bg-amber-100":"bg-green-50 text-green-700 border border-green-200"}`,children:[c," ",e.jsx("span",{className:"ml-1 font-bold",children:p.length})]},t))}),h&&s.audit[h]&&e.jsx("div",{children:s.audit[h].pieces.length===0?e.jsx("p",{className:"text-sm text-green-600 py-4 text-center",children:"All pieces have this attribute."}):e.jsx("div",{className:"space-y-1 max-h-96 overflow-y-auto",children:s.audit[h].pieces.map(t=>{const c=xe[h],p=D===t.id;return e.jsxs("div",{className:"flex items-center gap-3 py-2 px-2 border-b border-gray-50 last:border-0 hover:bg-gray-50 rounded",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-sm font-medium text-gray-800 truncate",children:t.title}),e.jsx("p",{className:"text-xs text-gray-400",children:[t.composers,t.grade?`Grade ${t.grade}`:null,t.folderNumber?`#${t.folderNumber}`:null].filter(Boolean).join(" · ")||"No details"})]}),c?p?e.jsxs("form",{className:"flex items-center gap-1 shrink-0",onSubmit:u=>{u.preventDefault(),Y(t.id,c.field,w)},children:[c.type==="select"?e.jsx(Z,{value:w,onChange:u=>j(u.target.value),className:"!text-xs !py-1 !px-2 w-40",placeholder:"Select…",options:c.options,"aria-label":c.label}):e.jsx($,{type:c.type==="url"?"url":"text",value:w,onChange:u=>j(u.target.value),placeholder:c.placeholder||c.label,className:"!text-xs !py-1 !px-2 w-40",autoF
1ocus:!0}),e.jsx(f,{type:"submit",size:"sm",className:"!text-xs !px-2 !py-1",isLoading:_,children:"Save"}),e.jsx(f,{type:"button",variant:"ghost",size:"sm",className:"!text-xs !px-1 !py-1",onClick:()=>v(null),children:"Cancel"})]}):e.jsxs("span",{className:"flex items-center gap-1.5 shrink-0",children:[h==="missingRecordingUrl"&&e.jsx("a",{href:`https://www.youtube.com/results?search_query=${encodeURIComponent([t.title,t.composers,"concert band"].filter(Boolean).join(" "))}`,target:"_blank",rel:"noopener noreferrer",className:"text-gray-400 hover:text-red-500 transition-colors",title:"Search YouTube",children:e.jsx("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"})})}),e.jsxs(f,{variant:"ghost",size:"sm",className:"!text-xs",onClick:()=>{v(t.id),j("")},children:["+ ",c.label]})]}):e.jsx(f,{variant:"ghost",size:"sm",className:"!text-xs shrink-0",onClick:()=>a(`/music?search=${encodeURIComponent(t.title)}`),children:"Edit"})]},t.id)})})})]})]})]})}export{Ne as MusicHealthPage};

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.