@acedatacloud/nexior 3.30.0 → 3.30.2

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 (57) hide show
  1. package/dist/assets/{Auth-BFD9CUrX.js → Auth-BkGrZ4Al.js} +1 -1
  2. package/dist/assets/{BotPlaceholder-BfDpV6UE.js → BotPlaceholder-ClX8uvvo.js} +1 -1
  3. package/dist/assets/{Callback-CqMwYExD.js → Callback-IUPA4O7m.js} +1 -1
  4. package/dist/assets/{Console-DJ0LvdzB.js → Console-BTsHmxR2.js} +1 -1
  5. package/dist/assets/{Conversation-CG7Vuksf.js → Conversation-BQBR_j0K.js} +1 -1
  6. package/dist/assets/{CopyToClipboard-C_hpGFI6.js → CopyToClipboard-D0yPTPYW.js} +1 -1
  7. package/dist/assets/{Detail-DY6A4sD9.js → Detail-BcwTLOZv.js} +1 -1
  8. package/dist/assets/{EditArray-IlWOQ17d.js → EditArray-DpGXSb1V.js} +1 -1
  9. package/dist/assets/{Extra-3lJtHZjg.js → Extra-CE80Lwfe.js} +1 -1
  10. package/dist/assets/{FilePreview-Bpmd6-yb.js → FilePreview-FTIIxIUg.js} +1 -1
  11. package/dist/assets/{History-xXil8VVh.js → History-Cq4Psb81.js} +1 -1
  12. package/dist/assets/{ImagePreview-C81-sroB.js → ImagePreview-Dun0qhAC.js} +1 -1
  13. package/dist/assets/{ImageWrapper-CafePFBU.js → ImageWrapper-DAJLZ3ud.js} +1 -1
  14. package/dist/assets/{Index-Bq-4vMGX.js → Index-B3g6nU2_.js} +1 -1
  15. package/dist/assets/{Index-D7cpbssY.js → Index-B8R2yKg9.js} +1 -1
  16. package/dist/assets/{Index-Cwduph5Y.js → Index-B8lqf5YW.js} +1 -1
  17. package/dist/assets/{Index-BHWbH-IB.js → Index-BEZF06uI.js} +1 -1
  18. package/dist/assets/{Index-BPsxCJLR.css → Index-BS4HFQ5A.css} +1 -1
  19. package/dist/assets/{Index-BttSzwZS.js → Index-BdtTQ6vy.js} +1 -1
  20. package/dist/assets/{Index-BTMnpHAB.js → Index-Bj7Azusj.js} +1 -1
  21. package/dist/assets/{Index-D4VINF4l.js → Index-BlTMjqXS.js} +1 -1
  22. package/dist/assets/{Index-ByRQW5yK.css → Index-C1IT2qoC.css} +1 -1
  23. package/dist/assets/{Index-D0HSsKHV.css → Index-CB8Rnaiw.css} +1 -1
  24. package/dist/assets/{Index-BHPQlSrx.css → Index-CXVGa2ZU.css} +1 -1
  25. package/dist/assets/{Index-BvGIjCeq.js → Index-CisgqdWF.js} +1 -1
  26. package/dist/assets/{Index-BFGf-YYs.js → Index-DOEux2Eg.js} +1 -1
  27. package/dist/assets/{Index-DFtrjaKk.js → Index-DQFKWn2R.js} +1 -1
  28. package/dist/assets/{Index-D1QgA58M.css → Index-DWp92Qyv.css} +1 -1
  29. package/dist/assets/{Index-CczNCX1V.js → Index-DWvt1qKL.js} +1 -1
  30. package/dist/assets/{Index-C_lTdl1n.js → Index-DXqYbSJL.js} +1 -1
  31. package/dist/assets/{Index-qHMVcnL5.js → Index-DfUlcZfy.js} +1 -1
  32. package/dist/assets/{Index-DE-Le67g.js → Index-DyjIS2LR.js} +1 -1
  33. package/dist/assets/{Index-Dlkri-Nx.js → Index-KwYNRzOz.js} +1 -1
  34. package/dist/assets/{Index-DOijBIse.js → Index-M5tWRCsH.js} +1 -1
  35. package/dist/assets/{Index-D_fTTJPb.js → Index-Zpzkw1HQ.js} +1 -1
  36. package/dist/assets/{Index-D_ER7_wh.css → Index-feu64dNe.css} +1 -1
  37. package/dist/assets/{Index-DeBTh_5M.js → Index-ocDyFWdk.js} +1 -1
  38. package/dist/assets/{Invitees-Bwf6Sx5L.js → Invitees-BCHKmn__.js} +1 -1
  39. package/dist/assets/{List-BuzBZYNs.js → List-0wMSr6sl.js} +1 -1
  40. package/dist/assets/{List-DykznTcB.js → List-D-RW25bD.js} +1 -1
  41. package/dist/assets/{List-Cm_1Pl_m.js → List-DX7teWzL.js} +1 -1
  42. package/dist/assets/{Main-U-Zwfh9K.js → Main-DgiFebD-.js} +1 -1
  43. package/dist/assets/{Navigator--_Jw-oQ6.js → Navigator-D08MfOeK.js} +1 -1
  44. package/dist/assets/{NoTasks-Bg3dk3Zk.js → NoTasks-CQZOGbwI.js} +1 -1
  45. package/dist/assets/{Pagination-Chbfcf6l.js → Pagination-B1kOfzR8.js} +1 -1
  46. package/dist/assets/{ScrollList-DtikpNk7.js → ScrollList-CfFOKFbb.js} +1 -1
  47. package/dist/assets/{Status-CaUFs7gn.js → Status-CviAA8Me.js} +1 -1
  48. package/dist/assets/{Subscribe-Ccl8kWoO.js → Subscribe-QybZFlvY.js} +1 -1
  49. package/dist/assets/{VideoPlayer-CXGW06AO.js → VideoPlayer-Bx5Q-Jo7.js} +1 -1
  50. package/dist/assets/{distribution-dxlLtIkZ.js → distribution-D9pkXpfI.js} +1 -1
  51. package/dist/assets/{index-BceQaAb7.js → index-BwtxyV6k.js} +2 -2
  52. package/dist/assets/{order-C7LItaBN.js → order-DYcfG_Yw.js} +1 -1
  53. package/dist/assets/{price-DtWUJRlS.js → price-Clo8IP03.js} +1 -1
  54. package/dist/index.html +1 -1
  55. package/dist/robots.txt +42 -0
  56. package/dist/sitemap.xml +124 -0
  57. package/package.json +1 -1
@@ -1 +1 @@
1
- import{bH as L}from"./vendor-B4-12K57.js";import{k as U,O as q,j,r as R,s as V,q as N,o as H,C as K,i as W}from"./vendor-element-plus-C2t7-rNg.js";import{d as b,c as m,a as n,l as o,P as C,S as c,am as s,o as a,Z as i,Y as g,R as v,W as _,V as T,a1 as M,F as z,ak as Y}from"./vendor-vue-BzRnDgD5.js";import{_ as w,b6 as Z,b7 as J,b8 as Q,a5 as A,b9 as X,ak as x,ah as B}from"./index-BceQaAb7.js";import{I as S,S as ee}from"./ScrollList-DtikpNk7.js";import{I as D}from"./ImagePreview-C81-sroB.js";import{F as te}from"./FilePreview-Bpmd6-yb.js";import{V as F}from"./VideoPlayer-CXGW06AO.js";import{C as oe,N as se}from"./NoTasks-Bg3dk3Zk.js";import{a as ne}from"./price-DtWUJRlS.js";import{C as ae}from"./CopyToClipboard-C_hpGFI6.js";import{B as le}from"./BotPlaceholder-BfDpV6UE.js";import{l as ie}from"./pagination-bjoHZNQW.js";import"./vendor-dayjs-D6Igi227.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-nHemWFue.js";const re=b({name:"LayoutLuma",components:{ElDrawer:q,ElButton:U,FontAwesomeIcon:L},data(){return{drawer:!1}}}),ce={class:"main flex flex-row flex-1"},ue={class:"config w-[300px] h-full overflow-y-scroll bg-[var(--app-sidebar-bg)]"},de={class:"result h-full p-[15px] flex-1 flex flex-col"};function me(e,t,p,h,k,y){const r=s("font-awesome-icon"),d=s("el-button"),u=s("el-drawer");return a(),m("div",ce,[n("div",ue,[C(e.$slots,"config",{},void 0,!0)]),n("div",de,[C(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=$=>e.drawer=!0)},{default:c(()=>[o(r,{icon:"fa-solid fa-magic"})]),_:1}),o(u,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=$=>e.drawer=$),direction:"ltr","with-header":!1,size:"350px",class:"drawer"},{default:c(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const pe=w(re,[["render",me],["__scopeId","data-v-a55e8715"]]),fe=b({name:"EnhancementSelector",components:{ElSwitch:j,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug("set enhancement",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=Z)}}),_e={class:"relative"},he={class:"flex justify-between"},$e={class:"flex justify-start items-center"},ge={class:"text-sm font-bold"},ve={class:"flex justify-end items-center"};function be(e,t,p,h,k,y){const r=s("info-icon"),d=s("el-switch");return a(),m("div",_e,[n("div",he,[n("div",$e,[n("span",ge,i(e.$t("luma.name.enhancement")),1),o(r,{content:e.$t("luma.description.enhancement")},null,8,["content"])]),n("div",ve,[o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=u=>e.value=u),class:"value"},null,8,["modelValue"])])])])}const we=w(fe,[["render",be]]),ke=b({name:"CustomSelector",components:{ElSwitch:j,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug("set custom",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=J)}}),ye={class:"relative"},Ve={class:"flex justify-between"},Ee={class:"flex justify-start items-center"},Se={class:"text-sm font-bold"},Le={class:"flex justify-end items-center"};function Ue(e,t,p,h,k,y){const r=s("info-icon"),d=s("el-switch");return a(),m("div",ye,[n("div",Ve,[n("div",Ee,[n("span",Se,i(e.$t("luma.name.custom")),1),o(r,{content:e.$t("luma.description.custom")},null,8,["content"])]),n("div",Le,[o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=u=>e.value=u),class:"value"},null,8,["modelValue"])])])])}const Ie=w(ke,[["render",Ue]]),Te=b({name:"LoopSelector",components:{ElSwitch:j,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug("set loop",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=Q)}}),Ce={class:"relative"},je={class:"flex justify-between"},Re={class:"flex justify-start items-center"},Ae={class:"text-sm font-bold"},Pe={class:"flex justify-end items-center"};function Ge(e,t,p,h,k,y){const r=s("info-icon"),d=s("el-switch");return a(),m("div",Ce,[n("div",je,[n("div",Re,[n("span",Ae,i(e.$t("luma.name.loop")),1),o(r,{content:e.$t("luma.description.loop")},null,8,["content"])]),n("div",Pe,[o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=u=>e.value=u),class:"value"},null,8,["modelValue"])])])])}const Me=w(Te,[["render",Ge]]),ze=b({name:"EndImage",components:{ElUpload:R,ElButton:U,ImagePreview:D,InfoIcon:S,FontAwesomeIcon:L},data(){return{fileList:[],uploadUrl:A()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onExceed(){V.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){V.error(this.$t("luma.message.uploadReferencesError"))},onSetEndImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),Be={class:"relative"},De={class:"flex justify-between"},Fe={class:"flex justify-start items-center"},Oe={class:"text-sm font-bold"};function qe(e,t,p,h,k,y){const r=s("info-icon"),d=s("image-preview"),u=s("font-awesome-icon"),$=s("el-button"),f=s("el-upload");return a(),m("div",Be,[n("div",De,[n("div",Fe,[n("span",Oe,i(e.$t("luma.name.endImageUrl")),1),o(r,{content:e.$t("luma.description.endImageUrl")},null,8,["content"])])]),o(f,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:l})=>[l.url&&l.percentage!==void 0?(a(),v(d,{key:0,url:l.url,name:l.name,percentage:l.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):_("",!0)]),default:c(()=>[o($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(u,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadEndImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Ne=w(ze,[["render",qe],["__scopeId","data-v-7ab78c3e"]]),He=b({name:"StartImage",components:{ElUpload:R,ElButton:U,ImagePreview:D,InfoIcon:S,FontAwesomeIcon:L},data(){return{fileList:[],uploadUrl:A()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){V.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){V.error(this.$t("luma.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Ke={class:"relative"},We={class:"flex justify-between"},Ye={class:"flex justify-start items-center"},Ze={class:"text-sm font-bold"};function Je(e,t,p,h,k,y){const r=s("info-icon"),d=s("image-preview"),u=s("font-awesome-icon"),$=s("el-button"),f=s("el-upload");return a(),m("div",Ke,[n("div",We,[n("div",Ye,[n("span",Ze,i(e.$t("luma.name.startImageUrl")),1),o(r,{content:e.$t("luma.description.startImageUrl")},null,8,["content"])])]),o(f,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:l})=>[l.percentage!=null?(a(),v(d,{key:0,url:l.url||l.response.file_url,name:l.name,percentage:l.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):_("",!0)]),default:c(()=>[o($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(u,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Qe=w(He,[["render",Je],["__scopeId","data-v-425a8cec"]]),Xe=b({name:"UploadVideo",components:{ElUpload:R,ElButton:U,InfoIcon:S,FilePreview:te,FontAwesomeIcon:L},data(){return{fileList:[],uploadUrl:A()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||(this.value=void 0)},methods:{onExceed(){V.warning(this.$t("luma.message.uploadVideoExceed"))},onError(){V.error(this.$t("luma.message.uploadVideoError"))},beforeUpload(e){const t=e.type==="video/mp4",p=e.size/1024/1024<10;return t?p?!0:(V.error(this.$t("luma.message.uploadVideoSizeExceed")),!1):(V.error(this.$t("luma.message.uploadVideoTypeFailed")),!1)},onSetVideoUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e,action:"extend"})},async onSuccess(){this.onSetVideoUrl()}}}),xe={class:"relative"},et={class:"flex justify-between"},tt={class:"flex justify-start items-center"},ot={class:"text-sm font-bold"};function st(e,t,p,h,k,y){const r=s("info-icon"),d=s("file-preview"),u=s("font-awesome-icon"),$=s("el-button"),f=s("el-upload");return a(),m("div",xe,[n("div",et,[n("div",tt,[n("span",ot,i(e.$t("luma.name.videoUrl")),1),o(r,{content:e.$t("luma.description.videoUrl")},null,8,["content"])])]),o(f,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),accept:".mp4",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:l})=>[l.percentage!=null?(a(),v(d,{key:0,url:l.url||l.response?.file_url,name:l.name,percentage:l.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):_("",!0)]),default:c(()=>[o($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(u,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])])}const nt=w(Xe,[["render",st],["__scopeId","data-v-74e51526"]]),at="",lt=b({name:"PromptInput",components:{ElInput:N,InfoIcon:S},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=at)}}),it={class:"field"},rt={class:"box"},ct={class:"title font-bold"};function ut(e,t,p,h,k,y){const r=s("info-icon"),d=s("el-input");return a(),m("div",it,[n("div",rt,[n("h2",ct,i(e.$t("luma.name.prompt")),1),o(r,{content:e.$t("luma.description.prompt"),class:"info"},null,8,["content"])]),o(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=u=>e.prompt=u),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("luma.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const dt=w(lt,[["render",ut],["__scopeId","data-v-281baab8"]]),mt=b({name:"ExtendFromInput",components:{VideoPlayer:F},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.luma?.config}}}),pt={class:"relative"},ft={class:"flex mb-2"},_t={class:"text-sm font-bold"};function ht(e,t,p,h,k,y){const r=s("video-player");return a(),m("div",pt,[n("div",ft,[n("span",_t,i(e.$t("luma.name.extend")),1)]),n("div",null,[e.config?.video_url?(a(),v(r,{key:0,src:e.config?.video_url},null,8,["src"])):_("",!0)])])}const $t=w(mt,[["render",ht]]),gt=b({name:"ConfigPanel",components:{LoopSelector:Me,StartImageInput:Qe,EndImageInput:Ne,EnhancementSelector:we,ElButton:U,FontAwesomeIcon:L,PromptInput:dt,ExtendFromInput:$t,CustomSelector:Ie,UploadVideo:nt,Consumption:oe},emits:["generate"],computed:{config(){return this.$store.state.luma?.config},consumption(){return ne(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit("generate")}}}),vt={class:"flex flex-col h-full"},bt={class:"flex-1 overflow-y-auto p-[15px]"},wt={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function kt(e,t,p,h,k,y){const r=s("extend-from-input"),d=s("prompt-input"),u=s("custom-selector"),$=s("upload-video"),f=s("start-image-input"),l=s("end-image-input"),E=s("enhancement-selector"),I=s("loop-selector"),O=s("consumption"),P=s("font-awesome-icon"),G=s("el-button");return a(),m("div",vt,[n("div",bt,[e.config?.video_id||e.config?.video_url?(a(),v(r,{key:0,class:"mb-4"})):_("",!0),o(d,{class:"mb-4"}),e.config?.video_id?_("",!0):(a(),v(u,{key:1,class:"mb-4"})),e.config?.custom?(a(),v($,{key:2,class:"mb-4"})):_("",!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(a(),v(f,{key:3,class:"mb-4"})):_("",!0),o(l,{class:"mb-4"}),o(E,{class:"mb-4"}),o(I,{class:"mb-4"})]),n("div",wt,[o(O,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(a(),v(G,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[o(P,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+i(e.$t("luma.button.extend")),1)]),_:1},8,["onClick"])):(a(),v(G,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[o(P,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+i(e.$t("luma.button.generate")),1)]),_:1},8,["onClick"]))])])}const yt=w(gt,[["render",kt]]),Vt=b({name:"TaskPreview",components:{ElImage:W,CopyToClipboard:ae,FontAwesomeIcon:L,ElAlert:K,VideoPlayer:F,ElTooltip:H,ElButton:U},props:{modelValue:{type:Object,required:!0}},emits:["extend"],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,t){console.debug("set config",t),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:"extend",thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit("extend")},onDownload(e){window.open(e,"_blank")}}}),Et={class:"preview"},St={class:"left"},Lt={class:"main"},Ut={class:"bot"},It={class:"datetime"},Tt={class:"info"},Ct={key:0,class:"prompt mt-2"},jt={key:0},Rt={key:1},At={key:0,class:T({content:!0,failed:!0})},Pt={key:0,class:"mb-4"},Gt={key:1,class:T({operations:!0,"mt-2":!0,"mb-4":!0})},Mt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},zt={key:1,class:T({content:!0})},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ft={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ot={key:2,class:T({content:!0})},qt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Nt(e,t,p,h,k,y){const r=s("el-image"),d=s("video-player"),u=s("el-button"),$=s("el-tooltip"),f=s("font-awesome-icon"),l=s("copy-to-clipboard"),E=s("el-alert");return a(),m("div",Et,[n("div",St,[o(r,{src:"https://cdn.acedata.cloud/ahjfwi.png",class:"avatar"})]),n("div",Lt,[n("div",Ut,[g(i(e.$t("luma.name.lumaBot"))+" ",1),n("span",It,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),n("div",Tt,[e.modelValue?.request?.prompt?(a(),m("p",Ct,[g(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?_("",!0):(a(),m("span",jt," - ("+i(e.$t("luma.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),m("span",Rt," - ("+i(e.$t("luma.status.processing"))+") ",1)):_("",!0)])):_("",!0)]),e.modelValue?.response?.success===!0?(a(),m("div",At,[e.modelValue.response.video_url?(a(),m("div",Pt,[o(d,{src:e.modelValue.response.video_url},null,8,["src"])])):_("",!0),e.modelValue?.response&&!e.config?.custom?(a(),m("div",Gt,[o($,{class:"box-item",effect:"dark",content:e.$t("luma.message.extendVideo"),placement:"top-start"},{default:c(()=>[o(u,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=M(I=>e.onExtend(I,e.modelValue?.response),["stop"]))},{default:c(()=>[g(i(e.$t("luma.button.extend")),1)]),_:1})]),_:1},8,["content"]),o($,{class:"box-item",effect:"dark",content:e.$t("luma.message.downloadVideo"),placement:"top-start"},{default:c(()=>[o(u,{type:"info",size:"small",class:"btn-action",onClick:t[1]||(t[1]=M(I=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:c(()=>[g(i(e.$t("luma.button.download")),1)]),_:1})]),_:1},8,["content"])])):_("",!0),o(E,{closable:!1,class:"mt-2 success"},{default:c(()=>[n("p",Mt,[o(f,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(l,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):_("",!0),e.modelValue?.response?.state==="failed"||e.modelValue?.response?.success===!1?(a(),m("div",zt,[o(E,{closable:!1,class:"failure"},{template:c(()=>[o(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+i(e.$t("luma.name.failure")),1)]),default:c(()=>[n("p",Bt,[o(f,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(l,{content:e.modelValue?.id},null,8,["content"])]),n("p",Dt,[o(f,{icon:"fa-solid fa-circle-info",class:"mr-1"}),g(" "+i(e.$t("luma.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),o(l,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),n("p",Ft,[o(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),g(" "+i(e.$t("luma.name.traceId"))+": "+i(e.modelValue?.trace_id)+" ",1),o(l,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):_("",!0),!e.modelValue?.response||e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),m("div",Ot,[o(E,{closable:!1,class:"info"},{template:c(()=>[o(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+i(e.$t("luma.name.failure")),1)]),default:c(()=>[n("p",qt,[o(f,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(l,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):_("",!0)])])}const Ht=w(Vt,[["render",Nt],["__scopeId","data-v-a30031b6"]]),Kt=b({name:"RecentPanel",components:{BotPlaceholder:le,TaskPreview:Ht,NoTasks:se,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:["reach-top","extend"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Wt={key:0},Yt={key:2,class:"w-full h-full flex items-center justify-center"};function Zt(e,t,p,h,k,y){const r=s("bot-placeholder"),d=s("task-preview"),u=s("scroll-list"),$=s("no-tasks");return a(),m(z,null,[e.tasks?.items===void 0?(a(),m("div",Wt,[o(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),v(u,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:t[1]||(t[1]=f=>e.$emit("reach-top"))},{default:c(()=>[(a(!0),m(z,null,Y(e.tasks?.items,f=>(a(),v(d,{key:f.id,"model-value":f,onExtend:t[0]||(t[0]=l=>e.$emit("extend"))},null,8,["model-value"]))),128))]),_:1},8,["loading"])):_("",!0),e.tasks?.items?.length===0?(a(),m("div",Yt,[o($)])):_("",!0)],64)}const Jt=w(Kt,[["render",Zt]]),Qt="https://webhook.acedata.cloud/luma",Xt=b({name:"LumaIndex",components:{ConfigPanel:yt,Layout:pe,RecentPanel:Jt},inject:["initialized"],emits:["extend"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===B.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===B.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ie({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("luma/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("luma/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){console.debug("scrolling down"),await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:p,createdAtMax:h}=e||{};console.debug("limit",t,"createdAtMin",p,"createdAtMax",h),this.fetchingTasks=!0;try{await this.$store.dispatch("luma/getTasks",{limit:t,createdAtMin:p,createdAtMax:h})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Qt},t=this.credential?.token;if(!t){console.error("no token specified");return}V.info(this.$t("luma.message.startingTask")),X.generate(e,{token:t}).then(()=>{V.success(this.$t("luma.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===x?V.error(this.$t("luma.message.usedUp")):V.error(this.$t("luma.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function xt(e,t,p,h,k,y){const r=s("config-panel"),d=s("recent-panel"),u=s("layout");return a(),v(u,null,{config:c(()=>[o(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:c(()=>[o(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:t[0]||(t[0]=$=>e.$emit("extend"))},null,8,["loading","onReachTop"])]),_:1})}const go=w(Xt,[["render",xt]]);export{go as default};
1
+ import{bH as L}from"./vendor-B4-12K57.js";import{k as U,O as q,j,r as R,s as V,q as N,o as H,C as K,i as W}from"./vendor-element-plus-C2t7-rNg.js";import{d as b,c as m,a as n,l as o,P as C,S as c,am as s,o as a,Z as i,Y as g,R as v,W as _,V as T,a1 as M,F as z,ak as Y}from"./vendor-vue-BzRnDgD5.js";import{_ as w,b6 as Z,b7 as J,b8 as Q,a5 as A,b9 as X,ak as x,ah as B}from"./index-BwtxyV6k.js";import{I as S,S as ee}from"./ScrollList-CfFOKFbb.js";import{I as D}from"./ImagePreview-Dun0qhAC.js";import{F as te}from"./FilePreview-FTIIxIUg.js";import{V as F}from"./VideoPlayer-Bx5Q-Jo7.js";import{C as oe,N as se}from"./NoTasks-CQZOGbwI.js";import{a as ne}from"./price-Clo8IP03.js";import{C as ae}from"./CopyToClipboard-D0yPTPYW.js";import{B as le}from"./BotPlaceholder-ClX8uvvo.js";import{l as ie}from"./pagination-bjoHZNQW.js";import"./vendor-dayjs-D6Igi227.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-nHemWFue.js";const re=b({name:"LayoutLuma",components:{ElDrawer:q,ElButton:U,FontAwesomeIcon:L},data(){return{drawer:!1}}}),ce={class:"main flex flex-row flex-1"},ue={class:"config w-[300px] h-full overflow-y-scroll bg-[var(--app-sidebar-bg)]"},de={class:"result h-full p-[15px] flex-1 flex flex-col"};function me(e,t,p,h,k,y){const r=s("font-awesome-icon"),d=s("el-button"),u=s("el-drawer");return a(),m("div",ce,[n("div",ue,[C(e.$slots,"config",{},void 0,!0)]),n("div",de,[C(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=$=>e.drawer=!0)},{default:c(()=>[o(r,{icon:"fa-solid fa-magic"})]),_:1}),o(u,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=$=>e.drawer=$),direction:"ltr","with-header":!1,size:"350px",class:"drawer"},{default:c(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const pe=w(re,[["render",me],["__scopeId","data-v-a55e8715"]]),fe=b({name:"EnhancementSelector",components:{ElSwitch:j,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug("set enhancement",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=Z)}}),_e={class:"relative"},he={class:"flex justify-between"},$e={class:"flex justify-start items-center"},ge={class:"text-sm font-bold"},ve={class:"flex justify-end items-center"};function be(e,t,p,h,k,y){const r=s("info-icon"),d=s("el-switch");return a(),m("div",_e,[n("div",he,[n("div",$e,[n("span",ge,i(e.$t("luma.name.enhancement")),1),o(r,{content:e.$t("luma.description.enhancement")},null,8,["content"])]),n("div",ve,[o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=u=>e.value=u),class:"value"},null,8,["modelValue"])])])])}const we=w(fe,[["render",be]]),ke=b({name:"CustomSelector",components:{ElSwitch:j,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug("set custom",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=J)}}),ye={class:"relative"},Ve={class:"flex justify-between"},Ee={class:"flex justify-start items-center"},Se={class:"text-sm font-bold"},Le={class:"flex justify-end items-center"};function Ue(e,t,p,h,k,y){const r=s("info-icon"),d=s("el-switch");return a(),m("div",ye,[n("div",Ve,[n("div",Ee,[n("span",Se,i(e.$t("luma.name.custom")),1),o(r,{content:e.$t("luma.description.custom")},null,8,["content"])]),n("div",Le,[o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=u=>e.value=u),class:"value"},null,8,["modelValue"])])])])}const Ie=w(ke,[["render",Ue]]),Te=b({name:"LoopSelector",components:{ElSwitch:j,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug("set loop",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=Q)}}),Ce={class:"relative"},je={class:"flex justify-between"},Re={class:"flex justify-start items-center"},Ae={class:"text-sm font-bold"},Pe={class:"flex justify-end items-center"};function Ge(e,t,p,h,k,y){const r=s("info-icon"),d=s("el-switch");return a(),m("div",Ce,[n("div",je,[n("div",Re,[n("span",Ae,i(e.$t("luma.name.loop")),1),o(r,{content:e.$t("luma.description.loop")},null,8,["content"])]),n("div",Pe,[o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=u=>e.value=u),class:"value"},null,8,["modelValue"])])])])}const Me=w(Te,[["render",Ge]]),ze=b({name:"EndImage",components:{ElUpload:R,ElButton:U,ImagePreview:D,InfoIcon:S,FontAwesomeIcon:L},data(){return{fileList:[],uploadUrl:A()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onExceed(){V.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){V.error(this.$t("luma.message.uploadReferencesError"))},onSetEndImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),Be={class:"relative"},De={class:"flex justify-between"},Fe={class:"flex justify-start items-center"},Oe={class:"text-sm font-bold"};function qe(e,t,p,h,k,y){const r=s("info-icon"),d=s("image-preview"),u=s("font-awesome-icon"),$=s("el-button"),f=s("el-upload");return a(),m("div",Be,[n("div",De,[n("div",Fe,[n("span",Oe,i(e.$t("luma.name.endImageUrl")),1),o(r,{content:e.$t("luma.description.endImageUrl")},null,8,["content"])])]),o(f,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:l})=>[l.url&&l.percentage!==void 0?(a(),v(d,{key:0,url:l.url,name:l.name,percentage:l.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):_("",!0)]),default:c(()=>[o($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(u,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadEndImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Ne=w(ze,[["render",qe],["__scopeId","data-v-7ab78c3e"]]),He=b({name:"StartImage",components:{ElUpload:R,ElButton:U,ImagePreview:D,InfoIcon:S,FontAwesomeIcon:L},data(){return{fileList:[],uploadUrl:A()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){V.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){V.error(this.$t("luma.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Ke={class:"relative"},We={class:"flex justify-between"},Ye={class:"flex justify-start items-center"},Ze={class:"text-sm font-bold"};function Je(e,t,p,h,k,y){const r=s("info-icon"),d=s("image-preview"),u=s("font-awesome-icon"),$=s("el-button"),f=s("el-upload");return a(),m("div",Ke,[n("div",We,[n("div",Ye,[n("span",Ze,i(e.$t("luma.name.startImageUrl")),1),o(r,{content:e.$t("luma.description.startImageUrl")},null,8,["content"])])]),o(f,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:l})=>[l.percentage!=null?(a(),v(d,{key:0,url:l.url||l.response.file_url,name:l.name,percentage:l.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):_("",!0)]),default:c(()=>[o($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(u,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Qe=w(He,[["render",Je],["__scopeId","data-v-425a8cec"]]),Xe=b({name:"UploadVideo",components:{ElUpload:R,ElButton:U,InfoIcon:S,FilePreview:te,FontAwesomeIcon:L},data(){return{fileList:[],uploadUrl:A()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||(this.value=void 0)},methods:{onExceed(){V.warning(this.$t("luma.message.uploadVideoExceed"))},onError(){V.error(this.$t("luma.message.uploadVideoError"))},beforeUpload(e){const t=e.type==="video/mp4",p=e.size/1024/1024<10;return t?p?!0:(V.error(this.$t("luma.message.uploadVideoSizeExceed")),!1):(V.error(this.$t("luma.message.uploadVideoTypeFailed")),!1)},onSetVideoUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e,action:"extend"})},async onSuccess(){this.onSetVideoUrl()}}}),xe={class:"relative"},et={class:"flex justify-between"},tt={class:"flex justify-start items-center"},ot={class:"text-sm font-bold"};function st(e,t,p,h,k,y){const r=s("info-icon"),d=s("file-preview"),u=s("font-awesome-icon"),$=s("el-button"),f=s("el-upload");return a(),m("div",xe,[n("div",et,[n("div",tt,[n("span",ot,i(e.$t("luma.name.videoUrl")),1),o(r,{content:e.$t("luma.description.videoUrl")},null,8,["content"])])]),o(f,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),accept:".mp4",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:l})=>[l.percentage!=null?(a(),v(d,{key:0,url:l.url||l.response?.file_url,name:l.name,percentage:l.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):_("",!0)]),default:c(()=>[o($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(u,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])])}const nt=w(Xe,[["render",st],["__scopeId","data-v-74e51526"]]),at="",lt=b({name:"PromptInput",components:{ElInput:N,InfoIcon:S},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=at)}}),it={class:"field"},rt={class:"box"},ct={class:"title font-bold"};function ut(e,t,p,h,k,y){const r=s("info-icon"),d=s("el-input");return a(),m("div",it,[n("div",rt,[n("h2",ct,i(e.$t("luma.name.prompt")),1),o(r,{content:e.$t("luma.description.prompt"),class:"info"},null,8,["content"])]),o(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=u=>e.prompt=u),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("luma.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const dt=w(lt,[["render",ut],["__scopeId","data-v-281baab8"]]),mt=b({name:"ExtendFromInput",components:{VideoPlayer:F},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.luma?.config}}}),pt={class:"relative"},ft={class:"flex mb-2"},_t={class:"text-sm font-bold"};function ht(e,t,p,h,k,y){const r=s("video-player");return a(),m("div",pt,[n("div",ft,[n("span",_t,i(e.$t("luma.name.extend")),1)]),n("div",null,[e.config?.video_url?(a(),v(r,{key:0,src:e.config?.video_url},null,8,["src"])):_("",!0)])])}const $t=w(mt,[["render",ht]]),gt=b({name:"ConfigPanel",components:{LoopSelector:Me,StartImageInput:Qe,EndImageInput:Ne,EnhancementSelector:we,ElButton:U,FontAwesomeIcon:L,PromptInput:dt,ExtendFromInput:$t,CustomSelector:Ie,UploadVideo:nt,Consumption:oe},emits:["generate"],computed:{config(){return this.$store.state.luma?.config},consumption(){return ne(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit("generate")}}}),vt={class:"flex flex-col h-full"},bt={class:"flex-1 overflow-y-auto p-[15px]"},wt={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function kt(e,t,p,h,k,y){const r=s("extend-from-input"),d=s("prompt-input"),u=s("custom-selector"),$=s("upload-video"),f=s("start-image-input"),l=s("end-image-input"),E=s("enhancement-selector"),I=s("loop-selector"),O=s("consumption"),P=s("font-awesome-icon"),G=s("el-button");return a(),m("div",vt,[n("div",bt,[e.config?.video_id||e.config?.video_url?(a(),v(r,{key:0,class:"mb-4"})):_("",!0),o(d,{class:"mb-4"}),e.config?.video_id?_("",!0):(a(),v(u,{key:1,class:"mb-4"})),e.config?.custom?(a(),v($,{key:2,class:"mb-4"})):_("",!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(a(),v(f,{key:3,class:"mb-4"})):_("",!0),o(l,{class:"mb-4"}),o(E,{class:"mb-4"}),o(I,{class:"mb-4"})]),n("div",wt,[o(O,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(a(),v(G,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[o(P,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+i(e.$t("luma.button.extend")),1)]),_:1},8,["onClick"])):(a(),v(G,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[o(P,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+i(e.$t("luma.button.generate")),1)]),_:1},8,["onClick"]))])])}const yt=w(gt,[["render",kt]]),Vt=b({name:"TaskPreview",components:{ElImage:W,CopyToClipboard:ae,FontAwesomeIcon:L,ElAlert:K,VideoPlayer:F,ElTooltip:H,ElButton:U},props:{modelValue:{type:Object,required:!0}},emits:["extend"],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,t){console.debug("set config",t),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:"extend",thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit("extend")},onDownload(e){window.open(e,"_blank")}}}),Et={class:"preview"},St={class:"left"},Lt={class:"main"},Ut={class:"bot"},It={class:"datetime"},Tt={class:"info"},Ct={key:0,class:"prompt mt-2"},jt={key:0},Rt={key:1},At={key:0,class:T({content:!0,failed:!0})},Pt={key:0,class:"mb-4"},Gt={key:1,class:T({operations:!0,"mt-2":!0,"mb-4":!0})},Mt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},zt={key:1,class:T({content:!0})},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ft={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ot={key:2,class:T({content:!0})},qt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Nt(e,t,p,h,k,y){const r=s("el-image"),d=s("video-player"),u=s("el-button"),$=s("el-tooltip"),f=s("font-awesome-icon"),l=s("copy-to-clipboard"),E=s("el-alert");return a(),m("div",Et,[n("div",St,[o(r,{src:"https://cdn.acedata.cloud/ahjfwi.png",class:"avatar"})]),n("div",Lt,[n("div",Ut,[g(i(e.$t("luma.name.lumaBot"))+" ",1),n("span",It,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),n("div",Tt,[e.modelValue?.request?.prompt?(a(),m("p",Ct,[g(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?_("",!0):(a(),m("span",jt," - ("+i(e.$t("luma.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),m("span",Rt," - ("+i(e.$t("luma.status.processing"))+") ",1)):_("",!0)])):_("",!0)]),e.modelValue?.response?.success===!0?(a(),m("div",At,[e.modelValue.response.video_url?(a(),m("div",Pt,[o(d,{src:e.modelValue.response.video_url},null,8,["src"])])):_("",!0),e.modelValue?.response&&!e.config?.custom?(a(),m("div",Gt,[o($,{class:"box-item",effect:"dark",content:e.$t("luma.message.extendVideo"),placement:"top-start"},{default:c(()=>[o(u,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=M(I=>e.onExtend(I,e.modelValue?.response),["stop"]))},{default:c(()=>[g(i(e.$t("luma.button.extend")),1)]),_:1})]),_:1},8,["content"]),o($,{class:"box-item",effect:"dark",content:e.$t("luma.message.downloadVideo"),placement:"top-start"},{default:c(()=>[o(u,{type:"info",size:"small",class:"btn-action",onClick:t[1]||(t[1]=M(I=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:c(()=>[g(i(e.$t("luma.button.download")),1)]),_:1})]),_:1},8,["content"])])):_("",!0),o(E,{closable:!1,class:"mt-2 success"},{default:c(()=>[n("p",Mt,[o(f,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(l,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):_("",!0),e.modelValue?.response?.state==="failed"||e.modelValue?.response?.success===!1?(a(),m("div",zt,[o(E,{closable:!1,class:"failure"},{template:c(()=>[o(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+i(e.$t("luma.name.failure")),1)]),default:c(()=>[n("p",Bt,[o(f,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(l,{content:e.modelValue?.id},null,8,["content"])]),n("p",Dt,[o(f,{icon:"fa-solid fa-circle-info",class:"mr-1"}),g(" "+i(e.$t("luma.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),o(l,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),n("p",Ft,[o(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),g(" "+i(e.$t("luma.name.traceId"))+": "+i(e.modelValue?.trace_id)+" ",1),o(l,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):_("",!0),!e.modelValue?.response||e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),m("div",Ot,[o(E,{closable:!1,class:"info"},{template:c(()=>[o(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+i(e.$t("luma.name.failure")),1)]),default:c(()=>[n("p",qt,[o(f,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(l,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):_("",!0)])])}const Ht=w(Vt,[["render",Nt],["__scopeId","data-v-a30031b6"]]),Kt=b({name:"RecentPanel",components:{BotPlaceholder:le,TaskPreview:Ht,NoTasks:se,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:["reach-top","extend"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Wt={key:0},Yt={key:2,class:"w-full h-full flex items-center justify-center"};function Zt(e,t,p,h,k,y){const r=s("bot-placeholder"),d=s("task-preview"),u=s("scroll-list"),$=s("no-tasks");return a(),m(z,null,[e.tasks?.items===void 0?(a(),m("div",Wt,[o(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),v(u,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:t[1]||(t[1]=f=>e.$emit("reach-top"))},{default:c(()=>[(a(!0),m(z,null,Y(e.tasks?.items,f=>(a(),v(d,{key:f.id,"model-value":f,onExtend:t[0]||(t[0]=l=>e.$emit("extend"))},null,8,["model-value"]))),128))]),_:1},8,["loading"])):_("",!0),e.tasks?.items?.length===0?(a(),m("div",Yt,[o($)])):_("",!0)],64)}const Jt=w(Kt,[["render",Zt]]),Qt="https://webhook.acedata.cloud/luma",Xt=b({name:"LumaIndex",components:{ConfigPanel:yt,Layout:pe,RecentPanel:Jt},inject:["initialized"],emits:["extend"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===B.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===B.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ie({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("luma/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("luma/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){console.debug("scrolling down"),await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:p,createdAtMax:h}=e||{};console.debug("limit",t,"createdAtMin",p,"createdAtMax",h),this.fetchingTasks=!0;try{await this.$store.dispatch("luma/getTasks",{limit:t,createdAtMin:p,createdAtMax:h})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Qt},t=this.credential?.token;if(!t){console.error("no token specified");return}V.info(this.$t("luma.message.startingTask")),X.generate(e,{token:t}).then(()=>{V.success(this.$t("luma.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===x?V.error(this.$t("luma.message.usedUp")):V.error(this.$t("luma.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function xt(e,t,p,h,k,y){const r=s("config-panel"),d=s("recent-panel"),u=s("layout");return a(),v(u,null,{config:c(()=>[o(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:c(()=>[o(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:t[0]||(t[0]=$=>e.$emit("extend"))},null,8,["loading","onReachTop"])]),_:1})}const go=w(Xt,[["render",xt]]);export{go as default};
@@ -1 +1 @@
1
- .menu[data-v-087f869f]{display:none}@media (max-width: 767px){.main .config[data-v-087f869f]{display:none}.main .result[data-v-087f869f]{width:100%}.main .preview[data-v-087f869f]{display:none}.main .menu[data-v-087f869f]{display:block;position:absolute;right:8px;top:45px;z-index:1000}}.title[data-v-6236152c]{font-size:14px;margin-bottom:0;width:30%}.btn.btn-upload[data-v-6236152c]{position:absolute;top:5px;right:0}.upload-wrapper{height:auto;display:flex}.upload-wrapper .el-upload-list{margin:0;width:100%}.field[data-v-210d2670] .el-textarea__inner{font-family:monospace;line-height:1.6}.field .box[data-v-bcce4821]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;position:relative;margin-bottom:10px}.field .box .title[data-v-bcce4821]{font-size:14px;margin-bottom:10px}.field .box .input-wrapper[data-v-bcce4821]{width:150px;margin-left:30px}.field .box[data-v-06640216]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;position:relative;margin-bottom:10px}.field .box .title[data-v-06640216]{font-size:14px;margin-bottom:10px}.field .box .input-wrapper[data-v-06640216]{width:150px;margin-left:30px}.advanced-collapse[data-v-2f7e6648]{border:none}.advanced-collapse[data-v-2f7e6648] .el-collapse-item__header{font-size:14px;font-weight:700;background:transparent;border:none;height:32px;line-height:32px}.advanced-collapse[data-v-2f7e6648] .el-collapse-item__wrap{background:transparent;border:none}.advanced-collapse[data-v-2f7e6648] .el-collapse-item__content{padding-bottom:0}.panel[data-v-8201f79d]{height:100%;padding:15px;display:flex;flex-direction:column}.panel .config[data-v-8201f79d]{width:100%;height:calc(100% - 50px);flex:1;position:relative}.panel .actions[data-v-8201f79d]{height:50px;display:flex;justify-content:center;align-items:center}.panel .actions .btn[data-v-8201f79d]{width:100%}.task{display:flex;flex-direction:column;cursor:pointer}.task .audio{display:flex;margin-bottom:10px;border-radius:10px}.task .audio:hover{background-color:var(--el-bg-color-page)}.task .audio .left{position:relative;width:60px;height:60px;margin-right:16px;flex-shrink:0}.task .audio .left:hover .overlay{display:block}.task .audio .left .cover{width:100%;height:100%;border-radius:4px}.task .audio .left .duration{position:absolute;right:0;bottom:0;background-color:#000000b3;padding:2px 4px;color:#fff;border-radius:2px;font-size:10px}.task .audio .left .overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;display:none;transition:opacity .3s;border-radius:4px;text-align:center;line-height:70px;cursor:pointer}.task .audio .left .overlay .el-icon{font-size:20px;color:#fff}.task .audio .info{flex:1}.task .audio .info .title{font-size:14px;font-weight:700;margin-top:5px}.task .audio .info .style{font-size:12px;margin-bottom:0;color:var(--el-text-color-secondary)}.task .audio .right{width:120px;display:flex;align-items:center;justify-content:flex-end;padding-right:1px}.task .audio .right .icon{display:block;z-index:100;cursor:pointer;margin-right:15px}.task .audio .right .el-button{margin-right:15px}.player-slider .el-slider{height:10px}.player-slider .el-slider .el-slider__runway,.player-slider .el-slider .el-slider__bar{height:2px;border-radius:0}.player-slider .el-slider .el-slider__button-wrapper{width:10px;height:10px;top:-10.5px}.player-slider .el-slider .el-slider__button{width:8px;height:8px}.el-popover.el-popper{min-width:auto}.status[data-v-d1296b1a]{margin-bottom:10px}.panel.detail[data-v-d1296b1a]{width:100%;flex:1;overflow-y:scroll}.panel.recent[data-v-d1296b1a]{height:100%;width:100%;margin-bottom:10px;position:relative;justify-content:initial}.panel.operation[data-v-d1296b1a]{position:relative}
1
+ .menu[data-v-087f869f]{display:none}@media (max-width: 767px){.main .config[data-v-087f869f]{display:none}.main .result[data-v-087f869f]{width:100%}.main .preview[data-v-087f869f]{display:none}.main .menu[data-v-087f869f]{display:block;position:absolute;right:8px;top:45px;z-index:1000}}.title[data-v-6236152c]{font-size:14px;margin-bottom:0;width:30%}.btn.btn-upload[data-v-6236152c]{position:absolute;top:5px;right:0}.upload-wrapper{height:auto;display:flex}.upload-wrapper .el-upload-list{margin:0;width:100%}.field[data-v-210d2670] .el-textarea__inner{font-family:monospace;line-height:1.6}.field .box[data-v-bcce4821]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;position:relative;margin-bottom:10px}.field .box .title[data-v-bcce4821]{font-size:14px;margin-bottom:10px}.field .box .input-wrapper[data-v-bcce4821]{width:150px;margin-left:30px}.field .box[data-v-06640216]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;position:relative;margin-bottom:10px}.field .box .title[data-v-06640216]{font-size:14px;margin-bottom:10px}.field .box .input-wrapper[data-v-06640216]{width:150px;margin-left:30px}.advanced-collapse[data-v-be135363]{border:none}.advanced-collapse[data-v-be135363] .el-collapse-item__header{font-size:14px;font-weight:700;background:transparent;border:none;height:32px;line-height:32px}.advanced-collapse[data-v-be135363] .el-collapse-item__wrap{background:transparent;border:none}.advanced-collapse[data-v-be135363] .el-collapse-item__content{padding-bottom:0}.panel[data-v-8201f79d]{height:100%;padding:15px;display:flex;flex-direction:column}.panel .config[data-v-8201f79d]{width:100%;height:calc(100% - 50px);flex:1;position:relative}.panel .actions[data-v-8201f79d]{height:50px;display:flex;justify-content:center;align-items:center}.panel .actions .btn[data-v-8201f79d]{width:100%}.task{display:flex;flex-direction:column;cursor:pointer}.task .audio{display:flex;margin-bottom:10px;border-radius:10px}.task .audio:hover{background-color:var(--el-bg-color-page)}.task .audio .left{position:relative;width:60px;height:60px;margin-right:16px;flex-shrink:0}.task .audio .left:hover .overlay{display:block}.task .audio .left .cover{width:100%;height:100%;border-radius:4px}.task .audio .left .duration{position:absolute;right:0;bottom:0;background-color:#000000b3;padding:2px 4px;color:#fff;border-radius:2px;font-size:10px}.task .audio .left .overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;display:none;transition:opacity .3s;border-radius:4px;text-align:center;line-height:70px;cursor:pointer}.task .audio .left .overlay .el-icon{font-size:20px;color:#fff}.task .audio .info{flex:1}.task .audio .info .title{font-size:14px;font-weight:700;margin-top:5px}.task .audio .info .style{font-size:12px;margin-bottom:0;color:var(--el-text-color-secondary)}.task .audio .right{width:120px;display:flex;align-items:center;justify-content:flex-end;padding-right:1px}.task .audio .right .icon{display:block;z-index:100;cursor:pointer;margin-right:15px}.task .audio .right .el-button{margin-right:15px}.player-slider .el-slider{height:10px}.player-slider .el-slider .el-slider__runway,.player-slider .el-slider .el-slider__bar{height:2px;border-radius:0}.player-slider .el-slider .el-slider__button-wrapper{width:10px;height:10px;top:-10.5px}.player-slider .el-slider .el-slider__button{width:8px;height:8px}.el-popover.el-popper{min-width:auto}.status[data-v-d1296b1a]{margin-bottom:10px}.panel.detail[data-v-d1296b1a]{width:100%;flex:1;overflow-y:scroll}.panel.recent[data-v-d1296b1a]{height:100%;width:100%;margin-bottom:10px;position:relative;justify-content:initial}.panel.operation[data-v-d1296b1a]{position:relative}
@@ -1 +1 @@
1
- import{bH as I}from"./vendor-B4-12K57.js";import{k as L,O as j,K as G,L as P,Q as D,R as F,r as B,s as y,q as M,C as O,i as q}from"./vendor-element-plus-C2t7-rNg.js";import{d as $,c as i,a as l,l as t,P as E,S as f,am as s,o as a,Z as r,F as V,ak as S,R as w,Y as h,W as x,V as U}from"./vendor-vue-BzRnDgD5.js";import{_ as v,bG as N,bH as z,bI as H,a5 as X,bJ as K,ak as W,ah as A}from"./index-BceQaAb7.js";import{I as C,S as J}from"./ScrollList-DtikpNk7.js";import{I as Q}from"./ImagePreview-C81-sroB.js";import{C as Y,N as Z}from"./NoTasks-Bg3dk3Zk.js";import{a as ee}from"./price-DtWUJRlS.js";import{C as te}from"./CopyToClipboard-C_hpGFI6.js";import{I as oe}from"./ImageWrapper-CafePFBU.js";import{B as se}from"./BotPlaceholder-BfDpV6UE.js";import{l as ne}from"./pagination-bjoHZNQW.js";import"./vendor-dayjs-D6Igi227.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-nHemWFue.js";const le=$({name:"LayoutFlux",components:{ElDrawer:j,ElButton:L,FontAwesomeIcon:I},data(){return{drawer:!1}}}),ae={class:"main flex flex-row flex-1"},re={class:"config w-[300px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)]"},ie={class:"result h-full p-[15px] flex-1 flex flex-col min-w-0 overflow-x-hidden"};function ce(e,o,m,d,b,k){const c=s("font-awesome-icon"),u=s("el-button"),n=s("el-drawer");return a(),i("div",ae,[l("div",re,[E(e.$slots,"config",{},void 0,!0)]),l("div",ie,[E(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:o[0]||(o[0]=p=>e.drawer=!0)},{default:f(()=>[t(c,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:f(()=>[E(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ue=v(le,[["render",ce],["__scopeId","data-v-a7abbecc"]]),de=$({name:"ModelSelector",components:{ElSelect:P,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"flux-dev",label:"flux-dev"},{value:"flux-pro",label:"flux-pro"},{value:"flux-pro-1.1",label:"flux-pro-1.1"},{value:"flux-pro-1.1-ultra",label:"flux-pro-1.1-ultra"},{value:"flux-kontext-pro",label:"flux-kontext-pro"},{value:"flux-kontext-max",label:"flux-kontext-max"}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||(this.value=N)}}),pe={class:"field"},me={class:"title font-bold"};function fe(e,o,m,d,b,k){const c=s("el-option"),u=s("el-select");return a(),i("div",pe,[l("h2",me,r(e.$t("flux.name.model")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(a(!0),i(V,null,S(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const _e=v(de,[["render",fe],["__scopeId","data-v-8df4b8a7"]]),he=$({name:"CountSelector",components:{ElSlider:F,InfoIcon:C,ElInputNumber:D},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug("set count",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||(this.value=z)}}),ge={class:"flex justify-between"},$e={class:"flex justify-start items-center"},ve={class:"text-sm font-bold"},be={class:"flex justify-end items-center"},ke={class:"w-full"};function xe(e,o,m,d,b,k){const c=s("info-icon"),u=s("el-input-number"),n=s("el-slider");return a(),i("div",null,[l("div",ge,[l("div",$e,[l("span",ve,r(e.$t("flux.name.numbers")),1),t(c,{content:e.$t("flux.description.numbers")},null,8,["content"])]),l("div",be,[t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=p=>e.value=p),"controls-position":"right"},null,8,["modelValue"])])]),l("div",ke,[t(n,{modelValue:e.value,"onUpdate:modelValue":o[1]||(o[1]=p=>e.value=p),min:1,max:4,step:1},null,8,["modelValue"])])])}const we=v(he,[["render",xe]]),ye=$({name:"ActionSelector",components:{ElSelect:P,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"generate",label:this.$t("flux.name.generate")},{value:"edits",label:this.$t("flux.name.edits")}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||(this.value=H)}}),Ve={class:"field"},Te={class:"title font-bold"};function Ie(e,o,m,d,b,k){const c=s("el-option"),u=s("el-select");return a(),i("div",Ve,[l("h2",Te,r(e.$t("flux.name.task")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(a(!0),i(V,null,S(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Se=v(ye,[["render",Ie],["__scopeId","data-v-81fd05e5"]]),Ee=$({name:"ImageUrlInput",components:{ElUpload:B,ElButton:L,InfoIcon:C,FontAwesomeIcon:I,ImagePreview:Q},emits:["change"],data(){return{fileList:[],uploadUrl:X()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug("URLs changed:",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){y.warning(this.$t("flux.message.uploadStartImageExceed"))},onError(){y.error(this.$t("flux.message.uploadStartImageError"))}}}),Le={class:"relative"},Ue={class:"flex justify-between"},Ce={class:"flex justify-start items-center"},Ae={class:"text-sm font-bold"};function Ge(e,o,m,d,b,k){const c=s("info-icon"),u=s("image-preview"),n=s("font-awesome-icon"),p=s("el-button"),g=s("el-upload");return a(),i("div",Le,[l("div",Ue,[l("div",Ce,[l("span",Ae,r(e.$t("flux.name.imageUrl")),1),t(c,{content:e.$t("flux.description.imageUrl")},null,8,["content"])])]),t(g,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=_=>e.fileList=_),name:"file",limit:5,class:"upload-wrapper",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,headers:e.headers},{file:f(({file:_})=>[t(u,{url:_.url||_.response?.file_url,name:_.name,percentage:_.percentage,onRemove:T=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])]),default:f(()=>[t(p,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:f(()=>[t(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+r(e.$t("flux.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","headers"])])}const Pe=v(Ee,[["render",Ge],["__scopeId","data-v-04710032"]]),Re="",je=$({name:"PromptInput",components:{ElInput:M,InfoIcon:C},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Re)}}),De={class:"field"},Fe={class:"box"},Be={class:"title font-bold"};function Me(e,o,m,d,b,k){const c=s("info-icon"),u=s("el-input");return a(),i("div",De,[l("div",Fe,[l("h2",Be,r(e.$t("flux.name.prompt")),1),t(c,{content:e.$t("flux.description.prompt"),class:"info"},null,8,["content"])]),t(u,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("flux.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Oe=v(je,[["render",Me],["__scopeId","data-v-96df0218"]]),qe=$({name:"PresetPanel",components:{ElButton:L,FontAwesomeIcon:I,PromptInput:Oe,ModelSelector:_e,CountSelector:we,Consumption:Y,ActionSelector:Se,ImageUrlInput:Pe},emits:["generate"],computed:{config(){return this.$store.state.flux?.config},consumption(){return ee(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ne={class:"flex flex-col h-full"},ze={class:"flex-1 overflow-y-auto p-[15px]"},He={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function Xe(e,o,m,d,b,k){const c=s("action-selector"),u=s("prompt-input"),n=s("image-url-input"),p=s("model-selector"),g=s("count-selector"),_=s("consumption"),T=s("font-awesome-icon"),R=s("el-button");return a(),i("div",Ne,[l("div",ze,[t(c,{class:"mb-4"}),t(u,{class:"mb-4"}),e.config?.action==="edits"?(a(),w(n,{key:0,class:"mb-4"})):x("",!0),t(p,{class:"mb-4"}),t(g,{class:"mb-4"})]),l("div",He,[t(_,{value:e.consumption,service:e.service},null,8,["value","service"]),t(R,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:f(()=>[t(T,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+r(e.$t("flux.button.generate")),1)]),_:1},8,["onClick"])])])}const Ke=v(qe,[["render",Xe]]),We=$({name:"TaskPreview",components:{ElImage:q,CopyToClipboard:te,FontAwesomeIcon:I,ElAlert:O,ImageWrapper:oe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(m=>{let d=m;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e,o){e.stopPropagation(),console.log("on download"),window.open(o,"_blank")},onOpenImage(e){window.open(e,"_blank")}}}),Je={class:"preview"},Qe={class:"left"},Ye={class:"main"},Ze={class:"bot"},et={class:"datetime"},tt={class:"info"},ot={key:0,class:"prompt mt-2"},st={key:0},nt={key:0,class:U({content:!0,failed:!0})},lt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},at={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},rt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},it={key:1,class:U({content:!0})},ct={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},dt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},pt={key:2,class:U({content:!0})},mt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function ft(e,o,m,d,b,k){const c=s("el-image"),u=s("image-wrapper"),n=s("font-awesome-icon"),p=s("copy-to-clipboard"),g=s("el-alert");return a(),i("div",Je,[l("div",Qe,[t(c,{src:"https://cdn.acedata.cloud/ogm2oa.png",class:"avatar"})]),l("div",Ye,[l("div",Ze,[h(r(e.$t("flux.name.fluxBot"))+" ",1),l("span",et,r(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",tt,[e.modelValue?.request?.prompt?(a(),i("p",ot,[h(r(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?x("",!0):(a(),i("span",st," - ("+r(e.$t("flux.status.pending"))+") ",1))])):x("",!0)]),e.modelValue?.response?.success===!0?(a(),i("div",nt,[l("div",lt,[(a(!0),i(V,null,S(e.images,(_,T)=>(a(),w(u,{key:T,src:_?.image_url,"raw-src":_?.image_url,"model-value":_},null,8,["src","raw-src","model-value"]))),128))]),t(g,{closable:!1,class:"mt-2 success"},{default:f(()=>[l("p",at,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+r(e.$t("flux.name.model"))+": "+r(e.modelValue?.request?.model),1)]),l("p",rt,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})])):x("",!0),e.modelValue?.response?.success===!1?(a(),i("div",it,[t(g,{closable:!1,class:"failure"},{template:f(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+r(e.$t("flux.name.failure")),1)]),default:f(()=>[l("p",ct,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),l("p",ut,[t(n,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+r(e.$t("flux.name.failureReason"))+": "+r(e.modelValue?.response?.error?.message)+" ",1),t(p,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),l("p",dt,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+r(e.$t("flux.name.traceId"))+": "+r(e.modelValue?.response?.trace_id)+" ",1),t(p,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):x("",!0),e.modelValue?.response?x("",!0):(a(),i("div",pt,[t(g,{closable:!1,class:"info"},{template:f(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+r(e.$t("flux.name.failure")),1)]),default:f(()=>[l("p",mt,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const _t=v(We,[["render",ft],["__scopeId","data-v-779c5dda"]]),ht=$({name:"RecentPanel",components:{TaskPreview:_t,BotPlaceholder:se,NoTasks:Z,ScrollList:J},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),gt={key:0},$t={key:2,class:"w-full h-full flex items-center justify-center"};function vt(e,o,m,d,b,k){const c=s("bot-placeholder"),u=s("task-preview"),n=s("scroll-list"),p=s("no-tasks");return a(),i(V,null,[e.tasks?.items===void 0?(a(),i("div",gt,[t(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=g=>e.$emit("reach-top"))},{default:f(()=>[(a(!0),i(V,null,S(e.tasks?.items,g=>(a(),w(u,{key:g.id,"model-value":g},null,8,["model-value"]))),128))]),_:1},8,["loading"])):x("",!0),e.tasks?.items?.length===0?(a(),i("div",$t,[t(p)])):x("",!0)],64)}const bt=v(ht,[["render",vt]]),kt="https://webhook.acedata.cloud/flux",xt=$({name:"FluxIndex",components:{ConfigPanel:Ke,Layout:ue,RecentPanel:bt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===A.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===A.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ne({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("flux/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("flux/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:m,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",m,"createdAtMax",d),this.fetchingTasks=!0;try{await this.$store.dispatch("flux/getTasks",{limit:o,createdAtMin:m,createdAtMax:d})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:kt},o=this.credential?.token;if(!o){console.error("no token specified");return}y.info(this.$t("flux.message.startingTask")),K.generate(e,{token:o}).then(()=>{y.success(this.$t("flux.message.startTaskSuccess"))}).catch(m=>{const d=m?.response?.data;d?.error?.code===W?y.error(this.$t("flux.message.usedUp")):y.error(this.$t("flux.message.startTaskFailed")+d?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function wt(e,o,m,d,b,k){const c=s("config-panel"),u=s("recent-panel"),n=s("layout");return a(),w(n,null,{config:f(()=>[t(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:f(()=>[t(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Bt=v(xt,[["render",wt]]);export{Bt as default};
1
+ import{bH as I}from"./vendor-B4-12K57.js";import{k as L,O as j,K as G,L as P,Q as D,R as F,r as B,s as y,q as M,C as O,i as q}from"./vendor-element-plus-C2t7-rNg.js";import{d as $,c as i,a as l,l as t,P as E,S as f,am as s,o as a,Z as r,F as V,ak as S,R as w,Y as h,W as x,V as U}from"./vendor-vue-BzRnDgD5.js";import{_ as v,bG as N,bH as z,bI as H,a5 as X,bJ as K,ak as W,ah as A}from"./index-BwtxyV6k.js";import{I as C,S as J}from"./ScrollList-CfFOKFbb.js";import{I as Q}from"./ImagePreview-Dun0qhAC.js";import{C as Y,N as Z}from"./NoTasks-CQZOGbwI.js";import{a as ee}from"./price-Clo8IP03.js";import{C as te}from"./CopyToClipboard-D0yPTPYW.js";import{I as oe}from"./ImageWrapper-DAJLZ3ud.js";import{B as se}from"./BotPlaceholder-ClX8uvvo.js";import{l as ne}from"./pagination-bjoHZNQW.js";import"./vendor-dayjs-D6Igi227.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-nHemWFue.js";const le=$({name:"LayoutFlux",components:{ElDrawer:j,ElButton:L,FontAwesomeIcon:I},data(){return{drawer:!1}}}),ae={class:"main flex flex-row flex-1"},re={class:"config w-[300px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)]"},ie={class:"result h-full p-[15px] flex-1 flex flex-col min-w-0 overflow-x-hidden"};function ce(e,o,m,d,b,k){const c=s("font-awesome-icon"),u=s("el-button"),n=s("el-drawer");return a(),i("div",ae,[l("div",re,[E(e.$slots,"config",{},void 0,!0)]),l("div",ie,[E(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:o[0]||(o[0]=p=>e.drawer=!0)},{default:f(()=>[t(c,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:f(()=>[E(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ue=v(le,[["render",ce],["__scopeId","data-v-a7abbecc"]]),de=$({name:"ModelSelector",components:{ElSelect:P,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"flux-dev",label:"flux-dev"},{value:"flux-pro",label:"flux-pro"},{value:"flux-pro-1.1",label:"flux-pro-1.1"},{value:"flux-pro-1.1-ultra",label:"flux-pro-1.1-ultra"},{value:"flux-kontext-pro",label:"flux-kontext-pro"},{value:"flux-kontext-max",label:"flux-kontext-max"}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||(this.value=N)}}),pe={class:"field"},me={class:"title font-bold"};function fe(e,o,m,d,b,k){const c=s("el-option"),u=s("el-select");return a(),i("div",pe,[l("h2",me,r(e.$t("flux.name.model")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(a(!0),i(V,null,S(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const _e=v(de,[["render",fe],["__scopeId","data-v-8df4b8a7"]]),he=$({name:"CountSelector",components:{ElSlider:F,InfoIcon:C,ElInputNumber:D},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug("set count",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||(this.value=z)}}),ge={class:"flex justify-between"},$e={class:"flex justify-start items-center"},ve={class:"text-sm font-bold"},be={class:"flex justify-end items-center"},ke={class:"w-full"};function xe(e,o,m,d,b,k){const c=s("info-icon"),u=s("el-input-number"),n=s("el-slider");return a(),i("div",null,[l("div",ge,[l("div",$e,[l("span",ve,r(e.$t("flux.name.numbers")),1),t(c,{content:e.$t("flux.description.numbers")},null,8,["content"])]),l("div",be,[t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=p=>e.value=p),"controls-position":"right"},null,8,["modelValue"])])]),l("div",ke,[t(n,{modelValue:e.value,"onUpdate:modelValue":o[1]||(o[1]=p=>e.value=p),min:1,max:4,step:1},null,8,["modelValue"])])])}const we=v(he,[["render",xe]]),ye=$({name:"ActionSelector",components:{ElSelect:P,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"generate",label:this.$t("flux.name.generate")},{value:"edits",label:this.$t("flux.name.edits")}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||(this.value=H)}}),Ve={class:"field"},Te={class:"title font-bold"};function Ie(e,o,m,d,b,k){const c=s("el-option"),u=s("el-select");return a(),i("div",Ve,[l("h2",Te,r(e.$t("flux.name.task")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(a(!0),i(V,null,S(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Se=v(ye,[["render",Ie],["__scopeId","data-v-81fd05e5"]]),Ee=$({name:"ImageUrlInput",components:{ElUpload:B,ElButton:L,InfoIcon:C,FontAwesomeIcon:I,ImagePreview:Q},emits:["change"],data(){return{fileList:[],uploadUrl:X()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug("URLs changed:",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){y.warning(this.$t("flux.message.uploadStartImageExceed"))},onError(){y.error(this.$t("flux.message.uploadStartImageError"))}}}),Le={class:"relative"},Ue={class:"flex justify-between"},Ce={class:"flex justify-start items-center"},Ae={class:"text-sm font-bold"};function Ge(e,o,m,d,b,k){const c=s("info-icon"),u=s("image-preview"),n=s("font-awesome-icon"),p=s("el-button"),g=s("el-upload");return a(),i("div",Le,[l("div",Ue,[l("div",Ce,[l("span",Ae,r(e.$t("flux.name.imageUrl")),1),t(c,{content:e.$t("flux.description.imageUrl")},null,8,["content"])])]),t(g,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=_=>e.fileList=_),name:"file",limit:5,class:"upload-wrapper",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,headers:e.headers},{file:f(({file:_})=>[t(u,{url:_.url||_.response?.file_url,name:_.name,percentage:_.percentage,onRemove:T=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])]),default:f(()=>[t(p,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:f(()=>[t(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+r(e.$t("flux.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","headers"])])}const Pe=v(Ee,[["render",Ge],["__scopeId","data-v-04710032"]]),Re="",je=$({name:"PromptInput",components:{ElInput:M,InfoIcon:C},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Re)}}),De={class:"field"},Fe={class:"box"},Be={class:"title font-bold"};function Me(e,o,m,d,b,k){const c=s("info-icon"),u=s("el-input");return a(),i("div",De,[l("div",Fe,[l("h2",Be,r(e.$t("flux.name.prompt")),1),t(c,{content:e.$t("flux.description.prompt"),class:"info"},null,8,["content"])]),t(u,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("flux.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Oe=v(je,[["render",Me],["__scopeId","data-v-96df0218"]]),qe=$({name:"PresetPanel",components:{ElButton:L,FontAwesomeIcon:I,PromptInput:Oe,ModelSelector:_e,CountSelector:we,Consumption:Y,ActionSelector:Se,ImageUrlInput:Pe},emits:["generate"],computed:{config(){return this.$store.state.flux?.config},consumption(){return ee(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ne={class:"flex flex-col h-full"},ze={class:"flex-1 overflow-y-auto p-[15px]"},He={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function Xe(e,o,m,d,b,k){const c=s("action-selector"),u=s("prompt-input"),n=s("image-url-input"),p=s("model-selector"),g=s("count-selector"),_=s("consumption"),T=s("font-awesome-icon"),R=s("el-button");return a(),i("div",Ne,[l("div",ze,[t(c,{class:"mb-4"}),t(u,{class:"mb-4"}),e.config?.action==="edits"?(a(),w(n,{key:0,class:"mb-4"})):x("",!0),t(p,{class:"mb-4"}),t(g,{class:"mb-4"})]),l("div",He,[t(_,{value:e.consumption,service:e.service},null,8,["value","service"]),t(R,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:f(()=>[t(T,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+r(e.$t("flux.button.generate")),1)]),_:1},8,["onClick"])])])}const Ke=v(qe,[["render",Xe]]),We=$({name:"TaskPreview",components:{ElImage:q,CopyToClipboard:te,FontAwesomeIcon:I,ElAlert:O,ImageWrapper:oe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(m=>{let d=m;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e,o){e.stopPropagation(),console.log("on download"),window.open(o,"_blank")},onOpenImage(e){window.open(e,"_blank")}}}),Je={class:"preview"},Qe={class:"left"},Ye={class:"main"},Ze={class:"bot"},et={class:"datetime"},tt={class:"info"},ot={key:0,class:"prompt mt-2"},st={key:0},nt={key:0,class:U({content:!0,failed:!0})},lt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},at={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},rt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},it={key:1,class:U({content:!0})},ct={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},dt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},pt={key:2,class:U({content:!0})},mt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function ft(e,o,m,d,b,k){const c=s("el-image"),u=s("image-wrapper"),n=s("font-awesome-icon"),p=s("copy-to-clipboard"),g=s("el-alert");return a(),i("div",Je,[l("div",Qe,[t(c,{src:"https://cdn.acedata.cloud/ogm2oa.png",class:"avatar"})]),l("div",Ye,[l("div",Ze,[h(r(e.$t("flux.name.fluxBot"))+" ",1),l("span",et,r(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",tt,[e.modelValue?.request?.prompt?(a(),i("p",ot,[h(r(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?x("",!0):(a(),i("span",st," - ("+r(e.$t("flux.status.pending"))+") ",1))])):x("",!0)]),e.modelValue?.response?.success===!0?(a(),i("div",nt,[l("div",lt,[(a(!0),i(V,null,S(e.images,(_,T)=>(a(),w(u,{key:T,src:_?.image_url,"raw-src":_?.image_url,"model-value":_},null,8,["src","raw-src","model-value"]))),128))]),t(g,{closable:!1,class:"mt-2 success"},{default:f(()=>[l("p",at,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+r(e.$t("flux.name.model"))+": "+r(e.modelValue?.request?.model),1)]),l("p",rt,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})])):x("",!0),e.modelValue?.response?.success===!1?(a(),i("div",it,[t(g,{closable:!1,class:"failure"},{template:f(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+r(e.$t("flux.name.failure")),1)]),default:f(()=>[l("p",ct,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),l("p",ut,[t(n,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+r(e.$t("flux.name.failureReason"))+": "+r(e.modelValue?.response?.error?.message)+" ",1),t(p,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),l("p",dt,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+r(e.$t("flux.name.traceId"))+": "+r(e.modelValue?.response?.trace_id)+" ",1),t(p,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):x("",!0),e.modelValue?.response?x("",!0):(a(),i("div",pt,[t(g,{closable:!1,class:"info"},{template:f(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+r(e.$t("flux.name.failure")),1)]),default:f(()=>[l("p",mt,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const _t=v(We,[["render",ft],["__scopeId","data-v-779c5dda"]]),ht=$({name:"RecentPanel",components:{TaskPreview:_t,BotPlaceholder:se,NoTasks:Z,ScrollList:J},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),gt={key:0},$t={key:2,class:"w-full h-full flex items-center justify-center"};function vt(e,o,m,d,b,k){const c=s("bot-placeholder"),u=s("task-preview"),n=s("scroll-list"),p=s("no-tasks");return a(),i(V,null,[e.tasks?.items===void 0?(a(),i("div",gt,[t(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=g=>e.$emit("reach-top"))},{default:f(()=>[(a(!0),i(V,null,S(e.tasks?.items,g=>(a(),w(u,{key:g.id,"model-value":g},null,8,["model-value"]))),128))]),_:1},8,["loading"])):x("",!0),e.tasks?.items?.length===0?(a(),i("div",$t,[t(p)])):x("",!0)],64)}const bt=v(ht,[["render",vt]]),kt="https://webhook.acedata.cloud/flux",xt=$({name:"FluxIndex",components:{ConfigPanel:Ke,Layout:ue,RecentPanel:bt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===A.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===A.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ne({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("flux/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("flux/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:m,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",m,"createdAtMax",d),this.fetchingTasks=!0;try{await this.$store.dispatch("flux/getTasks",{limit:o,createdAtMin:m,createdAtMax:d})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:kt},o=this.credential?.token;if(!o){console.error("no token specified");return}y.info(this.$t("flux.message.startingTask")),K.generate(e,{token:o}).then(()=>{y.success(this.$t("flux.message.startTaskSuccess"))}).catch(m=>{const d=m?.response?.data;d?.error?.code===W?y.error(this.$t("flux.message.usedUp")):y.error(this.$t("flux.message.startTaskFailed")+d?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function wt(e,o,m,d,b,k){const c=s("config-panel"),u=s("recent-panel"),n=s("layout");return a(),w(n,null,{config:f(()=>[t(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:f(()=>[t(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Bt=v(xt,[["render",wt]]);export{Bt as default};
@@ -1 +1 @@
1
- import{P as g}from"./Pagination-Chbfcf6l.js";import{C as b}from"./CopyToClipboard-C_hpGFI6.js";import{aQ as v,_ as w}from"./index-BceQaAb7.js";import"./vendor-B4-12K57.js";import{t as $,u as C,w as y,x as D,y as I}from"./vendor-element-plus-C2t7-rNg.js";import{d as k,R as c,S as t,l as a,am as s,a as n,Z as i,U as E,at as F,o as p}from"./vendor-vue-BzRnDgD5.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-nHemWFue.js";import"./vendor-dayjs-D6Igi227.js";import"./vendor-katex-DHBGsivc.js";const P=k({name:"ConsoleDistributionInvitees",components:{Pagination:g,CopyToClipboard:b,ElRow:I,ElCol:D,ElTable:y,ElTableColumn:C,ElCard:$},data(){return{invitees:[],loading:!1,total:void 0,limit:10}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData()},methods:{onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},onFetchData(){this.loading=!0,Promise.all([this.onFetchInvitees()]).finally(()=>{this.loading=!1})},async onFetchInvitees(){const{data:e}=await v.getInvitees({limit:this.limit,offset:(this.page-1)*this.limit,ordering:"-created_at"});this.invitees=e.items,this.total=e.count}}}),S={class:"title"},q={class:"key"},B={class:"copy"},T={class:"description"},j={class:"description"},z={class:"description"},N={class:"created-at"},R={class:"pagination m-v-lg"};function V(e,J,O,Q,U,Z){const r=s("el-col"),d=s("el-row"),_=s("copy-to-clipboard"),l=s("el-table-column"),m=s("el-table"),u=s("el-card"),h=s("pagination"),f=F("loading");return p(),c(d,{class:"panel"},{default:t(()=>[a(r,{span:24},{default:t(()=>[a(d,null,{default:t(()=>[a(r,{span:24},{default:t(()=>[n("h2",S,i(e.$t("common.title.invitee")),1)]),_:1})]),_:1}),a(d,null,{default:t(()=>[a(r,{span:24},{default:t(()=>[a(u,{shadow:"hover"},{default:t(()=>[E((p(),c(m,{data:e.invitees,stripe:""},{default:t(()=>[a(l,{prop:"id",label:e.$t("user.field.id"),"class-name":"text-center",width:"350px"},{default:t(o=>[n("span",q,i(o.row.id),1),n("span",B,[a(_,{content:o.row.id},null,8,["content"])])]),_:1},8,["label"]),a(l,{label:e.$t("user.field.username"),width:"300px"},{default:t(o=>[n("span",T,i(o.row?.username),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.email"),width:"300px"},{default:t(o=>[n("span",j,i(o.row?.email),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.nickname"),width:"200px"},{default:t(o=>[n("span",z,i(o.row.nickname),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.dateJoined")},{default:t(o=>[n("span",N,i(e.$dayjs.format(o.row.date_joined)),1)]),_:1},8,["label"])]),_:1},8,["data"])),[[f,e.loading]])]),_:1})]),_:1})]),_:1}),a(d,null,{default:t(()=>[a(r,{span:10,offset:14},{default:t(()=>[n("div",R,[a(h,{"current-page":e.page,"page-size":e.limit,total:e.total,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const ee=w(P,[["render",V],["__scopeId","data-v-4556864d"]]);export{ee as default};
1
+ import{P as g}from"./Pagination-B1kOfzR8.js";import{C as b}from"./CopyToClipboard-D0yPTPYW.js";import{aQ as v,_ as w}from"./index-BwtxyV6k.js";import"./vendor-B4-12K57.js";import{t as $,u as C,w as y,x as D,y as I}from"./vendor-element-plus-C2t7-rNg.js";import{d as k,R as c,S as t,l as a,am as s,a as n,Z as i,U as E,at as F,o as p}from"./vendor-vue-BzRnDgD5.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-nHemWFue.js";import"./vendor-dayjs-D6Igi227.js";import"./vendor-katex-DHBGsivc.js";const P=k({name:"ConsoleDistributionInvitees",components:{Pagination:g,CopyToClipboard:b,ElRow:I,ElCol:D,ElTable:y,ElTableColumn:C,ElCard:$},data(){return{invitees:[],loading:!1,total:void 0,limit:10}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData()},methods:{onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},onFetchData(){this.loading=!0,Promise.all([this.onFetchInvitees()]).finally(()=>{this.loading=!1})},async onFetchInvitees(){const{data:e}=await v.getInvitees({limit:this.limit,offset:(this.page-1)*this.limit,ordering:"-created_at"});this.invitees=e.items,this.total=e.count}}}),S={class:"title"},q={class:"key"},B={class:"copy"},T={class:"description"},j={class:"description"},z={class:"description"},N={class:"created-at"},R={class:"pagination m-v-lg"};function V(e,J,O,Q,U,Z){const r=s("el-col"),d=s("el-row"),_=s("copy-to-clipboard"),l=s("el-table-column"),m=s("el-table"),u=s("el-card"),h=s("pagination"),f=F("loading");return p(),c(d,{class:"panel"},{default:t(()=>[a(r,{span:24},{default:t(()=>[a(d,null,{default:t(()=>[a(r,{span:24},{default:t(()=>[n("h2",S,i(e.$t("common.title.invitee")),1)]),_:1})]),_:1}),a(d,null,{default:t(()=>[a(r,{span:24},{default:t(()=>[a(u,{shadow:"hover"},{default:t(()=>[E((p(),c(m,{data:e.invitees,stripe:""},{default:t(()=>[a(l,{prop:"id",label:e.$t("user.field.id"),"class-name":"text-center",width:"350px"},{default:t(o=>[n("span",q,i(o.row.id),1),n("span",B,[a(_,{content:o.row.id},null,8,["content"])])]),_:1},8,["label"]),a(l,{label:e.$t("user.field.username"),width:"300px"},{default:t(o=>[n("span",T,i(o.row?.username),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.email"),width:"300px"},{default:t(o=>[n("span",j,i(o.row?.email),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.nickname"),width:"200px"},{default:t(o=>[n("span",z,i(o.row.nickname),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.dateJoined")},{default:t(o=>[n("span",N,i(e.$dayjs.format(o.row.date_joined)),1)]),_:1},8,["label"])]),_:1},8,["data"])),[[f,e.loading]])]),_:1})]),_:1})]),_:1}),a(d,null,{default:t(()=>[a(r,{span:10,offset:14},{default:t(()=>[n("div",R,[a(h,{"current-page":e.page,"page-size":e.limit,total:e.total,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const ee=w(P,[["render",V],["__scopeId","data-v-4556864d"]]);export{ee as default};
@@ -1 +1 @@
1
- import{a6 as S,aa as M,ab as j,_ as N}from"./index-BceQaAb7.js";import{I as v,a as Z}from"./credential-CEfFFZzi.js";import{P as W}from"./Pagination-Chbfcf6l.js";import{bH as z}from"./vendor-B4-12K57.js";import{C as G}from"./CopyToClipboard-C_hpGFI6.js";import{B as K,C as J,a as Q,L as X,b as tt,p as et,c as at,d as st}from"./vendor-chart-BKONGlyX.js";import{H as it,B as nt,A as ot,t as lt,u as rt,x as dt,y as pt,K as ut,L as ct,w as ht,M as gt,a as mt}from"./vendor-element-plus-C2t7-rNg.js";import{d as ft,R as u,S as s,l as i,am as r,a as n,Z as o,U as R,W as y,c as f,ak as C,F as D,at as _t,Y as T,o as l,_ as yt}from"./vendor-vue-BzRnDgD5.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-nHemWFue.js";import"./vendor-dayjs-D6Igi227.js";import"./vendor-katex-DHBGsivc.js";class $t{key="usage/apis";async getAll(e){return await S.get(`/${this.key}/`,{params:e})}async getAggregate(e){return await S.get(`/${this.key}/aggregate/`,{params:e})}async get(e){return await S.get(`/${this.key}/${e}`)}}const L=new $t;class bt{key="usage/proxies";async getAll(e){return await S.get(`/${this.key}/`,{params:e})}}const wt=new bt;J.register(Q,X,tt,et,at,st);const At=ft({name:"ConsoleUsageList",components:{Pagination:W,ElTag:mt,ElDatePicker:gt,ElTable:ht,ElSelect:ct,ElOption:ut,CopyToClipboard:G,ElRow:pt,ElCol:dt,ElTableColumn:rt,ElCard:lt,ElRadioButton:ot,ElRadioGroup:nt,ElSkeleton:it,FontAwesomeIcon:z,BarChart:K},data(){return{applicationIds:this.$route.query.application_id?.toString()?this.$route.query.application_id?.toString().split(","):[],apiIds:this.$route.query.api_id?.toString()?this.$route.query.api_id?.toString().split(","):[],applications:[],credentialType:Z,serviceType:v,apiUsages:[],proxyUsages:[],createdAtRange:(()=>{const t=this.$route.query.created_at_to?.toString(),e=this.$route.query.created_at_from?.toString();if(e&&t)return[new Date(e),new Date(t)];const _=new Date,c=new Date;return c.setDate(c.getDate()-30),[c,_]})(),shortcuts:[{text:this.$t("usage.shortcuts.today"),value:()=>{const t=new Date,e=new Date;return e.setHours(0,0,0,0),[e,t]}},{text:this.$t("usage.shortcuts.last1Day"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-1),[e,t]}},{text:this.$t("usage.shortcuts.last3Days"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-3),[e,t]}},{text:this.$t("usage.shortcuts.last7Days"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-7),[e,t]}},{text:this.$t("usage.shortcuts.last1Month"),value:()=>{const t=new Date,e=new Date;return e.setMonth(e.getMonth()-1),[e,t]}}],type:this.$route.query.type?.toString()||v.API,loading:!1,total:void 0,limit:15,totalUsed:0,barChartLabels:[],barChartSeries:[],aggLoading:!1}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")},apis(){return this.applications.filter(t=>this.applicationIds&&this.applicationIds.length?this.applicationIds.includes(t.id):!0).map(t=>t.service?.apis).flat()},totalUsedString(){return`${(this.totalUsed||0).toFixed(2)}`},barChartData(){return{labels:this.barChartLabels,datasets:this.barChartSeries.map(t=>({label:t.label,data:t.data,backgroundColor:t.color}))}},barChartOptions(){return{responsive:!0,plugins:{legend:{position:"top",onClick:(t,e,_)=>{const c=_?.chart;if(!c||e?.datasetIndex===void 0)return;const b=e.datasetIndex,$=c.data?.datasets||[];$.some((p,d)=>d!==b&&c.isDatasetVisible(d))?$.forEach((p,d)=>c.setDatasetVisibility(d,d===b)):$.forEach((p,d)=>c.setDatasetVisibility(d,!0)),c.update()}},title:{display:!0,text:this.$t("usage.title.usageTrend")}},scales:{x:{stacked:!0},y:{stacked:!0,beginAtZero:!0}}}}},watch:{page:{handler(){this.onFetchUsages()}},type:{handler(){this.applicationIds=[],this.apiIds=[],this.onApplicationsChange(this.applicationIds),this.onFetchApplications(),this.onFetchUsages(),this.onFetchAggregate()}}},mounted(){this.onFetchApplications(),this.onFetchUsages(),this.onFetchAggregate()},methods:{async onFetchUsages(){this.type===v.API?this.onFetchApiUsages():this.type===v.Proxy&&this.onFetchProxyUsages()},async onApiChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:t}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onApisChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:t&&t.length?t.join(","):""}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onTimeRangeChanged(){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,created_at_from:this.createdAtRange?this.$dayjs.format(this.createdAtRange[0].toString(),"YYYY-MM-DDTHH:mm:ss.SSSSSSZ"):"",created_at_to:this.createdAtRange?this.$dayjs.format(this.createdAtRange[1].toString(),"YYYY-MM-DDTHH:mm:ss.SSSSSSZ"):""}}),this.onFetchUsages(),this.onFetchAggregate()},async onApplicationChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:t}}),this.onFetchUsages(),this.onFetchAggregate()},async onApplicationsChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:t&&t.length?t.join(","):""}}),this.onFetchUsages(),this.onFetchAggregate()},onPageChange(t){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:t}})},getRemainingAmount(t){if(t.remaining_amount===void 0||t.remaining_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.remaining_amount?.toFixed(6)} ${e}`},getUsedAmount(t){if(t.used_amount===void 0||t.used_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.used_amount?.toFixed(6)} ${e}`},getDeductedAmount(t){if(t?.deducted_amount===void 0||t?.deducted_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.deducted_amount?.toFixed(6)} ${e}`},getOriginalAmount(t){if(t?.original_amount===void 0||t?.original_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.original_amount?.toFixed(6)} ${e}`},onFetchApplications(){M.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:"-created_at",type:j.USAGE}).then(({data:t})=>{this.applications=t.items.filter(e=>e?.service?.type?e.service.type===this.type:!0)}).catch(()=>{})},onFetchApiUsages(){this.loading=!0,L.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:"-created_at",...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{},...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{}}).then(({data:t})=>{this.apiUsages=t.items,this.loading=!1,this.total=t.count}).catch(()=>{this.loading=!1})},onFetchProxyUsages(){this.loading=!0,wt.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:"-created_at",...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{}}).then(({data:t})=>{this.proxyUsages=t.items,this.loading=!1,this.total=t.count}).catch(()=>{this.loading=!1})},async onFetchAggregate(){if(this.aggLoading=!0,this.type!==this.serviceType.API){this.aggLoading=!1;return}const t={user_id:this.$store.getters.user.id,...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{}};try{const{data:e}=await L.getAggregate(t);this.totalUsed=e.total||0;const _=Array.from(new Set((e.items||[]).map(h=>h.date))).sort(),c=Array.from(new Set((e.items||[]).map(h=>h.api_id))),b=h=>`hsl(${h*57%360}, 70%, 60%)`,$=c.map((h,p)=>{const d=e.apis?.[h]?.title||h,w={};(e.items||[]).filter(m=>m.api_id===h).forEach(m=>{w[m.date]=m.amount||0});const I=_.map(m=>w[m]||0);return{key:h,label:d,data:I,color:b(p)}});this.barChartLabels=_,this.barChartSeries=$}finally{this.aggLoading=!1}}}}),vt={class:"title"},Ct={class:"inline-block w-9"},Dt={class:"inline-block"},St={key:1,class:"summary-card"},It={class:"icon-wrapper"},kt={class:"text-left"},Ut={class:"description"},Ft={class:"value"},Rt={class:"chart-wrapper"},Tt={key:0},qt={key:1},Vt={class:"flex flex-wrap gap-2"},Pt={class:"key"},Et={key:0,class:"cursor-pointer"},Lt={class:"created-at"},Ot={class:"created-at"},xt={class:"float-right"};function Bt(t,e,_,c,b,$){const h=r("help-entry"),p=r("el-col"),d=r("el-row"),w=r("el-radio-button"),I=r("el-radio-group"),m=r("el-option"),q=r("el-select"),O=r("el-date-picker"),V=r("el-skeleton"),x=r("font-awesome-icon"),k=r("el-card"),B=r("bar-chart"),g=r("el-table-column"),U=r("el-tag"),H=r("copy-to-clipboard"),P=r("el-table"),Y=r("pagination"),E=_t("loading");return l(),u(d,{class:"panel"},{default:s(()=>[i(h,{class:"help"}),i(p,{span:24},{default:s(()=>[i(d,null,{default:s(()=>[i(p,{span:24},{default:s(()=>[n("h2",vt,o(t.$t("common.title.allUsages")),1)]),_:1})]),_:1}),i(d,null,{default:s(()=>[i(p,{md:4,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",null,o(t.$t("application.field.type")),1),i(I,{modelValue:t.type,"onUpdate:modelValue":e[0]||(e[0]=a=>t.type=a)},{default:s(()=>[i(w,{value:t.serviceType.API,label:t.$t("application.field.api")},null,8,["value","label"]),i(w,{value:t.serviceType.Proxy,label:t.$t("application.field.proxy")},null,8,["value","label"])]),_:1},8,["modelValue"])]),_:1}),R(i(p,{md:6,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",Ct,o(t.$t("usage.field.application")),1),i(q,{modelValue:t.applicationIds,"onUpdate:modelValue":e[1]||(e[1]=a=>t.applicationIds=a),placeholder:t.$t("usage.field.application"),clearable:"",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",class:"w-full",onChange:t.onApplicationsChange},{default:s(()=>[(l(!0),f(D,null,C(t.applications,a=>(l(),u(m,{key:a.id,label:a.service?.title,value:a?.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","onChange"])]),_:1},512),[[yt,!1]]),t.type===t.serviceType.API?(l(),u(p,{key:0,md:6,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",Dt,o(t.$t("usage.field.api")),1),i(q,{modelValue:t.apiIds,"onUpdate:modelValue":e[2]||(e[2]=a=>t.apiIds=a),placeholder:t.$t("usage.field.api"),clearable:"",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",class:"w-full",onChange:t.onApisChange},{default:s(()=>[(l(!0),f(D,null,C(t.apis,a=>(l(),u(m,{key:a?.id,label:a?.title,value:a?.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","onChange"])]),_:1})):y("",!0),t.type===t.serviceType.API?(l(),u(p,{key:1,md:8,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[i(O,{modelValue:t.createdAtRange,"onUpdate:modelValue":e[3]||(e[3]=a=>t.createdAtRange=a),type:"datetimerange",class:"w-full",shortcuts:t.shortcuts,"range-separator":t.$t("usage.placeholder.to"),"start-placeholder":t.$t("usage.placeholder.startDate"),"end-placeholder":t.$t("usage.placeholder.endDate"),onChange:t.onTimeRangeChanged},null,8,["modelValue","shortcuts","range-separator","start-placeholder","end-placeholder","onChange"])]),_:1})):y("",!0)]),_:1}),i(d,null,{default:s(()=>[i(p,{span:24},{default:s(()=>[t.type===t.serviceType.API?(l(),u(d,{key:0,gutter:15,class:"mb-4"},{default:s(()=>[i(p,{md:6,xs:24},{default:s(()=>[i(k,{shadow:"hover",class:"h-full"},{default:s(()=>[t.aggLoading?(l(),u(V,{key:0})):(l(),f("div",St,[n("div",It,[i(x,{icon:"fa-solid fa-cubes",class:"icon"})]),n("div",kt,[n("p",Ut,o(t.$t("usage.title.totalUsed")),1),n("p",Ft,o(t.totalUsedString),1)])]))]),_:1})]),_:1}),i(p,{md:18,xs:24},{default:s(()=>[i(k,{shadow:"hover",class:"h-full"},{default:s(()=>[n("div",Rt,[t.aggLoading?(l(),u(V,{key:0,class:"w-full"})):(l(),u(B,{key:1,data:t.barChartData,options:t.barChartOptions,class:"chart"},null,8,["data","options"]))])]),_:1})]),_:1})]),_:1})):y("",!0),i(k,{shadow:"hover"},{default:s(()=>[t.type===t.serviceType.API?R((l(),u(P,{key:0,data:t.apiUsages,stripe:"","table-layout":"fixed","empty-text":t.$t("common.message.noData"),class:"min-h-[calc(100vh-350px)] mb-[50px]"},{default:s(()=>[i(g,{label:t.$t("application.field.name"),width:"160px"},{default:s(a=>[n("span",null,o(a.row?.api?.title),1)]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.statusCode"),width:"120px"},{default:s(a=>[n("span",null,o(a.row.status_code),1)]),_:1},8,["label"]),i(g,{prop:"deducted_amount",label:t.$t("usage.field.deductedAmount"),width:"150px","class-name":"text-center"},{default:s(a=>[t.getDeductedAmount(a.row)===t.getOriginalAmount(a.row)?(l(),f("div",Tt,[n("span",null,o(t.getDeductedAmount(a.row)),1)])):(l(),f("div",qt,[e[4]||(e[4]=n("p",null,null,-1)),n("p",null,[n("span",null,o(t.getDeductedAmount(a.row)),1)]),n("p",null,[n("del",null,o(t.getOriginalAmount(a.row)),1)])]))]),_:1},8,["label"]),i(g,{prop:"metadata",label:t.$t("usage.field.metadata"),width:"260px","class-name":"text-center"},{default:s(a=>[n("div",Vt,[a.row.original_amount>a.row.deducted_amount&&a.row.original_amount>0?(l(),u(U,{key:0,type:"success",style:{textWrap:"wrap",height:"fit-content",lineHeight:"20px",borderRadius:"10px"}},{default:s(()=>[T(o(((a.row.original_amount-a.row.deducted_amount)*100/a.row.original_amount).toFixed(0)+"% OFF"),1)]),_:2},1024)):y("",!0),(l(!0),f(D,null,C(a.row.metadata,(F,A)=>(l(),u(U,{key:A,style:{textWrap:"wrap",height:"fit-content",lineHeight:"20px",borderRadius:"10px"}},{default:s(()=>[T(o(A)+": "+o(F),1)]),_:2},1024))),128))])]),_:1},8,["label"]),i(g,{prop:"trace_id",label:t.$t("application.field.traceId"),width:"200px","class-name":"text-center"},{default:s(a=>[n("span",Pt,o(a.row.trace_id),1),a.row.trace_id?(l(),f("span",Et,[i(H,{content:a.row.trace_id,class:"inline-block"},null,8,["content"])])):y("",!0)]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.createdAt"),width:"200px"},{default:s(a=>[n("span",Lt,o(t.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"])]),_:1},8,["data","empty-text"])),[[E,t.loading]]):y("",!0),t.type===t.serviceType.Proxy?R((l(),u(P,{key:1,data:t.proxyUsages,stripe:"","table-layout":"fixed","empty-text":t.$t("common.message.noData"),class:"min-h-[calc(100vh-350px)] mb-[50px]"},{default:s(()=>[i(g,{label:t.$t("application.field.name"),width:"160px"},{default:s(a=>[n("span",null,o(a.row?.service?.title),1)]),_:1},8,["label"]),i(g,{prop:"remaining_amount",label:t.$t("usage.field.remainingAmount"),width:"160px","class-name":"text-center"},{default:s(a=>[n("span",null,o(t.getRemainingAmount(a.row)),1),n("span",null,o(t.getOriginalAmount(a.row)),1)]),_:1},8,["label"]),i(g,{prop:"deducted_amount",label:t.$t("usage.field.deductedAmount"),width:"150px","class-name":"text-center"},{default:s(a=>[n("span",null,o(t.getDeductedAmount(a.row)),1)]),_:1},8,["label"]),i(g,{prop:"metadata",label:t.$t("usage.field.metadata"),width:"200px","class-name":"text-center"},{default:s(a=>[(l(!0),f(D,null,C(a.row.metadata,(F,A)=>(l(),u(U,{key:A,class:"mb-2"},{default:s(()=>[T(o(A)+": "+o(F),1)]),_:2},1024))),128))]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.createdAt"),width:"200px"},{default:s(a=>[n("span",Ot,o(t.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"])]),_:1},8,["data","empty-text"])),[[E,t.loading]]):y("",!0)]),_:1})]),_:1})]),_:1}),i(d,null,{default:s(()=>[i(p,{span:10,offset:14},{default:s(()=>[n("div",xt,[i(Y,{"current-page":t.page,"page-size":t.limit,total:t.total,onChange:t.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const Xt=N(At,[["render",Bt],["__scopeId","data-v-468b1d4d"]]);export{Xt as default};
1
+ import{a6 as S,aa as M,ab as j,_ as N}from"./index-BwtxyV6k.js";import{I as v,a as Z}from"./credential-CEfFFZzi.js";import{P as W}from"./Pagination-B1kOfzR8.js";import{bH as z}from"./vendor-B4-12K57.js";import{C as G}from"./CopyToClipboard-D0yPTPYW.js";import{B as K,C as J,a as Q,L as X,b as tt,p as et,c as at,d as st}from"./vendor-chart-BKONGlyX.js";import{H as it,B as nt,A as ot,t as lt,u as rt,x as dt,y as pt,K as ut,L as ct,w as ht,M as gt,a as mt}from"./vendor-element-plus-C2t7-rNg.js";import{d as ft,R as u,S as s,l as i,am as r,a as n,Z as o,U as R,W as y,c as f,ak as C,F as D,at as _t,Y as T,o as l,_ as yt}from"./vendor-vue-BzRnDgD5.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-nHemWFue.js";import"./vendor-dayjs-D6Igi227.js";import"./vendor-katex-DHBGsivc.js";class $t{key="usage/apis";async getAll(e){return await S.get(`/${this.key}/`,{params:e})}async getAggregate(e){return await S.get(`/${this.key}/aggregate/`,{params:e})}async get(e){return await S.get(`/${this.key}/${e}`)}}const L=new $t;class bt{key="usage/proxies";async getAll(e){return await S.get(`/${this.key}/`,{params:e})}}const wt=new bt;J.register(Q,X,tt,et,at,st);const At=ft({name:"ConsoleUsageList",components:{Pagination:W,ElTag:mt,ElDatePicker:gt,ElTable:ht,ElSelect:ct,ElOption:ut,CopyToClipboard:G,ElRow:pt,ElCol:dt,ElTableColumn:rt,ElCard:lt,ElRadioButton:ot,ElRadioGroup:nt,ElSkeleton:it,FontAwesomeIcon:z,BarChart:K},data(){return{applicationIds:this.$route.query.application_id?.toString()?this.$route.query.application_id?.toString().split(","):[],apiIds:this.$route.query.api_id?.toString()?this.$route.query.api_id?.toString().split(","):[],applications:[],credentialType:Z,serviceType:v,apiUsages:[],proxyUsages:[],createdAtRange:(()=>{const t=this.$route.query.created_at_to?.toString(),e=this.$route.query.created_at_from?.toString();if(e&&t)return[new Date(e),new Date(t)];const _=new Date,c=new Date;return c.setDate(c.getDate()-30),[c,_]})(),shortcuts:[{text:this.$t("usage.shortcuts.today"),value:()=>{const t=new Date,e=new Date;return e.setHours(0,0,0,0),[e,t]}},{text:this.$t("usage.shortcuts.last1Day"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-1),[e,t]}},{text:this.$t("usage.shortcuts.last3Days"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-3),[e,t]}},{text:this.$t("usage.shortcuts.last7Days"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-7),[e,t]}},{text:this.$t("usage.shortcuts.last1Month"),value:()=>{const t=new Date,e=new Date;return e.setMonth(e.getMonth()-1),[e,t]}}],type:this.$route.query.type?.toString()||v.API,loading:!1,total:void 0,limit:15,totalUsed:0,barChartLabels:[],barChartSeries:[],aggLoading:!1}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")},apis(){return this.applications.filter(t=>this.applicationIds&&this.applicationIds.length?this.applicationIds.includes(t.id):!0).map(t=>t.service?.apis).flat()},totalUsedString(){return`${(this.totalUsed||0).toFixed(2)}`},barChartData(){return{labels:this.barChartLabels,datasets:this.barChartSeries.map(t=>({label:t.label,data:t.data,backgroundColor:t.color}))}},barChartOptions(){return{responsive:!0,plugins:{legend:{position:"top",onClick:(t,e,_)=>{const c=_?.chart;if(!c||e?.datasetIndex===void 0)return;const b=e.datasetIndex,$=c.data?.datasets||[];$.some((p,d)=>d!==b&&c.isDatasetVisible(d))?$.forEach((p,d)=>c.setDatasetVisibility(d,d===b)):$.forEach((p,d)=>c.setDatasetVisibility(d,!0)),c.update()}},title:{display:!0,text:this.$t("usage.title.usageTrend")}},scales:{x:{stacked:!0},y:{stacked:!0,beginAtZero:!0}}}}},watch:{page:{handler(){this.onFetchUsages()}},type:{handler(){this.applicationIds=[],this.apiIds=[],this.onApplicationsChange(this.applicationIds),this.onFetchApplications(),this.onFetchUsages(),this.onFetchAggregate()}}},mounted(){this.onFetchApplications(),this.onFetchUsages(),this.onFetchAggregate()},methods:{async onFetchUsages(){this.type===v.API?this.onFetchApiUsages():this.type===v.Proxy&&this.onFetchProxyUsages()},async onApiChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:t}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onApisChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:t&&t.length?t.join(","):""}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onTimeRangeChanged(){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,created_at_from:this.createdAtRange?this.$dayjs.format(this.createdAtRange[0].toString(),"YYYY-MM-DDTHH:mm:ss.SSSSSSZ"):"",created_at_to:this.createdAtRange?this.$dayjs.format(this.createdAtRange[1].toString(),"YYYY-MM-DDTHH:mm:ss.SSSSSSZ"):""}}),this.onFetchUsages(),this.onFetchAggregate()},async onApplicationChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:t}}),this.onFetchUsages(),this.onFetchAggregate()},async onApplicationsChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:t&&t.length?t.join(","):""}}),this.onFetchUsages(),this.onFetchAggregate()},onPageChange(t){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:t}})},getRemainingAmount(t){if(t.remaining_amount===void 0||t.remaining_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.remaining_amount?.toFixed(6)} ${e}`},getUsedAmount(t){if(t.used_amount===void 0||t.used_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.used_amount?.toFixed(6)} ${e}`},getDeductedAmount(t){if(t?.deducted_amount===void 0||t?.deducted_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.deducted_amount?.toFixed(6)} ${e}`},getOriginalAmount(t){if(t?.original_amount===void 0||t?.original_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.original_amount?.toFixed(6)} ${e}`},onFetchApplications(){M.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:"-created_at",type:j.USAGE}).then(({data:t})=>{this.applications=t.items.filter(e=>e?.service?.type?e.service.type===this.type:!0)}).catch(()=>{})},onFetchApiUsages(){this.loading=!0,L.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:"-created_at",...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{},...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{}}).then(({data:t})=>{this.apiUsages=t.items,this.loading=!1,this.total=t.count}).catch(()=>{this.loading=!1})},onFetchProxyUsages(){this.loading=!0,wt.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:"-created_at",...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{}}).then(({data:t})=>{this.proxyUsages=t.items,this.loading=!1,this.total=t.count}).catch(()=>{this.loading=!1})},async onFetchAggregate(){if(this.aggLoading=!0,this.type!==this.serviceType.API){this.aggLoading=!1;return}const t={user_id:this.$store.getters.user.id,...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{}};try{const{data:e}=await L.getAggregate(t);this.totalUsed=e.total||0;const _=Array.from(new Set((e.items||[]).map(h=>h.date))).sort(),c=Array.from(new Set((e.items||[]).map(h=>h.api_id))),b=h=>`hsl(${h*57%360}, 70%, 60%)`,$=c.map((h,p)=>{const d=e.apis?.[h]?.title||h,w={};(e.items||[]).filter(m=>m.api_id===h).forEach(m=>{w[m.date]=m.amount||0});const I=_.map(m=>w[m]||0);return{key:h,label:d,data:I,color:b(p)}});this.barChartLabels=_,this.barChartSeries=$}finally{this.aggLoading=!1}}}}),vt={class:"title"},Ct={class:"inline-block w-9"},Dt={class:"inline-block"},St={key:1,class:"summary-card"},It={class:"icon-wrapper"},kt={class:"text-left"},Ut={class:"description"},Ft={class:"value"},Rt={class:"chart-wrapper"},Tt={key:0},qt={key:1},Vt={class:"flex flex-wrap gap-2"},Pt={class:"key"},Et={key:0,class:"cursor-pointer"},Lt={class:"created-at"},Ot={class:"created-at"},xt={class:"float-right"};function Bt(t,e,_,c,b,$){const h=r("help-entry"),p=r("el-col"),d=r("el-row"),w=r("el-radio-button"),I=r("el-radio-group"),m=r("el-option"),q=r("el-select"),O=r("el-date-picker"),V=r("el-skeleton"),x=r("font-awesome-icon"),k=r("el-card"),B=r("bar-chart"),g=r("el-table-column"),U=r("el-tag"),H=r("copy-to-clipboard"),P=r("el-table"),Y=r("pagination"),E=_t("loading");return l(),u(d,{class:"panel"},{default:s(()=>[i(h,{class:"help"}),i(p,{span:24},{default:s(()=>[i(d,null,{default:s(()=>[i(p,{span:24},{default:s(()=>[n("h2",vt,o(t.$t("common.title.allUsages")),1)]),_:1})]),_:1}),i(d,null,{default:s(()=>[i(p,{md:4,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",null,o(t.$t("application.field.type")),1),i(I,{modelValue:t.type,"onUpdate:modelValue":e[0]||(e[0]=a=>t.type=a)},{default:s(()=>[i(w,{value:t.serviceType.API,label:t.$t("application.field.api")},null,8,["value","label"]),i(w,{value:t.serviceType.Proxy,label:t.$t("application.field.proxy")},null,8,["value","label"])]),_:1},8,["modelValue"])]),_:1}),R(i(p,{md:6,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",Ct,o(t.$t("usage.field.application")),1),i(q,{modelValue:t.applicationIds,"onUpdate:modelValue":e[1]||(e[1]=a=>t.applicationIds=a),placeholder:t.$t("usage.field.application"),clearable:"",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",class:"w-full",onChange:t.onApplicationsChange},{default:s(()=>[(l(!0),f(D,null,C(t.applications,a=>(l(),u(m,{key:a.id,label:a.service?.title,value:a?.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","onChange"])]),_:1},512),[[yt,!1]]),t.type===t.serviceType.API?(l(),u(p,{key:0,md:6,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",Dt,o(t.$t("usage.field.api")),1),i(q,{modelValue:t.apiIds,"onUpdate:modelValue":e[2]||(e[2]=a=>t.apiIds=a),placeholder:t.$t("usage.field.api"),clearable:"",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",class:"w-full",onChange:t.onApisChange},{default:s(()=>[(l(!0),f(D,null,C(t.apis,a=>(l(),u(m,{key:a?.id,label:a?.title,value:a?.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","onChange"])]),_:1})):y("",!0),t.type===t.serviceType.API?(l(),u(p,{key:1,md:8,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[i(O,{modelValue:t.createdAtRange,"onUpdate:modelValue":e[3]||(e[3]=a=>t.createdAtRange=a),type:"datetimerange",class:"w-full",shortcuts:t.shortcuts,"range-separator":t.$t("usage.placeholder.to"),"start-placeholder":t.$t("usage.placeholder.startDate"),"end-placeholder":t.$t("usage.placeholder.endDate"),onChange:t.onTimeRangeChanged},null,8,["modelValue","shortcuts","range-separator","start-placeholder","end-placeholder","onChange"])]),_:1})):y("",!0)]),_:1}),i(d,null,{default:s(()=>[i(p,{span:24},{default:s(()=>[t.type===t.serviceType.API?(l(),u(d,{key:0,gutter:15,class:"mb-4"},{default:s(()=>[i(p,{md:6,xs:24},{default:s(()=>[i(k,{shadow:"hover",class:"h-full"},{default:s(()=>[t.aggLoading?(l(),u(V,{key:0})):(l(),f("div",St,[n("div",It,[i(x,{icon:"fa-solid fa-cubes",class:"icon"})]),n("div",kt,[n("p",Ut,o(t.$t("usage.title.totalUsed")),1),n("p",Ft,o(t.totalUsedString),1)])]))]),_:1})]),_:1}),i(p,{md:18,xs:24},{default:s(()=>[i(k,{shadow:"hover",class:"h-full"},{default:s(()=>[n("div",Rt,[t.aggLoading?(l(),u(V,{key:0,class:"w-full"})):(l(),u(B,{key:1,data:t.barChartData,options:t.barChartOptions,class:"chart"},null,8,["data","options"]))])]),_:1})]),_:1})]),_:1})):y("",!0),i(k,{shadow:"hover"},{default:s(()=>[t.type===t.serviceType.API?R((l(),u(P,{key:0,data:t.apiUsages,stripe:"","table-layout":"fixed","empty-text":t.$t("common.message.noData"),class:"min-h-[calc(100vh-350px)] mb-[50px]"},{default:s(()=>[i(g,{label:t.$t("application.field.name"),width:"160px"},{default:s(a=>[n("span",null,o(a.row?.api?.title),1)]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.statusCode"),width:"120px"},{default:s(a=>[n("span",null,o(a.row.status_code),1)]),_:1},8,["label"]),i(g,{prop:"deducted_amount",label:t.$t("usage.field.deductedAmount"),width:"150px","class-name":"text-center"},{default:s(a=>[t.getDeductedAmount(a.row)===t.getOriginalAmount(a.row)?(l(),f("div",Tt,[n("span",null,o(t.getDeductedAmount(a.row)),1)])):(l(),f("div",qt,[e[4]||(e[4]=n("p",null,null,-1)),n("p",null,[n("span",null,o(t.getDeductedAmount(a.row)),1)]),n("p",null,[n("del",null,o(t.getOriginalAmount(a.row)),1)])]))]),_:1},8,["label"]),i(g,{prop:"metadata",label:t.$t("usage.field.metadata"),width:"260px","class-name":"text-center"},{default:s(a=>[n("div",Vt,[a.row.original_amount>a.row.deducted_amount&&a.row.original_amount>0?(l(),u(U,{key:0,type:"success",style:{textWrap:"wrap",height:"fit-content",lineHeight:"20px",borderRadius:"10px"}},{default:s(()=>[T(o(((a.row.original_amount-a.row.deducted_amount)*100/a.row.original_amount).toFixed(0)+"% OFF"),1)]),_:2},1024)):y("",!0),(l(!0),f(D,null,C(a.row.metadata,(F,A)=>(l(),u(U,{key:A,style:{textWrap:"wrap",height:"fit-content",lineHeight:"20px",borderRadius:"10px"}},{default:s(()=>[T(o(A)+": "+o(F),1)]),_:2},1024))),128))])]),_:1},8,["label"]),i(g,{prop:"trace_id",label:t.$t("application.field.traceId"),width:"200px","class-name":"text-center"},{default:s(a=>[n("span",Pt,o(a.row.trace_id),1),a.row.trace_id?(l(),f("span",Et,[i(H,{content:a.row.trace_id,class:"inline-block"},null,8,["content"])])):y("",!0)]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.createdAt"),width:"200px"},{default:s(a=>[n("span",Lt,o(t.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"])]),_:1},8,["data","empty-text"])),[[E,t.loading]]):y("",!0),t.type===t.serviceType.Proxy?R((l(),u(P,{key:1,data:t.proxyUsages,stripe:"","table-layout":"fixed","empty-text":t.$t("common.message.noData"),class:"min-h-[calc(100vh-350px)] mb-[50px]"},{default:s(()=>[i(g,{label:t.$t("application.field.name"),width:"160px"},{default:s(a=>[n("span",null,o(a.row?.service?.title),1)]),_:1},8,["label"]),i(g,{prop:"remaining_amount",label:t.$t("usage.field.remainingAmount"),width:"160px","class-name":"text-center"},{default:s(a=>[n("span",null,o(t.getRemainingAmount(a.row)),1),n("span",null,o(t.getOriginalAmount(a.row)),1)]),_:1},8,["label"]),i(g,{prop:"deducted_amount",label:t.$t("usage.field.deductedAmount"),width:"150px","class-name":"text-center"},{default:s(a=>[n("span",null,o(t.getDeductedAmount(a.row)),1)]),_:1},8,["label"]),i(g,{prop:"metadata",label:t.$t("usage.field.metadata"),width:"200px","class-name":"text-center"},{default:s(a=>[(l(!0),f(D,null,C(a.row.metadata,(F,A)=>(l(),u(U,{key:A,class:"mb-2"},{default:s(()=>[T(o(A)+": "+o(F),1)]),_:2},1024))),128))]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.createdAt"),width:"200px"},{default:s(a=>[n("span",Ot,o(t.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"])]),_:1},8,["data","empty-text"])),[[E,t.loading]]):y("",!0)]),_:1})]),_:1})]),_:1}),i(d,null,{default:s(()=>[i(p,{span:10,offset:14},{default:s(()=>[n("div",xt,[i(Y,{"current-page":t.page,"page-size":t.limit,total:t.total,onChange:t.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const Xt=N(At,[["render",Bt],["__scopeId","data-v-468b1d4d"]]);export{Xt as default};
@@ -1 +1 @@
1
- import{o as k}from"./order-C7LItaBN.js";import{P as C}from"./Pagination-Chbfcf6l.js";import{C as S}from"./CopyToClipboard-C_hpGFI6.js";import{O as D}from"./order-CB3uOPHS.js";import{_ as E}from"./index-BceQaAb7.js";import"./vendor-B4-12K57.js";import{g as O}from"./price-DtWUJRlS.js";import{t as v,a as I,k as P,u as N,w as F,x as A,y as B}from"./vendor-element-plus-C2t7-rNg.js";import{d as T,R as f,S as t,l as o,am as r,a as n,Z as s,U as z,at as L,c as p,W as R,Y as i,o as l}from"./vendor-vue-BzRnDgD5.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-nHemWFue.js";import"./vendor-dayjs-D6Igi227.js";import"./vendor-katex-DHBGsivc.js";const V=T({name:"ConsoleOrderList",components:{Pagination:C,CopyToClipboard:S,ElRow:B,ElCol:A,ElTable:F,ElTableColumn:N,ElButton:P,ElTag:I,ElCard:v},data(){return{OrderState:D,orders:[],loading:!1,total:void 0,limit:10}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData()},methods:{getPriceString:O,onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},onFetchData(){this.loading=!0,k.getAll({ordering:"-created_at",limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id}).then(({data:e})=>{this.orders=e.items,this.loading=!1,this.total=e.count}).catch(()=>{this.loading=!1})}}}),q={class:"title"},j={class:"key"},H={class:"cursor-pointer"},X={class:"price"},G={class:"description"},U={key:0},W={key:1,class:"state state-paid"},Y={key:2,class:"state state-finished"},Z={key:3,class:"state state-expired"},J={key:4,class:"state state-failed"},K={class:"created-at"},M={class:"flex items-center justify-center flex-wrap"},Q={class:"float-right"};function x(e,ee,te,ae,oe,se){const m=r("el-col"),u=r("el-row"),_=r("copy-to-clipboard"),d=r("el-table-column"),c=r("el-tag"),h=r("el-button"),g=r("el-table"),w=r("el-card"),b=r("pagination"),y=L("loading");return l(),f(u,{class:"panel"},{default:t(()=>[o(m,{span:24},{default:t(()=>[o(u,null,{default:t(()=>[o(m,{span:24},{default:t(()=>[n("h2",q,s(e.$t("common.title.allOrders")),1)]),_:1})]),_:1}),o(u,null,{default:t(()=>[o(m,{span:24},{default:t(()=>[o(w,{shadow:"hover"},{default:t(()=>[z((l(),f(g,{data:e.orders,stripe:"","empty-text":e.$t("common.message.noData"),class:"min-h-[calc(100vh-300px)] mb-[50px]"},{default:t(()=>[o(d,{prop:"id",label:e.$t("order.field.id"),"class-name":"text-center",width:"200px"},{default:t(a=>[n("span",j,s(a.row.id),1),n("span",H,[o(_,{content:a.row.id,class:"inline-block"},null,8,["content"])])]),_:1},8,["label"]),o(d,{label:e.$t("order.field.price"),width:"100px"},{default:t(a=>[n("span",X,s(e.getPriceString({value:a.row?.price})),1)]),_:1},8,["label"]),o(d,{label:e.$t("order.field.description"),width:"270px","class-name":"hidden md:table-cell","label-class-name":"hidden md:table-cell"},{default:t(a=>[n("span",G,s(a.row.description),1)]),_:1},8,["label"]),o(d,{prop:"state",label:e.$t("order.field.state"),"class-name":"text-center",width:"160px"},{default:t(a=>[a.row.state===e.OrderState?.PENDING?(l(),p("span",U,[o(c,{type:"info",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.pending")),1)]),_:1})])):a.row.state===e.OrderState?.PAID?(l(),p("span",W,[o(c,{type:"success",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.paid")),1)]),_:1})])):a.row.state===e.OrderState?.FINISHED?(l(),p("span",Y,[o(c,{type:"success",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.finished")),1)]),_:1})])):a.row.state===e.OrderState?.EXPIRED?(l(),p("span",Z,[o(c,{type:"danger",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.expired")),1)]),_:1})])):a.row.state===e.OrderState?.FAILED?(l(),p("span",J,[o(c,{type:"danger",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.failed")),1)]),_:1})])):R("",!0)]),_:1},8,["label"]),o(d,{label:e.$t("order.field.createdAt"),width:"250px"},{default:t(a=>[n("span",K,s(e.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"]),o(d,{"min-width":"130px",fixed:"right"},{default:t(a=>[n("div",M,[a.row.state!==e.OrderState.PAID&&a.row.state!==e.OrderState.FINISHED&&a.row.state!==e.OrderState.EXPIRED&&a.row.state!==e.OrderState.FAILED?(l(),f(h,{key:0,type:"primary",size:"small",onClick:$=>e.$router.push({name:"console-order-detail",params:{id:a.row.id}})},{default:t(()=>[i(s(e.$t("order.button.continuePay")),1)]),_:2},1032,["onClick"])):(l(),f(h,{key:1,size:"small",onClick:$=>e.$router.push({name:"console-order-detail",params:{id:a.row.id}})},{default:t(()=>[i(s(e.$t("order.button.checkDetail")),1)]),_:2},1032,["onClick"]))])]),_:1})]),_:1},8,["data","empty-text"])),[[y,e.loading]])]),_:1})]),_:1})]),_:1}),o(u,null,{default:t(()=>[o(m,{span:10,offset:14},{default:t(()=>[n("div",Q,[o(b,{"current-page":e.page,"page-size":e.limit,total:e.total,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const we=E(V,[["render",x]]);export{we as default};
1
+ import{o as k}from"./order-DYcfG_Yw.js";import{P as C}from"./Pagination-B1kOfzR8.js";import{C as S}from"./CopyToClipboard-D0yPTPYW.js";import{O as D}from"./order-CB3uOPHS.js";import{_ as E}from"./index-BwtxyV6k.js";import"./vendor-B4-12K57.js";import{g as O}from"./price-Clo8IP03.js";import{t as v,a as I,k as P,u as N,w as F,x as A,y as B}from"./vendor-element-plus-C2t7-rNg.js";import{d as T,R as f,S as t,l as o,am as r,a as n,Z as s,U as z,at as L,c as p,W as R,Y as i,o as l}from"./vendor-vue-BzRnDgD5.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-nHemWFue.js";import"./vendor-dayjs-D6Igi227.js";import"./vendor-katex-DHBGsivc.js";const V=T({name:"ConsoleOrderList",components:{Pagination:C,CopyToClipboard:S,ElRow:B,ElCol:A,ElTable:F,ElTableColumn:N,ElButton:P,ElTag:I,ElCard:v},data(){return{OrderState:D,orders:[],loading:!1,total:void 0,limit:10}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData()},methods:{getPriceString:O,onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},onFetchData(){this.loading=!0,k.getAll({ordering:"-created_at",limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id}).then(({data:e})=>{this.orders=e.items,this.loading=!1,this.total=e.count}).catch(()=>{this.loading=!1})}}}),q={class:"title"},j={class:"key"},H={class:"cursor-pointer"},X={class:"price"},G={class:"description"},U={key:0},W={key:1,class:"state state-paid"},Y={key:2,class:"state state-finished"},Z={key:3,class:"state state-expired"},J={key:4,class:"state state-failed"},K={class:"created-at"},M={class:"flex items-center justify-center flex-wrap"},Q={class:"float-right"};function x(e,ee,te,ae,oe,se){const m=r("el-col"),u=r("el-row"),_=r("copy-to-clipboard"),d=r("el-table-column"),c=r("el-tag"),h=r("el-button"),g=r("el-table"),w=r("el-card"),b=r("pagination"),y=L("loading");return l(),f(u,{class:"panel"},{default:t(()=>[o(m,{span:24},{default:t(()=>[o(u,null,{default:t(()=>[o(m,{span:24},{default:t(()=>[n("h2",q,s(e.$t("common.title.allOrders")),1)]),_:1})]),_:1}),o(u,null,{default:t(()=>[o(m,{span:24},{default:t(()=>[o(w,{shadow:"hover"},{default:t(()=>[z((l(),f(g,{data:e.orders,stripe:"","empty-text":e.$t("common.message.noData"),class:"min-h-[calc(100vh-300px)] mb-[50px]"},{default:t(()=>[o(d,{prop:"id",label:e.$t("order.field.id"),"class-name":"text-center",width:"200px"},{default:t(a=>[n("span",j,s(a.row.id),1),n("span",H,[o(_,{content:a.row.id,class:"inline-block"},null,8,["content"])])]),_:1},8,["label"]),o(d,{label:e.$t("order.field.price"),width:"100px"},{default:t(a=>[n("span",X,s(e.getPriceString({value:a.row?.price})),1)]),_:1},8,["label"]),o(d,{label:e.$t("order.field.description"),width:"270px","class-name":"hidden md:table-cell","label-class-name":"hidden md:table-cell"},{default:t(a=>[n("span",G,s(a.row.description),1)]),_:1},8,["label"]),o(d,{prop:"state",label:e.$t("order.field.state"),"class-name":"text-center",width:"160px"},{default:t(a=>[a.row.state===e.OrderState?.PENDING?(l(),p("span",U,[o(c,{type:"info",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.pending")),1)]),_:1})])):a.row.state===e.OrderState?.PAID?(l(),p("span",W,[o(c,{type:"success",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.paid")),1)]),_:1})])):a.row.state===e.OrderState?.FINISHED?(l(),p("span",Y,[o(c,{type:"success",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.finished")),1)]),_:1})])):a.row.state===e.OrderState?.EXPIRED?(l(),p("span",Z,[o(c,{type:"danger",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.expired")),1)]),_:1})])):a.row.state===e.OrderState?.FAILED?(l(),p("span",J,[o(c,{type:"danger",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.failed")),1)]),_:1})])):R("",!0)]),_:1},8,["label"]),o(d,{label:e.$t("order.field.createdAt"),width:"250px"},{default:t(a=>[n("span",K,s(e.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"]),o(d,{"min-width":"130px",fixed:"right"},{default:t(a=>[n("div",M,[a.row.state!==e.OrderState.PAID&&a.row.state!==e.OrderState.FINISHED&&a.row.state!==e.OrderState.EXPIRED&&a.row.state!==e.OrderState.FAILED?(l(),f(h,{key:0,type:"primary",size:"small",onClick:$=>e.$router.push({name:"console-order-detail",params:{id:a.row.id}})},{default:t(()=>[i(s(e.$t("order.button.continuePay")),1)]),_:2},1032,["onClick"])):(l(),f(h,{key:1,size:"small",onClick:$=>e.$router.push({name:"console-order-detail",params:{id:a.row.id}})},{default:t(()=>[i(s(e.$t("order.button.checkDetail")),1)]),_:2},1032,["onClick"]))])]),_:1})]),_:1},8,["data","empty-text"])),[[y,e.loading]])]),_:1})]),_:1})]),_:1}),o(u,null,{default:t(()=>[o(m,{span:10,offset:14},{default:t(()=>[n("div",Q,[o(b,{"current-page":e.page,"page-size":e.limit,total:e.total,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const we=E(V,[["render",x]]);export{we as default};
@@ -1 +1 @@
1
- import{a9 as u,aa as w,ab as E,ac as L,c as G,_ as B}from"./index-BceQaAb7.js";import{I as F,a as V}from"./credential-CEfFFZzi.js";import{bH as N}from"./vendor-B4-12K57.js";import{P as O}from"./Pagination-Chbfcf6l.js";import{C as P}from"./CopyToClipboard-C_hpGFI6.js";import{t as z,u as R,j as M,H as j,a as q,x as H,k as W,y as X,w as Y,s as A}from"./vendor-element-plus-C2t7-rNg.js";import{d as Z,R as r,S as a,l as t,am as s,a as i,Z as l,W as b,c as $,Y as m,U as J,at as K,o as p}from"./vendor-vue-BzRnDgD5.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-nHemWFue.js";import"./vendor-dayjs-D6Igi227.js";import"./vendor-katex-DHBGsivc.js";const Q=Z({name:"ConsoleApplicationList",components:{Pagination:O,CopyToClipboard:P,ElTable:Y,ElRow:X,ElButton:W,ElCol:H,ElTag:q,ElSkeleton:j,ElSwitch:M,ElTableColumn:R,ElCard:z,FontAwesomeIcon:N},data(){return{credentialType:V,serviceType:F,individualApplications:[],globalApplications:[],individualApplicationsTotal:void 0,globalApplicationsTotal:void 0,loading:!1,buying:!1,limit:10,form:{amount:1},active:{service:void 0,application:void 0}}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onInitializeGlobalApplication(),this.onFetchData()},methods:{updateAllowConsumeGlobal(e,n){!e||!e.id||w.updateAllConsumeGlobal(e.id,{...e,allow_consume_global:!!n}).then(()=>{A.success(this.$t("application.message.updateSuccessfully").toString())}).catch(()=>{A.error(this.$t("application.message.updateFailed").toString())})},onGoUsage(e){this.$router.push({name:G,query:{application_id:e.id,type:e?.service?.type}})},onBuyMore(e){e?.id&&this.$router.push({name:L,params:{id:e.id}})},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchApplications(e=u.INDIVIDUAL){return new Promise((n,C)=>{w.getAll({limit:this.limit,...e===u.INDIVIDUAL?{offset:(this.page-1)*this.limit}:{},user_id:this.$store.getters.user.id,ordering:"-created_at",type:E.USAGE,scope:e}).then(({data:d})=>{e===u.INDIVIDUAL?(this.individualApplications=d.items,this.individualApplicationsTotal=d.count):(this.globalApplications=d.items,this.globalApplicationsTotal=d.count),n(d)}).catch(d=>{A.error(this.$t("application.message.fetchFailed").toString()),C(d)})})},onFetchData(){this.loading=!0,Promise.all([this.onFetchApplications(u.INDIVIDUAL),this.onFetchApplications(u.GLOBAL)]).then(()=>{this.loading=!1}).catch(()=>{this.loading=!1})},onInitializeGlobalApplication(){w.create({type:E.USAGE,scope:u.GLOBAL,user_id:this.$store.getters.user.id}).finally(()=>{this.onFetchApplications(u.GLOBAL)})},getRemainingAmount(e){if(e.remaining_amount===void 0||e.remaining_amount===null)return"";const n=this.$t(`service.unit.${e?.service?.unit||"credit"}s`);return`${e.remaining_amount?.toFixed(6)} ${n}`},getUsedAmount(e){if(e.used_amount===void 0||e.used_amount===null)return"";const n=this.$t(`service.unit.${e?.service?.unit||"credit"}s`);return`${e.used_amount?.toFixed(6)} ${n}`}}}),ee={class:"title"},te={key:1,class:"summary-card"},ae={class:"icon-wrapper"},oe={class:"label"},le={class:"value"},ie={class:"description"},ne={key:1,class:"flex flex-row justify-between align-center"},se={class:"summary-card"},pe={class:"flex justify-start items-center gap-2 mb-2 w-full"},re={class:"icon-wrapper !mb-0"},de={class:"text-[var(--el-text-color-regular)] text-[14px] truncate"},ce={class:"label"},ue={class:"value"},me={class:"description"},he={class:"flex flex-col items-end gap-2"},fe={class:"copy"},ge={key:0,class:"expired-at"},_e={class:"flex flex-wrap items-center justify-end gap-1"},be={class:"pagination"};function ye(e,n,C,d,ve,we){const h=s("el-col"),g=s("el-row"),k=s("el-skeleton"),f=s("font-awesome-icon"),v=s("el-card"),I=s("copy-to-clipboard"),y=s("el-button"),c=s("el-table-column"),T=s("el-tag"),S=s("el-switch"),U=s("el-table"),D=s("pagination"),x=K("loading");return p(),r(g,{class:"panel p-[30px]"},{default:a(()=>[t(h,{span:24},{default:a(()=>[t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[i("h2",ee,l(e.$t("common.title.allApplications")),1)]),_:1})]),_:1}),t(g,{gutter:15,class:"mb-3"},{default:a(()=>[t(h,{md:12,xs:24},{default:a(()=>[t(v,{shadow:"hover",class:"relative min-h-[180px] mb-2","body-style":{padding:"18px 20px"}},{default:a(()=>[e.loading?(p(),r(k,{key:0})):(p(),$("div",te,[i("div",ae,[t(f,{icon:"fa-solid fa-cubes-stacked"})]),i("p",oe,l(e.$t("application.title.count")),1),i("p",le,l(e.individualApplicationsTotal),1),i("p",ie,l(e.$t("application.message.countDescription")),1)]))]),_:1})]),_:1}),e.globalApplications?.length>0?(p(),r(h,{key:0,md:12,xs:24},{default:a(()=>[t(v,{shadow:"hover",class:"relative min-h-[180px] mb-2","body-style":{padding:"18px 20px"}},{default:a(()=>[e.loading?(p(),r(k,{key:0})):(p(),$("div",ne,[i("div",se,[i("div",pe,[i("div",re,[t(f,{icon:"fa-solid fa-wallet"})]),i("span",de,[m(l(e.$t("application.field.id"))+": "+l(e.globalApplications?.[0]?.id)+" ",1),e.globalApplications?.[0]?.id?(p(),r(I,{key:0,content:e.globalApplications?.[0]?.id,class:"inline-block"},null,8,["content"])):b("",!0)])]),i("p",ce,l(e.$t("application.title.globalBalance")),1),i("p",ue,l(e.globalApplications?.[0]?.remaining_amount?.toFixed(6)||"0.000000")+" "+l(e.$t("service.unit.credits")),1),i("p",me,l(e.$t("application.message.globalBalanceDescription")),1)]),i("div",he,[t(y,{class:"!m-0 !px-2",size:"small",round:"",onClick:n[0]||(n[0]=o=>e.onGoUsage(e.globalApplications?.[0]))},{default:a(()=>[t(f,{icon:"fa-solid fa-chart-line",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.usage")),1)]),_:1}),t(y,{class:"!m-0 !px-2",type:"primary",round:"",size:"small",onClick:n[1]||(n[1]=o=>e.onBuyMore(e.globalApplications?.[0]))},{default:a(()=>[t(f,{icon:"fa-solid fa-coins",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.buyMore")),1)]),_:1})])]))]),_:1})]),_:1})):b("",!0)]),_:1}),t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[t(v,{shadow:"hover"},{default:a(()=>[J((p(),r(U,{data:e.individualApplications,stripe:"",class:"!min-h-[calc(100vh-420px)]","table-layout":"fixed","empty-text":e.$t("common.message.noData")},{default:a(()=>[t(c,{prop:"id",label:e.$t("application.field.id"),width:"200px","class-name":"text-center"},{default:a(o=>[i("span",null,l(o.row.id),1),i("span",fe,[t(I,{content:o?.row?.id,class:"inline-block"},null,8,["content"])])]),_:1},8,["label"]),t(c,{label:e.$t("application.field.type"),width:"90px"},{default:a(o=>[o.row?.type==="Period"?(p(),r(T,{key:0,type:"success",effect:"dark",round:""},{default:a(()=>[m(l(e.$t("application.type.period")),1)]),_:1})):o.row?.type==="Usage"?(p(),r(T,{key:1,effect:"dark",round:""},{default:a(()=>[m(l(e.$t("application.type.usage")),1)]),_:1})):b("",!0)]),_:1},8,["label"]),t(c,{label:e.$t("application.field.name"),width:"180px"},{default:a(o=>[i("span",null,l(o.row?.service?.title),1)]),_:1},8,["label"]),t(c,{prop:"remaining_amount",label:e.$t("application.field.remainingAmount"),width:"150px","class-name":"text-center"},{default:a(o=>[i("span",null,l(e.getRemainingAmount(o.row)),1)]),_:1},8,["label"]),t(c,{prop:"used_amount",label:e.$t("application.field.usedAmount"),width:"150px","class-name":"text-center"},{default:a(o=>[i("span",null,l(e.getUsedAmount(o.row)),1)]),_:1},8,["label"]),t(c,{prop:"allow_consume_global",label:e.$t("application.field.allowConsumeGlobal"),width:"120px","class-name":"text-center"},{default:a(o=>[o.row.service?.type===e.serviceType.API?(p(),r(S,{key:0,modelValue:o.row.allow_consume_global,"onUpdate:modelValue":_=>o.row.allow_consume_global=_,"active-value":!0,"inactive-value":!1,onChange:_=>e.updateAllowConsumeGlobal(o.row,_)},null,8,["modelValue","onUpdate:modelValue","onChange"])):b("",!0)]),_:1},8,["label"]),t(c,{label:e.$t("application.field.expiredAt"),width:"180px"},{default:a(o=>[o.row.expired_at?(p(),$("span",ge,l(e.$dayjs.format(o.row.expired_at)),1)):b("",!0)]),_:1},8,["label"]),t(c,{fixed:"right",width:"200px"},{default:a(o=>[i("div",_e,[t(y,{class:"!m-0 !px-2",size:"small",round:"",onClick:_=>e.onGoUsage(o?.row)},{default:a(()=>[t(f,{icon:"fa-solid fa-chart-line",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.usage")),1)]),_:2},1032,["onClick"]),t(y,{class:"!m-0 !px-2",type:"primary",round:"",size:"small",onClick:_=>e.onBuyMore(o?.row)},{default:a(()=>[t(f,{icon:"fa-solid fa-coins",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.buyMore")),1)]),_:2},1032,["onClick"])])]),_:1})]),_:1},8,["data","empty-text"])),[[x,e.loading]])]),_:1})]),_:1})]),_:1}),t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[i("div",be,[t(D,{"current-page":e.page,"page-size":e.limit,total:e.individualApplicationsTotal,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const Le=B(Q,[["render",ye],["__scopeId","data-v-8a5d3554"]]);export{Le as default};
1
+ import{a9 as u,aa as w,ab as E,ac as L,c as G,_ as B}from"./index-BwtxyV6k.js";import{I as F,a as V}from"./credential-CEfFFZzi.js";import{bH as N}from"./vendor-B4-12K57.js";import{P as O}from"./Pagination-B1kOfzR8.js";import{C as P}from"./CopyToClipboard-D0yPTPYW.js";import{t as z,u as R,j as M,H as j,a as q,x as H,k as W,y as X,w as Y,s as A}from"./vendor-element-plus-C2t7-rNg.js";import{d as Z,R as r,S as a,l as t,am as s,a as i,Z as l,W as b,c as $,Y as m,U as J,at as K,o as p}from"./vendor-vue-BzRnDgD5.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-nHemWFue.js";import"./vendor-dayjs-D6Igi227.js";import"./vendor-katex-DHBGsivc.js";const Q=Z({name:"ConsoleApplicationList",components:{Pagination:O,CopyToClipboard:P,ElTable:Y,ElRow:X,ElButton:W,ElCol:H,ElTag:q,ElSkeleton:j,ElSwitch:M,ElTableColumn:R,ElCard:z,FontAwesomeIcon:N},data(){return{credentialType:V,serviceType:F,individualApplications:[],globalApplications:[],individualApplicationsTotal:void 0,globalApplicationsTotal:void 0,loading:!1,buying:!1,limit:10,form:{amount:1},active:{service:void 0,application:void 0}}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onInitializeGlobalApplication(),this.onFetchData()},methods:{updateAllowConsumeGlobal(e,n){!e||!e.id||w.updateAllConsumeGlobal(e.id,{...e,allow_consume_global:!!n}).then(()=>{A.success(this.$t("application.message.updateSuccessfully").toString())}).catch(()=>{A.error(this.$t("application.message.updateFailed").toString())})},onGoUsage(e){this.$router.push({name:G,query:{application_id:e.id,type:e?.service?.type}})},onBuyMore(e){e?.id&&this.$router.push({name:L,params:{id:e.id}})},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchApplications(e=u.INDIVIDUAL){return new Promise((n,C)=>{w.getAll({limit:this.limit,...e===u.INDIVIDUAL?{offset:(this.page-1)*this.limit}:{},user_id:this.$store.getters.user.id,ordering:"-created_at",type:E.USAGE,scope:e}).then(({data:d})=>{e===u.INDIVIDUAL?(this.individualApplications=d.items,this.individualApplicationsTotal=d.count):(this.globalApplications=d.items,this.globalApplicationsTotal=d.count),n(d)}).catch(d=>{A.error(this.$t("application.message.fetchFailed").toString()),C(d)})})},onFetchData(){this.loading=!0,Promise.all([this.onFetchApplications(u.INDIVIDUAL),this.onFetchApplications(u.GLOBAL)]).then(()=>{this.loading=!1}).catch(()=>{this.loading=!1})},onInitializeGlobalApplication(){w.create({type:E.USAGE,scope:u.GLOBAL,user_id:this.$store.getters.user.id}).finally(()=>{this.onFetchApplications(u.GLOBAL)})},getRemainingAmount(e){if(e.remaining_amount===void 0||e.remaining_amount===null)return"";const n=this.$t(`service.unit.${e?.service?.unit||"credit"}s`);return`${e.remaining_amount?.toFixed(6)} ${n}`},getUsedAmount(e){if(e.used_amount===void 0||e.used_amount===null)return"";const n=this.$t(`service.unit.${e?.service?.unit||"credit"}s`);return`${e.used_amount?.toFixed(6)} ${n}`}}}),ee={class:"title"},te={key:1,class:"summary-card"},ae={class:"icon-wrapper"},oe={class:"label"},le={class:"value"},ie={class:"description"},ne={key:1,class:"flex flex-row justify-between align-center"},se={class:"summary-card"},pe={class:"flex justify-start items-center gap-2 mb-2 w-full"},re={class:"icon-wrapper !mb-0"},de={class:"text-[var(--el-text-color-regular)] text-[14px] truncate"},ce={class:"label"},ue={class:"value"},me={class:"description"},he={class:"flex flex-col items-end gap-2"},fe={class:"copy"},ge={key:0,class:"expired-at"},_e={class:"flex flex-wrap items-center justify-end gap-1"},be={class:"pagination"};function ye(e,n,C,d,ve,we){const h=s("el-col"),g=s("el-row"),k=s("el-skeleton"),f=s("font-awesome-icon"),v=s("el-card"),I=s("copy-to-clipboard"),y=s("el-button"),c=s("el-table-column"),T=s("el-tag"),S=s("el-switch"),U=s("el-table"),D=s("pagination"),x=K("loading");return p(),r(g,{class:"panel p-[30px]"},{default:a(()=>[t(h,{span:24},{default:a(()=>[t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[i("h2",ee,l(e.$t("common.title.allApplications")),1)]),_:1})]),_:1}),t(g,{gutter:15,class:"mb-3"},{default:a(()=>[t(h,{md:12,xs:24},{default:a(()=>[t(v,{shadow:"hover",class:"relative min-h-[180px] mb-2","body-style":{padding:"18px 20px"}},{default:a(()=>[e.loading?(p(),r(k,{key:0})):(p(),$("div",te,[i("div",ae,[t(f,{icon:"fa-solid fa-cubes-stacked"})]),i("p",oe,l(e.$t("application.title.count")),1),i("p",le,l(e.individualApplicationsTotal),1),i("p",ie,l(e.$t("application.message.countDescription")),1)]))]),_:1})]),_:1}),e.globalApplications?.length>0?(p(),r(h,{key:0,md:12,xs:24},{default:a(()=>[t(v,{shadow:"hover",class:"relative min-h-[180px] mb-2","body-style":{padding:"18px 20px"}},{default:a(()=>[e.loading?(p(),r(k,{key:0})):(p(),$("div",ne,[i("div",se,[i("div",pe,[i("div",re,[t(f,{icon:"fa-solid fa-wallet"})]),i("span",de,[m(l(e.$t("application.field.id"))+": "+l(e.globalApplications?.[0]?.id)+" ",1),e.globalApplications?.[0]?.id?(p(),r(I,{key:0,content:e.globalApplications?.[0]?.id,class:"inline-block"},null,8,["content"])):b("",!0)])]),i("p",ce,l(e.$t("application.title.globalBalance")),1),i("p",ue,l(e.globalApplications?.[0]?.remaining_amount?.toFixed(6)||"0.000000")+" "+l(e.$t("service.unit.credits")),1),i("p",me,l(e.$t("application.message.globalBalanceDescription")),1)]),i("div",he,[t(y,{class:"!m-0 !px-2",size:"small",round:"",onClick:n[0]||(n[0]=o=>e.onGoUsage(e.globalApplications?.[0]))},{default:a(()=>[t(f,{icon:"fa-solid fa-chart-line",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.usage")),1)]),_:1}),t(y,{class:"!m-0 !px-2",type:"primary",round:"",size:"small",onClick:n[1]||(n[1]=o=>e.onBuyMore(e.globalApplications?.[0]))},{default:a(()=>[t(f,{icon:"fa-solid fa-coins",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.buyMore")),1)]),_:1})])]))]),_:1})]),_:1})):b("",!0)]),_:1}),t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[t(v,{shadow:"hover"},{default:a(()=>[J((p(),r(U,{data:e.individualApplications,stripe:"",class:"!min-h-[calc(100vh-420px)]","table-layout":"fixed","empty-text":e.$t("common.message.noData")},{default:a(()=>[t(c,{prop:"id",label:e.$t("application.field.id"),width:"200px","class-name":"text-center"},{default:a(o=>[i("span",null,l(o.row.id),1),i("span",fe,[t(I,{content:o?.row?.id,class:"inline-block"},null,8,["content"])])]),_:1},8,["label"]),t(c,{label:e.$t("application.field.type"),width:"90px"},{default:a(o=>[o.row?.type==="Period"?(p(),r(T,{key:0,type:"success",effect:"dark",round:""},{default:a(()=>[m(l(e.$t("application.type.period")),1)]),_:1})):o.row?.type==="Usage"?(p(),r(T,{key:1,effect:"dark",round:""},{default:a(()=>[m(l(e.$t("application.type.usage")),1)]),_:1})):b("",!0)]),_:1},8,["label"]),t(c,{label:e.$t("application.field.name"),width:"180px"},{default:a(o=>[i("span",null,l(o.row?.service?.title),1)]),_:1},8,["label"]),t(c,{prop:"remaining_amount",label:e.$t("application.field.remainingAmount"),width:"150px","class-name":"text-center"},{default:a(o=>[i("span",null,l(e.getRemainingAmount(o.row)),1)]),_:1},8,["label"]),t(c,{prop:"used_amount",label:e.$t("application.field.usedAmount"),width:"150px","class-name":"text-center"},{default:a(o=>[i("span",null,l(e.getUsedAmount(o.row)),1)]),_:1},8,["label"]),t(c,{prop:"allow_consume_global",label:e.$t("application.field.allowConsumeGlobal"),width:"120px","class-name":"text-center"},{default:a(o=>[o.row.service?.type===e.serviceType.API?(p(),r(S,{key:0,modelValue:o.row.allow_consume_global,"onUpdate:modelValue":_=>o.row.allow_consume_global=_,"active-value":!0,"inactive-value":!1,onChange:_=>e.updateAllowConsumeGlobal(o.row,_)},null,8,["modelValue","onUpdate:modelValue","onChange"])):b("",!0)]),_:1},8,["label"]),t(c,{label:e.$t("application.field.expiredAt"),width:"180px"},{default:a(o=>[o.row.expired_at?(p(),$("span",ge,l(e.$dayjs.format(o.row.expired_at)),1)):b("",!0)]),_:1},8,["label"]),t(c,{fixed:"right",width:"200px"},{default:a(o=>[i("div",_e,[t(y,{class:"!m-0 !px-2",size:"small",round:"",onClick:_=>e.onGoUsage(o?.row)},{default:a(()=>[t(f,{icon:"fa-solid fa-chart-line",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.usage")),1)]),_:2},1032,["onClick"]),t(y,{class:"!m-0 !px-2",type:"primary",round:"",size:"small",onClick:_=>e.onBuyMore(o?.row)},{default:a(()=>[t(f,{icon:"fa-solid fa-coins",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.buyMore")),1)]),_:2},1032,["onClick"])])]),_:1})]),_:1},8,["data","empty-text"])),[[x,e.loading]])]),_:1})]),_:1})]),_:1}),t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[i("div",be,[t(D,{"current-page":e.page,"page-size":e.limit,total:e.individualApplicationsTotal,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const Le=B(Q,[["render",ye],["__scopeId","data-v-8a5d3554"]]);export{Le as default};
@@ -1 +1 @@
1
- import{N}from"./Navigator--_Jw-oQ6.js";import{A as E}from"./Status-CaUFs7gn.js";import{a9 as u,ab as m,a5 as k,_ as v,aa as x,ag as D,ah as I}from"./index-BceQaAb7.js";import"./vendor-B4-12K57.js";import{k as U,N as z,n as C,E as V,s as y}from"./vendor-element-plus-C2t7-rNg.js";import{d as _,R as w,S as A,a as c,l as r,Z as h,am as o,Y as B,o as $,b as L,c as P,W as S}from"./vendor-vue-BzRnDgD5.js";import"./EditArray-IlWOQ17d.js";import"./CopyToClipboard-C_hpGFI6.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-nHemWFue.js";import"./vendor-dayjs-D6Igi227.js";import"./vendor-katex-DHBGsivc.js";function O(e){if(!e?.expired_at)return!1;try{return new Date(e?.expired_at)<new Date}catch{return!1}}function R(e){return console.debug("application remaining amount",e,e?.remaining_amount),e?.remaining_amount&&e?.remaining_amount<0}function d(e){if(!e)return console.debug("application is undefined, return false"),!1;const t=R(e),a=O(e);return console.debug("is application exhausted",t),console.debug("is application expired",a),!t&&!a}function G(e,t){if(console.debug("start to execute getFinalApplication",e,t),t&&d(t)&&e?.some(i=>i.id===t.id))return console.debug("current application is usable",t),t;console.debug("get final application from applications",e);const a=e?.find(i=>i.scope===u.GLOBAL&&i.type===m.PERIOD);if(console.debug("application1",a),d(a))return console.debug("application with global scope and Period type",a),a;const s=e?.find(i=>i.scope===u.GLOBAL&&i.type===m.USAGE);if(console.debug("application2",s),d(s))return console.debug("application with global scope and Usage type",s),s;const n=e?.find(i=>(i.scope===u.INDIVIDUAL&&i?.type)===m.PERIOD);if(console.debug("application3",n),d(n))return console.debug("application with Period type",n),n;const p=e?.find(i=>(i.scope===u.INDIVIDUAL&&i?.type)===m.USAGE);return console.debug("application4",p),d(p)?(console.debug("application with Usage type",p),p):a||s||n||p}const F=_({name:"ApplicationConfirm",components:{ElDialog:V,ElDivider:C,ElCheckbox:z,ElButton:U},props:{visible:{type:Boolean,required:!1,default:!1}},emits:["update:visible","apply"],data(){return{checked:!0}},watch:{},methods:{getBaseUrlPlatform:k,onApply(){if(!this.checked){y.error(this.$t("application.message.notAgreePolicy"));return}this.$emit("apply")}}}),M={class:"content py-[10px] px-[40px]"},T={class:"my-4"},W={class:"policy mb-[10px]"},q={class:"policy-title text-[12px] relative -bottom-[3px]"},Y=["href"];function Z(e,t,a,s,n,p){const i=o("el-divider"),g=o("el-checkbox"),f=o("el-button"),b=o("el-dialog");return $(),w(b,{"model-value":e.visible,width:"500px",title:e.$t("application.message.welcome"),center:"",onClose:t[1]||(t[1]=l=>e.$emit("update:visible",!1))},{default:A(()=>[c("div",M,[c("p",T,h(e.$t("application.message.notApplied")),1),r(i,{class:"my-2"}),c("div",W,[r(g,{modelValue:e.checked,"onUpdate:modelValue":t[0]||(t[0]=l=>e.checked=l),size:"large",class:"policy-checkbox mr-[10px]"},null,8,["modelValue"]),c("span",q,h(e.$t("application.message.readPolicy")),1),c("a",{class:"policy-title text-[12px] relative -bottom-[3px] text-[var(--el-color-primary)] cursor-pointer no-underline",target:"_blank",href:e.getBaseUrlPlatform()+"/terms"},"  "+h(e.$t("application.message.policy")),9,Y)]),r(f,{round:"",type:"primary",onClick:e.onApply},{default:A(()=>[B(h(e.$t("common.button.start")),1)]),_:1},8,["onClick"])])]),_:1},8,["model-value","title"])}const j=v(F,[["render",Z]]),H=_({name:"LayoutMain",components:{Navigator:N,ApplicationStatus:E,ApplicationConfirm:j},provide(){return{initialized:L(()=>this.initialized)}},data(){return{initialized:!1,applying:!1,mobile:window.innerWidth<768}},computed:{appName(){return this.$route.meta.appName},application(){return this.$store.state[this.appName]?.application},applications(){const e=this.$store.state[this.appName]?.applications??[];console.debug("individualApplications",e);const t=this.$store.state.applications??[];return console.debug("globalApplications",t),t.concat(e)},loading(){return this.$store.state[this.appName]?.status?.getApplications===I.Request},service(){return this.$store.state[this.appName]?.service}},watch:{appName(){this.initialize()}},mounted(){this.initialize(),window.addEventListener("resize",()=>{this.mobile=window.innerWidth<768})},methods:{async initialize(){this.initialized=!1,console.debug("Fetching all individual and global applications for",this.appName),Promise.all([this.$store.dispatch("getApplications"),this.$store.dispatch(`${this.appName}/getApplications`)]).finally(async()=>{console.debug("Fetched all applications",this.applications),this.$store.state.applications?.length===0&&(this.applying=!0);const e=this.$store.state[this.appName]?.application;console.debug("current application",e);const t=G(this.applications,e);console.debug("final application",t),t&&(console.debug("set final application",t,t?.type),await this.$store.dispatch(`${this.appName}/setApplication`,t)),console.debug("finished initialization"),this.initialized=!0})},onApply(){x.create({type:m.USAGE,scope:u.GLOBAL,user_id:this.$store.getters.user.id}).then(()=>{y.success(this.$t("application.message.applySuccessfully")),this.initialize(),this.applying=!1}).catch(e=>{e?.response?.data?.code===D&&y.error(this.$t("application.message.alreadyApplied"))})}}}),J={class:"wrapper"};function K(e,t,a,s,n,p){const i=o("router-view"),g=o("navigator"),f=o("application-status"),b=o("application-confirm");return $(),P("div",J,[r(i,{class:"main"}),r(g,{class:"navigator",direction:e.mobile?"row":"column"},null,8,["direction"]),e.application?($(),w(f,{key:0,class:"fixed right-2 top-2",application:e.application,applications:e.applications,"show-price":!1,authenticated:!!e.$store.state.token.access,service:e.service,onSelect:t[0]||(t[0]=l=>e.$store.dispatch(`${e.appName}/setApplication`,l))},null,8,["application","applications","authenticated","service"])):S("",!0),r(b,{modelValue:e.applying,"onUpdate:modelValue":t[1]||(t[1]=l=>e.applying=l),modelModifiers:{visible:!0},onApply:e.onApply},null,8,["modelValue","onApply"])])}const ce=v(H,[["render",K],["__scopeId","data-v-93fad1c9"]]);export{ce as default};
1
+ import{N}from"./Navigator-D08MfOeK.js";import{A as E}from"./Status-CviAA8Me.js";import{a9 as u,ab as m,a5 as k,_ as v,aa as x,ag as D,ah as I}from"./index-BwtxyV6k.js";import"./vendor-B4-12K57.js";import{k as U,N as z,n as C,E as V,s as y}from"./vendor-element-plus-C2t7-rNg.js";import{d as _,R as w,S as A,a as c,l as r,Z as h,am as o,Y as B,o as $,b as L,c as P,W as S}from"./vendor-vue-BzRnDgD5.js";import"./EditArray-DpGXSb1V.js";import"./CopyToClipboard-D0yPTPYW.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-nHemWFue.js";import"./vendor-dayjs-D6Igi227.js";import"./vendor-katex-DHBGsivc.js";function O(e){if(!e?.expired_at)return!1;try{return new Date(e?.expired_at)<new Date}catch{return!1}}function R(e){return console.debug("application remaining amount",e,e?.remaining_amount),e?.remaining_amount&&e?.remaining_amount<0}function d(e){if(!e)return console.debug("application is undefined, return false"),!1;const t=R(e),a=O(e);return console.debug("is application exhausted",t),console.debug("is application expired",a),!t&&!a}function G(e,t){if(console.debug("start to execute getFinalApplication",e,t),t&&d(t)&&e?.some(i=>i.id===t.id))return console.debug("current application is usable",t),t;console.debug("get final application from applications",e);const a=e?.find(i=>i.scope===u.GLOBAL&&i.type===m.PERIOD);if(console.debug("application1",a),d(a))return console.debug("application with global scope and Period type",a),a;const s=e?.find(i=>i.scope===u.GLOBAL&&i.type===m.USAGE);if(console.debug("application2",s),d(s))return console.debug("application with global scope and Usage type",s),s;const n=e?.find(i=>(i.scope===u.INDIVIDUAL&&i?.type)===m.PERIOD);if(console.debug("application3",n),d(n))return console.debug("application with Period type",n),n;const p=e?.find(i=>(i.scope===u.INDIVIDUAL&&i?.type)===m.USAGE);return console.debug("application4",p),d(p)?(console.debug("application with Usage type",p),p):a||s||n||p}const F=_({name:"ApplicationConfirm",components:{ElDialog:V,ElDivider:C,ElCheckbox:z,ElButton:U},props:{visible:{type:Boolean,required:!1,default:!1}},emits:["update:visible","apply"],data(){return{checked:!0}},watch:{},methods:{getBaseUrlPlatform:k,onApply(){if(!this.checked){y.error(this.$t("application.message.notAgreePolicy"));return}this.$emit("apply")}}}),M={class:"content py-[10px] px-[40px]"},T={class:"my-4"},W={class:"policy mb-[10px]"},q={class:"policy-title text-[12px] relative -bottom-[3px]"},Y=["href"];function Z(e,t,a,s,n,p){const i=o("el-divider"),g=o("el-checkbox"),f=o("el-button"),b=o("el-dialog");return $(),w(b,{"model-value":e.visible,width:"500px",title:e.$t("application.message.welcome"),center:"",onClose:t[1]||(t[1]=l=>e.$emit("update:visible",!1))},{default:A(()=>[c("div",M,[c("p",T,h(e.$t("application.message.notApplied")),1),r(i,{class:"my-2"}),c("div",W,[r(g,{modelValue:e.checked,"onUpdate:modelValue":t[0]||(t[0]=l=>e.checked=l),size:"large",class:"policy-checkbox mr-[10px]"},null,8,["modelValue"]),c("span",q,h(e.$t("application.message.readPolicy")),1),c("a",{class:"policy-title text-[12px] relative -bottom-[3px] text-[var(--el-color-primary)] cursor-pointer no-underline",target:"_blank",href:e.getBaseUrlPlatform()+"/terms"},"  "+h(e.$t("application.message.policy")),9,Y)]),r(f,{round:"",type:"primary",onClick:e.onApply},{default:A(()=>[B(h(e.$t("common.button.start")),1)]),_:1},8,["onClick"])])]),_:1},8,["model-value","title"])}const j=v(F,[["render",Z]]),H=_({name:"LayoutMain",components:{Navigator:N,ApplicationStatus:E,ApplicationConfirm:j},provide(){return{initialized:L(()=>this.initialized)}},data(){return{initialized:!1,applying:!1,mobile:window.innerWidth<768}},computed:{appName(){return this.$route.meta.appName},application(){return this.$store.state[this.appName]?.application},applications(){const e=this.$store.state[this.appName]?.applications??[];console.debug("individualApplications",e);const t=this.$store.state.applications??[];return console.debug("globalApplications",t),t.concat(e)},loading(){return this.$store.state[this.appName]?.status?.getApplications===I.Request},service(){return this.$store.state[this.appName]?.service}},watch:{appName(){this.initialize()}},mounted(){this.initialize(),window.addEventListener("resize",()=>{this.mobile=window.innerWidth<768})},methods:{async initialize(){this.initialized=!1,console.debug("Fetching all individual and global applications for",this.appName),Promise.all([this.$store.dispatch("getApplications"),this.$store.dispatch(`${this.appName}/getApplications`)]).finally(async()=>{console.debug("Fetched all applications",this.applications),this.$store.state.applications?.length===0&&(this.applying=!0);const e=this.$store.state[this.appName]?.application;console.debug("current application",e);const t=G(this.applications,e);console.debug("final application",t),t&&(console.debug("set final application",t,t?.type),await this.$store.dispatch(`${this.appName}/setApplication`,t)),console.debug("finished initialization"),this.initialized=!0})},onApply(){x.create({type:m.USAGE,scope:u.GLOBAL,user_id:this.$store.getters.user.id}).then(()=>{y.success(this.$t("application.message.applySuccessfully")),this.initialize(),this.applying=!1}).catch(e=>{e?.response?.data?.code===D&&y.error(this.$t("application.message.alreadyApplied"))})}}}),J={class:"wrapper"};function K(e,t,a,s,n,p){const i=o("router-view"),g=o("navigator"),f=o("application-status"),b=o("application-confirm");return $(),P("div",J,[r(i,{class:"main"}),r(g,{class:"navigator",direction:e.mobile?"row":"column"},null,8,["direction"]),e.application?($(),w(f,{key:0,class:"fixed right-2 top-2",application:e.application,applications:e.applications,"show-price":!1,authenticated:!!e.$store.state.token.access,service:e.service,onSelect:t[0]||(t[0]=l=>e.$store.dispatch(`${e.appName}/setApplication`,l))},null,8,["application","applications","authenticated","service"])):S("",!0),r(b,{modelValue:e.applying,"onUpdate:modelValue":t[1]||(t[1]=l=>e.applying=l),modelModifiers:{visible:!0},onApply:e.onApply},null,8,["modelValue","onApply"])])}const ce=v(H,[["render",K],["__scopeId","data-v-93fad1c9"]]);export{ce as default};