@acedatacloud/nexior 3.32.0 → 3.32.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/assets/{Auth-C_-8Rmbi.js → Auth-CGEKiu-Z.js} +1 -1
  2. package/dist/assets/{BotPlaceholder-CYTkmKw0.js → BotPlaceholder-DryhpfyI.js} +1 -1
  3. package/dist/assets/{Callback-BXMrN7oa.js → Callback-DtvVEe4m.js} +1 -1
  4. package/dist/assets/{Console-dvF1ePGI.js → Console-DWlB6py-.js} +1 -1
  5. package/dist/assets/{Conversation-BtJwcr7Q.js → Conversation-Ct5n2GmN.js} +1 -1
  6. package/dist/assets/{CopyToClipboard-Dbge62aB.js → CopyToClipboard-D1FwD7Ay.js} +1 -1
  7. package/dist/assets/{Detail-DzreQ28r.js → Detail-C4CjoEt1.js} +2 -2
  8. package/dist/assets/{Detail-ChsLhRLm.css → Detail-shClIebZ.css} +1 -1
  9. package/dist/assets/{EditArray-kbszLFHD.js → EditArray-DaBF2vWk.js} +1 -1
  10. package/dist/assets/{Extra-BAOgVtPC.js → Extra-EfdGVpDK.js} +1 -1
  11. package/dist/assets/{FilePreview-BPPZvSzh.js → FilePreview-VFJ-XdCT.js} +1 -1
  12. package/dist/assets/{History-C-x_PgNo.js → History-BP4yRlfz.js} +1 -1
  13. package/dist/assets/{ImagePreview-DQ_Qb42v.js → ImagePreview-DR_hrXkE.js} +1 -1
  14. package/dist/assets/{ImageWrapper-C1ugqc_F.js → ImageWrapper-MeuTnPga.js} +1 -1
  15. package/dist/assets/{Index-BSdPGf98.js → Index-BHuxHDG6.js} +1 -1
  16. package/dist/assets/{Index-QJ6GILis.js → Index-BKd2bB-B.js} +1 -1
  17. package/dist/assets/{Index-KtLWHa0j.js → Index-BSvLdhfj.js} +1 -1
  18. package/dist/assets/{Index-0Q5i_LJ1.js → Index-BXTrrxMx.js} +1 -1
  19. package/dist/assets/{Index-CjZ9X4ck.js → Index-BazAhLwA.js} +1 -1
  20. package/dist/assets/{Index-CZCRkYqB.js → Index-BfOpBSRn.js} +1 -1
  21. package/dist/assets/{Index-DIPHSyV-.js → Index-BkhzvHYz.js} +1 -1
  22. package/dist/assets/{Index-Ch-TNXZU.js → Index-BqqJHpnH.js} +1 -1
  23. package/dist/assets/{Index-BpUb5QvI.js → Index-C9Vq_plI.js} +1 -1
  24. package/dist/assets/{Index-B_IONBV_.js → Index-CHZeRvTi.js} +1 -1
  25. package/dist/assets/{Index-CUvKTE1Q.js → Index-C_6uySr1.js} +1 -1
  26. package/dist/assets/{Index-BFS96C0P.js → Index-D08kqvUN.js} +1 -1
  27. package/dist/assets/{Index-CChRMffd.js → Index-DE2mD85S.js} +1 -1
  28. package/dist/assets/{Index-D12SQj26.js → Index-Dj4NZQMj.js} +1 -1
  29. package/dist/assets/{Index-DmRLqYic.js → Index-DlDmvyyT.js} +1 -1
  30. package/dist/assets/{Index-CbrnJERR.js → Index-DzHqE2qx.js} +1 -1
  31. package/dist/assets/{Index-CDFhUJO-.js → Index-SCuA_jIE.js} +1 -1
  32. package/dist/assets/{Index-DIgnVSg2.js → Index-eRqcMP25.js} +1 -1
  33. package/dist/assets/{Index-YmLgx320.js → Index-s2ebLR20.js} +1 -1
  34. package/dist/assets/{Index-BsDgpuvA.js → Index-wpZJ_a8u.js} +1 -1
  35. package/dist/assets/{Invitees-CvOyViq2.js → Invitees-BKX54iCK.js} +1 -1
  36. package/dist/assets/{List-BYpM1gR8.js → List-B0jEPtRD.js} +1 -1
  37. package/dist/assets/{List-3o4-ZZd6.js → List-Bqz6y2BW.js} +1 -1
  38. package/dist/assets/{List-DStbB3Mz.js → List-CwxtJavB.js} +1 -1
  39. package/dist/assets/{Main-CV8gzoMl.js → Main-DwQecZzJ.js} +1 -1
  40. package/dist/assets/{Navigator-D60ZeYHw.js → Navigator-BKT2mxOy.js} +1 -1
  41. package/dist/assets/{NoTasks-CXu_7YPv.js → NoTasks-BYsoXaVq.js} +1 -1
  42. package/dist/assets/{Pagination-B0I3KZEW.js → Pagination-C3DyJji5.js} +1 -1
  43. package/dist/assets/{ScrollList-CWMs1Ybz.js → ScrollList-DHgQC1_v.js} +1 -1
  44. package/dist/assets/{Status-1ZhJGQFk.js → Status-HltKSvqh.js} +1 -1
  45. package/dist/assets/{Subscribe-Cst-VwSV.js → Subscribe-CJ_hRiPV.js} +1 -1
  46. package/dist/assets/{TransportWebHID-BF7xHbkb.js → TransportWebHID-Y-VgY_nP.js} +1 -1
  47. package/dist/assets/{VideoPlayer-BcmrjJXR.js → VideoPlayer-D4wmigXn.js} +1 -1
  48. package/dist/assets/{avatar-yUeA5vNp.js → avatar-DX-DNBWM.js} +1 -1
  49. package/dist/assets/{bignumber-BD_qFdqc.js → bignumber-CPDvezU8.js} +1 -1
  50. package/dist/assets/{distribution-D9DYjhFi.js → distribution-CRcyt7eH.js} +1 -1
  51. package/dist/assets/{index-BMhMa1nu.js → index-B7OQ5In8.js} +1 -1
  52. package/dist/assets/{index-Dc8QJSjg.js → index-BO0SEINI.js} +1 -1
  53. package/dist/assets/{index-CbNap6do.js → index-BkuLNx2-.js} +4 -4
  54. package/dist/assets/{index-DxmREG7f.js → index-Bo0zQxxu.js} +1 -1
  55. package/dist/assets/{index-C7ppJ-D9.js → index-DD9XxBI7.js} +1 -1
  56. package/dist/assets/{index-D5MMReBk.js → index-JvPlJRt4.js} +1 -1
  57. package/dist/assets/{index-ic5j6ANr.js → index-_FPvQLSk.js} +1 -1
  58. package/dist/assets/{index-DzOUjrug.js → index-cYgcbC7L.js} +1 -1
  59. package/dist/assets/{index.es-BBWlIYNp.js → index.es-7RSklBi_.js} +1 -1
  60. package/dist/assets/{order-B5QEaAoZ.js → order-DKWuqMWf.js} +1 -1
  61. package/dist/assets/{price-BYaiiVhA.js → price-Q1mTRsEK.js} +1 -1
  62. package/dist/assets/{solana-wallets-DUVgm4Oc.js → solana-wallets-BB1etQkQ.js} +2 -2
  63. package/dist/assets/{solanaEmbed.esm-B6g6CPC7.js → solanaEmbed.esm-B3TXfg-6.js} +1 -1
  64. package/dist/assets/{string_decoder-BdzqB8Gu.js → string_decoder-sJVrg_-v.js} +1 -1
  65. package/dist/assets/{vendor-web3-Dsu5cGVO.js → vendor-web3-XrA95VRY.js} +4 -4
  66. package/dist/assets/{web-OmHFC2lG.js → web-D9-VdGMd.js} +1 -1
  67. package/dist/assets/{web-DTVUq2An.js → web-V68mHKbX.js} +1 -1
  68. package/dist/index.html +2 -2
  69. package/package.json +1 -1
@@ -1 +1 @@
1
- import{F as M}from"./index.es-BBWlIYNp.js";import{l as O,S as re,k as ce,N as ue,O as de,t as pe,u as C,s as B,a1 as x,a2 as ee,U as ie,e as J,j as N,D as ae,F as le,V as te,a3 as me,a4 as fe,Z as he,f as _e,g as ge,h as $e,p as ve,q as ye,K as ke,Y as we,a5 as be,a6 as Ce}from"./vendor-element-plus-B4FTqxj4.js";import{d as S,C as g,G as n,T as s,E as K,K as m,ai as a,D as i,O as y,R as u,S as D,ag as Y,J as w,Q as L,L as q,aq as Q,X as F,c as I,u as T,w as Se,b as Ve,P as Le,U as Ae}from"./vendor-vue-1w_NBnjl.js";import{_ as A,c4 as je,c5 as P,aj as Fe,ay as R,c6 as H,ar as Ee,ax as Te}from"./index-CbNap6do.js";import{I as G,S as Ue}from"./ScrollList-CWMs1Ybz.js";import{C as Pe,N as Ie}from"./NoTasks-CXu_7YPv.js";import{a as ze}from"./price-BYaiiVhA.js";import{j as Z}from"./vendor-dayjs-CzbnksQQ.js";import{l as Ge}from"./pagination-CihAE3FS.js";import"./vendor-web3-Dsu5cGVO.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const Me=S({name:"LayoutSuno",components:{ElDrawer:re,ElButton:O,FontAwesomeIcon:M},data(){return{drawer:!1,preview:!1}},computed:{}}),Re={class:"main flex flex-row flex-1"},De={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},We={class:"result h-full flex flex-col flex-1 min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"},Oe={class:"preview h-full w-[300px] flex flex-col"};function Be(e,t,l,o,c,p){const d=a("font-awesome-icon"),_=a("el-button"),$=a("el-drawer");return i(),g("div",Re,[n("div",De,[K(e.$slots,"config",{},void 0,!0)]),n("div",We,[K(e.$slots,"result",{},void 0,!0)]),n("div",Oe,[K(e.$slots,"preview",{},void 0,!0)]),s(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=r=>e.drawer=!0)},{default:m(()=>[s(d,{icon:"fa-solid fa-magic"})]),_:1}),s($,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=r=>e.drawer=r),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:m(()=>[K(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Ne=A(Me,[["render",Be],["__scopeId","data-v-c6c85757"]]),qe=S({name:"TypeSelector",components:{ElSelect:de,ElOption:ue,ElSwitch:ce},data(){return{options:[{label:"Suno v5",value:"chirp-v5",info:"8 min"},{label:"Suno v4.5+",value:"chirp-v4-5-plus",info:"8 min"},{label:"Suno v4.5",value:"chirp-v4-5",info:"4 min"},{label:"Suno v4",value:"chirp-v4",info:"2.5 min"},{label:"Suno v3.5",value:"chirp-v3-5",info:"2 min"},{label:"Suno v3",value:"chirp-v3-0",info:"2 min"}]}},computed:{custom:{get(){return this.$store.state.suno?.config?.custom||!1},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,custom:e})}},instrumental:{get(){return this.$store.state.suno?.config?.instrumental||!1},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,instrumental:e})}},model:{get(){return this.$store.state.suno?.config?.model},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:e})}}},mounted(){this.model||(this.model=je)}}),He={class:"flex items-center justify-between mb-3"},Ke={class:"text-sm font-bold"},Ze={class:"mb-3"},Xe={class:"flex items-center mb-1"},Ye={class:"text-sm font-bold"},Je={class:"flex items-center justify-between w-full"},Qe={class:"text-xs text-[var(--el-text-color-placeholder)]"},xe={key:0,class:"flex items-center justify-between mb-3"},et={class:"text-sm font-bold"};function tt(e,t,l,o,c,p){const d=a("el-switch"),_=a("el-option"),$=a("el-select");return i(),g("div",null,[n("div",He,[n("span",Ke,u(e.$t("suno.name.type")),1),s(d,{modelValue:e.custom,"onUpdate:modelValue":t[0]||(t[0]=r=>e.custom=r),size:"small"},null,8,["modelValue"])]),n("div",Ze,[n("div",Xe,[n("span",Ye,u(e.$t("suno.name.model")),1)]),s($,{modelValue:e.model,"onUpdate:modelValue":t[1]||(t[1]=r=>e.model=r),class:"w-full",size:"default",placeholder:e.$t("suno.placeholder.select")},{default:m(()=>[(i(!0),g(D,null,Y(e.options,r=>(i(),w(_,{key:r.value,label:r.label,value:r.value},{default:m(()=>[n("div",Je,[n("span",null,u(r.label),1),n("span",Qe,u(r.info),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),e.custom?(i(),g("div",xe,[n("span",et,u(e.$t("suno.name.instrumental")),1),s(d,{modelValue:e.instrumental,"onUpdate:modelValue":t[2]||(t[2]=r=>e.instrumental=r),size:"small"},null,8,["modelValue"])])):y("",!0)])}const ot=A(qe,[["render",tt]]),st=S({name:"UploadAudio",components:{ElUpload:pe,ElButton:O,InfoIcon:G,FontAwesomeIcon:M},emits:["change"],data(){return{fileList:[],uploadUrl:Fe()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},credential(){return this.$store.state.suno.credential},config(){return this.$store.state.suno.config},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.suno?.config?.audio_id},set(){}}},watch:{urls:{handler(e){this.$emit("change",e)}}},mounted(){this.value||(this.value=void 0),this.onSetAudio()},methods:{onExceed(){C.warning(this.$t("suno.message.uploadReferencesExceed"))},onError(){C.error(this.$t("suno.message.uploadReferencesError"))},async onSuccess(){const e=this.urls?.[0];await this.onGenerateAudioId(e)},async onGenerateAudioId(e){const t={audio_url:e},l=this.credential?.token;if(!l){console.error("no token specified");return}C.info(this.$t("suno.message.startingUploadAudio")),P.upload(t,{token:l}).then(o=>{console.debug("get upload music success",o.data);const c=o.data?.data.audio_id;this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,audio_id:c,action:"upload_extend"}),C.success(this.$t("suno.message.startUploadAudioSuccess"))}).catch(o=>{C.error(o?.response?.data?.error?.message||this.$t("suno.message.startUploadAudioFailed"))})},onSetAudio(){}}}),nt={class:"relative"},it={class:"flex justify-between"},at={class:"flex justify-start items-center"},lt={class:"text-sm font-bold"};function rt(e,t,l,o,c,p){const d=a("info-icon"),_=a("font-awesome-icon"),$=a("el-button"),r=a("el-upload");return i(),g("div",nt,[n("div",it,[n("div",at,[n("span",lt,u(e.$t("suno.name.referenceAudios")),1),s(d,{content:e.$t("suno.description.uploadAudios")},null,8,["content"])])]),s(r,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=h=>e.fileList=h),name:"file",limit:1,class:"upload-wrapper",action:e.uploadUrl,accept:".mp3","show-file-list":!0,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{default:m(()=>[s($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:m(()=>[s(_,{icon:"fa-solid fa-upload",class:"icon mr-1"}),L(" "+u(e.$t("suno.button.uploadAudios")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const ct=A(st,[["render",rt],["__scopeId","data-v-6236152c"]]),ut="",dt=S({name:"PromptInput",components:{ElInput:B,InfoIcon:G},computed:{prompt:{get(){return this.$store.state.suno?.config?.prompt},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ut)}}),pt={class:"field"},mt={class:"flex items-center mb-1"},ft={class:"text-sm font-bold"};function ht(e,t,l,o,c,p){const d=a("info-icon"),_=a("el-input");return i(),g("div",pt,[n("div",mt,[n("span",ft,u(e.$t("suno.name.songDescription")),1),s(d,{content:e.$t("suno.description.prompt")},null,8,["content"])]),s(_,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=$=>e.prompt=$),rows:4,type:"textarea",placeholder:e.$t("suno.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const _t=A(dt,[["render",ht]]),gt="",$t=S({name:"LyricInput",components:{ElInput:B,ElButton:O,FontAwesomeIcon:M,InfoIcon:G},data(){return{generatingLyrics:!1}},computed:{lyric:{get(){return this.$store.state.suno?.config?.lyric},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,lyric:e})}},config(){return this.$store.state.suno?.config},credential(){return this.$store.state.suno?.credential}},mounted(){this.lyric||(this.lyric=gt)},methods:{async onGenerateLyrics(){const e=this.credential?.token;if(!e)return;const t=this.config?.style||this.config?.title||"a beautiful song";this.generatingLyrics=!0,C.info(this.$t("suno.message.generatingLyrics"));try{const o=(await P.lyric({prompt:t},{token:e})).data?.data;o?.text&&(this.lyric=o.text,o?.title&&!this.config?.title&&this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,lyric:o.text,title:o.title}),C.success(this.$t("suno.message.generateLyricsSuccess")))}catch{C.error(this.$t("suno.message.generateLyricsFailed"))}finally{this.generatingLyrics=!1}}}}),vt={class:"field"},yt={class:"flex items-center justify-between mb-1"},kt={class:"flex items-center"},wt={class:"text-sm font-bold"};function bt(e,t,l,o,c,p){const d=a("info-icon"),_=a("font-awesome-icon"),$=a("el-button"),r=a("el-input");return i(),g("div",vt,[n("div",yt,[n("div",kt,[n("span",wt,u(e.$t("suno.name.lyrics")),1),s(d,{content:e.$t("suno.description.lyrics")},null,8,["content"])]),e.config?.action!=="extend"?(i(),w($,{key:0,size:"small",loading:e.generatingLyrics,round:"",onClick:e.onGenerateLyrics},{default:m(()=>[e.generatingLyrics?y("",!0):(i(),w(_,{key:0,icon:"fa-solid fa-wand-magic-sparkles",class:"mr-1"})),L(" "+u(e.$t("suno.button.generate_lyrics")),1)]),_:1},8,["loading","onClick"])):y("",!0)]),e.config?.action!=="extend"?(i(),w(r,{key:0,modelValue:e.lyric,"onUpdate:modelValue":t[0]||(t[0]=h=>e.lyric=h),rows:5,type:"textarea",class:"lyrics",placeholder:e.$t("suno.placeholder.lyrics")},null,8,["modelValue","placeholder"])):(i(),w(r,{key:1,modelValue:e.lyric,"onUpdate:modelValue":t[1]||(t[1]=h=>e.lyric=h),rows:5,type:"textarea",class:"lyrics",placeholder:e.$t("suno.placeholder.extend.lyrics")},null,8,["modelValue","placeholder"]))])}const Ct=A($t,[["render",bt],["__scopeId","data-v-210d2670"]]),St=S({name:"StyleInput",components:{ElInput:B,ElButton:O,FontAwesomeIcon:M,InfoIcon:G},data(){return{optimizing:!1}},computed:{style:{get(){return this.$store.state.suno?.config?.style},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,style:e})}},credential(){return this.$store.state.suno?.credential}},methods:{async onOptimizeStyle(){const e=this.credential?.token;if(!(!e||!this.style)){this.optimizing=!0,C.info(this.$t("suno.message.optimizingStyle"));try{const t=await P.style({prompt:this.style},{token:e}),l=t.data?.text||t.data?.data?.text;l&&(this.style=l,C.success(this.$t("suno.message.optimizeStyleSuccess")))}catch{C.error(this.$t("suno.message.optimizeStyleFailed"))}finally{this.optimizing=!1}}}}}),Vt={class:"field"},Lt={class:"flex items-center justify-between mb-1"},At={class:"flex items-center"},jt={class:"text-sm font-bold"};function Ft(e,t,l,o,c,p){const d=a("info-icon"),_=a("font-awesome-icon"),$=a("el-button"),r=a("el-input");return i(),g("div",Vt,[n("div",Lt,[n("div",At,[n("span",jt,u(e.$t("suno.name.style")),1),s(d,{content:e.$t("suno.description.style")},null,8,["content"])]),s($,{size:"small",loading:e.optimizing,round:"",onClick:e.onOptimizeStyle},{default:m(()=>[e.optimizing?y("",!0):(i(),w(_,{key:0,icon:"fa-solid fa-wand-magic-sparkles",class:"mr-1"})),L(" "+u(e.$t("suno.button.optimize_style")),1)]),_:1},8,["loading","onClick"])]),s(r,{modelValue:e.style,"onUpdate:modelValue":t[0]||(t[0]=h=>e.style=h),rows:2,type:"textarea",placeholder:e.$t("suno.placeholder.style")},null,8,["modelValue","placeholder"])])}const Et=A(St,[["render",Ft]]),Tt=S({name:"TitleInput",components:{ElInput:B,InfoIcon:G},computed:{title:{get(){return this.$store.state.suno?.config?.title},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,title:e})}}}}),Ut={class:"field"},Pt={class:"flex items-center mb-1"},It={class:"text-sm font-bold"};function zt(e,t,l,o,c,p){const d=a("info-icon"),_=a("el-input");return i(),g("div",Ut,[n("div",Pt,[n("span",It,u(e.$t("suno.name.title")),1),s(d,{content:e.$t("suno.description.title")},null,8,["content"])]),s(_,{modelValue:e.title,"onUpdate:modelValue":t[0]||(t[0]=$=>e.title=$),placeholder:e.$t("suno.placeholder.title")},null,8,["modelValue","placeholder"])])}const Gt=A(Tt,[["render",zt]]);function W(e){const t=Math.floor(e)%60;e=Math.floor(e/60);const l=e%60,o=l<10?`0${l}`:l,c=t<10?`0${t}`:t;return o+":"+c}const Mt=S({name:"ExtendFromInput",components:{ElImage:N,ElIcon:J,ElInputNumber:ie,VideoPlay:ee,VideoPause:x},data(){return{}},computed:{audio(){return this.$store.state.suno?.config?.audio},value:{get(){return this.$store.state.suno?.config?.continue_at},set(e){console.debug("set continue_at",e),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,continue_at:e?parseInt(e):void 0})}}},mounted(){this.value||(this.value=void 0)},methods:{handleChange(e){if(e===void 0){this.value=void 0;return}e<0?this.value=0:e>this.audio?.duration?this.value=this.audio?.duration:this.value=e},useFormatDuring:W,onPlay(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.suno?.audio?.id!==e.id&&this.onPlay({...e,progress:0})}}}),Rt={class:"field"},Dt={class:"box"},Wt={class:"title font-bold"},Ot={class:"input-wrapper"},Bt={class:"task"},Nt={class:"left"},qt={key:2,class:"duration"},Ht={class:"info"},Kt={class:"title"},Zt={class:"style"};function Xt(e,t,l,o,c,p){const d=a("el-input-number"),_=a("el-image"),$=a("video-pause"),r=a("el-icon"),h=a("video-play"),b=Q("loading");return i(),g("div",Rt,[n("div",Dt,[n("h2",Wt,u(e.$t("suno.name.extend")),1),n("div",Ot,[s(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=f=>e.value=f),class:"value",min:0,max:e.audio?.duration,controls:!1,placeholder:e.$t("suno.placeholder.extend.continue_at"),onChange:e.handleChange},null,8,["modelValue","max","placeholder","onChange"])])]),n("div",Bt,[e.audio?(i(),g("div",{key:0,class:"audio",onClick:t[3]||(t[3]=f=>e.onClick(e.audio))},[q((i(),g("div",Nt,[s(_,{src:e.audio?.image_url,class:"cover",fit:"cover"},null,8,["src"]),e.audio?.audio_url&&e.$store.state?.suno?.audio?.id===e.audio.id&&e.$store.state?.suno?.audio?.state==="playing"?(i(),g("div",{key:0,class:"overlay",onClick:t[1]||(t[1]=f=>e.onPause(e.audio))},[s(r,null,{default:m(()=>[s($)]),_:1})])):y("",!0),e.audio?.audio_url&&(e.$store.state?.suno?.audio?.id!==e.audio.id||e.$store.state?.suno?.audio?.id===e.audio.id&&e.$store.state?.suno?.audio?.state==="paused")?(i(),g("div",{key:1,class:"overlay",onClick:t[2]||(t[2]=f=>e.onPlay(e.audio))},[s(r,null,{default:m(()=>[s(h)]),_:1})])):y("",!0),e.audio?.duration?(i(),g("div",qt,u(e.useFormatDuring(e.audio?.duration)),1)):y("",!0)])),[[b,!e.audio?.audio_url]]),n("div",Ht,[n("h2",Kt,u(e.audio?.title),1),n("p",Zt,u(e.audio?.style),1)])])):y("",!0)])])}const Yt=A(Mt,[["render",Xt],["__scopeId","data-v-bcce4821"]]),Jt=S({name:"CoverFromInput",components:{ElImage:N,ElIcon:J,VideoPlay:ee,VideoPause:x},data(){return{}},computed:{audio(){return this.$store.state.suno?.config?.audio},value:{get(){return this.$store.state.suno?.config?.continue_at},set(e){console.debug("set continue_at",e),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,continue_at:e?parseInt(e):void 0})}}},mounted(){this.value||(this.value=void 0)},methods:{handleChange(e){e<0?this.value=0:e>this.audio?.duration?this.value=this.audio?.duration:this.value=e},useFormatDuring:W,onPlay(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.suno?.audio?.id!==e.id&&this.onPlay({...e,progress:0})}}}),Qt={class:"field"},xt={class:"box"},eo={class:"title font-bold"},to={class:"task"},oo={class:"left"},so={key:2,class:"duration"},no={class:"info"},io={class:"title"},ao={class:"style"};function lo(e,t,l,o,c,p){const d=a("el-image"),_=a("video-pause"),$=a("el-icon"),r=a("video-play"),h=Q("loading");return i(),g("div",Qt,[n("div",xt,[n("h2",eo,u(e.$t("suno.name.cover")),1)]),n("div",to,[e.audio?(i(),g("div",{key:0,class:"audio",onClick:t[2]||(t[2]=b=>e.onClick(e.audio))},[q((i(),g("div",oo,[s(d,{src:e.audio?.image_url,class:"cover",fit:"cover"},null,8,["src"]),e.audio?.audio_url&&e.$store.state?.suno?.audio?.id===e.audio.id&&e.$store.state?.suno?.audio?.state==="playing"?(i(),g("div",{key:0,class:"overlay",onClick:t[0]||(t[0]=b=>e.onPause(e.audio))},[s($,null,{default:m(()=>[s(_)]),_:1})])):y("",!0),e.audio?.audio_url&&(e.$store.state?.suno?.audio?.id!==e.audio.id||e.$store.state?.suno?.audio?.id===e.audio.id&&e.$store.state?.suno?.audio?.state==="paused")?(i(),g("div",{key:1,class:"overlay",onClick:t[1]||(t[1]=b=>e.onPlay(e.audio))},[s($,null,{default:m(()=>[s(r)]),_:1})])):y("",!0),e.audio?.duration?(i(),g("div",so,u(e.useFormatDuring(e.audio?.duration)),1)):y("",!0)])),[[h,!e.audio?.audio_url]]),n("div",no,[n("h2",io,u(e.audio?.title),1),n("p",ao,u(e.audio?.style),1)])])):y("",!0)])])}const ro=A(Jt,[["render",lo],["__scopeId","data-v-06640216"]]),co=S({name:"VocalGenderSelector",components:{ElRadioGroup:le,ElRadioButton:ae,InfoIcon:G},computed:{vocalGender:{get(){return this.$store.state.suno?.config?.vocal_gender||""},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,vocal_gender:e||void 0})}}}}),uo={class:"mb-2"},po={class:"flex items-center mb-1"},mo={class:"text-sm font-bold"};function fo(e,t,l,o,c,p){const d=a("info-icon"),_=a("el-radio-button"),$=a("el-radio-group");return i(),g("div",uo,[n("div",po,[n("span",mo,u(e.$t("suno.name.vocalGender")),1),s(d,{content:e.$t("suno.description.vocalGender")},null,8,["content"])]),s($,{modelValue:e.vocalGender,"onUpdate:modelValue":t[0]||(t[0]=r=>e.vocalGender=r),size:"small"},{default:m(()=>[s(_,{value:""},{default:m(()=>[L(u(e.$t("suno.gender.auto")),1)]),_:1}),s(_,{value:"f"},{default:m(()=>[L(u(e.$t("suno.gender.female")),1)]),_:1}),s(_,{value:"m"},{default:m(()=>[L(u(e.$t("suno.gender.male")),1)]),_:1})]),_:1},8,["modelValue"])])}const ho=A(co,[["render",fo]]),_o=S({name:"AdvancedParams",components:{ElCollapse:fe,ElCollapseItem:me,ElInput:B,ElSlider:te,ElRadioGroup:le,ElRadioButton:ae},data(){return{activeNames:[]}},computed:{config(){return this.$store.state.suno?.config},isV5OrAbove(){return(this.config?.model||"")==="chirp-v5"},styleNegative:{get(){return this.$store.state.suno?.config?.style_negative||""},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,style_negative:e||void 0})}},lyricPrompt:{get(){return this.$store.state.suno?.config?.lyric_prompt||""},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,lyric_prompt:e||void 0})}},weirdness:{get(){return this.$store.state.suno?.config?.weirdness??0},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,weirdness:e||void 0})}},styleInfluence:{get(){return this.$store.state.suno?.config?.style_influence??50},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,style_influence:e})}},variationCategory:{get(){return this.$store.state.suno?.config?.variation_category||""},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,variation_category:e||void 0})}},audioWeight:{get(){return this.$store.state.suno?.config?.audio_weight??50},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,audio_weight:e})}}}}),go={key:0,class:"mb-3"},$o={class:"flex items-center mb-1"},vo={class:"text-xs font-bold"},yo={key:1,class:"mb-3"},ko={class:"flex items-center mb-1"},wo={class:"text-xs font-bold"},bo={key:2,class:"mb-3"},Co={class:"flex items-center justify-between mb-1"},So={class:"text-xs font-bold"},Vo={class:"text-xs text-[var(--el-text-color-secondary)]"},Lo={key:3,class:"mb-3"},Ao={class:"flex items-center justify-between mb-1"},jo={class:"text-xs font-bold"},Fo={class:"text-xs text-[var(--el-text-color-secondary)]"},Eo={key:4,class:"mb-3"},To={class:"flex items-center mb-1"},Uo={class:"text-xs font-bold"},Po={key:5,class:"mb-3"},Io={class:"flex items-center justify-between mb-1"},zo={class:"text-xs font-bold"},Go={class:"text-xs text-[var(--el-text-color-secondary)]"};function Mo(e,t,l,o,c,p){const d=a("el-input"),_=a("el-slider"),$=a("el-radio-button"),r=a("el-radio-group"),h=a("el-collapse-item"),b=a("el-collapse");return i(),w(b,{modelValue:e.activeNames,"onUpdate:modelValue":t[6]||(t[6]=f=>e.activeNames=f),class:"advanced-collapse"},{default:m(()=>[s(h,{title:e.$t("suno.name.advancedParams"),name:"advanced"},{default:m(()=>[e.config?.custom?(i(),g("div",go,[n("div",$o,[n("span",vo,u(e.$t("suno.name.styleNegative")),1)]),s(d,{modelValue:e.styleNegative,"onUpdate:modelValue":t[0]||(t[0]=f=>e.styleNegative=f),size:"small",placeholder:e.$t("suno.placeholder.styleNegative")},null,8,["modelValue","placeholder"])])):y("",!0),e.config?.custom&&!e.config?.instrumental?(i(),g("div",yo,[n("div",ko,[n("span",wo,u(e.$t("suno.name.lyricPrompt")),1)]),s(d,{modelValue:e.lyricPrompt,"onUpdate:modelValue":t[1]||(t[1]=f=>e.lyricPrompt=f),size:"small",placeholder:e.$t("suno.placeholder.lyricPrompt")},null,8,["modelValue","placeholder"])])):y("",!0),e.config?.custom?(i(),g("div",bo,[n("div",Co,[n("span",So,u(e.$t("suno.name.weirdness")),1),n("span",Vo,u(e.weirdness??0),1)]),s(_,{modelValue:e.weirdness,"onUpdate:modelValue":t[2]||(t[2]=f=>e.weirdness=f),min:0,max:100,step:1,size:"small"},null,8,["modelValue"])])):y("",!0),e.config?.custom?(i(),g("div",Lo,[n("div",Ao,[n("span",jo,u(e.$t("suno.name.styleInfluence")),1),n("span",Fo,u(e.styleInfluence??50),1)]),s(_,{modelValue:e.styleInfluence,"onUpdate:modelValue":t[3]||(t[3]=f=>e.styleInfluence=f),min:0,max:100,step:1,size:"small"},null,8,["modelValue"])])):y("",!0),e.isV5OrAbove?(i(),g("div",Eo,[n("div",To,[n("span",Uo,u(e.$t("suno.name.variationCategory")),1)]),s(r,{modelValue:e.variationCategory,"onUpdate:modelValue":t[4]||(t[4]=f=>e.variationCategory=f),size:"small"},{default:m(()=>[s($,{value:""},{default:m(()=>[L(u(e.$t("suno.gender.auto")),1)]),_:1}),s($,{value:"high"},{default:m(()=>[L(u(e.$t("suno.variation.high")),1)]),_:1}),s($,{value:"low"},{default:m(()=>[L(u(e.$t("suno.variation.low")),1)]),_:1})]),_:1},8,["modelValue"])])):y("",!0),e.config?.action==="cover"?(i(),g("div",Po,[n("div",Io,[n("span",zo,u(e.$t("suno.name.audioWeight")),1),n("span",Go,u(e.audioWeight??50),1)]),s(_,{modelValue:e.audioWeight,"onUpdate:modelValue":t[5]||(t[5]=f=>e.audioWeight=f),min:0,max:100,step:1,size:"small"},null,8,["modelValue"])])):y("",!0)]),_:1},8,["title"])]),_:1},8,["modelValue"])}const Ro=A(_o,[["render",Mo],["__scopeId","data-v-be135363"]]),Do=S({name:"ReplaceSectionInput",components:{ElInputNumber:ie,ElImage:N,InfoIcon:G},computed:{audio(){return this.$store.state.suno?.config?.audio},replaceSectionStart:{get(){return this.$store.state.suno?.config?.replace_section_start},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,replace_section_start:e})}},replaceSectionEnd:{get(){return this.$store.state.suno?.config?.replace_section_end},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,replace_section_end:e})}}},methods:{onClick(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"playing"})}}}),Wo={class:"field"},Oo={class:"flex items-center mb-2"},Bo={class:"text-sm font-bold m-0"},No={key:0,class:"task mb-2"},qo={class:"left relative w-[50px] h-[50px] mr-3 flex-shrink-0"},Ho={class:"info flex-1 min-w-0"},Ko={class:"text-sm font-bold m-0 truncate"},Zo={class:"text-xs text-[var(--el-text-color-secondary)] m-0 truncate"},Xo={class:"flex gap-2"};function Yo(e,t,l,o,c,p){const d=a("info-icon"),_=a("el-image"),$=a("el-input-number"),r=Q("loading");return i(),g("div",Wo,[n("div",Oo,[n("h2",Bo,u(e.$t("suno.name.replaceSection")),1),s(d,{content:e.$t("suno.description.replaceSection")},null,8,["content"])]),e.audio?(i(),g("div",No,[n("div",{class:"audio flex items-center",onClick:t[0]||(t[0]=h=>e.onClick(e.audio))},[q((i(),g("div",qo,[s(_,{src:e.audio?.image_url,class:"w-full h-full rounded",fit:"cover"},null,8,["src"])])),[[r,!e.audio?.audio_url]]),n("div",Ho,[n("h2",Ko,u(e.audio?.title),1),n("p",Zo,u(e.audio?.style),1)])])])):y("",!0),n("div",Xo,[s($,{modelValue:e.replaceSectionStart,"onUpdate:modelValue":t[1]||(t[1]=h=>e.replaceSectionStart=h),class:"flex-1",size:"small",min:0,max:e.audio?.duration,controls:!1,placeholder:e.$t("suno.placeholder.replaceSectionStart")},null,8,["modelValue","max","placeholder"]),s($,{modelValue:e.replaceSectionEnd,"onUpdate:modelValue":t[2]||(t[2]=h=>e.replaceSectionEnd=h),class:"flex-1",size:"small",min:e.replaceSectionStart||0,max:e.audio?.duration,controls:!1,placeholder:e.$t("suno.placeholder.replaceSectionEnd")},null,8,["modelValue","min","max","placeholder"])])])}const Jo=A(Do,[["render",Yo]]),Qo=S({name:"PresetPanel",components:{TypeSelector:ot,PromptInput:_t,LyricInput:Ct,StyleInput:Et,TitleInput:Gt,ExtendFromInput:Yt,CoverFromInput:ro,UploadAudio:ct,VocalGenderSelector:ho,AdvancedParams:Ro,ReplaceSectionInput:Jo,FontAwesomeIcon:M,ElButton:O,Consumption:Pe},emits:["generate"],computed:{config(){return this.$store.state.suno?.config},consumption(){return ze(this.config,this.service?.cost)},service(){return this.$store.state.suno?.service},supportsVocalGender(){const e=this.config?.model||"";return["chirp-v4-5-plus","chirp-v5"].includes(e)},generateButtonText(){const e=this.config?.action;return e==="extend"?this.$t("suno.button.extend"):e==="cover"?this.$t("suno.button.cover_music"):e==="remaster"?this.$t("suno.button.remaster"):e==="replace_section"?this.$t("suno.button.replace_section"):e==="mashup"?this.$t("suno.button.mashup"):e==="stems"?this.$t("suno.button.get_stems"):e==="concat"?this.$t("suno.button.concat_music"):this.$t("suno.button.generate")}},methods:{onGenerate(){this.$emit("generate")}}}),xo={class:"flex flex-col h-full"},es={class:"flex-1 overflow-y-auto p-5"},ts={class:"flex flex-col items-center justify-center px-5 pb-5"};function os(e,t,l,o,c,p){const d=a("type-selector"),_=a("upload-audio"),$=a("prompt-input"),r=a("lyric-input"),h=a("style-input"),b=a("title-input"),f=a("vocal-gender-selector"),k=a("extend-from-input"),U=a("cover-from-input"),E=a("replace-section-input"),j=a("advanced-params"),v=a("consumption"),V=a("font-awesome-icon"),z=a("el-button");return i(),g("div",xo,[n("div",es,[s(d,{class:"mb-4"}),s(_,{class:"mb-4"}),e.config?.custom?y("",!0):(i(),w($,{key:0,class:"mb-4"})),e.config?.custom&&!e.config.instrumental?(i(),w(r,{key:1,class:"mb-4"})):y("",!0),e.config?.custom?(i(),w(h,{key:2,class:"mb-4"})):y("",!0),e.config?.custom?(i(),w(b,{key:3,class:"mb-4"})):y("",!0),e.config?.custom&&!e.config.instrumental&&e.supportsVocalGender?(i(),w(f,{key:4,class:"mb-4"})):y("",!0),e.config?.action==="extend"?(i(),w(k,{key:5,class:"mb-4"})):y("",!0),e.config?.action==="cover"?(i(),w(U,{key:6,class:"mb-4"})):y("",!0),e.config?.action==="replace_section"?(i(),w(E,{key:7,class:"mb-4"})):y("",!0),s(j,{class:"mb-4"})]),n("div",ts,[s(v,{value:e.consumption,service:e.service},null,8,["value","service"]),s(z,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:m(()=>[s(V,{icon:"fa-solid fa-magic",class:"mr-2"}),L(" "+u(e.generateButtonText),1)]),_:1},8,["onClick"])])])}const ss=A(Qo,[["render",os],["__scopeId","data-v-a4cbdb91"]]);var X={exports:{}},ns=X.exports,se;function is(){return se||(se=1,function(e,t){(function(l,o){o()})(ns,function(){function l(r,h){return typeof h>"u"?h={autoBom:!1}:typeof h!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),h={autoBom:!h}),h.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(r.type)?new Blob(["\uFEFF",r],{type:r.type}):r}function o(r,h,b){var f=new XMLHttpRequest;f.open("GET",r),f.responseType="blob",f.onload=function(){$(f.response,h,b)},f.onerror=function(){console.error("could not download file")},f.send()}function c(r){var h=new XMLHttpRequest;h.open("HEAD",r,!1);try{h.send()}catch{}return 200<=h.status&&299>=h.status}function p(r){try{r.dispatchEvent(new MouseEvent("click"))}catch{var h=document.createEvent("MouseEvents");h.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),r.dispatchEvent(h)}}var d=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof Z=="object"&&Z.global===Z?Z:void 0,_=d.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),$=d.saveAs||(typeof window!="object"||window!==d?function(){}:"download"in HTMLAnchorElement.prototype&&!_?function(r,h,b){var f=d.URL||d.webkitURL,k=document.createElement("a");h=h||r.name||"download",k.download=h,k.rel="noopener",typeof r=="string"?(k.href=r,k.origin===location.origin?p(k):c(k.href)?o(r,h,b):p(k,k.target="_blank")):(k.href=f.createObjectURL(r),setTimeout(function(){f.revokeObjectURL(k.href)},4e4),setTimeout(function(){p(k)},0))}:"msSaveOrOpenBlob"in navigator?function(r,h,b){if(h=h||r.name||"download",typeof r!="string")navigator.msSaveOrOpenBlob(l(r,b),h);else if(c(r))o(r,h,b);else{var f=document.createElement("a");f.href=r,f.target="_blank",setTimeout(function(){p(f)})}}:function(r,h,b,f){if(f=f||open("","_blank"),f&&(f.document.title=f.document.body.innerText="downloading..."),typeof r=="string")return o(r,h,b);var k=r.type==="application/octet-stream",U=/constructor/i.test(d.HTMLElement)||d.safari,E=/CriOS\/[\d]+/.test(navigator.userAgent);if((E||k&&U||_)&&typeof FileReader<"u"){var j=new FileReader;j.onloadend=function(){var z=j.result;z=E?z:z.replace(/^data:[^;]*;/,"data:attachment/file;"),f?f.location.href=z:location=z,f=null},j.readAsDataURL(r)}else{var v=d.URL||d.webkitURL,V=v.createObjectURL(r);f?f.location=V:location.href=V,f=null,setTimeout(function(){v.revokeObjectURL(V)},4e4)}});d.saveAs=$.saveAs=$,e.exports=$})}(X)),X.exports}var as=is();const ls="https://webhook.acedata.cloud/suno",rs=S({name:"TaskPreview",components:{ElImage:N,ElIcon:J,ElTooltip:ve,FontAwesomeIcon:M,VideoPlay:ee,VideoPause:x,ElDropdown:$e,ElDropdownMenu:ge,ElDropdownItem:_e,Loading:he},props:{modelValue:{type:Object,required:!0}},data(){return{isFetchingVideoUrl:!1,isFetchingWav:!1,isFetchingMidi:!1}},computed:{loading(){return this.$store.state.suno?.status?.getApplications===R.Request},credential(){return this.$store.state.suno.credential},config(){return this.$store.state.suno.config},task(){return this.$store.state.suno?.tasks},audios(){const e=this.modelValue?.response?.data??[],t=this.modelValue?.request?.action;return t?e.map(l=>({...l,action:t})):e},application(){return this.$store.state.suno?.application},active(){return this.$store.state.suno?.tasks?.active}},methods:{useFormatDuring:W,onPlay(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.suno?.audio?.id!==e.id&&this.onPlay({...e,progress:0})},onExtend(e,t){e.stopPropagation(),console.log("on extend"),console.debug("set config",t),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:t.model,custom:!0,instrumental:!1,style:t.style,action:"extend",audio:t,audio_id:t.id,continue_at:t.duration})},onDownload(e,t){e&&e.stopPropagation(),console.log("on download",t);const o=new URL(t).pathname,c=o.substring(o.lastIndexOf("/")+1);console.log("on preview",c),fetch(t).then(p=>p.blob()).then(p=>{as.saveAs(p,c)})},async handleVideoDownload(e){if(e.video_url){this.onDownload(null,e.video_url);return}if(!this.isFetchingVideoUrl)try{this.isFetchingVideoUrl=!0;const t=await this.fetchVideoUrlFromApi(e?.id);console.log(`get videoUrl: ${t}`),e.video_url=t,this.onDownload(null,t)}catch(t){console.error("get videoUrl failed:",t),C.error(this.$t("suno.message.getVideoUrlFailed"))}finally{this.isFetchingVideoUrl=!1}},async fetchVideoUrlFromApi(e){return new Promise((t,l)=>{const o={audio_id:e},c=this.credential?.token;if(!c){console.error("no token specified"),l(new Error("No token specified"));return}P.mp4(o,{token:c}).then(p=>{const d=p.data?.data?.video_url;d?t(d):l(new Error("Video URL not found in response"))}).catch(p=>{l(p)})})},onPreview(e,t){e.stopPropagation(),console.log("on preview",t),window.open(t,"_blank")},async onGetStems(e){await this.onGenerateAudioUrl("stems",e)},onCover(e){console.log("on cover"),console.debug("set config",e),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:e.model,custom:!0,instrumental:!1,style:e.style,action:"cover",audio:e,audio_id:e.id})},async onConcatMusic(e){await this.onGenerateAudioUrl("concat",e)},async onRemaster(e){await this.onGenerateAudioUrl("remaster",e)},async onGetAllStems(e){await this.onGenerateAudioUrl("all_stems",e)},onReplaceSection(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:e.model,custom:!0,instrumental:!1,style:e.style,action:"replace_section",audio:e,audio_id:e.id,replace_section_start:0,replace_section_end:Math.min(30,e.duration||30)})},onMashup(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:e.model,custom:!0,style:e.style,action:"mashup",audio:e,audio_id:e.id,mashup_audio_ids:[e.id]})},async handleWavDownload(e){if(!e?.id||this.isFetchingWav)return;const t=this.credential?.token;if(t)try{this.isFetchingWav=!0,C.info(this.$t("suno.message.fetchingWav"));const o=(await P.wav({audio_id:e.id},{token:t})).data?.data?.audio_url;o?this.onDownload(null,o):C.error(this.$t("suno.message.fetchWavFailed"))}catch{C.error(this.$t("suno.message.fetchWavFailed"))}finally{this.isFetchingWav=!1}},async handleMidiDownload(e){if(!e?.id||this.isFetchingMidi)return;const t=this.credential?.token;if(t)try{this.isFetchingMidi=!0,C.info(this.$t("suno.message.fetchingMidi"));const o=(await P.midi({audio_id:e.id},{token:t})).data?.data?.midi_url;o?this.onDownload(null,o):C.error(this.$t("suno.message.fetchMidiFailed"))}catch{C.error(this.$t("suno.message.fetchMidiFailed"))}finally{this.isFetchingMidi=!1}},async onGenerateAudioUrl(e,t){const l={action:e,audio_id:t,callback_url:ls},o=this.credential?.token;if(!o){console.error("no token specified");return}C.info(this.$t("suno.message.startingTask")),P.audio(l,{token:o}).then(()=>{C.success(this.$t("suno.message.startTaskSuccess"))}).catch(c=>{C.error(c?.response?.data?.error?.message||this.$t("suno.message.startTaskFailed"))}).finally(async()=>{await this.onGetTasks(),await this.onScrollDown()})},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".tasks");e&&(e.scrollTop=e.scrollHeight)},1e3)},async onGetTasks(){if(this.loading){console.debug("loading");return}await this.$store.dispatch("suno/getTasks",{limit:30,offset:0})}}}),cs={class:"task"},us=["onClick"],ds={class:"left"},ps=["onClick"],ms=["onClick"],fs={key:2,class:"duration"},hs={class:"info"},_s={class:"title"},gs={class:"style"},$s={class:"right"},vs={class:"el-dropdown-link"},ys={class:"flex items-center min-w-[120px]"},ks={class:"flex items-center min-w-[120px]"},ws={class:"flex items-center min-w-[120px]"},bs={class:"el-dropdown-link"};function Cs(e,t,l,o,c,p){const d=a("el-image"),_=a("video-pause"),$=a("el-icon"),r=a("video-play"),h=a("font-awesome-icon"),b=a("el-tooltip"),f=a("Loading"),k=a("el-dropdown-item"),U=a("el-dropdown-menu"),E=a("el-dropdown"),j=Q("loading");return i(),g("div",cs,[(i(!0),g(D,null,Y(e.audios,v=>(i(),g("div",{key:v.id,class:"audio",onClick:F(V=>e.onClick(v),["stop"])},[q((i(),g("div",ds,[s(d,{src:v?.image_url,class:"cover",fit:"cover",lazy:""},null,8,["src"]),v?.audio_url&&e.$store.state?.suno?.audio?.id===v.id&&e.$store.state?.suno?.audio?.state==="playing"?(i(),g("div",{key:0,class:"overlay",onClick:F(V=>e.onPause(v),["stop"])},[s($,null,{default:m(()=>[s(_)]),_:1})],8,ps)):y("",!0),v?.audio_url&&(e.$store.state?.suno?.audio?.id!==v.id||e.$store.state?.suno?.audio?.id===v.id&&e.$store.state?.suno?.audio?.state==="paused")?(i(),g("div",{key:1,class:"overlay",onClick:F(V=>e.onPlay(v),["stop"])},[s($,null,{default:m(()=>[s(r)]),_:1})],8,ms)):y("",!0),v?.duration?(i(),g("div",fs,u(e.useFormatDuring(v?.duration)),1)):y("",!0)])),[[j,!v?.audio_url]]),n("div",hs,[n("h2",_s,u(v?.title),1),n("p",gs,u(v?.style),1)]),n("div",$s,[s(E,null,{dropdown:m(()=>[s(U,null,{default:m(()=>[s(k,{disabled:e.isFetchingVideoUrl,onClick:V=>e.handleVideoDownload(v)},{default:m(()=>[n("div",ys,[e.isFetchingVideoUrl?(i(),w($,{key:0,class:"is-loading mr-2"},{default:m(()=>[s(f)]),_:1})):y("",!0),n("span",null,u(e.$t("suno.button.download_video")),1)])]),_:2},1032,["disabled","onClick"]),v?.audio_url?(i(),w(k,{key:0,onClick:F(V=>e.onDownload(V,v?.audio_url),["stop"])},{default:m(()=>[L(u(e.$t("suno.button.download_audio")),1)]),_:2},1032,["onClick"])):y("",!0),s(k,{disabled:e.isFetchingWav,onClick:V=>e.handleWavDownload(v)},{default:m(()=>[n("div",ks,[e.isFetchingWav?(i(),w($,{key:0,class:"is-loading mr-2"},{default:m(()=>[s(f)]),_:1})):y("",!0),n("span",null,u(e.$t("suno.button.download_wav")),1)])]),_:2},1032,["disabled","onClick"]),s(k,{disabled:e.isFetchingMidi,onClick:V=>e.handleMidiDownload(v)},{default:m(()=>[n("div",ws,[e.isFetchingMidi?(i(),w($,{key:0,class:"is-loading mr-2"},{default:m(()=>[s(f)]),_:1})):y("",!0),n("span",null,u(e.$t("suno.button.download_midi")),1)])]),_:2},1032,["disabled","onClick"])]),_:2},1024)]),default:m(()=>[n("span",vs,[s(b,{effect:"dark",content:e.$t("suno.button.download"),placement:"top"},{default:m(()=>[v?.audio_url||v?.video_url?(i(),w(h,{key:0,icon:"fa-solid fa-download",class:"icon icon-download"})):y("",!0)]),_:2},1032,["content"])])]),_:2},1024),s(E,null,{dropdown:m(()=>[s(U,null,{default:m(()=>[v?.audio_url?(i(),w(k,{key:0,onClick:F(V=>e.onExtend(V,v),["stop"])},{default:m(()=>[L(u(e.$t("suno.button.extend")),1)]),_:2},1032,["onClick"])):y("",!0),v.id?(i(),w(k,{key:1,onClick:F(V=>e.onGetStems(v.id),["stop"])},{default:m(()=>[L(u(e.$t("suno.button.get_stems")),1)]),_:2},1032,["onClick"])):y("",!0),v.id?(i(),w(k,{key:2,onClick:F(V=>e.onGetAllStems(v.id),["stop"])},{default:m(()=>[L(u(e.$t("suno.button.all_stems")),1)]),_:2},1032,["onClick"])):y("",!0),s(k,{onClick:F(V=>e.onCover(v),["stop"])},{default:m(()=>[L(u(e.$t("suno.button.cover_music")),1)]),_:2},1032,["onClick"]),v?.id?(i(),w(k,{key:3,onClick:F(V=>e.onRemaster(v.id),["stop"])},{default:m(()=>[L(u(e.$t("suno.button.remaster")),1)]),_:2},1032,["onClick"])):y("",!0),v?.id?(i(),w(k,{key:4,onClick:F(V=>e.onReplaceSection(v),["stop"])},{default:m(()=>[L(u(e.$t("suno.button.replace_section")),1)]),_:2},1032,["onClick"])):y("",!0),v?.id?(i(),w(k,{key:5,onClick:F(V=>e.onMashup(v),["stop"])},{default:m(()=>[L(u(e.$t("suno.button.mashup")),1)]),_:2},1032,["onClick"])):y("",!0),v?.id&&v?.action==="extend"?(i(),w(k,{key:6,onClick:F(V=>e.onConcatMusic(v?.id),["stop"])},{default:m(()=>[L(u(e.$t("suno.button.concat_music")),1)]),_:2},1032,["onClick"])):y("",!0)]),_:2},1024)]),default:m(()=>[n("span",bs,[s(b,{effect:"dark",content:e.$t("suno.button.more"),placement:"top"},{default:m(()=>[v?.audio_url||v?.video_url?(i(),w(h,{key:0,icon:"fa-solid fa-ellipsis",class:"icon icon-ellipsis"})):y("",!0)]),_:2},1032,["content"])])]),_:2},1024)])],8,us))),128))])}const Ss=A(rs,[["render",Cs]]),Vs={class:"player-slider"},Ls=S({__name:"PlayerSlider",setup(e){const t=H(),l=I({get:()=>t.state.suno?.audio?.progress,set:d=>t.commit("suno/setAudio",{...t.state.suno.audio,progress:d})}),o=I({get:()=>t.state.suno?.audio?.duration,set:d=>t.commit("suno/setAudio",{...t.state.suno.audio,duration:d})}),c=()=>{},p=d=>t.dispatch("suno/setAudio",{...t.state.suno.audio,progress:d});return(d,_)=>(i(),g("div",Vs,[s(T(te),{modelValue:l.value,"onUpdate:modelValue":_[0]||(_[0]=$=>l.value=$),"show-tooltip":!1,min:0,max:o.value,onChange:p,onInput:c},null,8,["modelValue","max"])]))}}),As="/assets/disk-XFRmVAfp.png",js={class:"flex player-song"},Fs=["src"],Es={class:"ml-2 text-xs flex flex-col justify-between"},Ts={class:"w-52 2xl:w-96 cursor-pointer truncate"},Us={class:"flex"},Ps={class:"ml-2 text-dc"},Is=S({__name:"PlayerSong",setup(e){const t=H(),l=I({get:()=>t.state.suno.audio,set:o=>t.commit("suno/setAudio",o)});return Se(l,(o,c)=>{if(o?.audio_url!==c?.audio_url){console.log("audio changed",o),o.object&&(console.log("111",o.object),o.object.pause(),delete o.object);const p=new Audio(o.audio_url);o.state==="playing"?p.play():p.pause(),p.addEventListener("loadedmetadata",()=>{p.currentTime=0,p.addEventListener("timeupdate",()=>{t.commit("suno/setAudio",{...t.state.suno.audio,progress:p.currentTime})})}),t.commit("suno/setAudio",{...t.state.suno.audio,object:p})}else if(o?.progress!==c?.progress&&Math.abs(o.progress-o.object.currentTime)>2){console.log("progress changed",o.progress);const p=t.state.suno.audio;p.object&&(p.object.currentTime=p.progress)}else o?.state!==c?.state&&(console.log("state changed",o.state),o.object&&(o.state==="playing"?o.object.play():o.object.pause()));o?.volume!==c?.volume&&(console.log("volume changed",o.volume),o.object&&(o.object.volume=o.volume/100))}),(o,c)=>(i(),g("div",js,[n("img",{alt:"",class:"w-11 h-11 rounded",src:l.value?.image_url||T(As)},null,8,Fs),n("div",Es,[n("div",Ts,[n("div",Us,[n("span",null,u(l.value?.title||"Music"),1),n("span",Ps,"- "+u(l.value?.style||"SmallRuralDog"),1)])])])]))}}),zs={class:"flex justify-end items-center gap-x-2.5"},Gs={class:"text-xs"},Ms=S({__name:"PlayerAction",setup(e){const t=H(),l=I({get:()=>t.state.suno?.audio?.progress,set:c=>t.commit("suno/setAudio",{...t.state.suno.audio,progress:c})}),o=I({get:()=>t.state.suno?.audio?.duration,set:c=>t.commit("suno/setAudio",{...t.state.suno.audio,duration:c})});return(c,p)=>(i(),g("div",zs,[n("span",Gs,u(T(W)(l.value))+" / "+u(T(W)(o.value)),1)]))}});var Rs={size:"1em",strokeWidth:4,strokeLinecap:"round",strokeLinejoin:"round",rtl:!1,theme:"outline",colors:{outline:{fill:"#333",background:"transparent"},filled:{fill:"#333",background:"#FFF"},twoTone:{fill:"#333",twoTone:"#2F88FF"},multiColor:{outStrokeColor:"#333",outFillColor:"#2F88FF",innerStrokeColor:"#FFF",innerFillColor:"#43CCF8"}},prefix:"i"};function Ds(){return"icon-"+((1+Math.random())*4294967296|0).toString(16).substring(1)}function Ws(e,t,l){var o=typeof t.fill=="string"?[t.fill]:t.fill||[],c=[],p=t.theme||l.theme;switch(p){case"outline":c.push(typeof o[0]=="string"?o[0]:"currentColor"),c.push("none"),c.push(typeof o[0]=="string"?o[0]:"currentColor"),c.push("none");break;case"filled":c.push(typeof o[0]=="string"?o[0]:"currentColor"),c.push(typeof o[0]=="string"?o[0]:"currentColor"),c.push("#FFF"),c.push("#FFF");break;case"two-tone":c.push(typeof o[0]=="string"?o[0]:"currentColor"),c.push(typeof o[1]=="string"?o[1]:l.colors.twoTone.twoTone),c.push(typeof o[0]=="string"?o[0]:"currentColor"),c.push(typeof o[1]=="string"?o[1]:l.colors.twoTone.twoTone);break;case"multi-color":c.push(typeof o[0]=="string"?o[0]:"currentColor"),c.push(typeof o[1]=="string"?o[1]:l.colors.multiColor.outFillColor),c.push(typeof o[2]=="string"?o[2]:l.colors.multiColor.innerStrokeColor),c.push(typeof o[3]=="string"?o[3]:l.colors.multiColor.innerFillColor);break}return{size:t.size||l.size,strokeWidth:t.strokeWidth||l.strokeWidth,strokeLinecap:t.strokeLinecap||l.strokeLinecap,strokeLinejoin:t.strokeLinejoin||l.strokeLinejoin,colors:c,id:e}}var Os=Symbol("icon-context");function oe(e,t,l){var o={name:"icon-"+e,props:["size","strokeWidth","strokeLinecap","strokeLinejoin","theme","fill","spin"],setup:function(p){var d=Ds(),_=Ve(Os,Rs);return function(){var $=p.size,r=p.strokeWidth,h=p.strokeLinecap,b=p.strokeLinejoin,f=p.theme,k=p.fill,U=p.spin,E=Ws(d,{size:$,strokeWidth:r,strokeLinecap:h,strokeLinejoin:b,theme:f,fill:k},_),j=[_.prefix+"-icon"];return j.push(_.prefix+"-icon-"+e),t&&_.rtl&&j.push(_.prefix+"-icon-rtl"),U&&j.push(_.prefix+"-icon-spin"),s("span",{class:j.join(" ")},[l(E)])}}};return o}const Bs=oe("pause-one",!1,function(e){return s("svg",{width:e.size,height:e.size,viewBox:"0 0 48 48",fill:"none"},[s("path",{d:"M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z",fill:e.colors[1],stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null),s("path",{d:"M19 18V30",stroke:e.colors[2],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null),s("path",{d:"M29 18V30",stroke:e.colors[2],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null)])}),Ns=oe("play",!0,function(e){return s("svg",{width:e.size,height:e.size,viewBox:"0 0 48 48",fill:"none"},[s("path",{d:"M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z",fill:e.colors[1],stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null),s("path",{d:"M20 24V17.0718L26 20.5359L32 24L26 27.4641L20 30.9282V24Z",fill:e.colors[3],stroke:e.colors[2],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null)])}),qs=oe("volume-small",!0,function(e){return s("svg",{width:e.size,height:e.size,viewBox:"0 0 48 48",fill:"none"},[s("path",{d:"M24 6V42C17 42 11.7985 32.8391 11.7985 32.8391H6C4.89543 32.8391 4 31.9437 4 30.8391V17.0108C4 15.9062 4.89543 15.0108 6 15.0108H11.7985C11.7985 15.0108 17 6 24 6Z",fill:e.colors[1],stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null),s("path",{d:"M32 15L32 15C32.6232 15.5565 33.1881 16.1797 33.6841 16.8588C35.1387 18.8504 36 21.3223 36 24C36 26.6545 35.1535 29.1067 33.7218 31.0893C33.2168 31.7885 32.6391 32.4293 32 33",stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null)])}),ne=S({__name:"IconPark",props:{icon:{},theme:{},size:{},spin:{type:Boolean},fill:{},strokeLinecap:{},strokeLinejoin:{},strokeWidth:{}},setup(e){return(t,l)=>(i(),w(Le(t.icon),{theme:t.theme,size:t.size,spin:t.spin,fill:t.fill,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,"stroke-width":t.strokeWidth},null,8,["theme","size","spin","fill","stroke-linecap","stroke-linejoin","stroke-width"]))}}),Hs={class:"player-volume flex flex-col items-center pt-2"},Ks={class:"text-sm mt-3"},Zs=S({__name:"PlayerVolumeSlider",setup(e){const t=H(),l=I({get:()=>t.state.suno.audio?.volume,set:p=>t.commit("suno/setAudio",{...t.state.suno.audio,volume:p})}),o=I({get:()=>t.state.suno.audio?.muted,set:p=>t.commit("suno/setAudio",{...t.state.suno.audio,muted:p})}),c=p=>t.dispatch("suno/setVolume",p);return(p,d)=>(i(),g("div",Hs,[s(T(te),{modelValue:l.value,"onUpdate:modelValue":d[0]||(d[0]=_=>l.value=_),vertical:"",height:"100px","show-tooltip":!1,max:100,min:0,size:"small",disabled:o.value,onInput:c},null,8,["modelValue","disabled"]),n("div",Ks,u(l.value),1)]))}}),Xs={class:"flex items-center justify-center gap-x-3"},Ys=S({__name:"PlayerController",setup(e){const t=H(),l=()=>t.dispatch("suno/setAudio",{...t.state.suno.audio,state:t.state.suno.audio.state==="playing"?"paused":"playing"}),o=I(()=>t.state.suno.audio);return(c,p)=>(i(),g("div",Xs,[s(ne,{icon:o.value?.state==="playing"?T(Bs):T(Ns),size:"45",theme:"filled",class:"text-[var(--el-color-primary)] cursor-pointer",onClick:l},null,8,["icon"]),s(T(ye),{placement:"top",width:"50px",trigger:"click"},{reference:m(()=>[s(ne,{icon:T(qs),size:"20","stroke-width":2,class:"cursor-pointer"},null,8,["icon"])]),default:m(()=>[s(Zs)]),_:1})]))}}),Js={class:"flex flex-col items-stretch h-20"},Qs={class:"flex grow px-5 items-center"},xs={class:"flex-1"},en={class:"flex-1"},tn={class:"flex-1"},on=S({__name:"Player",setup(e){return(t,l)=>(i(),g("div",Js,[s(Ls),n("div",Qs,[n("div",xs,[s(Is)]),n("div",en,[s(Ys)]),n("div",tn,[s(Ms)])])]))}}),sn=S({name:"RecentPanel",components:{ElSkeletonItem:we,ElSkeleton:ke,TaskPreview:Ss,Player:on,NoTasks:Ie,ScrollList:Ue},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.suno?.tasks,items:this.$store.state.suno?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),nn={key:0,class:"tasks"},an={class:"left w-[70px] p-[10px] flex items-center"},ln={class:"main w-[calc(100%-70px)] flex-1 p-[10px]"},rn={key:2,class:"w-full flex-1 flex items-center justify-center"},cn={class:"h-20"};function un(e,t,l,o,c,p){const d=a("el-skeleton-item"),_=a("el-skeleton"),$=a("task-preview"),r=a("scroll-list"),h=a("no-tasks"),b=a("player");return i(),g(D,null,[e.tasks?.items===void 0?(i(),g("div",nn,[(i(),g(D,null,Y(3,f=>n("div",{key:f,class:"flex"},[n("div",an,[s(_,{animated:""},{template:m(()=>[s(d,{variant:"image",class:"avatar w-[50px] h-[50px]"})]),_:1})]),n("div",ln,[s(_,{animated:""},{template:m(()=>[s(d,{variant:"p",class:"w-[200px] h-[15px] mb-[5px] mt-[10px]"}),s(d,{variant:"text"})]),_:1})])])),64))])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(i(),w(r,{key:1,ref:"scrollList",class:"flex-1 w-full overflow-y-auto tasks p-2",loading:e.loading,onReachTop:t[0]||(t[0]=f=>e.$emit("reach-top"))},{default:m(()=>[(i(!0),g(D,null,Y(e.tasks?.items,(f,k)=>(i(),w($,{key:k,"model-value":f,class:"preview"},null,8,["model-value"]))),128))]),_:1},8,["loading"])):y("",!0),e.tasks?.items?.length===0?(i(),g("div",rn,[s(h)])):y("",!0),q(n("div",cn,[s(b)],512),[[Ae,!!e.$store?.state?.suno?.audio?.object]])],64)}const dn=A(sn,[["render",un]]),pn=S({name:"TaskPreview",components:{IconPicture:Ce,ElImage:N,ElAvatar:be,ElIcon:J},computed:{audio(){return this.$store.state.suno?.audio}}}),mn={key:0,class:"size-full overflow-hidden"},fn={class:"relative h-[300px]"},hn={class:"flex items-center justify-center size-full bg-[var(--el-bg-color)]"},_n={class:"absolute bottom-0 left-0 right-0 m-0 p-4 text-white z-10 bg-gradient-to-t from-black/70 to-transparent"},gn={class:"p-4"},$n={class:"flex items-center font-bold mb-2"},vn={class:"text-[var(--el-text-color-regular)] mb-2"},yn={class:"text-xs text-[var(--el-text-color-regular)]"},kn={class:"mt-4 text-sm leading-[25px] whitespace-pre-wrap"},wn={key:1,class:"w-full h-full"};function bn(e,t,l,o,c,p){const d=a("icon-picture"),_=a("el-icon"),$=a("el-image"),r=a("el-avatar");return e.audio?.object?(i(),g("div",mn,[n("div",fn,[s($,{src:e.audio.image_url,fit:"cover",class:"size-full"},{error:m(()=>[n("div",hn,[s(_,{class:"text-3xl"},{default:m(()=>[s(d)]),_:1})])]),_:1},8,["src"]),n("h2",_n,u(e.audio?.title),1)]),n("div",gn,[n("div",$n,[s(r,{size:30,src:e.audio?.image_url,class:"mr-2"},null,8,["src"]),n("span",null,u(e.audio?.title),1)]),n("p",vn,u(e.audio?.style),1),n("p",yn,u(e.$dayjs.format(e.audio?.created_at)),1),n("div",kn,[n("p",null,u(e.audio?.lyric),1)])])])):(i(),g("div",wn))}const Cn=A(pn,[["render",bn]]),Sn="https://webhook.acedata.cloud/suno",Vn=S({name:"SunoIndex",components:{Layout:Ne,ConfigPanel:ss,RecentPanel:dn,PreviewPanel:Cn},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.suno?.status?.getApplications===R.Request},tasksLoading(){return this.$store.state.suno?.status?.getTasks===R.Request||this.fetchingTasks},service(){return this.$store.state.suno.service},credential(){return this.$store.state.suno.credential},config(){return this.$store.state.suno.config},initializing(){return this.$store.state.suno.status.getApplications===R.Request},needApply(){return this.$store.state.suno.status.getApplications===R.Success&&!this.application},application(){return this.$store.state.suno.application},tasks(){return this.$store.state.suno.tasks},applications(){return this.$store.state.suno.applications}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Ge({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("suno/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplications"),await this.$store.dispatch("suno/getApplications"),console.debug("end onGetApplications"),await this.onGetTasks()},onApply(){Ee.create({application:this.application}).then(({data:e})=>{this.application=e,C.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===Te&&C.error(this.$t("application.message.alreadyApplied"))})},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:l,createdAtMax:o}=e||{};console.debug("limit",t,"createdAtMin",l,"createdAtMax",o),this.fetchingTasks=!0;try{await this.$store.dispatch("suno/getTasks",{limit:t,createdAtMin:l,createdAtMax:o})}finally{this.fetchingTasks=!1}},async onGenerateAudio(){const e={...this.config,callback_url:Sn},t=this.credential?.token;if(!t){console.error("no token specified");return}C.info(this.$t("suno.message.startingTask")),P.audio(e,{token:t}).then(()=>{C.success(this.$t("suno.message.startTaskSuccess"))}).catch(l=>{C.error(l?.response?.data?.error?.message||this.$t("suno.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ln(e,t,l,o,c,p){const d=a("config-panel"),_=a("recent-panel"),$=a("preview-panel"),r=a("layout");return i(),w(r,null,{config:m(()=>[s(d,{onGenerate:e.onGenerateAudio},null,8,["onGenerate"])]),result:m(()=>[s(_,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),preview:m(()=>[s($)]),_:1})}const Dn=A(Vn,[["render",Ln],["__scopeId","data-v-d1296b1a"]]);export{Dn as default};
1
+ import{F as M}from"./index.es-7RSklBi_.js";import{l as O,S as re,k as ce,N as ue,O as de,t as pe,u as C,s as B,a1 as x,a2 as ee,U as ie,e as J,j as N,D as ae,F as le,V as te,a3 as me,a4 as fe,Z as he,f as _e,g as ge,h as $e,p as ve,q as ye,K as ke,Y as we,a5 as be,a6 as Ce}from"./vendor-element-plus-B4FTqxj4.js";import{d as S,C as g,G as n,T as s,E as K,K as m,ai as a,D as i,O as y,R as u,S as D,ag as Y,J as w,Q as L,L as q,aq as Q,X as F,c as I,u as T,w as Se,b as Ve,P as Le,U as Ae}from"./vendor-vue-1w_NBnjl.js";import{_ as A,c4 as je,c5 as P,aj as Fe,ay as R,c6 as H,ar as Ee,ax as Te}from"./index-BkuLNx2-.js";import{I as G,S as Ue}from"./ScrollList-DHgQC1_v.js";import{C as Pe,N as Ie}from"./NoTasks-BYsoXaVq.js";import{a as ze}from"./price-Q1mTRsEK.js";import{j as Z}from"./vendor-dayjs-CzbnksQQ.js";import{l as Ge}from"./pagination-CihAE3FS.js";import"./vendor-web3-XrA95VRY.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const Me=S({name:"LayoutSuno",components:{ElDrawer:re,ElButton:O,FontAwesomeIcon:M},data(){return{drawer:!1,preview:!1}},computed:{}}),Re={class:"main flex flex-row flex-1"},De={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},We={class:"result h-full flex flex-col flex-1 min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"},Oe={class:"preview h-full w-[300px] flex flex-col"};function Be(e,t,l,o,c,p){const d=a("font-awesome-icon"),_=a("el-button"),$=a("el-drawer");return i(),g("div",Re,[n("div",De,[K(e.$slots,"config",{},void 0,!0)]),n("div",We,[K(e.$slots,"result",{},void 0,!0)]),n("div",Oe,[K(e.$slots,"preview",{},void 0,!0)]),s(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=r=>e.drawer=!0)},{default:m(()=>[s(d,{icon:"fa-solid fa-magic"})]),_:1}),s($,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=r=>e.drawer=r),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:m(()=>[K(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Ne=A(Me,[["render",Be],["__scopeId","data-v-c6c85757"]]),qe=S({name:"TypeSelector",components:{ElSelect:de,ElOption:ue,ElSwitch:ce},data(){return{options:[{label:"Suno v5",value:"chirp-v5",info:"8 min"},{label:"Suno v4.5+",value:"chirp-v4-5-plus",info:"8 min"},{label:"Suno v4.5",value:"chirp-v4-5",info:"4 min"},{label:"Suno v4",value:"chirp-v4",info:"2.5 min"},{label:"Suno v3.5",value:"chirp-v3-5",info:"2 min"},{label:"Suno v3",value:"chirp-v3-0",info:"2 min"}]}},computed:{custom:{get(){return this.$store.state.suno?.config?.custom||!1},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,custom:e})}},instrumental:{get(){return this.$store.state.suno?.config?.instrumental||!1},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,instrumental:e})}},model:{get(){return this.$store.state.suno?.config?.model},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:e})}}},mounted(){this.model||(this.model=je)}}),He={class:"flex items-center justify-between mb-3"},Ke={class:"text-sm font-bold"},Ze={class:"mb-3"},Xe={class:"flex items-center mb-1"},Ye={class:"text-sm font-bold"},Je={class:"flex items-center justify-between w-full"},Qe={class:"text-xs text-[var(--el-text-color-placeholder)]"},xe={key:0,class:"flex items-center justify-between mb-3"},et={class:"text-sm font-bold"};function tt(e,t,l,o,c,p){const d=a("el-switch"),_=a("el-option"),$=a("el-select");return i(),g("div",null,[n("div",He,[n("span",Ke,u(e.$t("suno.name.type")),1),s(d,{modelValue:e.custom,"onUpdate:modelValue":t[0]||(t[0]=r=>e.custom=r),size:"small"},null,8,["modelValue"])]),n("div",Ze,[n("div",Xe,[n("span",Ye,u(e.$t("suno.name.model")),1)]),s($,{modelValue:e.model,"onUpdate:modelValue":t[1]||(t[1]=r=>e.model=r),class:"w-full",size:"default",placeholder:e.$t("suno.placeholder.select")},{default:m(()=>[(i(!0),g(D,null,Y(e.options,r=>(i(),w(_,{key:r.value,label:r.label,value:r.value},{default:m(()=>[n("div",Je,[n("span",null,u(r.label),1),n("span",Qe,u(r.info),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),e.custom?(i(),g("div",xe,[n("span",et,u(e.$t("suno.name.instrumental")),1),s(d,{modelValue:e.instrumental,"onUpdate:modelValue":t[2]||(t[2]=r=>e.instrumental=r),size:"small"},null,8,["modelValue"])])):y("",!0)])}const ot=A(qe,[["render",tt]]),st=S({name:"UploadAudio",components:{ElUpload:pe,ElButton:O,InfoIcon:G,FontAwesomeIcon:M},emits:["change"],data(){return{fileList:[],uploadUrl:Fe()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},credential(){return this.$store.state.suno.credential},config(){return this.$store.state.suno.config},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.suno?.config?.audio_id},set(){}}},watch:{urls:{handler(e){this.$emit("change",e)}}},mounted(){this.value||(this.value=void 0),this.onSetAudio()},methods:{onExceed(){C.warning(this.$t("suno.message.uploadReferencesExceed"))},onError(){C.error(this.$t("suno.message.uploadReferencesError"))},async onSuccess(){const e=this.urls?.[0];await this.onGenerateAudioId(e)},async onGenerateAudioId(e){const t={audio_url:e},l=this.credential?.token;if(!l){console.error("no token specified");return}C.info(this.$t("suno.message.startingUploadAudio")),P.upload(t,{token:l}).then(o=>{console.debug("get upload music success",o.data);const c=o.data?.data.audio_id;this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,audio_id:c,action:"upload_extend"}),C.success(this.$t("suno.message.startUploadAudioSuccess"))}).catch(o=>{C.error(o?.response?.data?.error?.message||this.$t("suno.message.startUploadAudioFailed"))})},onSetAudio(){}}}),nt={class:"relative"},it={class:"flex justify-between"},at={class:"flex justify-start items-center"},lt={class:"text-sm font-bold"};function rt(e,t,l,o,c,p){const d=a("info-icon"),_=a("font-awesome-icon"),$=a("el-button"),r=a("el-upload");return i(),g("div",nt,[n("div",it,[n("div",at,[n("span",lt,u(e.$t("suno.name.referenceAudios")),1),s(d,{content:e.$t("suno.description.uploadAudios")},null,8,["content"])])]),s(r,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=h=>e.fileList=h),name:"file",limit:1,class:"upload-wrapper",action:e.uploadUrl,accept:".mp3","show-file-list":!0,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{default:m(()=>[s($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:m(()=>[s(_,{icon:"fa-solid fa-upload",class:"icon mr-1"}),L(" "+u(e.$t("suno.button.uploadAudios")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const ct=A(st,[["render",rt],["__scopeId","data-v-6236152c"]]),ut="",dt=S({name:"PromptInput",components:{ElInput:B,InfoIcon:G},computed:{prompt:{get(){return this.$store.state.suno?.config?.prompt},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ut)}}),pt={class:"field"},mt={class:"flex items-center mb-1"},ft={class:"text-sm font-bold"};function ht(e,t,l,o,c,p){const d=a("info-icon"),_=a("el-input");return i(),g("div",pt,[n("div",mt,[n("span",ft,u(e.$t("suno.name.songDescription")),1),s(d,{content:e.$t("suno.description.prompt")},null,8,["content"])]),s(_,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=$=>e.prompt=$),rows:4,type:"textarea",placeholder:e.$t("suno.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const _t=A(dt,[["render",ht]]),gt="",$t=S({name:"LyricInput",components:{ElInput:B,ElButton:O,FontAwesomeIcon:M,InfoIcon:G},data(){return{generatingLyrics:!1}},computed:{lyric:{get(){return this.$store.state.suno?.config?.lyric},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,lyric:e})}},config(){return this.$store.state.suno?.config},credential(){return this.$store.state.suno?.credential}},mounted(){this.lyric||(this.lyric=gt)},methods:{async onGenerateLyrics(){const e=this.credential?.token;if(!e)return;const t=this.config?.style||this.config?.title||"a beautiful song";this.generatingLyrics=!0,C.info(this.$t("suno.message.generatingLyrics"));try{const o=(await P.lyric({prompt:t},{token:e})).data?.data;o?.text&&(this.lyric=o.text,o?.title&&!this.config?.title&&this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,lyric:o.text,title:o.title}),C.success(this.$t("suno.message.generateLyricsSuccess")))}catch{C.error(this.$t("suno.message.generateLyricsFailed"))}finally{this.generatingLyrics=!1}}}}),vt={class:"field"},yt={class:"flex items-center justify-between mb-1"},kt={class:"flex items-center"},wt={class:"text-sm font-bold"};function bt(e,t,l,o,c,p){const d=a("info-icon"),_=a("font-awesome-icon"),$=a("el-button"),r=a("el-input");return i(),g("div",vt,[n("div",yt,[n("div",kt,[n("span",wt,u(e.$t("suno.name.lyrics")),1),s(d,{content:e.$t("suno.description.lyrics")},null,8,["content"])]),e.config?.action!=="extend"?(i(),w($,{key:0,size:"small",loading:e.generatingLyrics,round:"",onClick:e.onGenerateLyrics},{default:m(()=>[e.generatingLyrics?y("",!0):(i(),w(_,{key:0,icon:"fa-solid fa-wand-magic-sparkles",class:"mr-1"})),L(" "+u(e.$t("suno.button.generate_lyrics")),1)]),_:1},8,["loading","onClick"])):y("",!0)]),e.config?.action!=="extend"?(i(),w(r,{key:0,modelValue:e.lyric,"onUpdate:modelValue":t[0]||(t[0]=h=>e.lyric=h),rows:5,type:"textarea",class:"lyrics",placeholder:e.$t("suno.placeholder.lyrics")},null,8,["modelValue","placeholder"])):(i(),w(r,{key:1,modelValue:e.lyric,"onUpdate:modelValue":t[1]||(t[1]=h=>e.lyric=h),rows:5,type:"textarea",class:"lyrics",placeholder:e.$t("suno.placeholder.extend.lyrics")},null,8,["modelValue","placeholder"]))])}const Ct=A($t,[["render",bt],["__scopeId","data-v-210d2670"]]),St=S({name:"StyleInput",components:{ElInput:B,ElButton:O,FontAwesomeIcon:M,InfoIcon:G},data(){return{optimizing:!1}},computed:{style:{get(){return this.$store.state.suno?.config?.style},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,style:e})}},credential(){return this.$store.state.suno?.credential}},methods:{async onOptimizeStyle(){const e=this.credential?.token;if(!(!e||!this.style)){this.optimizing=!0,C.info(this.$t("suno.message.optimizingStyle"));try{const t=await P.style({prompt:this.style},{token:e}),l=t.data?.text||t.data?.data?.text;l&&(this.style=l,C.success(this.$t("suno.message.optimizeStyleSuccess")))}catch{C.error(this.$t("suno.message.optimizeStyleFailed"))}finally{this.optimizing=!1}}}}}),Vt={class:"field"},Lt={class:"flex items-center justify-between mb-1"},At={class:"flex items-center"},jt={class:"text-sm font-bold"};function Ft(e,t,l,o,c,p){const d=a("info-icon"),_=a("font-awesome-icon"),$=a("el-button"),r=a("el-input");return i(),g("div",Vt,[n("div",Lt,[n("div",At,[n("span",jt,u(e.$t("suno.name.style")),1),s(d,{content:e.$t("suno.description.style")},null,8,["content"])]),s($,{size:"small",loading:e.optimizing,round:"",onClick:e.onOptimizeStyle},{default:m(()=>[e.optimizing?y("",!0):(i(),w(_,{key:0,icon:"fa-solid fa-wand-magic-sparkles",class:"mr-1"})),L(" "+u(e.$t("suno.button.optimize_style")),1)]),_:1},8,["loading","onClick"])]),s(r,{modelValue:e.style,"onUpdate:modelValue":t[0]||(t[0]=h=>e.style=h),rows:2,type:"textarea",placeholder:e.$t("suno.placeholder.style")},null,8,["modelValue","placeholder"])])}const Et=A(St,[["render",Ft]]),Tt=S({name:"TitleInput",components:{ElInput:B,InfoIcon:G},computed:{title:{get(){return this.$store.state.suno?.config?.title},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,title:e})}}}}),Ut={class:"field"},Pt={class:"flex items-center mb-1"},It={class:"text-sm font-bold"};function zt(e,t,l,o,c,p){const d=a("info-icon"),_=a("el-input");return i(),g("div",Ut,[n("div",Pt,[n("span",It,u(e.$t("suno.name.title")),1),s(d,{content:e.$t("suno.description.title")},null,8,["content"])]),s(_,{modelValue:e.title,"onUpdate:modelValue":t[0]||(t[0]=$=>e.title=$),placeholder:e.$t("suno.placeholder.title")},null,8,["modelValue","placeholder"])])}const Gt=A(Tt,[["render",zt]]);function W(e){const t=Math.floor(e)%60;e=Math.floor(e/60);const l=e%60,o=l<10?`0${l}`:l,c=t<10?`0${t}`:t;return o+":"+c}const Mt=S({name:"ExtendFromInput",components:{ElImage:N,ElIcon:J,ElInputNumber:ie,VideoPlay:ee,VideoPause:x},data(){return{}},computed:{audio(){return this.$store.state.suno?.config?.audio},value:{get(){return this.$store.state.suno?.config?.continue_at},set(e){console.debug("set continue_at",e),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,continue_at:e?parseInt(e):void 0})}}},mounted(){this.value||(this.value=void 0)},methods:{handleChange(e){if(e===void 0){this.value=void 0;return}e<0?this.value=0:e>this.audio?.duration?this.value=this.audio?.duration:this.value=e},useFormatDuring:W,onPlay(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.suno?.audio?.id!==e.id&&this.onPlay({...e,progress:0})}}}),Rt={class:"field"},Dt={class:"box"},Wt={class:"title font-bold"},Ot={class:"input-wrapper"},Bt={class:"task"},Nt={class:"left"},qt={key:2,class:"duration"},Ht={class:"info"},Kt={class:"title"},Zt={class:"style"};function Xt(e,t,l,o,c,p){const d=a("el-input-number"),_=a("el-image"),$=a("video-pause"),r=a("el-icon"),h=a("video-play"),b=Q("loading");return i(),g("div",Rt,[n("div",Dt,[n("h2",Wt,u(e.$t("suno.name.extend")),1),n("div",Ot,[s(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=f=>e.value=f),class:"value",min:0,max:e.audio?.duration,controls:!1,placeholder:e.$t("suno.placeholder.extend.continue_at"),onChange:e.handleChange},null,8,["modelValue","max","placeholder","onChange"])])]),n("div",Bt,[e.audio?(i(),g("div",{key:0,class:"audio",onClick:t[3]||(t[3]=f=>e.onClick(e.audio))},[q((i(),g("div",Nt,[s(_,{src:e.audio?.image_url,class:"cover",fit:"cover"},null,8,["src"]),e.audio?.audio_url&&e.$store.state?.suno?.audio?.id===e.audio.id&&e.$store.state?.suno?.audio?.state==="playing"?(i(),g("div",{key:0,class:"overlay",onClick:t[1]||(t[1]=f=>e.onPause(e.audio))},[s(r,null,{default:m(()=>[s($)]),_:1})])):y("",!0),e.audio?.audio_url&&(e.$store.state?.suno?.audio?.id!==e.audio.id||e.$store.state?.suno?.audio?.id===e.audio.id&&e.$store.state?.suno?.audio?.state==="paused")?(i(),g("div",{key:1,class:"overlay",onClick:t[2]||(t[2]=f=>e.onPlay(e.audio))},[s(r,null,{default:m(()=>[s(h)]),_:1})])):y("",!0),e.audio?.duration?(i(),g("div",qt,u(e.useFormatDuring(e.audio?.duration)),1)):y("",!0)])),[[b,!e.audio?.audio_url]]),n("div",Ht,[n("h2",Kt,u(e.audio?.title),1),n("p",Zt,u(e.audio?.style),1)])])):y("",!0)])])}const Yt=A(Mt,[["render",Xt],["__scopeId","data-v-bcce4821"]]),Jt=S({name:"CoverFromInput",components:{ElImage:N,ElIcon:J,VideoPlay:ee,VideoPause:x},data(){return{}},computed:{audio(){return this.$store.state.suno?.config?.audio},value:{get(){return this.$store.state.suno?.config?.continue_at},set(e){console.debug("set continue_at",e),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,continue_at:e?parseInt(e):void 0})}}},mounted(){this.value||(this.value=void 0)},methods:{handleChange(e){e<0?this.value=0:e>this.audio?.duration?this.value=this.audio?.duration:this.value=e},useFormatDuring:W,onPlay(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.suno?.audio?.id!==e.id&&this.onPlay({...e,progress:0})}}}),Qt={class:"field"},xt={class:"box"},eo={class:"title font-bold"},to={class:"task"},oo={class:"left"},so={key:2,class:"duration"},no={class:"info"},io={class:"title"},ao={class:"style"};function lo(e,t,l,o,c,p){const d=a("el-image"),_=a("video-pause"),$=a("el-icon"),r=a("video-play"),h=Q("loading");return i(),g("div",Qt,[n("div",xt,[n("h2",eo,u(e.$t("suno.name.cover")),1)]),n("div",to,[e.audio?(i(),g("div",{key:0,class:"audio",onClick:t[2]||(t[2]=b=>e.onClick(e.audio))},[q((i(),g("div",oo,[s(d,{src:e.audio?.image_url,class:"cover",fit:"cover"},null,8,["src"]),e.audio?.audio_url&&e.$store.state?.suno?.audio?.id===e.audio.id&&e.$store.state?.suno?.audio?.state==="playing"?(i(),g("div",{key:0,class:"overlay",onClick:t[0]||(t[0]=b=>e.onPause(e.audio))},[s($,null,{default:m(()=>[s(_)]),_:1})])):y("",!0),e.audio?.audio_url&&(e.$store.state?.suno?.audio?.id!==e.audio.id||e.$store.state?.suno?.audio?.id===e.audio.id&&e.$store.state?.suno?.audio?.state==="paused")?(i(),g("div",{key:1,class:"overlay",onClick:t[1]||(t[1]=b=>e.onPlay(e.audio))},[s($,null,{default:m(()=>[s(r)]),_:1})])):y("",!0),e.audio?.duration?(i(),g("div",so,u(e.useFormatDuring(e.audio?.duration)),1)):y("",!0)])),[[h,!e.audio?.audio_url]]),n("div",no,[n("h2",io,u(e.audio?.title),1),n("p",ao,u(e.audio?.style),1)])])):y("",!0)])])}const ro=A(Jt,[["render",lo],["__scopeId","data-v-06640216"]]),co=S({name:"VocalGenderSelector",components:{ElRadioGroup:le,ElRadioButton:ae,InfoIcon:G},computed:{vocalGender:{get(){return this.$store.state.suno?.config?.vocal_gender||""},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,vocal_gender:e||void 0})}}}}),uo={class:"mb-2"},po={class:"flex items-center mb-1"},mo={class:"text-sm font-bold"};function fo(e,t,l,o,c,p){const d=a("info-icon"),_=a("el-radio-button"),$=a("el-radio-group");return i(),g("div",uo,[n("div",po,[n("span",mo,u(e.$t("suno.name.vocalGender")),1),s(d,{content:e.$t("suno.description.vocalGender")},null,8,["content"])]),s($,{modelValue:e.vocalGender,"onUpdate:modelValue":t[0]||(t[0]=r=>e.vocalGender=r),size:"small"},{default:m(()=>[s(_,{value:""},{default:m(()=>[L(u(e.$t("suno.gender.auto")),1)]),_:1}),s(_,{value:"f"},{default:m(()=>[L(u(e.$t("suno.gender.female")),1)]),_:1}),s(_,{value:"m"},{default:m(()=>[L(u(e.$t("suno.gender.male")),1)]),_:1})]),_:1},8,["modelValue"])])}const ho=A(co,[["render",fo]]),_o=S({name:"AdvancedParams",components:{ElCollapse:fe,ElCollapseItem:me,ElInput:B,ElSlider:te,ElRadioGroup:le,ElRadioButton:ae},data(){return{activeNames:[]}},computed:{config(){return this.$store.state.suno?.config},isV5OrAbove(){return(this.config?.model||"")==="chirp-v5"},styleNegative:{get(){return this.$store.state.suno?.config?.style_negative||""},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,style_negative:e||void 0})}},lyricPrompt:{get(){return this.$store.state.suno?.config?.lyric_prompt||""},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,lyric_prompt:e||void 0})}},weirdness:{get(){return this.$store.state.suno?.config?.weirdness??0},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,weirdness:e||void 0})}},styleInfluence:{get(){return this.$store.state.suno?.config?.style_influence??50},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,style_influence:e})}},variationCategory:{get(){return this.$store.state.suno?.config?.variation_category||""},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,variation_category:e||void 0})}},audioWeight:{get(){return this.$store.state.suno?.config?.audio_weight??50},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,audio_weight:e})}}}}),go={key:0,class:"mb-3"},$o={class:"flex items-center mb-1"},vo={class:"text-xs font-bold"},yo={key:1,class:"mb-3"},ko={class:"flex items-center mb-1"},wo={class:"text-xs font-bold"},bo={key:2,class:"mb-3"},Co={class:"flex items-center justify-between mb-1"},So={class:"text-xs font-bold"},Vo={class:"text-xs text-[var(--el-text-color-secondary)]"},Lo={key:3,class:"mb-3"},Ao={class:"flex items-center justify-between mb-1"},jo={class:"text-xs font-bold"},Fo={class:"text-xs text-[var(--el-text-color-secondary)]"},Eo={key:4,class:"mb-3"},To={class:"flex items-center mb-1"},Uo={class:"text-xs font-bold"},Po={key:5,class:"mb-3"},Io={class:"flex items-center justify-between mb-1"},zo={class:"text-xs font-bold"},Go={class:"text-xs text-[var(--el-text-color-secondary)]"};function Mo(e,t,l,o,c,p){const d=a("el-input"),_=a("el-slider"),$=a("el-radio-button"),r=a("el-radio-group"),h=a("el-collapse-item"),b=a("el-collapse");return i(),w(b,{modelValue:e.activeNames,"onUpdate:modelValue":t[6]||(t[6]=f=>e.activeNames=f),class:"advanced-collapse"},{default:m(()=>[s(h,{title:e.$t("suno.name.advancedParams"),name:"advanced"},{default:m(()=>[e.config?.custom?(i(),g("div",go,[n("div",$o,[n("span",vo,u(e.$t("suno.name.styleNegative")),1)]),s(d,{modelValue:e.styleNegative,"onUpdate:modelValue":t[0]||(t[0]=f=>e.styleNegative=f),size:"small",placeholder:e.$t("suno.placeholder.styleNegative")},null,8,["modelValue","placeholder"])])):y("",!0),e.config?.custom&&!e.config?.instrumental?(i(),g("div",yo,[n("div",ko,[n("span",wo,u(e.$t("suno.name.lyricPrompt")),1)]),s(d,{modelValue:e.lyricPrompt,"onUpdate:modelValue":t[1]||(t[1]=f=>e.lyricPrompt=f),size:"small",placeholder:e.$t("suno.placeholder.lyricPrompt")},null,8,["modelValue","placeholder"])])):y("",!0),e.config?.custom?(i(),g("div",bo,[n("div",Co,[n("span",So,u(e.$t("suno.name.weirdness")),1),n("span",Vo,u(e.weirdness??0),1)]),s(_,{modelValue:e.weirdness,"onUpdate:modelValue":t[2]||(t[2]=f=>e.weirdness=f),min:0,max:100,step:1,size:"small"},null,8,["modelValue"])])):y("",!0),e.config?.custom?(i(),g("div",Lo,[n("div",Ao,[n("span",jo,u(e.$t("suno.name.styleInfluence")),1),n("span",Fo,u(e.styleInfluence??50),1)]),s(_,{modelValue:e.styleInfluence,"onUpdate:modelValue":t[3]||(t[3]=f=>e.styleInfluence=f),min:0,max:100,step:1,size:"small"},null,8,["modelValue"])])):y("",!0),e.isV5OrAbove?(i(),g("div",Eo,[n("div",To,[n("span",Uo,u(e.$t("suno.name.variationCategory")),1)]),s(r,{modelValue:e.variationCategory,"onUpdate:modelValue":t[4]||(t[4]=f=>e.variationCategory=f),size:"small"},{default:m(()=>[s($,{value:""},{default:m(()=>[L(u(e.$t("suno.gender.auto")),1)]),_:1}),s($,{value:"high"},{default:m(()=>[L(u(e.$t("suno.variation.high")),1)]),_:1}),s($,{value:"low"},{default:m(()=>[L(u(e.$t("suno.variation.low")),1)]),_:1})]),_:1},8,["modelValue"])])):y("",!0),e.config?.action==="cover"?(i(),g("div",Po,[n("div",Io,[n("span",zo,u(e.$t("suno.name.audioWeight")),1),n("span",Go,u(e.audioWeight??50),1)]),s(_,{modelValue:e.audioWeight,"onUpdate:modelValue":t[5]||(t[5]=f=>e.audioWeight=f),min:0,max:100,step:1,size:"small"},null,8,["modelValue"])])):y("",!0)]),_:1},8,["title"])]),_:1},8,["modelValue"])}const Ro=A(_o,[["render",Mo],["__scopeId","data-v-be135363"]]),Do=S({name:"ReplaceSectionInput",components:{ElInputNumber:ie,ElImage:N,InfoIcon:G},computed:{audio(){return this.$store.state.suno?.config?.audio},replaceSectionStart:{get(){return this.$store.state.suno?.config?.replace_section_start},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,replace_section_start:e})}},replaceSectionEnd:{get(){return this.$store.state.suno?.config?.replace_section_end},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,replace_section_end:e})}}},methods:{onClick(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"playing"})}}}),Wo={class:"field"},Oo={class:"flex items-center mb-2"},Bo={class:"text-sm font-bold m-0"},No={key:0,class:"task mb-2"},qo={class:"left relative w-[50px] h-[50px] mr-3 flex-shrink-0"},Ho={class:"info flex-1 min-w-0"},Ko={class:"text-sm font-bold m-0 truncate"},Zo={class:"text-xs text-[var(--el-text-color-secondary)] m-0 truncate"},Xo={class:"flex gap-2"};function Yo(e,t,l,o,c,p){const d=a("info-icon"),_=a("el-image"),$=a("el-input-number"),r=Q("loading");return i(),g("div",Wo,[n("div",Oo,[n("h2",Bo,u(e.$t("suno.name.replaceSection")),1),s(d,{content:e.$t("suno.description.replaceSection")},null,8,["content"])]),e.audio?(i(),g("div",No,[n("div",{class:"audio flex items-center",onClick:t[0]||(t[0]=h=>e.onClick(e.audio))},[q((i(),g("div",qo,[s(_,{src:e.audio?.image_url,class:"w-full h-full rounded",fit:"cover"},null,8,["src"])])),[[r,!e.audio?.audio_url]]),n("div",Ho,[n("h2",Ko,u(e.audio?.title),1),n("p",Zo,u(e.audio?.style),1)])])])):y("",!0),n("div",Xo,[s($,{modelValue:e.replaceSectionStart,"onUpdate:modelValue":t[1]||(t[1]=h=>e.replaceSectionStart=h),class:"flex-1",size:"small",min:0,max:e.audio?.duration,controls:!1,placeholder:e.$t("suno.placeholder.replaceSectionStart")},null,8,["modelValue","max","placeholder"]),s($,{modelValue:e.replaceSectionEnd,"onUpdate:modelValue":t[2]||(t[2]=h=>e.replaceSectionEnd=h),class:"flex-1",size:"small",min:e.replaceSectionStart||0,max:e.audio?.duration,controls:!1,placeholder:e.$t("suno.placeholder.replaceSectionEnd")},null,8,["modelValue","min","max","placeholder"])])])}const Jo=A(Do,[["render",Yo]]),Qo=S({name:"PresetPanel",components:{TypeSelector:ot,PromptInput:_t,LyricInput:Ct,StyleInput:Et,TitleInput:Gt,ExtendFromInput:Yt,CoverFromInput:ro,UploadAudio:ct,VocalGenderSelector:ho,AdvancedParams:Ro,ReplaceSectionInput:Jo,FontAwesomeIcon:M,ElButton:O,Consumption:Pe},emits:["generate"],computed:{config(){return this.$store.state.suno?.config},consumption(){return ze(this.config,this.service?.cost)},service(){return this.$store.state.suno?.service},supportsVocalGender(){const e=this.config?.model||"";return["chirp-v4-5-plus","chirp-v5"].includes(e)},generateButtonText(){const e=this.config?.action;return e==="extend"?this.$t("suno.button.extend"):e==="cover"?this.$t("suno.button.cover_music"):e==="remaster"?this.$t("suno.button.remaster"):e==="replace_section"?this.$t("suno.button.replace_section"):e==="mashup"?this.$t("suno.button.mashup"):e==="stems"?this.$t("suno.button.get_stems"):e==="concat"?this.$t("suno.button.concat_music"):this.$t("suno.button.generate")}},methods:{onGenerate(){this.$emit("generate")}}}),xo={class:"flex flex-col h-full"},es={class:"flex-1 overflow-y-auto p-5"},ts={class:"flex flex-col items-center justify-center px-5 pb-5"};function os(e,t,l,o,c,p){const d=a("type-selector"),_=a("upload-audio"),$=a("prompt-input"),r=a("lyric-input"),h=a("style-input"),b=a("title-input"),f=a("vocal-gender-selector"),k=a("extend-from-input"),U=a("cover-from-input"),E=a("replace-section-input"),j=a("advanced-params"),v=a("consumption"),V=a("font-awesome-icon"),z=a("el-button");return i(),g("div",xo,[n("div",es,[s(d,{class:"mb-4"}),s(_,{class:"mb-4"}),e.config?.custom?y("",!0):(i(),w($,{key:0,class:"mb-4"})),e.config?.custom&&!e.config.instrumental?(i(),w(r,{key:1,class:"mb-4"})):y("",!0),e.config?.custom?(i(),w(h,{key:2,class:"mb-4"})):y("",!0),e.config?.custom?(i(),w(b,{key:3,class:"mb-4"})):y("",!0),e.config?.custom&&!e.config.instrumental&&e.supportsVocalGender?(i(),w(f,{key:4,class:"mb-4"})):y("",!0),e.config?.action==="extend"?(i(),w(k,{key:5,class:"mb-4"})):y("",!0),e.config?.action==="cover"?(i(),w(U,{key:6,class:"mb-4"})):y("",!0),e.config?.action==="replace_section"?(i(),w(E,{key:7,class:"mb-4"})):y("",!0),s(j,{class:"mb-4"})]),n("div",ts,[s(v,{value:e.consumption,service:e.service},null,8,["value","service"]),s(z,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:m(()=>[s(V,{icon:"fa-solid fa-magic",class:"mr-2"}),L(" "+u(e.generateButtonText),1)]),_:1},8,["onClick"])])])}const ss=A(Qo,[["render",os],["__scopeId","data-v-a4cbdb91"]]);var X={exports:{}},ns=X.exports,se;function is(){return se||(se=1,function(e,t){(function(l,o){o()})(ns,function(){function l(r,h){return typeof h>"u"?h={autoBom:!1}:typeof h!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),h={autoBom:!h}),h.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(r.type)?new Blob(["\uFEFF",r],{type:r.type}):r}function o(r,h,b){var f=new XMLHttpRequest;f.open("GET",r),f.responseType="blob",f.onload=function(){$(f.response,h,b)},f.onerror=function(){console.error("could not download file")},f.send()}function c(r){var h=new XMLHttpRequest;h.open("HEAD",r,!1);try{h.send()}catch{}return 200<=h.status&&299>=h.status}function p(r){try{r.dispatchEvent(new MouseEvent("click"))}catch{var h=document.createEvent("MouseEvents");h.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),r.dispatchEvent(h)}}var d=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof Z=="object"&&Z.global===Z?Z:void 0,_=d.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),$=d.saveAs||(typeof window!="object"||window!==d?function(){}:"download"in HTMLAnchorElement.prototype&&!_?function(r,h,b){var f=d.URL||d.webkitURL,k=document.createElement("a");h=h||r.name||"download",k.download=h,k.rel="noopener",typeof r=="string"?(k.href=r,k.origin===location.origin?p(k):c(k.href)?o(r,h,b):p(k,k.target="_blank")):(k.href=f.createObjectURL(r),setTimeout(function(){f.revokeObjectURL(k.href)},4e4),setTimeout(function(){p(k)},0))}:"msSaveOrOpenBlob"in navigator?function(r,h,b){if(h=h||r.name||"download",typeof r!="string")navigator.msSaveOrOpenBlob(l(r,b),h);else if(c(r))o(r,h,b);else{var f=document.createElement("a");f.href=r,f.target="_blank",setTimeout(function(){p(f)})}}:function(r,h,b,f){if(f=f||open("","_blank"),f&&(f.document.title=f.document.body.innerText="downloading..."),typeof r=="string")return o(r,h,b);var k=r.type==="application/octet-stream",U=/constructor/i.test(d.HTMLElement)||d.safari,E=/CriOS\/[\d]+/.test(navigator.userAgent);if((E||k&&U||_)&&typeof FileReader<"u"){var j=new FileReader;j.onloadend=function(){var z=j.result;z=E?z:z.replace(/^data:[^;]*;/,"data:attachment/file;"),f?f.location.href=z:location=z,f=null},j.readAsDataURL(r)}else{var v=d.URL||d.webkitURL,V=v.createObjectURL(r);f?f.location=V:location.href=V,f=null,setTimeout(function(){v.revokeObjectURL(V)},4e4)}});d.saveAs=$.saveAs=$,e.exports=$})}(X)),X.exports}var as=is();const ls="https://webhook.acedata.cloud/suno",rs=S({name:"TaskPreview",components:{ElImage:N,ElIcon:J,ElTooltip:ve,FontAwesomeIcon:M,VideoPlay:ee,VideoPause:x,ElDropdown:$e,ElDropdownMenu:ge,ElDropdownItem:_e,Loading:he},props:{modelValue:{type:Object,required:!0}},data(){return{isFetchingVideoUrl:!1,isFetchingWav:!1,isFetchingMidi:!1}},computed:{loading(){return this.$store.state.suno?.status?.getApplications===R.Request},credential(){return this.$store.state.suno.credential},config(){return this.$store.state.suno.config},task(){return this.$store.state.suno?.tasks},audios(){const e=this.modelValue?.response?.data??[],t=this.modelValue?.request?.action;return t?e.map(l=>({...l,action:t})):e},application(){return this.$store.state.suno?.application},active(){return this.$store.state.suno?.tasks?.active}},methods:{useFormatDuring:W,onPlay(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.suno?.audio?.id!==e.id&&this.onPlay({...e,progress:0})},onExtend(e,t){e.stopPropagation(),console.log("on extend"),console.debug("set config",t),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:t.model,custom:!0,instrumental:!1,style:t.style,action:"extend",audio:t,audio_id:t.id,continue_at:t.duration})},onDownload(e,t){e&&e.stopPropagation(),console.log("on download",t);const o=new URL(t).pathname,c=o.substring(o.lastIndexOf("/")+1);console.log("on preview",c),fetch(t).then(p=>p.blob()).then(p=>{as.saveAs(p,c)})},async handleVideoDownload(e){if(e.video_url){this.onDownload(null,e.video_url);return}if(!this.isFetchingVideoUrl)try{this.isFetchingVideoUrl=!0;const t=await this.fetchVideoUrlFromApi(e?.id);console.log(`get videoUrl: ${t}`),e.video_url=t,this.onDownload(null,t)}catch(t){console.error("get videoUrl failed:",t),C.error(this.$t("suno.message.getVideoUrlFailed"))}finally{this.isFetchingVideoUrl=!1}},async fetchVideoUrlFromApi(e){return new Promise((t,l)=>{const o={audio_id:e},c=this.credential?.token;if(!c){console.error("no token specified"),l(new Error("No token specified"));return}P.mp4(o,{token:c}).then(p=>{const d=p.data?.data?.video_url;d?t(d):l(new Error("Video URL not found in response"))}).catch(p=>{l(p)})})},onPreview(e,t){e.stopPropagation(),console.log("on preview",t),window.open(t,"_blank")},async onGetStems(e){await this.onGenerateAudioUrl("stems",e)},onCover(e){console.log("on cover"),console.debug("set config",e),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:e.model,custom:!0,instrumental:!1,style:e.style,action:"cover",audio:e,audio_id:e.id})},async onConcatMusic(e){await this.onGenerateAudioUrl("concat",e)},async onRemaster(e){await this.onGenerateAudioUrl("remaster",e)},async onGetAllStems(e){await this.onGenerateAudioUrl("all_stems",e)},onReplaceSection(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:e.model,custom:!0,instrumental:!1,style:e.style,action:"replace_section",audio:e,audio_id:e.id,replace_section_start:0,replace_section_end:Math.min(30,e.duration||30)})},onMashup(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:e.model,custom:!0,style:e.style,action:"mashup",audio:e,audio_id:e.id,mashup_audio_ids:[e.id]})},async handleWavDownload(e){if(!e?.id||this.isFetchingWav)return;const t=this.credential?.token;if(t)try{this.isFetchingWav=!0,C.info(this.$t("suno.message.fetchingWav"));const o=(await P.wav({audio_id:e.id},{token:t})).data?.data?.audio_url;o?this.onDownload(null,o):C.error(this.$t("suno.message.fetchWavFailed"))}catch{C.error(this.$t("suno.message.fetchWavFailed"))}finally{this.isFetchingWav=!1}},async handleMidiDownload(e){if(!e?.id||this.isFetchingMidi)return;const t=this.credential?.token;if(t)try{this.isFetchingMidi=!0,C.info(this.$t("suno.message.fetchingMidi"));const o=(await P.midi({audio_id:e.id},{token:t})).data?.data?.midi_url;o?this.onDownload(null,o):C.error(this.$t("suno.message.fetchMidiFailed"))}catch{C.error(this.$t("suno.message.fetchMidiFailed"))}finally{this.isFetchingMidi=!1}},async onGenerateAudioUrl(e,t){const l={action:e,audio_id:t,callback_url:ls},o=this.credential?.token;if(!o){console.error("no token specified");return}C.info(this.$t("suno.message.startingTask")),P.audio(l,{token:o}).then(()=>{C.success(this.$t("suno.message.startTaskSuccess"))}).catch(c=>{C.error(c?.response?.data?.error?.message||this.$t("suno.message.startTaskFailed"))}).finally(async()=>{await this.onGetTasks(),await this.onScrollDown()})},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".tasks");e&&(e.scrollTop=e.scrollHeight)},1e3)},async onGetTasks(){if(this.loading){console.debug("loading");return}await this.$store.dispatch("suno/getTasks",{limit:30,offset:0})}}}),cs={class:"task"},us=["onClick"],ds={class:"left"},ps=["onClick"],ms=["onClick"],fs={key:2,class:"duration"},hs={class:"info"},_s={class:"title"},gs={class:"style"},$s={class:"right"},vs={class:"el-dropdown-link"},ys={class:"flex items-center min-w-[120px]"},ks={class:"flex items-center min-w-[120px]"},ws={class:"flex items-center min-w-[120px]"},bs={class:"el-dropdown-link"};function Cs(e,t,l,o,c,p){const d=a("el-image"),_=a("video-pause"),$=a("el-icon"),r=a("video-play"),h=a("font-awesome-icon"),b=a("el-tooltip"),f=a("Loading"),k=a("el-dropdown-item"),U=a("el-dropdown-menu"),E=a("el-dropdown"),j=Q("loading");return i(),g("div",cs,[(i(!0),g(D,null,Y(e.audios,v=>(i(),g("div",{key:v.id,class:"audio",onClick:F(V=>e.onClick(v),["stop"])},[q((i(),g("div",ds,[s(d,{src:v?.image_url,class:"cover",fit:"cover",lazy:""},null,8,["src"]),v?.audio_url&&e.$store.state?.suno?.audio?.id===v.id&&e.$store.state?.suno?.audio?.state==="playing"?(i(),g("div",{key:0,class:"overlay",onClick:F(V=>e.onPause(v),["stop"])},[s($,null,{default:m(()=>[s(_)]),_:1})],8,ps)):y("",!0),v?.audio_url&&(e.$store.state?.suno?.audio?.id!==v.id||e.$store.state?.suno?.audio?.id===v.id&&e.$store.state?.suno?.audio?.state==="paused")?(i(),g("div",{key:1,class:"overlay",onClick:F(V=>e.onPlay(v),["stop"])},[s($,null,{default:m(()=>[s(r)]),_:1})],8,ms)):y("",!0),v?.duration?(i(),g("div",fs,u(e.useFormatDuring(v?.duration)),1)):y("",!0)])),[[j,!v?.audio_url]]),n("div",hs,[n("h2",_s,u(v?.title),1),n("p",gs,u(v?.style),1)]),n("div",$s,[s(E,null,{dropdown:m(()=>[s(U,null,{default:m(()=>[s(k,{disabled:e.isFetchingVideoUrl,onClick:V=>e.handleVideoDownload(v)},{default:m(()=>[n("div",ys,[e.isFetchingVideoUrl?(i(),w($,{key:0,class:"is-loading mr-2"},{default:m(()=>[s(f)]),_:1})):y("",!0),n("span",null,u(e.$t("suno.button.download_video")),1)])]),_:2},1032,["disabled","onClick"]),v?.audio_url?(i(),w(k,{key:0,onClick:F(V=>e.onDownload(V,v?.audio_url),["stop"])},{default:m(()=>[L(u(e.$t("suno.button.download_audio")),1)]),_:2},1032,["onClick"])):y("",!0),s(k,{disabled:e.isFetchingWav,onClick:V=>e.handleWavDownload(v)},{default:m(()=>[n("div",ks,[e.isFetchingWav?(i(),w($,{key:0,class:"is-loading mr-2"},{default:m(()=>[s(f)]),_:1})):y("",!0),n("span",null,u(e.$t("suno.button.download_wav")),1)])]),_:2},1032,["disabled","onClick"]),s(k,{disabled:e.isFetchingMidi,onClick:V=>e.handleMidiDownload(v)},{default:m(()=>[n("div",ws,[e.isFetchingMidi?(i(),w($,{key:0,class:"is-loading mr-2"},{default:m(()=>[s(f)]),_:1})):y("",!0),n("span",null,u(e.$t("suno.button.download_midi")),1)])]),_:2},1032,["disabled","onClick"])]),_:2},1024)]),default:m(()=>[n("span",vs,[s(b,{effect:"dark",content:e.$t("suno.button.download"),placement:"top"},{default:m(()=>[v?.audio_url||v?.video_url?(i(),w(h,{key:0,icon:"fa-solid fa-download",class:"icon icon-download"})):y("",!0)]),_:2},1032,["content"])])]),_:2},1024),s(E,null,{dropdown:m(()=>[s(U,null,{default:m(()=>[v?.audio_url?(i(),w(k,{key:0,onClick:F(V=>e.onExtend(V,v),["stop"])},{default:m(()=>[L(u(e.$t("suno.button.extend")),1)]),_:2},1032,["onClick"])):y("",!0),v.id?(i(),w(k,{key:1,onClick:F(V=>e.onGetStems(v.id),["stop"])},{default:m(()=>[L(u(e.$t("suno.button.get_stems")),1)]),_:2},1032,["onClick"])):y("",!0),v.id?(i(),w(k,{key:2,onClick:F(V=>e.onGetAllStems(v.id),["stop"])},{default:m(()=>[L(u(e.$t("suno.button.all_stems")),1)]),_:2},1032,["onClick"])):y("",!0),s(k,{onClick:F(V=>e.onCover(v),["stop"])},{default:m(()=>[L(u(e.$t("suno.button.cover_music")),1)]),_:2},1032,["onClick"]),v?.id?(i(),w(k,{key:3,onClick:F(V=>e.onRemaster(v.id),["stop"])},{default:m(()=>[L(u(e.$t("suno.button.remaster")),1)]),_:2},1032,["onClick"])):y("",!0),v?.id?(i(),w(k,{key:4,onClick:F(V=>e.onReplaceSection(v),["stop"])},{default:m(()=>[L(u(e.$t("suno.button.replace_section")),1)]),_:2},1032,["onClick"])):y("",!0),v?.id?(i(),w(k,{key:5,onClick:F(V=>e.onMashup(v),["stop"])},{default:m(()=>[L(u(e.$t("suno.button.mashup")),1)]),_:2},1032,["onClick"])):y("",!0),v?.id&&v?.action==="extend"?(i(),w(k,{key:6,onClick:F(V=>e.onConcatMusic(v?.id),["stop"])},{default:m(()=>[L(u(e.$t("suno.button.concat_music")),1)]),_:2},1032,["onClick"])):y("",!0)]),_:2},1024)]),default:m(()=>[n("span",bs,[s(b,{effect:"dark",content:e.$t("suno.button.more"),placement:"top"},{default:m(()=>[v?.audio_url||v?.video_url?(i(),w(h,{key:0,icon:"fa-solid fa-ellipsis",class:"icon icon-ellipsis"})):y("",!0)]),_:2},1032,["content"])])]),_:2},1024)])],8,us))),128))])}const Ss=A(rs,[["render",Cs]]),Vs={class:"player-slider"},Ls=S({__name:"PlayerSlider",setup(e){const t=H(),l=I({get:()=>t.state.suno?.audio?.progress,set:d=>t.commit("suno/setAudio",{...t.state.suno.audio,progress:d})}),o=I({get:()=>t.state.suno?.audio?.duration,set:d=>t.commit("suno/setAudio",{...t.state.suno.audio,duration:d})}),c=()=>{},p=d=>t.dispatch("suno/setAudio",{...t.state.suno.audio,progress:d});return(d,_)=>(i(),g("div",Vs,[s(T(te),{modelValue:l.value,"onUpdate:modelValue":_[0]||(_[0]=$=>l.value=$),"show-tooltip":!1,min:0,max:o.value,onChange:p,onInput:c},null,8,["modelValue","max"])]))}}),As="/assets/disk-XFRmVAfp.png",js={class:"flex player-song"},Fs=["src"],Es={class:"ml-2 text-xs flex flex-col justify-between"},Ts={class:"w-52 2xl:w-96 cursor-pointer truncate"},Us={class:"flex"},Ps={class:"ml-2 text-dc"},Is=S({__name:"PlayerSong",setup(e){const t=H(),l=I({get:()=>t.state.suno.audio,set:o=>t.commit("suno/setAudio",o)});return Se(l,(o,c)=>{if(o?.audio_url!==c?.audio_url){console.log("audio changed",o),o.object&&(console.log("111",o.object),o.object.pause(),delete o.object);const p=new Audio(o.audio_url);o.state==="playing"?p.play():p.pause(),p.addEventListener("loadedmetadata",()=>{p.currentTime=0,p.addEventListener("timeupdate",()=>{t.commit("suno/setAudio",{...t.state.suno.audio,progress:p.currentTime})})}),t.commit("suno/setAudio",{...t.state.suno.audio,object:p})}else if(o?.progress!==c?.progress&&Math.abs(o.progress-o.object.currentTime)>2){console.log("progress changed",o.progress);const p=t.state.suno.audio;p.object&&(p.object.currentTime=p.progress)}else o?.state!==c?.state&&(console.log("state changed",o.state),o.object&&(o.state==="playing"?o.object.play():o.object.pause()));o?.volume!==c?.volume&&(console.log("volume changed",o.volume),o.object&&(o.object.volume=o.volume/100))}),(o,c)=>(i(),g("div",js,[n("img",{alt:"",class:"w-11 h-11 rounded",src:l.value?.image_url||T(As)},null,8,Fs),n("div",Es,[n("div",Ts,[n("div",Us,[n("span",null,u(l.value?.title||"Music"),1),n("span",Ps,"- "+u(l.value?.style||"SmallRuralDog"),1)])])])]))}}),zs={class:"flex justify-end items-center gap-x-2.5"},Gs={class:"text-xs"},Ms=S({__name:"PlayerAction",setup(e){const t=H(),l=I({get:()=>t.state.suno?.audio?.progress,set:c=>t.commit("suno/setAudio",{...t.state.suno.audio,progress:c})}),o=I({get:()=>t.state.suno?.audio?.duration,set:c=>t.commit("suno/setAudio",{...t.state.suno.audio,duration:c})});return(c,p)=>(i(),g("div",zs,[n("span",Gs,u(T(W)(l.value))+" / "+u(T(W)(o.value)),1)]))}});var Rs={size:"1em",strokeWidth:4,strokeLinecap:"round",strokeLinejoin:"round",rtl:!1,theme:"outline",colors:{outline:{fill:"#333",background:"transparent"},filled:{fill:"#333",background:"#FFF"},twoTone:{fill:"#333",twoTone:"#2F88FF"},multiColor:{outStrokeColor:"#333",outFillColor:"#2F88FF",innerStrokeColor:"#FFF",innerFillColor:"#43CCF8"}},prefix:"i"};function Ds(){return"icon-"+((1+Math.random())*4294967296|0).toString(16).substring(1)}function Ws(e,t,l){var o=typeof t.fill=="string"?[t.fill]:t.fill||[],c=[],p=t.theme||l.theme;switch(p){case"outline":c.push(typeof o[0]=="string"?o[0]:"currentColor"),c.push("none"),c.push(typeof o[0]=="string"?o[0]:"currentColor"),c.push("none");break;case"filled":c.push(typeof o[0]=="string"?o[0]:"currentColor"),c.push(typeof o[0]=="string"?o[0]:"currentColor"),c.push("#FFF"),c.push("#FFF");break;case"two-tone":c.push(typeof o[0]=="string"?o[0]:"currentColor"),c.push(typeof o[1]=="string"?o[1]:l.colors.twoTone.twoTone),c.push(typeof o[0]=="string"?o[0]:"currentColor"),c.push(typeof o[1]=="string"?o[1]:l.colors.twoTone.twoTone);break;case"multi-color":c.push(typeof o[0]=="string"?o[0]:"currentColor"),c.push(typeof o[1]=="string"?o[1]:l.colors.multiColor.outFillColor),c.push(typeof o[2]=="string"?o[2]:l.colors.multiColor.innerStrokeColor),c.push(typeof o[3]=="string"?o[3]:l.colors.multiColor.innerFillColor);break}return{size:t.size||l.size,strokeWidth:t.strokeWidth||l.strokeWidth,strokeLinecap:t.strokeLinecap||l.strokeLinecap,strokeLinejoin:t.strokeLinejoin||l.strokeLinejoin,colors:c,id:e}}var Os=Symbol("icon-context");function oe(e,t,l){var o={name:"icon-"+e,props:["size","strokeWidth","strokeLinecap","strokeLinejoin","theme","fill","spin"],setup:function(p){var d=Ds(),_=Ve(Os,Rs);return function(){var $=p.size,r=p.strokeWidth,h=p.strokeLinecap,b=p.strokeLinejoin,f=p.theme,k=p.fill,U=p.spin,E=Ws(d,{size:$,strokeWidth:r,strokeLinecap:h,strokeLinejoin:b,theme:f,fill:k},_),j=[_.prefix+"-icon"];return j.push(_.prefix+"-icon-"+e),t&&_.rtl&&j.push(_.prefix+"-icon-rtl"),U&&j.push(_.prefix+"-icon-spin"),s("span",{class:j.join(" ")},[l(E)])}}};return o}const Bs=oe("pause-one",!1,function(e){return s("svg",{width:e.size,height:e.size,viewBox:"0 0 48 48",fill:"none"},[s("path",{d:"M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z",fill:e.colors[1],stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null),s("path",{d:"M19 18V30",stroke:e.colors[2],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null),s("path",{d:"M29 18V30",stroke:e.colors[2],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null)])}),Ns=oe("play",!0,function(e){return s("svg",{width:e.size,height:e.size,viewBox:"0 0 48 48",fill:"none"},[s("path",{d:"M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z",fill:e.colors[1],stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null),s("path",{d:"M20 24V17.0718L26 20.5359L32 24L26 27.4641L20 30.9282V24Z",fill:e.colors[3],stroke:e.colors[2],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null)])}),qs=oe("volume-small",!0,function(e){return s("svg",{width:e.size,height:e.size,viewBox:"0 0 48 48",fill:"none"},[s("path",{d:"M24 6V42C17 42 11.7985 32.8391 11.7985 32.8391H6C4.89543 32.8391 4 31.9437 4 30.8391V17.0108C4 15.9062 4.89543 15.0108 6 15.0108H11.7985C11.7985 15.0108 17 6 24 6Z",fill:e.colors[1],stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null),s("path",{d:"M32 15L32 15C32.6232 15.5565 33.1881 16.1797 33.6841 16.8588C35.1387 18.8504 36 21.3223 36 24C36 26.6545 35.1535 29.1067 33.7218 31.0893C33.2168 31.7885 32.6391 32.4293 32 33",stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null)])}),ne=S({__name:"IconPark",props:{icon:{},theme:{},size:{},spin:{type:Boolean},fill:{},strokeLinecap:{},strokeLinejoin:{},strokeWidth:{}},setup(e){return(t,l)=>(i(),w(Le(t.icon),{theme:t.theme,size:t.size,spin:t.spin,fill:t.fill,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,"stroke-width":t.strokeWidth},null,8,["theme","size","spin","fill","stroke-linecap","stroke-linejoin","stroke-width"]))}}),Hs={class:"player-volume flex flex-col items-center pt-2"},Ks={class:"text-sm mt-3"},Zs=S({__name:"PlayerVolumeSlider",setup(e){const t=H(),l=I({get:()=>t.state.suno.audio?.volume,set:p=>t.commit("suno/setAudio",{...t.state.suno.audio,volume:p})}),o=I({get:()=>t.state.suno.audio?.muted,set:p=>t.commit("suno/setAudio",{...t.state.suno.audio,muted:p})}),c=p=>t.dispatch("suno/setVolume",p);return(p,d)=>(i(),g("div",Hs,[s(T(te),{modelValue:l.value,"onUpdate:modelValue":d[0]||(d[0]=_=>l.value=_),vertical:"",height:"100px","show-tooltip":!1,max:100,min:0,size:"small",disabled:o.value,onInput:c},null,8,["modelValue","disabled"]),n("div",Ks,u(l.value),1)]))}}),Xs={class:"flex items-center justify-center gap-x-3"},Ys=S({__name:"PlayerController",setup(e){const t=H(),l=()=>t.dispatch("suno/setAudio",{...t.state.suno.audio,state:t.state.suno.audio.state==="playing"?"paused":"playing"}),o=I(()=>t.state.suno.audio);return(c,p)=>(i(),g("div",Xs,[s(ne,{icon:o.value?.state==="playing"?T(Bs):T(Ns),size:"45",theme:"filled",class:"text-[var(--el-color-primary)] cursor-pointer",onClick:l},null,8,["icon"]),s(T(ye),{placement:"top",width:"50px",trigger:"click"},{reference:m(()=>[s(ne,{icon:T(qs),size:"20","stroke-width":2,class:"cursor-pointer"},null,8,["icon"])]),default:m(()=>[s(Zs)]),_:1})]))}}),Js={class:"flex flex-col items-stretch h-20"},Qs={class:"flex grow px-5 items-center"},xs={class:"flex-1"},en={class:"flex-1"},tn={class:"flex-1"},on=S({__name:"Player",setup(e){return(t,l)=>(i(),g("div",Js,[s(Ls),n("div",Qs,[n("div",xs,[s(Is)]),n("div",en,[s(Ys)]),n("div",tn,[s(Ms)])])]))}}),sn=S({name:"RecentPanel",components:{ElSkeletonItem:we,ElSkeleton:ke,TaskPreview:Ss,Player:on,NoTasks:Ie,ScrollList:Ue},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.suno?.tasks,items:this.$store.state.suno?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),nn={key:0,class:"tasks"},an={class:"left w-[70px] p-[10px] flex items-center"},ln={class:"main w-[calc(100%-70px)] flex-1 p-[10px]"},rn={key:2,class:"w-full flex-1 flex items-center justify-center"},cn={class:"h-20"};function un(e,t,l,o,c,p){const d=a("el-skeleton-item"),_=a("el-skeleton"),$=a("task-preview"),r=a("scroll-list"),h=a("no-tasks"),b=a("player");return i(),g(D,null,[e.tasks?.items===void 0?(i(),g("div",nn,[(i(),g(D,null,Y(3,f=>n("div",{key:f,class:"flex"},[n("div",an,[s(_,{animated:""},{template:m(()=>[s(d,{variant:"image",class:"avatar w-[50px] h-[50px]"})]),_:1})]),n("div",ln,[s(_,{animated:""},{template:m(()=>[s(d,{variant:"p",class:"w-[200px] h-[15px] mb-[5px] mt-[10px]"}),s(d,{variant:"text"})]),_:1})])])),64))])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(i(),w(r,{key:1,ref:"scrollList",class:"flex-1 w-full overflow-y-auto tasks p-2",loading:e.loading,onReachTop:t[0]||(t[0]=f=>e.$emit("reach-top"))},{default:m(()=>[(i(!0),g(D,null,Y(e.tasks?.items,(f,k)=>(i(),w($,{key:k,"model-value":f,class:"preview"},null,8,["model-value"]))),128))]),_:1},8,["loading"])):y("",!0),e.tasks?.items?.length===0?(i(),g("div",rn,[s(h)])):y("",!0),q(n("div",cn,[s(b)],512),[[Ae,!!e.$store?.state?.suno?.audio?.object]])],64)}const dn=A(sn,[["render",un]]),pn=S({name:"TaskPreview",components:{IconPicture:Ce,ElImage:N,ElAvatar:be,ElIcon:J},computed:{audio(){return this.$store.state.suno?.audio}}}),mn={key:0,class:"size-full overflow-hidden"},fn={class:"relative h-[300px]"},hn={class:"flex items-center justify-center size-full bg-[var(--el-bg-color)]"},_n={class:"absolute bottom-0 left-0 right-0 m-0 p-4 text-white z-10 bg-gradient-to-t from-black/70 to-transparent"},gn={class:"p-4"},$n={class:"flex items-center font-bold mb-2"},vn={class:"text-[var(--el-text-color-regular)] mb-2"},yn={class:"text-xs text-[var(--el-text-color-regular)]"},kn={class:"mt-4 text-sm leading-[25px] whitespace-pre-wrap"},wn={key:1,class:"w-full h-full"};function bn(e,t,l,o,c,p){const d=a("icon-picture"),_=a("el-icon"),$=a("el-image"),r=a("el-avatar");return e.audio?.object?(i(),g("div",mn,[n("div",fn,[s($,{src:e.audio.image_url,fit:"cover",class:"size-full"},{error:m(()=>[n("div",hn,[s(_,{class:"text-3xl"},{default:m(()=>[s(d)]),_:1})])]),_:1},8,["src"]),n("h2",_n,u(e.audio?.title),1)]),n("div",gn,[n("div",$n,[s(r,{size:30,src:e.audio?.image_url,class:"mr-2"},null,8,["src"]),n("span",null,u(e.audio?.title),1)]),n("p",vn,u(e.audio?.style),1),n("p",yn,u(e.$dayjs.format(e.audio?.created_at)),1),n("div",kn,[n("p",null,u(e.audio?.lyric),1)])])])):(i(),g("div",wn))}const Cn=A(pn,[["render",bn]]),Sn="https://webhook.acedata.cloud/suno",Vn=S({name:"SunoIndex",components:{Layout:Ne,ConfigPanel:ss,RecentPanel:dn,PreviewPanel:Cn},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.suno?.status?.getApplications===R.Request},tasksLoading(){return this.$store.state.suno?.status?.getTasks===R.Request||this.fetchingTasks},service(){return this.$store.state.suno.service},credential(){return this.$store.state.suno.credential},config(){return this.$store.state.suno.config},initializing(){return this.$store.state.suno.status.getApplications===R.Request},needApply(){return this.$store.state.suno.status.getApplications===R.Success&&!this.application},application(){return this.$store.state.suno.application},tasks(){return this.$store.state.suno.tasks},applications(){return this.$store.state.suno.applications}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Ge({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("suno/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplications"),await this.$store.dispatch("suno/getApplications"),console.debug("end onGetApplications"),await this.onGetTasks()},onApply(){Ee.create({application:this.application}).then(({data:e})=>{this.application=e,C.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===Te&&C.error(this.$t("application.message.alreadyApplied"))})},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:l,createdAtMax:o}=e||{};console.debug("limit",t,"createdAtMin",l,"createdAtMax",o),this.fetchingTasks=!0;try{await this.$store.dispatch("suno/getTasks",{limit:t,createdAtMin:l,createdAtMax:o})}finally{this.fetchingTasks=!1}},async onGenerateAudio(){const e={...this.config,callback_url:Sn},t=this.credential?.token;if(!t){console.error("no token specified");return}C.info(this.$t("suno.message.startingTask")),P.audio(e,{token:t}).then(()=>{C.success(this.$t("suno.message.startTaskSuccess"))}).catch(l=>{C.error(l?.response?.data?.error?.message||this.$t("suno.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ln(e,t,l,o,c,p){const d=a("config-panel"),_=a("recent-panel"),$=a("preview-panel"),r=a("layout");return i(),w(r,null,{config:m(()=>[s(d,{onGenerate:e.onGenerateAudio},null,8,["onGenerate"])]),result:m(()=>[s(_,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),preview:m(()=>[s($)]),_:1})}const Dn=A(Vn,[["render",Ln],["__scopeId","data-v-d1296b1a"]]);export{Dn as default};
@@ -1 +1 @@
1
- import{P as g}from"./Pagination-B0I3KZEW.js";import{C as b}from"./CopyToClipboard-Dbge62aB.js";import{b5 as v,_ as w}from"./index-CbNap6do.js";import{w as $,x as C,y,z as D,A as I}from"./vendor-element-plus-B4FTqxj4.js";import{d as k,J as c,K as t,T as a,ai as s,G as n,R as i,L as E,aq as F,D as p}from"./vendor-vue-1w_NBnjl.js";import"./index.es-BBWlIYNp.js";import"./vendor-web3-Dsu5cGVO.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const P=k({name:"ConsoleDistributionInvitees",components:{Pagination:g,CopyToClipboard:b,ElRow:I,ElCol:D,ElTable:y,ElTableColumn:C,ElCard:$},data(){return{invitees:[],loading:!1,total:void 0,limit:10}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData()},methods:{onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},onFetchData(){this.loading=!0,Promise.all([this.onFetchInvitees()]).finally(()=>{this.loading=!1})},async onFetchInvitees(){const{data:e}=await v.getInvitees({limit:this.limit,offset:(this.page-1)*this.limit,ordering:"-created_at"});this.invitees=e.items,this.total=e.count}}}),q={class:"title"},T={class:"key"},z={class:"copy"},B={class:"description"},S={class:"description"},j={class:"description"},J={class:"created-at"},N={class:"pagination m-v-lg"};function R(e,V,A,G,K,L){const r=s("el-col"),d=s("el-row"),_=s("copy-to-clipboard"),l=s("el-table-column"),m=s("el-table"),u=s("el-card"),h=s("pagination"),f=F("loading");return p(),c(d,{class:"panel"},{default:t(()=>[a(r,{span:24},{default:t(()=>[a(d,null,{default:t(()=>[a(r,{span:24},{default:t(()=>[n("h2",q,i(e.$t("common.title.invitee")),1)]),_:1})]),_:1}),a(d,null,{default:t(()=>[a(r,{span:24},{default:t(()=>[a(u,{shadow:"hover"},{default:t(()=>[E((p(),c(m,{data:e.invitees,stripe:""},{default:t(()=>[a(l,{prop:"id",label:e.$t("user.field.id"),"class-name":"text-center",width:"350px"},{default:t(o=>[n("span",T,i(o.row.id),1),n("span",z,[a(_,{content:o.row.id},null,8,["content"])])]),_:1},8,["label"]),a(l,{label:e.$t("user.field.username"),width:"300px"},{default:t(o=>[n("span",B,i(o.row?.username),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.email"),width:"300px"},{default:t(o=>[n("span",S,i(o.row?.email),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.nickname"),width:"200px"},{default:t(o=>[n("span",j,i(o.row.nickname),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.dateJoined")},{default:t(o=>[n("span",J,i(e.$dayjs.format(o.row.date_joined)),1)]),_:1},8,["label"])]),_:1},8,["data"])),[[f,e.loading]])]),_:1})]),_:1})]),_:1}),a(d,null,{default:t(()=>[a(r,{span:10,offset:14},{default:t(()=>[n("div",N,[a(h,{"current-page":e.page,"page-size":e.limit,total:e.total,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const ee=w(P,[["render",R],["__scopeId","data-v-4556864d"]]);export{ee as default};
1
+ import{P as g}from"./Pagination-C3DyJji5.js";import{C as b}from"./CopyToClipboard-D1FwD7Ay.js";import{b5 as v,_ as w}from"./index-BkuLNx2-.js";import{w as $,x as C,y,z as D,A as I}from"./vendor-element-plus-B4FTqxj4.js";import{d as k,J as c,K as t,T as a,ai as s,G as n,R as i,L as E,aq as F,D as p}from"./vendor-vue-1w_NBnjl.js";import"./index.es-7RSklBi_.js";import"./vendor-web3-XrA95VRY.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const P=k({name:"ConsoleDistributionInvitees",components:{Pagination:g,CopyToClipboard:b,ElRow:I,ElCol:D,ElTable:y,ElTableColumn:C,ElCard:$},data(){return{invitees:[],loading:!1,total:void 0,limit:10}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData()},methods:{onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},onFetchData(){this.loading=!0,Promise.all([this.onFetchInvitees()]).finally(()=>{this.loading=!1})},async onFetchInvitees(){const{data:e}=await v.getInvitees({limit:this.limit,offset:(this.page-1)*this.limit,ordering:"-created_at"});this.invitees=e.items,this.total=e.count}}}),q={class:"title"},T={class:"key"},z={class:"copy"},B={class:"description"},S={class:"description"},j={class:"description"},J={class:"created-at"},N={class:"pagination m-v-lg"};function R(e,V,A,G,K,L){const r=s("el-col"),d=s("el-row"),_=s("copy-to-clipboard"),l=s("el-table-column"),m=s("el-table"),u=s("el-card"),h=s("pagination"),f=F("loading");return p(),c(d,{class:"panel"},{default:t(()=>[a(r,{span:24},{default:t(()=>[a(d,null,{default:t(()=>[a(r,{span:24},{default:t(()=>[n("h2",q,i(e.$t("common.title.invitee")),1)]),_:1})]),_:1}),a(d,null,{default:t(()=>[a(r,{span:24},{default:t(()=>[a(u,{shadow:"hover"},{default:t(()=>[E((p(),c(m,{data:e.invitees,stripe:""},{default:t(()=>[a(l,{prop:"id",label:e.$t("user.field.id"),"class-name":"text-center",width:"350px"},{default:t(o=>[n("span",T,i(o.row.id),1),n("span",z,[a(_,{content:o.row.id},null,8,["content"])])]),_:1},8,["label"]),a(l,{label:e.$t("user.field.username"),width:"300px"},{default:t(o=>[n("span",B,i(o.row?.username),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.email"),width:"300px"},{default:t(o=>[n("span",S,i(o.row?.email),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.nickname"),width:"200px"},{default:t(o=>[n("span",j,i(o.row.nickname),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.dateJoined")},{default:t(o=>[n("span",J,i(e.$dayjs.format(o.row.date_joined)),1)]),_:1},8,["label"])]),_:1},8,["data"])),[[f,e.loading]])]),_:1})]),_:1})]),_:1}),a(d,null,{default:t(()=>[a(r,{span:10,offset:14},{default:t(()=>[n("div",N,[a(h,{"current-page":e.page,"page-size":e.limit,total:e.total,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const ee=w(P,[["render",R],["__scopeId","data-v-4556864d"]]);export{ee as default};
@@ -1 +1 @@
1
- import{ak as S,ar as M,as as j,_ as N}from"./index-CbNap6do.js";import{I as v,a as z}from"./credential-CEfFFZzi.js";import{P as G}from"./Pagination-B0I3KZEW.js";import{C as Z}from"./CopyToClipboard-Dbge62aB.js";import{F as K}from"./index.es-BBWlIYNp.js";import{B as W,C as J,a as Q,L as X,b as tt,p as et,c as at,d as st}from"./vendor-chart-CZ0ow4AA.js";import{K as it,F as nt,D as ot,w as lt,x as rt,z as dt,A as pt,N as ut,O as ct,y as ht,P as gt,a as mt}from"./vendor-element-plus-B4FTqxj4.js";import{d as ft,J as u,K as s,T as i,ai as r,G as n,R as o,L as R,O as _,C as f,ag as C,S as D,aq as yt,Q as T,D as l,U as _t}from"./vendor-vue-1w_NBnjl.js";import"./vendor-web3-Dsu5cGVO.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";class $t{key="usage/apis";async getAll(e){return await S.get(`/${this.key}/`,{params:e})}async getAggregate(e){return await S.get(`/${this.key}/aggregate/`,{params:e})}async get(e){return await S.get(`/${this.key}/${e}`)}}const L=new $t;class bt{key="usage/proxies";async getAll(e){return await S.get(`/${this.key}/`,{params:e})}}const wt=new bt;J.register(Q,X,tt,et,at,st);const At=ft({name:"ConsoleUsageList",components:{Pagination:G,ElTag:mt,ElDatePicker:gt,ElTable:ht,ElSelect:ct,ElOption:ut,CopyToClipboard:Z,ElRow:pt,ElCol:dt,ElTableColumn:rt,ElCard:lt,ElRadioButton:ot,ElRadioGroup:nt,ElSkeleton:it,FontAwesomeIcon:K,BarChart:W},data(){return{applicationIds:this.$route.query.application_id?.toString()?this.$route.query.application_id?.toString().split(","):[],apiIds:this.$route.query.api_id?.toString()?this.$route.query.api_id?.toString().split(","):[],applications:[],credentialType:z,serviceType:v,apiUsages:[],proxyUsages:[],createdAtRange:(()=>{const t=this.$route.query.created_at_to?.toString(),e=this.$route.query.created_at_from?.toString();if(e&&t)return[new Date(e),new Date(t)];const y=new Date,c=new Date;return c.setDate(c.getDate()-30),[c,y]})(),shortcuts:[{text:this.$t("usage.shortcuts.today"),value:()=>{const t=new Date,e=new Date;return e.setHours(0,0,0,0),[e,t]}},{text:this.$t("usage.shortcuts.last1Day"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-1),[e,t]}},{text:this.$t("usage.shortcuts.last3Days"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-3),[e,t]}},{text:this.$t("usage.shortcuts.last7Days"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-7),[e,t]}},{text:this.$t("usage.shortcuts.last1Month"),value:()=>{const t=new Date,e=new Date;return e.setMonth(e.getMonth()-1),[e,t]}}],type:this.$route.query.type?.toString()||v.API,loading:!1,total:void 0,limit:15,totalUsed:0,barChartLabels:[],barChartSeries:[],aggLoading:!1}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")},apis(){return this.applications.filter(t=>this.applicationIds&&this.applicationIds.length?this.applicationIds.includes(t.id):!0).map(t=>t.service?.apis).flat()},totalUsedString(){return`${(this.totalUsed||0).toFixed(2)}`},barChartData(){return{labels:this.barChartLabels,datasets:this.barChartSeries.map(t=>({label:t.label,data:t.data,backgroundColor:t.color}))}},barChartOptions(){return{responsive:!0,plugins:{legend:{position:"top",onClick:(t,e,y)=>{const c=y?.chart;if(!c||e?.datasetIndex===void 0)return;const b=e.datasetIndex,$=c.data?.datasets||[];$.some((p,d)=>d!==b&&c.isDatasetVisible(d))?$.forEach((p,d)=>c.setDatasetVisibility(d,d===b)):$.forEach((p,d)=>c.setDatasetVisibility(d,!0)),c.update()}},title:{display:!0,text:this.$t("usage.title.usageTrend")}},scales:{x:{stacked:!0},y:{stacked:!0,beginAtZero:!0}}}}},watch:{page:{handler(){this.onFetchUsages()}},type:{handler(){this.applicationIds=[],this.apiIds=[],this.onApplicationsChange(this.applicationIds),this.onFetchApplications(),this.onFetchUsages(),this.onFetchAggregate()}}},mounted(){this.onFetchApplications(),this.onFetchUsages(),this.onFetchAggregate()},methods:{async onFetchUsages(){this.type===v.API?this.onFetchApiUsages():this.type===v.Proxy&&this.onFetchProxyUsages()},async onApiChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:t}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onApisChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:t&&t.length?t.join(","):""}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onTimeRangeChanged(){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,created_at_from:this.createdAtRange?this.$dayjs.format(this.createdAtRange[0].toString(),"YYYY-MM-DDTHH:mm:ss.SSSSSSZ"):"",created_at_to:this.createdAtRange?this.$dayjs.format(this.createdAtRange[1].toString(),"YYYY-MM-DDTHH:mm:ss.SSSSSSZ"):""}}),this.onFetchUsages(),this.onFetchAggregate()},async onApplicationChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:t}}),this.onFetchUsages(),this.onFetchAggregate()},async onApplicationsChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:t&&t.length?t.join(","):""}}),this.onFetchUsages(),this.onFetchAggregate()},onPageChange(t){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:t}})},getRemainingAmount(t){if(t.remaining_amount===void 0||t.remaining_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.remaining_amount?.toFixed(6)} ${e}`},getUsedAmount(t){if(t.used_amount===void 0||t.used_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.used_amount?.toFixed(6)} ${e}`},getDeductedAmount(t){if(t?.deducted_amount===void 0||t?.deducted_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.deducted_amount?.toFixed(6)} ${e}`},getOriginalAmount(t){if(t?.original_amount===void 0||t?.original_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.original_amount?.toFixed(6)} ${e}`},onFetchApplications(){M.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:"-created_at",type:j.USAGE}).then(({data:t})=>{this.applications=t.items.filter(e=>e?.service?.type?e.service.type===this.type:!0)}).catch(()=>{})},onFetchApiUsages(){this.loading=!0,L.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:"-created_at",...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{},...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{}}).then(({data:t})=>{this.apiUsages=t.items,this.loading=!1,this.total=t.count}).catch(()=>{this.loading=!1})},onFetchProxyUsages(){this.loading=!0,wt.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:"-created_at",...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{}}).then(({data:t})=>{this.proxyUsages=t.items,this.loading=!1,this.total=t.count}).catch(()=>{this.loading=!1})},async onFetchAggregate(){if(this.aggLoading=!0,this.type!==this.serviceType.API){this.aggLoading=!1;return}const t={user_id:this.$store.getters.user.id,...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{}};try{const{data:e}=await L.getAggregate(t);this.totalUsed=e.total||0;const y=Array.from(new Set((e.items||[]).map(h=>h.date))).sort(),c=Array.from(new Set((e.items||[]).map(h=>h.api_id))),b=h=>`hsl(${h*57%360}, 70%, 60%)`,$=c.map((h,p)=>{const d=e.apis?.[h]?.title||h,w={};(e.items||[]).filter(m=>m.api_id===h).forEach(m=>{w[m.date]=m.amount||0});const I=y.map(m=>w[m]||0);return{key:h,label:d,data:I,color:b(p)}});this.barChartLabels=y,this.barChartSeries=$}finally{this.aggLoading=!1}}}}),vt={class:"title"},Ct={class:"inline-block w-9"},Dt={class:"inline-block"},St={key:1,class:"summary-card"},It={class:"icon-wrapper"},kt={class:"text-left"},Ut={class:"description"},Ft={class:"value"},Rt={class:"chart-wrapper"},Tt={key:0},qt={key:1},Vt={class:"flex flex-wrap gap-2"},Pt={class:"key"},Et={key:0,class:"cursor-pointer"},Lt={class:"created-at"},Ot={class:"created-at"},xt={class:"float-right"};function Bt(t,e,y,c,b,$){const h=r("help-entry"),p=r("el-col"),d=r("el-row"),w=r("el-radio-button"),I=r("el-radio-group"),m=r("el-option"),q=r("el-select"),O=r("el-date-picker"),V=r("el-skeleton"),x=r("font-awesome-icon"),k=r("el-card"),B=r("bar-chart"),g=r("el-table-column"),U=r("el-tag"),Y=r("copy-to-clipboard"),P=r("el-table"),H=r("pagination"),E=yt("loading");return l(),u(d,{class:"panel"},{default:s(()=>[i(h,{class:"help"}),i(p,{span:24},{default:s(()=>[i(d,null,{default:s(()=>[i(p,{span:24},{default:s(()=>[n("h2",vt,o(t.$t("common.title.allUsages")),1)]),_:1})]),_:1}),i(d,null,{default:s(()=>[i(p,{md:4,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",null,o(t.$t("application.field.type")),1),i(I,{modelValue:t.type,"onUpdate:modelValue":e[0]||(e[0]=a=>t.type=a)},{default:s(()=>[i(w,{value:t.serviceType.API,label:t.$t("application.field.api")},null,8,["value","label"]),i(w,{value:t.serviceType.Proxy,label:t.$t("application.field.proxy")},null,8,["value","label"])]),_:1},8,["modelValue"])]),_:1}),R(i(p,{md:6,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",Ct,o(t.$t("usage.field.application")),1),i(q,{modelValue:t.applicationIds,"onUpdate:modelValue":e[1]||(e[1]=a=>t.applicationIds=a),placeholder:t.$t("usage.field.application"),clearable:"",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",class:"w-full",onChange:t.onApplicationsChange},{default:s(()=>[(l(!0),f(D,null,C(t.applications,a=>(l(),u(m,{key:a.id,label:a.service?.title,value:a?.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","onChange"])]),_:1},512),[[_t,!1]]),t.type===t.serviceType.API?(l(),u(p,{key:0,md:6,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",Dt,o(t.$t("usage.field.api")),1),i(q,{modelValue:t.apiIds,"onUpdate:modelValue":e[2]||(e[2]=a=>t.apiIds=a),placeholder:t.$t("usage.field.api"),clearable:"",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",class:"w-full",onChange:t.onApisChange},{default:s(()=>[(l(!0),f(D,null,C(t.apis,a=>(l(),u(m,{key:a?.id,label:a?.title,value:a?.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","onChange"])]),_:1})):_("",!0),t.type===t.serviceType.API?(l(),u(p,{key:1,md:8,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[i(O,{modelValue:t.createdAtRange,"onUpdate:modelValue":e[3]||(e[3]=a=>t.createdAtRange=a),type:"datetimerange",class:"w-full",shortcuts:t.shortcuts,"range-separator":t.$t("usage.placeholder.to"),"start-placeholder":t.$t("usage.placeholder.startDate"),"end-placeholder":t.$t("usage.placeholder.endDate"),onChange:t.onTimeRangeChanged},null,8,["modelValue","shortcuts","range-separator","start-placeholder","end-placeholder","onChange"])]),_:1})):_("",!0)]),_:1}),i(d,null,{default:s(()=>[i(p,{span:24},{default:s(()=>[t.type===t.serviceType.API?(l(),u(d,{key:0,gutter:15,class:"mb-4"},{default:s(()=>[i(p,{md:6,xs:24},{default:s(()=>[i(k,{shadow:"hover",class:"h-full"},{default:s(()=>[t.aggLoading?(l(),u(V,{key:0})):(l(),f("div",St,[n("div",It,[i(x,{icon:"fa-solid fa-cubes",class:"icon"})]),n("div",kt,[n("p",Ut,o(t.$t("usage.title.totalUsed")),1),n("p",Ft,o(t.totalUsedString),1)])]))]),_:1})]),_:1}),i(p,{md:18,xs:24},{default:s(()=>[i(k,{shadow:"hover",class:"h-full"},{default:s(()=>[n("div",Rt,[t.aggLoading?(l(),u(V,{key:0,class:"w-full"})):(l(),u(B,{key:1,data:t.barChartData,options:t.barChartOptions,class:"chart"},null,8,["data","options"]))])]),_:1})]),_:1})]),_:1})):_("",!0),i(k,{shadow:"hover"},{default:s(()=>[t.type===t.serviceType.API?R((l(),u(P,{key:0,data:t.apiUsages,stripe:"","table-layout":"fixed","empty-text":t.$t("common.message.noData"),class:"min-h-[calc(100vh-350px)] mb-[50px]"},{default:s(()=>[i(g,{label:t.$t("application.field.name"),width:"160px"},{default:s(a=>[n("span",null,o(a.row?.api?.title),1)]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.statusCode"),width:"120px"},{default:s(a=>[n("span",null,o(a.row.status_code),1)]),_:1},8,["label"]),i(g,{prop:"deducted_amount",label:t.$t("usage.field.deductedAmount"),width:"150px","class-name":"text-center"},{default:s(a=>[t.getDeductedAmount(a.row)===t.getOriginalAmount(a.row)?(l(),f("div",Tt,[n("span",null,o(t.getDeductedAmount(a.row)),1)])):(l(),f("div",qt,[e[4]||(e[4]=n("p",null,null,-1)),n("p",null,[n("span",null,o(t.getDeductedAmount(a.row)),1)]),n("p",null,[n("del",null,o(t.getOriginalAmount(a.row)),1)])]))]),_:1},8,["label"]),i(g,{prop:"metadata",label:t.$t("usage.field.metadata"),width:"260px","class-name":"text-center"},{default:s(a=>[n("div",Vt,[a.row.original_amount>a.row.deducted_amount&&a.row.original_amount>0?(l(),u(U,{key:0,type:"success",style:{textWrap:"wrap",height:"fit-content",lineHeight:"20px",borderRadius:"10px"}},{default:s(()=>[T(o(((a.row.original_amount-a.row.deducted_amount)*100/a.row.original_amount).toFixed(0)+"% OFF"),1)]),_:2},1024)):_("",!0),(l(!0),f(D,null,C(a.row.metadata,(F,A)=>(l(),u(U,{key:A,style:{textWrap:"wrap",height:"fit-content",lineHeight:"20px",borderRadius:"10px"}},{default:s(()=>[T(o(A)+": "+o(F),1)]),_:2},1024))),128))])]),_:1},8,["label"]),i(g,{prop:"trace_id",label:t.$t("application.field.traceId"),width:"200px","class-name":"text-center"},{default:s(a=>[n("span",Pt,o(a.row.trace_id),1),a.row.trace_id?(l(),f("span",Et,[i(Y,{content:a.row.trace_id,class:"inline-block"},null,8,["content"])])):_("",!0)]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.createdAt"),width:"200px"},{default:s(a=>[n("span",Lt,o(t.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"])]),_:1},8,["data","empty-text"])),[[E,t.loading]]):_("",!0),t.type===t.serviceType.Proxy?R((l(),u(P,{key:1,data:t.proxyUsages,stripe:"","table-layout":"fixed","empty-text":t.$t("common.message.noData"),class:"min-h-[calc(100vh-350px)] mb-[50px]"},{default:s(()=>[i(g,{label:t.$t("application.field.name"),width:"160px"},{default:s(a=>[n("span",null,o(a.row?.service?.title),1)]),_:1},8,["label"]),i(g,{prop:"remaining_amount",label:t.$t("usage.field.remainingAmount"),width:"160px","class-name":"text-center"},{default:s(a=>[n("span",null,o(t.getRemainingAmount(a.row)),1),n("span",null,o(t.getOriginalAmount(a.row)),1)]),_:1},8,["label"]),i(g,{prop:"deducted_amount",label:t.$t("usage.field.deductedAmount"),width:"150px","class-name":"text-center"},{default:s(a=>[n("span",null,o(t.getDeductedAmount(a.row)),1)]),_:1},8,["label"]),i(g,{prop:"metadata",label:t.$t("usage.field.metadata"),width:"200px","class-name":"text-center"},{default:s(a=>[(l(!0),f(D,null,C(a.row.metadata,(F,A)=>(l(),u(U,{key:A,class:"mb-2"},{default:s(()=>[T(o(A)+": "+o(F),1)]),_:2},1024))),128))]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.createdAt"),width:"200px"},{default:s(a=>[n("span",Ot,o(t.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"])]),_:1},8,["data","empty-text"])),[[E,t.loading]]):_("",!0)]),_:1})]),_:1})]),_:1}),i(d,null,{default:s(()=>[i(p,{span:10,offset:14},{default:s(()=>[n("div",xt,[i(H,{"current-page":t.page,"page-size":t.limit,total:t.total,onChange:t.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const Xt=N(At,[["render",Bt],["__scopeId","data-v-468b1d4d"]]);export{Xt as default};
1
+ import{ak as S,ar as M,as as j,_ as N}from"./index-BkuLNx2-.js";import{I as v,a as z}from"./credential-CEfFFZzi.js";import{P as G}from"./Pagination-C3DyJji5.js";import{C as Z}from"./CopyToClipboard-D1FwD7Ay.js";import{F as K}from"./index.es-7RSklBi_.js";import{B as W,C as J,a as Q,L as X,b as tt,p as et,c as at,d as st}from"./vendor-chart-CZ0ow4AA.js";import{K as it,F as nt,D as ot,w as lt,x as rt,z as dt,A as pt,N as ut,O as ct,y as ht,P as gt,a as mt}from"./vendor-element-plus-B4FTqxj4.js";import{d as ft,J as u,K as s,T as i,ai as r,G as n,R as o,L as R,O as _,C as f,ag as C,S as D,aq as yt,Q as T,D as l,U as _t}from"./vendor-vue-1w_NBnjl.js";import"./vendor-web3-XrA95VRY.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";class $t{key="usage/apis";async getAll(e){return await S.get(`/${this.key}/`,{params:e})}async getAggregate(e){return await S.get(`/${this.key}/aggregate/`,{params:e})}async get(e){return await S.get(`/${this.key}/${e}`)}}const L=new $t;class bt{key="usage/proxies";async getAll(e){return await S.get(`/${this.key}/`,{params:e})}}const wt=new bt;J.register(Q,X,tt,et,at,st);const At=ft({name:"ConsoleUsageList",components:{Pagination:G,ElTag:mt,ElDatePicker:gt,ElTable:ht,ElSelect:ct,ElOption:ut,CopyToClipboard:Z,ElRow:pt,ElCol:dt,ElTableColumn:rt,ElCard:lt,ElRadioButton:ot,ElRadioGroup:nt,ElSkeleton:it,FontAwesomeIcon:K,BarChart:W},data(){return{applicationIds:this.$route.query.application_id?.toString()?this.$route.query.application_id?.toString().split(","):[],apiIds:this.$route.query.api_id?.toString()?this.$route.query.api_id?.toString().split(","):[],applications:[],credentialType:z,serviceType:v,apiUsages:[],proxyUsages:[],createdAtRange:(()=>{const t=this.$route.query.created_at_to?.toString(),e=this.$route.query.created_at_from?.toString();if(e&&t)return[new Date(e),new Date(t)];const y=new Date,c=new Date;return c.setDate(c.getDate()-30),[c,y]})(),shortcuts:[{text:this.$t("usage.shortcuts.today"),value:()=>{const t=new Date,e=new Date;return e.setHours(0,0,0,0),[e,t]}},{text:this.$t("usage.shortcuts.last1Day"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-1),[e,t]}},{text:this.$t("usage.shortcuts.last3Days"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-3),[e,t]}},{text:this.$t("usage.shortcuts.last7Days"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-7),[e,t]}},{text:this.$t("usage.shortcuts.last1Month"),value:()=>{const t=new Date,e=new Date;return e.setMonth(e.getMonth()-1),[e,t]}}],type:this.$route.query.type?.toString()||v.API,loading:!1,total:void 0,limit:15,totalUsed:0,barChartLabels:[],barChartSeries:[],aggLoading:!1}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")},apis(){return this.applications.filter(t=>this.applicationIds&&this.applicationIds.length?this.applicationIds.includes(t.id):!0).map(t=>t.service?.apis).flat()},totalUsedString(){return`${(this.totalUsed||0).toFixed(2)}`},barChartData(){return{labels:this.barChartLabels,datasets:this.barChartSeries.map(t=>({label:t.label,data:t.data,backgroundColor:t.color}))}},barChartOptions(){return{responsive:!0,plugins:{legend:{position:"top",onClick:(t,e,y)=>{const c=y?.chart;if(!c||e?.datasetIndex===void 0)return;const b=e.datasetIndex,$=c.data?.datasets||[];$.some((p,d)=>d!==b&&c.isDatasetVisible(d))?$.forEach((p,d)=>c.setDatasetVisibility(d,d===b)):$.forEach((p,d)=>c.setDatasetVisibility(d,!0)),c.update()}},title:{display:!0,text:this.$t("usage.title.usageTrend")}},scales:{x:{stacked:!0},y:{stacked:!0,beginAtZero:!0}}}}},watch:{page:{handler(){this.onFetchUsages()}},type:{handler(){this.applicationIds=[],this.apiIds=[],this.onApplicationsChange(this.applicationIds),this.onFetchApplications(),this.onFetchUsages(),this.onFetchAggregate()}}},mounted(){this.onFetchApplications(),this.onFetchUsages(),this.onFetchAggregate()},methods:{async onFetchUsages(){this.type===v.API?this.onFetchApiUsages():this.type===v.Proxy&&this.onFetchProxyUsages()},async onApiChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:t}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onApisChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:t&&t.length?t.join(","):""}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onTimeRangeChanged(){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,created_at_from:this.createdAtRange?this.$dayjs.format(this.createdAtRange[0].toString(),"YYYY-MM-DDTHH:mm:ss.SSSSSSZ"):"",created_at_to:this.createdAtRange?this.$dayjs.format(this.createdAtRange[1].toString(),"YYYY-MM-DDTHH:mm:ss.SSSSSSZ"):""}}),this.onFetchUsages(),this.onFetchAggregate()},async onApplicationChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:t}}),this.onFetchUsages(),this.onFetchAggregate()},async onApplicationsChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:t&&t.length?t.join(","):""}}),this.onFetchUsages(),this.onFetchAggregate()},onPageChange(t){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:t}})},getRemainingAmount(t){if(t.remaining_amount===void 0||t.remaining_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.remaining_amount?.toFixed(6)} ${e}`},getUsedAmount(t){if(t.used_amount===void 0||t.used_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.used_amount?.toFixed(6)} ${e}`},getDeductedAmount(t){if(t?.deducted_amount===void 0||t?.deducted_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.deducted_amount?.toFixed(6)} ${e}`},getOriginalAmount(t){if(t?.original_amount===void 0||t?.original_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.original_amount?.toFixed(6)} ${e}`},onFetchApplications(){M.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:"-created_at",type:j.USAGE}).then(({data:t})=>{this.applications=t.items.filter(e=>e?.service?.type?e.service.type===this.type:!0)}).catch(()=>{})},onFetchApiUsages(){this.loading=!0,L.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:"-created_at",...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{},...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{}}).then(({data:t})=>{this.apiUsages=t.items,this.loading=!1,this.total=t.count}).catch(()=>{this.loading=!1})},onFetchProxyUsages(){this.loading=!0,wt.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:"-created_at",...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{}}).then(({data:t})=>{this.proxyUsages=t.items,this.loading=!1,this.total=t.count}).catch(()=>{this.loading=!1})},async onFetchAggregate(){if(this.aggLoading=!0,this.type!==this.serviceType.API){this.aggLoading=!1;return}const t={user_id:this.$store.getters.user.id,...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{}};try{const{data:e}=await L.getAggregate(t);this.totalUsed=e.total||0;const y=Array.from(new Set((e.items||[]).map(h=>h.date))).sort(),c=Array.from(new Set((e.items||[]).map(h=>h.api_id))),b=h=>`hsl(${h*57%360}, 70%, 60%)`,$=c.map((h,p)=>{const d=e.apis?.[h]?.title||h,w={};(e.items||[]).filter(m=>m.api_id===h).forEach(m=>{w[m.date]=m.amount||0});const I=y.map(m=>w[m]||0);return{key:h,label:d,data:I,color:b(p)}});this.barChartLabels=y,this.barChartSeries=$}finally{this.aggLoading=!1}}}}),vt={class:"title"},Ct={class:"inline-block w-9"},Dt={class:"inline-block"},St={key:1,class:"summary-card"},It={class:"icon-wrapper"},kt={class:"text-left"},Ut={class:"description"},Ft={class:"value"},Rt={class:"chart-wrapper"},Tt={key:0},qt={key:1},Vt={class:"flex flex-wrap gap-2"},Pt={class:"key"},Et={key:0,class:"cursor-pointer"},Lt={class:"created-at"},Ot={class:"created-at"},xt={class:"float-right"};function Bt(t,e,y,c,b,$){const h=r("help-entry"),p=r("el-col"),d=r("el-row"),w=r("el-radio-button"),I=r("el-radio-group"),m=r("el-option"),q=r("el-select"),O=r("el-date-picker"),V=r("el-skeleton"),x=r("font-awesome-icon"),k=r("el-card"),B=r("bar-chart"),g=r("el-table-column"),U=r("el-tag"),Y=r("copy-to-clipboard"),P=r("el-table"),H=r("pagination"),E=yt("loading");return l(),u(d,{class:"panel"},{default:s(()=>[i(h,{class:"help"}),i(p,{span:24},{default:s(()=>[i(d,null,{default:s(()=>[i(p,{span:24},{default:s(()=>[n("h2",vt,o(t.$t("common.title.allUsages")),1)]),_:1})]),_:1}),i(d,null,{default:s(()=>[i(p,{md:4,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",null,o(t.$t("application.field.type")),1),i(I,{modelValue:t.type,"onUpdate:modelValue":e[0]||(e[0]=a=>t.type=a)},{default:s(()=>[i(w,{value:t.serviceType.API,label:t.$t("application.field.api")},null,8,["value","label"]),i(w,{value:t.serviceType.Proxy,label:t.$t("application.field.proxy")},null,8,["value","label"])]),_:1},8,["modelValue"])]),_:1}),R(i(p,{md:6,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",Ct,o(t.$t("usage.field.application")),1),i(q,{modelValue:t.applicationIds,"onUpdate:modelValue":e[1]||(e[1]=a=>t.applicationIds=a),placeholder:t.$t("usage.field.application"),clearable:"",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",class:"w-full",onChange:t.onApplicationsChange},{default:s(()=>[(l(!0),f(D,null,C(t.applications,a=>(l(),u(m,{key:a.id,label:a.service?.title,value:a?.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","onChange"])]),_:1},512),[[_t,!1]]),t.type===t.serviceType.API?(l(),u(p,{key:0,md:6,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",Dt,o(t.$t("usage.field.api")),1),i(q,{modelValue:t.apiIds,"onUpdate:modelValue":e[2]||(e[2]=a=>t.apiIds=a),placeholder:t.$t("usage.field.api"),clearable:"",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",class:"w-full",onChange:t.onApisChange},{default:s(()=>[(l(!0),f(D,null,C(t.apis,a=>(l(),u(m,{key:a?.id,label:a?.title,value:a?.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","onChange"])]),_:1})):_("",!0),t.type===t.serviceType.API?(l(),u(p,{key:1,md:8,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[i(O,{modelValue:t.createdAtRange,"onUpdate:modelValue":e[3]||(e[3]=a=>t.createdAtRange=a),type:"datetimerange",class:"w-full",shortcuts:t.shortcuts,"range-separator":t.$t("usage.placeholder.to"),"start-placeholder":t.$t("usage.placeholder.startDate"),"end-placeholder":t.$t("usage.placeholder.endDate"),onChange:t.onTimeRangeChanged},null,8,["modelValue","shortcuts","range-separator","start-placeholder","end-placeholder","onChange"])]),_:1})):_("",!0)]),_:1}),i(d,null,{default:s(()=>[i(p,{span:24},{default:s(()=>[t.type===t.serviceType.API?(l(),u(d,{key:0,gutter:15,class:"mb-4"},{default:s(()=>[i(p,{md:6,xs:24},{default:s(()=>[i(k,{shadow:"hover",class:"h-full"},{default:s(()=>[t.aggLoading?(l(),u(V,{key:0})):(l(),f("div",St,[n("div",It,[i(x,{icon:"fa-solid fa-cubes",class:"icon"})]),n("div",kt,[n("p",Ut,o(t.$t("usage.title.totalUsed")),1),n("p",Ft,o(t.totalUsedString),1)])]))]),_:1})]),_:1}),i(p,{md:18,xs:24},{default:s(()=>[i(k,{shadow:"hover",class:"h-full"},{default:s(()=>[n("div",Rt,[t.aggLoading?(l(),u(V,{key:0,class:"w-full"})):(l(),u(B,{key:1,data:t.barChartData,options:t.barChartOptions,class:"chart"},null,8,["data","options"]))])]),_:1})]),_:1})]),_:1})):_("",!0),i(k,{shadow:"hover"},{default:s(()=>[t.type===t.serviceType.API?R((l(),u(P,{key:0,data:t.apiUsages,stripe:"","table-layout":"fixed","empty-text":t.$t("common.message.noData"),class:"min-h-[calc(100vh-350px)] mb-[50px]"},{default:s(()=>[i(g,{label:t.$t("application.field.name"),width:"160px"},{default:s(a=>[n("span",null,o(a.row?.api?.title),1)]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.statusCode"),width:"120px"},{default:s(a=>[n("span",null,o(a.row.status_code),1)]),_:1},8,["label"]),i(g,{prop:"deducted_amount",label:t.$t("usage.field.deductedAmount"),width:"150px","class-name":"text-center"},{default:s(a=>[t.getDeductedAmount(a.row)===t.getOriginalAmount(a.row)?(l(),f("div",Tt,[n("span",null,o(t.getDeductedAmount(a.row)),1)])):(l(),f("div",qt,[e[4]||(e[4]=n("p",null,null,-1)),n("p",null,[n("span",null,o(t.getDeductedAmount(a.row)),1)]),n("p",null,[n("del",null,o(t.getOriginalAmount(a.row)),1)])]))]),_:1},8,["label"]),i(g,{prop:"metadata",label:t.$t("usage.field.metadata"),width:"260px","class-name":"text-center"},{default:s(a=>[n("div",Vt,[a.row.original_amount>a.row.deducted_amount&&a.row.original_amount>0?(l(),u(U,{key:0,type:"success",style:{textWrap:"wrap",height:"fit-content",lineHeight:"20px",borderRadius:"10px"}},{default:s(()=>[T(o(((a.row.original_amount-a.row.deducted_amount)*100/a.row.original_amount).toFixed(0)+"% OFF"),1)]),_:2},1024)):_("",!0),(l(!0),f(D,null,C(a.row.metadata,(F,A)=>(l(),u(U,{key:A,style:{textWrap:"wrap",height:"fit-content",lineHeight:"20px",borderRadius:"10px"}},{default:s(()=>[T(o(A)+": "+o(F),1)]),_:2},1024))),128))])]),_:1},8,["label"]),i(g,{prop:"trace_id",label:t.$t("application.field.traceId"),width:"200px","class-name":"text-center"},{default:s(a=>[n("span",Pt,o(a.row.trace_id),1),a.row.trace_id?(l(),f("span",Et,[i(Y,{content:a.row.trace_id,class:"inline-block"},null,8,["content"])])):_("",!0)]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.createdAt"),width:"200px"},{default:s(a=>[n("span",Lt,o(t.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"])]),_:1},8,["data","empty-text"])),[[E,t.loading]]):_("",!0),t.type===t.serviceType.Proxy?R((l(),u(P,{key:1,data:t.proxyUsages,stripe:"","table-layout":"fixed","empty-text":t.$t("common.message.noData"),class:"min-h-[calc(100vh-350px)] mb-[50px]"},{default:s(()=>[i(g,{label:t.$t("application.field.name"),width:"160px"},{default:s(a=>[n("span",null,o(a.row?.service?.title),1)]),_:1},8,["label"]),i(g,{prop:"remaining_amount",label:t.$t("usage.field.remainingAmount"),width:"160px","class-name":"text-center"},{default:s(a=>[n("span",null,o(t.getRemainingAmount(a.row)),1),n("span",null,o(t.getOriginalAmount(a.row)),1)]),_:1},8,["label"]),i(g,{prop:"deducted_amount",label:t.$t("usage.field.deductedAmount"),width:"150px","class-name":"text-center"},{default:s(a=>[n("span",null,o(t.getDeductedAmount(a.row)),1)]),_:1},8,["label"]),i(g,{prop:"metadata",label:t.$t("usage.field.metadata"),width:"200px","class-name":"text-center"},{default:s(a=>[(l(!0),f(D,null,C(a.row.metadata,(F,A)=>(l(),u(U,{key:A,class:"mb-2"},{default:s(()=>[T(o(A)+": "+o(F),1)]),_:2},1024))),128))]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.createdAt"),width:"200px"},{default:s(a=>[n("span",Ot,o(t.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"])]),_:1},8,["data","empty-text"])),[[E,t.loading]]):_("",!0)]),_:1})]),_:1})]),_:1}),i(d,null,{default:s(()=>[i(p,{span:10,offset:14},{default:s(()=>[n("div",xt,[i(H,{"current-page":t.page,"page-size":t.limit,total:t.total,onChange:t.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const Xt=N(At,[["render",Bt],["__scopeId","data-v-468b1d4d"]]);export{Xt as default};
@@ -1 +1 @@
1
- import{o as k}from"./order-B5QEaAoZ.js";import{P as C}from"./Pagination-B0I3KZEW.js";import{C as D}from"./CopyToClipboard-Dbge62aB.js";import{O as E}from"./order-CB3uOPHS.js";import{_ as S}from"./index-CbNap6do.js";import{g as O}from"./price-BYaiiVhA.js";import{w as v,a as I,l as P,x as N,y as A,z as F,A as T}from"./vendor-element-plus-B4FTqxj4.js";import{d as z,J as f,K as t,T as o,ai as r,G as n,R as s,L as B,aq as L,C as p,O as q,Q as i,D as l}from"./vendor-vue-1w_NBnjl.js";import"./index.es-BBWlIYNp.js";import"./vendor-web3-Dsu5cGVO.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const R=z({name:"ConsoleOrderList",components:{Pagination:C,CopyToClipboard:D,ElRow:T,ElCol:F,ElTable:A,ElTableColumn:N,ElButton:P,ElTag:I,ElCard:v},data(){return{OrderState:E,orders:[],loading:!1,total:void 0,limit:10}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData()},methods:{getPriceString:O,onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},onFetchData(){this.loading=!0,k.getAll({ordering:"-created_at",limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id}).then(({data:e})=>{this.orders=e.items,this.loading=!1,this.total=e.count}).catch(()=>{this.loading=!1})}}}),V={class:"title"},j={class:"key"},G={class:"cursor-pointer"},H={class:"price"},X={class:"description"},J={key:0},K={key:1,class:"state state-paid"},Q={key:2,class:"state state-finished"},M={key:3,class:"state state-expired"},U={key:4,class:"state state-failed"},W={class:"created-at"},Y={class:"flex items-center justify-center flex-wrap"},Z={class:"float-right"};function x(e,ee,te,ae,oe,se){const m=r("el-col"),u=r("el-row"),_=r("copy-to-clipboard"),d=r("el-table-column"),c=r("el-tag"),h=r("el-button"),g=r("el-table"),w=r("el-card"),b=r("pagination"),y=L("loading");return l(),f(u,{class:"panel"},{default:t(()=>[o(m,{span:24},{default:t(()=>[o(u,null,{default:t(()=>[o(m,{span:24},{default:t(()=>[n("h2",V,s(e.$t("common.title.allOrders")),1)]),_:1})]),_:1}),o(u,null,{default:t(()=>[o(m,{span:24},{default:t(()=>[o(w,{shadow:"hover"},{default:t(()=>[B((l(),f(g,{data:e.orders,stripe:"","empty-text":e.$t("common.message.noData"),class:"min-h-[calc(100vh-300px)] mb-[50px]"},{default:t(()=>[o(d,{prop:"id",label:e.$t("order.field.id"),"class-name":"text-center",width:"200px"},{default:t(a=>[n("span",j,s(a.row.id),1),n("span",G,[o(_,{content:a.row.id,class:"inline-block"},null,8,["content"])])]),_:1},8,["label"]),o(d,{label:e.$t("order.field.price"),width:"100px"},{default:t(a=>[n("span",H,s(e.getPriceString({value:a.row?.price})),1)]),_:1},8,["label"]),o(d,{label:e.$t("order.field.description"),width:"270px","class-name":"hidden md:table-cell","label-class-name":"hidden md:table-cell"},{default:t(a=>[n("span",X,s(a.row.description),1)]),_:1},8,["label"]),o(d,{prop:"state",label:e.$t("order.field.state"),"class-name":"text-center",width:"160px"},{default:t(a=>[a.row.state===e.OrderState?.PENDING?(l(),p("span",J,[o(c,{type:"info",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.pending")),1)]),_:1})])):a.row.state===e.OrderState?.PAID?(l(),p("span",K,[o(c,{type:"success",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.paid")),1)]),_:1})])):a.row.state===e.OrderState?.FINISHED?(l(),p("span",Q,[o(c,{type:"success",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.finished")),1)]),_:1})])):a.row.state===e.OrderState?.EXPIRED?(l(),p("span",M,[o(c,{type:"danger",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.expired")),1)]),_:1})])):a.row.state===e.OrderState?.FAILED?(l(),p("span",U,[o(c,{type:"danger",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.failed")),1)]),_:1})])):q("",!0)]),_:1},8,["label"]),o(d,{label:e.$t("order.field.createdAt"),width:"250px"},{default:t(a=>[n("span",W,s(e.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"]),o(d,{"min-width":"130px",fixed:"right"},{default:t(a=>[n("div",Y,[a.row.state!==e.OrderState.PAID&&a.row.state!==e.OrderState.FINISHED&&a.row.state!==e.OrderState.EXPIRED&&a.row.state!==e.OrderState.FAILED?(l(),f(h,{key:0,type:"primary",size:"small",onClick:$=>e.$router.push({name:"console-order-detail",params:{id:a.row.id}})},{default:t(()=>[i(s(e.$t("order.button.continuePay")),1)]),_:2},1032,["onClick"])):(l(),f(h,{key:1,size:"small",onClick:$=>e.$router.push({name:"console-order-detail",params:{id:a.row.id}})},{default:t(()=>[i(s(e.$t("order.button.checkDetail")),1)]),_:2},1032,["onClick"]))])]),_:1})]),_:1},8,["data","empty-text"])),[[y,e.loading]])]),_:1})]),_:1})]),_:1}),o(u,null,{default:t(()=>[o(m,{span:10,offset:14},{default:t(()=>[n("div",Z,[o(b,{"current-page":e.page,"page-size":e.limit,total:e.total,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const we=S(R,[["render",x]]);export{we as default};
1
+ import{o as k}from"./order-DKWuqMWf.js";import{P as C}from"./Pagination-C3DyJji5.js";import{C as D}from"./CopyToClipboard-D1FwD7Ay.js";import{O as E}from"./order-CB3uOPHS.js";import{_ as S}from"./index-BkuLNx2-.js";import{g as O}from"./price-Q1mTRsEK.js";import{w as v,a as I,l as P,x as N,y as A,z as F,A as T}from"./vendor-element-plus-B4FTqxj4.js";import{d as z,J as f,K as t,T as o,ai as r,G as n,R as s,L as B,aq as L,C as p,O as q,Q as i,D as l}from"./vendor-vue-1w_NBnjl.js";import"./index.es-7RSklBi_.js";import"./vendor-web3-XrA95VRY.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const R=z({name:"ConsoleOrderList",components:{Pagination:C,CopyToClipboard:D,ElRow:T,ElCol:F,ElTable:A,ElTableColumn:N,ElButton:P,ElTag:I,ElCard:v},data(){return{OrderState:E,orders:[],loading:!1,total:void 0,limit:10}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData()},methods:{getPriceString:O,onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},onFetchData(){this.loading=!0,k.getAll({ordering:"-created_at",limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id}).then(({data:e})=>{this.orders=e.items,this.loading=!1,this.total=e.count}).catch(()=>{this.loading=!1})}}}),V={class:"title"},j={class:"key"},G={class:"cursor-pointer"},H={class:"price"},X={class:"description"},J={key:0},K={key:1,class:"state state-paid"},Q={key:2,class:"state state-finished"},M={key:3,class:"state state-expired"},U={key:4,class:"state state-failed"},W={class:"created-at"},Y={class:"flex items-center justify-center flex-wrap"},Z={class:"float-right"};function x(e,ee,te,ae,oe,se){const m=r("el-col"),u=r("el-row"),_=r("copy-to-clipboard"),d=r("el-table-column"),c=r("el-tag"),h=r("el-button"),g=r("el-table"),w=r("el-card"),b=r("pagination"),y=L("loading");return l(),f(u,{class:"panel"},{default:t(()=>[o(m,{span:24},{default:t(()=>[o(u,null,{default:t(()=>[o(m,{span:24},{default:t(()=>[n("h2",V,s(e.$t("common.title.allOrders")),1)]),_:1})]),_:1}),o(u,null,{default:t(()=>[o(m,{span:24},{default:t(()=>[o(w,{shadow:"hover"},{default:t(()=>[B((l(),f(g,{data:e.orders,stripe:"","empty-text":e.$t("common.message.noData"),class:"min-h-[calc(100vh-300px)] mb-[50px]"},{default:t(()=>[o(d,{prop:"id",label:e.$t("order.field.id"),"class-name":"text-center",width:"200px"},{default:t(a=>[n("span",j,s(a.row.id),1),n("span",G,[o(_,{content:a.row.id,class:"inline-block"},null,8,["content"])])]),_:1},8,["label"]),o(d,{label:e.$t("order.field.price"),width:"100px"},{default:t(a=>[n("span",H,s(e.getPriceString({value:a.row?.price})),1)]),_:1},8,["label"]),o(d,{label:e.$t("order.field.description"),width:"270px","class-name":"hidden md:table-cell","label-class-name":"hidden md:table-cell"},{default:t(a=>[n("span",X,s(a.row.description),1)]),_:1},8,["label"]),o(d,{prop:"state",label:e.$t("order.field.state"),"class-name":"text-center",width:"160px"},{default:t(a=>[a.row.state===e.OrderState?.PENDING?(l(),p("span",J,[o(c,{type:"info",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.pending")),1)]),_:1})])):a.row.state===e.OrderState?.PAID?(l(),p("span",K,[o(c,{type:"success",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.paid")),1)]),_:1})])):a.row.state===e.OrderState?.FINISHED?(l(),p("span",Q,[o(c,{type:"success",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.finished")),1)]),_:1})])):a.row.state===e.OrderState?.EXPIRED?(l(),p("span",M,[o(c,{type:"danger",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.expired")),1)]),_:1})])):a.row.state===e.OrderState?.FAILED?(l(),p("span",U,[o(c,{type:"danger",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.failed")),1)]),_:1})])):q("",!0)]),_:1},8,["label"]),o(d,{label:e.$t("order.field.createdAt"),width:"250px"},{default:t(a=>[n("span",W,s(e.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"]),o(d,{"min-width":"130px",fixed:"right"},{default:t(a=>[n("div",Y,[a.row.state!==e.OrderState.PAID&&a.row.state!==e.OrderState.FINISHED&&a.row.state!==e.OrderState.EXPIRED&&a.row.state!==e.OrderState.FAILED?(l(),f(h,{key:0,type:"primary",size:"small",onClick:$=>e.$router.push({name:"console-order-detail",params:{id:a.row.id}})},{default:t(()=>[i(s(e.$t("order.button.continuePay")),1)]),_:2},1032,["onClick"])):(l(),f(h,{key:1,size:"small",onClick:$=>e.$router.push({name:"console-order-detail",params:{id:a.row.id}})},{default:t(()=>[i(s(e.$t("order.button.checkDetail")),1)]),_:2},1032,["onClick"]))])]),_:1})]),_:1},8,["data","empty-text"])),[[y,e.loading]])]),_:1})]),_:1})]),_:1}),o(u,null,{default:t(()=>[o(m,{span:10,offset:14},{default:t(()=>[n("div",Z,[o(b,{"current-page":e.page,"page-size":e.limit,total:e.total,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const we=S(R,[["render",x]]);export{we as default};
@@ -1 +1 @@
1
- import{aq as u,ar as A,as as E,at as x,c as G,_ as F}from"./index-CbNap6do.js";import{I as B,a as O}from"./credential-CEfFFZzi.js";import{P as V}from"./Pagination-B0I3KZEW.js";import{C as N}from"./CopyToClipboard-Dbge62aB.js";import{F as P}from"./index.es-BBWlIYNp.js";import{w as z,x as q,k as R,K as M,a as j,z as K,l as J,A as Q,y as X,u as w}from"./vendor-element-plus-B4FTqxj4.js";import{d as H,J as r,K as a,T as t,ai as s,G as i,R as l,O as b,C as $,Q as m,L as W,aq as Y,D as p}from"./vendor-vue-1w_NBnjl.js";import"./vendor-web3-Dsu5cGVO.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const Z=H({name:"ConsoleApplicationList",components:{Pagination:V,CopyToClipboard:N,ElTable:X,ElRow:Q,ElButton:J,ElCol:K,ElTag:j,ElSkeleton:M,ElSwitch:R,ElTableColumn:q,ElCard:z,FontAwesomeIcon:P},data(){return{credentialType:O,serviceType:B,individualApplications:[],globalApplications:[],individualApplicationsTotal:void 0,globalApplicationsTotal:void 0,loading:!1,buying:!1,limit:10,form:{amount:1},active:{service:void 0,application:void 0}}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onInitializeGlobalApplication(),this.onFetchData()},methods:{updateAllowConsumeGlobal(e,n){!e||!e.id||A.updateAllConsumeGlobal(e.id,{...e,allow_consume_global:!!n}).then(()=>{w.success(this.$t("application.message.updateSuccessfully").toString())}).catch(()=>{w.error(this.$t("application.message.updateFailed").toString())})},onGoUsage(e){this.$router.push({name:G,query:{application_id:e.id,type:e?.service?.type}})},onBuyMore(e){e?.id&&this.$router.push({name:x,params:{id:e.id}})},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchApplications(e=u.INDIVIDUAL){return new Promise((n,C)=>{A.getAll({limit:this.limit,...e===u.INDIVIDUAL?{offset:(this.page-1)*this.limit}:{},user_id:this.$store.getters.user.id,ordering:"-created_at",type:E.USAGE,scope:e}).then(({data:d})=>{e===u.INDIVIDUAL?(this.individualApplications=d.items,this.individualApplicationsTotal=d.count):(this.globalApplications=d.items,this.globalApplicationsTotal=d.count),n(d)}).catch(d=>{w.error(this.$t("application.message.fetchFailed").toString()),C(d)})})},onFetchData(){this.loading=!0,Promise.all([this.onFetchApplications(u.INDIVIDUAL),this.onFetchApplications(u.GLOBAL)]).then(()=>{this.loading=!1}).catch(()=>{this.loading=!1})},onInitializeGlobalApplication(){A.create({type:E.USAGE,scope:u.GLOBAL,user_id:this.$store.getters.user.id}).finally(()=>{this.onFetchApplications(u.GLOBAL)})},getRemainingAmount(e){if(e.remaining_amount===void 0||e.remaining_amount===null)return"";const n=this.$t(`service.unit.${e?.service?.unit||"credit"}s`);return`${e.remaining_amount?.toFixed(6)} ${n}`},getUsedAmount(e){if(e.used_amount===void 0||e.used_amount===null)return"";const n=this.$t(`service.unit.${e?.service?.unit||"credit"}s`);return`${e.used_amount?.toFixed(6)} ${n}`}}}),ee={class:"title"},te={key:1,class:"summary-card"},ae={class:"icon-wrapper"},oe={class:"label"},le={class:"value"},ie={class:"description"},ne={key:1,class:"flex flex-row justify-between align-center"},se={class:"summary-card"},pe={class:"flex justify-start items-center gap-2 mb-2 w-full"},re={class:"icon-wrapper !mb-0"},de={class:"text-[var(--el-text-color-regular)] text-[14px] truncate"},ce={class:"label"},ue={class:"value"},me={class:"description"},he={class:"flex flex-col items-end gap-2"},fe={class:"copy"},ge={key:0,class:"expired-at"},_e={class:"flex flex-wrap items-center justify-end gap-1"},be={class:"pagination"};function ye(e,n,C,d,ve,Ae){const h=s("el-col"),g=s("el-row"),k=s("el-skeleton"),f=s("font-awesome-icon"),v=s("el-card"),I=s("copy-to-clipboard"),y=s("el-button"),c=s("el-table-column"),T=s("el-tag"),D=s("el-switch"),L=s("el-table"),S=s("pagination"),U=Y("loading");return p(),r(g,{class:"panel p-[30px]"},{default:a(()=>[t(h,{span:24},{default:a(()=>[t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[i("h2",ee,l(e.$t("common.title.allApplications")),1)]),_:1})]),_:1}),t(g,{gutter:15,class:"mb-3"},{default:a(()=>[t(h,{md:12,xs:24},{default:a(()=>[t(v,{shadow:"hover",class:"relative min-h-[180px] mb-2","body-style":{padding:"18px 20px"}},{default:a(()=>[e.loading?(p(),r(k,{key:0})):(p(),$("div",te,[i("div",ae,[t(f,{icon:"fa-solid fa-cubes-stacked"})]),i("p",oe,l(e.$t("application.title.count")),1),i("p",le,l(e.individualApplicationsTotal),1),i("p",ie,l(e.$t("application.message.countDescription")),1)]))]),_:1})]),_:1}),e.globalApplications?.length>0?(p(),r(h,{key:0,md:12,xs:24},{default:a(()=>[t(v,{shadow:"hover",class:"relative min-h-[180px] mb-2","body-style":{padding:"18px 20px"}},{default:a(()=>[e.loading?(p(),r(k,{key:0})):(p(),$("div",ne,[i("div",se,[i("div",pe,[i("div",re,[t(f,{icon:"fa-solid fa-wallet"})]),i("span",de,[m(l(e.$t("application.field.id"))+": "+l(e.globalApplications?.[0]?.id)+" ",1),e.globalApplications?.[0]?.id?(p(),r(I,{key:0,content:e.globalApplications?.[0]?.id,class:"inline-block"},null,8,["content"])):b("",!0)])]),i("p",ce,l(e.$t("application.title.globalBalance")),1),i("p",ue,l(e.globalApplications?.[0]?.remaining_amount?.toFixed(6)||"0.000000")+" "+l(e.$t("service.unit.credits")),1),i("p",me,l(e.$t("application.message.globalBalanceDescription")),1)]),i("div",he,[t(y,{class:"!m-0 !px-2",size:"small",round:"",onClick:n[0]||(n[0]=o=>e.onGoUsage(e.globalApplications?.[0]))},{default:a(()=>[t(f,{icon:"fa-solid fa-chart-line",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.usage")),1)]),_:1}),t(y,{class:"!m-0 !px-2",type:"primary",round:"",size:"small",onClick:n[1]||(n[1]=o=>e.onBuyMore(e.globalApplications?.[0]))},{default:a(()=>[t(f,{icon:"fa-solid fa-coins",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.buyMore")),1)]),_:1})])]))]),_:1})]),_:1})):b("",!0)]),_:1}),t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[t(v,{shadow:"hover"},{default:a(()=>[W((p(),r(L,{data:e.individualApplications,stripe:"",class:"!min-h-[calc(100vh-420px)]","table-layout":"fixed","empty-text":e.$t("common.message.noData")},{default:a(()=>[t(c,{prop:"id",label:e.$t("application.field.id"),width:"200px","class-name":"text-center"},{default:a(o=>[i("span",null,l(o.row.id),1),i("span",fe,[t(I,{content:o?.row?.id,class:"inline-block"},null,8,["content"])])]),_:1},8,["label"]),t(c,{label:e.$t("application.field.type"),width:"90px"},{default:a(o=>[o.row?.type==="Period"?(p(),r(T,{key:0,type:"success",effect:"dark",round:""},{default:a(()=>[m(l(e.$t("application.type.period")),1)]),_:1})):o.row?.type==="Usage"?(p(),r(T,{key:1,effect:"dark",round:""},{default:a(()=>[m(l(e.$t("application.type.usage")),1)]),_:1})):b("",!0)]),_:1},8,["label"]),t(c,{label:e.$t("application.field.name"),width:"180px"},{default:a(o=>[i("span",null,l(o.row?.service?.title),1)]),_:1},8,["label"]),t(c,{prop:"remaining_amount",label:e.$t("application.field.remainingAmount"),width:"150px","class-name":"text-center"},{default:a(o=>[i("span",null,l(e.getRemainingAmount(o.row)),1)]),_:1},8,["label"]),t(c,{prop:"used_amount",label:e.$t("application.field.usedAmount"),width:"150px","class-name":"text-center"},{default:a(o=>[i("span",null,l(e.getUsedAmount(o.row)),1)]),_:1},8,["label"]),t(c,{prop:"allow_consume_global",label:e.$t("application.field.allowConsumeGlobal"),width:"120px","class-name":"text-center"},{default:a(o=>[o.row.service?.type===e.serviceType.API?(p(),r(D,{key:0,modelValue:o.row.allow_consume_global,"onUpdate:modelValue":_=>o.row.allow_consume_global=_,"active-value":!0,"inactive-value":!1,onChange:_=>e.updateAllowConsumeGlobal(o.row,_)},null,8,["modelValue","onUpdate:modelValue","onChange"])):b("",!0)]),_:1},8,["label"]),t(c,{label:e.$t("application.field.expiredAt"),width:"180px"},{default:a(o=>[o.row.expired_at?(p(),$("span",ge,l(e.$dayjs.format(o.row.expired_at)),1)):b("",!0)]),_:1},8,["label"]),t(c,{fixed:"right",width:"200px"},{default:a(o=>[i("div",_e,[t(y,{class:"!m-0 !px-2",size:"small",round:"",onClick:_=>e.onGoUsage(o?.row)},{default:a(()=>[t(f,{icon:"fa-solid fa-chart-line",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.usage")),1)]),_:2},1032,["onClick"]),t(y,{class:"!m-0 !px-2",type:"primary",round:"",size:"small",onClick:_=>e.onBuyMore(o?.row)},{default:a(()=>[t(f,{icon:"fa-solid fa-coins",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.buyMore")),1)]),_:2},1032,["onClick"])])]),_:1})]),_:1},8,["data","empty-text"])),[[U,e.loading]])]),_:1})]),_:1})]),_:1}),t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[i("div",be,[t(S,{"current-page":e.page,"page-size":e.limit,total:e.individualApplicationsTotal,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const xe=F(Z,[["render",ye],["__scopeId","data-v-8a5d3554"]]);export{xe as default};
1
+ import{aq as u,ar as A,as as E,at as x,c as G,_ as F}from"./index-BkuLNx2-.js";import{I as B,a as O}from"./credential-CEfFFZzi.js";import{P as V}from"./Pagination-C3DyJji5.js";import{C as N}from"./CopyToClipboard-D1FwD7Ay.js";import{F as P}from"./index.es-7RSklBi_.js";import{w as z,x as q,k as R,K as M,a as j,z as K,l as J,A as Q,y as X,u as w}from"./vendor-element-plus-B4FTqxj4.js";import{d as H,J as r,K as a,T as t,ai as s,G as i,R as l,O as b,C as $,Q as m,L as W,aq as Y,D as p}from"./vendor-vue-1w_NBnjl.js";import"./vendor-web3-XrA95VRY.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const Z=H({name:"ConsoleApplicationList",components:{Pagination:V,CopyToClipboard:N,ElTable:X,ElRow:Q,ElButton:J,ElCol:K,ElTag:j,ElSkeleton:M,ElSwitch:R,ElTableColumn:q,ElCard:z,FontAwesomeIcon:P},data(){return{credentialType:O,serviceType:B,individualApplications:[],globalApplications:[],individualApplicationsTotal:void 0,globalApplicationsTotal:void 0,loading:!1,buying:!1,limit:10,form:{amount:1},active:{service:void 0,application:void 0}}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onInitializeGlobalApplication(),this.onFetchData()},methods:{updateAllowConsumeGlobal(e,n){!e||!e.id||A.updateAllConsumeGlobal(e.id,{...e,allow_consume_global:!!n}).then(()=>{w.success(this.$t("application.message.updateSuccessfully").toString())}).catch(()=>{w.error(this.$t("application.message.updateFailed").toString())})},onGoUsage(e){this.$router.push({name:G,query:{application_id:e.id,type:e?.service?.type}})},onBuyMore(e){e?.id&&this.$router.push({name:x,params:{id:e.id}})},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchApplications(e=u.INDIVIDUAL){return new Promise((n,C)=>{A.getAll({limit:this.limit,...e===u.INDIVIDUAL?{offset:(this.page-1)*this.limit}:{},user_id:this.$store.getters.user.id,ordering:"-created_at",type:E.USAGE,scope:e}).then(({data:d})=>{e===u.INDIVIDUAL?(this.individualApplications=d.items,this.individualApplicationsTotal=d.count):(this.globalApplications=d.items,this.globalApplicationsTotal=d.count),n(d)}).catch(d=>{w.error(this.$t("application.message.fetchFailed").toString()),C(d)})})},onFetchData(){this.loading=!0,Promise.all([this.onFetchApplications(u.INDIVIDUAL),this.onFetchApplications(u.GLOBAL)]).then(()=>{this.loading=!1}).catch(()=>{this.loading=!1})},onInitializeGlobalApplication(){A.create({type:E.USAGE,scope:u.GLOBAL,user_id:this.$store.getters.user.id}).finally(()=>{this.onFetchApplications(u.GLOBAL)})},getRemainingAmount(e){if(e.remaining_amount===void 0||e.remaining_amount===null)return"";const n=this.$t(`service.unit.${e?.service?.unit||"credit"}s`);return`${e.remaining_amount?.toFixed(6)} ${n}`},getUsedAmount(e){if(e.used_amount===void 0||e.used_amount===null)return"";const n=this.$t(`service.unit.${e?.service?.unit||"credit"}s`);return`${e.used_amount?.toFixed(6)} ${n}`}}}),ee={class:"title"},te={key:1,class:"summary-card"},ae={class:"icon-wrapper"},oe={class:"label"},le={class:"value"},ie={class:"description"},ne={key:1,class:"flex flex-row justify-between align-center"},se={class:"summary-card"},pe={class:"flex justify-start items-center gap-2 mb-2 w-full"},re={class:"icon-wrapper !mb-0"},de={class:"text-[var(--el-text-color-regular)] text-[14px] truncate"},ce={class:"label"},ue={class:"value"},me={class:"description"},he={class:"flex flex-col items-end gap-2"},fe={class:"copy"},ge={key:0,class:"expired-at"},_e={class:"flex flex-wrap items-center justify-end gap-1"},be={class:"pagination"};function ye(e,n,C,d,ve,Ae){const h=s("el-col"),g=s("el-row"),k=s("el-skeleton"),f=s("font-awesome-icon"),v=s("el-card"),I=s("copy-to-clipboard"),y=s("el-button"),c=s("el-table-column"),T=s("el-tag"),D=s("el-switch"),L=s("el-table"),S=s("pagination"),U=Y("loading");return p(),r(g,{class:"panel p-[30px]"},{default:a(()=>[t(h,{span:24},{default:a(()=>[t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[i("h2",ee,l(e.$t("common.title.allApplications")),1)]),_:1})]),_:1}),t(g,{gutter:15,class:"mb-3"},{default:a(()=>[t(h,{md:12,xs:24},{default:a(()=>[t(v,{shadow:"hover",class:"relative min-h-[180px] mb-2","body-style":{padding:"18px 20px"}},{default:a(()=>[e.loading?(p(),r(k,{key:0})):(p(),$("div",te,[i("div",ae,[t(f,{icon:"fa-solid fa-cubes-stacked"})]),i("p",oe,l(e.$t("application.title.count")),1),i("p",le,l(e.individualApplicationsTotal),1),i("p",ie,l(e.$t("application.message.countDescription")),1)]))]),_:1})]),_:1}),e.globalApplications?.length>0?(p(),r(h,{key:0,md:12,xs:24},{default:a(()=>[t(v,{shadow:"hover",class:"relative min-h-[180px] mb-2","body-style":{padding:"18px 20px"}},{default:a(()=>[e.loading?(p(),r(k,{key:0})):(p(),$("div",ne,[i("div",se,[i("div",pe,[i("div",re,[t(f,{icon:"fa-solid fa-wallet"})]),i("span",de,[m(l(e.$t("application.field.id"))+": "+l(e.globalApplications?.[0]?.id)+" ",1),e.globalApplications?.[0]?.id?(p(),r(I,{key:0,content:e.globalApplications?.[0]?.id,class:"inline-block"},null,8,["content"])):b("",!0)])]),i("p",ce,l(e.$t("application.title.globalBalance")),1),i("p",ue,l(e.globalApplications?.[0]?.remaining_amount?.toFixed(6)||"0.000000")+" "+l(e.$t("service.unit.credits")),1),i("p",me,l(e.$t("application.message.globalBalanceDescription")),1)]),i("div",he,[t(y,{class:"!m-0 !px-2",size:"small",round:"",onClick:n[0]||(n[0]=o=>e.onGoUsage(e.globalApplications?.[0]))},{default:a(()=>[t(f,{icon:"fa-solid fa-chart-line",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.usage")),1)]),_:1}),t(y,{class:"!m-0 !px-2",type:"primary",round:"",size:"small",onClick:n[1]||(n[1]=o=>e.onBuyMore(e.globalApplications?.[0]))},{default:a(()=>[t(f,{icon:"fa-solid fa-coins",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.buyMore")),1)]),_:1})])]))]),_:1})]),_:1})):b("",!0)]),_:1}),t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[t(v,{shadow:"hover"},{default:a(()=>[W((p(),r(L,{data:e.individualApplications,stripe:"",class:"!min-h-[calc(100vh-420px)]","table-layout":"fixed","empty-text":e.$t("common.message.noData")},{default:a(()=>[t(c,{prop:"id",label:e.$t("application.field.id"),width:"200px","class-name":"text-center"},{default:a(o=>[i("span",null,l(o.row.id),1),i("span",fe,[t(I,{content:o?.row?.id,class:"inline-block"},null,8,["content"])])]),_:1},8,["label"]),t(c,{label:e.$t("application.field.type"),width:"90px"},{default:a(o=>[o.row?.type==="Period"?(p(),r(T,{key:0,type:"success",effect:"dark",round:""},{default:a(()=>[m(l(e.$t("application.type.period")),1)]),_:1})):o.row?.type==="Usage"?(p(),r(T,{key:1,effect:"dark",round:""},{default:a(()=>[m(l(e.$t("application.type.usage")),1)]),_:1})):b("",!0)]),_:1},8,["label"]),t(c,{label:e.$t("application.field.name"),width:"180px"},{default:a(o=>[i("span",null,l(o.row?.service?.title),1)]),_:1},8,["label"]),t(c,{prop:"remaining_amount",label:e.$t("application.field.remainingAmount"),width:"150px","class-name":"text-center"},{default:a(o=>[i("span",null,l(e.getRemainingAmount(o.row)),1)]),_:1},8,["label"]),t(c,{prop:"used_amount",label:e.$t("application.field.usedAmount"),width:"150px","class-name":"text-center"},{default:a(o=>[i("span",null,l(e.getUsedAmount(o.row)),1)]),_:1},8,["label"]),t(c,{prop:"allow_consume_global",label:e.$t("application.field.allowConsumeGlobal"),width:"120px","class-name":"text-center"},{default:a(o=>[o.row.service?.type===e.serviceType.API?(p(),r(D,{key:0,modelValue:o.row.allow_consume_global,"onUpdate:modelValue":_=>o.row.allow_consume_global=_,"active-value":!0,"inactive-value":!1,onChange:_=>e.updateAllowConsumeGlobal(o.row,_)},null,8,["modelValue","onUpdate:modelValue","onChange"])):b("",!0)]),_:1},8,["label"]),t(c,{label:e.$t("application.field.expiredAt"),width:"180px"},{default:a(o=>[o.row.expired_at?(p(),$("span",ge,l(e.$dayjs.format(o.row.expired_at)),1)):b("",!0)]),_:1},8,["label"]),t(c,{fixed:"right",width:"200px"},{default:a(o=>[i("div",_e,[t(y,{class:"!m-0 !px-2",size:"small",round:"",onClick:_=>e.onGoUsage(o?.row)},{default:a(()=>[t(f,{icon:"fa-solid fa-chart-line",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.usage")),1)]),_:2},1032,["onClick"]),t(y,{class:"!m-0 !px-2",type:"primary",round:"",size:"small",onClick:_=>e.onBuyMore(o?.row)},{default:a(()=>[t(f,{icon:"fa-solid fa-coins",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.buyMore")),1)]),_:2},1032,["onClick"])])]),_:1})]),_:1},8,["data","empty-text"])),[[U,e.loading]])]),_:1})]),_:1})]),_:1}),t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[i("div",be,[t(S,{"current-page":e.page,"page-size":e.limit,total:e.individualApplicationsTotal,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const xe=F(Z,[["render",ye],["__scopeId","data-v-8a5d3554"]]);export{xe as default};
@@ -1 +1 @@
1
- import{N}from"./Navigator-D60ZeYHw.js";import{A as E}from"./Status-1ZhJGQFk.js";import{aq as u,as as m,aj as k,_ as v,ar as x,ax as D,ay as C}from"./index-CbNap6do.js";import{l as I,Q as U,o as z,E as V,u as y}from"./vendor-element-plus-B4FTqxj4.js";import{d as _,J as w,K as A,G as c,T as r,R as h,ai as o,Q as B,D as $,c as L,C as O,O as P}from"./vendor-vue-1w_NBnjl.js";import"./index.es-BBWlIYNp.js";import"./avatar-yUeA5vNp.js";import"./EditArray-kbszLFHD.js";import"./CopyToClipboard-Dbge62aB.js";import"./vendor-web3-Dsu5cGVO.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";function S(e){if(!e?.expired_at)return!1;try{return new Date(e?.expired_at)<new Date}catch{return!1}}function G(e){return console.debug("application remaining amount",e,e?.remaining_amount),e?.remaining_amount&&e?.remaining_amount<0}function d(e){if(!e)return console.debug("application is undefined, return false"),!1;const t=G(e),a=S(e);return console.debug("is application exhausted",t),console.debug("is application expired",a),!t&&!a}function R(e,t){if(console.debug("start to execute getFinalApplication",e,t),t&&d(t)&&e?.some(i=>i.id===t.id))return console.debug("current application is usable",t),t;console.debug("get final application from applications",e);const a=e?.find(i=>i.scope===u.GLOBAL&&i.type===m.PERIOD);if(console.debug("application1",a),d(a))return console.debug("application with global scope and Period type",a),a;const s=e?.find(i=>i.scope===u.GLOBAL&&i.type===m.USAGE);if(console.debug("application2",s),d(s))return console.debug("application with global scope and Usage type",s),s;const n=e?.find(i=>(i.scope===u.INDIVIDUAL&&i?.type)===m.PERIOD);if(console.debug("application3",n),d(n))return console.debug("application with Period type",n),n;const p=e?.find(i=>(i.scope===u.INDIVIDUAL&&i?.type)===m.USAGE);return console.debug("application4",p),d(p)?(console.debug("application with Usage type",p),p):a||s||n||p}const F=_({name:"ApplicationConfirm",components:{ElDialog:V,ElDivider:z,ElCheckbox:U,ElButton:I},props:{visible:{type:Boolean,required:!1,default:!1}},emits:["update:visible","apply"],data(){return{checked:!0}},watch:{},methods:{getBaseUrlPlatform:k,onApply(){if(!this.checked){y.error(this.$t("application.message.notAgreePolicy"));return}this.$emit("apply")}}}),M={class:"content py-[10px] px-[40px]"},T={class:"my-4"},q={class:"policy mb-[10px]"},Q={class:"policy-title text-[12px] relative -bottom-[3px]"},W=["href"];function j(e,t,a,s,n,p){const i=o("el-divider"),g=o("el-checkbox"),f=o("el-button"),b=o("el-dialog");return $(),w(b,{"model-value":e.visible,width:"500px",title:e.$t("application.message.welcome"),center:"",onClose:t[1]||(t[1]=l=>e.$emit("update:visible",!1))},{default:A(()=>[c("div",M,[c("p",T,h(e.$t("application.message.notApplied")),1),r(i,{class:"my-2"}),c("div",q,[r(g,{modelValue:e.checked,"onUpdate:modelValue":t[0]||(t[0]=l=>e.checked=l),size:"large",class:"policy-checkbox mr-[10px]"},null,8,["modelValue"]),c("span",Q,h(e.$t("application.message.readPolicy")),1),c("a",{class:"policy-title text-[12px] relative -bottom-[3px] text-[var(--el-color-primary)] cursor-pointer no-underline",target:"_blank",href:e.getBaseUrlPlatform()+"/terms"},"  "+h(e.$t("application.message.policy")),9,W)]),r(f,{round:"",type:"primary",onClick:e.onApply},{default:A(()=>[B(h(e.$t("common.button.start")),1)]),_:1},8,["onClick"])])]),_:1},8,["model-value","title"])}const J=v(F,[["render",j]]),K=_({name:"LayoutMain",components:{Navigator:N,ApplicationStatus:E,ApplicationConfirm:J},provide(){return{initialized:L(()=>this.initialized)}},data(){return{initialized:!1,applying:!1,mobile:window.innerWidth<768}},computed:{appName(){return this.$route.meta.appName},application(){return this.$store.state[this.appName]?.application},applications(){const e=this.$store.state[this.appName]?.applications??[];console.debug("individualApplications",e);const t=this.$store.state.applications??[];return console.debug("globalApplications",t),t.concat(e)},loading(){return this.$store.state[this.appName]?.status?.getApplications===C.Request},service(){return this.$store.state[this.appName]?.service}},watch:{appName(){this.initialize()}},mounted(){this.initialize(),window.addEventListener("resize",()=>{this.mobile=window.innerWidth<768})},methods:{async initialize(){this.initialized=!1,console.debug("Fetching all individual and global applications for",this.appName),Promise.all([this.$store.dispatch("getApplications"),this.$store.dispatch(`${this.appName}/getApplications`)]).finally(async()=>{console.debug("Fetched all applications",this.applications),this.$store.state.applications?.length===0&&(this.applying=!0);const e=this.$store.state[this.appName]?.application;console.debug("current application",e);const t=R(this.applications,e);console.debug("final application",t),t&&(console.debug("set final application",t,t?.type),await this.$store.dispatch(`${this.appName}/setApplication`,t)),console.debug("finished initialization"),this.initialized=!0})},onApply(){x.create({type:m.USAGE,scope:u.GLOBAL,user_id:this.$store.getters.user.id}).then(()=>{y.success(this.$t("application.message.applySuccessfully")),this.initialize(),this.applying=!1}).catch(e=>{e?.response?.data?.code===D&&y.error(this.$t("application.message.alreadyApplied"))})}}}),H={class:"wrapper"};function X(e,t,a,s,n,p){const i=o("router-view"),g=o("navigator"),f=o("application-status"),b=o("application-confirm");return $(),O("div",H,[r(i,{class:"main"}),r(g,{class:"navigator",direction:e.mobile?"row":"column"},null,8,["direction"]),e.application?($(),w(f,{key:0,class:"fixed right-2 top-2",application:e.application,applications:e.applications,"show-price":!1,authenticated:!!e.$store.state.token.access,service:e.service,onSelect:t[0]||(t[0]=l=>e.$store.dispatch(`${e.appName}/setApplication`,l))},null,8,["application","applications","authenticated","service"])):P("",!0),r(b,{modelValue:e.applying,"onUpdate:modelValue":t[1]||(t[1]=l=>e.applying=l),modelModifiers:{visible:!0},onApply:e.onApply},null,8,["modelValue","onApply"])])}const de=v(K,[["render",X],["__scopeId","data-v-7ce2f746"]]);export{de as default};
1
+ import{N}from"./Navigator-BKT2mxOy.js";import{A as E}from"./Status-HltKSvqh.js";import{aq as u,as as m,aj as k,_ as v,ar as x,ax as D,ay as C}from"./index-BkuLNx2-.js";import{l as I,Q as U,o as z,E as V,u as y}from"./vendor-element-plus-B4FTqxj4.js";import{d as _,J as w,K as A,G as c,T as r,R as h,ai as o,Q as B,D as $,c as L,C as O,O as P}from"./vendor-vue-1w_NBnjl.js";import"./index.es-7RSklBi_.js";import"./avatar-DX-DNBWM.js";import"./EditArray-DaBF2vWk.js";import"./CopyToClipboard-D1FwD7Ay.js";import"./vendor-web3-XrA95VRY.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";function S(e){if(!e?.expired_at)return!1;try{return new Date(e?.expired_at)<new Date}catch{return!1}}function G(e){return console.debug("application remaining amount",e,e?.remaining_amount),e?.remaining_amount&&e?.remaining_amount<0}function d(e){if(!e)return console.debug("application is undefined, return false"),!1;const t=G(e),a=S(e);return console.debug("is application exhausted",t),console.debug("is application expired",a),!t&&!a}function R(e,t){if(console.debug("start to execute getFinalApplication",e,t),t&&d(t)&&e?.some(i=>i.id===t.id))return console.debug("current application is usable",t),t;console.debug("get final application from applications",e);const a=e?.find(i=>i.scope===u.GLOBAL&&i.type===m.PERIOD);if(console.debug("application1",a),d(a))return console.debug("application with global scope and Period type",a),a;const s=e?.find(i=>i.scope===u.GLOBAL&&i.type===m.USAGE);if(console.debug("application2",s),d(s))return console.debug("application with global scope and Usage type",s),s;const n=e?.find(i=>(i.scope===u.INDIVIDUAL&&i?.type)===m.PERIOD);if(console.debug("application3",n),d(n))return console.debug("application with Period type",n),n;const p=e?.find(i=>(i.scope===u.INDIVIDUAL&&i?.type)===m.USAGE);return console.debug("application4",p),d(p)?(console.debug("application with Usage type",p),p):a||s||n||p}const F=_({name:"ApplicationConfirm",components:{ElDialog:V,ElDivider:z,ElCheckbox:U,ElButton:I},props:{visible:{type:Boolean,required:!1,default:!1}},emits:["update:visible","apply"],data(){return{checked:!0}},watch:{},methods:{getBaseUrlPlatform:k,onApply(){if(!this.checked){y.error(this.$t("application.message.notAgreePolicy"));return}this.$emit("apply")}}}),M={class:"content py-[10px] px-[40px]"},T={class:"my-4"},q={class:"policy mb-[10px]"},Q={class:"policy-title text-[12px] relative -bottom-[3px]"},W=["href"];function j(e,t,a,s,n,p){const i=o("el-divider"),g=o("el-checkbox"),f=o("el-button"),b=o("el-dialog");return $(),w(b,{"model-value":e.visible,width:"500px",title:e.$t("application.message.welcome"),center:"",onClose:t[1]||(t[1]=l=>e.$emit("update:visible",!1))},{default:A(()=>[c("div",M,[c("p",T,h(e.$t("application.message.notApplied")),1),r(i,{class:"my-2"}),c("div",q,[r(g,{modelValue:e.checked,"onUpdate:modelValue":t[0]||(t[0]=l=>e.checked=l),size:"large",class:"policy-checkbox mr-[10px]"},null,8,["modelValue"]),c("span",Q,h(e.$t("application.message.readPolicy")),1),c("a",{class:"policy-title text-[12px] relative -bottom-[3px] text-[var(--el-color-primary)] cursor-pointer no-underline",target:"_blank",href:e.getBaseUrlPlatform()+"/terms"},"  "+h(e.$t("application.message.policy")),9,W)]),r(f,{round:"",type:"primary",onClick:e.onApply},{default:A(()=>[B(h(e.$t("common.button.start")),1)]),_:1},8,["onClick"])])]),_:1},8,["model-value","title"])}const J=v(F,[["render",j]]),K=_({name:"LayoutMain",components:{Navigator:N,ApplicationStatus:E,ApplicationConfirm:J},provide(){return{initialized:L(()=>this.initialized)}},data(){return{initialized:!1,applying:!1,mobile:window.innerWidth<768}},computed:{appName(){return this.$route.meta.appName},application(){return this.$store.state[this.appName]?.application},applications(){const e=this.$store.state[this.appName]?.applications??[];console.debug("individualApplications",e);const t=this.$store.state.applications??[];return console.debug("globalApplications",t),t.concat(e)},loading(){return this.$store.state[this.appName]?.status?.getApplications===C.Request},service(){return this.$store.state[this.appName]?.service}},watch:{appName(){this.initialize()}},mounted(){this.initialize(),window.addEventListener("resize",()=>{this.mobile=window.innerWidth<768})},methods:{async initialize(){this.initialized=!1,console.debug("Fetching all individual and global applications for",this.appName),Promise.all([this.$store.dispatch("getApplications"),this.$store.dispatch(`${this.appName}/getApplications`)]).finally(async()=>{console.debug("Fetched all applications",this.applications),this.$store.state.applications?.length===0&&(this.applying=!0);const e=this.$store.state[this.appName]?.application;console.debug("current application",e);const t=R(this.applications,e);console.debug("final application",t),t&&(console.debug("set final application",t,t?.type),await this.$store.dispatch(`${this.appName}/setApplication`,t)),console.debug("finished initialization"),this.initialized=!0})},onApply(){x.create({type:m.USAGE,scope:u.GLOBAL,user_id:this.$store.getters.user.id}).then(()=>{y.success(this.$t("application.message.applySuccessfully")),this.initialize(),this.applying=!1}).catch(e=>{e?.response?.data?.code===D&&y.error(this.$t("application.message.alreadyApplied"))})}}}),H={class:"wrapper"};function X(e,t,a,s,n,p){const i=o("router-view"),g=o("navigator"),f=o("application-status"),b=o("application-confirm");return $(),O("div",H,[r(i,{class:"main"}),r(g,{class:"navigator",direction:e.mobile?"row":"column"},null,8,["direction"]),e.application?($(),w(f,{key:0,class:"fixed right-2 top-2",application:e.application,applications:e.applications,"show-price":!1,authenticated:!!e.$store.state.token.access,service:e.service,onSelect:t[0]||(t[0]=l=>e.$store.dispatch(`${e.appName}/setApplication`,l))},null,8,["application","applications","authenticated","service"])):P("",!0),r(b,{modelValue:e.applying,"onUpdate:modelValue":t[1]||(t[1]=l=>e.applying=l),modelModifiers:{visible:!0},onApply:e.onApply},null,8,["modelValue","onApply"])])}const de=v(K,[["render",X],["__scopeId","data-v-7ce2f746"]]);export{de as default};