@acedatacloud/nexior 3.35.0 → 3.36.0

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 (166) hide show
  1. package/dist/assets/{Auth-BzXswjE4.js → Auth-BP9lbJeI.js} +1 -1
  2. package/dist/assets/{BotPlaceholder-BV2w6Q4w.js → BotPlaceholder-CInEMDBc.js} +1 -1
  3. package/dist/assets/{Callback-CQ8ko7C9.js → Callback-BIjy-gtY.js} +1 -1
  4. package/dist/assets/{Console-UbGToFD6.js → Console-6tUky-J0.js} +1 -1
  5. package/dist/assets/{Consumption-DEB600BC.js → Consumption-BCbR6ZEO.js} +1 -1
  6. package/dist/assets/{Conversation-T2K_c37M.css → Conversation-BMY_hUX2.css} +1 -1
  7. package/dist/assets/Conversation-rDdJVSyA.js +23 -0
  8. package/dist/assets/{CopyToClipboard-cTbsayFn.js → CopyToClipboard-Djhvl2Fk.js} +1 -1
  9. package/dist/assets/{Detail-BQ0XJdOr.js → Detail-Co0yJXVH.js} +2 -2
  10. package/dist/assets/{EditArray-DzSfUZdI.js → EditArray-BGybpge_.js} +1 -1
  11. package/dist/assets/{Extra-BGXzckZL.js → Extra-CSmGC05b.js} +1 -1
  12. package/dist/assets/{FilePreview-B3Gtn-Tg.js → FilePreview-BNzbUf36.js} +1 -1
  13. package/dist/assets/{History-BeUw1IaF.js → History-B0U-8F9T.js} +1 -1
  14. package/dist/assets/{ImagePreview-B5F24-Vs.js → ImagePreview-SUR7TFTL.js} +1 -1
  15. package/dist/assets/{ImageWrapper-hN1Hdu08.js → ImageWrapper-D7m66Uzp.js} +1 -1
  16. package/dist/assets/{Index-BAn75ep1.js → Index-B2TA3Ri9.js} +1 -1
  17. package/dist/assets/Index-B5xoCX__.js +1 -0
  18. package/dist/assets/{Index-CqyShhjI.js → Index-BGbiVa-Y.js} +1 -1
  19. package/dist/assets/{Index-CLPm-Y4w.js → Index-BN6WLQ8-.js} +1 -1
  20. package/dist/assets/{Index-D7ez9jbr.js → Index-BWY2r3X1.js} +1 -1
  21. package/dist/assets/Index-BqOMnc5W.js +1 -0
  22. package/dist/assets/{Index-CylCKIXE.js → Index-C-6TsdhC.js} +1 -1
  23. package/dist/assets/{Index-q9gZ0XTy.js → Index-CB1O9Y15.js} +1 -1
  24. package/dist/assets/{Index-C6QkxZY6.js → Index-CGhMkR7Q.js} +1 -1
  25. package/dist/assets/Index-CLp6MIQW.js +1 -0
  26. package/dist/assets/Index-Cjxg8NOx.css +1 -0
  27. package/dist/assets/Index-DF06Um2_.js +4 -0
  28. package/dist/assets/Index-DIbGskQz.js +1 -0
  29. package/dist/assets/{Index-UoZMsXXk.js → Index-DM3dFdE3.js} +1 -1
  30. package/dist/assets/{Index-BjX115MB.js → Index-DaH7q9dg.js} +1 -1
  31. package/dist/assets/{Index-BRov3UHm.js → Index-Ditj1i_I.js} +1 -1
  32. package/dist/assets/{Index-3ZiNs4kq.js → Index-DsAb9sPv.js} +1 -1
  33. package/dist/assets/{Index-N-iGX0tk.js → Index-DvSICD7r.js} +1 -1
  34. package/dist/assets/{Index-Bc2v2omV.js → Index-Dz8Os9xl.js} +1 -1
  35. package/dist/assets/{Index-CBMnYQ1o.js → Index-F7xvFuGm.js} +1 -1
  36. package/dist/assets/{Index-Bnh_m2KM.js → Index-LPobDCmU.js} +1 -1
  37. package/dist/assets/{Index-BJdy1_Z6.js → Index-OBOZ0gNk.js} +1 -1
  38. package/dist/assets/{Index-j-TXpN-y.js → Index-cXoD-6RA.js} +1 -1
  39. package/dist/assets/{Index-BUjIH0UD.js → Index-sUp19C7h.js} +1 -1
  40. package/dist/assets/Index-tw3XT7DO.js +1 -0
  41. package/dist/assets/{Invitees-D4zwToOW.js → Invitees-B6HhiNiR.js} +1 -1
  42. package/dist/assets/{List-CnZ4wBge.js → List-Bdy41N41.js} +1 -1
  43. package/dist/assets/{List-8Caks5m2.js → List-ClW1xhXU.js} +1 -1
  44. package/dist/assets/{List-Cogewp0B.js → List-pp0GRwAS.js} +1 -1
  45. package/dist/assets/{Main-COqAQDqW.js → Main-Cd5cePch.js} +1 -1
  46. package/dist/assets/Navigator-B7XcI_Q3.js +1 -0
  47. package/dist/assets/Navigator-HvqoZTM0.css +1 -0
  48. package/dist/assets/{NoTasks-ZsLHgPuo.js → NoTasks-BYOtsKOE.js} +1 -1
  49. package/dist/assets/{OAuthCallback-CGTHAbtF.js → OAuthCallback-gwIcXrf0.js} +1 -1
  50. package/dist/assets/{Pagination-BihGJLjm.js → Pagination-B9EVrZod.js} +1 -1
  51. package/dist/assets/{ScrollList-OteSDitY.js → ScrollList-Dw45lO0t.js} +1 -1
  52. package/dist/assets/Status-B4E0LbhA.js +1 -0
  53. package/dist/assets/Subscribe-GxJ9p8MU.js +1 -0
  54. package/dist/assets/{TransportWebHID-D9wUjmBD.js → TransportWebHID-Bw1vVfFC.js} +1 -1
  55. package/dist/assets/{VideoPlayer-DcumvLkR.js → VideoPlayer-gXXZbisY.js} +1 -1
  56. package/dist/assets/{avatar-B3bcsy-o.css → avatar-BCCBdp_3.css} +1 -1
  57. package/dist/assets/{avatar-B2oLnm2w.js → avatar-Ce400va_.js} +1 -1
  58. package/dist/assets/{bignumber-geB-LwaY.js → bignumber-C8MaMqra.js} +1 -1
  59. package/dist/assets/chat-BVO1_8SQ.js +1 -0
  60. package/dist/assets/chat-DjKrQigG.js +1 -0
  61. package/dist/assets/{common-CS9Ce9sH.js → common-CxZtOHLe.js} +1 -1
  62. package/dist/assets/{common-qDu_zKFN.js → common-wHXkz5ey.js} +1 -1
  63. package/dist/assets/connector-1MWvDBIo.js +1 -0
  64. package/dist/assets/connector-BAyj2tkA.js +1 -0
  65. package/dist/assets/connector-Bgu0sixt.js +1 -0
  66. package/dist/assets/connector-BkxjWFcg.js +1 -0
  67. package/dist/assets/connector-C7xO2r9_.js +1 -0
  68. package/dist/assets/connector-CECEgtKj.js +1 -0
  69. package/dist/assets/connector-CMMvuemS.js +1 -0
  70. package/dist/assets/connector-CUuJtXfl.js +1 -0
  71. package/dist/assets/connector-CjmS-s-6.js +1 -0
  72. package/dist/assets/connector-CvbXdSeL.js +1 -0
  73. package/dist/assets/connector-D7-GesdP.js +1 -0
  74. package/dist/assets/connector-DPOnEKVv.js +1 -0
  75. package/dist/assets/connector-DTrE-fhA.js +1 -0
  76. package/dist/assets/connector-Dbvp3lHf.js +1 -0
  77. package/dist/assets/connector-IkZ28hNg.js +1 -0
  78. package/dist/assets/connector-YtfFjxH9.js +1 -0
  79. package/dist/assets/connector-oEGRAHvd.js +1 -0
  80. package/dist/assets/connector-uPyVfnUv.js +1 -0
  81. package/dist/assets/{distribution-Dmd3XvVp.js → distribution-15g43T9Y.js} +1 -1
  82. package/dist/assets/{index-BmwlFP6v.js → index--OT7e4dB.js} +1 -1
  83. package/dist/assets/{index-BwUy-mpm.css → index-B2wQC53q.css} +1 -1
  84. package/dist/assets/index-CdkIaG4d.js +614 -0
  85. package/dist/assets/{index-CLJileDK.js → index-D9-Jfsua.js} +1 -1
  86. package/dist/assets/{index-CZR89jLL.js → index-DMrAP4TW.js} +1 -1
  87. package/dist/assets/{index-CbXbnDya.js → index-DPbfNZOF.js} +1 -1
  88. package/dist/assets/{index-CXXU863B.js → index-OUFJCHwB.js} +1 -1
  89. package/dist/assets/{index-BKVUDuw-.js → index-bCCSAr1s.js} +1 -1
  90. package/dist/assets/{index-DrABKNoZ.js → index-fXvjznMr.js} +1 -1
  91. package/dist/assets/{index.es-DMehEjXB.js → index.es-D2RJIOwI.js} +1 -1
  92. package/dist/assets/{order-Bw8DFW1R.js → order-D9vIzBpI.js} +1 -1
  93. package/dist/assets/{price-lQeFOa8Q.js → price-CwH8PfMf.js} +1 -1
  94. package/dist/assets/{solana-wallets-CKHfeojs.js → solana-wallets-CDq-Ilig.js} +2 -2
  95. package/dist/assets/{solanaEmbed.esm-CbqLlFds.js → solanaEmbed.esm-2gmdLOlb.js} +1 -1
  96. package/dist/assets/{string_decoder-CEgnOzHn.js → string_decoder-BLnC-ocM.js} +1 -1
  97. package/dist/assets/suno-22kfl5ck.js +7 -0
  98. package/dist/assets/suno-7HaPHxZU.js +7 -0
  99. package/dist/assets/suno-B29yxho6.js +7 -0
  100. package/dist/assets/suno-BAJHVOPY.js +7 -0
  101. package/dist/assets/suno-BC6a0SoY.js +7 -0
  102. package/dist/assets/suno-BHBDnzhm.js +7 -0
  103. package/dist/assets/suno-BOD87qmS.js +7 -0
  104. package/dist/assets/suno-C-aj8gY0.js +7 -0
  105. package/dist/assets/suno-C1qgEZWK.js +7 -0
  106. package/dist/assets/suno-CqLyzrg6.js +7 -0
  107. package/dist/assets/suno-DD4a7suZ.js +7 -0
  108. package/dist/assets/suno-DDvBws7-.js +7 -0
  109. package/dist/assets/suno-DEtbzRzi.js +7 -0
  110. package/dist/assets/suno-DTJZ43lx.js +7 -0
  111. package/dist/assets/suno-Dn0e-NG-.js +7 -0
  112. package/dist/assets/suno-DrFDn-MP.js +7 -0
  113. package/dist/assets/suno-LKtIb9A1.js +7 -0
  114. package/dist/assets/suno-kgN2hSbn.js +7 -0
  115. package/dist/assets/{vendor-element-plus-CmP9-3lX.js → vendor-element-plus-ZfFlETcH.js} +7 -7
  116. package/dist/assets/{vendor-web3-C5RrfhAy.js → vendor-web3-CNlWJWvL.js} +4 -4
  117. package/dist/assets/{veo-DuwlHTCs.js → veo-BEngl79C.js} +1 -1
  118. package/dist/assets/{veo-CmOQ2a9_.js → veo-CNOXWYSa.js} +1 -1
  119. package/dist/assets/{web-Bokrd0eW.js → web-Di9kk2JK.js} +1 -1
  120. package/dist/assets/{web-CV8nB6ef.js → web-DzpfT-sD.js} +1 -1
  121. package/dist/index.html +28 -6
  122. package/package.json +1 -1
  123. package/dist/assets/Browse-BHDvC_mG.js +0 -1
  124. package/dist/assets/Browse-oFjzU0X9.css +0 -1
  125. package/dist/assets/Conversation-B30jTIbD.js +0 -23
  126. package/dist/assets/Index-1KNMLovE.js +0 -1
  127. package/dist/assets/Index-BacfL0a5.js +0 -1
  128. package/dist/assets/Index-BfnWocKp.js +0 -1
  129. package/dist/assets/Index-CBgAolPo.css +0 -1
  130. package/dist/assets/Index-Cwkxn80O.css +0 -1
  131. package/dist/assets/Index-DgEoij9q.js +0 -1
  132. package/dist/assets/Index-DlN6WUHV.js +0 -1
  133. package/dist/assets/Index-W2feDC-T.js +0 -1
  134. package/dist/assets/Index-fbC-lfAY.js +0 -1
  135. package/dist/assets/McpManager-B62KLQ2Z.js +0 -1
  136. package/dist/assets/McpManager-Be2fvTdO.css +0 -1
  137. package/dist/assets/Navigator-Br1lpEYH.css +0 -1
  138. package/dist/assets/Navigator-semGmQ89.js +0 -1
  139. package/dist/assets/OAuthCallback-CbG9_OQj.js +0 -1
  140. package/dist/assets/OAuthCallback-CeJPNVj3.css +0 -1
  141. package/dist/assets/Status-De0L9Wnu.js +0 -1
  142. package/dist/assets/Subscribe-DoFhvrGJ.js +0 -1
  143. package/dist/assets/chat-kZ9fn-6R.js +0 -1
  144. package/dist/assets/chat-sJzMIYHr.js +0 -1
  145. package/dist/assets/connector-DYad3Crz.js +0 -1
  146. package/dist/assets/connector-P8ccoph7.js +0 -1
  147. package/dist/assets/index-CtkD2JaX.js +0 -614
  148. package/dist/assets/suno-BJb9YKu5.js +0 -7
  149. package/dist/assets/suno-BZq-gekM.js +0 -7
  150. package/dist/assets/suno-BaUzgiI0.js +0 -7
  151. package/dist/assets/suno-BgoH7EvV.js +0 -7
  152. package/dist/assets/suno-BruNEjYj.js +0 -7
  153. package/dist/assets/suno-CEmwI35Y.js +0 -7
  154. package/dist/assets/suno-CJGnn6rm.js +0 -7
  155. package/dist/assets/suno-Ca_lW5Zu.js +0 -7
  156. package/dist/assets/suno-Cfh0nfm4.js +0 -7
  157. package/dist/assets/suno-Ckbgo1QW.js +0 -7
  158. package/dist/assets/suno-CpD9AE4x.js +0 -7
  159. package/dist/assets/suno-Cq0tZwiy.js +0 -7
  160. package/dist/assets/suno-DLr3ZtcG.js +0 -7
  161. package/dist/assets/suno-DgruGqk4.js +0 -7
  162. package/dist/assets/suno-Dh13LDPL.js +0 -7
  163. package/dist/assets/suno-DhXFpcet.js +0 -7
  164. package/dist/assets/suno-c271LLEU.js +0 -7
  165. package/dist/assets/suno-jlTQ5956.js +0 -7
  166. package/dist/assets/types-BnylCDhI.js +0 -1
@@ -1 +1 @@
1
- import{F as T}from"./index.es-DMehEjXB.js";import{m as L,X as W,O as R,P as M,u as F,w as V,_ as Z,$ as x,k as ee,t as z,q as te,H as oe,j as se}from"./vendor-element-plus-CmP9-3lX.js";import{d as $,C as c,G as l,T as t,E as G,K as p,ai as s,D as n,R as i,S as E,ag as C,J as y,M as I,Y as ne,Q as h,O as v}from"./vendor-vue-BhXato7y.js";import{_ as k,bL as le,bM as ae,bN as O,bO as K,bP as ie,av as q,bQ as re,bR as ce,bS as de,aO as ue,aK as j}from"./index-CtkD2JaX.js";import{p as H}from"./pasteUploadMixin-BurWbGNQ.js";import{I as U,S as pe}from"./ScrollList-OteSDitY.js";import{I as Q}from"./ImagePreview-B5F24-Vs.js";import{C as me}from"./Consumption-DEB600BC.js";import{a as ge}from"./price-lQeFOa8Q.js";import{C as fe}from"./CopyToClipboard-cTbsayFn.js";import{V as _e}from"./VideoPlayer-DcumvLkR.js";import{B as he}from"./BotPlaceholder-BV2w6Q4w.js";import{N as ve}from"./NoTasks-ZsLHgPuo.js";import{l as $e}from"./pagination-DLJ2pbsx.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-C5RrfhAy.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";import"./vue-plyr-QZFBikSk.js";const ke=$({name:"LayoutKling",components:{ElDrawer:W,ElButton:L,FontAwesomeIcon:T},data(){return{drawer:!1}}}),be={class:"main flex flex-row flex-1"},we={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ye={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function Ve(e,o,m,g,b,w){const r=s("font-awesome-icon"),d=s("el-button"),a=s("el-drawer");return n(),c("div",be,[l("div",we,[G(e.$slots,"config",{},void 0,!0)]),l("div",ye,[G(e.$slots,"result",{},void 0,!0)]),t(d,{circle:"",class:"menu",onClick:o[0]||(o[0]=_=>e.drawer=!0)},{default:p(()=>[t(r,{icon:"fa-solid fa-magic"})]),_:1}),t(a,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=_=>e.drawer=_),direction:"ltr","with-header":!1,size:"350px"},{default:p(()=>[G(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Se=k(ke,[["render",Ve],["__scopeId","data-v-56d28e4b"]]),Ee=$({name:"ModelSelector",components:{ElSelect:M,ElOption:R},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"kling-v3",label:"v3"},{value:"kling-v3-omni",label:"v3-Omni"},{value:"kling-v2-6",label:"v2.6"},{value:"kling-v2-5-turbo",label:"v2.5-Turbo"},{value:"kling-v2-1-master",label:"v2.1-Master"},{value:"kling-v2-master",label:"v2-Master"},{value:"kling-v1-6",label:"v1.6"},{value:"kling-v1",label:"v1"},{value:"kling-video-o1",label:"Video-o1"}]}},computed:{value:{get(){return this.$store.state.kling?.config?.model},set(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling.config,model:e})}}},mounted(){this.value||(this.value=le)}}),Ie={class:"field"},Te={class:"title font-bold"};function Le(e,o,m,g,b,w){const r=s("el-option"),d=s("el-select");return n(),c("div",Ie,[l("h2",Te,i(e.$t("pika.name.model")),1),t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=a=>e.value=a),class:"value",placeholder:e.$t("pika.placeholder.select")},{default:p(()=>[(n(!0),c(E,null,C(e.options,a=>(n(),y(r,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ce=k(Ee,[["render",Le],["__scopeId","data-v-a1b940c0"]]),Ue=$({name:"ModeSelector",components:{ElSelect:M,ElOption:R},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"std",label:this.$t("kling.name.modeStd")},{value:"pro",label:this.$t("kling.name.modePro")}]}},computed:{value:{get(){return this.$store.state.kling?.config?.mode},set(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling.config,mode:e})}}},mounted(){this.value||(this.value=ae)}}),Ae={class:"field"},Ge={class:"title font-bold"};function Re(e,o,m,g,b,w){const r=s("el-option"),d=s("el-select");return n(),c("div",Ae,[l("h2",Ge,i(e.$t("kling.name.mode")),1),t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=a=>e.value=a),class:"value",placeholder:e.$t("kling.placeholder.select"),clearable:!0},{default:p(()=>[(n(!0),c(E,null,C(e.options,a=>(n(),y(r,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Me=k(Ue,[["render",Re],["__scopeId","data-v-daa57765"]]),N=[{value:5,label:"5秒"},{value:10,label:"10秒"}],B=[{value:3,label:"3秒"},{value:5,label:"5秒"},{value:8,label:"8秒"},{value:10,label:"10秒"},{value:12,label:"12秒"},{value:15,label:"15秒"}],Pe=$({name:"DurationSelector",components:{ElSelect:M,ElOption:R},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],computed:{selectedModel(){return this.$store.state.kling?.config?.model||""},isV3Model(){return K.includes(this.selectedModel)},options(){return this.isV3Model?B:N},value:{get(){return this.$store.state.kling?.config?.duration},set(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling.config,duration:e})}}},watch:{isV3Model(e){const o=this.value,m=(e?B:N).map(g=>g.value);o!==void 0&&!m.includes(o)&&(this.value=O)}},mounted(){this.value||(this.value=O)}}),De={class:"field"},Oe={class:"title font-bold"};function je(e,o,m,g,b,w){const r=s("el-option"),d=s("el-select");return n(),c("div",De,[l("h2",Oe,i(e.$t("kling.name.duration")),1),t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=a=>e.value=a),class:"value",placeholder:e.$t("kling.placeholder.select")},{default:p(()=>[(n(!0),c(E,null,C(e.options,a=>(n(),y(r,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ne=k(Pe,[["render",je],["__scopeId","data-v-c4727eac"]]),Be=$({name:"RatioSelector",data(){return{options:[{value:"1:1",label:"1:1",width:20,height:20},{value:"16:9",label:"16:9",width:25,height:13},{value:"9:16",label:"9:16",width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state?.kling?.config?.aspect_ratio},set(e){console.debug("set ratio",e),this.$store.commit("kling/setConfig",{...this.$store.state?.kling?.config,aspect_ratio:e})}}},mounted(){this.value||(this.value=ie)}}),Fe={class:"text-sm font-bold mb-2 block"},ze={class:"items"},Ke=["onClick"],qe={class:"name"};function He(e,o,m,g,b,w){return n(),c("div",null,[l("span",Fe,i(e.$t("kling.name.ratio")),1),l("div",ze,[(n(!0),c(E,null,C(e.options,(r,d)=>(n(),c("div",{key:d,class:I({active:e.active===d,item:!0}),onClick:a=>e.value=r.value},[l("div",{class:I(["preview",r.label])},[l("div",{class:"rect",style:ne({width:r.width+"px",height:r.height+"px"})},null,4)],2),l("p",qe,i(r.label),1)],10,Ke))),128))])])}const Qe=k(Be,[["render",He],["__scopeId","data-v-cdb14b2f"]]),Je=$({name:"StartImage",components:{ElUpload:F,ElButton:L,InfoIcon:U,FontAwesomeIcon:T,ImagePreview:Q},mixins:[H],emits:["change"],data(){return{fileList:[],uploadUrl:q()+"/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?.kling?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){V.warning(this.$t("kling.message.uploadReferencesExceed"))},onError(){V.error(this.$t("kling.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("kling/setConfig",{...this.$store.state?.kling?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Xe={class:"relative"},Ye={class:"flex justify-between"},We={class:"flex justify-start items-center"},Ze={class:"text-sm font-bold"};function xe(e,o,m,g,b,w){const r=s("info-icon"),d=s("image-preview"),a=s("font-awesome-icon"),_=s("el-button"),f=s("el-upload");return n(),c("div",Xe,[l("div",Ye,[l("div",We,[l("span",Ze,i(e.$t("kling.name.startImage")),1),t(r,{content:e.$t("kling.description.uploadStartImage")},null,8,["content"])])]),t(f,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=u=>e.fileList=u),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:p(({file:u})=>[u.url&&u.percentage!==void 0?(n(),y(d,{key:0,url:u.url,name:u.name,percentage:u.percentage,onRemove:S=>e.fileList.splice(e.fileList.indexOf(u),1)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:p(()=>[t(_,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:p(()=>[t(a,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+i(e.$t("kling.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const et=k(Je,[["render",xe],["__scopeId","data-v-852a31cd"]]),tt=$({name:"EndImage",components:{ElUpload:F,ElButton:L,ImagePreview:Q,InfoIcon:U,FontAwesomeIcon:T},mixins:[H],data(){return{fileList:[],uploadUrl:q()+"/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?.kling?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onExceed(){V.warning(this.$t("kling.message.uploadReferencesExceed"))},onError(){V.error(this.$t("kling.message.uploadReferencesError"))},onSetEndImageUrl(){const e=this.urls?.[0];this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),ot={class:"relative"},st={class:"flex justify-between"},nt={class:"flex justify-start items-center"},lt={class:"text-sm font-bold"};function at(e,o,m,g,b,w){const r=s("info-icon"),d=s("image-preview"),a=s("font-awesome-icon"),_=s("el-button"),f=s("el-upload");return n(),c("div",ot,[l("div",st,[l("div",nt,[l("span",lt,i(e.$t("kling.name.endImage")),1),t(r,{content:e.$t("kling.description.uploadEndImage")},null,8,["content"])])]),t(f,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=u=>e.fileList=u),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:p(({file:u})=>[u.url&&u.percentage!==void 0?(n(),y(d,{key:0,url:u.url,name:u.name,percentage:u.percentage,onRemove:S=>e.fileList.splice(e.fileList.indexOf(u),1)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:p(()=>[t(_,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:p(()=>[t(a,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+i(e.$t("kling.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const it=k(tt,[["render",at],["__scopeId","data-v-e23f5fb8"]]),rt=$({name:"CfgScaleSelector",components:{ElSlider:x,InfoIcon:U,ElInputNumber:Z},computed:{value:{get(){return this.$store.state?.kling?.config?.cfg_scale},set(e){console.debug("set cfg_scale",e),this.$store.commit("kling/setConfig",{...this.$store.state?.kling?.config,cfg_scale:e})}}},mounted(){this.value||(this.value=re)}}),ct={class:"flex justify-between"},dt={class:"flex justify-start items-center"},ut={class:"text-sm font-bold"},pt={class:"flex justify-end items-center"},mt={class:"w-full"};function gt(e,o,m,g,b,w){const r=s("info-icon"),d=s("el-input-number"),a=s("el-slider");return n(),c("div",null,[l("div",ct,[l("div",dt,[l("span",ut,i(e.$t("kling.name.cfgScale")),1),t(r,{content:e.$t("kling.description.cfgScale")},null,8,["content"])]),l("div",pt,[t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=_=>e.value=_),"controls-position":"right"},null,8,["modelValue"])])]),l("div",mt,[t(a,{modelValue:e.value,"onUpdate:modelValue":o[1]||(o[1]=_=>e.value=_),min:0,max:1,step:.1},null,8,["modelValue"])])])}const ft=k(rt,[["render",gt]]),_t=$({name:"GenerateAudioSelector",components:{ElSwitch:ee},computed:{selectedModel(){return this.$store.state.kling?.config?.model||""},selectedMode(){return this.$store.state.kling?.config?.mode||""},visible(){return!!(K.includes(this.selectedModel)||this.selectedModel==="kling-v2-6"&&this.selectedMode==="pro")},value:{get(){return this.$store.state.kling?.config?.generate_audio??ce},set(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,generate_audio:e})}}},watch:{visible(e){!e&&this.value&&(this.value=!1)}}}),ht={key:0,class:"relative"},vt={class:"flex justify-between items-center"},$t={class:"text-sm font-bold"};function kt(e,o,m,g,b,w){const r=s("el-switch");return e.visible?(n(),c("div",ht,[l("div",vt,[l("span",$t,i(e.$t("kling.name.generateAudio")),1),t(r,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])):v("",!0)}const bt=k(_t,[["render",kt]]),wt="",yt=$({name:"PromptInput",components:{ElInput:z,InfoIcon:U},computed:{prompt:{get(){return this.$store.state.kling?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=wt)}}),Vt={class:"field"},St={class:"box"},Et={class:"title font-bold"};function It(e,o,m,g,b,w){const r=s("info-icon"),d=s("el-input");return n(),c("div",Vt,[l("div",St,[l("h2",Et,i(e.$t("kling.name.prompt")),1),t(r,{content:e.$t("kling.description.prompt"),class:"info"},null,8,["content"])]),t(d,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=a=>e.prompt=a),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("kling.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Tt=k(yt,[["render",It],["__scopeId","data-v-64ef5737"]]),Lt="",Ct=$({name:"NegativePromptInput",components:{ElInput:z,InfoIcon:U},computed:{prompt:{get(){return this.$store.state.kling?.config?.negative_prompt},set(e){console.debug("set prompt",e),this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,negative_prompt:e})}}},mounted(){this.prompt||(this.prompt=Lt)}}),Ut={class:"field"},At={class:"box"},Gt={class:"title font-bold"};function Rt(e,o,m,g,b,w){const r=s("info-icon"),d=s("el-input");return n(),c("div",Ut,[l("div",At,[l("h2",Gt,i(e.$t("kling.name.negativePrompt")),1),t(r,{content:e.$t("kling.description.negativePrompt"),class:"info"},null,8,["content"])]),t(d,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=a=>e.prompt=a),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("kling.placeholder.negativePrompt")},null,8,["modelValue","placeholder"])])}const Mt=k(Ct,[["render",Rt],["__scopeId","data-v-de98cf01"]]),Pt=$({name:"ConfigPanel",components:{ElButton:L,Consumption:me,FontAwesomeIcon:T,PromptInput:Tt,NegativePromptInput:Mt,ModelSelector:Ce,ModeSelector:Me,DurationSelector:Ne,RatioSelector:Qe,StartImage:et,CfgScaleSelector:ft,GenerateAudioSelector:bt,EndImage:it},emits:["generate"],computed:{config(){return this.$store.state.kling?.config},consumption(){return ge(this.config,this.service?.cost)},service(){return this.$store.state.kling?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Dt={class:"flex flex-col h-full"},Ot={class:"flex-1 overflow-y-auto p-5"},jt={class:"flex flex-col items-center justify-center px-5 pb-5"};function Nt(e,o,m,g,b,w){const r=s("prompt-input"),d=s("model-selector"),a=s("ratio-selector"),_=s("start-image"),f=s("end-image"),u=s("duration-selector"),S=s("mode-selector"),A=s("generate-audio-selector"),J=s("cfg-scale-selector"),X=s("negative-prompt-input"),Y=s("consumption"),P=s("font-awesome-icon"),D=s("el-button");return n(),c("div",Dt,[l("div",Ot,[t(r,{class:"mb-4"}),t(d,{class:"mb-4"}),t(a,{class:"mb-4"}),t(_,{class:"mb-2"}),t(f,{class:"mb-2"}),t(u,{class:"mb-4"}),t(S,{class:"mb-4"}),t(A,{class:"mb-4"}),t(J,{class:"mb-4"}),t(X,{class:"mb-4"})]),l("div",jt,[t(Y,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(n(),y(D,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[t(P,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+i(e.$t("kling.button.extend")),1)]),_:1},8,["onClick"])):(n(),y(D,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[t(P,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+i(e.$t("kling.button.generate")),1)]),_:1},8,["onClick"]))])])}const Bt=k(Pt,[["render",Nt]]),Ft=$({name:"TaskPreview",components:{ElImage:se,CopyToClipboard:fe,FontAwesomeIcon:T,ElAlert:oe,VideoPlayer:_e,ElTooltip:te,ElButton:L},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.kling?.application},config(){return this.$store.state.kling?.config}},methods:{onDownload(e,o){e.stopPropagation(),console.log("on download"),window.open(o,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),zt={class:"preview"},Kt={class:"left"},qt={class:"main"},Ht={class:"bot"},Qt={class:"datetime"},Jt={class:"info"},Xt={key:0,class:"prompt mt-2"},Yt={key:0},Wt={key:1},Zt={key:0,class:I({content:!0,failed:!0})},xt={key:0,class:"mb-4"},eo={key:1,class:I({operations:!0,"mt-2":!0})},to={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},oo={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},so={key:1,class:I({content:!0})},no={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},lo={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ao={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},io={key:2,class:I({content:!0})},ro={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},co={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function uo(e,o,m,g,b,w){const r=s("el-image"),d=s("video-player"),a=s("el-button"),_=s("el-tooltip"),f=s("font-awesome-icon"),u=s("copy-to-clipboard"),S=s("el-alert");return n(),c("div",zt,[l("div",Kt,[t(r,{src:"https://cdn.acedata.cloud/qpbbbb.jpg",class:"avatar"})]),l("div",qt,[l("div",Ht,[h(i(e.$t("kling.name.klingBot"))+" ",1),l("span",Qt,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",Jt,[e.modelValue?.request?.prompt?(n(),c("p",Xt,[h(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?v("",!0):(n(),c("span",Yt," - ("+i(e.$t("kling.status.pending"))+") ",1)),e.modelValue?.response?.state==="submitted"||e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"||e.modelValue?.response?.state==="completed"?(n(),c("span",Wt," - ("+i(e.$t("kling.status.processing"))+") ",1)):v("",!0)])):v("",!0)]),e.modelValue?.response?.success===!0?(n(),c("div",Zt,[e.modelValue?.response.video_url?(n(),c("div",xt,[t(d,{src:e.modelValue?.response.video_url},null,8,["src"])])):v("",!0),e.modelValue?.response.success?(n(),c("div",eo,[t(_,{class:"box-item",effect:"dark",content:e.$t("kling.message.downloadVideo"),placement:"top-start"},{default:p(()=>[e.modelValue?.response.video_url?(n(),y(a,{key:0,type:"info",size:"small",class:"btn-action",onClick:o[0]||(o[0]=A=>e.onDownload(A,e.modelValue?.response.video_url))},{default:p(()=>[h(i(e.$t("kling.button.download")),1)]),_:1})):v("",!0)]),_:1},8,["content"])])):v("",!0),t(S,{closable:!1,class:"mt-2 success"},{default:p(()=>[l("p",to,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("kling.name.model"))+": "+i(e.modelValue?.request?.model),1)]),l("p",oo,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("kling.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(u,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):v("",!0),e.modelValue?.response?.success===!1?(n(),c("div",so,[t(S,{closable:!1,class:"failure"},{template:p(()=>[t(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("kling.name.failure")),1)]),default:p(()=>[l("p",no,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("kling.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(u,{content:e.modelValue?.id},null,8,["content"])]),l("p",lo,[t(f,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+i(e.$t("kling.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),t(u,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),c("p",ao,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("kling.name.traceId"))+": "+i(e.modelValue?.response?.trace_id)+" ",1),t(u,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):v("",!0)]),_:1})])):v("",!0),e.modelValue?.response?.success===void 0?(n(),c("div",io,[t(S,{closable:!1,class:"info"},{template:p(()=>[t(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("kling.name.failure")),1)]),default:p(()=>[l("p",ro,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("kling.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(u,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),c("p",co,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("kling.name.traceId"))+": "+i(e.modelValue?.response?.trace_id)+" ",1),t(u,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):v("",!0)]),_:1})])):v("",!0)])])}const po=k(Ft,[["render",uo],["__scopeId","data-v-43231066"]]),mo=$({name:"RecentPanel",components:{TaskPreview:po,NoTasks:ve,BotPlaceholder:he,ScrollList:pe},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.kling?.tasks,items:this.$store.state.kling?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),go={key:0},fo={key:2,class:"w-full h-full flex items-center justify-center"};function _o(e,o,m,g,b,w){const r=s("bot-placeholder"),d=s("task-preview"),a=s("scroll-list"),_=s("no-tasks");return n(),c(E,null,[e.tasks?.items===void 0?(n(),c("div",go,[t(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),y(a,{key:1,ref:"scrollList",class:"h-full w-full overflow-y-auto tasks",loading:e.loading,onReachTop:o[0]||(o[0]=f=>e.$emit("reach-top"))},{default:p(()=>[(n(!0),c(E,null,C(e.tasks?.items,f=>(n(),y(d,{key:f.id,"model-value":f},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(n(),c("div",fo,[t(_)])):v("",!0)],64)}const ho=k(mo,[["render",_o]]),vo="https://webhook.acedata.cloud/kling",$o=$({name:"KlingIndex",components:{ConfigPanel:Bt,Layout:Se,RecentPanel:ho},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.kling?.status?.getApplications===j.Request},tasksLoading(){return this.$store.state.kling?.status?.getTasks===j.Request||this.fetchingTasks},credential(){return this.$store.state.kling.credential},config(){return this.$store.state.kling.config},tasks(){return this.$store.state.kling.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=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await $e({tasks: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("kling/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("kling/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:g}=e||{};console.debug("limit",o,"createdAtMin",m,"createdAtMax",g),this.fetchingTasks=!0;try{await this.$store.dispatch("kling/getTasks",{limit:o,createdAtMin:m,createdAtMax:g})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:vo},o=this.credential?.token;if(!o){console.error("no token specified");return}V.info(this.$t("kling.message.startingTask")),de.generate(e,{token:o}).then(()=>{V.success(this.$t("kling.message.startTaskSuccess"))}).catch(m=>{m?.response?.data?.error?.code===ue?V.error(this.$t("kling.message.usedUp")):V.error(this.$t("kling.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ko(e,o,m,g,b,w){const r=s("config-panel"),d=s("recent-panel"),a=s("layout");return n(),y(a,null,{config:p(()=>[t(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:p(()=>[t(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const No=k($o,[["render",ko]]);export{No as default};
1
+ import{F as T}from"./index.es-D2RJIOwI.js";import{m as L,W as Z,O as R,P as M,u as F,w as V,Y as X,Z as x,k as ee,t as z,q as te,H as oe,j as se}from"./vendor-element-plus-ZfFlETcH.js";import{d as $,C as c,G as l,T as t,E as G,K as p,ai as s,D as n,R as i,S as E,ag as C,J as y,M as I,Y as ne,Q as h,O as v}from"./vendor-vue-BhXato7y.js";import{_ as k,bK as le,bL as ae,bM as N,bN as K,bO as ie,au as q,bP as re,bQ as ce,bR as de,aN as ue,aJ as O}from"./index-CdkIaG4d.js";import{p as H}from"./pasteUploadMixin-BurWbGNQ.js";import{I as U,S as pe}from"./ScrollList-Dw45lO0t.js";import{I as J}from"./ImagePreview-SUR7TFTL.js";import{C as me}from"./Consumption-BCbR6ZEO.js";import{a as ge}from"./price-CwH8PfMf.js";import{C as fe}from"./CopyToClipboard-Djhvl2Fk.js";import{V as _e}from"./VideoPlayer-gXXZbisY.js";import{B as he}from"./BotPlaceholder-CInEMDBc.js";import{N as ve}from"./NoTasks-BYOtsKOE.js";import{l as $e}from"./pagination-DLJ2pbsx.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-CNlWJWvL.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";import"./vue-plyr-QZFBikSk.js";const ke=$({name:"LayoutKling",components:{ElDrawer:Z,ElButton:L,FontAwesomeIcon:T},data(){return{drawer:!1}}}),be={class:"main flex flex-row flex-1"},we={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ye={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function Ve(e,o,m,g,b,w){const r=s("font-awesome-icon"),d=s("el-button"),a=s("el-drawer");return n(),c("div",be,[l("div",we,[G(e.$slots,"config",{},void 0,!0)]),l("div",ye,[G(e.$slots,"result",{},void 0,!0)]),t(d,{circle:"",class:"menu",onClick:o[0]||(o[0]=_=>e.drawer=!0)},{default:p(()=>[t(r,{icon:"fa-solid fa-magic"})]),_:1}),t(a,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=_=>e.drawer=_),direction:"ltr","with-header":!1,size:"350px"},{default:p(()=>[G(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Se=k(ke,[["render",Ve],["__scopeId","data-v-56d28e4b"]]),Ee=$({name:"ModelSelector",components:{ElSelect:M,ElOption:R},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"kling-v3",label:"v3"},{value:"kling-v3-omni",label:"v3-Omni"},{value:"kling-v2-6",label:"v2.6"},{value:"kling-v2-5-turbo",label:"v2.5-Turbo"},{value:"kling-v2-1-master",label:"v2.1-Master"},{value:"kling-v2-master",label:"v2-Master"},{value:"kling-v1-6",label:"v1.6"},{value:"kling-v1",label:"v1"},{value:"kling-video-o1",label:"Video-o1"}]}},computed:{value:{get(){return this.$store.state.kling?.config?.model},set(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling.config,model:e})}}},mounted(){this.value||(this.value=le)}}),Ie={class:"field"},Te={class:"title font-bold"};function Le(e,o,m,g,b,w){const r=s("el-option"),d=s("el-select");return n(),c("div",Ie,[l("h2",Te,i(e.$t("pika.name.model")),1),t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=a=>e.value=a),class:"value",placeholder:e.$t("pika.placeholder.select")},{default:p(()=>[(n(!0),c(E,null,C(e.options,a=>(n(),y(r,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ce=k(Ee,[["render",Le],["__scopeId","data-v-a1b940c0"]]),Ue=$({name:"ModeSelector",components:{ElSelect:M,ElOption:R},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"std",label:this.$t("kling.name.modeStd")},{value:"pro",label:this.$t("kling.name.modePro")}]}},computed:{value:{get(){return this.$store.state.kling?.config?.mode},set(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling.config,mode:e})}}},mounted(){this.value||(this.value=ae)}}),Ae={class:"field"},Ge={class:"title font-bold"};function Re(e,o,m,g,b,w){const r=s("el-option"),d=s("el-select");return n(),c("div",Ae,[l("h2",Ge,i(e.$t("kling.name.mode")),1),t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=a=>e.value=a),class:"value",placeholder:e.$t("kling.placeholder.select"),clearable:!0},{default:p(()=>[(n(!0),c(E,null,C(e.options,a=>(n(),y(r,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Me=k(Ue,[["render",Re],["__scopeId","data-v-daa57765"]]),j=[{value:5,label:"5秒"},{value:10,label:"10秒"}],B=[{value:3,label:"3秒"},{value:5,label:"5秒"},{value:8,label:"8秒"},{value:10,label:"10秒"},{value:12,label:"12秒"},{value:15,label:"15秒"}],Pe=$({name:"DurationSelector",components:{ElSelect:M,ElOption:R},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],computed:{selectedModel(){return this.$store.state.kling?.config?.model||""},isV3Model(){return K.includes(this.selectedModel)},options(){return this.isV3Model?B:j},value:{get(){return this.$store.state.kling?.config?.duration},set(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling.config,duration:e})}}},watch:{isV3Model(e){const o=this.value,m=(e?B:j).map(g=>g.value);o!==void 0&&!m.includes(o)&&(this.value=N)}},mounted(){this.value||(this.value=N)}}),De={class:"field"},Ne={class:"title font-bold"};function Oe(e,o,m,g,b,w){const r=s("el-option"),d=s("el-select");return n(),c("div",De,[l("h2",Ne,i(e.$t("kling.name.duration")),1),t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=a=>e.value=a),class:"value",placeholder:e.$t("kling.placeholder.select")},{default:p(()=>[(n(!0),c(E,null,C(e.options,a=>(n(),y(r,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const je=k(Pe,[["render",Oe],["__scopeId","data-v-c4727eac"]]),Be=$({name:"RatioSelector",data(){return{options:[{value:"1:1",label:"1:1",width:20,height:20},{value:"16:9",label:"16:9",width:25,height:13},{value:"9:16",label:"9:16",width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state?.kling?.config?.aspect_ratio},set(e){console.debug("set ratio",e),this.$store.commit("kling/setConfig",{...this.$store.state?.kling?.config,aspect_ratio:e})}}},mounted(){this.value||(this.value=ie)}}),Fe={class:"text-sm font-bold mb-2 block"},ze={class:"items"},Ke=["onClick"],qe={class:"name"};function He(e,o,m,g,b,w){return n(),c("div",null,[l("span",Fe,i(e.$t("kling.name.ratio")),1),l("div",ze,[(n(!0),c(E,null,C(e.options,(r,d)=>(n(),c("div",{key:d,class:I({active:e.active===d,item:!0}),onClick:a=>e.value=r.value},[l("div",{class:I(["preview",r.label])},[l("div",{class:"rect",style:ne({width:r.width+"px",height:r.height+"px"})},null,4)],2),l("p",qe,i(r.label),1)],10,Ke))),128))])])}const Je=k(Be,[["render",He],["__scopeId","data-v-cdb14b2f"]]),Qe=$({name:"StartImage",components:{ElUpload:F,ElButton:L,InfoIcon:U,FontAwesomeIcon:T,ImagePreview:J},mixins:[H],emits:["change"],data(){return{fileList:[],uploadUrl:q()+"/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?.kling?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){V.warning(this.$t("kling.message.uploadReferencesExceed"))},onError(){V.error(this.$t("kling.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("kling/setConfig",{...this.$store.state?.kling?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Ye={class:"relative"},We={class:"flex justify-between"},Ze={class:"flex justify-start items-center"},Xe={class:"text-sm font-bold"};function xe(e,o,m,g,b,w){const r=s("info-icon"),d=s("image-preview"),a=s("font-awesome-icon"),_=s("el-button"),f=s("el-upload");return n(),c("div",Ye,[l("div",We,[l("div",Ze,[l("span",Xe,i(e.$t("kling.name.startImage")),1),t(r,{content:e.$t("kling.description.uploadStartImage")},null,8,["content"])])]),t(f,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=u=>e.fileList=u),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:p(({file:u})=>[u.url&&u.percentage!==void 0?(n(),y(d,{key:0,url:u.url,name:u.name,percentage:u.percentage,onRemove:S=>e.fileList.splice(e.fileList.indexOf(u),1)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:p(()=>[t(_,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:p(()=>[t(a,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+i(e.$t("kling.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const et=k(Qe,[["render",xe],["__scopeId","data-v-852a31cd"]]),tt=$({name:"EndImage",components:{ElUpload:F,ElButton:L,ImagePreview:J,InfoIcon:U,FontAwesomeIcon:T},mixins:[H],data(){return{fileList:[],uploadUrl:q()+"/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?.kling?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onExceed(){V.warning(this.$t("kling.message.uploadReferencesExceed"))},onError(){V.error(this.$t("kling.message.uploadReferencesError"))},onSetEndImageUrl(){const e=this.urls?.[0];this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),ot={class:"relative"},st={class:"flex justify-between"},nt={class:"flex justify-start items-center"},lt={class:"text-sm font-bold"};function at(e,o,m,g,b,w){const r=s("info-icon"),d=s("image-preview"),a=s("font-awesome-icon"),_=s("el-button"),f=s("el-upload");return n(),c("div",ot,[l("div",st,[l("div",nt,[l("span",lt,i(e.$t("kling.name.endImage")),1),t(r,{content:e.$t("kling.description.uploadEndImage")},null,8,["content"])])]),t(f,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=u=>e.fileList=u),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:p(({file:u})=>[u.url&&u.percentage!==void 0?(n(),y(d,{key:0,url:u.url,name:u.name,percentage:u.percentage,onRemove:S=>e.fileList.splice(e.fileList.indexOf(u),1)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:p(()=>[t(_,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:p(()=>[t(a,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+i(e.$t("kling.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const it=k(tt,[["render",at],["__scopeId","data-v-e23f5fb8"]]),rt=$({name:"CfgScaleSelector",components:{ElSlider:x,InfoIcon:U,ElInputNumber:X},computed:{value:{get(){return this.$store.state?.kling?.config?.cfg_scale},set(e){console.debug("set cfg_scale",e),this.$store.commit("kling/setConfig",{...this.$store.state?.kling?.config,cfg_scale:e})}}},mounted(){this.value||(this.value=re)}}),ct={class:"flex justify-between"},dt={class:"flex justify-start items-center"},ut={class:"text-sm font-bold"},pt={class:"flex justify-end items-center"},mt={class:"w-full"};function gt(e,o,m,g,b,w){const r=s("info-icon"),d=s("el-input-number"),a=s("el-slider");return n(),c("div",null,[l("div",ct,[l("div",dt,[l("span",ut,i(e.$t("kling.name.cfgScale")),1),t(r,{content:e.$t("kling.description.cfgScale")},null,8,["content"])]),l("div",pt,[t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=_=>e.value=_),"controls-position":"right"},null,8,["modelValue"])])]),l("div",mt,[t(a,{modelValue:e.value,"onUpdate:modelValue":o[1]||(o[1]=_=>e.value=_),min:0,max:1,step:.1},null,8,["modelValue"])])])}const ft=k(rt,[["render",gt]]),_t=$({name:"GenerateAudioSelector",components:{ElSwitch:ee},computed:{selectedModel(){return this.$store.state.kling?.config?.model||""},selectedMode(){return this.$store.state.kling?.config?.mode||""},visible(){return!!(K.includes(this.selectedModel)||this.selectedModel==="kling-v2-6"&&this.selectedMode==="pro")},value:{get(){return this.$store.state.kling?.config?.generate_audio??ce},set(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,generate_audio:e})}}},watch:{visible(e){!e&&this.value&&(this.value=!1)}}}),ht={key:0,class:"relative"},vt={class:"flex justify-between items-center"},$t={class:"text-sm font-bold"};function kt(e,o,m,g,b,w){const r=s("el-switch");return e.visible?(n(),c("div",ht,[l("div",vt,[l("span",$t,i(e.$t("kling.name.generateAudio")),1),t(r,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])):v("",!0)}const bt=k(_t,[["render",kt]]),wt="",yt=$({name:"PromptInput",components:{ElInput:z,InfoIcon:U},computed:{prompt:{get(){return this.$store.state.kling?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=wt)}}),Vt={class:"field"},St={class:"box"},Et={class:"title font-bold"};function It(e,o,m,g,b,w){const r=s("info-icon"),d=s("el-input");return n(),c("div",Vt,[l("div",St,[l("h2",Et,i(e.$t("kling.name.prompt")),1),t(r,{content:e.$t("kling.description.prompt"),class:"info"},null,8,["content"])]),t(d,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=a=>e.prompt=a),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("kling.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Tt=k(yt,[["render",It],["__scopeId","data-v-64ef5737"]]),Lt="",Ct=$({name:"NegativePromptInput",components:{ElInput:z,InfoIcon:U},computed:{prompt:{get(){return this.$store.state.kling?.config?.negative_prompt},set(e){console.debug("set prompt",e),this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,negative_prompt:e})}}},mounted(){this.prompt||(this.prompt=Lt)}}),Ut={class:"field"},At={class:"box"},Gt={class:"title font-bold"};function Rt(e,o,m,g,b,w){const r=s("info-icon"),d=s("el-input");return n(),c("div",Ut,[l("div",At,[l("h2",Gt,i(e.$t("kling.name.negativePrompt")),1),t(r,{content:e.$t("kling.description.negativePrompt"),class:"info"},null,8,["content"])]),t(d,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=a=>e.prompt=a),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("kling.placeholder.negativePrompt")},null,8,["modelValue","placeholder"])])}const Mt=k(Ct,[["render",Rt],["__scopeId","data-v-de98cf01"]]),Pt=$({name:"ConfigPanel",components:{ElButton:L,Consumption:me,FontAwesomeIcon:T,PromptInput:Tt,NegativePromptInput:Mt,ModelSelector:Ce,ModeSelector:Me,DurationSelector:je,RatioSelector:Je,StartImage:et,CfgScaleSelector:ft,GenerateAudioSelector:bt,EndImage:it},emits:["generate"],computed:{config(){return this.$store.state.kling?.config},consumption(){return ge(this.config,this.service?.cost)},service(){return this.$store.state.kling?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Dt={class:"flex flex-col h-full"},Nt={class:"flex-1 overflow-y-auto p-5"},Ot={class:"flex flex-col items-center justify-center px-5 pb-5"};function jt(e,o,m,g,b,w){const r=s("prompt-input"),d=s("model-selector"),a=s("ratio-selector"),_=s("start-image"),f=s("end-image"),u=s("duration-selector"),S=s("mode-selector"),A=s("generate-audio-selector"),Q=s("cfg-scale-selector"),Y=s("negative-prompt-input"),W=s("consumption"),P=s("font-awesome-icon"),D=s("el-button");return n(),c("div",Dt,[l("div",Nt,[t(r,{class:"mb-4"}),t(d,{class:"mb-4"}),t(a,{class:"mb-4"}),t(_,{class:"mb-2"}),t(f,{class:"mb-2"}),t(u,{class:"mb-4"}),t(S,{class:"mb-4"}),t(A,{class:"mb-4"}),t(Q,{class:"mb-4"}),t(Y,{class:"mb-4"})]),l("div",Ot,[t(W,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(n(),y(D,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[t(P,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+i(e.$t("kling.button.extend")),1)]),_:1},8,["onClick"])):(n(),y(D,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[t(P,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+i(e.$t("kling.button.generate")),1)]),_:1},8,["onClick"]))])])}const Bt=k(Pt,[["render",jt]]),Ft=$({name:"TaskPreview",components:{ElImage:se,CopyToClipboard:fe,FontAwesomeIcon:T,ElAlert:oe,VideoPlayer:_e,ElTooltip:te,ElButton:L},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.kling?.application},config(){return this.$store.state.kling?.config}},methods:{onDownload(e,o){e.stopPropagation(),console.log("on download"),window.open(o,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),zt={class:"preview"},Kt={class:"left"},qt={class:"main"},Ht={class:"bot"},Jt={class:"datetime"},Qt={class:"info"},Yt={key:0,class:"prompt mt-2"},Wt={key:0},Zt={key:1},Xt={key:0,class:I({content:!0,failed:!0})},xt={key:0,class:"mb-4"},eo={key:1,class:I({operations:!0,"mt-2":!0})},to={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},oo={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},so={key:1,class:I({content:!0})},no={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},lo={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ao={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},io={key:2,class:I({content:!0})},ro={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},co={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function uo(e,o,m,g,b,w){const r=s("el-image"),d=s("video-player"),a=s("el-button"),_=s("el-tooltip"),f=s("font-awesome-icon"),u=s("copy-to-clipboard"),S=s("el-alert");return n(),c("div",zt,[l("div",Kt,[t(r,{src:"https://cdn.acedata.cloud/qpbbbb.jpg",class:"avatar"})]),l("div",qt,[l("div",Ht,[h(i(e.$t("kling.name.klingBot"))+" ",1),l("span",Jt,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",Qt,[e.modelValue?.request?.prompt?(n(),c("p",Yt,[h(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?v("",!0):(n(),c("span",Wt," - ("+i(e.$t("kling.status.pending"))+") ",1)),e.modelValue?.response?.state==="submitted"||e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"||e.modelValue?.response?.state==="completed"?(n(),c("span",Zt," - ("+i(e.$t("kling.status.processing"))+") ",1)):v("",!0)])):v("",!0)]),e.modelValue?.response?.success===!0?(n(),c("div",Xt,[e.modelValue?.response.video_url?(n(),c("div",xt,[t(d,{src:e.modelValue?.response.video_url},null,8,["src"])])):v("",!0),e.modelValue?.response.success?(n(),c("div",eo,[t(_,{class:"box-item",effect:"dark",content:e.$t("kling.message.downloadVideo"),placement:"top-start"},{default:p(()=>[e.modelValue?.response.video_url?(n(),y(a,{key:0,type:"info",size:"small",class:"btn-action",onClick:o[0]||(o[0]=A=>e.onDownload(A,e.modelValue?.response.video_url))},{default:p(()=>[h(i(e.$t("kling.button.download")),1)]),_:1})):v("",!0)]),_:1},8,["content"])])):v("",!0),t(S,{closable:!1,class:"mt-2 success"},{default:p(()=>[l("p",to,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("kling.name.model"))+": "+i(e.modelValue?.request?.model),1)]),l("p",oo,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("kling.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(u,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):v("",!0),e.modelValue?.response?.success===!1?(n(),c("div",so,[t(S,{closable:!1,class:"failure"},{template:p(()=>[t(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("kling.name.failure")),1)]),default:p(()=>[l("p",no,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("kling.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(u,{content:e.modelValue?.id},null,8,["content"])]),l("p",lo,[t(f,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+i(e.$t("kling.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),t(u,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),c("p",ao,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("kling.name.traceId"))+": "+i(e.modelValue?.response?.trace_id)+" ",1),t(u,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):v("",!0)]),_:1})])):v("",!0),e.modelValue?.response?.success===void 0?(n(),c("div",io,[t(S,{closable:!1,class:"info"},{template:p(()=>[t(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("kling.name.failure")),1)]),default:p(()=>[l("p",ro,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("kling.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(u,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),c("p",co,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("kling.name.traceId"))+": "+i(e.modelValue?.response?.trace_id)+" ",1),t(u,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):v("",!0)]),_:1})])):v("",!0)])])}const po=k(Ft,[["render",uo],["__scopeId","data-v-43231066"]]),mo=$({name:"RecentPanel",components:{TaskPreview:po,NoTasks:ve,BotPlaceholder:he,ScrollList:pe},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.kling?.tasks,items:this.$store.state.kling?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),go={key:0},fo={key:2,class:"w-full h-full flex items-center justify-center"};function _o(e,o,m,g,b,w){const r=s("bot-placeholder"),d=s("task-preview"),a=s("scroll-list"),_=s("no-tasks");return n(),c(E,null,[e.tasks?.items===void 0?(n(),c("div",go,[t(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),y(a,{key:1,ref:"scrollList",class:"h-full w-full overflow-y-auto tasks",loading:e.loading,onReachTop:o[0]||(o[0]=f=>e.$emit("reach-top"))},{default:p(()=>[(n(!0),c(E,null,C(e.tasks?.items,f=>(n(),y(d,{key:f.id,"model-value":f},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(n(),c("div",fo,[t(_)])):v("",!0)],64)}const ho=k(mo,[["render",_o]]),vo="https://webhook.acedata.cloud/kling",$o=$({name:"KlingIndex",components:{ConfigPanel:Bt,Layout:Se,RecentPanel:ho},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.kling?.status?.getApplications===O.Request},tasksLoading(){return this.$store.state.kling?.status?.getTasks===O.Request||this.fetchingTasks},credential(){return this.$store.state.kling.credential},config(){return this.$store.state.kling.config},tasks(){return this.$store.state.kling.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=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await $e({tasks: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("kling/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("kling/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:g}=e||{};console.debug("limit",o,"createdAtMin",m,"createdAtMax",g),this.fetchingTasks=!0;try{await this.$store.dispatch("kling/getTasks",{limit:o,createdAtMin:m,createdAtMax:g})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:vo},o=this.credential?.token;if(!o){console.error("no token specified");return}V.info(this.$t("kling.message.startingTask")),de.generate(e,{token:o}).then(()=>{V.success(this.$t("kling.message.startTaskSuccess"))}).catch(m=>{m?.response?.data?.error?.code===ue?V.error(this.$t("kling.message.usedUp")):V.error(this.$t("kling.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ko(e,o,m,g,b,w){const r=s("config-panel"),d=s("recent-panel"),a=s("layout");return n(),y(a,null,{config:p(()=>[t(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:p(()=>[t(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const jo=k($o,[["render",ko]]);export{jo as default};
@@ -1 +1 @@
1
- import{F as R}from"./index.es-DMehEjXB.js";import{m as S,X as O,O as C,P as G,u as M,w as V,t as j,q as B,H as N,j as F}from"./vendor-element-plus-CmP9-3lX.js";import{d as v,C as i,G as r,T as t,E as U,K as d,ai as o,D as a,R as l,S as I,ag as E,J as $,Q as _,O as m,M as L,X as q}from"./vendor-vue-BhXato7y.js";import{_ as w,d3 as z,av as W,ap as K,d4 as H,aO as X,aK as D}from"./index-CtkD2JaX.js";import{p as J}from"./pasteUploadMixin-BurWbGNQ.js";import{I as P,S as Q}from"./ScrollList-OteSDitY.js";import{I as Y}from"./ImagePreview-B5F24-Vs.js";import{C as Z}from"./Consumption-DEB600BC.js";import{a as x}from"./price-lQeFOa8Q.js";import{C as ee}from"./CopyToClipboard-cTbsayFn.js";import{V as te}from"./VideoPlayer-DcumvLkR.js";import{B as oe}from"./BotPlaceholder-BV2w6Q4w.js";import{N as se}from"./NoTasks-ZsLHgPuo.js";import{l as ne}from"./pagination-DLJ2pbsx.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-C5RrfhAy.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";import"./vue-plyr-QZFBikSk.js";const ae=v({name:"LayoutWan",components:{ElDrawer:O,ElButton:S,FontAwesomeIcon:R},data(){return{drawer:!1}}}),le={class:"main flex flex-row flex-1"},re={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ie={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ce(e,s,f,h,b,k){const u=o("font-awesome-icon"),p=o("el-button"),n=o("el-drawer");return a(),i("div",le,[r("div",re,[U(e.$slots,"config",{},void 0,!0)]),r("div",ie,[U(e.$slots,"result",{},void 0,!0)]),t(p,{circle:"",class:"menu",onClick:s[0]||(s[0]=g=>e.drawer=!0)},{default:d(()=>[t(u,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":s[1]||(s[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"340px"},{default:d(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const de=w(ae,[["render",ce],["__scopeId","data-v-98681d9b"]]),ue=v({name:"ModelSelector",components:{ElSelect:G,ElOption:C},data(){return{}},computed:{options(){return[{value:"wan2.6-t2v",label:this.$t("wan.button.modelT2v")},{value:"wan2.6-i2v",label:this.$t("wan.button.modelI2v")},{value:"wan2.6-i2v-flash",label:this.$t("wan.button.modelI2vFlash")},{value:"wan2.6-r2v",label:this.$t("wan.button.modelR2v")}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||(this.value=z)}}),pe={class:"field"},me={class:"title font-bold"},fe={class:"float-left"};function he(e,s,f,h,b,k){const u=o("el-option"),p=o("el-select");return a(),i("div",pe,[r("h2",me,l(e.$t("wan.name.model")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=n=>e.value=n),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:d(()=>[(a(!0),i(I,null,E(e.options,n=>(a(),$(u,{key:n.value,label:n.label,value:n.value},{default:d(()=>[r("span",fe,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const _e=w(ue,[["render",he],["__scopeId","data-v-eb090beb"]]),ge="720p",$e=v({name:"ResolutionSelector",components:{ElSelect:G,ElOption:C},computed:{options(){return[{value:"480p",label:this.$t("wan.name.resolution480p")},{value:"720p",label:this.$t("wan.name.resolution720p")},{value:"1080p",label:this.$t("wan.name.resolution1080p")}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||(this.value=ge)}}),ve={class:"field"},we={class:"title font-bold"},be={class:"float-left"};function ke(e,s,f,h,b,k){const u=o("el-option"),p=o("el-select");return a(),i("div",ve,[r("h2",we,l(e.$t("wan.name.resolution")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=n=>e.value=n),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:d(()=>[(a(!0),i(I,null,E(e.options,n=>(a(),$(u,{key:n.value,label:n.label,value:n.value},{default:d(()=>[r("span",be,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const ye=w($e,[["render",ke],["__scopeId","data-v-3e39f44e"]]),Ve=5,Te=v({name:"DurationSelector",components:{ElSelect:G,ElOption:C},computed:{options(){return[{value:5,label:this.$t("wan.name.duration5s")},{value:10,label:this.$t("wan.name.duration10s")},{value:15,label:this.$t("wan.name.duration15s")}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||(this.value=Ve)}}),Ie={class:"field"},Se={class:"title font-bold"},Ee={class:"float-left"};function Le(e,s,f,h,b,k){const u=o("el-option"),p=o("el-select");return a(),i("div",Ie,[r("h2",Se,l(e.$t("wan.name.duration")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=n=>e.value=n),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:d(()=>[(a(!0),i(I,null,E(e.options,n=>(a(),$(u,{key:n.value,label:n.label,value:n.value},{default:d(()=>[r("span",Ee,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ue=w(Te,[["render",Le],["__scopeId","data-v-5f35a2cf"]]),Re=v({name:"ImageUrlInput",components:{ElUpload:M,ElButton:S,InfoIcon:P,ImagePreview:Y},mixins:[J],data(){return{fileList:[],uploadUrl:W()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetImageUrl()},methods:{onExceed(){V.warning(this.$t("wan.message.uploadImageExceed"))},onError(){V.error(this.$t("wan.message.uploadImageError"))},async onRemove(){V.error(this.$t("wan.message.uploadImageError"))},onSetImageUrl(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),Ce={class:"relative"},Ge={class:"flex justify-between"},Ae={class:"flex justify-start items-center"},De={class:"text-sm font-bold"};function Pe(e,s,f,h,b,k){const u=o("info-icon"),p=o("image-preview"),n=o("el-button"),g=o("el-upload");return a(),i("div",Ce,[r("div",Ge,[r("div",Ae,[r("span",De,l(e.$t("wan.name.imageUrl")),1),t(u,{content:e.$t("wan.description.imageUrl"),class:"info"},null,8,["content"])])]),t(g,{"file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=c=>e.fileList=c),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file","show-file-list":!0,limit:1,multiple:!1,"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:d(({file:c})=>[c.url&&c.percentage!==void 0?(a(),$(p,{key:0,url:c.url,name:c.name,percentage:c.percentage,onRemove:y=>e.fileList.splice(e.fileList.indexOf(c),1)},null,8,["url","name","percentage","onRemove"])):m("",!0)]),default:d(()=>[t(n,{size:"small",type:"primary",class:"btn btn-upload",round:""},{default:d(()=>[_(l(e.$t("wan.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])])}const Oe=w(Re,[["render",Pe],["__scopeId","data-v-c9ebe1b1"]]),Me="",je=v({name:"PromptInput",components:{ElInput:j,InfoIcon:P},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Me)}}),Be={class:"field"},Ne={class:"box"},Fe={class:"title font-bold"};function qe(e,s,f,h,b,k){const u=o("info-icon"),p=o("el-input");return a(),i("div",Be,[r("div",Ne,[r("h2",Fe,l(e.$t("wan.name.prompt")),1),t(u,{content:e.$t("wan.description.prompt"),class:"info"},null,8,["content"])]),t(p,{modelValue:e.prompt,"onUpdate:modelValue":s[0]||(s[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("wan.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const ze=w(je,[["render",qe],["__scopeId","data-v-45557a2d"]]),We=v({name:"PresetPanel",components:{ElButton:S,FontAwesomeIcon:R,PromptInput:ze,ImageUrlInput:Oe,ModelSelector:_e,ResolutionSelector:ye,DurationSelector:Ue,Consumption:Z},emits:["generate"],computed:{config(){return this.$store.state.wan?.config},consumption(){return x(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){const e=this.config?.model;return e==="wan2.6-t2v"||e==="wan2.6-i2v"||e==="wan2.6-i2v-flash"},supportsDuration(){return this.config?.model==="wan2.6-t2v"},supportsImageUrl(){const e=this.config?.model;return e==="wan2.6-i2v"||e==="wan2.6-i2v-flash"}},methods:{onGenerate(){this.$emit("generate")}}}),Ke={class:"flex flex-col h-full"},He={class:"flex-1 overflow-y-auto p-5"},Xe={class:"flex flex-col items-center justify-center px-5 pb-5"};function Je(e,s,f,h,b,k){const u=o("prompt-input"),p=o("model-selector"),n=o("resolution-selector"),g=o("duration-selector"),c=o("image-url-input"),y=o("consumption"),T=o("font-awesome-icon"),A=o("el-button");return a(),i("div",Ke,[r("div",He,[t(u,{class:"mb-4"}),t(p,{class:"mb-4"}),e.supportsResolution?(a(),$(n,{key:0,class:"mb-4"})):m("",!0),e.supportsDuration?(a(),$(g,{key:1,class:"mb-4"})):m("",!0),e.supportsImageUrl?(a(),$(c,{key:2,class:"mb-2"})):m("",!0)]),r("div",Xe,[t(y,{value:e.consumption,service:e.service},null,8,["value","service"]),t(A,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[t(T,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+l(e.$t("wan.button.generate")),1)]),_:1},8,["onClick"])])])}const Qe=w(We,[["render",Je]]),Ye=v({name:"TaskPreview",components:{ElImage:F,CopyToClipboard:ee,FontAwesomeIcon:R,ElAlert:N,VideoPlayer:te,ElTooltip:B,ElButton:S},props:{modelValue:{type:Object,required:!0}},setup(){return{WAN_LOGO:K}},computed:{application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{onDownload(e){console.debug("on download wan video",e),window.open(e,"_blank")}}}),Ze={class:"preview"},xe={class:"left"},et={class:"main"},tt={class:"bot"},ot={class:"datetime"},st={class:"info"},nt={key:0,class:"prompt mt-2"},at={key:0},lt={key:1},rt={key:0,class:L({content:!0,failed:!0})},it={key:0,class:"mb-4"},ct={key:1,class:L({operations:!0,"mt-2":!0})},dt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ut={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},pt={key:1,class:L({content:!0})},mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ft={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},_t={key:2,class:L({content:!0})},gt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function $t(e,s,f,h,b,k){const u=o("el-image"),p=o("video-player"),n=o("el-button"),g=o("el-tooltip"),c=o("font-awesome-icon"),y=o("copy-to-clipboard"),T=o("el-alert");return a(),i("div",Ze,[r("div",xe,[t(u,{src:e.WAN_LOGO,class:"avatar"},null,8,["src"])]),r("div",et,[r("div",tt,[_(l(e.$t("wan.name.wanBot"))+" ",1),r("span",ot,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",st,[e.modelValue?.request?.prompt?(a(),i("p",nt,[_(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?m("",!0):(a(),i("span",at," - ("+l(e.$t("wan.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"||e.modelValue?.response?.state==="running"?(a(),i("span",lt," - ("+l(e.$t("wan.status.processing"))+") ",1)):m("",!0)])):m("",!0)]),e.modelValue?.response?.success===!0?(a(),i("div",rt,[e.modelValue?.response?.video_url?(a(),i("div",it,[t(p,{src:e.modelValue?.response?.video_url},null,8,["src"])])):m("",!0),e.modelValue?.response?.video_url?(a(),i("div",ct,[t(g,{class:"box-item",effect:"dark",content:e.$t("wan.message.downloadVideo"),placement:"top-start"},{default:d(()=>[t(n,{type:"info",size:"small",class:"mb-2",onClick:s[0]||(s[0]=q(A=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:d(()=>[_(l(e.$t("wan.button.download")),1)]),_:1})]),_:1},8,["content"])])):m("",!0),t(T,{closable:!1,class:"mt-2 success"},{default:d(()=>[e.modelValue?.request?.model?(a(),i("p",dt,[t(c,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("wan.name.model"))+": "+l(e.modelValue?.request?.model)+" ",1),t(y,{content:e.modelValue?.id},null,8,["content"])])):m("",!0),r("p",ut,[t(c,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("wan.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(y,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):m("",!0),e.modelValue?.response?.success===!1?(a(),i("div",pt,[t(T,{closable:!1,class:"failure"},{template:d(()=>[t(c,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("wan.name.failure")),1)]),default:d(()=>[r("p",mt,[t(c,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("wan.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(y,{content:e.modelValue?.id},null,8,["content"])]),r("p",ft,[t(c,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+l(e.$t("wan.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),t(y,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),r("p",ht,[t(c,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("wan.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),t(y,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):m("",!0),e.modelValue?.response?.success===void 0?(a(),i("div",_t,[t(T,{closable:!1,class:"info"},{template:d(()=>[t(c,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("wan.name.failure")),1)]),default:d(()=>[r("p",gt,[t(c,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("wan.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(y,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):m("",!0)])])}const vt=w(Ye,[["render",$t],["__scopeId","data-v-5cbc37f1"]]),wt=v({name:"RecentPanel",components:{TaskPreview:vt,BotPlaceholder:oe,NoTasks:se,ScrollList:Q},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),bt={key:0},kt={key:2,class:"w-full h-full flex items-center justify-center"};function yt(e,s,f,h,b,k){const u=o("bot-placeholder"),p=o("task-preview"),n=o("scroll-list"),g=o("no-tasks");return a(),i(I,null,[e.tasks?.items===void 0?(a(),i("div",bt,[t(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),$(n,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:s[0]||(s[0]=c=>e.$emit("reach-top"))},{default:d(()=>[(a(!0),i(I,null,E(e.tasks?.items,c=>(a(),$(p,{key:c.id,"model-value":c},null,8,["model-value"]))),128))]),_:1},8,["loading"])):m("",!0),e.tasks?.items?.length===0?(a(),i("div",kt,[t(g)])):m("",!0)],64)}const Vt=w(wt,[["render",yt]]),Tt="https://webhook.acedata.cloud/wan",It=v({name:"WanIndex",components:{ConfigPanel:Qe,Layout:de,RecentPanel:Vt},inject:["initialized"],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===D.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===D.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.tasks}},watch:{tasks:{handler(e,s){e?.items?.length>s?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await 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("wan/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("wan/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:s=5,createdAtMin:f,createdAtMax:h}=e||{};console.debug("limit",s,"createdAtMin",f,"createdAtMax",h),this.fetchingTasks=!0;try{await this.$store.dispatch("wan/getTasks",{limit:s,createdAtMin:f,createdAtMax:h})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Tt},s=this.credential?.token;if(!s){console.error("no token specified");return}V.info(this.$t("wan.message.startingTask")),H.generate(e,{token:s}).then(()=>{V.success(this.$t("wan.message.startTaskSuccess"))}).catch(f=>{f?.response?.data?.error?.code===X?V.error(this.$t("wan.message.usedUp")):V.error(this.$t("wan.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function St(e,s,f,h,b,k){const u=o("config-panel"),p=o("recent-panel"),n=o("layout");return a(),$(n,null,{config:d(()=>[t(u,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:d(()=>[t(p,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Ht=w(It,[["render",St]]);export{Ht as default};
1
+ import{F as R}from"./index.es-D2RJIOwI.js";import{m as S,W as O,O as C,P as G,u as M,w as V,t as j,q as B,H as N,j as F}from"./vendor-element-plus-ZfFlETcH.js";import{d as w,C as i,G as r,T as t,E as U,K as d,ai as o,D as a,R as l,S as I,ag as E,J as $,Q as _,O as m,M as L,X as q}from"./vendor-vue-BhXato7y.js";import{_ as v,d2 as z,au as W,ao as H,d3 as J,aN as K,aJ as D}from"./index-CdkIaG4d.js";import{p as Q}from"./pasteUploadMixin-BurWbGNQ.js";import{I as P,S as X}from"./ScrollList-Dw45lO0t.js";import{I as Y}from"./ImagePreview-SUR7TFTL.js";import{C as Z}from"./Consumption-BCbR6ZEO.js";import{a as x}from"./price-CwH8PfMf.js";import{C as ee}from"./CopyToClipboard-Djhvl2Fk.js";import{V as te}from"./VideoPlayer-gXXZbisY.js";import{B as oe}from"./BotPlaceholder-CInEMDBc.js";import{N as se}from"./NoTasks-BYOtsKOE.js";import{l as ne}from"./pagination-DLJ2pbsx.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-CNlWJWvL.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";import"./vue-plyr-QZFBikSk.js";const ae=w({name:"LayoutWan",components:{ElDrawer:O,ElButton:S,FontAwesomeIcon:R},data(){return{drawer:!1}}}),le={class:"main flex flex-row flex-1"},re={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ie={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ce(e,s,f,h,b,k){const u=o("font-awesome-icon"),p=o("el-button"),n=o("el-drawer");return a(),i("div",le,[r("div",re,[U(e.$slots,"config",{},void 0,!0)]),r("div",ie,[U(e.$slots,"result",{},void 0,!0)]),t(p,{circle:"",class:"menu",onClick:s[0]||(s[0]=g=>e.drawer=!0)},{default:d(()=>[t(u,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":s[1]||(s[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"340px"},{default:d(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const de=v(ae,[["render",ce],["__scopeId","data-v-98681d9b"]]),ue=w({name:"ModelSelector",components:{ElSelect:G,ElOption:C},data(){return{}},computed:{options(){return[{value:"wan2.6-t2v",label:this.$t("wan.button.modelT2v")},{value:"wan2.6-i2v",label:this.$t("wan.button.modelI2v")},{value:"wan2.6-i2v-flash",label:this.$t("wan.button.modelI2vFlash")},{value:"wan2.6-r2v",label:this.$t("wan.button.modelR2v")}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||(this.value=z)}}),pe={class:"field"},me={class:"title font-bold"},fe={class:"float-left"};function he(e,s,f,h,b,k){const u=o("el-option"),p=o("el-select");return a(),i("div",pe,[r("h2",me,l(e.$t("wan.name.model")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=n=>e.value=n),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:d(()=>[(a(!0),i(I,null,E(e.options,n=>(a(),$(u,{key:n.value,label:n.label,value:n.value},{default:d(()=>[r("span",fe,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const _e=v(ue,[["render",he],["__scopeId","data-v-eb090beb"]]),ge="720p",$e=w({name:"ResolutionSelector",components:{ElSelect:G,ElOption:C},computed:{options(){return[{value:"480p",label:this.$t("wan.name.resolution480p")},{value:"720p",label:this.$t("wan.name.resolution720p")},{value:"1080p",label:this.$t("wan.name.resolution1080p")}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||(this.value=ge)}}),we={class:"field"},ve={class:"title font-bold"},be={class:"float-left"};function ke(e,s,f,h,b,k){const u=o("el-option"),p=o("el-select");return a(),i("div",we,[r("h2",ve,l(e.$t("wan.name.resolution")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=n=>e.value=n),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:d(()=>[(a(!0),i(I,null,E(e.options,n=>(a(),$(u,{key:n.value,label:n.label,value:n.value},{default:d(()=>[r("span",be,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const ye=v($e,[["render",ke],["__scopeId","data-v-3e39f44e"]]),Ve=5,Te=w({name:"DurationSelector",components:{ElSelect:G,ElOption:C},computed:{options(){return[{value:5,label:this.$t("wan.name.duration5s")},{value:10,label:this.$t("wan.name.duration10s")},{value:15,label:this.$t("wan.name.duration15s")}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||(this.value=Ve)}}),Ie={class:"field"},Se={class:"title font-bold"},Ee={class:"float-left"};function Le(e,s,f,h,b,k){const u=o("el-option"),p=o("el-select");return a(),i("div",Ie,[r("h2",Se,l(e.$t("wan.name.duration")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=n=>e.value=n),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:d(()=>[(a(!0),i(I,null,E(e.options,n=>(a(),$(u,{key:n.value,label:n.label,value:n.value},{default:d(()=>[r("span",Ee,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ue=v(Te,[["render",Le],["__scopeId","data-v-5f35a2cf"]]),Re=w({name:"ImageUrlInput",components:{ElUpload:M,ElButton:S,InfoIcon:P,ImagePreview:Y},mixins:[Q],data(){return{fileList:[],uploadUrl:W()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetImageUrl()},methods:{onExceed(){V.warning(this.$t("wan.message.uploadImageExceed"))},onError(){V.error(this.$t("wan.message.uploadImageError"))},async onRemove(){V.error(this.$t("wan.message.uploadImageError"))},onSetImageUrl(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),Ce={class:"relative"},Ge={class:"flex justify-between"},Ae={class:"flex justify-start items-center"},De={class:"text-sm font-bold"};function Pe(e,s,f,h,b,k){const u=o("info-icon"),p=o("image-preview"),n=o("el-button"),g=o("el-upload");return a(),i("div",Ce,[r("div",Ge,[r("div",Ae,[r("span",De,l(e.$t("wan.name.imageUrl")),1),t(u,{content:e.$t("wan.description.imageUrl"),class:"info"},null,8,["content"])])]),t(g,{"file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=c=>e.fileList=c),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file","show-file-list":!0,limit:1,multiple:!1,"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:d(({file:c})=>[c.url&&c.percentage!==void 0?(a(),$(p,{key:0,url:c.url,name:c.name,percentage:c.percentage,onRemove:y=>e.fileList.splice(e.fileList.indexOf(c),1)},null,8,["url","name","percentage","onRemove"])):m("",!0)]),default:d(()=>[t(n,{size:"small",type:"primary",class:"btn btn-upload",round:""},{default:d(()=>[_(l(e.$t("wan.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])])}const Oe=v(Re,[["render",Pe],["__scopeId","data-v-c9ebe1b1"]]),Me="",je=w({name:"PromptInput",components:{ElInput:j,InfoIcon:P},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Me)}}),Be={class:"field"},Ne={class:"box"},Fe={class:"title font-bold"};function qe(e,s,f,h,b,k){const u=o("info-icon"),p=o("el-input");return a(),i("div",Be,[r("div",Ne,[r("h2",Fe,l(e.$t("wan.name.prompt")),1),t(u,{content:e.$t("wan.description.prompt"),class:"info"},null,8,["content"])]),t(p,{modelValue:e.prompt,"onUpdate:modelValue":s[0]||(s[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("wan.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const ze=v(je,[["render",qe],["__scopeId","data-v-45557a2d"]]),We=w({name:"PresetPanel",components:{ElButton:S,FontAwesomeIcon:R,PromptInput:ze,ImageUrlInput:Oe,ModelSelector:_e,ResolutionSelector:ye,DurationSelector:Ue,Consumption:Z},emits:["generate"],computed:{config(){return this.$store.state.wan?.config},consumption(){return x(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){const e=this.config?.model;return e==="wan2.6-t2v"||e==="wan2.6-i2v"||e==="wan2.6-i2v-flash"},supportsDuration(){return this.config?.model==="wan2.6-t2v"},supportsImageUrl(){const e=this.config?.model;return e==="wan2.6-i2v"||e==="wan2.6-i2v-flash"}},methods:{onGenerate(){this.$emit("generate")}}}),He={class:"flex flex-col h-full"},Je={class:"flex-1 overflow-y-auto p-5"},Ke={class:"flex flex-col items-center justify-center px-5 pb-5"};function Qe(e,s,f,h,b,k){const u=o("prompt-input"),p=o("model-selector"),n=o("resolution-selector"),g=o("duration-selector"),c=o("image-url-input"),y=o("consumption"),T=o("font-awesome-icon"),A=o("el-button");return a(),i("div",He,[r("div",Je,[t(u,{class:"mb-4"}),t(p,{class:"mb-4"}),e.supportsResolution?(a(),$(n,{key:0,class:"mb-4"})):m("",!0),e.supportsDuration?(a(),$(g,{key:1,class:"mb-4"})):m("",!0),e.supportsImageUrl?(a(),$(c,{key:2,class:"mb-2"})):m("",!0)]),r("div",Ke,[t(y,{value:e.consumption,service:e.service},null,8,["value","service"]),t(A,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[t(T,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+l(e.$t("wan.button.generate")),1)]),_:1},8,["onClick"])])])}const Xe=v(We,[["render",Qe]]),Ye=w({name:"TaskPreview",components:{ElImage:F,CopyToClipboard:ee,FontAwesomeIcon:R,ElAlert:N,VideoPlayer:te,ElTooltip:B,ElButton:S},props:{modelValue:{type:Object,required:!0}},setup(){return{WAN_LOGO:H}},computed:{application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{onDownload(e){console.debug("on download wan video",e),window.open(e,"_blank")}}}),Ze={class:"preview"},xe={class:"left"},et={class:"main"},tt={class:"bot"},ot={class:"datetime"},st={class:"info"},nt={key:0,class:"prompt mt-2"},at={key:0},lt={key:1},rt={key:0,class:L({content:!0,failed:!0})},it={key:0,class:"mb-4"},ct={key:1,class:L({operations:!0,"mt-2":!0})},dt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ut={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},pt={key:1,class:L({content:!0})},mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ft={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},_t={key:2,class:L({content:!0})},gt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function $t(e,s,f,h,b,k){const u=o("el-image"),p=o("video-player"),n=o("el-button"),g=o("el-tooltip"),c=o("font-awesome-icon"),y=o("copy-to-clipboard"),T=o("el-alert");return a(),i("div",Ze,[r("div",xe,[t(u,{src:e.WAN_LOGO,class:"avatar"},null,8,["src"])]),r("div",et,[r("div",tt,[_(l(e.$t("wan.name.wanBot"))+" ",1),r("span",ot,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",st,[e.modelValue?.request?.prompt?(a(),i("p",nt,[_(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?m("",!0):(a(),i("span",at," - ("+l(e.$t("wan.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"||e.modelValue?.response?.state==="running"?(a(),i("span",lt," - ("+l(e.$t("wan.status.processing"))+") ",1)):m("",!0)])):m("",!0)]),e.modelValue?.response?.success===!0?(a(),i("div",rt,[e.modelValue?.response?.video_url?(a(),i("div",it,[t(p,{src:e.modelValue?.response?.video_url},null,8,["src"])])):m("",!0),e.modelValue?.response?.video_url?(a(),i("div",ct,[t(g,{class:"box-item",effect:"dark",content:e.$t("wan.message.downloadVideo"),placement:"top-start"},{default:d(()=>[t(n,{type:"info",size:"small",class:"mb-2",onClick:s[0]||(s[0]=q(A=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:d(()=>[_(l(e.$t("wan.button.download")),1)]),_:1})]),_:1},8,["content"])])):m("",!0),t(T,{closable:!1,class:"mt-2 success"},{default:d(()=>[e.modelValue?.request?.model?(a(),i("p",dt,[t(c,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("wan.name.model"))+": "+l(e.modelValue?.request?.model)+" ",1),t(y,{content:e.modelValue?.id},null,8,["content"])])):m("",!0),r("p",ut,[t(c,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("wan.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(y,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):m("",!0),e.modelValue?.response?.success===!1?(a(),i("div",pt,[t(T,{closable:!1,class:"failure"},{template:d(()=>[t(c,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("wan.name.failure")),1)]),default:d(()=>[r("p",mt,[t(c,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("wan.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(y,{content:e.modelValue?.id},null,8,["content"])]),r("p",ft,[t(c,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+l(e.$t("wan.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),t(y,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),r("p",ht,[t(c,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("wan.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),t(y,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):m("",!0),e.modelValue?.response?.success===void 0?(a(),i("div",_t,[t(T,{closable:!1,class:"info"},{template:d(()=>[t(c,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("wan.name.failure")),1)]),default:d(()=>[r("p",gt,[t(c,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("wan.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(y,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):m("",!0)])])}const wt=v(Ye,[["render",$t],["__scopeId","data-v-5cbc37f1"]]),vt=w({name:"RecentPanel",components:{TaskPreview:wt,BotPlaceholder:oe,NoTasks:se,ScrollList:X},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),bt={key:0},kt={key:2,class:"w-full h-full flex items-center justify-center"};function yt(e,s,f,h,b,k){const u=o("bot-placeholder"),p=o("task-preview"),n=o("scroll-list"),g=o("no-tasks");return a(),i(I,null,[e.tasks?.items===void 0?(a(),i("div",bt,[t(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),$(n,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:s[0]||(s[0]=c=>e.$emit("reach-top"))},{default:d(()=>[(a(!0),i(I,null,E(e.tasks?.items,c=>(a(),$(p,{key:c.id,"model-value":c},null,8,["model-value"]))),128))]),_:1},8,["loading"])):m("",!0),e.tasks?.items?.length===0?(a(),i("div",kt,[t(g)])):m("",!0)],64)}const Vt=v(vt,[["render",yt]]),Tt="https://webhook.acedata.cloud/wan",It=w({name:"WanIndex",components:{ConfigPanel:Xe,Layout:de,RecentPanel:Vt},inject:["initialized"],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===D.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===D.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.tasks}},watch:{tasks:{handler(e,s){e?.items?.length>s?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await 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("wan/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("wan/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:s=5,createdAtMin:f,createdAtMax:h}=e||{};console.debug("limit",s,"createdAtMin",f,"createdAtMax",h),this.fetchingTasks=!0;try{await this.$store.dispatch("wan/getTasks",{limit:s,createdAtMin:f,createdAtMax:h})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Tt},s=this.credential?.token;if(!s){console.error("no token specified");return}V.info(this.$t("wan.message.startingTask")),J.generate(e,{token:s}).then(()=>{V.success(this.$t("wan.message.startTaskSuccess"))}).catch(f=>{f?.response?.data?.error?.code===K?V.error(this.$t("wan.message.usedUp")):V.error(this.$t("wan.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function St(e,s,f,h,b,k){const u=o("config-panel"),p=o("recent-panel"),n=o("layout");return a(),$(n,null,{config:d(()=>[t(u,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:d(()=>[t(p,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Jt=v(It,[["render",St]]);export{Jt as default};
@@ -1 +1 @@
1
- import{F as L}from"./index.es-DMehEjXB.js";import{m as R,X as q,O as I,P as C,_ as B,$ as F,u as z,w as x,t as N,q as X,H as Q,j as Y}from"./vendor-element-plus-CmP9-3lX.js";import{d as _,C as r,G as l,T as o,E as P,K as d,ai as s,D as a,R as c,S as V,ag as S,J as w,M as T,Y as H,Q as k,O as y}from"./vendor-vue-BhXato7y.js";import{_ as h,c6 as K,c7 as J,c8 as W,c9 as Z,ca as ee,cb as te,av as se,cc as oe,aO as ne,aK as D}from"./index-CtkD2JaX.js";import{I as A,S as ae}from"./ScrollList-OteSDitY.js";import{p as le}from"./pasteUploadMixin-BurWbGNQ.js";import{I as ie}from"./ImagePreview-B5F24-Vs.js";import{C as re}from"./Consumption-DEB600BC.js";import{a as ce}from"./price-lQeFOa8Q.js";import{C as pe}from"./CopyToClipboard-cTbsayFn.js";import{V as de}from"./VideoPlayer-DcumvLkR.js";import{B as ue}from"./BotPlaceholder-BV2w6Q4w.js";import{N as me}from"./NoTasks-ZsLHgPuo.js";import{l as ve}from"./pagination-DLJ2pbsx.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-C5RrfhAy.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";import"./vue-plyr-QZFBikSk.js";const fe=_({name:"LayoutPixverse",components:{ElDrawer:q,ElButton:R,FontAwesomeIcon:L},data(){return{drawer:!1}}}),_e={class:"main flex flex-row flex-1"},he={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},$e={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ge(e,t,u,m,$,g){const i=s("font-awesome-icon"),p=s("el-button"),n=s("el-drawer");return a(),r("div",_e,[l("div",he,[P(e.$slots,"config",{},void 0,!0)]),l("div",$e,[P(e.$slots,"result",{},void 0,!0)]),o(p,{circle:"",class:"menu",onClick:t[0]||(t[0]=f=>e.drawer=!0)},{default:d(()=>[o(i,{icon:"fa-solid fa-magic"})]),_:1}),o(n,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=f=>e.drawer=f),direction:"ltr","with-header":!1,size:"350px"},{default:d(()=>[P(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const be=h(fe,[["render",ge],["__scopeId","data-v-30cb83f9"]]),ye=_({name:"ModelSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"v3.5",label:"v3.5"},{value:"v4",label:"v4"},{value:"v4.5",label:"v4.5"}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.model},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,model:e})}}},mounted(){this.value||(this.value=K)}}),ke={class:"field"},we={class:"title font-bold"};function Ve(e,t,u,m,$,g){const i=s("el-option"),p=s("el-select");return a(),r("div",ke,[l("h2",we,c(e.$t("pixverse.name.model")),1),o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(a(!0),r(V,null,S(e.options,n=>(a(),w(i,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Se=h(ye,[["render",Ve],["__scopeId","data-v-e8f337ca"]]),xe=_({name:"QualitySelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"360p",label:"360p"},{value:"540p",label:"540p"},{value:"720p",label:"720p"},{value:"1080p",label:"1080p"}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.quality},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,quality:e})}}},mounted(){this.value||(this.value=J)}}),Ee={class:"field"},Te={class:"title font-bold"};function Ie(e,t,u,m,$,g){const i=s("el-option"),p=s("el-select");return a(),r("div",Ee,[l("h2",Te,c(e.$t("pixverse.name.quality")),1),o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(a(!0),r(V,null,S(e.options,n=>(a(),w(i,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ce=h(xe,[["render",Ie],["__scopeId","data-v-64aeaae9"]]),Le=_({name:"MotionSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"normal",label:this.$t("pixverse.name.motion1")},{value:"fast",label:this.$t("pixverse.name.motion2")}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.motion},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,motion:e})}}},mounted(){this.value||(this.value=W)}}),Re={class:"field"},Ue={class:"title font-bold"};function Pe(e,t,u,m,$,g){const i=s("el-option"),p=s("el-select");return a(),r("div",Re,[l("h2",Ue,c(e.$t("pixverse.name.motion")),1),o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(a(!0),r(V,null,S(e.options,n=>(a(),w(i,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ae=h(Le,[["render",Pe],["__scopeId","data-v-94237408"]]),De=_({name:"StyleSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"cyberpunk",label:this.$t("pixverse.name.style1")},{value:"anime",label:this.$t("pixverse.name.style2")},{value:"comic",label:this.$t("pixverse.name.style3")},{value:"clay",label:this.$t("pixverse.name.style4")},{value:"3d_animation",label:this.$t("pixverse.name.style5")},{value:"realistic",label:this.$t("pixverse.name.style6")}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.style},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,style:e})}}},mounted(){this.value||(this.value=Z)}}),Ge={class:"field"},je={class:"title font-bold"};function Me(e,t,u,m,$,g){const i=s("el-option"),p=s("el-select");return a(),r("div",Ge,[l("h2",je,c(e.$t("pixverse.name.style")),1),o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(a(!0),r(V,null,S(e.options,n=>(a(),w(i,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Oe=h(De,[["render",Me],["__scopeId","data-v-64e17b3c"]]),qe=_({name:"SeedSelector",components:{ElSlider:F,InfoIcon:A,ElInputNumber:B},computed:{value:{get(){return this.$store.state?.pixverse?.config?.seed},set(e){console.debug("set seed",e),this.$store.commit("pixverse/setConfig",{...this.$store.state?.pixverse?.config,seed:e})}}},mounted(){this.value||(this.value=void 0)}}),Be={class:"flex justify-between"},Fe={class:"flex justify-start items-center"},ze={class:"text-sm font-bold"},Ne={class:"flex justify-end items-center"},Xe={class:"w-full"};function Qe(e,t,u,m,$,g){const i=s("info-icon"),p=s("el-input-number"),n=s("el-slider");return a(),r("div",null,[l("div",Be,[l("div",Fe,[l("span",ze,c(e.$t("pixverse.name.seed")),1),o(i,{content:e.$t("pixverse.description.seed")},null,8,["content"])]),l("div",Ne,[o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=f=>e.value=f),"controls-position":"right"},null,8,["modelValue"])])]),l("div",Xe,[o(n,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=f=>e.value=f),min:0,max:1e3,step:1},null,8,["modelValue"])])])}const Ye=h(qe,[["render",Qe]]),He=_({name:"DurationSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:5,label:"5s"},{value:8,label:"8s"}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.duration},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,duration:e})}}},mounted(){this.value||(this.value=ee)}}),Ke={class:"field"},Je={class:"title font-bold"};function We(e,t,u,m,$,g){const i=s("el-option"),p=s("el-select");return a(),r("div",Ke,[l("h2",Je,c(e.$t("pixverse.name.duration")),1),o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(a(!0),r(V,null,S(e.options,n=>(a(),w(i,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ze=h(He,[["render",We],["__scopeId","data-v-065c77ef"]]),et=_({name:"RatioSelector",data(){return{options:[{value:"1:1",label:"1:1",width:20,height:20},{value:"4:3",label:"4:3",width:20,height:15},{value:"3:4",label:"3:4",width:15,height:20},{value:"16:9",label:"16:9",width:25,height:13},{value:"9:16",label:"9:16",width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.pixverse.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e),this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,aspect_ratio:e})}}},mounted(){this.value||(this.value=te)}}),tt={class:"text-sm font-bold mb-2 block"},st={class:"items"},ot=["onClick"],nt={class:"name"};function at(e,t,u,m,$,g){return a(),r("div",null,[l("span",tt,c(e.$t("pixverse.name.aspectRatio")),1),l("div",st,[(a(!0),r(V,null,S(e.options,(i,p)=>(a(),r("div",{key:p,class:T({active:e.active===p,item:!0}),onClick:n=>e.value=i.value},[l("div",{class:T(["preview",i.label])},[l("div",{class:"rect",style:H({width:i.width+"px",height:i.height+"px"})},null,4)],2),l("p",nt,c(i.label),1)],10,ot))),128))])])}const lt=h(et,[["render",at],["__scopeId","data-v-53038264"]]),it=_({name:"StartImage",components:{ElUpload:z,ElButton:R,InfoIcon:A,FontAwesomeIcon:L,ImagePreview:ie},mixins:[le],emits:["change"],data(){return{fileList:[],uploadUrl:se()+"/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?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){x.warning(this.$t("pixverse.message.uploadReferencesExceed"))},onError(){x.error(this.$t("pixverse.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("pixverse/setConfig",{...this.$store.state?.pixverse?.config,image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),rt={class:"relative"},ct={class:"flex justify-between"},pt={class:"flex justify-start items-center"},dt={class:"text-sm font-bold"};function ut(e,t,u,m,$,g){const i=s("info-icon"),p=s("image-preview"),n=s("font-awesome-icon"),f=s("el-button"),b=s("el-upload");return a(),r("div",rt,[l("div",ct,[l("div",pt,[l("span",dt,c(e.$t("pixverse.name.startImage")),1),o(i,{content:e.$t("pixverse.description.uploadStartImage")},null,8,["content"])])]),o(b,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=v=>e.fileList=v),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:d(({file:v})=>[v.url&&v.percentage!==void 0?(a(),w(p,{key:0,url:v.url,name:v.name,percentage:v.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(v),1)},null,8,["url","name","percentage","onRemove"])):y("",!0)]),default:d(()=>[o(f,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:d(()=>[o(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),k(" "+c(e.$t("pixverse.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const mt=h(it,[["render",ut],["__scopeId","data-v-bc133fd2"]]),vt="",ft=_({name:"PromptInput",components:{ElInput:N,InfoIcon:A},computed:{prompt:{get(){return this.$store.state.pixverse?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=vt)}}),_t={class:"field"},ht={class:"box"},$t={class:"title font-bold"};function gt(e,t,u,m,$,g){const i=s("info-icon"),p=s("el-input");return a(),r("div",_t,[l("div",ht,[l("h2",$t,c(e.$t("pixverse.name.prompt")),1),o(i,{content:e.$t("pixverse.description.prompt"),class:"info"},null,8,["content"])]),o(p,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("pixverse.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const bt=h(ft,[["render",gt],["__scopeId","data-v-2f675ca4"]]),yt=_({name:"ConfigPanel",components:{ElButton:R,FontAwesomeIcon:L,PromptInput:bt,ModelSelector:Se,QualitySelector:Ce,MotionSelector:Ae,StyleSelector:Oe,DurationSelector:Ze,StartImage:mt,SeedSelector:Ye,RatioSelector:lt,Consumption:re},emits:["generate"],computed:{config(){return this.$store.state.pixverse?.config},consumption(){return ce(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service}},methods:{onGenerate(){this.$emit("generate")}}}),kt={class:"flex flex-col h-full"},wt={class:"flex-1 overflow-y-auto p-5"},Vt={class:"flex flex-col items-center justify-center px-5 pb-5"};function St(e,t,u,m,$,g){const i=s("prompt-input"),p=s("model-selector"),n=s("style-selector"),f=s("ratio-selector"),b=s("motion-selector"),v=s("quality-selector"),E=s("start-image"),U=s("seed-selector"),G=s("duration-selector"),j=s("consumption"),M=s("font-awesome-icon"),O=s("el-button");return a(),r("div",kt,[l("div",wt,[o(i,{class:"mb-4"}),o(p,{class:"mb-4"}),o(n,{class:"mb-4"}),o(f,{class:"mb-4"}),o(b,{class:"mb-4"}),o(v,{class:"mb-4"}),o(E,{class:"mb-2"}),o(U,{class:"mb-4"}),o(G,{class:"mb-4"})]),l("div",Vt,[o(j,{value:e.consumption,service:e.service},null,8,["value","service"]),o(O,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[o(M,{icon:"fa-solid fa-magic",class:"mr-2"}),k(" "+c(e.$t("pixverse.button.generate")),1)]),_:1},8,["onClick"])])])}const xt=h(yt,[["render",St]]),Et=_({name:"TaskPreview",components:{ElImage:Y,CopyToClipboard:pe,FontAwesomeIcon:L,ElAlert:Q,VideoPlayer:de,ElTooltip:X,ElButton:R},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pixverse?.application},config(){return this.$store.state.pixverse?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),Tt={class:"preview"},It={class:"left"},Ct={class:"main"},Lt={class:"bot"},Rt={class:"datetime"},Ut={class:"info"},Pt={key:0,class:"prompt mt-2"},At={key:0},Dt={key:1},Gt={key:0,class:T({content:!0,failed:!0})},jt={key:0,class:"mb-4"},Mt={key:1,class:T({operations:!0,"mt-2":!0})},Ot={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Bt={key:1,class:T({content:!0})},Ft={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Xt(e,t,u,m,$,g){const i=s("el-image"),p=s("video-player"),n=s("el-button"),f=s("el-tooltip"),b=s("font-awesome-icon"),v=s("copy-to-clipboard"),E=s("el-alert");return a(),r("div",Tt,[l("div",It,[o(i,{src:"https://cdn.acedata.cloud/viy61r.jpg",class:"avatar"})]),l("div",Ct,[l("div",Lt,[k(c(e.$t("pixverse.name.pixverseBot"))+" ",1),l("span",Rt,c(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",Ut,[e.modelValue?.request?.prompt?(a(),r("p",Pt,[k(c(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?y("",!0):(a(),r("span",At," - ("+c(e.$t("pixverse.status.pending"))+") ",1)),e.modelValue?.response?.data&&(e.modelValue?.response?.data[0]?.state==="processing"||e.modelValue?.response?.data[0]?.state==="pending")?(a(),r("span",Dt," - ("+c(e.$t("pixverse.status.processing"))+") ",1)):y("",!0)])):y("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(a(),r("div",Gt,[e.modelValue?.response?.data[0]?.video_url?(a(),r("div",jt,[o(p,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):y("",!0),e.modelValue?.response.success?(a(),r("div",Mt,[o(f,{class:"box-item",effect:"dark",content:e.$t("pixverse.message.downloadVideo"),placement:"top-start"},{default:d(()=>[e.modelValue?.response?.data[0]?.video_url?(a(),w(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=U=>e.onDownload(U,e.modelValue?.response?.data[0]?.video_url))},{default:d(()=>[k(c(e.$t("pixverse.button.download")),1)]),_:1})):y("",!0)]),_:1},8,["content"])])):y("",!0),o(E,{closable:!1,class:"mt-2 success"},{default:d(()=>[l("p",Ot,[o(b,{icon:"fa-solid fa-hashtag",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.model"))+": "+c(e.modelValue?.request?.model),1)]),l("p",qt,[o(b,{icon:"fa-solid fa-magic",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.taskId"))+": "+c(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):y("",!0),e.modelValue?.response?.success===!1?(a(),r("div",Bt,[o(E,{closable:!1,class:"info"},{template:d(()=>[o(b,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.failure")),1)]),default:d(()=>[l("p",Ft,[o(b,{icon:"fa-solid fa-circle-info",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.failureReason"))+": "+c(e.modelValue?.response?.error?.message)+" ",1),o(v,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),l("p",zt,[o(b,{icon:"fa-solid fa-magic",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.taskId"))+": "+c(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),r("p",Nt,[o(b,{icon:"fa-solid fa-hashtag",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.traceId"))+": "+c(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):y("",!0)]),_:1})])):y("",!0)])])}const Qt=h(Et,[["render",Xt],["__scopeId","data-v-9da65937"]]),Yt=_({name:"RecentPanel",components:{TaskPreview:Qt,NoTasks:me,BotPlaceholder:ue,ScrollList:ae},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pixverse?.tasks,items:this.$store.state.pixverse?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ht={key:0},Kt={key:2,class:"w-full h-full flex items-center justify-center"};function Jt(e,t,u,m,$,g){const i=s("bot-placeholder"),p=s("task-preview"),n=s("scroll-list"),f=s("no-tasks");return a(),r(V,null,[e.tasks?.items===void 0?(a(),r("div",Ht,[o(i)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(n,{key:1,ref:"scrollList",class:"h-full w-full overflow-y-auto tasks",loading:e.loading,onReachTop:t[0]||(t[0]=b=>e.$emit("reach-top"))},{default:d(()=>[(a(!0),r(V,null,S(e.tasks?.items,(b,v)=>(a(),w(p,{key:v,"model-value":b},null,8,["model-value"]))),128))]),_:1},8,["loading"])):y("",!0),e.tasks?.items?.length===0?(a(),r("div",Kt,[o(f)])):y("",!0)],64)}const Wt=h(Yt,[["render",Jt]]),Zt="https://webhook.acedata.cloud/pixverse",es=_({name:"PixverseIndex",components:{ConfigPanel:xt,Layout:be,RecentPanel:Wt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===D.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===D.Request||this.fetchingTasks},credential(){return this.$store.state.pixverse.credential},config(){return this.$store.state.pixverse.config},tasks(){return this.$store.state.pixverse.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=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ve({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("pixverse/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("pixverse/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:u,createdAtMax:m}=e||{};console.debug("limit",t,"createdAtMin",u,"createdAtMax",m),this.fetchingTasks=!0;try{await this.$store.dispatch("pixverse/getTasks",{limit:t,createdAtMin:u,createdAtMax:m})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Zt},t=this.credential?.token;if(!t){console.error("no token specified");return}x.info(this.$t("pixverse.message.startingTask")),oe.generate(e,{token:t}).then(()=>{x.success(this.$t("pixverse.message.startTaskSuccess"))}).catch(u=>{u?.response?.data?.error?.code===ne?x.error(this.$t("pixverse.message.usedUp")):x.error(this.$t("pixverse.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ts(e,t,u,m,$,g){const i=s("config-panel"),p=s("recent-panel"),n=s("layout");return a(),w(n,null,{config:d(()=>[o(i,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:d(()=>[o(p,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const ys=h(es,[["render",ts]]);export{ys as default};
1
+ import{F as L}from"./index.es-D2RJIOwI.js";import{m as R,W as q,O as I,P as C,Y as B,Z as F,u as N,w as x,t as z,q as X,H as Q,j as Y}from"./vendor-element-plus-ZfFlETcH.js";import{d as _,C as r,G as l,T as o,E as P,K as d,ai as s,D as a,R as c,S as V,ag as S,J as w,M as T,Y as H,Q as k,O as y}from"./vendor-vue-BhXato7y.js";import{_ as h,c5 as J,c6 as K,c7 as W,c8 as Z,c9 as ee,ca as te,au as se,cb as oe,aN as ne,aJ as D}from"./index-CdkIaG4d.js";import{I as A,S as ae}from"./ScrollList-Dw45lO0t.js";import{p as le}from"./pasteUploadMixin-BurWbGNQ.js";import{I as ie}from"./ImagePreview-SUR7TFTL.js";import{C as re}from"./Consumption-BCbR6ZEO.js";import{a as ce}from"./price-CwH8PfMf.js";import{C as pe}from"./CopyToClipboard-Djhvl2Fk.js";import{V as de}from"./VideoPlayer-gXXZbisY.js";import{B as ue}from"./BotPlaceholder-CInEMDBc.js";import{N as me}from"./NoTasks-BYOtsKOE.js";import{l as ve}from"./pagination-DLJ2pbsx.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-CNlWJWvL.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";import"./vue-plyr-QZFBikSk.js";const fe=_({name:"LayoutPixverse",components:{ElDrawer:q,ElButton:R,FontAwesomeIcon:L},data(){return{drawer:!1}}}),_e={class:"main flex flex-row flex-1"},he={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},$e={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ge(e,t,u,m,$,g){const i=s("font-awesome-icon"),p=s("el-button"),n=s("el-drawer");return a(),r("div",_e,[l("div",he,[P(e.$slots,"config",{},void 0,!0)]),l("div",$e,[P(e.$slots,"result",{},void 0,!0)]),o(p,{circle:"",class:"menu",onClick:t[0]||(t[0]=f=>e.drawer=!0)},{default:d(()=>[o(i,{icon:"fa-solid fa-magic"})]),_:1}),o(n,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=f=>e.drawer=f),direction:"ltr","with-header":!1,size:"350px"},{default:d(()=>[P(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const be=h(fe,[["render",ge],["__scopeId","data-v-30cb83f9"]]),ye=_({name:"ModelSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"v3.5",label:"v3.5"},{value:"v4",label:"v4"},{value:"v4.5",label:"v4.5"}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.model},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,model:e})}}},mounted(){this.value||(this.value=J)}}),ke={class:"field"},we={class:"title font-bold"};function Ve(e,t,u,m,$,g){const i=s("el-option"),p=s("el-select");return a(),r("div",ke,[l("h2",we,c(e.$t("pixverse.name.model")),1),o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(a(!0),r(V,null,S(e.options,n=>(a(),w(i,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Se=h(ye,[["render",Ve],["__scopeId","data-v-e8f337ca"]]),xe=_({name:"QualitySelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"360p",label:"360p"},{value:"540p",label:"540p"},{value:"720p",label:"720p"},{value:"1080p",label:"1080p"}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.quality},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,quality:e})}}},mounted(){this.value||(this.value=K)}}),Ee={class:"field"},Te={class:"title font-bold"};function Ie(e,t,u,m,$,g){const i=s("el-option"),p=s("el-select");return a(),r("div",Ee,[l("h2",Te,c(e.$t("pixverse.name.quality")),1),o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(a(!0),r(V,null,S(e.options,n=>(a(),w(i,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ce=h(xe,[["render",Ie],["__scopeId","data-v-64aeaae9"]]),Le=_({name:"MotionSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"normal",label:this.$t("pixverse.name.motion1")},{value:"fast",label:this.$t("pixverse.name.motion2")}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.motion},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,motion:e})}}},mounted(){this.value||(this.value=W)}}),Re={class:"field"},Ue={class:"title font-bold"};function Pe(e,t,u,m,$,g){const i=s("el-option"),p=s("el-select");return a(),r("div",Re,[l("h2",Ue,c(e.$t("pixverse.name.motion")),1),o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(a(!0),r(V,null,S(e.options,n=>(a(),w(i,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ae=h(Le,[["render",Pe],["__scopeId","data-v-94237408"]]),De=_({name:"StyleSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"cyberpunk",label:this.$t("pixverse.name.style1")},{value:"anime",label:this.$t("pixverse.name.style2")},{value:"comic",label:this.$t("pixverse.name.style3")},{value:"clay",label:this.$t("pixverse.name.style4")},{value:"3d_animation",label:this.$t("pixverse.name.style5")},{value:"realistic",label:this.$t("pixverse.name.style6")}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.style},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,style:e})}}},mounted(){this.value||(this.value=Z)}}),Ge={class:"field"},je={class:"title font-bold"};function Me(e,t,u,m,$,g){const i=s("el-option"),p=s("el-select");return a(),r("div",Ge,[l("h2",je,c(e.$t("pixverse.name.style")),1),o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(a(!0),r(V,null,S(e.options,n=>(a(),w(i,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Oe=h(De,[["render",Me],["__scopeId","data-v-64e17b3c"]]),qe=_({name:"SeedSelector",components:{ElSlider:F,InfoIcon:A,ElInputNumber:B},computed:{value:{get(){return this.$store.state?.pixverse?.config?.seed},set(e){console.debug("set seed",e),this.$store.commit("pixverse/setConfig",{...this.$store.state?.pixverse?.config,seed:e})}}},mounted(){this.value||(this.value=void 0)}}),Be={class:"flex justify-between"},Fe={class:"flex justify-start items-center"},Ne={class:"text-sm font-bold"},ze={class:"flex justify-end items-center"},Xe={class:"w-full"};function Qe(e,t,u,m,$,g){const i=s("info-icon"),p=s("el-input-number"),n=s("el-slider");return a(),r("div",null,[l("div",Be,[l("div",Fe,[l("span",Ne,c(e.$t("pixverse.name.seed")),1),o(i,{content:e.$t("pixverse.description.seed")},null,8,["content"])]),l("div",ze,[o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=f=>e.value=f),"controls-position":"right"},null,8,["modelValue"])])]),l("div",Xe,[o(n,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=f=>e.value=f),min:0,max:1e3,step:1},null,8,["modelValue"])])])}const Ye=h(qe,[["render",Qe]]),He=_({name:"DurationSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:5,label:"5s"},{value:8,label:"8s"}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.duration},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,duration:e})}}},mounted(){this.value||(this.value=ee)}}),Je={class:"field"},Ke={class:"title font-bold"};function We(e,t,u,m,$,g){const i=s("el-option"),p=s("el-select");return a(),r("div",Je,[l("h2",Ke,c(e.$t("pixverse.name.duration")),1),o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(a(!0),r(V,null,S(e.options,n=>(a(),w(i,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ze=h(He,[["render",We],["__scopeId","data-v-065c77ef"]]),et=_({name:"RatioSelector",data(){return{options:[{value:"1:1",label:"1:1",width:20,height:20},{value:"4:3",label:"4:3",width:20,height:15},{value:"3:4",label:"3:4",width:15,height:20},{value:"16:9",label:"16:9",width:25,height:13},{value:"9:16",label:"9:16",width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.pixverse.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e),this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,aspect_ratio:e})}}},mounted(){this.value||(this.value=te)}}),tt={class:"text-sm font-bold mb-2 block"},st={class:"items"},ot=["onClick"],nt={class:"name"};function at(e,t,u,m,$,g){return a(),r("div",null,[l("span",tt,c(e.$t("pixverse.name.aspectRatio")),1),l("div",st,[(a(!0),r(V,null,S(e.options,(i,p)=>(a(),r("div",{key:p,class:T({active:e.active===p,item:!0}),onClick:n=>e.value=i.value},[l("div",{class:T(["preview",i.label])},[l("div",{class:"rect",style:H({width:i.width+"px",height:i.height+"px"})},null,4)],2),l("p",nt,c(i.label),1)],10,ot))),128))])])}const lt=h(et,[["render",at],["__scopeId","data-v-53038264"]]),it=_({name:"StartImage",components:{ElUpload:N,ElButton:R,InfoIcon:A,FontAwesomeIcon:L,ImagePreview:ie},mixins:[le],emits:["change"],data(){return{fileList:[],uploadUrl:se()+"/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?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){x.warning(this.$t("pixverse.message.uploadReferencesExceed"))},onError(){x.error(this.$t("pixverse.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("pixverse/setConfig",{...this.$store.state?.pixverse?.config,image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),rt={class:"relative"},ct={class:"flex justify-between"},pt={class:"flex justify-start items-center"},dt={class:"text-sm font-bold"};function ut(e,t,u,m,$,g){const i=s("info-icon"),p=s("image-preview"),n=s("font-awesome-icon"),f=s("el-button"),b=s("el-upload");return a(),r("div",rt,[l("div",ct,[l("div",pt,[l("span",dt,c(e.$t("pixverse.name.startImage")),1),o(i,{content:e.$t("pixverse.description.uploadStartImage")},null,8,["content"])])]),o(b,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=v=>e.fileList=v),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:d(({file:v})=>[v.url&&v.percentage!==void 0?(a(),w(p,{key:0,url:v.url,name:v.name,percentage:v.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(v),1)},null,8,["url","name","percentage","onRemove"])):y("",!0)]),default:d(()=>[o(f,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:d(()=>[o(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),k(" "+c(e.$t("pixverse.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const mt=h(it,[["render",ut],["__scopeId","data-v-bc133fd2"]]),vt="",ft=_({name:"PromptInput",components:{ElInput:z,InfoIcon:A},computed:{prompt:{get(){return this.$store.state.pixverse?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=vt)}}),_t={class:"field"},ht={class:"box"},$t={class:"title font-bold"};function gt(e,t,u,m,$,g){const i=s("info-icon"),p=s("el-input");return a(),r("div",_t,[l("div",ht,[l("h2",$t,c(e.$t("pixverse.name.prompt")),1),o(i,{content:e.$t("pixverse.description.prompt"),class:"info"},null,8,["content"])]),o(p,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("pixverse.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const bt=h(ft,[["render",gt],["__scopeId","data-v-2f675ca4"]]),yt=_({name:"ConfigPanel",components:{ElButton:R,FontAwesomeIcon:L,PromptInput:bt,ModelSelector:Se,QualitySelector:Ce,MotionSelector:Ae,StyleSelector:Oe,DurationSelector:Ze,StartImage:mt,SeedSelector:Ye,RatioSelector:lt,Consumption:re},emits:["generate"],computed:{config(){return this.$store.state.pixverse?.config},consumption(){return ce(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service}},methods:{onGenerate(){this.$emit("generate")}}}),kt={class:"flex flex-col h-full"},wt={class:"flex-1 overflow-y-auto p-5"},Vt={class:"flex flex-col items-center justify-center px-5 pb-5"};function St(e,t,u,m,$,g){const i=s("prompt-input"),p=s("model-selector"),n=s("style-selector"),f=s("ratio-selector"),b=s("motion-selector"),v=s("quality-selector"),E=s("start-image"),U=s("seed-selector"),G=s("duration-selector"),j=s("consumption"),M=s("font-awesome-icon"),O=s("el-button");return a(),r("div",kt,[l("div",wt,[o(i,{class:"mb-4"}),o(p,{class:"mb-4"}),o(n,{class:"mb-4"}),o(f,{class:"mb-4"}),o(b,{class:"mb-4"}),o(v,{class:"mb-4"}),o(E,{class:"mb-2"}),o(U,{class:"mb-4"}),o(G,{class:"mb-4"})]),l("div",Vt,[o(j,{value:e.consumption,service:e.service},null,8,["value","service"]),o(O,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[o(M,{icon:"fa-solid fa-magic",class:"mr-2"}),k(" "+c(e.$t("pixverse.button.generate")),1)]),_:1},8,["onClick"])])])}const xt=h(yt,[["render",St]]),Et=_({name:"TaskPreview",components:{ElImage:Y,CopyToClipboard:pe,FontAwesomeIcon:L,ElAlert:Q,VideoPlayer:de,ElTooltip:X,ElButton:R},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pixverse?.application},config(){return this.$store.state.pixverse?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),Tt={class:"preview"},It={class:"left"},Ct={class:"main"},Lt={class:"bot"},Rt={class:"datetime"},Ut={class:"info"},Pt={key:0,class:"prompt mt-2"},At={key:0},Dt={key:1},Gt={key:0,class:T({content:!0,failed:!0})},jt={key:0,class:"mb-4"},Mt={key:1,class:T({operations:!0,"mt-2":!0})},Ot={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Bt={key:1,class:T({content:!0})},Ft={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},zt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Xt(e,t,u,m,$,g){const i=s("el-image"),p=s("video-player"),n=s("el-button"),f=s("el-tooltip"),b=s("font-awesome-icon"),v=s("copy-to-clipboard"),E=s("el-alert");return a(),r("div",Tt,[l("div",It,[o(i,{src:"https://cdn.acedata.cloud/viy61r.jpg",class:"avatar"})]),l("div",Ct,[l("div",Lt,[k(c(e.$t("pixverse.name.pixverseBot"))+" ",1),l("span",Rt,c(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",Ut,[e.modelValue?.request?.prompt?(a(),r("p",Pt,[k(c(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?y("",!0):(a(),r("span",At," - ("+c(e.$t("pixverse.status.pending"))+") ",1)),e.modelValue?.response?.data&&(e.modelValue?.response?.data[0]?.state==="processing"||e.modelValue?.response?.data[0]?.state==="pending")?(a(),r("span",Dt," - ("+c(e.$t("pixverse.status.processing"))+") ",1)):y("",!0)])):y("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(a(),r("div",Gt,[e.modelValue?.response?.data[0]?.video_url?(a(),r("div",jt,[o(p,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):y("",!0),e.modelValue?.response.success?(a(),r("div",Mt,[o(f,{class:"box-item",effect:"dark",content:e.$t("pixverse.message.downloadVideo"),placement:"top-start"},{default:d(()=>[e.modelValue?.response?.data[0]?.video_url?(a(),w(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=U=>e.onDownload(U,e.modelValue?.response?.data[0]?.video_url))},{default:d(()=>[k(c(e.$t("pixverse.button.download")),1)]),_:1})):y("",!0)]),_:1},8,["content"])])):y("",!0),o(E,{closable:!1,class:"mt-2 success"},{default:d(()=>[l("p",Ot,[o(b,{icon:"fa-solid fa-hashtag",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.model"))+": "+c(e.modelValue?.request?.model),1)]),l("p",qt,[o(b,{icon:"fa-solid fa-magic",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.taskId"))+": "+c(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):y("",!0),e.modelValue?.response?.success===!1?(a(),r("div",Bt,[o(E,{closable:!1,class:"info"},{template:d(()=>[o(b,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.failure")),1)]),default:d(()=>[l("p",Ft,[o(b,{icon:"fa-solid fa-circle-info",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.failureReason"))+": "+c(e.modelValue?.response?.error?.message)+" ",1),o(v,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),l("p",Nt,[o(b,{icon:"fa-solid fa-magic",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.taskId"))+": "+c(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),r("p",zt,[o(b,{icon:"fa-solid fa-hashtag",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.traceId"))+": "+c(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):y("",!0)]),_:1})])):y("",!0)])])}const Qt=h(Et,[["render",Xt],["__scopeId","data-v-9da65937"]]),Yt=_({name:"RecentPanel",components:{TaskPreview:Qt,NoTasks:me,BotPlaceholder:ue,ScrollList:ae},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pixverse?.tasks,items:this.$store.state.pixverse?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ht={key:0},Jt={key:2,class:"w-full h-full flex items-center justify-center"};function Kt(e,t,u,m,$,g){const i=s("bot-placeholder"),p=s("task-preview"),n=s("scroll-list"),f=s("no-tasks");return a(),r(V,null,[e.tasks?.items===void 0?(a(),r("div",Ht,[o(i)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(n,{key:1,ref:"scrollList",class:"h-full w-full overflow-y-auto tasks",loading:e.loading,onReachTop:t[0]||(t[0]=b=>e.$emit("reach-top"))},{default:d(()=>[(a(!0),r(V,null,S(e.tasks?.items,(b,v)=>(a(),w(p,{key:v,"model-value":b},null,8,["model-value"]))),128))]),_:1},8,["loading"])):y("",!0),e.tasks?.items?.length===0?(a(),r("div",Jt,[o(f)])):y("",!0)],64)}const Wt=h(Yt,[["render",Kt]]),Zt="https://webhook.acedata.cloud/pixverse",es=_({name:"PixverseIndex",components:{ConfigPanel:xt,Layout:be,RecentPanel:Wt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===D.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===D.Request||this.fetchingTasks},credential(){return this.$store.state.pixverse.credential},config(){return this.$store.state.pixverse.config},tasks(){return this.$store.state.pixverse.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=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ve({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("pixverse/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("pixverse/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:u,createdAtMax:m}=e||{};console.debug("limit",t,"createdAtMin",u,"createdAtMax",m),this.fetchingTasks=!0;try{await this.$store.dispatch("pixverse/getTasks",{limit:t,createdAtMin:u,createdAtMax:m})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Zt},t=this.credential?.token;if(!t){console.error("no token specified");return}x.info(this.$t("pixverse.message.startingTask")),oe.generate(e,{token:t}).then(()=>{x.success(this.$t("pixverse.message.startTaskSuccess"))}).catch(u=>{u?.response?.data?.error?.code===ne?x.error(this.$t("pixverse.message.usedUp")):x.error(this.$t("pixverse.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ts(e,t,u,m,$,g){const i=s("config-panel"),p=s("recent-panel"),n=s("layout");return a(),w(n,null,{config:d(()=>[o(i,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:d(()=>[o(p,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const ys=h(es,[["render",ts]]);export{ys as default};
@@ -0,0 +1 @@
1
+ import{F as L}from"./index.es-D2RJIOwI.js";import{m as R,W as q,O,P as D,k as z,u as N,w as V,t as H,q as J,H as W,j as K}from"./vendor-element-plus-ZfFlETcH.js";import{d as g,C as r,G as l,T as t,E as G,K as u,ai as s,D as n,R as a,S as A,ag as U,J as y,M as I,Y as Q,O as v,Q as h,L as T,U as E}from"./vendor-vue-BhXato7y.js";import{_ as $,bS as Y,bT as X,bU as Z,bV as x,au as ee,bW as te,aN as oe,aJ as j}from"./index-CdkIaG4d.js";import{I as P,S as se}from"./ScrollList-Dw45lO0t.js";import{V as M}from"./VideoPlayer-gXXZbisY.js";import{p as ne}from"./pasteUploadMixin-BurWbGNQ.js";import{I as ae}from"./ImagePreview-SUR7TFTL.js";import{C as le}from"./Consumption-BCbR6ZEO.js";import{a as ie}from"./price-CwH8PfMf.js";import{C as re}from"./CopyToClipboard-Djhvl2Fk.js";import{B as ce}from"./BotPlaceholder-CInEMDBc.js";import{N as de}from"./NoTasks-BYOtsKOE.js";import{l as ue}from"./pagination-DLJ2pbsx.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-CNlWJWvL.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";import"./vue-plyr-QZFBikSk.js";const pe=g({name:"LayoutVeo",components:{ElDrawer:q,ElButton:R,FontAwesomeIcon:L},data(){return{drawer:!1}}}),me={class:"main flex flex-row flex-1"},fe={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ve={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function _e(e,o,m,_,b,k){const c=s("font-awesome-icon"),d=s("el-button"),i=s("el-drawer");return n(),r("div",me,[l("div",fe,[G(e.$slots,"config",{},void 0,!0)]),l("div",ve,[G(e.$slots,"result",{},void 0,!0)]),t(d,{circle:"",class:"menu",onClick:o[0]||(o[0]=w=>e.drawer=!0)},{default:u(()=>[t(c,{icon:"fa-solid fa-magic"})]),_:1}),t(i,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=w=>e.drawer=w),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[G(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const he=$(pe,[["render",_e],["__scopeId","data-v-816b984c"]]),ge=g({name:"ModelSelector",components:{ElSelect:D,ElOption:O},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"veo2",label:"veo2"},{value:"veo2-fast",label:"veo2-fast"},{value:"veo3",label:"veo3"},{value:"veo3-fast",label:"veo3-fast"},{value:"veo31-fast",label:"veo31-fast"},{value:"veo31",label:"veo31"},{value:"veo31-fast-ingredients",label:"veo31-fast-ingredients"}]}},computed:{value:{get(){return this.$store.state.veo?.config?.model},set(e){this.$store.commit("veo/setConfig",{...this.$store.state.veo.config,model:e})}}},mounted(){this.value||(this.value=Y)}}),$e={class:"field"},be={class:"title font-bold"};function ke(e,o,m,_,b,k){const c=s("el-option"),d=s("el-select");return n(),r("div",$e,[l("h2",be,a(e.$t("veo.name.model")),1),t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),class:"value",placeholder:e.$t("veo.placeholder.select")},{default:u(()=>[(n(!0),r(A,null,U(e.options,i=>(n(),y(c,{key:i.value,label:i.label,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const we=$(ge,[["render",ke],["__scopeId","data-v-a59d89c9"]]),ye=g({name:"ActionSelector",components:{ElSelect:D,ElOption:O},data(){return{}},computed:{options(){return[{value:"text2video",label:this.$t("veo.button.action1")},{value:"image2video",label:this.$t("veo.button.action2")},{value:"get1080p",label:this.$t("veo.button.action3")}]},value:{get(){return this.$store.state.veo?.config?.action},set(e){this.$store.commit("veo/setConfig",{...this.$store.state.veo?.config,action:e})}}},mounted(){this.value||(this.value=X)}}),Ve={class:"field"},Se={class:"title font-bold"},Te={class:"float-left"};function Ee(e,o,m,_,b,k){const c=s("el-option"),d=s("el-select");return n(),r("div",Ve,[l("h2",Se,a(e.$t("veo.name.action")),1),t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),class:"value",placeholder:e.$t("veo.placeholder.select"),clearable:""},{default:u(()=>[(n(!0),r(A,null,U(e.options,i=>(n(),y(c,{key:i.value,label:i.label,value:i.value},{default:u(()=>[l("span",Te,a(i.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ie=$(ye,[["render",Ee],["__scopeId","data-v-ba5abc8a"]]),Ce=g({name:"TranslationSelector",components:{ElSwitch:z,InfoIcon:P},computed:{value:{get(){return this.$store.state.veo?.config?.translation},set(e){console.debug("set translation",e),this.$store.commit("veo/setConfig",{...this.$store.state.veo?.config,translation:e})}}},mounted(){this.value===void 0&&(this.value=Z)}}),Ae={class:"relative"},Le={class:"flex justify-between"},Re={class:"flex justify-start items-center"},Ue={class:"text-sm font-bold"},Ge={class:"flex justify-end items-center"};function Pe(e,o,m,_,b,k){const c=s("info-icon"),d=s("el-switch");return n(),r("div",Ae,[l("div",Le,[l("div",Re,[l("span",Ue,a(e.$t("veo.name.translation")),1),t(c,{content:e.$t("veo.description.translation")},null,8,["content"])]),l("div",Ge,[t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),class:"value"},null,8,["modelValue"])])])])}const je=$(Ce,[["render",Pe]]),Oe=g({name:"AspectRatioSelector",data(){return{options:[{value:"1:1",label:"1:1",width:20,height:20},{value:"4:3",label:"4:3",width:20,height:15},{value:"3:4",label:"3:4",width:15,height:20},{value:"16:9",label:"16:9",width:25,height:13},{value:"9:16",label:"9:16",width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.veo?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e),this.$store.commit("veo/setConfig",{...this.$store.state?.veo?.config,aspect_ratio:e})}}},mounted(){this.value||(this.value=x)}}),De={class:"text-sm font-bold mb-2 block"},Me={class:"items"},Be=["onClick"],Fe={class:"name"};function qe(e,o,m,_,b,k){return n(),r("div",null,[l("span",De,a(e.$t("veo.name.ratio")),1),l("div",Me,[(n(!0),r(A,null,U(e.options,(c,d)=>(n(),r("div",{key:d,class:I({active:e.active===d,item:!0}),onClick:i=>e.value=c.value},[l("div",{class:I(["preview",c.label])},[l("div",{class:"rect",style:Q({width:c.width+"px",height:c.height+"px"})},null,4)],2),l("p",Fe,a(c.label),1)],10,Be))),128))])])}const ze=$(Oe,[["render",qe],["__scopeId","data-v-0f16be77"]]),Ne=g({name:"VideoFromInput",components:{VideoPlayer:M},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.veo?.config}}}),He={class:"relative"},Je={class:"flex mb-2"},We={class:"text-sm font-bold"};function Ke(e,o,m,_,b,k){const c=s("video-player");return n(),r("div",He,[l("div",Je,[l("span",We,a(e.$t("veo.name.action3")),1)]),l("div",null,[e.config?.video_url?(n(),y(c,{key:0,src:e.config?.video_url},null,8,["src"])):v("",!0)])])}const Qe=$(Ne,[["render",Ke]]),Ye=g({name:"StartEndImage",components:{ElUpload:N,ElButton:R,InfoIcon:P,FontAwesomeIcon:L,ImagePreview:ae},mixins:[ne],emits:["change"],data(){return{fileList:[],uploadUrl:ee()+"/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?.veo?.config?.image_urls},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){V.warning(this.$t("veo.message.uploadReferencesExceed"))},onError(){V.error(this.$t("veo.message.uploadReferencesError"))},onSetStartEndImageUrl(){const e=this.urls;this.$store.commit("veo/setConfig",{...this.$store.state?.veo?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),Xe={class:"relative"},Ze={class:"flex justify-between"},xe={class:"flex justify-start items-center"},et={class:"text-sm font-bold"};function tt(e,o,m,_,b,k){const c=s("info-icon"),d=s("image-preview"),i=s("font-awesome-icon"),w=s("el-button"),f=s("el-upload");return n(),r("div",Xe,[l("div",Ze,[l("div",xe,[l("span",et,a(e.$t("veo.name.startEndImage")),1),t(c,{content:e.$t("veo.description.uploadStartEndImage")},null,8,["content"])])]),t(f,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=p=>e.fileList=p),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:p})=>[p.url&&p.percentage!==void 0?(n(),y(d,{key:0,url:p.url,name:p.name,percentage:p.percentage,onRemove:S=>e.fileList.splice(e.fileList.indexOf(p),1)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:u(()=>[t(w,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[t(i,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+a(e.$t("veo.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const ot=$(Ye,[["render",tt],["__scopeId","data-v-b8ddb8fb"]]),st="",nt=g({name:"PromptInput",components:{ElInput:H,InfoIcon:P},computed:{prompt:{get(){return this.$store.state.veo?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("veo/setConfig",{...this.$store.state.veo?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=st)}}),at={class:"field"},lt={class:"box"},it={class:"title font-bold"};function rt(e,o,m,_,b,k){const c=s("info-icon"),d=s("el-input");return n(),r("div",at,[l("div",lt,[l("h2",it,a(e.$t("veo.name.prompt")),1),t(c,{content:e.$t("veo.description.prompt"),class:"info"},null,8,["content"])]),t(d,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=i=>e.prompt=i),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("veo.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const ct=$(nt,[["render",rt],["__scopeId","data-v-84c55ea0"]]),dt=g({name:"ConfigPanel",components:{ElButton:R,Consumption:le,FontAwesomeIcon:L,PromptInput:ct,ModelSelector:we,StartEndImage:ot,ActionSelector:Ie,VideoFromInput:Qe,TranslationSelector:je,AspectRatioSelector:ze},emits:["generate"],computed:{config(){return this.$store.state.veo?.config},consumption(){return ie(this.config,this.service?.cost)},service(){return this.$store.state.veo?.service}},methods:{onGenerate(){this.$emit("generate")}}}),ut={class:"flex flex-col h-full"},pt={class:"flex-1 overflow-y-auto p-5"},mt={class:"flex flex-col items-center justify-center px-5 pb-5"};function ft(e,o,m,_,b,k){const c=s("video-from-input"),d=s("action-selector"),i=s("translation-selector"),w=s("aspect-ratio-selector"),f=s("prompt-input"),p=s("model-selector"),S=s("start-end-image"),C=s("consumption"),B=s("font-awesome-icon"),F=s("el-button");return n(),r("div",ut,[l("div",pt,[T(t(c,{class:"mb-4"},null,512),[[E,e.config?.action==="get1080p"]]),t(d,{class:"mb-4"}),T(t(i,{class:"mb-4"},null,512),[[E,e.config?.action!=="get1080p"]]),T(t(w,{class:"mb-4"},null,512),[[E,e.config?.action==="image2video"]]),T(t(f,{class:"mb-4"},null,512),[[E,e.config?.action!=="get1080p"]]),T(t(p,{class:"mb-4"},null,512),[[E,e.config?.action!=="get1080p"]]),T(t(S,{class:"mb-2"},null,512),[[E,e.config?.action==="image2video"]])]),l("div",mt,[t(C,{value:e.consumption,service:e.service},null,8,["value","service"]),t(F,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(B,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+a(e.$t("veo.button.generate")),1)]),_:1},8,["onClick"])])])}const vt=$(dt,[["render",ft]]),_t=g({name:"TaskPreview",components:{ElImage:K,CopyToClipboard:re,FontAwesomeIcon:L,ElAlert:W,VideoPlayer:M,ElTooltip:J,ElButton:R},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.veo?.application},config(){return this.$store.state.veo?.config}},methods:{onGet1080p(e,o){console.debug("set config",o),this.$store.commit("veo/setConfig",{...this.$store.state.veo?.config,video_id:o?.data?.[0]?.id,video_url:o?.data[0]?.video_url,action:"get1080p"})},onDownload(e,o){e.stopPropagation(),console.log("on download"),window.open(o,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),ht={class:"preview"},gt={class:"left"},$t={class:"main"},bt={class:"bot"},kt={class:"datetime"},wt={class:"info"},yt={key:0,class:"prompt mt-2"},Vt={key:0},St={key:1},Tt={key:0,class:I({content:!0,failed:!0})},Et={key:0,class:"mb-4"},It={key:1,class:I({operations:!0,"mt-2":!0})},Ct={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Lt={key:1,class:I({content:!0})},Rt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Pt={key:2,class:I({content:!0})},jt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Dt(e,o,m,_,b,k){const c=s("el-image"),d=s("video-player"),i=s("el-button"),w=s("el-tooltip"),f=s("font-awesome-icon"),p=s("copy-to-clipboard"),S=s("el-alert");return n(),r("div",ht,[l("div",gt,[t(c,{src:"https://cdn.acedata.cloud/8nxyy9.jpg",class:"avatar"})]),l("div",$t,[l("div",bt,[h(a(e.$t("veo.name.veoBot"))+" ",1),l("span",kt,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",wt,[e.modelValue?.request?.prompt?(n(),r("p",yt,[h(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?v("",!0):(n(),r("span",Vt," - ("+a(e.$t("veo.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="running"?(n(),r("span",St," - ("+a(e.$t("veo.status.processing"))+") ",1)):v("",!0)])):v("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(n(),r("div",Tt,[e.modelValue?.response?.data[0]?.video_url?(n(),r("div",Et,[t(d,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):v("",!0),e.modelValue?.response.success?(n(),r("div",It,[t(w,{class:"box-item",effect:"dark",content:e.$t("veo.message.downloadVideo"),placement:"top-start"},{default:u(()=>[e.modelValue?.response?.data[0]?.video_url?(n(),y(i,{key:0,type:"info",size:"small",class:"btn-action",onClick:o[0]||(o[0]=C=>e.onGet1080p(C,e.modelValue?.response))},{default:u(()=>[h(a(e.$t("veo.button.action3")),1)]),_:1})):v("",!0)]),_:1},8,["content"]),t(w,{class:"box-item",effect:"dark",content:e.$t("veo.message.downloadVideo"),placement:"top-start"},{default:u(()=>[e.modelValue?.response?.data[0]?.video_url?(n(),y(i,{key:0,type:"info",size:"small",class:"btn-action",onClick:o[1]||(o[1]=C=>e.onDownload(C,e.modelValue?.response?.data[0]?.video_url))},{default:u(()=>[h(a(e.$t("veo.button.download")),1)]),_:1})):v("",!0)]),_:1},8,["content"])])):v("",!0),t(S,{closable:!1,class:"mt-2 success"},{default:u(()=>[l("p",Ct,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+a(e.$t("veo.name.model"))+": "+a(e.modelValue?.request?.model),1)]),l("p",At,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+a(e.$t("veo.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):v("",!0),e.modelValue?.response?.success===!1?(n(),r("div",Lt,[t(S,{closable:!1,class:"failure"},{template:u(()=>[t(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+a(e.$t("veo.name.failure")),1)]),default:u(()=>[l("p",Rt,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+a(e.$t("veo.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id},null,8,["content"])]),l("p",Ut,[t(f,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+a(e.$t("veo.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),t(p,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),r("p",Gt,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+a(e.$t("veo.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),t(p,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):v("",!0)]),_:1})])):v("",!0),e.modelValue?.response?.success===void 0?(n(),r("div",Pt,[t(S,{closable:!1,class:"info"},{template:u(()=>[t(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+a(e.$t("veo.name.failure")),1)]),default:u(()=>[l("p",jt,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+a(e.$t("veo.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),r("p",Ot,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+a(e.$t("veo.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),t(p,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):v("",!0)]),_:1})])):v("",!0)])])}const Mt=$(_t,[["render",Dt],["__scopeId","data-v-4c98c3a2"]]),Bt=g({name:"RecentPanel",components:{TaskPreview:Mt,NoTasks:de,BotPlaceholder:ce,ScrollList:se},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.veo?.tasks,items:this.$store.state.veo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ft={key:0},qt={key:2,class:"w-full h-full flex items-center justify-center"};function zt(e,o,m,_,b,k){const c=s("bot-placeholder"),d=s("task-preview"),i=s("scroll-list"),w=s("no-tasks");return n(),r(A,null,[e.tasks?.items===void 0?(n(),r("div",Ft,[t(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),y(i,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=f=>e.$emit("reach-top"))},{default:u(()=>[(n(!0),r(A,null,U(e.tasks?.items,(f,p)=>(n(),y(d,{key:p,"model-value":f},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(n(),r("div",qt,[t(w)])):v("",!0)],64)}const Nt=$(Bt,[["render",zt]]),Ht="https://webhook.acedata.cloud/veo",Jt=g({name:"VeoIndex",components:{ConfigPanel:vt,Layout:he,RecentPanel:Nt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.veo?.status?.getApplications===j.Request},tasksLoading(){return this.$store.state.veo?.status?.getTasks===j.Request||this.fetchingTasks},credential(){return this.$store.state.veo.credential},config(){return this.$store.state.veo.config},tasks(){return this.$store.state.veo.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=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ue({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("veo/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("veo/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:_}=e||{};console.debug("limit",o,"createdAtMin",m,"createdAtMax",_),this.fetchingTasks=!0;try{await this.$store.dispatch("veo/getTasks",{limit:o,createdAtMin:m,createdAtMax:_})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Ht},o=this.credential?.token;if(!o){console.error("no token specified");return}if(e.action==="image2video"&&!(e.image_urls&&e.image_urls.length>0)){V.warning(this.$t("veo.message.imageRequired"));return}(!e.image_urls||e.image_urls.length===0)&&delete e.image_urls,V.info(this.$t("veo.message.startingTask")),te.generate(e,{token:o}).then(()=>{V.success(this.$t("veo.message.startTaskSuccess"))}).catch(m=>{m?.response?.data?.error?.code===oe?V.error(this.$t("veo.message.usedUp")):V.error(this.$t("veo.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Wt(e,o,m,_,b,k){const c=s("config-panel"),d=s("recent-panel"),i=s("layout");return n(),y(i,null,{config:u(()=>[t(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[t(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const fo=$(Jt,[["render",Wt]]);export{fo as default};
@@ -0,0 +1 @@
1
+ .menu[data-v-c6c85757]{display:none}@media (max-width: 767px){.main .config[data-v-c6c85757]{display:none}.main .result[data-v-c6c85757]{width:100%}.main .preview[data-v-c6c85757]{display:none}.main .menu[data-v-c6c85757]{display:block;position:absolute;right:8px;top:45px;z-index:1000}}.mode-tabs[data-v-a6ada414]{display:flex;gap:4px;background:var(--el-fill-color-light);border-radius:8px;padding:3px}.mode-tab[data-v-a6ada414]{flex:1;padding:6px 12px;border:none;border-radius:6px;background:transparent;color:var(--el-text-color-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.mode-tab.active[data-v-a6ada414]{background:var(--el-bg-color);color:var(--el-text-color-primary);box-shadow:0 1px 3px #0000001a}.mode-tab[data-v-a6ada414]:hover:not(.active){color:var(--el-text-color-primary)}.model-option[data-v-a6ada414]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:2px 0}.model-option-left[data-v-a6ada414]{display:flex;align-items:center;gap:6px}.model-option-name[data-v-a6ada414]{font-weight:500}.model-option-pro[data-v-a6ada414]{font-size:10px!important;padding:0 4px!important;height:18px!important;line-height:16px!important;border-radius:4px!important}.model-option-desc[data-v-a6ada414]{font-size:12px;color:var(--el-text-color-placeholder);margin-left:8px;white-space:nowrap}[data-v-a6ada414] .model-option-divider{border-bottom:1px solid var(--el-border-color-lighter);margin-bottom:4px;padding-bottom:4px}.title[data-v-bfb6b53d]{font-size:14px;margin-bottom:0;width:30%}.recorder-display[data-v-bfb6b53d]{min-height:48px;display:flex;align-items:center;justify-content:center}.recording-dot[data-v-bfb6b53d]{display:inline-block;width:10px;height:10px;border-radius:50%;background:#f56c6c;animation:pulse-bfb6b53d 1s infinite}@keyframes pulse-bfb6b53d{0%,to{opacity:1}50%{opacity:.3}}.upload-wrapper,.upload-wrapper .el-upload{width:100%}.upload-wrapper .el-upload-dragger{width:100%;padding:12px}.upload-wrapper .el-upload-list{margin:0;width:100%}.add-audio-tabs .el-tabs__nav-wrap:after{height:1px}.inspo-tags[data-v-378e4372]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.inspo-tag[data-v-378e4372]{padding:4px 10px;border:1px solid var(--el-border-color);border-radius:14px;background:var(--el-bg-color);color:var(--el-text-color-regular);font-size:12px;cursor:pointer;transition:all .2s;white-space:nowrap}.inspo-tag[data-v-378e4372]:hover{border-color:var(--el-color-primary);color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.inspo-tag-refresh[data-v-378e4372]{border-style:dashed;color:var(--el-text-color-placeholder);padding:4px 8px}.inspo-tag-refresh[data-v-378e4372]:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.field[data-v-2b97a493] .el-textarea__inner{font-family:monospace;line-height:1.6}.enhance-bar[data-v-2b97a493]{margin-top:6px}.enhance-bar .enhance-input[data-v-2b97a493] .el-input-group__append{padding:0 12px}.lyrics-expanded[data-v-2b97a493] .el-textarea__inner{font-family:monospace;line-height:1.8;font-size:14px}.style-tags[data-v-ddebb076]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.style-tag[data-v-ddebb076]{padding:3px 10px;border:1px solid var(--el-border-color);border-radius:14px;background:var(--el-bg-color);color:var(--el-text-color-regular);font-size:12px;cursor:pointer;transition:all .2s;white-space:nowrap}.style-tag[data-v-ddebb076]:hover{border-color:var(--el-color-primary);color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.style-tag-refresh[data-v-ddebb076]{border-style:dashed;color:var(--el-text-color-placeholder);padding:3px 8px}.style-tag-refresh[data-v-ddebb076]:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.field .box[data-v-bcce4821]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;position:relative;margin-bottom:10px}.field .box .title[data-v-bcce4821]{font-size:14px;margin-bottom:10px}.field .box .input-wrapper[data-v-bcce4821]{width:150px;margin-left:30px}.field .box[data-v-06640216]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;position:relative;margin-bottom:10px}.field .box .title[data-v-06640216]{font-size:14px;margin-bottom:10px}.field .box .input-wrapper[data-v-06640216]{width:150px;margin-left:30px}.advanced-collapse[data-v-505f8fc7]{border:none}.advanced-collapse[data-v-505f8fc7] .el-collapse-item__header{font-size:14px;font-weight:700;background:transparent;border:none;height:32px;line-height:32px}.advanced-collapse[data-v-505f8fc7] .el-collapse-item__wrap{background:transparent;border:none}.advanced-collapse[data-v-505f8fc7] .el-collapse-item__content{padding-bottom:0}.voice-tabs[data-v-8b8e36d9]{margin-bottom:8px}.voice-tabs[data-v-8b8e36d9] .el-tabs__header{margin:0 0 8px}.voice-tabs[data-v-8b8e36d9] .el-tabs__nav-wrap:after{height:1px}.voice-list[data-v-8b8e36d9]{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.voice-item[data-v-8b8e36d9]{display:flex;align-items:center;padding:8px 10px;border-radius:6px;cursor:pointer;border:1px solid var(--el-border-color-lighter);transition:all .2s}.voice-item[data-v-8b8e36d9]:hover{border-color:var(--el-color-primary-light-5);background:var(--el-fill-color-light)}.voice-item.active[data-v-8b8e36d9]{border-color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.voice-name[data-v-8b8e36d9]{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-desc[data-v-8b8e36d9]{font-size:11px;color:var(--el-text-color-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.voice-actions[data-v-8b8e36d9]{flex-shrink:0;margin-left:8px;display:flex;align-items:center;gap:2px}.voice-fav-active[data-v-8b8e36d9] svg,.voice-fav-active[data-v-8b8e36d9]{color:#f5a623}.panel[data-v-16f0f019]{height:100%;padding:20px;display:flex;flex-direction:column}.panel .config[data-v-16f0f019]{width:100%;height:calc(100% - 50px);flex:1;position:relative}.panel .actions[data-v-16f0f019]{height:50px;display:flex;justify-content:center;align-items:center}.panel .actions .btn[data-v-16f0f019]{width:100%}.task{display:flex;flex-direction:column;cursor:pointer}.task .audio{display:flex;margin-bottom:10px;border-radius:10px}.task .audio:hover{background-color:var(--el-bg-color-page)}.task .audio .left{position:relative;width:60px;height:60px;margin-right:16px;flex-shrink:0}.task .audio .left:hover .overlay{display:block}.task .audio .left .cover{width:100%;height:100%;border-radius:4px}.task .audio .left .duration{position:absolute;right:0;bottom:0;background-color:#000000b3;padding:2px 4px;color:#fff;border-radius:2px;font-size:10px}.task .audio .left .overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;display:none;transition:opacity .3s;border-radius:4px;text-align:center;line-height:70px;cursor:pointer}.task .audio .left .overlay .el-icon{font-size:20px;color:#fff}.task .audio .info{flex:1;min-width:0;overflow:hidden}.task .audio .info .title-row{display:flex;align-items:center;gap:6px}.task .audio .info .title{font-size:14px;font-weight:700;margin-top:5px;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.task .audio .info .edit-icon{font-size:10px;color:var(--el-text-color-placeholder);cursor:pointer;opacity:0;transition:opacity .2s;flex-shrink:0;margin-top:4px}.task .audio .info .title-edit{margin-top:4px;margin-bottom:2px}.task .audio .info .style{font-size:12px;margin-bottom:0;color:var(--el-text-color-secondary);white-space:normal;word-break:break-word;overflow-wrap:anywhere}.task .audio .info .progress-row{display:flex;align-items:center;gap:6px;margin-top:2px}.task .audio .info .progress-row .progress-bar{flex:1;max-width:100px}.task .audio .info .progress-row .progress-text{font-size:10px;color:var(--el-text-color-placeholder);white-space:nowrap}.task .audio:hover .edit-icon{opacity:1}.task .audio .mashup-check{display:flex;align-items:center;padding:0 4px 0 8px;flex-shrink:0}.task .audio.mashup-selected{background-color:var(--el-color-primary-light-9);border-radius:8px}.task .audio .right{width:120px;display:flex;align-items:center;justify-content:flex-end;padding-right:1px}.task .audio .right .icon{display:block;z-index:100;cursor:pointer;margin-right:15px}.task .audio .right .el-button{margin-right:15px}.suno-action-menu .menu-icon{width:14px;margin-right:8px;color:var(--el-text-color-secondary)}.suno-action-menu .menu-divider{height:1px;background:var(--el-border-color-lighter);margin:4px 12px}.suno-action-menu .delete-item,.suno-action-menu .delete-item .delete-icon{color:var(--el-color-danger)}.player-slider .el-slider{height:10px}.player-slider .el-slider .el-slider__runway,.player-slider .el-slider .el-slider__bar{height:2px;border-radius:0}.player-slider .el-slider .el-slider__button-wrapper{width:10px;height:10px;top:-10.5px}.player-slider .el-slider .el-slider__button{width:8px;height:8px}.el-popover.el-popper{min-width:auto}.task-toolbar[data-v-4ab3f8f2]{display:flex;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid var(--el-border-color-lighter);flex-shrink:0}.task-toolbar .task-search[data-v-4ab3f8f2]{flex:1}.task-toolbar .sort-btn[data-v-4ab3f8f2]{flex-shrink:0;white-space:nowrap}.task-toolbar .filter-btn[data-v-4ab3f8f2]{flex-shrink:0;white-space:nowrap;position:relative}.task-toolbar .filter-btn.has-active-filter[data-v-4ab3f8f2]{color:var(--el-color-primary);border-color:var(--el-color-primary-light-5)}.task-toolbar .filter-btn .filter-badge[data-v-4ab3f8f2]{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:4px;border-radius:8px;background:var(--el-color-primary);color:#fff;font-size:10px;line-height:1}.filter-popover[data-v-4ab3f8f2]{display:flex;flex-direction:column;gap:12px}.filter-popover .filter-row[data-v-4ab3f8f2]{display:flex;flex-direction:column;gap:6px}.filter-popover .filter-label[data-v-4ab3f8f2]{font-size:12px;color:var(--el-text-color-secondary)}.filter-popover .filter-actions[data-v-4ab3f8f2]{display:flex;justify-content:flex-end;border-top:1px solid var(--el-border-color-lighter);padding-top:8px;margin-top:4px}.status[data-v-d1296b1a]{margin-bottom:10px}.panel.detail[data-v-d1296b1a]{width:100%;flex:1;overflow-y:scroll}.panel.recent[data-v-d1296b1a]{height:100%;width:100%;margin-bottom:10px;position:relative;justify-content:initial}.panel.operation[data-v-d1296b1a]{position:relative}