@acedatacloud/nexior 3.21.0 → 3.22.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 (159) hide show
  1. package/dist/assets/{Auth-BVabufZU.js → Auth-8L5cO3io.js} +1 -1
  2. package/dist/assets/{BotPlaceholder-7eayCQm0.js → BotPlaceholder-BgltR-o8.js} +1 -1
  3. package/dist/assets/{Callback-DhTHSxXY.js → Callback-DyWvDfJO.js} +1 -1
  4. package/dist/assets/{Console-BjADIGZ7.js → Console-BJFopxlS.js} +1 -1
  5. package/dist/assets/{Conversation-D5YsR43s.css → Conversation-B-OZlC82.css} +1 -1
  6. package/dist/assets/{Conversation-CnaceNvi.js → Conversation-CAb0AtWK.js} +22 -22
  7. package/dist/assets/{CopyToClipboard-YQgGORAE.js → CopyToClipboard-C7oZlhvf.js} +1 -1
  8. package/dist/assets/{Detail-DXoiFN0v.js → Detail-CmtTUE6G.js} +1 -1
  9. package/dist/assets/{EditArray-BU6eZhEv.js → EditArray-DtrBeA53.js} +1 -1
  10. package/dist/assets/{Extra-BX-cM5IL.js → Extra-tK8KoRgk.js} +1 -1
  11. package/dist/assets/{FilePreview-CjsRfC5i.js → FilePreview-Bc3WRYrz.js} +1 -1
  12. package/dist/assets/{History-DKiwMTuJ.js → History-C3Z8TiCw.js} +1 -1
  13. package/dist/assets/{ImagePreview--E2I_hTf.js → ImagePreview-BKjWRoxg.js} +1 -1
  14. package/dist/assets/{ImageWrapper-Dq05eqgy.js → ImageWrapper-BiD890LG.js} +1 -1
  15. package/dist/assets/{Index-ClZOywxh.js → Index-B7hP1SMu.js} +1 -1
  16. package/dist/assets/{Index-CTKE5_gy.js → Index-B8Dt7dnR.js} +1 -1
  17. package/dist/assets/Index-BHd9oY8p.js +1 -0
  18. package/dist/assets/{Index--Yssj8qK.js → Index-BLGPvG-T.js} +1 -1
  19. package/dist/assets/{Index-HhBx8DzR.js → Index-CKlmvquc.js} +1 -1
  20. package/dist/assets/{Index-DcR-_yuZ.js → Index-CSY50Dj-.js} +1 -1
  21. package/dist/assets/{Index-CKmpz6OX.js → Index-CUIPtrqw.js} +1 -1
  22. package/dist/assets/{Index-D_RSCN5N.js → Index-D41eONzM.js} +1 -1
  23. package/dist/assets/{Index-Cc5CzCKD.js → Index-DMog6Dda.js} +1 -1
  24. package/dist/assets/{Index-oxMx9Z0b.js → Index-DMy8azyp.js} +1 -1
  25. package/dist/assets/{Index-DyLO5hPo.js → Index-DNq9vfq1.js} +1 -1
  26. package/dist/assets/{Index-DJS8kJLa.js → Index-DlwzbkYR.js} +1 -1
  27. package/dist/assets/{Index-CII6HUNz.js → Index-DrByJhQj.js} +1 -1
  28. package/dist/assets/{Index-D2c5R2T3.js → Index-rnba5CTp.js} +1 -1
  29. package/dist/assets/{Index-DQY6DUFK.js → Index-ydXTdHB_.js} +1 -1
  30. package/dist/assets/{Index-aCWswdIv.js → Index-zRPRgkjp.js} +1 -1
  31. package/dist/assets/{InfoIcon-BvH1w3hu.js → InfoIcon-xpG6wYiZ.js} +1 -1
  32. package/dist/assets/Invitees-XSlpAqAQ.js +1 -0
  33. package/dist/assets/{List-DLIM6v3S.js → List-BkGqvy_3.js} +1 -1
  34. package/dist/assets/{List-Dt0gzgRG.js → List-DDJBHhhY.js} +1 -1
  35. package/dist/assets/List-DskwzxQy.js +1 -0
  36. package/dist/assets/{Login-BBWBJMn-.js → Login-CX-tCVs4.js} +1 -1
  37. package/dist/assets/{Main-Ul1e4hCu.js → Main-Dh_NJ6DX.js} +1 -1
  38. package/dist/assets/Navigator-BSwktn2R.js +1 -0
  39. package/dist/assets/{Navigator-D_MW9hOl.css → Navigator-O1TTGlp9.css} +1 -1
  40. package/dist/assets/{NoTasks-CWxLeoQx.js → NoTasks-RqxH5tU5.js} +1 -1
  41. package/dist/assets/{Pagination--Rgu3GgC.js → Pagination-Tjr-mTrC.js} +1 -1
  42. package/dist/assets/Status-hwkT5ahP.js +1 -0
  43. package/dist/assets/{Subscribe-sqY9GV1m.js → Subscribe-C9_YYuhz.js} +1 -1
  44. package/dist/assets/{VideoPlayer-CDl66jN-.js → VideoPlayer-BAU_i6Xt.js} +1 -1
  45. package/dist/assets/{_baseClone-B5Ppwxqb.js → _baseClone-DtzNljAk.js} +1 -1
  46. package/dist/assets/_baseIteratee-W5a_Nlyi.js +1 -0
  47. package/dist/assets/{_initCloneObject-BSsEzNvg.js → _initCloneObject-BzNbsgMU.js} +1 -1
  48. package/dist/assets/{castArray-VRhoHuDJ.js → castArray-C-yFxvxW.js} +1 -1
  49. package/dist/assets/{chat-D-k_fDEw.js → chat-5h6rIgxz.js} +1 -1
  50. package/dist/assets/{chat-DGPt4Hft.js → chat-7hNV09Ft.js} +1 -1
  51. package/dist/assets/{chat-LiRCi7bJ.js → chat-BBgGl6RX.js} +1 -1
  52. package/dist/assets/{chat-DEujCDUY.js → chat-BaYOtssA.js} +1 -1
  53. package/dist/assets/{chat-CWt3egt0.js → chat-C7XgjaXY.js} +1 -1
  54. package/dist/assets/{chat-B06ZX5Bb.js → chat-CD5BvC0H.js} +1 -1
  55. package/dist/assets/{chat-BK9Jt9YE.js → chat-Cbb2d6Oi.js} +1 -1
  56. package/dist/assets/{chat-DvjrnGzN.js → chat-CkAw5Oys.js} +1 -1
  57. package/dist/assets/{chat-NBYqhyye.js → chat-Cpuoh_8N.js} +1 -1
  58. package/dist/assets/{chat--QSdcmyT.js → chat-D2ws9Cae.js} +1 -1
  59. package/dist/assets/{chat-C9HyxcRl.js → chat-DOqo8k8C.js} +1 -1
  60. package/dist/assets/{chat-f6aXB3K4.js → chat-DR0tIdQZ.js} +1 -1
  61. package/dist/assets/{chat-CBi3Ugqj.js → chat-DYhq09lH.js} +1 -1
  62. package/dist/assets/{chat-BFp5R5Zq.js → chat-Dp2o-Ozz.js} +1 -1
  63. package/dist/assets/{chat-C5I0_x1X.js → chat-DvQMT6oB.js} +1 -1
  64. package/dist/assets/{chat-Ct6YGg6K.js → chat-SH2gyZzj.js} +1 -1
  65. package/dist/assets/{chat-B0k7Pwwi.js → chat-SjsMvXgI.js} +1 -1
  66. package/dist/assets/{chat-D-MNQzva.js → chat-n1N9esGB.js} +1 -1
  67. package/dist/assets/{common-BwNjuk6F.js → common-B1yX_ff-.js} +1 -1
  68. package/dist/assets/{common-RfVHtKrN.js → common-BBPWw5J7.js} +1 -1
  69. package/dist/assets/{common-B_6DlJxA.js → common-BG45u1OV.js} +1 -1
  70. package/dist/assets/{common-Inlf4XYP.js → common-BLjWZSEM.js} +1 -1
  71. package/dist/assets/{common-2ZSujHN3.js → common-BgzpZqjU.js} +1 -1
  72. package/dist/assets/{common-CCSiCV1Z.js → common-CEPfNZsP.js} +1 -1
  73. package/dist/assets/{common-CMAmVQzk.js → common-CPXxKaEE.js} +1 -1
  74. package/dist/assets/{common-B3aUreBi.js → common-CQbZiaFA.js} +1 -1
  75. package/dist/assets/{common-D43IVAsF.js → common-CRBxjBiZ.js} +1 -1
  76. package/dist/assets/{common-C3nAEQsi.js → common-CWhfWsU0.js} +1 -1
  77. package/dist/assets/{common-MrmyAL1U.js → common-Cx_EEKap.js} +1 -1
  78. package/dist/assets/{common-BlqN1HFr.js → common-DBRTd0Lc.js} +1 -1
  79. package/dist/assets/{common-DTqC6g6k.js → common-DQoZSn9a.js} +1 -1
  80. package/dist/assets/{common-malmfpLC.js → common-D_enhakC.js} +1 -1
  81. package/dist/assets/{common-BYj2dgMN.js → common-DqFprXrt.js} +1 -1
  82. package/dist/assets/{common-Cygm0eWY.js → common-DtYUqnDe.js} +1 -1
  83. package/dist/assets/{common-CAcGXPov.js → common-X4ztvMtW.js} +1 -1
  84. package/dist/assets/{common-Disl6DbM.js → common-w2Sdj-bv.js} +1 -1
  85. package/dist/assets/{debounce-B_oyKomx.js → debounce-D_GSfnKF.js} +1 -1
  86. package/dist/assets/{distribution-DioB9wPx.js → distribution-4bP9Z08I.js} +1 -1
  87. package/dist/assets/{dropdown-BI_aXmp7.js → dropdown-BDVhc981.js} +1 -1
  88. package/dist/assets/{index-CbBpCBQy.js → index-B5qqirtZ.js} +1 -1
  89. package/dist/assets/{index-zV3wYkDF.js → index-BG27krBY.js} +1 -1
  90. package/dist/assets/{index-DeVZrTjR.js → index-BPLDIKYi.js} +1 -1
  91. package/dist/assets/index-BZxyIS6v.js +1 -0
  92. package/dist/assets/{index-Bj6lYeuA.js → index-Bu8GYl4M.js} +1 -1
  93. package/dist/assets/{index-BWsFFZXP.js → index-Bxn0D_Ay.js} +35 -35
  94. package/dist/assets/{index-Bx0koER3.js → index-C7dq5GDX.js} +2 -2
  95. package/dist/assets/{index-G-88K9QN.js → index-CDRWFNPw.js} +1 -1
  96. package/dist/assets/index-CMofrOYp.js +1 -0
  97. package/dist/assets/index-CfFbRlb3.js +1 -0
  98. package/dist/assets/{index-DQt0qe1P.js → index-CiupJjd2.js} +1 -1
  99. package/dist/assets/index-CvUpzdE1.js +1 -0
  100. package/dist/assets/{index--_dS6us5.js → index-D9TXWw5i.js} +1 -1
  101. package/dist/assets/{index-CyChKWJg.js → index-DA1L1iqe.js} +1 -1
  102. package/dist/assets/{index-wU4GZ5pY.js → index-DG2fa-ow.js} +1 -1
  103. package/dist/assets/index-DkwacTMf.js +1 -0
  104. package/dist/assets/{index-DcGntVK2.js → index-DpWAouU9.js} +1 -1
  105. package/dist/assets/{index-BhtKUKYx.js → index-DwKtBxI9.js} +2 -2
  106. package/dist/assets/index-I256GqO3.js +1 -0
  107. package/dist/assets/index-KMXdPkbR.js +1 -0
  108. package/dist/assets/index-Nq6BDZRS.js +1 -0
  109. package/dist/assets/{index-CUkOndvc.js → index-PrnYVdZU.js} +2 -2
  110. package/dist/assets/{index-DhB55zty.js → index-YB7WcHHr.js} +1 -1
  111. package/dist/assets/{index-B376uNpw.js → index-ZXXqKgb5.js} +1 -1
  112. package/dist/assets/{index-W6DB5TGt.js → index-ekLS25Os.js} +1 -1
  113. package/dist/assets/{index-CU2wvW23.js → index-kwhOoHli.js} +1 -1
  114. package/dist/assets/{index-Byut5jZo.js → index-qF8ceE1g.js} +1 -1
  115. package/dist/assets/{index-CiRtHIlU.js → index-r5mkEdBU.js} +1 -1
  116. package/dist/assets/{index-DvauOAwc.js → index-zhXzFU3e.js} +1 -1
  117. package/dist/assets/{index.es-CsBCkfD5.js → index.es-B1Cre0ht.js} +1 -1
  118. package/dist/assets/{isEqual-CFb6rQDI.js → isEqual-CYpeyoZ0.js} +1 -1
  119. package/dist/assets/{isPlainObject-XWuQ7pd5.js → isPlainObject-STqtLEhU.js} +1 -1
  120. package/dist/assets/{order-yQliu6Am.js → order-DhJ-UIdx.js} +1 -1
  121. package/dist/assets/{price-D7qIs2re.js → price-crtYVYmR.js} +1 -1
  122. package/dist/assets/{site-MPEm1Dki.js → site-A77Io2Or.js} +1 -1
  123. package/dist/assets/{site-C5HG4j97.js → site-B5iItt-S.js} +1 -1
  124. package/dist/assets/{site-7Kw-FZhj.js → site-BCvdK8CL.js} +1 -1
  125. package/dist/assets/{site-Djsjczqa.js → site-BGJJwm3f.js} +1 -1
  126. package/dist/assets/{site-B023qvlH.js → site-BhAsjXKi.js} +1 -1
  127. package/dist/assets/{site-T-xX9zdG.js → site-BvDhdNyC.js} +1 -1
  128. package/dist/assets/{site-CMRl41qi.js → site-CENdxzGD.js} +1 -1
  129. package/dist/assets/{site-BPp9FcI5.js → site-CEl0Pi6P.js} +1 -1
  130. package/dist/assets/{site-CnwSR4Bv.js → site-CTKTeBh7.js} +1 -1
  131. package/dist/assets/{site-e-TZyjAE.js → site-CWwNGoZV.js} +1 -1
  132. package/dist/assets/{site-DGrV5NWv.js → site-Ck2H94nf.js} +1 -1
  133. package/dist/assets/{site-DX1Q14BS.js → site-CulGDrJc.js} +1 -1
  134. package/dist/assets/{site-E_qSaFLk.js → site-CyNMSsZ2.js} +1 -1
  135. package/dist/assets/{site-DAPfnEus.js → site-DFLsDbsz.js} +1 -1
  136. package/dist/assets/{site-BX5PqyKt.js → site-DIgI-p5B.js} +1 -1
  137. package/dist/assets/{site-Cs38ZIoR.js → site-DcQt4gc_.js} +1 -1
  138. package/dist/assets/{site-BlMyhfX7.js → site-DjtV0ZIK.js} +1 -1
  139. package/dist/assets/{site-JhZT0_yY.js → site-p0SL6qTu.js} +1 -1
  140. package/dist/assets/strings-Djoxz8AJ.js +1 -0
  141. package/dist/assets/{typescript-4EcP9GDg.js → typescript-14ZN9Iqb.js} +1 -1
  142. package/dist/assets/{use-form-item-BNdveB-3.js → use-form-item-BHzDGeGF.js} +1 -1
  143. package/dist/index.html +1 -1
  144. package/package.json +1 -1
  145. package/dist/assets/Index-fXCJyGIC.js +0 -1
  146. package/dist/assets/Invitees-Cgx3JOVo.js +0 -1
  147. package/dist/assets/List-Bl9TURxH.js +0 -1
  148. package/dist/assets/Navigator-CIrJ8ygQ.js +0 -1
  149. package/dist/assets/Status-BqBJF7tJ.js +0 -1
  150. package/dist/assets/_baseIteratee-X7mvVEoG.js +0 -1
  151. package/dist/assets/index-BwzD3rCs.js +0 -1
  152. package/dist/assets/index-C3nZe_4F.js +0 -1
  153. package/dist/assets/index-CBqs6I7n.js +0 -1
  154. package/dist/assets/index-DQ9u02kq.js +0 -1
  155. package/dist/assets/index-Dwi_2evN.js +0 -1
  156. package/dist/assets/index-Pp9kAEVZ.js +0 -1
  157. package/dist/assets/index-cH785By-.js +0 -1
  158. package/dist/assets/index-r1Qg4fVw.js +0 -1
  159. package/dist/assets/strings-C2_9VbZ7.js +0 -1
@@ -1 +1 @@
1
- import{F as D}from"./index.es-CsBCkfD5.js";import{E as C}from"./index-Pp9kAEVZ.js";import{E as N}from"./index-G-88K9QN.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,eK as G,eL as z,eM as S,eN as P,eO as B,eP as q,x as l,F as V,v as T,i as y,eQ as H,eR as K,n as I,f as W,cc as Z,D as h,y as $,eS as J,J as Q,K as Y,eT as X,dx as x,dt as ee}from"./index-BWsFFZXP.js";import{E as R,a as O}from"./index-B376uNpw.js";import{I as M}from"./InfoIcon-BvH1w3hu.js";import{I as te}from"./ImagePreview--E2I_hTf.js";import{E as oe}from"./index-DQt0qe1P.js";import{E as A}from"./index-r1Qg4fVw.js";import{C as se,N as ae}from"./NoTasks-CWxLeoQx.js";import{E as ne}from"./index-zV3wYkDF.js";import{a as le}from"./price-D7qIs2re.js";import{C as re}from"./CopyToClipboard-YQgGORAE.js";import{V as ie}from"./VideoPlayer-CDl66jN-.js";import{E as ce}from"./index-DvauOAwc.js";import{E as de}from"./index-CBqs6I7n.js";import{E as ue}from"./index-CiRtHIlU.js";import{B as pe}from"./BotPlaceholder-7eayCQm0.js";import"./use-form-item-BNdveB-3.js";import"./index-r5W6hzzQ.js";import"./index-cH785By-.js";import"./typescript-4EcP9GDg.js";import"./index-CyChKWJg.js";import"./strings-C2_9VbZ7.js";import"./castArray-VRhoHuDJ.js";import"./isEqual-CFb6rQDI.js";import"./_initCloneObject-BSsEzNvg.js";import"./debounce-B_oyKomx.js";import"./_baseIteratee-X7mvVEoG.js";import"./index-W6DB5TGt.js";import"./index-Bx0koER3.js";import"./_baseClone-B5Ppwxqb.js";import"./index-CU2wvW23.js";import"./vue-plyr-QZFBikSk.js";import"./index-C3nZe_4F.js";const me=b({name:"LayoutSora",components:{ElDrawer:N,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:B,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=H)}}),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=K)}}),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:W({width:c.width+"px",height:c.height+"px"})},null,4)],2),i("p",je,l(c.label),1)],10,Me))),128))])])}const Ne=w(Ge,[["render",Fe],["__scopeId","data-v-d6940af8"]]),Be=b({name:"StartEndImage",components:{ElUpload:oe,ElButton:C,InfoIcon:M,FontAwesomeIcon:D,ImagePreview:te},emits:["change"],data(){return{fileList:[],uploadUrl:Z()+"/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"},He={class:"flex justify-between"},Ke={class:"flex justify-start items-center"},We={class:"text-sm font-bold"};function Ze(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",He,[i("div",Ke,[i("span",We,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 Je=w(Be,[["render",Ze],["__scopeId","data-v-fd6e5c97"]]),Qe=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),Ye=b({name:"SizeSelector",components:{ElSelect:O,ElOption:R},data(){return{options:J.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)}}),Xe={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",Xe,[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(Ye,[["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:Je,SizeSelector:ot,ActionSelector:Te,OrientationSelector:Ne,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),[[Y,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},Nt={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 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",Nt,[(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",Bt,[o(a)])):$("",!0)],64)}const Ht=w(jt,[["render",qt]]),Kt="https://webhook.acedata.cloud/sora",Wt=b({name:"SoraIndex",components:{ConfigPanel:_t,Layout:ve,RecentPanel:Ht},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:Kt},t=this.credential?.token;if(!t){console.error("no token specified");return}A.info(this.$t("sora.message.startingTask")),X.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 Zt(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(Wt,[["render",Zt]]);export{Co as default};
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 +1 @@
1
- import{F as G}from"./index.es-CsBCkfD5.js";import{E as R}from"./index-Pp9kAEVZ.js";import{E as z}from"./index-G-88K9QN.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,eF as M,x as a,F as A,v as U,i as y,eG as q,eH as N,eI as H,n as T,f as J,y as f,cc as K,D as h,J as E,K as S,eJ as Q,dx as W,dt as X}from"./index-BWsFFZXP.js";import{E as D,a as O}from"./index-B376uNpw.js";import{I as j}from"./InfoIcon-BvH1w3hu.js";import{E as Y}from"./index-Dwi_2evN.js";import{V as P}from"./VideoPlayer-CDl66jN-.js";import{I as Z}from"./ImagePreview--E2I_hTf.js";import{E as x}from"./index-DQt0qe1P.js";import{E as I}from"./index-r1Qg4fVw.js";import{C as ee,N as te}from"./NoTasks-CWxLeoQx.js";import{E as oe}from"./index-zV3wYkDF.js";import{a as se}from"./price-D7qIs2re.js";import{C as ne}from"./CopyToClipboard-YQgGORAE.js";import{E as ae}from"./index-DvauOAwc.js";import{E as le}from"./index-CBqs6I7n.js";import{E as ie}from"./index-CiRtHIlU.js";import{B as re}from"./BotPlaceholder-7eayCQm0.js";import"./use-form-item-BNdveB-3.js";import"./index-r5W6hzzQ.js";import"./index-cH785By-.js";import"./typescript-4EcP9GDg.js";import"./index-CyChKWJg.js";import"./strings-C2_9VbZ7.js";import"./castArray-VRhoHuDJ.js";import"./isEqual-CFb6rQDI.js";import"./_initCloneObject-BSsEzNvg.js";import"./debounce-B_oyKomx.js";import"./_baseIteratee-X7mvVEoG.js";import"./index-W6DB5TGt.js";import"./vue-plyr-QZFBikSk.js";import"./index-Bx0koER3.js";import"./_baseClone-B5Ppwxqb.js";import"./index-CU2wvW23.js";import"./index-C3nZe_4F.js";const ce=$({name:"LayoutVeo",components:{ElDrawer:z,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=M)}}),_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(A,null,U(e.options,i=>(n(),y(c,{key:i.value,label:i.label,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const 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=q)}}),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(A,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=N)}}),Ie={class:"relative"},Te={class:"flex justify-between"},Ce={class:"flex justify-start items-center"},Ae={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",Ce,[l("span",Ae,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(A,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"]]),ze=$({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}}}),Me={class:"relative"},qe={class:"flex mb-2"},Ne={class:"text-sm font-bold"};function He(e,o,m,v,b,w){const c=s("video-player");return n(),r("div",Me,[l("div",qe,[l("span",Ne,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(ze,[["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"),C=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(C,{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})},Ct={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={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]=C=>e.onGet1080p(C,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]=C=>e.onDownload(C,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",Ct,[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",At,[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 zt(e,o,m,v,b,w){const c=s("bot-placeholder"),d=s("task-preview"),i=s("no-tasks");return n(),r(A,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(A,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 Mt=g(Ot,[["render",zt]]),qt="https://webhook.acedata.cloud/veo",Nt=$({name:"VeoIndex",components:{ConfigPanel:pt,Layout:fe,RecentPanel:Mt},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:qt},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 Co=g(Nt,[["render",Ht]]);export{Co as default};
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 +1 @@
1
- import{F as V}from"./index.es-CsBCkfD5.js";import{E as G}from"./index-Pp9kAEVZ.js";import{E as P}from"./index-G-88K9QN.js";import{d as v,h as b,b as l,t as c,k as t,r as C,j as p,l as a,o,cc as L,x as i,D as _,F as I,v as T,i as E,n as S,c as D,y as $,f5 as j,dx as z,dk as O,ds as B,dt as A}from"./index-BWsFFZXP.js";import{I as M}from"./InfoIcon-BvH1w3hu.js";import{I as q}from"./ImagePreview--E2I_hTf.js";import{E as F}from"./index-DQt0qe1P.js";import{E as w}from"./index-r1Qg4fVw.js";import{a as N,E as H}from"./index-DQ9u02kq.js";import{E as U}from"./index-CiRtHIlU.js";import{E as J,a as K}from"./index-wU4GZ5pY.js";import{A as Q}from"./Status-BqBJF7tJ.js";import{C as W}from"./CopyToClipboard-YQgGORAE.js";import{E as X}from"./index-CBqs6I7n.js";import{a as Y,E as Z}from"./index-C3nZe_4F.js";import"./use-form-item-BNdveB-3.js";import"./index-r5W6hzzQ.js";import"./index-DvauOAwc.js";import"./index-CyChKWJg.js";import"./typescript-4EcP9GDg.js";import"./index-Bx0koER3.js";import"./_baseClone-B5Ppwxqb.js";import"./_initCloneObject-BSsEzNvg.js";import"./isEqual-CFb6rQDI.js";import"./debounce-B_oyKomx.js";import"./index-CU2wvW23.js";import"./strings-C2_9VbZ7.js";import"./isPlainObject-XWuQ7pd5.js";const x=v({name:"LayoutHeadshots",components:{ElDrawer:P,ElButton:G,FontAwesomeIcon:V},data(){return{drawer:!1}}}),ee={class:"main flex flex-row flex-1"},te={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},se={class:"result h-full p-[15px] flex-1 flex flex-col"};function oe(e,s,m,u,y,k){const d=a("font-awesome-icon"),h=a("el-button"),n=a("el-drawer");return o(),l("div",ee,[c("div",te,[C(e.$slots,"config",{},void 0,!0)]),c("div",se,[C(e.$slots,"result",{},void 0,!0)]),t(h,{circle:"",class:"menu",onClick:s[0]||(s[0]=r=>e.drawer=!0)},{default:p(()=>[t(d,{icon:"fa-solid fa-gear"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":s[1]||(s[1]=r=>e.drawer=r),"with-header":!1,size:"340px",class:"drawer"},{default:p(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ae=b(x,[["render",oe],["__scopeId","data-v-21e11492"]]),ne=v({name:"ImageUrlsInput",components:{ElUpload:F,ElButton:G,InfoIcon:M,ImagePreview:q,FontAwesomeIcon:V},data(){return{fileList:[],uploadUrl:L()+"/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.headshots?.config?.image_urls},set(){const e=this.urls;this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,image_urls:e})}}},mounted(){this.value||(this.value=void 0),this.onSetImageUrls()},methods:{onExceed(){w.warning(this.$t("headshots.message.uploadImageExceed"))},onError(){w.error(this.$t("headshots.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,image_urls:e})},async onSuccess(){this.onSetImageUrls()}}}),ie={class:"field"},le={class:"title font-bold"},re={class:"upload-wrapper"};function ce(e,s,m,u,y,k){const d=a("image-preview"),h=a("font-awesome-icon"),n=a("el-button"),r=a("el-upload"),f=a("info-icon");return o(),l("div",ie,[c("h2",le,i(e.$t("headshots.name.endImageUrls")),1),c("div",re,[t(r,{"file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=g=>e.fileList=g),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value upload-wrapper",limit:2,multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:g})=>[t(d,{url:g.url||g.response?.file_url,name:g.name,percentage:g.percentage,onRemove:R=>e.fileList.splice(e.fileList.indexOf(g),1)},null,8,["url","name","percentage","onRemove"])]),default:p(()=>[t(n,{size:"small",type:"primary",round:""},{default:p(()=>[t(h,{icon:"fa-solid fa-upload",class:"mr-1"}),_(" "+i(e.$t("headshots.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])]),t(f,{content:e.$t("headshots.description.endImageUrls"),class:"info"},null,8,["content"])])}const de=b(ne,[["render",ce],["__scopeId","data-v-1690629a"]]),pe="fast",me=v({name:"ModeSelector",components:{ElRadioButton:H,ElRadioGroup:N},data(){return{options:[{label:this.$t("headshots.button.fast"),value:"fast"},{label:this.$t("headshots.button.relax"),value:"relax"}]}},computed:{value:{get(){return this.$store.state.headshots.config?.mode},set(e){console.debug("set mode",e),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots.config,mode:e})}}},mounted(){this.value||(this.value=pe)}}),ue={class:"field"},he={class:"title font-bold"};function fe(e,s,m,u,y,k){const d=a("el-radio-button"),h=a("el-radio-group");return o(),l("div",ue,[c("h2",he,i(e.$t("headshots.name.mode")),1),t(h,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=n=>e.value=n),size:"small",class:"mode"},{default:p(()=>[(o(!0),l(I,null,T(e.options,n=>(o(),E(d,{key:n.value,label:n.value},{default:p(()=>[_(i(n.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const _e=b(me,[["render",fe],["__scopeId","data-v-a2a0d5fa"]]),ge=v({name:"StylizeSelector",components:{ElTabs:K,ElTabPane:J,ElImage:U},data(){return{tab:"styles",value:"",elements:{styles:{displayName:this.$t("headshots.styleCategory.styles"),items:[{image:"https://static.aipedias.com/aicamera/common/20241008/20241008202314260779439.png",label:this.$t("headshots.styleTag.malePportrait"),value:"male_portrait"},{image:"https://static.aipedias.com/aicamera/common/20241008/202410082022241e9755548.png",label:this.$t("headshots.styleTag.malePportrait2"),value:"male_portrait2"},{image:"https://static.aipedias.com/aicamera/common/20241101/20241101170130d78f66521.png",label:this.$t("headshots.styleTag.kindergarten"),value:"kindergarten"},{image:"https://static.aipedias.com/aicamera/common/20240923/20240923123233accf60398.webp",label:this.$t("headshots.styleTag.logoTshirt"),value:"logo_tshirt"},{image:"https://static.aipedias.com/aicamera/common/20241025/202410252012329472d0656.jpg",label:this.$t("headshots.styleTag.wedding"),value:"wedding"},{image:"https://static.aipedias.com/aicamera/common/20240915/20240915145045254931400.webp",label:this.$t("headshots.styleTag.businessPphoto"),value:"business_photo"},{image:"https://static.aipedias.com/aicamera/common/20240810/20240810194526040341795.jpg",label:this.$t("headshots.styleTag.bobSuit"),value:"bob_suit"},{image:"https://static.aipedias.com/aicamera/common/20240717/20240717152654e0b348173.webp",label:this.$t("headshots.styleTag.femalePortrait"),value:"female_portrait"}]}}}},watch:{value(e){console.debug("set template",e),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:e})}},mounted(){this.value||(this.value=""),console.debug("set template",this.value),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:this.value})},methods:{onToggle(e){this.value===e?this.value="":this.value=e,console.debug("set template",this.value),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:this.value})}}}),$e={class:"field"},ve=["onClick"],be={class:"name"};function ye(e,s,m,u,y,k){const d=a("el-image"),h=a("el-tab-pane"),n=a("el-tabs");return o(),l("div",$e,[t(n,{modelValue:e.tab,"onUpdate:modelValue":s[0]||(s[0]=r=>e.tab=r)},{default:p(()=>[(o(!0),l(I,null,T(e.elements,(r,f)=>(o(),E(h,{key:f,label:r.displayName,name:f,class:"pane"},{default:p(()=>[(o(!0),l(I,null,T(r.items,(g,R)=>(o(),l("div",{key:R,class:S({item:!0,active:e.value===g.value}),onClick:ft=>e.onToggle(g.value)},[t(d,{src:g.image,fit:"fill",class:"preview"},null,8,["src"]),c("span",be,i(g.label),1)],10,ve))),128))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])])}const ke=b(ge,[["render",ye],["__scopeId","data-v-be4bd25d"]]),we=v({name:"PresetPanel",components:{ModeSelector:_e,ImageUrlsInput:de,ElButton:G,FontAwesomeIcon:V,ElementsSelector:ke},emits:["generate"],computed:{config(){return this.$store.state.headshots?.config}},methods:{onGenerate(){this.$emit("generate")}}}),Ie={class:"panel"},Te={class:"config"},Se={class:"actions"};function Ve(e,s,m,u,y,k){const d=a("elements-selector"),h=a("mode-selector"),n=a("image-urls-input"),r=a("font-awesome-icon"),f=a("el-button");return o(),l("div",Ie,[c("div",Te,[t(d,{class:"mb-4"}),t(h,{class:"mb-4"}),t(n,{class:"mb-4"}),c("div",Se,[t(f,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[t(r,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+i(e.$t("headshots.button.generate")),1)]),_:1},8,["onClick"])])])])}const Ee=b(we,[["render",Ve],["__scopeId","data-v-78172a54"]]),Ce=v({name:"ImageGallery",props:{modelValue:{type:Object,required:!0}},setup(e){return{images:D(()=>e.modelValue?.response?.data?.slice(0,2)||[]),viewImage:u=>{window.open(u,"_blank")}}}}),Ae={class:"image-gallery"},Ge=["src"],Re=["onClick"];function Ue(e,s,m,u,y,k){return o(),l("div",Ae,[(o(!0),l(I,null,T(e.images,(d,h)=>(o(),l("div",{key:h,class:"image-container"},[c("img",{src:d.image_url,alt:"Image"},null,8,Ge),d.image_url?(o(),l("button",{key:0,class:"view-button",onClick:n=>e.viewImage(d.image_url)},i(e.$t("headshots.button.viewImage")),9,Re)):$("",!0)]))),128))])}const Pe=b(Ce,[["render",Ue],["__scopeId","data-v-03641510"]]),Le=v({name:"TaskPreview",components:{ElImage:U,CopyToClipboard:W,FontAwesomeIcon:V,ElAlert:X,ImageGallery:Pe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.headshots?.application},config(){return this.$store.state.headshots?.config}},methods:{onDownload(e,s){e.stopPropagation(),console.log("on download"),window.open(s,"_blank")},onReload(e){const s=e.target,m=new URL(s.src),u=m.searchParams.get("retry");if(!u)m.searchParams.set("retry","1");else if(parseInt(u)<2)m.searchParams.set("retry",(parseInt(u)+1).toString());else return;s.src=m.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),De={class:"preview"},je={class:"left"},ze={class:"main"},Oe={class:"bot"},Be={class:"datetime"},Me={class:"info"},qe={key:0,class:"prompt mt-2"},Fe={key:0},Ne={key:1},He={key:0,class:S({content:!0,failed:!0})},Je={class:"image-wrapper"},Ke={class:"description"},Qe={key:1,class:S({content:!0})},We={class:"description"},Xe={class:"description"},Ye={class:"description"},Ze={key:2,class:S({content:!0})},xe={class:"description"},et={key:3,class:S({content:!0})},tt={class:"description"};function st(e,s,m,u,y,k){const d=a("el-image"),h=a("image-gallery"),n=a("font-awesome-icon"),r=a("copy-to-clipboard"),f=a("el-alert");return o(),l("div",De,[c("div",je,[t(d,{src:"https://cdn.acedata.cloud/isxyfw.png",class:"avatar"})]),c("div",ze,[c("div",Oe,[_(i(e.$t("headshots.name.headshotsBot"))+" ",1),c("span",Be,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",Me,[e.modelValue?.request?.template?(o(),l("p",qe,[_(i(e.modelValue?.request?.template)+" ",1),e.modelValue?.response?$("",!0):(o(),l("span",Fe," - ("+i(e.$t("headshots.status.pending"))+") ",1)),e.modelValue?.response?.status==="unknown"?(o(),l("span",Ne," - ("+i(e.$t("headshots.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0?(o(),l("div",He,[c("div",Je,[t(h,{"model-value":e.modelValue},null,8,["model-value"])]),t(f,{closable:!1,class:"mt-2 success"},{default:p(()=>[c("p",Ke,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(r,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(o(),l("div",Qe,[t(f,{closable:!1,class:"failure"},{template:p(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:p(()=>[c("p",We,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(r,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",Xe,[t(n,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),t(r,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),c("p",Ye,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+i(e.$t("headshots.name.traceId"))+": "+i(e.modelValue?.response?.trace_id)+" ",1),t(r,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?$("",!0):(o(),l("div",Ze,[t(f,{closable:!1,class:"info"},{template:p(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:p(()=>[c("p",xe,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(r,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])),e.modelValue?.response?.status==="unknown"?(o(),l("div",et,[t(f,{closable:!1,class:"info"},{template:p(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:p(()=>[c("p",tt,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(r,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0)])])}const ot=b(Le,[["render",st],["__scopeId","data-v-77229910"]]),at=v({name:"RecentPanel",components:{TaskPreview:ot,ElSkeleton:Z,ElSkeletonItem:Y},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.headshots?.tasks,items:this.$store.state.headshots?.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")}}}),nt={key:0,class:"tasks"},it={class:"left"},lt={class:"main"},rt={key:1,class:"tasks"},ct={key:2,class:"description"};function dt(e,s,m,u,y,k){const d=a("el-skeleton-item"),h=a("el-skeleton"),n=a("task-preview");return o(),l("div",{ref:"panel",class:"panel recent",onScroll:s[0]||(s[0]=(...r)=>e.onHandleScroll&&e.onHandleScroll(...r))},[e.tasks?.items===void 0?(o(),l("div",nt,[(o(),l(I,null,T(3,r=>c("div",{key:r,class:"task placeholder"},[c("div",it,[t(h,{animated:""},{template:p(()=>[t(d,{variant:"image",class:"avatar"})]),_:1})]),c("div",lt,[t(h,{animated:""},{template:p(()=>[t(d,{variant:"p",class:"title"}),t(d,{variant:"image",class:"icon"})]),_:1})])])),64))])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(o(),l("div",rt,[(o(!0),l(I,null,T(e.tasks?.items,(r,f)=>(o(),E(n,{key:f,"model-value":r,class:"preview"},null,8,["model-value"]))),128))])):$("",!0),e.tasks?.items?.length===0?(o(),l("p",ct,i(e.$t("headshots.message.noTasks")),1)):$("",!0)],544)}const pt=b(at,[["render",dt],["__scopeId","data-v-d79bcb1f"]]),mt="https://webhook.acedata.cloud/headshots",ut=v({name:"HeadshotsIndex",components:{ConfigPanel:Ee,Layout:ae,ApplicationStatus:Q,RecentPanel:pt},inject:["initialized"],data(){return{task:void 0,job:0}},computed:{loading(){return this.$store.state.headshots?.status?.getApplications===A.Request},service(){return this.$store.state.headshots.service},credential(){return this.$store.state.headshots.credential},config(){return this.$store.state.headshots.config},initializing(){return this.$store.state.headshots.status.getApplications===A.Request},needApply(){return this.$store.state.headshots.status.getApplications===A.Success&&!this.application},application(){return this.$store.state.headshots.application},applications(){return this.$store.state.headshots.applications},tasks(){return this.$store.state.headshots.tasks}},watch:{tasks:{handler(e,s){e?.items?.length>s?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=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("headshots/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("headshots/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){O.create({application:this.application}).then(({data:e})=>{this.application=e,w.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===B&&w.error(this.$t("application.message.alreadyApplied"))})},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".recent");e&&(e.scrollTop=e.scrollHeight)},500)},async onGetTasks(e){if(this.loading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:s=5,createdAtMin:m,createdAtMax:u}=e||{};console.debug("limit",s,"createdAtMin",m,"createdAtMax",u),await this.$store.dispatch("headshots/getTasks",{limit:s,createdAtMin:m,createdAtMax:u})},async onGeneratePicture(){const e={...this.config,callback_url:mt},s=this.credential?.token;if(!s){console.error("no token specified");return}w.info(this.$t("headshots.message.startingTask")),j.generate(e,{token:s}).then(()=>{w.success(this.$t("headshots.message.startTaskSuccess")),this.$store.commit("headshots/setConfig",{config:void 0})}).catch(m=>{m?.response?.data?.error?.code===z?w.error(this.$t("headshots.message.usedUp")):w.error(this.$t("headshots.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}});function ht(e,s,m,u,y,k){const d=a("config-panel"),h=a("application-status"),n=a("recent-panel"),r=a("layout");return o(),E(r,null,{config:p(()=>[t(d,{onGenerate:e.onGeneratePicture},null,8,["onGenerate"])]),result:p(()=>[t(h,{initializing:e.initializing,application:e.application,applications:e.applications,service:e.service,"need-apply":e.needApply,class:"mb-4",onRefresh:e.onGetApplication,onSelect:s[0]||(s[0]=f=>e.$store.dispatch("headshots/setApplication",f))},null,8,["initializing","application","applications","service","need-apply","onRefresh"]),t(n,{class:"panel recent",onReachTop:e.onReachTop},null,8,["onReachTop"])]),_:1})}const Nt=b(ut,[["render",ht],["__scopeId","data-v-19d3c623"]]);export{Nt as default};
1
+ import{F as V}from"./index.es-B1Cre0ht.js";import{E as G}from"./index-CvUpzdE1.js";import{E as P}from"./index-CDRWFNPw.js";import{d as v,h as b,b as l,t as c,k as t,r as C,j as p,l as a,o,cf as L,x as i,D as _,F as I,v as T,i as E,n as S,c as D,y as $,f9 as j,dA as z,dn as O,dv as B,dw as A}from"./index-Bxn0D_Ay.js";import{I as M}from"./InfoIcon-xpG6wYiZ.js";import{I as q}from"./ImagePreview-BKjWRoxg.js";import{E as F}from"./index-CiupJjd2.js";import{E as w}from"./index-KMXdPkbR.js";import{a as N,E as H}from"./index-DkwacTMf.js";import{E as U}from"./index-r5mkEdBU.js";import{E as J,a as K}from"./index-DG2fa-ow.js";import{A as Q}from"./Status-hwkT5ahP.js";import{C as W}from"./CopyToClipboard-C7oZlhvf.js";import{E as X}from"./index-I256GqO3.js";import{a as Y,E as Z}from"./index-CMofrOYp.js";import"./use-form-item-BHzDGeGF.js";import"./index-r5W6hzzQ.js";import"./index-zhXzFU3e.js";import"./index-DA1L1iqe.js";import"./typescript-14ZN9Iqb.js";import"./index-C7dq5GDX.js";import"./_baseClone-DtzNljAk.js";import"./_initCloneObject-BzNbsgMU.js";import"./isEqual-CYpeyoZ0.js";import"./debounce-D_GSfnKF.js";import"./index-kwhOoHli.js";import"./strings-Djoxz8AJ.js";import"./isPlainObject-STqtLEhU.js";const x=v({name:"LayoutHeadshots",components:{ElDrawer:P,ElButton:G,FontAwesomeIcon:V},data(){return{drawer:!1}}}),ee={class:"main flex flex-row flex-1"},te={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},se={class:"result h-full p-[15px] flex-1 flex flex-col"};function oe(e,s,m,u,y,k){const d=a("font-awesome-icon"),h=a("el-button"),n=a("el-drawer");return o(),l("div",ee,[c("div",te,[C(e.$slots,"config",{},void 0,!0)]),c("div",se,[C(e.$slots,"result",{},void 0,!0)]),t(h,{circle:"",class:"menu",onClick:s[0]||(s[0]=r=>e.drawer=!0)},{default:p(()=>[t(d,{icon:"fa-solid fa-gear"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":s[1]||(s[1]=r=>e.drawer=r),"with-header":!1,size:"340px",class:"drawer"},{default:p(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ae=b(x,[["render",oe],["__scopeId","data-v-21e11492"]]),ne=v({name:"ImageUrlsInput",components:{ElUpload:F,ElButton:G,InfoIcon:M,ImagePreview:q,FontAwesomeIcon:V},data(){return{fileList:[],uploadUrl:L()+"/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.headshots?.config?.image_urls},set(){const e=this.urls;this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,image_urls:e})}}},mounted(){this.value||(this.value=void 0),this.onSetImageUrls()},methods:{onExceed(){w.warning(this.$t("headshots.message.uploadImageExceed"))},onError(){w.error(this.$t("headshots.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,image_urls:e})},async onSuccess(){this.onSetImageUrls()}}}),ie={class:"field"},le={class:"title font-bold"},re={class:"upload-wrapper"};function ce(e,s,m,u,y,k){const d=a("image-preview"),h=a("font-awesome-icon"),n=a("el-button"),r=a("el-upload"),f=a("info-icon");return o(),l("div",ie,[c("h2",le,i(e.$t("headshots.name.endImageUrls")),1),c("div",re,[t(r,{"file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=g=>e.fileList=g),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value upload-wrapper",limit:2,multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:g})=>[t(d,{url:g.url||g.response?.file_url,name:g.name,percentage:g.percentage,onRemove:R=>e.fileList.splice(e.fileList.indexOf(g),1)},null,8,["url","name","percentage","onRemove"])]),default:p(()=>[t(n,{size:"small",type:"primary",round:""},{default:p(()=>[t(h,{icon:"fa-solid fa-upload",class:"mr-1"}),_(" "+i(e.$t("headshots.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])]),t(f,{content:e.$t("headshots.description.endImageUrls"),class:"info"},null,8,["content"])])}const de=b(ne,[["render",ce],["__scopeId","data-v-1690629a"]]),pe="fast",me=v({name:"ModeSelector",components:{ElRadioButton:H,ElRadioGroup:N},data(){return{options:[{label:this.$t("headshots.button.fast"),value:"fast"},{label:this.$t("headshots.button.relax"),value:"relax"}]}},computed:{value:{get(){return this.$store.state.headshots.config?.mode},set(e){console.debug("set mode",e),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots.config,mode:e})}}},mounted(){this.value||(this.value=pe)}}),ue={class:"field"},he={class:"title font-bold"};function fe(e,s,m,u,y,k){const d=a("el-radio-button"),h=a("el-radio-group");return o(),l("div",ue,[c("h2",he,i(e.$t("headshots.name.mode")),1),t(h,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=n=>e.value=n),size:"small",class:"mode"},{default:p(()=>[(o(!0),l(I,null,T(e.options,n=>(o(),E(d,{key:n.value,label:n.value},{default:p(()=>[_(i(n.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const _e=b(me,[["render",fe],["__scopeId","data-v-a2a0d5fa"]]),ge=v({name:"StylizeSelector",components:{ElTabs:K,ElTabPane:J,ElImage:U},data(){return{tab:"styles",value:"",elements:{styles:{displayName:this.$t("headshots.styleCategory.styles"),items:[{image:"https://static.aipedias.com/aicamera/common/20241008/20241008202314260779439.png",label:this.$t("headshots.styleTag.malePportrait"),value:"male_portrait"},{image:"https://static.aipedias.com/aicamera/common/20241008/202410082022241e9755548.png",label:this.$t("headshots.styleTag.malePportrait2"),value:"male_portrait2"},{image:"https://static.aipedias.com/aicamera/common/20241101/20241101170130d78f66521.png",label:this.$t("headshots.styleTag.kindergarten"),value:"kindergarten"},{image:"https://static.aipedias.com/aicamera/common/20240923/20240923123233accf60398.webp",label:this.$t("headshots.styleTag.logoTshirt"),value:"logo_tshirt"},{image:"https://static.aipedias.com/aicamera/common/20241025/202410252012329472d0656.jpg",label:this.$t("headshots.styleTag.wedding"),value:"wedding"},{image:"https://static.aipedias.com/aicamera/common/20240915/20240915145045254931400.webp",label:this.$t("headshots.styleTag.businessPphoto"),value:"business_photo"},{image:"https://static.aipedias.com/aicamera/common/20240810/20240810194526040341795.jpg",label:this.$t("headshots.styleTag.bobSuit"),value:"bob_suit"},{image:"https://static.aipedias.com/aicamera/common/20240717/20240717152654e0b348173.webp",label:this.$t("headshots.styleTag.femalePortrait"),value:"female_portrait"}]}}}},watch:{value(e){console.debug("set template",e),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:e})}},mounted(){this.value||(this.value=""),console.debug("set template",this.value),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:this.value})},methods:{onToggle(e){this.value===e?this.value="":this.value=e,console.debug("set template",this.value),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:this.value})}}}),$e={class:"field"},ve=["onClick"],be={class:"name"};function ye(e,s,m,u,y,k){const d=a("el-image"),h=a("el-tab-pane"),n=a("el-tabs");return o(),l("div",$e,[t(n,{modelValue:e.tab,"onUpdate:modelValue":s[0]||(s[0]=r=>e.tab=r)},{default:p(()=>[(o(!0),l(I,null,T(e.elements,(r,f)=>(o(),E(h,{key:f,label:r.displayName,name:f,class:"pane"},{default:p(()=>[(o(!0),l(I,null,T(r.items,(g,R)=>(o(),l("div",{key:R,class:S({item:!0,active:e.value===g.value}),onClick:ft=>e.onToggle(g.value)},[t(d,{src:g.image,fit:"fill",class:"preview"},null,8,["src"]),c("span",be,i(g.label),1)],10,ve))),128))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])])}const ke=b(ge,[["render",ye],["__scopeId","data-v-be4bd25d"]]),we=v({name:"PresetPanel",components:{ModeSelector:_e,ImageUrlsInput:de,ElButton:G,FontAwesomeIcon:V,ElementsSelector:ke},emits:["generate"],computed:{config(){return this.$store.state.headshots?.config}},methods:{onGenerate(){this.$emit("generate")}}}),Ie={class:"panel"},Te={class:"config"},Se={class:"actions"};function Ve(e,s,m,u,y,k){const d=a("elements-selector"),h=a("mode-selector"),n=a("image-urls-input"),r=a("font-awesome-icon"),f=a("el-button");return o(),l("div",Ie,[c("div",Te,[t(d,{class:"mb-4"}),t(h,{class:"mb-4"}),t(n,{class:"mb-4"}),c("div",Se,[t(f,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[t(r,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+i(e.$t("headshots.button.generate")),1)]),_:1},8,["onClick"])])])])}const Ee=b(we,[["render",Ve],["__scopeId","data-v-78172a54"]]),Ce=v({name:"ImageGallery",props:{modelValue:{type:Object,required:!0}},setup(e){return{images:D(()=>e.modelValue?.response?.data?.slice(0,2)||[]),viewImage:u=>{window.open(u,"_blank")}}}}),Ae={class:"image-gallery"},Ge=["src"],Re=["onClick"];function Ue(e,s,m,u,y,k){return o(),l("div",Ae,[(o(!0),l(I,null,T(e.images,(d,h)=>(o(),l("div",{key:h,class:"image-container"},[c("img",{src:d.image_url,alt:"Image"},null,8,Ge),d.image_url?(o(),l("button",{key:0,class:"view-button",onClick:n=>e.viewImage(d.image_url)},i(e.$t("headshots.button.viewImage")),9,Re)):$("",!0)]))),128))])}const Pe=b(Ce,[["render",Ue],["__scopeId","data-v-03641510"]]),Le=v({name:"TaskPreview",components:{ElImage:U,CopyToClipboard:W,FontAwesomeIcon:V,ElAlert:X,ImageGallery:Pe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.headshots?.application},config(){return this.$store.state.headshots?.config}},methods:{onDownload(e,s){e.stopPropagation(),console.log("on download"),window.open(s,"_blank")},onReload(e){const s=e.target,m=new URL(s.src),u=m.searchParams.get("retry");if(!u)m.searchParams.set("retry","1");else if(parseInt(u)<2)m.searchParams.set("retry",(parseInt(u)+1).toString());else return;s.src=m.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),De={class:"preview"},je={class:"left"},ze={class:"main"},Oe={class:"bot"},Be={class:"datetime"},Me={class:"info"},qe={key:0,class:"prompt mt-2"},Fe={key:0},Ne={key:1},He={key:0,class:S({content:!0,failed:!0})},Je={class:"image-wrapper"},Ke={class:"description"},Qe={key:1,class:S({content:!0})},We={class:"description"},Xe={class:"description"},Ye={class:"description"},Ze={key:2,class:S({content:!0})},xe={class:"description"},et={key:3,class:S({content:!0})},tt={class:"description"};function st(e,s,m,u,y,k){const d=a("el-image"),h=a("image-gallery"),n=a("font-awesome-icon"),r=a("copy-to-clipboard"),f=a("el-alert");return o(),l("div",De,[c("div",je,[t(d,{src:"https://cdn.acedata.cloud/isxyfw.png",class:"avatar"})]),c("div",ze,[c("div",Oe,[_(i(e.$t("headshots.name.headshotsBot"))+" ",1),c("span",Be,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",Me,[e.modelValue?.request?.template?(o(),l("p",qe,[_(i(e.modelValue?.request?.template)+" ",1),e.modelValue?.response?$("",!0):(o(),l("span",Fe," - ("+i(e.$t("headshots.status.pending"))+") ",1)),e.modelValue?.response?.status==="unknown"?(o(),l("span",Ne," - ("+i(e.$t("headshots.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0?(o(),l("div",He,[c("div",Je,[t(h,{"model-value":e.modelValue},null,8,["model-value"])]),t(f,{closable:!1,class:"mt-2 success"},{default:p(()=>[c("p",Ke,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(r,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(o(),l("div",Qe,[t(f,{closable:!1,class:"failure"},{template:p(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:p(()=>[c("p",We,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(r,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",Xe,[t(n,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),t(r,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),c("p",Ye,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+i(e.$t("headshots.name.traceId"))+": "+i(e.modelValue?.response?.trace_id)+" ",1),t(r,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?$("",!0):(o(),l("div",Ze,[t(f,{closable:!1,class:"info"},{template:p(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:p(()=>[c("p",xe,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(r,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])),e.modelValue?.response?.status==="unknown"?(o(),l("div",et,[t(f,{closable:!1,class:"info"},{template:p(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:p(()=>[c("p",tt,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(r,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0)])])}const ot=b(Le,[["render",st],["__scopeId","data-v-77229910"]]),at=v({name:"RecentPanel",components:{TaskPreview:ot,ElSkeleton:Z,ElSkeletonItem:Y},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.headshots?.tasks,items:this.$store.state.headshots?.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")}}}),nt={key:0,class:"tasks"},it={class:"left"},lt={class:"main"},rt={key:1,class:"tasks"},ct={key:2,class:"description"};function dt(e,s,m,u,y,k){const d=a("el-skeleton-item"),h=a("el-skeleton"),n=a("task-preview");return o(),l("div",{ref:"panel",class:"panel recent",onScroll:s[0]||(s[0]=(...r)=>e.onHandleScroll&&e.onHandleScroll(...r))},[e.tasks?.items===void 0?(o(),l("div",nt,[(o(),l(I,null,T(3,r=>c("div",{key:r,class:"task placeholder"},[c("div",it,[t(h,{animated:""},{template:p(()=>[t(d,{variant:"image",class:"avatar"})]),_:1})]),c("div",lt,[t(h,{animated:""},{template:p(()=>[t(d,{variant:"p",class:"title"}),t(d,{variant:"image",class:"icon"})]),_:1})])])),64))])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(o(),l("div",rt,[(o(!0),l(I,null,T(e.tasks?.items,(r,f)=>(o(),E(n,{key:f,"model-value":r,class:"preview"},null,8,["model-value"]))),128))])):$("",!0),e.tasks?.items?.length===0?(o(),l("p",ct,i(e.$t("headshots.message.noTasks")),1)):$("",!0)],544)}const pt=b(at,[["render",dt],["__scopeId","data-v-d79bcb1f"]]),mt="https://webhook.acedata.cloud/headshots",ut=v({name:"HeadshotsIndex",components:{ConfigPanel:Ee,Layout:ae,ApplicationStatus:Q,RecentPanel:pt},inject:["initialized"],data(){return{task:void 0,job:0}},computed:{loading(){return this.$store.state.headshots?.status?.getApplications===A.Request},service(){return this.$store.state.headshots.service},credential(){return this.$store.state.headshots.credential},config(){return this.$store.state.headshots.config},initializing(){return this.$store.state.headshots.status.getApplications===A.Request},needApply(){return this.$store.state.headshots.status.getApplications===A.Success&&!this.application},application(){return this.$store.state.headshots.application},applications(){return this.$store.state.headshots.applications},tasks(){return this.$store.state.headshots.tasks}},watch:{tasks:{handler(e,s){e?.items?.length>s?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=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("headshots/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("headshots/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){O.create({application:this.application}).then(({data:e})=>{this.application=e,w.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===B&&w.error(this.$t("application.message.alreadyApplied"))})},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".recent");e&&(e.scrollTop=e.scrollHeight)},500)},async onGetTasks(e){if(this.loading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:s=5,createdAtMin:m,createdAtMax:u}=e||{};console.debug("limit",s,"createdAtMin",m,"createdAtMax",u),await this.$store.dispatch("headshots/getTasks",{limit:s,createdAtMin:m,createdAtMax:u})},async onGeneratePicture(){const e={...this.config,callback_url:mt},s=this.credential?.token;if(!s){console.error("no token specified");return}w.info(this.$t("headshots.message.startingTask")),j.generate(e,{token:s}).then(()=>{w.success(this.$t("headshots.message.startTaskSuccess")),this.$store.commit("headshots/setConfig",{config:void 0})}).catch(m=>{m?.response?.data?.error?.code===z?w.error(this.$t("headshots.message.usedUp")):w.error(this.$t("headshots.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}});function ht(e,s,m,u,y,k){const d=a("config-panel"),h=a("application-status"),n=a("recent-panel"),r=a("layout");return o(),E(r,null,{config:p(()=>[t(d,{onGenerate:e.onGeneratePicture},null,8,["onGenerate"])]),result:p(()=>[t(h,{initializing:e.initializing,application:e.application,applications:e.applications,service:e.service,"need-apply":e.needApply,class:"mb-4",onRefresh:e.onGetApplication,onSelect:s[0]||(s[0]=f=>e.$store.dispatch("headshots/setApplication",f))},null,8,["initializing","application","applications","service","need-apply","onRefresh"]),t(n,{class:"panel recent",onReachTop:e.onReachTop},null,8,["onReachTop"])]),_:1})}const Nt=b(ut,[["render",ht],["__scopeId","data-v-19d3c623"]]);export{Nt as default};
@@ -1 +1 @@
1
- import{F as U}from"./index.es-CsBCkfD5.js";import{E as I}from"./index-Pp9kAEVZ.js";import{E as L}from"./index-G-88K9QN.js";import{d as b,h as k,b as l,t as i,k as t,r as T,j as u,l as o,o as s,f3 as R,x as n,F as C,v as G,i as v,cc as P,D as p,y as h,n as E,an as j,f4 as D,dx as B,dt as M}from"./index-BWsFFZXP.js";import{E as q,a as O}from"./index-B376uNpw.js";import{I as A}from"./InfoIcon-BvH1w3hu.js";import{I as z}from"./ImagePreview--E2I_hTf.js";import{E as F}from"./index-DQt0qe1P.js";import{E as V}from"./index-r1Qg4fVw.js";import{E as N}from"./index-zV3wYkDF.js";import{C as H,N as K}from"./NoTasks-CWxLeoQx.js";import{a as J}from"./price-D7qIs2re.js";import{C as Q}from"./CopyToClipboard-YQgGORAE.js";import{V as W}from"./VideoPlayer-CDl66jN-.js";import{E as X}from"./index-DvauOAwc.js";import{E as Y}from"./index-CBqs6I7n.js";import{E as Z}from"./index-CiRtHIlU.js";import{B as x}from"./BotPlaceholder-7eayCQm0.js";import"./use-form-item-BNdveB-3.js";import"./index-r5W6hzzQ.js";import"./index-cH785By-.js";import"./typescript-4EcP9GDg.js";import"./index-CyChKWJg.js";import"./strings-C2_9VbZ7.js";import"./castArray-VRhoHuDJ.js";import"./isEqual-CFb6rQDI.js";import"./_initCloneObject-BSsEzNvg.js";import"./debounce-B_oyKomx.js";import"./_baseIteratee-X7mvVEoG.js";import"./index-W6DB5TGt.js";import"./index-Bx0koER3.js";import"./_baseClone-B5Ppwxqb.js";import"./index-CU2wvW23.js";import"./vue-plyr-QZFBikSk.js";import"./index-C3nZe_4F.js";const ee=b({name:"LayoutHailuo",components:{ElDrawer:L,ElButton:I,FontAwesomeIcon:U},data(){return{drawer:!1}}}),te={class:"main flex flex-row flex-1"},oe={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},se={class:"result h-full p-[15px] flex-1 flex flex-col"};function ae(e,a,f,_,w,y){const d=o("font-awesome-icon"),m=o("el-button"),r=o("el-drawer");return s(),l("div",te,[i("div",oe,[T(e.$slots,"config",{},void 0,!0)]),i("div",se,[T(e.$slots,"result",{},void 0,!0)]),t(m,{circle:"",class:"menu",onClick:a[0]||(a[0]=g=>e.drawer=!0)},{default:u(()=>[t(d,{icon:"fa-solid fa-magic"})]),_:1}),t(r,{modelValue:e.drawer,"onUpdate:modelValue":a[1]||(a[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"340px"},{default:u(()=>[T(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ne=k(ee,[["render",ae],["__scopeId","data-v-096d9205"]]),le=b({name:"ModelSelector",components:{ElSelect:O,ElOption:q},data(){return{}},computed:{options(){return[{value:"minimax-t2v",label:this.$t("hailuo.button.model1")},{value:"minimax-i2v",label:this.$t("hailuo.button.model2")}]},value:{get(){return this.$store.state.hailuo?.config?.model},set(e){this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,model:e})}}},mounted(){this.value||(this.value=R)}}),ie={class:"field"},re={class:"title font-bold"},ce={class:"float-left"};function ue(e,a,f,_,w,y){const d=o("el-option"),m=o("el-select");return s(),l("div",ie,[i("h2",re,n(e.$t("hailuo.name.model")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=r=>e.value=r),class:"value",placeholder:e.$t("hailuo.placeholder.select"),clearable:""},{default:u(()=>[(s(!0),l(C,null,G(e.options,r=>(s(),v(d,{key:r.value,label:r.label,value:r.value},{default:u(()=>[i("span",ce,n(r.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const de=k(le,[["render",ue],["__scopeId","data-v-30ff1e69"]]),me=b({name:"StartImageUrlInput",components:{ElUpload:F,ElButton:I,InfoIcon:A,ImagePreview:z},data(){return{fileList:[],uploadUrl:P()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.hailuo?.config?.first_image_url},set(){const e=this.urls?.[0];this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,first_image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){V.warning(this.$t("hailuo.message.uploadStartImageExceed"))},onError(){V.error(this.$t("hailuo.message.uploadStartImageError"))},async onRemove(){V.error(this.$t("hailuo.message.uploadStartImageError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,first_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),pe={class:"relative"},he={class:"flex justify-between"},fe={class:"flex justify-start items-center"},_e={class:"text-sm font-bold"};function ge(e,a,f,_,w,y){const d=o("info-icon"),m=o("image-preview"),r=o("el-button"),g=o("el-upload");return s(),l("div",pe,[i("div",he,[i("div",fe,[i("span",_e,n(e.$t("hailuo.name.startImageUrl")),1),t(d,{content:e.$t("hailuo.description.startImageUrl"),class:"info"},null,8,["content"])])]),t(g,{"file-list":e.fileList,"onUpdate:fileList":a[0]||(a[0]=c=>e.fileList=c),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file","show-file-list":!0,limit:1,multiple:!1,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:c})=>[c.url&&c.percentage!==void 0?(s(),v(m,{key:0,url:c.url,name:c.name,percentage:c.percentage,onRemove:$=>e.fileList.splice(e.fileList.indexOf(c),1)},null,8,["url","name","percentage","onRemove"])):h("",!0)]),default:u(()=>[t(r,{size:"small",type:"primary",class:"btn btn-upload",round:""},{default:u(()=>[p(n(e.$t("hailuo.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])])}const $e=k(me,[["render",ge],["__scopeId","data-v-a906df80"]]),ve="",be=b({name:"PromptInput",components:{ElInput:N,InfoIcon:A},computed:{prompt:{get(){return this.$store.state.hailuo?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ve)}}),ke={class:"field"},we={class:"box"},ye={class:"title font-bold"};function Ve(e,a,f,_,w,y){const d=o("info-icon"),m=o("el-input");return s(),l("div",ke,[i("div",we,[i("h2",ye,n(e.$t("hailuo.name.prompt")),1),t(d,{content:e.$t("hailuo.description.prompt"),class:"info"},null,8,["content"])]),t(m,{modelValue:e.prompt,"onUpdate:modelValue":a[0]||(a[0]=r=>e.prompt=r),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("hailuo.placeholder.prompt"),maxlength:300,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const Ie=k(be,[["render",Ve],["__scopeId","data-v-d54ffa64"]]),Ee=b({name:"PresetPanel",components:{ElButton:I,FontAwesomeIcon:U,PromptInput:Ie,StartImageUrlInput:$e,ModelSelector:de,Consumption:H},emits:["generate"],computed:{config(){return this.$store.state.hailuo?.config},consumption(){return J(this.config,this.service?.metadata?.price)},service(){return this.$store.state.hailuo?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Se={class:"flex flex-col h-full"},Te={class:"flex-1 overflow-y-auto p-[15px]"},Ce={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function Ue(e,a,f,_,w,y){const d=o("prompt-input"),m=o("model-selector"),r=o("start-image-url-input"),g=o("consumption"),c=o("font-awesome-icon"),$=o("el-button");return s(),l("div",Se,[i("div",Te,[t(d,{class:"mb-4"}),t(m,{class:"mb-4"}),e.config?.model==="minimax-i2v"?(s(),v(r,{key:0,class:"mb-2"})):h("",!0)]),i("div",Ce,[t(g,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(s(),v($,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(c,{icon:"fa-solid fa-magic",class:"mr-2"}),p(" "+n(e.$t("hailuo.button.extend")),1)]),_:1},8,["onClick"])):(s(),v($,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(c,{icon:"fa-solid fa-magic",class:"mr-2"}),p(" "+n(e.$t("hailuo.button.generate")),1)]),_:1},8,["onClick"]))])])}const Ge=k(Ee,[["render",Ue]]),Ae=b({name:"TaskPreview",components:{ElImage:Z,CopyToClipboard:Q,FontAwesomeIcon:U,ElAlert:Y,VideoPlayer:W,ElTooltip:X,ElButton:I},props:{modelValue:{type:Object,required:!0}},computed:{application(){return this.$store.state.hailuo?.application},config(){return this.$store.state.hailuo?.config},video(){return this.modelValue?.response?.data?.[0]}},methods:{onDownload(e){console.debug("on download hailuo video",e),window.open(e,"_blank")}}}),Le={class:"preview"},Re={class:"left"},Pe={class:"main"},je={class:"bot"},De={class:"datetime"},Be={class:"info"},Me={key:0,class:"prompt mt-2"},qe={key:0},Oe={key:1},ze={key:0,class:E({content:!0,failed:!0})},Fe={key:0,class:"mb-4"},Ne={key:1,class:E({operations:!0,"mt-2":!0})},He={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ke={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Je={key:1,class:E({content:!0})},Qe={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},We={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Xe={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ye={key:2,class:E({content:!0})},Ze={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function xe(e,a,f,_,w,y){const d=o("el-image"),m=o("video-player"),r=o("el-button"),g=o("el-tooltip"),c=o("font-awesome-icon"),$=o("copy-to-clipboard"),S=o("el-alert");return s(),l("div",Le,[i("div",Re,[t(d,{src:"https://cdn.acedata.cloud/0qg4gp.png",class:"avatar"})]),i("div",Pe,[i("div",je,[p(n(e.$t("hailuo.name.hailuoBot"))+" ",1),i("span",De,n(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",Be,[e.modelValue?.request?.prompt?(s(),l("p",Me,[p(n(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?h("",!0):(s(),l("span",qe," - ("+n(e.$t("hailuo.status.pending"))+") ",1)),e.video?.state==="processing"||e.video?.state==="pending"||e.video?.state==="running"?(s(),l("span",Oe," - ("+n(e.$t("hailuo.status.processing"))+") ",1)):h("",!0)])):h("",!0)]),e.modelValue?.response?.success===!0?(s(),l("div",ze,[e.video?.video_url?(s(),l("div",Fe,[t(m,{src:e.video?.video_url},null,8,["src"])])):h("",!0),e.video?(s(),l("div",Ne,[t(g,{class:"box-item",effect:"dark",content:e.$t("hailuo.message.downloadVideo"),placement:"top-start"},{default:u(()=>[e.video?.video_url?(s(),v(r,{key:0,type:"info",size:"small",class:"mb-2",onClick:a[0]||(a[0]=j(ut=>e.onDownload(e.video?.video_url),["stop"]))},{default:u(()=>[p(n(e.$t("hailuo.button.download")),1)]),_:1})):h("",!0)]),_:1},8,["content"])])):h("",!0),t(S,{closable:!1,class:"mt-2 success"},{default:u(()=>[e.modelValue?.request?.model?(s(),l("p",He,[t(c,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.model"))+": "+n(e.modelValue?.request?.model)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])])):h("",!0),i("p",Ke,[t(c,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):h("",!0),e.modelValue?.response?.success===!1?(s(),l("div",Je,[t(S,{closable:!1,class:"failure"},{template:u(()=>[t(c,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.failure")),1)]),default:u(()=>[i("p",Qe,[t(c,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])]),i("p",We,[t(c,{icon:"fa-solid fa-circle-info",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.failureReason"))+": "+n(e.modelValue?.response?.error?.message)+" ",1),t($,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),i("p",Xe,[t(c,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),t($,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):h("",!0),e.modelValue?.response?.success===void 0?(s(),l("div",Ye,[t(S,{closable:!1,class:"info"},{template:u(()=>[t(c,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.failure")),1)]),default:u(()=>[i("p",Ze,[t(c,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):h("",!0)])])}const et=k(Ae,[["render",xe],["__scopeId","data-v-72acd507"]]),tt=b({name:"RecentPanel",components:{TaskPreview:et,BotPlaceholder:x,NoTasks:K},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.hailuo?.tasks,items:this.$store.state.hailuo?.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")}}}),ot={key:0},st={key:1,class:"tasks w-full h-full overflow-y-auto"},at={key:2,class:"w-full h-full flex items-center justify-center"};function nt(e,a,f,_,w,y){const d=o("bot-placeholder"),m=o("task-preview"),r=o("no-tasks");return s(),l(C,null,[e.tasks?.items===void 0?(s(),l("div",ot,[t(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(s(),l("div",st,[(s(!0),l(C,null,G(e.tasks?.items,g=>(s(),v(m,{key:g.id,"model-value":g},null,8,["model-value"]))),128))])):h("",!0),e.tasks?.items?.length===0?(s(),l("div",at,[t(r)])):h("",!0)],64)}const lt=k(tt,[["render",nt]]),it="https://webhook.acedata.cloud/hailuo",rt=b({name:"HailuoIndex",components:{ConfigPanel:Ge,Layout:ne,RecentPanel:lt},inject:["initialized"],data(){return{task:void 0,job:0,timer:void 0}},computed:{loading(){return this.$store.state.hailuo?.status?.getApplications===M.Request},credential(){return this.$store.state.hailuo.credential},config(){return this.$store.state.hailuo.config},application(){return this.$store.state.hailuo.application},tasks(){return this.$store.state.hailuo.tasks}},watch:{tasks:{handler(e,a){e?.items?.length>a?.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("hailuo/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("hailuo/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:a=5,createdAtMin:f,createdAtMax:_}=e||{};console.debug("limit",a,"createdAtMin",f,"createdAtMax",_),await this.$store.dispatch("hailuo/getTasks",{limit:a,createdAtMin:f,createdAtMax:_})},async onGenerate(){const e={...this.config,callback_url:it},a=this.credential?.token;if(!a){console.error("no token specified");return}V.info(this.$t("hailuo.message.startingTask")),D.generate(e,{token:a}).then(()=>{V.success(this.$t("hailuo.message.startTaskSuccess"))}).catch(f=>{f?.response?.data?.error?.code===B?V.error(this.$t("hailuo.message.usedUp")):V.error(this.$t("hailuo.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}});function ct(e,a,f,_,w,y){const d=o("config-panel"),m=o("recent-panel"),r=o("layout");return s(),v(r,null,{config:u(()=>[t(d,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[t(m,{onReachTop:e.onReachTop},null,8,["onReachTop"])]),_:1})}const Kt=k(rt,[["render",ct]]);export{Kt as default};
1
+ import{F as U}from"./index.es-B1Cre0ht.js";import{E as I}from"./index-CvUpzdE1.js";import{E as L}from"./index-CDRWFNPw.js";import{d as b,h as k,b as l,t as i,k as t,r as T,j as u,l as o,o as s,f7 as R,x as n,F as C,v as G,i as v,cf as P,D as p,y as h,n as E,aq as j,f8 as D,dA as B,dw as M}from"./index-Bxn0D_Ay.js";import{E as q,a as O}from"./index-ZXXqKgb5.js";import{I as A}from"./InfoIcon-xpG6wYiZ.js";import{I as z}from"./ImagePreview-BKjWRoxg.js";import{E as F}from"./index-CiupJjd2.js";import{E as V}from"./index-KMXdPkbR.js";import{E as N}from"./index-BG27krBY.js";import{C as H,N as K}from"./NoTasks-RqxH5tU5.js";import{a as J}from"./price-crtYVYmR.js";import{C as Q}from"./CopyToClipboard-C7oZlhvf.js";import{V as W}from"./VideoPlayer-BAU_i6Xt.js";import{E as X}from"./index-zhXzFU3e.js";import{E as Y}from"./index-I256GqO3.js";import{E as Z}from"./index-r5mkEdBU.js";import{B as x}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 ee=b({name:"LayoutHailuo",components:{ElDrawer:L,ElButton:I,FontAwesomeIcon:U},data(){return{drawer:!1}}}),te={class:"main flex flex-row flex-1"},oe={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},se={class:"result h-full p-[15px] flex-1 flex flex-col"};function ae(e,a,f,_,w,y){const d=o("font-awesome-icon"),m=o("el-button"),r=o("el-drawer");return s(),l("div",te,[i("div",oe,[T(e.$slots,"config",{},void 0,!0)]),i("div",se,[T(e.$slots,"result",{},void 0,!0)]),t(m,{circle:"",class:"menu",onClick:a[0]||(a[0]=g=>e.drawer=!0)},{default:u(()=>[t(d,{icon:"fa-solid fa-magic"})]),_:1}),t(r,{modelValue:e.drawer,"onUpdate:modelValue":a[1]||(a[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"340px"},{default:u(()=>[T(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ne=k(ee,[["render",ae],["__scopeId","data-v-096d9205"]]),le=b({name:"ModelSelector",components:{ElSelect:O,ElOption:q},data(){return{}},computed:{options(){return[{value:"minimax-t2v",label:this.$t("hailuo.button.model1")},{value:"minimax-i2v",label:this.$t("hailuo.button.model2")}]},value:{get(){return this.$store.state.hailuo?.config?.model},set(e){this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,model:e})}}},mounted(){this.value||(this.value=R)}}),ie={class:"field"},re={class:"title font-bold"},ce={class:"float-left"};function ue(e,a,f,_,w,y){const d=o("el-option"),m=o("el-select");return s(),l("div",ie,[i("h2",re,n(e.$t("hailuo.name.model")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=r=>e.value=r),class:"value",placeholder:e.$t("hailuo.placeholder.select"),clearable:""},{default:u(()=>[(s(!0),l(C,null,G(e.options,r=>(s(),v(d,{key:r.value,label:r.label,value:r.value},{default:u(()=>[i("span",ce,n(r.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const de=k(le,[["render",ue],["__scopeId","data-v-30ff1e69"]]),me=b({name:"StartImageUrlInput",components:{ElUpload:F,ElButton:I,InfoIcon:A,ImagePreview:z},data(){return{fileList:[],uploadUrl:P()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.hailuo?.config?.first_image_url},set(){const e=this.urls?.[0];this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,first_image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){V.warning(this.$t("hailuo.message.uploadStartImageExceed"))},onError(){V.error(this.$t("hailuo.message.uploadStartImageError"))},async onRemove(){V.error(this.$t("hailuo.message.uploadStartImageError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,first_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),pe={class:"relative"},he={class:"flex justify-between"},fe={class:"flex justify-start items-center"},_e={class:"text-sm font-bold"};function ge(e,a,f,_,w,y){const d=o("info-icon"),m=o("image-preview"),r=o("el-button"),g=o("el-upload");return s(),l("div",pe,[i("div",he,[i("div",fe,[i("span",_e,n(e.$t("hailuo.name.startImageUrl")),1),t(d,{content:e.$t("hailuo.description.startImageUrl"),class:"info"},null,8,["content"])])]),t(g,{"file-list":e.fileList,"onUpdate:fileList":a[0]||(a[0]=c=>e.fileList=c),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file","show-file-list":!0,limit:1,multiple:!1,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:c})=>[c.url&&c.percentage!==void 0?(s(),v(m,{key:0,url:c.url,name:c.name,percentage:c.percentage,onRemove:$=>e.fileList.splice(e.fileList.indexOf(c),1)},null,8,["url","name","percentage","onRemove"])):h("",!0)]),default:u(()=>[t(r,{size:"small",type:"primary",class:"btn btn-upload",round:""},{default:u(()=>[p(n(e.$t("hailuo.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])])}const $e=k(me,[["render",ge],["__scopeId","data-v-a906df80"]]),ve="",be=b({name:"PromptInput",components:{ElInput:N,InfoIcon:A},computed:{prompt:{get(){return this.$store.state.hailuo?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ve)}}),ke={class:"field"},we={class:"box"},ye={class:"title font-bold"};function Ve(e,a,f,_,w,y){const d=o("info-icon"),m=o("el-input");return s(),l("div",ke,[i("div",we,[i("h2",ye,n(e.$t("hailuo.name.prompt")),1),t(d,{content:e.$t("hailuo.description.prompt"),class:"info"},null,8,["content"])]),t(m,{modelValue:e.prompt,"onUpdate:modelValue":a[0]||(a[0]=r=>e.prompt=r),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("hailuo.placeholder.prompt"),maxlength:300,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const Ie=k(be,[["render",Ve],["__scopeId","data-v-d54ffa64"]]),Ee=b({name:"PresetPanel",components:{ElButton:I,FontAwesomeIcon:U,PromptInput:Ie,StartImageUrlInput:$e,ModelSelector:de,Consumption:H},emits:["generate"],computed:{config(){return this.$store.state.hailuo?.config},consumption(){return J(this.config,this.service?.metadata?.price)},service(){return this.$store.state.hailuo?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Se={class:"flex flex-col h-full"},Te={class:"flex-1 overflow-y-auto p-[15px]"},Ce={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function Ue(e,a,f,_,w,y){const d=o("prompt-input"),m=o("model-selector"),r=o("start-image-url-input"),g=o("consumption"),c=o("font-awesome-icon"),$=o("el-button");return s(),l("div",Se,[i("div",Te,[t(d,{class:"mb-4"}),t(m,{class:"mb-4"}),e.config?.model==="minimax-i2v"?(s(),v(r,{key:0,class:"mb-2"})):h("",!0)]),i("div",Ce,[t(g,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(s(),v($,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(c,{icon:"fa-solid fa-magic",class:"mr-2"}),p(" "+n(e.$t("hailuo.button.extend")),1)]),_:1},8,["onClick"])):(s(),v($,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(c,{icon:"fa-solid fa-magic",class:"mr-2"}),p(" "+n(e.$t("hailuo.button.generate")),1)]),_:1},8,["onClick"]))])])}const Ge=k(Ee,[["render",Ue]]),Ae=b({name:"TaskPreview",components:{ElImage:Z,CopyToClipboard:Q,FontAwesomeIcon:U,ElAlert:Y,VideoPlayer:W,ElTooltip:X,ElButton:I},props:{modelValue:{type:Object,required:!0}},computed:{application(){return this.$store.state.hailuo?.application},config(){return this.$store.state.hailuo?.config},video(){return this.modelValue?.response?.data?.[0]}},methods:{onDownload(e){console.debug("on download hailuo video",e),window.open(e,"_blank")}}}),Le={class:"preview"},Re={class:"left"},Pe={class:"main"},je={class:"bot"},De={class:"datetime"},Be={class:"info"},Me={key:0,class:"prompt mt-2"},qe={key:0},Oe={key:1},ze={key:0,class:E({content:!0,failed:!0})},Fe={key:0,class:"mb-4"},Ne={key:1,class:E({operations:!0,"mt-2":!0})},He={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ke={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Je={key:1,class:E({content:!0})},Qe={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},We={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Xe={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ye={key:2,class:E({content:!0})},Ze={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function xe(e,a,f,_,w,y){const d=o("el-image"),m=o("video-player"),r=o("el-button"),g=o("el-tooltip"),c=o("font-awesome-icon"),$=o("copy-to-clipboard"),S=o("el-alert");return s(),l("div",Le,[i("div",Re,[t(d,{src:"https://cdn.acedata.cloud/0qg4gp.png",class:"avatar"})]),i("div",Pe,[i("div",je,[p(n(e.$t("hailuo.name.hailuoBot"))+" ",1),i("span",De,n(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",Be,[e.modelValue?.request?.prompt?(s(),l("p",Me,[p(n(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?h("",!0):(s(),l("span",qe," - ("+n(e.$t("hailuo.status.pending"))+") ",1)),e.video?.state==="processing"||e.video?.state==="pending"||e.video?.state==="running"?(s(),l("span",Oe," - ("+n(e.$t("hailuo.status.processing"))+") ",1)):h("",!0)])):h("",!0)]),e.modelValue?.response?.success===!0?(s(),l("div",ze,[e.video?.video_url?(s(),l("div",Fe,[t(m,{src:e.video?.video_url},null,8,["src"])])):h("",!0),e.video?(s(),l("div",Ne,[t(g,{class:"box-item",effect:"dark",content:e.$t("hailuo.message.downloadVideo"),placement:"top-start"},{default:u(()=>[e.video?.video_url?(s(),v(r,{key:0,type:"info",size:"small",class:"mb-2",onClick:a[0]||(a[0]=j(ut=>e.onDownload(e.video?.video_url),["stop"]))},{default:u(()=>[p(n(e.$t("hailuo.button.download")),1)]),_:1})):h("",!0)]),_:1},8,["content"])])):h("",!0),t(S,{closable:!1,class:"mt-2 success"},{default:u(()=>[e.modelValue?.request?.model?(s(),l("p",He,[t(c,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.model"))+": "+n(e.modelValue?.request?.model)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])])):h("",!0),i("p",Ke,[t(c,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):h("",!0),e.modelValue?.response?.success===!1?(s(),l("div",Je,[t(S,{closable:!1,class:"failure"},{template:u(()=>[t(c,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.failure")),1)]),default:u(()=>[i("p",Qe,[t(c,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])]),i("p",We,[t(c,{icon:"fa-solid fa-circle-info",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.failureReason"))+": "+n(e.modelValue?.response?.error?.message)+" ",1),t($,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),i("p",Xe,[t(c,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),t($,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):h("",!0),e.modelValue?.response?.success===void 0?(s(),l("div",Ye,[t(S,{closable:!1,class:"info"},{template:u(()=>[t(c,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.failure")),1)]),default:u(()=>[i("p",Ze,[t(c,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):h("",!0)])])}const et=k(Ae,[["render",xe],["__scopeId","data-v-72acd507"]]),tt=b({name:"RecentPanel",components:{TaskPreview:et,BotPlaceholder:x,NoTasks:K},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.hailuo?.tasks,items:this.$store.state.hailuo?.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")}}}),ot={key:0},st={key:1,class:"tasks w-full h-full overflow-y-auto"},at={key:2,class:"w-full h-full flex items-center justify-center"};function nt(e,a,f,_,w,y){const d=o("bot-placeholder"),m=o("task-preview"),r=o("no-tasks");return s(),l(C,null,[e.tasks?.items===void 0?(s(),l("div",ot,[t(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(s(),l("div",st,[(s(!0),l(C,null,G(e.tasks?.items,g=>(s(),v(m,{key:g.id,"model-value":g},null,8,["model-value"]))),128))])):h("",!0),e.tasks?.items?.length===0?(s(),l("div",at,[t(r)])):h("",!0)],64)}const lt=k(tt,[["render",nt]]),it="https://webhook.acedata.cloud/hailuo",rt=b({name:"HailuoIndex",components:{ConfigPanel:Ge,Layout:ne,RecentPanel:lt},inject:["initialized"],data(){return{task:void 0,job:0,timer:void 0}},computed:{loading(){return this.$store.state.hailuo?.status?.getApplications===M.Request},credential(){return this.$store.state.hailuo.credential},config(){return this.$store.state.hailuo.config},application(){return this.$store.state.hailuo.application},tasks(){return this.$store.state.hailuo.tasks}},watch:{tasks:{handler(e,a){e?.items?.length>a?.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("hailuo/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("hailuo/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:a=5,createdAtMin:f,createdAtMax:_}=e||{};console.debug("limit",a,"createdAtMin",f,"createdAtMax",_),await this.$store.dispatch("hailuo/getTasks",{limit:a,createdAtMin:f,createdAtMax:_})},async onGenerate(){const e={...this.config,callback_url:it},a=this.credential?.token;if(!a){console.error("no token specified");return}V.info(this.$t("hailuo.message.startingTask")),D.generate(e,{token:a}).then(()=>{V.success(this.$t("hailuo.message.startTaskSuccess"))}).catch(f=>{f?.response?.data?.error?.code===B?V.error(this.$t("hailuo.message.usedUp")):V.error(this.$t("hailuo.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}});function ct(e,a,f,_,w,y){const d=o("config-panel"),m=o("recent-panel"),r=o("layout");return s(),v(r,null,{config:u(()=>[t(d,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[t(m,{onReachTop:e.onReachTop},null,8,["onReachTop"])]),_:1})}const Kt=k(rt,[["render",ct]]);export{Kt as default};
@@ -1 +1 @@
1
- import{F as T}from"./index.es-CsBCkfD5.js";import{E as A}from"./index-Pp9kAEVZ.js";import{E as O}from"./index-G-88K9QN.js";import{d as g,h as k,b as l,t as r,k as t,r as R,j as m,l as s,o as a,ev as q,x as i,F as S,v as C,i as I,ew as j,D as h,ex as B,cc as z,y as $,n as P,ey as N,dx as F,dk as K,ds as H,dt as D}from"./index-BWsFFZXP.js";import{I as G}from"./InfoIcon-BvH1w3hu.js";import{E as J}from"./index-Dwi_2evN.js";import{E as L,a as M}from"./index-B376uNpw.js";import{a as Q,E as W}from"./index-DQ9u02kq.js";import{I as X}from"./ImagePreview--E2I_hTf.js";import{E as Y}from"./index-DQt0qe1P.js";import{E as V}from"./index-r1Qg4fVw.js";import{E as Z}from"./index-zV3wYkDF.js";import{C as x,N as ee}from"./NoTasks-CWxLeoQx.js";import{a as te}from"./price-D7qIs2re.js";import{C as oe}from"./CopyToClipboard-YQgGORAE.js";import{s as se}from"./vue-plyr-QZFBikSk.js";import{E as ae}from"./index-DvauOAwc.js";import{E as ne}from"./index-CBqs6I7n.js";import{E as ie}from"./index-CiRtHIlU.js";import{B as le}from"./BotPlaceholder-7eayCQm0.js";import"./use-form-item-BNdveB-3.js";import"./index-r5W6hzzQ.js";import"./index-CyChKWJg.js";import"./index-cH785By-.js";import"./typescript-4EcP9GDg.js";import"./strings-C2_9VbZ7.js";import"./castArray-VRhoHuDJ.js";import"./isEqual-CFb6rQDI.js";import"./_initCloneObject-BSsEzNvg.js";import"./debounce-B_oyKomx.js";import"./_baseIteratee-X7mvVEoG.js";import"./index-W6DB5TGt.js";import"./index-Bx0koER3.js";import"./_baseClone-B5Ppwxqb.js";import"./index-CU2wvW23.js";import"./index-C3nZe_4F.js";const re=g({name:"LayoutPika",components:{ElDrawer:O,ElButton:A,FontAwesomeIcon:T},data(){return{drawer:!1}}}),ce={class:"main flex flex-row flex-1"},pe={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},de={class:"result h-full p-[15px] flex-1 flex flex-col"};function ue(e,o,c,d,v,b){const p=s("font-awesome-icon"),u=s("el-button"),n=s("el-drawer");return a(),l("div",ce,[r("div",pe,[R(e.$slots,"config",{},void 0,!0)]),r("div",de,[R(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:o[0]||(o[0]=y=>e.drawer=!0)},{default:m(()=>[t(p,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=y=>e.drawer=y),direction:"ltr","with-header":!1,size:"350px"},{default:m(()=>[R(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const me=k(re,[["render",ue],["__scopeId","data-v-80748529"]]),fe=g({name:"IngredientsSelector",components:{ElSwitch:J,InfoIcon:G},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients},set(e){console.debug("set ingredients",e),e||this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,ingredients_mode:void 0,image_url:void 0}),this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,model:"2.0"})}}},mounted(){this.value===void 0&&(this.value=q)}}),_e={class:"field"},he={class:"title font-bold"};function $e(e,o,c,d,v,b){const p=s("el-switch"),u=s("info-icon");return a(),l("div",_e,[r("h2",he,i(e.$t("pika.name.ingredients")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value"},null,8,["modelValue"]),t(u,{content:e.$t("pika.description.ingredients"),class:"info"},null,8,["content"])])}const ge=k(fe,[["render",$e],["__scopeId","data-v-17c0af5c"]]),ke=g({name:"EffectSelector",components:{ElSelect:M,ElOption:L},data(){return{}},computed:{options(){return[{value:"Levitate",label:this.$t("pika.style.effect1")},{value:"Decapitate",label:this.$t("pika.style.effect2")},{value:"Eye-pop",label:this.$t("pika.style.effect3")},{value:"Ta-da",label:this.$t("pika.style.effect4")},{value:"Deflate",label:this.$t("pika.style.effect5")},{value:"Crumble",label:this.$t("pika.style.effect6")},{value:"Dissolve",label:this.$t("pika.style.effect7")},{value:"Squish",label:this.$t("pika.style.effect8")},{value:"Inflate",label:this.$t("pika.style.effect9")},{value:"Melt",label:this.$t("pika.style.effect10")},{value:"Cake-ify",label:this.$t("pika.style.effect11")},{value:"Crush",label:this.$t("pika.style.effect12")},{value:"Explode",label:this.$t("pika.style.effect13")}]},value:{get(){return this.$store.state.pika?.config?.effect},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,effect:e})}}}}),ve={class:"field"},be={class:"title font-bold"},ye={class:"float-left"};function we(e,o,c,d,v,b){const p=s("el-option"),u=s("el-select");return a(),l("div",ve,[r("h2",be,i(e.$t("pika.name.effect")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("pika.placeholder.select"),clearable:""},{default:m(()=>[(a(!0),l(S,null,C(e.options,n=>(a(),I(p,{key:n.value,label:n.label,value:n.value},{default:m(()=>[r("span",ye,i(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ve=k(ke,[["render",we],["__scopeId","data-v-d1c54475"]]),Ie=g({name:"IngredientsModelSelector",components:{ElRadioButton:W,ElRadioGroup:Q},data(){return{options:[{label:this.$t("pika.button.precise"),value:"precise"},{label:this.$t("pika.button.creative"),value:"creative"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients_mode},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients_mode:e})}}},mounted(){this.value||(this.value=j)}}),Ee={class:"field"},Se={class:"title font-bold"};function Ce(e,o,c,d,v,b){const p=s("el-radio-button"),u=s("el-radio-group");return a(),l("div",Ee,[r("h2",Se,i(e.$t("pika.name.ingredientsModel")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),size:"small",class:"quality"},{default:m(()=>[(a(!0),l(S,null,C(e.options,n=>(a(),I(p,{key:n.value,label:n.value},{default:m(()=>[h(i(n.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const Te=k(Ie,[["render",Ce],["__scopeId","data-v-b948551f"]]),Ae=g({name:"ModelSelector",components:{ElSelect:M,ElOption:L},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"2.0",label:"2.0"},{value:"1.5",label:"1.5"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.model},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika.config,model:e})}}},mounted(){this.value||(this.value=B)}}),Pe={class:"field"},Ue={class:"title font-bold"};function Re(e,o,c,d,v,b){const p=s("el-option"),u=s("el-select");return a(),l("div",Pe,[r("h2",Ue,i(e.$t("pika.name.model")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("pika.placeholder.select")},{default:m(()=>[(a(!0),l(S,null,C(e.options,n=>(a(),I(p,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const De=k(Ae,[["render",Re],["__scopeId","data-v-7b2e870a"]]),Ge=g({name:"ImageUrlInput",components:{ElUpload:Y,ElButton:A,InfoIcon:G,ImagePreview:X,FontAwesomeIcon:T},data(){return{fileList:[],uploadUrl:z()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.pika?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){V.warning(this.$t("pika.message.uploadStartImageExceed"))},onError(){V.error(this.$t("pika.message.uploadStartImageError"))},async onRemove(){V.error(this.$t("pika.message.uploadStartImageError"))},onSetStartImageUrl(){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:this.urls})},async onSuccess(){this.onSetStartImageUrl()}}}),Le={class:"field"},Me={class:"title font-bold"},Oe={class:"upload-wrapper"};function qe(e,o,c,d,v,b){const p=s("image-preview"),u=s("font-awesome-icon"),n=s("el-button"),y=s("el-upload"),_=s("info-icon");return a(),l("div",Le,[r("h2",Me,i(e.$t("pika.name.imageUrl")),1),r("div",Oe,[t(y,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=f=>e.fileList=f),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value upload-wrapper",limit:3,multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:f})=>[t(p,{url:f.url||f.response?.file_url,name:f.name,percentage:f.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])]),default:m(()=>[t(n,{size:"small",type:"primary",round:""},{default:m(()=>[t(u,{icon:"fa-solid fa-upload",class:"mr-1"}),h(" "+i(e.$t("pika.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])]),t(_,{content:e.$t("pika.description.imageUrl"),class:"info"},null,8,["content"])])}const je=k(Ge,[["render",qe],["__scopeId","data-v-18cda67a"]]),Be="",ze=g({name:"PromptInput",components:{ElInput:Z,InfoIcon:G},computed:{prompt:{get(){return this.$store.state.pika?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Be)}}),Ne={class:"field"},Fe={class:"box"},Ke={class:"title font-bold"};function He(e,o,c,d,v,b){const p=s("info-icon"),u=s("el-input");return a(),l("div",Ne,[r("div",Fe,[r("h2",Ke,i(e.$t("pika.name.prompt")),1),t(p,{content:e.$t("pika.description.prompt"),class:"info"},null,8,["content"])]),t(u,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("pika.placeholder.prompt"),maxlength:300,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const Je=k(ze,[["render",He],["__scopeId","data-v-b94e7a3e"]]),Qe=g({name:"PresetPanel",components:{ImageUrlInput:je,ElButton:A,FontAwesomeIcon:T,Consumption:x,PromptInput:Je,IngredientsSelector:ge,IngredientsModelSelector:Te,ModelSelector:De,EffectSelector:Ve},emits:["generate"],computed:{config(){return this.$store.state.pika?.config},consumption(){return te(this.config,this.service?.metadata?.price)},service(){return this.$store.state.pika?.service}},methods:{onGenerate(){this.$emit("generate")}}}),We={class:"flex flex-col h-full"},Xe={class:"flex-1 overflow-y-auto p-[15px]"},Ye={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function Ze(e,o,c,d,v,b){const p=s("prompt-input"),u=s("model-selector"),n=s("ingredients-selector"),y=s("effect-selector"),_=s("image-url-input"),f=s("ingredients-model-selector"),E=s("consumption"),w=s("font-awesome-icon"),U=s("el-button");return a(),l("div",We,[r("div",Xe,[t(p,{class:"mb-4"}),t(u,{class:"mb-4"}),t(n,{class:"mb-4"}),t(y,{class:"mb-4"}),e.config?.ingredients?(a(),I(_,{key:0,class:"mb-4"})):$("",!0),e.config?.ingredients?(a(),I(f,{key:1,class:"mb-4"})):$("",!0)]),r("div",Ye,[t(E,{value:e.consumption,service:e.service},null,8,["value","service"]),t(U,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:m(()=>[t(w,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+i(e.$t("pika.button.generate")),1)]),_:1},8,["onClick"])])])}const xe=k(Qe,[["render",Ze]]),et=g({name:"VideoPlayer",components:{VuePlyr:se},props:{modelValue:{type:Object,required:!0}},data(){return{options:{quality:{default:"1080p"}}}}}),tt=["data-poster"],ot=["src"];function st(e,o,c,d,v,b){const p=s("vue-plyr");return a(),l("div",null,[t(p,{options:e.options,class:"video"},{default:m(()=>[r("video",{controls:"",crossorigin:"",playsinline:"","data-poster":e.modelValue?.image_url},[r("source",{size:"1080",src:e.modelValue?.video_url,type:"video/mp4"},null,8,ot)],8,tt)]),_:1},8,["options"])])}const at=k(et,[["render",st],["__scopeId","data-v-fc420430"]]),nt=g({name:"TaskPreview",components:{ElImage:ie,CopyToClipboard:oe,FontAwesomeIcon:T,ElAlert:ne,VideoPlayer:at,ElTooltip:ae,ElButton:A},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pika?.application},config(){return this.$store.state.pika?.config},videos(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(c=>{let d=c;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e){console.log("on download"),window.open(e,"_blank")},onReload(e){const o=e.target,c=new URL(o.src),d=c.searchParams.get("retry");if(!d)c.searchParams.set("retry","1");else if(parseInt(d)<2)c.searchParams.set("retry",(parseInt(d)+1).toString());else return;o.src=c.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),it={class:"left"},lt={class:"main"},rt={class:"bot"},ct={class:"datetime"},pt={class:"info"},dt={key:0,class:"prompt mt-2"},ut={key:0},mt={key:1},ft={key:0,class:P({content:!0,failed:!0})},_t={class:"image-wrapper"},ht={key:0,class:P({operations:!0,"mt-2":!0})},$t={key:0,class:"description"},gt={class:"description"},kt={key:1,class:P({content:!0})},vt={class:"description"},bt={class:"description"},yt={class:"description"},wt={key:2,class:P({content:!0})},Vt={class:"description"};function It(e,o,c,d,v,b){const p=s("el-image"),u=s("VideoPlayer"),n=s("el-button"),y=s("el-tooltip"),_=s("font-awesome-icon"),f=s("copy-to-clipboard"),E=s("el-alert");return a(!0),l(S,null,C(e.videos,(w,U)=>(a(),l("div",{key:U,class:"preview"},[r("div",it,[t(p,{src:"https://cdn.acedata.cloud/i80tgn.png",class:"avatar"})]),r("div",lt,[r("div",rt,[h(i(e.$t("pika.name.pikaBot"))+" ",1),r("span",ct,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",pt,[e.modelValue?.request?.prompt?(a(),l("p",dt,[h(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?$("",!0):(a(),l("span",ut," - ("+i(e.$t("pika.status.pending"))+") ",1)),w?.state==="processing"||w?.state==="pending"?(a(),l("span",mt," - ("+i(e.$t("pika.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0?(a(),l("div",ft,[r("div",_t,[t(u,{"model-value":w},null,8,["model-value"])]),w?(a(),l("div",ht,[t(y,{class:"box-item",effect:"dark",content:e.$t("pika.message.downloadVideo"),placement:"top-start"},{default:m(()=>[w?.video_url?(a(),I(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:Lt=>e.onDownload(w?.video_url)},{default:m(()=>[h(i(e.$t("pika.button.download")),1)]),_:2},1032,["onClick"])):$("",!0)]),_:2},1032,["content"])])):$("",!0),t(E,{closable:!1,class:"mt-2 success"},{default:m(()=>[e.modelValue?.request?.model?(a(),l("p",$t,[t(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("pika.name.model"))+": "+i(e.modelValue?.request?.model),1)])):$("",!0),r("p",gt,[t(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(f,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(a(),l("div",kt,[t(E,{closable:!1,class:"failure"},{template:m(()=>[t(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("pika.name.failure")),1)]),default:m(()=>[r("p",vt,[t(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(f,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),r("p",bt,[t(_,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+i(e.$t("pika.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),t(f,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),r("p",yt,[t(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("pika.name.traceId"))+": "+i(e.modelValue?.response?.trace_id)+" ",1),t(f,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),!e.modelValue?.response||w?.state==="processing"||w?.state==="pending"?(a(),l("div",wt,[t(E,{closable:!1,class:"info"},{template:m(()=>[t(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("pika.name.failure")),1)]),default:m(()=>[r("p",Vt,[t(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(f,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0)])]))),128)}const Et=k(nt,[["render",It],["__scopeId","data-v-4c2810f1"]]),St=g({name:"RecentPanel",components:{TaskPreview:Et,BotPlaceholder:le,NoTasks:ee},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pika?.tasks,items:this.$store.state.pika?.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")}}}),Ct={key:0},Tt={key:1,class:"tasks h-full w-full overflow-y-auto"},At={key:2,class:"w-full h-full flex items-center justify-center"};function Pt(e,o,c,d,v,b){const p=s("bot-placeholder"),u=s("task-preview"),n=s("no-tasks");return a(),l(S,null,[e.tasks?.items===void 0?(a(),l("div",Ct,[t(p)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),l("div",Tt,[(a(!0),l(S,null,C(e.tasks?.items,(y,_)=>(a(),I(u,{key:_,"model-value":y},null,8,["model-value"]))),128))])):$("",!0),e.tasks?.items?.length===0?(a(),l("div",At,[t(n)])):$("",!0)],64)}const Ut=k(St,[["render",Pt]]),Rt="https://webhook.acedata.cloud/pika",Dt=g({name:"PikaIndex",components:{ConfigPanel:xe,Layout:me,RecentPanel:Ut},inject:["initialized"],data(){return{task:void 0,job:0}},computed:{loading(){return this.$store.state.pika?.status?.getApplications===D.Request},service(){return this.$store.state.pika.service},credential(){return this.$store.state.pika.credential},config(){return this.$store.state.pika.config},initializing(){return this.$store.state.pika.status.getApplications===D.Request},needApply(){return this.$store.state.pika.status.getApplications===D.Success&&!this.application},application(){return this.$store.state.pika.application},applications(){return this.$store.state.pika.applications},tasks(){return this.$store.state.pika.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){console.debug("reached top"),await this.onGetTasks({createdAtMax:this.tasks?.items?.[0]?.created_at})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("pika/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("pika/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){K.create({application:this.application}).then(({data:e})=>{this.application=e,V.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===H&&V.error(this.$t("application.message.alreadyApplied"))})},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".recent");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:c,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",c,"createdAtMax",d),await this.$store.dispatch("pika/getTasks",{limit:o,createdAtMin:c,createdAtMax:d})},async onGenerate(){const e={...this.config,callback_url:Rt},o=this.credential?.token;if(!o){console.error("no token specified");return}V.info(this.$t("pika.message.startingTask")),N.generate(e,{token:o}).then(()=>{V.success(this.$t("pika.message.startTaskSuccess")),this.$store.commit("pika/setConfig",{config:void 0})}).catch(c=>{c?.response?.data?.error?.code===F?V.error(this.$t("pika.message.usedUp")):V.error(this.$t("pika.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}});function Gt(e,o,c,d,v,b){const p=s("config-panel"),u=s("recent-panel"),n=s("layout");return a(),I(n,null,{config:m(()=>[t(p,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:m(()=>[t(u,{class:"panel recent",onReachTop:e.onReachTop},null,8,["onReachTop"])]),_:1})}const vo=k(Dt,[["render",Gt],["__scopeId","data-v-bc973743"]]);export{vo as default};
1
+ import{F as T}from"./index.es-B1Cre0ht.js";import{E as A}from"./index-CvUpzdE1.js";import{E as O}from"./index-CDRWFNPw.js";import{d as g,h as k,b as l,t as r,k as t,r as R,j as m,l as s,o as a,ez as q,x as i,F as S,v as C,i as I,eA as j,D as h,eB as B,cf as z,y as $,n as P,eC as N,dA as F,dn as K,dv as H,dw as D}from"./index-Bxn0D_Ay.js";import{I as G}from"./InfoIcon-xpG6wYiZ.js";import{E as J}from"./index-Nq6BDZRS.js";import{E as L,a as M}from"./index-ZXXqKgb5.js";import{a as Q,E as W}from"./index-DkwacTMf.js";import{I as X}from"./ImagePreview-BKjWRoxg.js";import{E as Y}from"./index-CiupJjd2.js";import{E as V}from"./index-KMXdPkbR.js";import{E as Z}from"./index-BG27krBY.js";import{C as x,N as ee}from"./NoTasks-RqxH5tU5.js";import{a as te}from"./price-crtYVYmR.js";import{C as oe}from"./CopyToClipboard-C7oZlhvf.js";import{s as se}from"./vue-plyr-QZFBikSk.js";import{E as ae}from"./index-zhXzFU3e.js";import{E as ne}from"./index-I256GqO3.js";import{E as ie}from"./index-r5mkEdBU.js";import{B as le}from"./BotPlaceholder-BgltR-o8.js";import"./use-form-item-BHzDGeGF.js";import"./index-r5W6hzzQ.js";import"./index-DA1L1iqe.js";import"./index-BZxyIS6v.js";import"./typescript-14ZN9Iqb.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"./index-CMofrOYp.js";const re=g({name:"LayoutPika",components:{ElDrawer:O,ElButton:A,FontAwesomeIcon:T},data(){return{drawer:!1}}}),ce={class:"main flex flex-row flex-1"},pe={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},de={class:"result h-full p-[15px] flex-1 flex flex-col"};function ue(e,o,c,d,v,b){const p=s("font-awesome-icon"),u=s("el-button"),n=s("el-drawer");return a(),l("div",ce,[r("div",pe,[R(e.$slots,"config",{},void 0,!0)]),r("div",de,[R(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:o[0]||(o[0]=y=>e.drawer=!0)},{default:m(()=>[t(p,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=y=>e.drawer=y),direction:"ltr","with-header":!1,size:"350px"},{default:m(()=>[R(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const me=k(re,[["render",ue],["__scopeId","data-v-80748529"]]),fe=g({name:"IngredientsSelector",components:{ElSwitch:J,InfoIcon:G},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients},set(e){console.debug("set ingredients",e),e||this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,ingredients_mode:void 0,image_url:void 0}),this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,model:"2.0"})}}},mounted(){this.value===void 0&&(this.value=q)}}),_e={class:"field"},he={class:"title font-bold"};function $e(e,o,c,d,v,b){const p=s("el-switch"),u=s("info-icon");return a(),l("div",_e,[r("h2",he,i(e.$t("pika.name.ingredients")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value"},null,8,["modelValue"]),t(u,{content:e.$t("pika.description.ingredients"),class:"info"},null,8,["content"])])}const ge=k(fe,[["render",$e],["__scopeId","data-v-17c0af5c"]]),ke=g({name:"EffectSelector",components:{ElSelect:M,ElOption:L},data(){return{}},computed:{options(){return[{value:"Levitate",label:this.$t("pika.style.effect1")},{value:"Decapitate",label:this.$t("pika.style.effect2")},{value:"Eye-pop",label:this.$t("pika.style.effect3")},{value:"Ta-da",label:this.$t("pika.style.effect4")},{value:"Deflate",label:this.$t("pika.style.effect5")},{value:"Crumble",label:this.$t("pika.style.effect6")},{value:"Dissolve",label:this.$t("pika.style.effect7")},{value:"Squish",label:this.$t("pika.style.effect8")},{value:"Inflate",label:this.$t("pika.style.effect9")},{value:"Melt",label:this.$t("pika.style.effect10")},{value:"Cake-ify",label:this.$t("pika.style.effect11")},{value:"Crush",label:this.$t("pika.style.effect12")},{value:"Explode",label:this.$t("pika.style.effect13")}]},value:{get(){return this.$store.state.pika?.config?.effect},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,effect:e})}}}}),ve={class:"field"},be={class:"title font-bold"},ye={class:"float-left"};function we(e,o,c,d,v,b){const p=s("el-option"),u=s("el-select");return a(),l("div",ve,[r("h2",be,i(e.$t("pika.name.effect")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("pika.placeholder.select"),clearable:""},{default:m(()=>[(a(!0),l(S,null,C(e.options,n=>(a(),I(p,{key:n.value,label:n.label,value:n.value},{default:m(()=>[r("span",ye,i(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ve=k(ke,[["render",we],["__scopeId","data-v-d1c54475"]]),Ie=g({name:"IngredientsModelSelector",components:{ElRadioButton:W,ElRadioGroup:Q},data(){return{options:[{label:this.$t("pika.button.precise"),value:"precise"},{label:this.$t("pika.button.creative"),value:"creative"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients_mode},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients_mode:e})}}},mounted(){this.value||(this.value=j)}}),Ee={class:"field"},Se={class:"title font-bold"};function Ce(e,o,c,d,v,b){const p=s("el-radio-button"),u=s("el-radio-group");return a(),l("div",Ee,[r("h2",Se,i(e.$t("pika.name.ingredientsModel")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),size:"small",class:"quality"},{default:m(()=>[(a(!0),l(S,null,C(e.options,n=>(a(),I(p,{key:n.value,label:n.value},{default:m(()=>[h(i(n.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const Te=k(Ie,[["render",Ce],["__scopeId","data-v-b948551f"]]),Ae=g({name:"ModelSelector",components:{ElSelect:M,ElOption:L},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"2.0",label:"2.0"},{value:"1.5",label:"1.5"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.model},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika.config,model:e})}}},mounted(){this.value||(this.value=B)}}),Pe={class:"field"},Ue={class:"title font-bold"};function Re(e,o,c,d,v,b){const p=s("el-option"),u=s("el-select");return a(),l("div",Pe,[r("h2",Ue,i(e.$t("pika.name.model")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("pika.placeholder.select")},{default:m(()=>[(a(!0),l(S,null,C(e.options,n=>(a(),I(p,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const De=k(Ae,[["render",Re],["__scopeId","data-v-7b2e870a"]]),Ge=g({name:"ImageUrlInput",components:{ElUpload:Y,ElButton:A,InfoIcon:G,ImagePreview:X,FontAwesomeIcon:T},data(){return{fileList:[],uploadUrl:z()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.pika?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){V.warning(this.$t("pika.message.uploadStartImageExceed"))},onError(){V.error(this.$t("pika.message.uploadStartImageError"))},async onRemove(){V.error(this.$t("pika.message.uploadStartImageError"))},onSetStartImageUrl(){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:this.urls})},async onSuccess(){this.onSetStartImageUrl()}}}),Le={class:"field"},Me={class:"title font-bold"},Oe={class:"upload-wrapper"};function qe(e,o,c,d,v,b){const p=s("image-preview"),u=s("font-awesome-icon"),n=s("el-button"),y=s("el-upload"),_=s("info-icon");return a(),l("div",Le,[r("h2",Me,i(e.$t("pika.name.imageUrl")),1),r("div",Oe,[t(y,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=f=>e.fileList=f),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value upload-wrapper",limit:3,multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:f})=>[t(p,{url:f.url||f.response?.file_url,name:f.name,percentage:f.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])]),default:m(()=>[t(n,{size:"small",type:"primary",round:""},{default:m(()=>[t(u,{icon:"fa-solid fa-upload",class:"mr-1"}),h(" "+i(e.$t("pika.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])]),t(_,{content:e.$t("pika.description.imageUrl"),class:"info"},null,8,["content"])])}const je=k(Ge,[["render",qe],["__scopeId","data-v-18cda67a"]]),Be="",ze=g({name:"PromptInput",components:{ElInput:Z,InfoIcon:G},computed:{prompt:{get(){return this.$store.state.pika?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Be)}}),Ne={class:"field"},Fe={class:"box"},Ke={class:"title font-bold"};function He(e,o,c,d,v,b){const p=s("info-icon"),u=s("el-input");return a(),l("div",Ne,[r("div",Fe,[r("h2",Ke,i(e.$t("pika.name.prompt")),1),t(p,{content:e.$t("pika.description.prompt"),class:"info"},null,8,["content"])]),t(u,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("pika.placeholder.prompt"),maxlength:300,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const Je=k(ze,[["render",He],["__scopeId","data-v-b94e7a3e"]]),Qe=g({name:"PresetPanel",components:{ImageUrlInput:je,ElButton:A,FontAwesomeIcon:T,Consumption:x,PromptInput:Je,IngredientsSelector:ge,IngredientsModelSelector:Te,ModelSelector:De,EffectSelector:Ve},emits:["generate"],computed:{config(){return this.$store.state.pika?.config},consumption(){return te(this.config,this.service?.metadata?.price)},service(){return this.$store.state.pika?.service}},methods:{onGenerate(){this.$emit("generate")}}}),We={class:"flex flex-col h-full"},Xe={class:"flex-1 overflow-y-auto p-[15px]"},Ye={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function Ze(e,o,c,d,v,b){const p=s("prompt-input"),u=s("model-selector"),n=s("ingredients-selector"),y=s("effect-selector"),_=s("image-url-input"),f=s("ingredients-model-selector"),E=s("consumption"),w=s("font-awesome-icon"),U=s("el-button");return a(),l("div",We,[r("div",Xe,[t(p,{class:"mb-4"}),t(u,{class:"mb-4"}),t(n,{class:"mb-4"}),t(y,{class:"mb-4"}),e.config?.ingredients?(a(),I(_,{key:0,class:"mb-4"})):$("",!0),e.config?.ingredients?(a(),I(f,{key:1,class:"mb-4"})):$("",!0)]),r("div",Ye,[t(E,{value:e.consumption,service:e.service},null,8,["value","service"]),t(U,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:m(()=>[t(w,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+i(e.$t("pika.button.generate")),1)]),_:1},8,["onClick"])])])}const xe=k(Qe,[["render",Ze]]),et=g({name:"VideoPlayer",components:{VuePlyr:se},props:{modelValue:{type:Object,required:!0}},data(){return{options:{quality:{default:"1080p"}}}}}),tt=["data-poster"],ot=["src"];function st(e,o,c,d,v,b){const p=s("vue-plyr");return a(),l("div",null,[t(p,{options:e.options,class:"video"},{default:m(()=>[r("video",{controls:"",crossorigin:"",playsinline:"","data-poster":e.modelValue?.image_url},[r("source",{size:"1080",src:e.modelValue?.video_url,type:"video/mp4"},null,8,ot)],8,tt)]),_:1},8,["options"])])}const at=k(et,[["render",st],["__scopeId","data-v-fc420430"]]),nt=g({name:"TaskPreview",components:{ElImage:ie,CopyToClipboard:oe,FontAwesomeIcon:T,ElAlert:ne,VideoPlayer:at,ElTooltip:ae,ElButton:A},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pika?.application},config(){return this.$store.state.pika?.config},videos(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(c=>{let d=c;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e){console.log("on download"),window.open(e,"_blank")},onReload(e){const o=e.target,c=new URL(o.src),d=c.searchParams.get("retry");if(!d)c.searchParams.set("retry","1");else if(parseInt(d)<2)c.searchParams.set("retry",(parseInt(d)+1).toString());else return;o.src=c.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),it={class:"left"},lt={class:"main"},rt={class:"bot"},ct={class:"datetime"},pt={class:"info"},dt={key:0,class:"prompt mt-2"},ut={key:0},mt={key:1},ft={key:0,class:P({content:!0,failed:!0})},_t={class:"image-wrapper"},ht={key:0,class:P({operations:!0,"mt-2":!0})},$t={key:0,class:"description"},gt={class:"description"},kt={key:1,class:P({content:!0})},vt={class:"description"},bt={class:"description"},yt={class:"description"},wt={key:2,class:P({content:!0})},Vt={class:"description"};function It(e,o,c,d,v,b){const p=s("el-image"),u=s("VideoPlayer"),n=s("el-button"),y=s("el-tooltip"),_=s("font-awesome-icon"),f=s("copy-to-clipboard"),E=s("el-alert");return a(!0),l(S,null,C(e.videos,(w,U)=>(a(),l("div",{key:U,class:"preview"},[r("div",it,[t(p,{src:"https://cdn.acedata.cloud/i80tgn.png",class:"avatar"})]),r("div",lt,[r("div",rt,[h(i(e.$t("pika.name.pikaBot"))+" ",1),r("span",ct,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",pt,[e.modelValue?.request?.prompt?(a(),l("p",dt,[h(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?$("",!0):(a(),l("span",ut," - ("+i(e.$t("pika.status.pending"))+") ",1)),w?.state==="processing"||w?.state==="pending"?(a(),l("span",mt," - ("+i(e.$t("pika.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0?(a(),l("div",ft,[r("div",_t,[t(u,{"model-value":w},null,8,["model-value"])]),w?(a(),l("div",ht,[t(y,{class:"box-item",effect:"dark",content:e.$t("pika.message.downloadVideo"),placement:"top-start"},{default:m(()=>[w?.video_url?(a(),I(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:Lt=>e.onDownload(w?.video_url)},{default:m(()=>[h(i(e.$t("pika.button.download")),1)]),_:2},1032,["onClick"])):$("",!0)]),_:2},1032,["content"])])):$("",!0),t(E,{closable:!1,class:"mt-2 success"},{default:m(()=>[e.modelValue?.request?.model?(a(),l("p",$t,[t(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("pika.name.model"))+": "+i(e.modelValue?.request?.model),1)])):$("",!0),r("p",gt,[t(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(f,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(a(),l("div",kt,[t(E,{closable:!1,class:"failure"},{template:m(()=>[t(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("pika.name.failure")),1)]),default:m(()=>[r("p",vt,[t(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(f,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),r("p",bt,[t(_,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+i(e.$t("pika.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),t(f,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),r("p",yt,[t(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("pika.name.traceId"))+": "+i(e.modelValue?.response?.trace_id)+" ",1),t(f,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),!e.modelValue?.response||w?.state==="processing"||w?.state==="pending"?(a(),l("div",wt,[t(E,{closable:!1,class:"info"},{template:m(()=>[t(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("pika.name.failure")),1)]),default:m(()=>[r("p",Vt,[t(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(f,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0)])]))),128)}const Et=k(nt,[["render",It],["__scopeId","data-v-4c2810f1"]]),St=g({name:"RecentPanel",components:{TaskPreview:Et,BotPlaceholder:le,NoTasks:ee},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pika?.tasks,items:this.$store.state.pika?.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")}}}),Ct={key:0},Tt={key:1,class:"tasks h-full w-full overflow-y-auto"},At={key:2,class:"w-full h-full flex items-center justify-center"};function Pt(e,o,c,d,v,b){const p=s("bot-placeholder"),u=s("task-preview"),n=s("no-tasks");return a(),l(S,null,[e.tasks?.items===void 0?(a(),l("div",Ct,[t(p)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),l("div",Tt,[(a(!0),l(S,null,C(e.tasks?.items,(y,_)=>(a(),I(u,{key:_,"model-value":y},null,8,["model-value"]))),128))])):$("",!0),e.tasks?.items?.length===0?(a(),l("div",At,[t(n)])):$("",!0)],64)}const Ut=k(St,[["render",Pt]]),Rt="https://webhook.acedata.cloud/pika",Dt=g({name:"PikaIndex",components:{ConfigPanel:xe,Layout:me,RecentPanel:Ut},inject:["initialized"],data(){return{task:void 0,job:0}},computed:{loading(){return this.$store.state.pika?.status?.getApplications===D.Request},service(){return this.$store.state.pika.service},credential(){return this.$store.state.pika.credential},config(){return this.$store.state.pika.config},initializing(){return this.$store.state.pika.status.getApplications===D.Request},needApply(){return this.$store.state.pika.status.getApplications===D.Success&&!this.application},application(){return this.$store.state.pika.application},applications(){return this.$store.state.pika.applications},tasks(){return this.$store.state.pika.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){console.debug("reached top"),await this.onGetTasks({createdAtMax:this.tasks?.items?.[0]?.created_at})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("pika/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("pika/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){K.create({application:this.application}).then(({data:e})=>{this.application=e,V.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===H&&V.error(this.$t("application.message.alreadyApplied"))})},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".recent");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:c,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",c,"createdAtMax",d),await this.$store.dispatch("pika/getTasks",{limit:o,createdAtMin:c,createdAtMax:d})},async onGenerate(){const e={...this.config,callback_url:Rt},o=this.credential?.token;if(!o){console.error("no token specified");return}V.info(this.$t("pika.message.startingTask")),N.generate(e,{token:o}).then(()=>{V.success(this.$t("pika.message.startTaskSuccess")),this.$store.commit("pika/setConfig",{config:void 0})}).catch(c=>{c?.response?.data?.error?.code===F?V.error(this.$t("pika.message.usedUp")):V.error(this.$t("pika.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}});function Gt(e,o,c,d,v,b){const p=s("config-panel"),u=s("recent-panel"),n=s("layout");return a(),I(n,null,{config:m(()=>[t(p,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:m(()=>[t(u,{class:"panel recent",onReachTop:e.onReachTop},null,8,["onReachTop"])]),_:1})}const vo=k(Dt,[["render",Gt],["__scopeId","data-v-bc973743"]]);export{vo as default};