import{r as h,A as te,i as q,u as se,j as s,m as x,L as ae,h as L}from"./umi-a12c8253.js";import{q as X,L as ne}from"./index-a2a53045.js";import{S as ie}from"./ScoreEncoder-72da943f.js";import{c as H,d as $,r as oe,A as re}from"./confirm-57060cff.js";import{r as U,s as W}from"./index-43517c6d.js";import{A as E,B as ce,u as Z,r as _,x as D}from"./index-5722ce0d.js";import{p as P}from"./processCompressedAESFile-04edd242.js";import{M as le,P as de}from"./Table-d40746fd.js";import{B as S}from"./button-f56a19a0.js";import{i as me,a as I,L as ue,I as pe}from"./util-590d1471.js";import{u as ge,a as R,R as fe}from"./useDebounce-b5b4777f.js";import{S as T}from"./TextArea-ec8ab387.js";import{d as C}from"./download-ef7cdf5d.js";import{J as K}from"./jszip.min-f65a05ae.js";import{u as he}from"./useAsyncFn-b4ac32aa.js";import{u as ye}from"./useAsync-4e4b92b3.js";import{E as xe}from"./EditOutlined-d468c101.js";import{D as M}from"./DownloadOutlined-b3f9ad21.js";import"./_setToString-ca5ad23e.js";import"./parser-b66b074b.js";import"./index-dfec1b5b.js";import"./progress-81ce73da.js";import"./index-868eaf8d.js";import"./index-c353c509.js";import"./index-40bfaf7c.js";import"./DeleteOutlined-e5d1e611.js";var we={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h360c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H184V184h656v320c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32zM653.3 599.4l52.2-52.2a8.01 8.01 0 00-4.7-13.6l-179.4-21c-5.1-.6-9.5 3.7-8.9 8.9l21 179.4c.8 6.6 8.9 9.4 13.6 4.7l52.4-52.4 256.2 256.2c3.1 3.1 8.2 3.1 11.3 0l42.4-42.4c3.1-3.1 3.1-8.2 0-11.3L653.3 599.4z"}}]},name:"select",theme:"outlined"};const Se=we;var je=function(l,d){return h.createElement(te,q(q({},l),{},{ref:d,icon:Se}))},ve=h.forwardRef(je);const _e=ve;var Me=function(a){a===void 0&&(a={});var l=h.useState(a),d=l[0],n=l[1],f=h.useMemo(function(){return{set:function(o,m){n(function(j){var p;return E(E({},j),(p={},p[o]=m,p))})},setAll:function(o){n(o)},remove:function(o){n(function(m){var j=m,p=o;j[p];var v=ce(j,[typeof p=="symbol"?p:p+""]);return v})},reset:function(){return n(a)}}},[n]),y=E({get:h.useCallback(function(o){return d[o]},[d])},f);return[d,y]};const Ie=Me;var be=function(a,l,d){if(!me)return[l,function(){}];var n=h.useState(function(){try{var o=sessionStorage.getItem(a);return typeof o!="string"?(sessionStorage.setItem(a,d?String(l):JSON.stringify(l)),l):d?o:JSON.parse(o||"null")}catch{return l}}),f=n[0],y=n[1];return h.useEffect(function(){try{var o=d?String(f):JSON.stringify(f);sessionStorage.setItem(a,o)}catch{}}),[f,y]};const $e=be;const Ce="_title_jd9ry_1",Oe="_header_jd9ry_4",ze="_logo_jd9ry_14",ke="_imageFastPreview_jd9ry_18",Le="_list_jd9ry_53",G={title:Ce,header:Oe,logo:ze,imageFastPreview:ke,"site-tag-plus":"_site-tag-plus_jd9ry_34","ant-table-row":"_ant-table-row_jd9ry_38","ant-tag":"_ant-tag_jd9ry_44",delete:"_delete_jd9ry_47","score-tags":"_score-tags_jd9ry_50",list:Le},Ee={recognized:"#1890ff",completed:"green",manual:"red",recognizing:"orange"},Re=({id:a,env:l})=>{var y;const d=Z(),n=ye(async()=>_(`/torch/musicSet/manage/${a}`,{params:{env:l}}),[]),f=async(o,m)=>{const j=await P(o),p=new Blob([j],{type:"application/json"}),v=D(p,`${m}-id_${a}-${Date.now()}.json`);C(v,`${m}-id_${a}-${Date.now()}.json`,v.type)};return n.loading?null:s.jsxs("div",{children:[n.value.preview?s.jsxs(T,{children:[s.jsx(S,{onClick:()=>f(n.value.preview,"preject"),icon:s.jsx(M,{}),children:"Starry Score"}),s.jsx(S,{onClick:()=>f(n.value.content,"score_json"),icon:s.jsx(M,{}),children:"Find Score"}),s.jsx(S,{onClick:()=>f(n.value.midi,"score_midi"),icon:s.jsx(M,{}),children:"Find MIDI"})]}):s.jsx("div",{children:d.formatMessage({id:"admin.noFiles"})}),n.value?s.jsx("div",{style:{width:"100%"},children:(y=n.value.sources)==null?void 0:y.map(o=>s.jsx("img",{src:o.url,style:{width:"100%"}},o.url))}):null]})};function rt(){var F,J;const a=Z(),l=h.useRef(),d=h.useRef(null),[n,f]=$e("admin-env","prod"),[y,o]=Ie(),[m,j]=h.useState([]),p=h.useRef({}),v=se(),u=h.useMemo(()=>{try{const t=X.parse(v.search),e=JSON.parse(decodeURIComponent(t.search))||{};return Y(e)}catch{return{}}},[v.search]),[O,A]=he(async()=>{try{const t=await _("/torch/musicSet/manage",{params:{limit:50,offset:0,...u,env:n}});return{data:t.rows,success:!0,total:t.count}}catch(t){console.error(t)}return{data:void 0,success:!1}},[u,n]);ge(()=>{A()},1e3,[u,n]);const z=(t,e)=>{L.push({pathname:"/playground",search:X.stringify({type:"admin",edit:e?"1":"0",env:n,id:t})})},B=(t,e,i,r=1e3)=>{if(!t.spartito||!t.spartito.regulated)return x.loading({content:a.formatMessage({id:"admin.regulation"},{title:i,pct:0}),key:e}),oe(t,{policy:"equations",quota:r,solutionStore:new re,onProgress:c=>{x.loading({content:a.formatMessage({id:"admin.regulation"},{title:i,pct:c}),key:e}),c===100&&x.destroy(e)}})},N=async t=>{o.set(t.id,!0);const e=await _(`/torch/musicSet/manage/${t.id}`,{params:{env:n}}),i=await P(e.preview),r=U(i,W);await B(r,t.id,t.name);const c=new ie({score:r,...r.makeMusicSheet(),workTitle:t.name}).toString();return o.set(t.id,!1),c},Q=async t=>{o.set(t.id,!0);const e=await _(`/torch/musicSet/manage/${t.id}`,{params:{env:n}}),i=await P(e.preview),r=U(i,W),c=_.get("/torch/musicSet/manage/issueMeasure",{params:{env:n,offset:0,limit:1e3,status:[-1],scoreId:t.id}});await B(r,t.id,t.name,100),(await c).rows.forEach(b=>{if(b.status<0){const k=r.spartito.measures.find(ee=>ee.measureIndex===b.measureIndex);k&&(k.events=[],k.voices=[])}}),r.spartito.measures.forEach(b=>r.assignBackgroundForMeasure(b));const w=JSON.stringify(r.spartito);return o.set(t.id,!1),w},V=[{title:"#",render:(t,e,i)=>i,hideInSearch:!0},{title:a.formatMessage({id:"admin.column.name"}),dataIndex:"name",sorter:!0,initialValue:u.search,sortOrder:u.sortedBy==="name"&&u.sortedType?{asc:"ascend",desc:"descend"}[u.sortedType]:null,render:(t,e,i)=>s.jsx("a",{onClick:async()=>{if(x.loading({content:a.formatMessage({id:"common.loadingDetail"}),key:e.id,duration:0}),!(await _(`/torch/musicSet/manage/${e.id}`,{params:{...u,env:n}})).preview){x.destroy(),x.warn(a.formatMessage({id:"common.noPreviewContent"}));return}z(e.id,!1),x.destroy()},children:e.name||s.jsx("span",{style:{color:"#999999"},children:a.formatMessage({id:"common.untitled"})})})},{title:a.formatMessage({id:"admin.column.status"}),dataIndex:"status",valueEnum:{waitUpload:"waitUpload",upload:"upload",recognizing:"recognizing",recognized:"recognized",manual:"manual",completed:"completed",completing:"completing",systemError:"systemError",queue:"queue"},render:(t,e)=>s.jsx("span",{style:{color:Ee[e.status]},children:e.status})},{title:a.formatMessage({id:"admin.column.pages"}),render:(t,e)=>{var i;return(i=e.sources)==null?void 0:i.length},width:"4em",align:"center",hideInSearch:!0},{title:a.formatMessage({id:"admin.column.createTime"}),width:"12em",dataIndex:"createTime",sorter:!0,hideInSearch:!0},{title:"id",render:(t,e,i)=>e.id},{title:"userId",dataIndex:"userId",render:(t,e,i)=>e.userId},{title:a.formatMessage({id:"admin.column.quality"}),dataIndex:"quality",render:(t,e)=>Number.isFinite(e.quality)?`${(e.quality*100).toFixed(1)}%`:"N/A"},{title:a.formatMessage({id:"admin.column.actions"}),width:"8em",hideInSearch:!0,render:(t,e,i)=>[s.jsx(le,{trigger:s.jsx(S,{className:"download",type:"link",icon:s.jsx(_e,{})}),children:s.jsx(Re,{id:e.id,env:n})},1),s.jsx(S,{className:"download",type:"link",icon:s.jsx(xe,{}),onClick:async()=>{if(x.loading({content:a.formatMessage({id:"common.loadingDetail"}),key:e.id,duration:0}),!(await _(`/torch/musicSet/manage/${e.id}`,{params:{...u,env:n}})).preview){x.destroy(),x.warn(a.formatMessage({id:"common.noPreviewContent"}));return}z(e.id,!0),x.destroy()}},2),s.jsx(S,{disabled:e.status!=="recognized",icon:y[e.id]?s.jsx(ae,{}):s.jsx(M,{}),onClick:async r=>{if(!await new Promise(w=>{H($.withWarn($.withConfirm({title:a.formatMessage({id:"admin.musicXmlExport.title"}),content:a.formatMessage({id:"admin.musicXmlExport.confirm"}),okText:a.formatMessage({id:"common.confirm"}),cancelText:a.formatMessage({id:"common.cancel"}),onOk:()=>w(!0),onCancel:()=>w(!1)})))}))return;const g=await N(e);C(g,`${e.name}-id_${e.id}-${Date.now()}.xml`,"application/xml")}},3)]}];return s.jsxs(I,{children:[s.jsx(I.Header,{className:G.header,children:s.jsxs(T,{children:[s.jsx(ue,{className:G.logo,to:"/",children:"STARRY✨"}),s.jsx(ne,{})]})}),s.jsx(I,{style:{minHeight:"100vh"},children:s.jsxs(I.Content,{style:{padding:"0 50px 50px",marginTop:"66px",width:"unset"},children:[s.jsx("div",{style:{width:"100%",display:"flex",justifyContent:"center",margin:"10px 0"},children:s.jsxs(T,{size:60,children:[s.jsxs(R.Group,{defaultValue:n,buttonStyle:"solid",onChange:t=>{f(t.target.value),l.current.clearSelected()},children:[s.jsx(R.Button,{value:"prod",children:a.formatMessage({id:"admin.env.prod"})}),s.jsx(R.Button,{value:"test",children:a.formatMessage({id:"admin.env.test"})})]}),s.jsx(S,{icon:s.jsx(fe,{}),onClick:A}),s.jsx(pe,{type:"number",step:1,min:256,style:{width:"8em"},placeholder:"ScoreID to go",onKeyDown:t=>{t.key==="Enter"&&z(t.target.value,!0)}})]})}),s.jsx(de,{loading:O.loading,dataSource:(F=O.value)==null?void 0:F.data,style:{maxWidth:"100em",margin:"0 auto"},actionRef:l,formRef:d,columns:V,search:{filterType:"light"},size:"small",rowSelection:{onChange:(t,e)=>{j(e)}},pagination:{total:(J=O.value)==null?void 0:J.total,pageSize:50,current:+u.offset/+u.limit+1||1},onChange:(t,e,i,r)=>{var w;const c={ascend:"asc",descend:"desc"}[i.order],g={...u,offset:(t.current-1)*t.pageSize,limit:t.pageSize,tagIdList:e.tagIdList,search:u.search};i.order?(g.sortedBy=i.field,g.sortedType=c):(g.sortedBy=null,g.sortedType=null),((w=e.tagIdList)==null?void 0:w.length)>0?g.tagIdList=e.tagIdList:g.tagIdList=null,console.log("onChange"),L.push({search:`search=${encodeURIComponent(JSON.stringify(Y(g)))}`})},onSubmit:t=>{const e={...Object.fromEntries(Object.entries(u).filter(([i,r])=>!p.current[i])),...t};p.current=t,L.push({search:Object.values(e).filter(Boolean).length>0?`search=${encodeURIComponent(JSON.stringify(e))}`:""})},rowKey:"id",toolBarRender:()=>[s.jsx(S,{disabled:m.length===0,type:"primary",icon:s.jsx(M,{}),onClick:async()=>{if(!await new Promise(c=>{H($.withWarn($.withConfirm({title:a.formatMessage({id:"admin.musicXmlExport.title"}),content:(()=>{const g=m.filter(w=>w.status!=="recognized").length;return a.formatMessage({id:"admin.musicXmlExport.batchConfirm"},{count:m.length,skipped:g>0?a.formatMessage({id:"admin.musicXmlExport.skipped"},{count:g}):""})})(),okText:a.formatMessage({id:"common.confirm"}),cancelText:a.formatMessage({id:"common.cancel"}),onOk:()=>c(!0),onCancel:()=>c(!1)})))}))return;const e=new K;await Promise.all(m.filter(c=>c.status==="recognized").map(async c=>{e.file(`${c.name}-id_${c.id}-${Date.now()}.xml`,await N(c))}));const i=await e.generateAsync({type:"blob"}),r=D(i,`find-omr-pkg-${Date.now()}.zip`);C(r,r.name,r.type)},children:a.formatMessage({id:"admin.batchDownload.musicXml"})},"1"),s.jsx(S,{disabled:m.length===0,type:"primary",icon:s.jsx(M,{}),onClick:async()=>{const t=new K;await Promise.all(m.filter(r=>r.status==="recognized").map(async r=>Promise.race([t.file(`${r.id}.${r.name}-${Date.now()}.spartito.json`,await Q(r)),new Promise(c=>setTimeout(c,3e5))])));const e=await t.generateAsync({type:"blob"}),i=D(e,`StarrySpartito-${Date.now()}.zip`);C(i,i.name,i.type)},children:a.formatMessage({id:"admin.batchDownload.spartito"})},"2")]})]})}),s.jsx(I.Footer,{style:{textAlign:"center"},children:a.formatMessage({id:"common.footer"})})]})}function Y(a){return Object.entries(a).reduce((l,[d,n])=>{var y,o;return(d==="tagIdList"&&((o=(y=n==null?void 0:n.filter)==null?void 0:y.call(n,m=>/^\d+$/.test(String(n))))==null?void 0:o.length)>0||n)&&(l[d]=n),l},{})}export{rt as default};