@acedatacloud/nexior 3.25.0 → 3.25.1

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 (93) hide show
  1. package/dist/assets/{Auth-DiaClekA.js → Auth-ZFL9tEYY.js} +1 -1
  2. package/dist/assets/{BotPlaceholder-8zDrksua.js → BotPlaceholder-Bn7lEbyW.js} +1 -1
  3. package/dist/assets/{Callback-C_Dr06kX.js → Callback-ADArovCk.js} +1 -1
  4. package/dist/assets/{Console-Dmx5CHpc.js → Console-R7Nq1XW4.js} +1 -1
  5. package/dist/assets/{Conversation-CtzRNEej.js → Conversation-s6SlHgmF.js} +2 -2
  6. package/dist/assets/{CopyToClipboard-DgotqLxr.js → CopyToClipboard-B0sXY0gf.js} +1 -1
  7. package/dist/assets/{Detail-yzBLTp7w.js → Detail-DGqa0niQ.js} +1 -1
  8. package/dist/assets/{EditArray-DAVh2_3U.js → EditArray-sXU-nuer.js} +1 -1
  9. package/dist/assets/{Extra-CkE6xMlZ.js → Extra-BGCl3fdy.js} +1 -1
  10. package/dist/assets/{FilePreview-3hkMnxl9.js → FilePreview-BOf1jXGA.js} +1 -1
  11. package/dist/assets/{History-WQNUHUYK.js → History-D3P-BDSp.js} +1 -1
  12. package/dist/assets/{ImagePreview-DhYLHTps.js → ImagePreview-fjeQ_mXr.js} +1 -1
  13. package/dist/assets/{ImageWrapper-Dm7lQPbW.js → ImageWrapper-ChFtniNG.js} +1 -1
  14. package/dist/assets/{Index-auRXRiEC.js → Index-48R8KP_e.js} +1 -1
  15. package/dist/assets/{Index-CQx6M-dc.js → Index-B9UAbq7K.js} +1 -1
  16. package/dist/assets/{Index--bhZUAUU.js → Index-BBVkiDLK.js} +1 -1
  17. package/dist/assets/{Index-CJdMjC2Y.js → Index-Bp0DnFP8.js} +1 -1
  18. package/dist/assets/{Index-C-_Csfw1.js → Index-C2XSfdlG.js} +1 -1
  19. package/dist/assets/{Index-DiA-s1qk.js → Index-CVKSxmPU.js} +1 -1
  20. package/dist/assets/{Index-Scdh2Egu.js → Index-Ci0cxJdC.js} +1 -1
  21. package/dist/assets/{Index-T1yLCrp1.js → Index-CpzsdYan.js} +1 -1
  22. package/dist/assets/{Index-BuJiqDOn.js → Index-CqUvleXZ.js} +1 -1
  23. package/dist/assets/{Index-u2kvh-xO.js → Index-DEi3lR31.js} +1 -1
  24. package/dist/assets/{Index-7yNwhUjv.js → Index-DHwfKCWu.js} +1 -1
  25. package/dist/assets/{Index-DKVNaQli.js → Index-DK4gRSuD.js} +1 -1
  26. package/dist/assets/{Index-3_jggFoZ.js → Index-DlQVMfXj.js} +1 -1
  27. package/dist/assets/{Index-CS86PFor.js → Index-Dns4RHLB.js} +1 -1
  28. package/dist/assets/{Index-DrTIdg50.js → Index-Dw-C8knr.js} +1 -1
  29. package/dist/assets/{Index-BOZv_JDV.js → Index-PWykWvWS.js} +1 -1
  30. package/dist/assets/{Invitees-CLI9lTbv.js → Invitees-DPR5dxyo.js} +1 -1
  31. package/dist/assets/{List-CvX3QDar.js → List-CB6PvsV4.js} +1 -1
  32. package/dist/assets/{List-BHdScwPg.js → List-CvNpui7s.js} +1 -1
  33. package/dist/assets/{List-ec-G1e57.js → List-DF1xAj8f.js} +1 -1
  34. package/dist/assets/{Login-BoBId3b9.js → Login-BBVssM83.js} +1 -1
  35. package/dist/assets/{Main-3kEz8U8Q.js → Main-B8Gn8wFB.js} +1 -1
  36. package/dist/assets/{Navigator-B8aaZIOz.js → Navigator-DeAMelPW.js} +1 -1
  37. package/dist/assets/{NoTasks-BpOa5vFX.js → NoTasks-Cxeor42D.js} +1 -1
  38. package/dist/assets/{Pagination-BwG1s5G4.js → Pagination-CV1s64tj.js} +1 -1
  39. package/dist/assets/ScrollList-BsWg1Oco.js +1 -0
  40. package/dist/assets/{ScrollList-Cyjz48lZ.css → ScrollList-DgGwAdqA.css} +1 -1
  41. package/dist/assets/{Status-CifADRQi.js → Status-Cb0oPjbf.js} +1 -1
  42. package/dist/assets/{Subscribe-NVrrwFIC.js → Subscribe-1vCwy75C.js} +1 -1
  43. package/dist/assets/{VideoPlayer-DleRW6I6.js → VideoPlayer-Bkc77RHA.js} +1 -1
  44. package/dist/assets/{_baseClone-BNWubnsE.js → _baseClone-Bm9igNTj.js} +1 -1
  45. package/dist/assets/{_baseIteratee-DabyO38L.js → _baseIteratee-C0prYj3x.js} +1 -1
  46. package/dist/assets/{_initCloneObject-j_ExEGAU.js → _initCloneObject-CAySSrJV.js} +1 -1
  47. package/dist/assets/{castArray-KB0R_QyF.js → castArray-CGkY3K20.js} +1 -1
  48. package/dist/assets/{debounce-C3VeLj5t.js → debounce-CguuKO1r.js} +1 -1
  49. package/dist/assets/{distribution-C85LoBvQ.js → distribution-DyIdWLTX.js} +1 -1
  50. package/dist/assets/{dropdown-B6EDyfs2.js → dropdown-D2LCpybK.js} +1 -1
  51. package/dist/assets/{index-Cx5qFJ0y.js → index-B9M5gqZj.js} +1 -1
  52. package/dist/assets/{index-pMVrQRue.js → index-BBae-ry6.js} +1 -1
  53. package/dist/assets/{index-RNrLf-1I.js → index-BKPV2Two.js} +1 -1
  54. package/dist/assets/{index-BN7nYLDK.js → index-BNhORE5b.js} +1 -1
  55. package/dist/assets/{index-CCKUub4u.js → index-BY87tdIk.js} +1 -1
  56. package/dist/assets/{index-BrZEkGia.js → index-Ba60uEk-.js} +1 -1
  57. package/dist/assets/{index-DZtScTkG.js → index-BhccfPia.js} +1 -1
  58. package/dist/assets/{index-CrAgxKlm.js → index-BjFSM9Qd.js} +1 -1
  59. package/dist/assets/{index-CmsT3Np_.js → index-Bk5nP9u2.js} +1 -1
  60. package/dist/assets/{index-BTdPZbJx.js → index-Bp5pMMj1.js} +1 -1
  61. package/dist/assets/{index-CN0tS-0l.js → index-C5xIFTe8.js} +1 -1
  62. package/dist/assets/{index-DDqBSSFk.js → index-C7JbjCIG.js} +1 -1
  63. package/dist/assets/{index-_Y99ywre.js → index-C9snhxjP.js} +1 -1
  64. package/dist/assets/{index-Bgzvc62r.js → index-CHfsm--8.js} +1 -1
  65. package/dist/assets/{index-B92my1Q0.js → index-CUr7KGdA.js} +1 -1
  66. package/dist/assets/{index-BHWAOEcf.js → index-Cltw-TPy.js} +2 -2
  67. package/dist/assets/{index-DpwLjErO.js → index-CpH9j3dB.js} +1 -1
  68. package/dist/assets/{index-FULpWQi5.js → index-D4wnX0xO.js} +1 -1
  69. package/dist/assets/{index-BNZB7Wrx.js → index-DSp1QfJq.js} +1 -1
  70. package/dist/assets/{index-DjcJC0zK.js → index-DTitzyRz.js} +1 -1
  71. package/dist/assets/{index-IMW6uuh-.js → index-DU1Jn2Bq.js} +1 -1
  72. package/dist/assets/{index-CZeM6Tp2.js → index-Daydyphg.js} +1 -1
  73. package/dist/assets/{index-CKtbhR9a.js → index-Douq3tkS.js} +1 -1
  74. package/dist/assets/{index-Dno4ZZGJ.js → index-Duh1U13K.js} +1 -1
  75. package/dist/assets/{index-BAjjsEGt.js → index-FtmKCcb9.js} +1 -1
  76. package/dist/assets/{index-CbmaAtUr.js → index-J3_g86Kc.js} +1 -1
  77. package/dist/assets/{index-CABd8l27.js → index-RTh02r3m.js} +1 -1
  78. package/dist/assets/{index-yCwOWgs4.js → index-TO8m0FZI.js} +1 -1
  79. package/dist/assets/{index-B5Lioaz1.js → index-TiR34Adr.js} +1 -1
  80. package/dist/assets/{index-DRhl7LNX.js → index-h2hg5mzg.js} +1 -1
  81. package/dist/assets/{index.es-B5BxExPu.js → index.es-Dw-ikv9u.js} +1 -1
  82. package/dist/assets/{isEqual-VZNlgh-o.js → isEqual-CbOgjKmk.js} +1 -1
  83. package/dist/assets/{isPlainObject-B0WNvF5u.js → isPlainObject-BHOEH-Zh.js} +1 -1
  84. package/dist/assets/{order-BdrXZ9es.js → order-izH8TeES.js} +1 -1
  85. package/dist/assets/pagination-BA1VbgK9.js +1 -0
  86. package/dist/assets/{price-HfrxdcfW.js → price-B71O9NlG.js} +1 -1
  87. package/dist/assets/{strings-CASQTtYR.js → strings-CNKL_IWi.js} +1 -1
  88. package/dist/assets/{typescript-BJu9PjgO.js → typescript-DOVFb1BD.js} +1 -1
  89. package/dist/assets/{use-form-item-Cfa-OGdg.js → use-form-item-Be29d0-B.js} +1 -1
  90. package/dist/index.html +1 -1
  91. package/package.json +1 -1
  92. package/dist/assets/ScrollList-9YjkSrQI.js +0 -1
  93. package/dist/assets/pagination-Cj4ffYe2.js +0 -1
@@ -1 +1 @@
1
- import{F as P}from"./index.es-B5BxExPu.js";import{E as L}from"./index-BrZEkGia.js";import{E as O}from"./index-DRhl7LNX.js";import{d as $,h as k,b as r,t as l,k as t,r as U,j as u,l as s,o as a,eJ as q,x as i,F as S,v as T,i as V,eK as B,D as h,eL as j,cf as N,y as g,n as A,eM as z,dN as F,dr as K,dI as J,dJ as C}from"./index-BHWAOEcf.js";import{I as D,S as H}from"./ScrollList-9YjkSrQI.js";import{E as Q}from"./index-_Y99ywre.js";import{E as G,a as M}from"./index-IMW6uuh-.js";import{a as W,E as X}from"./index-BN7nYLDK.js";import{I as Y}from"./ImagePreview-DhYLHTps.js";import{E as Z}from"./index-DjcJC0zK.js";import{E}from"./index-DDqBSSFk.js";import{E as x}from"./index-CCKUub4u.js";import{C as ee,N as te}from"./NoTasks-BpOa5vFX.js";import{a as oe}from"./price-HfrxdcfW.js";import{C as se}from"./CopyToClipboard-DgotqLxr.js";import{s as ae}from"./vue-plyr-QZFBikSk.js";import{E as ne}from"./index-BTdPZbJx.js";import{E as ie}from"./index-Bgzvc62r.js";import{E as le}from"./index-CmsT3Np_.js";import{B as re}from"./BotPlaceholder-8zDrksua.js";import{l as ce}from"./pagination-Cj4ffYe2.js";import"./use-form-item-Cfa-OGdg.js";import"./index-r5W6hzzQ.js";import"./index-CZeM6Tp2.js";import"./index-DpwLjErO.js";import"./typescript-BJu9PjgO.js";import"./strings-CASQTtYR.js";import"./castArray-KB0R_QyF.js";import"./isEqual-VZNlgh-o.js";import"./_initCloneObject-j_ExEGAU.js";import"./debounce-C3VeLj5t.js";import"./_baseIteratee-DabyO38L.js";import"./index-CrAgxKlm.js";import"./index-CABd8l27.js";import"./_baseClone-BNWubnsE.js";import"./index-DZtScTkG.js";import"./index-yCwOWgs4.js";const pe=$({name:"LayoutPika",components:{ElDrawer:O,ElButton:L,FontAwesomeIcon:P},data(){return{drawer:!1}}}),de={class:"main flex flex-row flex-1"},ue={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},me={class:"result h-full p-[15px] flex-1 flex flex-col"};function fe(e,o,c,d,v,b){const p=s("font-awesome-icon"),m=s("el-button"),n=s("el-drawer");return a(),r("div",de,[l("div",ue,[U(e.$slots,"config",{},void 0,!0)]),l("div",me,[U(e.$slots,"result",{},void 0,!0)]),t(m,{circle:"",class:"menu",onClick:o[0]||(o[0]=y=>e.drawer=!0)},{default:u(()=>[t(p,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=y=>e.drawer=y),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const _e=k(pe,[["render",fe],["__scopeId","data-v-80748529"]]),he=$({name:"IngredientsSelector",components:{ElSwitch:Q,InfoIcon:D},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients},set(e){console.debug("set ingredients",e),e||this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,ingredients_mode:void 0,image_url:void 0}),this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,model:"2.0"})}}},mounted(){this.value===void 0&&(this.value=q)}}),ge={class:"field"},$e={class:"title font-bold"};function ke(e,o,c,d,v,b){const p=s("el-switch"),m=s("info-icon");return a(),r("div",ge,[l("h2",$e,i(e.$t("pika.name.ingredients")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value"},null,8,["modelValue"]),t(m,{content:e.$t("pika.description.ingredients"),class:"info"},null,8,["content"])])}const ve=k(he,[["render",ke],["__scopeId","data-v-17c0af5c"]]),be=$({name:"EffectSelector",components:{ElSelect:M,ElOption:G},data(){return{}},computed:{options(){return[{value:"Levitate",label:this.$t("pika.style.effect1")},{value:"Decapitate",label:this.$t("pika.style.effect2")},{value:"Eye-pop",label:this.$t("pika.style.effect3")},{value:"Ta-da",label:this.$t("pika.style.effect4")},{value:"Deflate",label:this.$t("pika.style.effect5")},{value:"Crumble",label:this.$t("pika.style.effect6")},{value:"Dissolve",label:this.$t("pika.style.effect7")},{value:"Squish",label:this.$t("pika.style.effect8")},{value:"Inflate",label:this.$t("pika.style.effect9")},{value:"Melt",label:this.$t("pika.style.effect10")},{value:"Cake-ify",label:this.$t("pika.style.effect11")},{value:"Crush",label:this.$t("pika.style.effect12")},{value:"Explode",label:this.$t("pika.style.effect13")}]},value:{get(){return this.$store.state.pika?.config?.effect},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,effect:e})}}}}),ye={class:"field"},we={class:"title font-bold"},Ee={class:"float-left"};function Ve(e,o,c,d,v,b){const p=s("el-option"),m=s("el-select");return a(),r("div",ye,[l("h2",we,i(e.$t("pika.name.effect")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("pika.placeholder.select"),clearable:""},{default:u(()=>[(a(!0),r(S,null,T(e.options,n=>(a(),V(p,{key:n.value,label:n.label,value:n.value},{default:u(()=>[l("span",Ee,i(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ie=k(be,[["render",Ve],["__scopeId","data-v-d1c54475"]]),Se=$({name:"IngredientsModelSelector",components:{ElRadioButton:X,ElRadioGroup:W},data(){return{options:[{label:this.$t("pika.button.precise"),value:"precise"},{label:this.$t("pika.button.creative"),value:"creative"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients_mode},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients_mode:e})}}},mounted(){this.value||(this.value=B)}}),Te={class:"field"},Ce={class:"title font-bold"};function Pe(e,o,c,d,v,b){const p=s("el-radio-button"),m=s("el-radio-group");return a(),r("div",Te,[l("h2",Ce,i(e.$t("pika.name.ingredientsModel")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),size:"small",class:"quality"},{default:u(()=>[(a(!0),r(S,null,T(e.options,n=>(a(),V(p,{key:n.value,label:n.value},{default:u(()=>[h(i(n.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const Le=k(Se,[["render",Pe],["__scopeId","data-v-b948551f"]]),Ae=$({name:"ModelSelector",components:{ElSelect:M,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"2.0",label:"2.0"},{value:"1.5",label:"1.5"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.model},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika.config,model:e})}}},mounted(){this.value||(this.value=j)}}),Re={class:"field"},Ue={class:"title font-bold"};function De(e,o,c,d,v,b){const p=s("el-option"),m=s("el-select");return a(),r("div",Re,[l("h2",Ue,i(e.$t("pika.name.model")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("pika.placeholder.select")},{default:u(()=>[(a(!0),r(S,null,T(e.options,n=>(a(),V(p,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ge=k(Ae,[["render",De],["__scopeId","data-v-7b2e870a"]]),Me=$({name:"ImageUrlInput",components:{ElUpload:Z,ElButton:L,InfoIcon:D,ImagePreview:Y,FontAwesomeIcon:P},data(){return{fileList:[],uploadUrl:N()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.pika?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("pika.message.uploadStartImageExceed"))},onError(){E.error(this.$t("pika.message.uploadStartImageError"))},async onRemove(){E.error(this.$t("pika.message.uploadStartImageError"))},onSetStartImageUrl(){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:this.urls})},async onSuccess(){this.onSetStartImageUrl()}}}),Oe={class:"field"},qe={class:"title font-bold"},Be={class:"upload-wrapper"};function je(e,o,c,d,v,b){const p=s("image-preview"),m=s("font-awesome-icon"),n=s("el-button"),y=s("el-upload"),_=s("info-icon");return a(),r("div",Oe,[l("h2",qe,i(e.$t("pika.name.imageUrl")),1),l("div",Be,[t(y,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=f=>e.fileList=f),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value upload-wrapper",limit:3,multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:f})=>[t(p,{url:f.url||f.response?.file_url,name:f.name,percentage:f.percentage,onRemove:I=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])]),default:u(()=>[t(n,{size:"small",type:"primary",round:""},{default:u(()=>[t(m,{icon:"fa-solid fa-upload",class:"mr-1"}),h(" "+i(e.$t("pika.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])]),t(_,{content:e.$t("pika.description.imageUrl"),class:"info"},null,8,["content"])])}const Ne=k(Me,[["render",je],["__scopeId","data-v-18cda67a"]]),ze="",Fe=$({name:"PromptInput",components:{ElInput:x,InfoIcon:D},computed:{prompt:{get(){return this.$store.state.pika?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ze)}}),Ke={class:"field"},Je={class:"box"},He={class:"title font-bold"};function Qe(e,o,c,d,v,b){const p=s("info-icon"),m=s("el-input");return a(),r("div",Ke,[l("div",Je,[l("h2",He,i(e.$t("pika.name.prompt")),1),t(p,{content:e.$t("pika.description.prompt"),class:"info"},null,8,["content"])]),t(m,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("pika.placeholder.prompt"),maxlength:300,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const We=k(Fe,[["render",Qe],["__scopeId","data-v-b94e7a3e"]]),Xe=$({name:"PresetPanel",components:{ImageUrlInput:Ne,ElButton:L,FontAwesomeIcon:P,Consumption:ee,PromptInput:We,IngredientsSelector:ve,IngredientsModelSelector:Le,ModelSelector:Ge,EffectSelector:Ie},emits:["generate"],computed:{config(){return this.$store.state.pika?.config},consumption(){return oe(this.config,this.service?.cost)},service(){return this.$store.state.pika?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ye={class:"flex flex-col h-full"},Ze={class:"flex-1 overflow-y-auto p-[15px]"},xe={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function et(e,o,c,d,v,b){const p=s("prompt-input"),m=s("model-selector"),n=s("ingredients-selector"),y=s("effect-selector"),_=s("image-url-input"),f=s("ingredients-model-selector"),I=s("consumption"),w=s("font-awesome-icon"),R=s("el-button");return a(),r("div",Ye,[l("div",Ze,[t(p,{class:"mb-4"}),t(m,{class:"mb-4"}),t(n,{class:"mb-4"}),t(y,{class:"mb-4"}),e.config?.ingredients?(a(),V(_,{key:0,class:"mb-4"})):g("",!0),e.config?.ingredients?(a(),V(f,{key:1,class:"mb-4"})):g("",!0)]),l("div",xe,[t(I,{value:e.consumption,service:e.service},null,8,["value","service"]),t(R,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(w,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+i(e.$t("pika.button.generate")),1)]),_:1},8,["onClick"])])])}const tt=k(Xe,[["render",et]]),ot=$({name:"VideoPlayer",components:{VuePlyr:ae},props:{modelValue:{type:Object,required:!0}},data(){return{options:{quality:{default:"1080p"}}}}}),st=["data-poster"],at=["src"];function nt(e,o,c,d,v,b){const p=s("vue-plyr");return a(),r("div",null,[t(p,{options:e.options,class:"video"},{default:u(()=>[l("video",{controls:"",crossorigin:"",playsinline:"","data-poster":e.modelValue?.image_url},[l("source",{size:"1080",src:e.modelValue?.video_url,type:"video/mp4"},null,8,at)],8,st)]),_:1},8,["options"])])}const it=k(ot,[["render",nt],["__scopeId","data-v-fc420430"]]),lt=$({name:"TaskPreview",components:{ElImage:le,CopyToClipboard:se,FontAwesomeIcon:P,ElAlert:ie,VideoPlayer:it,ElTooltip:ne,ElButton:L},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pika?.application},config(){return this.$store.state.pika?.config},videos(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(c=>{let d=c;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e){console.log("on download"),window.open(e,"_blank")},onReload(e){const o=e.target,c=new URL(o.src),d=c.searchParams.get("retry");if(!d)c.searchParams.set("retry","1");else if(parseInt(d)<2)c.searchParams.set("retry",(parseInt(d)+1).toString());else return;o.src=c.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),rt={class:"left"},ct={class:"main"},pt={class:"bot"},dt={class:"datetime"},ut={class:"info"},mt={key:0,class:"prompt mt-2"},ft={key:0},_t={key:1},ht={key:0,class:A({content:!0,failed:!0})},gt={class:"image-wrapper"},$t={key:0,class:A({operations:!0,"mt-2":!0})},kt={key:0,class:"description"},vt={class:"description"},bt={key:1,class:A({content:!0})},yt={class:"description"},wt={class:"description"},Et={class:"description"},Vt={key:2,class:A({content:!0})},It={class:"description"};function St(e,o,c,d,v,b){const p=s("el-image"),m=s("VideoPlayer"),n=s("el-button"),y=s("el-tooltip"),_=s("font-awesome-icon"),f=s("copy-to-clipboard"),I=s("el-alert");return a(!0),r(S,null,T(e.videos,(w,R)=>(a(),r("div",{key:R,class:"preview"},[l("div",rt,[t(p,{src:"https://cdn.acedata.cloud/i80tgn.png",class:"avatar"})]),l("div",ct,[l("div",pt,[h(i(e.$t("pika.name.pikaBot"))+" ",1),l("span",dt,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",ut,[e.modelValue?.request?.prompt?(a(),r("p",mt,[h(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?g("",!0):(a(),r("span",ft," - ("+i(e.$t("pika.status.pending"))+") ",1)),w?.state==="processing"||w?.state==="pending"?(a(),r("span",_t," - ("+i(e.$t("pika.status.processing"))+") ",1)):g("",!0)])):g("",!0)]),e.modelValue?.response?.success===!0?(a(),r("div",ht,[l("div",gt,[t(m,{"model-value":w},null,8,["model-value"])]),w?(a(),r("div",$t,[t(y,{class:"box-item",effect:"dark",content:e.$t("pika.message.downloadVideo"),placement:"top-start"},{default:u(()=>[w?.video_url?(a(),V(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:Mt=>e.onDownload(w?.video_url)},{default:u(()=>[h(i(e.$t("pika.button.download")),1)]),_:2},1032,["onClick"])):g("",!0)]),_:2},1032,["content"])])):g("",!0),t(I,{closable:!1,class:"mt-2 success"},{default:u(()=>[e.modelValue?.request?.model?(a(),r("p",kt,[t(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("pika.name.model"))+": "+i(e.modelValue?.request?.model),1)])):g("",!0),l("p",vt,[t(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(f,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):g("",!0),e.modelValue?.response?.success===!1?(a(),r("div",bt,[t(I,{closable:!1,class:"failure"},{template:u(()=>[t(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("pika.name.failure")),1)]),default:u(()=>[l("p",yt,[t(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(f,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),l("p",wt,[t(_,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+i(e.$t("pika.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),t(f,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),l("p",Et,[t(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("pika.name.traceId"))+": "+i(e.modelValue?.response?.trace_id)+" ",1),t(f,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):g("",!0),!e.modelValue?.response||w?.state==="processing"||w?.state==="pending"?(a(),r("div",Vt,[t(I,{closable:!1,class:"info"},{template:u(()=>[t(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("pika.name.failure")),1)]),default:u(()=>[l("p",It,[t(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(f,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):g("",!0)])]))),128)}const Tt=k(lt,[["render",St],["__scopeId","data-v-4c2810f1"]]),Ct=$({name:"RecentPanel",components:{TaskPreview:Tt,BotPlaceholder:re,NoTasks:te,ScrollList:H},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pika?.tasks,items:this.$store.state.pika?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Pt={key:0},Lt={key:2,class:"w-full h-full flex items-center justify-center"};function At(e,o,c,d,v,b){const p=s("bot-placeholder"),m=s("task-preview"),n=s("scroll-list"),y=s("no-tasks");return a(),r(S,null,[e.tasks?.items===void 0?(a(),r("div",Pt,[t(p)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),V(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=_=>e.$emit("reach-top"))},{default:u(()=>[(a(!0),r(S,null,T(e.tasks?.items,(_,f)=>(a(),V(m,{key:f,"model-value":_},null,8,["model-value"]))),128))]),_:1},8,["loading"])):g("",!0),e.tasks?.items?.length===0?(a(),r("div",Lt,[t(y)])):g("",!0)],64)}const Rt=k(Ct,[["render",At]]),Ut="https://webhook.acedata.cloud/pika",Dt=$({name:"PikaIndex",components:{ConfigPanel:tt,Layout:_e,RecentPanel:Rt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pika?.status?.getApplications===C.Request},tasksLoading(){return this.$store.state.pika?.status?.getTasks===C.Request||this.fetchingTasks},service(){return this.$store.state.pika.service},credential(){return this.$store.state.pika.credential},config(){return this.$store.state.pika.config},initializing(){return this.$store.state.pika.status.getApplications===C.Request},needApply(){return this.$store.state.pika.status.getApplications===C.Success&&!this.application},application(){return this.$store.state.pika.application},applications(){return this.$store.state.pika.applications},tasks(){return this.$store.state.pika.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.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=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){await ce({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("pika/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("pika/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){K.create({application:this.application}).then(({data:e})=>{this.application=e,E.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===J&&E.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:o=5,createdAtMin:c,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",c,"createdAtMax",d),this.fetchingTasks=!0;try{await this.$store.dispatch("pika/getTasks",{limit:o,createdAtMin:c,createdAtMax:d})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Ut},o=this.credential?.token;if(!o){console.error("no token specified");return}E.info(this.$t("pika.message.startingTask")),z.generate(e,{token:o}).then(()=>{E.success(this.$t("pika.message.startTaskSuccess")),this.$store.commit("pika/setConfig",{config:void 0})}).catch(c=>{c?.response?.data?.error?.code===F?E.error(this.$t("pika.message.usedUp")):E.error(this.$t("pika.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Gt(e,o,c,d,v,b){const p=s("config-panel"),m=s("recent-panel"),n=s("layout");return a(),V(n,null,{config:u(()=>[t(p,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[t(m,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const yo=k(Dt,[["render",Gt],["__scopeId","data-v-1bcbbdd4"]]);export{yo as default};
1
+ import{F as P}from"./index.es-Dw-ikv9u.js";import{E as L}from"./index-Ba60uEk-.js";import{E as O}from"./index-h2hg5mzg.js";import{d as $,h as k,b as r,t as l,k as t,r as U,j as u,l as s,o as a,eJ as q,x as i,F as S,v as T,i as V,eK as B,D as h,eL as j,cf as N,y as g,n as A,eM as z,dN as F,dr as K,dI as J,dJ as C}from"./index-Cltw-TPy.js";import{I as D,S as H}from"./ScrollList-BsWg1Oco.js";import{E as Q}from"./index-C9snhxjP.js";import{E as G,a as M}from"./index-DU1Jn2Bq.js";import{a as W,E as X}from"./index-BNhORE5b.js";import{I as Y}from"./ImagePreview-fjeQ_mXr.js";import{E as Z}from"./index-DTitzyRz.js";import{E}from"./index-C7JbjCIG.js";import{E as x}from"./index-BY87tdIk.js";import{C as ee,N as te}from"./NoTasks-Cxeor42D.js";import{a as oe}from"./price-B71O9NlG.js";import{C as se}from"./CopyToClipboard-B0sXY0gf.js";import{s as ae}from"./vue-plyr-QZFBikSk.js";import{E as ne}from"./index-Bp5pMMj1.js";import{E as ie}from"./index-CHfsm--8.js";import{E as le}from"./index-Bk5nP9u2.js";import{B as re}from"./BotPlaceholder-Bn7lEbyW.js";import{l as ce}from"./pagination-BA1VbgK9.js";import"./use-form-item-Be29d0-B.js";import"./index-r5W6hzzQ.js";import"./index-Daydyphg.js";import"./index-CpH9j3dB.js";import"./typescript-DOVFb1BD.js";import"./strings-CNKL_IWi.js";import"./castArray-CGkY3K20.js";import"./isEqual-CbOgjKmk.js";import"./_initCloneObject-CAySSrJV.js";import"./debounce-CguuKO1r.js";import"./_baseIteratee-C0prYj3x.js";import"./index-BjFSM9Qd.js";import"./index-RTh02r3m.js";import"./_baseClone-Bm9igNTj.js";import"./index-BhccfPia.js";import"./index-TO8m0FZI.js";const pe=$({name:"LayoutPika",components:{ElDrawer:O,ElButton:L,FontAwesomeIcon:P},data(){return{drawer:!1}}}),de={class:"main flex flex-row flex-1"},ue={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},me={class:"result h-full p-[15px] flex-1 flex flex-col"};function fe(e,o,c,d,v,b){const p=s("font-awesome-icon"),m=s("el-button"),n=s("el-drawer");return a(),r("div",de,[l("div",ue,[U(e.$slots,"config",{},void 0,!0)]),l("div",me,[U(e.$slots,"result",{},void 0,!0)]),t(m,{circle:"",class:"menu",onClick:o[0]||(o[0]=y=>e.drawer=!0)},{default:u(()=>[t(p,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=y=>e.drawer=y),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const _e=k(pe,[["render",fe],["__scopeId","data-v-80748529"]]),he=$({name:"IngredientsSelector",components:{ElSwitch:Q,InfoIcon:D},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients},set(e){console.debug("set ingredients",e),e||this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,ingredients_mode:void 0,image_url:void 0}),this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,model:"2.0"})}}},mounted(){this.value===void 0&&(this.value=q)}}),ge={class:"field"},$e={class:"title font-bold"};function ke(e,o,c,d,v,b){const p=s("el-switch"),m=s("info-icon");return a(),r("div",ge,[l("h2",$e,i(e.$t("pika.name.ingredients")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value"},null,8,["modelValue"]),t(m,{content:e.$t("pika.description.ingredients"),class:"info"},null,8,["content"])])}const ve=k(he,[["render",ke],["__scopeId","data-v-17c0af5c"]]),be=$({name:"EffectSelector",components:{ElSelect:M,ElOption:G},data(){return{}},computed:{options(){return[{value:"Levitate",label:this.$t("pika.style.effect1")},{value:"Decapitate",label:this.$t("pika.style.effect2")},{value:"Eye-pop",label:this.$t("pika.style.effect3")},{value:"Ta-da",label:this.$t("pika.style.effect4")},{value:"Deflate",label:this.$t("pika.style.effect5")},{value:"Crumble",label:this.$t("pika.style.effect6")},{value:"Dissolve",label:this.$t("pika.style.effect7")},{value:"Squish",label:this.$t("pika.style.effect8")},{value:"Inflate",label:this.$t("pika.style.effect9")},{value:"Melt",label:this.$t("pika.style.effect10")},{value:"Cake-ify",label:this.$t("pika.style.effect11")},{value:"Crush",label:this.$t("pika.style.effect12")},{value:"Explode",label:this.$t("pika.style.effect13")}]},value:{get(){return this.$store.state.pika?.config?.effect},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,effect:e})}}}}),ye={class:"field"},we={class:"title font-bold"},Ee={class:"float-left"};function Ve(e,o,c,d,v,b){const p=s("el-option"),m=s("el-select");return a(),r("div",ye,[l("h2",we,i(e.$t("pika.name.effect")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("pika.placeholder.select"),clearable:""},{default:u(()=>[(a(!0),r(S,null,T(e.options,n=>(a(),V(p,{key:n.value,label:n.label,value:n.value},{default:u(()=>[l("span",Ee,i(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ie=k(be,[["render",Ve],["__scopeId","data-v-d1c54475"]]),Se=$({name:"IngredientsModelSelector",components:{ElRadioButton:X,ElRadioGroup:W},data(){return{options:[{label:this.$t("pika.button.precise"),value:"precise"},{label:this.$t("pika.button.creative"),value:"creative"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients_mode},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients_mode:e})}}},mounted(){this.value||(this.value=B)}}),Te={class:"field"},Ce={class:"title font-bold"};function Pe(e,o,c,d,v,b){const p=s("el-radio-button"),m=s("el-radio-group");return a(),r("div",Te,[l("h2",Ce,i(e.$t("pika.name.ingredientsModel")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),size:"small",class:"quality"},{default:u(()=>[(a(!0),r(S,null,T(e.options,n=>(a(),V(p,{key:n.value,label:n.value},{default:u(()=>[h(i(n.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const Le=k(Se,[["render",Pe],["__scopeId","data-v-b948551f"]]),Ae=$({name:"ModelSelector",components:{ElSelect:M,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"2.0",label:"2.0"},{value:"1.5",label:"1.5"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.model},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika.config,model:e})}}},mounted(){this.value||(this.value=j)}}),Re={class:"field"},Ue={class:"title font-bold"};function De(e,o,c,d,v,b){const p=s("el-option"),m=s("el-select");return a(),r("div",Re,[l("h2",Ue,i(e.$t("pika.name.model")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("pika.placeholder.select")},{default:u(()=>[(a(!0),r(S,null,T(e.options,n=>(a(),V(p,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ge=k(Ae,[["render",De],["__scopeId","data-v-7b2e870a"]]),Me=$({name:"ImageUrlInput",components:{ElUpload:Z,ElButton:L,InfoIcon:D,ImagePreview:Y,FontAwesomeIcon:P},data(){return{fileList:[],uploadUrl:N()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.pika?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("pika.message.uploadStartImageExceed"))},onError(){E.error(this.$t("pika.message.uploadStartImageError"))},async onRemove(){E.error(this.$t("pika.message.uploadStartImageError"))},onSetStartImageUrl(){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:this.urls})},async onSuccess(){this.onSetStartImageUrl()}}}),Oe={class:"field"},qe={class:"title font-bold"},Be={class:"upload-wrapper"};function je(e,o,c,d,v,b){const p=s("image-preview"),m=s("font-awesome-icon"),n=s("el-button"),y=s("el-upload"),_=s("info-icon");return a(),r("div",Oe,[l("h2",qe,i(e.$t("pika.name.imageUrl")),1),l("div",Be,[t(y,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=f=>e.fileList=f),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value upload-wrapper",limit:3,multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:f})=>[t(p,{url:f.url||f.response?.file_url,name:f.name,percentage:f.percentage,onRemove:I=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])]),default:u(()=>[t(n,{size:"small",type:"primary",round:""},{default:u(()=>[t(m,{icon:"fa-solid fa-upload",class:"mr-1"}),h(" "+i(e.$t("pika.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])]),t(_,{content:e.$t("pika.description.imageUrl"),class:"info"},null,8,["content"])])}const Ne=k(Me,[["render",je],["__scopeId","data-v-18cda67a"]]),ze="",Fe=$({name:"PromptInput",components:{ElInput:x,InfoIcon:D},computed:{prompt:{get(){return this.$store.state.pika?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ze)}}),Ke={class:"field"},Je={class:"box"},He={class:"title font-bold"};function Qe(e,o,c,d,v,b){const p=s("info-icon"),m=s("el-input");return a(),r("div",Ke,[l("div",Je,[l("h2",He,i(e.$t("pika.name.prompt")),1),t(p,{content:e.$t("pika.description.prompt"),class:"info"},null,8,["content"])]),t(m,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("pika.placeholder.prompt"),maxlength:300,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const We=k(Fe,[["render",Qe],["__scopeId","data-v-b94e7a3e"]]),Xe=$({name:"PresetPanel",components:{ImageUrlInput:Ne,ElButton:L,FontAwesomeIcon:P,Consumption:ee,PromptInput:We,IngredientsSelector:ve,IngredientsModelSelector:Le,ModelSelector:Ge,EffectSelector:Ie},emits:["generate"],computed:{config(){return this.$store.state.pika?.config},consumption(){return oe(this.config,this.service?.cost)},service(){return this.$store.state.pika?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ye={class:"flex flex-col h-full"},Ze={class:"flex-1 overflow-y-auto p-[15px]"},xe={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function et(e,o,c,d,v,b){const p=s("prompt-input"),m=s("model-selector"),n=s("ingredients-selector"),y=s("effect-selector"),_=s("image-url-input"),f=s("ingredients-model-selector"),I=s("consumption"),w=s("font-awesome-icon"),R=s("el-button");return a(),r("div",Ye,[l("div",Ze,[t(p,{class:"mb-4"}),t(m,{class:"mb-4"}),t(n,{class:"mb-4"}),t(y,{class:"mb-4"}),e.config?.ingredients?(a(),V(_,{key:0,class:"mb-4"})):g("",!0),e.config?.ingredients?(a(),V(f,{key:1,class:"mb-4"})):g("",!0)]),l("div",xe,[t(I,{value:e.consumption,service:e.service},null,8,["value","service"]),t(R,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(w,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+i(e.$t("pika.button.generate")),1)]),_:1},8,["onClick"])])])}const tt=k(Xe,[["render",et]]),ot=$({name:"VideoPlayer",components:{VuePlyr:ae},props:{modelValue:{type:Object,required:!0}},data(){return{options:{quality:{default:"1080p"}}}}}),st=["data-poster"],at=["src"];function nt(e,o,c,d,v,b){const p=s("vue-plyr");return a(),r("div",null,[t(p,{options:e.options,class:"video"},{default:u(()=>[l("video",{controls:"",crossorigin:"",playsinline:"","data-poster":e.modelValue?.image_url},[l("source",{size:"1080",src:e.modelValue?.video_url,type:"video/mp4"},null,8,at)],8,st)]),_:1},8,["options"])])}const it=k(ot,[["render",nt],["__scopeId","data-v-fc420430"]]),lt=$({name:"TaskPreview",components:{ElImage:le,CopyToClipboard:se,FontAwesomeIcon:P,ElAlert:ie,VideoPlayer:it,ElTooltip:ne,ElButton:L},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pika?.application},config(){return this.$store.state.pika?.config},videos(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(c=>{let d=c;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e){console.log("on download"),window.open(e,"_blank")},onReload(e){const o=e.target,c=new URL(o.src),d=c.searchParams.get("retry");if(!d)c.searchParams.set("retry","1");else if(parseInt(d)<2)c.searchParams.set("retry",(parseInt(d)+1).toString());else return;o.src=c.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),rt={class:"left"},ct={class:"main"},pt={class:"bot"},dt={class:"datetime"},ut={class:"info"},mt={key:0,class:"prompt mt-2"},ft={key:0},_t={key:1},ht={key:0,class:A({content:!0,failed:!0})},gt={class:"image-wrapper"},$t={key:0,class:A({operations:!0,"mt-2":!0})},kt={key:0,class:"description"},vt={class:"description"},bt={key:1,class:A({content:!0})},yt={class:"description"},wt={class:"description"},Et={class:"description"},Vt={key:2,class:A({content:!0})},It={class:"description"};function St(e,o,c,d,v,b){const p=s("el-image"),m=s("VideoPlayer"),n=s("el-button"),y=s("el-tooltip"),_=s("font-awesome-icon"),f=s("copy-to-clipboard"),I=s("el-alert");return a(!0),r(S,null,T(e.videos,(w,R)=>(a(),r("div",{key:R,class:"preview"},[l("div",rt,[t(p,{src:"https://cdn.acedata.cloud/i80tgn.png",class:"avatar"})]),l("div",ct,[l("div",pt,[h(i(e.$t("pika.name.pikaBot"))+" ",1),l("span",dt,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",ut,[e.modelValue?.request?.prompt?(a(),r("p",mt,[h(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?g("",!0):(a(),r("span",ft," - ("+i(e.$t("pika.status.pending"))+") ",1)),w?.state==="processing"||w?.state==="pending"?(a(),r("span",_t," - ("+i(e.$t("pika.status.processing"))+") ",1)):g("",!0)])):g("",!0)]),e.modelValue?.response?.success===!0?(a(),r("div",ht,[l("div",gt,[t(m,{"model-value":w},null,8,["model-value"])]),w?(a(),r("div",$t,[t(y,{class:"box-item",effect:"dark",content:e.$t("pika.message.downloadVideo"),placement:"top-start"},{default:u(()=>[w?.video_url?(a(),V(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:Mt=>e.onDownload(w?.video_url)},{default:u(()=>[h(i(e.$t("pika.button.download")),1)]),_:2},1032,["onClick"])):g("",!0)]),_:2},1032,["content"])])):g("",!0),t(I,{closable:!1,class:"mt-2 success"},{default:u(()=>[e.modelValue?.request?.model?(a(),r("p",kt,[t(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("pika.name.model"))+": "+i(e.modelValue?.request?.model),1)])):g("",!0),l("p",vt,[t(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(f,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):g("",!0),e.modelValue?.response?.success===!1?(a(),r("div",bt,[t(I,{closable:!1,class:"failure"},{template:u(()=>[t(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("pika.name.failure")),1)]),default:u(()=>[l("p",yt,[t(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(f,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),l("p",wt,[t(_,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+i(e.$t("pika.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),t(f,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),l("p",Et,[t(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("pika.name.traceId"))+": "+i(e.modelValue?.response?.trace_id)+" ",1),t(f,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):g("",!0),!e.modelValue?.response||w?.state==="processing"||w?.state==="pending"?(a(),r("div",Vt,[t(I,{closable:!1,class:"info"},{template:u(()=>[t(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("pika.name.failure")),1)]),default:u(()=>[l("p",It,[t(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(f,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):g("",!0)])]))),128)}const Tt=k(lt,[["render",St],["__scopeId","data-v-4c2810f1"]]),Ct=$({name:"RecentPanel",components:{TaskPreview:Tt,BotPlaceholder:re,NoTasks:te,ScrollList:H},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pika?.tasks,items:this.$store.state.pika?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Pt={key:0},Lt={key:2,class:"w-full h-full flex items-center justify-center"};function At(e,o,c,d,v,b){const p=s("bot-placeholder"),m=s("task-preview"),n=s("scroll-list"),y=s("no-tasks");return a(),r(S,null,[e.tasks?.items===void 0?(a(),r("div",Pt,[t(p)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),V(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=_=>e.$emit("reach-top"))},{default:u(()=>[(a(!0),r(S,null,T(e.tasks?.items,(_,f)=>(a(),V(m,{key:f,"model-value":_},null,8,["model-value"]))),128))]),_:1},8,["loading"])):g("",!0),e.tasks?.items?.length===0?(a(),r("div",Lt,[t(y)])):g("",!0)],64)}const Rt=k(Ct,[["render",At]]),Ut="https://webhook.acedata.cloud/pika",Dt=$({name:"PikaIndex",components:{ConfigPanel:tt,Layout:_e,RecentPanel:Rt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pika?.status?.getApplications===C.Request},tasksLoading(){return this.$store.state.pika?.status?.getTasks===C.Request||this.fetchingTasks},service(){return this.$store.state.pika.service},credential(){return this.$store.state.pika.credential},config(){return this.$store.state.pika.config},initializing(){return this.$store.state.pika.status.getApplications===C.Request},needApply(){return this.$store.state.pika.status.getApplications===C.Success&&!this.application},application(){return this.$store.state.pika.application},applications(){return this.$store.state.pika.applications},tasks(){return this.$store.state.pika.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.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=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){await ce({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("pika/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("pika/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){K.create({application:this.application}).then(({data:e})=>{this.application=e,E.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===J&&E.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:o=5,createdAtMin:c,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",c,"createdAtMax",d),this.fetchingTasks=!0;try{await this.$store.dispatch("pika/getTasks",{limit:o,createdAtMin:c,createdAtMax:d})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Ut},o=this.credential?.token;if(!o){console.error("no token specified");return}E.info(this.$t("pika.message.startingTask")),z.generate(e,{token:o}).then(()=>{E.success(this.$t("pika.message.startTaskSuccess")),this.$store.commit("pika/setConfig",{config:void 0})}).catch(c=>{c?.response?.data?.error?.code===F?E.error(this.$t("pika.message.usedUp")):E.error(this.$t("pika.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Gt(e,o,c,d,v,b){const p=s("config-panel"),m=s("recent-panel"),n=s("layout");return a(),V(n,null,{config:u(()=>[t(p,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[t(m,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const yo=k(Dt,[["render",Gt],["__scopeId","data-v-1bcbbdd4"]]);export{yo as default};
@@ -1 +1 @@
1
- import{F as L}from"./index.es-B5BxExPu.js";import{E as U}from"./index-BrZEkGia.js";import{E as N}from"./index-DRhl7LNX.js";import{d as b,h as w,b as d,t as n,k as o,r as C,j as c,l as s,o as a,eF as q,x as i,eG as H,eH as J,cf as j,D as g,i as v,y as _,n as T,aq as M,F,v as K,eI as Q,dN as W,dJ as z}from"./index-BHWAOEcf.js";import{I as S,S as X}from"./ScrollList-9YjkSrQI.js";import{E as R}from"./index-_Y99ywre.js";import{I as B}from"./ImagePreview-DhYLHTps.js";import{E as A}from"./index-DjcJC0zK.js";import{E}from"./index-DDqBSSFk.js";import{F as Y}from"./FilePreview-3hkMnxl9.js";import{E as Z}from"./index-CCKUub4u.js";import{V as D}from"./VideoPlayer-DleRW6I6.js";import{C as x,N as ee}from"./NoTasks-BpOa5vFX.js";import{a as te}from"./price-HfrxdcfW.js";import{C as oe}from"./CopyToClipboard-DgotqLxr.js";import{E as se}from"./index-BTdPZbJx.js";import{E as ne}from"./index-Bgzvc62r.js";import{E as ae}from"./index-CmsT3Np_.js";import{B as le}from"./BotPlaceholder-8zDrksua.js";import{l as ie}from"./pagination-Cj4ffYe2.js";import"./use-form-item-Cfa-OGdg.js";import"./index-r5W6hzzQ.js";import"./index-CZeM6Tp2.js";import"./index-CABd8l27.js";import"./typescript-BJu9PjgO.js";import"./_baseClone-BNWubnsE.js";import"./_initCloneObject-j_ExEGAU.js";import"./isEqual-VZNlgh-o.js";import"./index-DZtScTkG.js";import"./vue-plyr-QZFBikSk.js";import"./debounce-C3VeLj5t.js";import"./index-yCwOWgs4.js";const re=b({name:"LayoutLuma",components:{ElDrawer:N,ElButton:U,FontAwesomeIcon:L},data(){return{drawer:!1}}}),ce={class:"main flex flex-row flex-1"},me={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},ue={class:"result h-full p-[15px] flex-1 flex flex-col"};function de(e,t,p,h,k,y){const r=s("font-awesome-icon"),u=s("el-button"),m=s("el-drawer");return a(),d("div",ce,[n("div",me,[C(e.$slots,"config",{},void 0,!0)]),n("div",ue,[C(e.$slots,"result",{},void 0,!0)]),o(u,{circle:"",class:"menu",onClick:t[0]||(t[0]=$=>e.drawer=!0)},{default:c(()=>[o(r,{icon:"fa-solid fa-magic"})]),_:1}),o(m,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=$=>e.drawer=$),direction:"ltr","with-header":!1,size:"350px",class:"drawer"},{default:c(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const pe=w(re,[["render",de],["__scopeId","data-v-11a53e0c"]]),fe=b({name:"EnhancementSelector",components:{ElSwitch:R,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug("set enhancement",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=q)}}),_e={class:"relative"},he={class:"flex justify-between"},$e={class:"flex justify-start items-center"},ge={class:"text-sm font-bold"},ve={class:"flex justify-end items-center"};function be(e,t,p,h,k,y){const r=s("info-icon"),u=s("el-switch");return a(),d("div",_e,[n("div",he,[n("div",$e,[n("span",ge,i(e.$t("luma.name.enhancement")),1),o(r,{content:e.$t("luma.description.enhancement")},null,8,["content"])]),n("div",ve,[o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value"},null,8,["modelValue"])])])])}const we=w(fe,[["render",be]]),ke=b({name:"CustomSelector",components:{ElSwitch:R,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug("set custom",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=H)}}),ye={class:"relative"},Ee={class:"flex justify-between"},Ve={class:"flex justify-start items-center"},Se={class:"text-sm font-bold"},Le={class:"flex justify-end items-center"};function Ue(e,t,p,h,k,y){const r=s("info-icon"),u=s("el-switch");return a(),d("div",ye,[n("div",Ee,[n("div",Ve,[n("span",Se,i(e.$t("luma.name.custom")),1),o(r,{content:e.$t("luma.description.custom")},null,8,["content"])]),n("div",Le,[o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value"},null,8,["modelValue"])])])])}const Ie=w(ke,[["render",Ue]]),Te=b({name:"LoopSelector",components:{ElSwitch:R,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug("set loop",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=J)}}),Ce={class:"relative"},je={class:"flex justify-between"},Re={class:"flex justify-start items-center"},Ae={class:"text-sm font-bold"},Ge={class:"flex justify-end items-center"};function Pe(e,t,p,h,k,y){const r=s("info-icon"),u=s("el-switch");return a(),d("div",Ce,[n("div",je,[n("div",Re,[n("span",Ae,i(e.$t("luma.name.loop")),1),o(r,{content:e.$t("luma.description.loop")},null,8,["content"])]),n("div",Ge,[o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value"},null,8,["modelValue"])])])])}const Me=w(Te,[["render",Pe]]),Fe=b({name:"EndImage",components:{ElUpload:A,ElButton:U,ImagePreview:B,InfoIcon:S,FontAwesomeIcon:L},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onExceed(){E.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){E.error(this.$t("luma.message.uploadReferencesError"))},onSetEndImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),ze={class:"relative"},Be={class:"flex justify-between"},De={class:"flex justify-start items-center"},Oe={class:"text-sm font-bold"};function Ne(e,t,p,h,k,y){const r=s("info-icon"),u=s("image-preview"),m=s("font-awesome-icon"),$=s("el-button"),f=s("el-upload");return a(),d("div",ze,[n("div",Be,[n("div",De,[n("span",Oe,i(e.$t("luma.name.endImageUrl")),1),o(r,{content:e.$t("luma.description.endImageUrl")},null,8,["content"])])]),o(f,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:l})=>[l.url&&l.percentage!==void 0?(a(),v(u,{key:0,url:l.url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):_("",!0)]),default:c(()=>[o($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(m,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadEndImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const qe=w(Fe,[["render",Ne],["__scopeId","data-v-7ab78c3e"]]),He=b({name:"StartImage",components:{ElUpload:A,ElButton:U,ImagePreview:B,InfoIcon:S,FontAwesomeIcon:L},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){E.error(this.$t("luma.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Je={class:"relative"},Ke={class:"flex justify-between"},Qe={class:"flex justify-start items-center"},We={class:"text-sm font-bold"};function Xe(e,t,p,h,k,y){const r=s("info-icon"),u=s("image-preview"),m=s("font-awesome-icon"),$=s("el-button"),f=s("el-upload");return a(),d("div",Je,[n("div",Ke,[n("div",Qe,[n("span",We,i(e.$t("luma.name.startImageUrl")),1),o(r,{content:e.$t("luma.description.startImageUrl")},null,8,["content"])])]),o(f,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:l})=>[l.percentage!=null?(a(),v(u,{key:0,url:l.url||l.response.file_url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):_("",!0)]),default:c(()=>[o($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(m,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Ye=w(He,[["render",Xe],["__scopeId","data-v-425a8cec"]]),Ze=b({name:"UploadVideo",components:{ElUpload:A,ElButton:U,InfoIcon:S,FilePreview:Y,FontAwesomeIcon:L},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||(this.value=void 0)},methods:{onExceed(){E.warning(this.$t("luma.message.uploadVideoExceed"))},onError(){E.error(this.$t("luma.message.uploadVideoError"))},beforeUpload(e){const t=e.type==="video/mp4",p=e.size/1024/1024<10;return t?p?!0:(E.error(this.$t("luma.message.uploadVideoSizeExceed")),!1):(E.error(this.$t("luma.message.uploadVideoTypeFailed")),!1)},onSetVideoUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e,action:"extend"})},async onSuccess(){this.onSetVideoUrl()}}}),xe={class:"relative"},et={class:"flex justify-between"},tt={class:"flex justify-start items-center"},ot={class:"text-sm font-bold"};function st(e,t,p,h,k,y){const r=s("info-icon"),u=s("file-preview"),m=s("font-awesome-icon"),$=s("el-button"),f=s("el-upload");return a(),d("div",xe,[n("div",et,[n("div",tt,[n("span",ot,i(e.$t("luma.name.videoUrl")),1),o(r,{content:e.$t("luma.description.videoUrl")},null,8,["content"])])]),o(f,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),accept:".mp4",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:l})=>[l.percentage!=null?(a(),v(u,{key:0,url:l.url||l.response?.file_url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):_("",!0)]),default:c(()=>[o($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(m,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])])}const nt=w(Ze,[["render",st],["__scopeId","data-v-74e51526"]]),at="",lt=b({name:"PromptInput",components:{ElInput:Z,InfoIcon:S},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=at)}}),it={class:"field"},rt={class:"box"},ct={class:"title font-bold"};function mt(e,t,p,h,k,y){const r=s("info-icon"),u=s("el-input");return a(),d("div",it,[n("div",rt,[n("h2",ct,i(e.$t("luma.name.prompt")),1),o(r,{content:e.$t("luma.description.prompt"),class:"info"},null,8,["content"])]),o(u,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=m=>e.prompt=m),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("luma.placeholder.prompt"),maxlength:2e3,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const ut=w(lt,[["render",mt],["__scopeId","data-v-e8284075"]]),dt=b({name:"ExtendFromInput",components:{VideoPlayer:D},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.luma?.config}}}),pt={class:"relative"},ft={class:"flex mb-2"},_t={class:"text-sm font-bold"};function ht(e,t,p,h,k,y){const r=s("video-player");return a(),d("div",pt,[n("div",ft,[n("span",_t,i(e.$t("luma.name.extend")),1)]),n("div",null,[e.config?.video_url?(a(),v(r,{key:0,src:e.config?.video_url},null,8,["src"])):_("",!0)])])}const $t=w(dt,[["render",ht]]),gt=b({name:"ConfigPanel",components:{LoopSelector:Me,StartImageInput:Ye,EndImageInput:qe,EnhancementSelector:we,ElButton:U,FontAwesomeIcon:L,PromptInput:ut,ExtendFromInput:$t,CustomSelector:Ie,UploadVideo:nt,Consumption:x},emits:["generate"],computed:{config(){return this.$store.state.luma?.config},consumption(){return te(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit("generate")}}}),vt={class:"flex flex-col h-full"},bt={class:"flex-1 overflow-y-auto p-[15px]"},wt={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function kt(e,t,p,h,k,y){const r=s("extend-from-input"),u=s("prompt-input"),m=s("custom-selector"),$=s("upload-video"),f=s("start-image-input"),l=s("end-image-input"),V=s("enhancement-selector"),I=s("loop-selector"),O=s("consumption"),G=s("font-awesome-icon"),P=s("el-button");return a(),d("div",vt,[n("div",bt,[e.config?.video_id||e.config?.video_url?(a(),v(r,{key:0,class:"mb-4"})):_("",!0),o(u,{class:"mb-4"}),e.config?.video_id?_("",!0):(a(),v(m,{key:1,class:"mb-4"})),e.config?.custom?(a(),v($,{key:2,class:"mb-4"})):_("",!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(a(),v(f,{key:3,class:"mb-4"})):_("",!0),o(l,{class:"mb-4"}),o(V,{class:"mb-4"}),o(I,{class:"mb-4"})]),n("div",wt,[o(O,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(a(),v(P,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[o(G,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+i(e.$t("luma.button.extend")),1)]),_:1},8,["onClick"])):(a(),v(P,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[o(G,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+i(e.$t("luma.button.generate")),1)]),_:1},8,["onClick"]))])])}const yt=w(gt,[["render",kt]]),Et=b({name:"TaskPreview",components:{ElImage:ae,CopyToClipboard:oe,FontAwesomeIcon:L,ElAlert:ne,VideoPlayer:D,ElTooltip:se,ElButton:U},props:{modelValue:{type:Object,required:!0}},emits:["extend"],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,t){console.debug("set config",t),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:"extend",thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit("extend")},onDownload(e){window.open(e,"_blank")}}}),Vt={class:"preview"},St={class:"left"},Lt={class:"main"},Ut={class:"bot"},It={class:"datetime"},Tt={class:"info"},Ct={key:0,class:"prompt mt-2"},jt={key:0},Rt={key:1},At={key:0,class:T({content:!0,failed:!0})},Gt={key:0,class:"mb-4"},Pt={key:1,class:T({operations:!0,"mt-2":!0,"mb-4":!0})},Mt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ft={key:1,class:T({content:!0})},zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ot={key:2,class:T({content:!0})},Nt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function qt(e,t,p,h,k,y){const r=s("el-image"),u=s("video-player"),m=s("el-button"),$=s("el-tooltip"),f=s("font-awesome-icon"),l=s("copy-to-clipboard"),V=s("el-alert");return a(),d("div",Vt,[n("div",St,[o(r,{src:"https://cdn.acedata.cloud/ahjfwi.png",class:"avatar"})]),n("div",Lt,[n("div",Ut,[g(i(e.$t("luma.name.lumaBot"))+" ",1),n("span",It,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),n("div",Tt,[e.modelValue?.request?.prompt?(a(),d("p",Ct,[g(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?_("",!0):(a(),d("span",jt," - ("+i(e.$t("luma.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),d("span",Rt," - ("+i(e.$t("luma.status.processing"))+") ",1)):_("",!0)])):_("",!0)]),e.modelValue?.response?.success===!0?(a(),d("div",At,[e.modelValue.response.video_url?(a(),d("div",Gt,[o(u,{src:e.modelValue.response.video_url},null,8,["src"])])):_("",!0),e.modelValue?.response&&!e.config?.custom?(a(),d("div",Pt,[o($,{class:"box-item",effect:"dark",content:e.$t("luma.message.extendVideo"),placement:"top-start"},{default:c(()=>[o(m,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=M(I=>e.onExtend(I,e.modelValue?.response),["stop"]))},{default:c(()=>[g(i(e.$t("luma.button.extend")),1)]),_:1})]),_:1},8,["content"]),o($,{class:"box-item",effect:"dark",content:e.$t("luma.message.downloadVideo"),placement:"top-start"},{default:c(()=>[o(m,{type:"info",size:"small",class:"btn-action",onClick:t[1]||(t[1]=M(I=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:c(()=>[g(i(e.$t("luma.button.download")),1)]),_:1})]),_:1},8,["content"])])):_("",!0),o(V,{closable:!1,class:"mt-2 success"},{default:c(()=>[n("p",Mt,[o(f,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(l,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):_("",!0),e.modelValue?.response?.state==="failed"||e.modelValue?.response?.success===!1?(a(),d("div",Ft,[o(V,{closable:!1,class:"failure"},{template:c(()=>[o(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+i(e.$t("luma.name.failure")),1)]),default:c(()=>[n("p",zt,[o(f,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(l,{content:e.modelValue?.id},null,8,["content"])]),n("p",Bt,[o(f,{icon:"fa-solid fa-circle-info",class:"mr-1"}),g(" "+i(e.$t("luma.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),o(l,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),n("p",Dt,[o(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),g(" "+i(e.$t("luma.name.traceId"))+": "+i(e.modelValue?.trace_id)+" ",1),o(l,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):_("",!0),!e.modelValue?.response||e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),d("div",Ot,[o(V,{closable:!1,class:"info"},{template:c(()=>[o(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+i(e.$t("luma.name.failure")),1)]),default:c(()=>[n("p",Nt,[o(f,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(l,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):_("",!0)])])}const Ht=w(Et,[["render",qt],["__scopeId","data-v-1b4a59bc"]]),Jt=b({name:"RecentPanel",components:{BotPlaceholder:le,TaskPreview:Ht,NoTasks:ee,ScrollList:X},props:{loading:{type:Boolean,default:!1}},emits:["reach-top","extend"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Kt={key:0},Qt={key:2,class:"w-full h-full flex items-center justify-center"};function Wt(e,t,p,h,k,y){const r=s("bot-placeholder"),u=s("task-preview"),m=s("scroll-list"),$=s("no-tasks");return a(),d(F,null,[e.tasks?.items===void 0?(a(),d("div",Kt,[o(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),v(m,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:t[1]||(t[1]=f=>e.$emit("reach-top"))},{default:c(()=>[(a(!0),d(F,null,K(e.tasks?.items,f=>(a(),v(u,{key:f.id,"model-value":f,onExtend:t[0]||(t[0]=l=>e.$emit("extend"))},null,8,["model-value"]))),128))]),_:1},8,["loading"])):_("",!0),e.tasks?.items?.length===0?(a(),d("div",Qt,[o($)])):_("",!0)],64)}const Xt=w(Jt,[["render",Wt]]),Yt="https://webhook.acedata.cloud/luma",Zt=b({name:"LumaIndex",components:{ConfigPanel:yt,Layout:pe,RecentPanel:Xt},inject:["initialized"],emits:["extend"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===z.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},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=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){await ie({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("luma/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("luma/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){console.debug("scrolling down"),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:p,createdAtMax:h}=e||{};console.debug("limit",t,"createdAtMin",p,"createdAtMax",h),this.fetchingTasks=!0;try{await this.$store.dispatch("luma/getTasks",{limit:t,createdAtMin:p,createdAtMax:h})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Yt},t=this.credential?.token;if(!t){console.error("no token specified");return}E.info(this.$t("luma.message.startingTask")),Q.generate(e,{token:t}).then(()=>{E.success(this.$t("luma.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===W?E.error(this.$t("luma.message.usedUp")):E.error(this.$t("luma.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function xt(e,t,p,h,k,y){const r=s("config-panel"),u=s("recent-panel"),m=s("layout");return a(),v(m,null,{config:c(()=>[o(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:c(()=>[o(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:t[0]||(t[0]=$=>e.$emit("extend"))},null,8,["loading","onReachTop"])]),_:1})}const Ro=w(Zt,[["render",xt]]);export{Ro as default};
1
+ import{F as L}from"./index.es-Dw-ikv9u.js";import{E as U}from"./index-Ba60uEk-.js";import{E as N}from"./index-h2hg5mzg.js";import{d as b,h as w,b as d,t as n,k as o,r as C,j as c,l as s,o as a,eF as q,x as i,eG as H,eH as J,cf as j,D as g,i as v,y as _,n as T,aq as M,F,v as K,eI as Q,dN as W,dJ as z}from"./index-Cltw-TPy.js";import{I as S,S as X}from"./ScrollList-BsWg1Oco.js";import{E as R}from"./index-C9snhxjP.js";import{I as B}from"./ImagePreview-fjeQ_mXr.js";import{E as A}from"./index-DTitzyRz.js";import{E}from"./index-C7JbjCIG.js";import{F as Y}from"./FilePreview-BOf1jXGA.js";import{E as Z}from"./index-BY87tdIk.js";import{V as D}from"./VideoPlayer-Bkc77RHA.js";import{C as x,N as ee}from"./NoTasks-Cxeor42D.js";import{a as te}from"./price-B71O9NlG.js";import{C as oe}from"./CopyToClipboard-B0sXY0gf.js";import{E as se}from"./index-Bp5pMMj1.js";import{E as ne}from"./index-CHfsm--8.js";import{E as ae}from"./index-Bk5nP9u2.js";import{B as le}from"./BotPlaceholder-Bn7lEbyW.js";import{l as ie}from"./pagination-BA1VbgK9.js";import"./use-form-item-Be29d0-B.js";import"./index-r5W6hzzQ.js";import"./index-Daydyphg.js";import"./index-RTh02r3m.js";import"./typescript-DOVFb1BD.js";import"./_baseClone-Bm9igNTj.js";import"./_initCloneObject-CAySSrJV.js";import"./isEqual-CbOgjKmk.js";import"./index-BhccfPia.js";import"./vue-plyr-QZFBikSk.js";import"./debounce-CguuKO1r.js";import"./index-TO8m0FZI.js";const re=b({name:"LayoutLuma",components:{ElDrawer:N,ElButton:U,FontAwesomeIcon:L},data(){return{drawer:!1}}}),ce={class:"main flex flex-row flex-1"},me={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},ue={class:"result h-full p-[15px] flex-1 flex flex-col"};function de(e,t,p,h,k,y){const r=s("font-awesome-icon"),u=s("el-button"),m=s("el-drawer");return a(),d("div",ce,[n("div",me,[C(e.$slots,"config",{},void 0,!0)]),n("div",ue,[C(e.$slots,"result",{},void 0,!0)]),o(u,{circle:"",class:"menu",onClick:t[0]||(t[0]=$=>e.drawer=!0)},{default:c(()=>[o(r,{icon:"fa-solid fa-magic"})]),_:1}),o(m,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=$=>e.drawer=$),direction:"ltr","with-header":!1,size:"350px",class:"drawer"},{default:c(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const pe=w(re,[["render",de],["__scopeId","data-v-11a53e0c"]]),fe=b({name:"EnhancementSelector",components:{ElSwitch:R,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug("set enhancement",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=q)}}),_e={class:"relative"},he={class:"flex justify-between"},$e={class:"flex justify-start items-center"},ge={class:"text-sm font-bold"},ve={class:"flex justify-end items-center"};function be(e,t,p,h,k,y){const r=s("info-icon"),u=s("el-switch");return a(),d("div",_e,[n("div",he,[n("div",$e,[n("span",ge,i(e.$t("luma.name.enhancement")),1),o(r,{content:e.$t("luma.description.enhancement")},null,8,["content"])]),n("div",ve,[o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value"},null,8,["modelValue"])])])])}const we=w(fe,[["render",be]]),ke=b({name:"CustomSelector",components:{ElSwitch:R,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug("set custom",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=H)}}),ye={class:"relative"},Ee={class:"flex justify-between"},Ve={class:"flex justify-start items-center"},Se={class:"text-sm font-bold"},Le={class:"flex justify-end items-center"};function Ue(e,t,p,h,k,y){const r=s("info-icon"),u=s("el-switch");return a(),d("div",ye,[n("div",Ee,[n("div",Ve,[n("span",Se,i(e.$t("luma.name.custom")),1),o(r,{content:e.$t("luma.description.custom")},null,8,["content"])]),n("div",Le,[o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value"},null,8,["modelValue"])])])])}const Ie=w(ke,[["render",Ue]]),Te=b({name:"LoopSelector",components:{ElSwitch:R,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug("set loop",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=J)}}),Ce={class:"relative"},je={class:"flex justify-between"},Re={class:"flex justify-start items-center"},Ae={class:"text-sm font-bold"},Ge={class:"flex justify-end items-center"};function Pe(e,t,p,h,k,y){const r=s("info-icon"),u=s("el-switch");return a(),d("div",Ce,[n("div",je,[n("div",Re,[n("span",Ae,i(e.$t("luma.name.loop")),1),o(r,{content:e.$t("luma.description.loop")},null,8,["content"])]),n("div",Ge,[o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value"},null,8,["modelValue"])])])])}const Me=w(Te,[["render",Pe]]),Fe=b({name:"EndImage",components:{ElUpload:A,ElButton:U,ImagePreview:B,InfoIcon:S,FontAwesomeIcon:L},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onExceed(){E.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){E.error(this.$t("luma.message.uploadReferencesError"))},onSetEndImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),ze={class:"relative"},Be={class:"flex justify-between"},De={class:"flex justify-start items-center"},Oe={class:"text-sm font-bold"};function Ne(e,t,p,h,k,y){const r=s("info-icon"),u=s("image-preview"),m=s("font-awesome-icon"),$=s("el-button"),f=s("el-upload");return a(),d("div",ze,[n("div",Be,[n("div",De,[n("span",Oe,i(e.$t("luma.name.endImageUrl")),1),o(r,{content:e.$t("luma.description.endImageUrl")},null,8,["content"])])]),o(f,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:l})=>[l.url&&l.percentage!==void 0?(a(),v(u,{key:0,url:l.url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):_("",!0)]),default:c(()=>[o($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(m,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadEndImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const qe=w(Fe,[["render",Ne],["__scopeId","data-v-7ab78c3e"]]),He=b({name:"StartImage",components:{ElUpload:A,ElButton:U,ImagePreview:B,InfoIcon:S,FontAwesomeIcon:L},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){E.error(this.$t("luma.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Je={class:"relative"},Ke={class:"flex justify-between"},Qe={class:"flex justify-start items-center"},We={class:"text-sm font-bold"};function Xe(e,t,p,h,k,y){const r=s("info-icon"),u=s("image-preview"),m=s("font-awesome-icon"),$=s("el-button"),f=s("el-upload");return a(),d("div",Je,[n("div",Ke,[n("div",Qe,[n("span",We,i(e.$t("luma.name.startImageUrl")),1),o(r,{content:e.$t("luma.description.startImageUrl")},null,8,["content"])])]),o(f,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:l})=>[l.percentage!=null?(a(),v(u,{key:0,url:l.url||l.response.file_url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):_("",!0)]),default:c(()=>[o($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(m,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Ye=w(He,[["render",Xe],["__scopeId","data-v-425a8cec"]]),Ze=b({name:"UploadVideo",components:{ElUpload:A,ElButton:U,InfoIcon:S,FilePreview:Y,FontAwesomeIcon:L},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||(this.value=void 0)},methods:{onExceed(){E.warning(this.$t("luma.message.uploadVideoExceed"))},onError(){E.error(this.$t("luma.message.uploadVideoError"))},beforeUpload(e){const t=e.type==="video/mp4",p=e.size/1024/1024<10;return t?p?!0:(E.error(this.$t("luma.message.uploadVideoSizeExceed")),!1):(E.error(this.$t("luma.message.uploadVideoTypeFailed")),!1)},onSetVideoUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e,action:"extend"})},async onSuccess(){this.onSetVideoUrl()}}}),xe={class:"relative"},et={class:"flex justify-between"},tt={class:"flex justify-start items-center"},ot={class:"text-sm font-bold"};function st(e,t,p,h,k,y){const r=s("info-icon"),u=s("file-preview"),m=s("font-awesome-icon"),$=s("el-button"),f=s("el-upload");return a(),d("div",xe,[n("div",et,[n("div",tt,[n("span",ot,i(e.$t("luma.name.videoUrl")),1),o(r,{content:e.$t("luma.description.videoUrl")},null,8,["content"])])]),o(f,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),accept:".mp4",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:l})=>[l.percentage!=null?(a(),v(u,{key:0,url:l.url||l.response?.file_url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):_("",!0)]),default:c(()=>[o($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(m,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])])}const nt=w(Ze,[["render",st],["__scopeId","data-v-74e51526"]]),at="",lt=b({name:"PromptInput",components:{ElInput:Z,InfoIcon:S},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=at)}}),it={class:"field"},rt={class:"box"},ct={class:"title font-bold"};function mt(e,t,p,h,k,y){const r=s("info-icon"),u=s("el-input");return a(),d("div",it,[n("div",rt,[n("h2",ct,i(e.$t("luma.name.prompt")),1),o(r,{content:e.$t("luma.description.prompt"),class:"info"},null,8,["content"])]),o(u,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=m=>e.prompt=m),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("luma.placeholder.prompt"),maxlength:2e3,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const ut=w(lt,[["render",mt],["__scopeId","data-v-e8284075"]]),dt=b({name:"ExtendFromInput",components:{VideoPlayer:D},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.luma?.config}}}),pt={class:"relative"},ft={class:"flex mb-2"},_t={class:"text-sm font-bold"};function ht(e,t,p,h,k,y){const r=s("video-player");return a(),d("div",pt,[n("div",ft,[n("span",_t,i(e.$t("luma.name.extend")),1)]),n("div",null,[e.config?.video_url?(a(),v(r,{key:0,src:e.config?.video_url},null,8,["src"])):_("",!0)])])}const $t=w(dt,[["render",ht]]),gt=b({name:"ConfigPanel",components:{LoopSelector:Me,StartImageInput:Ye,EndImageInput:qe,EnhancementSelector:we,ElButton:U,FontAwesomeIcon:L,PromptInput:ut,ExtendFromInput:$t,CustomSelector:Ie,UploadVideo:nt,Consumption:x},emits:["generate"],computed:{config(){return this.$store.state.luma?.config},consumption(){return te(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit("generate")}}}),vt={class:"flex flex-col h-full"},bt={class:"flex-1 overflow-y-auto p-[15px]"},wt={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function kt(e,t,p,h,k,y){const r=s("extend-from-input"),u=s("prompt-input"),m=s("custom-selector"),$=s("upload-video"),f=s("start-image-input"),l=s("end-image-input"),V=s("enhancement-selector"),I=s("loop-selector"),O=s("consumption"),G=s("font-awesome-icon"),P=s("el-button");return a(),d("div",vt,[n("div",bt,[e.config?.video_id||e.config?.video_url?(a(),v(r,{key:0,class:"mb-4"})):_("",!0),o(u,{class:"mb-4"}),e.config?.video_id?_("",!0):(a(),v(m,{key:1,class:"mb-4"})),e.config?.custom?(a(),v($,{key:2,class:"mb-4"})):_("",!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(a(),v(f,{key:3,class:"mb-4"})):_("",!0),o(l,{class:"mb-4"}),o(V,{class:"mb-4"}),o(I,{class:"mb-4"})]),n("div",wt,[o(O,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(a(),v(P,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[o(G,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+i(e.$t("luma.button.extend")),1)]),_:1},8,["onClick"])):(a(),v(P,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[o(G,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+i(e.$t("luma.button.generate")),1)]),_:1},8,["onClick"]))])])}const yt=w(gt,[["render",kt]]),Et=b({name:"TaskPreview",components:{ElImage:ae,CopyToClipboard:oe,FontAwesomeIcon:L,ElAlert:ne,VideoPlayer:D,ElTooltip:se,ElButton:U},props:{modelValue:{type:Object,required:!0}},emits:["extend"],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,t){console.debug("set config",t),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:"extend",thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit("extend")},onDownload(e){window.open(e,"_blank")}}}),Vt={class:"preview"},St={class:"left"},Lt={class:"main"},Ut={class:"bot"},It={class:"datetime"},Tt={class:"info"},Ct={key:0,class:"prompt mt-2"},jt={key:0},Rt={key:1},At={key:0,class:T({content:!0,failed:!0})},Gt={key:0,class:"mb-4"},Pt={key:1,class:T({operations:!0,"mt-2":!0,"mb-4":!0})},Mt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ft={key:1,class:T({content:!0})},zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ot={key:2,class:T({content:!0})},Nt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function qt(e,t,p,h,k,y){const r=s("el-image"),u=s("video-player"),m=s("el-button"),$=s("el-tooltip"),f=s("font-awesome-icon"),l=s("copy-to-clipboard"),V=s("el-alert");return a(),d("div",Vt,[n("div",St,[o(r,{src:"https://cdn.acedata.cloud/ahjfwi.png",class:"avatar"})]),n("div",Lt,[n("div",Ut,[g(i(e.$t("luma.name.lumaBot"))+" ",1),n("span",It,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),n("div",Tt,[e.modelValue?.request?.prompt?(a(),d("p",Ct,[g(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?_("",!0):(a(),d("span",jt," - ("+i(e.$t("luma.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),d("span",Rt," - ("+i(e.$t("luma.status.processing"))+") ",1)):_("",!0)])):_("",!0)]),e.modelValue?.response?.success===!0?(a(),d("div",At,[e.modelValue.response.video_url?(a(),d("div",Gt,[o(u,{src:e.modelValue.response.video_url},null,8,["src"])])):_("",!0),e.modelValue?.response&&!e.config?.custom?(a(),d("div",Pt,[o($,{class:"box-item",effect:"dark",content:e.$t("luma.message.extendVideo"),placement:"top-start"},{default:c(()=>[o(m,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=M(I=>e.onExtend(I,e.modelValue?.response),["stop"]))},{default:c(()=>[g(i(e.$t("luma.button.extend")),1)]),_:1})]),_:1},8,["content"]),o($,{class:"box-item",effect:"dark",content:e.$t("luma.message.downloadVideo"),placement:"top-start"},{default:c(()=>[o(m,{type:"info",size:"small",class:"btn-action",onClick:t[1]||(t[1]=M(I=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:c(()=>[g(i(e.$t("luma.button.download")),1)]),_:1})]),_:1},8,["content"])])):_("",!0),o(V,{closable:!1,class:"mt-2 success"},{default:c(()=>[n("p",Mt,[o(f,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(l,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):_("",!0),e.modelValue?.response?.state==="failed"||e.modelValue?.response?.success===!1?(a(),d("div",Ft,[o(V,{closable:!1,class:"failure"},{template:c(()=>[o(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+i(e.$t("luma.name.failure")),1)]),default:c(()=>[n("p",zt,[o(f,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(l,{content:e.modelValue?.id},null,8,["content"])]),n("p",Bt,[o(f,{icon:"fa-solid fa-circle-info",class:"mr-1"}),g(" "+i(e.$t("luma.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),o(l,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),n("p",Dt,[o(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),g(" "+i(e.$t("luma.name.traceId"))+": "+i(e.modelValue?.trace_id)+" ",1),o(l,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):_("",!0),!e.modelValue?.response||e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),d("div",Ot,[o(V,{closable:!1,class:"info"},{template:c(()=>[o(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+i(e.$t("luma.name.failure")),1)]),default:c(()=>[n("p",Nt,[o(f,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(l,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):_("",!0)])])}const Ht=w(Et,[["render",qt],["__scopeId","data-v-1b4a59bc"]]),Jt=b({name:"RecentPanel",components:{BotPlaceholder:le,TaskPreview:Ht,NoTasks:ee,ScrollList:X},props:{loading:{type:Boolean,default:!1}},emits:["reach-top","extend"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Kt={key:0},Qt={key:2,class:"w-full h-full flex items-center justify-center"};function Wt(e,t,p,h,k,y){const r=s("bot-placeholder"),u=s("task-preview"),m=s("scroll-list"),$=s("no-tasks");return a(),d(F,null,[e.tasks?.items===void 0?(a(),d("div",Kt,[o(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),v(m,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:t[1]||(t[1]=f=>e.$emit("reach-top"))},{default:c(()=>[(a(!0),d(F,null,K(e.tasks?.items,f=>(a(),v(u,{key:f.id,"model-value":f,onExtend:t[0]||(t[0]=l=>e.$emit("extend"))},null,8,["model-value"]))),128))]),_:1},8,["loading"])):_("",!0),e.tasks?.items?.length===0?(a(),d("div",Qt,[o($)])):_("",!0)],64)}const Xt=w(Jt,[["render",Wt]]),Yt="https://webhook.acedata.cloud/luma",Zt=b({name:"LumaIndex",components:{ConfigPanel:yt,Layout:pe,RecentPanel:Xt},inject:["initialized"],emits:["extend"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===z.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},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=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){await ie({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("luma/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("luma/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){console.debug("scrolling down"),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:p,createdAtMax:h}=e||{};console.debug("limit",t,"createdAtMin",p,"createdAtMax",h),this.fetchingTasks=!0;try{await this.$store.dispatch("luma/getTasks",{limit:t,createdAtMin:p,createdAtMax:h})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Yt},t=this.credential?.token;if(!t){console.error("no token specified");return}E.info(this.$t("luma.message.startingTask")),Q.generate(e,{token:t}).then(()=>{E.success(this.$t("luma.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===W?E.error(this.$t("luma.message.usedUp")):E.error(this.$t("luma.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function xt(e,t,p,h,k,y){const r=s("config-panel"),u=s("recent-panel"),m=s("layout");return a(),v(m,null,{config:c(()=>[o(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:c(()=>[o(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:t[0]||(t[0]=$=>e.$emit("extend"))},null,8,["loading","onReachTop"])]),_:1})}const Ro=w(Zt,[["render",xt]]);export{Ro as default};
@@ -1 +1 @@
1
- import{F as T}from"./index.es-B5BxExPu.js";import{E as L}from"./index-BrZEkGia.js";import{E as R}from"./index-DRhl7LNX.js";import{d as $,h as v,b as i,t as l,k as t,r as S,j as f,l as s,o as a,fd as D,x as r,F as V,v as I,i as w,fe as F,ff as B,cf as M,D as h,y as k,n as U,fg as O,dN as N,dJ as A}from"./index-BHWAOEcf.js";import{E as G,a as P}from"./index-IMW6uuh-.js";import{I as C,S as q}from"./ScrollList-9YjkSrQI.js";import{E as z,a as X}from"./index-B92my1Q0.js";import{I as H}from"./ImagePreview-DhYLHTps.js";import{E as J}from"./index-DjcJC0zK.js";import{E as y}from"./index-DDqBSSFk.js";import{E as K}from"./index-CCKUub4u.js";import{C as W,N as Q}from"./NoTasks-BpOa5vFX.js";import{a as Y}from"./price-HfrxdcfW.js";import{C as Z}from"./CopyToClipboard-DgotqLxr.js";import{I as ee}from"./ImageWrapper-Dm7lQPbW.js";import{E as te}from"./index-Bgzvc62r.js";import{E as oe}from"./index-CmsT3Np_.js";import{B as se}from"./BotPlaceholder-8zDrksua.js";import{l as ne}from"./pagination-Cj4ffYe2.js";import"./use-form-item-Cfa-OGdg.js";import"./index-r5W6hzzQ.js";import"./index-BTdPZbJx.js";import"./index-CZeM6Tp2.js";import"./typescript-BJu9PjgO.js";import"./index-DpwLjErO.js";import"./strings-CASQTtYR.js";import"./castArray-KB0R_QyF.js";import"./isEqual-VZNlgh-o.js";import"./_initCloneObject-j_ExEGAU.js";import"./debounce-C3VeLj5t.js";import"./_baseIteratee-DabyO38L.js";import"./index-CrAgxKlm.js";import"./index-BAjjsEGt.js";import"./index-CABd8l27.js";import"./_baseClone-BNWubnsE.js";import"./index-DZtScTkG.js";import"./index-yCwOWgs4.js";const le=$({name:"LayoutFlux",components:{ElDrawer:R,ElButton:L,FontAwesomeIcon:T},data(){return{drawer:!1}}}),ae={class:"main flex flex-row flex-1"},re={class:"config w-[300px] flex-none h-full overflow-y-auto border-r border-[var(--el-border-color)]"},ie={class:"result h-full p-[15px] flex-1 flex flex-col min-w-0 overflow-x-hidden"};function ce(e,o,m,d,b,x){const c=s("font-awesome-icon"),u=s("el-button"),n=s("el-drawer");return a(),i("div",ae,[l("div",re,[S(e.$slots,"config",{},void 0,!0)]),l("div",ie,[S(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:o[0]||(o[0]=p=>e.drawer=!0)},{default:f(()=>[t(c,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:f(()=>[S(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ue=v(le,[["render",ce],["__scopeId","data-v-8a4bf519"]]),de=$({name:"ModelSelector",components:{ElSelect:P,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"flux-dev",label:"flux-dev"},{value:"flux-pro",label:"flux-pro"},{value:"flux-pro-1.1",label:"flux-pro-1.1"},{value:"flux-pro-1.1-ultra",label:"flux-pro-1.1-ultra"},{value:"flux-kontext-pro",label:"flux-kontext-pro"},{value:"flux-kontext-max",label:"flux-kontext-max"}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||(this.value=D)}}),pe={class:"field"},me={class:"title font-bold"};function fe(e,o,m,d,b,x){const c=s("el-option"),u=s("el-select");return a(),i("div",pe,[l("h2",me,r(e.$t("flux.name.model")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(a(!0),i(V,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const _e=v(de,[["render",fe],["__scopeId","data-v-8df4b8a7"]]),he=$({name:"CountSelector",components:{ElSlider:X,InfoIcon:C,ElInputNumber:z},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug("set count",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||(this.value=F)}}),ge={class:"flex justify-between"},$e={class:"flex justify-start items-center"},ve={class:"text-sm font-bold"},be={class:"flex justify-end items-center"},xe={class:"w-full"};function ke(e,o,m,d,b,x){const c=s("info-icon"),u=s("el-input-number"),n=s("el-slider");return a(),i("div",null,[l("div",ge,[l("div",$e,[l("span",ve,r(e.$t("flux.name.numbers")),1),t(c,{content:e.$t("flux.description.numbers")},null,8,["content"])]),l("div",be,[t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=p=>e.value=p),"controls-position":"right"},null,8,["modelValue"])])]),l("div",xe,[t(n,{modelValue:e.value,"onUpdate:modelValue":o[1]||(o[1]=p=>e.value=p),min:1,max:4,step:1},null,8,["modelValue"])])])}const we=v(he,[["render",ke]]),ye=$({name:"ActionSelector",components:{ElSelect:P,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"generate",label:this.$t("flux.name.generate")},{value:"edits",label:this.$t("flux.name.edits")}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||(this.value=B)}}),Ve={class:"field"},Ee={class:"title font-bold"};function Te(e,o,m,d,b,x){const c=s("el-option"),u=s("el-select");return a(),i("div",Ve,[l("h2",Ee,r(e.$t("flux.name.task")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(a(!0),i(V,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ie=v(ye,[["render",Te],["__scopeId","data-v-81fd05e5"]]),Se=$({name:"ImageUrlInput",components:{ElUpload:J,ElButton:L,InfoIcon:C,FontAwesomeIcon:T,ImagePreview:H},emits:["change"],data(){return{fileList:[],uploadUrl:M()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug("URLs changed:",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){y.warning(this.$t("flux.message.uploadStartImageExceed"))},onError(){y.error(this.$t("flux.message.uploadStartImageError"))}}}),Le={class:"relative"},Ue={class:"flex justify-between"},Ce={class:"flex justify-start items-center"},Ae={class:"text-sm font-bold"};function Ge(e,o,m,d,b,x){const c=s("info-icon"),u=s("image-preview"),n=s("font-awesome-icon"),p=s("el-button"),g=s("el-upload");return a(),i("div",Le,[l("div",Ue,[l("div",Ce,[l("span",Ae,r(e.$t("flux.name.imageUrl")),1),t(c,{content:e.$t("flux.description.imageUrl")},null,8,["content"])])]),t(g,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=_=>e.fileList=_),name:"file",limit:5,class:"upload-wrapper",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,headers:e.headers},{file:f(({file:_})=>[t(u,{url:_.url||_.response?.file_url,name:_.name,percentage:_.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])]),default:f(()=>[t(p,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:f(()=>[t(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+r(e.$t("flux.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","headers"])])}const Pe=v(Se,[["render",Ge],["__scopeId","data-v-04710032"]]),je="",Re=$({name:"PromptInput",components:{ElInput:K,InfoIcon:C},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=je)}}),De={class:"field"},Fe={class:"box"},Be={class:"title font-bold"};function Me(e,o,m,d,b,x){const c=s("info-icon"),u=s("el-input");return a(),i("div",De,[l("div",Fe,[l("h2",Be,r(e.$t("flux.name.prompt")),1),t(c,{content:e.$t("flux.description.prompt"),class:"info"},null,8,["content"])]),t(u,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("flux.placeholder.prompt"),maxlength:300,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const Oe=v(Re,[["render",Me],["__scopeId","data-v-4c101a17"]]),Ne=$({name:"PresetPanel",components:{ElButton:L,FontAwesomeIcon:T,PromptInput:Oe,ModelSelector:_e,CountSelector:we,Consumption:W,ActionSelector:Ie,ImageUrlInput:Pe},emits:["generate"],computed:{config(){return this.$store.state.flux?.config},consumption(){return Y(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit("generate")}}}),qe={class:"flex flex-col h-full"},ze={class:"flex-1 overflow-y-auto p-[15px]"},Xe={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function He(e,o,m,d,b,x){const c=s("action-selector"),u=s("prompt-input"),n=s("image-url-input"),p=s("model-selector"),g=s("count-selector"),_=s("consumption"),E=s("font-awesome-icon"),j=s("el-button");return a(),i("div",qe,[l("div",ze,[t(c,{class:"mb-4"}),t(u,{class:"mb-4"}),e.config?.action==="edits"?(a(),w(n,{key:0,class:"mb-4"})):k("",!0),t(p,{class:"mb-4"}),t(g,{class:"mb-4"})]),l("div",Xe,[t(_,{value:e.consumption,service:e.service},null,8,["value","service"]),t(j,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:f(()=>[t(E,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+r(e.$t("flux.button.generate")),1)]),_:1},8,["onClick"])])])}const Je=v(Ne,[["render",He]]),Ke=$({name:"TaskPreview",components:{ElImage:oe,CopyToClipboard:Z,FontAwesomeIcon:T,ElAlert:te,ImageWrapper:ee},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(m=>{let d=m;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e,o){e.stopPropagation(),console.log("on download"),window.open(o,"_blank")},onOpenImage(e){window.open(e,"_blank")}}}),We={class:"preview"},Qe={class:"left"},Ye={class:"main"},Ze={class:"bot"},et={class:"datetime"},tt={class:"info"},ot={key:0,class:"prompt mt-2"},st={key:0},nt={key:0,class:U({content:!0,failed:!0})},lt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},at={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},rt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},it={key:1,class:U({content:!0})},ct={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},dt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},pt={key:2,class:U({content:!0})},mt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function ft(e,o,m,d,b,x){const c=s("el-image"),u=s("image-wrapper"),n=s("font-awesome-icon"),p=s("copy-to-clipboard"),g=s("el-alert");return a(),i("div",We,[l("div",Qe,[t(c,{src:"https://cdn.acedata.cloud/ogm2oa.png",class:"avatar"})]),l("div",Ye,[l("div",Ze,[h(r(e.$t("flux.name.fluxBot"))+" ",1),l("span",et,r(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",tt,[e.modelValue?.request?.prompt?(a(),i("p",ot,[h(r(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?k("",!0):(a(),i("span",st," - ("+r(e.$t("flux.status.pending"))+") ",1))])):k("",!0)]),e.modelValue?.response?.success===!0?(a(),i("div",nt,[l("div",lt,[(a(!0),i(V,null,I(e.images,(_,E)=>(a(),w(u,{key:E,src:_?.image_url,"raw-src":_?.image_url,"model-value":_},null,8,["src","raw-src","model-value"]))),128))]),t(g,{closable:!1,class:"mt-2 success"},{default:f(()=>[l("p",at,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+r(e.$t("flux.name.model"))+": "+r(e.modelValue?.request?.model),1)]),l("p",rt,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})])):k("",!0),e.modelValue?.response?.success===!1?(a(),i("div",it,[t(g,{closable:!1,class:"failure"},{template:f(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+r(e.$t("flux.name.failure")),1)]),default:f(()=>[l("p",ct,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),l("p",ut,[t(n,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+r(e.$t("flux.name.failureReason"))+": "+r(e.modelValue?.response?.error?.message)+" ",1),t(p,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),l("p",dt,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+r(e.$t("flux.name.traceId"))+": "+r(e.modelValue?.response?.trace_id)+" ",1),t(p,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):k("",!0),e.modelValue?.response?k("",!0):(a(),i("div",pt,[t(g,{closable:!1,class:"info"},{template:f(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+r(e.$t("flux.name.failure")),1)]),default:f(()=>[l("p",mt,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const _t=v(Ke,[["render",ft],["__scopeId","data-v-fd5838a5"]]),ht=$({name:"RecentPanel",components:{TaskPreview:_t,BotPlaceholder:se,NoTasks:Q,ScrollList:q},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),gt={key:0},$t={key:2,class:"w-full h-full flex items-center justify-center"};function vt(e,o,m,d,b,x){const c=s("bot-placeholder"),u=s("task-preview"),n=s("scroll-list"),p=s("no-tasks");return a(),i(V,null,[e.tasks?.items===void 0?(a(),i("div",gt,[t(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=g=>e.$emit("reach-top"))},{default:f(()=>[(a(!0),i(V,null,I(e.tasks?.items,g=>(a(),w(u,{key:g.id,"model-value":g},null,8,["model-value"]))),128))]),_:1},8,["loading"])):k("",!0),e.tasks?.items?.length===0?(a(),i("div",$t,[t(p)])):k("",!0)],64)}const bt=v(ht,[["render",vt]]),xt="https://webhook.acedata.cloud/flux",kt=$({name:"FluxIndex",components:{ConfigPanel:Je,Layout:ue,RecentPanel:bt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===A.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===A.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.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=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){await ne({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("flux/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("flux/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},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:o=5,createdAtMin:m,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",m,"createdAtMax",d),this.fetchingTasks=!0;try{await this.$store.dispatch("flux/getTasks",{limit:o,createdAtMin:m,createdAtMax:d})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:xt},o=this.credential?.token;if(!o){console.error("no token specified");return}y.info(this.$t("flux.message.startingTask")),O.generate(e,{token:o}).then(()=>{y.success(this.$t("flux.message.startTaskSuccess"))}).catch(m=>{const d=m?.response?.data;d?.error?.code===N?y.error(this.$t("flux.message.usedUp")):y.error(this.$t("flux.message.startTaskFailed")+d?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function wt(e,o,m,d,b,x){const c=s("config-panel"),u=s("recent-panel"),n=s("layout");return a(),w(n,null,{config:f(()=>[t(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:f(()=>[t(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const ro=v(kt,[["render",wt]]);export{ro as default};
1
+ import{F as T}from"./index.es-Dw-ikv9u.js";import{E as L}from"./index-Ba60uEk-.js";import{E as R}from"./index-h2hg5mzg.js";import{d as $,h as v,b as i,t as l,k as t,r as S,j as f,l as s,o as a,fd as D,x as r,F as V,v as I,i as w,fe as F,ff as B,cf as M,D as h,y as k,n as U,fg as O,dN as N,dJ as A}from"./index-Cltw-TPy.js";import{E as G,a as P}from"./index-DU1Jn2Bq.js";import{I as C,S as q}from"./ScrollList-BsWg1Oco.js";import{E as z,a as X}from"./index-CUr7KGdA.js";import{I as H}from"./ImagePreview-fjeQ_mXr.js";import{E as J}from"./index-DTitzyRz.js";import{E as y}from"./index-C7JbjCIG.js";import{E as K}from"./index-BY87tdIk.js";import{C as W,N as Q}from"./NoTasks-Cxeor42D.js";import{a as Y}from"./price-B71O9NlG.js";import{C as Z}from"./CopyToClipboard-B0sXY0gf.js";import{I as ee}from"./ImageWrapper-ChFtniNG.js";import{E as te}from"./index-CHfsm--8.js";import{E as oe}from"./index-Bk5nP9u2.js";import{B as se}from"./BotPlaceholder-Bn7lEbyW.js";import{l as ne}from"./pagination-BA1VbgK9.js";import"./use-form-item-Be29d0-B.js";import"./index-r5W6hzzQ.js";import"./index-Bp5pMMj1.js";import"./index-Daydyphg.js";import"./typescript-DOVFb1BD.js";import"./index-CpH9j3dB.js";import"./strings-CNKL_IWi.js";import"./castArray-CGkY3K20.js";import"./isEqual-CbOgjKmk.js";import"./_initCloneObject-CAySSrJV.js";import"./debounce-CguuKO1r.js";import"./_baseIteratee-C0prYj3x.js";import"./index-BjFSM9Qd.js";import"./index-FtmKCcb9.js";import"./index-RTh02r3m.js";import"./_baseClone-Bm9igNTj.js";import"./index-BhccfPia.js";import"./index-TO8m0FZI.js";const le=$({name:"LayoutFlux",components:{ElDrawer:R,ElButton:L,FontAwesomeIcon:T},data(){return{drawer:!1}}}),ae={class:"main flex flex-row flex-1"},re={class:"config w-[300px] flex-none h-full overflow-y-auto border-r border-[var(--el-border-color)]"},ie={class:"result h-full p-[15px] flex-1 flex flex-col min-w-0 overflow-x-hidden"};function ce(e,o,m,d,b,x){const c=s("font-awesome-icon"),u=s("el-button"),n=s("el-drawer");return a(),i("div",ae,[l("div",re,[S(e.$slots,"config",{},void 0,!0)]),l("div",ie,[S(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:o[0]||(o[0]=p=>e.drawer=!0)},{default:f(()=>[t(c,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:f(()=>[S(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ue=v(le,[["render",ce],["__scopeId","data-v-8a4bf519"]]),de=$({name:"ModelSelector",components:{ElSelect:P,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"flux-dev",label:"flux-dev"},{value:"flux-pro",label:"flux-pro"},{value:"flux-pro-1.1",label:"flux-pro-1.1"},{value:"flux-pro-1.1-ultra",label:"flux-pro-1.1-ultra"},{value:"flux-kontext-pro",label:"flux-kontext-pro"},{value:"flux-kontext-max",label:"flux-kontext-max"}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||(this.value=D)}}),pe={class:"field"},me={class:"title font-bold"};function fe(e,o,m,d,b,x){const c=s("el-option"),u=s("el-select");return a(),i("div",pe,[l("h2",me,r(e.$t("flux.name.model")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(a(!0),i(V,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const _e=v(de,[["render",fe],["__scopeId","data-v-8df4b8a7"]]),he=$({name:"CountSelector",components:{ElSlider:X,InfoIcon:C,ElInputNumber:z},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug("set count",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||(this.value=F)}}),ge={class:"flex justify-between"},$e={class:"flex justify-start items-center"},ve={class:"text-sm font-bold"},be={class:"flex justify-end items-center"},xe={class:"w-full"};function ke(e,o,m,d,b,x){const c=s("info-icon"),u=s("el-input-number"),n=s("el-slider");return a(),i("div",null,[l("div",ge,[l("div",$e,[l("span",ve,r(e.$t("flux.name.numbers")),1),t(c,{content:e.$t("flux.description.numbers")},null,8,["content"])]),l("div",be,[t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=p=>e.value=p),"controls-position":"right"},null,8,["modelValue"])])]),l("div",xe,[t(n,{modelValue:e.value,"onUpdate:modelValue":o[1]||(o[1]=p=>e.value=p),min:1,max:4,step:1},null,8,["modelValue"])])])}const we=v(he,[["render",ke]]),ye=$({name:"ActionSelector",components:{ElSelect:P,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"generate",label:this.$t("flux.name.generate")},{value:"edits",label:this.$t("flux.name.edits")}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||(this.value=B)}}),Ve={class:"field"},Ee={class:"title font-bold"};function Te(e,o,m,d,b,x){const c=s("el-option"),u=s("el-select");return a(),i("div",Ve,[l("h2",Ee,r(e.$t("flux.name.task")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(a(!0),i(V,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ie=v(ye,[["render",Te],["__scopeId","data-v-81fd05e5"]]),Se=$({name:"ImageUrlInput",components:{ElUpload:J,ElButton:L,InfoIcon:C,FontAwesomeIcon:T,ImagePreview:H},emits:["change"],data(){return{fileList:[],uploadUrl:M()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug("URLs changed:",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){y.warning(this.$t("flux.message.uploadStartImageExceed"))},onError(){y.error(this.$t("flux.message.uploadStartImageError"))}}}),Le={class:"relative"},Ue={class:"flex justify-between"},Ce={class:"flex justify-start items-center"},Ae={class:"text-sm font-bold"};function Ge(e,o,m,d,b,x){const c=s("info-icon"),u=s("image-preview"),n=s("font-awesome-icon"),p=s("el-button"),g=s("el-upload");return a(),i("div",Le,[l("div",Ue,[l("div",Ce,[l("span",Ae,r(e.$t("flux.name.imageUrl")),1),t(c,{content:e.$t("flux.description.imageUrl")},null,8,["content"])])]),t(g,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=_=>e.fileList=_),name:"file",limit:5,class:"upload-wrapper",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,headers:e.headers},{file:f(({file:_})=>[t(u,{url:_.url||_.response?.file_url,name:_.name,percentage:_.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])]),default:f(()=>[t(p,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:f(()=>[t(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+r(e.$t("flux.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","headers"])])}const Pe=v(Se,[["render",Ge],["__scopeId","data-v-04710032"]]),je="",Re=$({name:"PromptInput",components:{ElInput:K,InfoIcon:C},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=je)}}),De={class:"field"},Fe={class:"box"},Be={class:"title font-bold"};function Me(e,o,m,d,b,x){const c=s("info-icon"),u=s("el-input");return a(),i("div",De,[l("div",Fe,[l("h2",Be,r(e.$t("flux.name.prompt")),1),t(c,{content:e.$t("flux.description.prompt"),class:"info"},null,8,["content"])]),t(u,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("flux.placeholder.prompt"),maxlength:300,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const Oe=v(Re,[["render",Me],["__scopeId","data-v-4c101a17"]]),Ne=$({name:"PresetPanel",components:{ElButton:L,FontAwesomeIcon:T,PromptInput:Oe,ModelSelector:_e,CountSelector:we,Consumption:W,ActionSelector:Ie,ImageUrlInput:Pe},emits:["generate"],computed:{config(){return this.$store.state.flux?.config},consumption(){return Y(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit("generate")}}}),qe={class:"flex flex-col h-full"},ze={class:"flex-1 overflow-y-auto p-[15px]"},Xe={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function He(e,o,m,d,b,x){const c=s("action-selector"),u=s("prompt-input"),n=s("image-url-input"),p=s("model-selector"),g=s("count-selector"),_=s("consumption"),E=s("font-awesome-icon"),j=s("el-button");return a(),i("div",qe,[l("div",ze,[t(c,{class:"mb-4"}),t(u,{class:"mb-4"}),e.config?.action==="edits"?(a(),w(n,{key:0,class:"mb-4"})):k("",!0),t(p,{class:"mb-4"}),t(g,{class:"mb-4"})]),l("div",Xe,[t(_,{value:e.consumption,service:e.service},null,8,["value","service"]),t(j,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:f(()=>[t(E,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+r(e.$t("flux.button.generate")),1)]),_:1},8,["onClick"])])])}const Je=v(Ne,[["render",He]]),Ke=$({name:"TaskPreview",components:{ElImage:oe,CopyToClipboard:Z,FontAwesomeIcon:T,ElAlert:te,ImageWrapper:ee},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(m=>{let d=m;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e,o){e.stopPropagation(),console.log("on download"),window.open(o,"_blank")},onOpenImage(e){window.open(e,"_blank")}}}),We={class:"preview"},Qe={class:"left"},Ye={class:"main"},Ze={class:"bot"},et={class:"datetime"},tt={class:"info"},ot={key:0,class:"prompt mt-2"},st={key:0},nt={key:0,class:U({content:!0,failed:!0})},lt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},at={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},rt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},it={key:1,class:U({content:!0})},ct={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},dt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},pt={key:2,class:U({content:!0})},mt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function ft(e,o,m,d,b,x){const c=s("el-image"),u=s("image-wrapper"),n=s("font-awesome-icon"),p=s("copy-to-clipboard"),g=s("el-alert");return a(),i("div",We,[l("div",Qe,[t(c,{src:"https://cdn.acedata.cloud/ogm2oa.png",class:"avatar"})]),l("div",Ye,[l("div",Ze,[h(r(e.$t("flux.name.fluxBot"))+" ",1),l("span",et,r(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",tt,[e.modelValue?.request?.prompt?(a(),i("p",ot,[h(r(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?k("",!0):(a(),i("span",st," - ("+r(e.$t("flux.status.pending"))+") ",1))])):k("",!0)]),e.modelValue?.response?.success===!0?(a(),i("div",nt,[l("div",lt,[(a(!0),i(V,null,I(e.images,(_,E)=>(a(),w(u,{key:E,src:_?.image_url,"raw-src":_?.image_url,"model-value":_},null,8,["src","raw-src","model-value"]))),128))]),t(g,{closable:!1,class:"mt-2 success"},{default:f(()=>[l("p",at,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+r(e.$t("flux.name.model"))+": "+r(e.modelValue?.request?.model),1)]),l("p",rt,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})])):k("",!0),e.modelValue?.response?.success===!1?(a(),i("div",it,[t(g,{closable:!1,class:"failure"},{template:f(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+r(e.$t("flux.name.failure")),1)]),default:f(()=>[l("p",ct,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),l("p",ut,[t(n,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+r(e.$t("flux.name.failureReason"))+": "+r(e.modelValue?.response?.error?.message)+" ",1),t(p,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),l("p",dt,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+r(e.$t("flux.name.traceId"))+": "+r(e.modelValue?.response?.trace_id)+" ",1),t(p,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):k("",!0),e.modelValue?.response?k("",!0):(a(),i("div",pt,[t(g,{closable:!1,class:"info"},{template:f(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+r(e.$t("flux.name.failure")),1)]),default:f(()=>[l("p",mt,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const _t=v(Ke,[["render",ft],["__scopeId","data-v-fd5838a5"]]),ht=$({name:"RecentPanel",components:{TaskPreview:_t,BotPlaceholder:se,NoTasks:Q,ScrollList:q},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),gt={key:0},$t={key:2,class:"w-full h-full flex items-center justify-center"};function vt(e,o,m,d,b,x){const c=s("bot-placeholder"),u=s("task-preview"),n=s("scroll-list"),p=s("no-tasks");return a(),i(V,null,[e.tasks?.items===void 0?(a(),i("div",gt,[t(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=g=>e.$emit("reach-top"))},{default:f(()=>[(a(!0),i(V,null,I(e.tasks?.items,g=>(a(),w(u,{key:g.id,"model-value":g},null,8,["model-value"]))),128))]),_:1},8,["loading"])):k("",!0),e.tasks?.items?.length===0?(a(),i("div",$t,[t(p)])):k("",!0)],64)}const bt=v(ht,[["render",vt]]),xt="https://webhook.acedata.cloud/flux",kt=$({name:"FluxIndex",components:{ConfigPanel:Je,Layout:ue,RecentPanel:bt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===A.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===A.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.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=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){await ne({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("flux/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("flux/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},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:o=5,createdAtMin:m,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",m,"createdAtMax",d),this.fetchingTasks=!0;try{await this.$store.dispatch("flux/getTasks",{limit:o,createdAtMin:m,createdAtMax:d})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:xt},o=this.credential?.token;if(!o){console.error("no token specified");return}y.info(this.$t("flux.message.startingTask")),O.generate(e,{token:o}).then(()=>{y.success(this.$t("flux.message.startTaskSuccess"))}).catch(m=>{const d=m?.response?.data;d?.error?.code===N?y.error(this.$t("flux.message.usedUp")):y.error(this.$t("flux.message.startTaskFailed")+d?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function wt(e,o,m,d,b,x){const c=s("config-panel"),u=s("recent-panel"),n=s("layout");return a(),w(n,null,{config:f(()=>[t(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:f(()=>[t(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const ro=v(kt,[["render",wt]]);export{ro as default};
@@ -1 +1 @@
1
- import{F as D}from"./index.es-B5BxExPu.js";import{E as L}from"./index-BrZEkGia.js";import{E as N}from"./index-DRhl7LNX.js";import{d as b,h as k,b as i,t as r,k as o,r as U,j as u,l as s,o as n,eY as G,eZ as z,e_ as S,e$ as M,f0 as q,f1 as Z,x as l,F as V,v as A,i as y,f2 as J,f3 as W,n as I,f as Y,cf as H,D as h,y as $,f4 as K,J as Q,K as X,f5 as x,dN as ee,dJ as P}from"./index-BHWAOEcf.js";import{E as C,a as R}from"./index-IMW6uuh-.js";import{I as j,S as te}from"./ScrollList-9YjkSrQI.js";import{I as oe}from"./ImagePreview-DhYLHTps.js";import{E as se}from"./index-DjcJC0zK.js";import{E as T}from"./index-DDqBSSFk.js";import{C as ae,N as ne}from"./NoTasks-BpOa5vFX.js";import{E as le}from"./index-CCKUub4u.js";import{a as re}from"./price-HfrxdcfW.js";import{C as ie}from"./CopyToClipboard-DgotqLxr.js";import{V as ce}from"./VideoPlayer-DleRW6I6.js";import{E as de}from"./index-BTdPZbJx.js";import{E as ue}from"./index-Bgzvc62r.js";import{E as pe}from"./index-CmsT3Np_.js";import{B as me}from"./BotPlaceholder-8zDrksua.js";import{l as fe}from"./pagination-Cj4ffYe2.js";import"./use-form-item-Cfa-OGdg.js";import"./index-r5W6hzzQ.js";import"./index-DpwLjErO.js";import"./typescript-BJu9PjgO.js";import"./index-CZeM6Tp2.js";import"./strings-CASQTtYR.js";import"./castArray-KB0R_QyF.js";import"./isEqual-VZNlgh-o.js";import"./_initCloneObject-j_ExEGAU.js";import"./debounce-C3VeLj5t.js";import"./_baseIteratee-DabyO38L.js";import"./index-CrAgxKlm.js";import"./index-CABd8l27.js";import"./_baseClone-BNWubnsE.js";import"./index-DZtScTkG.js";import"./vue-plyr-QZFBikSk.js";import"./index-yCwOWgs4.js";const _e=b({name:"LayoutSora",components:{ElDrawer:N,ElButton:L,FontAwesomeIcon:D},data(){return{drawer:!1}}}),he={class:"main flex flex-row flex-1"},$e={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},ge={class:"result h-full p-[15px] flex-1 flex flex-col"};function ve(e,t,p,m,g,v){const c=s("font-awesome-icon"),d=s("el-button"),a=s("el-drawer");return n(),i("div",he,[r("div",$e,[U(e.$slots,"config",{},void 0,!0)]),r("div",ge,[U(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=w=>e.drawer=!0)},{default:u(()=>[o(c,{icon:"fa-solid fa-magic"})]),_:1}),o(a,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=w=>e.drawer=w),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const be=k(_e,[["render",ve],["__scopeId","data-v-966c9b2c"]]),ke=b({name:"ModelSelector",components:{ElSelect:R,ElOption:C},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:q,label:"sora-2"},{value:Z,label:"sora-2-pro"}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){const t=this.$store.state.sora?.config||{},p=z[e]||[S],m=t.duration,g=m&&p.includes(m)?m:p.includes(S)?S:p[0],v={...t,model:e,duration:g,size:t.size||M};this.$store.commit("sora/setConfig",v)}}},mounted(){this.value||(this.value=G)}}),we={class:"field"},ye={class:"title font-bold"};function Se(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",we,[r("h2",ye,l(e.$t("sora.name.model")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(n(!0),i(V,null,A(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ve=k(ke,[["render",Se],["__scopeId","data-v-3a7abba8"]]),Ee=b({name:"ActionSelector",components:{ElSelect:R,ElOption:C},data(){return{}},computed:{options(){return[{value:"text2video",label:this.$t("sora.button.action1")},{value:"image2video",label:this.$t("sora.button.action2")}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||(this.value=J)}}),Te={class:"field"},Ie={class:"title font-bold"},Ae={class:"float-left"};function De(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",Te,[r("h2",Ie,l(e.$t("sora.name.action")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select"),clearable:""},{default:u(()=>[(n(!0),i(V,null,A(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},{default:u(()=>[r("span",Ae,l(a.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Le=k(Ee,[["render",De],["__scopeId","data-v-7b82fa7f"]]),Ce=b({name:"DurationSelector",components:{ElSelect:R,ElOption:C},computed:{model(){return this.$store.state.sora?.config?.model||G},allowedDurations(){return z[this.model]||[S]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,duration:e})}}},watch:{allowedDurations(){const e=this.allowedDurations;if(!e.includes(this.value)){const t=e.includes(S)?S:e[0];this.value=t}}},mounted(){this.value||(this.value=S)}}),Re={class:"field"},Oe={class:"control"},Ue={class:"title font-bold"};function Pe(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",Re,[r("div",Oe,[r("h2",Ue,l(e.$t("sora.name.duration")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(n(!0),i(V,null,A(e.optionsForModel,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const Ge=k(Ce,[["render",Pe],["__scopeId","data-v-c2934598"]]),ze=b({name:"OrientationSelector",data(){return{options:[{value:"portrait",label:"竖屏",width:13,height:25},{value:"landscape",label:"横屏",width:25,height:13}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug("set orientation",e),this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||(this.value=W)}}),Me={class:"text-sm font-bold mb-2 block"},je={class:"items"},Be=["onClick"],Fe={class:"name"};function Ne(e,t,p,m,g,v){return n(),i("div",null,[r("span",Me,l(e.$t("sora.name.orientation")),1),r("div",je,[(n(!0),i(V,null,A(e.options,(c,d)=>(n(),i("div",{key:d,class:I({active:e.active===d,item:!0}),onClick:a=>e.value=c.value},[r("div",{class:I(["preview",c.value])},[r("div",{class:"rect",style:Y({width:c.width+"px",height:c.height+"px"})},null,4)],2),r("p",Fe,l(c.label),1)],10,Be))),128))])])}const qe=k(ze,[["render",Ne],["__scopeId","data-v-d6940af8"]]),Ze=b({name:"StartEndImage",components:{ElUpload:se,ElButton:L,InfoIcon:j,FontAwesomeIcon:D,ImagePreview:oe},emits:["change"],data(){return{fileList:[],uploadUrl:H()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.sora?.config?.image_urls},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){T.warning(this.$t("sora.message.uploadReferencesExceed"))},onError(){T.error(this.$t("sora.message.uploadReferencesError"))},onSetStartEndImageUrl(){const e=this.urls;this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),Je={class:"relative"},We={class:"flex justify-between"},Ye={class:"flex justify-start items-center"},He={class:"text-sm font-bold"};function Ke(e,t,p,m,g,v){const c=s("info-icon"),d=s("image-preview"),a=s("font-awesome-icon"),w=s("el-button"),_=s("el-upload");return n(),i("div",Je,[r("div",We,[r("div",Ye,[r("span",He,l(e.$t("sora.name.startEndImage")),1),o(c,{content:e.$t("sora.description.uploadStartEndImage")},null,8,["content"])])]),o(_,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=f=>e.fileList=f),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:2,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:f})=>[f.url&&f.percentage!==void 0?(n(),y(d,{key:0,url:f.url,name:f.name,percentage:f.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])):$("",!0)]),default:u(()=>[o(w,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[o(a,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("sora.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Qe=k(Ze,[["render",Ke],["__scopeId","data-v-fd6e5c97"]]),Xe=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),xe=b({name:"SizeSelector",components:{ElSelect:R,ElOption:C},data(){return{options:K.map(e=>({value:e,label:Xe(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,size:e})}}},mounted(){this.value||(this.value=M)}}),et={class:"field"},tt={class:"control"},ot={class:"title font-bold"};function st(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",et,[r("div",tt,[r("h2",ot,l(e.$t("sora.name.size")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(n(!0),i(V,null,A(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const at=k(xe,[["render",st],["__scopeId","data-v-8c485f0f"]]),nt="",lt=b({name:"PromptInput",components:{ElInput:le,InfoIcon:j},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=nt)}}),rt={class:"field"},it={class:"box"},ct={class:"title font-bold"};function dt(e,t,p,m,g,v){const c=s("info-icon"),d=s("el-input");return n(),i("div",rt,[r("div",it,[r("h2",ct,l(e.$t("sora.name.prompt")),1),o(c,{content:e.$t("sora.description.prompt"),class:"info"},null,8,["content"])]),o(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=a=>e.prompt=a),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("sora.placeholder.prompt"),maxlength:500,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const ut=k(lt,[["render",dt],["__scopeId","data-v-cf3a1497"]]),pt=b({name:"ConfigPanel",components:{ElButton:L,Consumption:ae,FontAwesomeIcon:D,PromptInput:ut,ModelSelector:Ve,StartEndImage:Qe,SizeSelector:at,ActionSelector:Le,OrientationSelector:qe,DurationSelector:Ge},emits:["generate"],computed:{config(){return this.$store.state.sora?.config},consumption(){return re(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit("generate")}}}),mt={class:"flex flex-col h-full"},ft={class:"flex-1 overflow-y-auto p-[15px]"},_t={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function ht(e,t,p,m,g,v){const c=s("model-selector"),d=s("action-selector"),a=s("duration-selector"),w=s("size-selector"),_=s("orientation-selector"),f=s("prompt-input"),E=s("start-end-image"),O=s("consumption"),B=s("font-awesome-icon"),F=s("el-button");return n(),i("div",mt,[r("div",ft,[o(c,{class:"mb-4"}),o(d,{class:"mb-4"}),o(a,{class:"mb-4"}),o(w,{class:"mb-4"}),o(_,{class:"mb-4"}),o(f,{class:"mb-4"}),Q(o(E,{class:"mb-2"},null,512),[[X,e.config?.action==="image2video"]])]),r("div",_t,[o(O,{value:e.consumption,service:e.service},null,8,["value","service"]),o(F,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[o(B,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+l(e.$t("sora.button.generate")),1)]),_:1},8,["onClick"])])])}const $t=k(pt,[["render",ht]]),gt=b({name:"TaskPreview",components:{ElImage:pe,CopyToClipboard:ie,FontAwesomeIcon:D,ElAlert:ue,VideoPlayer:ce,ElTooltip:de,ElButton:L},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),vt={class:"preview"},bt={class:"left"},kt={class:"main"},wt={class:"bot"},yt={class:"datetime"},St={class:"info"},Vt={key:0,class:"prompt mt-2"},Et={key:0},Tt={key:1},It={key:0,class:I({content:!0,failed:!0})},At={key:0,class:"mb-4"},Dt={key:1,class:I({operations:!0,"mt-2":!0})},Lt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ct={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Rt={key:1,class:I({content:!0})},Ot={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Pt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Gt={key:2,class:I({content:!0})},zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Mt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function jt(e,t,p,m,g,v){const c=s("el-image"),d=s("video-player"),a=s("el-button"),w=s("el-tooltip"),_=s("font-awesome-icon"),f=s("copy-to-clipboard"),E=s("el-alert");return n(),i("div",vt,[r("div",bt,[o(c,{src:"https://cdn.acedata.cloud/z5id1u.png",class:"avatar"})]),r("div",kt,[r("div",wt,[h(l(e.$t("sora.name.soraBot"))+" ",1),r("span",yt,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",St,[e.modelValue?.request?.prompt?(n(),i("p",Vt,[h(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?$("",!0):(n(),i("span",Et," - ("+l(e.$t("sora.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="pending"?(n(),i("span",Tt," - ("+l(e.$t("sora.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(n(),i("div",It,[e.modelValue?.response?.data[0]?.video_url?(n(),i("div",At,[o(d,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):$("",!0),e.modelValue?.response.success?(n(),i("div",Dt,[o(w,{class:"box-item",effect:"dark",content:e.$t("sora.message.downloadVideo"),placement:"top-start"},{default:u(()=>[e.modelValue?.response?.data[0]?.video_url?(n(),y(a,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=O=>e.onDownload(O,e.modelValue?.response?.data[0]?.video_url))},{default:u(()=>[h(l(e.$t("sora.button.download")),1)]),_:1})):$("",!0)]),_:1},8,["content"])])):$("",!0),o(E,{closable:!1,class:"mt-2 success"},{default:u(()=>[r("p",Lt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.model"))+": "+l(e.modelValue?.request?.model),1)]),r("p",Ct,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(n(),i("div",Rt,[o(E,{closable:!1,class:"failure"},{template:u(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:u(()=>[r("p",Ot,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),r("p",Ut,[o(_,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+l(e.$t("sora.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),o(f,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),i("p",Pt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===void 0?(n(),i("div",Gt,[o(E,{closable:!1,class:"info"},{template:u(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:u(()=>[r("p",zt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),i("p",Mt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0)])])}const Bt=k(gt,[["render",jt],["__scopeId","data-v-183a4d07"]]),Ft=b({name:"RecentPanel",components:{TaskPreview:Bt,NoTasks:ne,BotPlaceholder:me,ScrollList:te},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Nt={key:0},qt={key:2,class:"w-full h-full flex items-center justify-center"};function Zt(e,t,p,m,g,v){const c=s("bot-placeholder"),d=s("task-preview"),a=s("scroll-list"),w=s("no-tasks");return n(),i(V,null,[e.tasks?.items===void 0?(n(),i("div",Nt,[o(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),y(a,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=_=>e.$emit("reach-top"))},{default:u(()=>[(n(!0),i(V,null,A(e.tasks?.items,(_,f)=>(n(),y(d,{key:f,"model-value":_},null,8,["model-value"]))),128))]),_:1},8,["loading"])):$("",!0),e.tasks?.items?.length===0?(n(),i("div",qt,[o(w)])):$("",!0)],64)}const Jt=k(Ft,[["render",Zt]]),Wt="https://webhook.acedata.cloud/sora",Yt=b({name:"SoraIndex",components:{ConfigPanel:$t,Layout:be,RecentPanel:Jt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===P.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},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=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){await fe({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("sora/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("sora/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},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:p,createdAtMax:m}=e||{};console.debug("limit",t,"createdAtMin",p,"createdAtMax",m),this.fetchingTasks=!0;try{await this.$store.dispatch("sora/getTasks",{limit:t,createdAtMin:p,createdAtMax:m})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Wt},t=this.credential?.token;if(!t){console.error("no token specified");return}T.info(this.$t("sora.message.startingTask")),x.generate(e,{token:t}).then(()=>{T.success(this.$t("sora.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===ee?T.error(this.$t("sora.message.usedUp")):T.error(this.$t("sora.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ht(e,t,p,m,g,v){const c=s("config-panel"),d=s("recent-panel"),a=s("layout");return n(),y(a,null,{config:u(()=>[o(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[o(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Ro=k(Yt,[["render",Ht]]);export{Ro as default};
1
+ import{F as D}from"./index.es-Dw-ikv9u.js";import{E as L}from"./index-Ba60uEk-.js";import{E as N}from"./index-h2hg5mzg.js";import{d as b,h as k,b as i,t as r,k as o,r as U,j as u,l as s,o as n,eY as G,eZ as z,e_ as S,e$ as M,f0 as q,f1 as Z,x as l,F as V,v as A,i as y,f2 as J,f3 as W,n as I,f as Y,cf as H,D as h,y as $,f4 as K,J as Q,K as X,f5 as x,dN as ee,dJ as P}from"./index-Cltw-TPy.js";import{E as C,a as R}from"./index-DU1Jn2Bq.js";import{I as j,S as te}from"./ScrollList-BsWg1Oco.js";import{I as oe}from"./ImagePreview-fjeQ_mXr.js";import{E as se}from"./index-DTitzyRz.js";import{E as T}from"./index-C7JbjCIG.js";import{C as ae,N as ne}from"./NoTasks-Cxeor42D.js";import{E as le}from"./index-BY87tdIk.js";import{a as re}from"./price-B71O9NlG.js";import{C as ie}from"./CopyToClipboard-B0sXY0gf.js";import{V as ce}from"./VideoPlayer-Bkc77RHA.js";import{E as de}from"./index-Bp5pMMj1.js";import{E as ue}from"./index-CHfsm--8.js";import{E as pe}from"./index-Bk5nP9u2.js";import{B as me}from"./BotPlaceholder-Bn7lEbyW.js";import{l as fe}from"./pagination-BA1VbgK9.js";import"./use-form-item-Be29d0-B.js";import"./index-r5W6hzzQ.js";import"./index-CpH9j3dB.js";import"./typescript-DOVFb1BD.js";import"./index-Daydyphg.js";import"./strings-CNKL_IWi.js";import"./castArray-CGkY3K20.js";import"./isEqual-CbOgjKmk.js";import"./_initCloneObject-CAySSrJV.js";import"./debounce-CguuKO1r.js";import"./_baseIteratee-C0prYj3x.js";import"./index-BjFSM9Qd.js";import"./index-RTh02r3m.js";import"./_baseClone-Bm9igNTj.js";import"./index-BhccfPia.js";import"./vue-plyr-QZFBikSk.js";import"./index-TO8m0FZI.js";const _e=b({name:"LayoutSora",components:{ElDrawer:N,ElButton:L,FontAwesomeIcon:D},data(){return{drawer:!1}}}),he={class:"main flex flex-row flex-1"},$e={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},ge={class:"result h-full p-[15px] flex-1 flex flex-col"};function ve(e,t,p,m,g,v){const c=s("font-awesome-icon"),d=s("el-button"),a=s("el-drawer");return n(),i("div",he,[r("div",$e,[U(e.$slots,"config",{},void 0,!0)]),r("div",ge,[U(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=w=>e.drawer=!0)},{default:u(()=>[o(c,{icon:"fa-solid fa-magic"})]),_:1}),o(a,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=w=>e.drawer=w),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const be=k(_e,[["render",ve],["__scopeId","data-v-966c9b2c"]]),ke=b({name:"ModelSelector",components:{ElSelect:R,ElOption:C},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:q,label:"sora-2"},{value:Z,label:"sora-2-pro"}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){const t=this.$store.state.sora?.config||{},p=z[e]||[S],m=t.duration,g=m&&p.includes(m)?m:p.includes(S)?S:p[0],v={...t,model:e,duration:g,size:t.size||M};this.$store.commit("sora/setConfig",v)}}},mounted(){this.value||(this.value=G)}}),we={class:"field"},ye={class:"title font-bold"};function Se(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",we,[r("h2",ye,l(e.$t("sora.name.model")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(n(!0),i(V,null,A(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ve=k(ke,[["render",Se],["__scopeId","data-v-3a7abba8"]]),Ee=b({name:"ActionSelector",components:{ElSelect:R,ElOption:C},data(){return{}},computed:{options(){return[{value:"text2video",label:this.$t("sora.button.action1")},{value:"image2video",label:this.$t("sora.button.action2")}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||(this.value=J)}}),Te={class:"field"},Ie={class:"title font-bold"},Ae={class:"float-left"};function De(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",Te,[r("h2",Ie,l(e.$t("sora.name.action")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select"),clearable:""},{default:u(()=>[(n(!0),i(V,null,A(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},{default:u(()=>[r("span",Ae,l(a.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Le=k(Ee,[["render",De],["__scopeId","data-v-7b82fa7f"]]),Ce=b({name:"DurationSelector",components:{ElSelect:R,ElOption:C},computed:{model(){return this.$store.state.sora?.config?.model||G},allowedDurations(){return z[this.model]||[S]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,duration:e})}}},watch:{allowedDurations(){const e=this.allowedDurations;if(!e.includes(this.value)){const t=e.includes(S)?S:e[0];this.value=t}}},mounted(){this.value||(this.value=S)}}),Re={class:"field"},Oe={class:"control"},Ue={class:"title font-bold"};function Pe(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",Re,[r("div",Oe,[r("h2",Ue,l(e.$t("sora.name.duration")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(n(!0),i(V,null,A(e.optionsForModel,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const Ge=k(Ce,[["render",Pe],["__scopeId","data-v-c2934598"]]),ze=b({name:"OrientationSelector",data(){return{options:[{value:"portrait",label:"竖屏",width:13,height:25},{value:"landscape",label:"横屏",width:25,height:13}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug("set orientation",e),this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||(this.value=W)}}),Me={class:"text-sm font-bold mb-2 block"},je={class:"items"},Be=["onClick"],Fe={class:"name"};function Ne(e,t,p,m,g,v){return n(),i("div",null,[r("span",Me,l(e.$t("sora.name.orientation")),1),r("div",je,[(n(!0),i(V,null,A(e.options,(c,d)=>(n(),i("div",{key:d,class:I({active:e.active===d,item:!0}),onClick:a=>e.value=c.value},[r("div",{class:I(["preview",c.value])},[r("div",{class:"rect",style:Y({width:c.width+"px",height:c.height+"px"})},null,4)],2),r("p",Fe,l(c.label),1)],10,Be))),128))])])}const qe=k(ze,[["render",Ne],["__scopeId","data-v-d6940af8"]]),Ze=b({name:"StartEndImage",components:{ElUpload:se,ElButton:L,InfoIcon:j,FontAwesomeIcon:D,ImagePreview:oe},emits:["change"],data(){return{fileList:[],uploadUrl:H()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.sora?.config?.image_urls},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){T.warning(this.$t("sora.message.uploadReferencesExceed"))},onError(){T.error(this.$t("sora.message.uploadReferencesError"))},onSetStartEndImageUrl(){const e=this.urls;this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),Je={class:"relative"},We={class:"flex justify-between"},Ye={class:"flex justify-start items-center"},He={class:"text-sm font-bold"};function Ke(e,t,p,m,g,v){const c=s("info-icon"),d=s("image-preview"),a=s("font-awesome-icon"),w=s("el-button"),_=s("el-upload");return n(),i("div",Je,[r("div",We,[r("div",Ye,[r("span",He,l(e.$t("sora.name.startEndImage")),1),o(c,{content:e.$t("sora.description.uploadStartEndImage")},null,8,["content"])])]),o(_,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=f=>e.fileList=f),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:2,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:f})=>[f.url&&f.percentage!==void 0?(n(),y(d,{key:0,url:f.url,name:f.name,percentage:f.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])):$("",!0)]),default:u(()=>[o(w,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[o(a,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("sora.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Qe=k(Ze,[["render",Ke],["__scopeId","data-v-fd6e5c97"]]),Xe=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),xe=b({name:"SizeSelector",components:{ElSelect:R,ElOption:C},data(){return{options:K.map(e=>({value:e,label:Xe(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,size:e})}}},mounted(){this.value||(this.value=M)}}),et={class:"field"},tt={class:"control"},ot={class:"title font-bold"};function st(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",et,[r("div",tt,[r("h2",ot,l(e.$t("sora.name.size")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(n(!0),i(V,null,A(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const at=k(xe,[["render",st],["__scopeId","data-v-8c485f0f"]]),nt="",lt=b({name:"PromptInput",components:{ElInput:le,InfoIcon:j},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=nt)}}),rt={class:"field"},it={class:"box"},ct={class:"title font-bold"};function dt(e,t,p,m,g,v){const c=s("info-icon"),d=s("el-input");return n(),i("div",rt,[r("div",it,[r("h2",ct,l(e.$t("sora.name.prompt")),1),o(c,{content:e.$t("sora.description.prompt"),class:"info"},null,8,["content"])]),o(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=a=>e.prompt=a),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("sora.placeholder.prompt"),maxlength:500,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const ut=k(lt,[["render",dt],["__scopeId","data-v-cf3a1497"]]),pt=b({name:"ConfigPanel",components:{ElButton:L,Consumption:ae,FontAwesomeIcon:D,PromptInput:ut,ModelSelector:Ve,StartEndImage:Qe,SizeSelector:at,ActionSelector:Le,OrientationSelector:qe,DurationSelector:Ge},emits:["generate"],computed:{config(){return this.$store.state.sora?.config},consumption(){return re(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit("generate")}}}),mt={class:"flex flex-col h-full"},ft={class:"flex-1 overflow-y-auto p-[15px]"},_t={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function ht(e,t,p,m,g,v){const c=s("model-selector"),d=s("action-selector"),a=s("duration-selector"),w=s("size-selector"),_=s("orientation-selector"),f=s("prompt-input"),E=s("start-end-image"),O=s("consumption"),B=s("font-awesome-icon"),F=s("el-button");return n(),i("div",mt,[r("div",ft,[o(c,{class:"mb-4"}),o(d,{class:"mb-4"}),o(a,{class:"mb-4"}),o(w,{class:"mb-4"}),o(_,{class:"mb-4"}),o(f,{class:"mb-4"}),Q(o(E,{class:"mb-2"},null,512),[[X,e.config?.action==="image2video"]])]),r("div",_t,[o(O,{value:e.consumption,service:e.service},null,8,["value","service"]),o(F,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[o(B,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+l(e.$t("sora.button.generate")),1)]),_:1},8,["onClick"])])])}const $t=k(pt,[["render",ht]]),gt=b({name:"TaskPreview",components:{ElImage:pe,CopyToClipboard:ie,FontAwesomeIcon:D,ElAlert:ue,VideoPlayer:ce,ElTooltip:de,ElButton:L},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),vt={class:"preview"},bt={class:"left"},kt={class:"main"},wt={class:"bot"},yt={class:"datetime"},St={class:"info"},Vt={key:0,class:"prompt mt-2"},Et={key:0},Tt={key:1},It={key:0,class:I({content:!0,failed:!0})},At={key:0,class:"mb-4"},Dt={key:1,class:I({operations:!0,"mt-2":!0})},Lt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ct={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Rt={key:1,class:I({content:!0})},Ot={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Pt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Gt={key:2,class:I({content:!0})},zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Mt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function jt(e,t,p,m,g,v){const c=s("el-image"),d=s("video-player"),a=s("el-button"),w=s("el-tooltip"),_=s("font-awesome-icon"),f=s("copy-to-clipboard"),E=s("el-alert");return n(),i("div",vt,[r("div",bt,[o(c,{src:"https://cdn.acedata.cloud/z5id1u.png",class:"avatar"})]),r("div",kt,[r("div",wt,[h(l(e.$t("sora.name.soraBot"))+" ",1),r("span",yt,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",St,[e.modelValue?.request?.prompt?(n(),i("p",Vt,[h(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?$("",!0):(n(),i("span",Et," - ("+l(e.$t("sora.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="pending"?(n(),i("span",Tt," - ("+l(e.$t("sora.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(n(),i("div",It,[e.modelValue?.response?.data[0]?.video_url?(n(),i("div",At,[o(d,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):$("",!0),e.modelValue?.response.success?(n(),i("div",Dt,[o(w,{class:"box-item",effect:"dark",content:e.$t("sora.message.downloadVideo"),placement:"top-start"},{default:u(()=>[e.modelValue?.response?.data[0]?.video_url?(n(),y(a,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=O=>e.onDownload(O,e.modelValue?.response?.data[0]?.video_url))},{default:u(()=>[h(l(e.$t("sora.button.download")),1)]),_:1})):$("",!0)]),_:1},8,["content"])])):$("",!0),o(E,{closable:!1,class:"mt-2 success"},{default:u(()=>[r("p",Lt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.model"))+": "+l(e.modelValue?.request?.model),1)]),r("p",Ct,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(n(),i("div",Rt,[o(E,{closable:!1,class:"failure"},{template:u(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:u(()=>[r("p",Ot,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),r("p",Ut,[o(_,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+l(e.$t("sora.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),o(f,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),i("p",Pt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===void 0?(n(),i("div",Gt,[o(E,{closable:!1,class:"info"},{template:u(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:u(()=>[r("p",zt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),i("p",Mt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0)])])}const Bt=k(gt,[["render",jt],["__scopeId","data-v-183a4d07"]]),Ft=b({name:"RecentPanel",components:{TaskPreview:Bt,NoTasks:ne,BotPlaceholder:me,ScrollList:te},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Nt={key:0},qt={key:2,class:"w-full h-full flex items-center justify-center"};function Zt(e,t,p,m,g,v){const c=s("bot-placeholder"),d=s("task-preview"),a=s("scroll-list"),w=s("no-tasks");return n(),i(V,null,[e.tasks?.items===void 0?(n(),i("div",Nt,[o(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),y(a,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=_=>e.$emit("reach-top"))},{default:u(()=>[(n(!0),i(V,null,A(e.tasks?.items,(_,f)=>(n(),y(d,{key:f,"model-value":_},null,8,["model-value"]))),128))]),_:1},8,["loading"])):$("",!0),e.tasks?.items?.length===0?(n(),i("div",qt,[o(w)])):$("",!0)],64)}const Jt=k(Ft,[["render",Zt]]),Wt="https://webhook.acedata.cloud/sora",Yt=b({name:"SoraIndex",components:{ConfigPanel:$t,Layout:be,RecentPanel:Jt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===P.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},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=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){await fe({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("sora/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("sora/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},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:p,createdAtMax:m}=e||{};console.debug("limit",t,"createdAtMin",p,"createdAtMax",m),this.fetchingTasks=!0;try{await this.$store.dispatch("sora/getTasks",{limit:t,createdAtMin:p,createdAtMax:m})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Wt},t=this.credential?.token;if(!t){console.error("no token specified");return}T.info(this.$t("sora.message.startingTask")),x.generate(e,{token:t}).then(()=>{T.success(this.$t("sora.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===ee?T.error(this.$t("sora.message.usedUp")):T.error(this.$t("sora.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ht(e,t,p,m,g,v){const c=s("config-panel"),d=s("recent-panel"),a=s("layout");return n(),y(a,null,{config:u(()=>[o(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[o(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Ro=k(Yt,[["render",Ht]]);export{Ro as default};
@@ -1 +1 @@
1
- import{d as $,L as O,S as v,h as k,i as f,j as n,k as o,y as _,l as t,D as g,x as m,t as s,o as r,R as S,fA as N,m as T,p as L,q as D,fB as R,cf as U,b as h,f as B,F as P,v as A,n as F}from"./index-BHWAOEcf.js";import{F as b}from"./index.es-B5BxExPu.js";import{E as V,a as q}from"./index-CKtbhR9a.js";import{E as H}from"./index-BNZB7Wrx.js";import{E}from"./index-CmsT3Np_.js";import"./typescript-BJu9PjgO.js";import"./index-BTdPZbJx.js";import"./index-CZeM6Tp2.js";import"./index-r5W6hzzQ.js";import"./index-CrAgxKlm.js";import"./dropdown-B6EDyfs2.js";import"./debounce-C3VeLj5t.js";import"./index-DZtScTkG.js";const M=$({name:"HelpEntry",components:{ElImage:E,ElDialog:O,ElPopover:H,ElMenu:q,ElMenuItem:V,FontAwesomeIcon:b},props:{visible:{type:Boolean,default:!0}},emits:["close"],computed:{site(){return this.$store.state.site}},methods:{onJoin(){window.open(this.$store.state.site?.features?.support?.discord?.url,"_blank")},onProfit(){this.$router.push({name:v})}}}),X={class:"flex"},j={class:"flex-1 text-center"};function z(e,i,w,y,I,x){const c=t("font-awesome-icon"),l=t("el-menu-item"),p=t("el-image"),d=t("el-popover"),a=t("el-menu"),u=t("el-dialog");return r(),f(u,{"model-value":e.visible,width:200,class:"text-center",onClose:i[0]||(i[0]=C=>e.$emit("close"))},{default:n(()=>[o(a,{collapse:!1,class:"menu"},{default:n(()=>[e.site?.features?.support?.discord?.enabled?(r(),f(l,{key:0,index:"1",onClick:e.onJoin},{title:n(()=>[g(m(e.$t("common.message.joinDiscord")),1)]),default:n(()=>[o(c,{icon:"fa-brands fa-discord",class:"mr-2"})]),_:1},8,["onClick"])):_("",!0),o(d,{width:350,trigger:"hover"},{reference:n(()=>[e.site?.features?.support?.wechat?.enabled?(r(),f(l,{key:0,index:"2"},{title:n(()=>[g(m(e.$t("common.message.addWeChat")),1)]),default:n(()=>[o(c,{icon:"fa-brands fa-weixin",class:"mr-2"})]),_:1})):_("",!0)]),default:n(()=>[s("div",X,[s("div",j,[o(p,{src:e.site?.features?.support?.wechat?.qr},null,8,["src"])])])]),_:1})]),_:1})]),_:1},8,["model-value"])}const J=k(M,[["render",z],["__scopeId","data-v-0fce633f"]]),G=$({name:"ProfileIndex",components:{ElImage:E,HelpDialog:J,FontAwesomeIcon:b},data(){return{operating:{locale:!1,dark:!1,help:!1}}},computed:{user(){return this.$store.getters.user},showSupport(){return this.$store?.state?.site?.features?.support?.enabled&&(this.$store?.state?.site?.features?.support?.discord?.enabled||this.$store?.state?.site?.features?.support?.wechat?.enabled)},showSite(){return this.$store?.state?.site?.admins?.includes(this.$store.getters.user?.id)},links(){return[{key:"profile",text:this.$t("console.menu.userProfile"),href:`${N()}/user/profile`,icon:"fa-regular fa-user"},{key:"application-list",text:this.$t("console.menu.applicationList"),name:T,icon:"fa-solid fa-cube"},{key:"order-list",text:this.$t("console.menu.orderList"),name:L,icon:"fa-solid fa-store"},{key:"usage-list",text:this.$t("console.menu.usageList"),name:D,icon:"fa-solid fa-rotate-left"},{key:"distribution-index",text:this.$t("console.menu.distributionIndex"),name:v,icon:"fa-solid fa-coins"},...this.showSite?[{key:"site-index",text:this.$t("common.nav.site"),name:R,icon:"fa-solid fa-gear"}]:[],{key:"dark-setting",text:this.$t("common.nav.darkMode"),icon:"fa-solid fa-moon",callback:()=>{this.operating.dark=!0}},{key:"locale-setting",text:this.$t("common.nav.locale"),icon:"fa-solid fa-language",callback:()=>{this.operating.locale=!0}},{key:"developerPlatform",text:this.$t("console.menu.developerPlatform"),href:U(),icon:"fa-solid fa-laptop-code"},...this.showSupport?[{key:"support",text:this.$t("common.nav.support"),callback:()=>{this.operating.help=!0},icon:"fa-solid fa-question"}]:[],{key:"logout",text:this.$t("common.nav.logOut"),icon:"fa-solid fa-arrow-right-from-bracket",callback:async()=>{await this.$store.dispatch("logout")}}]}},methods:{onHome(){this.$router.push({name:S})},onNavigate(e){e.name?this.$router.push({name:e.name}):e.href?window.open(e.href,"_blank"):e.callback&&e.callback()}}}),W={class:"profile"},K={class:"info"},Q={class:"links"},Y=["onClick"],Z={class:"icon"},ee={class:"text"},te={class:"suffix"};function oe(e,i,w,y,I,x){const c=t("el-image"),l=t("font-awesome-icon"),p=t("locale-selector"),d=t("help-dialog");return r(),h("div",W,[s("div",K,[o(c,{src:e.user.avatar,fit:"cover",class:"avatar"},null,8,["src"]),s("h2",null,m(e.user.username),1),s("div",{style:B({backgroundImage:"url("+e.user.avatar+")"}),class:"background"},null,4)]),s("div",Q,[(r(!0),h(P,null,A(e.links,(a,u)=>(r(),h("a",{key:u,class:F({link:!0,active:e.$route.name===a.name}),onClick:C=>e.onNavigate(a)},[s("span",Z,[o(l,{icon:a.icon,class:"text-sm"},null,8,["icon"])]),s("span",ee,m(a.text),1),s("span",te,[o(l,{icon:"fa-solid fa-chevron-right",class:"text-sm"})])],10,Y))),128))]),o(p,{visible:e.operating.locale==!0,onClose:i[0]||(i[0]=a=>e.operating.locale=!1)},null,8,["visible"]),o(d,{visible:e.operating.help==!0,onClose:i[1]||(i[1]=a=>e.operating.help=!1)},null,8,["visible"])])}const _e=k(G,[["render",oe],["__scopeId","data-v-8eb3b1d9"]]);export{_e as default};
1
+ import{d as $,L as O,S as v,h as k,i as f,j as n,k as o,y as _,l as t,D as g,x as m,t as s,o as r,R as S,fA as N,m as T,p as L,q as D,fB as R,cf as U,b as h,f as B,F as P,v as A,n as F}from"./index-Cltw-TPy.js";import{F as b}from"./index.es-Dw-ikv9u.js";import{E as V,a as q}from"./index-Douq3tkS.js";import{E as H}from"./index-DSp1QfJq.js";import{E}from"./index-Bk5nP9u2.js";import"./typescript-DOVFb1BD.js";import"./index-Bp5pMMj1.js";import"./index-Daydyphg.js";import"./index-r5W6hzzQ.js";import"./index-BjFSM9Qd.js";import"./dropdown-D2LCpybK.js";import"./debounce-CguuKO1r.js";import"./index-BhccfPia.js";const M=$({name:"HelpEntry",components:{ElImage:E,ElDialog:O,ElPopover:H,ElMenu:q,ElMenuItem:V,FontAwesomeIcon:b},props:{visible:{type:Boolean,default:!0}},emits:["close"],computed:{site(){return this.$store.state.site}},methods:{onJoin(){window.open(this.$store.state.site?.features?.support?.discord?.url,"_blank")},onProfit(){this.$router.push({name:v})}}}),X={class:"flex"},j={class:"flex-1 text-center"};function z(e,i,w,y,I,x){const c=t("font-awesome-icon"),l=t("el-menu-item"),p=t("el-image"),d=t("el-popover"),a=t("el-menu"),u=t("el-dialog");return r(),f(u,{"model-value":e.visible,width:200,class:"text-center",onClose:i[0]||(i[0]=C=>e.$emit("close"))},{default:n(()=>[o(a,{collapse:!1,class:"menu"},{default:n(()=>[e.site?.features?.support?.discord?.enabled?(r(),f(l,{key:0,index:"1",onClick:e.onJoin},{title:n(()=>[g(m(e.$t("common.message.joinDiscord")),1)]),default:n(()=>[o(c,{icon:"fa-brands fa-discord",class:"mr-2"})]),_:1},8,["onClick"])):_("",!0),o(d,{width:350,trigger:"hover"},{reference:n(()=>[e.site?.features?.support?.wechat?.enabled?(r(),f(l,{key:0,index:"2"},{title:n(()=>[g(m(e.$t("common.message.addWeChat")),1)]),default:n(()=>[o(c,{icon:"fa-brands fa-weixin",class:"mr-2"})]),_:1})):_("",!0)]),default:n(()=>[s("div",X,[s("div",j,[o(p,{src:e.site?.features?.support?.wechat?.qr},null,8,["src"])])])]),_:1})]),_:1})]),_:1},8,["model-value"])}const J=k(M,[["render",z],["__scopeId","data-v-0fce633f"]]),G=$({name:"ProfileIndex",components:{ElImage:E,HelpDialog:J,FontAwesomeIcon:b},data(){return{operating:{locale:!1,dark:!1,help:!1}}},computed:{user(){return this.$store.getters.user},showSupport(){return this.$store?.state?.site?.features?.support?.enabled&&(this.$store?.state?.site?.features?.support?.discord?.enabled||this.$store?.state?.site?.features?.support?.wechat?.enabled)},showSite(){return this.$store?.state?.site?.admins?.includes(this.$store.getters.user?.id)},links(){return[{key:"profile",text:this.$t("console.menu.userProfile"),href:`${N()}/user/profile`,icon:"fa-regular fa-user"},{key:"application-list",text:this.$t("console.menu.applicationList"),name:T,icon:"fa-solid fa-cube"},{key:"order-list",text:this.$t("console.menu.orderList"),name:L,icon:"fa-solid fa-store"},{key:"usage-list",text:this.$t("console.menu.usageList"),name:D,icon:"fa-solid fa-rotate-left"},{key:"distribution-index",text:this.$t("console.menu.distributionIndex"),name:v,icon:"fa-solid fa-coins"},...this.showSite?[{key:"site-index",text:this.$t("common.nav.site"),name:R,icon:"fa-solid fa-gear"}]:[],{key:"dark-setting",text:this.$t("common.nav.darkMode"),icon:"fa-solid fa-moon",callback:()=>{this.operating.dark=!0}},{key:"locale-setting",text:this.$t("common.nav.locale"),icon:"fa-solid fa-language",callback:()=>{this.operating.locale=!0}},{key:"developerPlatform",text:this.$t("console.menu.developerPlatform"),href:U(),icon:"fa-solid fa-laptop-code"},...this.showSupport?[{key:"support",text:this.$t("common.nav.support"),callback:()=>{this.operating.help=!0},icon:"fa-solid fa-question"}]:[],{key:"logout",text:this.$t("common.nav.logOut"),icon:"fa-solid fa-arrow-right-from-bracket",callback:async()=>{await this.$store.dispatch("logout")}}]}},methods:{onHome(){this.$router.push({name:S})},onNavigate(e){e.name?this.$router.push({name:e.name}):e.href?window.open(e.href,"_blank"):e.callback&&e.callback()}}}),W={class:"profile"},K={class:"info"},Q={class:"links"},Y=["onClick"],Z={class:"icon"},ee={class:"text"},te={class:"suffix"};function oe(e,i,w,y,I,x){const c=t("el-image"),l=t("font-awesome-icon"),p=t("locale-selector"),d=t("help-dialog");return r(),h("div",W,[s("div",K,[o(c,{src:e.user.avatar,fit:"cover",class:"avatar"},null,8,["src"]),s("h2",null,m(e.user.username),1),s("div",{style:B({backgroundImage:"url("+e.user.avatar+")"}),class:"background"},null,4)]),s("div",Q,[(r(!0),h(P,null,A(e.links,(a,u)=>(r(),h("a",{key:u,class:F({link:!0,active:e.$route.name===a.name}),onClick:C=>e.onNavigate(a)},[s("span",Z,[o(l,{icon:a.icon,class:"text-sm"},null,8,["icon"])]),s("span",ee,m(a.text),1),s("span",te,[o(l,{icon:"fa-solid fa-chevron-right",class:"text-sm"})])],10,Y))),128))]),o(p,{visible:e.operating.locale==!0,onClose:i[0]||(i[0]=a=>e.operating.locale=!1)},null,8,["visible"]),o(d,{visible:e.operating.help==!0,onClose:i[1]||(i[1]=a=>e.operating.help=!1)},null,8,["visible"])])}const _e=k(G,[["render",oe],["__scopeId","data-v-8eb3b1d9"]]);export{_e as default};