@acedatacloud/nexior 3.32.9 → 3.32.10

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 (70) hide show
  1. package/dist/assets/{Auth-DczMaJQG.js → Auth-DzGZNB16.js} +1 -1
  2. package/dist/assets/{BotPlaceholder-JZgZiU80.js → BotPlaceholder-BBXjY2LW.js} +1 -1
  3. package/dist/assets/{Callback-Drmib5jW.js → Callback-Bkrpoghm.js} +1 -1
  4. package/dist/assets/{Console-DFCSwJIR.js → Console-CnJGLCbP.js} +1 -1
  5. package/dist/assets/{Conversation-D617fLTO.js → Conversation-Dt__9q4r.js} +1 -1
  6. package/dist/assets/{CopyToClipboard-JG1RVz-t.js → CopyToClipboard-DWCFniu2.js} +1 -1
  7. package/dist/assets/{Detail-DozkeEMO.js → Detail-DdfQXjor.js} +2 -2
  8. package/dist/assets/{EditArray-CA_FpogA.js → EditArray-CSDfAmhX.js} +1 -1
  9. package/dist/assets/{Extra--AbkRVzs.js → Extra-BQPcMjYE.js} +1 -1
  10. package/dist/assets/{FilePreview-Cf32rpwC.js → FilePreview-CDxMKWXV.js} +1 -1
  11. package/dist/assets/{History-CsXhtohT.js → History-CsYAuGkr.js} +1 -1
  12. package/dist/assets/{ImagePreview-wX56V1yq.js → ImagePreview-CcIUEkSJ.js} +1 -1
  13. package/dist/assets/{ImageWrapper-B-6pI_QO.js → ImageWrapper-RLXYfGhP.js} +1 -1
  14. package/dist/assets/{Index-DrBSr0xn.js → Index-BOazIXjW.js} +1 -1
  15. package/dist/assets/{Index-FxINSE5d.js → Index-BWvy6SSD.js} +1 -1
  16. package/dist/assets/{Index-qCgudhZn.js → Index-BfybvjqW.js} +1 -1
  17. package/dist/assets/{Index-CwS5nk7C.js → Index-C8VAWrEJ.js} +1 -1
  18. package/dist/assets/{Index-BFxwx4zf.js → Index-CBMD0JXG.js} +1 -1
  19. package/dist/assets/{Index-_vYzcoA8.js → Index-CCjUrTXK.js} +1 -1
  20. package/dist/assets/{Index-DoXYfAYh.js → Index-CNNDPE94.js} +1 -1
  21. package/dist/assets/{Index-Cfm2mFdu.js → Index-COg9BJv1.js} +1 -1
  22. package/dist/assets/{Index-WML8-M4z.js → Index-CWHvzRQT.js} +1 -1
  23. package/dist/assets/{Index-BpjaYC56.js → Index-Ccfr7F2D.js} +1 -1
  24. package/dist/assets/{Index-vsIFqJGv.js → Index-CdE_F-Q9.js} +1 -1
  25. package/dist/assets/{Index-0WpHv0m_.js → Index-Cma31HDa.js} +1 -1
  26. package/dist/assets/Index-CuC_V8o3.js +1 -0
  27. package/dist/assets/{Index-De9mq0FF.js → Index-CzXxK_2b.js} +1 -1
  28. package/dist/assets/{Index-BfZBZoTp.js → Index-D-aT_byJ.js} +1 -1
  29. package/dist/assets/{Index-Bnpf_C9v.js → Index-DOBWnF6q.js} +1 -1
  30. package/dist/assets/{Index-BTa-g985.css → Index-DRv6ONgj.css} +1 -1
  31. package/dist/assets/{Index-C_UHP2QL.js → Index-DgP_6KR3.js} +1 -1
  32. package/dist/assets/{Index-CopKz3ux.js → Index-Dh6W_faP.js} +1 -1
  33. package/dist/assets/{Index-BUcT_Ckz.js → Index-drIjZRZS.js} +1 -1
  34. package/dist/assets/{Index-D2Py8McS.js → Index-pi2cMyBI.js} +1 -1
  35. package/dist/assets/{Invitees-BqIAxlWP.js → Invitees-CHf-p6ck.js} +1 -1
  36. package/dist/assets/{List-B0WtP7wt.js → List-B7YNhNIM.js} +1 -1
  37. package/dist/assets/{List-BkMMnF8Z.js → List-BrU1F_YH.js} +1 -1
  38. package/dist/assets/{List-BcEaijRa.js → List-CHHXY32r.js} +1 -1
  39. package/dist/assets/{Main-C-OmyZA0.js → Main-DQdvaq-3.js} +1 -1
  40. package/dist/assets/{Navigator-bic15jda.js → Navigator-DGLJJliE.js} +1 -1
  41. package/dist/assets/{NoTasks-C8VsSmmP.js → NoTasks-CsBs9OjI.js} +1 -1
  42. package/dist/assets/{Pagination-BVbaOu9P.js → Pagination-CFQinZNs.js} +1 -1
  43. package/dist/assets/{ScrollList-fCD8Iwcv.js → ScrollList-D1QN29i5.js} +1 -1
  44. package/dist/assets/{Status-CKDX0R9X.js → Status-3FQMdQEp.js} +1 -1
  45. package/dist/assets/{Subscribe-COBAFGiD.js → Subscribe-DOKwotv0.js} +1 -1
  46. package/dist/assets/{TransportWebHID-BITJWB-5.js → TransportWebHID-D0zvcfdU.js} +1 -1
  47. package/dist/assets/{VideoPlayer-B3D8uly7.js → VideoPlayer-BE40WS_m.js} +1 -1
  48. package/dist/assets/{avatar-B9QOZgoV.js → avatar-DJkL1RYR.js} +1 -1
  49. package/dist/assets/{bignumber-CfHWnnz3.js → bignumber-CJe2Yf_j.js} +1 -1
  50. package/dist/assets/{distribution-D5wmh2sL.js → distribution-DamIfOmJ.js} +1 -1
  51. package/dist/assets/{index-DxxT_n7u.js → index-BOOZcBKx.js} +1 -1
  52. package/dist/assets/{index-Dy4GPGyp.js → index-Be1ItyMq.js} +1 -1
  53. package/dist/assets/{index-YSAnmCq3.js → index-CHJKh2Bh.js} +1 -1
  54. package/dist/assets/{index-DRJ3FBu5.js → index-Cc1rtugT.js} +1 -1
  55. package/dist/assets/{index-CEKmRWKF.js → index-D54aBAxz.js} +1 -1
  56. package/dist/assets/{index-BS6p1xc_.js → index-DPPJzFm2.js} +1 -1
  57. package/dist/assets/{index-BPXUH88q.js → index-DPpJ3M-F.js} +1 -1
  58. package/dist/assets/{index-C6Utnhvc.js → index-uXQ32ATB.js} +4 -4
  59. package/dist/assets/{index.es-DYiAEQNm.js → index.es-Df0rYKs1.js} +1 -1
  60. package/dist/assets/{order-D5qRwSph.js → order-BKWx-VP_.js} +1 -1
  61. package/dist/assets/{price-BDb_RClh.js → price-irKGH1xy.js} +1 -1
  62. package/dist/assets/{solana-wallets-D6VngL5v.js → solana-wallets-BZFsAVfk.js} +2 -2
  63. package/dist/assets/{solanaEmbed.esm-DZaRYhLN.js → solanaEmbed.esm-JoLYeaHw.js} +1 -1
  64. package/dist/assets/{string_decoder-Dn8Ysv-C.js → string_decoder-qpwtFMp7.js} +1 -1
  65. package/dist/assets/{vendor-web3-CjdMnDlQ.js → vendor-web3-2Fpu-X2r.js} +4 -4
  66. package/dist/assets/{web-GMUOu-KN.js → web-BDd5fhSz.js} +1 -1
  67. package/dist/assets/{web-Dh-sHdyS.js → web-CaLukC_K.js} +1 -1
  68. package/dist/index.html +2 -2
  69. package/package.json +1 -1
  70. package/dist/assets/Index-DAZyyDRl.js +0 -1
@@ -1 +1 @@
1
- import{F as L}from"./index.es-DYiAEQNm.js";import{l as G,S as z,N as D,O,k as N,t as q,u as E,s as H,p as J,G as K,j as Q}from"./vendor-element-plus-B4FTqxj4.js";import{d as g,C as r,G as l,T as t,E as U,K as u,ai as s,D as n,R as a,S as A,ag as R,J as y,M as I,Y,O as v,Q as h,L as S,U as T}from"./vendor-vue-1w_NBnjl.js";import{_ as $,bD as W,bE as X,bF as Z,bG as x,aj as ee,bH as te,aB as oe,ay as j}from"./index-C6Utnhvc.js";import{I as P,S as se}from"./ScrollList-fCD8Iwcv.js";import{V as B}from"./VideoPlayer-B3D8uly7.js";import{I as ne}from"./ImagePreview-wX56V1yq.js";import{C as ae,N as le}from"./NoTasks-C8VsSmmP.js";import{a as ie}from"./price-BDb_RClh.js";import{C as re}from"./CopyToClipboard-JG1RVz-t.js";import{B as ce}from"./BotPlaceholder-JZgZiU80.js";import{l as de}from"./pagination-CihAE3FS.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-CjdMnDlQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";import"./vue-plyr-QZFBikSk.js";const ue=g({name:"LayoutVeo",components:{ElDrawer:z,ElButton:G,FontAwesomeIcon:L},data(){return{drawer:!1}}}),pe={class:"main flex flex-row flex-1"},me={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},fe={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ve(e,o,m,_,b,k){const c=s("font-awesome-icon"),d=s("el-button"),i=s("el-drawer");return n(),r("div",pe,[l("div",me,[U(e.$slots,"config",{},void 0,!0)]),l("div",fe,[U(e.$slots,"result",{},void 0,!0)]),t(d,{circle:"",class:"menu",onClick:o[0]||(o[0]=w=>e.drawer=!0)},{default:u(()=>[t(c,{icon:"fa-solid fa-magic"})]),_:1}),t(i,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=w=>e.drawer=w),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const _e=$(ue,[["render",ve],["__scopeId","data-v-816b984c"]]),he=g({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"},{value:"veo31-fast",label:"veo31-fast"},{value:"veo31",label:"veo31"},{value:"veo31-fast-ingredient",label:"veo31-fast-ingredient"}]}},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=W)}}),ge={class:"field"},$e={class:"title font-bold"};function be(e,o,m,_,b,k){const c=s("el-option"),d=s("el-select");return n(),r("div",ge,[l("h2",$e,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,R(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 ke=$(he,[["render",be],["__scopeId","data-v-14fcc9e5"]]),we=g({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=X)}}),ye={class:"field"},Ve={class:"title font-bold"},Se={class:"float-left"};function Te(e,o,m,_,b,k){const c=s("el-option"),d=s("el-select");return n(),r("div",ye,[l("h2",Ve,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,R(e.options,i=>(n(),y(c,{key:i.value,label:i.label,value:i.value},{default:u(()=>[l("span",Se,a(i.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ee=$(we,[["render",Te],["__scopeId","data-v-ba5abc8a"]]),Ie=g({name:"TranslationSelector",components:{ElSwitch:N,InfoIcon:P},computed:{value:{get(){return this.$store.state.veo?.config?.translation},set(e){console.debug("set translation",e),this.$store.commit("veo/setConfig",{...this.$store.state.veo?.config,translation:e})}}},mounted(){this.value===void 0&&(this.value=Z)}}),Ce={class:"relative"},Ae={class:"flex justify-between"},Le={class:"flex justify-start items-center"},Ge={class:"text-sm font-bold"},Re={class:"flex justify-end items-center"};function Ue(e,o,m,_,b,k){const c=s("info-icon"),d=s("el-switch");return n(),r("div",Ce,[l("div",Ae,[l("div",Le,[l("span",Ge,a(e.$t("veo.name.translation")),1),t(c,{content:e.$t("veo.description.translation")},null,8,["content"])]),l("div",Re,[t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),class:"value"},null,8,["modelValue"])])])])}const Pe=$(Ie,[["render",Ue]]),je=g({name:"AspectRatioSelector",data(){return{options:[{value:"1:1",label:"1:1",width:20,height:20},{value:"4:3",label:"4:3",width:20,height:15},{value:"3:4",label:"3:4",width:15,height:20},{value:"16:9",label:"16:9",width:25,height:13},{value:"9:16",label:"9:16",width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.veo?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e),this.$store.commit("veo/setConfig",{...this.$store.state?.veo?.config,aspect_ratio:e})}}},mounted(){this.value||(this.value=x)}}),De={class:"text-sm font-bold mb-2 block"},Oe={class:"items"},Be=["onClick"],Me={class:"name"};function Fe(e,o,m,_,b,k){return n(),r("div",null,[l("span",De,a(e.$t("veo.name.ratio")),1),l("div",Oe,[(n(!0),r(A,null,R(e.options,(c,d)=>(n(),r("div",{key:d,class:I({active:e.active===d,item:!0}),onClick:i=>e.value=c.value},[l("div",{class:I(["preview",c.label])},[l("div",{class:"rect",style:Y({width:c.width+"px",height:c.height+"px"})},null,4)],2),l("p",Me,a(c.label),1)],10,Be))),128))])])}const ze=$(je,[["render",Fe],["__scopeId","data-v-0f16be77"]]),Ne=g({name:"VideoFromInput",components:{VideoPlayer:B},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.veo?.config}}}),qe={class:"relative"},He={class:"flex mb-2"},Je={class:"text-sm font-bold"};function Ke(e,o,m,_,b,k){const c=s("video-player");return n(),r("div",qe,[l("div",He,[l("span",Je,a(e.$t("veo.name.action3")),1)]),l("div",null,[e.config?.video_url?(n(),y(c,{key:0,src:e.config?.video_url},null,8,["src"])):v("",!0)])])}const Qe=$(Ne,[["render",Ke]]),Ye=g({name:"StartEndImage",components:{ElUpload:q,ElButton:G,InfoIcon:P,FontAwesomeIcon:L,ImagePreview:ne},emits:["change"],data(){return{fileList:[],uploadUrl:ee()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.veo?.config?.image_urls},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){E.warning(this.$t("veo.message.uploadReferencesExceed"))},onError(){E.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()}}}),We={class:"relative"},Xe={class:"flex justify-between"},Ze={class:"flex justify-start items-center"},xe={class:"text-sm font-bold"};function et(e,o,m,_,b,k){const c=s("info-icon"),d=s("image-preview"),i=s("font-awesome-icon"),w=s("el-button"),f=s("el-upload");return n(),r("div",We,[l("div",Xe,[l("div",Ze,[l("span",xe,a(e.$t("veo.name.startEndImage")),1),t(c,{content:e.$t("veo.description.uploadStartEndImage")},null,8,["content"])])]),t(f,{"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"])):v("",!0)]),default:u(()=>[t(w,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[t(i,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+a(e.$t("veo.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const tt=$(Ye,[["render",et],["__scopeId","data-v-43d971b7"]]),ot="",st=g({name:"PromptInput",components:{ElInput:H,InfoIcon:P},computed:{prompt:{get(){return this.$store.state.veo?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("veo/setConfig",{...this.$store.state.veo?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ot)}}),nt={class:"field"},at={class:"box"},lt={class:"title font-bold"};function it(e,o,m,_,b,k){const c=s("info-icon"),d=s("el-input");return n(),r("div",nt,[l("div",at,[l("h2",lt,a(e.$t("veo.name.prompt")),1),t(c,{content:e.$t("veo.description.prompt"),class:"info"},null,8,["content"])]),t(d,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=i=>e.prompt=i),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("veo.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const rt=$(st,[["render",it],["__scopeId","data-v-84c55ea0"]]),ct=g({name:"ConfigPanel",components:{ElButton:G,Consumption:ae,FontAwesomeIcon:L,PromptInput:rt,ModelSelector:ke,StartEndImage:tt,ActionSelector:Ee,VideoFromInput:Qe,TranslationSelector:Pe,AspectRatioSelector:ze},emits:["generate"],computed:{config(){return this.$store.state.veo?.config},consumption(){return ie(this.config,this.service?.cost)},service(){return this.$store.state.veo?.service}},methods:{onGenerate(){this.$emit("generate")}}}),dt={class:"flex flex-col h-full"},ut={class:"flex-1 overflow-y-auto p-5"},pt={class:"flex flex-col items-center justify-center px-5 pb-5"};function mt(e,o,m,_,b,k){const c=s("video-from-input"),d=s("action-selector"),i=s("translation-selector"),w=s("aspect-ratio-selector"),f=s("prompt-input"),p=s("model-selector"),V=s("start-end-image"),C=s("consumption"),M=s("font-awesome-icon"),F=s("el-button");return n(),r("div",dt,[l("div",ut,[S(t(c,{class:"mb-4"},null,512),[[T,e.config?.action==="get1080p"]]),t(d,{class:"mb-4"}),S(t(i,{class:"mb-4"},null,512),[[T,e.config?.action!=="get1080p"]]),S(t(w,{class:"mb-4"},null,512),[[T,e.config?.action==="image2video"]]),S(t(f,{class:"mb-4"},null,512),[[T,e.config?.action!=="get1080p"]]),S(t(p,{class:"mb-4"},null,512),[[T,e.config?.action!=="get1080p"]]),S(t(V,{class:"mb-2"},null,512),[[T,e.config?.action==="image2video"]])]),l("div",pt,[t(C,{value:e.consumption,service:e.service},null,8,["value","service"]),t(F,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(M,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+a(e.$t("veo.button.generate")),1)]),_:1},8,["onClick"])])])}const ft=$(ct,[["render",mt]]),vt=g({name:"TaskPreview",components:{ElImage:Q,CopyToClipboard:re,FontAwesomeIcon:L,ElAlert:K,VideoPlayer:B,ElTooltip:J,ElButton:G},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")}}}),_t={class:"preview"},ht={class:"left"},gt={class:"main"},$t={class:"bot"},bt={class:"datetime"},kt={class:"info"},wt={key:0,class:"prompt mt-2"},yt={key:0},Vt={key:1},St={key:0,class:I({content:!0,failed:!0})},Tt={key:0,class:"mb-4"},Et={key:1,class:I({operations:!0,"mt-2":!0})},It={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ct={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},At={key:1,class:I({content:!0})},Lt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ut={key:2,class:I({content:!0})},Pt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},jt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Dt(e,o,m,_,b,k){const c=s("el-image"),d=s("video-player"),i=s("el-button"),w=s("el-tooltip"),f=s("font-awesome-icon"),p=s("copy-to-clipboard"),V=s("el-alert");return n(),r("div",_t,[l("div",ht,[t(c,{src:"https://cdn.acedata.cloud/8nxyy9.jpg",class:"avatar"})]),l("div",gt,[l("div",$t,[h(a(e.$t("veo.name.veoBot"))+" ",1),l("span",bt,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",kt,[e.modelValue?.request?.prompt?(n(),r("p",wt,[h(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?v("",!0):(n(),r("span",yt," - ("+a(e.$t("veo.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="running"?(n(),r("span",Vt," - ("+a(e.$t("veo.status.processing"))+") ",1)):v("",!0)])):v("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(n(),r("div",St,[e.modelValue?.response?.data[0]?.video_url?(n(),r("div",Tt,[t(d,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):v("",!0),e.modelValue?.response.success?(n(),r("div",Et,[t(w,{class:"box-item",effect:"dark",content:e.$t("veo.message.downloadVideo"),placement:"top-start"},{default:u(()=>[e.modelValue?.response?.data[0]?.video_url?(n(),y(i,{key:0,type:"info",size:"small",class:"btn-action",onClick:o[0]||(o[0]=C=>e.onGet1080p(C,e.modelValue?.response))},{default:u(()=>[h(a(e.$t("veo.button.action3")),1)]),_:1})):v("",!0)]),_:1},8,["content"]),t(w,{class:"box-item",effect:"dark",content:e.$t("veo.message.downloadVideo"),placement:"top-start"},{default:u(()=>[e.modelValue?.response?.data[0]?.video_url?(n(),y(i,{key:0,type:"info",size:"small",class:"btn-action",onClick:o[1]||(o[1]=C=>e.onDownload(C,e.modelValue?.response?.data[0]?.video_url))},{default:u(()=>[h(a(e.$t("veo.button.download")),1)]),_:1})):v("",!0)]),_:1},8,["content"])])):v("",!0),t(V,{closable:!1,class:"mt-2 success"},{default:u(()=>[l("p",It,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+a(e.$t("veo.name.model"))+": "+a(e.modelValue?.request?.model),1)]),l("p",Ct,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+a(e.$t("veo.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):v("",!0),e.modelValue?.response?.success===!1?(n(),r("div",At,[t(V,{closable:!1,class:"failure"},{template:u(()=>[t(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+a(e.$t("veo.name.failure")),1)]),default:u(()=>[l("p",Lt,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+a(e.$t("veo.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id},null,8,["content"])]),l("p",Gt,[t(f,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+a(e.$t("veo.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),t(p,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),r("p",Rt,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+a(e.$t("veo.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),t(p,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):v("",!0)]),_:1})])):v("",!0),e.modelValue?.response?.success===void 0?(n(),r("div",Ut,[t(V,{closable:!1,class:"info"},{template:u(()=>[t(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+a(e.$t("veo.name.failure")),1)]),default:u(()=>[l("p",Pt,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+a(e.$t("veo.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),r("p",jt,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+a(e.$t("veo.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),t(p,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):v("",!0)]),_:1})])):v("",!0)])])}const Ot=$(vt,[["render",Dt],["__scopeId","data-v-996aebe1"]]),Bt=g({name:"RecentPanel",components:{TaskPreview:Ot,NoTasks:le,BotPlaceholder:ce,ScrollList:se},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.veo?.tasks,items:this.$store.state.veo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Mt={key:0},Ft={key:2,class:"w-full h-full flex items-center justify-center"};function zt(e,o,m,_,b,k){const c=s("bot-placeholder"),d=s("task-preview"),i=s("scroll-list"),w=s("no-tasks");return n(),r(A,null,[e.tasks?.items===void 0?(n(),r("div",Mt,[t(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),y(i,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=f=>e.$emit("reach-top"))},{default:u(()=>[(n(!0),r(A,null,R(e.tasks?.items,(f,p)=>(n(),y(d,{key:p,"model-value":f},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(n(),r("div",Ft,[t(w)])):v("",!0)],64)}const Nt=$(Bt,[["render",zt]]),qt="https://webhook.acedata.cloud/veo",Ht=g({name:"VeoIndex",components:{ConfigPanel:ft,Layout:_e,RecentPanel:Nt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.veo?.status?.getApplications===j.Request},tasksLoading(){return this.$store.state.veo?.status?.getTasks===j.Request||this.fetchingTasks},credential(){return this.$store.state.veo.credential},config(){return this.$store.state.veo.config},tasks(){return this.$store.state.veo.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await de({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("veo/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("veo/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:m,createdAtMax:_}=e||{};console.debug("limit",o,"createdAtMin",m,"createdAtMax",_),this.fetchingTasks=!0;try{await this.$store.dispatch("veo/getTasks",{limit:o,createdAtMin:m,createdAtMax:_})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:qt},o=this.credential?.token;if(!o){console.error("no token specified");return}E.info(this.$t("veo.message.startingTask")),te.generate(e,{token:o}).then(()=>{E.success(this.$t("veo.message.startTaskSuccess"))}).catch(m=>{m?.response?.data?.error?.code===oe?E.error(this.$t("veo.message.usedUp")):E.error(this.$t("veo.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Jt(e,o,m,_,b,k){const c=s("config-panel"),d=s("recent-panel"),i=s("layout");return n(),y(i,null,{config:u(()=>[t(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[t(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const uo=$(Ht,[["render",Jt]]);export{uo as default};
1
+ import{F as L}from"./index.es-Df0rYKs1.js";import{l as G,S as z,N as D,O,k as N,t as q,u as E,s as H,p as J,G as K,j as Q}from"./vendor-element-plus-B4FTqxj4.js";import{d as g,C as r,G as l,T as t,E as U,K as u,ai as s,D as n,R as a,S as A,ag as R,J as y,M as I,Y,O as v,Q as h,L as S,U as T}from"./vendor-vue-1w_NBnjl.js";import{_ as $,bD as W,bE as X,bF as Z,bG as x,aj as ee,bH as te,aB as oe,ay as j}from"./index-uXQ32ATB.js";import{I as P,S as se}from"./ScrollList-D1QN29i5.js";import{V as B}from"./VideoPlayer-BE40WS_m.js";import{I as ne}from"./ImagePreview-CcIUEkSJ.js";import{C as ae,N as le}from"./NoTasks-CsBs9OjI.js";import{a as ie}from"./price-irKGH1xy.js";import{C as re}from"./CopyToClipboard-DWCFniu2.js";import{B as ce}from"./BotPlaceholder-BBXjY2LW.js";import{l as de}from"./pagination-CihAE3FS.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-2Fpu-X2r.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";import"./vue-plyr-QZFBikSk.js";const ue=g({name:"LayoutVeo",components:{ElDrawer:z,ElButton:G,FontAwesomeIcon:L},data(){return{drawer:!1}}}),pe={class:"main flex flex-row flex-1"},me={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},fe={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ve(e,o,m,_,b,k){const c=s("font-awesome-icon"),d=s("el-button"),i=s("el-drawer");return n(),r("div",pe,[l("div",me,[U(e.$slots,"config",{},void 0,!0)]),l("div",fe,[U(e.$slots,"result",{},void 0,!0)]),t(d,{circle:"",class:"menu",onClick:o[0]||(o[0]=w=>e.drawer=!0)},{default:u(()=>[t(c,{icon:"fa-solid fa-magic"})]),_:1}),t(i,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=w=>e.drawer=w),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const _e=$(ue,[["render",ve],["__scopeId","data-v-816b984c"]]),he=g({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"},{value:"veo31-fast",label:"veo31-fast"},{value:"veo31",label:"veo31"},{value:"veo31-fast-ingredient",label:"veo31-fast-ingredient"}]}},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=W)}}),ge={class:"field"},$e={class:"title font-bold"};function be(e,o,m,_,b,k){const c=s("el-option"),d=s("el-select");return n(),r("div",ge,[l("h2",$e,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,R(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 ke=$(he,[["render",be],["__scopeId","data-v-14fcc9e5"]]),we=g({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=X)}}),ye={class:"field"},Ve={class:"title font-bold"},Se={class:"float-left"};function Te(e,o,m,_,b,k){const c=s("el-option"),d=s("el-select");return n(),r("div",ye,[l("h2",Ve,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,R(e.options,i=>(n(),y(c,{key:i.value,label:i.label,value:i.value},{default:u(()=>[l("span",Se,a(i.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ee=$(we,[["render",Te],["__scopeId","data-v-ba5abc8a"]]),Ie=g({name:"TranslationSelector",components:{ElSwitch:N,InfoIcon:P},computed:{value:{get(){return this.$store.state.veo?.config?.translation},set(e){console.debug("set translation",e),this.$store.commit("veo/setConfig",{...this.$store.state.veo?.config,translation:e})}}},mounted(){this.value===void 0&&(this.value=Z)}}),Ce={class:"relative"},Ae={class:"flex justify-between"},Le={class:"flex justify-start items-center"},Ge={class:"text-sm font-bold"},Re={class:"flex justify-end items-center"};function Ue(e,o,m,_,b,k){const c=s("info-icon"),d=s("el-switch");return n(),r("div",Ce,[l("div",Ae,[l("div",Le,[l("span",Ge,a(e.$t("veo.name.translation")),1),t(c,{content:e.$t("veo.description.translation")},null,8,["content"])]),l("div",Re,[t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),class:"value"},null,8,["modelValue"])])])])}const Pe=$(Ie,[["render",Ue]]),je=g({name:"AspectRatioSelector",data(){return{options:[{value:"1:1",label:"1:1",width:20,height:20},{value:"4:3",label:"4:3",width:20,height:15},{value:"3:4",label:"3:4",width:15,height:20},{value:"16:9",label:"16:9",width:25,height:13},{value:"9:16",label:"9:16",width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.veo?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e),this.$store.commit("veo/setConfig",{...this.$store.state?.veo?.config,aspect_ratio:e})}}},mounted(){this.value||(this.value=x)}}),De={class:"text-sm font-bold mb-2 block"},Oe={class:"items"},Be=["onClick"],Me={class:"name"};function Fe(e,o,m,_,b,k){return n(),r("div",null,[l("span",De,a(e.$t("veo.name.ratio")),1),l("div",Oe,[(n(!0),r(A,null,R(e.options,(c,d)=>(n(),r("div",{key:d,class:I({active:e.active===d,item:!0}),onClick:i=>e.value=c.value},[l("div",{class:I(["preview",c.label])},[l("div",{class:"rect",style:Y({width:c.width+"px",height:c.height+"px"})},null,4)],2),l("p",Me,a(c.label),1)],10,Be))),128))])])}const ze=$(je,[["render",Fe],["__scopeId","data-v-0f16be77"]]),Ne=g({name:"VideoFromInput",components:{VideoPlayer:B},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.veo?.config}}}),qe={class:"relative"},He={class:"flex mb-2"},Je={class:"text-sm font-bold"};function Ke(e,o,m,_,b,k){const c=s("video-player");return n(),r("div",qe,[l("div",He,[l("span",Je,a(e.$t("veo.name.action3")),1)]),l("div",null,[e.config?.video_url?(n(),y(c,{key:0,src:e.config?.video_url},null,8,["src"])):v("",!0)])])}const Qe=$(Ne,[["render",Ke]]),Ye=g({name:"StartEndImage",components:{ElUpload:q,ElButton:G,InfoIcon:P,FontAwesomeIcon:L,ImagePreview:ne},emits:["change"],data(){return{fileList:[],uploadUrl:ee()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.veo?.config?.image_urls},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){E.warning(this.$t("veo.message.uploadReferencesExceed"))},onError(){E.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()}}}),We={class:"relative"},Xe={class:"flex justify-between"},Ze={class:"flex justify-start items-center"},xe={class:"text-sm font-bold"};function et(e,o,m,_,b,k){const c=s("info-icon"),d=s("image-preview"),i=s("font-awesome-icon"),w=s("el-button"),f=s("el-upload");return n(),r("div",We,[l("div",Xe,[l("div",Ze,[l("span",xe,a(e.$t("veo.name.startEndImage")),1),t(c,{content:e.$t("veo.description.uploadStartEndImage")},null,8,["content"])])]),t(f,{"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"])):v("",!0)]),default:u(()=>[t(w,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[t(i,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+a(e.$t("veo.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const tt=$(Ye,[["render",et],["__scopeId","data-v-43d971b7"]]),ot="",st=g({name:"PromptInput",components:{ElInput:H,InfoIcon:P},computed:{prompt:{get(){return this.$store.state.veo?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("veo/setConfig",{...this.$store.state.veo?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ot)}}),nt={class:"field"},at={class:"box"},lt={class:"title font-bold"};function it(e,o,m,_,b,k){const c=s("info-icon"),d=s("el-input");return n(),r("div",nt,[l("div",at,[l("h2",lt,a(e.$t("veo.name.prompt")),1),t(c,{content:e.$t("veo.description.prompt"),class:"info"},null,8,["content"])]),t(d,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=i=>e.prompt=i),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("veo.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const rt=$(st,[["render",it],["__scopeId","data-v-84c55ea0"]]),ct=g({name:"ConfigPanel",components:{ElButton:G,Consumption:ae,FontAwesomeIcon:L,PromptInput:rt,ModelSelector:ke,StartEndImage:tt,ActionSelector:Ee,VideoFromInput:Qe,TranslationSelector:Pe,AspectRatioSelector:ze},emits:["generate"],computed:{config(){return this.$store.state.veo?.config},consumption(){return ie(this.config,this.service?.cost)},service(){return this.$store.state.veo?.service}},methods:{onGenerate(){this.$emit("generate")}}}),dt={class:"flex flex-col h-full"},ut={class:"flex-1 overflow-y-auto p-5"},pt={class:"flex flex-col items-center justify-center px-5 pb-5"};function mt(e,o,m,_,b,k){const c=s("video-from-input"),d=s("action-selector"),i=s("translation-selector"),w=s("aspect-ratio-selector"),f=s("prompt-input"),p=s("model-selector"),V=s("start-end-image"),C=s("consumption"),M=s("font-awesome-icon"),F=s("el-button");return n(),r("div",dt,[l("div",ut,[S(t(c,{class:"mb-4"},null,512),[[T,e.config?.action==="get1080p"]]),t(d,{class:"mb-4"}),S(t(i,{class:"mb-4"},null,512),[[T,e.config?.action!=="get1080p"]]),S(t(w,{class:"mb-4"},null,512),[[T,e.config?.action==="image2video"]]),S(t(f,{class:"mb-4"},null,512),[[T,e.config?.action!=="get1080p"]]),S(t(p,{class:"mb-4"},null,512),[[T,e.config?.action!=="get1080p"]]),S(t(V,{class:"mb-2"},null,512),[[T,e.config?.action==="image2video"]])]),l("div",pt,[t(C,{value:e.consumption,service:e.service},null,8,["value","service"]),t(F,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(M,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+a(e.$t("veo.button.generate")),1)]),_:1},8,["onClick"])])])}const ft=$(ct,[["render",mt]]),vt=g({name:"TaskPreview",components:{ElImage:Q,CopyToClipboard:re,FontAwesomeIcon:L,ElAlert:K,VideoPlayer:B,ElTooltip:J,ElButton:G},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")}}}),_t={class:"preview"},ht={class:"left"},gt={class:"main"},$t={class:"bot"},bt={class:"datetime"},kt={class:"info"},wt={key:0,class:"prompt mt-2"},yt={key:0},Vt={key:1},St={key:0,class:I({content:!0,failed:!0})},Tt={key:0,class:"mb-4"},Et={key:1,class:I({operations:!0,"mt-2":!0})},It={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ct={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},At={key:1,class:I({content:!0})},Lt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ut={key:2,class:I({content:!0})},Pt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},jt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Dt(e,o,m,_,b,k){const c=s("el-image"),d=s("video-player"),i=s("el-button"),w=s("el-tooltip"),f=s("font-awesome-icon"),p=s("copy-to-clipboard"),V=s("el-alert");return n(),r("div",_t,[l("div",ht,[t(c,{src:"https://cdn.acedata.cloud/8nxyy9.jpg",class:"avatar"})]),l("div",gt,[l("div",$t,[h(a(e.$t("veo.name.veoBot"))+" ",1),l("span",bt,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",kt,[e.modelValue?.request?.prompt?(n(),r("p",wt,[h(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?v("",!0):(n(),r("span",yt," - ("+a(e.$t("veo.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="running"?(n(),r("span",Vt," - ("+a(e.$t("veo.status.processing"))+") ",1)):v("",!0)])):v("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(n(),r("div",St,[e.modelValue?.response?.data[0]?.video_url?(n(),r("div",Tt,[t(d,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):v("",!0),e.modelValue?.response.success?(n(),r("div",Et,[t(w,{class:"box-item",effect:"dark",content:e.$t("veo.message.downloadVideo"),placement:"top-start"},{default:u(()=>[e.modelValue?.response?.data[0]?.video_url?(n(),y(i,{key:0,type:"info",size:"small",class:"btn-action",onClick:o[0]||(o[0]=C=>e.onGet1080p(C,e.modelValue?.response))},{default:u(()=>[h(a(e.$t("veo.button.action3")),1)]),_:1})):v("",!0)]),_:1},8,["content"]),t(w,{class:"box-item",effect:"dark",content:e.$t("veo.message.downloadVideo"),placement:"top-start"},{default:u(()=>[e.modelValue?.response?.data[0]?.video_url?(n(),y(i,{key:0,type:"info",size:"small",class:"btn-action",onClick:o[1]||(o[1]=C=>e.onDownload(C,e.modelValue?.response?.data[0]?.video_url))},{default:u(()=>[h(a(e.$t("veo.button.download")),1)]),_:1})):v("",!0)]),_:1},8,["content"])])):v("",!0),t(V,{closable:!1,class:"mt-2 success"},{default:u(()=>[l("p",It,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+a(e.$t("veo.name.model"))+": "+a(e.modelValue?.request?.model),1)]),l("p",Ct,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+a(e.$t("veo.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):v("",!0),e.modelValue?.response?.success===!1?(n(),r("div",At,[t(V,{closable:!1,class:"failure"},{template:u(()=>[t(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+a(e.$t("veo.name.failure")),1)]),default:u(()=>[l("p",Lt,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+a(e.$t("veo.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id},null,8,["content"])]),l("p",Gt,[t(f,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+a(e.$t("veo.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),t(p,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),r("p",Rt,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+a(e.$t("veo.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),t(p,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):v("",!0)]),_:1})])):v("",!0),e.modelValue?.response?.success===void 0?(n(),r("div",Ut,[t(V,{closable:!1,class:"info"},{template:u(()=>[t(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+a(e.$t("veo.name.failure")),1)]),default:u(()=>[l("p",Pt,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+a(e.$t("veo.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),r("p",jt,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+a(e.$t("veo.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),t(p,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):v("",!0)]),_:1})])):v("",!0)])])}const Ot=$(vt,[["render",Dt],["__scopeId","data-v-996aebe1"]]),Bt=g({name:"RecentPanel",components:{TaskPreview:Ot,NoTasks:le,BotPlaceholder:ce,ScrollList:se},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.veo?.tasks,items:this.$store.state.veo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Mt={key:0},Ft={key:2,class:"w-full h-full flex items-center justify-center"};function zt(e,o,m,_,b,k){const c=s("bot-placeholder"),d=s("task-preview"),i=s("scroll-list"),w=s("no-tasks");return n(),r(A,null,[e.tasks?.items===void 0?(n(),r("div",Mt,[t(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),y(i,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=f=>e.$emit("reach-top"))},{default:u(()=>[(n(!0),r(A,null,R(e.tasks?.items,(f,p)=>(n(),y(d,{key:p,"model-value":f},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(n(),r("div",Ft,[t(w)])):v("",!0)],64)}const Nt=$(Bt,[["render",zt]]),qt="https://webhook.acedata.cloud/veo",Ht=g({name:"VeoIndex",components:{ConfigPanel:ft,Layout:_e,RecentPanel:Nt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.veo?.status?.getApplications===j.Request},tasksLoading(){return this.$store.state.veo?.status?.getTasks===j.Request||this.fetchingTasks},credential(){return this.$store.state.veo.credential},config(){return this.$store.state.veo.config},tasks(){return this.$store.state.veo.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await de({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("veo/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("veo/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:m,createdAtMax:_}=e||{};console.debug("limit",o,"createdAtMin",m,"createdAtMax",_),this.fetchingTasks=!0;try{await this.$store.dispatch("veo/getTasks",{limit:o,createdAtMin:m,createdAtMax:_})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:qt},o=this.credential?.token;if(!o){console.error("no token specified");return}E.info(this.$t("veo.message.startingTask")),te.generate(e,{token:o}).then(()=>{E.success(this.$t("veo.message.startTaskSuccess"))}).catch(m=>{m?.response?.data?.error?.code===oe?E.error(this.$t("veo.message.usedUp")):E.error(this.$t("veo.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Jt(e,o,m,_,b,k){const c=s("config-panel"),d=s("recent-panel"),i=s("layout");return n(),y(i,null,{config:u(()=>[t(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[t(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const uo=$(Ht,[["render",Jt]]);export{uo as default};
@@ -1 +1 @@
1
- import{F as A}from"./index.es-DYiAEQNm.js";import{l as C,S as N,s as W,t as H,u as V,N as j,O,p as K,G as Z,j as J}from"./vendor-element-plus-B4FTqxj4.js";import{d as k,C as i,G as c,T as s,E as D,K as _,ai as n,D as a,R as o,Q as u,S as w,ag as I,J as E,O as v,M as R,X as Q}from"./vendor-vue-1w_NBnjl.js";import{_ as y,aj as X,cg as Y,ch as x,ci as ee,cj as se,ck as te,cl as oe,cm as U,cn as G,co as q,cp as B,cq as ae,aB as ne,ay as P}from"./index-C6Utnhvc.js";import{I as M,S as le}from"./ScrollList-fCD8Iwcv.js";import{I as F}from"./ImagePreview-wX56V1yq.js";import{C as re,N as ie}from"./NoTasks-C8VsSmmP.js";import{a as ce}from"./price-BDb_RClh.js";import{C as de}from"./CopyToClipboard-JG1RVz-t.js";import{I as me}from"./ImageWrapper-B-6pI_QO.js";import{B as ue}from"./BotPlaceholder-JZgZiU80.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-CjdMnDlQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const pe=k({name:"LayoutSeedream",components:{ElDrawer:N,ElButton:C,FontAwesomeIcon:A},data(){return{drawer:!1}}}),fe={class:"main flex flex-row flex-1"},he={class:"config w-[320px] h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},_e={class:"result h-full p-6 flex-1 flex flex-col bg-[var(--app-content-bg)]"};function ge(e,t,g,r,m,p){const f=n("font-awesome-icon"),h=n("el-button"),l=n("el-drawer");return a(),i("div",fe,[c("div",he,[D(e.$slots,"config",{},void 0,!0)]),c("div",_e,[D(e.$slots,"result",{},void 0,!0)]),s(h,{circle:"",class:"menu",onClick:t[0]||(t[0]=d=>e.drawer=!0)},{default:_(()=>[s(f,{icon:"fa-solid fa-magic"})]),_:1}),s(l,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=d=>e.drawer=d),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:_(()=>[D(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const $e=y(pe,[["render",ge],["__scopeId","data-v-5ff0c320"]]),ve="",be=k({name:"SeedreamPromptInput",components:{ElInput:W,InfoIcon:M},computed:{prompt:{get(){return this.$store.state.seedream?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("seedream/setConfig",{...this.$store.state.seedream?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ve)}}),ke={class:"field"},ye={class:"box"},we={class:"title font-bold"};function Ee(e,t,g,r,m,p){const f=n("info-icon"),h=n("el-input");return a(),i("div",ke,[c("div",ye,[c("h2",we,o(e.$t("seedream.name.prompt")),1),s(f,{content:e.$t("seedream.description.prompt"),class:"info"},null,8,["content"])]),s(h,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=l=>e.prompt=l),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("seedream.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Se=y(be,[["render",Ee],["__scopeId","data-v-5559520a"]]),Ve=k({name:"SeedreamImageInput",components:{ElUpload:H,ElButton:C,InfoIcon:M,ImagePreview:F,FontAwesomeIcon:A},data(){return{fileList:[],uploadUrl:X()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.seedream?.config?.image}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const r=(this.fileList||[]).filter(m=>!m?.response?.file_url);this.fileList=r.length?r:[];return}const t=[];e.forEach(r=>{const m=this.fileList.find(p=>p?.response?.file_url===r||p?.url===r);m?t.push(m):t.push({name:r.split("/").pop()||r,url:r,status:"success",percentage:100,response:{file_url:r}})}),(this.fileList||[]).filter(r=>!r?.response?.file_url).forEach(r=>{t.some(p=>p===r||p?.url===r?.url||p?.response?.file_url===r?.response?.file_url)||t.push(r)}),this.fileList=t}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImages()},onExceed(){V.warning(this.$t("seedream.message.uploadImageExceed"))},onError(){V.error(this.$t("seedream.message.uploadImageError"))},onSetImages(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("seedream/setConfig",{...this.$store.state.seedream?.config,image:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImages()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImages()}}}),Ie={class:"field"},Le={class:"label"},Re={class:"box"},Te={class:"title font-bold"},Ae={class:"value"},Ce={class:"file-list mt-2 flex flex-wrap gap-[10px]"};function Me(e,t,g,r,m,p){const f=n("info-icon"),h=n("font-awesome-icon"),l=n("el-button"),d=n("el-upload"),b=n("image-preview");return a(),i(w,null,[c("div",Ie,[c("div",Le,[c("div",Re,[c("h2",Te,o(e.$t("seedream.name.imageUrls")),1),s(f,{content:e.$t("seedream.description.imageUrls"),class:"info"},null,8,["content"])])]),c("div",Ae,[s(d,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=$=>e.fileList=$),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",limit:14,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:_(()=>[s(l,{size:"small",type:"primary",round:""},{default:_(()=>[s(h,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+o(e.$t("seedream.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"])])]),c("div",Ce,[(a(!0),i(w,null,I(e.fileList,($,S)=>(a(),E(b,{key:$.uid||$?.response?.file_url||$.url||S,url:$.url||$?.response?.file_url,name:$.name,percentage:$.percentage,onRemove:z=>e.onRemovePreview(S,$)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const De=y(Ve,[["render",Me],["__scopeId","data-v-29737ed9"]]),ze=k({name:"SeedreamModelSelector",components:{ElSelect:O,ElOption:j,InfoIcon:M},data(){return{options:[{value:x,label:this.$t("seedream.model.seedream45")},{value:ee,label:this.$t("seedream.model.seedream40")},{value:se,label:this.$t("seedream.model.seedream30t2i")},{value:te,label:this.$t("seedream.model.seededit30i2i")}]}},computed:{value:{get(){return this.$store.state.seedream?.config?.model},set(e){this.$store.commit("seedream/setConfig",{...this.$store.state.seedream?.config,model:e})}}},mounted(){this.value||(this.value=Y)}}),Ue={class:"field"},Ge={class:"label"},qe={class:"box"},Pe={class:"title font-bold"};function je(e,t,g,r,m,p){const f=n("info-icon"),h=n("el-option"),l=n("el-select");return a(),i("div",Ue,[c("div",Ge,[c("div",qe,[c("h2",Pe,o(e.$t("seedream.name.model")),1),s(f,{content:e.$t("seedream.description.model"),class:"info"},null,8,["content"])])]),s(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",placeholder:e.$t("seedream.placeholder.select")},{default:_(()=>[(a(!0),i(w,null,I(e.options,d=>(a(),E(h,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Oe=y(ze,[["render",je],["__scopeId","data-v-3c3ca27d"]]),Be=k({name:"SeedreamSizeSelector",components:{ElSelect:O,ElOption:j,InfoIcon:M},data(){return{options:[{value:U,label:U},{value:G,label:G},{value:q,label:q}]}},computed:{value:{get(){return this.$store.state.seedream?.config?.size},set(e){this.$store.commit("seedream/setConfig",{...this.$store.state.seedream?.config,size:e})}}},mounted(){this.value||(this.value=oe)}}),Fe={class:"field"},Ne={class:"label"},We={class:"box"},He={class:"title font-bold"};function Ke(e,t,g,r,m,p){const f=n("info-icon"),h=n("el-option"),l=n("el-select");return a(),i("div",Fe,[c("div",Ne,[c("div",We,[c("h2",He,o(e.$t("seedream.name.size")),1),s(f,{content:e.$t("seedream.description.size"),class:"info"},null,8,["content"])])]),s(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",placeholder:e.$t("seedream.placeholder.select"),filterable:"","allow-create":"","default-first-option":""},{default:_(()=>[(a(!0),i(w,null,I(e.options,d=>(a(),E(h,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ze=y(Be,[["render",Ke],["__scopeId","data-v-54a9a469"]]),Je=k({name:"SeedreamConfigPanel",components:{ElButton:C,FontAwesomeIcon:A,PromptInput:Se,Consumption:re,ImageInput:De,ModelSelector:Oe,SizeSelector:Ze},emits:["generate"],computed:{config(){return this.$store.state.seedream?.config},consumption(){const e={...this.config||{}},t=Array.isArray(e?.image)&&e.image.length>0;return ce({...e,action:t?"edit":"generate",model:B(e?.model),count:1},this.service?.cost)},service(){return this.$store.state.seedream?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Qe={class:"flex flex-col h-full"},Xe={class:"flex-1 overflow-y-auto p-5"},Ye={class:"flex flex-col items-center justify-center px-5 pb-5"};function xe(e,t,g,r,m,p){const f=n("model-selector"),h=n("size-selector"),l=n("prompt-input"),d=n("image-input"),b=n("consumption"),$=n("font-awesome-icon"),S=n("el-button");return a(),i("div",Qe,[c("div",Xe,[s(f,{class:"mb-4"}),s(h,{class:"mb-4"}),s(l,{class:"mb-4"}),s(d,{class:"mb-4"})]),c("div",Ye,[s(b,{value:e.consumption,service:e.service},null,8,["value","service"]),s(S,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:_(()=>[s($,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+o(e.$t("seedream.button.generate")),1)]),_:1},8,["onClick"])])])}const es=y(Je,[["render",xe]]),ss=k({name:"SeedreamTaskPreview",components:{ElImage:J,CopyToClipboard:de,FontAwesomeIcon:A,ElAlert:Z,ImageWrapper:me,ElButton:C,ElTooltip:K,ImagePreview:F},props:{modelValue:{type:Object,required:!0}},computed:{isEdit(){return Array.isArray(this.modelValue?.request?.image)&&(this.modelValue?.request?.image?.length||0)>0},images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{shortModel(e){return B(e)||e},onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.seedream?.config||{}};t.image=[e],this.$store.commit("seedream/setConfig",t)}}}),ts={class:"preview"},os={class:"left"},as={class:"main"},ns={class:"bot"},ls={class:"datetime"},rs={class:"info"},is={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},cs={key:1,class:"prompt mt-2"},ds={key:0},ms={key:0,class:R({content:!0})},us={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ps={key:1,class:R({content:!0,failed:!0})},fs={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},hs={class:R({operations:!0,"mt-2":!0,"mb-2":!0})},_s={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gs={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$s={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vs={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bs={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ks={key:2,class:R({content:!0})},ys={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ws={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Es={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ss={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vs={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Is={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ls={key:3,class:R({content:!0})},Rs={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ts={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function As(e,t,g,r,m,p){const f=n("el-image"),h=n("image-preview"),l=n("font-awesome-icon"),d=n("copy-to-clipboard"),b=n("el-alert"),$=n("image-wrapper"),S=n("el-button"),z=n("el-tooltip");return a(),i("div",ts,[c("div",os,[s(f,{src:"https://cdn.acedata.cloud/9egrbn.png",class:"avatar"})]),c("div",as,[c("div",ns,[u(o(e.$t("seedream.name.seedreamBot"))+" ",1),c("span",ls,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",rs,[Array.isArray(e.modelValue?.request?.image)&&e.modelValue?.request?.image.length>0?(a(),i("div",is,[(a(!0),i(w,null,I(e.modelValue?.request?.image,(L,T)=>(a(),E(h,{key:T,url:L,name:`image-${T+1}`,closable:!1},null,8,["url","name"]))),128))])):v("",!0),e.modelValue?.request?.prompt?(a(),i("p",cs,[u(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?v("",!0):(a(),i("span",ds," - ("+o(e.$t("seedream.status.pending"))+") ",1))])):v("",!0)]),e.modelValue?.response?e.modelValue?.response?.success===!0?(a(),i("div",ps,[c("div",fs,[(a(!0),i(w,null,I(e.images,(L,T)=>(a(),E($,{key:T,src:L?.image_url,"raw-src":L?.image_url},null,8,["src","raw-src"]))),128))]),c("div",hs,[s(z,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:_(()=>[s(S,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=Q(L=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:_(()=>[u(o(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),s(b,{closable:!1,class:"mt-2 success"},{default:_(()=>[e.modelValue?.request?.model?(a(),i("p",_s,[s(l,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("seedream.name.model"))+": "+o(e.shortModel(e.modelValue?.request?.model)),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",gs,[s(l,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("seedream.name.size"))+": "+o(e.modelValue?.request?.size),1)])):v("",!0),c("p",$s,[s(l,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("seedream.name.task"))+": "+o(e.isEdit?e.$t("seedream.name.edits"):e.$t("seedream.name.generate")),1)]),c("p",vs,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("seedream.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(d,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),i("p",bs,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("seedream.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),s(d,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(a(),i("div",ks,[s(b,{closable:!1,class:"failure"},{template:_(()=>[s(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("seedream.name.failure")),1)]),default:_(()=>[e.modelValue?.request?.model?(a(),i("p",ys,[s(l,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("seedream.name.model"))+": "+o(e.shortModel(e.modelValue?.request?.model)),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",ws,[s(l,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("seedream.name.size"))+": "+o(e.modelValue?.request?.size),1)])):v("",!0),c("p",Es,[s(l,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("seedream.name.task"))+": "+o(e.isEdit?e.$t("seedream.name.edits"):e.$t("seedream.name.generate")),1)]),c("p",Ss,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("seedream.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(d,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.error?.message?(a(),i("p",Vs,[s(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+o(e.$t("seedream.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),s(d,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])])):v("",!0),e.modelValue?.response?.trace_id?(a(),i("p",Is,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("seedream.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),s(d,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):v("",!0)]),_:1})])):(a(),i("div",Ls,[s(b,{closable:!1,class:"info"},{template:_(()=>[s(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+o(e.$t("seedream.name.status")),1)]),default:_(()=>[c("p",Rs,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("seedream.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(d,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),i("p",Ts,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("seedream.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),s(d,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):v("",!0)]),_:1})])):(a(),i("div",ms,[s(b,{closable:!1,class:"info"},{template:_(()=>[s(l,{icon:"fa-regular fa-clock",class:"mr-1"}),u(" "+o(e.$t("seedream.status.pending")),1)]),default:_(()=>[c("p",us,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("seedream.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(d,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})]))])])}const Cs=y(ss,[["render",As],["__scopeId","data-v-13f2aaef"]]),Ms=k({name:"SeedreamRecentPanel",components:{TaskPreview:Cs,BotPlaceholder:ue,NoTasks:ie,ScrollList:le},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],computed:{tasks(){return{...this.$store.state.seedream?.tasks,items:this.$store.state.seedream?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ds={key:0},zs={key:2,class:"w-full h-full flex items-center justify-center"};function Us(e,t,g,r,m,p){const f=n("bot-placeholder"),h=n("task-preview"),l=n("scroll-list"),d=n("no-tasks");return a(),i(w,null,[e.tasks?.items===void 0?(a(),i("div",Ds,[s(f)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),E(l,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=b=>e.$emit("reach-top"))},{default:_(()=>[(a(!0),i(w,null,I(e.tasks?.items,b=>(a(),E(h,{key:b.id,"model-value":b},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(a(),i("div",zs,[s(d)])):v("",!0)],64)}const Gs=y(Ms,[["render",Us]]),qs="https://webhook.acedata.cloud/seedream",Ps=k({name:"SeedreamIndex",components:{ConfigPanel:es,Layout:$e,RecentPanel:Gs},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.seedream?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.seedream?.status?.getTasks===P.Request},credential(){return this.$store.state.seedream?.credential},config(){return this.$store.state.seedream?.config},application(){return this.$store.state.seedream?.application},tasks(){return this.$store.state.seedream?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const g=this.tasks?.items?.[0];if(!g?.created_at)return;const m=this.$refs.recentPanel?.getScrollElement?.(),p=m?.scrollHeight||0,f=m?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:g.created_at}),await this.$nextTick(),m){const h=m.scrollHeight;m.scrollTop=h-p+f}}finally{this.loading=!1}},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("seedream/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("seedream/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:g,createdAtMax:r}=e||{};console.debug("limit",t,"createdAtMin",g,"createdAtMax",r),await this.$store.dispatch("seedream/getTasks",{limit:t,createdAtMin:g,createdAtMax:r})},async onGenerate(){const e={...this.config||{}};!(Array.isArray(e?.image)&&e.image.length>0)&&"image"in e&&delete e.image,e?.size||delete e.size;const g={...e,callback_url:qs},r=this.credential?.token;if(!r){console.error("no token specified");return}V.info(this.$t("seedream.message.startingTask")),ae.generate(g,{token:r}).then(()=>{V.success(this.$t("seedream.message.startTaskSuccess"))}).catch(m=>{const p=m?.response?.data;p?.error?.code===ne?V.error(this.$t("seedream.message.usedUp")):V.error(this.$t("seedream.message.startTaskFailed")+(p?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function js(e,t,g,r,m,p){const f=n("config-panel"),h=n("recent-panel"),l=n("layout");return a(),E(l,null,{config:_(()=>[s(f,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:_(()=>[s(h,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const tt=y(Ps,[["render",js]]);export{tt as default};
1
+ import{F as A}from"./index.es-Df0rYKs1.js";import{l as C,S as N,s as W,t as H,u as V,N as j,O,p as K,G as Z,j as J}from"./vendor-element-plus-B4FTqxj4.js";import{d as k,C as i,G as c,T as s,E as D,K as _,ai as n,D as a,R as o,Q as u,S as w,ag as I,J as E,O as v,M as R,X as Q}from"./vendor-vue-1w_NBnjl.js";import{_ as y,aj as X,cg as Y,ch as x,ci as ee,cj as se,ck as te,cl as oe,cm as U,cn as G,co as q,cp as B,cq as ae,aB as ne,ay as P}from"./index-uXQ32ATB.js";import{I as M,S as le}from"./ScrollList-D1QN29i5.js";import{I as F}from"./ImagePreview-CcIUEkSJ.js";import{C as re,N as ie}from"./NoTasks-CsBs9OjI.js";import{a as ce}from"./price-irKGH1xy.js";import{C as de}from"./CopyToClipboard-DWCFniu2.js";import{I as me}from"./ImageWrapper-RLXYfGhP.js";import{B as ue}from"./BotPlaceholder-BBXjY2LW.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-2Fpu-X2r.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const pe=k({name:"LayoutSeedream",components:{ElDrawer:N,ElButton:C,FontAwesomeIcon:A},data(){return{drawer:!1}}}),fe={class:"main flex flex-row flex-1"},he={class:"config w-[320px] h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},_e={class:"result h-full p-6 flex-1 flex flex-col bg-[var(--app-content-bg)]"};function ge(e,t,g,r,m,p){const f=n("font-awesome-icon"),h=n("el-button"),l=n("el-drawer");return a(),i("div",fe,[c("div",he,[D(e.$slots,"config",{},void 0,!0)]),c("div",_e,[D(e.$slots,"result",{},void 0,!0)]),s(h,{circle:"",class:"menu",onClick:t[0]||(t[0]=d=>e.drawer=!0)},{default:_(()=>[s(f,{icon:"fa-solid fa-magic"})]),_:1}),s(l,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=d=>e.drawer=d),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:_(()=>[D(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const $e=y(pe,[["render",ge],["__scopeId","data-v-5ff0c320"]]),ve="",be=k({name:"SeedreamPromptInput",components:{ElInput:W,InfoIcon:M},computed:{prompt:{get(){return this.$store.state.seedream?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("seedream/setConfig",{...this.$store.state.seedream?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ve)}}),ke={class:"field"},ye={class:"box"},we={class:"title font-bold"};function Ee(e,t,g,r,m,p){const f=n("info-icon"),h=n("el-input");return a(),i("div",ke,[c("div",ye,[c("h2",we,o(e.$t("seedream.name.prompt")),1),s(f,{content:e.$t("seedream.description.prompt"),class:"info"},null,8,["content"])]),s(h,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=l=>e.prompt=l),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("seedream.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Se=y(be,[["render",Ee],["__scopeId","data-v-5559520a"]]),Ve=k({name:"SeedreamImageInput",components:{ElUpload:H,ElButton:C,InfoIcon:M,ImagePreview:F,FontAwesomeIcon:A},data(){return{fileList:[],uploadUrl:X()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.seedream?.config?.image}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const r=(this.fileList||[]).filter(m=>!m?.response?.file_url);this.fileList=r.length?r:[];return}const t=[];e.forEach(r=>{const m=this.fileList.find(p=>p?.response?.file_url===r||p?.url===r);m?t.push(m):t.push({name:r.split("/").pop()||r,url:r,status:"success",percentage:100,response:{file_url:r}})}),(this.fileList||[]).filter(r=>!r?.response?.file_url).forEach(r=>{t.some(p=>p===r||p?.url===r?.url||p?.response?.file_url===r?.response?.file_url)||t.push(r)}),this.fileList=t}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImages()},onExceed(){V.warning(this.$t("seedream.message.uploadImageExceed"))},onError(){V.error(this.$t("seedream.message.uploadImageError"))},onSetImages(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("seedream/setConfig",{...this.$store.state.seedream?.config,image:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImages()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImages()}}}),Ie={class:"field"},Le={class:"label"},Re={class:"box"},Te={class:"title font-bold"},Ae={class:"value"},Ce={class:"file-list mt-2 flex flex-wrap gap-[10px]"};function Me(e,t,g,r,m,p){const f=n("info-icon"),h=n("font-awesome-icon"),l=n("el-button"),d=n("el-upload"),b=n("image-preview");return a(),i(w,null,[c("div",Ie,[c("div",Le,[c("div",Re,[c("h2",Te,o(e.$t("seedream.name.imageUrls")),1),s(f,{content:e.$t("seedream.description.imageUrls"),class:"info"},null,8,["content"])])]),c("div",Ae,[s(d,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=$=>e.fileList=$),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",limit:14,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:_(()=>[s(l,{size:"small",type:"primary",round:""},{default:_(()=>[s(h,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+o(e.$t("seedream.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"])])]),c("div",Ce,[(a(!0),i(w,null,I(e.fileList,($,S)=>(a(),E(b,{key:$.uid||$?.response?.file_url||$.url||S,url:$.url||$?.response?.file_url,name:$.name,percentage:$.percentage,onRemove:z=>e.onRemovePreview(S,$)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const De=y(Ve,[["render",Me],["__scopeId","data-v-29737ed9"]]),ze=k({name:"SeedreamModelSelector",components:{ElSelect:O,ElOption:j,InfoIcon:M},data(){return{options:[{value:x,label:this.$t("seedream.model.seedream45")},{value:ee,label:this.$t("seedream.model.seedream40")},{value:se,label:this.$t("seedream.model.seedream30t2i")},{value:te,label:this.$t("seedream.model.seededit30i2i")}]}},computed:{value:{get(){return this.$store.state.seedream?.config?.model},set(e){this.$store.commit("seedream/setConfig",{...this.$store.state.seedream?.config,model:e})}}},mounted(){this.value||(this.value=Y)}}),Ue={class:"field"},Ge={class:"label"},qe={class:"box"},Pe={class:"title font-bold"};function je(e,t,g,r,m,p){const f=n("info-icon"),h=n("el-option"),l=n("el-select");return a(),i("div",Ue,[c("div",Ge,[c("div",qe,[c("h2",Pe,o(e.$t("seedream.name.model")),1),s(f,{content:e.$t("seedream.description.model"),class:"info"},null,8,["content"])])]),s(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",placeholder:e.$t("seedream.placeholder.select")},{default:_(()=>[(a(!0),i(w,null,I(e.options,d=>(a(),E(h,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Oe=y(ze,[["render",je],["__scopeId","data-v-3c3ca27d"]]),Be=k({name:"SeedreamSizeSelector",components:{ElSelect:O,ElOption:j,InfoIcon:M},data(){return{options:[{value:U,label:U},{value:G,label:G},{value:q,label:q}]}},computed:{value:{get(){return this.$store.state.seedream?.config?.size},set(e){this.$store.commit("seedream/setConfig",{...this.$store.state.seedream?.config,size:e})}}},mounted(){this.value||(this.value=oe)}}),Fe={class:"field"},Ne={class:"label"},We={class:"box"},He={class:"title font-bold"};function Ke(e,t,g,r,m,p){const f=n("info-icon"),h=n("el-option"),l=n("el-select");return a(),i("div",Fe,[c("div",Ne,[c("div",We,[c("h2",He,o(e.$t("seedream.name.size")),1),s(f,{content:e.$t("seedream.description.size"),class:"info"},null,8,["content"])])]),s(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",placeholder:e.$t("seedream.placeholder.select"),filterable:"","allow-create":"","default-first-option":""},{default:_(()=>[(a(!0),i(w,null,I(e.options,d=>(a(),E(h,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ze=y(Be,[["render",Ke],["__scopeId","data-v-54a9a469"]]),Je=k({name:"SeedreamConfigPanel",components:{ElButton:C,FontAwesomeIcon:A,PromptInput:Se,Consumption:re,ImageInput:De,ModelSelector:Oe,SizeSelector:Ze},emits:["generate"],computed:{config(){return this.$store.state.seedream?.config},consumption(){const e={...this.config||{}},t=Array.isArray(e?.image)&&e.image.length>0;return ce({...e,action:t?"edit":"generate",model:B(e?.model),count:1},this.service?.cost)},service(){return this.$store.state.seedream?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Qe={class:"flex flex-col h-full"},Xe={class:"flex-1 overflow-y-auto p-5"},Ye={class:"flex flex-col items-center justify-center px-5 pb-5"};function xe(e,t,g,r,m,p){const f=n("model-selector"),h=n("size-selector"),l=n("prompt-input"),d=n("image-input"),b=n("consumption"),$=n("font-awesome-icon"),S=n("el-button");return a(),i("div",Qe,[c("div",Xe,[s(f,{class:"mb-4"}),s(h,{class:"mb-4"}),s(l,{class:"mb-4"}),s(d,{class:"mb-4"})]),c("div",Ye,[s(b,{value:e.consumption,service:e.service},null,8,["value","service"]),s(S,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:_(()=>[s($,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+o(e.$t("seedream.button.generate")),1)]),_:1},8,["onClick"])])])}const es=y(Je,[["render",xe]]),ss=k({name:"SeedreamTaskPreview",components:{ElImage:J,CopyToClipboard:de,FontAwesomeIcon:A,ElAlert:Z,ImageWrapper:me,ElButton:C,ElTooltip:K,ImagePreview:F},props:{modelValue:{type:Object,required:!0}},computed:{isEdit(){return Array.isArray(this.modelValue?.request?.image)&&(this.modelValue?.request?.image?.length||0)>0},images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{shortModel(e){return B(e)||e},onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.seedream?.config||{}};t.image=[e],this.$store.commit("seedream/setConfig",t)}}}),ts={class:"preview"},os={class:"left"},as={class:"main"},ns={class:"bot"},ls={class:"datetime"},rs={class:"info"},is={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},cs={key:1,class:"prompt mt-2"},ds={key:0},ms={key:0,class:R({content:!0})},us={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ps={key:1,class:R({content:!0,failed:!0})},fs={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},hs={class:R({operations:!0,"mt-2":!0,"mb-2":!0})},_s={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gs={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$s={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vs={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bs={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ks={key:2,class:R({content:!0})},ys={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ws={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Es={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ss={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vs={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Is={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ls={key:3,class:R({content:!0})},Rs={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ts={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function As(e,t,g,r,m,p){const f=n("el-image"),h=n("image-preview"),l=n("font-awesome-icon"),d=n("copy-to-clipboard"),b=n("el-alert"),$=n("image-wrapper"),S=n("el-button"),z=n("el-tooltip");return a(),i("div",ts,[c("div",os,[s(f,{src:"https://cdn.acedata.cloud/9egrbn.png",class:"avatar"})]),c("div",as,[c("div",ns,[u(o(e.$t("seedream.name.seedreamBot"))+" ",1),c("span",ls,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",rs,[Array.isArray(e.modelValue?.request?.image)&&e.modelValue?.request?.image.length>0?(a(),i("div",is,[(a(!0),i(w,null,I(e.modelValue?.request?.image,(L,T)=>(a(),E(h,{key:T,url:L,name:`image-${T+1}`,closable:!1},null,8,["url","name"]))),128))])):v("",!0),e.modelValue?.request?.prompt?(a(),i("p",cs,[u(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?v("",!0):(a(),i("span",ds," - ("+o(e.$t("seedream.status.pending"))+") ",1))])):v("",!0)]),e.modelValue?.response?e.modelValue?.response?.success===!0?(a(),i("div",ps,[c("div",fs,[(a(!0),i(w,null,I(e.images,(L,T)=>(a(),E($,{key:T,src:L?.image_url,"raw-src":L?.image_url},null,8,["src","raw-src"]))),128))]),c("div",hs,[s(z,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:_(()=>[s(S,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=Q(L=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:_(()=>[u(o(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),s(b,{closable:!1,class:"mt-2 success"},{default:_(()=>[e.modelValue?.request?.model?(a(),i("p",_s,[s(l,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("seedream.name.model"))+": "+o(e.shortModel(e.modelValue?.request?.model)),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",gs,[s(l,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("seedream.name.size"))+": "+o(e.modelValue?.request?.size),1)])):v("",!0),c("p",$s,[s(l,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("seedream.name.task"))+": "+o(e.isEdit?e.$t("seedream.name.edits"):e.$t("seedream.name.generate")),1)]),c("p",vs,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("seedream.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(d,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),i("p",bs,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("seedream.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),s(d,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(a(),i("div",ks,[s(b,{closable:!1,class:"failure"},{template:_(()=>[s(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("seedream.name.failure")),1)]),default:_(()=>[e.modelValue?.request?.model?(a(),i("p",ys,[s(l,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("seedream.name.model"))+": "+o(e.shortModel(e.modelValue?.request?.model)),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",ws,[s(l,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("seedream.name.size"))+": "+o(e.modelValue?.request?.size),1)])):v("",!0),c("p",Es,[s(l,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("seedream.name.task"))+": "+o(e.isEdit?e.$t("seedream.name.edits"):e.$t("seedream.name.generate")),1)]),c("p",Ss,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("seedream.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(d,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.error?.message?(a(),i("p",Vs,[s(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+o(e.$t("seedream.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),s(d,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])])):v("",!0),e.modelValue?.response?.trace_id?(a(),i("p",Is,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("seedream.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),s(d,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):v("",!0)]),_:1})])):(a(),i("div",Ls,[s(b,{closable:!1,class:"info"},{template:_(()=>[s(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+o(e.$t("seedream.name.status")),1)]),default:_(()=>[c("p",Rs,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("seedream.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(d,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),i("p",Ts,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("seedream.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),s(d,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):v("",!0)]),_:1})])):(a(),i("div",ms,[s(b,{closable:!1,class:"info"},{template:_(()=>[s(l,{icon:"fa-regular fa-clock",class:"mr-1"}),u(" "+o(e.$t("seedream.status.pending")),1)]),default:_(()=>[c("p",us,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("seedream.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(d,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})]))])])}const Cs=y(ss,[["render",As],["__scopeId","data-v-13f2aaef"]]),Ms=k({name:"SeedreamRecentPanel",components:{TaskPreview:Cs,BotPlaceholder:ue,NoTasks:ie,ScrollList:le},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],computed:{tasks(){return{...this.$store.state.seedream?.tasks,items:this.$store.state.seedream?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ds={key:0},zs={key:2,class:"w-full h-full flex items-center justify-center"};function Us(e,t,g,r,m,p){const f=n("bot-placeholder"),h=n("task-preview"),l=n("scroll-list"),d=n("no-tasks");return a(),i(w,null,[e.tasks?.items===void 0?(a(),i("div",Ds,[s(f)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),E(l,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=b=>e.$emit("reach-top"))},{default:_(()=>[(a(!0),i(w,null,I(e.tasks?.items,b=>(a(),E(h,{key:b.id,"model-value":b},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(a(),i("div",zs,[s(d)])):v("",!0)],64)}const Gs=y(Ms,[["render",Us]]),qs="https://webhook.acedata.cloud/seedream",Ps=k({name:"SeedreamIndex",components:{ConfigPanel:es,Layout:$e,RecentPanel:Gs},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.seedream?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.seedream?.status?.getTasks===P.Request},credential(){return this.$store.state.seedream?.credential},config(){return this.$store.state.seedream?.config},application(){return this.$store.state.seedream?.application},tasks(){return this.$store.state.seedream?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const g=this.tasks?.items?.[0];if(!g?.created_at)return;const m=this.$refs.recentPanel?.getScrollElement?.(),p=m?.scrollHeight||0,f=m?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:g.created_at}),await this.$nextTick(),m){const h=m.scrollHeight;m.scrollTop=h-p+f}}finally{this.loading=!1}},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("seedream/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("seedream/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:g,createdAtMax:r}=e||{};console.debug("limit",t,"createdAtMin",g,"createdAtMax",r),await this.$store.dispatch("seedream/getTasks",{limit:t,createdAtMin:g,createdAtMax:r})},async onGenerate(){const e={...this.config||{}};!(Array.isArray(e?.image)&&e.image.length>0)&&"image"in e&&delete e.image,e?.size||delete e.size;const g={...e,callback_url:qs},r=this.credential?.token;if(!r){console.error("no token specified");return}V.info(this.$t("seedream.message.startingTask")),ae.generate(g,{token:r}).then(()=>{V.success(this.$t("seedream.message.startTaskSuccess"))}).catch(m=>{const p=m?.response?.data;p?.error?.code===ne?V.error(this.$t("seedream.message.usedUp")):V.error(this.$t("seedream.message.startTaskFailed")+(p?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function js(e,t,g,r,m,p){const f=n("config-panel"),h=n("recent-panel"),l=n("layout");return a(),E(l,null,{config:_(()=>[s(f,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:_(()=>[s(h,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const tt=y(Ps,[["render",js]]);export{tt as default};
@@ -1 +1 @@
1
- import{F as C}from"./index.es-DYiAEQNm.js";import{l as A,S as L,t as U,u as w,F as D,D as j,j as P,W as z,X as B,G as M,Y as O,K as q}from"./vendor-element-plus-B4FTqxj4.js";import{d as v,C as l,G as r,T as s,E as R,K as d,ai as o,D as a,R as i,Q as _,S as T,ag as I,J as S,M as V,c as F,O as $}from"./vendor-vue-1w_NBnjl.js";import{_ as b,aj as N,c3 as H,aB as K,ar as J,ax as Q,ay as E}from"./index-C6Utnhvc.js";import{I as W,S as X}from"./ScrollList-fCD8Iwcv.js";import{I as Y}from"./ImagePreview-wX56V1yq.js";import{A as Z}from"./Status-CKDX0R9X.js";import{C as x}from"./CopyToClipboard-JG1RVz-t.js";import{l as ee}from"./pagination-CihAE3FS.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-CjdMnDlQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const se=v({name:"LayoutHeadshots",components:{ElDrawer:L,ElButton:A,FontAwesomeIcon:C},data(){return{drawer:!1}}}),te={class:"main flex flex-row flex-1"},ae={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},oe={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ne(e,t,m,h,k,y){const p=o("font-awesome-icon"),u=o("el-button"),n=o("el-drawer");return a(),l("div",te,[r("div",ae,[R(e.$slots,"config",{},void 0,!0)]),r("div",oe,[R(e.$slots,"result",{},void 0,!0)]),s(u,{circle:"",class:"menu",onClick:t[0]||(t[0]=c=>e.drawer=!0)},{default:d(()=>[s(p,{icon:"fa-solid fa-gear"})]),_:1}),s(n,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=c=>e.drawer=c),"with-header":!1,size:"340px",class:"drawer"},{default:d(()=>[R(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ie=b(se,[["render",ne],["__scopeId","data-v-202b355b"]]),le=v({name:"ImageUrlsInput",components:{ElUpload:U,ElButton:A,InfoIcon:W,ImagePreview:Y,FontAwesomeIcon:C},data(){return{fileList:[],uploadUrl:N()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.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()}}}),re={class:"field"},ce={class:"title font-bold"},de={class:"upload-wrapper"};function pe(e,t,m,h,k,y){const p=o("image-preview"),u=o("font-awesome-icon"),n=o("el-button"),c=o("el-upload"),g=o("info-icon");return a(),l("div",re,[r("h2",ce,i(e.$t("headshots.name.endImageUrls")),1),r("div",de,[s(c,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=f=>e.fileList=f),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:d(({file:f})=>[s(p,{url:f.url||f.response?.file_url,name:f.name,percentage:f.percentage,onRemove:G=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])]),default:d(()=>[s(n,{size:"small",type:"primary",round:""},{default:d(()=>[s(u,{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"])]),s(g,{content:e.$t("headshots.description.endImageUrls"),class:"info"},null,8,["content"])])}const me=b(le,[["render",pe],["__scopeId","data-v-1690629a"]]),he="fast",ue=v({name:"ModeSelector",components:{ElRadioButton:j,ElRadioGroup:D},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=he)}}),ge={class:"field"},fe={class:"title font-bold"};function _e(e,t,m,h,k,y){const p=o("el-radio-button"),u=o("el-radio-group");return a(),l("div",ge,[r("h2",fe,i(e.$t("headshots.name.mode")),1),s(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),size:"small",class:"mode"},{default:d(()=>[(a(!0),l(T,null,I(e.options,n=>(a(),S(p,{key:n.value,label:n.value},{default:d(()=>[_(i(n.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const $e=b(ue,[["render",_e],["__scopeId","data-v-a2a0d5fa"]]),ve=v({name:"StylizeSelector",components:{ElTabs:B,ElTabPane:z,ElImage:P},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})}}}),be={class:"field"},ke=["onClick"],ye={class:"name"};function we(e,t,m,h,k,y){const p=o("el-image"),u=o("el-tab-pane"),n=o("el-tabs");return a(),l("div",be,[s(n,{modelValue:e.tab,"onUpdate:modelValue":t[0]||(t[0]=c=>e.tab=c)},{default:d(()=>[(a(!0),l(T,null,I(e.elements,(c,g)=>(a(),S(u,{key:g,label:c.displayName,name:g,class:"pane"},{default:d(()=>[(a(!0),l(T,null,I(c.items,(f,G)=>(a(),l("div",{key:G,class:V({item:!0,active:e.value===f.value}),onClick:_s=>e.onToggle(f.value)},[s(p,{src:f.image,fit:"fill",class:"preview"},null,8,["src"]),r("span",ye,i(f.label),1)],10,ke))),128))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])])}const Te=b(ve,[["render",we],["__scopeId","data-v-be4bd25d"]]),Ie=v({name:"PresetPanel",components:{ModeSelector:$e,ImageUrlsInput:me,ElButton:A,FontAwesomeIcon:C,ElementsSelector:Te},emits:["generate"],computed:{config(){return this.$store.state.headshots?.config}},methods:{onGenerate(){this.$emit("generate")}}}),Se={class:"panel"},Ve={class:"config"},Ee={class:"actions"};function Ce(e,t,m,h,k,y){const p=o("elements-selector"),u=o("mode-selector"),n=o("image-urls-input"),c=o("font-awesome-icon"),g=o("el-button");return a(),l("div",Se,[r("div",Ve,[s(p,{class:"mb-4"}),s(u,{class:"mb-4"}),s(n,{class:"mb-4"}),r("div",Ee,[s(g,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[s(c,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+i(e.$t("headshots.button.generate")),1)]),_:1},8,["onClick"])])])])}const Re=b(Ie,[["render",Ce],["__scopeId","data-v-848739f6"]]),Ae=v({name:"ImageGallery",props:{modelValue:{type:Object,required:!0}},setup(e){return{images:F(()=>e.modelValue?.response?.data?.slice(0,2)||[]),viewImage:h=>{window.open(h,"_blank")}}}}),Ge={class:"image-gallery"},Pe=["src"],Le=["onClick"];function Ue(e,t,m,h,k,y){return a(),l("div",Ge,[(a(!0),l(T,null,I(e.images,(p,u)=>(a(),l("div",{key:u,class:"image-container"},[r("img",{src:p.image_url,alt:"Image"},null,8,Pe),p.image_url?(a(),l("button",{key:0,class:"view-button",onClick:n=>e.viewImage(p.image_url)},i(e.$t("headshots.button.viewImage")),9,Le)):$("",!0)]))),128))])}const De=b(Ae,[["render",Ue],["__scopeId","data-v-42f0a7be"]]),je=v({name:"TaskPreview",components:{ElImage:P,CopyToClipboard:x,FontAwesomeIcon:C,ElAlert:M,ImageGallery:De},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,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onReload(e){const t=e.target,m=new URL(t.src),h=m.searchParams.get("retry");if(!h)m.searchParams.set("retry","1");else if(parseInt(h)<2)m.searchParams.set("retry",(parseInt(h)+1).toString());else return;t.src=m.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),ze={class:"preview"},Be={class:"left"},Me={class:"main"},Oe={class:"bot"},qe={class:"datetime"},Fe={class:"info"},Ne={key:0,class:"prompt mt-2"},He={key:0},Ke={key:1},Je={key:0,class:V({content:!0,failed:!0})},Qe={class:"image-wrapper"},We={class:"description"},Xe={key:1,class:V({content:!0})},Ye={class:"description"},Ze={class:"description"},xe={class:"description"},es={key:2,class:V({content:!0})},ss={class:"description"},ts={key:3,class:V({content:!0})},as={class:"description"};function os(e,t,m,h,k,y){const p=o("el-image"),u=o("image-gallery"),n=o("font-awesome-icon"),c=o("copy-to-clipboard"),g=o("el-alert");return a(),l("div",ze,[r("div",Be,[s(p,{src:"https://cdn.acedata.cloud/isxyfw.png",class:"avatar"})]),r("div",Me,[r("div",Oe,[_(i(e.$t("headshots.name.headshotsBot"))+" ",1),r("span",qe,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",Fe,[e.modelValue?.request?.template?(a(),l("p",Ne,[_(i(e.modelValue?.request?.template)+" ",1),e.modelValue?.response?$("",!0):(a(),l("span",He," - ("+i(e.$t("headshots.status.pending"))+") ",1)),e.modelValue?.response?.status==="unknown"?(a(),l("span",Ke," - ("+i(e.$t("headshots.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0?(a(),l("div",Je,[r("div",Qe,[s(u,{"model-value":e.modelValue},null,8,["model-value"])]),s(g,{closable:!1,class:"mt-2 success"},{default:d(()=>[r("p",We,[s(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(a(),l("div",Xe,[s(g,{closable:!1,class:"failure"},{template:d(()=>[s(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:d(()=>[r("p",Ye,[s(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),r("p",Ze,[s(n,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),s(c,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),r("p",xe,[s(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+i(e.$t("headshots.name.traceId"))+": "+i(e.modelValue?.response?.trace_id)+" ",1),s(c,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?$("",!0):(a(),l("div",es,[s(g,{closable:!1,class:"info"},{template:d(()=>[s(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:d(()=>[r("p",ss,[s(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])),e.modelValue?.response?.status==="unknown"?(a(),l("div",ts,[s(g,{closable:!1,class:"info"},{template:d(()=>[s(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:d(()=>[r("p",as,[s(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0)])])}const ns=b(je,[["render",os],["__scopeId","data-v-8dc4b6b1"]]),is=v({name:"RecentPanel",components:{TaskPreview:ns,ElSkeleton:q,ElSkeletonItem:O,ScrollList:X},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.headshots?.tasks,items:this.$store.state.headshots?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),ls={key:0,class:"tasks"},rs={class:"left"},cs={class:"main"},ds={key:1,class:"tasks"},ps={key:2,class:"description"};function ms(e,t,m,h,k,y){const p=o("el-skeleton-item"),u=o("el-skeleton"),n=o("task-preview"),c=o("scroll-list");return a(),S(c,{ref:"scrollList",class:"panel recent",loading:e.loading,onReachTop:t[0]||(t[0]=g=>e.$emit("reach-top"))},{default:d(()=>[e.tasks?.items===void 0?(a(),l("div",ls,[(a(),l(T,null,I(3,g=>r("div",{key:g,class:"task placeholder"},[r("div",rs,[s(u,{animated:""},{template:d(()=>[s(p,{variant:"image",class:"avatar"})]),_:1})]),r("div",cs,[s(u,{animated:""},{template:d(()=>[s(p,{variant:"p",class:"title"}),s(p,{variant:"image",class:"icon"})]),_:1})])])),64))])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),l("div",ds,[(a(!0),l(T,null,I(e.tasks?.items,(g,f)=>(a(),S(n,{key:f,"model-value":g,class:"preview"},null,8,["model-value"]))),128))])):$("",!0),e.tasks?.items?.length===0?(a(),l("p",ps,i(e.$t("headshots.message.noTasks")),1)):$("",!0)]),_:1},8,["loading"])}const hs=b(is,[["render",ms],["__scopeId","data-v-ffd55c16"]]),us="https://webhook.acedata.cloud/headshots",gs=v({name:"HeadshotsIndex",components:{ConfigPanel:Re,Layout:ie,ApplicationStatus:Z,RecentPanel:hs},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.headshots?.status?.getApplications===E.Request},tasksLoading(){return this.$store.state.headshots?.status?.getTasks===E.Request||this.fetchingTasks},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===E.Request},needApply(){return this.$store.state.headshots.status.getApplications===E.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,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ee({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("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(){J.create({application:this.application}).then(({data:e})=>{this.application=e,w.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===Q&&w.error(this.$t("application.message.alreadyApplied"))})},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:m,createdAtMax:h}=e||{};console.debug("limit",t,"createdAtMin",m,"createdAtMax",h),this.fetchingTasks=!0;try{await this.$store.dispatch("headshots/getTasks",{limit:t,createdAtMin:m,createdAtMax:h})}finally{this.fetchingTasks=!1}},async onGeneratePicture(){const e={...this.config,callback_url:us},t=this.credential?.token;if(!t){console.error("no token specified");return}w.info(this.$t("headshots.message.startingTask")),H.generate(e,{token:t}).then(()=>{w.success(this.$t("headshots.message.startTaskSuccess")),this.$store.commit("headshots/setConfig",{config:void 0})}).catch(m=>{m?.response?.data?.error?.code===K?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)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function fs(e,t,m,h,k,y){const p=o("config-panel"),u=o("application-status"),n=o("recent-panel"),c=o("layout");return a(),S(c,null,{config:d(()=>[s(p,{onGenerate:e.onGeneratePicture},null,8,["onGenerate"])]),result:d(()=>[s(u,{initializing:e.initializing,application:e.application,applications:e.applications,service:e.service,"need-apply":e.needApply,class:"mb-4",onRefresh:e.onGetApplication,onSelect:t[0]||(t[0]=g=>e.$store.dispatch("headshots/setApplication",g))},null,8,["initializing","application","applications","service","need-apply","onRefresh"]),s(n,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const As=b(gs,[["render",fs],["__scopeId","data-v-6cafffbd"]]);export{As as default};
1
+ import{F as C}from"./index.es-Df0rYKs1.js";import{l as A,S as L,t as U,u as w,F as D,D as j,j as P,W as z,X as B,G as M,Y as O,K as q}from"./vendor-element-plus-B4FTqxj4.js";import{d as v,C as l,G as r,T as s,E as R,K as d,ai as o,D as a,R as i,Q as _,S as T,ag as I,J as S,M as V,c as F,O as $}from"./vendor-vue-1w_NBnjl.js";import{_ as b,aj as N,c3 as H,aB as K,ar as J,ax as Q,ay as E}from"./index-uXQ32ATB.js";import{I as W,S as X}from"./ScrollList-D1QN29i5.js";import{I as Y}from"./ImagePreview-CcIUEkSJ.js";import{A as Z}from"./Status-3FQMdQEp.js";import{C as x}from"./CopyToClipboard-DWCFniu2.js";import{l as ee}from"./pagination-CihAE3FS.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-2Fpu-X2r.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const se=v({name:"LayoutHeadshots",components:{ElDrawer:L,ElButton:A,FontAwesomeIcon:C},data(){return{drawer:!1}}}),te={class:"main flex flex-row flex-1"},ae={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},oe={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ne(e,t,m,h,k,y){const p=o("font-awesome-icon"),u=o("el-button"),n=o("el-drawer");return a(),l("div",te,[r("div",ae,[R(e.$slots,"config",{},void 0,!0)]),r("div",oe,[R(e.$slots,"result",{},void 0,!0)]),s(u,{circle:"",class:"menu",onClick:t[0]||(t[0]=c=>e.drawer=!0)},{default:d(()=>[s(p,{icon:"fa-solid fa-gear"})]),_:1}),s(n,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=c=>e.drawer=c),"with-header":!1,size:"340px",class:"drawer"},{default:d(()=>[R(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ie=b(se,[["render",ne],["__scopeId","data-v-202b355b"]]),le=v({name:"ImageUrlsInput",components:{ElUpload:U,ElButton:A,InfoIcon:W,ImagePreview:Y,FontAwesomeIcon:C},data(){return{fileList:[],uploadUrl:N()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.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()}}}),re={class:"field"},ce={class:"title font-bold"},de={class:"upload-wrapper"};function pe(e,t,m,h,k,y){const p=o("image-preview"),u=o("font-awesome-icon"),n=o("el-button"),c=o("el-upload"),g=o("info-icon");return a(),l("div",re,[r("h2",ce,i(e.$t("headshots.name.endImageUrls")),1),r("div",de,[s(c,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=f=>e.fileList=f),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:d(({file:f})=>[s(p,{url:f.url||f.response?.file_url,name:f.name,percentage:f.percentage,onRemove:G=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])]),default:d(()=>[s(n,{size:"small",type:"primary",round:""},{default:d(()=>[s(u,{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"])]),s(g,{content:e.$t("headshots.description.endImageUrls"),class:"info"},null,8,["content"])])}const me=b(le,[["render",pe],["__scopeId","data-v-1690629a"]]),he="fast",ue=v({name:"ModeSelector",components:{ElRadioButton:j,ElRadioGroup:D},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=he)}}),ge={class:"field"},fe={class:"title font-bold"};function _e(e,t,m,h,k,y){const p=o("el-radio-button"),u=o("el-radio-group");return a(),l("div",ge,[r("h2",fe,i(e.$t("headshots.name.mode")),1),s(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),size:"small",class:"mode"},{default:d(()=>[(a(!0),l(T,null,I(e.options,n=>(a(),S(p,{key:n.value,label:n.value},{default:d(()=>[_(i(n.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const $e=b(ue,[["render",_e],["__scopeId","data-v-a2a0d5fa"]]),ve=v({name:"StylizeSelector",components:{ElTabs:B,ElTabPane:z,ElImage:P},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})}}}),be={class:"field"},ke=["onClick"],ye={class:"name"};function we(e,t,m,h,k,y){const p=o("el-image"),u=o("el-tab-pane"),n=o("el-tabs");return a(),l("div",be,[s(n,{modelValue:e.tab,"onUpdate:modelValue":t[0]||(t[0]=c=>e.tab=c)},{default:d(()=>[(a(!0),l(T,null,I(e.elements,(c,g)=>(a(),S(u,{key:g,label:c.displayName,name:g,class:"pane"},{default:d(()=>[(a(!0),l(T,null,I(c.items,(f,G)=>(a(),l("div",{key:G,class:V({item:!0,active:e.value===f.value}),onClick:_s=>e.onToggle(f.value)},[s(p,{src:f.image,fit:"fill",class:"preview"},null,8,["src"]),r("span",ye,i(f.label),1)],10,ke))),128))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])])}const Te=b(ve,[["render",we],["__scopeId","data-v-be4bd25d"]]),Ie=v({name:"PresetPanel",components:{ModeSelector:$e,ImageUrlsInput:me,ElButton:A,FontAwesomeIcon:C,ElementsSelector:Te},emits:["generate"],computed:{config(){return this.$store.state.headshots?.config}},methods:{onGenerate(){this.$emit("generate")}}}),Se={class:"panel"},Ve={class:"config"},Ee={class:"actions"};function Ce(e,t,m,h,k,y){const p=o("elements-selector"),u=o("mode-selector"),n=o("image-urls-input"),c=o("font-awesome-icon"),g=o("el-button");return a(),l("div",Se,[r("div",Ve,[s(p,{class:"mb-4"}),s(u,{class:"mb-4"}),s(n,{class:"mb-4"}),r("div",Ee,[s(g,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[s(c,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+i(e.$t("headshots.button.generate")),1)]),_:1},8,["onClick"])])])])}const Re=b(Ie,[["render",Ce],["__scopeId","data-v-848739f6"]]),Ae=v({name:"ImageGallery",props:{modelValue:{type:Object,required:!0}},setup(e){return{images:F(()=>e.modelValue?.response?.data?.slice(0,2)||[]),viewImage:h=>{window.open(h,"_blank")}}}}),Ge={class:"image-gallery"},Pe=["src"],Le=["onClick"];function Ue(e,t,m,h,k,y){return a(),l("div",Ge,[(a(!0),l(T,null,I(e.images,(p,u)=>(a(),l("div",{key:u,class:"image-container"},[r("img",{src:p.image_url,alt:"Image"},null,8,Pe),p.image_url?(a(),l("button",{key:0,class:"view-button",onClick:n=>e.viewImage(p.image_url)},i(e.$t("headshots.button.viewImage")),9,Le)):$("",!0)]))),128))])}const De=b(Ae,[["render",Ue],["__scopeId","data-v-42f0a7be"]]),je=v({name:"TaskPreview",components:{ElImage:P,CopyToClipboard:x,FontAwesomeIcon:C,ElAlert:M,ImageGallery:De},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,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onReload(e){const t=e.target,m=new URL(t.src),h=m.searchParams.get("retry");if(!h)m.searchParams.set("retry","1");else if(parseInt(h)<2)m.searchParams.set("retry",(parseInt(h)+1).toString());else return;t.src=m.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),ze={class:"preview"},Be={class:"left"},Me={class:"main"},Oe={class:"bot"},qe={class:"datetime"},Fe={class:"info"},Ne={key:0,class:"prompt mt-2"},He={key:0},Ke={key:1},Je={key:0,class:V({content:!0,failed:!0})},Qe={class:"image-wrapper"},We={class:"description"},Xe={key:1,class:V({content:!0})},Ye={class:"description"},Ze={class:"description"},xe={class:"description"},es={key:2,class:V({content:!0})},ss={class:"description"},ts={key:3,class:V({content:!0})},as={class:"description"};function os(e,t,m,h,k,y){const p=o("el-image"),u=o("image-gallery"),n=o("font-awesome-icon"),c=o("copy-to-clipboard"),g=o("el-alert");return a(),l("div",ze,[r("div",Be,[s(p,{src:"https://cdn.acedata.cloud/isxyfw.png",class:"avatar"})]),r("div",Me,[r("div",Oe,[_(i(e.$t("headshots.name.headshotsBot"))+" ",1),r("span",qe,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",Fe,[e.modelValue?.request?.template?(a(),l("p",Ne,[_(i(e.modelValue?.request?.template)+" ",1),e.modelValue?.response?$("",!0):(a(),l("span",He," - ("+i(e.$t("headshots.status.pending"))+") ",1)),e.modelValue?.response?.status==="unknown"?(a(),l("span",Ke," - ("+i(e.$t("headshots.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0?(a(),l("div",Je,[r("div",Qe,[s(u,{"model-value":e.modelValue},null,8,["model-value"])]),s(g,{closable:!1,class:"mt-2 success"},{default:d(()=>[r("p",We,[s(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(a(),l("div",Xe,[s(g,{closable:!1,class:"failure"},{template:d(()=>[s(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:d(()=>[r("p",Ye,[s(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),r("p",Ze,[s(n,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),s(c,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),r("p",xe,[s(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+i(e.$t("headshots.name.traceId"))+": "+i(e.modelValue?.response?.trace_id)+" ",1),s(c,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?$("",!0):(a(),l("div",es,[s(g,{closable:!1,class:"info"},{template:d(()=>[s(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:d(()=>[r("p",ss,[s(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])),e.modelValue?.response?.status==="unknown"?(a(),l("div",ts,[s(g,{closable:!1,class:"info"},{template:d(()=>[s(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:d(()=>[r("p",as,[s(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0)])])}const ns=b(je,[["render",os],["__scopeId","data-v-8dc4b6b1"]]),is=v({name:"RecentPanel",components:{TaskPreview:ns,ElSkeleton:q,ElSkeletonItem:O,ScrollList:X},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.headshots?.tasks,items:this.$store.state.headshots?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),ls={key:0,class:"tasks"},rs={class:"left"},cs={class:"main"},ds={key:1,class:"tasks"},ps={key:2,class:"description"};function ms(e,t,m,h,k,y){const p=o("el-skeleton-item"),u=o("el-skeleton"),n=o("task-preview"),c=o("scroll-list");return a(),S(c,{ref:"scrollList",class:"panel recent",loading:e.loading,onReachTop:t[0]||(t[0]=g=>e.$emit("reach-top"))},{default:d(()=>[e.tasks?.items===void 0?(a(),l("div",ls,[(a(),l(T,null,I(3,g=>r("div",{key:g,class:"task placeholder"},[r("div",rs,[s(u,{animated:""},{template:d(()=>[s(p,{variant:"image",class:"avatar"})]),_:1})]),r("div",cs,[s(u,{animated:""},{template:d(()=>[s(p,{variant:"p",class:"title"}),s(p,{variant:"image",class:"icon"})]),_:1})])])),64))])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),l("div",ds,[(a(!0),l(T,null,I(e.tasks?.items,(g,f)=>(a(),S(n,{key:f,"model-value":g,class:"preview"},null,8,["model-value"]))),128))])):$("",!0),e.tasks?.items?.length===0?(a(),l("p",ps,i(e.$t("headshots.message.noTasks")),1)):$("",!0)]),_:1},8,["loading"])}const hs=b(is,[["render",ms],["__scopeId","data-v-ffd55c16"]]),us="https://webhook.acedata.cloud/headshots",gs=v({name:"HeadshotsIndex",components:{ConfigPanel:Re,Layout:ie,ApplicationStatus:Z,RecentPanel:hs},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.headshots?.status?.getApplications===E.Request},tasksLoading(){return this.$store.state.headshots?.status?.getTasks===E.Request||this.fetchingTasks},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===E.Request},needApply(){return this.$store.state.headshots.status.getApplications===E.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,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ee({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("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(){J.create({application:this.application}).then(({data:e})=>{this.application=e,w.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===Q&&w.error(this.$t("application.message.alreadyApplied"))})},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:m,createdAtMax:h}=e||{};console.debug("limit",t,"createdAtMin",m,"createdAtMax",h),this.fetchingTasks=!0;try{await this.$store.dispatch("headshots/getTasks",{limit:t,createdAtMin:m,createdAtMax:h})}finally{this.fetchingTasks=!1}},async onGeneratePicture(){const e={...this.config,callback_url:us},t=this.credential?.token;if(!t){console.error("no token specified");return}w.info(this.$t("headshots.message.startingTask")),H.generate(e,{token:t}).then(()=>{w.success(this.$t("headshots.message.startTaskSuccess")),this.$store.commit("headshots/setConfig",{config:void 0})}).catch(m=>{m?.response?.data?.error?.code===K?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)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function fs(e,t,m,h,k,y){const p=o("config-panel"),u=o("application-status"),n=o("recent-panel"),c=o("layout");return a(),S(c,null,{config:d(()=>[s(p,{onGenerate:e.onGeneratePicture},null,8,["onGenerate"])]),result:d(()=>[s(u,{initializing:e.initializing,application:e.application,applications:e.applications,service:e.service,"need-apply":e.needApply,class:"mb-4",onRefresh:e.onGetApplication,onSelect:t[0]||(t[0]=g=>e.$store.dispatch("headshots/setApplication",g))},null,8,["initializing","application","applications","service","need-apply","onRefresh"]),s(n,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const As=b(gs,[["render",fs],["__scopeId","data-v-6cafffbd"]]);export{As as default};
@@ -1 +1 @@
1
- import{F as T}from"./index.es-DYiAEQNm.js";import{l as I,S as K,s as X,N as R,O as U,k as P,t as G,u as y,p as H,G as J,j as Q}from"./vendor-element-plus-B4FTqxj4.js";import{d as b,C as i,G as r,T as s,E as F,K as p,ai as t,D as n,R as o,S as L,ag as A,J as w,O as v,Q as h,M as C,X as W}from"./vendor-vue-1w_NBnjl.js";import{_ as E,cr as Y,cs as Z,ct as x,cu as M,cv as ee,cw as se,cx as te,cy as oe,aj as j,cz as ne,cA as ae,cB as le,cC as ie,Y as re,cD as ce,aB as de,ay as O}from"./index-C6Utnhvc.js";import{I as S,S as me}from"./ScrollList-fCD8Iwcv.js";import{I as B}from"./ImagePreview-wX56V1yq.js";import{C as ue,N as pe}from"./NoTasks-C8VsSmmP.js";import{a as fe}from"./price-BDb_RClh.js";import{C as _e}from"./CopyToClipboard-JG1RVz-t.js";import{V as he}from"./VideoPlayer-B3D8uly7.js";import{I as ve}from"./ImageWrapper-B-6pI_QO.js";import{B as $e}from"./BotPlaceholder-JZgZiU80.js";import{l as ge}from"./pagination-CihAE3FS.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-CjdMnDlQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";import"./vue-plyr-QZFBikSk.js";const be=b({name:"LayoutSeedance",components:{ElDrawer:K,ElButton:I,FontAwesomeIcon:T},data(){return{drawer:!1}}}),Ee={class:"main flex flex-row flex-1"},ke={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ye={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function we(e,a,u,f,g,$){const c=t("font-awesome-icon"),l=t("el-button"),m=t("el-drawer");return n(),i("div",Ee,[r("div",ke,[F(e.$slots,"config",{},void 0,!0)]),r("div",ye,[F(e.$slots,"result",{},void 0,!0)]),s(l,{circle:"",class:"menu",onClick:a[0]||(a[0]=d=>e.drawer=!0)},{default:p(()=>[s(c,{icon:"fa-solid fa-magic"})]),_:1}),s(m,{modelValue:e.drawer,"onUpdate:modelValue":a[1]||(a[1]=d=>e.drawer=d),direction:"ltr","with-header":!1,size:"350px"},{default:p(()=>[F(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Se=E(be,[["render",we],["__scopeId","data-v-02e4e4b3"]]),Ve="",Le=b({name:"SeedancePromptInput",components:{ElInput:X,InfoIcon:S},computed:{prompt:{get(){return this.$store.state.seedance?.config?.prompt},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Ve)}}),Te={class:"field"},Ie={class:"box"},Ce={class:"title font-bold"};function Ae(e,a,u,f,g,$){const c=t("info-icon"),l=t("el-input");return n(),i("div",Te,[r("div",Ie,[r("h2",Ce,o(e.$t("seedance.name.prompt")),1),s(c,{content:e.$t("seedance.description.prompt"),class:"info"},null,8,["content"])]),s(l,{modelValue:e.prompt,"onUpdate:modelValue":a[0]||(a[0]=m=>e.prompt=m),rows:4,type:"textarea",class:"prompt",placeholder:e.$t("seedance.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const De=E(Le,[["render",Ae],["__scopeId","data-v-865909f4"]]),Fe=b({name:"SeedanceModelSelector",components:{ElSelect:U,ElOption:R,InfoIcon:S},data(){return{options:[{value:Z,label:this.$t("seedance.model.seedance10pro")},{value:x,label:this.$t("seedance.model.seedance10proFast")},{value:M,label:this.$t("seedance.model.seedance15pro")},{value:ee,label:this.$t("seedance.model.seedance10liteT2v")},{value:se,label:this.$t("seedance.model.seedance10liteI2v")}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.model},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,model:e})}}},mounted(){this.value||(this.value=Y)}}),Re={class:"field"},Ue={class:"label"},Ne={class:"box"},Oe={class:"title font-bold"};function Pe(e,a,u,f,g,$){const c=t("info-icon"),l=t("el-option"),m=t("el-select");return n(),i("div",Re,[r("div",Ue,[r("div",Ne,[r("h2",Oe,o(e.$t("seedance.name.model")),1),s(c,{content:e.$t("seedance.description.model"),class:"info"},null,8,["content"])])]),s(m,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=d=>e.value=d),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:p(()=>[(n(!0),i(L,null,A(e.options,d=>(n(),w(l,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ge=E(Fe,[["render",Pe],["__scopeId","data-v-eaa1425a"]]),Me=b({name:"SeedanceDurationSelector",components:{ElSelect:U,ElOption:R,InfoIcon:S},data(){return{options:[{value:2,label:"2s"},{value:3,label:"3s"},{value:4,label:"4s"},{value:5,label:"5s"},{value:6,label:"6s"},{value:7,label:"7s"},{value:8,label:"8s"},{value:9,label:"9s"},{value:10,label:"10s"},{value:11,label:"11s"},{value:12,label:"12s"}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.duration},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,duration:e})}}},mounted(){this.value||(this.value=te)}}),je={class:"field"},Be={class:"label"},ze={class:"box"},qe={class:"title font-bold"};function Ke(e,a,u,f,g,$){const c=t("info-icon"),l=t("el-option"),m=t("el-select");return n(),i("div",je,[r("div",Be,[r("div",ze,[r("h2",qe,o(e.$t("seedance.name.duration")),1),s(c,{content:e.$t("seedance.description.duration"),class:"info"},null,8,["content"])])]),s(m,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=d=>e.value=d),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:p(()=>[(n(!0),i(L,null,A(e.options,d=>(n(),w(l,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Xe=E(Me,[["render",Ke],["__scopeId","data-v-5c809a72"]]),He=b({name:"SeedanceGenerateAudioSwitch",components:{ElSwitch:P,InfoIcon:S},computed:{isSupported(){return this.$store.state.seedance?.config?.model===M},value:{get(){return this.$store.state.seedance?.config?.generate_audio??!1},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,generate_audio:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=oe)}}),Je={key:0,class:"field"},Qe={class:"label"},We={class:"box"},Ye={class:"title font-bold"},Ze={class:"value"};function xe(e,a,u,f,g,$){const c=t("info-icon"),l=t("el-switch");return e.isSupported?(n(),i("div",Je,[r("div",Qe,[r("div",We,[r("h2",Ye,o(e.$t("seedance.name.generateAudio")),1),s(c,{content:e.$t("seedance.description.generateAudio"),class:"info"},null,8,["content"])])]),r("div",Ze,[s(l,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=m=>e.value=m),"inline-prompt":"","active-text":e.$t("seedance.button.on"),"inactive-text":e.$t("seedance.button.off")},null,8,["modelValue","active-text","inactive-text"])])])):v("",!0)}const es=E(He,[["render",xe],["__scopeId","data-v-8d716dcc"]]),ss=b({name:"SeedanceFirstFrameImage",components:{ElUpload:G,ElButton:I,InfoIcon:S,FontAwesomeIcon:T,ImagePreview:B},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)}},methods:{onExceed(){y.warning(this.$t("seedance.message.uploadExceed"))},onError(){y.error(this.$t("seedance.message.uploadError"))},onSetFirstFrameUrl(){const e=this.urls?.[0],u=(this.$store.state.seedance?.config?.images||[]).filter(f=>f?.role!=="first_frame");e&&u.push({url:e,role:"first_frame"}),this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,images:u.length>0?u:void 0})},async onSuccess(){this.onSetFirstFrameUrl()},async onRemove(){this.onSetFirstFrameUrl()}}}),ts={class:"relative"},os={class:"flex justify-between"},ns={class:"flex justify-start items-center"},as={class:"text-sm font-bold"};function ls(e,a,u,f,g,$){const c=t("info-icon"),l=t("image-preview"),m=t("font-awesome-icon"),d=t("el-button"),k=t("el-upload");return n(),i("div",ts,[r("div",os,[r("div",ns,[r("span",as,o(e.$t("seedance.name.firstFrame")),1),s(c,{content:e.$t("seedance.description.firstFrame")},null,8,["content"])])]),s(k,{"file-list":e.fileList,"onUpdate:fileList":a[0]||(a[0]=_=>e.fileList=_),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:p(({file:_})=>[_.url&&_.percentage!==void 0?(n(),w(l,{key:0,url:_.url,name:_.name,percentage:_.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:p(()=>[s(d,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:p(()=>[s(m,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+o(e.$t("seedance.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-remove","headers"])])}const is=E(ss,[["render",ls],["__scopeId","data-v-b49dfa86"]]),rs=b({name:"SeedanceLastFrameImage",components:{ElUpload:G,ElButton:I,ImagePreview:B,InfoIcon:S,FontAwesomeIcon:T},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)}},methods:{onExceed(){y.warning(this.$t("seedance.message.uploadExceed"))},onError(){y.error(this.$t("seedance.message.uploadError"))},onSetLastFrameUrl(){const e=this.urls?.[0],u=(this.$store.state.seedance?.config?.images||[]).filter(f=>f?.role!=="last_frame");e&&u.push({url:e,role:"last_frame"}),this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,images:u.length>0?u:void 0})},async onSuccess(){this.onSetLastFrameUrl()},async onRemove(){this.onSetLastFrameUrl()}}}),cs={class:"relative"},ds={class:"flex justify-between"},ms={class:"flex justify-start items-center"},us={class:"text-sm font-bold"};function ps(e,a,u,f,g,$){const c=t("info-icon"),l=t("image-preview"),m=t("font-awesome-icon"),d=t("el-button"),k=t("el-upload");return n(),i("div",cs,[r("div",ds,[r("div",ms,[r("span",us,o(e.$t("seedance.name.lastFrame")),1),s(c,{content:e.$t("seedance.description.lastFrame")},null,8,["content"])])]),s(k,{"file-list":e.fileList,"onUpdate:fileList":a[0]||(a[0]=_=>e.fileList=_),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:p(({file:_})=>[_.url&&_.percentage!==void 0?(n(),w(l,{key:0,url:_.url,name:_.name,percentage:_.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:p(()=>[s(d,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:p(()=>[s(m,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+o(e.$t("seedance.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-remove","headers"])])}const fs=E(rs,[["render",ps],["__scopeId","data-v-12a78496"]]),_s=b({name:"SeedanceServiceTierSelector",components:{ElSelect:U,ElOption:R,InfoIcon:S},data(){return{options:[{value:ae,label:this.$t("seedance.serviceTier.default")},{value:le,label:this.$t("seedance.serviceTier.flex")}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.service_tier},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,service_tier:e})}}},mounted(){this.value||(this.value=ne)}}),hs={class:"field"},vs={class:"label"},$s={class:"box"},gs={class:"title font-bold"};function bs(e,a,u,f,g,$){const c=t("info-icon"),l=t("el-option"),m=t("el-select");return n(),i("div",hs,[r("div",vs,[r("div",$s,[r("h2",gs,o(e.$t("seedance.name.serviceTier")),1),s(c,{content:e.$t("seedance.description.serviceTier"),class:"info"},null,8,["content"])])]),s(m,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=d=>e.value=d),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:p(()=>[(n(!0),i(L,null,A(e.options,d=>(n(),w(l,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Es=E(_s,[["render",bs],["__scopeId","data-v-a62125ec"]]),ks=b({name:"SeedanceReturnLastFrameSwitch",components:{ElSwitch:P,InfoIcon:S},computed:{value:{get(){return this.$store.state.seedance?.config?.return_last_frame},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,return_last_frame:e})}}},mounted(){this.value===void 0&&(this.value=ie)}}),ys={class:"field"},ws={class:"label"},Ss={class:"box"},Vs={class:"title font-bold"},Ls={class:"value"};function Ts(e,a,u,f,g,$){const c=t("info-icon"),l=t("el-switch");return n(),i("div",ys,[r("div",ws,[r("div",Ss,[r("h2",Vs,o(e.$t("seedance.name.returnLastFrame")),1),s(c,{content:e.$t("seedance.description.returnLastFrame"),class:"info"},null,8,["content"])])]),r("div",Ls,[s(l,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=m=>e.value=m),"inline-prompt":"","active-text":e.$t("seedance.button.on"),"inactive-text":e.$t("seedance.button.off")},null,8,["modelValue","active-text","inactive-text"])])])}const Is=E(ks,[["render",Ts],["__scopeId","data-v-cd179b1c"]]),Cs=b({name:"SeedanceConfigPanel",components:{ElButton:I,FontAwesomeIcon:T,PromptInput:De,ModelSelector:Ge,DurationSelector:Xe,GenerateAudioSwitch:es,ServiceTierSelector:Es,ReturnLastFrameSwitch:Is,FirstFrameImage:is,LastFrameImage:fs,Consumption:ue},emits:["generate"],computed:{config(){return this.$store.state.seedance?.config},consumption(){return fe(this.config,this.service?.cost)},service(){return this.$store.state.seedance?.service}},methods:{onGenerate(){this.$emit("generate")}}}),As={class:"flex flex-col h-full"},Ds={class:"flex-1 overflow-y-auto p-5"},Fs={class:"flex flex-col items-center justify-center px-5 pb-5"};function Rs(e,a,u,f,g,$){const c=t("prompt-input"),l=t("model-selector"),m=t("duration-selector"),d=t("generate-audio-switch"),k=t("service-tier-selector"),_=t("return-last-frame-switch"),V=t("first-frame-image"),D=t("last-frame-image"),N=t("consumption"),z=t("font-awesome-icon"),q=t("el-button");return n(),i("div",As,[r("div",Ds,[s(c,{class:"mb-4"}),s(l,{class:"mb-4"}),s(m,{class:"mb-4"}),s(d,{class:"mb-4"}),s(k,{class:"mb-4"}),s(_,{class:"mb-4"}),s(V,{class:"mb-2"}),s(D,{class:"mb-2"})]),r("div",Fs,[s(N,{value:e.consumption,service:e.service},null,8,["value","service"]),s(q,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[s(z,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+o(e.$t("seedance.button.generate")),1)]),_:1},8,["onClick"])])])}const Us=E(Cs,[["render",Rs]]),Ns=b({name:"SeedanceTaskPreview",components:{ElImage:Q,CopyToClipboard:_e,FontAwesomeIcon:T,ElAlert:J,VideoPlayer:he,ElTooltip:H,ElButton:I,ImageWrapper:ve},props:{modelValue:{type:Object,required:!0}},data(){return{seedanceLogo:re}},computed:{video(){return this.modelValue?.response?.data}},methods:{onDownload(e){window.open(e,"_blank")}}}),Os={class:"preview"},Ps={class:"left"},Gs={class:"main"},Ms={class:"bot"},js={class:"datetime"},Bs={class:"info"},zs={key:0,class:"prompt mt-2"},qs={key:0},Ks={key:1},Xs={key:0,class:C({content:!0})},Hs={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Js={key:1,class:C({content:!0})},Qs={key:0,class:"mb-4"},Ws={key:1,class:"mb-4"},Ys={key:2,class:C({operations:!0,"mt-2":!0,"mb-2":!0})},Zs={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},xs={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},et={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},st={key:0},tt={key:1},ot={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},nt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},at={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},lt={key:2,class:C({content:!0})},it={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},rt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ct={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},dt={key:3,class:C({content:!0})},mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ut={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function pt(e,a,u,f,g,$){const c=t("el-image"),l=t("font-awesome-icon"),m=t("copy-to-clipboard"),d=t("el-alert"),k=t("video-player"),_=t("image-wrapper"),V=t("el-button"),D=t("el-tooltip");return n(),i("div",Os,[r("div",Ps,[s(c,{src:e.seedanceLogo,class:"avatar"},null,8,["src"])]),r("div",Gs,[r("div",Ms,[h(o(e.$t("seedance.name.seedanceBot"))+" ",1),r("span",js,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",Bs,[e.modelValue?.request?.prompt?(n(),i("p",zs,[h(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?e.video?.status==="processing"||e.video?.status==="pending"?(n(),i("span",Ks," - ("+o(e.$t("seedance.status.processing"))+") ",1)):v("",!0):(n(),i("span",qs," - ("+o(e.$t("seedance.status.pending"))+") ",1))])):v("",!0)]),e.modelValue?.response?e.modelValue?.response?.success===!0?(n(),i("div",Js,[e.video?.video_url?(n(),i("div",Qs,[s(k,{src:e.video?.video_url},null,8,["src"])])):v("",!0),e.video?.last_frame_url?(n(),i("div",Ws,[s(_,{src:e.video?.last_frame_url,"raw-src":e.video?.last_frame_url},null,8,["src","raw-src"])])):v("",!0),e.video?.video_url?(n(),i("div",Ys,[s(D,{class:"box-item",effect:"dark",content:e.$t("seedance.message.downloadVideo"),placement:"top-start"},{default:p(()=>[s(V,{type:"info",size:"small",class:"btn-action",onClick:a[0]||(a[0]=W(N=>e.onDownload(e.video?.video_url),["stop"]))},{default:p(()=>[h(o(e.$t("seedance.button.download")),1)]),_:1})]),_:1},8,["content"])])):v("",!0),s(d,{closable:!1,class:"mt-2 success"},{default:p(()=>[e.modelValue?.request?.model?(n(),i("p",Zs,[s(l,{icon:"fa-solid fa-cube",class:"mr-1"}),h(" "+o(e.$t("seedance.name.model"))+": "+o(e.modelValue?.request?.model),1)])):v("",!0),e.video?.duration?(n(),i("p",xs,[s(l,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+o(e.$t("seedance.name.duration"))+": "+o(e.video?.duration)+"s ",1)])):v("",!0),e.video?.resolution?(n(),i("p",et,[s(l,{icon:"fa-solid fa-expand",class:"mr-1"}),h(" "+o(e.$t("seedance.name.resolution"))+": "+o(e.video?.resolution)+" ",1),e.video?.ratio?(n(),i("span",st," · "+o(e.video?.ratio),1)):v("",!0),e.video?.framespersecond?(n(),i("span",tt," · "+o(e.video?.framespersecond)+"fps",1)):v("",!0)])):v("",!0),e.modelValue?.request?.generate_audio?(n(),i("p",ot,[s(l,{icon:"fa-solid fa-volume-up",class:"mr-1"}),h(" "+o(e.$t("seedance.name.generateAudio"))+": "+o(e.$t("seedance.button.on")),1)])):v("",!0),r("p",nt,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+o(e.$t("seedance.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(m,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),i("p",at,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+o(e.$t("seedance.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),s(m,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),i("div",lt,[s(d,{closable:!1,class:"failure"},{template:p(()=>[s(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+o(e.$t("seedance.name.failure")),1)]),default:p(()=>[r("p",it,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+o(e.$t("seedance.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(m,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.error?.message?(n(),i("p",rt,[s(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+o(e.$t("seedance.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),s(m,{content:e.modelValue?.response?.error?.message,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0),e.modelValue?.response?.trace_id?(n(),i("p",ct,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+o(e.$t("seedance.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),s(m,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):(n(),i("div",dt,[s(d,{closable:!1,class:"info"},{template:p(()=>[s(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+o(e.$t("seedance.name.status")),1)]),default:p(()=>[r("p",mt,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+o(e.$t("seedance.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(m,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),i("p",ut,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+o(e.$t("seedance.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),s(m,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):(n(),i("div",Xs,[s(d,{closable:!1,class:"info"},{template:p(()=>[s(l,{icon:"fa-regular fa-clock",class:"mr-1"}),h(" "+o(e.$t("seedance.status.pending")),1)]),default:p(()=>[r("p",Hs,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+o(e.$t("seedance.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(m,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})]))])])}const ft=E(Ns,[["render",pt],["__scopeId","data-v-abf462e3"]]),_t=b({name:"SeedanceRecentPanel",components:{TaskPreview:ft,BotPlaceholder:$e,NoTasks:pe,ScrollList:me},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],computed:{tasks(){return{...this.$store.state.seedance?.tasks,items:this.$store.state.seedance?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),ht={key:0},vt={key:2,class:"w-full h-full flex items-center justify-center"};function $t(e,a,u,f,g,$){const c=t("bot-placeholder"),l=t("task-preview"),m=t("scroll-list"),d=t("no-tasks");return n(),i(L,null,[e.tasks?.items===void 0?(n(),i("div",ht,[s(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),w(m,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:a[0]||(a[0]=k=>e.$emit("reach-top"))},{default:p(()=>[(n(!0),i(L,null,A(e.tasks?.items,k=>(n(),w(l,{key:k.id,"model-value":k},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(n(),i("div",vt,[s(d)])):v("",!0)],64)}const gt=E(_t,[["render",$t]]),bt="https://webhook.acedata.cloud/seedance",Et=b({name:"SeedanceIndex",components:{ConfigPanel:Us,Layout:Se,RecentPanel:gt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.seedance?.status?.getApplications===O.Request},tasksLoading(){return this.$store.state.seedance?.status?.getTasks===O.Request||this.fetchingTasks},credential(){return this.$store.state.seedance?.credential},config(){return this.$store.state.seedance?.config},tasks(){return this.$store.state.seedance?.tasks}},watch:{initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ge({tasks:this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch("seedance/getService")},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;const{limit:a=5,createdAtMin:u,createdAtMax:f}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch("seedance/getTasks",{limit:a,createdAtMin:u,createdAtMax:f})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config||{}};if(typeof e?.prompt=="string"&&(e.prompt=e.prompt.trim(),e.prompt||delete e.prompt),Array.isArray(e?.images)){e.images=e.images.filter(c=>!!c?.url);const g=e.images.some(c=>c?.role==="first_frame"),$=e.images.some(c=>c?.role==="last_frame");!g&&$&&(e.images=e.images.map(c=>c?.role==="last_frame"?{...c,role:"first_frame"}:c))}!(Array.isArray(e?.images)&&e.images.length>0)&&"images"in e&&delete e.images;const u={...e,callback_url:bt},f=this.credential?.token;if(!f){console.error("no token specified");return}y.info(this.$t("seedance.message.startingTask")),ce.generate(u,{token:f}).then(()=>{y.success(this.$t("seedance.message.startTaskSuccess"))}).catch(g=>{const $=g?.response?.data;$?.error?.code===de?y.error(this.$t("seedance.message.usedUp")):y.error(this.$t("seedance.message.startTaskFailed")+($?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function kt(e,a,u,f,g,$){const c=t("config-panel"),l=t("recent-panel"),m=t("layout");return n(),w(m,null,{config:p(()=>[s(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:p(()=>[s(l,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const jt=E(Et,[["render",kt]]);export{jt as default};
1
+ import{F as T}from"./index.es-Df0rYKs1.js";import{l as I,S as K,s as X,N as R,O as U,k as P,t as G,u as y,p as H,G as J,j as Q}from"./vendor-element-plus-B4FTqxj4.js";import{d as b,C as i,G as r,T as s,E as F,K as p,ai as t,D as n,R as o,S as L,ag as A,J as w,O as v,Q as h,M as C,X as W}from"./vendor-vue-1w_NBnjl.js";import{_ as E,cr as Y,cs as Z,ct as x,cu as M,cv as ee,cw as se,cx as te,cy as oe,aj as j,cz as ne,cA as ae,cB as le,cC as ie,Y as re,cD as ce,aB as de,ay as O}from"./index-uXQ32ATB.js";import{I as S,S as me}from"./ScrollList-D1QN29i5.js";import{I as B}from"./ImagePreview-CcIUEkSJ.js";import{C as ue,N as pe}from"./NoTasks-CsBs9OjI.js";import{a as fe}from"./price-irKGH1xy.js";import{C as _e}from"./CopyToClipboard-DWCFniu2.js";import{V as he}from"./VideoPlayer-BE40WS_m.js";import{I as ve}from"./ImageWrapper-RLXYfGhP.js";import{B as $e}from"./BotPlaceholder-BBXjY2LW.js";import{l as ge}from"./pagination-CihAE3FS.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-2Fpu-X2r.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";import"./vue-plyr-QZFBikSk.js";const be=b({name:"LayoutSeedance",components:{ElDrawer:K,ElButton:I,FontAwesomeIcon:T},data(){return{drawer:!1}}}),Ee={class:"main flex flex-row flex-1"},ke={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ye={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function we(e,a,u,f,g,$){const c=t("font-awesome-icon"),l=t("el-button"),m=t("el-drawer");return n(),i("div",Ee,[r("div",ke,[F(e.$slots,"config",{},void 0,!0)]),r("div",ye,[F(e.$slots,"result",{},void 0,!0)]),s(l,{circle:"",class:"menu",onClick:a[0]||(a[0]=d=>e.drawer=!0)},{default:p(()=>[s(c,{icon:"fa-solid fa-magic"})]),_:1}),s(m,{modelValue:e.drawer,"onUpdate:modelValue":a[1]||(a[1]=d=>e.drawer=d),direction:"ltr","with-header":!1,size:"350px"},{default:p(()=>[F(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Se=E(be,[["render",we],["__scopeId","data-v-02e4e4b3"]]),Ve="",Le=b({name:"SeedancePromptInput",components:{ElInput:X,InfoIcon:S},computed:{prompt:{get(){return this.$store.state.seedance?.config?.prompt},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Ve)}}),Te={class:"field"},Ie={class:"box"},Ce={class:"title font-bold"};function Ae(e,a,u,f,g,$){const c=t("info-icon"),l=t("el-input");return n(),i("div",Te,[r("div",Ie,[r("h2",Ce,o(e.$t("seedance.name.prompt")),1),s(c,{content:e.$t("seedance.description.prompt"),class:"info"},null,8,["content"])]),s(l,{modelValue:e.prompt,"onUpdate:modelValue":a[0]||(a[0]=m=>e.prompt=m),rows:4,type:"textarea",class:"prompt",placeholder:e.$t("seedance.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const De=E(Le,[["render",Ae],["__scopeId","data-v-865909f4"]]),Fe=b({name:"SeedanceModelSelector",components:{ElSelect:U,ElOption:R,InfoIcon:S},data(){return{options:[{value:Z,label:this.$t("seedance.model.seedance10pro")},{value:x,label:this.$t("seedance.model.seedance10proFast")},{value:M,label:this.$t("seedance.model.seedance15pro")},{value:ee,label:this.$t("seedance.model.seedance10liteT2v")},{value:se,label:this.$t("seedance.model.seedance10liteI2v")}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.model},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,model:e})}}},mounted(){this.value||(this.value=Y)}}),Re={class:"field"},Ue={class:"label"},Ne={class:"box"},Oe={class:"title font-bold"};function Pe(e,a,u,f,g,$){const c=t("info-icon"),l=t("el-option"),m=t("el-select");return n(),i("div",Re,[r("div",Ue,[r("div",Ne,[r("h2",Oe,o(e.$t("seedance.name.model")),1),s(c,{content:e.$t("seedance.description.model"),class:"info"},null,8,["content"])])]),s(m,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=d=>e.value=d),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:p(()=>[(n(!0),i(L,null,A(e.options,d=>(n(),w(l,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ge=E(Fe,[["render",Pe],["__scopeId","data-v-eaa1425a"]]),Me=b({name:"SeedanceDurationSelector",components:{ElSelect:U,ElOption:R,InfoIcon:S},data(){return{options:[{value:2,label:"2s"},{value:3,label:"3s"},{value:4,label:"4s"},{value:5,label:"5s"},{value:6,label:"6s"},{value:7,label:"7s"},{value:8,label:"8s"},{value:9,label:"9s"},{value:10,label:"10s"},{value:11,label:"11s"},{value:12,label:"12s"}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.duration},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,duration:e})}}},mounted(){this.value||(this.value=te)}}),je={class:"field"},Be={class:"label"},ze={class:"box"},qe={class:"title font-bold"};function Ke(e,a,u,f,g,$){const c=t("info-icon"),l=t("el-option"),m=t("el-select");return n(),i("div",je,[r("div",Be,[r("div",ze,[r("h2",qe,o(e.$t("seedance.name.duration")),1),s(c,{content:e.$t("seedance.description.duration"),class:"info"},null,8,["content"])])]),s(m,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=d=>e.value=d),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:p(()=>[(n(!0),i(L,null,A(e.options,d=>(n(),w(l,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Xe=E(Me,[["render",Ke],["__scopeId","data-v-5c809a72"]]),He=b({name:"SeedanceGenerateAudioSwitch",components:{ElSwitch:P,InfoIcon:S},computed:{isSupported(){return this.$store.state.seedance?.config?.model===M},value:{get(){return this.$store.state.seedance?.config?.generate_audio??!1},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,generate_audio:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=oe)}}),Je={key:0,class:"field"},Qe={class:"label"},We={class:"box"},Ye={class:"title font-bold"},Ze={class:"value"};function xe(e,a,u,f,g,$){const c=t("info-icon"),l=t("el-switch");return e.isSupported?(n(),i("div",Je,[r("div",Qe,[r("div",We,[r("h2",Ye,o(e.$t("seedance.name.generateAudio")),1),s(c,{content:e.$t("seedance.description.generateAudio"),class:"info"},null,8,["content"])])]),r("div",Ze,[s(l,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=m=>e.value=m),"inline-prompt":"","active-text":e.$t("seedance.button.on"),"inactive-text":e.$t("seedance.button.off")},null,8,["modelValue","active-text","inactive-text"])])])):v("",!0)}const es=E(He,[["render",xe],["__scopeId","data-v-8d716dcc"]]),ss=b({name:"SeedanceFirstFrameImage",components:{ElUpload:G,ElButton:I,InfoIcon:S,FontAwesomeIcon:T,ImagePreview:B},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)}},methods:{onExceed(){y.warning(this.$t("seedance.message.uploadExceed"))},onError(){y.error(this.$t("seedance.message.uploadError"))},onSetFirstFrameUrl(){const e=this.urls?.[0],u=(this.$store.state.seedance?.config?.images||[]).filter(f=>f?.role!=="first_frame");e&&u.push({url:e,role:"first_frame"}),this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,images:u.length>0?u:void 0})},async onSuccess(){this.onSetFirstFrameUrl()},async onRemove(){this.onSetFirstFrameUrl()}}}),ts={class:"relative"},os={class:"flex justify-between"},ns={class:"flex justify-start items-center"},as={class:"text-sm font-bold"};function ls(e,a,u,f,g,$){const c=t("info-icon"),l=t("image-preview"),m=t("font-awesome-icon"),d=t("el-button"),k=t("el-upload");return n(),i("div",ts,[r("div",os,[r("div",ns,[r("span",as,o(e.$t("seedance.name.firstFrame")),1),s(c,{content:e.$t("seedance.description.firstFrame")},null,8,["content"])])]),s(k,{"file-list":e.fileList,"onUpdate:fileList":a[0]||(a[0]=_=>e.fileList=_),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:p(({file:_})=>[_.url&&_.percentage!==void 0?(n(),w(l,{key:0,url:_.url,name:_.name,percentage:_.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:p(()=>[s(d,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:p(()=>[s(m,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+o(e.$t("seedance.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-remove","headers"])])}const is=E(ss,[["render",ls],["__scopeId","data-v-b49dfa86"]]),rs=b({name:"SeedanceLastFrameImage",components:{ElUpload:G,ElButton:I,ImagePreview:B,InfoIcon:S,FontAwesomeIcon:T},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)}},methods:{onExceed(){y.warning(this.$t("seedance.message.uploadExceed"))},onError(){y.error(this.$t("seedance.message.uploadError"))},onSetLastFrameUrl(){const e=this.urls?.[0],u=(this.$store.state.seedance?.config?.images||[]).filter(f=>f?.role!=="last_frame");e&&u.push({url:e,role:"last_frame"}),this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,images:u.length>0?u:void 0})},async onSuccess(){this.onSetLastFrameUrl()},async onRemove(){this.onSetLastFrameUrl()}}}),cs={class:"relative"},ds={class:"flex justify-between"},ms={class:"flex justify-start items-center"},us={class:"text-sm font-bold"};function ps(e,a,u,f,g,$){const c=t("info-icon"),l=t("image-preview"),m=t("font-awesome-icon"),d=t("el-button"),k=t("el-upload");return n(),i("div",cs,[r("div",ds,[r("div",ms,[r("span",us,o(e.$t("seedance.name.lastFrame")),1),s(c,{content:e.$t("seedance.description.lastFrame")},null,8,["content"])])]),s(k,{"file-list":e.fileList,"onUpdate:fileList":a[0]||(a[0]=_=>e.fileList=_),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:p(({file:_})=>[_.url&&_.percentage!==void 0?(n(),w(l,{key:0,url:_.url,name:_.name,percentage:_.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:p(()=>[s(d,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:p(()=>[s(m,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+o(e.$t("seedance.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-remove","headers"])])}const fs=E(rs,[["render",ps],["__scopeId","data-v-12a78496"]]),_s=b({name:"SeedanceServiceTierSelector",components:{ElSelect:U,ElOption:R,InfoIcon:S},data(){return{options:[{value:ae,label:this.$t("seedance.serviceTier.default")},{value:le,label:this.$t("seedance.serviceTier.flex")}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.service_tier},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,service_tier:e})}}},mounted(){this.value||(this.value=ne)}}),hs={class:"field"},vs={class:"label"},$s={class:"box"},gs={class:"title font-bold"};function bs(e,a,u,f,g,$){const c=t("info-icon"),l=t("el-option"),m=t("el-select");return n(),i("div",hs,[r("div",vs,[r("div",$s,[r("h2",gs,o(e.$t("seedance.name.serviceTier")),1),s(c,{content:e.$t("seedance.description.serviceTier"),class:"info"},null,8,["content"])])]),s(m,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=d=>e.value=d),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:p(()=>[(n(!0),i(L,null,A(e.options,d=>(n(),w(l,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Es=E(_s,[["render",bs],["__scopeId","data-v-a62125ec"]]),ks=b({name:"SeedanceReturnLastFrameSwitch",components:{ElSwitch:P,InfoIcon:S},computed:{value:{get(){return this.$store.state.seedance?.config?.return_last_frame},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,return_last_frame:e})}}},mounted(){this.value===void 0&&(this.value=ie)}}),ys={class:"field"},ws={class:"label"},Ss={class:"box"},Vs={class:"title font-bold"},Ls={class:"value"};function Ts(e,a,u,f,g,$){const c=t("info-icon"),l=t("el-switch");return n(),i("div",ys,[r("div",ws,[r("div",Ss,[r("h2",Vs,o(e.$t("seedance.name.returnLastFrame")),1),s(c,{content:e.$t("seedance.description.returnLastFrame"),class:"info"},null,8,["content"])])]),r("div",Ls,[s(l,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=m=>e.value=m),"inline-prompt":"","active-text":e.$t("seedance.button.on"),"inactive-text":e.$t("seedance.button.off")},null,8,["modelValue","active-text","inactive-text"])])])}const Is=E(ks,[["render",Ts],["__scopeId","data-v-cd179b1c"]]),Cs=b({name:"SeedanceConfigPanel",components:{ElButton:I,FontAwesomeIcon:T,PromptInput:De,ModelSelector:Ge,DurationSelector:Xe,GenerateAudioSwitch:es,ServiceTierSelector:Es,ReturnLastFrameSwitch:Is,FirstFrameImage:is,LastFrameImage:fs,Consumption:ue},emits:["generate"],computed:{config(){return this.$store.state.seedance?.config},consumption(){return fe(this.config,this.service?.cost)},service(){return this.$store.state.seedance?.service}},methods:{onGenerate(){this.$emit("generate")}}}),As={class:"flex flex-col h-full"},Ds={class:"flex-1 overflow-y-auto p-5"},Fs={class:"flex flex-col items-center justify-center px-5 pb-5"};function Rs(e,a,u,f,g,$){const c=t("prompt-input"),l=t("model-selector"),m=t("duration-selector"),d=t("generate-audio-switch"),k=t("service-tier-selector"),_=t("return-last-frame-switch"),V=t("first-frame-image"),D=t("last-frame-image"),N=t("consumption"),z=t("font-awesome-icon"),q=t("el-button");return n(),i("div",As,[r("div",Ds,[s(c,{class:"mb-4"}),s(l,{class:"mb-4"}),s(m,{class:"mb-4"}),s(d,{class:"mb-4"}),s(k,{class:"mb-4"}),s(_,{class:"mb-4"}),s(V,{class:"mb-2"}),s(D,{class:"mb-2"})]),r("div",Fs,[s(N,{value:e.consumption,service:e.service},null,8,["value","service"]),s(q,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[s(z,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+o(e.$t("seedance.button.generate")),1)]),_:1},8,["onClick"])])])}const Us=E(Cs,[["render",Rs]]),Ns=b({name:"SeedanceTaskPreview",components:{ElImage:Q,CopyToClipboard:_e,FontAwesomeIcon:T,ElAlert:J,VideoPlayer:he,ElTooltip:H,ElButton:I,ImageWrapper:ve},props:{modelValue:{type:Object,required:!0}},data(){return{seedanceLogo:re}},computed:{video(){return this.modelValue?.response?.data}},methods:{onDownload(e){window.open(e,"_blank")}}}),Os={class:"preview"},Ps={class:"left"},Gs={class:"main"},Ms={class:"bot"},js={class:"datetime"},Bs={class:"info"},zs={key:0,class:"prompt mt-2"},qs={key:0},Ks={key:1},Xs={key:0,class:C({content:!0})},Hs={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Js={key:1,class:C({content:!0})},Qs={key:0,class:"mb-4"},Ws={key:1,class:"mb-4"},Ys={key:2,class:C({operations:!0,"mt-2":!0,"mb-2":!0})},Zs={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},xs={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},et={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},st={key:0},tt={key:1},ot={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},nt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},at={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},lt={key:2,class:C({content:!0})},it={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},rt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ct={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},dt={key:3,class:C({content:!0})},mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ut={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function pt(e,a,u,f,g,$){const c=t("el-image"),l=t("font-awesome-icon"),m=t("copy-to-clipboard"),d=t("el-alert"),k=t("video-player"),_=t("image-wrapper"),V=t("el-button"),D=t("el-tooltip");return n(),i("div",Os,[r("div",Ps,[s(c,{src:e.seedanceLogo,class:"avatar"},null,8,["src"])]),r("div",Gs,[r("div",Ms,[h(o(e.$t("seedance.name.seedanceBot"))+" ",1),r("span",js,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",Bs,[e.modelValue?.request?.prompt?(n(),i("p",zs,[h(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?e.video?.status==="processing"||e.video?.status==="pending"?(n(),i("span",Ks," - ("+o(e.$t("seedance.status.processing"))+") ",1)):v("",!0):(n(),i("span",qs," - ("+o(e.$t("seedance.status.pending"))+") ",1))])):v("",!0)]),e.modelValue?.response?e.modelValue?.response?.success===!0?(n(),i("div",Js,[e.video?.video_url?(n(),i("div",Qs,[s(k,{src:e.video?.video_url},null,8,["src"])])):v("",!0),e.video?.last_frame_url?(n(),i("div",Ws,[s(_,{src:e.video?.last_frame_url,"raw-src":e.video?.last_frame_url},null,8,["src","raw-src"])])):v("",!0),e.video?.video_url?(n(),i("div",Ys,[s(D,{class:"box-item",effect:"dark",content:e.$t("seedance.message.downloadVideo"),placement:"top-start"},{default:p(()=>[s(V,{type:"info",size:"small",class:"btn-action",onClick:a[0]||(a[0]=W(N=>e.onDownload(e.video?.video_url),["stop"]))},{default:p(()=>[h(o(e.$t("seedance.button.download")),1)]),_:1})]),_:1},8,["content"])])):v("",!0),s(d,{closable:!1,class:"mt-2 success"},{default:p(()=>[e.modelValue?.request?.model?(n(),i("p",Zs,[s(l,{icon:"fa-solid fa-cube",class:"mr-1"}),h(" "+o(e.$t("seedance.name.model"))+": "+o(e.modelValue?.request?.model),1)])):v("",!0),e.video?.duration?(n(),i("p",xs,[s(l,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+o(e.$t("seedance.name.duration"))+": "+o(e.video?.duration)+"s ",1)])):v("",!0),e.video?.resolution?(n(),i("p",et,[s(l,{icon:"fa-solid fa-expand",class:"mr-1"}),h(" "+o(e.$t("seedance.name.resolution"))+": "+o(e.video?.resolution)+" ",1),e.video?.ratio?(n(),i("span",st," · "+o(e.video?.ratio),1)):v("",!0),e.video?.framespersecond?(n(),i("span",tt," · "+o(e.video?.framespersecond)+"fps",1)):v("",!0)])):v("",!0),e.modelValue?.request?.generate_audio?(n(),i("p",ot,[s(l,{icon:"fa-solid fa-volume-up",class:"mr-1"}),h(" "+o(e.$t("seedance.name.generateAudio"))+": "+o(e.$t("seedance.button.on")),1)])):v("",!0),r("p",nt,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+o(e.$t("seedance.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(m,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),i("p",at,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+o(e.$t("seedance.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),s(m,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),i("div",lt,[s(d,{closable:!1,class:"failure"},{template:p(()=>[s(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+o(e.$t("seedance.name.failure")),1)]),default:p(()=>[r("p",it,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+o(e.$t("seedance.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(m,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.error?.message?(n(),i("p",rt,[s(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+o(e.$t("seedance.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),s(m,{content:e.modelValue?.response?.error?.message,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0),e.modelValue?.response?.trace_id?(n(),i("p",ct,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+o(e.$t("seedance.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),s(m,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):(n(),i("div",dt,[s(d,{closable:!1,class:"info"},{template:p(()=>[s(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+o(e.$t("seedance.name.status")),1)]),default:p(()=>[r("p",mt,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+o(e.$t("seedance.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(m,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),i("p",ut,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+o(e.$t("seedance.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),s(m,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):(n(),i("div",Xs,[s(d,{closable:!1,class:"info"},{template:p(()=>[s(l,{icon:"fa-regular fa-clock",class:"mr-1"}),h(" "+o(e.$t("seedance.status.pending")),1)]),default:p(()=>[r("p",Hs,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+o(e.$t("seedance.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(m,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})]))])])}const ft=E(Ns,[["render",pt],["__scopeId","data-v-abf462e3"]]),_t=b({name:"SeedanceRecentPanel",components:{TaskPreview:ft,BotPlaceholder:$e,NoTasks:pe,ScrollList:me},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],computed:{tasks(){return{...this.$store.state.seedance?.tasks,items:this.$store.state.seedance?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),ht={key:0},vt={key:2,class:"w-full h-full flex items-center justify-center"};function $t(e,a,u,f,g,$){const c=t("bot-placeholder"),l=t("task-preview"),m=t("scroll-list"),d=t("no-tasks");return n(),i(L,null,[e.tasks?.items===void 0?(n(),i("div",ht,[s(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),w(m,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:a[0]||(a[0]=k=>e.$emit("reach-top"))},{default:p(()=>[(n(!0),i(L,null,A(e.tasks?.items,k=>(n(),w(l,{key:k.id,"model-value":k},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(n(),i("div",vt,[s(d)])):v("",!0)],64)}const gt=E(_t,[["render",$t]]),bt="https://webhook.acedata.cloud/seedance",Et=b({name:"SeedanceIndex",components:{ConfigPanel:Us,Layout:Se,RecentPanel:gt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.seedance?.status?.getApplications===O.Request},tasksLoading(){return this.$store.state.seedance?.status?.getTasks===O.Request||this.fetchingTasks},credential(){return this.$store.state.seedance?.credential},config(){return this.$store.state.seedance?.config},tasks(){return this.$store.state.seedance?.tasks}},watch:{initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ge({tasks:this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch("seedance/getService")},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;const{limit:a=5,createdAtMin:u,createdAtMax:f}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch("seedance/getTasks",{limit:a,createdAtMin:u,createdAtMax:f})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config||{}};if(typeof e?.prompt=="string"&&(e.prompt=e.prompt.trim(),e.prompt||delete e.prompt),Array.isArray(e?.images)){e.images=e.images.filter(c=>!!c?.url);const g=e.images.some(c=>c?.role==="first_frame"),$=e.images.some(c=>c?.role==="last_frame");!g&&$&&(e.images=e.images.map(c=>c?.role==="last_frame"?{...c,role:"first_frame"}:c))}!(Array.isArray(e?.images)&&e.images.length>0)&&"images"in e&&delete e.images;const u={...e,callback_url:bt},f=this.credential?.token;if(!f){console.error("no token specified");return}y.info(this.$t("seedance.message.startingTask")),ce.generate(u,{token:f}).then(()=>{y.success(this.$t("seedance.message.startTaskSuccess"))}).catch(g=>{const $=g?.response?.data;$?.error?.code===de?y.error(this.$t("seedance.message.usedUp")):y.error(this.$t("seedance.message.startTaskFailed")+($?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function kt(e,a,u,f,g,$){const c=t("config-panel"),l=t("recent-panel"),m=t("layout");return n(),w(m,null,{config:p(()=>[s(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:p(()=>[s(l,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const jt=E(Et,[["render",kt]]);export{jt as default};