@acedatacloud/nexior 3.271.0 → 3.272.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{ApiCodeButton-NZmohixj.js → ApiCodeButton-8Hg0Weqj.js} +1 -1
- package/dist/assets/{AskUserQuestionCard-CzCquW90.js → AskUserQuestionCard-C3X1DtiX.js} +1 -1
- package/dist/assets/{Auth--j9HOElw.js → Auth-Tq9DJTLE.js} +1 -1
- package/dist/assets/{Bare-DoHJaQti.js → Bare-Cg7OqWQF.js} +1 -1
- package/dist/assets/{BotPlaceholder-B31ZLizv.js → BotPlaceholder-DuWkJHz7.js} +1 -1
- package/dist/assets/{BottomFooter-Dl_JMCjK.js → BottomFooter-cvbYx_c6.js} +1 -1
- package/dist/assets/{Callback-Pxbwkhf2.js → Callback-D4-XGr38.js} +1 -1
- package/dist/assets/{Console-B-41ogBg.js → Console-CPKYd2h1.js} +1 -1
- package/dist/assets/{Consumption-QVfFA0o8.js → Consumption-CVy36l-D.js} +1 -1
- package/dist/assets/Conversation-zt1QOxko.js +3 -0
- package/dist/assets/{CopyToClipboard-C9-GE8Ha.js → CopyToClipboard-16GJr0qC.js} +1 -1
- package/dist/assets/{Detail-mOjKpgWe.js → Detail-C83rJ3A0.js} +2 -2
- package/dist/assets/{Extra-o8SxNj2W.js → Extra-DK6PKUii.js} +1 -1
- package/dist/assets/{FilePreview-BjreVsgA.js → FilePreview-CMxjg6m_.js} +1 -1
- package/dist/assets/{Hailuo-Cgxleajs.js → Hailuo-CL9q-o2s.js} +1 -1
- package/dist/assets/{History-BbdwSV8D.js → History-CczVtof_.js} +1 -1
- package/dist/assets/{ImagePreview-k9hQwsmN.js → ImagePreview-4aD6mCco.js} +1 -1
- package/dist/assets/{ImageWrapper-DvojBMWE.js → ImageWrapper-DQRRlNky.js} +1 -1
- package/dist/assets/{Index-DVpS7maI2.js → Index-B-E_y-pw2.js} +1 -1
- package/dist/assets/{Index-CJsGmTkc.js → Index-BPaBFFTe.js} +1 -1
- package/dist/assets/{Index-Dxsvdy5P.js → Index-BS_1ZKxC.js} +1 -1
- package/dist/assets/{Index-DNO1RmUZ2.js → Index-BTN9pqFD2.js} +1 -1
- package/dist/assets/{Index-_k4n4wxt.js → Index-Bak3wknb.js} +1 -1
- package/dist/assets/{Index-CHYKZSsA.css → Index-Bi2OfoQe.css} +1 -1
- package/dist/assets/{Index-BddmK6uY.js → Index-BmFlCd86.js} +1 -1
- package/dist/assets/{Index-B39dwEqR.js → Index-Bn8-eauV.js} +1 -1
- package/dist/assets/{Index-B58nhq_9.js → Index-C6ysjHtz.js} +1 -1
- package/dist/assets/Index-C8nOQFa9.js +1 -0
- package/dist/assets/{Index-D4IBPmcb.js → Index-CH7mKWIx.js} +1 -1
- package/dist/assets/Index-CatSgqSu.js +1 -0
- package/dist/assets/{Index-CLRKMVPn.js → Index-Cgsnve5E.js} +1 -1
- package/dist/assets/Index-Coy2BQHB.js +1 -0
- package/dist/assets/{Index-Ba-jxs03.js → Index-D0dxO4zN.js} +1 -1
- package/dist/assets/{Index-AfT9-WQj2.js → Index-D68B6ix82.js} +1 -1
- package/dist/assets/{Index-BHm1EA7G.js → Index-D9aVjDSP.js} +1 -1
- package/dist/assets/Index-DKS6grLB.js +1 -0
- package/dist/assets/{Index-CawCffeu.js → Index-DLvjUxhF.js} +1 -1
- package/dist/assets/{Index-DuQj5wDl.js → Index-DgJY57Jq.js} +1 -1
- package/dist/assets/{Index-cbWz3Bri.js → Index-DnpPvTAX.js} +1 -1
- package/dist/assets/{Index-DzB53DpC.js → Index-DysXfjZx.js} +1 -1
- package/dist/assets/{Index-CYzHknxn.js → Index-_3hINuq2.js} +1 -1
- package/dist/assets/{Index-D_QRlioP.js → Index-l6aVEYMA.js} +1 -1
- package/dist/assets/{Index-C1715pS6.js → Index-uGSj6m82.js} +1 -1
- package/dist/assets/{Index-D4_gP4G8.js → Index-xRMVS3o_.js} +1 -1
- package/dist/assets/{Invitees-DGSY6H_c.js → Invitees-D2u4Ik13.js} +1 -1
- package/dist/assets/{List-vIO3mu-9.js → List-2zAyILVz.js} +1 -1
- package/dist/assets/{List-Cpgkv3ew.js → List-B9py6E9i.js} +1 -1
- package/dist/assets/{List-CKyyLk8i.js → List-DyZY3GW6.js} +1 -1
- package/dist/assets/{Main-BGl5LrAQ.js → Main-BI3uKNGA.js} +1 -1
- package/dist/assets/{Model-Ce28vSgp.js → Model-DU7zOb-x.js} +1 -1
- package/dist/assets/{Navigator-D27iIJC-.js → Navigator-BxULRuSY.js} +2 -2
- package/dist/assets/{NoTasks-CMoBXPcD.js → NoTasks-BMBpS8O_.js} +1 -1
- package/dist/assets/{NotFound-bpbp2G7w.js → NotFound-BACRZ5Yv.js} +1 -1
- package/dist/assets/{Pagination-DPHReSGY.js → Pagination-BbK0Kubg.js} +1 -1
- package/dist/assets/{Pay-B90Ebep_.js → Pay-BHP7gTMz.js} +1 -1
- package/dist/assets/{Player-BQHc5wF7.js → Player-C-JiQcGw.js} +1 -1
- package/dist/assets/{Status-r_ulgsxk.js → Status-_NFSQga5.js} +1 -1
- package/dist/assets/{Subscribe-BYjc9RSK.js → Subscribe-BC61Fl45.js} +1 -1
- package/dist/assets/{TabSwitcher-BzckdjHN.js → TabSwitcher-CLXz2z2S.js} +1 -1
- package/dist/assets/{Tts-Df6jDZpY.js → Tts-BgOJJjF4.js} +1 -1
- package/dist/assets/{VideoPlayer-x2LV9q35.js → VideoPlayer-Qc7k-3La.js} +1 -1
- package/dist/assets/{avatar-CWN-l-dA.js → avatar-gSjZmP8o.js} +1 -1
- package/dist/assets/{basic-DcWpraW8.js → basic-BKj6DAns.js} +1 -1
- package/dist/assets/{chat-BfMY33eF.js → chat-CMwhnvit.js} +1 -1
- package/dist/assets/{codingBridge-CrUswuyr.js → codingBridge-BCdY-7LL.js} +1 -1
- package/dist/assets/{codingBridge-DdTYVSZG.js → codingBridge-BFvinfZm.js} +1 -1
- package/dist/assets/{codingBridge-BTImjAyn.js → codingBridge-BIk_g6XI.js} +1 -1
- package/dist/assets/{codingBridge-BmRZX6g7.js → codingBridge-BNLPQfcB.js} +1 -1
- package/dist/assets/{codingBridge-C8Pcp3RH.js → codingBridge-BQpL36C8.js} +1 -1
- package/dist/assets/{codingBridge-dTmunGY_.js → codingBridge-BmF1iiRA.js} +1 -1
- package/dist/assets/{codingBridge-rueL5mGb.js → codingBridge-C4SdYcxG.js} +1 -1
- package/dist/assets/{codingBridge-DLWLEYmq.js → codingBridge-C_zYqcPg.js} +1 -1
- package/dist/assets/{codingBridge-BMNCnJBy.js → codingBridge-CcD-p5UZ.js} +1 -1
- package/dist/assets/codingBridge-CkI9T9_S.js +2 -0
- package/dist/assets/{codingBridge-CNy4rTdD.js → codingBridge-Cks2hxaa.js} +1 -1
- package/dist/assets/{codingBridge-BkD4sr9i.js → codingBridge-ClZoc5vq.js} +1 -1
- package/dist/assets/{codingBridge-C51QvQzN.js → codingBridge-D-iSlWtJ.js} +1 -1
- package/dist/assets/{codingBridge-B_J3GI6x.js → codingBridge-DRvMxeh3.js} +1 -1
- package/dist/assets/{codingBridge-CszuWuik.js → codingBridge-DcNEFGfM.js} +1 -1
- package/dist/assets/{codingBridge-iLKD6z57.js → codingBridge-DkAMWy7B.js} +1 -1
- package/dist/assets/{codingBridge-Cy23dz9o.js → codingBridge-aimgP5u6.js} +1 -1
- package/dist/assets/{codingBridge-B4lV_uDI.js → codingBridge-f6O1bx99.js} +1 -1
- package/dist/assets/{codingBridge-D50vkZrk.js → codingBridge-qsb1Bcs4.js} +1 -1
- package/dist/assets/{collapse-D5ISaJhT.js → collapse-RHvn9B7u.js} +1 -1
- package/dist/assets/{constants-Bt5WGqZw.js → constants-vDFRJTq6.js} +1 -1
- package/dist/assets/{createTaskActions-CpJQYR3F.js → createTaskActions-WgvOzAxX.js} +1 -1
- package/dist/assets/{date-picker-DPo4CavG.js → date-picker--ZqvuNIO.js} +1 -1
- package/dist/assets/{dropdown-57JmuePV.js → dropdown-DuboFwxv.js} +1 -1
- package/dist/assets/{esm-DAieOved.js → esm-B2xXBlk8.js} +1 -1
- package/dist/assets/{esm-yn1dwbWf.js → esm-CSsFnkjy.js} +1 -1
- package/dist/assets/{esm-Cm-Hb10-.js → esm-Ck17hZlI.js} +2 -2
- package/dist/assets/{esm-CwORCRif.js → esm-CpiKqaVZ.js} +3 -3
- package/dist/assets/{esm-ChN5xdM-.js → esm-stn8a0er.js} +1 -1
- package/dist/assets/{fish-XddxaG5O.js → fish-BT8xC0Mo.js} +1 -1
- package/dist/assets/{flux-CkkDbLQY.js → flux-Dt9VuJAO.js} +1 -1
- package/dist/assets/{hailuo-CjFb1O1H.js → hailuo-kfUxc4ko.js} +1 -1
- package/dist/assets/{headshots-flGYHkcO.js → headshots-iaO819_l.js} +1 -1
- package/dist/assets/{image-BXBNi5iA.js → image-CokNERba.js} +1 -1
- package/dist/assets/{index-DXE85bHt.js → index-Ux3Ldhqb.js} +5 -5
- package/dist/assets/{index.browser.esm-Cref-ei9.js → index.browser.esm-CztA9bhm.js} +1 -1
- package/dist/assets/{index.es-B6aGXFcX.js → index.es-DA4X-U-q.js} +1 -1
- package/dist/assets/{input-number-Dx-0zAs3.js → input-number-BNMZAR_X.js} +1 -1
- package/dist/assets/{kling-CA4jW_ki.js → kling-QUOOZhtk.js} +1 -1
- package/dist/assets/{luma-B08ye6L4.js → luma-D6z1rxbU.js} +1 -1
- package/dist/assets/{midjourney-Dyp5HCB9.js → midjourney-Cgfvl2yv.js} +1 -1
- package/dist/assets/{nanobanana-Dn_qRQke.js → nanobanana-DMvCv-Nn.js} +1 -1
- package/dist/assets/{openaiimage-CRxv3DgR.js → openaiimage-BxTGmRSV.js} +1 -1
- package/dist/assets/{pagination-BNffOlni.js → pagination-Cqd54t6s.js} +1 -1
- package/dist/assets/{pika-Bm72QCAC.js → pika-LzG3vvcY.js} +1 -1
- package/dist/assets/{pixverse-pZzWn-TG.js → pixverse-ChDLkYev.js} +1 -1
- package/dist/assets/{popover-DpltlERK.js → popover-Co1-Mo-L.js} +1 -1
- package/dist/assets/{producer-BhYY02OJ.js → producer-bC4G8qfX.js} +1 -1
- package/dist/assets/{qrart-8rr58ivO.js → qrart-CYMS_ivJ.js} +1 -1
- package/dist/assets/{row-CrNKEd4T.js → row-DFhFPP85.js} +1 -1
- package/dist/assets/{seedance-LfQa60he.js → seedance-CXoE4hu6.js} +1 -1
- package/dist/assets/{seedream-IhRfNicF.js → seedream-CgSaq9am.js} +1 -1
- package/dist/assets/{select-DpY6_x_0.js → select-DKxozijX.js} +1 -1
- package/dist/assets/{serp-Bjbj3c8N.js → serp-DwIIxVjj.js} +1 -1
- package/dist/assets/{slider-lao_fzf8.js → slider-BzGULsiS.js} +1 -1
- package/dist/assets/{solana-wallets-hf1PX8fD.js → solana-wallets-g2bKvN4P.js} +2 -2
- package/dist/assets/{solana-wallets-vue-BlvvztAp.js → solana-wallets-vue-C69IHF1L.js} +1 -1
- package/dist/assets/{sora-Cwi0SbUz.js → sora-CVvJj9bW.js} +1 -1
- package/dist/assets/{suno-Do1JuImT.js → suno-BhaqzltH.js} +1 -1
- package/dist/assets/{switch-DvnDDjvA.js → switch-B0qMUnX2.js} +1 -1
- package/dist/assets/{tabs-DyoZnQLw.js → tabs-BgpkhqCl.js} +1 -1
- package/dist/assets/{upload-D22l7fnu.js → upload-DnNyu5wB.js} +1 -1
- package/dist/assets/{veo-CnsjJ4wS.js → veo-DV9Talsa.js} +1 -1
- package/dist/assets/{wan-CZCHtZQH.js → wan-DQvQy9v4.js} +1 -1
- package/dist/assets/{web-BBQ-9WVT.js → web-CpYn5lRB.js} +1 -1
- package/dist/assets/{web-CkUVxy0D.js → web-DPG6_k6a.js} +1 -1
- package/dist/assets/{web-DLN5JpYN.js → web-DPuM_RDy.js} +1 -1
- package/dist/assets/{web-DA5PLgHG.js → web-tsd_3fpH.js} +1 -1
- package/dist/assets/{webextrator-DqOUMJAZ.js → webextrator-C-bzkF7m.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/dist/assets/Conversation-DZg4daG1.js +0 -3
- package/dist/assets/Index-BA7d2KT4.js +0 -1
- package/dist/assets/Index-BaWzrnK9.js +0 -1
- package/dist/assets/Index-CHkGtyoj.js +0 -1
- package/dist/assets/Index-rnvx8cCd.js +0 -1
- package/dist/assets/codingBridge-BCdEEfdY.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,M as i,N as a,O as o,P as s,Q as c,Ut as l,X as u,et as d,k as f,lt as p,x as m,y as h}from"./vendor-chart-Df3WBvr0.js";import{t as g}from"./button-Diu_mJ2H.js";import{t as _}from"./upload-D22l7fnu.js";import{t as v}from"./tooltip-hII4wDEz.js";import{t as y}from"./image-BXBNi5iA.js";import{t as b}from"./alert-Cs6WDxgv.js";import{t as x}from"./drawer-B42T8GMw.js";import{t as S}from"./switch-DvnDDjvA.js";import{qr as C}from"./constants-Bt5WGqZw.js";import{At as w,Dt as T,E,Er as D,Mt as O,Nn as ee,Ot as k,gr as A,kt as j,pn as M,yr as N}from"./index-DXE85bHt.js";import{t as P}from"./index.es-B6aGXFcX.js";import{t as te}from"./CopyToClipboard-C9-GE8Ha.js";import{t as F}from"./FilePreview-BjreVsgA.js";import{t as I}from"./ImagePreview-k9hQwsmN.js";import{t as L}from"./BotPlaceholder-B31ZLizv.js";import{i as R,n as z,t as B}from"./pagination-BNffOlni.js";import{n as V,t as H}from"./NoTasks-CMoBXPcD.js";import{t as U}from"./Consumption-QVfFA0o8.js";import{t as W}from"./ApiCodeButton-NZmohixj.js";import{t as G}from"./VideoPlayer-x2LV9q35.js";var K=s({name:`LayoutLuma`,components:{ElDrawer:x,ElButton:g,FontAwesomeIcon:P},data(){return{drawer:!1}}}),q={class:`main flex flex-row flex-1`},J={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Y={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function X(t,n,i,o,s,c){let l=d(`font-awesome-icon`),m=d(`el-button`),h=d(`el-drawer`);return u(),f(`div`,q,[r(`div`,J,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,Y,[e(t.$slots,`result`,{},void 0,!0)]),a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(l,{icon:`fa-solid fa-magic`})]),_:1}),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`,class:`drawer`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Z=E(K,[[`render`,X],[`__scopeId`,`data-v-fdc8f36b`]]),Q=s({name:`EnhancementSelector`,components:{ElSwitch:S,InfoIcon:R},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=!0)}}),ne={class:`relative`},re={class:`flex justify-between`},ie={class:`flex justify-start items-center`},ae={class:`text-sm font-bold`},oe={class:`flex justify-end items-center`};function se(e,t,n,i,o,s){let c=d(`info-icon`),p=d(`el-switch`);return u(),f(`div`,ne,[r(`div`,re,[r(`div`,ie,[r(`span`,ae,l(e.$t(`luma.name.enhancement`)),1),a(c,{content:e.$t(`luma.description.enhancement`)},null,8,[`content`])]),r(`div`,oe,[a(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var ce=E(Q,[[`render`,se]]),le=s({name:`CustomSelector`,components:{ElSwitch:S,InfoIcon:R},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=!1)}}),ue={class:`relative`},de={class:`flex justify-between`},fe={class:`flex justify-start items-center`},pe={class:`text-sm font-bold`},me={class:`flex justify-end items-center`};function he(e,t,n,i,o,s){let c=d(`info-icon`),p=d(`el-switch`);return u(),f(`div`,ue,[r(`div`,de,[r(`div`,fe,[r(`span`,pe,l(e.$t(`luma.name.custom`)),1),a(c,{content:e.$t(`luma.description.custom`)},null,8,[`content`])]),r(`div`,me,[a(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var ge=E(le,[[`render`,he]]),_e=s({name:`LoopSelector`,components:{ElSwitch:S,InfoIcon:R},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=!1)}}),ve={class:`relative`},ye={class:`flex justify-between`},be={class:`flex justify-start items-center`},xe={class:`text-sm font-bold`},Se={class:`flex justify-end items-center`};function Ce(e,t,n,i,o,s){let c=d(`info-icon`),p=d(`el-switch`);return u(),f(`div`,ve,[r(`div`,ye,[r(`div`,be,[r(`span`,xe,l(e.$t(`luma.name.loop`)),1),a(c,{content:e.$t(`luma.description.loop`)},null,8,[`content`])]),r(`div`,Se,[a(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var we=E(_e,[[`render`,Ce]]),Te=s({name:`EndImage`,components:{ElUpload:_,ElButton:g,ImagePreview:I,InfoIcon:R,FontAwesomeIcon:P},mixins:[w,k],data(){return{fileList:[],uploadUrl:N()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onExceed(){D.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){D.error(this.$t(`luma.message.uploadReferencesError`))},onSetEndImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),Ee={class:`relative`},De={class:`flex justify-between`},Oe={class:`flex justify-start items-center`},ke={class:`text-sm font-bold`};function Ae(e,t,s,c,m,h){let g=d(`info-icon`),_=d(`image-preview`),v=d(`font-awesome-icon`),y=d(`el-button`),b=d(`el-upload`);return u(),f(`div`,Ee,[r(`div`,De,[r(`div`,Oe,[r(`span`,ke,l(e.$t(`luma.name.endImageUrl`)),1),a(g,{content:e.$t(`luma.description.endImageUrl`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:t})=>[t.url&&t.percentage!==void 0?(u(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadEndImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var je=E(Te,[[`render`,Ae],[`__scopeId`,`data-v-cd768b26`]]),Me=s({name:`StartImage`,components:{ElUpload:_,ElButton:g,ImagePreview:I,InfoIcon:R,FontAwesomeIcon:P},mixins:[w,k],data(){return{fileList:[],uploadUrl:N()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){D.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){D.error(this.$t(`luma.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Ne={class:`relative`},Pe={class:`flex justify-between`},Fe={class:`flex justify-start items-center`},Ie={class:`text-sm font-bold`};function Le(e,t,s,c,m,h){let g=d(`info-icon`),_=d(`image-preview`),v=d(`font-awesome-icon`),y=d(`el-button`),b=d(`el-upload`);return u(),f(`div`,Ne,[r(`div`,Pe,[r(`div`,Fe,[r(`span`,Ie,l(e.$t(`luma.name.startImageUrl`)),1),a(g,{content:e.$t(`luma.description.startImageUrl`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:t})=>[t.percentage==null?o(``,!0):(u(),n(_,{key:0,url:t.url||t.response.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Re=E(Me,[[`render`,Le],[`__scopeId`,`data-v-4d03e978`]]),ze=s({name:`UploadVideo`,components:{ElUpload:_,ElButton:g,InfoIcon:R,FilePreview:F,FontAwesomeIcon:P},mixins:[k],data(){return{fileList:[],uploadUrl:N()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||=void 0},methods:{onExceed(){D.warning(this.$t(`luma.message.uploadVideoExceed`))},onError(){D.error(this.$t(`luma.message.uploadVideoError`))},beforeUpload(e){let t=e.type===`video/mp4`,n=e.size/1024/1024<10;return t?n?!0:(D.error(this.$t(`luma.message.uploadVideoSizeExceed`)),!1):(D.error(this.$t(`luma.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e,action:`extend`})},async onSuccess(){this.onSetVideoUrl()}}}),Be={class:`relative`},Ve={class:`flex justify-between`},He={class:`flex justify-start items-center`},Ue={class:`text-sm font-bold`};function We(e,t,s,c,m,h){let g=d(`info-icon`),_=d(`file-preview`),v=d(`font-awesome-icon`),y=d(`el-button`),b=d(`el-upload`);return u(),f(`div`,Be,[r(`div`,Ve,[r(`div`,He,[r(`span`,Ue,l(e.$t(`luma.name.videoUrl`)),1),a(g,{content:e.$t(`luma.description.videoUrl`)},null,8,[`content`])])]),a(b,{"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,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:p(({file:t})=>[t.percentage==null?o(``,!0):(u(),n(_,{key:0,url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ge=E(ze,[[`render`,We],[`__scopeId`,`data-v-b4c637fa`]]),Ke=s({name:`PromptInput`,components:{PromptTextarea:V},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||=``}});function qe(e,t,r,i,a,o){let s=d(`prompt-textarea`);return u(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`luma.name.prompt`),info:e.$t(`luma.description.prompt`),placeholder:e.$t(`luma.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Je=E(Ke,[[`render`,qe]]),Ye=s({name:`ExtendFromInput`,components:{VideoPlayer:G},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:`1080p`}}}},computed:{config(){return this.$store.state.luma?.config}}}),Xe={class:`relative`},Ze={class:`flex mb-2`},Qe={class:`text-sm font-bold`};function $e(e,t,i,a,s,c){let p=d(`video-player`);return u(),f(`div`,Xe,[r(`div`,Ze,[r(`span`,Qe,l(e.$t(`luma.name.extend`)),1)]),r(`div`,null,[e.config?.video_url?(u(),n(p,{key:0,src:e.config?.video_url},null,8,[`src`])):o(``,!0)])])}var et=s({name:`ConfigPanel`,components:{LoopSelector:we,StartImageInput:Re,EndImageInput:je,EnhancementSelector:ce,ElButton:g,FontAwesomeIcon:P,PromptInput:Je,ExtendFromInput:E(Ye,[[`render`,$e]]),CustomSelector:ge,UploadVideo:Ge,Consumption:U},emits:[`generate`],computed:{config(){return this.$store.state.luma?.config},consumption(){return O(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),tt={class:`flex flex-col h-full`},nt={class:`flex-1 overflow-y-auto p-5`},rt={class:`flex flex-col items-center justify-center px-5 pb-5`};function it(e,t,s,c,m,h){let g=d(`extend-from-input`),_=d(`prompt-input`),v=d(`custom-selector`),y=d(`upload-video`),b=d(`start-image-input`),x=d(`end-image-input`),S=d(`enhancement-selector`),C=d(`loop-selector`),w=d(`consumption`),T=d(`font-awesome-icon`),E=d(`el-button`);return u(),f(`div`,tt,[r(`div`,nt,[e.config?.video_id||e.config?.video_url?(u(),n(g,{key:0,class:`mb-4`})):o(``,!0),a(_,{class:`mb-4`}),e.config?.video_id?o(``,!0):(u(),n(v,{key:1,class:`mb-4`})),e.config?.custom?(u(),n(y,{key:2,class:`mb-4`})):o(``,!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(u(),n(b,{key:3,class:`mb-4`})):o(``,!0),a(x,{class:`mb-4`}),a(S,{class:`mb-4`}),a(C,{class:`mb-4`})]),r(`div`,rt,[a(w,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),e.config?.video_url!==void 0||e.config?.custom?(u(),n(E,{key:0,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:p(()=>[a(T,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`luma.button.extend`)),1)]),_:1},8,[`onClick`])):(u(),n(E,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:p(()=>[a(T,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`luma.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var at=E(et,[[`render`,it]]),ot=s({name:`TaskPreview`,components:{ElImage:y,CopyToClipboard:te,FontAwesomeIcon:P,ElAlert:b,VideoPlayer:G,ElTooltip:v,ElButton:g,ApiCodeButton:W},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`)}}}),st={class:`preview`},ct={class:`left`},lt={class:`main`},ut={class:`bot`},dt={class:`datetime`},ft={class:`info`},pt={key:0,class:`prompt mt-2`},mt={key:0},ht={key:1},gt={key:0,class:t({content:!0,failed:!0})},_t={key:0,class:`mb-4`},vt={key:1,class:t({operations:!0,"mt-2":!0,"mb-4":!0})},yt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},bt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},xt={key:1,class:t({content:!0})},St={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},wt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Et={key:2,class:t({content:!0})},$={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Dt(e,t,n,s,c,m){let g=d(`el-image`),_=d(`video-player`),v=d(`el-button`),y=d(`el-tooltip`),b=d(`api-code-button`),x=d(`font-awesome-icon`),S=d(`copy-to-clipboard`),C=d(`el-alert`);return u(),f(`div`,st,[r(`div`,ct,[a(g,{src:`https://cdn.acedata.cloud/ahjfwi.png`,class:`avatar`})]),r(`div`,lt,[r(`div`,ut,[i(l(e.$t(`luma.name.lumaBot`))+` `,1),r(`span`,dt,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,ft,[e.modelValue?.request?.prompt?(u(),f(`p`,pt,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?o(``,!0):(u(),f(`span`,mt,` - (`+l(e.$t(`luma.status.pending`))+`) `,1)),e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`?(u(),f(`span`,ht,` - (`+l(e.$t(`luma.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),e.modelValue?.response?.success===!0?(u(),f(`div`,gt,[e.modelValue.response.video_url?(u(),f(`div`,_t,[a(_,{src:e.modelValue.response.video_url},null,8,[`src`])])):o(``,!0),e.modelValue?.response&&!e.config?.custom?(u(),f(`div`,vt,[a(y,{class:`box-item`,effect:`dark`,content:e.$t(`luma.message.extendVideo`),placement:`top-start`},{default:p(()=>[a(v,{type:`info`,size:`small`,class:`btn-action`,onClick:t[0]||=h(t=>e.onExtend(t,e.modelValue?.response),[`stop`])},{default:p(()=>[i(l(e.$t(`luma.button.extend`)),1)]),_:1})]),_:1},8,[`content`]),a(y,{class:`box-item`,effect:`dark`,content:e.$t(`luma.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(v,{type:`info`,size:`small`,class:`btn-action`,onClick:t[1]||=h(t=>e.onDownload(e.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[i(l(e.$t(`luma.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(b,{path:`/luma/videos`,body:e.modelValue?.request},null,8,[`body`])])):o(``,!0),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[r(`p`,yt,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,bt,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),e.modelValue?.response?.state===`failed`||e.modelValue?.response?.success===!1?(u(),f(`div`,xt,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failure`)),1)]),default:p(()=>[r(`p`,St,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])]),r(`p`,Ct,[a(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),a(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,wt,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),r(`p`,Tt,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.traceId`))+`: `+l(e.modelValue?.trace_id)+` `,1),a(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),!e.modelValue?.response||e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`?(u(),f(`div`,Et,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failure`)),1)]),default:p(()=>[r(`p`,$,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var Ot=s({name:`RecentPanel`,components:{BotPlaceholder:L,TaskPreview:E(ot,[[`render`,Dt],[`__scopeId`,`data-v-9c354ffe`]]),NoTasks:H,ScrollList:z},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?.()}}}),kt={key:0},At={key:2,class:`w-full h-full flex items-center justify-center`};function jt(e,t,r,i,s,l){let h=d(`bot-placeholder`),g=d(`task-preview`),_=d(`scroll-list`),v=d(`no-tasks`);return u(),f(m,null,[e.tasks?.items===void 0?(u(),f(`div`,kt,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(u(),n(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[1]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(u(!0),f(m,null,c(e.tasks?.items,r=>(u(),n(g,{key:r.id,"model-value":r,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(u(),f(`div`,At,[a(v)])):o(``,!0)],64)}var Mt=E(Ot,[[`render`,jt]]),Nt=C(`luma`),Pt=s({name:`LumaIndex`,components:{ConfigPanel:at,Layout:Z,RecentPanel:Mt},mixins:[j],inject:[`initialized`],emits:[`extend`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===A.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===A.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 B({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();let 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);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`luma/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!T(this.uploadTracker,e=>this.$t(e),e=>D.warning(e)))return;let e={...this.config,callback_url:Nt};if(!this.hasText(e.prompt)){D.error(this.$t(`luma.message.promptRequired`));return}e.prompt=e.prompt?.trim();let t=this.credential?.token;if(!t){console.error(`no token specified`);return}D.info(this.$t(`luma.message.startingTask`)),ee(`luma`,M.generate(e,{token:t})).then(()=>{D.success(this.$t(`luma.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?D.error(this.$t(`luma.message.usedUp`)):D.error(this.$t(`luma.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function Ft(e,t,r,i,o,s){let c=d(`config-panel`),l=d(`recent-panel`),f=d(`layout`);return u(),n(f,null,{config:p(()=>[a(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`loading`,`onReachTop`])]),_:1})}var It=E(Pt,[[`render`,Ft]]);export{It as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,M as i,N as a,O as o,P as s,Q as c,Ut as l,X as u,et as d,k as f,lt as p,x as m,y as h}from"./vendor-chart-Df3WBvr0.js";import{t as g}from"./button-Diu_mJ2H.js";import{t as _}from"./upload-DnNyu5wB.js";import{t as v}from"./tooltip-hII4wDEz.js";import{t as y}from"./image-CokNERba.js";import{t as b}from"./alert-Cs6WDxgv.js";import{t as x}from"./drawer-B42T8GMw.js";import{t as S}from"./switch-B0qMUnX2.js";import{Jr as C}from"./constants-vDFRJTq6.js";import{At as w,Dt as T,E,Er as D,Mt as O,Nn as ee,Ot as k,gr as A,kt as j,pn as M,yr as N}from"./index-Ux3Ldhqb.js";import{t as P}from"./index.es-DA4X-U-q.js";import{t as te}from"./CopyToClipboard-16GJr0qC.js";import{t as F}from"./FilePreview-CMxjg6m_.js";import{t as I}from"./ImagePreview-4aD6mCco.js";import{t as L}from"./BotPlaceholder-DuWkJHz7.js";import{i as R,n as z,t as B}from"./pagination-Cqd54t6s.js";import{n as V,t as H}from"./NoTasks-BMBpS8O_.js";import{t as U}from"./Consumption-CVy36l-D.js";import{t as W}from"./ApiCodeButton-8Hg0Weqj.js";import{t as G}from"./VideoPlayer-Qc7k-3La.js";var K=s({name:`LayoutLuma`,components:{ElDrawer:x,ElButton:g,FontAwesomeIcon:P},data(){return{drawer:!1}}}),q={class:`main flex flex-row flex-1`},J={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Y={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function X(t,n,i,o,s,c){let l=d(`font-awesome-icon`),m=d(`el-button`),h=d(`el-drawer`);return u(),f(`div`,q,[r(`div`,J,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,Y,[e(t.$slots,`result`,{},void 0,!0)]),a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(l,{icon:`fa-solid fa-magic`})]),_:1}),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`,class:`drawer`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Z=E(K,[[`render`,X],[`__scopeId`,`data-v-fdc8f36b`]]),Q=s({name:`EnhancementSelector`,components:{ElSwitch:S,InfoIcon:R},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=!0)}}),ne={class:`relative`},re={class:`flex justify-between`},ie={class:`flex justify-start items-center`},ae={class:`text-sm font-bold`},oe={class:`flex justify-end items-center`};function se(e,t,n,i,o,s){let c=d(`info-icon`),p=d(`el-switch`);return u(),f(`div`,ne,[r(`div`,re,[r(`div`,ie,[r(`span`,ae,l(e.$t(`luma.name.enhancement`)),1),a(c,{content:e.$t(`luma.description.enhancement`)},null,8,[`content`])]),r(`div`,oe,[a(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var ce=E(Q,[[`render`,se]]),le=s({name:`CustomSelector`,components:{ElSwitch:S,InfoIcon:R},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=!1)}}),ue={class:`relative`},de={class:`flex justify-between`},fe={class:`flex justify-start items-center`},pe={class:`text-sm font-bold`},me={class:`flex justify-end items-center`};function he(e,t,n,i,o,s){let c=d(`info-icon`),p=d(`el-switch`);return u(),f(`div`,ue,[r(`div`,de,[r(`div`,fe,[r(`span`,pe,l(e.$t(`luma.name.custom`)),1),a(c,{content:e.$t(`luma.description.custom`)},null,8,[`content`])]),r(`div`,me,[a(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var ge=E(le,[[`render`,he]]),_e=s({name:`LoopSelector`,components:{ElSwitch:S,InfoIcon:R},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=!1)}}),ve={class:`relative`},ye={class:`flex justify-between`},be={class:`flex justify-start items-center`},xe={class:`text-sm font-bold`},Se={class:`flex justify-end items-center`};function Ce(e,t,n,i,o,s){let c=d(`info-icon`),p=d(`el-switch`);return u(),f(`div`,ve,[r(`div`,ye,[r(`div`,be,[r(`span`,xe,l(e.$t(`luma.name.loop`)),1),a(c,{content:e.$t(`luma.description.loop`)},null,8,[`content`])]),r(`div`,Se,[a(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var we=E(_e,[[`render`,Ce]]),Te=s({name:`EndImage`,components:{ElUpload:_,ElButton:g,ImagePreview:I,InfoIcon:R,FontAwesomeIcon:P},mixins:[w,k],data(){return{fileList:[],uploadUrl:N()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onExceed(){D.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){D.error(this.$t(`luma.message.uploadReferencesError`))},onSetEndImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),Ee={class:`relative`},De={class:`flex justify-between`},Oe={class:`flex justify-start items-center`},ke={class:`text-sm font-bold`};function Ae(e,t,s,c,m,h){let g=d(`info-icon`),_=d(`image-preview`),v=d(`font-awesome-icon`),y=d(`el-button`),b=d(`el-upload`);return u(),f(`div`,Ee,[r(`div`,De,[r(`div`,Oe,[r(`span`,ke,l(e.$t(`luma.name.endImageUrl`)),1),a(g,{content:e.$t(`luma.description.endImageUrl`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:t})=>[t.url&&t.percentage!==void 0?(u(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadEndImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var je=E(Te,[[`render`,Ae],[`__scopeId`,`data-v-cd768b26`]]),Me=s({name:`StartImage`,components:{ElUpload:_,ElButton:g,ImagePreview:I,InfoIcon:R,FontAwesomeIcon:P},mixins:[w,k],data(){return{fileList:[],uploadUrl:N()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){D.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){D.error(this.$t(`luma.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Ne={class:`relative`},Pe={class:`flex justify-between`},Fe={class:`flex justify-start items-center`},Ie={class:`text-sm font-bold`};function Le(e,t,s,c,m,h){let g=d(`info-icon`),_=d(`image-preview`),v=d(`font-awesome-icon`),y=d(`el-button`),b=d(`el-upload`);return u(),f(`div`,Ne,[r(`div`,Pe,[r(`div`,Fe,[r(`span`,Ie,l(e.$t(`luma.name.startImageUrl`)),1),a(g,{content:e.$t(`luma.description.startImageUrl`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:t})=>[t.percentage==null?o(``,!0):(u(),n(_,{key:0,url:t.url||t.response.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Re=E(Me,[[`render`,Le],[`__scopeId`,`data-v-4d03e978`]]),ze=s({name:`UploadVideo`,components:{ElUpload:_,ElButton:g,InfoIcon:R,FilePreview:F,FontAwesomeIcon:P},mixins:[k],data(){return{fileList:[],uploadUrl:N()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||=void 0},methods:{onExceed(){D.warning(this.$t(`luma.message.uploadVideoExceed`))},onError(){D.error(this.$t(`luma.message.uploadVideoError`))},beforeUpload(e){let t=e.type===`video/mp4`,n=e.size/1024/1024<10;return t?n?!0:(D.error(this.$t(`luma.message.uploadVideoSizeExceed`)),!1):(D.error(this.$t(`luma.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e,action:`extend`})},async onSuccess(){this.onSetVideoUrl()}}}),Be={class:`relative`},Ve={class:`flex justify-between`},He={class:`flex justify-start items-center`},Ue={class:`text-sm font-bold`};function We(e,t,s,c,m,h){let g=d(`info-icon`),_=d(`file-preview`),v=d(`font-awesome-icon`),y=d(`el-button`),b=d(`el-upload`);return u(),f(`div`,Be,[r(`div`,Ve,[r(`div`,He,[r(`span`,Ue,l(e.$t(`luma.name.videoUrl`)),1),a(g,{content:e.$t(`luma.description.videoUrl`)},null,8,[`content`])])]),a(b,{"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,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:p(({file:t})=>[t.percentage==null?o(``,!0):(u(),n(_,{key:0,url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ge=E(ze,[[`render`,We],[`__scopeId`,`data-v-b4c637fa`]]),Ke=s({name:`PromptInput`,components:{PromptTextarea:V},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||=``}});function qe(e,t,r,i,a,o){let s=d(`prompt-textarea`);return u(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`luma.name.prompt`),info:e.$t(`luma.description.prompt`),placeholder:e.$t(`luma.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Je=E(Ke,[[`render`,qe]]),Ye=s({name:`ExtendFromInput`,components:{VideoPlayer:G},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:`1080p`}}}},computed:{config(){return this.$store.state.luma?.config}}}),Xe={class:`relative`},Ze={class:`flex mb-2`},Qe={class:`text-sm font-bold`};function $e(e,t,i,a,s,c){let p=d(`video-player`);return u(),f(`div`,Xe,[r(`div`,Ze,[r(`span`,Qe,l(e.$t(`luma.name.extend`)),1)]),r(`div`,null,[e.config?.video_url?(u(),n(p,{key:0,src:e.config?.video_url},null,8,[`src`])):o(``,!0)])])}var et=s({name:`ConfigPanel`,components:{LoopSelector:we,StartImageInput:Re,EndImageInput:je,EnhancementSelector:ce,ElButton:g,FontAwesomeIcon:P,PromptInput:Je,ExtendFromInput:E(Ye,[[`render`,$e]]),CustomSelector:ge,UploadVideo:Ge,Consumption:U},emits:[`generate`],computed:{config(){return this.$store.state.luma?.config},consumption(){return O(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),tt={class:`flex flex-col h-full`},nt={class:`flex-1 overflow-y-auto p-5`},rt={class:`flex flex-col items-center justify-center px-5 pb-5`};function it(e,t,s,c,m,h){let g=d(`extend-from-input`),_=d(`prompt-input`),v=d(`custom-selector`),y=d(`upload-video`),b=d(`start-image-input`),x=d(`end-image-input`),S=d(`enhancement-selector`),C=d(`loop-selector`),w=d(`consumption`),T=d(`font-awesome-icon`),E=d(`el-button`);return u(),f(`div`,tt,[r(`div`,nt,[e.config?.video_id||e.config?.video_url?(u(),n(g,{key:0,class:`mb-4`})):o(``,!0),a(_,{class:`mb-4`}),e.config?.video_id?o(``,!0):(u(),n(v,{key:1,class:`mb-4`})),e.config?.custom?(u(),n(y,{key:2,class:`mb-4`})):o(``,!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(u(),n(b,{key:3,class:`mb-4`})):o(``,!0),a(x,{class:`mb-4`}),a(S,{class:`mb-4`}),a(C,{class:`mb-4`})]),r(`div`,rt,[a(w,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),e.config?.video_url!==void 0||e.config?.custom?(u(),n(E,{key:0,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:p(()=>[a(T,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`luma.button.extend`)),1)]),_:1},8,[`onClick`])):(u(),n(E,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:p(()=>[a(T,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`luma.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var at=E(et,[[`render`,it]]),ot=s({name:`TaskPreview`,components:{ElImage:y,CopyToClipboard:te,FontAwesomeIcon:P,ElAlert:b,VideoPlayer:G,ElTooltip:v,ElButton:g,ApiCodeButton:W},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`)}}}),st={class:`preview`},ct={class:`left`},lt={class:`main`},ut={class:`bot`},dt={class:`datetime`},ft={class:`info`},pt={key:0,class:`prompt mt-2`},mt={key:0},ht={key:1},gt={key:0,class:t({content:!0,failed:!0})},_t={key:0,class:`mb-4`},vt={key:1,class:t({operations:!0,"mt-2":!0,"mb-4":!0})},yt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},bt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},xt={key:1,class:t({content:!0})},St={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},wt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Et={key:2,class:t({content:!0})},$={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Dt(e,t,n,s,c,m){let g=d(`el-image`),_=d(`video-player`),v=d(`el-button`),y=d(`el-tooltip`),b=d(`api-code-button`),x=d(`font-awesome-icon`),S=d(`copy-to-clipboard`),C=d(`el-alert`);return u(),f(`div`,st,[r(`div`,ct,[a(g,{src:`https://cdn.acedata.cloud/ahjfwi.png`,class:`avatar`})]),r(`div`,lt,[r(`div`,ut,[i(l(e.$t(`luma.name.lumaBot`))+` `,1),r(`span`,dt,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,ft,[e.modelValue?.request?.prompt?(u(),f(`p`,pt,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?o(``,!0):(u(),f(`span`,mt,` - (`+l(e.$t(`luma.status.pending`))+`) `,1)),e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`?(u(),f(`span`,ht,` - (`+l(e.$t(`luma.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),e.modelValue?.response?.success===!0?(u(),f(`div`,gt,[e.modelValue.response.video_url?(u(),f(`div`,_t,[a(_,{src:e.modelValue.response.video_url},null,8,[`src`])])):o(``,!0),e.modelValue?.response&&!e.config?.custom?(u(),f(`div`,vt,[a(y,{class:`box-item`,effect:`dark`,content:e.$t(`luma.message.extendVideo`),placement:`top-start`},{default:p(()=>[a(v,{type:`info`,size:`small`,class:`btn-action`,onClick:t[0]||=h(t=>e.onExtend(t,e.modelValue?.response),[`stop`])},{default:p(()=>[i(l(e.$t(`luma.button.extend`)),1)]),_:1})]),_:1},8,[`content`]),a(y,{class:`box-item`,effect:`dark`,content:e.$t(`luma.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(v,{type:`info`,size:`small`,class:`btn-action`,onClick:t[1]||=h(t=>e.onDownload(e.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[i(l(e.$t(`luma.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(b,{path:`/luma/videos`,body:e.modelValue?.request},null,8,[`body`])])):o(``,!0),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[r(`p`,yt,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,bt,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),e.modelValue?.response?.state===`failed`||e.modelValue?.response?.success===!1?(u(),f(`div`,xt,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failure`)),1)]),default:p(()=>[r(`p`,St,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])]),r(`p`,Ct,[a(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),a(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,wt,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),r(`p`,Tt,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.traceId`))+`: `+l(e.modelValue?.trace_id)+` `,1),a(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),!e.modelValue?.response||e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`?(u(),f(`div`,Et,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failure`)),1)]),default:p(()=>[r(`p`,$,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var Ot=s({name:`RecentPanel`,components:{BotPlaceholder:L,TaskPreview:E(ot,[[`render`,Dt],[`__scopeId`,`data-v-9c354ffe`]]),NoTasks:H,ScrollList:z},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?.()}}}),kt={key:0},At={key:2,class:`w-full h-full flex items-center justify-center`};function jt(e,t,r,i,s,l){let h=d(`bot-placeholder`),g=d(`task-preview`),_=d(`scroll-list`),v=d(`no-tasks`);return u(),f(m,null,[e.tasks?.items===void 0?(u(),f(`div`,kt,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(u(),n(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[1]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(u(!0),f(m,null,c(e.tasks?.items,r=>(u(),n(g,{key:r.id,"model-value":r,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(u(),f(`div`,At,[a(v)])):o(``,!0)],64)}var Mt=E(Ot,[[`render`,jt]]),Nt=C(`luma`),Pt=s({name:`LumaIndex`,components:{ConfigPanel:at,Layout:Z,RecentPanel:Mt},mixins:[j],inject:[`initialized`],emits:[`extend`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===A.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===A.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 B({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();let 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);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`luma/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!T(this.uploadTracker,e=>this.$t(e),e=>D.warning(e)))return;let e={...this.config,callback_url:Nt};if(!this.hasText(e.prompt)){D.error(this.$t(`luma.message.promptRequired`));return}e.prompt=e.prompt?.trim();let t=this.credential?.token;if(!t){console.error(`no token specified`);return}D.info(this.$t(`luma.message.startingTask`)),ee(`luma`,M.generate(e,{token:t})).then(()=>{D.success(this.$t(`luma.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?D.error(this.$t(`luma.message.usedUp`)):D.error(this.$t(`luma.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function Ft(e,t,r,i,o,s){let c=d(`config-panel`),l=d(`recent-panel`),f=d(`layout`);return u(),n(f,null,{config:p(()=>[a(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`loading`,`onReachTop`])]),_:1})}var It=E(Pt,[[`render`,Ft]]);export{It as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,M as i,N as a,O as o,P as s,Q as c,Ut as l,X as u,et as d,k as f,lt as p,x as m,y as h}from"./vendor-chart-Df3WBvr0.js";import{t as g}from"./button-Diu_mJ2H.js";import{r as _,t as v}from"./select-DpY6_x_0.js";import{t as y}from"./upload-D22l7fnu.js";import{t as b}from"./tooltip-hII4wDEz.js";import{t as x}from"./image-BXBNi5iA.js";import{t as S}from"./alert-Cs6WDxgv.js";import{t as C}from"./drawer-B42T8GMw.js";import{nt as ee,qr as w,tt as T}from"./constants-Bt5WGqZw.js";import{At as E,Dt as te,E as D,Er as O,Jt as k,Mt as A,Nn as j,Ot as M,gr as N,kt as P,yr as F}from"./index-DXE85bHt.js";import{t as I}from"./index.es-B6aGXFcX.js";import{t as L}from"./CopyToClipboard-C9-GE8Ha.js";import{t as R}from"./ImagePreview-k9hQwsmN.js";import{t as z}from"./BotPlaceholder-B31ZLizv.js";import{i as B,n as V,t as H}from"./pagination-BNffOlni.js";import{n as U,t as W}from"./NoTasks-CMoBXPcD.js";import{t as G}from"./Consumption-QVfFA0o8.js";import{t as K}from"./ApiCodeButton-NZmohixj.js";import{t as q}from"./VideoPlayer-x2LV9q35.js";var J=s({name:`LayoutWan`,components:{ElDrawer:C,ElButton:g,FontAwesomeIcon:I},data(){return{drawer:!1}}}),Y={class:`main flex flex-row flex-1`},X={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Z={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Q(t,n,i,o,s,c){let l=d(`font-awesome-icon`),m=d(`el-button`),h=d(`el-drawer`);return u(),f(`div`,Y,[r(`div`,X,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,Z,[e(t.$slots,`result`,{},void 0,!0)]),a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(l,{icon:`fa-solid fa-magic`})]),_:1}),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ne=D(J,[[`render`,Q],[`__scopeId`,`data-v-3b0702a7`]]),re=s({name:`ModelSelector`,components:{ElSelect:_,ElOption:v},data(){return{}},computed:{options(){return[{value:`wan2.6-t2v`,label:this.$t(`wan.button.modelT2v`)},{value:`wan2.6-i2v`,label:this.$t(`wan.button.modelI2v`)},{value:`wan2.6-i2v-flash`,label:this.$t(`wan.button.modelI2vFlash`)},{value:`wan2.6-r2v`,label:this.$t(`wan.button.modelR2v`)}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||=T}}),ie={class:`field`},ae={class:`title font-bold`},oe={class:`float-left`};function se(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,ie,[r(`h2`,ae,l(e.$t(`wan.name.model`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},{default:p(()=>[r(`span`,oe,l(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ce=D(re,[[`render`,se],[`__scopeId`,`data-v-eb090beb`]]),le=`720p`,ue=s({name:`ResolutionSelector`,components:{ElSelect:_,ElOption:v},computed:{options(){return[{value:`480p`,label:this.$t(`wan.name.resolution480p`)},{value:`720p`,label:this.$t(`wan.name.resolution720p`)},{value:`1080p`,label:this.$t(`wan.name.resolution1080p`)}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||=le}}),de={class:`field`},fe={class:`title font-bold`},pe={class:`float-left`};function me(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,de,[r(`h2`,fe,l(e.$t(`wan.name.resolution`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},{default:p(()=>[r(`span`,pe,l(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var he=D(ue,[[`render`,me],[`__scopeId`,`data-v-3e39f44e`]]),ge=5,_e=s({name:`DurationSelector`,components:{ElSelect:_,ElOption:v},computed:{options(){return[{value:5,label:this.$t(`wan.name.duration5s`)},{value:10,label:this.$t(`wan.name.duration10s`)},{value:15,label:this.$t(`wan.name.duration15s`)}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||=ge}}),ve={class:`field`},ye={class:`title font-bold`},be={class:`float-left`};function xe(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,ve,[r(`h2`,ye,l(e.$t(`wan.name.duration`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},{default:p(()=>[r(`span`,be,l(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Se=D(_e,[[`render`,xe],[`__scopeId`,`data-v-5f35a2cf`]]),Ce=s({name:`ImageUrlInput`,components:{ElUpload:y,ElButton:g,InfoIcon:B,ImagePreview:R},mixins:[E,M],data(){return{fileList:[],uploadUrl:F()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||=void 0,this.onSetImageUrl()},methods:{onExceed(){O.warning(this.$t(`wan.message.uploadImageExceed`))},onError(){O.error(this.$t(`wan.message.uploadImageError`))},async onRemove(){O.error(this.$t(`wan.message.uploadImageError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),we={class:`relative`},Te={class:`flex justify-between`},Ee={class:`flex justify-start items-center`},De={class:`text-sm font-bold`};function Oe(e,t,s,c,m,h){let g=d(`info-icon`),_=d(`image-preview`),v=d(`el-button`),y=d(`el-upload`);return u(),f(`div`,we,[r(`div`,Te,[r(`div`,Ee,[r(`span`,De,l(e.$t(`wan.name.imageUrl`)),1),a(g,{content:e.$t(`wan.description.imageUrl`),class:`info`},null,8,[`content`])])]),a(y,{"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:t})=>[t.url&&t.percentage!==void 0?(u(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:p(()=>[i(l(e.$t(`wan.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var ke=D(Ce,[[`render`,Oe],[`__scopeId`,`data-v-41a69004`]]),Ae=s({name:`PromptInput`,components:{PromptTextarea:U},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||=``}});function je(e,t,r,i,a,o){let s=d(`prompt-textarea`);return u(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`wan.name.prompt`),info:e.$t(`wan.description.prompt`),placeholder:e.$t(`wan.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Me=s({name:`PresetPanel`,components:{ElButton:g,FontAwesomeIcon:I,PromptInput:D(Ae,[[`render`,je]]),ImageUrlInput:ke,ModelSelector:ce,ResolutionSelector:he,DurationSelector:Se,Consumption:G},emits:[`generate`],computed:{config(){return this.$store.state.wan?.config},consumption(){return A(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){let e=this.config?.model;return e===`wan2.6-t2v`||e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`},supportsDuration(){return this.config?.model===`wan2.6-t2v`},supportsImageUrl(){let e=this.config?.model;return e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ne={class:`flex flex-col h-full`},Pe={class:`flex-1 overflow-y-auto p-5`},Fe={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ie(e,t,s,c,m,h){let g=d(`prompt-input`),_=d(`model-selector`),v=d(`resolution-selector`),y=d(`duration-selector`),b=d(`image-url-input`),x=d(`consumption`),S=d(`font-awesome-icon`),C=d(`el-button`);return u(),f(`div`,Ne,[r(`div`,Pe,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),e.supportsResolution?(u(),n(v,{key:0,class:`mb-4`})):o(``,!0),e.supportsDuration?(u(),n(y,{key:1,class:`mb-4`})):o(``,!0),e.supportsImageUrl?(u(),n(b,{key:2,class:`mb-2`})):o(``,!0)]),r(`div`,Fe,[a(x,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),a(C,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:p(()=>[a(S,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`wan.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Le=D(Me,[[`render`,Ie]]),Re=s({name:`TaskPreview`,components:{ElImage:x,CopyToClipboard:L,FontAwesomeIcon:I,ElAlert:S,VideoPlayer:q,ElTooltip:b,ElButton:g,ApiCodeButton:K},props:{modelValue:{type:Object,required:!0}},setup(){return{WAN_LOGO:ee}},computed:{application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{onDownload(e){console.debug(`on download wan video`,e),window.open(e,`_blank`)}}}),ze={class:`preview`},Be={class:`left`},Ve={class:`main`},He={class:`bot`},Ue={class:`datetime`},We={class:`info`},Ge={key:0,class:`prompt mt-2`},Ke={key:0},qe={key:1},Je={key:0,class:t({content:!0,failed:!0})},Ye={key:0,class:`mb-4`},Xe={key:1,class:t({operations:!0,"mt-2":!0})},Ze={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Qe={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$e={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},et={key:1,class:t({content:!0})},tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},nt={key:0,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:2,class:t({content:!0})},at={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function ot(e,t,n,s,c,m){let g=d(`el-image`),_=d(`video-player`),v=d(`el-button`),y=d(`el-tooltip`),b=d(`api-code-button`),x=d(`font-awesome-icon`),S=d(`copy-to-clipboard`),C=d(`el-alert`);return u(),f(`div`,ze,[r(`div`,Be,[a(g,{src:e.WAN_LOGO,class:`avatar`},null,8,[`src`])]),r(`div`,Ve,[r(`div`,He,[i(l(e.$t(`wan.name.wanBot`))+` `,1),r(`span`,Ue,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,We,[e.modelValue?.request?.prompt?(u(),f(`p`,Ge,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?o(``,!0):(u(),f(`span`,Ke,` - (`+l(e.$t(`wan.status.pending`))+`) `,1)),e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`||e.modelValue?.response?.state===`running`?(u(),f(`span`,qe,` - (`+l(e.$t(`wan.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),e.modelValue?.response?.success===!0?(u(),f(`div`,Je,[e.modelValue?.response?.video_url?(u(),f(`div`,Ye,[a(_,{src:e.modelValue?.response?.video_url},null,8,[`src`])])):o(``,!0),e.modelValue?.response?.video_url?(u(),f(`div`,Xe,[a(y,{class:`box-item`,effect:`dark`,content:e.$t(`wan.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(v,{type:`info`,size:`small`,class:`mb-2`,onClick:t[0]||=h(t=>e.onDownload(e.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[i(l(e.$t(`wan.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(b,{path:`/wan/videos`,body:e.modelValue?.request},null,8,[`body`])])):o(``,!0),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[e.modelValue?.request?.model?(u(),f(`p`,Ze,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.model`))+`: `+l(e.modelValue?.request?.model)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])])):o(``,!0),r(`p`,Qe,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,$e,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),e.modelValue?.response?.success===!1?(u(),f(`div`,et,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.failure`)),1)]),default:p(()=>[r(`p`,tt,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])]),r(`p`,$,[a(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),a(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,nt,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),r(`p`,rt,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),e.modelValue?.response?.success===void 0?(u(),f(`div`,it,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.failure`)),1)]),default:p(()=>[r(`p`,at,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var st=s({name:`RecentPanel`,components:{TaskPreview:D(Re,[[`render`,ot],[`__scopeId`,`data-v-916b8970`]]),BotPlaceholder:z,NoTasks:W,ScrollList:V},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),ct={key:0},lt={key:2,class:`w-full h-full flex items-center justify-center`};function ut(e,t,r,i,s,l){let h=d(`bot-placeholder`),g=d(`task-preview`),_=d(`scroll-list`),v=d(`no-tasks`);return u(),f(m,null,[e.tasks?.items===void 0?(u(),f(`div`,ct,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(u(),n(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(u(!0),f(m,null,c(e.tasks?.items,e=>(u(),n(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(u(),f(`div`,lt,[a(v)])):o(``,!0)],64)}var dt=D(st,[[`render`,ut]]),ft=w(`wan`),pt=s({name:`WanIndex`,components:{ConfigPanel:Le,Layout:ne,RecentPanel:dt},mixins:[P],inject:[`initialized`],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===N.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===N.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.tasks}},watch:{tasks:{handler(e,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 H({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`wan/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`wan/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let 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);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`wan/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!te(this.uploadTracker,e=>this.$t(e),e=>O.warning(e)))return;let e={...this.config,callback_url:ft},t=this.credential?.token;if(!t){console.error(`no token specified`);return}O.info(this.$t(`wan.message.startingTask`)),j(`wan`,k.generate(e,{token:t})).then(()=>{O.success(this.$t(`wan.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?O.error(this.$t(`wan.message.usedUp`)):O.error(this.$t(`wan.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function mt(e,t,r,i,o,s){let c=d(`config-panel`),l=d(`recent-panel`),f=d(`layout`);return u(),n(f,null,{config:p(()=>[a(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var ht=D(pt,[[`render`,mt]]);export{ht as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,M as i,N as a,O as o,P as s,Q as c,Ut as l,X as u,et as d,k as f,lt as p,x as m,y as h}from"./vendor-chart-Df3WBvr0.js";import{t as g}from"./button-Diu_mJ2H.js";import{r as _,t as v}from"./select-DKxozijX.js";import{t as y}from"./upload-DnNyu5wB.js";import{t as b}from"./tooltip-hII4wDEz.js";import{t as x}from"./image-CokNERba.js";import{t as S}from"./alert-Cs6WDxgv.js";import{t as C}from"./drawer-B42T8GMw.js";import{Jr as ee,nt as w,rt as T}from"./constants-vDFRJTq6.js";import{At as E,Dt as te,E as D,Er as O,Jt as k,Mt as A,Nn as j,Ot as M,gr as N,kt as P,yr as F}from"./index-Ux3Ldhqb.js";import{t as I}from"./index.es-DA4X-U-q.js";import{t as L}from"./CopyToClipboard-16GJr0qC.js";import{t as R}from"./ImagePreview-4aD6mCco.js";import{t as z}from"./BotPlaceholder-DuWkJHz7.js";import{i as B,n as V,t as H}from"./pagination-Cqd54t6s.js";import{n as U,t as W}from"./NoTasks-BMBpS8O_.js";import{t as G}from"./Consumption-CVy36l-D.js";import{t as K}from"./ApiCodeButton-8Hg0Weqj.js";import{t as q}from"./VideoPlayer-Qc7k-3La.js";var J=s({name:`LayoutWan`,components:{ElDrawer:C,ElButton:g,FontAwesomeIcon:I},data(){return{drawer:!1}}}),Y={class:`main flex flex-row flex-1`},X={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Z={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Q(t,n,i,o,s,c){let l=d(`font-awesome-icon`),m=d(`el-button`),h=d(`el-drawer`);return u(),f(`div`,Y,[r(`div`,X,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,Z,[e(t.$slots,`result`,{},void 0,!0)]),a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(l,{icon:`fa-solid fa-magic`})]),_:1}),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ne=D(J,[[`render`,Q],[`__scopeId`,`data-v-3b0702a7`]]),re=s({name:`ModelSelector`,components:{ElSelect:_,ElOption:v},data(){return{}},computed:{options(){return[{value:`wan2.6-t2v`,label:this.$t(`wan.button.modelT2v`)},{value:`wan2.6-i2v`,label:this.$t(`wan.button.modelI2v`)},{value:`wan2.6-i2v-flash`,label:this.$t(`wan.button.modelI2vFlash`)},{value:`wan2.6-r2v`,label:this.$t(`wan.button.modelR2v`)}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||=w}}),ie={class:`field`},ae={class:`title font-bold`},oe={class:`float-left`};function se(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,ie,[r(`h2`,ae,l(e.$t(`wan.name.model`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},{default:p(()=>[r(`span`,oe,l(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ce=D(re,[[`render`,se],[`__scopeId`,`data-v-eb090beb`]]),le=`720p`,ue=s({name:`ResolutionSelector`,components:{ElSelect:_,ElOption:v},computed:{options(){return[{value:`480p`,label:this.$t(`wan.name.resolution480p`)},{value:`720p`,label:this.$t(`wan.name.resolution720p`)},{value:`1080p`,label:this.$t(`wan.name.resolution1080p`)}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||=le}}),de={class:`field`},fe={class:`title font-bold`},pe={class:`float-left`};function me(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,de,[r(`h2`,fe,l(e.$t(`wan.name.resolution`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},{default:p(()=>[r(`span`,pe,l(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var he=D(ue,[[`render`,me],[`__scopeId`,`data-v-3e39f44e`]]),ge=5,_e=s({name:`DurationSelector`,components:{ElSelect:_,ElOption:v},computed:{options(){return[{value:5,label:this.$t(`wan.name.duration5s`)},{value:10,label:this.$t(`wan.name.duration10s`)},{value:15,label:this.$t(`wan.name.duration15s`)}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||=ge}}),ve={class:`field`},ye={class:`title font-bold`},be={class:`float-left`};function xe(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,ve,[r(`h2`,ye,l(e.$t(`wan.name.duration`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},{default:p(()=>[r(`span`,be,l(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Se=D(_e,[[`render`,xe],[`__scopeId`,`data-v-5f35a2cf`]]),Ce=s({name:`ImageUrlInput`,components:{ElUpload:y,ElButton:g,InfoIcon:B,ImagePreview:R},mixins:[E,M],data(){return{fileList:[],uploadUrl:F()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||=void 0,this.onSetImageUrl()},methods:{onExceed(){O.warning(this.$t(`wan.message.uploadImageExceed`))},onError(){O.error(this.$t(`wan.message.uploadImageError`))},async onRemove(){O.error(this.$t(`wan.message.uploadImageError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),we={class:`relative`},Te={class:`flex justify-between`},Ee={class:`flex justify-start items-center`},De={class:`text-sm font-bold`};function Oe(e,t,s,c,m,h){let g=d(`info-icon`),_=d(`image-preview`),v=d(`el-button`),y=d(`el-upload`);return u(),f(`div`,we,[r(`div`,Te,[r(`div`,Ee,[r(`span`,De,l(e.$t(`wan.name.imageUrl`)),1),a(g,{content:e.$t(`wan.description.imageUrl`),class:`info`},null,8,[`content`])])]),a(y,{"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:t})=>[t.url&&t.percentage!==void 0?(u(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:p(()=>[i(l(e.$t(`wan.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var ke=D(Ce,[[`render`,Oe],[`__scopeId`,`data-v-41a69004`]]),Ae=s({name:`PromptInput`,components:{PromptTextarea:U},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||=``}});function je(e,t,r,i,a,o){let s=d(`prompt-textarea`);return u(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`wan.name.prompt`),info:e.$t(`wan.description.prompt`),placeholder:e.$t(`wan.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Me=s({name:`PresetPanel`,components:{ElButton:g,FontAwesomeIcon:I,PromptInput:D(Ae,[[`render`,je]]),ImageUrlInput:ke,ModelSelector:ce,ResolutionSelector:he,DurationSelector:Se,Consumption:G},emits:[`generate`],computed:{config(){return this.$store.state.wan?.config},consumption(){return A(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){let e=this.config?.model;return e===`wan2.6-t2v`||e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`},supportsDuration(){return this.config?.model===`wan2.6-t2v`},supportsImageUrl(){let e=this.config?.model;return e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ne={class:`flex flex-col h-full`},Pe={class:`flex-1 overflow-y-auto p-5`},Fe={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ie(e,t,s,c,m,h){let g=d(`prompt-input`),_=d(`model-selector`),v=d(`resolution-selector`),y=d(`duration-selector`),b=d(`image-url-input`),x=d(`consumption`),S=d(`font-awesome-icon`),C=d(`el-button`);return u(),f(`div`,Ne,[r(`div`,Pe,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),e.supportsResolution?(u(),n(v,{key:0,class:`mb-4`})):o(``,!0),e.supportsDuration?(u(),n(y,{key:1,class:`mb-4`})):o(``,!0),e.supportsImageUrl?(u(),n(b,{key:2,class:`mb-2`})):o(``,!0)]),r(`div`,Fe,[a(x,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),a(C,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:p(()=>[a(S,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`wan.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Le=D(Me,[[`render`,Ie]]),Re=s({name:`TaskPreview`,components:{ElImage:x,CopyToClipboard:L,FontAwesomeIcon:I,ElAlert:S,VideoPlayer:q,ElTooltip:b,ElButton:g,ApiCodeButton:K},props:{modelValue:{type:Object,required:!0}},setup(){return{WAN_LOGO:T}},computed:{application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{onDownload(e){console.debug(`on download wan video`,e),window.open(e,`_blank`)}}}),ze={class:`preview`},Be={class:`left`},Ve={class:`main`},He={class:`bot`},Ue={class:`datetime`},We={class:`info`},Ge={key:0,class:`prompt mt-2`},Ke={key:0},qe={key:1},Je={key:0,class:t({content:!0,failed:!0})},Ye={key:0,class:`mb-4`},Xe={key:1,class:t({operations:!0,"mt-2":!0})},Ze={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Qe={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$e={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},et={key:1,class:t({content:!0})},tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},nt={key:0,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:2,class:t({content:!0})},at={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function ot(e,t,n,s,c,m){let g=d(`el-image`),_=d(`video-player`),v=d(`el-button`),y=d(`el-tooltip`),b=d(`api-code-button`),x=d(`font-awesome-icon`),S=d(`copy-to-clipboard`),C=d(`el-alert`);return u(),f(`div`,ze,[r(`div`,Be,[a(g,{src:e.WAN_LOGO,class:`avatar`},null,8,[`src`])]),r(`div`,Ve,[r(`div`,He,[i(l(e.$t(`wan.name.wanBot`))+` `,1),r(`span`,Ue,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,We,[e.modelValue?.request?.prompt?(u(),f(`p`,Ge,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?o(``,!0):(u(),f(`span`,Ke,` - (`+l(e.$t(`wan.status.pending`))+`) `,1)),e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`||e.modelValue?.response?.state===`running`?(u(),f(`span`,qe,` - (`+l(e.$t(`wan.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),e.modelValue?.response?.success===!0?(u(),f(`div`,Je,[e.modelValue?.response?.video_url?(u(),f(`div`,Ye,[a(_,{src:e.modelValue?.response?.video_url},null,8,[`src`])])):o(``,!0),e.modelValue?.response?.video_url?(u(),f(`div`,Xe,[a(y,{class:`box-item`,effect:`dark`,content:e.$t(`wan.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(v,{type:`info`,size:`small`,class:`mb-2`,onClick:t[0]||=h(t=>e.onDownload(e.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[i(l(e.$t(`wan.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(b,{path:`/wan/videos`,body:e.modelValue?.request},null,8,[`body`])])):o(``,!0),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[e.modelValue?.request?.model?(u(),f(`p`,Ze,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.model`))+`: `+l(e.modelValue?.request?.model)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])])):o(``,!0),r(`p`,Qe,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,$e,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),e.modelValue?.response?.success===!1?(u(),f(`div`,et,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.failure`)),1)]),default:p(()=>[r(`p`,tt,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])]),r(`p`,$,[a(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),a(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,nt,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),r(`p`,rt,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),e.modelValue?.response?.success===void 0?(u(),f(`div`,it,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.failure`)),1)]),default:p(()=>[r(`p`,at,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var st=s({name:`RecentPanel`,components:{TaskPreview:D(Re,[[`render`,ot],[`__scopeId`,`data-v-916b8970`]]),BotPlaceholder:z,NoTasks:W,ScrollList:V},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),ct={key:0},lt={key:2,class:`w-full h-full flex items-center justify-center`};function ut(e,t,r,i,s,l){let h=d(`bot-placeholder`),g=d(`task-preview`),_=d(`scroll-list`),v=d(`no-tasks`);return u(),f(m,null,[e.tasks?.items===void 0?(u(),f(`div`,ct,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(u(),n(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(u(!0),f(m,null,c(e.tasks?.items,e=>(u(),n(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(u(),f(`div`,lt,[a(v)])):o(``,!0)],64)}var dt=D(st,[[`render`,ut]]),ft=ee(`wan`),pt=s({name:`WanIndex`,components:{ConfigPanel:Le,Layout:ne,RecentPanel:dt},mixins:[P],inject:[`initialized`],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===N.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===N.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.tasks}},watch:{tasks:{handler(e,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 H({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`wan/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`wan/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let 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);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`wan/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!te(this.uploadTracker,e=>this.$t(e),e=>O.warning(e)))return;let e={...this.config,callback_url:ft},t=this.credential?.token;if(!t){console.error(`no token specified`);return}O.info(this.$t(`wan.message.startingTask`)),j(`wan`,k.generate(e,{token:t})).then(()=>{O.success(this.$t(`wan.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?O.error(this.$t(`wan.message.usedUp`)):O.error(this.$t(`wan.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function mt(e,t,r,i,o,s){let c=d(`config-panel`),l=d(`recent-panel`),f=d(`layout`);return u(),n(f,null,{config:p(()=>[a(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var ht=D(pt,[[`render`,mt]]);export{ht as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,M as n,N as r,O as i,P as a,Ut as o,X as s,et as c,k as l,lt as u,tt as d,ut as f}from"./vendor-chart-Df3WBvr0.js";import{t as p}from"./button-Diu_mJ2H.js";import{n as m,t as h}from"./row-
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,M as n,N as r,O as i,P as a,Ut as o,X as s,et as c,k as l,lt as u,tt as d,ut as f}from"./vendor-chart-Df3WBvr0.js";import{t as p}from"./button-Diu_mJ2H.js";import{n as m,t as h}from"./row-DFhFPP85.js";import{i as g,n as _,r as v,t as y}from"./container-Da1G38HZ.js";import{n as b,t as x}from"./dropdown-DuboFwxv.js";import{a as S,i as C,n as w,r as T,t as E}from"./avatar-gSjZmP8o.js";import{D,E as O,K as k,O as A,nt as j,vr as M,wr as N,z as P,zt as F}from"./index-Ux3Ldhqb.js";import{t as I}from"./BottomFooter-cvbYx_c6.js";var L=a({name:`TopHeader`,components:{ElCol:m,Logo:w,ElRow:h,ElDropdown:x,ElMenu:T,ElMenuItem:C,ElDropdownItem:b,ElButton:p,ElSubMenu:S},data(){return{defaultAvatar:E,products:`chat`}},computed:{site(){return this.$store.state?.site},dark(){return this.$store.getters?.dark},active(){return this.$route.matched?.[0]?.path},user(){return this.$store.getters?.user},authenticated(){return this.$store.getters?.authenticated}},methods:{openTab(e){if(N()){D.open({url:e}).catch(t=>{console.warn(`Browser.open failed, falling back to window.open`,t),window.open(e,`_blank`)});return}window.open(e,`_blank`)},onSelect(e){e&&this.$router.push(e)},onHome(){this.$router.push({name:j})},onLogin(){this.$router.push({name:A})},onDownload(){this.$router.push({name:k})},onProfile(){let e=M();this.openTab(F(`${e}/user/profile`))},onVerify(){let e=M();this.openTab(F(`${e}/user/verify`))},onConsole(){this.$router.push({name:P})},async onLogout(){this.$store.dispatch(`logout`)}}}),R={key:0,class:`mt-4 pr-10`},z={key:1,class:`float-right`},B=[`src`];function V(a,p,m,h,g,_){let v=c(`logo`),y=c(`el-col`),b=c(`el-menu-item`),x=c(`el-sub-menu`),S=c(`el-menu`),C=c(`el-button`),w=c(`language-selector`),T=c(`dark-selector`),E=c(`el-dropdown-item`),D=c(`el-dropdown-menu`),O=c(`el-dropdown`),k=c(`el-row`),A=d(`t`);return s(),e(k,{class:`header`},{default:u(()=>[r(y,{md:4,xs:24,class:`brand-col`},{default:u(()=>[r(v,{onClick:a.onHome},null,8,[`onClick`])]),_:1}),r(y,{md:16,xs:13},{default:u(()=>[r(S,{"default-active":a.active,mode:`horizontal`,class:`menu`,ellipsis:!0,onSelect:a.onSelect},{default:u(()=>[r(x,{index:a.products},{title:u(()=>[n(o(a.$t(`common.nav.products`)),1)]),default:u(()=>[a.site?.features?.chatgpt?.enabled?f((s(),e(b,{key:0,index:`/chat`},null,512)),[[A,`index.title.chat`]]):i(``,!0),a.site?.features?.midjourney?.enabled?f((s(),e(b,{key:1,index:`/midjourney`},null,512)),[[A,`index.title.midjourney`]]):i(``,!0),a.site?.features?.qrart?.enabled?f((s(),e(b,{key:2,index:`/qrart`},null,512)),[[A,`index.title.qrart`]]):i(``,!0),a.site?.features?.suno?.enabled?f((s(),e(b,{key:3,index:`/suno`},null,512)),[[A,`index.title.suno`]]):i(``,!0),a.site?.features?.luma?.enabled?f((s(),e(b,{key:4,index:`/luma`},null,512)),[[A,`index.title.luma`]]):i(``,!0),a.site?.features?.headshots?.enabled?f((s(),e(b,{key:5,index:`/headshots`},null,512)),[[A,`index.title.headshots`]]):i(``,!0)]),_:1},8,[`index`]),f(r(b,{onRoute:e=>void 0,onClick:a.onDownload},null,8,[`onClick`]),[[A,`common.nav.mobileApp`]]),f(r(b,{onRoute:e=>void 0,onClick:p[0]||=e=>a.openTab(`https://platform.acedata.cloud`)},null,512),[[A,`common.nav.apiPlatform`]]),f(r(b,{onRoute:e=>void 0,onClick:p[1]||=e=>a.openTab(`https://platform.acedata.cloud/support`)},null,512),[[A,`common.nav.support`]]),f(r(b,{onRoute:e=>void 0,onClick:p[2]||=e=>a.openTab(`https://platform.acedata.cloud/earning`)},null,512),[[A,`common.nav.referral`]])]),_:1},8,[`default-active`,`onSelect`])]),_:1}),r(y,{md:4,xs:11},{default:u(()=>[a.authenticated?(s(),l(`div`,z,[t(`div`,{class:`console`,onClick:p[3]||=(...e)=>a.onConsole&&a.onConsole(...e)},o(a.$t(`common.button.console`)),1),r(O,{trigger:`click`},{dropdown:u(()=>[r(D,null,{default:u(()=>[r(E,{onClick:a.onProfile},{default:u(()=>[n(o(a.$t(`common.button.profile`)),1)]),_:1},8,[`onClick`]),r(E,{onClick:a.onLogout},{default:u(()=>[n(o(a.$t(`common.button.logout`)),1)]),_:1},8,[`onClick`])]),_:1})]),default:u(()=>[t(`img`,{src:a.user?.avatar||a.defaultAvatar,class:`avatar`},null,8,B)]),_:1})])):(s(),l(`div`,R,[r(C,{type:`primary`,class:`float-right`,size:`small`,round:``,onClick:a.onLogin},{default:u(()=>[n(o(a.$t(`common.button.login`)),1)]),_:1},8,[`onClick`]),r(w,{class:`locale float-right mr-4`}),r(T,{class:`float-right mr-4`})]))]),_:1})]),_:1})}var H=a({name:`LayoutIndex`,components:{TopHeader:O(L,[[`render`,V]]),BottomFooter:I,ElContainer:y,ElMain:g,ElFooter:_,ElHeader:v}});function U(t,n,i,a,o,l){let d=c(`top-header`),f=c(`el-header`),p=c(`router-view`),m=c(`el-main`),h=c(`bottom-footer`),g=c(`el-footer`),_=c(`el-container`);return s(),e(_,{class:`wrapper min-h-[100vh]`},{default:u(()=>[r(f,{class:`header p-0 h-auto`},{default:u(()=>[r(d)]),_:1}),r(m,{class:`main`},{default:u(()=>[r(p)]),_:1}),r(g,{class:`footer p-0 h-auto`},{default:u(()=>[r(h)]),_:1})]),_:1})}var W=O(H,[[`render`,U]]);export{W as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,Ht as i,M as a,N as o,O as s,P as c,Q as l,Ut as u,X as d,_ as f,et as p,k as m,lt as h,ut as g,x as _}from"./vendor-chart-Df3WBvr0.js";import{t as v}from"./button-Diu_mJ2H.js";import{r as y,t as b}from"./select-DpY6_x_0.js";import{t as x}from"./upload-D22l7fnu.js";import{t as S}from"./tooltip-hII4wDEz.js";import{t as C}from"./image-BXBNi5iA.js";import{t as w}from"./alert-Cs6WDxgv.js";import{t as T}from"./drawer-B42T8GMw.js";import{An as E,Fn as D,Ln as O,Mn as k,Nn as A,Pn as ee,Rn as te,jn as j,qr as M}from"./constants-Bt5WGqZw.js";import{At as N,Dt as P,E as F,Er as I,Mt as L,Nn as R,Ot as z,gr as B,kt as V,ln as H,yr as U}from"./index-DXE85bHt.js";import{t as W}from"./index.es-B6aGXFcX.js";import{t as G}from"./CopyToClipboard-C9-GE8Ha.js";import{t as K}from"./ImagePreview-k9hQwsmN.js";import{t as q}from"./BotPlaceholder-B31ZLizv.js";import{i as J,n as Y,t as X}from"./pagination-BNffOlni.js";import{n as Z,t as Q}from"./NoTasks-CMoBXPcD.js";import{t as ne}from"./Consumption-QVfFA0o8.js";import{t as re}from"./ApiCodeButton-NZmohixj.js";import{t as ie}from"./VideoPlayer-x2LV9q35.js";var ae=c({name:`LayoutSora`,components:{ElDrawer:T,ElButton:v,FontAwesomeIcon:W},data(){return{drawer:!1}}}),oe={class:`main flex flex-row flex-1`},se={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ce={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function le(t,n,i,a,s,c){let l=p(`font-awesome-icon`),u=p(`el-button`),f=p(`el-drawer`);return d(),m(`div`,oe,[r(`div`,se,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,ce,[e(t.$slots,`result`,{},void 0,!0)]),o(u,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:h(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1}),o(f,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:h(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ue=F(ae,[[`render`,le],[`__scopeId`,`data-v-bbee238c`]]),de=c({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:te,label:`sora-2`},{value:O,label:`sora-2-pro`}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){let t=this.$store.state.sora?.config||{},n=E[e]||[10],r=t.duration,i=r&&n.includes(r)?r:n.includes(10)?10:n[0],a={...t,model:e,duration:i,size:t.size||`small`};this.$store.commit(`sora/setConfig`,a)}}},mounted(){this.value||=A}}),fe={class:`field`},pe={class:`title font-bold`};function me(e,t,i,a,s,c){let f=p(`el-option`),g=p(`el-select`);return d(),m(`div`,fe,[r(`h2`,pe,u(e.$t(`sora.name.model`)),1),o(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`sora.placeholder.select`)},{default:h(()=>[(d(!0),m(_,null,l(e.options,e=>(d(),n(f,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var he=F(de,[[`render`,me],[`__scopeId`,`data-v-0cb7913d`]]),ge=c({name:`ActionSelector`,components:{ElSelect:y,ElOption:b},data(){return{}},computed:{options(){return[{value:`text2video`,label:this.$t(`sora.button.action1`)},{value:`image2video`,label:this.$t(`sora.button.action2`)}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit(`sora/setConfig`,{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||=k}}),_e={class:`field`},ve={class:`title font-bold`},ye={class:`float-left`};function be(e,t,i,a,s,c){let f=p(`el-option`),g=p(`el-select`);return d(),m(`div`,_e,[r(`h2`,ve,u(e.$t(`sora.name.action`)),1),o(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`sora.placeholder.select`),clearable:``},{default:h(()=>[(d(!0),m(_,null,l(e.options,e=>(d(),n(f,{key:e.value,label:e.label,value:e.value},{default:h(()=>[r(`span`,ye,u(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var xe=F(ge,[[`render`,be],[`__scopeId`,`data-v-7b82fa7f`]]),Se=c({name:`DurationSelector`,components:{ElSelect:y,ElOption:b},computed:{model(){return this.$store.state.sora?.config?.model||`sora-2`},allowedDurations(){return E[this.model]||[10]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){let t=this.$store.state.sora?.config||{};this.$store.commit(`sora/setConfig`,{...t,duration:e})}}},watch:{allowedDurations(){let e=this.allowedDurations;if(!e.includes(this.value)){let t=e.includes(10)?10:e[0];this.value=t}}},mounted(){this.value||=10}}),Ce={class:`field`},we={class:`control`},Te={class:`title font-bold`};function Ee(e,t,i,a,s,c){let f=p(`el-option`),g=p(`el-select`);return d(),m(`div`,Ce,[r(`div`,we,[r(`h2`,Te,u(e.$t(`sora.name.duration`)),1),o(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`sora.placeholder.select`)},{default:h(()=>[(d(!0),m(_,null,l(e.optionsForModel,e=>(d(),n(f,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var De=F(Se,[[`render`,Ee],[`__scopeId`,`data-v-c2934598`]]),Oe=c({name:`OrientationSelector`,data(){return{options:[{value:`portrait`,labelKey:`sora.option.portrait`,width:13,height:25},{value:`landscape`,labelKey:`sora.option.landscape`,width:25,height:13}]}},computed:{active(){let e=this.options.findIndex(e=>e.value===this.value);return e>=0?e:0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug(`set orientation`,e),this.$store.commit(`sora/setConfig`,{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||=ee}}),ke={class:`text-sm font-bold mb-2 block`},Ae={class:`items`},je=[`onClick`],Me={class:`name`};function Ne(e,n,a,o,s,c){return d(),m(`div`,null,[r(`span`,ke,u(e.$t(`sora.name.orientation`)),1),r(`div`,Ae,[(d(!0),m(_,null,l(e.options,(n,a)=>(d(),m(`div`,{key:a,class:t({active:e.active===a,item:!0}),onClick:t=>e.value=n.value},[r(`div`,{class:t([`preview`,n.value])},[r(`div`,{class:`rect`,style:i({width:n.width+`px`,height:n.height+`px`})},null,4)],2),r(`p`,Me,u(e.$t(n.labelKey)),1)],10,je))),128))])])}var Pe=F(Oe,[[`render`,Ne],[`__scopeId`,`data-v-a20be6d9`]]),Fe=c({name:`StartEndImage`,components:{ElUpload:x,ElButton:v,InfoIcon:J,FontAwesomeIcon:W,ImagePreview:K},mixins:[N,z],emits:[`change`],data(){return{fileList:[],uploadUrl:U()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.sora?.config?.image_urls},set(){}}},mounted(){this.value||=void 0,this.onSetStartEndImageUrl()},methods:{onExceed(){I.warning(this.$t(`sora.message.uploadReferencesExceed`))},onError(){I.error(this.$t(`sora.message.uploadReferencesError`))},onSetStartEndImageUrl(){let e=this.urls;this.$store.commit(`sora/setConfig`,{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),Ie={class:`relative`},Le={class:`flex justify-between`},Re={class:`flex justify-start items-center`},ze={class:`text-sm font-bold`};function Be(e,t,i,c,l,f){let g=p(`info-icon`),_=p(`image-preview`),v=p(`font-awesome-icon`),y=p(`el-button`),b=p(`el-upload`);return d(),m(`div`,Ie,[r(`div`,Le,[r(`div`,Re,[r(`span`,ze,u(e.$t(`sora.name.startEndImage`)),1),o(g,{content:e.$t(`sora.description.uploadStartEndImage`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:2,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:h(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):s(``,!0)]),default:h(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:h(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`sora.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ve=F(Fe,[[`render`,Be],[`__scopeId`,`data-v-4f7d9ba5`]]),He=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),Ue=c({name:`SizeSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:j.map(e=>({value:e,label:He(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){let t=this.$store.state.sora?.config||{};this.$store.commit(`sora/setConfig`,{...t,size:e})}}},mounted(){this.value||=D}}),We={class:`field`},Ge={class:`control`},Ke={class:`title font-bold`};function qe(e,t,i,a,s,c){let f=p(`el-option`),g=p(`el-select`);return d(),m(`div`,We,[r(`div`,Ge,[r(`h2`,Ke,u(e.$t(`sora.name.size`)),1),o(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`sora.placeholder.select`)},{default:h(()=>[(d(!0),m(_,null,l(e.options,e=>(d(),n(f,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var Je=F(Ue,[[`render`,qe],[`__scopeId`,`data-v-8c485f0f`]]),Ye=c({name:`PromptInput`,components:{PromptTextarea:Z},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){this.$store.commit(`sora/setConfig`,{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Xe(e,t,r,i,a,o){let s=p(`prompt-textarea`);return d(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`sora.name.prompt`),info:e.$t(`sora.description.prompt`),placeholder:e.$t(`sora.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ze=c({name:`ConfigPanel`,components:{ElButton:v,Consumption:ne,FontAwesomeIcon:W,PromptInput:F(Ye,[[`render`,Xe]]),ModelSelector:he,StartEndImage:Ve,SizeSelector:Je,ActionSelector:xe,OrientationSelector:Pe,DurationSelector:De},emits:[`generate`],computed:{config(){return this.$store.state.sora?.config},consumption(){return L(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Qe={class:`flex flex-col h-full`},$e={class:`flex-1 overflow-y-auto p-5`},et={class:`flex flex-col items-center justify-center px-5 pb-5`};function tt(e,t,n,i,s,c){let l=p(`model-selector`),_=p(`action-selector`),v=p(`duration-selector`),y=p(`size-selector`),b=p(`orientation-selector`),x=p(`prompt-input`),S=p(`start-end-image`),C=p(`consumption`),w=p(`font-awesome-icon`),T=p(`el-button`);return d(),m(`div`,Qe,[r(`div`,$e,[o(l,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-4`}),o(x,{class:`mb-4`}),g(o(S,{class:`mb-2`},null,512),[[f,e.config?.action===`image2video`]])]),r(`div`,et,[o(C,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(T,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:h(()=>[o(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`sora.button.generate`)),1)]),_:1},8,[`onClick`])])])}var nt=F(Ze,[[`render`,tt]]),rt=c({name:`TaskPreview`,components:{ElImage:C,CopyToClipboard:G,FontAwesomeIcon:W,ElAlert:w,VideoPlayer:ie,ElTooltip:S,ElButton:v,ApiCodeButton:re},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),it={class:`preview`},at={class:`left`},ot={class:`main`},st={class:`bot`},ct={class:`datetime`},lt={class:`info`},ut={key:0,class:`prompt mt-2`},dt={key:0},ft={key:1},pt={key:0,class:t({content:!0,failed:!0})},mt={key:0,class:`mb-4`},ht={key:1,class:t({operations:!0,"mt-2":!0})},gt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_t={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},yt={key:1,class:t({content:!0})},bt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},wt={key:2,class:t({content:!0})},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function $(e,t,i,c,l,f){let g=p(`el-image`),_=p(`video-player`),v=p(`el-button`),y=p(`el-tooltip`),b=p(`api-code-button`),x=p(`font-awesome-icon`),S=p(`copy-to-clipboard`),C=p(`el-alert`);return d(),m(`div`,it,[r(`div`,at,[o(g,{src:`https://cdn.acedata.cloud/z5id1u.png`,class:`avatar`})]),r(`div`,ot,[r(`div`,st,[a(u(e.$t(`sora.name.soraBot`))+` `,1),r(`span`,ct,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,lt,[e.modelValue?.request?.prompt?(d(),m(`p`,ut,[a(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?s(``,!0):(d(),m(`span`,dt,` - (`+u(e.$t(`sora.status.pending`))+`) `,1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state===`pending`?(d(),m(`span`,ft,` - (`+u(e.$t(`sora.status.processing`))+`) `,1)):s(``,!0)])):s(``,!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(d(),m(`div`,pt,[e.modelValue?.response?.data[0]?.video_url?(d(),m(`div`,mt,[o(_,{src:e.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):s(``,!0),e.modelValue?.response.success?(d(),m(`div`,ht,[o(y,{class:`box-item`,effect:`dark`,content:e.$t(`sora.message.downloadVideo`),placement:`top-start`},{default:h(()=>[e.modelValue?.response?.data[0]?.video_url?(d(),n(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:t[0]||=t=>e.onDownload(t,e.modelValue?.response?.data[0]?.video_url)},{default:h(()=>[a(u(e.$t(`sora.button.download`)),1)]),_:1})):s(``,!0)]),_:1},8,[`content`]),o(b,{path:`/sora/videos`,body:e.modelValue?.request},null,8,[`body`])])):s(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:h(()=>[r(`p`,gt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.model`))+`: `+u(e.modelValue?.request?.model),1)]),r(`p`,_t,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),m(`p`,vt,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===!1?(d(),m(`div`,yt,[o(C,{closable:!1,class:`failure`},{template:h(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.failure`)),1)]),default:h(()=>[r(`p`,bt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),r(`p`,xt,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(d(),m(`p`,St,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0),e.modelValue?.response?.trace_id?(d(),m(`p`,Ct,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===void 0?(d(),m(`div`,wt,[o(C,{closable:!1,class:`info`},{template:h(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.failure`)),1)]),default:h(()=>[r(`p`,Tt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.response?.trace_id?(d(),m(`p`,Et,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):s(``,!0)]),_:1})])):s(``,!0)])])}var Dt=c({name:`RecentPanel`,components:{TaskPreview:F(rt,[[`render`,$],[`__scopeId`,`data-v-935f9471`]]),NoTasks:Q,BotPlaceholder:q,ScrollList:Y},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ot={key:0},kt={key:2,class:`w-full h-full flex items-center justify-center`};function At(e,t,r,i,a,c){let u=p(`bot-placeholder`),f=p(`task-preview`),g=p(`scroll-list`),v=p(`no-tasks`);return d(),m(_,null,[e.tasks?.items===void 0?(d(),m(`div`,Ot,[o(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(d(),n(g,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:h(()=>[(d(!0),m(_,null,l(e.tasks?.items,(e,t)=>(d(),n(f,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):s(``,!0),e.tasks?.items?.length===0?(d(),m(`div`,kt,[o(v)])):s(``,!0)],64)}var jt=F(Dt,[[`render`,At]]),Mt=M(`sora`),Nt=c({name:`SoraIndex`,components:{ConfigPanel:nt,Layout:ue,RecentPanel:jt},mixins:[V],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===B.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===B.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await X({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(`sora/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`sora/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let 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);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`sora/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!P(this.uploadTracker,e=>this.$t(e),e=>I.warning(e)))return;let e={...this.config,callback_url:Mt},t=this.credential?.token;if(!t){console.error(`no token specified`);return}I.info(this.$t(`sora.message.startingTask`)),R(`sora`,H.generate(e,{token:t})).then(()=>{I.success(this.$t(`sora.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?I.error(this.$t(`sora.message.usedUp`)):I.error(this.$t(`sora.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Pt(e,t,r,i,a,s){let c=p(`config-panel`),l=p(`recent-panel`),u=p(`layout`);return d(),n(u,null,{config:h(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:h(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Ft=F(Nt,[[`render`,Pt]]);export{Ft as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,Ht as i,M as a,N as o,O as s,P as c,Q as l,Ut as u,X as d,_ as f,et as p,k as m,lt as h,ut as g,x as _}from"./vendor-chart-Df3WBvr0.js";import{t as v}from"./button-Diu_mJ2H.js";import{r as y,t as b}from"./select-DKxozijX.js";import{t as x}from"./upload-DnNyu5wB.js";import{t as S}from"./tooltip-hII4wDEz.js";import{t as C}from"./image-CokNERba.js";import{t as w}from"./alert-Cs6WDxgv.js";import{t as T}from"./drawer-B42T8GMw.js";import{Fn as E,In as D,Jr as O,Mn as k,Nn as A,Pn as ee,Rn as te,jn as j,zn as M}from"./constants-vDFRJTq6.js";import{At as N,Dt as P,E as F,Er as I,Mt as L,Nn as R,Ot as z,gr as B,kt as V,ln as H,yr as U}from"./index-Ux3Ldhqb.js";import{t as W}from"./index.es-DA4X-U-q.js";import{t as G}from"./CopyToClipboard-16GJr0qC.js";import{t as K}from"./ImagePreview-4aD6mCco.js";import{t as q}from"./BotPlaceholder-DuWkJHz7.js";import{i as J,n as Y,t as X}from"./pagination-Cqd54t6s.js";import{n as Z,t as Q}from"./NoTasks-BMBpS8O_.js";import{t as ne}from"./Consumption-CVy36l-D.js";import{t as re}from"./ApiCodeButton-8Hg0Weqj.js";import{t as ie}from"./VideoPlayer-Qc7k-3La.js";var ae=c({name:`LayoutSora`,components:{ElDrawer:T,ElButton:v,FontAwesomeIcon:W},data(){return{drawer:!1}}}),oe={class:`main flex flex-row flex-1`},se={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ce={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function le(t,n,i,a,s,c){let l=p(`font-awesome-icon`),u=p(`el-button`),f=p(`el-drawer`);return d(),m(`div`,oe,[r(`div`,se,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,ce,[e(t.$slots,`result`,{},void 0,!0)]),o(u,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:h(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1}),o(f,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:h(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ue=F(ae,[[`render`,le],[`__scopeId`,`data-v-bbee238c`]]),de=c({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:M,label:`sora-2`},{value:te,label:`sora-2-pro`}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){let t=this.$store.state.sora?.config||{},n=j[e]||[10],r=t.duration,i=r&&n.includes(r)?r:n.includes(10)?10:n[0],a={...t,model:e,duration:i,size:t.size||`small`};this.$store.commit(`sora/setConfig`,a)}}},mounted(){this.value||=ee}}),fe={class:`field`},pe={class:`title font-bold`};function me(e,t,i,a,s,c){let f=p(`el-option`),g=p(`el-select`);return d(),m(`div`,fe,[r(`h2`,pe,u(e.$t(`sora.name.model`)),1),o(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`sora.placeholder.select`)},{default:h(()=>[(d(!0),m(_,null,l(e.options,e=>(d(),n(f,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var he=F(de,[[`render`,me],[`__scopeId`,`data-v-0cb7913d`]]),ge=c({name:`ActionSelector`,components:{ElSelect:y,ElOption:b},data(){return{}},computed:{options(){return[{value:`text2video`,label:this.$t(`sora.button.action1`)},{value:`image2video`,label:this.$t(`sora.button.action2`)}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit(`sora/setConfig`,{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||=A}}),_e={class:`field`},ve={class:`title font-bold`},ye={class:`float-left`};function be(e,t,i,a,s,c){let f=p(`el-option`),g=p(`el-select`);return d(),m(`div`,_e,[r(`h2`,ve,u(e.$t(`sora.name.action`)),1),o(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`sora.placeholder.select`),clearable:``},{default:h(()=>[(d(!0),m(_,null,l(e.options,e=>(d(),n(f,{key:e.value,label:e.label,value:e.value},{default:h(()=>[r(`span`,ye,u(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var xe=F(ge,[[`render`,be],[`__scopeId`,`data-v-7b82fa7f`]]),Se=c({name:`DurationSelector`,components:{ElSelect:y,ElOption:b},computed:{model(){return this.$store.state.sora?.config?.model||`sora-2`},allowedDurations(){return j[this.model]||[10]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){let t=this.$store.state.sora?.config||{};this.$store.commit(`sora/setConfig`,{...t,duration:e})}}},watch:{allowedDurations(){let e=this.allowedDurations;if(!e.includes(this.value)){let t=e.includes(10)?10:e[0];this.value=t}}},mounted(){this.value||=10}}),Ce={class:`field`},we={class:`control`},Te={class:`title font-bold`};function Ee(e,t,i,a,s,c){let f=p(`el-option`),g=p(`el-select`);return d(),m(`div`,Ce,[r(`div`,we,[r(`h2`,Te,u(e.$t(`sora.name.duration`)),1),o(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`sora.placeholder.select`)},{default:h(()=>[(d(!0),m(_,null,l(e.optionsForModel,e=>(d(),n(f,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var De=F(Se,[[`render`,Ee],[`__scopeId`,`data-v-c2934598`]]),Oe=c({name:`OrientationSelector`,data(){return{options:[{value:`portrait`,labelKey:`sora.option.portrait`,width:13,height:25},{value:`landscape`,labelKey:`sora.option.landscape`,width:25,height:13}]}},computed:{active(){let e=this.options.findIndex(e=>e.value===this.value);return e>=0?e:0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug(`set orientation`,e),this.$store.commit(`sora/setConfig`,{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||=E}}),ke={class:`text-sm font-bold mb-2 block`},Ae={class:`items`},je=[`onClick`],Me={class:`name`};function Ne(e,n,a,o,s,c){return d(),m(`div`,null,[r(`span`,ke,u(e.$t(`sora.name.orientation`)),1),r(`div`,Ae,[(d(!0),m(_,null,l(e.options,(n,a)=>(d(),m(`div`,{key:a,class:t({active:e.active===a,item:!0}),onClick:t=>e.value=n.value},[r(`div`,{class:t([`preview`,n.value])},[r(`div`,{class:`rect`,style:i({width:n.width+`px`,height:n.height+`px`})},null,4)],2),r(`p`,Me,u(e.$t(n.labelKey)),1)],10,je))),128))])])}var Pe=F(Oe,[[`render`,Ne],[`__scopeId`,`data-v-a20be6d9`]]),Fe=c({name:`StartEndImage`,components:{ElUpload:x,ElButton:v,InfoIcon:J,FontAwesomeIcon:W,ImagePreview:K},mixins:[N,z],emits:[`change`],data(){return{fileList:[],uploadUrl:U()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.sora?.config?.image_urls},set(){}}},mounted(){this.value||=void 0,this.onSetStartEndImageUrl()},methods:{onExceed(){I.warning(this.$t(`sora.message.uploadReferencesExceed`))},onError(){I.error(this.$t(`sora.message.uploadReferencesError`))},onSetStartEndImageUrl(){let e=this.urls;this.$store.commit(`sora/setConfig`,{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),Ie={class:`relative`},Le={class:`flex justify-between`},Re={class:`flex justify-start items-center`},ze={class:`text-sm font-bold`};function Be(e,t,i,c,l,f){let g=p(`info-icon`),_=p(`image-preview`),v=p(`font-awesome-icon`),y=p(`el-button`),b=p(`el-upload`);return d(),m(`div`,Ie,[r(`div`,Le,[r(`div`,Re,[r(`span`,ze,u(e.$t(`sora.name.startEndImage`)),1),o(g,{content:e.$t(`sora.description.uploadStartEndImage`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:2,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:h(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):s(``,!0)]),default:h(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:h(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`sora.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ve=F(Fe,[[`render`,Be],[`__scopeId`,`data-v-4f7d9ba5`]]),He=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),Ue=c({name:`SizeSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:k.map(e=>({value:e,label:He(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){let t=this.$store.state.sora?.config||{};this.$store.commit(`sora/setConfig`,{...t,size:e})}}},mounted(){this.value||=D}}),We={class:`field`},Ge={class:`control`},Ke={class:`title font-bold`};function qe(e,t,i,a,s,c){let f=p(`el-option`),g=p(`el-select`);return d(),m(`div`,We,[r(`div`,Ge,[r(`h2`,Ke,u(e.$t(`sora.name.size`)),1),o(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`sora.placeholder.select`)},{default:h(()=>[(d(!0),m(_,null,l(e.options,e=>(d(),n(f,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var Je=F(Ue,[[`render`,qe],[`__scopeId`,`data-v-8c485f0f`]]),Ye=c({name:`PromptInput`,components:{PromptTextarea:Z},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){this.$store.commit(`sora/setConfig`,{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Xe(e,t,r,i,a,o){let s=p(`prompt-textarea`);return d(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`sora.name.prompt`),info:e.$t(`sora.description.prompt`),placeholder:e.$t(`sora.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ze=c({name:`ConfigPanel`,components:{ElButton:v,Consumption:ne,FontAwesomeIcon:W,PromptInput:F(Ye,[[`render`,Xe]]),ModelSelector:he,StartEndImage:Ve,SizeSelector:Je,ActionSelector:xe,OrientationSelector:Pe,DurationSelector:De},emits:[`generate`],computed:{config(){return this.$store.state.sora?.config},consumption(){return L(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Qe={class:`flex flex-col h-full`},$e={class:`flex-1 overflow-y-auto p-5`},et={class:`flex flex-col items-center justify-center px-5 pb-5`};function tt(e,t,n,i,s,c){let l=p(`model-selector`),_=p(`action-selector`),v=p(`duration-selector`),y=p(`size-selector`),b=p(`orientation-selector`),x=p(`prompt-input`),S=p(`start-end-image`),C=p(`consumption`),w=p(`font-awesome-icon`),T=p(`el-button`);return d(),m(`div`,Qe,[r(`div`,$e,[o(l,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-4`}),o(x,{class:`mb-4`}),g(o(S,{class:`mb-2`},null,512),[[f,e.config?.action===`image2video`]])]),r(`div`,et,[o(C,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(T,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:h(()=>[o(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`sora.button.generate`)),1)]),_:1},8,[`onClick`])])])}var nt=F(Ze,[[`render`,tt]]),rt=c({name:`TaskPreview`,components:{ElImage:C,CopyToClipboard:G,FontAwesomeIcon:W,ElAlert:w,VideoPlayer:ie,ElTooltip:S,ElButton:v,ApiCodeButton:re},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),it={class:`preview`},at={class:`left`},ot={class:`main`},st={class:`bot`},ct={class:`datetime`},lt={class:`info`},ut={key:0,class:`prompt mt-2`},dt={key:0},ft={key:1},pt={key:0,class:t({content:!0,failed:!0})},mt={key:0,class:`mb-4`},ht={key:1,class:t({operations:!0,"mt-2":!0})},gt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_t={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},yt={key:1,class:t({content:!0})},bt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},wt={key:2,class:t({content:!0})},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function $(e,t,i,c,l,f){let g=p(`el-image`),_=p(`video-player`),v=p(`el-button`),y=p(`el-tooltip`),b=p(`api-code-button`),x=p(`font-awesome-icon`),S=p(`copy-to-clipboard`),C=p(`el-alert`);return d(),m(`div`,it,[r(`div`,at,[o(g,{src:`https://cdn.acedata.cloud/z5id1u.png`,class:`avatar`})]),r(`div`,ot,[r(`div`,st,[a(u(e.$t(`sora.name.soraBot`))+` `,1),r(`span`,ct,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,lt,[e.modelValue?.request?.prompt?(d(),m(`p`,ut,[a(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?s(``,!0):(d(),m(`span`,dt,` - (`+u(e.$t(`sora.status.pending`))+`) `,1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state===`pending`?(d(),m(`span`,ft,` - (`+u(e.$t(`sora.status.processing`))+`) `,1)):s(``,!0)])):s(``,!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(d(),m(`div`,pt,[e.modelValue?.response?.data[0]?.video_url?(d(),m(`div`,mt,[o(_,{src:e.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):s(``,!0),e.modelValue?.response.success?(d(),m(`div`,ht,[o(y,{class:`box-item`,effect:`dark`,content:e.$t(`sora.message.downloadVideo`),placement:`top-start`},{default:h(()=>[e.modelValue?.response?.data[0]?.video_url?(d(),n(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:t[0]||=t=>e.onDownload(t,e.modelValue?.response?.data[0]?.video_url)},{default:h(()=>[a(u(e.$t(`sora.button.download`)),1)]),_:1})):s(``,!0)]),_:1},8,[`content`]),o(b,{path:`/sora/videos`,body:e.modelValue?.request},null,8,[`body`])])):s(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:h(()=>[r(`p`,gt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.model`))+`: `+u(e.modelValue?.request?.model),1)]),r(`p`,_t,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),m(`p`,vt,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===!1?(d(),m(`div`,yt,[o(C,{closable:!1,class:`failure`},{template:h(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.failure`)),1)]),default:h(()=>[r(`p`,bt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),r(`p`,xt,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(d(),m(`p`,St,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0),e.modelValue?.response?.trace_id?(d(),m(`p`,Ct,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===void 0?(d(),m(`div`,wt,[o(C,{closable:!1,class:`info`},{template:h(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.failure`)),1)]),default:h(()=>[r(`p`,Tt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.response?.trace_id?(d(),m(`p`,Et,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):s(``,!0)]),_:1})])):s(``,!0)])])}var Dt=c({name:`RecentPanel`,components:{TaskPreview:F(rt,[[`render`,$],[`__scopeId`,`data-v-935f9471`]]),NoTasks:Q,BotPlaceholder:q,ScrollList:Y},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ot={key:0},kt={key:2,class:`w-full h-full flex items-center justify-center`};function At(e,t,r,i,a,c){let u=p(`bot-placeholder`),f=p(`task-preview`),g=p(`scroll-list`),v=p(`no-tasks`);return d(),m(_,null,[e.tasks?.items===void 0?(d(),m(`div`,Ot,[o(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(d(),n(g,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:h(()=>[(d(!0),m(_,null,l(e.tasks?.items,(e,t)=>(d(),n(f,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):s(``,!0),e.tasks?.items?.length===0?(d(),m(`div`,kt,[o(v)])):s(``,!0)],64)}var jt=F(Dt,[[`render`,At]]),Mt=O(`sora`),Nt=c({name:`SoraIndex`,components:{ConfigPanel:nt,Layout:ue,RecentPanel:jt},mixins:[V],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===B.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===B.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await X({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(`sora/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`sora/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let 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);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`sora/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!P(this.uploadTracker,e=>this.$t(e),e=>I.warning(e)))return;let e={...this.config,callback_url:Mt},t=this.credential?.token;if(!t){console.error(`no token specified`);return}I.info(this.$t(`sora.message.startingTask`)),R(`sora`,H.generate(e,{token:t})).then(()=>{I.success(this.$t(`sora.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?I.error(this.$t(`sora.message.usedUp`)):I.error(this.$t(`sora.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Pt(e,t,r,i,a,s){let c=p(`config-panel`),l=p(`recent-panel`),u=p(`layout`);return d(),n(u,null,{config:h(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:h(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Ft=F(Nt,[[`render`,Pt]]);export{Ft as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,N as n,P as r,Ut as i,X as a,et as o,lt as s,tt as c,ut as l}from"./vendor-chart-Df3WBvr0.js";import{n as u,t as d}from"./table-DfFIvmbC.js";import{t as f}from"./card-ctDPo7It.js";import{n as p,t as m}from"./row-
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,N as n,P as r,Ut as i,X as a,et as o,lt as s,tt as c,ut as l}from"./vendor-chart-Df3WBvr0.js";import{n as u,t as d}from"./table-DfFIvmbC.js";import{t as f}from"./card-ctDPo7It.js";import{n as p,t as m}from"./row-DFhFPP85.js";import{t as h}from"./Pagination-BbK0Kubg.js";import{Dn as g,E as _}from"./index-Ux3Ldhqb.js";import{t as v}from"./CopyToClipboard-16GJr0qC.js";var y=r({name:`ConsoleDistributionInvitees`,components:{Pagination:h,CopyToClipboard:v,ElRow:m,ElCol:p,ElTable:d,ElTableColumn:u,ElCard:f},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(){let{data:e}=await g.getInvitees({limit:this.limit,offset:(this.page-1)*this.limit,ordering:`-created_at`});this.invitees=e.items,this.total=e.count}}}),b={class:`title`},x={class:`key`},S={class:`copy`},C={class:`description`},w={class:`description`},T={class:`description`},E={class:`created-at`},D={class:`pagination m-v-lg`};function O(r,u,d,f,p,m){let h=o(`el-col`),g=o(`el-row`),_=o(`copy-to-clipboard`),v=o(`el-table-column`),y=o(`el-table`),O=o(`el-card`),k=o(`pagination`),A=c(`loading`);return a(),e(g,{class:`panel`},{default:s(()=>[n(h,{span:24},{default:s(()=>[n(g,null,{default:s(()=>[n(h,{span:24},{default:s(()=>[t(`h2`,b,i(r.$t(`common.title.invitee`)),1)]),_:1})]),_:1}),n(g,null,{default:s(()=>[n(h,{span:24},{default:s(()=>[n(O,{shadow:`hover`},{default:s(()=>[l((a(),e(y,{data:r.invitees,stripe:``},{default:s(()=>[n(v,{prop:`id`,label:r.$t(`user.field.id`),"class-name":`text-center`,width:`350px`},{default:s(e=>[t(`span`,x,i(e.row.id),1),t(`span`,S,[n(_,{content:e.row.id},null,8,[`content`])])]),_:1},8,[`label`]),n(v,{label:r.$t(`user.field.username`),width:`300px`},{default:s(e=>[t(`span`,C,i(e.row?.username),1)]),_:1},8,[`label`]),n(v,{label:r.$t(`user.field.email`),width:`300px`},{default:s(e=>[t(`span`,w,i(e.row?.email),1)]),_:1},8,[`label`]),n(v,{label:r.$t(`user.field.nickname`),width:`200px`},{default:s(e=>[t(`span`,T,i(e.row.nickname),1)]),_:1},8,[`label`]),n(v,{label:r.$t(`user.field.dateJoined`)},{default:s(e=>[t(`span`,E,i(r.$dayjs.format(e.row.date_joined)),1)]),_:1},8,[`label`])]),_:1},8,[`data`])),[[A,r.loading]])]),_:1})]),_:1})]),_:1}),n(g,null,{default:s(()=>[n(h,{span:10,offset:14},{default:s(()=>[t(`div`,D,[n(k,{"current-page":r.page,"page-size":r.limit,total:r.total,onChange:r.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var k=_(y,[[`render`,O],[`__scopeId`,`data-v-4556864d`]]);export{k as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,M as n,N as r,P as i,Q as a,Ut as o,X as s,et as c,k as l,lt as u,tt as d,ut as ee,x as f}from"./vendor-chart-Df3WBvr0.js";import{t as p}from"./button-Diu_mJ2H.js";import{r as m,t as h}from"./select-DpY6_x_0.js";import{n as g,t as _}from"./table-DfFIvmbC.js";import{t as v}from"./date-picker-DPo4CavG.js";import{t as y}from"./card-ctDPo7It.js";import{n as b,t as x}from"./row-CrNKEd4T.js";import{t as S}from"./Pagination-DPHReSGY.js";import{t as C}from"./skeleton-Cc4nM_v1.js";import{E as w,Nt as T,cr as E,jr as D,xn as O}from"./index-DXE85bHt.js";import{t as k}from"./index.es-B6aGXFcX.js";import{t as A}from"./CopyToClipboard-C9-GE8Ha.js";var j={total_count:0,total_spent:0,state_counts:{}},M=i({name:`ConsoleOrderList`,components:{Pagination:S,CopyToClipboard:A,ElRow:x,ElCol:b,ElTable:_,ElTableColumn:g,ElButton:p,ElTag:D,ElCard:y,ElSelect:m,ElOption:h,ElDatePicker:v,ElSkeleton:C,FontAwesomeIcon:k},data(){return{OrderState:E,orders:[],loading:!1,total:void 0,limit:10,filterState:this.$route.query.state?.toString()||``,filterPayWay:this.$route.query.pay_way?.toString()||``,createdAtRange:(()=>{let e=this.$route.query.created_at_from?.toString(),t=this.$route.query.created_at_to?.toString();if(e&&t)return[new Date(e),new Date(t)]})(),summary:{...j},summaryLoading:!1,exporting:!1,shortcuts:[{text:this.$t(`usage.shortcuts.today`),value:()=>{let e=new Date,t=new Date;return t.setHours(0,0,0,0),[t,e]}},{text:this.$t(`usage.shortcuts.last7Days`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-7),[t,e]}},{text:this.$t(`usage.shortcuts.last1Month`),value:()=>{let e=new Date,t=new Date;return t.setMonth(t.getMonth()-1),[t,e]}}]}},computed:{page(){return parseInt(this.$route.query.page?.toString()||`1`)},stateOptions(){return[{value:E.PENDING,label:this.$t(`order.state.pending`)},{value:E.FINISHED,label:this.$t(`order.state.finished`)},{value:E.PAID,label:this.$t(`order.state.paid`)},{value:E.EXPIRED,label:this.$t(`order.state.expired`)},{value:E.FAILED,label:this.$t(`order.state.failed`)},{value:E.REFUNDED,label:this.$t(`order.state.refunded`)}]},payWayOptions(){return[{value:`WechatPay`,label:this.$t(`order.title.wechatPay`)},{value:`Stripe`,label:this.$t(`order.title.stripe`)},{value:`AliPay`,label:this.$t(`order.title.aliPay`)},{value:`X402`,label:this.$t(`order.title.x402`)},{value:`PayPal`,label:this.$t(`order.title.paypal`)}]},filterQuery(){let e={user_id:this.$store.getters.user?.id};return this.filterState&&(e.state=this.filterState),this.filterPayWay&&(e.pay_way=this.filterPayWay),this.createdAtRange?.[0]&&(e.created_at_from=this.createdAtRange[0]),this.createdAtRange?.[1]&&(e.created_at_to=this.createdAtRange[1]),e}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData(),this.onFetchSummary()},methods:{getPriceString:T,stateTagType(e){return e===E.FINISHED||e===E.PAID?`success`:e===E.EXPIRED||e===E.FAILED?`danger`:e===E.REFUNDED?`warning`:`info`},stateLabel(e){return{[E.PENDING]:this.$t(`order.state.pending`),[E.PAID]:this.$t(`order.state.paid`),[E.FINISHED]:this.$t(`order.state.finished`),[E.EXPIRED]:this.$t(`order.state.expired`),[E.FAILED]:this.$t(`order.state.failed`),[E.REFUNDED]:this.$t(`order.state.refunded`)}[e]||e},isPendingAction(e){return e!==E.PAID&&e!==E.FINISHED&&e!==E.EXPIRED&&e!==E.FAILED&&e!==E.REFUNDED},goToDetail(e){this.$router.push({name:`console-order-detail`,params:{id:e}})},async onFilterChange(){await this.$router.push({name:this.$route.name?.toString(),query:{page:1,...this.filterState?{state:this.filterState}:{},...this.filterPayWay?{pay_way:this.filterPayWay}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0].toISOString()}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1].toISOString()}:{}}}),this.onFetchData(),this.onFetchSummary()},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchData(){this.loading=!0,O.getAll({ordering:`-created_at`,limit:this.limit,offset:(this.page-1)*this.limit,...this.filterQuery}).then(({data:e})=>{this.orders=e.items,this.total=e.count}).catch(()=>{}).finally(()=>{this.loading=!1})},onFetchSummary(){this.summaryLoading=!0,O.getSummary(this.filterQuery).then(({data:e})=>{this.summary=e}).catch(()=>{this.summary={...j}}).finally(()=>{this.summaryLoading=!1})},onExport(){this.exporting=!0,O.exportCsv(this.filterQuery).then(({data:e})=>{let t=window.URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`orders.csv`,n.click(),window.URL.revokeObjectURL(t)}).catch(()=>{}).finally(()=>{this.exporting=!1})}}}),N={class:`title`},P={key:1,class:`card-content`},F={class:`icon-wrapper`},I={class:`description`},L={class:`value`},R={key:1,class:`card-content`},z={class:`icon-wrapper`},B={class:`description`},V={class:`value`},H={key:1,class:`card-content`},U={class:`icon-wrapper`},te={class:`description`},W={class:`value`},G={key:1,class:`card-content`},K={class:`icon-wrapper`},q={class:`description`},J={class:`value`},Y={class:`filter-row mb-3`},X={class:`key`},Z={class:`cursor-pointer`},Q={class:`price`},ne={class:`description`},re={class:`text-gray-500`},$={class:`created-at`},ie={class:`flex items-center justify-center flex-wrap`},ae={class:`float-right`};function oe(i,p,m,h,g,_){let v=c(`el-col`),y=c(`el-row`),b=c(`el-skeleton`),x=c(`font-awesome-icon`),S=c(`el-card`),C=c(`el-option`),w=c(`el-select`),T=c(`el-date-picker`),E=c(`el-button`),D=c(`copy-to-clipboard`),O=c(`el-table-column`),k=c(`el-tag`),A=c(`el-table`),j=c(`pagination`),M=d(`loading`);return s(),e(y,{class:`panel`},{default:u(()=>[r(v,{span:24},{default:u(()=>[r(y,null,{default:u(()=>[r(v,{span:24},{default:u(()=>[t(`h2`,N,o(i.$t(`common.title.allOrders`)),1)]),_:1})]),_:1}),r(y,{gutter:16},{default:u(()=>[r(v,{md:6,sm:12,xs:24},{default:u(()=>[r(S,{shadow:`hover`,class:`item-mini mb-3`},{default:u(()=>[i.summaryLoading?(s(),e(b,{key:0})):(s(),l(`div`,P,[t(`div`,F,[r(x,{icon:`fa-solid fa-receipt`,class:`icon`})]),t(`p`,I,o(i.$t(`order.title.totalOrders`)),1),t(`p`,L,o(i.summary.total_count),1)]))]),_:1})]),_:1}),r(v,{md:6,sm:12,xs:24},{default:u(()=>[r(S,{shadow:`hover`,class:`item-mini mb-3`},{default:u(()=>[i.summaryLoading?(s(),e(b,{key:0})):(s(),l(`div`,R,[t(`div`,z,[r(x,{icon:`fa-solid fa-dollar-sign`,class:`icon`})]),t(`p`,B,o(i.$t(`order.title.totalSpent`)),1),t(`p`,V,o(i.getPriceString({value:i.summary.total_spent})),1)]))]),_:1})]),_:1}),r(v,{md:6,sm:12,xs:24},{default:u(()=>[r(S,{shadow:`hover`,class:`item-mini mb-3`},{default:u(()=>[i.summaryLoading?(s(),e(b,{key:0})):(s(),l(`div`,H,[t(`div`,U,[r(x,{icon:`fa-solid fa-check-circle`,class:`icon`})]),t(`p`,te,o(i.$t(`order.title.finishedOrders`)),1),t(`p`,W,o(i.summary.state_counts?.Finished||0),1)]))]),_:1})]),_:1}),r(v,{md:6,sm:12,xs:24},{default:u(()=>[r(S,{shadow:`hover`,class:`item-mini mb-3`},{default:u(()=>[i.summaryLoading?(s(),e(b,{key:0})):(s(),l(`div`,G,[t(`div`,K,[r(x,{icon:`fa-solid fa-clock`,class:`icon`})]),t(`p`,q,o(i.$t(`order.title.pendingOrders`)),1),t(`p`,J,o(i.summary.state_counts?.Pending||0),1)]))]),_:1})]),_:1})]),_:1}),t(`div`,Y,[r(w,{modelValue:i.filterState,"onUpdate:modelValue":p[0]||=e=>i.filterState=e,clearable:``,placeholder:i.$t(`order.field.allStates`),class:`filter-select`,onChange:i.onFilterChange},{default:u(()=>[(s(!0),l(f,null,a(i.stateOptions,t=>(s(),e(C,{key:t.value,label:t.label,value:t.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),r(w,{modelValue:i.filterPayWay,"onUpdate:modelValue":p[1]||=e=>i.filterPayWay=e,clearable:``,placeholder:i.$t(`order.field.allPayWays`),class:`filter-select`,onChange:i.onFilterChange},{default:u(()=>[(s(!0),l(f,null,a(i.payWayOptions,t=>(s(),e(C,{key:t.value,label:t.label,value:t.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),r(T,{modelValue:i.createdAtRange,"onUpdate:modelValue":p[2]||=e=>i.createdAtRange=e,type:`datetimerange`,shortcuts:i.shortcuts,"range-separator":i.$t(`usage.placeholder.to`),"start-placeholder":i.$t(`usage.placeholder.startDate`),"end-placeholder":i.$t(`usage.placeholder.endDate`),onChange:i.onFilterChange},null,8,[`modelValue`,`shortcuts`,`range-separator`,`start-placeholder`,`end-placeholder`,`onChange`]),r(E,{type:`primary`,plain:``,loading:i.exporting,onClick:i.onExport},{default:u(()=>[r(x,{icon:`fa-solid fa-file-export`,class:`mr-1`}),n(` `+o(i.$t(`order.button.export`)),1)]),_:1},8,[`loading`,`onClick`])]),r(y,null,{default:u(()=>[r(v,{span:24},{default:u(()=>[r(S,{shadow:`hover`},{default:u(()=>[ee((s(),e(A,{data:i.orders,stripe:``,"empty-text":i.$t(`common.message.noData`),class:`min-h-[calc(100vh-450px)] mb-[20px]`},{default:u(()=>[r(O,{prop:`id`,label:i.$t(`order.field.id`),"class-name":`text-center`,width:`200px`},{default:u(e=>[t(`span`,X,o(e.row.id),1),t(`span`,Z,[r(D,{content:e.row.id,class:`inline-block`},null,8,[`content`])])]),_:1},8,[`label`]),r(O,{label:i.$t(`order.field.price`),width:`110px`,align:`center`},{default:u(e=>[t(`span`,Q,o(i.getPriceString({value:e.row?.price})),1)]),_:1},8,[`label`]),r(O,{label:i.$t(`order.field.description`),"min-width":`220px`,"class-name":`hidden md:table-cell`,"label-class-name":`hidden md:table-cell`},{default:u(e=>[t(`span`,ne,o(e.row.description),1)]),_:1},8,[`label`]),r(O,{prop:`state`,label:i.$t(`order.field.state`),width:`130px`,align:`center`},{default:u(e=>[r(k,{type:i.stateTagType(e.row.state),class:`mx-1`,effect:`dark`,round:``,size:`small`},{default:u(()=>[n(o(i.stateLabel(e.row.state)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),r(O,{label:i.$t(`order.field.payWay`),width:`120px`,align:`center`,"class-name":`hidden md:table-cell`,"label-class-name":`hidden md:table-cell`},{default:u(e=>[t(`span`,re,o(e.row.pay_way||`-`),1)]),_:1},8,[`label`]),r(O,{label:i.$t(`order.field.createdAt`),width:`200px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:u(e=>[t(`span`,$,o(i.$dayjs.format(e.row.created_at)),1)]),_:1},8,[`label`]),r(O,{"min-width":`130px`,fixed:`right`},{default:u(r=>[t(`div`,ie,[i.isPendingAction(r.row.state)?(s(),e(E,{key:0,type:`primary`,size:`small`,onClick:e=>i.goToDetail(r.row.id)},{default:u(()=>[n(o(i.$t(`order.button.continuePay`)),1)]),_:1},8,[`onClick`])):(s(),e(E,{key:1,size:`small`,onClick:e=>i.goToDetail(r.row.id)},{default:u(()=>[n(o(i.$t(`order.button.checkDetail`)),1)]),_:1},8,[`onClick`]))])]),_:1})]),_:1},8,[`data`,`empty-text`])),[[M,i.loading]])]),_:1})]),_:1})]),_:1}),r(y,null,{default:u(()=>[r(v,{span:10,offset:14},{default:u(()=>[t(`div`,ae,[r(j,{"current-page":i.page,"page-size":i.limit,total:i.total,onChange:i.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var se=w(M,[[`render`,oe],[`__scopeId`,`data-v-350ab467`]]);export{se as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,M as n,N as r,P as i,Q as a,Ut as o,X as s,et as c,k as l,lt as u,tt as d,ut as ee,x as f}from"./vendor-chart-Df3WBvr0.js";import{t as p}from"./button-Diu_mJ2H.js";import{r as m,t as h}from"./select-DKxozijX.js";import{n as g,t as _}from"./table-DfFIvmbC.js";import{t as v}from"./date-picker--ZqvuNIO.js";import{t as y}from"./card-ctDPo7It.js";import{n as b,t as x}from"./row-DFhFPP85.js";import{t as S}from"./Pagination-BbK0Kubg.js";import{t as C}from"./skeleton-Cc4nM_v1.js";import{E as w,Nt as T,cr as E,jr as D,xn as O}from"./index-Ux3Ldhqb.js";import{t as k}from"./index.es-DA4X-U-q.js";import{t as A}from"./CopyToClipboard-16GJr0qC.js";var j={total_count:0,total_spent:0,state_counts:{}},M=i({name:`ConsoleOrderList`,components:{Pagination:S,CopyToClipboard:A,ElRow:x,ElCol:b,ElTable:_,ElTableColumn:g,ElButton:p,ElTag:D,ElCard:y,ElSelect:m,ElOption:h,ElDatePicker:v,ElSkeleton:C,FontAwesomeIcon:k},data(){return{OrderState:E,orders:[],loading:!1,total:void 0,limit:10,filterState:this.$route.query.state?.toString()||``,filterPayWay:this.$route.query.pay_way?.toString()||``,createdAtRange:(()=>{let e=this.$route.query.created_at_from?.toString(),t=this.$route.query.created_at_to?.toString();if(e&&t)return[new Date(e),new Date(t)]})(),summary:{...j},summaryLoading:!1,exporting:!1,shortcuts:[{text:this.$t(`usage.shortcuts.today`),value:()=>{let e=new Date,t=new Date;return t.setHours(0,0,0,0),[t,e]}},{text:this.$t(`usage.shortcuts.last7Days`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-7),[t,e]}},{text:this.$t(`usage.shortcuts.last1Month`),value:()=>{let e=new Date,t=new Date;return t.setMonth(t.getMonth()-1),[t,e]}}]}},computed:{page(){return parseInt(this.$route.query.page?.toString()||`1`)},stateOptions(){return[{value:E.PENDING,label:this.$t(`order.state.pending`)},{value:E.FINISHED,label:this.$t(`order.state.finished`)},{value:E.PAID,label:this.$t(`order.state.paid`)},{value:E.EXPIRED,label:this.$t(`order.state.expired`)},{value:E.FAILED,label:this.$t(`order.state.failed`)},{value:E.REFUNDED,label:this.$t(`order.state.refunded`)}]},payWayOptions(){return[{value:`WechatPay`,label:this.$t(`order.title.wechatPay`)},{value:`Stripe`,label:this.$t(`order.title.stripe`)},{value:`AliPay`,label:this.$t(`order.title.aliPay`)},{value:`X402`,label:this.$t(`order.title.x402`)},{value:`PayPal`,label:this.$t(`order.title.paypal`)}]},filterQuery(){let e={user_id:this.$store.getters.user?.id};return this.filterState&&(e.state=this.filterState),this.filterPayWay&&(e.pay_way=this.filterPayWay),this.createdAtRange?.[0]&&(e.created_at_from=this.createdAtRange[0]),this.createdAtRange?.[1]&&(e.created_at_to=this.createdAtRange[1]),e}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData(),this.onFetchSummary()},methods:{getPriceString:T,stateTagType(e){return e===E.FINISHED||e===E.PAID?`success`:e===E.EXPIRED||e===E.FAILED?`danger`:e===E.REFUNDED?`warning`:`info`},stateLabel(e){return{[E.PENDING]:this.$t(`order.state.pending`),[E.PAID]:this.$t(`order.state.paid`),[E.FINISHED]:this.$t(`order.state.finished`),[E.EXPIRED]:this.$t(`order.state.expired`),[E.FAILED]:this.$t(`order.state.failed`),[E.REFUNDED]:this.$t(`order.state.refunded`)}[e]||e},isPendingAction(e){return e!==E.PAID&&e!==E.FINISHED&&e!==E.EXPIRED&&e!==E.FAILED&&e!==E.REFUNDED},goToDetail(e){this.$router.push({name:`console-order-detail`,params:{id:e}})},async onFilterChange(){await this.$router.push({name:this.$route.name?.toString(),query:{page:1,...this.filterState?{state:this.filterState}:{},...this.filterPayWay?{pay_way:this.filterPayWay}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0].toISOString()}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1].toISOString()}:{}}}),this.onFetchData(),this.onFetchSummary()},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchData(){this.loading=!0,O.getAll({ordering:`-created_at`,limit:this.limit,offset:(this.page-1)*this.limit,...this.filterQuery}).then(({data:e})=>{this.orders=e.items,this.total=e.count}).catch(()=>{}).finally(()=>{this.loading=!1})},onFetchSummary(){this.summaryLoading=!0,O.getSummary(this.filterQuery).then(({data:e})=>{this.summary=e}).catch(()=>{this.summary={...j}}).finally(()=>{this.summaryLoading=!1})},onExport(){this.exporting=!0,O.exportCsv(this.filterQuery).then(({data:e})=>{let t=window.URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`orders.csv`,n.click(),window.URL.revokeObjectURL(t)}).catch(()=>{}).finally(()=>{this.exporting=!1})}}}),N={class:`title`},P={key:1,class:`card-content`},F={class:`icon-wrapper`},I={class:`description`},L={class:`value`},R={key:1,class:`card-content`},z={class:`icon-wrapper`},B={class:`description`},V={class:`value`},H={key:1,class:`card-content`},U={class:`icon-wrapper`},te={class:`description`},W={class:`value`},G={key:1,class:`card-content`},K={class:`icon-wrapper`},q={class:`description`},J={class:`value`},Y={class:`filter-row mb-3`},X={class:`key`},Z={class:`cursor-pointer`},Q={class:`price`},ne={class:`description`},re={class:`text-gray-500`},$={class:`created-at`},ie={class:`flex items-center justify-center flex-wrap`},ae={class:`float-right`};function oe(i,p,m,h,g,_){let v=c(`el-col`),y=c(`el-row`),b=c(`el-skeleton`),x=c(`font-awesome-icon`),S=c(`el-card`),C=c(`el-option`),w=c(`el-select`),T=c(`el-date-picker`),E=c(`el-button`),D=c(`copy-to-clipboard`),O=c(`el-table-column`),k=c(`el-tag`),A=c(`el-table`),j=c(`pagination`),M=d(`loading`);return s(),e(y,{class:`panel`},{default:u(()=>[r(v,{span:24},{default:u(()=>[r(y,null,{default:u(()=>[r(v,{span:24},{default:u(()=>[t(`h2`,N,o(i.$t(`common.title.allOrders`)),1)]),_:1})]),_:1}),r(y,{gutter:16},{default:u(()=>[r(v,{md:6,sm:12,xs:24},{default:u(()=>[r(S,{shadow:`hover`,class:`item-mini mb-3`},{default:u(()=>[i.summaryLoading?(s(),e(b,{key:0})):(s(),l(`div`,P,[t(`div`,F,[r(x,{icon:`fa-solid fa-receipt`,class:`icon`})]),t(`p`,I,o(i.$t(`order.title.totalOrders`)),1),t(`p`,L,o(i.summary.total_count),1)]))]),_:1})]),_:1}),r(v,{md:6,sm:12,xs:24},{default:u(()=>[r(S,{shadow:`hover`,class:`item-mini mb-3`},{default:u(()=>[i.summaryLoading?(s(),e(b,{key:0})):(s(),l(`div`,R,[t(`div`,z,[r(x,{icon:`fa-solid fa-dollar-sign`,class:`icon`})]),t(`p`,B,o(i.$t(`order.title.totalSpent`)),1),t(`p`,V,o(i.getPriceString({value:i.summary.total_spent})),1)]))]),_:1})]),_:1}),r(v,{md:6,sm:12,xs:24},{default:u(()=>[r(S,{shadow:`hover`,class:`item-mini mb-3`},{default:u(()=>[i.summaryLoading?(s(),e(b,{key:0})):(s(),l(`div`,H,[t(`div`,U,[r(x,{icon:`fa-solid fa-check-circle`,class:`icon`})]),t(`p`,te,o(i.$t(`order.title.finishedOrders`)),1),t(`p`,W,o(i.summary.state_counts?.Finished||0),1)]))]),_:1})]),_:1}),r(v,{md:6,sm:12,xs:24},{default:u(()=>[r(S,{shadow:`hover`,class:`item-mini mb-3`},{default:u(()=>[i.summaryLoading?(s(),e(b,{key:0})):(s(),l(`div`,G,[t(`div`,K,[r(x,{icon:`fa-solid fa-clock`,class:`icon`})]),t(`p`,q,o(i.$t(`order.title.pendingOrders`)),1),t(`p`,J,o(i.summary.state_counts?.Pending||0),1)]))]),_:1})]),_:1})]),_:1}),t(`div`,Y,[r(w,{modelValue:i.filterState,"onUpdate:modelValue":p[0]||=e=>i.filterState=e,clearable:``,placeholder:i.$t(`order.field.allStates`),class:`filter-select`,onChange:i.onFilterChange},{default:u(()=>[(s(!0),l(f,null,a(i.stateOptions,t=>(s(),e(C,{key:t.value,label:t.label,value:t.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),r(w,{modelValue:i.filterPayWay,"onUpdate:modelValue":p[1]||=e=>i.filterPayWay=e,clearable:``,placeholder:i.$t(`order.field.allPayWays`),class:`filter-select`,onChange:i.onFilterChange},{default:u(()=>[(s(!0),l(f,null,a(i.payWayOptions,t=>(s(),e(C,{key:t.value,label:t.label,value:t.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),r(T,{modelValue:i.createdAtRange,"onUpdate:modelValue":p[2]||=e=>i.createdAtRange=e,type:`datetimerange`,shortcuts:i.shortcuts,"range-separator":i.$t(`usage.placeholder.to`),"start-placeholder":i.$t(`usage.placeholder.startDate`),"end-placeholder":i.$t(`usage.placeholder.endDate`),onChange:i.onFilterChange},null,8,[`modelValue`,`shortcuts`,`range-separator`,`start-placeholder`,`end-placeholder`,`onChange`]),r(E,{type:`primary`,plain:``,loading:i.exporting,onClick:i.onExport},{default:u(()=>[r(x,{icon:`fa-solid fa-file-export`,class:`mr-1`}),n(` `+o(i.$t(`order.button.export`)),1)]),_:1},8,[`loading`,`onClick`])]),r(y,null,{default:u(()=>[r(v,{span:24},{default:u(()=>[r(S,{shadow:`hover`},{default:u(()=>[ee((s(),e(A,{data:i.orders,stripe:``,"empty-text":i.$t(`common.message.noData`),class:`min-h-[calc(100vh-450px)] mb-[20px]`},{default:u(()=>[r(O,{prop:`id`,label:i.$t(`order.field.id`),"class-name":`text-center`,width:`200px`},{default:u(e=>[t(`span`,X,o(e.row.id),1),t(`span`,Z,[r(D,{content:e.row.id,class:`inline-block`},null,8,[`content`])])]),_:1},8,[`label`]),r(O,{label:i.$t(`order.field.price`),width:`110px`,align:`center`},{default:u(e=>[t(`span`,Q,o(i.getPriceString({value:e.row?.price})),1)]),_:1},8,[`label`]),r(O,{label:i.$t(`order.field.description`),"min-width":`220px`,"class-name":`hidden md:table-cell`,"label-class-name":`hidden md:table-cell`},{default:u(e=>[t(`span`,ne,o(e.row.description),1)]),_:1},8,[`label`]),r(O,{prop:`state`,label:i.$t(`order.field.state`),width:`130px`,align:`center`},{default:u(e=>[r(k,{type:i.stateTagType(e.row.state),class:`mx-1`,effect:`dark`,round:``,size:`small`},{default:u(()=>[n(o(i.stateLabel(e.row.state)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),r(O,{label:i.$t(`order.field.payWay`),width:`120px`,align:`center`,"class-name":`hidden md:table-cell`,"label-class-name":`hidden md:table-cell`},{default:u(e=>[t(`span`,re,o(e.row.pay_way||`-`),1)]),_:1},8,[`label`]),r(O,{label:i.$t(`order.field.createdAt`),width:`200px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:u(e=>[t(`span`,$,o(i.$dayjs.format(e.row.created_at)),1)]),_:1},8,[`label`]),r(O,{"min-width":`130px`,fixed:`right`},{default:u(r=>[t(`div`,ie,[i.isPendingAction(r.row.state)?(s(),e(E,{key:0,type:`primary`,size:`small`,onClick:e=>i.goToDetail(r.row.id)},{default:u(()=>[n(o(i.$t(`order.button.continuePay`)),1)]),_:1},8,[`onClick`])):(s(),e(E,{key:1,size:`small`,onClick:e=>i.goToDetail(r.row.id)},{default:u(()=>[n(o(i.$t(`order.button.checkDetail`)),1)]),_:1},8,[`onClick`]))])]),_:1})]),_:1},8,[`data`,`empty-text`])),[[M,i.loading]])]),_:1})]),_:1})]),_:1}),r(y,null,{default:u(()=>[r(v,{span:10,offset:14},{default:u(()=>[t(`div`,ae,[r(j,{"current-page":i.page,"page-size":i.limit,total:i.total,onChange:i.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var se=w(M,[[`render`,oe],[`__scopeId`,`data-v-350ab467`]]);export{se as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,M as n,N as r,O as i,P as a,Ut as o,X as s,et as c,k as l,lt as u,tt as d,ut as f}from"./vendor-chart-Df3WBvr0.js";import{t as p}from"./button-Diu_mJ2H.js";import{n as m,t as h}from"./table-DfFIvmbC.js";import{t as g}from"./card-ctDPo7It.js";import{n as _,t as v}from"./row-
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,M as n,N as r,O as i,P as a,Ut as o,X as s,et as c,k as l,lt as u,tt as d,ut as f}from"./vendor-chart-Df3WBvr0.js";import{t as p}from"./button-Diu_mJ2H.js";import{n as m,t as h}from"./table-DfFIvmbC.js";import{t as g}from"./card-ctDPo7It.js";import{n as _,t as v}from"./row-DFhFPP85.js";import{t as y}from"./Pagination-BbK0Kubg.js";import{t as b}from"./skeleton-Cc4nM_v1.js";import{t as x}from"./switch-B0qMUnX2.js";import{B as S,E as C,Er as w,On as T,P as E,Sr as D,jr as O,mr as k,or as A,pr as j,sr as M}from"./index-Ux3Ldhqb.js";import{t as N}from"./index.es-DA4X-U-q.js";import{t as P}from"./CopyToClipboard-16GJr0qC.js";var F=a({name:`ConsoleApplicationList`,components:{Pagination:y,CopyToClipboard:P,ElTable:h,ElRow:v,ElButton:p,ElCol:_,ElTag:O,ElSkeleton:b,ElSwitch:x,ElTableColumn:m,ElCard:g,FontAwesomeIcon:N},data(){return{credentialType:A,serviceType:M,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`)},showPayment(){return!D()}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onInitializeGlobalApplication(),this.onFetchData()},methods:{updateAllowConsumeGlobal(e,t){!e||!e.id||T.updateAllConsumeGlobal(e.id,{...e,allow_consume_global:!!t}).then(()=>{w.success(this.$t(`application.message.updateSuccessfully`).toString())}).catch(()=>{w.error(this.$t(`application.message.updateFailed`).toString())})},onGoUsage(e){this.$router.push({name:S,query:{application_id:e.id,type:e?.service?.type}})},onBuyMore(e){e?.id&&this.$router.push({name:E,params:{id:e.id}})},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchApplications(e=j.INDIVIDUAL){return new Promise((t,n)=>{T.getAll({limit:this.limit,...e===j.INDIVIDUAL?{offset:(this.page-1)*this.limit}:{},user_id:this.$store.getters.user.id,ordering:`-created_at`,type:k.USAGE,scope:e}).then(({data:n})=>{e===j.INDIVIDUAL?(this.individualApplications=n.items,this.individualApplicationsTotal=n.count):(this.globalApplications=n.items,this.globalApplicationsTotal=n.count),t(n)}).catch(e=>{w.error(this.$t(`application.message.fetchFailed`).toString()),n(e)})})},onFetchData(){this.loading=!0,Promise.all([this.onFetchApplications(j.INDIVIDUAL),this.onFetchApplications(j.GLOBAL)]).then(()=>{this.loading=!1}).catch(()=>{this.loading=!1})},onInitializeGlobalApplication(){T.create({type:k.USAGE,scope:j.GLOBAL,user_id:this.$store.getters.user.id}).finally(()=>{this.onFetchApplications(j.GLOBAL)})},getRemainingAmount(e){if(e.remaining_amount===void 0||e.remaining_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.remaining_amount?.toFixed(6)} ${t}`},getUsedAmount(e){if(e.used_amount===void 0||e.used_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.used_amount?.toFixed(6)} ${t}`}}}),I={class:`title`},L={key:1,class:`summary-card`},R={class:`icon-wrapper`},z={class:`label`},B={class:`value`},V={class:`description`},H={key:1,class:`flex flex-row justify-between align-center`},U={class:`summary-card`},W={class:`flex justify-start items-center gap-2 mb-2 w-full`},G={class:`icon-wrapper !mb-0`},K={class:`text-[var(--el-text-color-regular)] text-[14px] truncate`},q={class:`label`},J={class:`value`},Y={class:`description`},X={class:`flex flex-col items-end gap-2`},Z={class:`copy`},Q={key:0,class:`expired-at`},$={class:`flex flex-wrap items-center justify-end gap-1`},ee={class:`pagination`};function te(a,p,m,h,g,_){let v=c(`el-col`),y=c(`el-row`),b=c(`el-skeleton`),x=c(`font-awesome-icon`),S=c(`el-card`),C=c(`copy-to-clipboard`),w=c(`el-button`),T=c(`el-table-column`),E=c(`el-tag`),D=c(`el-switch`),O=c(`el-table`),k=c(`pagination`),A=d(`loading`);return s(),e(y,{class:`application-list`},{default:u(()=>[r(v,{span:24},{default:u(()=>[r(y,null,{default:u(()=>[r(v,{span:24},{default:u(()=>[t(`h2`,I,o(a.$t(`common.title.allApplications`)),1)]),_:1})]),_:1}),r(y,{gutter:15,class:`mb-3`},{default:u(()=>[r(v,{md:12,xs:24},{default:u(()=>[r(S,{shadow:`hover`,class:`relative min-h-[180px] mb-2`,"body-style":{padding:`18px 20px`}},{default:u(()=>[a.loading?(s(),e(b,{key:0})):(s(),l(`div`,L,[t(`div`,R,[r(x,{icon:`fa-solid fa-cubes-stacked`})]),t(`p`,z,o(a.$t(`application.title.count`)),1),t(`p`,B,o(a.individualApplicationsTotal),1),t(`p`,V,o(a.$t(`application.message.countDescription`)),1)]))]),_:1})]),_:1}),a.showPayment&&a.globalApplications?.length>0?(s(),e(v,{key:0,md:12,xs:24},{default:u(()=>[r(S,{shadow:`hover`,class:`relative min-h-[180px] mb-2`,"body-style":{padding:`18px 20px`}},{default:u(()=>[a.loading?(s(),e(b,{key:0})):(s(),l(`div`,H,[t(`div`,U,[t(`div`,W,[t(`div`,G,[r(x,{icon:`fa-solid fa-wallet`})]),t(`span`,K,[n(o(a.$t(`application.field.id`))+`: `+o(a.globalApplications?.[0]?.id)+` `,1),a.globalApplications?.[0]?.id?(s(),e(C,{key:0,content:a.globalApplications?.[0]?.id,class:`inline-block`},null,8,[`content`])):i(``,!0)])]),t(`p`,q,o(a.$t(`application.title.globalBalance`)),1),t(`p`,J,o(a.globalApplications?.[0]?.remaining_amount?.toFixed(6)||`0.000000`)+` `+o(a.$t(`service.unit.credits`)),1),t(`p`,Y,o(a.$t(`application.message.globalBalanceDescription`)),1)]),t(`div`,X,[r(w,{class:`!m-0 !px-2`,size:`small`,round:``,onClick:p[0]||=e=>a.onGoUsage(a.globalApplications?.[0])},{default:u(()=>[r(x,{icon:`fa-solid fa-chart-line`,class:`mr-1 text-[12px]`}),n(` `+o(a.$t(`application.button.usage`)),1)]),_:1}),a.showPayment?(s(),e(w,{key:0,class:`!m-0 !px-2`,type:`primary`,round:``,size:`small`,onClick:p[1]||=e=>a.onBuyMore(a.globalApplications?.[0])},{default:u(()=>[r(x,{icon:`fa-solid fa-coins`,class:`mr-1 text-[12px]`}),n(` `+o(a.$t(`application.button.buyMore`)),1)]),_:1})):i(``,!0)])]))]),_:1})]),_:1})):i(``,!0)]),_:1}),r(y,null,{default:u(()=>[r(v,{span:24},{default:u(()=>[r(S,{shadow:`hover`,class:`applications-table-card`},{default:u(()=>[f((s(),e(O,{data:a.individualApplications,stripe:``,class:`applications-table !min-h-[calc(100vh-420px)]`,"table-layout":`fixed`,"empty-text":a.$t(`common.message.noData`)},{default:u(()=>[r(T,{prop:`id`,label:a.$t(`application.field.id`),width:`200px`,"class-name":`text-center`},{default:u(e=>[t(`span`,null,o(e.row.id),1),t(`span`,Z,[r(C,{content:e?.row?.id,class:`inline-block`},null,8,[`content`])])]),_:1},8,[`label`]),r(T,{label:a.$t(`application.field.type`),width:`90px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:u(t=>[t.row?.type===`Period`?(s(),e(E,{key:0,type:`success`,effect:`dark`,round:``},{default:u(()=>[n(o(a.$t(`application.type.period`)),1)]),_:1})):t.row?.type===`Usage`?(s(),e(E,{key:1,effect:`dark`,round:``},{default:u(()=>[n(o(a.$t(`application.type.usage`)),1)]),_:1})):i(``,!0)]),_:1},8,[`label`]),r(T,{label:a.$t(`application.field.name`),width:`180px`},{default:u(r=>[t(`span`,null,o(r.row?.service?.title),1),r.row?.role===`grantee`?(s(),e(E,{key:0,type:`info`,size:`small`,round:``,class:`ml-2`},{default:u(()=>[n(o(a.$t(`application.badge.shared`)),1)]),_:1})):i(``,!0)]),_:1},8,[`label`]),r(T,{prop:`remaining_amount`,label:a.$t(`application.field.remainingAmount`),width:`150px`,"class-name":`text-center`},{default:u(e=>[t(`span`,null,o(a.getRemainingAmount(e.row)),1)]),_:1},8,[`label`]),r(T,{prop:`used_amount`,label:a.$t(`application.field.usedAmount`),width:`150px`,"class-name":`hidden sm:table-cell text-center`,"label-class-name":`hidden sm:table-cell`},{default:u(e=>[t(`span`,null,o(a.getUsedAmount(e.row)),1)]),_:1},8,[`label`]),r(T,{prop:`allow_consume_global`,label:a.$t(`application.field.allowConsumeGlobal`),width:`120px`,"class-name":`hidden sm:table-cell text-center`,"label-class-name":`hidden sm:table-cell`},{default:u(t=>[t.row.service?.type===a.serviceType.API?(s(),e(D,{key:0,modelValue:t.row.allow_consume_global,"onUpdate:modelValue":e=>t.row.allow_consume_global=e,"active-value":!0,"inactive-value":!1,onChange:e=>a.updateAllowConsumeGlobal(t.row,e)},null,8,[`modelValue`,`onUpdate:modelValue`,`onChange`])):i(``,!0)]),_:1},8,[`label`]),r(T,{label:a.$t(`application.field.expiredAt`),width:`180px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:u(e=>[e.row.expired_at?(s(),l(`span`,Q,o(a.$dayjs.format(e.row.expired_at)),1)):i(``,!0)]),_:1},8,[`label`]),r(T,{fixed:`right`,width:`200px`},{default:u(c=>[t(`div`,$,[r(w,{class:`!m-0 !px-2`,size:`small`,round:``,onClick:e=>a.onGoUsage(c?.row)},{default:u(()=>[r(x,{icon:`fa-solid fa-chart-line`,class:`mr-1 text-[12px]`}),n(` `+o(a.$t(`application.button.usage`)),1)]),_:1},8,[`onClick`]),a.showPayment?(s(),e(w,{key:0,class:`!m-0 !px-2`,type:`primary`,round:``,size:`small`,onClick:e=>a.onBuyMore(c?.row)},{default:u(()=>[r(x,{icon:`fa-solid fa-coins`,class:`mr-1 text-[12px]`}),n(` `+o(a.$t(`application.button.buyMore`)),1)]),_:1},8,[`onClick`])):i(``,!0)])]),_:1})]),_:1},8,[`data`,`empty-text`])),[[A,a.loading]])]),_:1})]),_:1})]),_:1}),r(y,null,{default:u(()=>[r(v,{span:24},{default:u(()=>[t(`div`,ee,[r(k,{"current-page":a.page,"page-size":a.limit,total:a.individualApplicationsTotal,onChange:a.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var ne=C(F,[[`render`,te],[`__scopeId`,`data-v-7182b838`]]);export{ne as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,M as n,N as r,O as i,P as a,Q as o,Ut as s,X as c,_ as l,a as u,c as ee,et as d,i as f,k as p,lt as m,n as h,o as g,r as _,s as v,t as y,tt as b,ut as x,x as S}from"./vendor-chart-Df3WBvr0.js";import{t as C}from"./button-Diu_mJ2H.js";import{r as w,t as T}from"./select-DpY6_x_0.js";import{n as E,t as D}from"./table-DfFIvmbC.js";import{n as O,t as k}from"./tabs-DyoZnQLw.js";import{t as A}from"./date-picker-DPo4CavG.js";import{t as j}from"./card-ctDPo7It.js";import{n as M,r as N}from"./radio-ClH7NqRe.js";import{n as P,t as F}from"./row-CrNKEd4T.js";import{t as I}from"./Pagination-DPHReSGY.js";import{n as L,t as R}from"./skeleton-Cc4nM_v1.js";import{Cn as z,E as B,On as V,Sn as H,jr as U,kr as W,mr as G,or as K,sr as q,wn as J}from"./index-DXE85bHt.js";import{t as Y}from"./index.es-B6aGXFcX.js";import{t as X}from"./CopyToClipboard-C9-GE8Ha.js";f.register(_,u,h,v,ee,g);var Z=a({name:`ConsoleUsageList`,components:{Pagination:I,ElTag:U,ElDatePicker:A,ElTable:D,ElSelect:w,ElOption:T,CopyToClipboard:X,ElRow:F,ElCol:P,ElTableColumn:E,ElCard:j,ElRadioButton:M,ElRadioGroup:N,ElSkeleton:R,ElSkeletonItem:L,ElDialog:W,ElTabs:O,ElTabPane:k,ElButton:C,FontAwesomeIcon:Y,BarChart:y},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:[],apis:[],apisLoading:!1,credentialType:K,serviceType:q,apiUsages:[],proxyUsages:[],createdAtRange:(()=>{let e=this.$route.query.created_at_to?.toString(),t=this.$route.query.created_at_from?.toString();if(t&&e)return[new Date(t),new Date(e)];let n=new Date,r=new Date;return r.setDate(1),r.setHours(0,0,0,0),[r,n]})(),shortcuts:[{text:this.$t(`usage.shortcuts.thisMonth`),value:()=>{let e=new Date,t=new Date;return t.setDate(1),t.setHours(0,0,0,0),[t,e]}},{text:this.$t(`usage.shortcuts.today`),value:()=>{let e=new Date,t=new Date;return t.setHours(0,0,0,0),[t,e]}},{text:this.$t(`usage.shortcuts.last1Day`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-1),[t,e]}},{text:this.$t(`usage.shortcuts.last3Days`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-3),[t,e]}},{text:this.$t(`usage.shortcuts.last7Days`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-7),[t,e]}},{text:this.$t(`usage.shortcuts.last1Month`),value:()=>{let e=new Date,t=new Date;return t.setMonth(t.getMonth()-1),[t,e]}}],type:this.$route.query.type?.toString()||q.API,loading:!1,total:void 0,limit:15,totalUsed:0,barChartLabels:[],barChartSeries:[],aggLoading:!1,detailDialogVisible:!1,detailRow:null,detailActiveTab:`request`,detailLoading:!1,exporting:!1,statusCodeFilter:this.$route.query.status_code?.toString()||``,statusCodeOptions:[],statusCodeOptionsLoading:!1}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||`1`)},totalUsedString(){return`${(this.totalUsed||0).toFixed(2)}`},barChartData(){return{labels:this.barChartLabels,datasets:this.barChartSeries.map(e=>({label:e.label,data:e.data,backgroundColor:e.color}))}},barChartOptions(){return{responsive:!0,plugins:{legend:{position:`top`,onClick:(e,t,n)=>{let r=n?.chart;if(!r||t?.datasetIndex===void 0)return;let i=t.datasetIndex,a=r.data?.datasets||[];a.some((e,t)=>t!==i&&r.isDatasetVisible(t))?a.forEach((e,t)=>r.setDatasetVisibility(t,t===i)):a.forEach((e,t)=>r.setDatasetVisibility(t,!0)),r.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.onFetchApis(),this.onFetchUsages(),this.onFetchAggregate(),this.onFetchStatusCodeOptions()}}},mounted(){this.onFetchApplications(),this.onFetchApis(),this.onFetchUsages(),this.onFetchAggregate(),this.onFetchStatusCodeOptions()},methods:{async onFetchUsages(){this.type===q.API?this.onFetchApiUsages():this.type===q.Proxy&&this.onFetchProxyUsages()},async onApiChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:e}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onApisChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:e&&e.length?e.join(`,`):``}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onTimeRangeChanged(){console.log(`onTimeRangeChanged`,this.createdAtRange),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(),this.onFetchStatusCodeOptions()},async onApplicationChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:e}}),this.onFetchUsages(),this.onFetchAggregate()},async onApplicationsChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:e&&e.length?e.join(`,`):``}}),this.onFetchUsages(),this.onFetchAggregate()},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},getRemainingAmount(e){if(e.remaining_amount===void 0||e.remaining_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.remaining_amount?.toFixed(6)} ${t}`},getUsedAmount(e){if(e.used_amount===void 0||e.used_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.used_amount?.toFixed(6)} ${t}`},getDeductedAmount(e){if(e?.deducted_amount===void 0||e?.deducted_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.deducted_amount?.toFixed(6)} ${t}`},getOriginalAmount(e){if(e?.original_amount===void 0||e?.original_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.original_amount?.toFixed(6)} ${t}`},onStatusCodeChange(e){let t={...this.$route.query},n=(e||``).trim();n?t.status_code=n:delete t.status_code,delete t.status_code_filter,this.$router.push({name:this.$route.name?.toString(),query:t}),this.onFetchUsages(),this.onFetchAggregate()},async onFetchStatusCodeOptions(){this.statusCodeOptionsLoading=!0;try{let{data:e}=await z.getStatusCodes({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]}:{}});this.statusCodeOptions=(e?.items||[]).slice().sort((e,t)=>e-t)}catch{this.statusCodeOptions=[]}finally{this.statusCodeOptionsLoading=!1}},formatElapsed(e){return e==null||Number.isNaN(e)?`-`:e<1?`${Math.round(e*1e3)} ms`:`${e.toFixed(2)} s`},getSimpleMetadata(e){if(!e)return{};let t={};for(let[n,r]of Object.entries(e))n===`request`||n===`response`||typeof r==`object`&&r||(t[n]=r);return t},onShowDetail(e){this.detailRow={...e,metadata:void 0},this.detailActiveTab=`request`,this.detailDialogVisible=!0,this.detailLoading=!0,e.id&&z.get(e.id).then(e=>{this.detailRow=e.data}).finally(()=>{this.detailLoading=!1})},formatJson(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}},onFetchApplications(){V.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:`-created_at`,type:G.USAGE}).then(({data:e})=>{this.applications=e.items.filter(e=>e?.service?.type===this.type)}).catch(()=>{})},onFetchApis(){this.apisLoading=!0,H.getAll({limit:100,offset:0,ordering:`-created_at`}).then(({data:e})=>{this.apis=e.items}).catch(()=>{}).finally(()=>{this.apisLoading=!1})},onFetchApiUsages(){console.log(`onFetchApiUsages`,this.createdAtRange),this.loading=!0,z.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}:{},...this.statusCodeFilter?{status_code:this.statusCodeFilter}:{}}).then(({data:e})=>{this.apiUsages=e.items,this.loading=!1,this.total=e.count}).catch(()=>{this.loading=!1})},onFetchProxyUsages(){this.loading=!0,J.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:e})=>{this.proxyUsages=e.items,this.loading=!1,this.total=e.count}).catch(()=>{this.loading=!1})},onExport(){this.exporting=!0,z.exportCsv({user_id:this.$store.getters.user.id,...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}:{},...this.statusCodeFilter?{status_code:this.statusCodeFilter}:{}}).then(({data:e})=>{let t=window.URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`usages.csv`,n.click(),window.URL.revokeObjectURL(t)}).catch(()=>{}).finally(()=>{this.exporting=!1})},async onFetchAggregate(){if(this.aggLoading=!0,this.type!==this.serviceType.API)return;let e={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{let{data:t}=await z.getAggregate(e);this.totalUsed=t.total||0;let n=Array.from(new Set((t.items||[]).map(e=>e.date))).sort(),r=Array.from(new Set((t.items||[]).map(e=>e.api_id))),i=e=>`hsl(${e*57%360}, 70%, 60%)`,a=r.map((e,r)=>{let a=t.apis?.[e]?.title||e,o={};return(t.items||[]).filter(t=>t.api_id===e).forEach(e=>{o[e.date]=e.amount||0}),{key:e,label:a,data:n.map(e=>o[e]||0),color:i(r)}});this.barChartLabels=n,this.barChartSeries=a}finally{this.aggLoading=!1}}}}),Q={class:`text-[26px] font-bold mb-5 text-[var(--el-text-color-primary)]`},$={class:`inline-block w-9`},te={class:`inline-block`},ne={key:1,class:`summary-card`},re={class:`icon-wrapper`},ie={class:`text-left`},ae={class:`description`},oe={class:`value`},se={class:`chart-wrapper`},ce={key:0},le={key:1},ue={class:`flex flex-wrap gap-2`},de={class:`key`},fe={key:0,class:`cursor-pointer`},pe={class:`created-at`},me={class:`created-at`},he={key:1,class:`detail-json`},ge={key:2,class:`text-gray-400`},_e={key:1,class:`detail-json`},ve={key:2,class:`text-gray-400`},ye={class:`float-right`};function be(a,u,ee,f,h,g){let _=d(`el-col`),v=d(`el-row`),y=d(`el-radio-button`),C=d(`el-radio-group`),w=d(`el-option`),T=d(`el-select`),E=d(`el-skeleton-item`),D=d(`el-skeleton`),O=d(`el-date-picker`),k=d(`font-awesome-icon`),A=d(`el-button`),j=d(`el-card`),M=d(`bar-chart`),N=d(`el-table-column`),P=d(`el-tag`),F=d(`copy-to-clipboard`),I=d(`el-table`),L=d(`el-tab-pane`),R=d(`el-tabs`),z=d(`el-dialog`),B=d(`pagination`),V=b(`loading`);return c(),e(v,null,{default:m(()=>[r(_,{span:24},{default:m(()=>[r(v,null,{default:m(()=>[r(_,{span:24},{default:m(()=>[t(`h2`,Q,s(a.$t(`common.title.allUsages`)),1)]),_:1})]),_:1}),r(v,null,{default:m(()=>[r(_,{md:4,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:m(()=>[t(`span`,null,s(a.$t(`application.field.type`)),1),r(C,{modelValue:a.type,"onUpdate:modelValue":u[0]||=e=>a.type=e},{default:m(()=>[r(y,{value:a.serviceType.API,label:a.$t(`application.field.api`)},null,8,[`value`,`label`]),r(y,{value:a.serviceType.Proxy,label:a.$t(`application.field.proxy`)},null,8,[`value`,`label`])]),_:1},8,[`modelValue`])]),_:1}),x(r(_,{md:6,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:m(()=>[t(`span`,$,s(a.$t(`usage.field.application`)),1),r(T,{modelValue:a.applicationIds,"onUpdate:modelValue":u[1]||=e=>a.applicationIds=e,placeholder:a.$t(`usage.field.application`),clearable:``,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,class:`w-full`,onChange:a.onApplicationsChange},{default:m(()=>[(c(!0),p(S,null,o(a.applications,t=>(c(),e(w,{key:t.id,label:t.service?.title,value:t?.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`])]),_:1},512),[[l,!1]]),a.type===a.serviceType.API?(c(),e(_,{key:0,md:6,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:m(()=>[t(`span`,te,s(a.$t(`usage.field.api`)),1),a.apisLoading?(c(),e(D,{key:0,animated:``,class:`w-full`},{template:m(()=>[r(E,{variant:`rect`,style:{height:`32px`,"border-radius":`4px`}})]),_:1})):(c(),e(T,{key:1,modelValue:a.apiIds,"onUpdate:modelValue":u[2]||=e=>a.apiIds=e,placeholder:a.$t(`usage.field.api`),clearable:``,filterable:``,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,class:`w-full`,onChange:a.onApisChange},{default:m(()=>[(c(!0),p(S,null,o(a.apis,t=>(c(),e(w,{key:t?.id,label:t?.title,value:t?.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]))]),_:1})):i(``,!0),a.type===a.serviceType.API?(c(),e(_,{key:1,md:8,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:m(()=>[r(O,{modelValue:a.createdAtRange,"onUpdate:modelValue":u[3]||=e=>a.createdAtRange=e,type:`datetimerange`,class:`w-full`,shortcuts:a.shortcuts,"range-separator":a.$t(`usage.placeholder.to`),"start-placeholder":a.$t(`usage.placeholder.startDate`),"end-placeholder":a.$t(`usage.placeholder.endDate`),onChange:a.onTimeRangeChanged},null,8,[`modelValue`,`shortcuts`,`range-separator`,`start-placeholder`,`end-placeholder`,`onChange`])]),_:1})):i(``,!0),a.type===a.serviceType.API?(c(),e(_,{key:2,md:3,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:m(()=>[r(T,{modelValue:a.statusCodeFilter,"onUpdate:modelValue":u[4]||=e=>a.statusCodeFilter=e,placeholder:a.$t(`usage.option.statusCodeAll`),class:`w-full`,clearable:``,filterable:``,"allow-create":``,"default-first-option":``,loading:a.statusCodeOptionsLoading,onChange:a.onStatusCodeChange},{default:m(()=>[(c(!0),p(S,null,o(a.statusCodeOptions,t=>(c(),e(w,{key:t,label:String(t),value:String(t)},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`loading`,`onChange`])]),_:1})):i(``,!0),a.type===a.serviceType.API?(c(),e(_,{key:3,md:3,xs:24,class:`mb-5 flex px-2 gap-2 items-center justify-end`},{default:m(()=>[r(A,{type:`primary`,plain:``,loading:a.exporting,class:`w-full whitespace-nowrap`,onClick:a.onExport},{default:m(()=>[r(k,{icon:`fa-solid fa-file-export`,class:`mr-1`}),n(` `+s(a.$t(`usage.button.export`)),1)]),_:1},8,[`loading`,`onClick`])]),_:1})):i(``,!0)]),_:1}),r(v,null,{default:m(()=>[r(_,{span:24},{default:m(()=>[a.type===a.serviceType.API?(c(),e(v,{key:0,gutter:24,class:`mb-5`},{default:m(()=>[r(_,{md:6,xs:24},{default:m(()=>[r(j,{shadow:`hover`,class:`h-full`},{default:m(()=>[a.aggLoading?(c(),e(D,{key:0})):(c(),p(`div`,ne,[t(`div`,re,[r(k,{icon:`fa-solid fa-cubes`,class:`icon`})]),t(`div`,ie,[t(`p`,ae,s(a.$t(`usage.title.totalUsed`)),1),t(`p`,oe,s(a.totalUsedString),1)])]))]),_:1})]),_:1}),r(_,{md:18,xs:24},{default:m(()=>[r(j,{shadow:`hover`,class:`h-full`},{default:m(()=>[t(`div`,se,[a.aggLoading?(c(),e(D,{key:0,class:`w-full`})):(c(),e(M,{key:1,data:a.barChartData,options:a.barChartOptions,class:`chart`},null,8,[`data`,`options`]))])]),_:1})]),_:1})]),_:1})):i(``,!0),r(j,{shadow:`hover`},{default:m(()=>[a.type===a.serviceType.API?x((c(),e(I,{key:0,data:a.apiUsages,stripe:``,"table-layout":`fixed`,"empty-text":a.$t(`common.message.noData`),class:`min-h-[calc(100vh-350px)] mb-5`},{default:m(()=>[r(N,{label:a.$t(`application.field.name`),width:`160px`},{default:m(e=>[t(`span`,null,s(e.row?.api?.title),1)]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.field.statusCode`),width:`120px`},{default:m(e=>[t(`span`,null,s(e.row.status_code),1)]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.field.elapsed`),width:`120px`},{default:m(e=>[t(`span`,null,s(a.formatElapsed(e.row.elapsed)),1)]),_:1},8,[`label`]),r(N,{prop:`deducted_amount`,label:a.$t(`usage.field.deductedAmount`),width:`150px`,"class-name":`text-center`},{default:m(e=>[a.getDeductedAmount(e.row)===a.getOriginalAmount(e.row)?(c(),p(`div`,ce,[t(`span`,null,s(a.getDeductedAmount(e.row)),1)])):(c(),p(`div`,le,[u[7]||=t(`p`,null,null,-1),t(`p`,null,[t(`span`,null,s(a.getDeductedAmount(e.row)),1)]),t(`p`,null,[t(`del`,null,s(a.getOriginalAmount(e.row)),1)])]))]),_:1},8,[`label`]),r(N,{prop:`remaining_amount`,label:a.$t(`usage.field.balanceAfter`),width:`160px`,"class-name":`text-center`},{default:m(e=>[t(`span`,null,s(a.getRemainingAmount(e.row)),1)]),_:1},8,[`label`]),r(N,{prop:`metadata`,label:a.$t(`usage.field.metadata`),width:`260px`,"class-name":`text-center`},{default:m(r=>[t(`div`,ue,[r.row.original_amount>r.row.deducted_amount&&r.row.original_amount>0?(c(),e(P,{key:0,type:`success`,style:{textWrap:`wrap`,height:`fit-content`,lineHeight:`20px`,borderRadius:`10px`}},{default:m(()=>[n(s(((r.row.original_amount-r.row.deducted_amount)*100/r.row.original_amount).toFixed(0)+`% OFF`),1)]),_:2},1024)):i(``,!0),(c(!0),p(S,null,o(a.getSimpleMetadata(r.row.metadata),(t,r)=>(c(),e(P,{key:r,style:{textWrap:`wrap`,height:`fit-content`,lineHeight:`20px`,borderRadius:`10px`}},{default:m(()=>[n(s(r)+`: `+s(t),1)]),_:2},1024))),128))])]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.button.viewDetail`),width:`120px`,"class-name":`text-center`},{default:m(t=>[t.row.id?(c(),e(A,{key:0,type:`primary`,plain:``,size:`small`,class:`!px-2 !py-1 !text-xs !h-auto !min-h-0`,onClick:e=>a.onShowDetail(t.row)},{default:m(()=>[n(s(a.$t(`usage.button.viewDetail`)),1)]),_:1},8,[`onClick`])):i(``,!0)]),_:1},8,[`label`]),r(N,{prop:`trace_id`,label:a.$t(`application.field.traceId`),width:`200px`,"class-name":`text-center`},{default:m(e=>[t(`span`,de,s(e.row.trace_id),1),e.row.trace_id?(c(),p(`span`,fe,[r(F,{content:e.row.trace_id,class:`inline-block`},null,8,[`content`])])):i(``,!0)]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.field.createdAt`),width:`200px`},{default:m(e=>[t(`span`,pe,s(a.$dayjs.format(e.row.created_at)),1)]),_:1},8,[`label`])]),_:1},8,[`data`,`empty-text`])),[[V,a.loading]]):i(``,!0),a.type===a.serviceType.Proxy?x((c(),e(I,{key:1,data:a.proxyUsages,stripe:``,"table-layout":`fixed`,"empty-text":a.$t(`common.message.noData`),class:`min-h-[calc(100vh-350px)] mb-5`},{default:m(()=>[r(N,{label:a.$t(`application.field.name`),width:`160px`},{default:m(e=>[t(`span`,null,s(e.row?.service?.title),1)]),_:1},8,[`label`]),r(N,{prop:`remaining_amount`,label:a.$t(`usage.field.remainingAmount`),width:`160px`,"class-name":`text-center`},{default:m(e=>[t(`span`,null,s(a.getRemainingAmount(e.row)),1),t(`span`,null,s(a.getOriginalAmount(e.row)),1)]),_:1},8,[`label`]),r(N,{prop:`deducted_amount`,label:a.$t(`usage.field.deductedAmount`),width:`150px`,"class-name":`text-center`},{default:m(e=>[t(`span`,null,s(a.getDeductedAmount(e.row)),1)]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.field.balanceAfter`),width:`160px`,"class-name":`text-center`},{default:m(e=>[t(`span`,null,s(a.getRemainingAmount(e.row)),1)]),_:1},8,[`label`]),r(N,{prop:`metadata`,label:a.$t(`usage.field.metadata`),width:`200px`,"class-name":`text-center`},{default:m(t=>[(c(!0),p(S,null,o(t.row.metadata,(t,r)=>(c(),e(P,{key:r,class:`mb-2`},{default:m(()=>[n(s(r)+`: `+s(t),1)]),_:2},1024))),128))]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.field.createdAt`),width:`200px`},{default:m(e=>[t(`span`,me,s(a.$dayjs.format(e.row.created_at)),1)]),_:1},8,[`label`])]),_:1},8,[`data`,`empty-text`])),[[V,a.loading]]):i(``,!0)]),_:1})]),_:1})]),_:1}),r(z,{modelValue:a.detailDialogVisible,"onUpdate:modelValue":u[6]||=e=>a.detailDialogVisible=e,title:a.$t(`usage.dialog.detailTitle`),width:`70%`,top:`5vh`,"destroy-on-close":``},{default:m(()=>[r(R,{modelValue:a.detailActiveTab,"onUpdate:modelValue":u[5]||=e=>a.detailActiveTab=e},{default:m(()=>[r(L,{label:a.$t(`usage.dialog.request`),name:`request`},{default:m(()=>[a.detailLoading?(c(),e(D,{key:0,rows:6,animated:``})):a.detailRow?.metadata?.request?(c(),p(`pre`,he,s(a.formatJson(a.detailRow.metadata.request)),1)):(c(),p(`p`,ge,s(a.$t(`usage.dialog.noData`)),1))]),_:1},8,[`label`]),r(L,{label:a.$t(`usage.dialog.response`),name:`response`},{default:m(()=>[a.detailLoading?(c(),e(D,{key:0,rows:6,animated:``})):a.detailRow?.metadata?.response?(c(),p(`pre`,_e,s(a.formatJson(a.detailRow.metadata.response)),1)):(c(),p(`p`,ve,s(a.$t(`usage.dialog.noData`)),1))]),_:1},8,[`label`])]),_:1},8,[`modelValue`])]),_:1},8,[`modelValue`,`title`]),r(v,null,{default:m(()=>[r(_,{span:10,offset:14},{default:m(()=>[t(`div`,ye,[r(B,{"current-page":a.page,"page-size":a.limit,total:a.total,onChange:a.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var xe=B(Z,[[`render`,be],[`__scopeId`,`data-v-38f1845c`]]);export{xe as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,M as n,N as r,O as i,P as a,Q as o,Ut as s,X as c,_ as l,a as u,c as ee,et as d,i as f,k as p,lt as m,n as h,o as g,r as _,s as v,t as y,tt as b,ut as x,x as S}from"./vendor-chart-Df3WBvr0.js";import{t as C}from"./button-Diu_mJ2H.js";import{r as w,t as T}from"./select-DKxozijX.js";import{n as E,t as D}from"./table-DfFIvmbC.js";import{n as O,t as k}from"./tabs-BgpkhqCl.js";import{t as A}from"./date-picker--ZqvuNIO.js";import{t as j}from"./card-ctDPo7It.js";import{n as M,r as N}from"./radio-ClH7NqRe.js";import{n as P,t as F}from"./row-DFhFPP85.js";import{t as I}from"./Pagination-BbK0Kubg.js";import{n as L,t as R}from"./skeleton-Cc4nM_v1.js";import{Cn as z,E as B,On as V,Sn as H,jr as U,kr as W,mr as G,or as K,sr as q,wn as J}from"./index-Ux3Ldhqb.js";import{t as Y}from"./index.es-DA4X-U-q.js";import{t as X}from"./CopyToClipboard-16GJr0qC.js";f.register(_,u,h,v,ee,g);var Z=a({name:`ConsoleUsageList`,components:{Pagination:I,ElTag:U,ElDatePicker:A,ElTable:D,ElSelect:w,ElOption:T,CopyToClipboard:X,ElRow:F,ElCol:P,ElTableColumn:E,ElCard:j,ElRadioButton:M,ElRadioGroup:N,ElSkeleton:R,ElSkeletonItem:L,ElDialog:W,ElTabs:O,ElTabPane:k,ElButton:C,FontAwesomeIcon:Y,BarChart:y},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:[],apis:[],apisLoading:!1,credentialType:K,serviceType:q,apiUsages:[],proxyUsages:[],createdAtRange:(()=>{let e=this.$route.query.created_at_to?.toString(),t=this.$route.query.created_at_from?.toString();if(t&&e)return[new Date(t),new Date(e)];let n=new Date,r=new Date;return r.setDate(1),r.setHours(0,0,0,0),[r,n]})(),shortcuts:[{text:this.$t(`usage.shortcuts.thisMonth`),value:()=>{let e=new Date,t=new Date;return t.setDate(1),t.setHours(0,0,0,0),[t,e]}},{text:this.$t(`usage.shortcuts.today`),value:()=>{let e=new Date,t=new Date;return t.setHours(0,0,0,0),[t,e]}},{text:this.$t(`usage.shortcuts.last1Day`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-1),[t,e]}},{text:this.$t(`usage.shortcuts.last3Days`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-3),[t,e]}},{text:this.$t(`usage.shortcuts.last7Days`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-7),[t,e]}},{text:this.$t(`usage.shortcuts.last1Month`),value:()=>{let e=new Date,t=new Date;return t.setMonth(t.getMonth()-1),[t,e]}}],type:this.$route.query.type?.toString()||q.API,loading:!1,total:void 0,limit:15,totalUsed:0,barChartLabels:[],barChartSeries:[],aggLoading:!1,detailDialogVisible:!1,detailRow:null,detailActiveTab:`request`,detailLoading:!1,exporting:!1,statusCodeFilter:this.$route.query.status_code?.toString()||``,statusCodeOptions:[],statusCodeOptionsLoading:!1}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||`1`)},totalUsedString(){return`${(this.totalUsed||0).toFixed(2)}`},barChartData(){return{labels:this.barChartLabels,datasets:this.barChartSeries.map(e=>({label:e.label,data:e.data,backgroundColor:e.color}))}},barChartOptions(){return{responsive:!0,plugins:{legend:{position:`top`,onClick:(e,t,n)=>{let r=n?.chart;if(!r||t?.datasetIndex===void 0)return;let i=t.datasetIndex,a=r.data?.datasets||[];a.some((e,t)=>t!==i&&r.isDatasetVisible(t))?a.forEach((e,t)=>r.setDatasetVisibility(t,t===i)):a.forEach((e,t)=>r.setDatasetVisibility(t,!0)),r.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.onFetchApis(),this.onFetchUsages(),this.onFetchAggregate(),this.onFetchStatusCodeOptions()}}},mounted(){this.onFetchApplications(),this.onFetchApis(),this.onFetchUsages(),this.onFetchAggregate(),this.onFetchStatusCodeOptions()},methods:{async onFetchUsages(){this.type===q.API?this.onFetchApiUsages():this.type===q.Proxy&&this.onFetchProxyUsages()},async onApiChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:e}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onApisChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:e&&e.length?e.join(`,`):``}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onTimeRangeChanged(){console.log(`onTimeRangeChanged`,this.createdAtRange),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(),this.onFetchStatusCodeOptions()},async onApplicationChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:e}}),this.onFetchUsages(),this.onFetchAggregate()},async onApplicationsChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:e&&e.length?e.join(`,`):``}}),this.onFetchUsages(),this.onFetchAggregate()},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},getRemainingAmount(e){if(e.remaining_amount===void 0||e.remaining_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.remaining_amount?.toFixed(6)} ${t}`},getUsedAmount(e){if(e.used_amount===void 0||e.used_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.used_amount?.toFixed(6)} ${t}`},getDeductedAmount(e){if(e?.deducted_amount===void 0||e?.deducted_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.deducted_amount?.toFixed(6)} ${t}`},getOriginalAmount(e){if(e?.original_amount===void 0||e?.original_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.original_amount?.toFixed(6)} ${t}`},onStatusCodeChange(e){let t={...this.$route.query},n=(e||``).trim();n?t.status_code=n:delete t.status_code,delete t.status_code_filter,this.$router.push({name:this.$route.name?.toString(),query:t}),this.onFetchUsages(),this.onFetchAggregate()},async onFetchStatusCodeOptions(){this.statusCodeOptionsLoading=!0;try{let{data:e}=await z.getStatusCodes({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]}:{}});this.statusCodeOptions=(e?.items||[]).slice().sort((e,t)=>e-t)}catch{this.statusCodeOptions=[]}finally{this.statusCodeOptionsLoading=!1}},formatElapsed(e){return e==null||Number.isNaN(e)?`-`:e<1?`${Math.round(e*1e3)} ms`:`${e.toFixed(2)} s`},getSimpleMetadata(e){if(!e)return{};let t={};for(let[n,r]of Object.entries(e))n===`request`||n===`response`||typeof r==`object`&&r||(t[n]=r);return t},onShowDetail(e){this.detailRow={...e,metadata:void 0},this.detailActiveTab=`request`,this.detailDialogVisible=!0,this.detailLoading=!0,e.id&&z.get(e.id).then(e=>{this.detailRow=e.data}).finally(()=>{this.detailLoading=!1})},formatJson(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}},onFetchApplications(){V.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:`-created_at`,type:G.USAGE}).then(({data:e})=>{this.applications=e.items.filter(e=>e?.service?.type===this.type)}).catch(()=>{})},onFetchApis(){this.apisLoading=!0,H.getAll({limit:100,offset:0,ordering:`-created_at`}).then(({data:e})=>{this.apis=e.items}).catch(()=>{}).finally(()=>{this.apisLoading=!1})},onFetchApiUsages(){console.log(`onFetchApiUsages`,this.createdAtRange),this.loading=!0,z.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}:{},...this.statusCodeFilter?{status_code:this.statusCodeFilter}:{}}).then(({data:e})=>{this.apiUsages=e.items,this.loading=!1,this.total=e.count}).catch(()=>{this.loading=!1})},onFetchProxyUsages(){this.loading=!0,J.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:e})=>{this.proxyUsages=e.items,this.loading=!1,this.total=e.count}).catch(()=>{this.loading=!1})},onExport(){this.exporting=!0,z.exportCsv({user_id:this.$store.getters.user.id,...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}:{},...this.statusCodeFilter?{status_code:this.statusCodeFilter}:{}}).then(({data:e})=>{let t=window.URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`usages.csv`,n.click(),window.URL.revokeObjectURL(t)}).catch(()=>{}).finally(()=>{this.exporting=!1})},async onFetchAggregate(){if(this.aggLoading=!0,this.type!==this.serviceType.API)return;let e={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{let{data:t}=await z.getAggregate(e);this.totalUsed=t.total||0;let n=Array.from(new Set((t.items||[]).map(e=>e.date))).sort(),r=Array.from(new Set((t.items||[]).map(e=>e.api_id))),i=e=>`hsl(${e*57%360}, 70%, 60%)`,a=r.map((e,r)=>{let a=t.apis?.[e]?.title||e,o={};return(t.items||[]).filter(t=>t.api_id===e).forEach(e=>{o[e.date]=e.amount||0}),{key:e,label:a,data:n.map(e=>o[e]||0),color:i(r)}});this.barChartLabels=n,this.barChartSeries=a}finally{this.aggLoading=!1}}}}),Q={class:`text-[26px] font-bold mb-5 text-[var(--el-text-color-primary)]`},$={class:`inline-block w-9`},te={class:`inline-block`},ne={key:1,class:`summary-card`},re={class:`icon-wrapper`},ie={class:`text-left`},ae={class:`description`},oe={class:`value`},se={class:`chart-wrapper`},ce={key:0},le={key:1},ue={class:`flex flex-wrap gap-2`},de={class:`key`},fe={key:0,class:`cursor-pointer`},pe={class:`created-at`},me={class:`created-at`},he={key:1,class:`detail-json`},ge={key:2,class:`text-gray-400`},_e={key:1,class:`detail-json`},ve={key:2,class:`text-gray-400`},ye={class:`float-right`};function be(a,u,ee,f,h,g){let _=d(`el-col`),v=d(`el-row`),y=d(`el-radio-button`),C=d(`el-radio-group`),w=d(`el-option`),T=d(`el-select`),E=d(`el-skeleton-item`),D=d(`el-skeleton`),O=d(`el-date-picker`),k=d(`font-awesome-icon`),A=d(`el-button`),j=d(`el-card`),M=d(`bar-chart`),N=d(`el-table-column`),P=d(`el-tag`),F=d(`copy-to-clipboard`),I=d(`el-table`),L=d(`el-tab-pane`),R=d(`el-tabs`),z=d(`el-dialog`),B=d(`pagination`),V=b(`loading`);return c(),e(v,null,{default:m(()=>[r(_,{span:24},{default:m(()=>[r(v,null,{default:m(()=>[r(_,{span:24},{default:m(()=>[t(`h2`,Q,s(a.$t(`common.title.allUsages`)),1)]),_:1})]),_:1}),r(v,null,{default:m(()=>[r(_,{md:4,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:m(()=>[t(`span`,null,s(a.$t(`application.field.type`)),1),r(C,{modelValue:a.type,"onUpdate:modelValue":u[0]||=e=>a.type=e},{default:m(()=>[r(y,{value:a.serviceType.API,label:a.$t(`application.field.api`)},null,8,[`value`,`label`]),r(y,{value:a.serviceType.Proxy,label:a.$t(`application.field.proxy`)},null,8,[`value`,`label`])]),_:1},8,[`modelValue`])]),_:1}),x(r(_,{md:6,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:m(()=>[t(`span`,$,s(a.$t(`usage.field.application`)),1),r(T,{modelValue:a.applicationIds,"onUpdate:modelValue":u[1]||=e=>a.applicationIds=e,placeholder:a.$t(`usage.field.application`),clearable:``,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,class:`w-full`,onChange:a.onApplicationsChange},{default:m(()=>[(c(!0),p(S,null,o(a.applications,t=>(c(),e(w,{key:t.id,label:t.service?.title,value:t?.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`])]),_:1},512),[[l,!1]]),a.type===a.serviceType.API?(c(),e(_,{key:0,md:6,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:m(()=>[t(`span`,te,s(a.$t(`usage.field.api`)),1),a.apisLoading?(c(),e(D,{key:0,animated:``,class:`w-full`},{template:m(()=>[r(E,{variant:`rect`,style:{height:`32px`,"border-radius":`4px`}})]),_:1})):(c(),e(T,{key:1,modelValue:a.apiIds,"onUpdate:modelValue":u[2]||=e=>a.apiIds=e,placeholder:a.$t(`usage.field.api`),clearable:``,filterable:``,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,class:`w-full`,onChange:a.onApisChange},{default:m(()=>[(c(!0),p(S,null,o(a.apis,t=>(c(),e(w,{key:t?.id,label:t?.title,value:t?.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]))]),_:1})):i(``,!0),a.type===a.serviceType.API?(c(),e(_,{key:1,md:8,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:m(()=>[r(O,{modelValue:a.createdAtRange,"onUpdate:modelValue":u[3]||=e=>a.createdAtRange=e,type:`datetimerange`,class:`w-full`,shortcuts:a.shortcuts,"range-separator":a.$t(`usage.placeholder.to`),"start-placeholder":a.$t(`usage.placeholder.startDate`),"end-placeholder":a.$t(`usage.placeholder.endDate`),onChange:a.onTimeRangeChanged},null,8,[`modelValue`,`shortcuts`,`range-separator`,`start-placeholder`,`end-placeholder`,`onChange`])]),_:1})):i(``,!0),a.type===a.serviceType.API?(c(),e(_,{key:2,md:3,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:m(()=>[r(T,{modelValue:a.statusCodeFilter,"onUpdate:modelValue":u[4]||=e=>a.statusCodeFilter=e,placeholder:a.$t(`usage.option.statusCodeAll`),class:`w-full`,clearable:``,filterable:``,"allow-create":``,"default-first-option":``,loading:a.statusCodeOptionsLoading,onChange:a.onStatusCodeChange},{default:m(()=>[(c(!0),p(S,null,o(a.statusCodeOptions,t=>(c(),e(w,{key:t,label:String(t),value:String(t)},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`loading`,`onChange`])]),_:1})):i(``,!0),a.type===a.serviceType.API?(c(),e(_,{key:3,md:3,xs:24,class:`mb-5 flex px-2 gap-2 items-center justify-end`},{default:m(()=>[r(A,{type:`primary`,plain:``,loading:a.exporting,class:`w-full whitespace-nowrap`,onClick:a.onExport},{default:m(()=>[r(k,{icon:`fa-solid fa-file-export`,class:`mr-1`}),n(` `+s(a.$t(`usage.button.export`)),1)]),_:1},8,[`loading`,`onClick`])]),_:1})):i(``,!0)]),_:1}),r(v,null,{default:m(()=>[r(_,{span:24},{default:m(()=>[a.type===a.serviceType.API?(c(),e(v,{key:0,gutter:24,class:`mb-5`},{default:m(()=>[r(_,{md:6,xs:24},{default:m(()=>[r(j,{shadow:`hover`,class:`h-full`},{default:m(()=>[a.aggLoading?(c(),e(D,{key:0})):(c(),p(`div`,ne,[t(`div`,re,[r(k,{icon:`fa-solid fa-cubes`,class:`icon`})]),t(`div`,ie,[t(`p`,ae,s(a.$t(`usage.title.totalUsed`)),1),t(`p`,oe,s(a.totalUsedString),1)])]))]),_:1})]),_:1}),r(_,{md:18,xs:24},{default:m(()=>[r(j,{shadow:`hover`,class:`h-full`},{default:m(()=>[t(`div`,se,[a.aggLoading?(c(),e(D,{key:0,class:`w-full`})):(c(),e(M,{key:1,data:a.barChartData,options:a.barChartOptions,class:`chart`},null,8,[`data`,`options`]))])]),_:1})]),_:1})]),_:1})):i(``,!0),r(j,{shadow:`hover`},{default:m(()=>[a.type===a.serviceType.API?x((c(),e(I,{key:0,data:a.apiUsages,stripe:``,"table-layout":`fixed`,"empty-text":a.$t(`common.message.noData`),class:`min-h-[calc(100vh-350px)] mb-5`},{default:m(()=>[r(N,{label:a.$t(`application.field.name`),width:`160px`},{default:m(e=>[t(`span`,null,s(e.row?.api?.title),1)]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.field.statusCode`),width:`120px`},{default:m(e=>[t(`span`,null,s(e.row.status_code),1)]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.field.elapsed`),width:`120px`},{default:m(e=>[t(`span`,null,s(a.formatElapsed(e.row.elapsed)),1)]),_:1},8,[`label`]),r(N,{prop:`deducted_amount`,label:a.$t(`usage.field.deductedAmount`),width:`150px`,"class-name":`text-center`},{default:m(e=>[a.getDeductedAmount(e.row)===a.getOriginalAmount(e.row)?(c(),p(`div`,ce,[t(`span`,null,s(a.getDeductedAmount(e.row)),1)])):(c(),p(`div`,le,[u[7]||=t(`p`,null,null,-1),t(`p`,null,[t(`span`,null,s(a.getDeductedAmount(e.row)),1)]),t(`p`,null,[t(`del`,null,s(a.getOriginalAmount(e.row)),1)])]))]),_:1},8,[`label`]),r(N,{prop:`remaining_amount`,label:a.$t(`usage.field.balanceAfter`),width:`160px`,"class-name":`text-center`},{default:m(e=>[t(`span`,null,s(a.getRemainingAmount(e.row)),1)]),_:1},8,[`label`]),r(N,{prop:`metadata`,label:a.$t(`usage.field.metadata`),width:`260px`,"class-name":`text-center`},{default:m(r=>[t(`div`,ue,[r.row.original_amount>r.row.deducted_amount&&r.row.original_amount>0?(c(),e(P,{key:0,type:`success`,style:{textWrap:`wrap`,height:`fit-content`,lineHeight:`20px`,borderRadius:`10px`}},{default:m(()=>[n(s(((r.row.original_amount-r.row.deducted_amount)*100/r.row.original_amount).toFixed(0)+`% OFF`),1)]),_:2},1024)):i(``,!0),(c(!0),p(S,null,o(a.getSimpleMetadata(r.row.metadata),(t,r)=>(c(),e(P,{key:r,style:{textWrap:`wrap`,height:`fit-content`,lineHeight:`20px`,borderRadius:`10px`}},{default:m(()=>[n(s(r)+`: `+s(t),1)]),_:2},1024))),128))])]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.button.viewDetail`),width:`120px`,"class-name":`text-center`},{default:m(t=>[t.row.id?(c(),e(A,{key:0,type:`primary`,plain:``,size:`small`,class:`!px-2 !py-1 !text-xs !h-auto !min-h-0`,onClick:e=>a.onShowDetail(t.row)},{default:m(()=>[n(s(a.$t(`usage.button.viewDetail`)),1)]),_:1},8,[`onClick`])):i(``,!0)]),_:1},8,[`label`]),r(N,{prop:`trace_id`,label:a.$t(`application.field.traceId`),width:`200px`,"class-name":`text-center`},{default:m(e=>[t(`span`,de,s(e.row.trace_id),1),e.row.trace_id?(c(),p(`span`,fe,[r(F,{content:e.row.trace_id,class:`inline-block`},null,8,[`content`])])):i(``,!0)]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.field.createdAt`),width:`200px`},{default:m(e=>[t(`span`,pe,s(a.$dayjs.format(e.row.created_at)),1)]),_:1},8,[`label`])]),_:1},8,[`data`,`empty-text`])),[[V,a.loading]]):i(``,!0),a.type===a.serviceType.Proxy?x((c(),e(I,{key:1,data:a.proxyUsages,stripe:``,"table-layout":`fixed`,"empty-text":a.$t(`common.message.noData`),class:`min-h-[calc(100vh-350px)] mb-5`},{default:m(()=>[r(N,{label:a.$t(`application.field.name`),width:`160px`},{default:m(e=>[t(`span`,null,s(e.row?.service?.title),1)]),_:1},8,[`label`]),r(N,{prop:`remaining_amount`,label:a.$t(`usage.field.remainingAmount`),width:`160px`,"class-name":`text-center`},{default:m(e=>[t(`span`,null,s(a.getRemainingAmount(e.row)),1),t(`span`,null,s(a.getOriginalAmount(e.row)),1)]),_:1},8,[`label`]),r(N,{prop:`deducted_amount`,label:a.$t(`usage.field.deductedAmount`),width:`150px`,"class-name":`text-center`},{default:m(e=>[t(`span`,null,s(a.getDeductedAmount(e.row)),1)]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.field.balanceAfter`),width:`160px`,"class-name":`text-center`},{default:m(e=>[t(`span`,null,s(a.getRemainingAmount(e.row)),1)]),_:1},8,[`label`]),r(N,{prop:`metadata`,label:a.$t(`usage.field.metadata`),width:`200px`,"class-name":`text-center`},{default:m(t=>[(c(!0),p(S,null,o(t.row.metadata,(t,r)=>(c(),e(P,{key:r,class:`mb-2`},{default:m(()=>[n(s(r)+`: `+s(t),1)]),_:2},1024))),128))]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.field.createdAt`),width:`200px`},{default:m(e=>[t(`span`,me,s(a.$dayjs.format(e.row.created_at)),1)]),_:1},8,[`label`])]),_:1},8,[`data`,`empty-text`])),[[V,a.loading]]):i(``,!0)]),_:1})]),_:1})]),_:1}),r(z,{modelValue:a.detailDialogVisible,"onUpdate:modelValue":u[6]||=e=>a.detailDialogVisible=e,title:a.$t(`usage.dialog.detailTitle`),width:`70%`,top:`5vh`,"destroy-on-close":``},{default:m(()=>[r(R,{modelValue:a.detailActiveTab,"onUpdate:modelValue":u[5]||=e=>a.detailActiveTab=e},{default:m(()=>[r(L,{label:a.$t(`usage.dialog.request`),name:`request`},{default:m(()=>[a.detailLoading?(c(),e(D,{key:0,rows:6,animated:``})):a.detailRow?.metadata?.request?(c(),p(`pre`,he,s(a.formatJson(a.detailRow.metadata.request)),1)):(c(),p(`p`,ge,s(a.$t(`usage.dialog.noData`)),1))]),_:1},8,[`label`]),r(L,{label:a.$t(`usage.dialog.response`),name:`response`},{default:m(()=>[a.detailLoading?(c(),e(D,{key:0,rows:6,animated:``})):a.detailRow?.metadata?.response?(c(),p(`pre`,_e,s(a.formatJson(a.detailRow.metadata.response)),1)):(c(),p(`p`,ve,s(a.$t(`usage.dialog.noData`)),1))]),_:1},8,[`label`])]),_:1},8,[`modelValue`])]),_:1},8,[`modelValue`,`title`]),r(v,null,{default:m(()=>[r(_,{span:10,offset:14},{default:m(()=>[t(`div`,ye,[r(B,{"current-page":a.page,"page-size":a.limit,total:a.total,onChange:a.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var xe=B(Z,[[`render`,be],[`__scopeId`,`data-v-38f1845c`]]);export{xe as default};
|