@acedatacloud/nexior 3.25.1 → 3.25.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -9
- package/dist/assets/{Auth-ZFL9tEYY.js → Auth-uEaTvgIG.js} +1 -1
- package/dist/assets/{BotPlaceholder-Bn7lEbyW.js → BotPlaceholder-CWIWz7Gv.js} +1 -1
- package/dist/assets/{Callback-ADArovCk.js → Callback-DeogbX_Z.js} +1 -1
- package/dist/assets/{Console-R7Nq1XW4.js → Console-DVy8L3h3.js} +1 -1
- package/dist/assets/{Conversation-s6SlHgmF.js → Conversation-Bq-Is833.js} +2 -2
- package/dist/assets/{CopyToClipboard-B0sXY0gf.js → CopyToClipboard-BaNpbWBZ.js} +1 -1
- package/dist/assets/{Detail-DGqa0niQ.js → Detail-CupfVvNT.js} +1 -1
- package/dist/assets/{EditArray-sXU-nuer.js → EditArray-D56-95ng.js} +1 -1
- package/dist/assets/{Extra-BGCl3fdy.js → Extra-BF8dUGzC.js} +1 -1
- package/dist/assets/{FilePreview-BOf1jXGA.js → FilePreview-OF0R4eHf.js} +1 -1
- package/dist/assets/{History-D3P-BDSp.js → History-C8lzpKpg.js} +1 -1
- package/dist/assets/{ImagePreview-fjeQ_mXr.js → ImagePreview-B9AiNOkr.js} +1 -1
- package/dist/assets/{ImageWrapper-ChFtniNG.js → ImageWrapper-CxP_Xv7_.js} +1 -1
- package/dist/assets/{Index-Dw-C8knr.js → Index-B4kwXaJe.js} +1 -1
- package/dist/assets/{Index-DlQVMfXj.js → Index-BbZJL92i.js} +1 -1
- package/dist/assets/{Index-B9UAbq7K.js → Index-BceVb1yY.js} +1 -1
- package/dist/assets/{Index-CpzsdYan.js → Index-BpclUPkG.js} +1 -1
- package/dist/assets/{Index-CqUvleXZ.js → Index-BuZyLDaH.js} +1 -1
- package/dist/assets/{Index-Dns4RHLB.js → Index-BvvIHasV.js} +1 -1
- package/dist/assets/{Index-BBVkiDLK.js → Index-CCBAqPjz.js} +1 -1
- package/dist/assets/Index-CXln4m8b.js +1 -0
- package/dist/assets/{Index-CVKSxmPU.js → Index-CYb4mBk-.js} +1 -1
- package/dist/assets/{Index-48R8KP_e.js → Index-ChyPCxhS.js} +1 -1
- package/dist/assets/{Index-DEi3lR31.js → Index-D4Mg8ioS.js} +1 -1
- package/dist/assets/{Index-PWykWvWS.js → Index-DMlsiz-D.js} +1 -1
- package/dist/assets/{Index-Ci0cxJdC.js → Index-GRmuvl1O.js} +1 -1
- package/dist/assets/{Index-DK4gRSuD.js → Index-GSNorvTQ.js} +1 -1
- package/dist/assets/{Index-Bp0DnFP8.js → Index-QKJc2d4a.js} +1 -1
- package/dist/assets/{Index-DHwfKCWu.js → Index-aLG14e34.js} +1 -1
- package/dist/assets/{Invitees-DPR5dxyo.js → Invitees-Cqd-IJvM.js} +1 -1
- package/dist/assets/{List-DF1xAj8f.js → List-BD_W29o7.js} +1 -1
- package/dist/assets/{List-CvNpui7s.js → List-BG6SK2bv.js} +1 -1
- package/dist/assets/{List-CB6PvsV4.js → List-CNIIIa2p.js} +1 -1
- package/dist/assets/{Login-BBVssM83.js → Login-SbUGPFRV.js} +1 -1
- package/dist/assets/{Main-B8Gn8wFB.js → Main-Cx7zMhzU.js} +1 -1
- package/dist/assets/{Navigator-DeAMelPW.js → Navigator-BvURz3Ii.js} +1 -1
- package/dist/assets/{NoTasks-Cxeor42D.js → NoTasks-LBG69HXd.js} +1 -1
- package/dist/assets/{Pagination-CV1s64tj.js → Pagination-DuQkmlmU.js} +1 -1
- package/dist/assets/{ScrollList-BsWg1Oco.js → ScrollList-Da5H8n1W.js} +1 -1
- package/dist/assets/{Status-Cb0oPjbf.js → Status-DLLXrg8C.js} +1 -1
- package/dist/assets/{Subscribe-1vCwy75C.js → Subscribe-C8pwHU9y.js} +1 -1
- package/dist/assets/{VideoPlayer-Bkc77RHA.js → VideoPlayer-1sMyrvvI.js} +1 -1
- package/dist/assets/{_baseClone-Bm9igNTj.js → _baseClone-BMdvC2Mn.js} +1 -1
- package/dist/assets/{_baseIteratee-C0prYj3x.js → _baseIteratee-DChJIcFX.js} +1 -1
- package/dist/assets/{_initCloneObject-CAySSrJV.js → _initCloneObject-DbztCTz9.js} +1 -1
- package/dist/assets/{castArray-CGkY3K20.js → castArray-DeMftDkR.js} +1 -1
- package/dist/assets/{debounce-CguuKO1r.js → debounce-VZSmCnjc.js} +1 -1
- package/dist/assets/{distribution-DyIdWLTX.js → distribution-BhtEnCdU.js} +1 -1
- package/dist/assets/{dropdown-D2LCpybK.js → dropdown-Zkpj2dmg.js} +1 -1
- package/dist/assets/{index-C7JbjCIG.js → index--7ePKMSn.js} +1 -1
- package/dist/assets/{index-BjFSM9Qd.js → index-37AxtFjF.js} +1 -1
- package/dist/assets/{index-Bk5nP9u2.js → index-3NYwkLyG.js} +1 -1
- package/dist/assets/{index-BNhORE5b.js → index-BWP7r6hW.js} +1 -1
- package/dist/assets/{index-Douq3tkS.js → index-BdosEN9l.js} +1 -1
- package/dist/assets/{index-C5xIFTe8.js → index-BsqHMnHM.js} +1 -1
- package/dist/assets/{index-CUr7KGdA.js → index-C-3cQPP1.js} +1 -1
- package/dist/assets/{index-BKPV2Two.js → index-CBjH-ba3.js} +1 -1
- package/dist/assets/{index-FtmKCcb9.js → index-CMszY_K9.js} +1 -1
- package/dist/assets/{index-TO8m0FZI.js → index-CStoqsn2.js} +1 -1
- package/dist/assets/{index-h2hg5mzg.js → index-CiHUKD8b.js} +1 -1
- package/dist/assets/{index-Bp5pMMj1.js → index-CnT57L09.js} +1 -1
- package/dist/assets/{index-BBae-ry6.js → index-Cs4PWpId.js} +1 -1
- package/dist/assets/{index-D4wnX0xO.js → index-D0WBECq3.js} +1 -1
- package/dist/assets/{index-Cltw-TPy.js → index-D1FLNvCi.js} +2 -2
- package/dist/assets/{index-Ba60uEk-.js → index-D3JIjilD.js} +1 -1
- package/dist/assets/{index-DSp1QfJq.js → index-D9pvcimv.js} +1 -1
- package/dist/assets/{index-BhccfPia.js → index-DM378UJ5.js} +1 -1
- package/dist/assets/{index-CpH9j3dB.js → index-DYnnhtAJ.js} +1 -1
- package/dist/assets/{index-CHfsm--8.js → index-De2Qy988.js} +1 -1
- package/dist/assets/{index-DTitzyRz.js → index-DocBcnBZ.js} +1 -1
- package/dist/assets/{index-B9M5gqZj.js → index-Hs3vNnfT.js} +1 -1
- package/dist/assets/{index-Duh1U13K.js → index-KgukxKxV.js} +1 -1
- package/dist/assets/{index-TiR34Adr.js → index-Ku6Sz2EJ.js} +1 -1
- package/dist/assets/{index-C9snhxjP.js → index-Te4f4sQ1.js} +1 -1
- package/dist/assets/{index-Daydyphg.js → index-YThWA6RB.js} +1 -1
- package/dist/assets/{index-BY87tdIk.js → index-YkYnrHwJ.js} +1 -1
- package/dist/assets/{index-RTh02r3m.js → index-b8eWDndR.js} +1 -1
- package/dist/assets/{index-DU1Jn2Bq.js → index-mx0WSQ4c.js} +1 -1
- package/dist/assets/{index-J3_g86Kc.js → index-mzmwNl_7.js} +1 -1
- package/dist/assets/{index.es-Dw-ikv9u.js → index.es-luG_1liH.js} +1 -1
- package/dist/assets/{isEqual-CbOgjKmk.js → isEqual-DLFFes9f.js} +1 -1
- package/dist/assets/{isPlainObject-BHOEH-Zh.js → isPlainObject-DmCe5CCK.js} +1 -1
- package/dist/assets/{order-izH8TeES.js → order-Bb5Mw26J.js} +1 -1
- package/dist/assets/{pagination-BA1VbgK9.js → pagination-D0-pgnZd.js} +1 -1
- package/dist/assets/{price-B71O9NlG.js → price-D62LsAs8.js} +1 -1
- package/dist/assets/{strings-CNKL_IWi.js → strings-MRnF76Oy.js} +1 -1
- package/dist/assets/{typescript-DOVFb1BD.js → typescript-BOpWBj_W.js} +1 -1
- package/dist/assets/{use-form-item-Be29d0-B.js → use-form-item-o9ewPWuR.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/Index-C2XSfdlG.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{I as A}from"./api-Ch0ZHArw.js";import{d as y,h as E,b as s,x as t,o as a,F as $,v,y as n,D as g,du as q,dv as D,dr as L,i as d,j as i,k as r,l as o,t as b,J as N,n as w,K as T}from"./index-
|
|
1
|
+
import{I as A}from"./api-Ch0ZHArw.js";import{d as y,h as E,b as s,x as t,o as a,F as $,v,y as n,D as g,du as q,dv as D,dr as L,i as d,j as i,k as r,l as o,t as b,J as N,n as w,K as T}from"./index-D1FLNvCi.js";import{g as S}from"./price-D62LsAs8.js";import{o as z}from"./order-Bb5Mw26J.js";import{E as j,a as G}from"./index-BWP7r6hW.js";import{E as W}from"./index-KgukxKxV.js";import{E as J}from"./index-D3JIjilD.js";import{E as K,a as H}from"./index-D0WBECq3.js";import{E as Q,a as X,b as Y}from"./index-Ku6Sz2EJ.js";import{E as Z}from"./index-CStoqsn2.js";import{E as x}from"./index--7ePKMSn.js";import"./index-YThWA6RB.js";import"./use-form-item-o9ewPWuR.js";import"./index-r5W6hzzQ.js";import"./castArray-DeMftDkR.js";import"./typescript-BOpWBj_W.js";import"./_baseClone-BMdvC2Mn.js";import"./_initCloneObject-DbztCTz9.js";const ee=y({name:"ApiPrice",props:{price:{type:Number,required:!1,default:0},unit:{type:String,required:!1,default:void 0},start:{type:Boolean,required:!1,default:!1}},methods:{getPriceString:S}}),ae={class:"price-text"},te={key:0,class:"unfree"},ie={key:1,class:"free"};function se(e,l,k,C,I,O){return a(),s("div",ae,[e.price>0?(a(),s("span",te,t(e.getPriceString({value:e.price}))+" "+t(e.unit?` / ${e.unit}`:"")+t(e.start?e.$t("common.message.startPrice"):""),1)):(a(),s("span",ie,t(e.$t("common.message.free")),1))])}const re=E(ee,[["render",se],["__scopeId","data-v-bb068181"]]),oe=y({name:"ServiceEstimation",components:{},props:{service:{type:Object,required:!0},package:{type:Object,required:!0}},methods:{getPriceString:S}}),ne={class:"estimation"},le={key:0,class:"item"},pe={key:0},ce={key:1},ue={key:2},de={key:0},me={key:1};function he(e,l,k,C,I,O){return a(),s("div",ne,[(a(!0),s($,null,v(e.service?.apis,(h,f)=>(a(),s("div",{key:f},[(a(!0),s($,null,v(h?.estimation,(p,c)=>(a(),s("div",{key:c,class:"items"},[e.package?.amount&&p?.cost?(a(),s("p",le,[g(" ≈ "+t(p.name)+" "+t(Math.round(e.package.amount/p.cost))+" "+t(e.$t("api.unit.count"))+" ",1),e.package.price>0?(a(),s("span",pe," - "+t(e.getPriceString({value:e.package.price/(e.package.amount/p.cost),fractionDigits:3})+" / "+e.$t("api.unit.count")),1)):n("",!0),p.remark?(a(),s("span",ce," ("+t(p.remark)+") ",1)):n("",!0),p?.comparisons?.length>0?(a(),s("span",ue," - ")):n("",!0),(a(!0),s($,null,v(p?.comparisons,(m,_)=>(a(),s("span",{key:_,class:"comparison"},[m?.value<0?(a(),s("i",de,t(e.$t("api.message.cheaperThan").replace("$[[value]]",m?.target?.toString()))+" "+t(Math.abs(m?.value)*100)+"% ",1)):n("",!0),m?.value>0?(a(),s("i",me,t(e.$t("api.message.moreExpensiveThan").replace("$[[value]]",m?.target?.toString()))+" "+t(Math.abs(m?.value)*100)+"% ",1)):n("",!0)]))),128))])):n("",!0)]))),128))]))),128))])}const fe=E(oe,[["render",he],["__scopeId","data-v-370bc975"]]),ge=y({name:"ConsoleApplicationBuy",components:{ElSkeleton:Z,ElRow:Y,ElCol:X,ElCard:Q,ElForm:H,ElFormItem:K,ElButton:J,ElDivider:W,ElRadioGroup:G,ElRadioButton:j,Price:re,ServiceEstimation:fe},data(){return{lang:this.$i18n.locale,application:void 0,loading:!1,type:A.USAGE,form:{packageId:void 0,amount:void 0},creating:!1}},computed:{applicationId(){return this.$route.params?.id?.toString()},id(){return this.$route.params?.id?.toString()},price(){return this.application?.service?.price&&this.form.amount?this.form.amount*this.application.service?.price:0},packages(){return this.application?.packages?.filter(e=>e.type===A.USAGE).sort((e,l)=>e.amount-l.amount)||[]},package(){if(this.packages&&this.form.packageId){const e=this.packages.filter(l=>l.id===this.form.packageId);if(e.length>0)return e[0]}}},mounted(){this.onFetchApplication()},methods:{getDiscount(e){return this.packages&&this.packages.length>0?this.lang?.startsWith("zh")?(10*e?.price/e?.amount/(this.packages[0].price/this.packages[0]?.amount)).toFixed(1)+"折":Math.round(100-100*e?.price/e?.amount/(this.packages[0].price/this.packages[0]?.amount))+"% OFF":""},onSubscribe(){this.$router.push({name:D,params:this.$route.params})},getPriceString:S,onFetchApplication(){this.loading=!0,L.get(this.id).then(({data:e})=>{this.application=e,this.loading=!1,this.form.packageId=this.packages?.[0]?.id}).catch(()=>{this.loading=!1})},onChangeType(){this.$router.push({name:D,params:this.$route.params})},onCreateOrder(){if(!this.application?.id)return;this.creating=!0;const e=this.$t(`service.unit.${this.application?.service?.unit}s`);z.create({application_id:this.application?.id,amount:this.package?.amount,...this.form.packageId!=="custom"&&this.package?{package_id:this.package.id}:{},description:this.application?.service?`${this.application?.service?.title} x ${this.package?.amount} ${e}`:this.$t("application.title.globalBuy")+" - "+this.package?.amount+" "+this.$t("service.unit.credits")}).then(({data:l})=>{this.creating=!1;const k=l;this.$router.push({name:q,params:{id:k.id}})}).catch(()=>{x.error(this.$t("order.message.createFailed")),this.creating=!1})}}}),ke={class:"title"},$e={key:0,class:"ml-2"},ve={key:1,class:w({price:!0,free:!0})};function _e(e,l,k,C,I,O){const h=o("el-col"),f=o("el-row"),p=o("el-skeleton"),c=o("el-form-item"),m=o("el-radio-button"),_=o("el-radio-group"),R=o("service-estimation"),V=o("price"),P=o("el-divider"),B=o("el-button"),M=o("el-form"),U=o("el-card");return a(),d(f,{class:"panel"},{default:i(()=>[r(h,{span:24},{default:i(()=>[r(f,null,{default:i(()=>[r(h,{span:24},{default:i(()=>[b("h2",ke,t(e.$t("common.title.buyMore")),1)]),_:1})]),_:1}),r(f,null,{default:i(()=>[r(h,{span:24},{default:i(()=>[r(U,{shadow:"hover"},{default:i(()=>[r(f,null,{default:i(()=>[r(h,{span:16,offset:4},{default:i(()=>[e.loading?(a(),d(p,{key:0})):e.application?(a(),d(M,{key:1,"label-width":"100px"},{default:i(()=>[e.application?.service?(a(),d(c,{key:0,label:e.$t("application.field.service")},{default:i(()=>[g(t(e.application?.service?.title),1)]),_:1},8,["label"])):(a(),d(c,{key:1,label:e.$t("application.field.scope")},{default:i(()=>[g(t(e.$t("application.title.globalBuy")),1)]),_:1},8,["label"])),r(c,{label:e.$t("application.field.package"),class:"mb-0"},{default:i(()=>[e.packages?(a(),d(_,{key:0,modelValue:e.form.packageId,"onUpdate:modelValue":l[0]||(l[0]=u=>e.form.packageId=u)},{default:i(()=>[(a(!0),s($,null,v(e.packages,(u,F)=>(a(),d(m,{key:F,label:u.id,class:"mb-2"},{default:i(()=>[N(b("span",{class:"corner"},t(e.getDiscount(u)),513),[[T,F!==0]]),g(" "+t(u.amount)+" "+t(e.$t(`service.unit.${e.application?.service?.unit||"credit"}s`)),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])):n("",!0)]),_:1},8,["label"]),e.application?.service?.apis&&e.application?.service?.apis?.map(u=>u?.estimation).filter(u=>!!u)?.length>0?(a(),d(c,{key:2},{default:i(()=>[e.application?.service?(a(),d(R,{key:0,service:e.application.service,package:e.package},null,8,["service","package"])):n("",!0)]),_:1})):n("",!0),r(c,{label:e.$t("service.field.price")},{default:i(()=>[r(V,{price:e.package?.price},null,8,["price"]),e.package?(a(),s("span",$e,"("+t(e.getPriceString({value:e.package?.price/e.package?.amount})+" / "+e.$t(`service.unit.${e.application?.service?.unit||"credits"}`))+") ",1)):n("",!0)]),_:1},8,["label"]),r(P,{"border-style":"dashed"}),r(c,{label:e.$t("application.field.shouldPayPrice")},{default:i(()=>[e.package?(a(),s("span",{key:0,class:w({price:!0,unfree:e.package?.price>0,free:e.package?.price===0})},t(e.getPriceString({value:e.package?.price})),3)):(a(),s("span",ve," $ 0 "))]),_:1},8,["label"]),r(c,null,{default:i(()=>[r(B,{type:"primary",size:"large",class:"btn-create",loading:e.creating,round:"",onClick:e.onCreateOrder},{default:i(()=>[g(t(e.$t("application.button.createOrder")),1)]),_:1},8,["loading","onClick"])]),_:1}),r(P,{"border-style":"dashed"}),N(r(c,{label:""},{default:i(()=>[b("span",null,t(e.$t("console.message.doNotWantExtra")),1),r(B,{type:"primary",class:"btn btn-subscribe",round:"",size:"small",onClick:e.onSubscribe},{default:i(()=>[g(t(e.$t("console.message.subscribe")),1)]),_:1},8,["onClick"])]),_:1},512),[[T,!1]])]),_:1})):n("",!0)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const Ue=E(ge,[["render",_e],["__scopeId","data-v-ee0069fd"]]);export{Ue as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as c}from"./index.es-
|
|
1
|
+
import{F as c}from"./index.es-luG_1liH.js";import{d as p,dY as d,h as f,b as a,t,y as m,k as o,J as x,l as n,K as u,x as h,o as i}from"./index-D1FLNvCi.js";import{E as g}from"./index-b8eWDndR.js";const _=p({name:"FilePreview",components:{FontAwesomeIcon:c,ElProgress:g},props:{name:{type:String,required:!0},percentage:{type:Number,required:!1,default:void 0},closable:{type:Boolean,required:!1,default:!0}},emits:["remove"],methods:{isImageUrl:d}}),v={class:"file cursor-pointer relative rounded-[10px] h-[50px] w-[250px] flex flex-row items-center justify-start bg-[var(--el-bg-color)]"},w={class:"left h-[50px] w-[50px] flex items-center justify-center"},y={class:"wrapper relative w-[35px] h-[35px] flex items-center justify-center rounded-[10px] text-white bg-[#10a37f] m-auto"},b={class:"right flex-1 h-[50px] flex items-center justify-start pl-[2px] text-[14px] text-[var(--el-text-color-primary)] truncate"},k={class:"text-xs font-bold truncate"},$={key:0,class:"close absolute cursor-pointer top-[5px] right-[5px] bg-[rgba(0,0,0,0.7)] text-white w-[15px] rounded-full h-[15px] flex text-[10px] text-center items-center justify-center"};function j(e,s,F,B,C,N){const r=n("font-awesome-icon"),l=n("el-progress");return i(),a("div",v,[t("div",w,[t("div",y,[o(r,{icon:"fa-regular fa-file-alt"}),x(o(l,{type:"circle","stroke-width":3,percentage:e.percentage,width:25,class:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[25px] h-[25px] z-[10] m-auto"},null,8,["percentage"]),[[u,e.percentage&&e.percentage<100]])])]),t("div",b,[t("span",k,h(e.name),1)]),e.closable?(i(),a("div",$,[o(r,{icon:"fa-solid fa-xmark",class:"icon icon-close",onClick:s[0]||(s[0]=q=>e.$emit("remove"))})])):m("",!0)])}const V=f(_,[["render",j]]);export{V as F};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{P as g}from"./Pagination-
|
|
1
|
+
import{P as g}from"./Pagination-DuQkmlmU.js";import{C as b}from"./CopyToClipboard-BaNpbWBZ.js";import{b as w}from"./distribution-BhtEnCdU.js";import{d as y,h as $,i as c,j as o,k as e,l as s,t as a,x as r,J as C,cT as v,o as u}from"./index-D1FLNvCi.js";import{g as D}from"./price-D62LsAs8.js";import{E as H,a as P,b as E}from"./index-Ku6Sz2EJ.js";import{E as S,a as k}from"./index-Cs4PWpId.js";import"./index-mx0WSQ4c.js";import"./index-CnT57L09.js";import"./index-YThWA6RB.js";import"./typescript-BOpWBj_W.js";import"./index-DYnnhtAJ.js";import"./strings-MRnF76Oy.js";import"./castArray-DeMftDkR.js";import"./isEqual-DLFFes9f.js";import"./_initCloneObject-DbztCTz9.js";import"./use-form-item-o9ewPWuR.js";import"./index-YkYnrHwJ.js";import"./index-DM378UJ5.js";import"./debounce-VZSmCnjc.js";import"./_baseIteratee-DChJIcFX.js";import"./index-37AxtFjF.js";import"./index.es-luG_1liH.js";import"./isPlainObject-DmCe5CCK.js";import"./index-Hs3vNnfT.js";const F=y({name:"ConsoleDistributionList",components:{Pagination:g,CopyToClipboard:b,ElRow:E,ElCol:P,ElTable:k,ElTableColumn:S,ElCard:H},data(){return{distributionHistories:[],distributionStatus:void 0,loading:!1,total:void 0,limit:10}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData()},methods:{getPriceString:D,onPageChange(t){this.$router.push({name:this.$route.name?.toString(),query:{page:t}})},onFetchData(){this.loading=!0,Promise.all([this.onFetchDistributionHistory()]).finally(()=>{this.loading=!1})},async onFetchDistributionHistory(){const{data:t}=await w.getAll({user_id:this.$store.getters.user.id,ordering:"-created_at",limit:this.limit,offset:(this.page-1)*this.limit});this.distributionHistories=t.items,this.total=t.count}}}),T={class:"title"},q={class:"key"},B={class:"copy"},I={class:"key"},j={class:"copy"},z={class:"price"},A={class:"description"},N={class:"description"},V={class:"created-at"},J={class:"pagination m-v-lg"};function L(t,O,R,G,K,M){const l=s("el-col"),d=s("el-row"),p=s("copy-to-clipboard"),n=s("el-table-column"),m=s("el-table"),_=s("el-card"),h=s("pagination"),f=v("loading");return u(),c(d,{class:"panel"},{default:o(()=>[e(l,{span:24},{default:o(()=>[e(d,null,{default:o(()=>[e(l,{span:24},{default:o(()=>[a("h2",T,r(t.$t("common.title.distributionHistory")),1)]),_:1})]),_:1}),e(d,null,{default:o(()=>[e(l,{span:24},{default:o(()=>[e(_,{shadow:"hover"},{default:o(()=>[C((u(),c(m,{data:t.distributionHistories,stripe:""},{default:o(()=>[e(n,{prop:"id",label:t.$t("distribution.field.id"),"class-name":"text-center",width:"350px"},{default:o(i=>[a("span",q,r(i.row.id),1),a("span",B,[e(p,{content:i.row.id},null,8,["content"])])]),_:1},8,["label"]),e(n,{prop:"id",label:t.$t("distribution.field.userId"),"class-name":"text-center",width:"350px"},{default:o(i=>[a("span",I,r(i.row.user_id),1),a("span",j,[e(p,{content:i.row.user_id},null,8,["content"])])]),_:1},8,["label"]),e(n,{label:t.$t("distribution.field.price"),width:"100px"},{default:o(i=>[a("span",z,r(t.getPriceString({value:i.row?.price})),1)]),_:1},8,["label"]),e(n,{label:t.$t("distribution.field.reward"),width:"100px"},{default:o(i=>[a("span",A,r(t.getPriceString({value:i.row?.reward})),1)]),_:1},8,["label"]),e(n,{label:t.$t("distribution.field.percentage"),width:"120px"},{default:o(i=>[a("span",N,r(i.row.percentage)+"%",1)]),_:1},8,["label"]),e(n,{label:t.$t("distribution.field.createdAt"),width:"200px"},{default:o(i=>[a("span",V,r(t.$dayjs.format(i.row.created_at)),1)]),_:1},8,["label"])]),_:1},8,["data"])),[[f,t.loading]])]),_:1})]),_:1})]),_:1}),e(d,null,{default:o(()=>[e(l,{span:10,offset:14},{default:o(()=>[a("div",J,[e(h,{"current-page":t.page,"page-size":t.limit,total:t.total,onChange:t.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const bt=$(F,[["render",L],["__scopeId","data-v-74b9e778"]]);export{bt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as d}from"./index.es-
|
|
1
|
+
import{F as d}from"./index.es-luG_1liH.js";import{E as m}from"./index-b8eWDndR.js";import{d as u,h as f,b as r,t,J as s,y as g,K as a,k as n,l,aq as b,o as i}from"./index-D1FLNvCi.js";const v=u({name:"ImagePreview",components:{FontAwesomeIcon:d,ElProgress:m},props:{url:{type:String,required:!0},name:{type:String,required:!0},percentage:{type:Number,required:!1,default:void 0},closable:{type:Boolean,required:!1,default:!0}},emits:["remove"]}),h={class:"image w-[50px] h-[50px] relative rounded-[var(--el-border-radius-base)] overflow-hidden border border-[var(--el-border-color)] bg-[var(--el-fill-color-lighter)]"},w=["src","alt"],x={class:"overlay absolute inset-0 bg-white/50 backdrop-blur-[1px]"},_={key:0,class:"close absolute cursor-pointer top-[4px] right-[4px] bg-[rgba(0,0,0,0.65)] text-white w-[16px] h-[16px] rounded-full flex text-[10px] text-center items-center justify-center hover:bg-[rgba(0,0,0,0.8)]"};function y(e,o,k,$,q,B){const c=l("el-progress"),p=l("font-awesome-icon");return i(),r("div",h,[t("img",{class:"w-full h-full object-cover",src:e.url,alt:e.name},null,8,w),s(t("div",x,null,512),[[a,e.percentage&&e.percentage<100]]),s(n(c,{type:"circle","stroke-width":4,percentage:e.percentage,width:34,class:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[34px] h-[34px] z-[10] m-auto text-[12px]"},null,8,["percentage"]),[[a,e.percentage&&e.percentage<100]]),e.closable?(i(),r("div",_,[n(p,{icon:"fa-solid fa-xmark",class:"icon icon-close",onClick:o[0]||(o[0]=b(C=>e.$emit("remove"),["stop"]))})])):g("",!0)])}const P=f(v,[["render",y]]);export{P as I};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E as i}from"./index-
|
|
1
|
+
import{E as i}from"./index-D3JIjilD.js";import{d as l,h as m,b as a,y as p,i as d,j as u,D as g,x as f,l as y,o as s}from"./index-D1FLNvCi.js";const w=l({name:"ImageWrapper",components:{ElButton:i},props:{src:{type:String,required:!0},rawSrc:{type:String,required:!1,default:void 0}},methods:{onOpenUrl(e){window.open(e,"_blank")},onReload(e){const r=e.target,t=new URL(r.src),o=t.searchParams.get("retry");if(!o)t.searchParams.set("retry","1");else if(parseInt(o)<2)t.searchParams.set("retry",(parseInt(o)+1).toString());else return;r.src=t.toString()}}}),S={class:"image-wrapper"},_=["src"];function b(e,r,t,o,k,I){const c=y("el-button");return s(),a("div",S,[e.src?(s(),a("img",{key:0,src:e.src,class:"image",onError:r[0]||(r[0]=n=>e.onReload(n))},null,40,_)):p("",!0),e.rawSrc?(s(),d(c,{key:1,type:"info",round:"",class:"btn-raw",onClick:r[1]||(r[1]=n=>e.onOpenUrl(e.rawSrc))},{default:u(()=>[g(f(e.$t("common.button.seeRawImage")),1)]),_:1})):p("",!0)])}const v=m(w,[["render",b],["__scopeId","data-v-012b4a9e"]]);export{v as I};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as U}from"./index.es-Dw-ikv9u.js";import{E as C}from"./index-Ba60uEk-.js";import{E as W}from"./index-h2hg5mzg.js";import{d as k,h as y,b as l,t as c,k as o,r as P,j as $,l as s,o as a,x as n,cf as H,D as p,F as A,v as E,i as V,fs as x,ft as K,fu as S,fv as T,fw as j,fx as M,fy as D,y as b,n as O,aq as J,fz as Q,dN as X,dJ as F}from"./index-Cltw-TPy.js";import{I as q,S as Y}from"./ScrollList-BsWg1Oco.js";import{E as Z}from"./index-BY87tdIk.js";import{I as z}from"./ImagePreview-fjeQ_mXr.js";import{E as ee}from"./index-DTitzyRz.js";import{E as I}from"./index-C7JbjCIG.js";import{E as B,a as G}from"./index-DU1Jn2Bq.js";import{C as te,N as oe}from"./NoTasks-Cxeor42D.js";import{a as ne}from"./price-B71O9NlG.js";import{C as ae}from"./CopyToClipboard-B0sXY0gf.js";import{I as se}from"./ImageWrapper-ChFtniNG.js";import{E as le}from"./index-Bp5pMMj1.js";import{E as re}from"./index-CHfsm--8.js";import{E as ie}from"./index-Bk5nP9u2.js";import{B as ce}from"./BotPlaceholder-Bn7lEbyW.js";import"./use-form-item-Be29d0-B.js";import"./index-r5W6hzzQ.js";import"./typescript-DOVFb1BD.js";import"./index-Daydyphg.js";import"./index-BhccfPia.js";import"./index-RTh02r3m.js";import"./_baseClone-Bm9igNTj.js";import"./_initCloneObject-CAySSrJV.js";import"./isEqual-CbOgjKmk.js";import"./index-CpH9j3dB.js";import"./strings-CNKL_IWi.js";import"./castArray-CGkY3K20.js";import"./debounce-CguuKO1r.js";import"./_baseIteratee-C0prYj3x.js";import"./index-BjFSM9Qd.js";import"./index-TO8m0FZI.js";const ue=k({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:C,FontAwesomeIcon:U},data(){return{drawer:!1}}}),de={class:"main flex flex-row flex-1"},me={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},pe={class:"result h-full p-[15px] flex-1 flex flex-col"};function fe(e,t,g,r,u,f){const h=s("font-awesome-icon"),_=s("el-button"),d=s("el-drawer");return a(),l("div",de,[c("div",me,[P(e.$slots,"config",{},void 0,!0)]),c("div",pe,[P(e.$slots,"result",{},void 0,!0)]),o(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=m=>e.drawer=!0)},{default:$(()=>[o(h,{icon:"fa-solid fa-magic"})]),_:1}),o(d,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=m=>e.drawer=m),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:$(()=>[P(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const he=y(ue,[["render",fe],["__scopeId","data-v-3794959b"]]),_e="",ge=k({name:"PromptInput",components:{ElInput:Z,InfoIcon:q},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)}}),be={class:"field"},$e={class:"box"},ve={class:"title font-bold"};function ke(e,t,g,r,u,f){const h=s("info-icon"),_=s("el-input");return a(),l("div",be,[c("div",$e,[c("h2",ve,n(e.$t("nanobanana.name.prompt")),1),o(h,{content:e.$t("nanobanana.description.prompt"),class:"info"},null,8,["content"])]),o(_,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=d=>e.prompt=d),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("nanobanana.placeholder.prompt"),maxlength:300,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const ye=y(ge,[["render",ke],["__scopeId","data-v-38b040ab"]]),we=k({name:"ImageUrlsInput",components:{ElUpload:ee,ElButton:C,InfoIcon:q,ImagePreview:z,FontAwesomeIcon:U},data(){return{fileList:[],uploadUrl:H()+"/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 r=(this.fileList||[]).filter(u=>!u?.response?.file_url);this.fileList=r.length?r:[];return}const t=[];e.forEach(r=>{const u=this.fileList.find(f=>f?.response?.file_url===r||f?.url===r);u?t.push(u):t.push({name:r.split("/").pop()||r,url:r,status:"success",percentage:100,response:{file_url:r}})}),(this.fileList||[]).filter(r=>!r?.response?.file_url).forEach(r=>{t.some(f=>f===r||f?.url===r?.url||f?.response?.file_url===r?.response?.file_url)||t.push(r)}),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(){I.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){I.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()}}}),Ae={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]"},Ne={class:"controls flex items-center"},Ie={class:"file-list flex flex-wrap gap-[10px]"};function Re(e,t,g,r,u,f){const h=s("font-awesome-icon"),_=s("el-button"),d=s("el-upload"),m=s("info-icon"),w=s("image-preview");return a(),l(A,null,[c("div",Ae,[c("h2",Ve,n(e.$t("nanobanana.name.imageUrls")),1),c("div",Ee,[c("div",Ne,[o(d,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=i=>e.fileList=i),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(_,{size:"small",type:"primary",round:""},{default:$(()=>[o(h,{icon:"fa-solid fa-upload",class:"mr-1"}),p(" "+n(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),o(m,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",Ie,[(a(!0),l(A,null,E(e.fileList,(i,v)=>(a(),V(w,{key:i.uid||i?.response?.file_url||i.url||v,url:i.url||i?.response?.file_url,name:i.name,percentage:i.percentage,onRemove:N=>e.onRemovePreview(v,i)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Le=y(we,[["render",Re]]),Te=k({name:"AspectRatioSelector",components:{ElSelect:G,ElOption:B},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);const t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit("nanobanana/setConfig",t)}}}}),Se={class:"field"},Ue={class:"title font-bold"};function Ce(e,t,g,r,u,f){const h=s("el-option"),_=s("el-select");return a(),l("div",Se,[c("h2",Ue,n(e.$t("nanobanana.name.aspectRatio")),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",clearable:"",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(a(!0),l(A,null,E(e.options,d=>(a(),V(h,{key:d,label:d,value:d},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Oe=y(Te,[["render",Ce],["__scopeId","data-v-67f08a08"]]),qe=k({name:"NanobananaModelSelector",components:{ElSelect:G,ElOption:B,InfoIcon:q},data(){return{options:[{value:K,label:this.$t("nanobanana.model.nanoBanana")},{value:S,label:this.$t("nanobanana.model.nanoBananaPro")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t("nanobanana.description.model")}},mounted(){this.value||(this.value=x)}}),Pe={class:"field"},Be={class:"label"},Ge={class:"box"},je={class:"title font-bold"};function Me(e,t,g,r,u,f){const h=s("info-icon"),_=s("el-option"),d=s("el-select");return a(),l("div",Pe,[c("div",Be,[c("div",Ge,[c("h2",je,n(e.$t("nanobanana.name.model")),1),o(h,{content:e.modelDescription,class:"info"},null,8,["content"])])]),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(a(!0),l(A,null,E(e.options,m=>(a(),V(_,{key:m.value,label:m.label,value:m.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const De=y(qe,[["render",Me],["__scopeId","data-v-e279ee32"]]),Fe=k({name:"NanobananaResolutionSelector",components:{ElSelect:G,ElOption:B,InfoIcon:q},data(){return{cachedResolution:T,options:[{value:j,label:j},{value:M,label:M},{value:D,label:D}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model===S}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||(this.value=this.cachedResolution||T):(this.value&&(this.cachedResolution=this.value),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=T),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),ze={class:"field"},We={class:"label"},He={class:"box"},xe={class:"title font-bold"};function Ke(e,t,g,r,u,f){const h=s("info-icon"),_=s("el-option"),d=s("el-select");return a(),l("div",ze,[c("div",We,[c("div",He,[c("h2",xe,n(e.$t("nanobanana.name.resolution")),1),o(h,{content:e.$t("nanobanana.description.resolutionProOnly"),class:"info"},null,8,["content"])])]),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:$(()=>[(a(!0),l(A,null,E(e.options,m=>(a(),V(_,{key:m.value,label:m.label,value:m.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const Je=y(Fe,[["render",Ke],["__scopeId","data-v-05ae87bb"]]),Qe=k({name:"ConfigPanel",components:{ElButton:C,FontAwesomeIcon:U,PromptInput:ye,Consumption:te,ImageUrlsInput:Le,AspectRatioSelector:Oe,ModelSelector:De,ResolutionSelector:Je},emits:["generate"],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return ne({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Xe={class:"flex flex-col h-full"},Ye={class:"flex-1 overflow-y-auto p-[15px]"},Ze={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function et(e,t,g,r,u,f){const h=s("model-selector"),_=s("resolution-selector"),d=s("prompt-input"),m=s("aspect-ratio-selector"),w=s("image-urls-input"),i=s("consumption"),v=s("font-awesome-icon"),N=s("el-button");return a(),l("div",Xe,[c("div",Ye,[o(h,{class:"mb-4"}),o(_,{class:"mb-4"}),o(d,{class:"mb-4"}),o(m,{class:"mb-4"}),o(w,{class:"mb-4"})]),c("div",Ze,[o(i,{value:e.consumption,service:e.service},null,8,["value","service"]),o(N,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:$(()=>[o(v,{icon:"fa-solid fa-magic",class:"mr-2"}),p(" "+n(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const tt=y(Qe,[["render",et]]),ot=k({name:"TaskPreview",components:{ElImage:ie,CopyToClipboard:ae,FontAwesomeIcon:U,ElAlert:re,ImageWrapper:se,ElButton:C,ElTooltip:le,ImagePreview:z},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){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit("nanobanana/setConfig",t)}}}),nt={class:"preview"},at={class:"left"},st={class:"main"},lt={class:"bot"},rt={class:"datetime"},it={class:"info"},ct={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},ut={key:1,class:"prompt mt-2"},dt={key:0},mt={key:0,class:O({content:!0,failed:!0})},pt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},ft={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},ht={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},_t={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},vt={key:1,class:O({content:!0})},kt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Nt={key:2,class:O({content:!0})},It={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function St(e,t,g,r,u,f){const h=s("el-image"),_=s("image-preview"),d=s("image-wrapper"),m=s("el-button"),w=s("el-tooltip"),i=s("font-awesome-icon"),v=s("copy-to-clipboard"),N=s("el-alert");return a(),l("div",nt,[c("div",at,[o(h,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),c("div",st,[c("div",lt,[p(n(e.$t("nanobanana.name.nanobananaBot"))+" ",1),c("span",rt,n(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",it,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(a(),l("div",ct,[(a(!0),l(A,null,E(e.modelValue?.request?.image_urls,(R,L)=>(a(),V(_,{key:L,url:R,name:`image-${L+1}`,closable:!1},null,8,["url","name"]))),128))])):b("",!0),e.modelValue?.request?.prompt?(a(),l("p",ut,[p(n(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?b("",!0):(a(),l("span",dt," - ("+n(e.$t("nanobanana.status.pending"))+") ",1))])):b("",!0)]),e.modelValue?.response?.success===!0?(a(),l("div",mt,[c("div",pt,[(a(!0),l(A,null,E(e.images,(R,L)=>(a(),V(d,{key:L,src:R?.image_url,"raw-src":R?.image_url},null,8,["src","raw-src"]))),128))]),c("div",ft,[o(w,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:$(()=>[o(m,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=J(R=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:$(()=>[p(n(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(N,{closable:!1,class:"mt-2 success"},{default:$(()=>[e.modelValue?.request?.model?(a(),l("p",ht,[o(i,{icon:"fa-solid fa-cube",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.model"))+": "+n(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(a(),l("p",_t,[o(i,{icon:"fa-solid fa-image",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.resolution"))+": "+n(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.action?(a(),l("p",gt,[o(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.task"))+": "+n(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",bt,[o(i,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),l("p",$t,[o(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):b("",!0)]),_:1})])):b("",!0),e.modelValue?.response?.success===!1?(a(),l("div",vt,[o(N,{closable:!1,class:"failure"},{template:$(()=>[o(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(a(),l("p",kt,[o(i,{icon:"fa-solid fa-cube",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.model"))+": "+n(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(a(),l("p",yt,[o(i,{icon:"fa-solid fa-image",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.resolution"))+": "+n(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.action?(a(),l("p",wt,[o(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.task"))+": "+n(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",At,[o(i,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",Vt,[o(i,{icon:"fa-solid fa-circle-info",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.failureReason"))+": "+n(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(),l("p",Et,[o(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):b("",!0)]),_:1})])):b("",!0),e.modelValue?.response?b("",!0):(a(),l("div",Nt,[o(N,{closable:!1,class:"info"},{template:$(()=>[o(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(a(),l("p",It,[o(i,{icon:"fa-solid fa-cube",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.model"))+": "+n(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(a(),l("p",Rt,[o(i,{icon:"fa-solid fa-image",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.resolution"))+": "+n(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.action?(a(),l("p",Lt,[o(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.task"))+": "+n(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",Tt,[o(i,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Ut=y(ot,[["render",St],["__scopeId","data-v-c93459a1"]]),Ct=k({name:"RecentPanel",components:{TaskPreview:Ut,BotPlaceholder:ce,NoTasks:oe,ScrollList:Y},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ot={key:0},qt={key:2,class:"w-full h-full flex items-center justify-center"};function Pt(e,t,g,r,u,f){const h=s("bot-placeholder"),_=s("task-preview"),d=s("scroll-list"),m=s("no-tasks");return a(),l(A,null,[e.tasks?.items===void 0?(a(),l("div",Ot,[o(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),V(d,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=w=>e.$emit("reach-top"))},{default:$(()=>[(a(!0),l(A,null,E(e.tasks?.items,w=>(a(),V(_,{key:w.id,"model-value":w},null,8,["model-value"]))),128))]),_:1},8,["loading"])):b("",!0),e.tasks?.items?.length===0?(a(),l("div",qt,[o(m)])):b("",!0)],64)}const Bt=y(Ct,[["render",Pt]]),Gt="https://webhook.acedata.cloud/nanobanana",jt=k({name:"NanobananaIndex",components:{ConfigPanel:tt,Layout:he,RecentPanel:Bt},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===F.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(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const g=this.tasks?.items?.[0];if(!g?.created_at)return;const u=this.$refs.recentPanel?.getScrollElement?.(),f=u?.scrollHeight||0,h=u?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:g.created_at}),await this.$nextTick(),u){const _=u.scrollHeight;u.scrollTop=_-f+h}}finally{this.loading=!1}},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(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:g,createdAtMax:r}=e||{};console.debug("limit",t,"createdAtMin",g,"createdAtMax",r),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:g,createdAtMax:r})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&"image_urls"in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model!==S&&"resolution"in e&&delete e.resolution,e?.model===S&&!e?.resolution&&(e.resolution=T);const g={...e,action:t?"edit":"generate",callback_url:Gt},r=this.credential?.token;if(!r){console.error("no token specified");return}I.info(this.$t("nanobanana.message.startingTask")),Q.generate(g,{token:r}).then(()=>{I.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(u=>{const f=u?.response?.data;f?.error?.code===X?I.error(this.$t("nanobanana.message.usedUp")):I.error(this.$t("nanobanana.message.startTaskFailed")+(f?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Mt(e,t,g,r,u,f){const h=s("config-panel"),_=s("recent-panel"),d=s("layout");return a(),V(d,null,{config:$(()=>[o(h,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:$(()=>[o(_,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const wo=y(jt,[["render",Mt]]);export{wo as default};
|
|
1
|
+
import{F as U}from"./index.es-luG_1liH.js";import{E as C}from"./index-D3JIjilD.js";import{E as W}from"./index-CiHUKD8b.js";import{d as k,h as y,b as l,t as c,k as o,r as P,j as $,l as s,o as a,x as n,cf as H,D as p,F as A,v as E,i as V,fs as x,ft as K,fu as S,fv as T,fw as j,fx as M,fy as D,y as b,n as O,aq as J,fz as Q,dN as X,dJ as F}from"./index-D1FLNvCi.js";import{I as q,S as Y}from"./ScrollList-Da5H8n1W.js";import{E as Z}from"./index-YkYnrHwJ.js";import{I as z}from"./ImagePreview-B9AiNOkr.js";import{E as ee}from"./index-DocBcnBZ.js";import{E as I}from"./index--7ePKMSn.js";import{E as B,a as G}from"./index-mx0WSQ4c.js";import{C as te,N as oe}from"./NoTasks-LBG69HXd.js";import{a as ne}from"./price-D62LsAs8.js";import{C as ae}from"./CopyToClipboard-BaNpbWBZ.js";import{I as se}from"./ImageWrapper-CxP_Xv7_.js";import{E as le}from"./index-CnT57L09.js";import{E as re}from"./index-De2Qy988.js";import{E as ie}from"./index-3NYwkLyG.js";import{B as ce}from"./BotPlaceholder-CWIWz7Gv.js";import"./use-form-item-o9ewPWuR.js";import"./index-r5W6hzzQ.js";import"./typescript-BOpWBj_W.js";import"./index-YThWA6RB.js";import"./index-DM378UJ5.js";import"./index-b8eWDndR.js";import"./_baseClone-BMdvC2Mn.js";import"./_initCloneObject-DbztCTz9.js";import"./isEqual-DLFFes9f.js";import"./index-DYnnhtAJ.js";import"./strings-MRnF76Oy.js";import"./castArray-DeMftDkR.js";import"./debounce-VZSmCnjc.js";import"./_baseIteratee-DChJIcFX.js";import"./index-37AxtFjF.js";import"./index-CStoqsn2.js";const ue=k({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:C,FontAwesomeIcon:U},data(){return{drawer:!1}}}),de={class:"main flex flex-row flex-1"},me={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},pe={class:"result h-full p-[15px] flex-1 flex flex-col"};function fe(e,t,g,r,u,f){const h=s("font-awesome-icon"),_=s("el-button"),d=s("el-drawer");return a(),l("div",de,[c("div",me,[P(e.$slots,"config",{},void 0,!0)]),c("div",pe,[P(e.$slots,"result",{},void 0,!0)]),o(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=m=>e.drawer=!0)},{default:$(()=>[o(h,{icon:"fa-solid fa-magic"})]),_:1}),o(d,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=m=>e.drawer=m),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:$(()=>[P(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const he=y(ue,[["render",fe],["__scopeId","data-v-3794959b"]]),_e="",ge=k({name:"PromptInput",components:{ElInput:Z,InfoIcon:q},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)}}),be={class:"field"},$e={class:"box"},ve={class:"title font-bold"};function ke(e,t,g,r,u,f){const h=s("info-icon"),_=s("el-input");return a(),l("div",be,[c("div",$e,[c("h2",ve,n(e.$t("nanobanana.name.prompt")),1),o(h,{content:e.$t("nanobanana.description.prompt"),class:"info"},null,8,["content"])]),o(_,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=d=>e.prompt=d),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("nanobanana.placeholder.prompt"),maxlength:300,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const ye=y(ge,[["render",ke],["__scopeId","data-v-38b040ab"]]),we=k({name:"ImageUrlsInput",components:{ElUpload:ee,ElButton:C,InfoIcon:q,ImagePreview:z,FontAwesomeIcon:U},data(){return{fileList:[],uploadUrl:H()+"/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 r=(this.fileList||[]).filter(u=>!u?.response?.file_url);this.fileList=r.length?r:[];return}const t=[];e.forEach(r=>{const u=this.fileList.find(f=>f?.response?.file_url===r||f?.url===r);u?t.push(u):t.push({name:r.split("/").pop()||r,url:r,status:"success",percentage:100,response:{file_url:r}})}),(this.fileList||[]).filter(r=>!r?.response?.file_url).forEach(r=>{t.some(f=>f===r||f?.url===r?.url||f?.response?.file_url===r?.response?.file_url)||t.push(r)}),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(){I.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){I.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()}}}),Ae={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]"},Ne={class:"controls flex items-center"},Ie={class:"file-list flex flex-wrap gap-[10px]"};function Re(e,t,g,r,u,f){const h=s("font-awesome-icon"),_=s("el-button"),d=s("el-upload"),m=s("info-icon"),w=s("image-preview");return a(),l(A,null,[c("div",Ae,[c("h2",Ve,n(e.$t("nanobanana.name.imageUrls")),1),c("div",Ee,[c("div",Ne,[o(d,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=i=>e.fileList=i),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(_,{size:"small",type:"primary",round:""},{default:$(()=>[o(h,{icon:"fa-solid fa-upload",class:"mr-1"}),p(" "+n(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),o(m,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",Ie,[(a(!0),l(A,null,E(e.fileList,(i,v)=>(a(),V(w,{key:i.uid||i?.response?.file_url||i.url||v,url:i.url||i?.response?.file_url,name:i.name,percentage:i.percentage,onRemove:N=>e.onRemovePreview(v,i)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Le=y(we,[["render",Re]]),Te=k({name:"AspectRatioSelector",components:{ElSelect:G,ElOption:B},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);const t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit("nanobanana/setConfig",t)}}}}),Se={class:"field"},Ue={class:"title font-bold"};function Ce(e,t,g,r,u,f){const h=s("el-option"),_=s("el-select");return a(),l("div",Se,[c("h2",Ue,n(e.$t("nanobanana.name.aspectRatio")),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",clearable:"",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(a(!0),l(A,null,E(e.options,d=>(a(),V(h,{key:d,label:d,value:d},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Oe=y(Te,[["render",Ce],["__scopeId","data-v-67f08a08"]]),qe=k({name:"NanobananaModelSelector",components:{ElSelect:G,ElOption:B,InfoIcon:q},data(){return{options:[{value:K,label:this.$t("nanobanana.model.nanoBanana")},{value:S,label:this.$t("nanobanana.model.nanoBananaPro")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t("nanobanana.description.model")}},mounted(){this.value||(this.value=x)}}),Pe={class:"field"},Be={class:"label"},Ge={class:"box"},je={class:"title font-bold"};function Me(e,t,g,r,u,f){const h=s("info-icon"),_=s("el-option"),d=s("el-select");return a(),l("div",Pe,[c("div",Be,[c("div",Ge,[c("h2",je,n(e.$t("nanobanana.name.model")),1),o(h,{content:e.modelDescription,class:"info"},null,8,["content"])])]),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(a(!0),l(A,null,E(e.options,m=>(a(),V(_,{key:m.value,label:m.label,value:m.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const De=y(qe,[["render",Me],["__scopeId","data-v-e279ee32"]]),Fe=k({name:"NanobananaResolutionSelector",components:{ElSelect:G,ElOption:B,InfoIcon:q},data(){return{cachedResolution:T,options:[{value:j,label:j},{value:M,label:M},{value:D,label:D}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model===S}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||(this.value=this.cachedResolution||T):(this.value&&(this.cachedResolution=this.value),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=T),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),ze={class:"field"},We={class:"label"},He={class:"box"},xe={class:"title font-bold"};function Ke(e,t,g,r,u,f){const h=s("info-icon"),_=s("el-option"),d=s("el-select");return a(),l("div",ze,[c("div",We,[c("div",He,[c("h2",xe,n(e.$t("nanobanana.name.resolution")),1),o(h,{content:e.$t("nanobanana.description.resolutionProOnly"),class:"info"},null,8,["content"])])]),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:$(()=>[(a(!0),l(A,null,E(e.options,m=>(a(),V(_,{key:m.value,label:m.label,value:m.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const Je=y(Fe,[["render",Ke],["__scopeId","data-v-05ae87bb"]]),Qe=k({name:"ConfigPanel",components:{ElButton:C,FontAwesomeIcon:U,PromptInput:ye,Consumption:te,ImageUrlsInput:Le,AspectRatioSelector:Oe,ModelSelector:De,ResolutionSelector:Je},emits:["generate"],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return ne({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Xe={class:"flex flex-col h-full"},Ye={class:"flex-1 overflow-y-auto p-[15px]"},Ze={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function et(e,t,g,r,u,f){const h=s("model-selector"),_=s("resolution-selector"),d=s("prompt-input"),m=s("aspect-ratio-selector"),w=s("image-urls-input"),i=s("consumption"),v=s("font-awesome-icon"),N=s("el-button");return a(),l("div",Xe,[c("div",Ye,[o(h,{class:"mb-4"}),o(_,{class:"mb-4"}),o(d,{class:"mb-4"}),o(m,{class:"mb-4"}),o(w,{class:"mb-4"})]),c("div",Ze,[o(i,{value:e.consumption,service:e.service},null,8,["value","service"]),o(N,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:$(()=>[o(v,{icon:"fa-solid fa-magic",class:"mr-2"}),p(" "+n(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const tt=y(Qe,[["render",et]]),ot=k({name:"TaskPreview",components:{ElImage:ie,CopyToClipboard:ae,FontAwesomeIcon:U,ElAlert:re,ImageWrapper:se,ElButton:C,ElTooltip:le,ImagePreview:z},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){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit("nanobanana/setConfig",t)}}}),nt={class:"preview"},at={class:"left"},st={class:"main"},lt={class:"bot"},rt={class:"datetime"},it={class:"info"},ct={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},ut={key:1,class:"prompt mt-2"},dt={key:0},mt={key:0,class:O({content:!0,failed:!0})},pt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},ft={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},ht={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},_t={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},vt={key:1,class:O({content:!0})},kt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Nt={key:2,class:O({content:!0})},It={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function St(e,t,g,r,u,f){const h=s("el-image"),_=s("image-preview"),d=s("image-wrapper"),m=s("el-button"),w=s("el-tooltip"),i=s("font-awesome-icon"),v=s("copy-to-clipboard"),N=s("el-alert");return a(),l("div",nt,[c("div",at,[o(h,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),c("div",st,[c("div",lt,[p(n(e.$t("nanobanana.name.nanobananaBot"))+" ",1),c("span",rt,n(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",it,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(a(),l("div",ct,[(a(!0),l(A,null,E(e.modelValue?.request?.image_urls,(R,L)=>(a(),V(_,{key:L,url:R,name:`image-${L+1}`,closable:!1},null,8,["url","name"]))),128))])):b("",!0),e.modelValue?.request?.prompt?(a(),l("p",ut,[p(n(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?b("",!0):(a(),l("span",dt," - ("+n(e.$t("nanobanana.status.pending"))+") ",1))])):b("",!0)]),e.modelValue?.response?.success===!0?(a(),l("div",mt,[c("div",pt,[(a(!0),l(A,null,E(e.images,(R,L)=>(a(),V(d,{key:L,src:R?.image_url,"raw-src":R?.image_url},null,8,["src","raw-src"]))),128))]),c("div",ft,[o(w,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:$(()=>[o(m,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=J(R=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:$(()=>[p(n(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(N,{closable:!1,class:"mt-2 success"},{default:$(()=>[e.modelValue?.request?.model?(a(),l("p",ht,[o(i,{icon:"fa-solid fa-cube",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.model"))+": "+n(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(a(),l("p",_t,[o(i,{icon:"fa-solid fa-image",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.resolution"))+": "+n(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.action?(a(),l("p",gt,[o(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.task"))+": "+n(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",bt,[o(i,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),l("p",$t,[o(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):b("",!0)]),_:1})])):b("",!0),e.modelValue?.response?.success===!1?(a(),l("div",vt,[o(N,{closable:!1,class:"failure"},{template:$(()=>[o(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(a(),l("p",kt,[o(i,{icon:"fa-solid fa-cube",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.model"))+": "+n(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(a(),l("p",yt,[o(i,{icon:"fa-solid fa-image",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.resolution"))+": "+n(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.action?(a(),l("p",wt,[o(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.task"))+": "+n(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",At,[o(i,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",Vt,[o(i,{icon:"fa-solid fa-circle-info",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.failureReason"))+": "+n(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(),l("p",Et,[o(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):b("",!0)]),_:1})])):b("",!0),e.modelValue?.response?b("",!0):(a(),l("div",Nt,[o(N,{closable:!1,class:"info"},{template:$(()=>[o(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(a(),l("p",It,[o(i,{icon:"fa-solid fa-cube",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.model"))+": "+n(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(a(),l("p",Rt,[o(i,{icon:"fa-solid fa-image",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.resolution"))+": "+n(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.action?(a(),l("p",Lt,[o(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.task"))+": "+n(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",Tt,[o(i,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Ut=y(ot,[["render",St],["__scopeId","data-v-c93459a1"]]),Ct=k({name:"RecentPanel",components:{TaskPreview:Ut,BotPlaceholder:ce,NoTasks:oe,ScrollList:Y},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ot={key:0},qt={key:2,class:"w-full h-full flex items-center justify-center"};function Pt(e,t,g,r,u,f){const h=s("bot-placeholder"),_=s("task-preview"),d=s("scroll-list"),m=s("no-tasks");return a(),l(A,null,[e.tasks?.items===void 0?(a(),l("div",Ot,[o(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),V(d,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=w=>e.$emit("reach-top"))},{default:$(()=>[(a(!0),l(A,null,E(e.tasks?.items,w=>(a(),V(_,{key:w.id,"model-value":w},null,8,["model-value"]))),128))]),_:1},8,["loading"])):b("",!0),e.tasks?.items?.length===0?(a(),l("div",qt,[o(m)])):b("",!0)],64)}const Bt=y(Ct,[["render",Pt]]),Gt="https://webhook.acedata.cloud/nanobanana",jt=k({name:"NanobananaIndex",components:{ConfigPanel:tt,Layout:he,RecentPanel:Bt},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===F.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(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const g=this.tasks?.items?.[0];if(!g?.created_at)return;const u=this.$refs.recentPanel?.getScrollElement?.(),f=u?.scrollHeight||0,h=u?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:g.created_at}),await this.$nextTick(),u){const _=u.scrollHeight;u.scrollTop=_-f+h}}finally{this.loading=!1}},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(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:g,createdAtMax:r}=e||{};console.debug("limit",t,"createdAtMin",g,"createdAtMax",r),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:g,createdAtMax:r})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&"image_urls"in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model!==S&&"resolution"in e&&delete e.resolution,e?.model===S&&!e?.resolution&&(e.resolution=T);const g={...e,action:t?"edit":"generate",callback_url:Gt},r=this.credential?.token;if(!r){console.error("no token specified");return}I.info(this.$t("nanobanana.message.startingTask")),Q.generate(g,{token:r}).then(()=>{I.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(u=>{const f=u?.response?.data;f?.error?.code===X?I.error(this.$t("nanobanana.message.usedUp")):I.error(this.$t("nanobanana.message.startTaskFailed")+(f?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Mt(e,t,g,r,u,f){const h=s("config-panel"),_=s("recent-panel"),d=s("layout");return a(),V(d,null,{config:$(()=>[o(h,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:$(()=>[o(_,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const wo=y(jt,[["render",Mt]]);export{wo as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E,a as T,b as D}from"./EditArray-
|
|
1
|
+
import{E,a as T,b as D}from"./EditArray-D56-95ng.js";import{d as F,H as U,h as V,i as q,j as s,k as t,l as n,t as l,x as o,D as m,b as I,v as A,F as _,o as w,J as k,y as j,K as C}from"./index-D1FLNvCi.js";import{E as B,a as L}from"./index-D0WBECq3.js";import{E as N}from"./index-Te4f4sQ1.js";import{E as R,a as K,b as O}from"./index-Ku6Sz2EJ.js";import{E as Q}from"./index-3NYwkLyG.js";import{E as H}from"./index-KgukxKxV.js";import"./index-D3JIjilD.js";import"./use-form-item-o9ewPWuR.js";import"./index-r5W6hzzQ.js";import"./index-YkYnrHwJ.js";import"./typescript-BOpWBj_W.js";import"./index-YThWA6RB.js";import"./index-DM378UJ5.js";import"./index.es-luG_1liH.js";import"./index-DocBcnBZ.js";import"./index-b8eWDndR.js";import"./_baseClone-BMdvC2Mn.js";import"./_initCloneObject-DbztCTz9.js";import"./isEqual-DLFFes9f.js";import"./index--7ePKMSn.js";import"./castArray-DeMftDkR.js";import"./debounce-VZSmCnjc.js";const J=F({name:"SiteIndex",components:{EditText:D,EditImage:T,EditArray:E,ElDivider:H,ElRow:O,ElImage:Q,ElCol:K,ElCard:R,ElForm:L,ElSwitch:N,ElFormItem:B},data(){return{editing:{title:!1}}},computed:{site(){return this.$store.getters.site}},methods:{onSave(e){const a={...this.site,...e};U.update(this.site?.id,a).then(()=>{console.debug("getSite for id",this.site?.id),this.$store.dispatch("getSite")})}}}),W={class:"title"},z={class:"title"},G={class:"block w-full"},M={class:"block tip"},P={class:"block w-full"},X={class:"block tip"},Y={class:"block w-full"},Z={class:"block tip"},x={class:"block w-full"},ee={class:"block tip"},te={class:"block w-full"},ie={class:"block tip"},se={class:"title"},le={class:"block w-full"},oe={class:"block tip"},ae={class:"block w-full"},de={class:"block tip"},ne={class:"title"},re={class:"block tip"},me={class:"block tip"},pe={class:"title"},ue={class:"w-full"},fe={class:"block tip w-full"},be={key:0},ve={class:"block w-full"},he={class:"block w-full"};function ce(e,a,$e,ge,we,ke){const f=n("el-col"),h=n("el-row"),p=n("el-divider"),d=n("el-form-item"),u=n("edit-text"),c=n("el-image"),$=n("edit-image"),y=n("edit-array"),b=n("el-form"),v=n("el-card"),g=n("el-switch");return w(),q(h,{class:"panel"},{default:s(()=>[t(f,{span:24},{default:s(()=>[t(h,null,{default:s(()=>[t(f,{span:24},{default:s(()=>[l("h2",W,o(e.$t("common.title.site")),1)]),_:1})]),_:1}),t(h,{gutter:15},{default:s(()=>[t(f,{md:12,xs:24},{default:s(()=>[t(v,{shadow:"hover",class:"mb-4"},{default:s(()=>[l("h4",z,o(e.$t("site.title.basicConfig")),1),t(p),t(b,{model:e.site,class:"form","label-width":"auto",style:{"max-width":"600px"}},{default:s(()=>[t(d,{label:e.$t("site.field.origin")},{default:s(()=>[l("span",G,o(e.site.origin),1),l("span",M,o(e.$t("site.message.originTip")),1)]),_:1},8,["label"]),t(d,{label:e.$t("site.field.title")},{default:s(()=>[l("span",P,[m(o(e.site.title)+" ",1),t(u,{"model-value":e.site.title,title:e.$t("site.title.editTitle"),placeholder:e.$t("site.placeholder.title"),onConfirm:a[0]||(a[0]=i=>e.onSave({title:i}))},null,8,["model-value","title","placeholder"])]),l("span",X,o(e.$t("site.message.titleTip")),1)]),_:1},8,["label"]),t(d,{label:e.$t("site.field.logo")},{default:s(()=>[l("span",Y,[t(c,{src:e.site.logo,class:"logo"},null,8,["src"]),t($,{"model-value":e.site.logo,title:e.$t("site.title.editLogo"),tip:e.$t("site.message.editLogoTip"),onConfirm:a[1]||(a[1]=i=>e.onSave({logo:i}))},null,8,["model-value","title","tip"])]),l("span",Z,o(e.$t("site.message.logoTip")),1)]),_:1},8,["label"]),t(d,{label:e.$t("site.field.favicon")},{default:s(()=>[l("span",x,[t(c,{src:e.site.favicon,class:"favicon"},null,8,["src"]),t($,{"model-value":e.site.favicon,title:e.$t("site.title.editFavicon"),tip:e.$t("site.message.editFaviconTip"),onConfirm:a[2]||(a[2]=i=>e.onSave({favicon:i}))},null,8,["model-value","title","tip"])]),l("span",ee,o(e.$t("site.message.faviconTip")),1)]),_:1},8,["label"]),t(p,{"border-style":"dashed"}),t(d,{label:e.$t("site.field.admins")},{default:s(()=>[l("span",te,[m(o(e.site.admins?.join(", "))+" ",1),t(y,{"model-value":e.site?.admins||[],title:e.$t("site.title.editAdmins"),placeholder:e.$t("site.placeholder.admins"),tip:e.$t("site.message.adminsTip2"),min:1,"min-error-message":e.$t("site.message.atLeastOneAdmin"),onConfirm:a[3]||(a[3]=i=>e.onSave({admins:i}))},null,8,["model-value","title","placeholder","tip","min-error-message"])]),l("span",ie,o(e.$t("site.message.adminsTip")),1)]),_:1},8,["label"])]),_:1},8,["model"])]),_:1}),t(v,{shadow:"hover"},{default:s(()=>[l("h4",se,o(e.$t("site.title.seoConfig")),1),t(p),t(b,{model:e.site,class:"form","label-width":"auto",style:{"max-width":"600px"}},{default:s(()=>[t(d,{label:e.$t("site.field.description")},{default:s(()=>[l("span",le,[m(o(e.site.description)+" ",1),t(u,{"model-value":e.site.description,title:e.$t("site.title.editDescription"),placeholder:e.$t("site.placeholder.description"),onConfirm:a[4]||(a[4]=i=>e.onSave({description:i}))},null,8,["model-value","title","placeholder"])]),l("span",oe,o(e.$t("site.message.descriptionTip")),1)]),_:1},8,["label"]),t(d,{label:e.$t("site.field.keywords")},{default:s(()=>[l("span",ae,[m(o(e.site.keywords?.join(", "))+" ",1),t(y,{"model-value":e.site?.keywords||[],title:e.$t("site.title.editKeywords"),placeholder:e.$t("site.placeholder.keywords"),tip:e.$t("site.message.keywordsTip2"),onConfirm:a[5]||(a[5]=i=>e.onSave({keywords:i}))},null,8,["model-value","title","placeholder","tip"])]),l("span",de,o(e.$t("site.message.keywordsTip")),1)]),_:1},8,["label"])]),_:1},8,["model"])]),_:1})]),_:1}),t(f,{md:12,xs:24},{default:s(()=>[t(v,{shadow:"hover",class:"mb-4"},{default:s(()=>[l("h4",ne,o(e.$t("site.title.distributionConfig")),1),t(p),t(b,{model:e.site,class:"form","label-width":"auto",style:{"max-width":"600px"}},{default:s(()=>[t(d,{label:e.$t("site.field.distributionDefaultInviterId")},{default:s(()=>[m(o(e.site.distribution?.default_inviter_id)+" ",1),t(u,{"model-value":e.site.distribution?.default_inviter_id,title:e.$t("site.title.editDistributionDefaultInviterId"),placeholder:e.$t("site.placeholder.editDistributionDefaultInviterId"),onConfirm:a[6]||(a[6]=i=>e.onSave({distribution:{...e.site.distribution,default_inviter_id:i}}))},null,8,["model-value","title","placeholder"]),l("span",re,o(e.$t("site.message.distributionDefaultInviterIdTip")),1)]),_:1},8,["label"]),t(d,{label:e.$t("site.field.distributionForceInviterId")},{default:s(()=>[m(o(e.site.distribution?.force_inviter_id)+" ",1),t(u,{"model-value":e.site.distribution?.force_inviter_id,title:e.$t("site.title.editDistributionForceInviterId"),placeholder:e.$t("site.placeholder.editDistributionForceInviterId"),onConfirm:a[7]||(a[7]=i=>e.onSave({distribution:{...e.site.distribution,force_inviter_id:i}}))},null,8,["model-value","title","placeholder"]),l("span",me,o(e.$t("site.message.distributionForceInviterIdTip")),1)]),_:1},8,["label"])]),_:1},8,["model"])]),_:1}),t(v,{shadow:"hover"},{default:s(()=>[l("h4",pe,o(e.$t("site.title.featuresConfig")),1),t(p),t(b,{model:e.site,class:"form","label-width":"auto",style:{"max-width":"600px"}},{default:s(()=>[(w(),I(_,null,A(["chat","midjourney","qrart","suno","luma","pika","kling","flux","hailuo","headshots","support"],(i,S)=>t(d,{key:S,label:e.$t("site.field.features"+i.charAt(0).toUpperCase()+i.slice(1))},{default:s(()=>[l("div",ue,[t(g,{"model-value":e.site.features[i]?.enabled||!1,"inline-prompt":"","active-text":e.$t("site.button.enabled"),"inactive-text":e.$t("site.button.disabled"),"onUpdate:modelValue":r=>e.onSave({features:{...e.site.features,[i]:{...e.site.features[i],enabled:r}}})},null,8,["model-value","active-text","inactive-text","onUpdate:modelValue"])]),l("span",fe,o(e.$t("site.message.features"+i.charAt(0).toUpperCase()+i.slice(1))),1),i==="support"?k((w(),I("div",be,[t(d,{label:"WeChat"},{default:s(()=>[t(g,{"model-value":e.site.features[i]?.wechat?.enabled||!1,"inline-prompt":"","active-text":e.$t("site.button.enabled"),"inactive-text":e.$t("site.button.disabled"),"onUpdate:modelValue":r=>e.onSave({features:{...e.site.features,[i]:{...e.site.features[i],wechat:{...e.site.features[i]?.wechat,enabled:r}}}})},null,8,["model-value","active-text","inactive-text","onUpdate:modelValue"])]),_:2},1024),k(t(d,{label:e.$t("site.field.qr")},{default:s(()=>[l("span",ve,[t(c,{src:e.site.features[i]?.wechat?.qr},null,8,["src"]),t($,{"model-value":e.site.features[i]?.wechat?.qr,title:e.$t("site.title.editQR"),tip:e.$t("site.message.editQRTip"),onConfirm:r=>e.onSave({features:{...e.site.features,[i]:{...e.site.features[i],wechat:{...e.site.features[i]?.wechat,qr:r}}}})},null,8,["model-value","title","tip","onConfirm"])])]),_:2},1032,["label"]),[[C,e.site.features[i]?.wechat?.enabled]]),t(d,{label:"Discord"},{default:s(()=>[t(g,{"model-value":e.site.features[i]?.discord?.enabled||!1,"inline-prompt":"","active-text":e.$t("site.button.enabled"),"inactive-text":e.$t("site.button.disabled"),"onUpdate:modelValue":r=>e.onSave({features:{...e.site.features,[i]:{...e.site.features[i],discord:{...e.site.features[i]?.discord,enabled:r}}}})},null,8,["model-value","active-text","inactive-text","onUpdate:modelValue"])]),_:2},1024),k(t(d,{label:e.$t("site.field.url")},{default:s(()=>[l("span",he,[m(o(e.site.features[i]?.discord?.url)+" ",1),t(u,{"model-value":e.site.features[i]?.discord?.url,title:e.$t("site.title.editUrl"),placeholder:e.$t("site.placeholder.editUrl"),onConfirm:r=>e.onSave({features:{...e.site.features,[i]:{...e.site.features[i],discord:{...e.site.features[i]?.discord,url:r}}}})},null,8,["model-value","title","placeholder","onConfirm"])])]),_:2},1032,["label"]),[[C,e.site.features[i]?.discord?.enabled]])],512)),[[C,e.site.features[i]?.enabled]]):j("",!0)]),_:2},1032,["label"])),64))]),_:1},8,["model"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const We=V(J,[["render",ce],["__scopeId","data-v-61e4ae55"]]);export{We as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as C}from"./index.es-Dw-ikv9u.js";import{E as P}from"./index-Ba60uEk-.js";import{E as G}from"./index-h2hg5mzg.js";import{d as v,h as b,b as l,t as r,k as s,r as A,j as d,l as a,o,cf as U,x as i,D as _,F as I,v as T,i as E,n as S,c as j,y as $,fj as D,dN as z,dr as B,dI as M,dJ as V}from"./index-Cltw-TPy.js";import{I as O,S as q}from"./ScrollList-BsWg1Oco.js";import{I as N}from"./ImagePreview-fjeQ_mXr.js";import{E as F}from"./index-DTitzyRz.js";import{E as w}from"./index-C7JbjCIG.js";import{a as H,E as J}from"./index-BNhORE5b.js";import{E as L}from"./index-Bk5nP9u2.js";import{E as K,a as Q}from"./index-J3_g86Kc.js";import{A as W}from"./Status-Cb0oPjbf.js";import{C as X}from"./CopyToClipboard-B0sXY0gf.js";import{E as Y}from"./index-CHfsm--8.js";import{a as Z,E as x}from"./index-TO8m0FZI.js";import{l as ee}from"./pagination-BA1VbgK9.js";import"./use-form-item-Be29d0-B.js";import"./index-r5W6hzzQ.js";import"./index-Bp5pMMj1.js";import"./index-Daydyphg.js";import"./typescript-DOVFb1BD.js";import"./index-RTh02r3m.js";import"./_baseClone-Bm9igNTj.js";import"./_initCloneObject-CAySSrJV.js";import"./isEqual-CbOgjKmk.js";import"./debounce-CguuKO1r.js";import"./index-BhccfPia.js";import"./strings-CNKL_IWi.js";import"./isPlainObject-BHOEH-Zh.js";const se=v({name:"LayoutHeadshots",components:{ElDrawer:G,ElButton:P,FontAwesomeIcon:C},data(){return{drawer:!1}}}),te={class:"main flex flex-row flex-1"},oe={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},ae={class:"result h-full p-[15px] flex-1 flex flex-col"};function ne(e,t,m,h,k,y){const p=a("font-awesome-icon"),u=a("el-button"),n=a("el-drawer");return o(),l("div",te,[r("div",oe,[A(e.$slots,"config",{},void 0,!0)]),r("div",ae,[A(e.$slots,"result",{},void 0,!0)]),s(u,{circle:"",class:"menu",onClick:t[0]||(t[0]=c=>e.drawer=!0)},{default:d(()=>[s(p,{icon:"fa-solid fa-gear"})]),_:1}),s(n,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=c=>e.drawer=c),"with-header":!1,size:"340px",class:"drawer"},{default:d(()=>[A(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ie=b(se,[["render",ne],["__scopeId","data-v-21e11492"]]),le=v({name:"ImageUrlsInput",components:{ElUpload:F,ElButton:P,InfoIcon:O,ImagePreview:N,FontAwesomeIcon:C},data(){return{fileList:[],uploadUrl:U()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.headshots?.config?.image_urls},set(){const e=this.urls;this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,image_urls:e})}}},mounted(){this.value||(this.value=void 0),this.onSetImageUrls()},methods:{onExceed(){w.warning(this.$t("headshots.message.uploadImageExceed"))},onError(){w.error(this.$t("headshots.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,image_urls:e})},async onSuccess(){this.onSetImageUrls()}}}),re={class:"field"},ce={class:"title font-bold"},de={class:"upload-wrapper"};function pe(e,t,m,h,k,y){const p=a("image-preview"),u=a("font-awesome-icon"),n=a("el-button"),c=a("el-upload"),f=a("info-icon");return o(),l("div",re,[r("h2",ce,i(e.$t("headshots.name.endImageUrls")),1),r("div",de,[s(c,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=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:d(({file:g})=>[s(p,{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:d(()=>[s(n,{size:"small",type:"primary",round:""},{default:d(()=>[s(u,{icon:"fa-solid fa-upload",class:"mr-1"}),_(" "+i(e.$t("headshots.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])]),s(f,{content:e.$t("headshots.description.endImageUrls"),class:"info"},null,8,["content"])])}const me=b(le,[["render",pe],["__scopeId","data-v-1690629a"]]),he="fast",ue=v({name:"ModeSelector",components:{ElRadioButton:J,ElRadioGroup:H},data(){return{options:[{label:this.$t("headshots.button.fast"),value:"fast"},{label:this.$t("headshots.button.relax"),value:"relax"}]}},computed:{value:{get(){return this.$store.state.headshots.config?.mode},set(e){console.debug("set mode",e),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots.config,mode:e})}}},mounted(){this.value||(this.value=he)}}),fe={class:"field"},ge={class:"title font-bold"};function _e(e,t,m,h,k,y){const p=a("el-radio-button"),u=a("el-radio-group");return o(),l("div",fe,[r("h2",ge,i(e.$t("headshots.name.mode")),1),s(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),size:"small",class:"mode"},{default:d(()=>[(o(!0),l(I,null,T(e.options,n=>(o(),E(p,{key:n.value,label:n.value},{default:d(()=>[_(i(n.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const $e=b(ue,[["render",_e],["__scopeId","data-v-a2a0d5fa"]]),ve=v({name:"StylizeSelector",components:{ElTabs:Q,ElTabPane:K,ElImage:L},data(){return{tab:"styles",value:"",elements:{styles:{displayName:this.$t("headshots.styleCategory.styles"),items:[{image:"https://static.aipedias.com/aicamera/common/20241008/20241008202314260779439.png",label:this.$t("headshots.styleTag.malePportrait"),value:"male_portrait"},{image:"https://static.aipedias.com/aicamera/common/20241008/202410082022241e9755548.png",label:this.$t("headshots.styleTag.malePportrait2"),value:"male_portrait2"},{image:"https://static.aipedias.com/aicamera/common/20241101/20241101170130d78f66521.png",label:this.$t("headshots.styleTag.kindergarten"),value:"kindergarten"},{image:"https://static.aipedias.com/aicamera/common/20240923/20240923123233accf60398.webp",label:this.$t("headshots.styleTag.logoTshirt"),value:"logo_tshirt"},{image:"https://static.aipedias.com/aicamera/common/20241025/202410252012329472d0656.jpg",label:this.$t("headshots.styleTag.wedding"),value:"wedding"},{image:"https://static.aipedias.com/aicamera/common/20240915/20240915145045254931400.webp",label:this.$t("headshots.styleTag.businessPphoto"),value:"business_photo"},{image:"https://static.aipedias.com/aicamera/common/20240810/20240810194526040341795.jpg",label:this.$t("headshots.styleTag.bobSuit"),value:"bob_suit"},{image:"https://static.aipedias.com/aicamera/common/20240717/20240717152654e0b348173.webp",label:this.$t("headshots.styleTag.femalePortrait"),value:"female_portrait"}]}}}},watch:{value(e){console.debug("set template",e),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:e})}},mounted(){this.value||(this.value=""),console.debug("set template",this.value),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:this.value})},methods:{onToggle(e){this.value===e?this.value="":this.value=e,console.debug("set template",this.value),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:this.value})}}}),be={class:"field"},ke=["onClick"],ye={class:"name"};function we(e,t,m,h,k,y){const p=a("el-image"),u=a("el-tab-pane"),n=a("el-tabs");return o(),l("div",be,[s(n,{modelValue:e.tab,"onUpdate:modelValue":t[0]||(t[0]=c=>e.tab=c)},{default:d(()=>[(o(!0),l(I,null,T(e.elements,(c,f)=>(o(),E(u,{key:f,label:c.displayName,name:f,class:"pane"},{default:d(()=>[(o(!0),l(I,null,T(c.items,(g,R)=>(o(),l("div",{key:R,class:S({item:!0,active:e.value===g.value}),onClick:_s=>e.onToggle(g.value)},[s(p,{src:g.image,fit:"fill",class:"preview"},null,8,["src"]),r("span",ye,i(g.label),1)],10,ke))),128))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])])}const Ie=b(ve,[["render",we],["__scopeId","data-v-be4bd25d"]]),Te=v({name:"PresetPanel",components:{ModeSelector:$e,ImageUrlsInput:me,ElButton:P,FontAwesomeIcon:C,ElementsSelector:Ie},emits:["generate"],computed:{config(){return this.$store.state.headshots?.config}},methods:{onGenerate(){this.$emit("generate")}}}),Ee={class:"panel"},Se={class:"config"},Ve={class:"actions"};function Ce(e,t,m,h,k,y){const p=a("elements-selector"),u=a("mode-selector"),n=a("image-urls-input"),c=a("font-awesome-icon"),f=a("el-button");return o(),l("div",Ee,[r("div",Se,[s(p,{class:"mb-4"}),s(u,{class:"mb-4"}),s(n,{class:"mb-4"}),r("div",Ve,[s(f,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[s(c,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+i(e.$t("headshots.button.generate")),1)]),_:1},8,["onClick"])])])])}const Ae=b(Te,[["render",Ce],["__scopeId","data-v-78172a54"]]),Pe=v({name:"ImageGallery",props:{modelValue:{type:Object,required:!0}},setup(e){return{images:j(()=>e.modelValue?.response?.data?.slice(0,2)||[]),viewImage:h=>{window.open(h,"_blank")}}}}),Re={class:"image-gallery"},Le=["src"],Ge=["onClick"];function Ue(e,t,m,h,k,y){return o(),l("div",Re,[(o(!0),l(I,null,T(e.images,(p,u)=>(o(),l("div",{key:u,class:"image-container"},[r("img",{src:p.image_url,alt:"Image"},null,8,Le),p.image_url?(o(),l("button",{key:0,class:"view-button",onClick:n=>e.viewImage(p.image_url)},i(e.$t("headshots.button.viewImage")),9,Ge)):$("",!0)]))),128))])}const je=b(Pe,[["render",Ue],["__scopeId","data-v-03641510"]]),De=v({name:"TaskPreview",components:{ElImage:L,CopyToClipboard:X,FontAwesomeIcon:C,ElAlert:Y,ImageGallery:je},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.headshots?.application},config(){return this.$store.state.headshots?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onReload(e){const t=e.target,m=new URL(t.src),h=m.searchParams.get("retry");if(!h)m.searchParams.set("retry","1");else if(parseInt(h)<2)m.searchParams.set("retry",(parseInt(h)+1).toString());else return;t.src=m.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),ze={class:"preview"},Be={class:"left"},Me={class:"main"},Oe={class:"bot"},qe={class:"datetime"},Ne={class:"info"},Fe={key:0,class:"prompt mt-2"},He={key:0},Je={key:1},Ke={key:0,class:S({content:!0,failed:!0})},Qe={class:"image-wrapper"},We={class:"description"},Xe={key:1,class:S({content:!0})},Ye={class:"description"},Ze={class:"description"},xe={class:"description"},es={key:2,class:S({content:!0})},ss={class:"description"},ts={key:3,class:S({content:!0})},os={class:"description"};function as(e,t,m,h,k,y){const p=a("el-image"),u=a("image-gallery"),n=a("font-awesome-icon"),c=a("copy-to-clipboard"),f=a("el-alert");return o(),l("div",ze,[r("div",Be,[s(p,{src:"https://cdn.acedata.cloud/isxyfw.png",class:"avatar"})]),r("div",Me,[r("div",Oe,[_(i(e.$t("headshots.name.headshotsBot"))+" ",1),r("span",qe,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",Ne,[e.modelValue?.request?.template?(o(),l("p",Fe,[_(i(e.modelValue?.request?.template)+" ",1),e.modelValue?.response?$("",!0):(o(),l("span",He," - ("+i(e.$t("headshots.status.pending"))+") ",1)),e.modelValue?.response?.status==="unknown"?(o(),l("span",Je," - ("+i(e.$t("headshots.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0?(o(),l("div",Ke,[r("div",Qe,[s(u,{"model-value":e.modelValue},null,8,["model-value"])]),s(f,{closable:!1,class:"mt-2 success"},{default:d(()=>[r("p",We,[s(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(o(),l("div",Xe,[s(f,{closable:!1,class:"failure"},{template:d(()=>[s(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:d(()=>[r("p",Ye,[s(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),r("p",Ze,[s(n,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),s(c,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),r("p",xe,[s(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+i(e.$t("headshots.name.traceId"))+": "+i(e.modelValue?.response?.trace_id)+" ",1),s(c,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?$("",!0):(o(),l("div",es,[s(f,{closable:!1,class:"info"},{template:d(()=>[s(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:d(()=>[r("p",ss,[s(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])),e.modelValue?.response?.status==="unknown"?(o(),l("div",ts,[s(f,{closable:!1,class:"info"},{template:d(()=>[s(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:d(()=>[r("p",os,[s(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0)])])}const ns=b(De,[["render",as],["__scopeId","data-v-77229910"]]),is=v({name:"RecentPanel",components:{TaskPreview:ns,ElSkeleton:x,ElSkeletonItem:Z,ScrollList:q},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.headshots?.tasks,items:this.$store.state.headshots?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),ls={key:0,class:"tasks"},rs={class:"left"},cs={class:"main"},ds={key:1,class:"tasks"},ps={key:2,class:"description"};function ms(e,t,m,h,k,y){const p=a("el-skeleton-item"),u=a("el-skeleton"),n=a("task-preview"),c=a("scroll-list");return o(),E(c,{ref:"scrollList",class:"panel recent",loading:e.loading,onReachTop:t[0]||(t[0]=f=>e.$emit("reach-top"))},{default:d(()=>[e.tasks?.items===void 0?(o(),l("div",ls,[(o(),l(I,null,T(3,f=>r("div",{key:f,class:"task placeholder"},[r("div",rs,[s(u,{animated:""},{template:d(()=>[s(p,{variant:"image",class:"avatar"})]),_:1})]),r("div",cs,[s(u,{animated:""},{template:d(()=>[s(p,{variant:"p",class:"title"}),s(p,{variant:"image",class:"icon"})]),_:1})])])),64))])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(o(),l("div",ds,[(o(!0),l(I,null,T(e.tasks?.items,(f,g)=>(o(),E(n,{key:g,"model-value":f,class:"preview"},null,8,["model-value"]))),128))])):$("",!0),e.tasks?.items?.length===0?(o(),l("p",ps,i(e.$t("headshots.message.noTasks")),1)):$("",!0)]),_:1},8,["loading"])}const hs=b(is,[["render",ms],["__scopeId","data-v-ffd55c16"]]),us="https://webhook.acedata.cloud/headshots",fs=v({name:"HeadshotsIndex",components:{ConfigPanel:Ae,Layout:ie,ApplicationStatus:W,RecentPanel:hs},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.headshots?.status?.getApplications===V.Request},tasksLoading(){return this.$store.state.headshots?.status?.getTasks===V.Request||this.fetchingTasks},service(){return this.$store.state.headshots.service},credential(){return this.$store.state.headshots.credential},config(){return this.$store.state.headshots.config},initializing(){return this.$store.state.headshots.status.getApplications===V.Request},needApply(){return this.$store.state.headshots.status.getApplications===V.Success&&!this.application},application(){return this.$store.state.headshots.application},applications(){return this.$store.state.headshots.applications},tasks(){return this.$store.state.headshots.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){await ee({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("headshots/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("headshots/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){B.create({application:this.application}).then(({data:e})=>{this.application=e,w.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===M&&w.error(this.$t("application.message.alreadyApplied"))})},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:m,createdAtMax:h}=e||{};console.debug("limit",t,"createdAtMin",m,"createdAtMax",h),this.fetchingTasks=!0;try{await this.$store.dispatch("headshots/getTasks",{limit:t,createdAtMin:m,createdAtMax:h})}finally{this.fetchingTasks=!1}},async onGeneratePicture(){const e={...this.config,callback_url:us},t=this.credential?.token;if(!t){console.error("no token specified");return}w.info(this.$t("headshots.message.startingTask")),D.generate(e,{token:t}).then(()=>{w.success(this.$t("headshots.message.startTaskSuccess")),this.$store.commit("headshots/setConfig",{config:void 0})}).catch(m=>{m?.response?.data?.error?.code===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)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function gs(e,t,m,h,k,y){const p=a("config-panel"),u=a("application-status"),n=a("recent-panel"),c=a("layout");return o(),E(c,null,{config:d(()=>[s(p,{onGenerate:e.onGeneratePicture},null,8,["onGenerate"])]),result:d(()=>[s(u,{initializing:e.initializing,application:e.application,applications:e.applications,service:e.service,"need-apply":e.needApply,class:"mb-4",onRefresh:e.onGetApplication,onSelect:t[0]||(t[0]=f=>e.$store.dispatch("headshots/setApplication",f))},null,8,["initializing","application","applications","service","need-apply","onRefresh"]),s(n,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Ks=b(fs,[["render",gs],["__scopeId","data-v-7713bcbc"]]);export{Ks as default};
|
|
1
|
+
import{F as C}from"./index.es-luG_1liH.js";import{E as P}from"./index-D3JIjilD.js";import{E as G}from"./index-CiHUKD8b.js";import{d as v,h as b,b as l,t as r,k as s,r as A,j as d,l as a,o,cf as U,x as i,D as _,F as I,v as T,i as E,n as S,c as j,y as $,fj as D,dN as z,dr as B,dI as M,dJ as V}from"./index-D1FLNvCi.js";import{I as O,S as q}from"./ScrollList-Da5H8n1W.js";import{I as N}from"./ImagePreview-B9AiNOkr.js";import{E as F}from"./index-DocBcnBZ.js";import{E as w}from"./index--7ePKMSn.js";import{a as H,E as J}from"./index-BWP7r6hW.js";import{E as L}from"./index-3NYwkLyG.js";import{E as K,a as Q}from"./index-mzmwNl_7.js";import{A as W}from"./Status-DLLXrg8C.js";import{C as X}from"./CopyToClipboard-BaNpbWBZ.js";import{E as Y}from"./index-De2Qy988.js";import{a as Z,E as x}from"./index-CStoqsn2.js";import{l as ee}from"./pagination-D0-pgnZd.js";import"./use-form-item-o9ewPWuR.js";import"./index-r5W6hzzQ.js";import"./index-CnT57L09.js";import"./index-YThWA6RB.js";import"./typescript-BOpWBj_W.js";import"./index-b8eWDndR.js";import"./_baseClone-BMdvC2Mn.js";import"./_initCloneObject-DbztCTz9.js";import"./isEqual-DLFFes9f.js";import"./debounce-VZSmCnjc.js";import"./index-DM378UJ5.js";import"./strings-MRnF76Oy.js";import"./isPlainObject-DmCe5CCK.js";const se=v({name:"LayoutHeadshots",components:{ElDrawer:G,ElButton:P,FontAwesomeIcon:C},data(){return{drawer:!1}}}),te={class:"main flex flex-row flex-1"},oe={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},ae={class:"result h-full p-[15px] flex-1 flex flex-col"};function ne(e,t,m,h,k,y){const p=a("font-awesome-icon"),u=a("el-button"),n=a("el-drawer");return o(),l("div",te,[r("div",oe,[A(e.$slots,"config",{},void 0,!0)]),r("div",ae,[A(e.$slots,"result",{},void 0,!0)]),s(u,{circle:"",class:"menu",onClick:t[0]||(t[0]=c=>e.drawer=!0)},{default:d(()=>[s(p,{icon:"fa-solid fa-gear"})]),_:1}),s(n,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=c=>e.drawer=c),"with-header":!1,size:"340px",class:"drawer"},{default:d(()=>[A(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ie=b(se,[["render",ne],["__scopeId","data-v-21e11492"]]),le=v({name:"ImageUrlsInput",components:{ElUpload:F,ElButton:P,InfoIcon:O,ImagePreview:N,FontAwesomeIcon:C},data(){return{fileList:[],uploadUrl:U()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.headshots?.config?.image_urls},set(){const e=this.urls;this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,image_urls:e})}}},mounted(){this.value||(this.value=void 0),this.onSetImageUrls()},methods:{onExceed(){w.warning(this.$t("headshots.message.uploadImageExceed"))},onError(){w.error(this.$t("headshots.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,image_urls:e})},async onSuccess(){this.onSetImageUrls()}}}),re={class:"field"},ce={class:"title font-bold"},de={class:"upload-wrapper"};function pe(e,t,m,h,k,y){const p=a("image-preview"),u=a("font-awesome-icon"),n=a("el-button"),c=a("el-upload"),f=a("info-icon");return o(),l("div",re,[r("h2",ce,i(e.$t("headshots.name.endImageUrls")),1),r("div",de,[s(c,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=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:d(({file:g})=>[s(p,{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:d(()=>[s(n,{size:"small",type:"primary",round:""},{default:d(()=>[s(u,{icon:"fa-solid fa-upload",class:"mr-1"}),_(" "+i(e.$t("headshots.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])]),s(f,{content:e.$t("headshots.description.endImageUrls"),class:"info"},null,8,["content"])])}const me=b(le,[["render",pe],["__scopeId","data-v-1690629a"]]),he="fast",ue=v({name:"ModeSelector",components:{ElRadioButton:J,ElRadioGroup:H},data(){return{options:[{label:this.$t("headshots.button.fast"),value:"fast"},{label:this.$t("headshots.button.relax"),value:"relax"}]}},computed:{value:{get(){return this.$store.state.headshots.config?.mode},set(e){console.debug("set mode",e),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots.config,mode:e})}}},mounted(){this.value||(this.value=he)}}),fe={class:"field"},ge={class:"title font-bold"};function _e(e,t,m,h,k,y){const p=a("el-radio-button"),u=a("el-radio-group");return o(),l("div",fe,[r("h2",ge,i(e.$t("headshots.name.mode")),1),s(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),size:"small",class:"mode"},{default:d(()=>[(o(!0),l(I,null,T(e.options,n=>(o(),E(p,{key:n.value,label:n.value},{default:d(()=>[_(i(n.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const $e=b(ue,[["render",_e],["__scopeId","data-v-a2a0d5fa"]]),ve=v({name:"StylizeSelector",components:{ElTabs:Q,ElTabPane:K,ElImage:L},data(){return{tab:"styles",value:"",elements:{styles:{displayName:this.$t("headshots.styleCategory.styles"),items:[{image:"https://static.aipedias.com/aicamera/common/20241008/20241008202314260779439.png",label:this.$t("headshots.styleTag.malePportrait"),value:"male_portrait"},{image:"https://static.aipedias.com/aicamera/common/20241008/202410082022241e9755548.png",label:this.$t("headshots.styleTag.malePportrait2"),value:"male_portrait2"},{image:"https://static.aipedias.com/aicamera/common/20241101/20241101170130d78f66521.png",label:this.$t("headshots.styleTag.kindergarten"),value:"kindergarten"},{image:"https://static.aipedias.com/aicamera/common/20240923/20240923123233accf60398.webp",label:this.$t("headshots.styleTag.logoTshirt"),value:"logo_tshirt"},{image:"https://static.aipedias.com/aicamera/common/20241025/202410252012329472d0656.jpg",label:this.$t("headshots.styleTag.wedding"),value:"wedding"},{image:"https://static.aipedias.com/aicamera/common/20240915/20240915145045254931400.webp",label:this.$t("headshots.styleTag.businessPphoto"),value:"business_photo"},{image:"https://static.aipedias.com/aicamera/common/20240810/20240810194526040341795.jpg",label:this.$t("headshots.styleTag.bobSuit"),value:"bob_suit"},{image:"https://static.aipedias.com/aicamera/common/20240717/20240717152654e0b348173.webp",label:this.$t("headshots.styleTag.femalePortrait"),value:"female_portrait"}]}}}},watch:{value(e){console.debug("set template",e),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:e})}},mounted(){this.value||(this.value=""),console.debug("set template",this.value),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:this.value})},methods:{onToggle(e){this.value===e?this.value="":this.value=e,console.debug("set template",this.value),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:this.value})}}}),be={class:"field"},ke=["onClick"],ye={class:"name"};function we(e,t,m,h,k,y){const p=a("el-image"),u=a("el-tab-pane"),n=a("el-tabs");return o(),l("div",be,[s(n,{modelValue:e.tab,"onUpdate:modelValue":t[0]||(t[0]=c=>e.tab=c)},{default:d(()=>[(o(!0),l(I,null,T(e.elements,(c,f)=>(o(),E(u,{key:f,label:c.displayName,name:f,class:"pane"},{default:d(()=>[(o(!0),l(I,null,T(c.items,(g,R)=>(o(),l("div",{key:R,class:S({item:!0,active:e.value===g.value}),onClick:_s=>e.onToggle(g.value)},[s(p,{src:g.image,fit:"fill",class:"preview"},null,8,["src"]),r("span",ye,i(g.label),1)],10,ke))),128))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])])}const Ie=b(ve,[["render",we],["__scopeId","data-v-be4bd25d"]]),Te=v({name:"PresetPanel",components:{ModeSelector:$e,ImageUrlsInput:me,ElButton:P,FontAwesomeIcon:C,ElementsSelector:Ie},emits:["generate"],computed:{config(){return this.$store.state.headshots?.config}},methods:{onGenerate(){this.$emit("generate")}}}),Ee={class:"panel"},Se={class:"config"},Ve={class:"actions"};function Ce(e,t,m,h,k,y){const p=a("elements-selector"),u=a("mode-selector"),n=a("image-urls-input"),c=a("font-awesome-icon"),f=a("el-button");return o(),l("div",Ee,[r("div",Se,[s(p,{class:"mb-4"}),s(u,{class:"mb-4"}),s(n,{class:"mb-4"}),r("div",Ve,[s(f,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[s(c,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+i(e.$t("headshots.button.generate")),1)]),_:1},8,["onClick"])])])])}const Ae=b(Te,[["render",Ce],["__scopeId","data-v-78172a54"]]),Pe=v({name:"ImageGallery",props:{modelValue:{type:Object,required:!0}},setup(e){return{images:j(()=>e.modelValue?.response?.data?.slice(0,2)||[]),viewImage:h=>{window.open(h,"_blank")}}}}),Re={class:"image-gallery"},Le=["src"],Ge=["onClick"];function Ue(e,t,m,h,k,y){return o(),l("div",Re,[(o(!0),l(I,null,T(e.images,(p,u)=>(o(),l("div",{key:u,class:"image-container"},[r("img",{src:p.image_url,alt:"Image"},null,8,Le),p.image_url?(o(),l("button",{key:0,class:"view-button",onClick:n=>e.viewImage(p.image_url)},i(e.$t("headshots.button.viewImage")),9,Ge)):$("",!0)]))),128))])}const je=b(Pe,[["render",Ue],["__scopeId","data-v-03641510"]]),De=v({name:"TaskPreview",components:{ElImage:L,CopyToClipboard:X,FontAwesomeIcon:C,ElAlert:Y,ImageGallery:je},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.headshots?.application},config(){return this.$store.state.headshots?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onReload(e){const t=e.target,m=new URL(t.src),h=m.searchParams.get("retry");if(!h)m.searchParams.set("retry","1");else if(parseInt(h)<2)m.searchParams.set("retry",(parseInt(h)+1).toString());else return;t.src=m.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),ze={class:"preview"},Be={class:"left"},Me={class:"main"},Oe={class:"bot"},qe={class:"datetime"},Ne={class:"info"},Fe={key:0,class:"prompt mt-2"},He={key:0},Je={key:1},Ke={key:0,class:S({content:!0,failed:!0})},Qe={class:"image-wrapper"},We={class:"description"},Xe={key:1,class:S({content:!0})},Ye={class:"description"},Ze={class:"description"},xe={class:"description"},es={key:2,class:S({content:!0})},ss={class:"description"},ts={key:3,class:S({content:!0})},os={class:"description"};function as(e,t,m,h,k,y){const p=a("el-image"),u=a("image-gallery"),n=a("font-awesome-icon"),c=a("copy-to-clipboard"),f=a("el-alert");return o(),l("div",ze,[r("div",Be,[s(p,{src:"https://cdn.acedata.cloud/isxyfw.png",class:"avatar"})]),r("div",Me,[r("div",Oe,[_(i(e.$t("headshots.name.headshotsBot"))+" ",1),r("span",qe,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",Ne,[e.modelValue?.request?.template?(o(),l("p",Fe,[_(i(e.modelValue?.request?.template)+" ",1),e.modelValue?.response?$("",!0):(o(),l("span",He," - ("+i(e.$t("headshots.status.pending"))+") ",1)),e.modelValue?.response?.status==="unknown"?(o(),l("span",Je," - ("+i(e.$t("headshots.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0?(o(),l("div",Ke,[r("div",Qe,[s(u,{"model-value":e.modelValue},null,8,["model-value"])]),s(f,{closable:!1,class:"mt-2 success"},{default:d(()=>[r("p",We,[s(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(o(),l("div",Xe,[s(f,{closable:!1,class:"failure"},{template:d(()=>[s(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:d(()=>[r("p",Ye,[s(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),r("p",Ze,[s(n,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),s(c,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),r("p",xe,[s(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+i(e.$t("headshots.name.traceId"))+": "+i(e.modelValue?.response?.trace_id)+" ",1),s(c,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?$("",!0):(o(),l("div",es,[s(f,{closable:!1,class:"info"},{template:d(()=>[s(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:d(()=>[r("p",ss,[s(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])),e.modelValue?.response?.status==="unknown"?(o(),l("div",ts,[s(f,{closable:!1,class:"info"},{template:d(()=>[s(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("headshots.name.failure")),1)]),default:d(()=>[r("p",os,[s(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("headshots.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0)])])}const ns=b(De,[["render",as],["__scopeId","data-v-77229910"]]),is=v({name:"RecentPanel",components:{TaskPreview:ns,ElSkeleton:x,ElSkeletonItem:Z,ScrollList:q},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.headshots?.tasks,items:this.$store.state.headshots?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),ls={key:0,class:"tasks"},rs={class:"left"},cs={class:"main"},ds={key:1,class:"tasks"},ps={key:2,class:"description"};function ms(e,t,m,h,k,y){const p=a("el-skeleton-item"),u=a("el-skeleton"),n=a("task-preview"),c=a("scroll-list");return o(),E(c,{ref:"scrollList",class:"panel recent",loading:e.loading,onReachTop:t[0]||(t[0]=f=>e.$emit("reach-top"))},{default:d(()=>[e.tasks?.items===void 0?(o(),l("div",ls,[(o(),l(I,null,T(3,f=>r("div",{key:f,class:"task placeholder"},[r("div",rs,[s(u,{animated:""},{template:d(()=>[s(p,{variant:"image",class:"avatar"})]),_:1})]),r("div",cs,[s(u,{animated:""},{template:d(()=>[s(p,{variant:"p",class:"title"}),s(p,{variant:"image",class:"icon"})]),_:1})])])),64))])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(o(),l("div",ds,[(o(!0),l(I,null,T(e.tasks?.items,(f,g)=>(o(),E(n,{key:g,"model-value":f,class:"preview"},null,8,["model-value"]))),128))])):$("",!0),e.tasks?.items?.length===0?(o(),l("p",ps,i(e.$t("headshots.message.noTasks")),1)):$("",!0)]),_:1},8,["loading"])}const hs=b(is,[["render",ms],["__scopeId","data-v-ffd55c16"]]),us="https://webhook.acedata.cloud/headshots",fs=v({name:"HeadshotsIndex",components:{ConfigPanel:Ae,Layout:ie,ApplicationStatus:W,RecentPanel:hs},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.headshots?.status?.getApplications===V.Request},tasksLoading(){return this.$store.state.headshots?.status?.getTasks===V.Request||this.fetchingTasks},service(){return this.$store.state.headshots.service},credential(){return this.$store.state.headshots.credential},config(){return this.$store.state.headshots.config},initializing(){return this.$store.state.headshots.status.getApplications===V.Request},needApply(){return this.$store.state.headshots.status.getApplications===V.Success&&!this.application},application(){return this.$store.state.headshots.application},applications(){return this.$store.state.headshots.applications},tasks(){return this.$store.state.headshots.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){await ee({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("headshots/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("headshots/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){B.create({application:this.application}).then(({data:e})=>{this.application=e,w.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===M&&w.error(this.$t("application.message.alreadyApplied"))})},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:m,createdAtMax:h}=e||{};console.debug("limit",t,"createdAtMin",m,"createdAtMax",h),this.fetchingTasks=!0;try{await this.$store.dispatch("headshots/getTasks",{limit:t,createdAtMin:m,createdAtMax:h})}finally{this.fetchingTasks=!1}},async onGeneratePicture(){const e={...this.config,callback_url:us},t=this.credential?.token;if(!t){console.error("no token specified");return}w.info(this.$t("headshots.message.startingTask")),D.generate(e,{token:t}).then(()=>{w.success(this.$t("headshots.message.startTaskSuccess")),this.$store.commit("headshots/setConfig",{config:void 0})}).catch(m=>{m?.response?.data?.error?.code===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)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function gs(e,t,m,h,k,y){const p=a("config-panel"),u=a("application-status"),n=a("recent-panel"),c=a("layout");return o(),E(c,null,{config:d(()=>[s(p,{onGenerate:e.onGeneratePicture},null,8,["onGenerate"])]),result:d(()=>[s(u,{initializing:e.initializing,application:e.application,applications:e.applications,service:e.service,"need-apply":e.needApply,class:"mb-4",onRefresh:e.onGetApplication,onSelect:t[0]||(t[0]=f=>e.$store.dispatch("headshots/setApplication",f))},null,8,["initializing","application","applications","service","need-apply","onRefresh"]),s(n,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Ks=b(fs,[["render",gs],["__scopeId","data-v-7713bcbc"]]);export{Ks as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as P}from"./index.es-Dw-ikv9u.js";import{E as L}from"./index-Ba60uEk-.js";import{E as O}from"./index-h2hg5mzg.js";import{d as $,h as k,b as r,t as l,k as t,r as U,j as u,l as s,o as a,eJ as q,x as i,F as S,v as T,i as V,eK as B,D as h,eL as j,cf as N,y as g,n as A,eM as z,dN as F,dr as K,dI as J,dJ as C}from"./index-Cltw-TPy.js";import{I as D,S as H}from"./ScrollList-BsWg1Oco.js";import{E as Q}from"./index-C9snhxjP.js";import{E as G,a as M}from"./index-DU1Jn2Bq.js";import{a as W,E as X}from"./index-BNhORE5b.js";import{I as Y}from"./ImagePreview-fjeQ_mXr.js";import{E as Z}from"./index-DTitzyRz.js";import{E}from"./index-C7JbjCIG.js";import{E as x}from"./index-BY87tdIk.js";import{C as ee,N as te}from"./NoTasks-Cxeor42D.js";import{a as oe}from"./price-B71O9NlG.js";import{C as se}from"./CopyToClipboard-B0sXY0gf.js";import{s as ae}from"./vue-plyr-QZFBikSk.js";import{E as ne}from"./index-Bp5pMMj1.js";import{E as ie}from"./index-CHfsm--8.js";import{E as le}from"./index-Bk5nP9u2.js";import{B as re}from"./BotPlaceholder-Bn7lEbyW.js";import{l as ce}from"./pagination-BA1VbgK9.js";import"./use-form-item-Be29d0-B.js";import"./index-r5W6hzzQ.js";import"./index-Daydyphg.js";import"./index-CpH9j3dB.js";import"./typescript-DOVFb1BD.js";import"./strings-CNKL_IWi.js";import"./castArray-CGkY3K20.js";import"./isEqual-CbOgjKmk.js";import"./_initCloneObject-CAySSrJV.js";import"./debounce-CguuKO1r.js";import"./_baseIteratee-C0prYj3x.js";import"./index-BjFSM9Qd.js";import"./index-RTh02r3m.js";import"./_baseClone-Bm9igNTj.js";import"./index-BhccfPia.js";import"./index-TO8m0FZI.js";const pe=$({name:"LayoutPika",components:{ElDrawer:O,ElButton:L,FontAwesomeIcon:P},data(){return{drawer:!1}}}),de={class:"main flex flex-row flex-1"},ue={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},me={class:"result h-full p-[15px] flex-1 flex flex-col"};function fe(e,o,c,d,v,b){const p=s("font-awesome-icon"),m=s("el-button"),n=s("el-drawer");return a(),r("div",de,[l("div",ue,[U(e.$slots,"config",{},void 0,!0)]),l("div",me,[U(e.$slots,"result",{},void 0,!0)]),t(m,{circle:"",class:"menu",onClick:o[0]||(o[0]=y=>e.drawer=!0)},{default:u(()=>[t(p,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=y=>e.drawer=y),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const _e=k(pe,[["render",fe],["__scopeId","data-v-80748529"]]),he=$({name:"IngredientsSelector",components:{ElSwitch:Q,InfoIcon:D},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients},set(e){console.debug("set ingredients",e),e||this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,ingredients_mode:void 0,image_url:void 0}),this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,model:"2.0"})}}},mounted(){this.value===void 0&&(this.value=q)}}),ge={class:"field"},$e={class:"title font-bold"};function ke(e,o,c,d,v,b){const p=s("el-switch"),m=s("info-icon");return a(),r("div",ge,[l("h2",$e,i(e.$t("pika.name.ingredients")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value"},null,8,["modelValue"]),t(m,{content:e.$t("pika.description.ingredients"),class:"info"},null,8,["content"])])}const ve=k(he,[["render",ke],["__scopeId","data-v-17c0af5c"]]),be=$({name:"EffectSelector",components:{ElSelect:M,ElOption:G},data(){return{}},computed:{options(){return[{value:"Levitate",label:this.$t("pika.style.effect1")},{value:"Decapitate",label:this.$t("pika.style.effect2")},{value:"Eye-pop",label:this.$t("pika.style.effect3")},{value:"Ta-da",label:this.$t("pika.style.effect4")},{value:"Deflate",label:this.$t("pika.style.effect5")},{value:"Crumble",label:this.$t("pika.style.effect6")},{value:"Dissolve",label:this.$t("pika.style.effect7")},{value:"Squish",label:this.$t("pika.style.effect8")},{value:"Inflate",label:this.$t("pika.style.effect9")},{value:"Melt",label:this.$t("pika.style.effect10")},{value:"Cake-ify",label:this.$t("pika.style.effect11")},{value:"Crush",label:this.$t("pika.style.effect12")},{value:"Explode",label:this.$t("pika.style.effect13")}]},value:{get(){return this.$store.state.pika?.config?.effect},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,effect:e})}}}}),ye={class:"field"},we={class:"title font-bold"},Ee={class:"float-left"};function Ve(e,o,c,d,v,b){const p=s("el-option"),m=s("el-select");return a(),r("div",ye,[l("h2",we,i(e.$t("pika.name.effect")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("pika.placeholder.select"),clearable:""},{default:u(()=>[(a(!0),r(S,null,T(e.options,n=>(a(),V(p,{key:n.value,label:n.label,value:n.value},{default:u(()=>[l("span",Ee,i(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ie=k(be,[["render",Ve],["__scopeId","data-v-d1c54475"]]),Se=$({name:"IngredientsModelSelector",components:{ElRadioButton:X,ElRadioGroup:W},data(){return{options:[{label:this.$t("pika.button.precise"),value:"precise"},{label:this.$t("pika.button.creative"),value:"creative"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients_mode},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients_mode:e})}}},mounted(){this.value||(this.value=B)}}),Te={class:"field"},Ce={class:"title font-bold"};function Pe(e,o,c,d,v,b){const p=s("el-radio-button"),m=s("el-radio-group");return a(),r("div",Te,[l("h2",Ce,i(e.$t("pika.name.ingredientsModel")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),size:"small",class:"quality"},{default:u(()=>[(a(!0),r(S,null,T(e.options,n=>(a(),V(p,{key:n.value,label:n.value},{default:u(()=>[h(i(n.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const Le=k(Se,[["render",Pe],["__scopeId","data-v-b948551f"]]),Ae=$({name:"ModelSelector",components:{ElSelect:M,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"2.0",label:"2.0"},{value:"1.5",label:"1.5"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.model},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika.config,model:e})}}},mounted(){this.value||(this.value=j)}}),Re={class:"field"},Ue={class:"title font-bold"};function De(e,o,c,d,v,b){const p=s("el-option"),m=s("el-select");return a(),r("div",Re,[l("h2",Ue,i(e.$t("pika.name.model")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("pika.placeholder.select")},{default:u(()=>[(a(!0),r(S,null,T(e.options,n=>(a(),V(p,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ge=k(Ae,[["render",De],["__scopeId","data-v-7b2e870a"]]),Me=$({name:"ImageUrlInput",components:{ElUpload:Z,ElButton:L,InfoIcon:D,ImagePreview:Y,FontAwesomeIcon:P},data(){return{fileList:[],uploadUrl:N()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.pika?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("pika.message.uploadStartImageExceed"))},onError(){E.error(this.$t("pika.message.uploadStartImageError"))},async onRemove(){E.error(this.$t("pika.message.uploadStartImageError"))},onSetStartImageUrl(){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:this.urls})},async onSuccess(){this.onSetStartImageUrl()}}}),Oe={class:"field"},qe={class:"title font-bold"},Be={class:"upload-wrapper"};function je(e,o,c,d,v,b){const p=s("image-preview"),m=s("font-awesome-icon"),n=s("el-button"),y=s("el-upload"),_=s("info-icon");return a(),r("div",Oe,[l("h2",qe,i(e.$t("pika.name.imageUrl")),1),l("div",Be,[t(y,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=f=>e.fileList=f),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value upload-wrapper",limit:3,multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:f})=>[t(p,{url:f.url||f.response?.file_url,name:f.name,percentage:f.percentage,onRemove:I=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])]),default:u(()=>[t(n,{size:"small",type:"primary",round:""},{default:u(()=>[t(m,{icon:"fa-solid fa-upload",class:"mr-1"}),h(" "+i(e.$t("pika.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])]),t(_,{content:e.$t("pika.description.imageUrl"),class:"info"},null,8,["content"])])}const Ne=k(Me,[["render",je],["__scopeId","data-v-18cda67a"]]),ze="",Fe=$({name:"PromptInput",components:{ElInput:x,InfoIcon:D},computed:{prompt:{get(){return this.$store.state.pika?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ze)}}),Ke={class:"field"},Je={class:"box"},He={class:"title font-bold"};function Qe(e,o,c,d,v,b){const p=s("info-icon"),m=s("el-input");return a(),r("div",Ke,[l("div",Je,[l("h2",He,i(e.$t("pika.name.prompt")),1),t(p,{content:e.$t("pika.description.prompt"),class:"info"},null,8,["content"])]),t(m,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("pika.placeholder.prompt"),maxlength:300,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const We=k(Fe,[["render",Qe],["__scopeId","data-v-b94e7a3e"]]),Xe=$({name:"PresetPanel",components:{ImageUrlInput:Ne,ElButton:L,FontAwesomeIcon:P,Consumption:ee,PromptInput:We,IngredientsSelector:ve,IngredientsModelSelector:Le,ModelSelector:Ge,EffectSelector:Ie},emits:["generate"],computed:{config(){return this.$store.state.pika?.config},consumption(){return oe(this.config,this.service?.cost)},service(){return this.$store.state.pika?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ye={class:"flex flex-col h-full"},Ze={class:"flex-1 overflow-y-auto p-[15px]"},xe={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function et(e,o,c,d,v,b){const p=s("prompt-input"),m=s("model-selector"),n=s("ingredients-selector"),y=s("effect-selector"),_=s("image-url-input"),f=s("ingredients-model-selector"),I=s("consumption"),w=s("font-awesome-icon"),R=s("el-button");return a(),r("div",Ye,[l("div",Ze,[t(p,{class:"mb-4"}),t(m,{class:"mb-4"}),t(n,{class:"mb-4"}),t(y,{class:"mb-4"}),e.config?.ingredients?(a(),V(_,{key:0,class:"mb-4"})):g("",!0),e.config?.ingredients?(a(),V(f,{key:1,class:"mb-4"})):g("",!0)]),l("div",xe,[t(I,{value:e.consumption,service:e.service},null,8,["value","service"]),t(R,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(w,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+i(e.$t("pika.button.generate")),1)]),_:1},8,["onClick"])])])}const tt=k(Xe,[["render",et]]),ot=$({name:"VideoPlayer",components:{VuePlyr:ae},props:{modelValue:{type:Object,required:!0}},data(){return{options:{quality:{default:"1080p"}}}}}),st=["data-poster"],at=["src"];function nt(e,o,c,d,v,b){const p=s("vue-plyr");return a(),r("div",null,[t(p,{options:e.options,class:"video"},{default:u(()=>[l("video",{controls:"",crossorigin:"",playsinline:"","data-poster":e.modelValue?.image_url},[l("source",{size:"1080",src:e.modelValue?.video_url,type:"video/mp4"},null,8,at)],8,st)]),_:1},8,["options"])])}const it=k(ot,[["render",nt],["__scopeId","data-v-fc420430"]]),lt=$({name:"TaskPreview",components:{ElImage:le,CopyToClipboard:se,FontAwesomeIcon:P,ElAlert:ie,VideoPlayer:it,ElTooltip:ne,ElButton:L},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pika?.application},config(){return this.$store.state.pika?.config},videos(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(c=>{let d=c;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e){console.log("on download"),window.open(e,"_blank")},onReload(e){const o=e.target,c=new URL(o.src),d=c.searchParams.get("retry");if(!d)c.searchParams.set("retry","1");else if(parseInt(d)<2)c.searchParams.set("retry",(parseInt(d)+1).toString());else return;o.src=c.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),rt={class:"left"},ct={class:"main"},pt={class:"bot"},dt={class:"datetime"},ut={class:"info"},mt={key:0,class:"prompt mt-2"},ft={key:0},_t={key:1},ht={key:0,class:A({content:!0,failed:!0})},gt={class:"image-wrapper"},$t={key:0,class:A({operations:!0,"mt-2":!0})},kt={key:0,class:"description"},vt={class:"description"},bt={key:1,class:A({content:!0})},yt={class:"description"},wt={class:"description"},Et={class:"description"},Vt={key:2,class:A({content:!0})},It={class:"description"};function St(e,o,c,d,v,b){const p=s("el-image"),m=s("VideoPlayer"),n=s("el-button"),y=s("el-tooltip"),_=s("font-awesome-icon"),f=s("copy-to-clipboard"),I=s("el-alert");return a(!0),r(S,null,T(e.videos,(w,R)=>(a(),r("div",{key:R,class:"preview"},[l("div",rt,[t(p,{src:"https://cdn.acedata.cloud/i80tgn.png",class:"avatar"})]),l("div",ct,[l("div",pt,[h(i(e.$t("pika.name.pikaBot"))+" ",1),l("span",dt,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",ut,[e.modelValue?.request?.prompt?(a(),r("p",mt,[h(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?g("",!0):(a(),r("span",ft," - ("+i(e.$t("pika.status.pending"))+") ",1)),w?.state==="processing"||w?.state==="pending"?(a(),r("span",_t," - ("+i(e.$t("pika.status.processing"))+") ",1)):g("",!0)])):g("",!0)]),e.modelValue?.response?.success===!0?(a(),r("div",ht,[l("div",gt,[t(m,{"model-value":w},null,8,["model-value"])]),w?(a(),r("div",$t,[t(y,{class:"box-item",effect:"dark",content:e.$t("pika.message.downloadVideo"),placement:"top-start"},{default:u(()=>[w?.video_url?(a(),V(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:Mt=>e.onDownload(w?.video_url)},{default:u(()=>[h(i(e.$t("pika.button.download")),1)]),_:2},1032,["onClick"])):g("",!0)]),_:2},1032,["content"])])):g("",!0),t(I,{closable:!1,class:"mt-2 success"},{default:u(()=>[e.modelValue?.request?.model?(a(),r("p",kt,[t(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("pika.name.model"))+": "+i(e.modelValue?.request?.model),1)])):g("",!0),l("p",vt,[t(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(f,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):g("",!0),e.modelValue?.response?.success===!1?(a(),r("div",bt,[t(I,{closable:!1,class:"failure"},{template:u(()=>[t(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("pika.name.failure")),1)]),default:u(()=>[l("p",yt,[t(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(f,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),l("p",wt,[t(_,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+i(e.$t("pika.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),t(f,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),l("p",Et,[t(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("pika.name.traceId"))+": "+i(e.modelValue?.response?.trace_id)+" ",1),t(f,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):g("",!0),!e.modelValue?.response||w?.state==="processing"||w?.state==="pending"?(a(),r("div",Vt,[t(I,{closable:!1,class:"info"},{template:u(()=>[t(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("pika.name.failure")),1)]),default:u(()=>[l("p",It,[t(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(f,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):g("",!0)])]))),128)}const Tt=k(lt,[["render",St],["__scopeId","data-v-4c2810f1"]]),Ct=$({name:"RecentPanel",components:{TaskPreview:Tt,BotPlaceholder:re,NoTasks:te,ScrollList:H},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pika?.tasks,items:this.$store.state.pika?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Pt={key:0},Lt={key:2,class:"w-full h-full flex items-center justify-center"};function At(e,o,c,d,v,b){const p=s("bot-placeholder"),m=s("task-preview"),n=s("scroll-list"),y=s("no-tasks");return a(),r(S,null,[e.tasks?.items===void 0?(a(),r("div",Pt,[t(p)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),V(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=_=>e.$emit("reach-top"))},{default:u(()=>[(a(!0),r(S,null,T(e.tasks?.items,(_,f)=>(a(),V(m,{key:f,"model-value":_},null,8,["model-value"]))),128))]),_:1},8,["loading"])):g("",!0),e.tasks?.items?.length===0?(a(),r("div",Lt,[t(y)])):g("",!0)],64)}const Rt=k(Ct,[["render",At]]),Ut="https://webhook.acedata.cloud/pika",Dt=$({name:"PikaIndex",components:{ConfigPanel:tt,Layout:_e,RecentPanel:Rt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pika?.status?.getApplications===C.Request},tasksLoading(){return this.$store.state.pika?.status?.getTasks===C.Request||this.fetchingTasks},service(){return this.$store.state.pika.service},credential(){return this.$store.state.pika.credential},config(){return this.$store.state.pika.config},initializing(){return this.$store.state.pika.status.getApplications===C.Request},needApply(){return this.$store.state.pika.status.getApplications===C.Success&&!this.application},application(){return this.$store.state.pika.application},applications(){return this.$store.state.pika.applications},tasks(){return this.$store.state.pika.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){await ce({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("pika/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("pika/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){K.create({application:this.application}).then(({data:e})=>{this.application=e,E.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===J&&E.error(this.$t("application.message.alreadyApplied"))})},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:c,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",c,"createdAtMax",d),this.fetchingTasks=!0;try{await this.$store.dispatch("pika/getTasks",{limit:o,createdAtMin:c,createdAtMax:d})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Ut},o=this.credential?.token;if(!o){console.error("no token specified");return}E.info(this.$t("pika.message.startingTask")),z.generate(e,{token:o}).then(()=>{E.success(this.$t("pika.message.startTaskSuccess")),this.$store.commit("pika/setConfig",{config:void 0})}).catch(c=>{c?.response?.data?.error?.code===F?E.error(this.$t("pika.message.usedUp")):E.error(this.$t("pika.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Gt(e,o,c,d,v,b){const p=s("config-panel"),m=s("recent-panel"),n=s("layout");return a(),V(n,null,{config:u(()=>[t(p,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[t(m,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const yo=k(Dt,[["render",Gt],["__scopeId","data-v-1bcbbdd4"]]);export{yo as default};
|
|
1
|
+
import{F as P}from"./index.es-luG_1liH.js";import{E as L}from"./index-D3JIjilD.js";import{E as O}from"./index-CiHUKD8b.js";import{d as $,h as k,b as r,t as l,k as t,r as U,j as u,l as s,o as a,eJ as q,x as i,F as S,v as T,i as V,eK as B,D as h,eL as j,cf as N,y as g,n as A,eM as z,dN as F,dr as K,dI as J,dJ as C}from"./index-D1FLNvCi.js";import{I as D,S as H}from"./ScrollList-Da5H8n1W.js";import{E as Q}from"./index-Te4f4sQ1.js";import{E as G,a as M}from"./index-mx0WSQ4c.js";import{a as W,E as X}from"./index-BWP7r6hW.js";import{I as Y}from"./ImagePreview-B9AiNOkr.js";import{E as Z}from"./index-DocBcnBZ.js";import{E}from"./index--7ePKMSn.js";import{E as x}from"./index-YkYnrHwJ.js";import{C as ee,N as te}from"./NoTasks-LBG69HXd.js";import{a as oe}from"./price-D62LsAs8.js";import{C as se}from"./CopyToClipboard-BaNpbWBZ.js";import{s as ae}from"./vue-plyr-QZFBikSk.js";import{E as ne}from"./index-CnT57L09.js";import{E as ie}from"./index-De2Qy988.js";import{E as le}from"./index-3NYwkLyG.js";import{B as re}from"./BotPlaceholder-CWIWz7Gv.js";import{l as ce}from"./pagination-D0-pgnZd.js";import"./use-form-item-o9ewPWuR.js";import"./index-r5W6hzzQ.js";import"./index-YThWA6RB.js";import"./index-DYnnhtAJ.js";import"./typescript-BOpWBj_W.js";import"./strings-MRnF76Oy.js";import"./castArray-DeMftDkR.js";import"./isEqual-DLFFes9f.js";import"./_initCloneObject-DbztCTz9.js";import"./debounce-VZSmCnjc.js";import"./_baseIteratee-DChJIcFX.js";import"./index-37AxtFjF.js";import"./index-b8eWDndR.js";import"./_baseClone-BMdvC2Mn.js";import"./index-DM378UJ5.js";import"./index-CStoqsn2.js";const pe=$({name:"LayoutPika",components:{ElDrawer:O,ElButton:L,FontAwesomeIcon:P},data(){return{drawer:!1}}}),de={class:"main flex flex-row flex-1"},ue={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},me={class:"result h-full p-[15px] flex-1 flex flex-col"};function fe(e,o,c,d,v,b){const p=s("font-awesome-icon"),m=s("el-button"),n=s("el-drawer");return a(),r("div",de,[l("div",ue,[U(e.$slots,"config",{},void 0,!0)]),l("div",me,[U(e.$slots,"result",{},void 0,!0)]),t(m,{circle:"",class:"menu",onClick:o[0]||(o[0]=y=>e.drawer=!0)},{default:u(()=>[t(p,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=y=>e.drawer=y),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const _e=k(pe,[["render",fe],["__scopeId","data-v-80748529"]]),he=$({name:"IngredientsSelector",components:{ElSwitch:Q,InfoIcon:D},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients},set(e){console.debug("set ingredients",e),e||this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,ingredients_mode:void 0,image_url:void 0}),this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,model:"2.0"})}}},mounted(){this.value===void 0&&(this.value=q)}}),ge={class:"field"},$e={class:"title font-bold"};function ke(e,o,c,d,v,b){const p=s("el-switch"),m=s("info-icon");return a(),r("div",ge,[l("h2",$e,i(e.$t("pika.name.ingredients")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value"},null,8,["modelValue"]),t(m,{content:e.$t("pika.description.ingredients"),class:"info"},null,8,["content"])])}const ve=k(he,[["render",ke],["__scopeId","data-v-17c0af5c"]]),be=$({name:"EffectSelector",components:{ElSelect:M,ElOption:G},data(){return{}},computed:{options(){return[{value:"Levitate",label:this.$t("pika.style.effect1")},{value:"Decapitate",label:this.$t("pika.style.effect2")},{value:"Eye-pop",label:this.$t("pika.style.effect3")},{value:"Ta-da",label:this.$t("pika.style.effect4")},{value:"Deflate",label:this.$t("pika.style.effect5")},{value:"Crumble",label:this.$t("pika.style.effect6")},{value:"Dissolve",label:this.$t("pika.style.effect7")},{value:"Squish",label:this.$t("pika.style.effect8")},{value:"Inflate",label:this.$t("pika.style.effect9")},{value:"Melt",label:this.$t("pika.style.effect10")},{value:"Cake-ify",label:this.$t("pika.style.effect11")},{value:"Crush",label:this.$t("pika.style.effect12")},{value:"Explode",label:this.$t("pika.style.effect13")}]},value:{get(){return this.$store.state.pika?.config?.effect},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,effect:e})}}}}),ye={class:"field"},we={class:"title font-bold"},Ee={class:"float-left"};function Ve(e,o,c,d,v,b){const p=s("el-option"),m=s("el-select");return a(),r("div",ye,[l("h2",we,i(e.$t("pika.name.effect")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("pika.placeholder.select"),clearable:""},{default:u(()=>[(a(!0),r(S,null,T(e.options,n=>(a(),V(p,{key:n.value,label:n.label,value:n.value},{default:u(()=>[l("span",Ee,i(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ie=k(be,[["render",Ve],["__scopeId","data-v-d1c54475"]]),Se=$({name:"IngredientsModelSelector",components:{ElRadioButton:X,ElRadioGroup:W},data(){return{options:[{label:this.$t("pika.button.precise"),value:"precise"},{label:this.$t("pika.button.creative"),value:"creative"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients_mode},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients_mode:e})}}},mounted(){this.value||(this.value=B)}}),Te={class:"field"},Ce={class:"title font-bold"};function Pe(e,o,c,d,v,b){const p=s("el-radio-button"),m=s("el-radio-group");return a(),r("div",Te,[l("h2",Ce,i(e.$t("pika.name.ingredientsModel")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),size:"small",class:"quality"},{default:u(()=>[(a(!0),r(S,null,T(e.options,n=>(a(),V(p,{key:n.value,label:n.value},{default:u(()=>[h(i(n.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const Le=k(Se,[["render",Pe],["__scopeId","data-v-b948551f"]]),Ae=$({name:"ModelSelector",components:{ElSelect:M,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"2.0",label:"2.0"},{value:"1.5",label:"1.5"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.model},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika.config,model:e})}}},mounted(){this.value||(this.value=j)}}),Re={class:"field"},Ue={class:"title font-bold"};function De(e,o,c,d,v,b){const p=s("el-option"),m=s("el-select");return a(),r("div",Re,[l("h2",Ue,i(e.$t("pika.name.model")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("pika.placeholder.select")},{default:u(()=>[(a(!0),r(S,null,T(e.options,n=>(a(),V(p,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ge=k(Ae,[["render",De],["__scopeId","data-v-7b2e870a"]]),Me=$({name:"ImageUrlInput",components:{ElUpload:Z,ElButton:L,InfoIcon:D,ImagePreview:Y,FontAwesomeIcon:P},data(){return{fileList:[],uploadUrl:N()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.pika?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("pika.message.uploadStartImageExceed"))},onError(){E.error(this.$t("pika.message.uploadStartImageError"))},async onRemove(){E.error(this.$t("pika.message.uploadStartImageError"))},onSetStartImageUrl(){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:this.urls})},async onSuccess(){this.onSetStartImageUrl()}}}),Oe={class:"field"},qe={class:"title font-bold"},Be={class:"upload-wrapper"};function je(e,o,c,d,v,b){const p=s("image-preview"),m=s("font-awesome-icon"),n=s("el-button"),y=s("el-upload"),_=s("info-icon");return a(),r("div",Oe,[l("h2",qe,i(e.$t("pika.name.imageUrl")),1),l("div",Be,[t(y,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=f=>e.fileList=f),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value upload-wrapper",limit:3,multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:f})=>[t(p,{url:f.url||f.response?.file_url,name:f.name,percentage:f.percentage,onRemove:I=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])]),default:u(()=>[t(n,{size:"small",type:"primary",round:""},{default:u(()=>[t(m,{icon:"fa-solid fa-upload",class:"mr-1"}),h(" "+i(e.$t("pika.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])]),t(_,{content:e.$t("pika.description.imageUrl"),class:"info"},null,8,["content"])])}const Ne=k(Me,[["render",je],["__scopeId","data-v-18cda67a"]]),ze="",Fe=$({name:"PromptInput",components:{ElInput:x,InfoIcon:D},computed:{prompt:{get(){return this.$store.state.pika?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ze)}}),Ke={class:"field"},Je={class:"box"},He={class:"title font-bold"};function Qe(e,o,c,d,v,b){const p=s("info-icon"),m=s("el-input");return a(),r("div",Ke,[l("div",Je,[l("h2",He,i(e.$t("pika.name.prompt")),1),t(p,{content:e.$t("pika.description.prompt"),class:"info"},null,8,["content"])]),t(m,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("pika.placeholder.prompt"),maxlength:300,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const We=k(Fe,[["render",Qe],["__scopeId","data-v-b94e7a3e"]]),Xe=$({name:"PresetPanel",components:{ImageUrlInput:Ne,ElButton:L,FontAwesomeIcon:P,Consumption:ee,PromptInput:We,IngredientsSelector:ve,IngredientsModelSelector:Le,ModelSelector:Ge,EffectSelector:Ie},emits:["generate"],computed:{config(){return this.$store.state.pika?.config},consumption(){return oe(this.config,this.service?.cost)},service(){return this.$store.state.pika?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ye={class:"flex flex-col h-full"},Ze={class:"flex-1 overflow-y-auto p-[15px]"},xe={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function et(e,o,c,d,v,b){const p=s("prompt-input"),m=s("model-selector"),n=s("ingredients-selector"),y=s("effect-selector"),_=s("image-url-input"),f=s("ingredients-model-selector"),I=s("consumption"),w=s("font-awesome-icon"),R=s("el-button");return a(),r("div",Ye,[l("div",Ze,[t(p,{class:"mb-4"}),t(m,{class:"mb-4"}),t(n,{class:"mb-4"}),t(y,{class:"mb-4"}),e.config?.ingredients?(a(),V(_,{key:0,class:"mb-4"})):g("",!0),e.config?.ingredients?(a(),V(f,{key:1,class:"mb-4"})):g("",!0)]),l("div",xe,[t(I,{value:e.consumption,service:e.service},null,8,["value","service"]),t(R,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(w,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+i(e.$t("pika.button.generate")),1)]),_:1},8,["onClick"])])])}const tt=k(Xe,[["render",et]]),ot=$({name:"VideoPlayer",components:{VuePlyr:ae},props:{modelValue:{type:Object,required:!0}},data(){return{options:{quality:{default:"1080p"}}}}}),st=["data-poster"],at=["src"];function nt(e,o,c,d,v,b){const p=s("vue-plyr");return a(),r("div",null,[t(p,{options:e.options,class:"video"},{default:u(()=>[l("video",{controls:"",crossorigin:"",playsinline:"","data-poster":e.modelValue?.image_url},[l("source",{size:"1080",src:e.modelValue?.video_url,type:"video/mp4"},null,8,at)],8,st)]),_:1},8,["options"])])}const it=k(ot,[["render",nt],["__scopeId","data-v-fc420430"]]),lt=$({name:"TaskPreview",components:{ElImage:le,CopyToClipboard:se,FontAwesomeIcon:P,ElAlert:ie,VideoPlayer:it,ElTooltip:ne,ElButton:L},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pika?.application},config(){return this.$store.state.pika?.config},videos(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(c=>{let d=c;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e){console.log("on download"),window.open(e,"_blank")},onReload(e){const o=e.target,c=new URL(o.src),d=c.searchParams.get("retry");if(!d)c.searchParams.set("retry","1");else if(parseInt(d)<2)c.searchParams.set("retry",(parseInt(d)+1).toString());else return;o.src=c.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),rt={class:"left"},ct={class:"main"},pt={class:"bot"},dt={class:"datetime"},ut={class:"info"},mt={key:0,class:"prompt mt-2"},ft={key:0},_t={key:1},ht={key:0,class:A({content:!0,failed:!0})},gt={class:"image-wrapper"},$t={key:0,class:A({operations:!0,"mt-2":!0})},kt={key:0,class:"description"},vt={class:"description"},bt={key:1,class:A({content:!0})},yt={class:"description"},wt={class:"description"},Et={class:"description"},Vt={key:2,class:A({content:!0})},It={class:"description"};function St(e,o,c,d,v,b){const p=s("el-image"),m=s("VideoPlayer"),n=s("el-button"),y=s("el-tooltip"),_=s("font-awesome-icon"),f=s("copy-to-clipboard"),I=s("el-alert");return a(!0),r(S,null,T(e.videos,(w,R)=>(a(),r("div",{key:R,class:"preview"},[l("div",rt,[t(p,{src:"https://cdn.acedata.cloud/i80tgn.png",class:"avatar"})]),l("div",ct,[l("div",pt,[h(i(e.$t("pika.name.pikaBot"))+" ",1),l("span",dt,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",ut,[e.modelValue?.request?.prompt?(a(),r("p",mt,[h(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?g("",!0):(a(),r("span",ft," - ("+i(e.$t("pika.status.pending"))+") ",1)),w?.state==="processing"||w?.state==="pending"?(a(),r("span",_t," - ("+i(e.$t("pika.status.processing"))+") ",1)):g("",!0)])):g("",!0)]),e.modelValue?.response?.success===!0?(a(),r("div",ht,[l("div",gt,[t(m,{"model-value":w},null,8,["model-value"])]),w?(a(),r("div",$t,[t(y,{class:"box-item",effect:"dark",content:e.$t("pika.message.downloadVideo"),placement:"top-start"},{default:u(()=>[w?.video_url?(a(),V(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:Mt=>e.onDownload(w?.video_url)},{default:u(()=>[h(i(e.$t("pika.button.download")),1)]),_:2},1032,["onClick"])):g("",!0)]),_:2},1032,["content"])])):g("",!0),t(I,{closable:!1,class:"mt-2 success"},{default:u(()=>[e.modelValue?.request?.model?(a(),r("p",kt,[t(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("pika.name.model"))+": "+i(e.modelValue?.request?.model),1)])):g("",!0),l("p",vt,[t(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(f,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):g("",!0),e.modelValue?.response?.success===!1?(a(),r("div",bt,[t(I,{closable:!1,class:"failure"},{template:u(()=>[t(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("pika.name.failure")),1)]),default:u(()=>[l("p",yt,[t(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(f,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),l("p",wt,[t(_,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+i(e.$t("pika.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),t(f,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),l("p",Et,[t(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("pika.name.traceId"))+": "+i(e.modelValue?.response?.trace_id)+" ",1),t(f,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):g("",!0),!e.modelValue?.response||w?.state==="processing"||w?.state==="pending"?(a(),r("div",Vt,[t(I,{closable:!1,class:"info"},{template:u(()=>[t(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("pika.name.failure")),1)]),default:u(()=>[l("p",It,[t(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(f,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):g("",!0)])]))),128)}const Tt=k(lt,[["render",St],["__scopeId","data-v-4c2810f1"]]),Ct=$({name:"RecentPanel",components:{TaskPreview:Tt,BotPlaceholder:re,NoTasks:te,ScrollList:H},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pika?.tasks,items:this.$store.state.pika?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Pt={key:0},Lt={key:2,class:"w-full h-full flex items-center justify-center"};function At(e,o,c,d,v,b){const p=s("bot-placeholder"),m=s("task-preview"),n=s("scroll-list"),y=s("no-tasks");return a(),r(S,null,[e.tasks?.items===void 0?(a(),r("div",Pt,[t(p)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),V(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=_=>e.$emit("reach-top"))},{default:u(()=>[(a(!0),r(S,null,T(e.tasks?.items,(_,f)=>(a(),V(m,{key:f,"model-value":_},null,8,["model-value"]))),128))]),_:1},8,["loading"])):g("",!0),e.tasks?.items?.length===0?(a(),r("div",Lt,[t(y)])):g("",!0)],64)}const Rt=k(Ct,[["render",At]]),Ut="https://webhook.acedata.cloud/pika",Dt=$({name:"PikaIndex",components:{ConfigPanel:tt,Layout:_e,RecentPanel:Rt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pika?.status?.getApplications===C.Request},tasksLoading(){return this.$store.state.pika?.status?.getTasks===C.Request||this.fetchingTasks},service(){return this.$store.state.pika.service},credential(){return this.$store.state.pika.credential},config(){return this.$store.state.pika.config},initializing(){return this.$store.state.pika.status.getApplications===C.Request},needApply(){return this.$store.state.pika.status.getApplications===C.Success&&!this.application},application(){return this.$store.state.pika.application},applications(){return this.$store.state.pika.applications},tasks(){return this.$store.state.pika.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){await ce({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("pika/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("pika/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){K.create({application:this.application}).then(({data:e})=>{this.application=e,E.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===J&&E.error(this.$t("application.message.alreadyApplied"))})},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:c,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",c,"createdAtMax",d),this.fetchingTasks=!0;try{await this.$store.dispatch("pika/getTasks",{limit:o,createdAtMin:c,createdAtMax:d})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Ut},o=this.credential?.token;if(!o){console.error("no token specified");return}E.info(this.$t("pika.message.startingTask")),z.generate(e,{token:o}).then(()=>{E.success(this.$t("pika.message.startTaskSuccess")),this.$store.commit("pika/setConfig",{config:void 0})}).catch(c=>{c?.response?.data?.error?.code===F?E.error(this.$t("pika.message.usedUp")):E.error(this.$t("pika.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Gt(e,o,c,d,v,b){const p=s("config-panel"),m=s("recent-panel"),n=s("layout");return a(),V(n,null,{config:u(()=>[t(p,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[t(m,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const yo=k(Dt,[["render",Gt],["__scopeId","data-v-1bcbbdd4"]]);export{yo as default};
|