@acedatacloud/nexior 3.22.0 → 3.24.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 (127) hide show
  1. package/dist/assets/{Auth-8L5cO3io.js → Auth-U3yYMWPb.js} +1 -1
  2. package/dist/assets/{BotPlaceholder-BgltR-o8.js → BotPlaceholder-DKPNFbIr.js} +1 -1
  3. package/dist/assets/{Callback-DyWvDfJO.js → Callback-CVMoquq2.js} +1 -1
  4. package/dist/assets/{Console-BJFopxlS.js → Console-CTJZPHmF.js} +1 -1
  5. package/dist/assets/{Conversation-CAb0AtWK.js → Conversation-BS7L0VcC.js} +2 -2
  6. package/dist/assets/{CopyToClipboard-C7oZlhvf.js → CopyToClipboard-CzE5Qyes.js} +1 -1
  7. package/dist/assets/{Detail-CmtTUE6G.js → Detail-C3oYMO6J.js} +1 -1
  8. package/dist/assets/{EditArray-DtrBeA53.js → EditArray-C1bpV3sz.js} +1 -1
  9. package/dist/assets/{Extra-tK8KoRgk.js → Extra-DbeIRzak.js} +1 -1
  10. package/dist/assets/{FilePreview-Bc3WRYrz.js → FilePreview-CDzbEEK9.js} +1 -1
  11. package/dist/assets/{History-C3Z8TiCw.js → History-CIxJTX4E.js} +1 -1
  12. package/dist/assets/{ImagePreview-BKjWRoxg.js → ImagePreview-VnpfW9Pj.js} +1 -1
  13. package/dist/assets/{ImageWrapper-BiD890LG.js → ImageWrapper-C2PohC6W.js} +1 -1
  14. package/dist/assets/{Index-DMog6Dda.js → Index-BDLsUrH_.js} +1 -1
  15. package/dist/assets/{Index-BHd9oY8p.js → Index-BZdHsOL7.js} +1 -1
  16. package/dist/assets/{Index-CKlmvquc.js → Index-BfanYqxM.js} +1 -1
  17. package/dist/assets/{Index-CSY50Dj-.js → Index-BkVsyXyu.js} +1 -1
  18. package/dist/assets/{Index-DNq9vfq1.js → Index-BqnAzyak.js} +1 -1
  19. package/dist/assets/Index-Bqvjazj0.js +1 -0
  20. package/dist/assets/{Index-zRPRgkjp.js → Index-CHJJxQZZ.js} +1 -1
  21. package/dist/assets/{Index-DMy8azyp.js → Index-D-RFeTM-.js} +1 -1
  22. package/dist/assets/{Index-DlwzbkYR.js → Index-DNUO_WLR.js} +1 -1
  23. package/dist/assets/{Index-rnba5CTp.js → Index-DNxQOH2I.js} +1 -1
  24. package/dist/assets/Index-DPQ747pA.css +1 -0
  25. package/dist/assets/{Index-DrByJhQj.js → Index-DYEsXBUc.js} +1 -1
  26. package/dist/assets/{Index-B7hP1SMu.js → Index-DxTCv_hq.js} +1 -1
  27. package/dist/assets/{Index-D41eONzM.js → Index-QhofBqyo.js} +1 -1
  28. package/dist/assets/{Index-CUIPtrqw.js → Index-UvepuNe-.js} +1 -1
  29. package/dist/assets/{Index-B8Dt7dnR.js → Index-c9YVJIU8.js} +1 -1
  30. package/dist/assets/{Index-BLGPvG-T.js → Index-eWhLfJGA.js} +1 -1
  31. package/dist/assets/{InfoIcon-xpG6wYiZ.js → InfoIcon-htaT17q9.js} +1 -1
  32. package/dist/assets/{Invitees-XSlpAqAQ.js → Invitees-BFsoobgF.js} +1 -1
  33. package/dist/assets/{List-DDJBHhhY.js → List-D3J3Rfhh.js} +1 -1
  34. package/dist/assets/{List-BkGqvy_3.js → List-DX0aA1uB.js} +1 -1
  35. package/dist/assets/{List-DskwzxQy.js → List-X5PnY5tK.js} +1 -1
  36. package/dist/assets/{Login-CX-tCVs4.js → Login-DSWYve0k.js} +1 -1
  37. package/dist/assets/{Main-Dh_NJ6DX.js → Main-DnQIo5_J.js} +1 -1
  38. package/dist/assets/{Navigator-BSwktn2R.js → Navigator-CFx-t1E0.js} +1 -1
  39. package/dist/assets/{NoTasks-RqxH5tU5.js → NoTasks-DHdI1Frr.js} +1 -1
  40. package/dist/assets/{Pagination-Tjr-mTrC.js → Pagination-DcQVmu45.js} +1 -1
  41. package/dist/assets/{Status-hwkT5ahP.js → Status-C3EStxoL.js} +1 -1
  42. package/dist/assets/{Subscribe-C9_YYuhz.js → Subscribe-C7U8Yb7_.js} +1 -1
  43. package/dist/assets/{VideoPlayer-BAU_i6Xt.js → VideoPlayer-DCap_X2q.js} +1 -1
  44. package/dist/assets/{_baseClone-DtzNljAk.js → _baseClone-B6o0klpv.js} +1 -1
  45. package/dist/assets/{_baseIteratee-W5a_Nlyi.js → _baseIteratee-Bk7QROEW.js} +1 -1
  46. package/dist/assets/{_initCloneObject-BzNbsgMU.js → _initCloneObject-iRvJrG7M.js} +1 -1
  47. package/dist/assets/{castArray-C-yFxvxW.js → castArray-CoJ3z4SB.js} +1 -1
  48. package/dist/assets/{debounce-D_GSfnKF.js → debounce-CEE_CsrA.js} +1 -1
  49. package/dist/assets/{distribution-4bP9Z08I.js → distribution-pW96wtpU.js} +1 -1
  50. package/dist/assets/{dropdown-BDVhc981.js → dropdown-CfSu6_B-.js} +1 -1
  51. package/dist/assets/{index-DwKtBxI9.js → index--xRF9A-K.js} +1 -1
  52. package/dist/assets/{index-DA1L1iqe.js → index-AT7DtKgl.js} +1 -1
  53. package/dist/assets/{index-qF8ceE1g.js → index-BR8qEo0P.js} +1 -1
  54. package/dist/assets/{index-Nq6BDZRS.js → index-BU5-qzoD.js} +1 -1
  55. package/dist/assets/{index-DG2fa-ow.js → index-BZHTBEqD.js} +1 -1
  56. package/dist/assets/{index-B5qqirtZ.js → index-B_qlJ-la.js} +1 -1
  57. package/dist/assets/{index-DpWAouU9.js → index-BkA1qQd3.js} +1 -1
  58. package/dist/assets/{index-kwhOoHli.js → index-C1s2diPf.js} +1 -1
  59. package/dist/assets/{index-YB7WcHHr.js → index-CGrkkZd-.js} +1 -1
  60. package/dist/assets/{index-ZXXqKgb5.js → index-CLOiWNZO.js} +1 -1
  61. package/dist/assets/{index-Bxn0D_Ay.js → index-CLwJbfYs.js} +25 -25
  62. package/dist/assets/{index-KMXdPkbR.js → index-CQvuK-4v.js} +1 -1
  63. package/dist/assets/{index-CfFbRlb3.js → index-Cg60JDEK.js} +1 -1
  64. package/dist/assets/{index-CiupJjd2.js → index-Colfa9sv.js} +1 -1
  65. package/dist/assets/{index-CDRWFNPw.js → index-Cs65NgP9.js} +1 -1
  66. package/dist/assets/{index-CvUpzdE1.js → index-Czog4o5z.js} +1 -1
  67. package/dist/assets/{index-C7dq5GDX.js → index-D3gVuWw7.js} +1 -1
  68. package/dist/assets/{index-BG27krBY.js → index-DHn59BRx.js} +1 -1
  69. package/dist/assets/{index-zhXzFU3e.js → index-DITqxnfk.js} +1 -1
  70. package/dist/assets/{index-I256GqO3.js → index-DNuWNnk-.js} +1 -1
  71. package/dist/assets/{index-BZxyIS6v.js → index-DNzgGVij.js} +1 -1
  72. package/dist/assets/{index-D9TXWw5i.js → index-DTBHHHz_.js} +1 -1
  73. package/dist/assets/{index-DkwacTMf.js → index-DbY2GEPa.js} +1 -1
  74. package/dist/assets/{index-ekLS25Os.js → index-Dc0-osYE.js} +1 -1
  75. package/dist/assets/{index-PrnYVdZU.js → index-H2WJr-nr.js} +1 -1
  76. package/dist/assets/{index-CMofrOYp.js → index-MlWSSchD.js} +1 -1
  77. package/dist/assets/{index-r5mkEdBU.js → index-O2tEst1s.js} +1 -1
  78. package/dist/assets/{index-BPLDIKYi.js → index-d2CvBCAu.js} +1 -1
  79. package/dist/assets/{index-Bu8GYl4M.js → index-z-6wtqoM.js} +1 -1
  80. package/dist/assets/{index.es-B1Cre0ht.js → index.es-BLCm9UT-.js} +1 -1
  81. package/dist/assets/{isEqual-CYpeyoZ0.js → isEqual-DQdO_K1-.js} +1 -1
  82. package/dist/assets/{isPlainObject-STqtLEhU.js → isPlainObject-BsyTgoxK.js} +1 -1
  83. package/dist/assets/nanobanana-0TD1aaKJ.js +1 -0
  84. package/dist/assets/nanobanana-1NdVL7Fl.js +1 -0
  85. package/dist/assets/nanobanana-9C3IuZSm.js +1 -0
  86. package/dist/assets/nanobanana-B0gG5lVj.js +1 -0
  87. package/dist/assets/nanobanana-BEfc9OH9.js +1 -0
  88. package/dist/assets/nanobanana-BoWxDTr8.js +1 -0
  89. package/dist/assets/nanobanana-CCcmmXa_.js +1 -0
  90. package/dist/assets/nanobanana-CN9fO8Hb.js +1 -0
  91. package/dist/assets/nanobanana-DFBTIrpV.js +1 -0
  92. package/dist/assets/nanobanana-DFQSatdc.js +1 -0
  93. package/dist/assets/nanobanana-DKgUjWoY.js +1 -0
  94. package/dist/assets/nanobanana-D_FNxm6c.js +1 -0
  95. package/dist/assets/nanobanana-Dft3VU_N.js +1 -0
  96. package/dist/assets/nanobanana-DiU6WlSl.js +1 -0
  97. package/dist/assets/nanobanana-Dmicr1QV.js +1 -0
  98. package/dist/assets/nanobanana-GgSlhAZH.js +1 -0
  99. package/dist/assets/nanobanana-MYtgyiLS.js +1 -0
  100. package/dist/assets/nanobanana-VqTavWjG.js +1 -0
  101. package/dist/assets/{order-DhJ-UIdx.js → order-CeKvimTq.js} +1 -1
  102. package/dist/assets/{price-crtYVYmR.js → price-CZSDhLnN.js} +1 -1
  103. package/dist/assets/{strings-Djoxz8AJ.js → strings-WMZYwrQD.js} +1 -1
  104. package/dist/assets/{typescript-14ZN9Iqb.js → typescript-CoKqfRJS.js} +1 -1
  105. package/dist/assets/{use-form-item-BHzDGeGF.js → use-form-item-CRDWzFx1.js} +1 -1
  106. package/dist/index.html +1 -1
  107. package/package.json +1 -1
  108. package/dist/assets/Index-3hzmS3eW.css +0 -1
  109. package/dist/assets/Index-ydXTdHB_.js +0 -1
  110. package/dist/assets/nanobanana-14UAEgql.js +0 -1
  111. package/dist/assets/nanobanana-2YrRz6v3.js +0 -1
  112. package/dist/assets/nanobanana-BGAQ6TuW.js +0 -1
  113. package/dist/assets/nanobanana-BKAc3hZx.js +0 -1
  114. package/dist/assets/nanobanana-C0rBkMcA.js +0 -1
  115. package/dist/assets/nanobanana-CJSXIMZE.js +0 -1
  116. package/dist/assets/nanobanana-CmkY_P0e.js +0 -1
  117. package/dist/assets/nanobanana-CyP_cCvV.js +0 -1
  118. package/dist/assets/nanobanana-D-BctJBY.js +0 -1
  119. package/dist/assets/nanobanana-D2SSwOis.js +0 -1
  120. package/dist/assets/nanobanana-DeJ85MK6.js +0 -1
  121. package/dist/assets/nanobanana-DfgUm0gg.js +0 -1
  122. package/dist/assets/nanobanana-DvU_PLnr.js +0 -1
  123. package/dist/assets/nanobanana-DzCmp44-.js +0 -1
  124. package/dist/assets/nanobanana-e3klWTef.js +0 -1
  125. package/dist/assets/nanobanana-i9onTA8a.js +0 -1
  126. package/dist/assets/nanobanana-r4VFbfgj.js +0 -1
  127. package/dist/assets/nanobanana-t2ullRDK.js +0 -1
@@ -1 +1 @@
1
- import{F as S}from"./index.es-B1Cre0ht.js";import{E as I}from"./index-CvUpzdE1.js";import{E as O}from"./index-CDRWFNPw.js";import{d as v,h as b,b as m,t as n,k as t,r as T,j as u,l as s,o as a,ev as q,x as i,ew as N,ex as H,cf as j,D as g,i as k,y as f,n as C,aq as z,F as D,v as K,ey as x,dA as J,dw as Q}from"./index-Bxn0D_Ay.js";import{I as U}from"./InfoIcon-xpG6wYiZ.js";import{E as A}from"./index-Nq6BDZRS.js";import{I as F}from"./ImagePreview-BKjWRoxg.js";import{E as R}from"./index-CiupJjd2.js";import{E}from"./index-KMXdPkbR.js";import{F as W}from"./FilePreview-Bc3WRYrz.js";import{E as X}from"./index-BG27krBY.js";import{V as M}from"./VideoPlayer-BAU_i6Xt.js";import{C as Y,N as Z}from"./NoTasks-RqxH5tU5.js";import{a as ee}from"./price-crtYVYmR.js";import{C as te}from"./CopyToClipboard-C7oZlhvf.js";import{E as oe}from"./index-zhXzFU3e.js";import{E as se}from"./index-I256GqO3.js";import{E as ne}from"./index-r5mkEdBU.js";import{B as ae}from"./BotPlaceholder-BgltR-o8.js";import"./use-form-item-BHzDGeGF.js";import"./index-r5W6hzzQ.js";import"./index-DA1L1iqe.js";import"./index-C7dq5GDX.js";import"./typescript-14ZN9Iqb.js";import"./_baseClone-DtzNljAk.js";import"./_initCloneObject-BzNbsgMU.js";import"./isEqual-CYpeyoZ0.js";import"./index-kwhOoHli.js";import"./vue-plyr-QZFBikSk.js";import"./debounce-D_GSfnKF.js";import"./index-CMofrOYp.js";const le=v({name:"LayoutLuma",components:{ElDrawer:O,ElButton:I,FontAwesomeIcon:S},data(){return{drawer:!1}}}),ie={class:"main flex flex-row flex-1"},re={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},ce={class:"result h-full p-[15px] flex-1 flex flex-col"};function me(e,o,p,h,w,y){const r=s("font-awesome-icon"),d=s("el-button"),c=s("el-drawer");return a(),m("div",ie,[n("div",re,[T(e.$slots,"config",{},void 0,!0)]),n("div",ce,[T(e.$slots,"result",{},void 0,!0)]),t(d,{circle:"",class:"menu",onClick:o[0]||(o[0]=_=>e.drawer=!0)},{default:u(()=>[t(r,{icon:"fa-solid fa-magic"})]),_:1}),t(c,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=_=>e.drawer=_),direction:"ltr","with-header":!1,size:"350px",class:"drawer"},{default:u(()=>[T(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ue=b(le,[["render",me],["__scopeId","data-v-11a53e0c"]]),de=v({name:"EnhancementSelector",components:{ElSwitch:A,InfoIcon:U},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug("set enhancement",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=q)}}),pe={class:"relative"},fe={class:"flex justify-between"},_e={class:"flex justify-start items-center"},he={class:"text-sm font-bold"},$e={class:"flex justify-end items-center"};function ge(e,o,p,h,w,y){const r=s("info-icon"),d=s("el-switch");return a(),m("div",pe,[n("div",fe,[n("div",_e,[n("span",he,i(e.$t("luma.name.enhancement")),1),t(r,{content:e.$t("luma.description.enhancement")},null,8,["content"])]),n("div",$e,[t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=c=>e.value=c),class:"value"},null,8,["modelValue"])])])])}const ve=b(de,[["render",ge]]),be=v({name:"CustomSelector",components:{ElSwitch:A,InfoIcon:U},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug("set custom",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=N)}}),we={class:"relative"},ye={class:"flex justify-between"},ke={class:"flex justify-start items-center"},Ee={class:"text-sm font-bold"},Ve={class:"flex justify-end items-center"};function Ue(e,o,p,h,w,y){const r=s("info-icon"),d=s("el-switch");return a(),m("div",we,[n("div",ye,[n("div",ke,[n("span",Ee,i(e.$t("luma.name.custom")),1),t(r,{content:e.$t("luma.description.custom")},null,8,["content"])]),n("div",Ve,[t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=c=>e.value=c),class:"value"},null,8,["modelValue"])])])])}const Se=b(be,[["render",Ue]]),Ie=v({name:"LoopSelector",components:{ElSwitch:A,InfoIcon:U},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug("set loop",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=H)}}),Le={class:"relative"},Ce={class:"flex justify-between"},Te={class:"flex justify-start items-center"},je={class:"text-sm font-bold"},Ae={class:"flex justify-end items-center"};function Re(e,o,p,h,w,y){const r=s("info-icon"),d=s("el-switch");return a(),m("div",Le,[n("div",Ce,[n("div",Te,[n("span",je,i(e.$t("luma.name.loop")),1),t(r,{content:e.$t("luma.description.loop")},null,8,["content"])]),n("div",Ae,[t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=c=>e.value=c),class:"value"},null,8,["modelValue"])])])])}const Ge=b(Ie,[["render",Re]]),Pe=v({name:"EndImage",components:{ElUpload:R,ElButton:I,ImagePreview:F,InfoIcon:U,FontAwesomeIcon:S},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onExceed(){E.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){E.error(this.$t("luma.message.uploadReferencesError"))},onSetEndImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),ze={class:"relative"},De={class:"flex justify-between"},Fe={class:"flex justify-start items-center"},Me={class:"text-sm font-bold"};function Be(e,o,p,h,w,y){const r=s("info-icon"),d=s("image-preview"),c=s("font-awesome-icon"),_=s("el-button"),$=s("el-upload");return a(),m("div",ze,[n("div",De,[n("div",Fe,[n("span",Me,i(e.$t("luma.name.endImageUrl")),1),t(r,{content:e.$t("luma.description.endImageUrl")},null,8,["content"])])]),t($,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=l=>e.fileList=l),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:l})=>[l.url&&l.percentage!==void 0?(a(),k(d,{key:0,url:l.url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:u(()=>[t(_,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[t(c,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadEndImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Oe=b(Pe,[["render",Be],["__scopeId","data-v-7ab78c3e"]]),qe=v({name:"StartImage",components:{ElUpload:R,ElButton:I,ImagePreview:F,InfoIcon:U,FontAwesomeIcon:S},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){E.error(this.$t("luma.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Ne={class:"relative"},He={class:"flex justify-between"},Ke={class:"flex justify-start items-center"},xe={class:"text-sm font-bold"};function Je(e,o,p,h,w,y){const r=s("info-icon"),d=s("image-preview"),c=s("font-awesome-icon"),_=s("el-button"),$=s("el-upload");return a(),m("div",Ne,[n("div",He,[n("div",Ke,[n("span",xe,i(e.$t("luma.name.startImageUrl")),1),t(r,{content:e.$t("luma.description.startImageUrl")},null,8,["content"])])]),t($,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=l=>e.fileList=l),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:l})=>[l.percentage!=null?(a(),k(d,{key:0,url:l.url||l.response.file_url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:u(()=>[t(_,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[t(c,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Qe=b(qe,[["render",Je],["__scopeId","data-v-425a8cec"]]),We=v({name:"UploadVideo",components:{ElUpload:R,ElButton:I,InfoIcon:U,FilePreview:W,FontAwesomeIcon:S},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||(this.value=void 0)},methods:{onExceed(){E.warning(this.$t("luma.message.uploadVideoExceed"))},onError(){E.error(this.$t("luma.message.uploadVideoError"))},beforeUpload(e){const o=e.type==="video/mp4",p=e.size/1024/1024<10;return o?p?!0:(E.error(this.$t("luma.message.uploadVideoSizeExceed")),!1):(E.error(this.$t("luma.message.uploadVideoTypeFailed")),!1)},onSetVideoUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e,action:"extend"})},async onSuccess(){this.onSetVideoUrl()}}}),Xe={class:"relative"},Ye={class:"flex justify-between"},Ze={class:"flex justify-start items-center"},et={class:"text-sm font-bold"};function tt(e,o,p,h,w,y){const r=s("info-icon"),d=s("file-preview"),c=s("font-awesome-icon"),_=s("el-button"),$=s("el-upload");return a(),m("div",Xe,[n("div",Ye,[n("div",Ze,[n("span",et,i(e.$t("luma.name.videoUrl")),1),t(r,{content:e.$t("luma.description.videoUrl")},null,8,["content"])])]),t($,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=l=>e.fileList=l),accept:".mp4",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:l})=>[l.percentage!=null?(a(),k(d,{key:0,url:l.url||l.response?.file_url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:u(()=>[t(_,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[t(c,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])])}const ot=b(We,[["render",tt],["__scopeId","data-v-74e51526"]]),st="",nt=v({name:"PromptInput",components:{ElInput:X,InfoIcon:U},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=st)}}),at={class:"field"},lt={class:"box"},it={class:"title font-bold"};function rt(e,o,p,h,w,y){const r=s("info-icon"),d=s("el-input");return a(),m("div",at,[n("div",lt,[n("h2",it,i(e.$t("luma.name.prompt")),1),t(r,{content:e.$t("luma.description.prompt"),class:"info"},null,8,["content"])]),t(d,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=c=>e.prompt=c),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("luma.placeholder.prompt"),maxlength:2e3,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const ct=b(nt,[["render",rt],["__scopeId","data-v-e8284075"]]),mt=v({name:"ExtendFromInput",components:{VideoPlayer:M},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.luma?.config}}}),ut={class:"relative"},dt={class:"flex mb-2"},pt={class:"text-sm font-bold"};function ft(e,o,p,h,w,y){const r=s("video-player");return a(),m("div",ut,[n("div",dt,[n("span",pt,i(e.$t("luma.name.extend")),1)]),n("div",null,[e.config?.video_url?(a(),k(r,{key:0,src:e.config?.video_url},null,8,["src"])):f("",!0)])])}const _t=b(mt,[["render",ft]]),ht=v({name:"ConfigPanel",components:{LoopSelector:Ge,StartImageInput:Qe,EndImageInput:Oe,EnhancementSelector:ve,ElButton:I,FontAwesomeIcon:S,PromptInput:ct,ExtendFromInput:_t,CustomSelector:Se,UploadVideo:ot,Consumption:Y},emits:["generate"],computed:{config(){return this.$store.state.luma?.config},consumption(){return ee(this.config,this.service?.metadata?.price)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit("generate")}}}),$t={class:"flex flex-col h-full"},gt={class:"flex-1 overflow-y-auto p-[15px]"},vt={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function bt(e,o,p,h,w,y){const r=s("extend-from-input"),d=s("prompt-input"),c=s("custom-selector"),_=s("upload-video"),$=s("start-image-input"),l=s("end-image-input"),V=s("enhancement-selector"),L=s("loop-selector"),B=s("consumption"),G=s("font-awesome-icon"),P=s("el-button");return a(),m("div",$t,[n("div",gt,[e.config?.video_id||e.config?.video_url?(a(),k(r,{key:0,class:"mb-4"})):f("",!0),t(d,{class:"mb-4"}),e.config?.video_id?f("",!0):(a(),k(c,{key:1,class:"mb-4"})),e.config?.custom?(a(),k(_,{key:2,class:"mb-4"})):f("",!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(a(),k($,{key:3,class:"mb-4"})):f("",!0),t(l,{class:"mb-4"}),t(V,{class:"mb-4"}),t(L,{class:"mb-4"})]),n("div",vt,[t(B,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(a(),k(P,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(G,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+i(e.$t("luma.button.extend")),1)]),_:1},8,["onClick"])):(a(),k(P,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(G,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+i(e.$t("luma.button.generate")),1)]),_:1},8,["onClick"]))])])}const wt=b(ht,[["render",bt]]),yt=v({name:"TaskPreview",components:{ElImage:ne,CopyToClipboard:te,FontAwesomeIcon:S,ElAlert:se,VideoPlayer:M,ElTooltip:oe,ElButton:I},props:{modelValue:{type:Object,required:!0}},emits:["extend"],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,o){console.debug("set config",o),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_id:o.video_id,prompt:o.prompt,action:"extend",thumbnail_url:o.thumbnail_url,video_url:o.video_url}),this.$emit("extend")},onDownload(e){window.open(e,"_blank")}}}),kt={class:"preview"},Et={class:"left"},Vt={class:"main"},Ut={class:"bot"},St={class:"datetime"},It={class:"info"},Lt={key:0,class:"prompt mt-2"},Ct={key:0},Tt={key:1},jt={key:0,class:C({content:!0,failed:!0})},At={key:0,class:"mb-4"},Rt={key:1,class:C({operations:!0,"mt-2":!0,"mb-4":!0})},Gt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Pt={key:1,class:C({content:!0})},zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ft={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Mt={key:2,class:C({content:!0})},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Ot(e,o,p,h,w,y){const r=s("el-image"),d=s("video-player"),c=s("el-button"),_=s("el-tooltip"),$=s("font-awesome-icon"),l=s("copy-to-clipboard"),V=s("el-alert");return a(),m("div",kt,[n("div",Et,[t(r,{src:"https://cdn.acedata.cloud/ahjfwi.png",class:"avatar"})]),n("div",Vt,[n("div",Ut,[g(i(e.$t("luma.name.lumaBot"))+" ",1),n("span",St,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),n("div",It,[e.modelValue?.request?.prompt?(a(),m("p",Lt,[g(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?f("",!0):(a(),m("span",Ct," - ("+i(e.$t("luma.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),m("span",Tt," - ("+i(e.$t("luma.status.processing"))+") ",1)):f("",!0)])):f("",!0)]),e.modelValue?.response?.success===!0?(a(),m("div",jt,[e.modelValue.response.video_url?(a(),m("div",At,[t(d,{src:e.modelValue.response.video_url},null,8,["src"])])):f("",!0),e.modelValue?.response&&!e.config?.custom?(a(),m("div",Rt,[t(_,{class:"box-item",effect:"dark",content:e.$t("luma.message.extendVideo"),placement:"top-start"},{default:u(()=>[t(c,{type:"info",size:"small",class:"btn-action",onClick:o[0]||(o[0]=z(L=>e.onExtend(L,e.modelValue?.response),["stop"]))},{default:u(()=>[g(i(e.$t("luma.button.extend")),1)]),_:1})]),_:1},8,["content"]),t(_,{class:"box-item",effect:"dark",content:e.$t("luma.message.downloadVideo"),placement:"top-start"},{default:u(()=>[t(c,{type:"info",size:"small",class:"btn-action",onClick:o[1]||(o[1]=z(L=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:u(()=>[g(i(e.$t("luma.button.download")),1)]),_:1})]),_:1},8,["content"])])):f("",!0),t(V,{closable:!1,class:"mt-2 success"},{default:u(()=>[n("p",Gt,[t($,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(l,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):f("",!0),e.modelValue?.response?.state==="failed"||e.modelValue?.response?.success===!1?(a(),m("div",Pt,[t(V,{closable:!1,class:"failure"},{template:u(()=>[t($,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+i(e.$t("luma.name.failure")),1)]),default:u(()=>[n("p",zt,[t($,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(l,{content:e.modelValue?.id},null,8,["content"])]),n("p",Dt,[t($,{icon:"fa-solid fa-circle-info",class:"mr-1"}),g(" "+i(e.$t("luma.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),t(l,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),n("p",Ft,[t($,{icon:"fa-solid fa-hashtag",class:"mr-1"}),g(" "+i(e.$t("luma.name.traceId"))+": "+i(e.modelValue?.trace_id)+" ",1),t(l,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):f("",!0),!e.modelValue?.response||e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),m("div",Mt,[t(V,{closable:!1,class:"info"},{template:u(()=>[t($,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+i(e.$t("luma.name.failure")),1)]),default:u(()=>[n("p",Bt,[t($,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(l,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):f("",!0)])])}const qt=b(yt,[["render",Ot],["__scopeId","data-v-1b4a59bc"]]),Nt=v({name:"RecentPanel",components:{BotPlaceholder:ae,TaskPreview:qt,NoTasks:Z},emits:["reach-top","extend"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{onHandleScroll(){const e=this.$refs.panel;console.log("reach-top reach-top reach-top"),e.scrollTop===0&&this.$emit("reach-top")}}}),Ht={key:0},Kt={key:1,class:"tasks w-full h-full overflow-y-auto"},xt={key:2,class:"w-full h-full flex items-center justify-center"};function Jt(e,o,p,h,w,y){const r=s("bot-placeholder"),d=s("task-preview"),c=s("no-tasks");return a(),m(D,null,[e.tasks?.items===void 0?(a(),m("div",Ht,[t(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),m("div",Kt,[(a(!0),m(D,null,K(e.tasks?.items,_=>(a(),k(d,{key:_.id,"model-value":_,onExtend:o[0]||(o[0]=$=>e.$emit("extend"))},null,8,["model-value"]))),128))])):f("",!0),e.tasks?.items?.length===0?(a(),m("div",xt,[t(c)])):f("",!0)],64)}const Qt=b(Nt,[["render",Jt]]),Wt="https://webhook.acedata.cloud/luma",Xt=v({name:"LumaIndex",components:{ConfigPanel:wt,Layout:ue,RecentPanel:Qt},inject:["initialized"],emits:["extend"],data(){return{task:void 0,job:0}},computed:{loading(){return this.$store.state.luma?.status?.getApplications===Q.Request},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){console.debug("reached top"),await this.onGetTasks({createdAtMax:this.tasks?.items?.[0]?.created_at})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("luma/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("luma/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){console.debug("scrolling down"),setTimeout(()=>{const e=document.querySelector(".tasks");e&&(e.scrollTop=e.scrollHeight)},500)},async onGetTasks(e){if(this.loading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:p,createdAtMax:h}=e||{};console.debug("limit",o,"createdAtMin",p,"createdAtMax",h),await this.$store.dispatch("luma/getTasks",{limit:o,createdAtMin:p,createdAtMax:h})},async onGenerate(){const e={...this.config,callback_url:Wt},o=this.credential?.token;if(!o){console.error("no token specified");return}E.info(this.$t("luma.message.startingTask")),x.generate(e,{token:o}).then(()=>{E.success(this.$t("luma.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===J?E.error(this.$t("luma.message.usedUp")):E.error(this.$t("luma.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}});function Yt(e,o,p,h,w,y){const r=s("config-panel"),d=s("recent-panel"),c=s("layout");return a(),k(c,null,{config:u(()=>[t(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[t(d,{onReachTop:e.onReachTop,onExtend:o[0]||(o[0]=_=>e.$emit("extend"))},null,8,["onReachTop"])]),_:1})}const To=b(Xt,[["render",Yt]]);export{To as default};
1
+ import{F as S}from"./index.es-BLCm9UT-.js";import{E as I}from"./index-Czog4o5z.js";import{E as O}from"./index-Cs65NgP9.js";import{d as v,h as b,b as m,t as n,k as t,r as T,j as u,l as s,o as a,ev as q,x as i,ew as N,ex as H,cf as j,D as g,i as k,y as f,n as C,aq as z,F as D,v as K,ey as x,dA as J,dw as Q}from"./index-CLwJbfYs.js";import{I as U}from"./InfoIcon-htaT17q9.js";import{E as A}from"./index-BU5-qzoD.js";import{I as F}from"./ImagePreview-VnpfW9Pj.js";import{E as R}from"./index-Colfa9sv.js";import{E}from"./index-CQvuK-4v.js";import{F as W}from"./FilePreview-CDzbEEK9.js";import{E as X}from"./index-DHn59BRx.js";import{V as M}from"./VideoPlayer-DCap_X2q.js";import{C as Y,N as Z}from"./NoTasks-DHdI1Frr.js";import{a as ee}from"./price-CZSDhLnN.js";import{C as te}from"./CopyToClipboard-CzE5Qyes.js";import{E as oe}from"./index-DITqxnfk.js";import{E as se}from"./index-DNuWNnk-.js";import{E as ne}from"./index-O2tEst1s.js";import{B as ae}from"./BotPlaceholder-DKPNFbIr.js";import"./use-form-item-CRDWzFx1.js";import"./index-r5W6hzzQ.js";import"./index-AT7DtKgl.js";import"./index-D3gVuWw7.js";import"./typescript-CoKqfRJS.js";import"./_baseClone-B6o0klpv.js";import"./_initCloneObject-iRvJrG7M.js";import"./isEqual-DQdO_K1-.js";import"./index-C1s2diPf.js";import"./vue-plyr-QZFBikSk.js";import"./debounce-CEE_CsrA.js";import"./index-MlWSSchD.js";const le=v({name:"LayoutLuma",components:{ElDrawer:O,ElButton:I,FontAwesomeIcon:S},data(){return{drawer:!1}}}),ie={class:"main flex flex-row flex-1"},re={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},ce={class:"result h-full p-[15px] flex-1 flex flex-col"};function me(e,o,p,h,w,y){const r=s("font-awesome-icon"),d=s("el-button"),c=s("el-drawer");return a(),m("div",ie,[n("div",re,[T(e.$slots,"config",{},void 0,!0)]),n("div",ce,[T(e.$slots,"result",{},void 0,!0)]),t(d,{circle:"",class:"menu",onClick:o[0]||(o[0]=_=>e.drawer=!0)},{default:u(()=>[t(r,{icon:"fa-solid fa-magic"})]),_:1}),t(c,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=_=>e.drawer=_),direction:"ltr","with-header":!1,size:"350px",class:"drawer"},{default:u(()=>[T(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ue=b(le,[["render",me],["__scopeId","data-v-11a53e0c"]]),de=v({name:"EnhancementSelector",components:{ElSwitch:A,InfoIcon:U},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug("set enhancement",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=q)}}),pe={class:"relative"},fe={class:"flex justify-between"},_e={class:"flex justify-start items-center"},he={class:"text-sm font-bold"},$e={class:"flex justify-end items-center"};function ge(e,o,p,h,w,y){const r=s("info-icon"),d=s("el-switch");return a(),m("div",pe,[n("div",fe,[n("div",_e,[n("span",he,i(e.$t("luma.name.enhancement")),1),t(r,{content:e.$t("luma.description.enhancement")},null,8,["content"])]),n("div",$e,[t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=c=>e.value=c),class:"value"},null,8,["modelValue"])])])])}const ve=b(de,[["render",ge]]),be=v({name:"CustomSelector",components:{ElSwitch:A,InfoIcon:U},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug("set custom",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=N)}}),we={class:"relative"},ye={class:"flex justify-between"},ke={class:"flex justify-start items-center"},Ee={class:"text-sm font-bold"},Ve={class:"flex justify-end items-center"};function Ue(e,o,p,h,w,y){const r=s("info-icon"),d=s("el-switch");return a(),m("div",we,[n("div",ye,[n("div",ke,[n("span",Ee,i(e.$t("luma.name.custom")),1),t(r,{content:e.$t("luma.description.custom")},null,8,["content"])]),n("div",Ve,[t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=c=>e.value=c),class:"value"},null,8,["modelValue"])])])])}const Se=b(be,[["render",Ue]]),Ie=v({name:"LoopSelector",components:{ElSwitch:A,InfoIcon:U},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug("set loop",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=H)}}),Le={class:"relative"},Ce={class:"flex justify-between"},Te={class:"flex justify-start items-center"},je={class:"text-sm font-bold"},Ae={class:"flex justify-end items-center"};function Re(e,o,p,h,w,y){const r=s("info-icon"),d=s("el-switch");return a(),m("div",Le,[n("div",Ce,[n("div",Te,[n("span",je,i(e.$t("luma.name.loop")),1),t(r,{content:e.$t("luma.description.loop")},null,8,["content"])]),n("div",Ae,[t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=c=>e.value=c),class:"value"},null,8,["modelValue"])])])])}const Ge=b(Ie,[["render",Re]]),Pe=v({name:"EndImage",components:{ElUpload:R,ElButton:I,ImagePreview:F,InfoIcon:U,FontAwesomeIcon:S},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onExceed(){E.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){E.error(this.$t("luma.message.uploadReferencesError"))},onSetEndImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),ze={class:"relative"},De={class:"flex justify-between"},Fe={class:"flex justify-start items-center"},Me={class:"text-sm font-bold"};function Be(e,o,p,h,w,y){const r=s("info-icon"),d=s("image-preview"),c=s("font-awesome-icon"),_=s("el-button"),$=s("el-upload");return a(),m("div",ze,[n("div",De,[n("div",Fe,[n("span",Me,i(e.$t("luma.name.endImageUrl")),1),t(r,{content:e.$t("luma.description.endImageUrl")},null,8,["content"])])]),t($,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=l=>e.fileList=l),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:l})=>[l.url&&l.percentage!==void 0?(a(),k(d,{key:0,url:l.url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:u(()=>[t(_,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[t(c,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadEndImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Oe=b(Pe,[["render",Be],["__scopeId","data-v-7ab78c3e"]]),qe=v({name:"StartImage",components:{ElUpload:R,ElButton:I,ImagePreview:F,InfoIcon:U,FontAwesomeIcon:S},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){E.error(this.$t("luma.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Ne={class:"relative"},He={class:"flex justify-between"},Ke={class:"flex justify-start items-center"},xe={class:"text-sm font-bold"};function Je(e,o,p,h,w,y){const r=s("info-icon"),d=s("image-preview"),c=s("font-awesome-icon"),_=s("el-button"),$=s("el-upload");return a(),m("div",Ne,[n("div",He,[n("div",Ke,[n("span",xe,i(e.$t("luma.name.startImageUrl")),1),t(r,{content:e.$t("luma.description.startImageUrl")},null,8,["content"])])]),t($,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=l=>e.fileList=l),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:l})=>[l.percentage!=null?(a(),k(d,{key:0,url:l.url||l.response.file_url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:u(()=>[t(_,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[t(c,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Qe=b(qe,[["render",Je],["__scopeId","data-v-425a8cec"]]),We=v({name:"UploadVideo",components:{ElUpload:R,ElButton:I,InfoIcon:U,FilePreview:W,FontAwesomeIcon:S},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||(this.value=void 0)},methods:{onExceed(){E.warning(this.$t("luma.message.uploadVideoExceed"))},onError(){E.error(this.$t("luma.message.uploadVideoError"))},beforeUpload(e){const o=e.type==="video/mp4",p=e.size/1024/1024<10;return o?p?!0:(E.error(this.$t("luma.message.uploadVideoSizeExceed")),!1):(E.error(this.$t("luma.message.uploadVideoTypeFailed")),!1)},onSetVideoUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e,action:"extend"})},async onSuccess(){this.onSetVideoUrl()}}}),Xe={class:"relative"},Ye={class:"flex justify-between"},Ze={class:"flex justify-start items-center"},et={class:"text-sm font-bold"};function tt(e,o,p,h,w,y){const r=s("info-icon"),d=s("file-preview"),c=s("font-awesome-icon"),_=s("el-button"),$=s("el-upload");return a(),m("div",Xe,[n("div",Ye,[n("div",Ze,[n("span",et,i(e.$t("luma.name.videoUrl")),1),t(r,{content:e.$t("luma.description.videoUrl")},null,8,["content"])])]),t($,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=l=>e.fileList=l),accept:".mp4",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:l})=>[l.percentage!=null?(a(),k(d,{key:0,url:l.url||l.response?.file_url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:u(()=>[t(_,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[t(c,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])])}const ot=b(We,[["render",tt],["__scopeId","data-v-74e51526"]]),st="",nt=v({name:"PromptInput",components:{ElInput:X,InfoIcon:U},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=st)}}),at={class:"field"},lt={class:"box"},it={class:"title font-bold"};function rt(e,o,p,h,w,y){const r=s("info-icon"),d=s("el-input");return a(),m("div",at,[n("div",lt,[n("h2",it,i(e.$t("luma.name.prompt")),1),t(r,{content:e.$t("luma.description.prompt"),class:"info"},null,8,["content"])]),t(d,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=c=>e.prompt=c),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("luma.placeholder.prompt"),maxlength:2e3,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const ct=b(nt,[["render",rt],["__scopeId","data-v-e8284075"]]),mt=v({name:"ExtendFromInput",components:{VideoPlayer:M},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.luma?.config}}}),ut={class:"relative"},dt={class:"flex mb-2"},pt={class:"text-sm font-bold"};function ft(e,o,p,h,w,y){const r=s("video-player");return a(),m("div",ut,[n("div",dt,[n("span",pt,i(e.$t("luma.name.extend")),1)]),n("div",null,[e.config?.video_url?(a(),k(r,{key:0,src:e.config?.video_url},null,8,["src"])):f("",!0)])])}const _t=b(mt,[["render",ft]]),ht=v({name:"ConfigPanel",components:{LoopSelector:Ge,StartImageInput:Qe,EndImageInput:Oe,EnhancementSelector:ve,ElButton:I,FontAwesomeIcon:S,PromptInput:ct,ExtendFromInput:_t,CustomSelector:Se,UploadVideo:ot,Consumption:Y},emits:["generate"],computed:{config(){return this.$store.state.luma?.config},consumption(){return ee(this.config,this.service?.metadata?.price)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit("generate")}}}),$t={class:"flex flex-col h-full"},gt={class:"flex-1 overflow-y-auto p-[15px]"},vt={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function bt(e,o,p,h,w,y){const r=s("extend-from-input"),d=s("prompt-input"),c=s("custom-selector"),_=s("upload-video"),$=s("start-image-input"),l=s("end-image-input"),V=s("enhancement-selector"),L=s("loop-selector"),B=s("consumption"),G=s("font-awesome-icon"),P=s("el-button");return a(),m("div",$t,[n("div",gt,[e.config?.video_id||e.config?.video_url?(a(),k(r,{key:0,class:"mb-4"})):f("",!0),t(d,{class:"mb-4"}),e.config?.video_id?f("",!0):(a(),k(c,{key:1,class:"mb-4"})),e.config?.custom?(a(),k(_,{key:2,class:"mb-4"})):f("",!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(a(),k($,{key:3,class:"mb-4"})):f("",!0),t(l,{class:"mb-4"}),t(V,{class:"mb-4"}),t(L,{class:"mb-4"})]),n("div",vt,[t(B,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(a(),k(P,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(G,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+i(e.$t("luma.button.extend")),1)]),_:1},8,["onClick"])):(a(),k(P,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(G,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+i(e.$t("luma.button.generate")),1)]),_:1},8,["onClick"]))])])}const wt=b(ht,[["render",bt]]),yt=v({name:"TaskPreview",components:{ElImage:ne,CopyToClipboard:te,FontAwesomeIcon:S,ElAlert:se,VideoPlayer:M,ElTooltip:oe,ElButton:I},props:{modelValue:{type:Object,required:!0}},emits:["extend"],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,o){console.debug("set config",o),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_id:o.video_id,prompt:o.prompt,action:"extend",thumbnail_url:o.thumbnail_url,video_url:o.video_url}),this.$emit("extend")},onDownload(e){window.open(e,"_blank")}}}),kt={class:"preview"},Et={class:"left"},Vt={class:"main"},Ut={class:"bot"},St={class:"datetime"},It={class:"info"},Lt={key:0,class:"prompt mt-2"},Ct={key:0},Tt={key:1},jt={key:0,class:C({content:!0,failed:!0})},At={key:0,class:"mb-4"},Rt={key:1,class:C({operations:!0,"mt-2":!0,"mb-4":!0})},Gt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Pt={key:1,class:C({content:!0})},zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ft={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Mt={key:2,class:C({content:!0})},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Ot(e,o,p,h,w,y){const r=s("el-image"),d=s("video-player"),c=s("el-button"),_=s("el-tooltip"),$=s("font-awesome-icon"),l=s("copy-to-clipboard"),V=s("el-alert");return a(),m("div",kt,[n("div",Et,[t(r,{src:"https://cdn.acedata.cloud/ahjfwi.png",class:"avatar"})]),n("div",Vt,[n("div",Ut,[g(i(e.$t("luma.name.lumaBot"))+" ",1),n("span",St,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),n("div",It,[e.modelValue?.request?.prompt?(a(),m("p",Lt,[g(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?f("",!0):(a(),m("span",Ct," - ("+i(e.$t("luma.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),m("span",Tt," - ("+i(e.$t("luma.status.processing"))+") ",1)):f("",!0)])):f("",!0)]),e.modelValue?.response?.success===!0?(a(),m("div",jt,[e.modelValue.response.video_url?(a(),m("div",At,[t(d,{src:e.modelValue.response.video_url},null,8,["src"])])):f("",!0),e.modelValue?.response&&!e.config?.custom?(a(),m("div",Rt,[t(_,{class:"box-item",effect:"dark",content:e.$t("luma.message.extendVideo"),placement:"top-start"},{default:u(()=>[t(c,{type:"info",size:"small",class:"btn-action",onClick:o[0]||(o[0]=z(L=>e.onExtend(L,e.modelValue?.response),["stop"]))},{default:u(()=>[g(i(e.$t("luma.button.extend")),1)]),_:1})]),_:1},8,["content"]),t(_,{class:"box-item",effect:"dark",content:e.$t("luma.message.downloadVideo"),placement:"top-start"},{default:u(()=>[t(c,{type:"info",size:"small",class:"btn-action",onClick:o[1]||(o[1]=z(L=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:u(()=>[g(i(e.$t("luma.button.download")),1)]),_:1})]),_:1},8,["content"])])):f("",!0),t(V,{closable:!1,class:"mt-2 success"},{default:u(()=>[n("p",Gt,[t($,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(l,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):f("",!0),e.modelValue?.response?.state==="failed"||e.modelValue?.response?.success===!1?(a(),m("div",Pt,[t(V,{closable:!1,class:"failure"},{template:u(()=>[t($,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+i(e.$t("luma.name.failure")),1)]),default:u(()=>[n("p",zt,[t($,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(l,{content:e.modelValue?.id},null,8,["content"])]),n("p",Dt,[t($,{icon:"fa-solid fa-circle-info",class:"mr-1"}),g(" "+i(e.$t("luma.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),t(l,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),n("p",Ft,[t($,{icon:"fa-solid fa-hashtag",class:"mr-1"}),g(" "+i(e.$t("luma.name.traceId"))+": "+i(e.modelValue?.trace_id)+" ",1),t(l,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):f("",!0),!e.modelValue?.response||e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),m("div",Mt,[t(V,{closable:!1,class:"info"},{template:u(()=>[t($,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+i(e.$t("luma.name.failure")),1)]),default:u(()=>[n("p",Bt,[t($,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(l,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):f("",!0)])])}const qt=b(yt,[["render",Ot],["__scopeId","data-v-1b4a59bc"]]),Nt=v({name:"RecentPanel",components:{BotPlaceholder:ae,TaskPreview:qt,NoTasks:Z},emits:["reach-top","extend"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{onHandleScroll(){const e=this.$refs.panel;console.log("reach-top reach-top reach-top"),e.scrollTop===0&&this.$emit("reach-top")}}}),Ht={key:0},Kt={key:1,class:"tasks w-full h-full overflow-y-auto"},xt={key:2,class:"w-full h-full flex items-center justify-center"};function Jt(e,o,p,h,w,y){const r=s("bot-placeholder"),d=s("task-preview"),c=s("no-tasks");return a(),m(D,null,[e.tasks?.items===void 0?(a(),m("div",Ht,[t(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),m("div",Kt,[(a(!0),m(D,null,K(e.tasks?.items,_=>(a(),k(d,{key:_.id,"model-value":_,onExtend:o[0]||(o[0]=$=>e.$emit("extend"))},null,8,["model-value"]))),128))])):f("",!0),e.tasks?.items?.length===0?(a(),m("div",xt,[t(c)])):f("",!0)],64)}const Qt=b(Nt,[["render",Jt]]),Wt="https://webhook.acedata.cloud/luma",Xt=v({name:"LumaIndex",components:{ConfigPanel:wt,Layout:ue,RecentPanel:Qt},inject:["initialized"],emits:["extend"],data(){return{task:void 0,job:0}},computed:{loading(){return this.$store.state.luma?.status?.getApplications===Q.Request},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){console.debug("reached top"),await this.onGetTasks({createdAtMax:this.tasks?.items?.[0]?.created_at})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("luma/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("luma/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){console.debug("scrolling down"),setTimeout(()=>{const e=document.querySelector(".tasks");e&&(e.scrollTop=e.scrollHeight)},500)},async onGetTasks(e){if(this.loading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:p,createdAtMax:h}=e||{};console.debug("limit",o,"createdAtMin",p,"createdAtMax",h),await this.$store.dispatch("luma/getTasks",{limit:o,createdAtMin:p,createdAtMax:h})},async onGenerate(){const e={...this.config,callback_url:Wt},o=this.credential?.token;if(!o){console.error("no token specified");return}E.info(this.$t("luma.message.startingTask")),x.generate(e,{token:o}).then(()=>{E.success(this.$t("luma.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===J?E.error(this.$t("luma.message.usedUp")):E.error(this.$t("luma.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}});function Yt(e,o,p,h,w,y){const r=s("config-panel"),d=s("recent-panel"),c=s("layout");return a(),k(c,null,{config:u(()=>[t(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[t(d,{onReachTop:e.onReachTop,onExtend:o[0]||(o[0]=_=>e.$emit("extend"))},null,8,["onReachTop"])]),_:1})}const To=b(Xt,[["render",Yt]]);export{To as default};
@@ -1 +1 @@
1
- import{F as G}from"./index.es-B1Cre0ht.js";import{E as R}from"./index-CvUpzdE1.js";import{E as M}from"./index-CDRWFNPw.js";import{d as $,h as g,b as r,t as l,k as t,r as L,j as u,l as s,o as n,eJ as z,x as a,F as C,v as U,i as y,eK as N,eL as q,eM as H,n as T,f as J,y as f,cf as K,D as h,J as E,K as S,eN as Q,dA as W,dw as X}from"./index-Bxn0D_Ay.js";import{E as D,a as O}from"./index-ZXXqKgb5.js";import{I as j}from"./InfoIcon-xpG6wYiZ.js";import{E as Y}from"./index-Nq6BDZRS.js";import{V as P}from"./VideoPlayer-BAU_i6Xt.js";import{I as Z}from"./ImagePreview-BKjWRoxg.js";import{E as x}from"./index-CiupJjd2.js";import{E as I}from"./index-KMXdPkbR.js";import{C as ee,N as te}from"./NoTasks-RqxH5tU5.js";import{E as oe}from"./index-BG27krBY.js";import{a as se}from"./price-crtYVYmR.js";import{C as ne}from"./CopyToClipboard-C7oZlhvf.js";import{E as ae}from"./index-zhXzFU3e.js";import{E as le}from"./index-I256GqO3.js";import{E as ie}from"./index-r5mkEdBU.js";import{B as re}from"./BotPlaceholder-BgltR-o8.js";import"./use-form-item-BHzDGeGF.js";import"./index-r5W6hzzQ.js";import"./index-BZxyIS6v.js";import"./typescript-14ZN9Iqb.js";import"./index-DA1L1iqe.js";import"./strings-Djoxz8AJ.js";import"./castArray-C-yFxvxW.js";import"./isEqual-CYpeyoZ0.js";import"./_initCloneObject-BzNbsgMU.js";import"./debounce-D_GSfnKF.js";import"./_baseIteratee-W5a_Nlyi.js";import"./index-ekLS25Os.js";import"./vue-plyr-QZFBikSk.js";import"./index-C7dq5GDX.js";import"./_baseClone-DtzNljAk.js";import"./index-kwhOoHli.js";import"./index-CMofrOYp.js";const ce=$({name:"LayoutVeo",components:{ElDrawer:M,ElButton:R,FontAwesomeIcon:G},data(){return{drawer:!1}}}),de={class:"main flex flex-row flex-1"},ue={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},pe={class:"result h-full p-[15px] flex-1 flex flex-col"};function me(e,o,m,v,b,w){const c=s("font-awesome-icon"),d=s("el-button"),i=s("el-drawer");return n(),r("div",de,[l("div",ue,[L(e.$slots,"config",{},void 0,!0)]),l("div",pe,[L(e.$slots,"result",{},void 0,!0)]),t(d,{circle:"",class:"menu",onClick:o[0]||(o[0]=k=>e.drawer=!0)},{default:u(()=>[t(c,{icon:"fa-solid fa-magic"})]),_:1}),t(i,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=k=>e.drawer=k),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[L(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const fe=g(ce,[["render",me],["__scopeId","data-v-cfe3cae3"]]),ve=$({name:"ModelSelector",components:{ElSelect:O,ElOption:D},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"}]}},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=z)}}),_e={class:"field"},he={class:"title font-bold"};function $e(e,o,m,v,b,w){const c=s("el-option"),d=s("el-select");return n(),r("div",_e,[l("h2",he,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(C,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 ge=g(ve,[["render",$e],["__scopeId","data-v-ef445fc5"]]),be=$({name:"ActionSelector",components:{ElSelect:O,ElOption:D},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=N)}}),we={class:"field"},ke={class:"title font-bold"},ye={class:"float-left"};function Ve(e,o,m,v,b,w){const c=s("el-option"),d=s("el-select");return n(),r("div",we,[l("h2",ke,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(C,null,U(e.options,i=>(n(),y(c,{key:i.value,label:i.label,value:i.value},{default:u(()=>[l("span",ye,a(i.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ee=g(be,[["render",Ve],["__scopeId","data-v-ba5abc8a"]]),Se=$({name:"TranslationSelector",components:{ElSwitch:Y,InfoIcon:j},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=q)}}),Ie={class:"relative"},Te={class:"flex justify-between"},Ae={class:"flex justify-start items-center"},Ce={class:"text-sm font-bold"},Ge={class:"flex justify-end items-center"};function Re(e,o,m,v,b,w){const c=s("info-icon"),d=s("el-switch");return n(),r("div",Ie,[l("div",Te,[l("div",Ae,[l("span",Ce,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 Ue=g(Se,[["render",Re]]),Le=$({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=H)}}),je={class:"text-sm font-bold mb-2 block"},De={class:"items"},Oe=["onClick"],Pe={class:"name"};function Fe(e,o,m,v,b,w){return n(),r("div",null,[l("span",je,a(e.$t("veo.name.ratio")),1),l("div",De,[(n(!0),r(C,null,U(e.options,(c,d)=>(n(),r("div",{key:d,class:T({active:e.active===d,item:!0}),onClick:i=>e.value=c.value},[l("div",{class:T(["preview",c.label])},[l("div",{class:"rect",style:J({width:c.width+"px",height:c.height+"px"})},null,4)],2),l("p",Pe,a(c.label),1)],10,Oe))),128))])])}const Be=g(Le,[["render",Fe],["__scopeId","data-v-688d3e9d"]]),Me=$({name:"VideoFromInput",components:{VideoPlayer:P},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.veo?.config}}}),ze={class:"relative"},Ne={class:"flex mb-2"},qe={class:"text-sm font-bold"};function He(e,o,m,v,b,w){const c=s("video-player");return n(),r("div",ze,[l("div",Ne,[l("span",qe,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"])):f("",!0)])])}const Je=g(Me,[["render",He]]),Ke=$({name:"StartEndImage",components:{ElUpload:x,ElButton:R,InfoIcon:j,FontAwesomeIcon:G,ImagePreview:Z},emits:["change"],data(){return{fileList:[],uploadUrl:K()+"/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(){I.warning(this.$t("veo.message.uploadReferencesExceed"))},onError(){I.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()}}}),Qe={class:"relative"},We={class:"flex justify-between"},Xe={class:"flex justify-start items-center"},Ye={class:"text-sm font-bold"};function Ze(e,o,m,v,b,w){const c=s("info-icon"),d=s("image-preview"),i=s("font-awesome-icon"),k=s("el-button"),_=s("el-upload");return n(),r("div",Qe,[l("div",We,[l("div",Xe,[l("span",Ye,a(e.$t("veo.name.startEndImage")),1),t(c,{content:e.$t("veo.description.uploadStartEndImage")},null,8,["content"])])]),t(_,{"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:V=>e.fileList.splice(e.fileList.indexOf(p),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:u(()=>[t(k,{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 xe=g(Ke,[["render",Ze],["__scopeId","data-v-43d971b7"]]),et="",tt=$({name:"PromptInput",components:{ElInput:oe,InfoIcon:j},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=et)}}),ot={class:"field"},st={class:"box"},nt={class:"title font-bold"};function at(e,o,m,v,b,w){const c=s("info-icon"),d=s("el-input");return n(),r("div",ot,[l("div",st,[l("h2",nt,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"),maxlength:500,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const lt=g(tt,[["render",at],["__scopeId","data-v-9189572a"]]),it=$({name:"ConfigPanel",components:{ElButton:R,Consumption:ee,FontAwesomeIcon:G,PromptInput:lt,ModelSelector:ge,StartEndImage:xe,ActionSelector:Ee,VideoFromInput:Je,TranslationSelector:Ue,AspectRatioSelector:Be},emits:["generate"],computed:{config(){return this.$store.state.veo?.config},consumption(){return se(this.config,this.service?.metadata?.price)},service(){return this.$store.state.veo?.service}},methods:{onGenerate(){this.$emit("generate")}}}),rt={class:"flex flex-col h-full"},ct={class:"flex-1 overflow-y-auto p-[15px]"},dt={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function ut(e,o,m,v,b,w){const c=s("video-from-input"),d=s("action-selector"),i=s("translation-selector"),k=s("aspect-ratio-selector"),_=s("prompt-input"),p=s("model-selector"),V=s("start-end-image"),A=s("consumption"),F=s("font-awesome-icon"),B=s("el-button");return n(),r("div",rt,[l("div",ct,[E(t(c,{class:"mb-4"},null,512),[[S,e.config?.action==="get1080p"]]),t(d,{class:"mb-4"}),E(t(i,{class:"mb-4"},null,512),[[S,e.config?.action!=="get1080p"]]),E(t(k,{class:"mb-4"},null,512),[[S,e.config?.action==="image2video"]]),E(t(_,{class:"mb-4"},null,512),[[S,e.config?.action!=="get1080p"]]),E(t(p,{class:"mb-4"},null,512),[[S,e.config?.action!=="get1080p"]]),E(t(V,{class:"mb-2"},null,512),[[S,e.config?.action==="image2video"]])]),l("div",dt,[t(A,{value:e.consumption,service:e.service},null,8,["value","service"]),t(B,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(F,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+a(e.$t("veo.button.generate")),1)]),_:1},8,["onClick"])])])}const pt=g(it,[["render",ut]]),mt=$({name:"TaskPreview",components:{ElImage:ie,CopyToClipboard:ne,FontAwesomeIcon:G,ElAlert:le,VideoPlayer:P,ElTooltip:ae,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")}}}),ft={class:"preview"},vt={class:"left"},_t={class:"main"},ht={class:"bot"},$t={class:"datetime"},gt={class:"info"},bt={key:0,class:"prompt mt-2"},wt={key:0},kt={key:1},yt={key:0,class:T({content:!0,failed:!0})},Vt={key:0,class:"mb-4"},Et={key:1,class:T({operations:!0,"mt-2":!0})},St={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Tt={key:1,class:T({content:!0})},At={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ct={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"},Rt={key:2,class:T({content:!0})},Ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function jt(e,o,m,v,b,w){const c=s("el-image"),d=s("video-player"),i=s("el-button"),k=s("el-tooltip"),_=s("font-awesome-icon"),p=s("copy-to-clipboard"),V=s("el-alert");return n(),r("div",ft,[l("div",vt,[t(c,{src:"https://cdn.acedata.cloud/8nxyy9.jpg",class:"avatar"})]),l("div",_t,[l("div",ht,[h(a(e.$t("veo.name.veoBot"))+" ",1),l("span",$t,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",gt,[e.modelValue?.request?.prompt?(n(),r("p",bt,[h(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?f("",!0):(n(),r("span",wt," - ("+a(e.$t("veo.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="running"?(n(),r("span",kt," - ("+a(e.$t("veo.status.processing"))+") ",1)):f("",!0)])):f("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(n(),r("div",yt,[e.modelValue?.response?.data[0]?.video_url?(n(),r("div",Vt,[t(d,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):f("",!0),e.modelValue?.response.success?(n(),r("div",Et,[t(k,{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]=A=>e.onGet1080p(A,e.modelValue?.response))},{default:u(()=>[h(a(e.$t("veo.button.action3")),1)]),_:1})):f("",!0)]),_:1},8,["content"]),t(k,{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]=A=>e.onDownload(A,e.modelValue?.response?.data[0]?.video_url))},{default:u(()=>[h(a(e.$t("veo.button.download")),1)]),_:1})):f("",!0)]),_:1},8,["content"])])):f("",!0),t(V,{closable:!1,class:"mt-2 success"},{default:u(()=>[l("p",St,[t(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+a(e.$t("veo.name.model"))+": "+a(e.modelValue?.request?.model),1)]),l("p",It,[t(_,{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})])):f("",!0),e.modelValue?.response?.success===!1?(n(),r("div",Tt,[t(V,{closable:!1,class:"failure"},{template:u(()=>[t(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+a(e.$t("veo.name.failure")),1)]),default:u(()=>[l("p",At,[t(_,{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",Ct,[t(_,{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(_,{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"])])):f("",!0)]),_:1})])):f("",!0),e.modelValue?.response?.success===void 0?(n(),r("div",Rt,[t(V,{closable:!1,class:"info"},{template:u(()=>[t(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+a(e.$t("veo.name.failure")),1)]),default:u(()=>[l("p",Ut,[t(_,{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",Lt,[t(_,{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"])])):f("",!0)]),_:1})])):f("",!0)])])}const Dt=g(mt,[["render",jt],["__scopeId","data-v-5372c9d1"]]),Ot=$({name:"RecentPanel",components:{TaskPreview:Dt,NoTasks:te,BotPlaceholder:re},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.veo?.tasks,items:this.$store.state.veo?.tasks?.items?.slice()}}},methods:{onHandleScroll(){const e=this.$refs.panel;console.log("reach-top reach-top reach-top"),e.scrollTop===0&&this.$emit("reach-top")}}}),Pt={key:0},Ft={key:1,class:"tasks h-full w-full overflow-y-auto"},Bt={key:2,class:"w-full h-full flex items-center justify-center"};function Mt(e,o,m,v,b,w){const c=s("bot-placeholder"),d=s("task-preview"),i=s("no-tasks");return n(),r(C,null,[e.tasks?.items===void 0?(n(),r("div",Pt,[t(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),r("div",Ft,[(n(!0),r(C,null,U(e.tasks?.items,(k,_)=>(n(),y(d,{key:_,"model-value":k},null,8,["model-value"]))),128))])):f("",!0),e.tasks?.items?.length===0?(n(),r("div",Bt,[t(i)])):f("",!0)],64)}const zt=g(Ot,[["render",Mt]]),Nt="https://webhook.acedata.cloud/veo",qt=$({name:"VeoIndex",components:{ConfigPanel:pt,Layout:fe,RecentPanel:zt},inject:["initialized"],data(){return{task:void 0,job:0}},computed:{loading(){return this.$store.state.veo?.status?.getApplications===X.Request},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=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){console.debug("reached top"),await this.onGetTasks({createdAtMax:this.tasks?.items?.[0]?.created_at})},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(){setTimeout(()=>{const e=document.querySelector(".tasks");e&&(e.scrollTop=e.scrollHeight)},500)},async onGetTasks(e){if(this.loading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:m,createdAtMax:v}=e||{};console.debug("limit",o,"createdAtMin",m,"createdAtMax",v),await this.$store.dispatch("veo/getTasks",{limit:o,createdAtMin:m,createdAtMax:v})},async onGenerate(){const e={...this.config,callback_url:Nt},o=this.credential?.token;if(!o){console.error("no token specified");return}I.info(this.$t("veo.message.startingTask")),Q.generate(e,{token:o}).then(()=>{I.success(this.$t("veo.message.startTaskSuccess"))}).catch(m=>{m?.response?.data?.error?.code===W?I.error(this.$t("veo.message.usedUp")):I.error(this.$t("veo.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}});function Ht(e,o,m,v,b,w){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,{onReachTop:e.onReachTop},null,8,["onReachTop"])]),_:1})}const Ao=g(qt,[["render",Ht]]);export{Ao as default};
1
+ import{F as G}from"./index.es-BLCm9UT-.js";import{E as R}from"./index-Czog4o5z.js";import{E as M}from"./index-Cs65NgP9.js";import{d as $,h as g,b as r,t as l,k as t,r as L,j as u,l as s,o as n,eJ as z,x as a,F as C,v as U,i as y,eK as N,eL as q,eM as H,n as T,f as J,y as f,cf as K,D as h,J as E,K as S,eN as Q,dA as W,dw as X}from"./index-CLwJbfYs.js";import{E as D,a as O}from"./index-CLOiWNZO.js";import{I as j}from"./InfoIcon-htaT17q9.js";import{E as Y}from"./index-BU5-qzoD.js";import{V as P}from"./VideoPlayer-DCap_X2q.js";import{I as Z}from"./ImagePreview-VnpfW9Pj.js";import{E as x}from"./index-Colfa9sv.js";import{E as I}from"./index-CQvuK-4v.js";import{C as ee,N as te}from"./NoTasks-DHdI1Frr.js";import{E as oe}from"./index-DHn59BRx.js";import{a as se}from"./price-CZSDhLnN.js";import{C as ne}from"./CopyToClipboard-CzE5Qyes.js";import{E as ae}from"./index-DITqxnfk.js";import{E as le}from"./index-DNuWNnk-.js";import{E as ie}from"./index-O2tEst1s.js";import{B as re}from"./BotPlaceholder-DKPNFbIr.js";import"./use-form-item-CRDWzFx1.js";import"./index-r5W6hzzQ.js";import"./index-DNzgGVij.js";import"./typescript-CoKqfRJS.js";import"./index-AT7DtKgl.js";import"./strings-WMZYwrQD.js";import"./castArray-CoJ3z4SB.js";import"./isEqual-DQdO_K1-.js";import"./_initCloneObject-iRvJrG7M.js";import"./debounce-CEE_CsrA.js";import"./_baseIteratee-Bk7QROEW.js";import"./index-Dc0-osYE.js";import"./vue-plyr-QZFBikSk.js";import"./index-D3gVuWw7.js";import"./_baseClone-B6o0klpv.js";import"./index-C1s2diPf.js";import"./index-MlWSSchD.js";const ce=$({name:"LayoutVeo",components:{ElDrawer:M,ElButton:R,FontAwesomeIcon:G},data(){return{drawer:!1}}}),de={class:"main flex flex-row flex-1"},ue={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},pe={class:"result h-full p-[15px] flex-1 flex flex-col"};function me(e,o,m,v,b,w){const c=s("font-awesome-icon"),d=s("el-button"),i=s("el-drawer");return n(),r("div",de,[l("div",ue,[L(e.$slots,"config",{},void 0,!0)]),l("div",pe,[L(e.$slots,"result",{},void 0,!0)]),t(d,{circle:"",class:"menu",onClick:o[0]||(o[0]=k=>e.drawer=!0)},{default:u(()=>[t(c,{icon:"fa-solid fa-magic"})]),_:1}),t(i,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=k=>e.drawer=k),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[L(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const fe=g(ce,[["render",me],["__scopeId","data-v-cfe3cae3"]]),ve=$({name:"ModelSelector",components:{ElSelect:O,ElOption:D},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"}]}},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=z)}}),_e={class:"field"},he={class:"title font-bold"};function $e(e,o,m,v,b,w){const c=s("el-option"),d=s("el-select");return n(),r("div",_e,[l("h2",he,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(C,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 ge=g(ve,[["render",$e],["__scopeId","data-v-ef445fc5"]]),be=$({name:"ActionSelector",components:{ElSelect:O,ElOption:D},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=N)}}),we={class:"field"},ke={class:"title font-bold"},ye={class:"float-left"};function Ve(e,o,m,v,b,w){const c=s("el-option"),d=s("el-select");return n(),r("div",we,[l("h2",ke,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(C,null,U(e.options,i=>(n(),y(c,{key:i.value,label:i.label,value:i.value},{default:u(()=>[l("span",ye,a(i.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ee=g(be,[["render",Ve],["__scopeId","data-v-ba5abc8a"]]),Se=$({name:"TranslationSelector",components:{ElSwitch:Y,InfoIcon:j},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=q)}}),Ie={class:"relative"},Te={class:"flex justify-between"},Ae={class:"flex justify-start items-center"},Ce={class:"text-sm font-bold"},Ge={class:"flex justify-end items-center"};function Re(e,o,m,v,b,w){const c=s("info-icon"),d=s("el-switch");return n(),r("div",Ie,[l("div",Te,[l("div",Ae,[l("span",Ce,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 Ue=g(Se,[["render",Re]]),Le=$({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=H)}}),je={class:"text-sm font-bold mb-2 block"},De={class:"items"},Oe=["onClick"],Pe={class:"name"};function Fe(e,o,m,v,b,w){return n(),r("div",null,[l("span",je,a(e.$t("veo.name.ratio")),1),l("div",De,[(n(!0),r(C,null,U(e.options,(c,d)=>(n(),r("div",{key:d,class:T({active:e.active===d,item:!0}),onClick:i=>e.value=c.value},[l("div",{class:T(["preview",c.label])},[l("div",{class:"rect",style:J({width:c.width+"px",height:c.height+"px"})},null,4)],2),l("p",Pe,a(c.label),1)],10,Oe))),128))])])}const Be=g(Le,[["render",Fe],["__scopeId","data-v-688d3e9d"]]),Me=$({name:"VideoFromInput",components:{VideoPlayer:P},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.veo?.config}}}),ze={class:"relative"},Ne={class:"flex mb-2"},qe={class:"text-sm font-bold"};function He(e,o,m,v,b,w){const c=s("video-player");return n(),r("div",ze,[l("div",Ne,[l("span",qe,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"])):f("",!0)])])}const Je=g(Me,[["render",He]]),Ke=$({name:"StartEndImage",components:{ElUpload:x,ElButton:R,InfoIcon:j,FontAwesomeIcon:G,ImagePreview:Z},emits:["change"],data(){return{fileList:[],uploadUrl:K()+"/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(){I.warning(this.$t("veo.message.uploadReferencesExceed"))},onError(){I.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()}}}),Qe={class:"relative"},We={class:"flex justify-between"},Xe={class:"flex justify-start items-center"},Ye={class:"text-sm font-bold"};function Ze(e,o,m,v,b,w){const c=s("info-icon"),d=s("image-preview"),i=s("font-awesome-icon"),k=s("el-button"),_=s("el-upload");return n(),r("div",Qe,[l("div",We,[l("div",Xe,[l("span",Ye,a(e.$t("veo.name.startEndImage")),1),t(c,{content:e.$t("veo.description.uploadStartEndImage")},null,8,["content"])])]),t(_,{"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:V=>e.fileList.splice(e.fileList.indexOf(p),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:u(()=>[t(k,{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 xe=g(Ke,[["render",Ze],["__scopeId","data-v-43d971b7"]]),et="",tt=$({name:"PromptInput",components:{ElInput:oe,InfoIcon:j},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=et)}}),ot={class:"field"},st={class:"box"},nt={class:"title font-bold"};function at(e,o,m,v,b,w){const c=s("info-icon"),d=s("el-input");return n(),r("div",ot,[l("div",st,[l("h2",nt,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"),maxlength:500,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const lt=g(tt,[["render",at],["__scopeId","data-v-9189572a"]]),it=$({name:"ConfigPanel",components:{ElButton:R,Consumption:ee,FontAwesomeIcon:G,PromptInput:lt,ModelSelector:ge,StartEndImage:xe,ActionSelector:Ee,VideoFromInput:Je,TranslationSelector:Ue,AspectRatioSelector:Be},emits:["generate"],computed:{config(){return this.$store.state.veo?.config},consumption(){return se(this.config,this.service?.metadata?.price)},service(){return this.$store.state.veo?.service}},methods:{onGenerate(){this.$emit("generate")}}}),rt={class:"flex flex-col h-full"},ct={class:"flex-1 overflow-y-auto p-[15px]"},dt={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function ut(e,o,m,v,b,w){const c=s("video-from-input"),d=s("action-selector"),i=s("translation-selector"),k=s("aspect-ratio-selector"),_=s("prompt-input"),p=s("model-selector"),V=s("start-end-image"),A=s("consumption"),F=s("font-awesome-icon"),B=s("el-button");return n(),r("div",rt,[l("div",ct,[E(t(c,{class:"mb-4"},null,512),[[S,e.config?.action==="get1080p"]]),t(d,{class:"mb-4"}),E(t(i,{class:"mb-4"},null,512),[[S,e.config?.action!=="get1080p"]]),E(t(k,{class:"mb-4"},null,512),[[S,e.config?.action==="image2video"]]),E(t(_,{class:"mb-4"},null,512),[[S,e.config?.action!=="get1080p"]]),E(t(p,{class:"mb-4"},null,512),[[S,e.config?.action!=="get1080p"]]),E(t(V,{class:"mb-2"},null,512),[[S,e.config?.action==="image2video"]])]),l("div",dt,[t(A,{value:e.consumption,service:e.service},null,8,["value","service"]),t(B,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(F,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+a(e.$t("veo.button.generate")),1)]),_:1},8,["onClick"])])])}const pt=g(it,[["render",ut]]),mt=$({name:"TaskPreview",components:{ElImage:ie,CopyToClipboard:ne,FontAwesomeIcon:G,ElAlert:le,VideoPlayer:P,ElTooltip:ae,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")}}}),ft={class:"preview"},vt={class:"left"},_t={class:"main"},ht={class:"bot"},$t={class:"datetime"},gt={class:"info"},bt={key:0,class:"prompt mt-2"},wt={key:0},kt={key:1},yt={key:0,class:T({content:!0,failed:!0})},Vt={key:0,class:"mb-4"},Et={key:1,class:T({operations:!0,"mt-2":!0})},St={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Tt={key:1,class:T({content:!0})},At={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ct={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"},Rt={key:2,class:T({content:!0})},Ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function jt(e,o,m,v,b,w){const c=s("el-image"),d=s("video-player"),i=s("el-button"),k=s("el-tooltip"),_=s("font-awesome-icon"),p=s("copy-to-clipboard"),V=s("el-alert");return n(),r("div",ft,[l("div",vt,[t(c,{src:"https://cdn.acedata.cloud/8nxyy9.jpg",class:"avatar"})]),l("div",_t,[l("div",ht,[h(a(e.$t("veo.name.veoBot"))+" ",1),l("span",$t,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",gt,[e.modelValue?.request?.prompt?(n(),r("p",bt,[h(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?f("",!0):(n(),r("span",wt," - ("+a(e.$t("veo.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="running"?(n(),r("span",kt," - ("+a(e.$t("veo.status.processing"))+") ",1)):f("",!0)])):f("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(n(),r("div",yt,[e.modelValue?.response?.data[0]?.video_url?(n(),r("div",Vt,[t(d,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):f("",!0),e.modelValue?.response.success?(n(),r("div",Et,[t(k,{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]=A=>e.onGet1080p(A,e.modelValue?.response))},{default:u(()=>[h(a(e.$t("veo.button.action3")),1)]),_:1})):f("",!0)]),_:1},8,["content"]),t(k,{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]=A=>e.onDownload(A,e.modelValue?.response?.data[0]?.video_url))},{default:u(()=>[h(a(e.$t("veo.button.download")),1)]),_:1})):f("",!0)]),_:1},8,["content"])])):f("",!0),t(V,{closable:!1,class:"mt-2 success"},{default:u(()=>[l("p",St,[t(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+a(e.$t("veo.name.model"))+": "+a(e.modelValue?.request?.model),1)]),l("p",It,[t(_,{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})])):f("",!0),e.modelValue?.response?.success===!1?(n(),r("div",Tt,[t(V,{closable:!1,class:"failure"},{template:u(()=>[t(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+a(e.$t("veo.name.failure")),1)]),default:u(()=>[l("p",At,[t(_,{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",Ct,[t(_,{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(_,{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"])])):f("",!0)]),_:1})])):f("",!0),e.modelValue?.response?.success===void 0?(n(),r("div",Rt,[t(V,{closable:!1,class:"info"},{template:u(()=>[t(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+a(e.$t("veo.name.failure")),1)]),default:u(()=>[l("p",Ut,[t(_,{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",Lt,[t(_,{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"])])):f("",!0)]),_:1})])):f("",!0)])])}const Dt=g(mt,[["render",jt],["__scopeId","data-v-5372c9d1"]]),Ot=$({name:"RecentPanel",components:{TaskPreview:Dt,NoTasks:te,BotPlaceholder:re},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.veo?.tasks,items:this.$store.state.veo?.tasks?.items?.slice()}}},methods:{onHandleScroll(){const e=this.$refs.panel;console.log("reach-top reach-top reach-top"),e.scrollTop===0&&this.$emit("reach-top")}}}),Pt={key:0},Ft={key:1,class:"tasks h-full w-full overflow-y-auto"},Bt={key:2,class:"w-full h-full flex items-center justify-center"};function Mt(e,o,m,v,b,w){const c=s("bot-placeholder"),d=s("task-preview"),i=s("no-tasks");return n(),r(C,null,[e.tasks?.items===void 0?(n(),r("div",Pt,[t(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),r("div",Ft,[(n(!0),r(C,null,U(e.tasks?.items,(k,_)=>(n(),y(d,{key:_,"model-value":k},null,8,["model-value"]))),128))])):f("",!0),e.tasks?.items?.length===0?(n(),r("div",Bt,[t(i)])):f("",!0)],64)}const zt=g(Ot,[["render",Mt]]),Nt="https://webhook.acedata.cloud/veo",qt=$({name:"VeoIndex",components:{ConfigPanel:pt,Layout:fe,RecentPanel:zt},inject:["initialized"],data(){return{task:void 0,job:0}},computed:{loading(){return this.$store.state.veo?.status?.getApplications===X.Request},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=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){console.debug("reached top"),await this.onGetTasks({createdAtMax:this.tasks?.items?.[0]?.created_at})},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(){setTimeout(()=>{const e=document.querySelector(".tasks");e&&(e.scrollTop=e.scrollHeight)},500)},async onGetTasks(e){if(this.loading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:m,createdAtMax:v}=e||{};console.debug("limit",o,"createdAtMin",m,"createdAtMax",v),await this.$store.dispatch("veo/getTasks",{limit:o,createdAtMin:m,createdAtMax:v})},async onGenerate(){const e={...this.config,callback_url:Nt},o=this.credential?.token;if(!o){console.error("no token specified");return}I.info(this.$t("veo.message.startingTask")),Q.generate(e,{token:o}).then(()=>{I.success(this.$t("veo.message.startTaskSuccess"))}).catch(m=>{m?.response?.data?.error?.code===W?I.error(this.$t("veo.message.usedUp")):I.error(this.$t("veo.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}});function Ht(e,o,m,v,b,w){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,{onReachTop:e.onReachTop},null,8,["onReachTop"])]),_:1})}const Ao=g(qt,[["render",Ht]]);export{Ao as default};
@@ -0,0 +1 @@
1
+ import{F as O}from"./index.es-BLCm9UT-.js";import{E as C}from"./index-Czog4o5z.js";import{E as z}from"./index-Cs65NgP9.js";import{d as k,h as y,b as l,t as i,k as t,r as D,j as $,l as s,o as n,fi as W,x as a,F as w,v as V,i as A,cf as K,D as m,fj as H,fk as J,fl as Q,fm as L,fn as U,fo as j,fp as G,fq as M,y as h,n as q,aq as X,fr as Y,dA as Z,dw as x}from"./index-CLwJbfYs.js";import{I as T}from"./InfoIcon-htaT17q9.js";import{E as P,a as B}from"./index-CLOiWNZO.js";import{E as ee}from"./index-DHn59BRx.js";import{I as F}from"./ImagePreview-VnpfW9Pj.js";import{E as te}from"./index-Colfa9sv.js";import{E as I}from"./index-CQvuK-4v.js";import{C as oe,N as ne}from"./NoTasks-DHdI1Frr.js";import{a as ae}from"./price-CZSDhLnN.js";import{C as se}from"./CopyToClipboard-CzE5Qyes.js";import{I as le}from"./ImageWrapper-C2PohC6W.js";import{E as re}from"./index-DITqxnfk.js";import{E as ie}from"./index-DNuWNnk-.js";import{E as ce}from"./index-O2tEst1s.js";import{B as ue}from"./BotPlaceholder-DKPNFbIr.js";import"./use-form-item-CRDWzFx1.js";import"./index-r5W6hzzQ.js";import"./index-DNzgGVij.js";import"./typescript-CoKqfRJS.js";import"./index-AT7DtKgl.js";import"./strings-WMZYwrQD.js";import"./castArray-CoJ3z4SB.js";import"./isEqual-DQdO_K1-.js";import"./_initCloneObject-iRvJrG7M.js";import"./debounce-CEE_CsrA.js";import"./_baseIteratee-Bk7QROEW.js";import"./index-Dc0-osYE.js";import"./index-C1s2diPf.js";import"./index-D3gVuWw7.js";import"./_baseClone-B6o0klpv.js";import"./index-MlWSSchD.js";const de=k({name:"LayoutNanobanana",components:{ElDrawer:z,ElButton:C,FontAwesomeIcon:O},data(){return{drawer:!1}}}),me={class:"main flex flex-row flex-1"},pe={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},fe={class:"result h-full p-[15px] flex-1 flex flex-col"};function he(e,o,b,r,_,g){const p=s("font-awesome-icon"),f=s("el-button"),d=s("el-drawer");return n(),l("div",me,[i("div",pe,[D(e.$slots,"config",{},void 0,!0)]),i("div",fe,[D(e.$slots,"result",{},void 0,!0)]),t(f,{circle:"",class:"menu",onClick:o[0]||(o[0]=u=>e.drawer=!0)},{default:$(()=>[t(p,{icon:"fa-solid fa-magic"})]),_:1}),t(d,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=u=>e.drawer=u),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:$(()=>[D(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const _e=y(de,[["render",he],["__scopeId","data-v-3794959b"]]),be=k({name:"ActionSelector",components:{ElSelect:B,ElOption:P,InfoIcon:T},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"generate",label:this.$t("nanobanana.name.generate")},{value:"edit",label:this.$t("nanobanana.name.edits")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.action},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana.config,action:e})}},actionDescription(){return this.$te("nanobanana.description.action")?this.$t("nanobanana.description.action"):"The action to generate the images. If generate, images are generated from the prompt; if edit, they are edited based on the prompt and uploaded images."}},mounted(){this.value||(this.value=W)}}),$e={class:"field"},ge={class:"label"},ve={class:"box"},ke={class:"title font-bold"};function ye(e,o,b,r,_,g){const p=s("info-icon"),f=s("el-option"),d=s("el-select");return n(),l("div",$e,[i("div",ge,[i("div",ve,[i("h2",ke,a(e.$t("nanobanana.name.task")),1),t(p,{content:e.actionDescription,class:"info"},null,8,["content"])])]),t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=u=>e.value=u),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(w,null,V(e.options,u=>(n(),A(f,{key:u.value,label:u.label,value:u.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const we=y(be,[["render",ye],["__scopeId","data-v-90545c19"]]),Ae="",Ve=k({name:"PromptInput",components:{ElInput:ee,InfoIcon:T},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Ae)}}),Ne={class:"field"},Ee={class:"box"},Ie={class:"title font-bold"};function Re(e,o,b,r,_,g){const p=s("info-icon"),f=s("el-input");return n(),l("div",Ne,[i("div",Ee,[i("h2",Ie,a(e.$t("nanobanana.name.prompt")),1),t(p,{content:e.$t("nanobanana.description.prompt"),class:"info"},null,8,["content"])]),t(f,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=d=>e.prompt=d),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("nanobanana.placeholder.prompt"),maxlength:300,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const Te=y(Ve,[["render",Re],["__scopeId","data-v-38b040ab"]]),Se=k({name:"ImageUrlsInput",components:{ElUpload:te,ElButton:C,InfoIcon:T,ImagePreview:F,FontAwesomeIcon:O},data(){return{fileList:[],uploadUrl:K()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const r=(this.fileList||[]).filter(_=>!_?.response?.file_url);this.fileList=r.length?r:[];return}const o=[];e.forEach(r=>{const _=this.fileList.find(g=>g?.response?.file_url===r||g?.url===r);_?o.push(_):o.push({name:r.split("/").pop()||r,url:r,status:"success",percentage:100,response:{file_url:r}})}),(this.fileList||[]).filter(r=>!r?.response?.file_url).forEach(r=>{o.some(g=>g===r||g?.url===r?.url||g?.response?.file_url===r?.response?.file_url)||o.push(r)}),this.fileList=o}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){I.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){I.error(this.$t("nanobanana.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,o){e?.file_url&&(o.url=e.file_url,o.response=e),this.onSetImageUrls()},onRemovePreview(e,o){if(this.fileList.splice(e,1),o?.url&&typeof o.url=="string"&&o.url.startsWith("blob:"))try{URL.revokeObjectURL(o.url)}catch{}this.onSetImageUrls()}}}),Ue={class:"field flex items-center justify-between"},Le={class:"title font-bold text-[14px] mb-[10px]"},Oe={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Ce={class:"controls flex items-center"},qe={class:"file-list flex flex-wrap gap-[10px]"};function Pe(e,o,b,r,_,g){const p=s("font-awesome-icon"),f=s("el-button"),d=s("el-upload"),u=s("info-icon"),R=s("image-preview");return n(),l(w,null,[i("div",Ue,[i("h2",Le,a(e.$t("nanobanana.name.imageUrls")),1),i("div",Oe,[i("div",Ce,[t(d,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=c=>e.fileList=c),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:$(()=>[t(f,{size:"small",type:"primary",round:""},{default:$(()=>[t(p,{icon:"fa-solid fa-upload",class:"mr-1"}),m(" "+a(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),t(u,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),i("div",qe,[(n(!0),l(w,null,V(e.fileList,(c,v)=>(n(),A(R,{key:c.uid||c?.response?.file_url||c.url||v,url:c.url||c?.response?.file_url,name:c.name,percentage:c.percentage,onRemove:E=>e.onRemovePreview(v,c)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Be=y(Se,[["render",Pe]]),De=k({name:"AspectRatioSelector",components:{ElSelect:B,ElOption:P},data(){return{options:["1:1","3:2","2:3","16:9","9:16","4:3","3:4"]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,aspect_ratio:e})}}},mounted(){this.value||(this.value=H)}}),je={class:"field"},Ge={class:"title font-bold"};function Me(e,o,b,r,_,g){const p=s("el-option"),f=s("el-select");return n(),l("div",je,[i("h2",Ge,a(e.$t("nanobanana.name.aspectRatio")),1),t(f,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=d=>e.value=d),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(w,null,V(e.options,d=>(n(),A(p,{key:d,label:d,value:d},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Fe=y(De,[["render",Me],["__scopeId","data-v-e51b32d6"]]),ze=k({name:"NanobananaModelSelector",components:{ElSelect:B,ElOption:P,InfoIcon:T},data(){return{options:[{value:Q,label:this.$t("nanobanana.model.nanoBanana")},{value:L,label:this.$t("nanobanana.model.nanoBananaPro")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t("nanobanana.description.model")}},mounted(){this.value||(this.value=J)}}),We={class:"field"},Ke={class:"label"},He={class:"box"},Je={class:"title font-bold"};function Qe(e,o,b,r,_,g){const p=s("info-icon"),f=s("el-option"),d=s("el-select");return n(),l("div",We,[i("div",Ke,[i("div",He,[i("h2",Je,a(e.$t("nanobanana.name.model")),1),t(p,{content:e.modelDescription,class:"info"},null,8,["content"])])]),t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=u=>e.value=u),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(w,null,V(e.options,u=>(n(),A(f,{key:u.value,label:u.label,value:u.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Xe=y(ze,[["render",Qe],["__scopeId","data-v-e279ee32"]]),Ye=k({name:"NanobananaResolutionSelector",components:{ElSelect:B,ElOption:P,InfoIcon:T},data(){return{cachedResolution:U,options:[{value:j,label:j},{value:G,label:G},{value:M,label:M}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model===L}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||(this.value=this.cachedResolution||U):(this.value&&(this.cachedResolution=this.value),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=U),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),Ze={class:"field"},xe={class:"label"},et={class:"box"},tt={class:"title font-bold"};function ot(e,o,b,r,_,g){const p=s("info-icon"),f=s("el-option"),d=s("el-select");return n(),l("div",Ze,[i("div",xe,[i("div",et,[i("h2",tt,a(e.$t("nanobanana.name.resolution")),1),t(p,{content:e.$t("nanobanana.description.resolutionProOnly"),class:"info"},null,8,["content"])])]),t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=u=>e.value=u),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:$(()=>[(n(!0),l(w,null,V(e.options,u=>(n(),A(f,{key:u.value,label:u.label,value:u.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const nt=y(Ye,[["render",ot],["__scopeId","data-v-05ae87bb"]]),at=k({name:"ConfigPanel",components:{ElButton:C,FontAwesomeIcon:O,PromptInput:Te,Consumption:oe,ActionSelector:we,ImageUrlsInput:Be,AspectRatioSelector:Fe,ModelSelector:Xe,ResolutionSelector:nt},emits:["generate"],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){return ae(this.config,this.service?.metadata?.price)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),st={class:"flex flex-col h-full"},lt={class:"flex-1 overflow-y-auto p-[15px]"},rt={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function it(e,o,b,r,_,g){const p=s("model-selector"),f=s("resolution-selector"),d=s("action-selector"),u=s("prompt-input"),R=s("aspect-ratio-selector"),c=s("image-urls-input"),v=s("consumption"),E=s("font-awesome-icon"),N=s("el-button");return n(),l("div",st,[i("div",lt,[t(p,{class:"mb-4"}),t(f,{class:"mb-4"}),t(d,{class:"mb-4"}),t(u,{class:"mb-4"}),t(R,{class:"mb-4"}),e.config?.action==="edit"?(n(),A(c,{key:0,class:"mb-4"})):h("",!0)]),i("div",rt,[t(v,{value:e.consumption,service:e.service},null,8,["value","service"]),t(N,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:$(()=>[t(E,{icon:"fa-solid fa-magic",class:"mr-2"}),m(" "+a(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const ct=y(at,[["render",it]]),ut=k({name:"TaskPreview",components:{ElImage:ce,CopyToClipboard:se,FontAwesomeIcon:O,ElAlert:ie,ImageWrapper:le,ElButton:C,ElTooltip:re,ImagePreview:F},props:{modelValue:{type:Object,required:!0}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(o=>{e.push(o)}),e}},methods:{onEdit(e){e&&(console.debug("Edit image:",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,action:"edit",image_urls:[e]}))}}}),dt={class:"preview"},mt={class:"left"},pt={class:"main"},ft={class:"bot"},ht={class:"datetime"},_t={class:"info"},bt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},$t={key:1,class:"prompt mt-2"},gt={key:0},vt={key:0,class:q({content:!0,failed:!0})},kt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},yt={class:q({operations:!0,"mt-2":!0,"mb-2":!0})},wt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},It={key:1,class:q({content:!0})},Rt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},St={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ct={key:2,class:q({content:!0})},qt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Pt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function jt(e,o,b,r,_,g){const p=s("el-image"),f=s("image-preview"),d=s("image-wrapper"),u=s("el-button"),R=s("el-tooltip"),c=s("font-awesome-icon"),v=s("copy-to-clipboard"),E=s("el-alert");return n(),l("div",dt,[i("div",mt,[t(p,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),i("div",pt,[i("div",ft,[m(a(e.$t("nanobanana.name.nanobananaBot"))+" ",1),i("span",ht,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",_t,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(n(),l("div",bt,[(n(!0),l(w,null,V(e.modelValue?.request?.image_urls,(N,S)=>(n(),A(f,{key:S,url:N,name:`image-${S+1}`,closable:!1},null,8,["url","name"]))),128))])):h("",!0),e.modelValue?.request?.prompt?(n(),l("p",$t,[m(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?h("",!0):(n(),l("span",gt," - ("+a(e.$t("nanobanana.status.pending"))+") ",1))])):h("",!0)]),e.modelValue?.response?.success===!0?(n(),l("div",vt,[i("div",kt,[(n(!0),l(w,null,V(e.images,(N,S)=>(n(),A(d,{key:S,src:N?.image_url,"raw-src":N?.image_url},null,8,["src","raw-src"]))),128))]),i("div",yt,[t(R,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:$(()=>[t(u,{type:"info",size:"small",class:"btn-action",onClick:o[0]||(o[0]=X(N=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:$(()=>[m(a(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),t(E,{closable:!1,class:"mt-2 success"},{default:$(()=>[e.modelValue?.request?.model?(n(),l("p",wt,[t(c,{icon:"fa-solid fa-cube",class:"mr-1"}),m(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):h("",!0),e.modelValue?.request?.resolution?(n(),l("p",At,[t(c,{icon:"fa-solid fa-image",class:"mr-1"}),m(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):h("",!0),e.modelValue?.request?.action?(n(),l("p",Vt,[t(c,{icon:"fa-solid fa-bolt",class:"mr-1"}),m(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):h("",!0),i("p",Nt,[t(c,{icon:"fa-solid fa-magic",class:"mr-1"}),m(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),l("p",Et,[t(c,{icon:"fa-solid fa-hashtag",class:"mr-1"}),m(" "+a(e.$t("nanobanana.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),t(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):h("",!0)]),_:1})])):h("",!0),e.modelValue?.response?.success===!1?(n(),l("div",It,[t(E,{closable:!1,class:"failure"},{template:$(()=>[t(c,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),m(" "+a(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",Rt,[t(c,{icon:"fa-solid fa-cube",class:"mr-1"}),m(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):h("",!0),e.modelValue?.request?.resolution?(n(),l("p",Tt,[t(c,{icon:"fa-solid fa-image",class:"mr-1"}),m(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):h("",!0),e.modelValue?.request?.action?(n(),l("p",St,[t(c,{icon:"fa-solid fa-bolt",class:"mr-1"}),m(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):h("",!0),i("p",Ut,[t(c,{icon:"fa-solid fa-magic",class:"mr-1"}),m(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),i("p",Lt,[t(c,{icon:"fa-solid fa-circle-info",class:"mr-1"}),m(" "+a(e.$t("nanobanana.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),t(v,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),l("p",Ot,[t(c,{icon:"fa-solid fa-hashtag",class:"mr-1"}),m(" "+a(e.$t("nanobanana.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),t(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):h("",!0)]),_:1})])):h("",!0),e.modelValue?.response?h("",!0):(n(),l("div",Ct,[t(E,{closable:!1,class:"info"},{template:$(()=>[t(c,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),m(" "+a(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",qt,[t(c,{icon:"fa-solid fa-cube",class:"mr-1"}),m(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):h("",!0),e.modelValue?.request?.resolution?(n(),l("p",Pt,[t(c,{icon:"fa-solid fa-image",class:"mr-1"}),m(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):h("",!0),e.modelValue?.request?.action?(n(),l("p",Bt,[t(c,{icon:"fa-solid fa-bolt",class:"mr-1"}),m(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):h("",!0),i("p",Dt,[t(c,{icon:"fa-solid fa-magic",class:"mr-1"}),m(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Gt=y(ut,[["render",jt],["__scopeId","data-v-9b00dfc4"]]),Mt=k({name:"RecentPanel",components:{TaskPreview:Gt,BotPlaceholder:ue,NoTasks:ne},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{onHandleScroll(){this.$refs.panel.scrollTop===0&&this.$emit("reach-top")}}}),Ft={key:0},zt={key:1,class:"tasks h-full w-full overflow-y-auto"},Wt={key:2,class:"w-full h-full flex items-center justify-center"};function Kt(e,o,b,r,_,g){const p=s("bot-placeholder"),f=s("task-preview"),d=s("no-tasks");return n(),l(w,null,[e.tasks?.items===void 0?(n(),l("div",Ft,[t(p)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),l("div",zt,[(n(!0),l(w,null,V(e.tasks?.items,u=>(n(),A(f,{key:u.id,"model-value":u},null,8,["model-value"]))),128))])):h("",!0),e.tasks?.items?.length===0?(n(),l("div",Wt,[t(d)])):h("",!0)],64)}const Ht=y(Mt,[["render",Kt]]),Jt="https://webhook.acedata.cloud/nanobanana",Qt=k({name:"NanobananaIndex",components:{ConfigPanel:ct,Layout:_e,RecentPanel:Ht},inject:["initialized"],data(){return{task:void 0,job:0}},computed:{loading(){return this.$store.state.nanobanana?.status?.getApplications===x.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){console.debug("reached top"),await this.onGetTasks({createdAtMax:this.tasks?.items?.[0]?.created_at})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("nanobanana/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("nanobanana/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".tasks");e&&(e.scrollTop=e.scrollHeight)},1e3)},async onGetTasks(e){if(this.loading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:b,createdAtMax:r}=e||{};console.debug("limit",o,"createdAtMin",b,"createdAtMax",r),await this.$store.dispatch("nanobanana/getTasks",{limit:o,createdAtMin:b,createdAtMax:r})},async onGenerate(){const e={...this.config||{}};e?.action==="generate"&&"image_urls"in e&&delete e.image_urls,e?.model!==L&&"resolution"in e&&delete e.resolution,e?.model===L&&!e?.resolution&&(e.resolution=U);const o={...e,callback_url:Jt},b=this.credential?.token;if(!b){console.error("no token specified");return}I.info(this.$t("nanobanana.message.startingTask")),Y.generate(o,{token:b}).then(()=>{I.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(r=>{const _=r?.response?.data;_?.error?.code===Z?I.error(this.$t("nanobanana.message.usedUp")):I.error(this.$t("nanobanana.message.startTaskFailed")+(_?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}});function Xt(e,o,b,r,_,g){const p=s("config-panel"),f=s("recent-panel"),d=s("layout");return n(),A(d,null,{config:$(()=>[t(p,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:$(()=>[t(f,{onReachTop:e.onReachTop},null,8,["onReachTop"])]),_:1})}const Uo=y(Qt,[["render",Xt]]);export{Uo as default};
@@ -1 +1 @@
1
- import{C}from"./CopyToClipboard-C7oZlhvf.js";import{d as I,dk as F,ed as T,ee as N,ef as P,h as B,i as r,j as o,k as i,l,t as e,x as s,b as p,D as m,y as k,o as n}from"./index-Bxn0D_Ay.js";import{d as O,a as w,s as M}from"./distribution-4bP9Z08I.js";import{g as q}from"./price-crtYVYmR.js";import{F as R}from"./index.es-B1Cre0ht.js";import{E as z}from"./index-CMofrOYp.js";import{E as U,a as V}from"./index-DwKtBxI9.js";import{E as A}from"./index-zhXzFU3e.js";import{E as H,a as G,b as Q}from"./index-B5qqirtZ.js";import{E as j}from"./index-BPLDIKYi.js";import{E as W}from"./index-CvUpzdE1.js";import{E as Y}from"./index-C7dq5GDX.js";import"./index-BZxyIS6v.js";import"./typescript-14ZN9Iqb.js";import"./index-DA1L1iqe.js";import"./_initCloneObject-BzNbsgMU.js";import"./isPlainObject-STqtLEhU.js";import"./_baseIteratee-W5a_Nlyi.js";import"./isEqual-CYpeyoZ0.js";import"./castArray-C-yFxvxW.js";import"./debounce-D_GSfnKF.js";import"./index-YB7WcHHr.js";import"./use-form-item-BHzDGeGF.js";import"./index-ekLS25Os.js";import"./index-r5W6hzzQ.js";const J=I({name:"ConsoleDistributionList",components:{CopyToClipboard:C,FontAwesomeIcon:R,QrCode:F,ElProgress:Y,ElRow:Q,ElCol:G,ElButton:W,ElDivider:j,ElCard:H,ElTooltip:A,ElTable:V,ElTableColumn:U,ElSkeleton:z},data(){return{invitees:[],inviteesCount:void 0,distributionLevels:[],distributionLink:void 0,distributionStatus:void 0,loading:!1}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")},distributionLevelMap(){let t={};return this.distributionLevels.forEach(a=>{t[a.level]=a}),t}},watch:{page:{handler(){this.onFetchData()}}},async mounted(){this.onFetchData(),this.onGenerateDistributionLink()},methods:{getPriceString:q,goHistory(){this.$router.push({name:P})},goInvitees(){this.$router.push({name:N})},onPageChange(t){this.$router.push({name:this.$route.name?.toString(),query:{page:t}})},getPercentageForNextLevel(){const t=this.distributionLevelMap[this.distributionStatus?.level?.level]?.threshold,a=this.distributionLevelMap[this.distributionStatus?.level?.level+1]?.threshold;return Math.floor((this.distributionStatus?.price-t)/(a-t)*100)},getDeltaForNextLevel(){const t=this.distributionLevelMap[this.distributionStatus?.level?.level+1]?.threshold;return Math.floor(t-this.distributionStatus?.price)},async onFetchData(){this.loading=!0,await w.initialize(),Promise.all([this.onFetchDistributionStatus(),this.onFetchDistributionLevels(),this.onFetchInvitees()]).finally(()=>{this.loading=!1})},async onGenerateDistributionLink(){const a=`${window.location.origin}?inviter_id=${this.$store.getters.user.id}`;try{const v=(await M.create(a))?.data?.data?.url;this.distributionLink=(v||a).replace("surl.id","share.acedata.cloud")}catch{this.distributionLink=a}},async onFetchDistributionStatus(){const{data:t}=await w.getAll({user_id:this.$store.getters.user.id});t.items&&t.items.length>0&&(this.distributionStatus=t.items[0])},async onFetchDistributionLevels(){const{data:t}=await O.getAll({limit:20,user_id:this.$store.getters.user.id});this.distributionLevels=t.items},async onFetchInvitees(){const{data:t}=await T.getInvitees({});this.invitees=t.items,this.inviteesCount=t.count}}}),K={class:"title"},X={key:1},Z={class:"icon-wrapper"},x={class:"text-left"},tt={class:"description"},et={class:"value"},it={key:1},st={class:"icon-wrapper"},ot={class:"text-left"},nt={class:"description"},lt={class:"value"},at={key:1},rt={class:"icon-wrapper"},dt={class:"text-left"},ct={class:"description"},ut={class:"value"},pt={key:1},ht={class:"icon-wrapper"},mt={class:"text-left"},_t={class:"description"},bt={class:"value"},vt={key:1},ft={class:"title"},gt={class:"clear-both overflow-hidden"},kt={class:"float-left description"},yt={class:"float-right description"},$t={class:"description"},wt={class:"level"},Lt={class:"level"},St={class:"level"},Et={key:1},Dt={class:"title"},Ct={class:"link-wrapper text-center"},It=["href"],Ft={class:"qr-wrapper ml-auto mr-auto"},Tt={class:"mt-0"},Nt={class:"description"},Pt={class:"more"};function Bt(t,a,v,Ot,Mt,qt){const d=l("el-col"),_=l("el-row"),c=l("el-skeleton"),b=l("font-awesome-icon"),f=l("el-button"),u=l("el-card"),y=l("el-tooltip"),L=l("el-progress"),$=l("el-divider"),g=l("el-table-column"),S=l("el-table"),E=l("copy-to-clipboard"),D=l("qr-code");return n(),r(_,{class:"panel"},{default:o(()=>[i(d,{span:24},{default:o(()=>[i(_,null,{default:o(()=>[i(d,{span:24},{default:o(()=>[e("h2",K,s(t.$t("common.title.distribution")),1)]),_:1})]),_:1}),i(_,{gutter:15},{default:o(()=>[i(d,{md:6,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"item-mini mb-4"},{default:o(()=>[t.loading?(n(),r(c,{key:0})):(n(),p("div",X,[e("div",Z,[i(b,{icon:"fa-solid fa-wallet",class:"icon"})]),e("div",x,[e("p",tt,s(t.$t("distribution.title.price")),1),e("p",et,s(t.getPriceString({value:t.distributionStatus?.price})),1)]),i(f,{type:"primary",round:"",size:"small",class:"btn",onClick:t.goHistory},{default:o(()=>[m(s(t.$t("distribution.button.detail")),1)]),_:1},8,["onClick"])]))]),_:1})]),_:1}),i(d,{md:6,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"item-mini mb-4"},{default:o(()=>[t.loading?(n(),r(c,{key:0})):(n(),p("div",it,[e("div",st,[i(b,{icon:"fa-solid fa-coins",class:"icon"})]),e("div",ot,[e("p",nt,s(t.$t("distribution.title.reward")),1),e("p",lt,s(t.getPriceString({value:t.distributionStatus?.reward})),1)]),i(y,{effect:"dark",content:t.$t("distribution.message.developingWithDrawal"),placement:"top"},{default:o(()=>[i(f,{type:"primary",round:"",size:"small",class:"btn"},{default:o(()=>[m(s(t.$t("distribution.button.withdrawal")),1)]),_:1})]),_:1},8,["content"])]))]),_:1})]),_:1}),i(d,{md:6,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"item-mini mb-4"},{default:o(()=>[t.loading?(n(),r(c,{key:0})):(n(),p("div",at,[e("div",rt,[i(b,{icon:"fa-solid fa-percent",class:"icon"})]),e("div",dt,[e("p",ct,s(t.$t("distribution.title.percentage")),1),e("p",ut,s(t.distributionStatus?.level?.percentage)+"%",1)])]))]),_:1})]),_:1}),i(d,{md:6,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"item-mini mb-4"},{default:o(()=>[t.loading?(n(),r(c,{key:0})):(n(),p("div",pt,[e("div",ht,[i(b,{icon:"fa-regular fa-user",class:"icon"})]),e("div",mt,[e("p",_t,s(t.$t("distribution.title.inviteesCount")),1),e("p",bt,s(t.inviteesCount),1)]),i(f,{type:"primary",round:"",size:"small",class:"btn",onClick:t.goInvitees},{default:o(()=>[m(s(t.$t("distribution.button.detail")),1)]),_:1},8,["onClick"])]))]),_:1})]),_:1})]),_:1}),i(_,{gutter:15},{default:o(()=>[i(d,{md:12,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"level-info mb-4"},{default:o(()=>[t.loading?(n(),r(c,{key:0})):(n(),p("div",vt,[e("h4",ft,s(t.$t("distribution.title.levelInfo")),1),e("div",gt,[e("div",kt,[e("p",null,s(t.$t("distribution.title.currentLevel"))+": L"+s(t.distributionStatus?.level?.level),1),e("p",null,s(t.$t("distribution.title.currentPercentage"))+": "+s(t.distributionLevelMap[t.distributionStatus?.level?.level]?.percentage)+"% ",1)]),e("div",yt,[e("p",null,s(t.$t("distribution.title.nextLevel"))+": L"+s(t.distributionStatus?.level?.level+1),1),e("p",null,s(t.$t("distribution.title.nextPercentage"))+": "+s(t.distributionLevelMap[t.distributionStatus?.level?.level+1]?.percentage)+"% ",1)])]),i(L,{"text-inside":!0,"stroke-width":20,percentage:t.getPercentageForNextLevel(),class:"mb-2"},null,8,["percentage"]),e("p",$t,s(t.$t("distribution.message.deltaPriceForNextLevel"))+": $"+s(t.getDeltaForNextLevel()),1),i($),t.distributionLevels?(n(),r(S,{key:0,data:t.distributionLevels,stripe:""},{default:o(()=>[i(g,{label:t.$t("distribution.field.level")},{default:o(h=>[e("span",wt,"L"+s(h.row?.level),1)]),_:1},8,["label"]),i(g,{label:t.$t("distribution.field.threshold")},{default:o(h=>[e("span",Lt,"$"+s(h.row?.threshold),1)]),_:1},8,["label"]),i(g,{label:t.$t("distribution.field.percentage")},{default:o(h=>[e("span",St,s(h.row?.percentage)+"%",1)]),_:1},8,["label"])]),_:1},8,["data"])):k("",!0)]))]),_:1})]),_:1}),i(d,{md:12,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"distribution-info mb-4"},{default:o(()=>[t.loading?(n(),r(c,{key:0})):(n(),p("div",Et,[e("h4",Dt,s(t.$t("distribution.title.distributionLink")),1),i($),e("div",Ct,[k("",!0),e("a",{href:t.distributionLink,class:"link"},s(t.distributionLink),9,It),i(E,{content:t.distributionLink},null,8,["content"])]),e("div",Ft,[t.distributionLink?(n(),r(D,{key:0,value:t.distributionLink,size:180,margin:2,class:"block mb-2 ml-auto mr-auto",type:"image/png",color:{dark:"#000000",light:"#ffffff"}},null,8,["value"])):k("",!0),e("p",Tt,s(t.$t("distribution.message.distributionQrDescription")),1)]),e("p",Nt,[m(s(t.$t("distribution.message.distributionLinkDescription"))+" ",1),e("span",Pt,[i(y,{effect:"dark",content:t.$t("distribution.message.distributionLinkDescription2"),placement:"top"},{default:o(()=>[m(s(t.$t("distribution.message.technicalDetail")),1)]),_:1},8,["content"])])])]))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const de=B(J,[["render",Bt],["__scopeId","data-v-a8befdf2"]]);export{de as default};
1
+ import{C}from"./CopyToClipboard-CzE5Qyes.js";import{d as I,dk as F,ed as T,ee as N,ef as P,h as B,i as r,j as o,k as i,l,t as e,x as s,b as p,D as m,y as k,o as n}from"./index-CLwJbfYs.js";import{d as O,a as w,s as M}from"./distribution-pW96wtpU.js";import{g as q}from"./price-CZSDhLnN.js";import{F as R}from"./index.es-BLCm9UT-.js";import{E as z}from"./index-MlWSSchD.js";import{E as U,a as V}from"./index--xRF9A-K.js";import{E as A}from"./index-DITqxnfk.js";import{E as H,a as G,b as Q}from"./index-B_qlJ-la.js";import{E as j}from"./index-d2CvBCAu.js";import{E as W}from"./index-Czog4o5z.js";import{E as Y}from"./index-D3gVuWw7.js";import"./index-DNzgGVij.js";import"./typescript-CoKqfRJS.js";import"./index-AT7DtKgl.js";import"./_initCloneObject-iRvJrG7M.js";import"./isPlainObject-BsyTgoxK.js";import"./_baseIteratee-Bk7QROEW.js";import"./isEqual-DQdO_K1-.js";import"./castArray-CoJ3z4SB.js";import"./debounce-CEE_CsrA.js";import"./index-CGrkkZd-.js";import"./use-form-item-CRDWzFx1.js";import"./index-Dc0-osYE.js";import"./index-r5W6hzzQ.js";const J=I({name:"ConsoleDistributionList",components:{CopyToClipboard:C,FontAwesomeIcon:R,QrCode:F,ElProgress:Y,ElRow:Q,ElCol:G,ElButton:W,ElDivider:j,ElCard:H,ElTooltip:A,ElTable:V,ElTableColumn:U,ElSkeleton:z},data(){return{invitees:[],inviteesCount:void 0,distributionLevels:[],distributionLink:void 0,distributionStatus:void 0,loading:!1}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")},distributionLevelMap(){let t={};return this.distributionLevels.forEach(a=>{t[a.level]=a}),t}},watch:{page:{handler(){this.onFetchData()}}},async mounted(){this.onFetchData(),this.onGenerateDistributionLink()},methods:{getPriceString:q,goHistory(){this.$router.push({name:P})},goInvitees(){this.$router.push({name:N})},onPageChange(t){this.$router.push({name:this.$route.name?.toString(),query:{page:t}})},getPercentageForNextLevel(){const t=this.distributionLevelMap[this.distributionStatus?.level?.level]?.threshold,a=this.distributionLevelMap[this.distributionStatus?.level?.level+1]?.threshold;return Math.floor((this.distributionStatus?.price-t)/(a-t)*100)},getDeltaForNextLevel(){const t=this.distributionLevelMap[this.distributionStatus?.level?.level+1]?.threshold;return Math.floor(t-this.distributionStatus?.price)},async onFetchData(){this.loading=!0,await w.initialize(),Promise.all([this.onFetchDistributionStatus(),this.onFetchDistributionLevels(),this.onFetchInvitees()]).finally(()=>{this.loading=!1})},async onGenerateDistributionLink(){const a=`${window.location.origin}?inviter_id=${this.$store.getters.user.id}`;try{const v=(await M.create(a))?.data?.data?.url;this.distributionLink=(v||a).replace("surl.id","share.acedata.cloud")}catch{this.distributionLink=a}},async onFetchDistributionStatus(){const{data:t}=await w.getAll({user_id:this.$store.getters.user.id});t.items&&t.items.length>0&&(this.distributionStatus=t.items[0])},async onFetchDistributionLevels(){const{data:t}=await O.getAll({limit:20,user_id:this.$store.getters.user.id});this.distributionLevels=t.items},async onFetchInvitees(){const{data:t}=await T.getInvitees({});this.invitees=t.items,this.inviteesCount=t.count}}}),K={class:"title"},X={key:1},Z={class:"icon-wrapper"},x={class:"text-left"},tt={class:"description"},et={class:"value"},it={key:1},st={class:"icon-wrapper"},ot={class:"text-left"},nt={class:"description"},lt={class:"value"},at={key:1},rt={class:"icon-wrapper"},dt={class:"text-left"},ct={class:"description"},ut={class:"value"},pt={key:1},ht={class:"icon-wrapper"},mt={class:"text-left"},_t={class:"description"},bt={class:"value"},vt={key:1},ft={class:"title"},gt={class:"clear-both overflow-hidden"},kt={class:"float-left description"},yt={class:"float-right description"},$t={class:"description"},wt={class:"level"},Lt={class:"level"},St={class:"level"},Et={key:1},Dt={class:"title"},Ct={class:"link-wrapper text-center"},It=["href"],Ft={class:"qr-wrapper ml-auto mr-auto"},Tt={class:"mt-0"},Nt={class:"description"},Pt={class:"more"};function Bt(t,a,v,Ot,Mt,qt){const d=l("el-col"),_=l("el-row"),c=l("el-skeleton"),b=l("font-awesome-icon"),f=l("el-button"),u=l("el-card"),y=l("el-tooltip"),L=l("el-progress"),$=l("el-divider"),g=l("el-table-column"),S=l("el-table"),E=l("copy-to-clipboard"),D=l("qr-code");return n(),r(_,{class:"panel"},{default:o(()=>[i(d,{span:24},{default:o(()=>[i(_,null,{default:o(()=>[i(d,{span:24},{default:o(()=>[e("h2",K,s(t.$t("common.title.distribution")),1)]),_:1})]),_:1}),i(_,{gutter:15},{default:o(()=>[i(d,{md:6,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"item-mini mb-4"},{default:o(()=>[t.loading?(n(),r(c,{key:0})):(n(),p("div",X,[e("div",Z,[i(b,{icon:"fa-solid fa-wallet",class:"icon"})]),e("div",x,[e("p",tt,s(t.$t("distribution.title.price")),1),e("p",et,s(t.getPriceString({value:t.distributionStatus?.price})),1)]),i(f,{type:"primary",round:"",size:"small",class:"btn",onClick:t.goHistory},{default:o(()=>[m(s(t.$t("distribution.button.detail")),1)]),_:1},8,["onClick"])]))]),_:1})]),_:1}),i(d,{md:6,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"item-mini mb-4"},{default:o(()=>[t.loading?(n(),r(c,{key:0})):(n(),p("div",it,[e("div",st,[i(b,{icon:"fa-solid fa-coins",class:"icon"})]),e("div",ot,[e("p",nt,s(t.$t("distribution.title.reward")),1),e("p",lt,s(t.getPriceString({value:t.distributionStatus?.reward})),1)]),i(y,{effect:"dark",content:t.$t("distribution.message.developingWithDrawal"),placement:"top"},{default:o(()=>[i(f,{type:"primary",round:"",size:"small",class:"btn"},{default:o(()=>[m(s(t.$t("distribution.button.withdrawal")),1)]),_:1})]),_:1},8,["content"])]))]),_:1})]),_:1}),i(d,{md:6,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"item-mini mb-4"},{default:o(()=>[t.loading?(n(),r(c,{key:0})):(n(),p("div",at,[e("div",rt,[i(b,{icon:"fa-solid fa-percent",class:"icon"})]),e("div",dt,[e("p",ct,s(t.$t("distribution.title.percentage")),1),e("p",ut,s(t.distributionStatus?.level?.percentage)+"%",1)])]))]),_:1})]),_:1}),i(d,{md:6,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"item-mini mb-4"},{default:o(()=>[t.loading?(n(),r(c,{key:0})):(n(),p("div",pt,[e("div",ht,[i(b,{icon:"fa-regular fa-user",class:"icon"})]),e("div",mt,[e("p",_t,s(t.$t("distribution.title.inviteesCount")),1),e("p",bt,s(t.inviteesCount),1)]),i(f,{type:"primary",round:"",size:"small",class:"btn",onClick:t.goInvitees},{default:o(()=>[m(s(t.$t("distribution.button.detail")),1)]),_:1},8,["onClick"])]))]),_:1})]),_:1})]),_:1}),i(_,{gutter:15},{default:o(()=>[i(d,{md:12,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"level-info mb-4"},{default:o(()=>[t.loading?(n(),r(c,{key:0})):(n(),p("div",vt,[e("h4",ft,s(t.$t("distribution.title.levelInfo")),1),e("div",gt,[e("div",kt,[e("p",null,s(t.$t("distribution.title.currentLevel"))+": L"+s(t.distributionStatus?.level?.level),1),e("p",null,s(t.$t("distribution.title.currentPercentage"))+": "+s(t.distributionLevelMap[t.distributionStatus?.level?.level]?.percentage)+"% ",1)]),e("div",yt,[e("p",null,s(t.$t("distribution.title.nextLevel"))+": L"+s(t.distributionStatus?.level?.level+1),1),e("p",null,s(t.$t("distribution.title.nextPercentage"))+": "+s(t.distributionLevelMap[t.distributionStatus?.level?.level+1]?.percentage)+"% ",1)])]),i(L,{"text-inside":!0,"stroke-width":20,percentage:t.getPercentageForNextLevel(),class:"mb-2"},null,8,["percentage"]),e("p",$t,s(t.$t("distribution.message.deltaPriceForNextLevel"))+": $"+s(t.getDeltaForNextLevel()),1),i($),t.distributionLevels?(n(),r(S,{key:0,data:t.distributionLevels,stripe:""},{default:o(()=>[i(g,{label:t.$t("distribution.field.level")},{default:o(h=>[e("span",wt,"L"+s(h.row?.level),1)]),_:1},8,["label"]),i(g,{label:t.$t("distribution.field.threshold")},{default:o(h=>[e("span",Lt,"$"+s(h.row?.threshold),1)]),_:1},8,["label"]),i(g,{label:t.$t("distribution.field.percentage")},{default:o(h=>[e("span",St,s(h.row?.percentage)+"%",1)]),_:1},8,["label"])]),_:1},8,["data"])):k("",!0)]))]),_:1})]),_:1}),i(d,{md:12,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"distribution-info mb-4"},{default:o(()=>[t.loading?(n(),r(c,{key:0})):(n(),p("div",Et,[e("h4",Dt,s(t.$t("distribution.title.distributionLink")),1),i($),e("div",Ct,[k("",!0),e("a",{href:t.distributionLink,class:"link"},s(t.distributionLink),9,It),i(E,{content:t.distributionLink},null,8,["content"])]),e("div",Ft,[t.distributionLink?(n(),r(D,{key:0,value:t.distributionLink,size:180,margin:2,class:"block mb-2 ml-auto mr-auto",type:"image/png",color:{dark:"#000000",light:"#ffffff"}},null,8,["value"])):k("",!0),e("p",Tt,s(t.$t("distribution.message.distributionQrDescription")),1)]),e("p",Nt,[m(s(t.$t("distribution.message.distributionLinkDescription"))+" ",1),e("span",Pt,[i(y,{effect:"dark",content:t.$t("distribution.message.distributionLinkDescription2"),placement:"top"},{default:o(()=>[m(s(t.$t("distribution.message.technicalDetail")),1)]),_:1},8,["content"])])])]))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const de=B(J,[["render",Bt],["__scopeId","data-v-a8befdf2"]]);export{de as default};
@@ -1 +1 @@
1
- import{F as D}from"./index.es-B1Cre0ht.js";import{E as C}from"./index-CvUpzdE1.js";import{E as B}from"./index-CDRWFNPw.js";import{d as b,h as w,b as r,t as i,k as o,r as U,j as p,l as s,o as n,eO as G,eP as z,eQ as S,eR as P,eS as N,eT as q,x as l,F as V,v as T,i as y,eU as W,eV as H,n as I,f as Z,cf as J,D as h,y as $,eW as K,J as Q,K as X,eX as Y,dA as x,dw as ee}from"./index-Bxn0D_Ay.js";import{E as R,a as O}from"./index-ZXXqKgb5.js";import{I as M}from"./InfoIcon-xpG6wYiZ.js";import{I as te}from"./ImagePreview-BKjWRoxg.js";import{E as oe}from"./index-CiupJjd2.js";import{E as A}from"./index-KMXdPkbR.js";import{C as se,N as ae}from"./NoTasks-RqxH5tU5.js";import{E as ne}from"./index-BG27krBY.js";import{a as le}from"./price-crtYVYmR.js";import{C as re}from"./CopyToClipboard-C7oZlhvf.js";import{V as ie}from"./VideoPlayer-BAU_i6Xt.js";import{E as ce}from"./index-zhXzFU3e.js";import{E as de}from"./index-I256GqO3.js";import{E as ue}from"./index-r5mkEdBU.js";import{B as pe}from"./BotPlaceholder-BgltR-o8.js";import"./use-form-item-BHzDGeGF.js";import"./index-r5W6hzzQ.js";import"./index-BZxyIS6v.js";import"./typescript-14ZN9Iqb.js";import"./index-DA1L1iqe.js";import"./strings-Djoxz8AJ.js";import"./castArray-C-yFxvxW.js";import"./isEqual-CYpeyoZ0.js";import"./_initCloneObject-BzNbsgMU.js";import"./debounce-D_GSfnKF.js";import"./_baseIteratee-W5a_Nlyi.js";import"./index-ekLS25Os.js";import"./index-C7dq5GDX.js";import"./_baseClone-DtzNljAk.js";import"./index-kwhOoHli.js";import"./vue-plyr-QZFBikSk.js";import"./index-CMofrOYp.js";const me=b({name:"LayoutSora",components:{ElDrawer:B,ElButton:C,FontAwesomeIcon:D},data(){return{drawer:!1}}}),fe={class:"main flex flex-row flex-1"},_e={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},he={class:"result h-full p-[15px] flex-1 flex flex-col"};function $e(e,t,u,m,v,g){const c=s("font-awesome-icon"),d=s("el-button"),a=s("el-drawer");return n(),r("div",fe,[i("div",_e,[U(e.$slots,"config",{},void 0,!0)]),i("div",he,[U(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=k=>e.drawer=!0)},{default:p(()=>[o(c,{icon:"fa-solid fa-magic"})]),_:1}),o(a,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=k=>e.drawer=k),direction:"ltr","with-header":!1,size:"350px"},{default:p(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ve=w(me,[["render",$e],["__scopeId","data-v-966c9b2c"]]),ge=b({name:"ModelSelector",components:{ElSelect:O,ElOption:R},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:N,label:"sora-2"},{value:q,label:"sora-2-pro"}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){const t=this.$store.state.sora?.config||{},u=z[e]||[S],m=t.duration,v=m&&u.includes(m)?m:u.includes(S)?S:u[0],g={...t,model:e,duration:v,size:t.size||P};this.$store.commit("sora/setConfig",g)}}},mounted(){this.value||(this.value=G)}}),be={class:"field"},we={class:"title font-bold"};function ke(e,t,u,m,v,g){const c=s("el-option"),d=s("el-select");return n(),r("div",be,[i("h2",we,l(e.$t("sora.name.model")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:p(()=>[(n(!0),r(V,null,T(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const ye=w(ge,[["render",ke],["__scopeId","data-v-3a7abba8"]]),Se=b({name:"ActionSelector",components:{ElSelect:O,ElOption:R},data(){return{}},computed:{options(){return[{value:"text2video",label:this.$t("sora.button.action1")},{value:"image2video",label:this.$t("sora.button.action2")}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||(this.value=W)}}),Ve={class:"field"},Ee={class:"title font-bold"},Ae={class:"float-left"};function Ie(e,t,u,m,v,g){const c=s("el-option"),d=s("el-select");return n(),r("div",Ve,[i("h2",Ee,l(e.$t("sora.name.action")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select"),clearable:""},{default:p(()=>[(n(!0),r(V,null,T(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},{default:p(()=>[i("span",Ae,l(a.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Te=w(Se,[["render",Ie],["__scopeId","data-v-7b82fa7f"]]),De=b({name:"DurationSelector",components:{ElSelect:O,ElOption:R},computed:{model(){return this.$store.state.sora?.config?.model||G},allowedDurations(){return z[this.model]||[S]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,duration:e})}}},watch:{allowedDurations(){const e=this.allowedDurations;if(!e.includes(this.value)){const t=e.includes(S)?S:e[0];this.value=t}}},mounted(){this.value||(this.value=S)}}),Ce={class:"field"},Re={class:"control"},Oe={class:"title font-bold"};function Le(e,t,u,m,v,g){const c=s("el-option"),d=s("el-select");return n(),r("div",Ce,[i("div",Re,[i("h2",Oe,l(e.$t("sora.name.duration")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:p(()=>[(n(!0),r(V,null,T(e.optionsForModel,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const Ue=w(De,[["render",Le],["__scopeId","data-v-c2934598"]]),Ge=b({name:"OrientationSelector",data(){return{options:[{value:"portrait",label:"竖屏",width:13,height:25},{value:"landscape",label:"横屏",width:25,height:13}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug("set orientation",e),this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||(this.value=H)}}),ze={class:"text-sm font-bold mb-2 block"},Pe={class:"items"},Me=["onClick"],je={class:"name"};function Fe(e,t,u,m,v,g){return n(),r("div",null,[i("span",ze,l(e.$t("sora.name.orientation")),1),i("div",Pe,[(n(!0),r(V,null,T(e.options,(c,d)=>(n(),r("div",{key:d,class:I({active:e.active===d,item:!0}),onClick:a=>e.value=c.value},[i("div",{class:I(["preview",c.value])},[i("div",{class:"rect",style:Z({width:c.width+"px",height:c.height+"px"})},null,4)],2),i("p",je,l(c.label),1)],10,Me))),128))])])}const Be=w(Ge,[["render",Fe],["__scopeId","data-v-d6940af8"]]),Ne=b({name:"StartEndImage",components:{ElUpload:oe,ElButton:C,InfoIcon:M,FontAwesomeIcon:D,ImagePreview:te},emits:["change"],data(){return{fileList:[],uploadUrl:J()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.sora?.config?.image_urls},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){A.warning(this.$t("sora.message.uploadReferencesExceed"))},onError(){A.error(this.$t("sora.message.uploadReferencesError"))},onSetStartEndImageUrl(){const e=this.urls;this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),qe={class:"relative"},We={class:"flex justify-between"},He={class:"flex justify-start items-center"},Ze={class:"text-sm font-bold"};function Je(e,t,u,m,v,g){const c=s("info-icon"),d=s("image-preview"),a=s("font-awesome-icon"),k=s("el-button"),_=s("el-upload");return n(),r("div",qe,[i("div",We,[i("div",He,[i("span",Ze,l(e.$t("sora.name.startEndImage")),1),o(c,{content:e.$t("sora.description.uploadStartEndImage")},null,8,["content"])])]),o(_,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=f=>e.fileList=f),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:2,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:f})=>[f.url&&f.percentage!==void 0?(n(),y(d,{key:0,url:f.url,name:f.name,percentage:f.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])):$("",!0)]),default:p(()=>[o(k,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:p(()=>[o(a,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("sora.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Ke=w(Ne,[["render",Je],["__scopeId","data-v-fd6e5c97"]]),Qe=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),Xe=b({name:"SizeSelector",components:{ElSelect:O,ElOption:R},data(){return{options:K.map(e=>({value:e,label:Qe(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,size:e})}}},mounted(){this.value||(this.value=P)}}),Ye={class:"field"},xe={class:"control"},et={class:"title font-bold"};function tt(e,t,u,m,v,g){const c=s("el-option"),d=s("el-select");return n(),r("div",Ye,[i("div",xe,[i("h2",et,l(e.$t("sora.name.size")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:p(()=>[(n(!0),r(V,null,T(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const ot=w(Xe,[["render",tt],["__scopeId","data-v-8c485f0f"]]),st="",at=b({name:"PromptInput",components:{ElInput:ne,InfoIcon:M},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=st)}}),nt={class:"field"},lt={class:"box"},rt={class:"title font-bold"};function it(e,t,u,m,v,g){const c=s("info-icon"),d=s("el-input");return n(),r("div",nt,[i("div",lt,[i("h2",rt,l(e.$t("sora.name.prompt")),1),o(c,{content:e.$t("sora.description.prompt"),class:"info"},null,8,["content"])]),o(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=a=>e.prompt=a),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("sora.placeholder.prompt"),maxlength:500,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const ct=w(at,[["render",it],["__scopeId","data-v-cf3a1497"]]),dt=b({name:"ConfigPanel",components:{ElButton:C,Consumption:se,FontAwesomeIcon:D,PromptInput:ct,ModelSelector:ye,StartEndImage:Ke,SizeSelector:ot,ActionSelector:Te,OrientationSelector:Be,DurationSelector:Ue},emits:["generate"],computed:{config(){return this.$store.state.sora?.config},consumption(){return le(this.config,this.service?.metadata?.price)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit("generate")}}}),ut={class:"flex flex-col h-full"},pt={class:"flex-1 overflow-y-auto p-[15px]"},mt={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function ft(e,t,u,m,v,g){const c=s("model-selector"),d=s("action-selector"),a=s("duration-selector"),k=s("size-selector"),_=s("orientation-selector"),f=s("prompt-input"),E=s("start-end-image"),L=s("consumption"),j=s("font-awesome-icon"),F=s("el-button");return n(),r("div",ut,[i("div",pt,[o(c,{class:"mb-4"}),o(d,{class:"mb-4"}),o(a,{class:"mb-4"}),o(k,{class:"mb-4"}),o(_,{class:"mb-4"}),o(f,{class:"mb-4"}),Q(o(E,{class:"mb-2"},null,512),[[X,e.config?.action==="image2video"]])]),i("div",mt,[o(L,{value:e.consumption,service:e.service},null,8,["value","service"]),o(F,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[o(j,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+l(e.$t("sora.button.generate")),1)]),_:1},8,["onClick"])])])}const _t=w(dt,[["render",ft]]),ht=b({name:"TaskPreview",components:{ElImage:ue,CopyToClipboard:re,FontAwesomeIcon:D,ElAlert:de,VideoPlayer:ie,ElTooltip:ce,ElButton:C},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),$t={class:"preview"},vt={class:"left"},gt={class:"main"},bt={class:"bot"},wt={class:"datetime"},kt={class:"info"},yt={key:0,class:"prompt mt-2"},St={key:0},Vt={key:1},Et={key:0,class:I({content:!0,failed:!0})},At={key:0,class:"mb-4"},It={key:1,class:I({operations:!0,"mt-2":!0})},Tt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ct={key:1,class:I({content:!0})},Rt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ut={key:2,class:I({content:!0})},Gt={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 Pt(e,t,u,m,v,g){const c=s("el-image"),d=s("video-player"),a=s("el-button"),k=s("el-tooltip"),_=s("font-awesome-icon"),f=s("copy-to-clipboard"),E=s("el-alert");return n(),r("div",$t,[i("div",vt,[o(c,{src:"https://cdn.acedata.cloud/z5id1u.png",class:"avatar"})]),i("div",gt,[i("div",bt,[h(l(e.$t("sora.name.soraBot"))+" ",1),i("span",wt,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",kt,[e.modelValue?.request?.prompt?(n(),r("p",yt,[h(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?$("",!0):(n(),r("span",St," - ("+l(e.$t("sora.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="pending"?(n(),r("span",Vt," - ("+l(e.$t("sora.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(n(),r("div",Et,[e.modelValue?.response?.data[0]?.video_url?(n(),r("div",At,[o(d,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):$("",!0),e.modelValue?.response.success?(n(),r("div",It,[o(k,{class:"box-item",effect:"dark",content:e.$t("sora.message.downloadVideo"),placement:"top-start"},{default:p(()=>[e.modelValue?.response?.data[0]?.video_url?(n(),y(a,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=L=>e.onDownload(L,e.modelValue?.response?.data[0]?.video_url))},{default:p(()=>[h(l(e.$t("sora.button.download")),1)]),_:1})):$("",!0)]),_:1},8,["content"])])):$("",!0),o(E,{closable:!1,class:"mt-2 success"},{default:p(()=>[i("p",Tt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.model"))+": "+l(e.modelValue?.request?.model),1)]),i("p",Dt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(n(),r("div",Ct,[o(E,{closable:!1,class:"failure"},{template:p(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:p(()=>[i("p",Rt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),i("p",Ot,[o(_,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+l(e.$t("sora.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),o(f,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),r("p",Lt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===void 0?(n(),r("div",Ut,[o(E,{closable:!1,class:"info"},{template:p(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:p(()=>[i("p",Gt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),r("p",zt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0)])])}const Mt=w(ht,[["render",Pt],["__scopeId","data-v-183a4d07"]]),jt=b({name:"RecentPanel",components:{TaskPreview:Mt,NoTasks:ae,BotPlaceholder:pe},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{onHandleScroll(){const e=this.$refs.panel;console.log("reach-top reach-top reach-top"),e.scrollTop===0&&this.$emit("reach-top")}}}),Ft={key:0},Bt={key:1,class:"tasks h-full w-full overflow-y-auto"},Nt={key:2,class:"w-full h-full flex items-center justify-center"};function qt(e,t,u,m,v,g){const c=s("bot-placeholder"),d=s("task-preview"),a=s("no-tasks");return n(),r(V,null,[e.tasks?.items===void 0?(n(),r("div",Ft,[o(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),r("div",Bt,[(n(!0),r(V,null,T(e.tasks?.items,(k,_)=>(n(),y(d,{key:_,"model-value":k},null,8,["model-value"]))),128))])):$("",!0),e.tasks?.items?.length===0?(n(),r("div",Nt,[o(a)])):$("",!0)],64)}const Wt=w(jt,[["render",qt]]),Ht="https://webhook.acedata.cloud/sora",Zt=b({name:"SoraIndex",components:{ConfigPanel:_t,Layout:ve,RecentPanel:Wt},inject:["initialized"],data(){return{task:void 0,job:0}},computed:{loading(){return this.$store.state.sora?.status?.getApplications===ee.Request},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){console.debug("reached top"),await this.onGetTasks({createdAtMax:this.tasks?.items?.[0]?.created_at})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("sora/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("sora/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".tasks");e&&(e.scrollTop=e.scrollHeight)},500)},async onGetTasks(e){if(this.loading){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),await this.$store.dispatch("sora/getTasks",{limit:t,createdAtMin:u,createdAtMax:m})},async onGenerate(){const e={...this.config,callback_url:Ht},t=this.credential?.token;if(!t){console.error("no token specified");return}A.info(this.$t("sora.message.startingTask")),Y.generate(e,{token:t}).then(()=>{A.success(this.$t("sora.message.startTaskSuccess"))}).catch(u=>{u?.response?.data?.error?.code===x?A.error(this.$t("sora.message.usedUp")):A.error(this.$t("sora.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}});function Jt(e,t,u,m,v,g){const c=s("config-panel"),d=s("recent-panel"),a=s("layout");return n(),y(a,null,{config:p(()=>[o(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:p(()=>[o(d,{onReachTop:e.onReachTop},null,8,["onReachTop"])]),_:1})}const Co=w(Zt,[["render",Jt]]);export{Co as default};
1
+ import{F as D}from"./index.es-BLCm9UT-.js";import{E as C}from"./index-Czog4o5z.js";import{E as B}from"./index-Cs65NgP9.js";import{d as b,h as w,b as r,t as i,k as o,r as U,j as p,l as s,o as n,eO as G,eP as z,eQ as S,eR as P,eS as N,eT as q,x as l,F as V,v as T,i as y,eU as W,eV as H,n as I,f as Z,cf as J,D as h,y as $,eW as K,J as Q,K as X,eX as Y,dA as x,dw as ee}from"./index-CLwJbfYs.js";import{E as R,a as O}from"./index-CLOiWNZO.js";import{I as M}from"./InfoIcon-htaT17q9.js";import{I as te}from"./ImagePreview-VnpfW9Pj.js";import{E as oe}from"./index-Colfa9sv.js";import{E as A}from"./index-CQvuK-4v.js";import{C as se,N as ae}from"./NoTasks-DHdI1Frr.js";import{E as ne}from"./index-DHn59BRx.js";import{a as le}from"./price-CZSDhLnN.js";import{C as re}from"./CopyToClipboard-CzE5Qyes.js";import{V as ie}from"./VideoPlayer-DCap_X2q.js";import{E as ce}from"./index-DITqxnfk.js";import{E as de}from"./index-DNuWNnk-.js";import{E as ue}from"./index-O2tEst1s.js";import{B as pe}from"./BotPlaceholder-DKPNFbIr.js";import"./use-form-item-CRDWzFx1.js";import"./index-r5W6hzzQ.js";import"./index-DNzgGVij.js";import"./typescript-CoKqfRJS.js";import"./index-AT7DtKgl.js";import"./strings-WMZYwrQD.js";import"./castArray-CoJ3z4SB.js";import"./isEqual-DQdO_K1-.js";import"./_initCloneObject-iRvJrG7M.js";import"./debounce-CEE_CsrA.js";import"./_baseIteratee-Bk7QROEW.js";import"./index-Dc0-osYE.js";import"./index-D3gVuWw7.js";import"./_baseClone-B6o0klpv.js";import"./index-C1s2diPf.js";import"./vue-plyr-QZFBikSk.js";import"./index-MlWSSchD.js";const me=b({name:"LayoutSora",components:{ElDrawer:B,ElButton:C,FontAwesomeIcon:D},data(){return{drawer:!1}}}),fe={class:"main flex flex-row flex-1"},_e={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},he={class:"result h-full p-[15px] flex-1 flex flex-col"};function $e(e,t,u,m,v,g){const c=s("font-awesome-icon"),d=s("el-button"),a=s("el-drawer");return n(),r("div",fe,[i("div",_e,[U(e.$slots,"config",{},void 0,!0)]),i("div",he,[U(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=k=>e.drawer=!0)},{default:p(()=>[o(c,{icon:"fa-solid fa-magic"})]),_:1}),o(a,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=k=>e.drawer=k),direction:"ltr","with-header":!1,size:"350px"},{default:p(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ve=w(me,[["render",$e],["__scopeId","data-v-966c9b2c"]]),ge=b({name:"ModelSelector",components:{ElSelect:O,ElOption:R},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:N,label:"sora-2"},{value:q,label:"sora-2-pro"}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){const t=this.$store.state.sora?.config||{},u=z[e]||[S],m=t.duration,v=m&&u.includes(m)?m:u.includes(S)?S:u[0],g={...t,model:e,duration:v,size:t.size||P};this.$store.commit("sora/setConfig",g)}}},mounted(){this.value||(this.value=G)}}),be={class:"field"},we={class:"title font-bold"};function ke(e,t,u,m,v,g){const c=s("el-option"),d=s("el-select");return n(),r("div",be,[i("h2",we,l(e.$t("sora.name.model")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:p(()=>[(n(!0),r(V,null,T(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const ye=w(ge,[["render",ke],["__scopeId","data-v-3a7abba8"]]),Se=b({name:"ActionSelector",components:{ElSelect:O,ElOption:R},data(){return{}},computed:{options(){return[{value:"text2video",label:this.$t("sora.button.action1")},{value:"image2video",label:this.$t("sora.button.action2")}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||(this.value=W)}}),Ve={class:"field"},Ee={class:"title font-bold"},Ae={class:"float-left"};function Ie(e,t,u,m,v,g){const c=s("el-option"),d=s("el-select");return n(),r("div",Ve,[i("h2",Ee,l(e.$t("sora.name.action")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select"),clearable:""},{default:p(()=>[(n(!0),r(V,null,T(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},{default:p(()=>[i("span",Ae,l(a.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Te=w(Se,[["render",Ie],["__scopeId","data-v-7b82fa7f"]]),De=b({name:"DurationSelector",components:{ElSelect:O,ElOption:R},computed:{model(){return this.$store.state.sora?.config?.model||G},allowedDurations(){return z[this.model]||[S]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,duration:e})}}},watch:{allowedDurations(){const e=this.allowedDurations;if(!e.includes(this.value)){const t=e.includes(S)?S:e[0];this.value=t}}},mounted(){this.value||(this.value=S)}}),Ce={class:"field"},Re={class:"control"},Oe={class:"title font-bold"};function Le(e,t,u,m,v,g){const c=s("el-option"),d=s("el-select");return n(),r("div",Ce,[i("div",Re,[i("h2",Oe,l(e.$t("sora.name.duration")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:p(()=>[(n(!0),r(V,null,T(e.optionsForModel,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const Ue=w(De,[["render",Le],["__scopeId","data-v-c2934598"]]),Ge=b({name:"OrientationSelector",data(){return{options:[{value:"portrait",label:"竖屏",width:13,height:25},{value:"landscape",label:"横屏",width:25,height:13}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug("set orientation",e),this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||(this.value=H)}}),ze={class:"text-sm font-bold mb-2 block"},Pe={class:"items"},Me=["onClick"],je={class:"name"};function Fe(e,t,u,m,v,g){return n(),r("div",null,[i("span",ze,l(e.$t("sora.name.orientation")),1),i("div",Pe,[(n(!0),r(V,null,T(e.options,(c,d)=>(n(),r("div",{key:d,class:I({active:e.active===d,item:!0}),onClick:a=>e.value=c.value},[i("div",{class:I(["preview",c.value])},[i("div",{class:"rect",style:Z({width:c.width+"px",height:c.height+"px"})},null,4)],2),i("p",je,l(c.label),1)],10,Me))),128))])])}const Be=w(Ge,[["render",Fe],["__scopeId","data-v-d6940af8"]]),Ne=b({name:"StartEndImage",components:{ElUpload:oe,ElButton:C,InfoIcon:M,FontAwesomeIcon:D,ImagePreview:te},emits:["change"],data(){return{fileList:[],uploadUrl:J()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.sora?.config?.image_urls},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){A.warning(this.$t("sora.message.uploadReferencesExceed"))},onError(){A.error(this.$t("sora.message.uploadReferencesError"))},onSetStartEndImageUrl(){const e=this.urls;this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),qe={class:"relative"},We={class:"flex justify-between"},He={class:"flex justify-start items-center"},Ze={class:"text-sm font-bold"};function Je(e,t,u,m,v,g){const c=s("info-icon"),d=s("image-preview"),a=s("font-awesome-icon"),k=s("el-button"),_=s("el-upload");return n(),r("div",qe,[i("div",We,[i("div",He,[i("span",Ze,l(e.$t("sora.name.startEndImage")),1),o(c,{content:e.$t("sora.description.uploadStartEndImage")},null,8,["content"])])]),o(_,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=f=>e.fileList=f),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:2,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:f})=>[f.url&&f.percentage!==void 0?(n(),y(d,{key:0,url:f.url,name:f.name,percentage:f.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])):$("",!0)]),default:p(()=>[o(k,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:p(()=>[o(a,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("sora.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Ke=w(Ne,[["render",Je],["__scopeId","data-v-fd6e5c97"]]),Qe=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),Xe=b({name:"SizeSelector",components:{ElSelect:O,ElOption:R},data(){return{options:K.map(e=>({value:e,label:Qe(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,size:e})}}},mounted(){this.value||(this.value=P)}}),Ye={class:"field"},xe={class:"control"},et={class:"title font-bold"};function tt(e,t,u,m,v,g){const c=s("el-option"),d=s("el-select");return n(),r("div",Ye,[i("div",xe,[i("h2",et,l(e.$t("sora.name.size")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:p(()=>[(n(!0),r(V,null,T(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const ot=w(Xe,[["render",tt],["__scopeId","data-v-8c485f0f"]]),st="",at=b({name:"PromptInput",components:{ElInput:ne,InfoIcon:M},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=st)}}),nt={class:"field"},lt={class:"box"},rt={class:"title font-bold"};function it(e,t,u,m,v,g){const c=s("info-icon"),d=s("el-input");return n(),r("div",nt,[i("div",lt,[i("h2",rt,l(e.$t("sora.name.prompt")),1),o(c,{content:e.$t("sora.description.prompt"),class:"info"},null,8,["content"])]),o(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=a=>e.prompt=a),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("sora.placeholder.prompt"),maxlength:500,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const ct=w(at,[["render",it],["__scopeId","data-v-cf3a1497"]]),dt=b({name:"ConfigPanel",components:{ElButton:C,Consumption:se,FontAwesomeIcon:D,PromptInput:ct,ModelSelector:ye,StartEndImage:Ke,SizeSelector:ot,ActionSelector:Te,OrientationSelector:Be,DurationSelector:Ue},emits:["generate"],computed:{config(){return this.$store.state.sora?.config},consumption(){return le(this.config,this.service?.metadata?.price)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit("generate")}}}),ut={class:"flex flex-col h-full"},pt={class:"flex-1 overflow-y-auto p-[15px]"},mt={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function ft(e,t,u,m,v,g){const c=s("model-selector"),d=s("action-selector"),a=s("duration-selector"),k=s("size-selector"),_=s("orientation-selector"),f=s("prompt-input"),E=s("start-end-image"),L=s("consumption"),j=s("font-awesome-icon"),F=s("el-button");return n(),r("div",ut,[i("div",pt,[o(c,{class:"mb-4"}),o(d,{class:"mb-4"}),o(a,{class:"mb-4"}),o(k,{class:"mb-4"}),o(_,{class:"mb-4"}),o(f,{class:"mb-4"}),Q(o(E,{class:"mb-2"},null,512),[[X,e.config?.action==="image2video"]])]),i("div",mt,[o(L,{value:e.consumption,service:e.service},null,8,["value","service"]),o(F,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[o(j,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+l(e.$t("sora.button.generate")),1)]),_:1},8,["onClick"])])])}const _t=w(dt,[["render",ft]]),ht=b({name:"TaskPreview",components:{ElImage:ue,CopyToClipboard:re,FontAwesomeIcon:D,ElAlert:de,VideoPlayer:ie,ElTooltip:ce,ElButton:C},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),$t={class:"preview"},vt={class:"left"},gt={class:"main"},bt={class:"bot"},wt={class:"datetime"},kt={class:"info"},yt={key:0,class:"prompt mt-2"},St={key:0},Vt={key:1},Et={key:0,class:I({content:!0,failed:!0})},At={key:0,class:"mb-4"},It={key:1,class:I({operations:!0,"mt-2":!0})},Tt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ct={key:1,class:I({content:!0})},Rt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ut={key:2,class:I({content:!0})},Gt={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 Pt(e,t,u,m,v,g){const c=s("el-image"),d=s("video-player"),a=s("el-button"),k=s("el-tooltip"),_=s("font-awesome-icon"),f=s("copy-to-clipboard"),E=s("el-alert");return n(),r("div",$t,[i("div",vt,[o(c,{src:"https://cdn.acedata.cloud/z5id1u.png",class:"avatar"})]),i("div",gt,[i("div",bt,[h(l(e.$t("sora.name.soraBot"))+" ",1),i("span",wt,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",kt,[e.modelValue?.request?.prompt?(n(),r("p",yt,[h(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?$("",!0):(n(),r("span",St," - ("+l(e.$t("sora.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="pending"?(n(),r("span",Vt," - ("+l(e.$t("sora.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(n(),r("div",Et,[e.modelValue?.response?.data[0]?.video_url?(n(),r("div",At,[o(d,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):$("",!0),e.modelValue?.response.success?(n(),r("div",It,[o(k,{class:"box-item",effect:"dark",content:e.$t("sora.message.downloadVideo"),placement:"top-start"},{default:p(()=>[e.modelValue?.response?.data[0]?.video_url?(n(),y(a,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=L=>e.onDownload(L,e.modelValue?.response?.data[0]?.video_url))},{default:p(()=>[h(l(e.$t("sora.button.download")),1)]),_:1})):$("",!0)]),_:1},8,["content"])])):$("",!0),o(E,{closable:!1,class:"mt-2 success"},{default:p(()=>[i("p",Tt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.model"))+": "+l(e.modelValue?.request?.model),1)]),i("p",Dt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(n(),r("div",Ct,[o(E,{closable:!1,class:"failure"},{template:p(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:p(()=>[i("p",Rt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),i("p",Ot,[o(_,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+l(e.$t("sora.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),o(f,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),r("p",Lt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===void 0?(n(),r("div",Ut,[o(E,{closable:!1,class:"info"},{template:p(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:p(()=>[i("p",Gt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),r("p",zt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0)])])}const Mt=w(ht,[["render",Pt],["__scopeId","data-v-183a4d07"]]),jt=b({name:"RecentPanel",components:{TaskPreview:Mt,NoTasks:ae,BotPlaceholder:pe},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{onHandleScroll(){const e=this.$refs.panel;console.log("reach-top reach-top reach-top"),e.scrollTop===0&&this.$emit("reach-top")}}}),Ft={key:0},Bt={key:1,class:"tasks h-full w-full overflow-y-auto"},Nt={key:2,class:"w-full h-full flex items-center justify-center"};function qt(e,t,u,m,v,g){const c=s("bot-placeholder"),d=s("task-preview"),a=s("no-tasks");return n(),r(V,null,[e.tasks?.items===void 0?(n(),r("div",Ft,[o(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),r("div",Bt,[(n(!0),r(V,null,T(e.tasks?.items,(k,_)=>(n(),y(d,{key:_,"model-value":k},null,8,["model-value"]))),128))])):$("",!0),e.tasks?.items?.length===0?(n(),r("div",Nt,[o(a)])):$("",!0)],64)}const Wt=w(jt,[["render",qt]]),Ht="https://webhook.acedata.cloud/sora",Zt=b({name:"SoraIndex",components:{ConfigPanel:_t,Layout:ve,RecentPanel:Wt},inject:["initialized"],data(){return{task:void 0,job:0}},computed:{loading(){return this.$store.state.sora?.status?.getApplications===ee.Request},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){console.debug("reached top"),await this.onGetTasks({createdAtMax:this.tasks?.items?.[0]?.created_at})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("sora/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("sora/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".tasks");e&&(e.scrollTop=e.scrollHeight)},500)},async onGetTasks(e){if(this.loading){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),await this.$store.dispatch("sora/getTasks",{limit:t,createdAtMin:u,createdAtMax:m})},async onGenerate(){const e={...this.config,callback_url:Ht},t=this.credential?.token;if(!t){console.error("no token specified");return}A.info(this.$t("sora.message.startingTask")),Y.generate(e,{token:t}).then(()=>{A.success(this.$t("sora.message.startTaskSuccess"))}).catch(u=>{u?.response?.data?.error?.code===x?A.error(this.$t("sora.message.usedUp")):A.error(this.$t("sora.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}});function Jt(e,t,u,m,v,g){const c=s("config-panel"),d=s("recent-panel"),a=s("layout");return n(),y(a,null,{config:p(()=>[o(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:p(()=>[o(d,{onReachTop:e.onReachTop},null,8,["onReachTop"])]),_:1})}const Co=w(Zt,[["render",Jt]]);export{Co as default};