@acedatacloud/nexior 3.19.4 → 3.20.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/{Auth-CQobrW7e.js → Auth-Dp5SxRsQ.js} +1 -1
- package/dist/assets/{BotPlaceholder-DLd3-O4U.js → BotPlaceholder-C-r3HBsb.js} +1 -1
- package/dist/assets/{Callback-Db9TLfvk.js → Callback-CMbVwekp.js} +1 -1
- package/dist/assets/{Console-CaAxK4dC.js → Console-sgqybV9e.js} +1 -1
- package/dist/assets/{Conversation-ClFlw8TE.js → Conversation-C47wQMzC.js} +2 -2
- package/dist/assets/{CopyToClipboard-B3Q4IyIz.js → CopyToClipboard-D10YM_7m.js} +1 -1
- package/dist/assets/{Detail-Chm7HvSn.js → Detail-nFXkCo1c.js} +1 -1
- package/dist/assets/{EditArray-CcxENZ7T.js → EditArray-DSLzgbUV.js} +1 -1
- package/dist/assets/{Extra-9TF3vLJR.js → Extra-DuTFCrI1.js} +1 -1
- package/dist/assets/{FilePreview-zNTcfzGK.js → FilePreview-_imIFzEr.js} +1 -1
- package/dist/assets/{History-BaKAOzuz.js → History-Cfq_nM0O.js} +1 -1
- package/dist/assets/{ImagePreview-BO7_kBZK.js → ImagePreview-DpKPZpzN.js} +1 -1
- package/dist/assets/{ImageWrapper-DDgrcUpN.js → ImageWrapper-CJTWD-PJ.js} +1 -1
- package/dist/assets/{Index-BOSTKYkU.js → Index--HrzVZr-.js} +1 -1
- package/dist/assets/{Index-CvfVAnPP.js → Index-5q6HTX0d.js} +1 -1
- package/dist/assets/{Index-WDCakEnG.js → Index-B6VOYE6t.js} +1 -1
- package/dist/assets/{Index-dOcJKd6H.js → Index-B9G3QABi.js} +1 -1
- package/dist/assets/{Index-jL9vh1vt.js → Index-BBA2fb8p.js} +1 -1
- package/dist/assets/Index-BfXX3_X5.js +1 -0
- package/dist/assets/{Index-D7dWH8D1.js → Index-Bj3l491h.js} +1 -1
- package/dist/assets/{Index-CT4KTGwv.js → Index-BpS5nKKm.js} +1 -1
- package/dist/assets/{Index-DQe4G4cg.css → Index-C0iuxLwS.css} +1 -1
- package/dist/assets/{Index-CZm4gDp_.js → Index-C66oDpzY.js} +1 -1
- package/dist/assets/{Index-CcqrQ9xY.js → Index-CKUhP8Wa.js} +1 -1
- package/dist/assets/{Index-utCtwoZl.js → Index-CPso7j9R.js} +1 -1
- package/dist/assets/{Index-BurCaFfA.js → Index-DNCwSGrb.js} +1 -1
- package/dist/assets/{Index-BWtMiqll.js → Index-Dh1XasMQ.js} +1 -1
- package/dist/assets/{Index-hNY2A0bX.js → Index-aibBgpds.js} +1 -1
- package/dist/assets/Index-m5GlW6Tw.css +1 -0
- package/dist/assets/{Index-5df8lDfZ.js → Index-r39yB5QH.js} +1 -1
- package/dist/assets/Index-r8HFp0Fa.js +1 -0
- package/dist/assets/{InfoIcon-C9zLZXFd.js → InfoIcon-DJgGdcM4.js} +1 -1
- package/dist/assets/{Invitees-PMwtb0_0.js → Invitees-KgSZx4Uj.js} +1 -1
- package/dist/assets/{List-D_iJT2xh.js → List-B-AP-_iP.js} +1 -1
- package/dist/assets/{List-BIveMp_L.js → List-C_U16Ogh.js} +1 -1
- package/dist/assets/{List-CmFjwdxk.js → List-DYVn4yzw.js} +1 -1
- package/dist/assets/{Login-K2jwS-9w.js → Login-BDLFzWKY.js} +1 -1
- package/dist/assets/{Main-BEJjlnb0.js → Main-w_kAoQvr.js} +1 -1
- package/dist/assets/Navigator-Cir0Tory.js +1 -0
- package/dist/assets/{Navigator-C3rJMxVO.css → Navigator-De_Hn2Tg.css} +1 -1
- package/dist/assets/{NoTasks-DDRgjaNt.js → NoTasks-BAFsp5y-.js} +1 -1
- package/dist/assets/{Pagination-BlPseRXs.js → Pagination-yeTIoBfb.js} +1 -1
- package/dist/assets/{Status-B97vIuh1.js → Status-C1VcHGOO.js} +1 -1
- package/dist/assets/{Subscribe-D27qe_Al.js → Subscribe-D4gyA5GB.js} +1 -1
- package/dist/assets/{VideoPlayer-61Cqj9GH.js → VideoPlayer-DAFte4NK.js} +1 -1
- package/dist/assets/{_baseClone-D_93k3Nh.js → _baseClone-DfZip4NQ.js} +1 -1
- package/dist/assets/_baseIteratee-DVuly0os.js +1 -0
- package/dist/assets/{_initCloneObject-DsSkRlN-.js → _initCloneObject-BNJJfRAs.js} +1 -1
- package/dist/assets/{castArray-CLbvN5vw.js → castArray-F6UtPTG2.js} +1 -1
- package/dist/assets/{common-B-Kes038.js → common-B-Qxjf7a.js} +1 -1
- package/dist/assets/common-BOuvwX_b.js +1 -0
- package/dist/assets/common-BRjwL6pa.js +1 -0
- package/dist/assets/common-BVnCkBQz.js +1 -0
- package/dist/assets/common-BW4-7pr5.js +1 -0
- package/dist/assets/common-BYSAKW_E.js +1 -0
- package/dist/assets/common-BcVKm2id.js +1 -0
- package/dist/assets/common-CAhDeo7r.js +1 -0
- package/dist/assets/common-CDZVeYh0.js +1 -0
- package/dist/assets/common-CGJk5NFZ.js +1 -0
- package/dist/assets/common-CMHolxbL.js +1 -0
- package/dist/assets/common-Co44qVkD.js +1 -0
- package/dist/assets/common-Ctz14A_a.js +1 -0
- package/dist/assets/common-Cv4BeUYg.js +1 -0
- package/dist/assets/common-DWd2m1fH.js +1 -0
- package/dist/assets/{common-BnJo0QQf.js → common-DZLnkE8j.js} +1 -1
- package/dist/assets/common-DbbO-j2h.js +1 -0
- package/dist/assets/common-wugNzywt.js +1 -0
- package/dist/assets/debounce-DUU4g0Vw.js +1 -0
- package/dist/assets/{distribution-giSwFM-4.js → distribution-B-aGOgvr.js} +1 -1
- package/dist/assets/{dropdown-CyzwdvpU.js → dropdown-Dk5TLA40.js} +1 -1
- package/dist/assets/{index-j_uZdGZu.js → index-1fW-uAwf.js} +1 -1
- package/dist/assets/{index-DUOh2FeK.js → index-2wYQGjlL.js} +1 -1
- package/dist/assets/{index-B7HazlRJ.js → index-3NDJx6NE.js} +1 -1
- package/dist/assets/{index-BCVtyh6P.js → index-778MgwIZ.js} +1 -1
- package/dist/assets/index-BXh5SszT.js +1 -0
- package/dist/assets/{index-Cq4RGvYP.js → index-BlfhaCBe.js} +1 -1
- package/dist/assets/{index-DMG8nVoz.js → index-Br08pmUn.js} +1 -1
- package/dist/assets/{index-CyE0uqPN.js → index-C6pJT5Z8.js} +1 -1
- package/dist/assets/index-CF5Kx3lT.js +1 -0
- package/dist/assets/{index-YIXkK2sp.js → index-CcIQaw9t.js} +1 -1
- package/dist/assets/index-CkGfGBH1.js +1 -0
- package/dist/assets/index-CkSqGmwg.js +1 -0
- package/dist/assets/index-CwsOuzih.js +1 -0
- package/dist/assets/{index-DLCeq8hw.js → index-D9ZkPdjT.js} +2 -2
- package/dist/assets/{index-D1EIYSXf.js → index-DLEpULvj.js} +1 -1
- package/dist/assets/{index-xoO8OtTi.js → index-DSNMx2cO.js} +1 -1
- package/dist/assets/{index-B1GAOpEG.js → index-D_GDwTBQ.js} +1 -1
- package/dist/assets/index-Dgon4P8g.js +1 -0
- package/dist/assets/{index-BvHSWWkQ.js → index-Dun7_PXv.js} +1 -1
- package/dist/assets/{index-DY15pjGM.js → index-DyhtTOcR.js} +1 -1
- package/dist/assets/index-IPLndquX.js +1 -0
- package/dist/assets/index-IUOnFE33.js +638 -0
- package/dist/assets/{index-Bmb96AgG.js → index-ZR2WC3y6.js} +1 -1
- package/dist/assets/index-aLPamwRW.js +1 -0
- package/dist/assets/{index-BnQDLfw9.js → index-ayOK3esB.js} +1 -1
- package/dist/assets/{index-DSYaReFV.js → index-dSqsT--9.js} +1 -1
- package/dist/assets/{index-CBuIppwi.js → index-fKcIRqyn.js} +1 -1
- package/dist/assets/{index-Ci6PT3RL.js → index-v3LBqa1e.js} +1 -1
- package/dist/assets/{index-BZvTkoKU.js → index-yLAe503u.js} +2 -2
- package/dist/assets/{index.es-BsYSuHZG.js → index.es-CcpVHvSx.js} +1 -1
- package/dist/assets/{isEqual-B9PwPc7o.js → isEqual-DT9q1wUz.js} +1 -1
- package/dist/assets/{isPlainObject-k9dsakNF.js → isPlainObject-_HKxhcoH.js} +1 -1
- package/dist/assets/{order-CdFDtwyf.js → order-DohWanVo.js} +1 -1
- package/dist/assets/{price-Dp6mCDrl.js → price-BmpkejfA.js} +1 -1
- package/dist/assets/site-AMu-furx.js +1 -0
- package/dist/assets/site-B-S3bmIw.js +1 -0
- package/dist/assets/site-B5Cf-IAc.js +1 -0
- package/dist/assets/site-BAvle2_O.js +1 -0
- package/dist/assets/site-B_Ggyidz.js +1 -0
- package/dist/assets/site-Bt1bg9lM.js +1 -0
- package/dist/assets/site-C2z7Acri.js +1 -0
- package/dist/assets/site-C3DwWYe_.js +1 -0
- package/dist/assets/site-CfaiNsJJ.js +1 -0
- package/dist/assets/site-CgZJc3OO.js +1 -0
- package/dist/assets/site-DShO1dvg.js +1 -0
- package/dist/assets/site-Dp6QqWBj.js +1 -0
- package/dist/assets/site-DuhFEiWH.js +1 -0
- package/dist/assets/site-Jn4RON08.js +1 -0
- package/dist/assets/site-OiCS76HU.js +1 -0
- package/dist/assets/site-hdQfWIGT.js +1 -0
- package/dist/assets/site-kMOtpEid.js +1 -0
- package/dist/assets/site-lU9w5lDF.js +1 -0
- package/dist/assets/sora-BUK9FWzQ.js +1 -0
- package/dist/assets/sora-BYPH869l.js +1 -0
- package/dist/assets/sora-BizlIhBX.js +1 -0
- package/dist/assets/sora-BuJK8yHa.js +1 -0
- package/dist/assets/sora-C0mxa8Yl.js +1 -0
- package/dist/assets/sora-C0vUW0Q5.js +1 -0
- package/dist/assets/sora-C2FEi91g.js +1 -0
- package/dist/assets/sora-C7V5I_Pb.js +1 -0
- package/dist/assets/sora-C_FveR_7.js +1 -0
- package/dist/assets/sora-Cg7-ROqn.js +1 -0
- package/dist/assets/sora-Cit485eG.js +1 -0
- package/dist/assets/sora-CxWfpWIC.js +1 -0
- package/dist/assets/sora-DHmIEYHj.js +1 -0
- package/dist/assets/sora-DKDd9iHJ.js +1 -0
- package/dist/assets/sora-DZ6FBDO0.js +1 -0
- package/dist/assets/sora-DzK7LcnH.js +1 -0
- package/dist/assets/sora-O01RKgmW.js +1 -0
- package/dist/assets/sora-uQuccjMW.js +1 -0
- package/dist/assets/{strings-C6Jtkx-3.js → strings-ByIYpJrS.js} +1 -1
- package/dist/assets/suno-9XC90tVc.js +1 -0
- package/dist/assets/suno-BU5hmEMW.js +1 -0
- package/dist/assets/suno-BUqMDvXB.js +1 -0
- package/dist/assets/suno-BWpqU6uT.js +1 -0
- package/dist/assets/suno-BXUgOo6L.js +1 -0
- package/dist/assets/suno-BrTsurxE.js +1 -0
- package/dist/assets/suno-CCa0VyqS.js +1 -0
- package/dist/assets/suno-CRNDYJlK.js +1 -0
- package/dist/assets/suno-C_r2W2jk.js +1 -0
- package/dist/assets/suno-CfgSaIvd.js +1 -0
- package/dist/assets/suno-Crd_AR55.js +1 -0
- package/dist/assets/suno-CyLCyIOZ.js +1 -0
- package/dist/assets/suno-D9407D4u.js +1 -0
- package/dist/assets/suno-DZ0skpht.js +1 -0
- package/dist/assets/suno-DePmFH3c.js +1 -0
- package/dist/assets/suno-DgPC4wZ4.js +1 -0
- package/dist/assets/suno-Dtf4HeCY.js +1 -0
- package/dist/assets/suno-IQ76J_PM.js +1 -0
- package/dist/assets/{typescript-CbXledGi.js → typescript-CrbS__OB.js} +1 -1
- package/dist/assets/use-form-item-DNI3l--g.js +1 -0
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/Index-dcEeVAMq.js +0 -1
- package/dist/assets/Navigator-DOMCMM13.js +0 -1
- package/dist/assets/_baseIteratee-Bl2-nnv8.js +0 -1
- package/dist/assets/common-B1CT0nx5.js +0 -1
- package/dist/assets/common-BiLnunSy.js +0 -1
- package/dist/assets/common-BqKhcEHM.js +0 -1
- package/dist/assets/common-CFu8wLKe.js +0 -1
- package/dist/assets/common-CM60LE2n.js +0 -1
- package/dist/assets/common-Cj_pecZS.js +0 -1
- package/dist/assets/common-Cmwe9HAn.js +0 -1
- package/dist/assets/common-CwicZZxg.js +0 -1
- package/dist/assets/common-D6A0AAnZ.js +0 -1
- package/dist/assets/common-D7RN05bO.js +0 -1
- package/dist/assets/common-DUW7yqJg.js +0 -1
- package/dist/assets/common-D_yfqJEE.js +0 -1
- package/dist/assets/common-DlqYECrk.js +0 -1
- package/dist/assets/common-DtjJT7B4.js +0 -1
- package/dist/assets/common-DxZG3_lc.js +0 -1
- package/dist/assets/common-rSu-vhZH.js +0 -1
- package/dist/assets/debounce-CMDuVRq1.js +0 -1
- package/dist/assets/index-AaF22A50.js +0 -1
- package/dist/assets/index-BgfnKNJP.js +0 -1
- package/dist/assets/index-BmgQ_NQh.js +0 -1
- package/dist/assets/index-D-Kq9yA_.js +0 -638
- package/dist/assets/index-D7te_1LX.js +0 -1
- package/dist/assets/index-DPFYPrCl.js +0 -1
- package/dist/assets/index-DYpr8bba.js +0 -1
- package/dist/assets/index-Pja6Zfr2.js +0 -1
- package/dist/assets/index-lxs5nKhi.js +0 -1
- package/dist/assets/site-3pdyp_fh.js +0 -1
- package/dist/assets/site-A_Dn0Oo8.js +0 -1
- package/dist/assets/site-B2QEedu5.js +0 -1
- package/dist/assets/site-B6m8fncP.js +0 -1
- package/dist/assets/site-BTxYdZIx.js +0 -1
- package/dist/assets/site-BkmA_5RC.js +0 -1
- package/dist/assets/site-BseGdLjV.js +0 -1
- package/dist/assets/site-CSQVmOqj.js +0 -1
- package/dist/assets/site-CUmst9Yr.js +0 -1
- package/dist/assets/site-CdlQcwdy.js +0 -1
- package/dist/assets/site-D6zZL71f.js +0 -1
- package/dist/assets/site-DPRfn39_.js +0 -1
- package/dist/assets/site-DZDweJfv.js +0 -1
- package/dist/assets/site-DsuCJXb7.js +0 -1
- package/dist/assets/site-TtOC2WZY.js +0 -1
- package/dist/assets/site-mKlVSmQy.js +0 -1
- package/dist/assets/site-vPI7uegD.js +0 -1
- package/dist/assets/site-vTTA-m4z.js +0 -1
- package/dist/assets/suno-5mKzA0UZ.js +0 -1
- package/dist/assets/suno-BKsCrQAk.js +0 -1
- package/dist/assets/suno-BZUhrteA.js +0 -1
- package/dist/assets/suno-Bi5eKa4U.js +0 -1
- package/dist/assets/suno-BotnCxmb.js +0 -1
- package/dist/assets/suno-BxAo34rA.js +0 -1
- package/dist/assets/suno-CHK4tb9o.js +0 -1
- package/dist/assets/suno-CbBooM7c.js +0 -1
- package/dist/assets/suno-Cg8UnQLa.js +0 -1
- package/dist/assets/suno-Cjpa5MnM.js +0 -1
- package/dist/assets/suno-CllmFy-Y.js +0 -1
- package/dist/assets/suno-DQsydrRS.js +0 -1
- package/dist/assets/suno-DRmaE27L.js +0 -1
- package/dist/assets/suno-TZy7juvG.js +0 -1
- package/dist/assets/suno-V2Av1ljk.js +0 -1
- package/dist/assets/suno-i0nmbe9z.js +0 -1
- package/dist/assets/suno-xjLFxaM4.js +0 -1
- package/dist/assets/suno-yFnNMSjX.js +0 -1
- package/dist/assets/use-form-item-BkhNVF1L.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as S}from"./index.es-BsYSuHZG.js";import{E as I}from"./index-BmgQ_NQh.js";import{E as O}from"./index-Bmb96AgG.js";import{d as v,h as b,b as m,t as n,k as t,r as T,j as u,l as s,o as a,el as N,x as i,em as q,en as H,c7 as j,D as g,i as k,y as f,n as C,ai as z,F as D,v as K,eo as J,ds as Q,dn as W}from"./index-D-Kq9yA_.js";import{I as U}from"./InfoIcon-C9zLZXFd.js";import{E as A}from"./index-lxs5nKhi.js";import{I as F}from"./ImagePreview-BO7_kBZK.js";import{E as R}from"./index-D1EIYSXf.js";import{E}from"./index-DYpr8bba.js";import{F as X}from"./FilePreview-zNTcfzGK.js";import{E as Y}from"./index-Cq4RGvYP.js";import{V as M}from"./VideoPlayer-61Cqj9GH.js";import{C as Z,N as x}from"./NoTasks-DDRgjaNt.js";import{a as ee}from"./price-Dp6mCDrl.js";import{C as te}from"./CopyToClipboard-B3Q4IyIz.js";import{E as oe}from"./index-j_uZdGZu.js";import{E as se}from"./index-D7te_1LX.js";import{E as ne}from"./index-xoO8OtTi.js";import{B as ae}from"./BotPlaceholder-DLd3-O4U.js";import"./use-form-item-BkhNVF1L.js";import"./index-r5W6hzzQ.js";import"./index-BgfnKNJP.js";import"./index-DLCeq8hw.js";import"./typescript-CbXledGi.js";import"./_baseClone-D_93k3Nh.js";import"./_initCloneObject-DsSkRlN-.js";import"./isEqual-B9PwPc7o.js";import"./index-B7HazlRJ.js";import"./vue-plyr-QZFBikSk.js";import"./debounce-CMDuVRq1.js";import"./index-Pja6Zfr2.js";const le=v({name:"LayoutLuma",components:{ElDrawer:O,ElButton:I,FontAwesomeIcon:S},data(){return{drawer:!1}}}),ie={class:"main flex flex-row flex-1"},re={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},ce={class:"result h-full p-[15px] flex-1 flex flex-col"};function me(e,o,p,h,w,y){const r=s("font-awesome-icon"),d=s("el-button"),c=s("el-drawer");return a(),m("div",ie,[n("div",re,[T(e.$slots,"config",{},void 0,!0)]),n("div",ce,[T(e.$slots,"result",{},void 0,!0)]),t(d,{circle:"",class:"menu",onClick:o[0]||(o[0]=_=>e.drawer=!0)},{default:u(()=>[t(r,{icon:"fa-solid fa-magic"})]),_:1}),t(c,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=_=>e.drawer=_),direction:"ltr","with-header":!1,size:"350px",class:"drawer"},{default:u(()=>[T(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ue=b(le,[["render",me],["__scopeId","data-v-11a53e0c"]]),de=v({name:"EnhancementSelector",components:{ElSwitch:A,InfoIcon:U},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug("set enhancement",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=N)}}),pe={class:"relative"},fe={class:"flex justify-between"},_e={class:"flex justify-start items-center"},he={class:"text-sm font-bold"},$e={class:"flex justify-end items-center"};function ge(e,o,p,h,w,y){const r=s("info-icon"),d=s("el-switch");return a(),m("div",pe,[n("div",fe,[n("div",_e,[n("span",he,i(e.$t("luma.name.enhancement")),1),t(r,{content:e.$t("luma.description.enhancement")},null,8,["content"])]),n("div",$e,[t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=c=>e.value=c),class:"value"},null,8,["modelValue"])])])])}const ve=b(de,[["render",ge]]),be=v({name:"CustomSelector",components:{ElSwitch:A,InfoIcon:U},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug("set custom",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=q)}}),we={class:"relative"},ye={class:"flex justify-between"},ke={class:"flex justify-start items-center"},Ee={class:"text-sm font-bold"},Ve={class:"flex justify-end items-center"};function Ue(e,o,p,h,w,y){const r=s("info-icon"),d=s("el-switch");return a(),m("div",we,[n("div",ye,[n("div",ke,[n("span",Ee,i(e.$t("luma.name.custom")),1),t(r,{content:e.$t("luma.description.custom")},null,8,["content"])]),n("div",Ve,[t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=c=>e.value=c),class:"value"},null,8,["modelValue"])])])])}const Se=b(be,[["render",Ue]]),Ie=v({name:"LoopSelector",components:{ElSwitch:A,InfoIcon:U},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug("set loop",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=H)}}),Le={class:"relative"},Ce={class:"flex justify-between"},Te={class:"flex justify-start items-center"},je={class:"text-sm font-bold"},Ae={class:"flex justify-end items-center"};function Re(e,o,p,h,w,y){const r=s("info-icon"),d=s("el-switch");return a(),m("div",Le,[n("div",Ce,[n("div",Te,[n("span",je,i(e.$t("luma.name.loop")),1),t(r,{content:e.$t("luma.description.loop")},null,8,["content"])]),n("div",Ae,[t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=c=>e.value=c),class:"value"},null,8,["modelValue"])])])])}const Ge=b(Ie,[["render",Re]]),Pe=v({name:"EndImage",components:{ElUpload:R,ElButton:I,ImagePreview:F,InfoIcon:U,FontAwesomeIcon:S},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onExceed(){E.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){E.error(this.$t("luma.message.uploadReferencesError"))},onSetEndImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),ze={class:"relative"},De={class:"flex justify-between"},Fe={class:"flex justify-start items-center"},Me={class:"text-sm font-bold"};function Be(e,o,p,h,w,y){const r=s("info-icon"),d=s("image-preview"),c=s("font-awesome-icon"),_=s("el-button"),$=s("el-upload");return a(),m("div",ze,[n("div",De,[n("div",Fe,[n("span",Me,i(e.$t("luma.name.endImageUrl")),1),t(r,{content:e.$t("luma.description.endImageUrl")},null,8,["content"])])]),t($,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=l=>e.fileList=l),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:l})=>[l.url&&l.percentage!==void 0?(a(),k(d,{key:0,url:l.url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:u(()=>[t(_,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[t(c,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadEndImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Oe=b(Pe,[["render",Be],["__scopeId","data-v-7ab78c3e"]]),Ne=v({name:"StartImage",components:{ElUpload:R,ElButton:I,ImagePreview:F,InfoIcon:U,FontAwesomeIcon:S},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){E.error(this.$t("luma.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),qe={class:"relative"},He={class:"flex justify-between"},Ke={class:"flex justify-start items-center"},Je={class:"text-sm font-bold"};function Qe(e,o,p,h,w,y){const r=s("info-icon"),d=s("image-preview"),c=s("font-awesome-icon"),_=s("el-button"),$=s("el-upload");return a(),m("div",qe,[n("div",He,[n("div",Ke,[n("span",Je,i(e.$t("luma.name.startImageUrl")),1),t(r,{content:e.$t("luma.description.startImageUrl")},null,8,["content"])])]),t($,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=l=>e.fileList=l),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:l})=>[l.percentage!=null?(a(),k(d,{key:0,url:l.url||l.response.file_url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:u(()=>[t(_,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[t(c,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const We=b(Ne,[["render",Qe],["__scopeId","data-v-425a8cec"]]),Xe=v({name:"UploadVideo",components:{ElUpload:R,ElButton:I,InfoIcon:U,FilePreview:X,FontAwesomeIcon:S},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||(this.value=void 0)},methods:{onExceed(){E.warning(this.$t("luma.message.uploadVideoExceed"))},onError(){E.error(this.$t("luma.message.uploadVideoError"))},beforeUpload(e){const o=e.type==="video/mp4",p=e.size/1024/1024<10;return o?p?!0:(E.error(this.$t("luma.message.uploadVideoSizeExceed")),!1):(E.error(this.$t("luma.message.uploadVideoTypeFailed")),!1)},onSetVideoUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e,action:"extend"})},async onSuccess(){this.onSetVideoUrl()}}}),Ye={class:"relative"},Ze={class:"flex justify-between"},xe={class:"flex justify-start items-center"},et={class:"text-sm font-bold"};function tt(e,o,p,h,w,y){const r=s("info-icon"),d=s("file-preview"),c=s("font-awesome-icon"),_=s("el-button"),$=s("el-upload");return a(),m("div",Ye,[n("div",Ze,[n("div",xe,[n("span",et,i(e.$t("luma.name.videoUrl")),1),t(r,{content:e.$t("luma.description.videoUrl")},null,8,["content"])])]),t($,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=l=>e.fileList=l),accept:".mp4",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:l})=>[l.percentage!=null?(a(),k(d,{key:0,url:l.url||l.response?.file_url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:u(()=>[t(_,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[t(c,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])])}const ot=b(Xe,[["render",tt],["__scopeId","data-v-74e51526"]]),st="",nt=v({name:"PromptInput",components:{ElInput:Y,InfoIcon:U},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=st)}}),at={class:"field"},lt={class:"box"},it={class:"title font-bold"};function rt(e,o,p,h,w,y){const r=s("info-icon"),d=s("el-input");return a(),m("div",at,[n("div",lt,[n("h2",it,i(e.$t("luma.name.prompt")),1),t(r,{content:e.$t("luma.description.prompt"),class:"info"},null,8,["content"])]),t(d,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=c=>e.prompt=c),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("luma.placeholder.prompt"),maxlength:2e3,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const ct=b(nt,[["render",rt],["__scopeId","data-v-e8284075"]]),mt=v({name:"ExtendFromInput",components:{VideoPlayer:M},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.luma?.config}}}),ut={class:"relative"},dt={class:"flex mb-2"},pt={class:"text-sm font-bold"};function ft(e,o,p,h,w,y){const r=s("video-player");return a(),m("div",ut,[n("div",dt,[n("span",pt,i(e.$t("luma.name.extend")),1)]),n("div",null,[e.config?.video_url?(a(),k(r,{key:0,src:e.config?.video_url},null,8,["src"])):f("",!0)])])}const _t=b(mt,[["render",ft]]),ht=v({name:"ConfigPanel",components:{LoopSelector:Ge,StartImageInput:We,EndImageInput:Oe,EnhancementSelector:ve,ElButton:I,FontAwesomeIcon:S,PromptInput:ct,ExtendFromInput:_t,CustomSelector:Se,UploadVideo:ot,Consumption:Z},emits:["generate"],computed:{config(){return this.$store.state.luma?.config},consumption(){return ee(this.config,this.service?.metadata?.price)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit("generate")}}}),$t={class:"flex flex-col h-full"},gt={class:"flex-1 overflow-y-auto p-[15px]"},vt={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function bt(e,o,p,h,w,y){const r=s("extend-from-input"),d=s("prompt-input"),c=s("custom-selector"),_=s("upload-video"),$=s("start-image-input"),l=s("end-image-input"),V=s("enhancement-selector"),L=s("loop-selector"),B=s("consumption"),G=s("font-awesome-icon"),P=s("el-button");return a(),m("div",$t,[n("div",gt,[e.config?.video_id||e.config?.video_url?(a(),k(r,{key:0,class:"mb-4"})):f("",!0),t(d,{class:"mb-4"}),e.config?.video_id?f("",!0):(a(),k(c,{key:1,class:"mb-4"})),e.config?.custom?(a(),k(_,{key:2,class:"mb-4"})):f("",!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(a(),k($,{key:3,class:"mb-4"})):f("",!0),t(l,{class:"mb-4"}),t(V,{class:"mb-4"}),t(L,{class:"mb-4"})]),n("div",vt,[t(B,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(a(),k(P,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(G,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+i(e.$t("luma.button.extend")),1)]),_:1},8,["onClick"])):(a(),k(P,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(G,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+i(e.$t("luma.button.generate")),1)]),_:1},8,["onClick"]))])])}const wt=b(ht,[["render",bt]]),yt=v({name:"TaskPreview",components:{ElImage:ne,CopyToClipboard:te,FontAwesomeIcon:S,ElAlert:se,VideoPlayer:M,ElTooltip:oe,ElButton:I},props:{modelValue:{type:Object,required:!0}},emits:["extend"],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,o){console.debug("set config",o),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_id:o.video_id,prompt:o.prompt,action:"extend",thumbnail_url:o.thumbnail_url,video_url:o.video_url}),this.$emit("extend")},onDownload(e){window.open(e,"_blank")}}}),kt={class:"preview"},Et={class:"left"},Vt={class:"main"},Ut={class:"bot"},St={class:"datetime"},It={class:"info"},Lt={key:0,class:"prompt mt-2"},Ct={key:0},Tt={key:1},jt={key:0,class:C({content:!0,failed:!0})},At={key:0,class:"mb-4"},Rt={key:1,class:C({operations:!0,"mt-2":!0,"mb-4":!0})},Gt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Pt={key:1,class:C({content:!0})},zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ft={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Mt={key:2,class:C({content:!0})},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Ot(e,o,p,h,w,y){const r=s("el-image"),d=s("video-player"),c=s("el-button"),_=s("el-tooltip"),$=s("font-awesome-icon"),l=s("copy-to-clipboard"),V=s("el-alert");return a(),m("div",kt,[n("div",Et,[t(r,{src:"https://cdn.acedata.cloud/ahjfwi.png",class:"avatar"})]),n("div",Vt,[n("div",Ut,[g(i(e.$t("luma.name.lumaBot"))+" ",1),n("span",St,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),n("div",It,[e.modelValue?.request?.prompt?(a(),m("p",Lt,[g(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?f("",!0):(a(),m("span",Ct," - ("+i(e.$t("luma.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),m("span",Tt," - ("+i(e.$t("luma.status.processing"))+") ",1)):f("",!0)])):f("",!0)]),e.modelValue?.response?.success===!0?(a(),m("div",jt,[e.modelValue.response.video_url?(a(),m("div",At,[t(d,{src:e.modelValue.response.video_url},null,8,["src"])])):f("",!0),e.modelValue?.response&&!e.config?.custom?(a(),m("div",Rt,[t(_,{class:"box-item",effect:"dark",content:e.$t("luma.message.extendVideo"),placement:"top-start"},{default:u(()=>[t(c,{type:"info",size:"small",class:"btn-action",onClick:o[0]||(o[0]=z(L=>e.onExtend(L,e.modelValue?.response),["stop"]))},{default:u(()=>[g(i(e.$t("luma.button.extend")),1)]),_:1})]),_:1},8,["content"]),t(_,{class:"box-item",effect:"dark",content:e.$t("luma.message.downloadVideo"),placement:"top-start"},{default:u(()=>[t(c,{type:"info",size:"small",class:"btn-action",onClick:o[1]||(o[1]=z(L=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:u(()=>[g(i(e.$t("luma.button.download")),1)]),_:1})]),_:1},8,["content"])])):f("",!0),t(V,{closable:!1,class:"mt-2 success"},{default:u(()=>[n("p",Gt,[t($,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(l,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):f("",!0),e.modelValue?.response?.state==="failed"||e.modelValue?.response?.success===!1?(a(),m("div",Pt,[t(V,{closable:!1,class:"failure"},{template:u(()=>[t($,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+i(e.$t("luma.name.failure")),1)]),default:u(()=>[n("p",zt,[t($,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(l,{content:e.modelValue?.id},null,8,["content"])]),n("p",Dt,[t($,{icon:"fa-solid fa-circle-info",class:"mr-1"}),g(" "+i(e.$t("luma.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),t(l,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),n("p",Ft,[t($,{icon:"fa-solid fa-hashtag",class:"mr-1"}),g(" "+i(e.$t("luma.name.traceId"))+": "+i(e.modelValue?.trace_id)+" ",1),t(l,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):f("",!0),!e.modelValue?.response||e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),m("div",Mt,[t(V,{closable:!1,class:"info"},{template:u(()=>[t($,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+i(e.$t("luma.name.failure")),1)]),default:u(()=>[n("p",Bt,[t($,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(l,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):f("",!0)])])}const Nt=b(yt,[["render",Ot],["__scopeId","data-v-1b4a59bc"]]),qt=v({name:"RecentPanel",components:{BotPlaceholder:ae,TaskPreview:Nt,NoTasks:x},emits:["reach-top","extend"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{onHandleScroll(){const e=this.$refs.panel;console.log("reach-top reach-top reach-top"),e.scrollTop===0&&this.$emit("reach-top")}}}),Ht={key:0},Kt={key:1,class:"tasks w-full h-full overflow-y-auto"},Jt={key:2,class:"w-full h-full flex items-center justify-center"};function Qt(e,o,p,h,w,y){const r=s("bot-placeholder"),d=s("task-preview"),c=s("no-tasks");return a(),m(D,null,[e.tasks?.items===void 0?(a(),m("div",Ht,[t(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),m("div",Kt,[(a(!0),m(D,null,K(e.tasks?.items,_=>(a(),k(d,{key:_.id,"model-value":_,onExtend:o[0]||(o[0]=$=>e.$emit("extend"))},null,8,["model-value"]))),128))])):f("",!0),e.tasks?.items?.length===0?(a(),m("div",Jt,[t(c)])):f("",!0)],64)}const Wt=b(qt,[["render",Qt]]),Xt="https://webhook.acedata.cloud/luma",Yt=v({name:"LumaIndex",components:{ConfigPanel:wt,Layout:ue,RecentPanel:Wt},inject:["initialized"],emits:["extend"],data(){return{task:void 0,job:0}},computed:{loading(){return this.$store.state.luma?.status?.getApplications===W.Request},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){console.debug("reached top"),await this.onGetTasks({createdAtMax:this.tasks?.items?.[0]?.created_at})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("luma/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("luma/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){console.debug("scrolling down"),setTimeout(()=>{const e=document.querySelector(".tasks");e&&(e.scrollTop=e.scrollHeight)},500)},async onGetTasks(e){if(this.loading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:p,createdAtMax:h}=e||{};console.debug("limit",o,"createdAtMin",p,"createdAtMax",h),await this.$store.dispatch("luma/getTasks",{limit:o,createdAtMin:p,createdAtMax:h})},async onGenerate(){const e={...this.config,callback_url:Xt},o=this.credential?.token;if(!o){console.error("no token specified");return}E.info(this.$t("luma.message.startingTask")),J.generate(e,{token:o}).then(()=>{E.success(this.$t("luma.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===Q?E.error(this.$t("luma.message.usedUp")):E.error(this.$t("luma.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}});function Zt(e,o,p,h,w,y){const r=s("config-panel"),d=s("recent-panel"),c=s("layout");return a(),k(c,null,{config:u(()=>[t(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[t(d,{onReachTop:e.onReachTop,onExtend:o[0]||(o[0]=_=>e.$emit("extend"))},null,8,["onReachTop"])]),_:1})}const To=b(Yt,[["render",Zt]]);export{To as default};
|
|
1
|
+
import{F as S}from"./index.es-CcpVHvSx.js";import{E as I}from"./index-CkGfGBH1.js";import{E as O}from"./index-ZR2WC3y6.js";import{d as v,h as b,b as u,t as n,k as t,r as T,j as m,l as s,o as a,en as q,x as i,eo as N,ep as H,c9 as j,D as g,i as k,y as f,n as C,ak as z,F as D,v as K,eq as J,du as Q,dq as W}from"./index-IUOnFE33.js";import{I as U}from"./InfoIcon-DJgGdcM4.js";import{E as A}from"./index-CkSqGmwg.js";import{I as F}from"./ImagePreview-DpKPZpzN.js";import{E as R}from"./index-DLEpULvj.js";import{E}from"./index-Dgon4P8g.js";import{F as X}from"./FilePreview-_imIFzEr.js";import{E as Y}from"./index-BlfhaCBe.js";import{V as M}from"./VideoPlayer-DAFte4NK.js";import{C as Z,N as x}from"./NoTasks-BAFsp5y-.js";import{a as ee}from"./price-BmpkejfA.js";import{C as te}from"./CopyToClipboard-D10YM_7m.js";import{E as oe}from"./index-1fW-uAwf.js";import{E as se}from"./index-CF5Kx3lT.js";import{E as ne}from"./index-DSNMx2cO.js";import{B as ae}from"./BotPlaceholder-C-r3HBsb.js";import"./use-form-item-DNI3l--g.js";import"./index-r5W6hzzQ.js";import"./index-aLPamwRW.js";import"./index-D9ZkPdjT.js";import"./typescript-CrbS__OB.js";import"./_baseClone-DfZip4NQ.js";import"./_initCloneObject-BNJJfRAs.js";import"./isEqual-DT9q1wUz.js";import"./index-3NDJx6NE.js";import"./vue-plyr-QZFBikSk.js";import"./debounce-DUU4g0Vw.js";import"./index-CwsOuzih.js";const le=v({name:"LayoutLuma",components:{ElDrawer:O,ElButton:I,FontAwesomeIcon:S},data(){return{drawer:!1}}}),ie={class:"main flex flex-row flex-1"},re={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},ce={class:"result h-full p-[15px] flex-1 flex flex-col"};function ue(e,o,p,h,w,y){const r=s("font-awesome-icon"),d=s("el-button"),c=s("el-drawer");return a(),u("div",ie,[n("div",re,[T(e.$slots,"config",{},void 0,!0)]),n("div",ce,[T(e.$slots,"result",{},void 0,!0)]),t(d,{circle:"",class:"menu",onClick:o[0]||(o[0]=_=>e.drawer=!0)},{default:m(()=>[t(r,{icon:"fa-solid fa-magic"})]),_:1}),t(c,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=_=>e.drawer=_),direction:"ltr","with-header":!1,size:"350px",class:"drawer"},{default:m(()=>[T(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const me=b(le,[["render",ue],["__scopeId","data-v-11a53e0c"]]),de=v({name:"EnhancementSelector",components:{ElSwitch:A,InfoIcon:U},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug("set enhancement",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=q)}}),pe={class:"relative"},fe={class:"flex justify-between"},_e={class:"flex justify-start items-center"},he={class:"text-sm font-bold"},$e={class:"flex justify-end items-center"};function ge(e,o,p,h,w,y){const r=s("info-icon"),d=s("el-switch");return a(),u("div",pe,[n("div",fe,[n("div",_e,[n("span",he,i(e.$t("luma.name.enhancement")),1),t(r,{content:e.$t("luma.description.enhancement")},null,8,["content"])]),n("div",$e,[t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=c=>e.value=c),class:"value"},null,8,["modelValue"])])])])}const ve=b(de,[["render",ge]]),be=v({name:"CustomSelector",components:{ElSwitch:A,InfoIcon:U},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug("set custom",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=N)}}),we={class:"relative"},ye={class:"flex justify-between"},ke={class:"flex justify-start items-center"},Ee={class:"text-sm font-bold"},Ve={class:"flex justify-end items-center"};function Ue(e,o,p,h,w,y){const r=s("info-icon"),d=s("el-switch");return a(),u("div",we,[n("div",ye,[n("div",ke,[n("span",Ee,i(e.$t("luma.name.custom")),1),t(r,{content:e.$t("luma.description.custom")},null,8,["content"])]),n("div",Ve,[t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=c=>e.value=c),class:"value"},null,8,["modelValue"])])])])}const Se=b(be,[["render",Ue]]),Ie=v({name:"LoopSelector",components:{ElSwitch:A,InfoIcon:U},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug("set loop",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=H)}}),Le={class:"relative"},Ce={class:"flex justify-between"},Te={class:"flex justify-start items-center"},je={class:"text-sm font-bold"},Ae={class:"flex justify-end items-center"};function Re(e,o,p,h,w,y){const r=s("info-icon"),d=s("el-switch");return a(),u("div",Le,[n("div",Ce,[n("div",Te,[n("span",je,i(e.$t("luma.name.loop")),1),t(r,{content:e.$t("luma.description.loop")},null,8,["content"])]),n("div",Ae,[t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=c=>e.value=c),class:"value"},null,8,["modelValue"])])])])}const Ge=b(Ie,[["render",Re]]),Pe=v({name:"EndImage",components:{ElUpload:R,ElButton:I,ImagePreview:F,InfoIcon:U,FontAwesomeIcon:S},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onExceed(){E.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){E.error(this.$t("luma.message.uploadReferencesError"))},onSetEndImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),ze={class:"relative"},De={class:"flex justify-between"},Fe={class:"flex justify-start items-center"},Me={class:"text-sm font-bold"};function Be(e,o,p,h,w,y){const r=s("info-icon"),d=s("image-preview"),c=s("font-awesome-icon"),_=s("el-button"),$=s("el-upload");return a(),u("div",ze,[n("div",De,[n("div",Fe,[n("span",Me,i(e.$t("luma.name.endImageUrl")),1),t(r,{content:e.$t("luma.description.endImageUrl")},null,8,["content"])])]),t($,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=l=>e.fileList=l),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:l})=>[l.url&&l.percentage!==void 0?(a(),k(d,{key:0,url:l.url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:m(()=>[t(_,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:m(()=>[t(c,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadEndImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Oe=b(Pe,[["render",Be],["__scopeId","data-v-7ab78c3e"]]),qe=v({name:"StartImage",components:{ElUpload:R,ElButton:I,ImagePreview:F,InfoIcon:U,FontAwesomeIcon:S},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){E.error(this.$t("luma.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Ne={class:"relative"},He={class:"flex justify-between"},Ke={class:"flex justify-start items-center"},Je={class:"text-sm font-bold"};function Qe(e,o,p,h,w,y){const r=s("info-icon"),d=s("image-preview"),c=s("font-awesome-icon"),_=s("el-button"),$=s("el-upload");return a(),u("div",Ne,[n("div",He,[n("div",Ke,[n("span",Je,i(e.$t("luma.name.startImageUrl")),1),t(r,{content:e.$t("luma.description.startImageUrl")},null,8,["content"])])]),t($,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=l=>e.fileList=l),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:l})=>[l.percentage!=null?(a(),k(d,{key:0,url:l.url||l.response.file_url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:m(()=>[t(_,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:m(()=>[t(c,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const We=b(qe,[["render",Qe],["__scopeId","data-v-425a8cec"]]),Xe=v({name:"UploadVideo",components:{ElUpload:R,ElButton:I,InfoIcon:U,FilePreview:X,FontAwesomeIcon:S},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||(this.value=void 0)},methods:{onExceed(){E.warning(this.$t("luma.message.uploadVideoExceed"))},onError(){E.error(this.$t("luma.message.uploadVideoError"))},beforeUpload(e){const o=e.type==="video/mp4",p=e.size/1024/1024<10;return o?p?!0:(E.error(this.$t("luma.message.uploadVideoSizeExceed")),!1):(E.error(this.$t("luma.message.uploadVideoTypeFailed")),!1)},onSetVideoUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e,action:"extend"})},async onSuccess(){this.onSetVideoUrl()}}}),Ye={class:"relative"},Ze={class:"flex justify-between"},xe={class:"flex justify-start items-center"},et={class:"text-sm font-bold"};function tt(e,o,p,h,w,y){const r=s("info-icon"),d=s("file-preview"),c=s("font-awesome-icon"),_=s("el-button"),$=s("el-upload");return a(),u("div",Ye,[n("div",Ze,[n("div",xe,[n("span",et,i(e.$t("luma.name.videoUrl")),1),t(r,{content:e.$t("luma.description.videoUrl")},null,8,["content"])])]),t($,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=l=>e.fileList=l),accept:".mp4",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:l})=>[l.percentage!=null?(a(),k(d,{key:0,url:l.url||l.response?.file_url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:m(()=>[t(_,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:m(()=>[t(c,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])])}const ot=b(Xe,[["render",tt],["__scopeId","data-v-74e51526"]]),st="",nt=v({name:"PromptInput",components:{ElInput:Y,InfoIcon:U},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=st)}}),at={class:"field"},lt={class:"box"},it={class:"title font-bold"};function rt(e,o,p,h,w,y){const r=s("info-icon"),d=s("el-input");return a(),u("div",at,[n("div",lt,[n("h2",it,i(e.$t("luma.name.prompt")),1),t(r,{content:e.$t("luma.description.prompt"),class:"info"},null,8,["content"])]),t(d,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=c=>e.prompt=c),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("luma.placeholder.prompt"),maxlength:2e3,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const ct=b(nt,[["render",rt],["__scopeId","data-v-e8284075"]]),ut=v({name:"ExtendFromInput",components:{VideoPlayer:M},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.luma?.config}}}),mt={class:"relative"},dt={class:"flex mb-2"},pt={class:"text-sm font-bold"};function ft(e,o,p,h,w,y){const r=s("video-player");return a(),u("div",mt,[n("div",dt,[n("span",pt,i(e.$t("luma.name.extend")),1)]),n("div",null,[e.config?.video_url?(a(),k(r,{key:0,src:e.config?.video_url},null,8,["src"])):f("",!0)])])}const _t=b(ut,[["render",ft]]),ht=v({name:"ConfigPanel",components:{LoopSelector:Ge,StartImageInput:We,EndImageInput:Oe,EnhancementSelector:ve,ElButton:I,FontAwesomeIcon:S,PromptInput:ct,ExtendFromInput:_t,CustomSelector:Se,UploadVideo:ot,Consumption:Z},emits:["generate"],computed:{config(){return this.$store.state.luma?.config},consumption(){return ee(this.config,this.service?.metadata?.price)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit("generate")}}}),$t={class:"flex flex-col h-full"},gt={class:"flex-1 overflow-y-auto p-[15px]"},vt={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function bt(e,o,p,h,w,y){const r=s("extend-from-input"),d=s("prompt-input"),c=s("custom-selector"),_=s("upload-video"),$=s("start-image-input"),l=s("end-image-input"),V=s("enhancement-selector"),L=s("loop-selector"),B=s("consumption"),G=s("font-awesome-icon"),P=s("el-button");return a(),u("div",$t,[n("div",gt,[e.config?.video_id||e.config?.video_url?(a(),k(r,{key:0,class:"mb-4"})):f("",!0),t(d,{class:"mb-4"}),e.config?.video_id?f("",!0):(a(),k(c,{key:1,class:"mb-4"})),e.config?.custom?(a(),k(_,{key:2,class:"mb-4"})):f("",!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(a(),k($,{key:3,class:"mb-4"})):f("",!0),t(l,{class:"mb-4"}),t(V,{class:"mb-4"}),t(L,{class:"mb-4"})]),n("div",vt,[t(B,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(a(),k(P,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:m(()=>[t(G,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+i(e.$t("luma.button.extend")),1)]),_:1},8,["onClick"])):(a(),k(P,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:m(()=>[t(G,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+i(e.$t("luma.button.generate")),1)]),_:1},8,["onClick"]))])])}const wt=b(ht,[["render",bt]]),yt=v({name:"TaskPreview",components:{ElImage:ne,CopyToClipboard:te,FontAwesomeIcon:S,ElAlert:se,VideoPlayer:M,ElTooltip:oe,ElButton:I},props:{modelValue:{type:Object,required:!0}},emits:["extend"],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,o){console.debug("set config",o),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_id:o.video_id,prompt:o.prompt,action:"extend",thumbnail_url:o.thumbnail_url,video_url:o.video_url}),this.$emit("extend")},onDownload(e){window.open(e,"_blank")}}}),kt={class:"preview"},Et={class:"left"},Vt={class:"main"},Ut={class:"bot"},St={class:"datetime"},It={class:"info"},Lt={key:0,class:"prompt mt-2"},Ct={key:0},Tt={key:1},jt={key:0,class:C({content:!0,failed:!0})},At={key:0,class:"mb-4"},Rt={key:1,class:C({operations:!0,"mt-2":!0,"mb-4":!0})},Gt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Pt={key:1,class:C({content:!0})},zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ft={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Mt={key:2,class:C({content:!0})},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Ot(e,o,p,h,w,y){const r=s("el-image"),d=s("video-player"),c=s("el-button"),_=s("el-tooltip"),$=s("font-awesome-icon"),l=s("copy-to-clipboard"),V=s("el-alert");return a(),u("div",kt,[n("div",Et,[t(r,{src:"https://cdn.acedata.cloud/ahjfwi.png",class:"avatar"})]),n("div",Vt,[n("div",Ut,[g(i(e.$t("luma.name.lumaBot"))+" ",1),n("span",St,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),n("div",It,[e.modelValue?.request?.prompt?(a(),u("p",Lt,[g(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?f("",!0):(a(),u("span",Ct," - ("+i(e.$t("luma.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),u("span",Tt," - ("+i(e.$t("luma.status.processing"))+") ",1)):f("",!0)])):f("",!0)]),e.modelValue?.response?.success===!0?(a(),u("div",jt,[e.modelValue.response.video_url?(a(),u("div",At,[t(d,{src:e.modelValue.response.video_url},null,8,["src"])])):f("",!0),e.modelValue?.response&&!e.config?.custom?(a(),u("div",Rt,[t(_,{class:"box-item",effect:"dark",content:e.$t("luma.message.extendVideo"),placement:"top-start"},{default:m(()=>[t(c,{type:"info",size:"small",class:"btn-action",onClick:o[0]||(o[0]=z(L=>e.onExtend(L,e.modelValue?.response),["stop"]))},{default:m(()=>[g(i(e.$t("luma.button.extend")),1)]),_:1})]),_:1},8,["content"]),t(_,{class:"box-item",effect:"dark",content:e.$t("luma.message.downloadVideo"),placement:"top-start"},{default:m(()=>[t(c,{type:"info",size:"small",class:"btn-action",onClick:o[1]||(o[1]=z(L=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:m(()=>[g(i(e.$t("luma.button.download")),1)]),_:1})]),_:1},8,["content"])])):f("",!0),t(V,{closable:!1,class:"mt-2 success"},{default:m(()=>[n("p",Gt,[t($,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(l,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):f("",!0),e.modelValue?.response?.state==="failed"||e.modelValue?.response?.success===!1?(a(),u("div",Pt,[t(V,{closable:!1,class:"failure"},{template:m(()=>[t($,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+i(e.$t("luma.name.failure")),1)]),default:m(()=>[n("p",zt,[t($,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(l,{content:e.modelValue?.id},null,8,["content"])]),n("p",Dt,[t($,{icon:"fa-solid fa-circle-info",class:"mr-1"}),g(" "+i(e.$t("luma.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),t(l,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),n("p",Ft,[t($,{icon:"fa-solid fa-hashtag",class:"mr-1"}),g(" "+i(e.$t("luma.name.traceId"))+": "+i(e.modelValue?.trace_id)+" ",1),t(l,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):f("",!0),!e.modelValue?.response||e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),u("div",Mt,[t(V,{closable:!1,class:"info"},{template:m(()=>[t($,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+i(e.$t("luma.name.failure")),1)]),default:m(()=>[n("p",Bt,[t($,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(l,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):f("",!0)])])}const qt=b(yt,[["render",Ot],["__scopeId","data-v-1b4a59bc"]]),Nt=v({name:"RecentPanel",components:{BotPlaceholder:ae,TaskPreview:qt,NoTasks:x},emits:["reach-top","extend"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{onHandleScroll(){const e=this.$refs.panel;console.log("reach-top reach-top reach-top"),e.scrollTop===0&&this.$emit("reach-top")}}}),Ht={key:0},Kt={key:1,class:"tasks w-full h-full overflow-y-auto"},Jt={key:2,class:"w-full h-full flex items-center justify-center"};function Qt(e,o,p,h,w,y){const r=s("bot-placeholder"),d=s("task-preview"),c=s("no-tasks");return a(),u(D,null,[e.tasks?.items===void 0?(a(),u("div",Ht,[t(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),u("div",Kt,[(a(!0),u(D,null,K(e.tasks?.items,_=>(a(),k(d,{key:_.id,"model-value":_,onExtend:o[0]||(o[0]=$=>e.$emit("extend"))},null,8,["model-value"]))),128))])):f("",!0),e.tasks?.items?.length===0?(a(),u("div",Jt,[t(c)])):f("",!0)],64)}const Wt=b(Nt,[["render",Qt]]),Xt="https://webhook.acedata.cloud/luma",Yt=v({name:"LumaIndex",components:{ConfigPanel:wt,Layout:me,RecentPanel:Wt},inject:["initialized"],emits:["extend"],data(){return{task:void 0,job:0}},computed:{loading(){return this.$store.state.luma?.status?.getApplications===W.Request},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){console.debug("reached top"),await this.onGetTasks({createdAtMax:this.tasks?.items?.[0]?.created_at})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("luma/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("luma/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){console.debug("scrolling down"),setTimeout(()=>{const e=document.querySelector(".tasks");e&&(e.scrollTop=e.scrollHeight)},500)},async onGetTasks(e){if(this.loading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:p,createdAtMax:h}=e||{};console.debug("limit",o,"createdAtMin",p,"createdAtMax",h),await this.$store.dispatch("luma/getTasks",{limit:o,createdAtMin:p,createdAtMax:h})},async onGenerate(){const e={...this.config,callback_url:Xt},o=this.credential?.token;if(!o){console.error("no token specified");return}E.info(this.$t("luma.message.startingTask")),J.generate(e,{token:o}).then(()=>{E.success(this.$t("luma.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===Q?E.error(this.$t("luma.message.usedUp")):E.error(this.$t("luma.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}});function Zt(e,o,p,h,w,y){const r=s("config-panel"),d=s("recent-panel"),c=s("layout");return a(),k(c,null,{config:m(()=>[t(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:m(()=>[t(d,{onReachTop:e.onReachTop,onExtend:o[0]||(o[0]=_=>e.$emit("extend"))},null,8,["onReachTop"])]),_:1})}const To=b(Yt,[["render",Zt]]);export{To as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as g,L as A,S as v,h as k,i as f,j as i,k as s,y as _,l as t,D as $,x as
|
|
1
|
+
import{d as g,L as A,S as v,h as k,i as f,j as i,k as s,y as _,l as t,D as $,x as d,t as o,o as r,R as O,fd as S,m as N,p as T,q as L,fe as D,c9 as R,b as h,f as U,F as P,v as B,n as q}from"./index-IUOnFE33.js";import{F as w}from"./index.es-CcpVHvSx.js";import{E as F,a as V}from"./index-DyhtTOcR.js";import{E as j}from"./index-v3LBqa1e.js";import{E as b}from"./index-DSNMx2cO.js";import"./typescript-CrbS__OB.js";import"./index-1fW-uAwf.js";import"./index-aLPamwRW.js";import"./index-r5W6hzzQ.js";import"./index-D_GDwTBQ.js";import"./dropdown-Dk5TLA40.js";import"./debounce-DUU4g0Vw.js";import"./index-3NDJx6NE.js";const H=g({name:"HelpEntry",components:{ElImage:b,ElDialog:A,ElPopover:j,ElMenu:V,ElMenuItem:F,FontAwesomeIcon:w},props:{visible:{type:Boolean,default:!0}},emits:["close"],computed:{site(){return this.$store.state.site}},methods:{onJoin(){window.open(this.$store.state.site?.features?.support?.discord?.url,"_blank")},onProfit(){this.$router.push({name:v})}}}),M={class:"flex"},X={class:"flex-1 text-center"};function z(e,n,E,y,I,x){const c=t("font-awesome-icon"),l=t("el-menu-item"),p=t("el-image"),m=t("el-popover"),a=t("el-menu"),u=t("el-dialog");return r(),f(u,{"model-value":e.visible,width:200,class:"text-center",onClose:n[0]||(n[0]=C=>e.$emit("close"))},{default:i(()=>[s(a,{collapse:!1,class:"menu"},{default:i(()=>[e.site?.features?.support?.discord?.enabled?(r(),f(l,{key:0,index:"1",onClick:e.onJoin},{title:i(()=>[$(d(e.$t("common.message.joinDiscord")),1)]),default:i(()=>[s(c,{icon:"fa-brands fa-discord",class:"mr-2"})]),_:1},8,["onClick"])):_("",!0),s(m,{width:350,trigger:"hover"},{reference:i(()=>[e.site?.features?.support?.wechat?.enabled?(r(),f(l,{key:0,index:"2"},{title:i(()=>[$(d(e.$t("common.message.addWeChat")),1)]),default:i(()=>[s(c,{icon:"fa-brands fa-weixin",class:"mr-2"})]),_:1})):_("",!0)]),default:i(()=>[o("div",M,[o("div",X,[s(p,{src:e.site?.features?.support?.wechat?.qr},null,8,["src"])])])]),_:1})]),_:1})]),_:1},8,["model-value"])}const J=k(H,[["render",z],["__scopeId","data-v-0fce633f"]]),G=g({name:"ProfileIndex",components:{ElImage:b,HelpDialog:J,FontAwesomeIcon:w},data(){return{operating:{locale:!1,dark:!1,help:!1}}},computed:{user(){return this.$store.getters.user},showSupport(){return this.$store?.state?.site?.features?.support?.enabled&&(this.$store?.state?.site?.features?.support?.discord?.enabled||this.$store?.state?.site?.features?.support?.wechat?.enabled)},showSite(){return this.$store?.state?.site?.admins?.includes(this.$store.getters.user?.id)},links(){return[{key:"profile",text:this.$t("console.menu.userProfile"),href:`${S()}/user/profile`,icon:"fa-regular fa-user"},{key:"application-list",text:this.$t("console.menu.applicationList"),name:N,icon:"fa-solid fa-cube"},{key:"order-list",text:this.$t("console.menu.orderList"),name:T,icon:"fa-solid fa-store"},{key:"usage-list",text:this.$t("console.menu.usageList"),name:L,icon:"fa-solid fa-rotate-left"},{key:"distribution-index",text:this.$t("console.menu.distributionIndex"),name:v,icon:"fa-solid fa-coins"},...this.showSite?[{key:"site-index",text:this.$t("common.nav.site"),name:D,icon:"fa-solid fa-gear"}]:[],{key:"dark-setting",text:this.$t("common.nav.darkMode"),icon:"fa-solid fa-moon",callback:()=>{this.operating.dark=!0}},{key:"locale-setting",text:this.$t("common.nav.locale"),icon:"fa-solid fa-language",callback:()=>{this.operating.locale=!0}},{key:"developerPlatform",text:this.$t("console.menu.developerPlatform"),href:R(),icon:"fa-solid fa-laptop-code"},...this.showSupport?[{key:"support",text:this.$t("common.nav.support"),callback:()=>{this.operating.help=!0},icon:"fa-solid fa-question"}]:[],{key:"logout",text:this.$t("common.nav.logOut"),icon:"fa-solid fa-arrow-right-from-bracket",callback:async()=>{await this.$store.dispatch("resetAll"),await this.$store.dispatch("chat/resetAll"),await this.$store.dispatch("midjourney/resetAll"),await this.$store.dispatch("qrart/resetAll"),await this.$store.dispatch("flux/resetAll"),await this.$store.dispatch("hailuo/resetAll"),await this.$store.dispatch("headshots/resetAll"),await this.$store.dispatch("kling/resetAll"),await this.$store.dispatch("luma/resetAll"),await this.$store.dispatch("pika/resetAll"),await this.$store.dispatch("suno/resetAll"),await this.$store.dispatch("login")}}]}},methods:{onHome(){this.$router.push({name:O})},onNavigate(e){e.name?this.$router.push({name:e.name}):e.href?window.open(e.href,"_blank"):e.callback&&e.callback()}}}),W={class:"profile"},K={class:"info"},Q={class:"links"},Y=["onClick"],Z={class:"icon"},ee={class:"text"},te={class:"suffix"};function se(e,n,E,y,I,x){const c=t("el-image"),l=t("font-awesome-icon"),p=t("locale-selector"),m=t("help-dialog");return r(),h("div",W,[o("div",K,[s(c,{src:e.user.avatar,fit:"cover",class:"avatar"},null,8,["src"]),o("h2",null,d(e.user.username),1),o("div",{style:U({backgroundImage:"url("+e.user.avatar+")"}),class:"background"},null,4)]),o("div",Q,[(r(!0),h(P,null,B(e.links,(a,u)=>(r(),h("a",{key:u,class:q({link:!0,active:e.$route.name===a.name}),onClick:C=>e.onNavigate(a)},[o("span",Z,[s(l,{icon:a.icon,class:"text-sm"},null,8,["icon"])]),o("span",ee,d(a.text),1),o("span",te,[s(l,{icon:"fa-solid fa-chevron-right",class:"text-sm"})])],10,Y))),128))]),s(p,{visible:e.operating.locale==!0,onClose:n[0]||(n[0]=a=>e.operating.locale=!1)},null,8,["visible"]),s(m,{visible:e.operating.help==!0,onClose:n[1]||(n[1]=a=>e.operating.help=!1)},null,8,["visible"])])}const _e=k(G,[["render",se],["__scopeId","data-v-54290de4"]]);export{_e as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as V}from"./index.es-BsYSuHZG.js";import{E as R}from"./index-BmgQ_NQh.js";import{E as P}from"./index-Bmb96AgG.js";import{d as v,h as b,b as l,t as c,k as t,r as C,j as p,l as a,o,c7 as L,x as i,D as _,F as I,v as T,i as E,n as S,c as D,y as $,eR as j,ds as z,df as O,dm as B,dn as A}from"./index-D-Kq9yA_.js";import{I as M}from"./InfoIcon-C9zLZXFd.js";import{I as q}from"./ImagePreview-BO7_kBZK.js";import{E as F}from"./index-D1EIYSXf.js";import{E as w}from"./index-DYpr8bba.js";import{a as N,E as H}from"./index-AaF22A50.js";import{E as U}from"./index-xoO8OtTi.js";import{E as J,a as K}from"./index-BnQDLfw9.js";import{A as Q}from"./Status-B97vIuh1.js";import{C as W}from"./CopyToClipboard-B3Q4IyIz.js";import{E as X}from"./index-D7te_1LX.js";import{a as Y,E as Z}from"./index-Pja6Zfr2.js";import"./use-form-item-BkhNVF1L.js";import"./index-r5W6hzzQ.js";import"./index-j_uZdGZu.js";import"./index-BgfnKNJP.js";import"./typescript-CbXledGi.js";import"./index-DLCeq8hw.js";import"./_baseClone-D_93k3Nh.js";import"./_initCloneObject-DsSkRlN-.js";import"./isEqual-B9PwPc7o.js";import"./debounce-CMDuVRq1.js";import"./index-B7HazlRJ.js";import"./strings-C6Jtkx-3.js";import"./isPlainObject-k9dsakNF.js";const x=v({name:"LayoutHeadshots",components:{ElDrawer:P,ElButton:R,FontAwesomeIcon:V},data(){return{drawer:!1}}}),ee={class:"main flex flex-row flex-1"},te={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},se={class:"result h-full p-[15px] flex-1 flex flex-col"};function oe(e,s,m,u,y,k){const d=a("font-awesome-icon"),h=a("el-button"),n=a("el-drawer");return o(),l("div",ee,[c("div",te,[C(e.$slots,"config",{},void 0,!0)]),c("div",se,[C(e.$slots,"result",{},void 0,!0)]),t(h,{circle:"",class:"menu",onClick:s[0]||(s[0]=r=>e.drawer=!0)},{default:p(()=>[t(d,{icon:"fa-solid fa-gear"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":s[1]||(s[1]=r=>e.drawer=r),"with-header":!1,size:"340px",class:"drawer"},{default:p(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ae=b(x,[["render",oe],["__scopeId","data-v-21e11492"]]),ne=v({name:"ImageUrlsInput",components:{ElUpload:F,ElButton:R,InfoIcon:M,ImagePreview:q,FontAwesomeIcon:V},data(){return{fileList:[],uploadUrl:L()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.headshots?.config?.image_urls},set(){const e=this.urls;this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,image_urls:e})}}},mounted(){this.value||(this.value=void 0),this.onSetImageUrls()},methods:{onExceed(){w.warning(this.$t("headshots.message.uploadImageExceed"))},onError(){w.error(this.$t("headshots.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,image_urls:e})},async onSuccess(){this.onSetImageUrls()}}}),ie={class:"field"},le={class:"title font-bold"},re={class:"upload-wrapper"};function ce(e,s,m,u,y,k){const d=a("image-preview"),h=a("font-awesome-icon"),n=a("el-button"),r=a("el-upload"),f=a("info-icon");return o(),l("div",ie,[c("h2",le,i(e.$t("headshots.name.endImageUrls")),1),c("div",re,[t(r,{"file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=g=>e.fileList=g),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value upload-wrapper",limit:2,multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:g})=>[t(d,{url:g.url||g.response?.file_url,name:g.name,percentage:g.percentage,onRemove:G=>e.fileList.splice(e.fileList.indexOf(g),1)},null,8,["url","name","percentage","onRemove"])]),default:p(()=>[t(n,{size:"small",type:"primary",round:""},{default:p(()=>[t(h,{icon:"fa-solid fa-upload",class:"mr-1"}),_(" "+i(e.$t("headshots.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])]),t(f,{content:e.$t("headshots.description.endImageUrls"),class:"info"},null,8,["content"])])}const de=b(ne,[["render",ce],["__scopeId","data-v-1690629a"]]),pe="fast",me=v({name:"ModeSelector",components:{ElRadioButton:H,ElRadioGroup:N},data(){return{options:[{label:this.$t("headshots.button.fast"),value:"fast"},{label:this.$t("headshots.button.relax"),value:"relax"}]}},computed:{value:{get(){return this.$store.state.headshots.config?.mode},set(e){console.debug("set mode",e),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots.config,mode:e})}}},mounted(){this.value||(this.value=pe)}}),ue={class:"field"},he={class:"title font-bold"};function fe(e,s,m,u,y,k){const d=a("el-radio-button"),h=a("el-radio-group");return o(),l("div",ue,[c("h2",he,i(e.$t("headshots.name.mode")),1),t(h,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=n=>e.value=n),size:"small",class:"mode"},{default:p(()=>[(o(!0),l(I,null,T(e.options,n=>(o(),E(d,{key:n.value,label:n.value},{default:p(()=>[_(i(n.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const _e=b(me,[["render",fe],["__scopeId","data-v-a2a0d5fa"]]),ge=v({name:"StylizeSelector",components:{ElTabs:K,ElTabPane:J,ElImage:U},data(){return{tab:"styles",value:"",elements:{styles:{displayName:this.$t("headshots.styleCategory.styles"),items:[{image:"https://static.aipedias.com/aicamera/common/20241008/20241008202314260779439.png",label:this.$t("headshots.styleTag.malePportrait"),value:"male_portrait"},{image:"https://static.aipedias.com/aicamera/common/20241008/202410082022241e9755548.png",label:this.$t("headshots.styleTag.malePportrait2"),value:"male_portrait2"},{image:"https://static.aipedias.com/aicamera/common/20241101/20241101170130d78f66521.png",label:this.$t("headshots.styleTag.kindergarten"),value:"kindergarten"},{image:"https://static.aipedias.com/aicamera/common/20240923/20240923123233accf60398.webp",label:this.$t("headshots.styleTag.logoTshirt"),value:"logo_tshirt"},{image:"https://static.aipedias.com/aicamera/common/20241025/202410252012329472d0656.jpg",label:this.$t("headshots.styleTag.wedding"),value:"wedding"},{image:"https://static.aipedias.com/aicamera/common/20240915/20240915145045254931400.webp",label:this.$t("headshots.styleTag.businessPphoto"),value:"business_photo"},{image:"https://static.aipedias.com/aicamera/common/20240810/20240810194526040341795.jpg",label:this.$t("headshots.styleTag.bobSuit"),value:"bob_suit"},{image:"https://static.aipedias.com/aicamera/common/20240717/20240717152654e0b348173.webp",label:this.$t("headshots.styleTag.femalePortrait"),value:"female_portrait"}]}}}},watch:{value(e){console.debug("set template",e),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:e})}},mounted(){this.value||(this.value=""),console.debug("set template",this.value),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:this.value})},methods:{onToggle(e){this.value===e?this.value="":this.value=e,console.debug("set template",this.value),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:this.value})}}}),$e={class:"field"},ve=["onClick"],be={class:"name"};function ye(e,s,m,u,y,k){const d=a("el-image"),h=a("el-tab-pane"),n=a("el-tabs");return o(),l("div",$e,[t(n,{modelValue:e.tab,"onUpdate:modelValue":s[0]||(s[0]=r=>e.tab=r)},{default:p(()=>[(o(!0),l(I,null,T(e.elements,(r,f)=>(o(),E(h,{key:f,label:r.displayName,name:f,class:"pane"},{default:p(()=>[(o(!0),l(I,null,T(r.items,(g,G)=>(o(),l("div",{key:G,class:S({item:!0,active:e.value===g.value}),onClick:ft=>e.onToggle(g.value)},[t(d,{src:g.image,fit:"fill",class:"preview"},null,8,["src"]),c("span",be,i(g.label),1)],10,ve))),128))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])])}const ke=b(ge,[["render",ye],["__scopeId","data-v-be4bd25d"]]),we=v({name:"PresetPanel",components:{ModeSelector:_e,ImageUrlsInput:de,ElButton:R,FontAwesomeIcon:V,ElementsSelector:ke},emits:["generate"],computed:{config(){return this.$store.state.headshots?.config}},methods:{onGenerate(){this.$emit("generate")}}}),Ie={class:"panel"},Te={class:"config"},Se={class:"actions"};function Ve(e,s,m,u,y,k){const d=a("elements-selector"),h=a("mode-selector"),n=a("image-urls-input"),r=a("font-awesome-icon"),f=a("el-button");return o(),l("div",Ie,[c("div",Te,[t(d,{class:"mb-4"}),t(h,{class:"mb-4"}),t(n,{class:"mb-4"}),c("div",Se,[t(f,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[t(r,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+i(e.$t("headshots.button.generate")),1)]),_:1},8,["onClick"])])])])}const Ee=b(we,[["render",Ve],["__scopeId","data-v-78172a54"]]),Ce=v({name:"ImageGallery",props:{modelValue:{type:Object,required:!0}},setup(e){return{images:D(()=>e.modelValue?.response?.data?.slice(0,2)||[]),viewImage:u=>{window.open(u,"_blank")}}}}),Ae={class:"image-gallery"},Re=["src"],Ge=["onClick"];function Ue(e,s,m,u,y,k){return o(),l("div",Ae,[(o(!0),l(I,null,T(e.images,(d,h)=>(o(),l("div",{key:h,class:"image-container"},[c("img",{src:d.image_url,alt:"Image"},null,8,Re),d.image_url?(o(),l("button",{key:0,class:"view-button",onClick:n=>e.viewImage(d.image_url)},i(e.$t("headshots.button.viewImage")),9,Ge)):$("",!0)]))),128))])}const Pe=b(Ce,[["render",Ue],["__scopeId","data-v-03641510"]]),Le=v({name:"TaskPreview",components:{ElImage:U,CopyToClipboard:W,FontAwesomeIcon:V,ElAlert:X,ImageGallery:Pe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.headshots?.application},config(){return this.$store.state.headshots?.config}},methods:{onDownload(e,s){e.stopPropagation(),console.log("on download"),window.open(s,"_blank")},onReload(e){const s=e.target,m=new URL(s.src),u=m.searchParams.get("retry");if(!u)m.searchParams.set("retry","1");else if(parseInt(u)<2)m.searchParams.set("retry",(parseInt(u)+1).toString());else return;s.src=m.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),De={class:"preview"},je={class:"left"},ze={class:"main"},Oe={class:"bot"},Be={class:"datetime"},Me={class:"info"},qe={key:0,class:"prompt mt-2"},Fe={key:0},Ne={key:1},He={key:0,class:S({content:!0,failed:!0})},Je={class:"image-wrapper"},Ke={class:"description"},Qe={key:1,class:S({content:!0})},We={class:"description"},Xe={class:"description"},Ye={class:"description"},Ze={key:2,class:S({content:!0})},xe={class:"description"},et={key:3,class:S({content:!0})},tt={class:"description"};function st(e,s,m,u,y,k){const d=a("el-image"),h=a("image-gallery"),n=a("font-awesome-icon"),r=a("copy-to-clipboard"),f=a("el-alert");return o(),l("div",De,[c("div",je,[t(d,{src:"https://cdn.acedata.cloud/isxyfw.png",class:"avatar"})]),c("div",ze,[c("div",Oe,[_(i(e.$t("headshots.name.headshotsBot"))+" ",1),c("span",Be,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",Me,[e.modelValue?.request?.template?(o(),l("p",qe,[_(i(e.modelValue?.request?.template)+" ",1),e.modelValue?.response?$("",!0):(o(),l("span",Fe," - ("+i(e.$t("headshots.status.pending"))+") ",1)),e.modelValue?.response?.status==="unknown"?(o(),l("span",Ne," - ("+i(e.$t("headshots.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0?(o(),l("div",He,[c("div",Je,[t(h,{"model-value":e.modelValue},null,8,["model-value"])]),t(f,{closable:!1,class:"mt-2 success"},{default:p(()=>[c("p",Ke,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(r,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(o(),l("div",Qe,[t(f,{closable:!1,class:"failure"},{template:p(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:p(()=>[c("p",We,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(r,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",Xe,[t(n,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),t(r,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),c("p",Ye,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+i(e.$t("headshots.name.traceId"))+": "+i(e.modelValue?.response?.trace_id)+" ",1),t(r,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?$("",!0):(o(),l("div",Ze,[t(f,{closable:!1,class:"info"},{template:p(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:p(()=>[c("p",xe,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(r,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])),e.modelValue?.response?.status==="unknown"?(o(),l("div",et,[t(f,{closable:!1,class:"info"},{template:p(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:p(()=>[c("p",tt,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(r,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0)])])}const ot=b(Le,[["render",st],["__scopeId","data-v-77229910"]]),at=v({name:"RecentPanel",components:{TaskPreview:ot,ElSkeleton:Z,ElSkeletonItem:Y},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.headshots?.tasks,items:this.$store.state.headshots?.tasks?.items?.slice()}}},methods:{onHandleScroll(){const e=this.$refs.panel;console.log("reach-top reach-top reach-top"),e.scrollTop===0&&this.$emit("reach-top")}}}),nt={key:0,class:"tasks"},it={class:"left"},lt={class:"main"},rt={key:1,class:"tasks"},ct={key:2,class:"description"};function dt(e,s,m,u,y,k){const d=a("el-skeleton-item"),h=a("el-skeleton"),n=a("task-preview");return o(),l("div",{ref:"panel",class:"panel recent",onScroll:s[0]||(s[0]=(...r)=>e.onHandleScroll&&e.onHandleScroll(...r))},[e.tasks?.items===void 0?(o(),l("div",nt,[(o(),l(I,null,T(3,r=>c("div",{key:r,class:"task placeholder"},[c("div",it,[t(h,{animated:""},{template:p(()=>[t(d,{variant:"image",class:"avatar"})]),_:1})]),c("div",lt,[t(h,{animated:""},{template:p(()=>[t(d,{variant:"p",class:"title"}),t(d,{variant:"image",class:"icon"})]),_:1})])])),64))])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(o(),l("div",rt,[(o(!0),l(I,null,T(e.tasks?.items,(r,f)=>(o(),E(n,{key:f,"model-value":r,class:"preview"},null,8,["model-value"]))),128))])):$("",!0),e.tasks?.items?.length===0?(o(),l("p",ct,i(e.$t("headshots.message.noTasks")),1)):$("",!0)],544)}const pt=b(at,[["render",dt],["__scopeId","data-v-d79bcb1f"]]),mt="https://webhook.acedata.cloud/headshots",ut=v({name:"HeadshotsIndex",components:{ConfigPanel:Ee,Layout:ae,ApplicationStatus:Q,RecentPanel:pt},inject:["initialized"],data(){return{task:void 0,job:0}},computed:{loading(){return this.$store.state.headshots?.status?.getApplications===A.Request},service(){return this.$store.state.headshots.service},credential(){return this.$store.state.headshots.credential},config(){return this.$store.state.headshots.config},initializing(){return this.$store.state.headshots.status.getApplications===A.Request},needApply(){return this.$store.state.headshots.status.getApplications===A.Success&&!this.application},application(){return this.$store.state.headshots.application},applications(){return this.$store.state.headshots.applications},tasks(){return this.$store.state.headshots.tasks}},watch:{tasks:{handler(e,s){e?.items?.length>s?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){console.debug("reached top"),await this.onGetTasks({createdAtMax:this.tasks?.items?.[0]?.created_at})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("headshots/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("headshots/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){O.create({application:this.application}).then(({data:e})=>{this.application=e,w.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===B&&w.error(this.$t("application.message.alreadyApplied"))})},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".recent");e&&(e.scrollTop=e.scrollHeight)},500)},async onGetTasks(e){if(this.loading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:s=5,createdAtMin:m,createdAtMax:u}=e||{};console.debug("limit",s,"createdAtMin",m,"createdAtMax",u),await this.$store.dispatch("headshots/getTasks",{limit:s,createdAtMin:m,createdAtMax:u})},async onGeneratePicture(){const e={...this.config,callback_url:mt},s=this.credential?.token;if(!s){console.error("no token specified");return}w.info(this.$t("headshots.message.startingTask")),j.generate(e,{token:s}).then(()=>{w.success(this.$t("headshots.message.startTaskSuccess")),this.$store.commit("headshots/setConfig",{config:void 0})}).catch(m=>{m?.response?.data?.error?.code===z?w.error(this.$t("headshots.message.usedUp")):w.error(this.$t("headshots.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}});function ht(e,s,m,u,y,k){const d=a("config-panel"),h=a("application-status"),n=a("recent-panel"),r=a("layout");return o(),E(r,null,{config:p(()=>[t(d,{onGenerate:e.onGeneratePicture},null,8,["onGenerate"])]),result:p(()=>[t(h,{initializing:e.initializing,application:e.application,applications:e.applications,service:e.service,"need-apply":e.needApply,class:"mb-4",onRefresh:e.onGetApplication,onSelect:s[0]||(s[0]=f=>e.$store.dispatch("headshots/setApplication",f))},null,8,["initializing","application","applications","service","need-apply","onRefresh"]),t(n,{class:"panel recent",onReachTop:e.onReachTop},null,8,["onReachTop"])]),_:1})}const Nt=b(ut,[["render",ht],["__scopeId","data-v-19d3c623"]]);export{Nt as default};
|
|
1
|
+
import{F as V}from"./index.es-CcpVHvSx.js";import{E as G}from"./index-CkGfGBH1.js";import{E as P}from"./index-ZR2WC3y6.js";import{d as v,h as b,b as l,t as c,k as t,r as C,j as p,l as a,o,c9 as L,x as i,D as _,F as I,v as T,i as E,n as S,c as D,y as $,f1 as j,du as z,dh as O,dp as B,dq as A}from"./index-IUOnFE33.js";import{I as q}from"./InfoIcon-DJgGdcM4.js";import{I as M}from"./ImagePreview-DpKPZpzN.js";import{E as F}from"./index-DLEpULvj.js";import{E as w}from"./index-Dgon4P8g.js";import{a as N,E as H}from"./index-IPLndquX.js";import{E as U}from"./index-DSNMx2cO.js";import{E as J,a as K}from"./index-ayOK3esB.js";import{A as Q}from"./Status-C1VcHGOO.js";import{C as W}from"./CopyToClipboard-D10YM_7m.js";import{E as X}from"./index-CF5Kx3lT.js";import{a as Y,E as Z}from"./index-CwsOuzih.js";import"./use-form-item-DNI3l--g.js";import"./index-r5W6hzzQ.js";import"./index-1fW-uAwf.js";import"./index-aLPamwRW.js";import"./typescript-CrbS__OB.js";import"./index-D9ZkPdjT.js";import"./_baseClone-DfZip4NQ.js";import"./_initCloneObject-BNJJfRAs.js";import"./isEqual-DT9q1wUz.js";import"./debounce-DUU4g0Vw.js";import"./index-3NDJx6NE.js";import"./strings-ByIYpJrS.js";import"./isPlainObject-_HKxhcoH.js";const x=v({name:"LayoutHeadshots",components:{ElDrawer:P,ElButton:G,FontAwesomeIcon:V},data(){return{drawer:!1}}}),ee={class:"main flex flex-row flex-1"},te={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},se={class:"result h-full p-[15px] flex-1 flex flex-col"};function oe(e,s,m,u,y,k){const d=a("font-awesome-icon"),h=a("el-button"),n=a("el-drawer");return o(),l("div",ee,[c("div",te,[C(e.$slots,"config",{},void 0,!0)]),c("div",se,[C(e.$slots,"result",{},void 0,!0)]),t(h,{circle:"",class:"menu",onClick:s[0]||(s[0]=r=>e.drawer=!0)},{default:p(()=>[t(d,{icon:"fa-solid fa-gear"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":s[1]||(s[1]=r=>e.drawer=r),"with-header":!1,size:"340px",class:"drawer"},{default:p(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ae=b(x,[["render",oe],["__scopeId","data-v-21e11492"]]),ne=v({name:"ImageUrlsInput",components:{ElUpload:F,ElButton:G,InfoIcon:q,ImagePreview:M,FontAwesomeIcon:V},data(){return{fileList:[],uploadUrl:L()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.headshots?.config?.image_urls},set(){const e=this.urls;this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,image_urls:e})}}},mounted(){this.value||(this.value=void 0),this.onSetImageUrls()},methods:{onExceed(){w.warning(this.$t("headshots.message.uploadImageExceed"))},onError(){w.error(this.$t("headshots.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,image_urls:e})},async onSuccess(){this.onSetImageUrls()}}}),ie={class:"field"},le={class:"title font-bold"},re={class:"upload-wrapper"};function ce(e,s,m,u,y,k){const d=a("image-preview"),h=a("font-awesome-icon"),n=a("el-button"),r=a("el-upload"),f=a("info-icon");return o(),l("div",ie,[c("h2",le,i(e.$t("headshots.name.endImageUrls")),1),c("div",re,[t(r,{"file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=g=>e.fileList=g),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value upload-wrapper",limit:2,multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:g})=>[t(d,{url:g.url||g.response?.file_url,name:g.name,percentage:g.percentage,onRemove:R=>e.fileList.splice(e.fileList.indexOf(g),1)},null,8,["url","name","percentage","onRemove"])]),default:p(()=>[t(n,{size:"small",type:"primary",round:""},{default:p(()=>[t(h,{icon:"fa-solid fa-upload",class:"mr-1"}),_(" "+i(e.$t("headshots.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])]),t(f,{content:e.$t("headshots.description.endImageUrls"),class:"info"},null,8,["content"])])}const de=b(ne,[["render",ce],["__scopeId","data-v-1690629a"]]),pe="fast",me=v({name:"ModeSelector",components:{ElRadioButton:H,ElRadioGroup:N},data(){return{options:[{label:this.$t("headshots.button.fast"),value:"fast"},{label:this.$t("headshots.button.relax"),value:"relax"}]}},computed:{value:{get(){return this.$store.state.headshots.config?.mode},set(e){console.debug("set mode",e),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots.config,mode:e})}}},mounted(){this.value||(this.value=pe)}}),ue={class:"field"},he={class:"title font-bold"};function fe(e,s,m,u,y,k){const d=a("el-radio-button"),h=a("el-radio-group");return o(),l("div",ue,[c("h2",he,i(e.$t("headshots.name.mode")),1),t(h,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=n=>e.value=n),size:"small",class:"mode"},{default:p(()=>[(o(!0),l(I,null,T(e.options,n=>(o(),E(d,{key:n.value,label:n.value},{default:p(()=>[_(i(n.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const _e=b(me,[["render",fe],["__scopeId","data-v-a2a0d5fa"]]),ge=v({name:"StylizeSelector",components:{ElTabs:K,ElTabPane:J,ElImage:U},data(){return{tab:"styles",value:"",elements:{styles:{displayName:this.$t("headshots.styleCategory.styles"),items:[{image:"https://static.aipedias.com/aicamera/common/20241008/20241008202314260779439.png",label:this.$t("headshots.styleTag.malePportrait"),value:"male_portrait"},{image:"https://static.aipedias.com/aicamera/common/20241008/202410082022241e9755548.png",label:this.$t("headshots.styleTag.malePportrait2"),value:"male_portrait2"},{image:"https://static.aipedias.com/aicamera/common/20241101/20241101170130d78f66521.png",label:this.$t("headshots.styleTag.kindergarten"),value:"kindergarten"},{image:"https://static.aipedias.com/aicamera/common/20240923/20240923123233accf60398.webp",label:this.$t("headshots.styleTag.logoTshirt"),value:"logo_tshirt"},{image:"https://static.aipedias.com/aicamera/common/20241025/202410252012329472d0656.jpg",label:this.$t("headshots.styleTag.wedding"),value:"wedding"},{image:"https://static.aipedias.com/aicamera/common/20240915/20240915145045254931400.webp",label:this.$t("headshots.styleTag.businessPphoto"),value:"business_photo"},{image:"https://static.aipedias.com/aicamera/common/20240810/20240810194526040341795.jpg",label:this.$t("headshots.styleTag.bobSuit"),value:"bob_suit"},{image:"https://static.aipedias.com/aicamera/common/20240717/20240717152654e0b348173.webp",label:this.$t("headshots.styleTag.femalePortrait"),value:"female_portrait"}]}}}},watch:{value(e){console.debug("set template",e),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:e})}},mounted(){this.value||(this.value=""),console.debug("set template",this.value),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:this.value})},methods:{onToggle(e){this.value===e?this.value="":this.value=e,console.debug("set template",this.value),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:this.value})}}}),$e={class:"field"},ve=["onClick"],be={class:"name"};function ye(e,s,m,u,y,k){const d=a("el-image"),h=a("el-tab-pane"),n=a("el-tabs");return o(),l("div",$e,[t(n,{modelValue:e.tab,"onUpdate:modelValue":s[0]||(s[0]=r=>e.tab=r)},{default:p(()=>[(o(!0),l(I,null,T(e.elements,(r,f)=>(o(),E(h,{key:f,label:r.displayName,name:f,class:"pane"},{default:p(()=>[(o(!0),l(I,null,T(r.items,(g,R)=>(o(),l("div",{key:R,class:S({item:!0,active:e.value===g.value}),onClick:ft=>e.onToggle(g.value)},[t(d,{src:g.image,fit:"fill",class:"preview"},null,8,["src"]),c("span",be,i(g.label),1)],10,ve))),128))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])])}const ke=b(ge,[["render",ye],["__scopeId","data-v-be4bd25d"]]),we=v({name:"PresetPanel",components:{ModeSelector:_e,ImageUrlsInput:de,ElButton:G,FontAwesomeIcon:V,ElementsSelector:ke},emits:["generate"],computed:{config(){return this.$store.state.headshots?.config}},methods:{onGenerate(){this.$emit("generate")}}}),Ie={class:"panel"},Te={class:"config"},Se={class:"actions"};function Ve(e,s,m,u,y,k){const d=a("elements-selector"),h=a("mode-selector"),n=a("image-urls-input"),r=a("font-awesome-icon"),f=a("el-button");return o(),l("div",Ie,[c("div",Te,[t(d,{class:"mb-4"}),t(h,{class:"mb-4"}),t(n,{class:"mb-4"}),c("div",Se,[t(f,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[t(r,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+i(e.$t("headshots.button.generate")),1)]),_:1},8,["onClick"])])])])}const Ee=b(we,[["render",Ve],["__scopeId","data-v-78172a54"]]),Ce=v({name:"ImageGallery",props:{modelValue:{type:Object,required:!0}},setup(e){return{images:D(()=>e.modelValue?.response?.data?.slice(0,2)||[]),viewImage:u=>{window.open(u,"_blank")}}}}),Ae={class:"image-gallery"},Ge=["src"],Re=["onClick"];function Ue(e,s,m,u,y,k){return o(),l("div",Ae,[(o(!0),l(I,null,T(e.images,(d,h)=>(o(),l("div",{key:h,class:"image-container"},[c("img",{src:d.image_url,alt:"Image"},null,8,Ge),d.image_url?(o(),l("button",{key:0,class:"view-button",onClick:n=>e.viewImage(d.image_url)},i(e.$t("headshots.button.viewImage")),9,Re)):$("",!0)]))),128))])}const Pe=b(Ce,[["render",Ue],["__scopeId","data-v-03641510"]]),Le=v({name:"TaskPreview",components:{ElImage:U,CopyToClipboard:W,FontAwesomeIcon:V,ElAlert:X,ImageGallery:Pe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.headshots?.application},config(){return this.$store.state.headshots?.config}},methods:{onDownload(e,s){e.stopPropagation(),console.log("on download"),window.open(s,"_blank")},onReload(e){const s=e.target,m=new URL(s.src),u=m.searchParams.get("retry");if(!u)m.searchParams.set("retry","1");else if(parseInt(u)<2)m.searchParams.set("retry",(parseInt(u)+1).toString());else return;s.src=m.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),De={class:"preview"},je={class:"left"},ze={class:"main"},Oe={class:"bot"},Be={class:"datetime"},qe={class:"info"},Me={key:0,class:"prompt mt-2"},Fe={key:0},Ne={key:1},He={key:0,class:S({content:!0,failed:!0})},Je={class:"image-wrapper"},Ke={class:"description"},Qe={key:1,class:S({content:!0})},We={class:"description"},Xe={class:"description"},Ye={class:"description"},Ze={key:2,class:S({content:!0})},xe={class:"description"},et={key:3,class:S({content:!0})},tt={class:"description"};function st(e,s,m,u,y,k){const d=a("el-image"),h=a("image-gallery"),n=a("font-awesome-icon"),r=a("copy-to-clipboard"),f=a("el-alert");return o(),l("div",De,[c("div",je,[t(d,{src:"https://cdn.acedata.cloud/isxyfw.png",class:"avatar"})]),c("div",ze,[c("div",Oe,[_(i(e.$t("headshots.name.headshotsBot"))+" ",1),c("span",Be,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",qe,[e.modelValue?.request?.template?(o(),l("p",Me,[_(i(e.modelValue?.request?.template)+" ",1),e.modelValue?.response?$("",!0):(o(),l("span",Fe," - ("+i(e.$t("headshots.status.pending"))+") ",1)),e.modelValue?.response?.status==="unknown"?(o(),l("span",Ne," - ("+i(e.$t("headshots.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0?(o(),l("div",He,[c("div",Je,[t(h,{"model-value":e.modelValue},null,8,["model-value"])]),t(f,{closable:!1,class:"mt-2 success"},{default:p(()=>[c("p",Ke,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(r,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(o(),l("div",Qe,[t(f,{closable:!1,class:"failure"},{template:p(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:p(()=>[c("p",We,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(r,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",Xe,[t(n,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),t(r,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),c("p",Ye,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+i(e.$t("headshots.name.traceId"))+": "+i(e.modelValue?.response?.trace_id)+" ",1),t(r,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?$("",!0):(o(),l("div",Ze,[t(f,{closable:!1,class:"info"},{template:p(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:p(()=>[c("p",xe,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(r,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])),e.modelValue?.response?.status==="unknown"?(o(),l("div",et,[t(f,{closable:!1,class:"info"},{template:p(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:p(()=>[c("p",tt,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(r,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0)])])}const ot=b(Le,[["render",st],["__scopeId","data-v-77229910"]]),at=v({name:"RecentPanel",components:{TaskPreview:ot,ElSkeleton:Z,ElSkeletonItem:Y},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.headshots?.tasks,items:this.$store.state.headshots?.tasks?.items?.slice()}}},methods:{onHandleScroll(){const e=this.$refs.panel;console.log("reach-top reach-top reach-top"),e.scrollTop===0&&this.$emit("reach-top")}}}),nt={key:0,class:"tasks"},it={class:"left"},lt={class:"main"},rt={key:1,class:"tasks"},ct={key:2,class:"description"};function dt(e,s,m,u,y,k){const d=a("el-skeleton-item"),h=a("el-skeleton"),n=a("task-preview");return o(),l("div",{ref:"panel",class:"panel recent",onScroll:s[0]||(s[0]=(...r)=>e.onHandleScroll&&e.onHandleScroll(...r))},[e.tasks?.items===void 0?(o(),l("div",nt,[(o(),l(I,null,T(3,r=>c("div",{key:r,class:"task placeholder"},[c("div",it,[t(h,{animated:""},{template:p(()=>[t(d,{variant:"image",class:"avatar"})]),_:1})]),c("div",lt,[t(h,{animated:""},{template:p(()=>[t(d,{variant:"p",class:"title"}),t(d,{variant:"image",class:"icon"})]),_:1})])])),64))])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(o(),l("div",rt,[(o(!0),l(I,null,T(e.tasks?.items,(r,f)=>(o(),E(n,{key:f,"model-value":r,class:"preview"},null,8,["model-value"]))),128))])):$("",!0),e.tasks?.items?.length===0?(o(),l("p",ct,i(e.$t("headshots.message.noTasks")),1)):$("",!0)],544)}const pt=b(at,[["render",dt],["__scopeId","data-v-d79bcb1f"]]),mt="https://webhook.acedata.cloud/headshots",ut=v({name:"HeadshotsIndex",components:{ConfigPanel:Ee,Layout:ae,ApplicationStatus:Q,RecentPanel:pt},inject:["initialized"],data(){return{task:void 0,job:0}},computed:{loading(){return this.$store.state.headshots?.status?.getApplications===A.Request},service(){return this.$store.state.headshots.service},credential(){return this.$store.state.headshots.credential},config(){return this.$store.state.headshots.config},initializing(){return this.$store.state.headshots.status.getApplications===A.Request},needApply(){return this.$store.state.headshots.status.getApplications===A.Success&&!this.application},application(){return this.$store.state.headshots.application},applications(){return this.$store.state.headshots.applications},tasks(){return this.$store.state.headshots.tasks}},watch:{tasks:{handler(e,s){e?.items?.length>s?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){console.debug("reached top"),await this.onGetTasks({createdAtMax:this.tasks?.items?.[0]?.created_at})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("headshots/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("headshots/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){O.create({application:this.application}).then(({data:e})=>{this.application=e,w.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===B&&w.error(this.$t("application.message.alreadyApplied"))})},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".recent");e&&(e.scrollTop=e.scrollHeight)},500)},async onGetTasks(e){if(this.loading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:s=5,createdAtMin:m,createdAtMax:u}=e||{};console.debug("limit",s,"createdAtMin",m,"createdAtMax",u),await this.$store.dispatch("headshots/getTasks",{limit:s,createdAtMin:m,createdAtMax:u})},async onGeneratePicture(){const e={...this.config,callback_url:mt},s=this.credential?.token;if(!s){console.error("no token specified");return}w.info(this.$t("headshots.message.startingTask")),j.generate(e,{token:s}).then(()=>{w.success(this.$t("headshots.message.startTaskSuccess")),this.$store.commit("headshots/setConfig",{config:void 0})}).catch(m=>{m?.response?.data?.error?.code===z?w.error(this.$t("headshots.message.usedUp")):w.error(this.$t("headshots.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}});function ht(e,s,m,u,y,k){const d=a("config-panel"),h=a("application-status"),n=a("recent-panel"),r=a("layout");return o(),E(r,null,{config:p(()=>[t(d,{onGenerate:e.onGeneratePicture},null,8,["onGenerate"])]),result:p(()=>[t(h,{initializing:e.initializing,application:e.application,applications:e.applications,service:e.service,"need-apply":e.needApply,class:"mb-4",onRefresh:e.onGetApplication,onSelect:s[0]||(s[0]=f=>e.$store.dispatch("headshots/setApplication",f))},null,8,["initializing","application","applications","service","need-apply","onRefresh"]),t(n,{class:"panel recent",onReachTop:e.onReachTop},null,8,["onReachTop"])]),_:1})}const Nt=b(ut,[["render",ht],["__scopeId","data-v-19d3c623"]]);export{Nt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as S}from"./index.es-BsYSuHZG.js";import{E as U}from"./index-BmgQ_NQh.js";import{E as O}from"./index-Bmb96AgG.js";import{d as k,h as y,b as i,t as l,k as o,r as G,j as _,l as n,o as a,e_ as D,x as c,F as V,v as I,i as w,c7 as F,D as g,e$ as q,y as $,n as L,ai as z,f0 as M,ds as W,dn as x}from"./index-D-Kq9yA_.js";import{E as j,a as N}from"./index-CBuIppwi.js";import{I as P}from"./InfoIcon-C9zLZXFd.js";import{E as H}from"./index-Cq4RGvYP.js";import{I as B}from"./ImagePreview-BO7_kBZK.js";import{E as K}from"./index-D1EIYSXf.js";import{E}from"./index-DYpr8bba.js";import{C as J,N as Q}from"./NoTasks-DDRgjaNt.js";import{a as X}from"./price-Dp6mCDrl.js";import{C as Y}from"./CopyToClipboard-B3Q4IyIz.js";import{I as Z}from"./ImageWrapper-DDgrcUpN.js";import{E as ee}from"./index-j_uZdGZu.js";import{E as te}from"./index-D7te_1LX.js";import{E as oe}from"./index-xoO8OtTi.js";import{B as ne}from"./BotPlaceholder-DLd3-O4U.js";import"./use-form-item-BkhNVF1L.js";import"./index-r5W6hzzQ.js";import"./index-DPFYPrCl.js";import"./typescript-CbXledGi.js";import"./index-BgfnKNJP.js";import"./strings-C6Jtkx-3.js";import"./castArray-CLbvN5vw.js";import"./isEqual-B9PwPc7o.js";import"./_initCloneObject-DsSkRlN-.js";import"./debounce-CMDuVRq1.js";import"./_baseIteratee-Bl2-nnv8.js";import"./index-B1GAOpEG.js";import"./index-B7HazlRJ.js";import"./index-DLCeq8hw.js";import"./_baseClone-D_93k3Nh.js";import"./index-Pja6Zfr2.js";const ae=k({name:"LayoutNanobanana",components:{ElDrawer:O,ElButton:U,FontAwesomeIcon:S},data(){return{drawer:!1}}}),se={class:"main flex flex-row flex-1"},re={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},le={class:"result h-full p-[15px] flex-1 flex flex-col"};function ie(e,t,f,s,u,h){const m=n("font-awesome-icon"),d=n("el-button"),r=n("el-drawer");return a(),i("div",se,[l("div",re,[G(e.$slots,"config",{},void 0,!0)]),l("div",le,[G(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=b=>e.drawer=!0)},{default:_(()=>[o(m,{icon:"fa-solid fa-magic"})]),_:1}),o(r,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=b=>e.drawer=b),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:_(()=>[G(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ce=y(ae,[["render",ie],["__scopeId","data-v-3794959b"]]),pe=k({name:"ActionSelector",components:{ElSelect:N,ElOption:j},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"generate",label:this.$t("nanobanana.name.generate")},{value:"edit",label:this.$t("nanobanana.name.edits")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.action},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana.config,action:e})}}},mounted(){this.value||(this.value=D)}}),ue={class:"field"},me={class:"title font-bold"};function de(e,t,f,s,u,h){const m=n("el-option"),d=n("el-select");return a(),i("div",ue,[l("h2",me,c(e.$t("nanobanana.name.task")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=r=>e.value=r),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:_(()=>[(a(!0),i(V,null,I(e.options,r=>(a(),w(m,{key:r.value,label:r.label,value:r.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const fe=y(pe,[["render",de],["__scopeId","data-v-53bf2549"]]),_e="",he=k({name:"PromptInput",components:{ElInput:H,InfoIcon:P},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=_e)}}),ge={class:"field"},be={class:"box"},$e={class:"title font-bold"};function ve(e,t,f,s,u,h){const m=n("info-icon"),d=n("el-input");return a(),i("div",ge,[l("div",be,[l("h2",$e,c(e.$t("nanobanana.name.prompt")),1),o(m,{content:e.$t("nanobanana.description.prompt"),class:"info"},null,8,["content"])]),o(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=r=>e.prompt=r),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("nanobanana.placeholder.prompt"),maxlength:300,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const we=y(he,[["render",ve],["__scopeId","data-v-38b040ab"]]),ke=k({name:"ImageUrlsInput",components:{ElUpload:K,ElButton:U,InfoIcon:P,ImagePreview:B,FontAwesomeIcon:S},data(){return{fileList:[],uploadUrl:F()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const s=(this.fileList||[]).filter(u=>!u?.response?.file_url);this.fileList=s.length?s:[];return}const t=[];e.forEach(s=>{const u=this.fileList.find(h=>h?.response?.file_url===s||h?.url===s);u?t.push(u):t.push({name:s.split("/").pop()||s,url:s,status:"success",percentage:100,response:{file_url:s}})}),(this.fileList||[]).filter(s=>!s?.response?.file_url).forEach(s=>{t.some(h=>h===s||h?.url===s?.url||h?.response?.file_url===s?.response?.file_url)||t.push(s)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){E.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){E.error(this.$t("nanobanana.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),ye={class:"field flex items-center justify-between"},Ve={class:"title font-bold text-[14px] mb-[10px]"},Ee={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Ie={class:"controls flex items-center"},Ae={class:"file-list flex flex-wrap gap-[10px]"};function Te(e,t,f,s,u,h){const m=n("font-awesome-icon"),d=n("el-button"),r=n("el-upload"),b=n("info-icon"),A=n("image-preview");return a(),i(V,null,[l("div",ye,[l("h2",Ve,c(e.$t("nanobanana.name.imageUrls")),1),l("div",Ee,[l("div",Ie,[o(r,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=p=>e.fileList=p),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:_(()=>[o(d,{size:"small",type:"primary",round:""},{default:_(()=>[o(m,{icon:"fa-solid fa-upload",class:"mr-1"}),g(" "+c(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),o(b,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),l("div",Ae,[(a(!0),i(V,null,I(e.fileList,(p,v)=>(a(),w(A,{key:p.uid||p?.response?.file_url||p.url||v,url:p.url||p?.response?.file_url,name:p.name,percentage:p.percentage,onRemove:C=>e.onRemovePreview(v,p)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Ce=y(ke,[["render",Te]]),Re=k({name:"AspectRatioSelector",components:{ElSelect:N,ElOption:j},data(){return{options:["1:1","3:2","2:3","16:9","9:16","4:3","3:4"]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,aspect_ratio:e})}}},mounted(){this.value||(this.value=q)}}),Se={class:"field"},Ue={class:"title font-bold"};function Le(e,t,f,s,u,h){const m=n("el-option"),d=n("el-select");return a(),i("div",Se,[l("h2",Ue,c(e.$t("nanobanana.name.aspectRatio")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=r=>e.value=r),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:_(()=>[(a(!0),i(V,null,I(e.options,r=>(a(),w(m,{key:r,label:r,value:r},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ge=y(Re,[["render",Le],["__scopeId","data-v-e51b32d6"]]),je=k({name:"ConfigPanel",components:{ElButton:U,FontAwesomeIcon:S,PromptInput:we,Consumption:J,ActionSelector:fe,ImageUrlsInput:Ce,AspectRatioSelector:Ge},emits:["generate"],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){return X(this.config,this.service?.metadata?.price)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ne={class:"flex flex-col h-full"},Pe={class:"flex-1 overflow-y-auto p-[15px]"},Be={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function Oe(e,t,f,s,u,h){const m=n("action-selector"),d=n("prompt-input"),r=n("aspect-ratio-selector"),b=n("image-urls-input"),A=n("consumption"),p=n("font-awesome-icon"),v=n("el-button");return a(),i("div",Ne,[l("div",Pe,[o(m,{class:"mb-4"}),o(d,{class:"mb-4"}),e.config?.action==="generate"?(a(),w(r,{key:0,class:"mb-4"})):$("",!0),e.config?.action==="edit"?(a(),w(b,{key:1,class:"mb-4"})):$("",!0)]),l("div",Be,[o(A,{value:e.consumption,service:e.service},null,8,["value","service"]),o(v,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:_(()=>[o(p,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+c(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const De=y(je,[["render",Oe]]),Fe=k({name:"TaskPreview",components:{ElImage:oe,CopyToClipboard:Y,FontAwesomeIcon:S,ElAlert:te,ImageWrapper:Z,ElButton:U,ElTooltip:ee,ImagePreview:B},props:{modelValue:{type:Object,required:!0}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{onEdit(e){e&&(console.debug("Edit image:",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,action:"edit",image_urls:[e]}))}}}),qe={class:"preview"},ze={class:"left"},Me={class:"main"},We={class:"bot"},xe={class:"datetime"},He={class:"info"},Ke={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},Je={key:1,class:"prompt mt-2"},Qe={key:0},Xe={key:0,class:L({content:!0,failed:!0})},Ye={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},Ze={class:L({operations:!0,"mt-2":!0,"mb-2":!0})},et={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},tt={key:1,class:L({content:!0})},ot={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},nt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},at={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},st={key:2,class:L({content:!0})},rt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function lt(e,t,f,s,u,h){const m=n("el-image"),d=n("image-preview"),r=n("image-wrapper"),b=n("el-button"),A=n("el-tooltip"),p=n("font-awesome-icon"),v=n("copy-to-clipboard"),C=n("el-alert");return a(),i("div",qe,[l("div",ze,[o(m,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),l("div",Me,[l("div",We,[g(c(e.$t("nanobanana.name.nanobananaBot"))+" ",1),l("span",xe,c(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",He,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(a(),i("div",Ke,[(a(!0),i(V,null,I(e.modelValue?.request?.image_urls,(T,R)=>(a(),w(d,{key:R,url:T,name:`image-${R+1}`,closable:!1},null,8,["url","name"]))),128))])):$("",!0),e.modelValue?.request?.prompt?(a(),i("p",Je,[g(c(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?$("",!0):(a(),i("span",Qe," - ("+c(e.$t("nanobanana.status.pending"))+") ",1))])):$("",!0)]),e.modelValue?.response?.success===!0?(a(),i("div",Xe,[l("div",Ye,[(a(!0),i(V,null,I(e.images,(T,R)=>(a(),w(r,{key:R,src:T?.image_url,"raw-src":T?.image_url},null,8,["src","raw-src"]))),128))]),l("div",Ze,[o(A,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:_(()=>[o(b,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=z(T=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:_(()=>[g(c(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(C,{closable:!1,class:"mt-2 success"},{default:_(()=>[l("p",et,[o(p,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+c(e.$t("nanobanana.name.taskId"))+": "+c(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(a(),i("div",tt,[o(C,{closable:!1,class:"failure"},{template:_(()=>[o(p,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+c(e.$t("nanobanana.name.failure")),1)]),default:_(()=>[l("p",ot,[o(p,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+c(e.$t("nanobanana.name.taskId"))+": "+c(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),l("p",nt,[o(p,{icon:"fa-solid fa-circle-info",class:"mr-1"}),g(" "+c(e.$t("nanobanana.name.failureReason"))+": "+c(e.modelValue?.response?.error?.message)+" ",1),o(v,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),i("p",at,[o(p,{icon:"fa-solid fa-hashtag",class:"mr-1"}),g(" "+c(e.$t("nanobanana.name.traceId"))+": "+c(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?$("",!0):(a(),i("div",st,[o(C,{closable:!1,class:"info"},{template:_(()=>[o(p,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+c(e.$t("nanobanana.name.failure")),1)]),default:_(()=>[l("p",rt,[o(p,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+c(e.$t("nanobanana.name.taskId"))+": "+c(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const it=y(Fe,[["render",lt],["__scopeId","data-v-4450fc95"]]),ct=k({name:"RecentPanel",components:{TaskPreview:it,BotPlaceholder:ne,NoTasks:Q},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{onHandleScroll(){this.$refs.panel.scrollTop===0&&this.$emit("reach-top")}}}),pt={key:0},ut={key:1,class:"tasks h-full w-full overflow-y-auto"},mt={key:2,class:"w-full h-full flex items-center justify-center"};function dt(e,t,f,s,u,h){const m=n("bot-placeholder"),d=n("task-preview"),r=n("no-tasks");return a(),i(V,null,[e.tasks?.items===void 0?(a(),i("div",pt,[o(m)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),i("div",ut,[(a(!0),i(V,null,I(e.tasks?.items,b=>(a(),w(d,{key:b.id,"model-value":b},null,8,["model-value"]))),128))])):$("",!0),e.tasks?.items?.length===0?(a(),i("div",mt,[o(r)])):$("",!0)],64)}const ft=y(ct,[["render",dt]]),_t="https://webhook.acedata.cloud/nanobanana",ht=k({name:"NanobananaIndex",components:{ConfigPanel:De,Layout:ce,RecentPanel:ft},inject:["initialized"],data(){return{task:void 0,job:0}},computed:{loading(){return this.$store.state.nanobanana?.status?.getApplications===x.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){console.debug("reached top"),await this.onGetTasks({createdAtMax:this.tasks?.items?.[0]?.created_at})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("nanobanana/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("nanobanana/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".tasks");e&&(e.scrollTop=e.scrollHeight)},1e3)},async onGetTasks(e){if(this.loading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:f,createdAtMax:s}=e||{};console.debug("limit",t,"createdAtMin",f,"createdAtMax",s),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:f,createdAtMax:s})},async onGenerate(){const e={...this.config||{}};e?.action==="generate"&&"image_urls"in e&&delete e.image_urls;const t={...e,callback_url:_t},f=this.credential?.token;if(!f){console.error("no token specified");return}E.info(this.$t("nanobanana.message.startingTask")),M.generate(t,{token:f}).then(()=>{E.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(s=>{const u=s?.response?.data;u?.error?.code===W?E.error(this.$t("nanobanana.message.usedUp")):E.error(this.$t("nanobanana.message.startTaskFailed")+(u?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}});function gt(e,t,f,s,u,h){const m=n("config-panel"),d=n("recent-panel"),r=n("layout");return a(),w(r,null,{config:_(()=>[o(m,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:_(()=>[o(d,{onReachTop:e.onReachTop},null,8,["onReachTop"])]),_:1})}const Yt=y(ht,[["render",gt]]);export{Yt as default};
|
|
1
|
+
import{F as S}from"./index.es-CcpVHvSx.js";import{E as U}from"./index-CkGfGBH1.js";import{E as O}from"./index-ZR2WC3y6.js";import{d as k,h as y,b as i,t as l,k as o,r as G,j as _,l as n,o as a,fa as D,x as c,F as V,v as I,i as w,c9 as q,D as g,fb as F,y as $,n as L,ak as z,fc as M,du as W,dq as x}from"./index-IUOnFE33.js";import{E as j,a as N}from"./index-fKcIRqyn.js";import{I as P}from"./InfoIcon-DJgGdcM4.js";import{E as H}from"./index-BlfhaCBe.js";import{I as B}from"./ImagePreview-DpKPZpzN.js";import{E as K}from"./index-DLEpULvj.js";import{E}from"./index-Dgon4P8g.js";import{C as J,N as Q}from"./NoTasks-BAFsp5y-.js";import{a as X}from"./price-BmpkejfA.js";import{C as Y}from"./CopyToClipboard-D10YM_7m.js";import{I as Z}from"./ImageWrapper-CJTWD-PJ.js";import{E as ee}from"./index-1fW-uAwf.js";import{E as te}from"./index-CF5Kx3lT.js";import{E as oe}from"./index-DSNMx2cO.js";import{B as ne}from"./BotPlaceholder-C-r3HBsb.js";import"./use-form-item-DNI3l--g.js";import"./index-r5W6hzzQ.js";import"./index-BXh5SszT.js";import"./typescript-CrbS__OB.js";import"./index-aLPamwRW.js";import"./strings-ByIYpJrS.js";import"./castArray-F6UtPTG2.js";import"./isEqual-DT9q1wUz.js";import"./_initCloneObject-BNJJfRAs.js";import"./debounce-DUU4g0Vw.js";import"./_baseIteratee-DVuly0os.js";import"./index-D_GDwTBQ.js";import"./index-3NDJx6NE.js";import"./index-D9ZkPdjT.js";import"./_baseClone-DfZip4NQ.js";import"./index-CwsOuzih.js";const ae=k({name:"LayoutNanobanana",components:{ElDrawer:O,ElButton:U,FontAwesomeIcon:S},data(){return{drawer:!1}}}),se={class:"main flex flex-row flex-1"},re={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},le={class:"result h-full p-[15px] flex-1 flex flex-col"};function ie(e,t,f,s,u,h){const m=n("font-awesome-icon"),d=n("el-button"),r=n("el-drawer");return a(),i("div",se,[l("div",re,[G(e.$slots,"config",{},void 0,!0)]),l("div",le,[G(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=b=>e.drawer=!0)},{default:_(()=>[o(m,{icon:"fa-solid fa-magic"})]),_:1}),o(r,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=b=>e.drawer=b),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:_(()=>[G(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ce=y(ae,[["render",ie],["__scopeId","data-v-3794959b"]]),pe=k({name:"ActionSelector",components:{ElSelect:N,ElOption:j},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"generate",label:this.$t("nanobanana.name.generate")},{value:"edit",label:this.$t("nanobanana.name.edits")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.action},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana.config,action:e})}}},mounted(){this.value||(this.value=D)}}),ue={class:"field"},me={class:"title font-bold"};function de(e,t,f,s,u,h){const m=n("el-option"),d=n("el-select");return a(),i("div",ue,[l("h2",me,c(e.$t("nanobanana.name.task")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=r=>e.value=r),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:_(()=>[(a(!0),i(V,null,I(e.options,r=>(a(),w(m,{key:r.value,label:r.label,value:r.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const fe=y(pe,[["render",de],["__scopeId","data-v-53bf2549"]]),_e="",he=k({name:"PromptInput",components:{ElInput:H,InfoIcon:P},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=_e)}}),ge={class:"field"},be={class:"box"},$e={class:"title font-bold"};function ve(e,t,f,s,u,h){const m=n("info-icon"),d=n("el-input");return a(),i("div",ge,[l("div",be,[l("h2",$e,c(e.$t("nanobanana.name.prompt")),1),o(m,{content:e.$t("nanobanana.description.prompt"),class:"info"},null,8,["content"])]),o(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=r=>e.prompt=r),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("nanobanana.placeholder.prompt"),maxlength:300,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const we=y(he,[["render",ve],["__scopeId","data-v-38b040ab"]]),ke=k({name:"ImageUrlsInput",components:{ElUpload:K,ElButton:U,InfoIcon:P,ImagePreview:B,FontAwesomeIcon:S},data(){return{fileList:[],uploadUrl:q()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const s=(this.fileList||[]).filter(u=>!u?.response?.file_url);this.fileList=s.length?s:[];return}const t=[];e.forEach(s=>{const u=this.fileList.find(h=>h?.response?.file_url===s||h?.url===s);u?t.push(u):t.push({name:s.split("/").pop()||s,url:s,status:"success",percentage:100,response:{file_url:s}})}),(this.fileList||[]).filter(s=>!s?.response?.file_url).forEach(s=>{t.some(h=>h===s||h?.url===s?.url||h?.response?.file_url===s?.response?.file_url)||t.push(s)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){E.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){E.error(this.$t("nanobanana.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),ye={class:"field flex items-center justify-between"},Ve={class:"title font-bold text-[14px] mb-[10px]"},Ee={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Ie={class:"controls flex items-center"},Ae={class:"file-list flex flex-wrap gap-[10px]"};function Te(e,t,f,s,u,h){const m=n("font-awesome-icon"),d=n("el-button"),r=n("el-upload"),b=n("info-icon"),A=n("image-preview");return a(),i(V,null,[l("div",ye,[l("h2",Ve,c(e.$t("nanobanana.name.imageUrls")),1),l("div",Ee,[l("div",Ie,[o(r,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=p=>e.fileList=p),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:_(()=>[o(d,{size:"small",type:"primary",round:""},{default:_(()=>[o(m,{icon:"fa-solid fa-upload",class:"mr-1"}),g(" "+c(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),o(b,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),l("div",Ae,[(a(!0),i(V,null,I(e.fileList,(p,v)=>(a(),w(A,{key:p.uid||p?.response?.file_url||p.url||v,url:p.url||p?.response?.file_url,name:p.name,percentage:p.percentage,onRemove:C=>e.onRemovePreview(v,p)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Ce=y(ke,[["render",Te]]),Re=k({name:"AspectRatioSelector",components:{ElSelect:N,ElOption:j},data(){return{options:["1:1","3:2","2:3","16:9","9:16","4:3","3:4"]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,aspect_ratio:e})}}},mounted(){this.value||(this.value=F)}}),Se={class:"field"},Ue={class:"title font-bold"};function Le(e,t,f,s,u,h){const m=n("el-option"),d=n("el-select");return a(),i("div",Se,[l("h2",Ue,c(e.$t("nanobanana.name.aspectRatio")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=r=>e.value=r),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:_(()=>[(a(!0),i(V,null,I(e.options,r=>(a(),w(m,{key:r,label:r,value:r},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ge=y(Re,[["render",Le],["__scopeId","data-v-e51b32d6"]]),je=k({name:"ConfigPanel",components:{ElButton:U,FontAwesomeIcon:S,PromptInput:we,Consumption:J,ActionSelector:fe,ImageUrlsInput:Ce,AspectRatioSelector:Ge},emits:["generate"],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){return X(this.config,this.service?.metadata?.price)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ne={class:"flex flex-col h-full"},Pe={class:"flex-1 overflow-y-auto p-[15px]"},Be={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function Oe(e,t,f,s,u,h){const m=n("action-selector"),d=n("prompt-input"),r=n("aspect-ratio-selector"),b=n("image-urls-input"),A=n("consumption"),p=n("font-awesome-icon"),v=n("el-button");return a(),i("div",Ne,[l("div",Pe,[o(m,{class:"mb-4"}),o(d,{class:"mb-4"}),e.config?.action==="generate"?(a(),w(r,{key:0,class:"mb-4"})):$("",!0),e.config?.action==="edit"?(a(),w(b,{key:1,class:"mb-4"})):$("",!0)]),l("div",Be,[o(A,{value:e.consumption,service:e.service},null,8,["value","service"]),o(v,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:_(()=>[o(p,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+c(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const De=y(je,[["render",Oe]]),qe=k({name:"TaskPreview",components:{ElImage:oe,CopyToClipboard:Y,FontAwesomeIcon:S,ElAlert:te,ImageWrapper:Z,ElButton:U,ElTooltip:ee,ImagePreview:B},props:{modelValue:{type:Object,required:!0}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{onEdit(e){e&&(console.debug("Edit image:",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,action:"edit",image_urls:[e]}))}}}),Fe={class:"preview"},ze={class:"left"},Me={class:"main"},We={class:"bot"},xe={class:"datetime"},He={class:"info"},Ke={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},Je={key:1,class:"prompt mt-2"},Qe={key:0},Xe={key:0,class:L({content:!0,failed:!0})},Ye={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},Ze={class:L({operations:!0,"mt-2":!0,"mb-2":!0})},et={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},tt={key:1,class:L({content:!0})},ot={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},nt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},at={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},st={key:2,class:L({content:!0})},rt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function lt(e,t,f,s,u,h){const m=n("el-image"),d=n("image-preview"),r=n("image-wrapper"),b=n("el-button"),A=n("el-tooltip"),p=n("font-awesome-icon"),v=n("copy-to-clipboard"),C=n("el-alert");return a(),i("div",Fe,[l("div",ze,[o(m,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),l("div",Me,[l("div",We,[g(c(e.$t("nanobanana.name.nanobananaBot"))+" ",1),l("span",xe,c(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",He,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(a(),i("div",Ke,[(a(!0),i(V,null,I(e.modelValue?.request?.image_urls,(T,R)=>(a(),w(d,{key:R,url:T,name:`image-${R+1}`,closable:!1},null,8,["url","name"]))),128))])):$("",!0),e.modelValue?.request?.prompt?(a(),i("p",Je,[g(c(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?$("",!0):(a(),i("span",Qe," - ("+c(e.$t("nanobanana.status.pending"))+") ",1))])):$("",!0)]),e.modelValue?.response?.success===!0?(a(),i("div",Xe,[l("div",Ye,[(a(!0),i(V,null,I(e.images,(T,R)=>(a(),w(r,{key:R,src:T?.image_url,"raw-src":T?.image_url},null,8,["src","raw-src"]))),128))]),l("div",Ze,[o(A,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:_(()=>[o(b,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=z(T=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:_(()=>[g(c(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(C,{closable:!1,class:"mt-2 success"},{default:_(()=>[l("p",et,[o(p,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+c(e.$t("nanobanana.name.taskId"))+": "+c(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(a(),i("div",tt,[o(C,{closable:!1,class:"failure"},{template:_(()=>[o(p,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+c(e.$t("nanobanana.name.failure")),1)]),default:_(()=>[l("p",ot,[o(p,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+c(e.$t("nanobanana.name.taskId"))+": "+c(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),l("p",nt,[o(p,{icon:"fa-solid fa-circle-info",class:"mr-1"}),g(" "+c(e.$t("nanobanana.name.failureReason"))+": "+c(e.modelValue?.response?.error?.message)+" ",1),o(v,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),i("p",at,[o(p,{icon:"fa-solid fa-hashtag",class:"mr-1"}),g(" "+c(e.$t("nanobanana.name.traceId"))+": "+c(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?$("",!0):(a(),i("div",st,[o(C,{closable:!1,class:"info"},{template:_(()=>[o(p,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+c(e.$t("nanobanana.name.failure")),1)]),default:_(()=>[l("p",rt,[o(p,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+c(e.$t("nanobanana.name.taskId"))+": "+c(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const it=y(qe,[["render",lt],["__scopeId","data-v-4450fc95"]]),ct=k({name:"RecentPanel",components:{TaskPreview:it,BotPlaceholder:ne,NoTasks:Q},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{onHandleScroll(){this.$refs.panel.scrollTop===0&&this.$emit("reach-top")}}}),pt={key:0},ut={key:1,class:"tasks h-full w-full overflow-y-auto"},mt={key:2,class:"w-full h-full flex items-center justify-center"};function dt(e,t,f,s,u,h){const m=n("bot-placeholder"),d=n("task-preview"),r=n("no-tasks");return a(),i(V,null,[e.tasks?.items===void 0?(a(),i("div",pt,[o(m)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),i("div",ut,[(a(!0),i(V,null,I(e.tasks?.items,b=>(a(),w(d,{key:b.id,"model-value":b},null,8,["model-value"]))),128))])):$("",!0),e.tasks?.items?.length===0?(a(),i("div",mt,[o(r)])):$("",!0)],64)}const ft=y(ct,[["render",dt]]),_t="https://webhook.acedata.cloud/nanobanana",ht=k({name:"NanobananaIndex",components:{ConfigPanel:De,Layout:ce,RecentPanel:ft},inject:["initialized"],data(){return{task:void 0,job:0}},computed:{loading(){return this.$store.state.nanobanana?.status?.getApplications===x.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){console.debug("reached top"),await this.onGetTasks({createdAtMax:this.tasks?.items?.[0]?.created_at})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("nanobanana/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("nanobanana/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".tasks");e&&(e.scrollTop=e.scrollHeight)},1e3)},async onGetTasks(e){if(this.loading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:f,createdAtMax:s}=e||{};console.debug("limit",t,"createdAtMin",f,"createdAtMax",s),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:f,createdAtMax:s})},async onGenerate(){const e={...this.config||{}};e?.action==="generate"&&"image_urls"in e&&delete e.image_urls;const t={...e,callback_url:_t},f=this.credential?.token;if(!f){console.error("no token specified");return}E.info(this.$t("nanobanana.message.startingTask")),M.generate(t,{token:f}).then(()=>{E.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(s=>{const u=s?.response?.data;u?.error?.code===W?E.error(this.$t("nanobanana.message.usedUp")):E.error(this.$t("nanobanana.message.startTaskFailed")+(u?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}});function gt(e,t,f,s,u,h){const m=n("config-panel"),d=n("recent-panel"),r=n("layout");return a(),w(r,null,{config:_(()=>[o(m,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:_(()=>[o(d,{onReachTop:e.onReachTop},null,8,["onReachTop"])]),_:1})}const Yt=y(ht,[["render",gt]]);export{Yt as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{F as O}from"./index.es-CcpVHvSx.js";import{E as R}from"./index-CkGfGBH1.js";import{E as B}from"./index-ZR2WC3y6.js";import{d as v,h as g,b as l,t as i,k as t,r as z,j as p,l as a,o as s,eG as P,eH as M,eI as C,eJ as E,eK as I,x as r,F as S,v as T,i as y,eL as q,eM as H,y as f,eN as J,n as L,f as K,c9 as W,D as $,eO as Z,J as Q,K as X,eP as Y,du as x,dq as ee}from"./index-IUOnFE33.js";import{E as D,a as U}from"./index-fKcIRqyn.js";import{I as F}from"./InfoIcon-DJgGdcM4.js";import{I as te}from"./ImagePreview-DpKPZpzN.js";import{E as oe}from"./index-DLEpULvj.js";import{E as A}from"./index-Dgon4P8g.js";import{C as se,N as ae}from"./NoTasks-BAFsp5y-.js";import{E as ne}from"./index-BlfhaCBe.js";import{a as re}from"./price-BmpkejfA.js";import{C as le}from"./CopyToClipboard-D10YM_7m.js";import{V as ie}from"./VideoPlayer-DAFte4NK.js";import{E as ce}from"./index-1fW-uAwf.js";import{E as de}from"./index-CF5Kx3lT.js";import{E as ue}from"./index-DSNMx2cO.js";import{B as pe}from"./BotPlaceholder-C-r3HBsb.js";import"./use-form-item-DNI3l--g.js";import"./index-r5W6hzzQ.js";import"./index-BXh5SszT.js";import"./typescript-CrbS__OB.js";import"./index-aLPamwRW.js";import"./strings-ByIYpJrS.js";import"./castArray-F6UtPTG2.js";import"./isEqual-DT9q1wUz.js";import"./_initCloneObject-BNJJfRAs.js";import"./debounce-DUU4g0Vw.js";import"./_baseIteratee-DVuly0os.js";import"./index-D_GDwTBQ.js";import"./index-D9ZkPdjT.js";import"./_baseClone-DfZip4NQ.js";import"./index-3NDJx6NE.js";import"./vue-plyr-QZFBikSk.js";import"./index-CwsOuzih.js";const me=v({name:"LayoutSora",components:{ElDrawer:B,ElButton:R,FontAwesomeIcon:O},data(){return{drawer:!1}}}),fe={class:"main flex flex-row flex-1"},_e={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},he={class:"result h-full p-[15px] flex-1 flex flex-col"};function $e(e,o,d,_,b,k){const c=a("font-awesome-icon"),u=a("el-button"),n=a("el-drawer");return s(),l("div",fe,[i("div",_e,[z(e.$slots,"config",{},void 0,!0)]),i("div",he,[z(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:o[0]||(o[0]=w=>e.drawer=!0)},{default:p(()=>[t(c,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=w=>e.drawer=w),direction:"ltr","with-header":!1,size:"350px"},{default:p(()=>[z(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ve=g(me,[["render",$e],["__scopeId","data-v-966c9b2c"]]),ge=v({name:"ModelSelector",components:{ElSelect:U,ElOption:D},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:M,label:"sora-2"},{value:C,label:"sora-2-pro"}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){const d={...this.$store.state.sora?.config||{},model:e};e===M?(d.duration=E,d.size=I):e===C&&(d.duration=d.duration||E,d.size=d.size||I),this.$store.commit("sora/setConfig",d)}}},mounted(){this.value||(this.value=P)}}),be={class:"field"},ke={class:"title font-bold"};function we(e,o,d,_,b,k){const c=a("el-option"),u=a("el-select");return s(),l("div",be,[i("h2",ke,r(e.$t("sora.name.model")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:p(()=>[(s(!0),l(S,null,T(e.options,n=>(s(),y(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const ye=g(ge,[["render",we],["__scopeId","data-v-ea6f95d9"]]),Se=v({name:"ActionSelector",components:{ElSelect:U,ElOption:D},data(){return{}},computed:{options(){return[{value:"text2video",label:this.$t("sora.button.action1")},{value:"image2video",label:this.$t("sora.button.action2")}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||(this.value=q)}}),Ve={class:"field"},Ee={class:"title font-bold"},Ie={class:"float-left"};function Ae(e,o,d,_,b,k){const c=a("el-option"),u=a("el-select");return s(),l("div",Ve,[i("h2",Ee,r(e.$t("sora.name.action")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select"),clearable:""},{default:p(()=>[(s(!0),l(S,null,T(e.options,n=>(s(),y(c,{key:n.value,label:n.label,value:n.value},{default:p(()=>[i("span",Ie,r(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Le=g(Se,[["render",Ae],["__scopeId","data-v-7b82fa7f"]]),Te=v({name:"DurationSelector",components:{ElSelect:U,ElOption:D},data(){return{options:H.map(e=>({value:e,label:`${e}s`}))}},computed:{model(){return this.$store.state.sora?.config?.model||P},isLocked(){return this.model!==C},optionsForModel(){return this.isLocked?this.options.filter(e=>e.value===E):this.options},value:{get(){return this.$store.state.sora?.config?.duration},set(e){const o=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...o,duration:e})}}},watch:{isLocked(e){e&&this.value!==E&&(this.value=E)}},mounted(){this.value||(this.value=E)}}),Ce={class:"field"},Oe={class:"control"},Re={class:"title font-bold"},De={key:0,class:"hint"};function Ue(e,o,d,_,b,k){const c=a("el-option"),u=a("el-select");return s(),l("div",Ce,[i("div",Oe,[i("h2",Re,r(e.$t("sora.name.duration")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select"),disabled:e.isLocked},{default:p(()=>[(s(!0),l(S,null,T(e.optionsForModel,n=>(s(),y(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])]),e.isLocked?(s(),l("p",De,r(e.$t("sora.tip.proOnly")),1)):f("",!0)])}const Ge=g(Te,[["render",Ue],["__scopeId","data-v-8e3f9091"]]),ze=v({name:"OrientationSelector",data(){return{options:[{value:"portrait",label:"竖屏",width:13,height:25},{value:"landscape",label:"横屏",width:25,height:13}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug("set orientation",e),this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||(this.value=J)}}),Pe={class:"text-sm font-bold mb-2 block"},Me={class:"items"},Fe=["onClick"],je={class:"name"};function Ne(e,o,d,_,b,k){return s(),l("div",null,[i("span",Pe,r(e.$t("sora.name.orientation")),1),i("div",Me,[(s(!0),l(S,null,T(e.options,(c,u)=>(s(),l("div",{key:u,class:L({active:e.active===u,item:!0}),onClick:n=>e.value=c.value},[i("div",{class:L(["preview",c.value])},[i("div",{class:"rect",style:K({width:c.width+"px",height:c.height+"px"})},null,4)],2),i("p",je,r(c.label),1)],10,Fe))),128))])])}const Be=g(ze,[["render",Ne],["__scopeId","data-v-d6940af8"]]),qe=v({name:"StartEndImage",components:{ElUpload:oe,ElButton:R,InfoIcon:F,FontAwesomeIcon:O,ImagePreview:te},emits:["change"],data(){return{fileList:[],uploadUrl:W()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.sora?.config?.image_urls},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){A.warning(this.$t("sora.message.uploadReferencesExceed"))},onError(){A.error(this.$t("sora.message.uploadReferencesError"))},onSetStartEndImageUrl(){const e=this.urls;this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),He={class:"relative"},Je={class:"flex justify-between"},Ke={class:"flex justify-start items-center"},We={class:"text-sm font-bold"};function Ze(e,o,d,_,b,k){const c=a("info-icon"),u=a("image-preview"),n=a("font-awesome-icon"),w=a("el-button"),h=a("el-upload");return s(),l("div",He,[i("div",Je,[i("div",Ke,[i("span",We,r(e.$t("sora.name.startEndImage")),1),t(c,{content:e.$t("sora.description.uploadStartEndImage")},null,8,["content"])])]),t(h,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=m=>e.fileList=m),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:2,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:m})=>[m.url&&m.percentage!==void 0?(s(),y(u,{key:0,url:m.url,name:m.name,percentage:m.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(m),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:p(()=>[t(w,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:p(()=>[t(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),$(" "+r(e.$t("sora.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Qe=g(qe,[["render",Ze],["__scopeId","data-v-fd6e5c97"]]),Xe=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),Ye=v({name:"SizeSelector",components:{ElSelect:U,ElOption:D},data(){return{options:Z.map(e=>({value:e,label:Xe(e)}))}},computed:{model(){return this.$store.state.sora?.config?.model||P},isLocked(){return this.model!==C},optionsForModel(){return this.isLocked?this.options.filter(e=>e.value===I):this.options},value:{get(){return this.$store.state.sora?.config?.size},set(e){const o=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...o,size:e})}}},watch:{isLocked(e){e&&this.value!==I&&(this.value=I)}},mounted(){this.value||(this.value=I)}}),xe={class:"field"},et={class:"control"},tt={class:"title font-bold"},ot={key:0,class:"hint"};function st(e,o,d,_,b,k){const c=a("el-option"),u=a("el-select");return s(),l("div",xe,[i("div",et,[i("h2",tt,r(e.$t("sora.name.size")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select"),disabled:e.isLocked},{default:p(()=>[(s(!0),l(S,null,T(e.optionsForModel,n=>(s(),y(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])]),e.isLocked?(s(),l("p",ot,r(e.$t("sora.tip.proOnly")),1)):f("",!0)])}const at=g(Ye,[["render",st],["__scopeId","data-v-c0582a64"]]),nt="",rt=v({name:"PromptInput",components:{ElInput:ne,InfoIcon:F},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=nt)}}),lt={class:"field"},it={class:"box"},ct={class:"title font-bold"};function dt(e,o,d,_,b,k){const c=a("info-icon"),u=a("el-input");return s(),l("div",lt,[i("div",it,[i("h2",ct,r(e.$t("sora.name.prompt")),1),t(c,{content:e.$t("sora.description.prompt"),class:"info"},null,8,["content"])]),t(u,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("sora.placeholder.prompt"),maxlength:500,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const ut=g(rt,[["render",dt],["__scopeId","data-v-cf3a1497"]]),pt=v({name:"ConfigPanel",components:{ElButton:R,Consumption:se,FontAwesomeIcon:O,PromptInput:ut,ModelSelector:ye,StartEndImage:Qe,SizeSelector:at,ActionSelector:Le,OrientationSelector:Be,DurationSelector:Ge},emits:["generate"],computed:{config(){return this.$store.state.sora?.config},consumption(){return re(this.config,this.service?.metadata?.price)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit("generate")}}}),mt={class:"flex flex-col h-full"},ft={class:"flex-1 overflow-y-auto p-[15px]"},_t={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function ht(e,o,d,_,b,k){const c=a("model-selector"),u=a("action-selector"),n=a("duration-selector"),w=a("size-selector"),h=a("orientation-selector"),m=a("prompt-input"),V=a("start-end-image"),G=a("consumption"),j=a("font-awesome-icon"),N=a("el-button");return s(),l("div",mt,[i("div",ft,[t(c,{class:"mb-4"}),t(u,{class:"mb-4"}),t(n,{class:"mb-4"}),t(w,{class:"mb-4"}),t(h,{class:"mb-4"}),t(m,{class:"mb-4"}),Q(t(V,{class:"mb-2"},null,512),[[X,e.config?.action==="image2video"]])]),i("div",_t,[t(G,{value:e.consumption,service:e.service},null,8,["value","service"]),t(N,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[t(j,{icon:"fa-solid fa-magic",class:"mr-2"}),$(" "+r(e.$t("sora.button.generate")),1)]),_:1},8,["onClick"])])])}const $t=g(pt,[["render",ht]]),vt=v({name:"TaskPreview",components:{ElImage:ue,CopyToClipboard:le,FontAwesomeIcon:O,ElAlert:de,VideoPlayer:ie,ElTooltip:ce,ElButton:R},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,o){e.stopPropagation(),console.log("on download"),window.open(o,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),gt={class:"preview"},bt={class:"left"},kt={class:"main"},wt={class:"bot"},yt={class:"datetime"},St={class:"info"},Vt={key:0,class:"prompt mt-2"},Et={key:0},It={key:1},At={key:0,class:L({content:!0,failed:!0})},Lt={key:0,class:"mb-4"},Tt={key:1,class:L({operations:!0,"mt-2":!0})},Ct={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Rt={key:1,class:L({content:!0})},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},zt={key:2,class:L({content:!0})},Pt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Mt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Ft(e,o,d,_,b,k){const c=a("el-image"),u=a("video-player"),n=a("el-button"),w=a("el-tooltip"),h=a("font-awesome-icon"),m=a("copy-to-clipboard"),V=a("el-alert");return s(),l("div",gt,[i("div",bt,[t(c,{src:"https://cdn.acedata.cloud/z5id1u.png",class:"avatar"})]),i("div",kt,[i("div",wt,[$(r(e.$t("sora.name.soraBot"))+" ",1),i("span",yt,r(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",St,[e.modelValue?.request?.prompt?(s(),l("p",Vt,[$(r(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?f("",!0):(s(),l("span",Et," - ("+r(e.$t("sora.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="pending"?(s(),l("span",It," - ("+r(e.$t("sora.status.processing"))+") ",1)):f("",!0)])):f("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(s(),l("div",At,[e.modelValue?.response?.data[0]?.video_url?(s(),l("div",Lt,[t(u,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):f("",!0),e.modelValue?.response.success?(s(),l("div",Tt,[t(w,{class:"box-item",effect:"dark",content:e.$t("sora.message.downloadVideo"),placement:"top-start"},{default:p(()=>[e.modelValue?.response?.data[0]?.video_url?(s(),y(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:o[0]||(o[0]=G=>e.onDownload(G,e.modelValue?.response?.data[0]?.video_url))},{default:p(()=>[$(r(e.$t("sora.button.download")),1)]),_:1})):f("",!0)]),_:1},8,["content"])])):f("",!0),t(V,{closable:!1,class:"mt-2 success"},{default:p(()=>[i("p",Ct,[t(h,{icon:"fa-solid fa-hashtag",class:"mr-1"}),$(" "+r(e.$t("sora.name.model"))+": "+r(e.modelValue?.request?.model),1)]),i("p",Ot,[t(h,{icon:"fa-solid fa-magic",class:"mr-1"}),$(" "+r(e.$t("sora.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(m,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):f("",!0),e.modelValue?.response?.success===!1?(s(),l("div",Rt,[t(V,{closable:!1,class:"failure"},{template:p(()=>[t(h,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),$(" "+r(e.$t("sora.name.failure")),1)]),default:p(()=>[i("p",Dt,[t(h,{icon:"fa-solid fa-magic",class:"mr-1"}),$(" "+r(e.$t("sora.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(m,{content:e.modelValue?.id},null,8,["content"])]),i("p",Ut,[t(h,{icon:"fa-solid fa-circle-info",class:"mr-1"}),$(" "+r(e.$t("sora.name.failureReason"))+": "+r(e.modelValue?.response?.error?.message)+" ",1),t(m,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.response?.trace_id?(s(),l("p",Gt,[t(h,{icon:"fa-solid fa-hashtag",class:"mr-1"}),$(" "+r(e.$t("sora.name.traceId"))+": "+r(e.modelValue?.response?.trace_id)+" ",1),t(m,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):f("",!0)]),_:1})])):f("",!0),e.modelValue?.response?.success===void 0?(s(),l("div",zt,[t(V,{closable:!1,class:"info"},{template:p(()=>[t(h,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),$(" "+r(e.$t("sora.name.failure")),1)]),default:p(()=>[i("p",Pt,[t(h,{icon:"fa-solid fa-magic",class:"mr-1"}),$(" "+r(e.$t("sora.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(m,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(s(),l("p",Mt,[t(h,{icon:"fa-solid fa-hashtag",class:"mr-1"}),$(" "+r(e.$t("sora.name.traceId"))+": "+r(e.modelValue?.response?.trace_id)+" ",1),t(m,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):f("",!0)]),_:1})])):f("",!0)])])}const jt=g(vt,[["render",Ft],["__scopeId","data-v-183a4d07"]]),Nt=v({name:"RecentPanel",components:{TaskPreview:jt,NoTasks:ae,BotPlaceholder:pe},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{onHandleScroll(){const e=this.$refs.panel;console.log("reach-top reach-top reach-top"),e.scrollTop===0&&this.$emit("reach-top")}}}),Bt={key:0},qt={key:1,class:"tasks h-full w-full overflow-y-auto"},Ht={key:2,class:"w-full h-full flex items-center justify-center"};function Jt(e,o,d,_,b,k){const c=a("bot-placeholder"),u=a("task-preview"),n=a("no-tasks");return s(),l(S,null,[e.tasks?.items===void 0?(s(),l("div",Bt,[t(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(s(),l("div",qt,[(s(!0),l(S,null,T(e.tasks?.items,(w,h)=>(s(),y(u,{key:h,"model-value":w},null,8,["model-value"]))),128))])):f("",!0),e.tasks?.items?.length===0?(s(),l("div",Ht,[t(n)])):f("",!0)],64)}const Kt=g(Nt,[["render",Jt]]),Wt="https://webhook.acedata.cloud/sora",Zt=v({name:"SoraIndex",components:{ConfigPanel:$t,Layout:ve,RecentPanel:Kt},inject:["initialized"],data(){return{task:void 0,job:0}},computed:{loading(){return this.$store.state.sora?.status?.getApplications===ee.Request},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){console.debug("reached top"),await this.onGetTasks({createdAtMax:this.tasks?.items?.[0]?.created_at})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("sora/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("sora/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".tasks");e&&(e.scrollTop=e.scrollHeight)},500)},async onGetTasks(e){if(this.loading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:d,createdAtMax:_}=e||{};console.debug("limit",o,"createdAtMin",d,"createdAtMax",_),await this.$store.dispatch("sora/getTasks",{limit:o,createdAtMin:d,createdAtMax:_})},async onGenerate(){const e={...this.config,callback_url:Wt},o=this.credential?.token;if(!o){console.error("no token specified");return}A.info(this.$t("sora.message.startingTask")),Y.generate(e,{token:o}).then(()=>{A.success(this.$t("sora.message.startTaskSuccess"))}).catch(d=>{d?.response?.data?.error?.code===x?A.error(this.$t("sora.message.usedUp")):A.error(this.$t("sora.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}});function Qt(e,o,d,_,b,k){const c=a("config-panel"),u=a("recent-panel"),n=a("layout");return s(),y(n,null,{config:p(()=>[t(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:p(()=>[t(u,{onReachTop:e.onReachTop},null,8,["onReachTop"])]),_:1})}const Ro=g(Zt,[["render",Qt]]);export{Ro as default};
|