@acedatacloud/nexior 3.289.1 → 3.289.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/dist/assets/{ApiCodeButton-i9bzfjls.js → ApiCodeButton-DQxU3p1V.js} +1 -1
- package/dist/assets/{AskUserQuestionCard-cePZ15Rw.js → AskUserQuestionCard-_fsdzzJk.js} +1 -1
- package/dist/assets/{Auth--DeLhJh-.js → Auth-BjuTHO5f.js} +1 -1
- package/dist/assets/{Bare-CDCVDKsL.js → Bare-DA4zhr9C.js} +1 -1
- package/dist/assets/{BotPlaceholder-7XKnk0fa.js → BotPlaceholder-DvPHgYBu.js} +1 -1
- package/dist/assets/{BottomFooter-DMF-nvRc.js → BottomFooter-CnHkbDxs.js} +1 -1
- package/dist/assets/{Callback-SSQyMrES.js → Callback-BBXW-Mf2.js} +1 -1
- package/dist/assets/{CodeSnippet-Bv-ykDk-.js → CodeSnippet-iBN7od85.js} +1 -1
- package/dist/assets/{Console-CgsqGbiI.js → Console-COAHnQ2m.js} +1 -1
- package/dist/assets/{Consumption-C-z13GYK.js → Consumption-D95jv4pS.js} +1 -1
- package/dist/assets/{Conversation-FcX-8-zX.js → Conversation-DPi171hQ.js} +1 -1
- package/dist/assets/{CopyToClipboard-CskqkGUm.js → CopyToClipboard-BL1mORNs.js} +1 -1
- package/dist/assets/{Detail-BhlyxXzw.js → Detail-CDuGklua.js} +2 -2
- package/dist/assets/{Extra-CNUYwmPr.js → Extra-D9VSjU1j.js} +1 -1
- package/dist/assets/{FilePreview-CUTbsqLq.js → FilePreview-BEZOXlaf.js} +1 -1
- package/dist/assets/{Hailuo-BcfPVy07.js → Hailuo-BFyFyZXH.js} +1 -1
- package/dist/assets/{History-BuZg2KgT.js → History-BuSm3Aox.js} +1 -1
- package/dist/assets/{ImagePreview-DzKPXc3w.js → ImagePreview-zIkpquFk.js} +1 -1
- package/dist/assets/{ImageWrapper-B3f0RwP-.js → ImageWrapper-DLyrD-qP.js} +1 -1
- package/dist/assets/{Index-CNWloEW4.js → Index--Di4DRIN.js} +1 -1
- package/dist/assets/{Index-NnibhAm2.js → Index-B1EQsBi1.js} +1 -1
- package/dist/assets/{Index-B5uNW1v5.js → Index-B7VwtY37.js} +1 -1
- package/dist/assets/{Index-FJX5ETaP.js → Index-BCypCPtg.js} +1 -1
- package/dist/assets/{Index-CjL9kJnm.js → Index-BMxT2jqV.js} +1 -1
- package/dist/assets/{Index-Dr9a-NKk.js → Index-Bd5I3MCT.js} +1 -1
- package/dist/assets/{Index-CZ-s5Qqz.js → Index-BiOs4Hqf.js} +1 -1
- package/dist/assets/{Index-_OcLK27p.js → Index-BmW70yMa.js} +1 -1
- package/dist/assets/{Index-84pp24Yc.js → Index-BsWj44Fd.js} +1 -1
- package/dist/assets/{Index-CkXgM_5X.js → Index-C3qmNevD.js} +1 -1
- package/dist/assets/{Index-CpVj2xyo.js → Index-C4OwzrLq.js} +1 -1
- package/dist/assets/{Index-BeTjl64c.js → Index-C4r1VOiB.js} +1 -1
- package/dist/assets/{Index-DWMvfKeQ.js → Index-C51GTzts.js} +1 -1
- package/dist/assets/{Index-DVIiY1Y2.js → Index-C5R_QgA1.js} +1 -1
- package/dist/assets/{Index-tfE0zPav.js → Index-CGb6bPsm.js} +1 -1
- package/dist/assets/{Index-Dtpixp3Q.js → Index-CiOSjS-T.js} +1 -1
- package/dist/assets/{Index-CdpVxT23.js → Index-CnUF5QbR.js} +1 -1
- package/dist/assets/{Index-BBbMouKR.js → Index-Cx4jXVdU.js} +1 -1
- package/dist/assets/{Index-e8hX1vr6.js → Index-D2Na-BQR.js} +1 -1
- package/dist/assets/{Index-DplqLCS7.js → Index-D87OPBu2.js} +1 -1
- package/dist/assets/{Index-D7QF0BLS.js → Index-DJ7_bTu9.js} +1 -1
- package/dist/assets/{Index-DFenf_6g.js → Index-DUYECAtg.js} +1 -1
- package/dist/assets/{Index-4XwnztP5.js → Index-DpCMpM2l.js} +1 -1
- package/dist/assets/{Index-BXfHAa0T.js → Index-GacJQbcB.js} +1 -1
- package/dist/assets/{Index-C1Q6yNWC.js → Index-I8Vt5aeW.js} +1 -1
- package/dist/assets/{Index-CZlxv9L_.js → Index-Nw23hsXf.js} +1 -1
- package/dist/assets/{Index-Dz6l63im.js → Index-_zFwtt2E.js} +1 -1
- package/dist/assets/{Index-D7GDSG_x.js → Index-u78A7vTY.js} +1 -1
- package/dist/assets/{InfoIcon-CPx9NFYJ.js → InfoIcon-BBrKSUP1.js} +1 -1
- package/dist/assets/{Invitees-DGjxZY2b.js → Invitees-w3hBfQZC.js} +1 -1
- package/dist/assets/{List-Cep8-Twd.js → List-BWlDWaOO.js} +1 -1
- package/dist/assets/{List-0_sBQuv0.js → List-Bw7uMGtt.js} +1 -1
- package/dist/assets/{List-BZVacrtF.js → List-CzubbkM6.js} +1 -1
- package/dist/assets/{Main-DKZNFYhv.js → Main-D7rBaiRv.js} +1 -1
- package/dist/assets/{Model-R1mCciYA.js → Model-D_Ke6gxC.js} +1 -1
- package/dist/assets/{Navigator-BXsHrgxY.js → Navigator-ahAXaBeM.js} +1 -1
- package/dist/assets/{NoTasks-Bccfp91M.js → NoTasks-C9K3EXND.js} +1 -1
- package/dist/assets/{NotFound-Bnjwmd-r.js → NotFound-Bj3udVtD.js} +1 -1
- package/dist/assets/{Pagination-B2PmCxQW.js → Pagination-BUpWBV2d.js} +1 -1
- package/dist/assets/{Pay-BuA789jQ.js → Pay-BW90DwOt.js} +1 -1
- package/dist/assets/{Player-kD-wdreE.js → Player-pHjz1W4z.js} +1 -1
- package/dist/assets/{PromptTextarea-CHTllNPE.js → PromptTextarea-BUwjXqO4.js} +1 -1
- package/dist/assets/{RealtimeCall-7IzU5WLI.js → RealtimeCall-CK-iQL1W.js} +1 -1
- package/dist/assets/ScheduledTasks-BHcQEyJd.js +2 -0
- package/dist/assets/ScheduledTasks-C-NAy4Hj.css +1 -0
- package/dist/assets/{Status-Di9M8mvj.js → Status-C1u8ZdIT.js} +1 -1
- package/dist/assets/{Subscribe-BsmzW9BJ.js → Subscribe-Ct8bWJ5w.js} +1 -1
- package/dist/assets/{TabSwitcher-zuau8wwl.js → TabSwitcher-Bz1bIFdu.js} +1 -1
- package/dist/assets/{Tts-uQKZMXpY.js → Tts-Bu08QjnH.js} +1 -1
- package/dist/assets/{VideoPlayer-bPv62Af-.js → VideoPlayer-UsP-0qkV.js} +1 -1
- package/dist/assets/{avatar-bIOljKF3.js → avatar-Cj9dW7Ww.js} +1 -1
- package/dist/assets/{basic-DWGAY9K3.js → basic-CvLWMHMM.js} +1 -1
- package/dist/assets/{chat-DvWgQdiC.js → chat-by5ztkzk.js} +1 -1
- package/dist/assets/{codingBridge-CMWdwSnp.js → codingBridge-CgH0BSvz.js} +1 -1
- package/dist/assets/{codingBridgeNotify--pOCW-BG.js → codingBridgeNotify-BU8SmGZU.js} +2 -2
- package/dist/assets/{collapse-DE1AKR5u.js → collapse-xGd3pyq9.js} +1 -1
- package/dist/assets/{createTaskActions-mzsHyy7V.js → createTaskActions-DI0NJWBu.js} +1 -1
- package/dist/assets/{date-picker-Dc3Qb4fi.js → date-picker-BhBGrOUq.js} +1 -1
- package/dist/assets/{digitalhuman-CyP2A7rH.js → digitalhuman-DOY2236l.js} +1 -1
- package/dist/assets/{dropdown-nyIx-iF1.js → dropdown-DZpjj-Rs.js} +1 -1
- package/dist/assets/{esm-Bxa3-drU.js → esm-C-HDFuKN.js} +3 -3
- package/dist/assets/esm-Cg7ruQE0.js +1 -0
- package/dist/assets/{esm-DB-t53wd.js → esm-DWeQRUZj.js} +1 -1
- package/dist/assets/{esm-D0ihqEqd.js → esm-D_1St_9v.js} +1 -1
- package/dist/assets/{esm-BwH1Ty75.js → esm-Deg9Wa0D.js} +1 -1
- package/dist/assets/{esm-BUew9Z-P.js → esm-DijpuTNM.js} +2 -2
- package/dist/assets/{esm-U_olg1kS.js → esm-HA1JA2fF.js} +2 -2
- package/dist/assets/{fish-C9bp6G2u.js → fish-BjP6jnwc.js} +1 -1
- package/dist/assets/{flux-CTOV6jFy.js → flux-BdQ1qA4r.js} +1 -1
- package/dist/assets/{grokvideo-Cq3qSx5r.js → grokvideo-CYF2AYWm.js} +1 -1
- package/dist/assets/{hailuo-D8kEBg31.js → hailuo--uwD9OrX.js} +1 -1
- package/dist/assets/{headshots-C50STghm.js → headshots-DGQU6Q-3.js} +1 -1
- package/dist/assets/{image-Dn4eZrUF.js → image-cD_rczcG.js} +1 -1
- package/dist/assets/{index-C16UVAC9.js → index-BFMUZID8.js} +3 -3
- package/dist/assets/{index.browser.esm-B8HGH-SX.js → index.browser.esm-CGvs9PzG.js} +1 -1
- package/dist/assets/{index.es-CLI7W8Vv.js → index.es-BxSKbWOt.js} +1 -1
- package/dist/assets/{input-number-BAw4XyEU.js → input-number-tzY4HiGI.js} +1 -1
- package/dist/assets/{kling-Bhml2Cpz.js → kling-BFj34n5k.js} +1 -1
- package/dist/assets/{luma-DBM72bPS.js → luma-BRJDkqJM.js} +1 -1
- package/dist/assets/{maestro-CMt6u6Qn.js → maestro-DKLeZ-nz.js} +1 -1
- package/dist/assets/{midjourney-B-fDC-No.js → midjourney-BoGy-GDG.js} +1 -1
- package/dist/assets/{nanobanana-B4DLIgCC.js → nanobanana-DhZ4A6WZ.js} +1 -1
- package/dist/assets/{openaiimage-X1wmzVL-.js → openaiimage-C3frHrwN.js} +1 -1
- package/dist/assets/{pagination-DQFmyST3.js → pagination-YjZU0Dg4.js} +1 -1
- package/dist/assets/{pika-CJIv5lo3.js → pika-D1CZ0eCO.js} +1 -1
- package/dist/assets/{pixverse-DzyKi8UQ.js → pixverse-56yKtA8m.js} +1 -1
- package/dist/assets/{popover-Dye-EcEQ.js → popover-DbNgPoS9.js} +1 -1
- package/dist/assets/{producer-C6pYZEwv.js → producer-BLkdYpt6.js} +1 -1
- package/dist/assets/{qrart-DjIYWx4c.js → qrart-wXX8LUVV.js} +1 -1
- package/dist/assets/{realtime-DnIltZYx.js → realtime-BIdawpiQ.js} +1 -1
- package/dist/assets/{row-BwTasPpH.js → row-DlvBQzWK.js} +1 -1
- package/dist/assets/{seedance-r7NwRRUB.js → seedance-CtloET6U.js} +1 -1
- package/dist/assets/{seedream-Dusy--CE.js → seedream-B7rdxiGp.js} +1 -1
- package/dist/assets/{select-DM8Bzirg.js → select-BvQYOmI2.js} +1 -1
- package/dist/assets/{serp-DR36-fIN.js → serp-BvX9KhDc.js} +1 -1
- package/dist/assets/{slider-pMVMmb6A.js → slider-CNdYtBG_.js} +1 -1
- package/dist/assets/{solana-wallets-Cte6oqHR.js → solana-wallets-D_6Mb4vc.js} +2 -2
- package/dist/assets/{solana-wallets-vue-CwZRqVLd.js → solana-wallets-vue-B9hDVbte.js} +1 -1
- package/dist/assets/{sora-BB2eITFt.js → sora-bQxUxWU6.js} +1 -1
- package/dist/assets/{suno-z-TUUUSn.js → suno-zSMi4ogm.js} +1 -1
- package/dist/assets/{switch-CNk3Dz0Y.js → switch-BtUhB-pq.js} +1 -1
- package/dist/assets/{tabs-dLtWMdK2.js → tabs-D7p5AwFu.js} +1 -1
- package/dist/assets/{time-picker-BUIku8jw.js → time-picker-BLbcHWfz.js} +1 -1
- package/dist/assets/{upload-jfXZIDu4.js → upload-DPeZOsKX.js} +1 -1
- package/dist/assets/{veo-Dn91h78S.js → veo-DyaBY7d0.js} +1 -1
- package/dist/assets/{wan-CDaLAXZa.js → wan-DTDtcl3w.js} +1 -1
- package/dist/assets/{web-CmjZlGNa.js → web-BcOGtjgm.js} +1 -1
- package/dist/assets/{web-m4UNQpuj.js → web-CQ_ZJtNl.js} +1 -1
- package/dist/assets/{web-CzdsARuV.js → web-CnZTtwly.js} +1 -1
- package/dist/assets/{web-DpZ7Fxk1.js → web-TTAsplpF.js} +1 -1
- package/dist/assets/{web-DXkzGeSj.js → web-UR7VOK2c.js} +1 -1
- package/dist/assets/{webextrator-W8IdsYij.js → webextrator-rRvfBwe4.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/ScheduledTasks-CAnkPyTG.js +0 -2
- package/dist/assets/ScheduledTasks-CF7fUoD1.css +0 -1
- package/dist/assets/esm-DXZUWrFs.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Ut as c,Vt as l,Wt as u,Z as d,dt as f,et as p,k as m,tt as h,ut as g,v as _}from"./vendor-chart-BJCvKk8-.js";import{t as v}from"./button-BydTr5nV.js";import{r as y,t as b}from"./select-DM8Bzirg.js";import{t as x}from"./upload-jfXZIDu4.js";import{t as S}from"./image-Dn4eZrUF.js";import{t as C}from"./alert-CuX4SjQB.js";import{n as w,r as T}from"./radio-3Hz7h3DR.js";import{t as E}from"./drawer-R6pcaap2.js";import{t as D}from"./slider-pMVMmb6A.js";import{t as O}from"./switch-CNk3Dz0Y.js";import{ai as k,ii as A,ni as j,oi as M,ri as N}from"./constants-C0JMy8iD.js";import{Ar as P,Br as F,E as I,Ft as L,It as R,Lt as ee,Nr as te,Pt as ne,Tn as z,Wn as B,qr as V,zn as H,zt as U}from"./index-C16UVAC9.js";import{t as W}from"./index.es-CLI7W8Vv.js";import{t as G}from"./CopyToClipboard-CskqkGUm.js";import{t as K}from"./Status-Di9M8mvj.js";import{t as q}from"./ImagePreview-DzKPXc3w.js";import{n as J}from"./taskDrawerMixin-DEgO_R5H.js";import{t as Y}from"./Consumption-C-z13GYK.js";import{n as X,t as Z}from"./pagination-DQFmyST3.js";import{t as re}from"./ApiCodeButton-i9bzfjls.js";import{t as ie}from"./BotPlaceholder-7XKnk0fa.js";import{t as ae}from"./NoTasks-Bccfp91M.js";import{t as Q}from"./InfoIcon-CPx9NFYJ.js";import{t as oe}from"./PromptTextarea-CHTllNPE.js";import{t as se}from"./ImageWrapper-B3f0RwP-.js";var ce=r({name:`LayoutQrart`,components:{ElDrawer:E,ElButton:v,FontAwesomeIcon:W},mixins:[J]}),le={class:`main flex flex-row flex-1`},ue={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},de={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function fe(e,r,i,a,s,c){let l=h(`font-awesome-icon`),u=h(`el-button`),m=h(`el-drawer`);return d(),t(`div`,le,[n(`div`,ue,[p(e.$slots,`config`,{},void 0,!0)]),n(`div`,de,[p(e.$slots,`result`,{},void 0,!0)]),f(o(u,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:g(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!e.tasksEmpty]]),o(m,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`350px`},{default:g(()=>[p(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var pe=I(ce,[[`render`,fe],[`__scopeId`,`data-v-2c672a84`]]),me=r({name:`VersionSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{label:this.$t(`qrart.type.text`),value:`text`},{label:this.$t(`qrart.type.link`),value:`link`},{label:this.$t(`qrart.type.email`),value:`email`},{label:this.$t(`qrart.type.phone`),value:`phone`},{label:this.$t(`qrart.type.sms`),value:`sms`}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.type},set(e){console.debug(`set type`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,type:e})}}},mounted(){this.value||=(console.debug(`set default type`,M),M)}}),he={class:`field`},ge={class:`text-sm font-bold title`};function _e(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,he,[n(`span`,ge,u(r.$t(`qrart.name.type`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`qrart.placeholder.select`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ve=I(me,[[`render`,_e],[`__scopeId`,`data-v-b4bd8f04`]]),ye=r({name:`AspectRatioSelector`,data(){return{options:[{value:`1:1`,label:`1:1`,width:30,height:30},{value:`4:3`,label:`4:3`,width:32,height:24},{value:`3:4`,label:`3:4`,width:24,height:32},{value:`16:9`,label:`16:9`,width:32,height:18},{value:`9:16`,label:`9:16`,width:18,height:32}]}},computed:{active(){return this.options.findIndex(e=>e.value===String(this.value))||0},value:{get(){return this.$store.state.qrart?.config?.aspect_ratio},set(e){console.debug(`set aspect ratio`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,aspect_ratio:e})}}},mounted(){this.value||=`1:1`}}),be={class:`text-sm font-bold block mb-2`},xe={class:`items`},Se=[`onClick`],Ce={class:`name`};function we(r,i,a,o,f,p){return d(),t(`div`,null,[n(`span`,be,u(r.$t(`qrart.name.aspectRatio`)),1),n(`div`,xe,[(d(!0),t(s,null,e(r.options,(e,i)=>(d(),t(`div`,{key:i,class:l({active:r.active===i,item:!0}),onClick:t=>r.value=e.value},[n(`div`,{class:l([`preview`,e.label])},[n(`div`,{class:`rect`,style:c({width:e.width+`px`,height:e.height+`px`})},null,4)],2),n(`p`,Ce,u(e.label),1)],10,Se))),128))])])}var Te=I(ye,[[`render`,we],[`__scopeId`,`data-v-b7590ecc`]]),Ee=r({name:`QrwSelector`,components:{ElSlider:D,InfoIcon:Q},computed:{value:{get(){return this.$store.state.qrart?.config?.qrw||2},set(e){console.debug(`set qrw`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,qrw:e})}}},mounted(){this.value||=(console.debug(`set default qrw`),2)}}),De={class:`field`},Oe={class:`text-sm font-bold title mb-2`};function ke(e,r,i,a,s,c){let l=h(`el-slider`),f=h(`info-icon`);return d(),t(`div`,De,[n(`span`,Oe,u(e.$t(`qrart.name.qrw`)),1),o(l,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,min:1.5,max:3,step:.1,class:`value`},null,8,[`modelValue`]),o(f,{content:e.$t(`qrart.description.qrw`),class:`info`},null,8,[`content`])])}var Ae=I(Ee,[[`render`,ke],[`__scopeId`,`data-v-8410479c`]]),je=r({name:`StepsSelector`,components:{ElSlider:D,InfoIcon:Q},computed:{value:{get(){return this.$store.state.qrart?.config?.steps||20},set(e){console.debug(`set steps`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,steps:e})}}},mounted(){this.value||=(console.debug(`set default steps`,20),20)}}),Me={class:`field`},Ne={class:`text-sm font-bold block mb-2`};function Pe(e,r,i,a,s,c){let l=h(`el-slider`),f=h(`info-icon`);return d(),t(`div`,Me,[n(`span`,Ne,u(e.$t(`qrart.name.steps`)),1),o(l,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,min:10,max:20,step:1,class:`value`},null,8,[`modelValue`]),o(f,{content:e.$t(`qrart.description.steps`),class:`info`},null,8,[`content`])])}var Fe=I(je,[[`render`,Pe],[`__scopeId`,`data-v-0c88983e`]]),Ie=r({name:`AdvancedSelector`,components:{ElSwitch:O},computed:{value:{get(){return this.$store.state.qrart?.config?.advanced},set(e){console.debug(`set advanced`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,advanced:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Le={class:`field`},Re={class:`title font-bold`};function ze(e,r,i,a,s,c){let l=h(`el-switch`);return d(),t(`div`,Le,[n(`span`,Re,u(e.$t(`qrart.name.advanced`)),1),o(l,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])}var Be=I(Ie,[[`render`,ze],[`__scopeId`,`data-v-f8ddf849`]]),Ve=r({name:`MarkerShapeSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:[{value:`square`,label:this.$t(`qrart.markerShape.square`)},{value:`circle`,label:this.$t(`qrart.markerShape.circle`)},{value:`plus`,label:this.$t(`qrart.markerShape.plus`)},{value:`box`,label:this.$t(`qrart.markerShape.box`)},{value:`octagon`,label:this.$t(`qrart.markerShape.octagon`)},{value:`tiny-plus`,label:this.$t(`qrart.markerShape.tinyPlus`)},{value:`random`,label:this.$t(`qrart.markerShape.random`)}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.marker_shape},set(e){console.debug(`set marker_shape`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,marker_shape:e})}}},mounted(){this.value||=j}}),He={class:`field`},Ue={class:`text-sm font-bold block mb-2`};function We(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,He,[n(`span`,Ue,u(r.$t(`qrart.name.markerShape`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,clearable:``,class:`value`,placeholder:r.$t(`qrart.placeholder.markerShape`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ge=I(Ve,[[`render`,We],[`__scopeId`,`data-v-de71e0b0`]]),Ke=r({name:`SubMarkerSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:[{value:`square`,label:this.$t(`qrart.subMarker.square`)},{value:`circle`,label:this.$t(`qrart.subMarker.circle`)},{value:`plus`,label:this.$t(`qrart.subMarker.plus`)},{value:`box`,label:this.$t(`qrart.subMarker.box`)},{value:`random`,label:this.$t(`qrart.subMarker.random`)}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.sub_marker},set(e){console.debug(`set sub_marker`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,sub_marker:e})}}},mounted(){this.value||=k}}),qe={class:`field`},Je={class:`text-sm font-bold block mb-2`};function Ye(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,qe,[n(`span`,Je,u(r.$t(`qrart.name.subMarker`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,clearable:``,class:`value`,placeholder:r.$t(`qrart.placeholder.subMarker`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Xe=I(Ke,[[`render`,Ye],[`__scopeId`,`data-v-51a39efa`]]),Ze=r({name:`RotateSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:[{value:0,label:0},{value:90,label:90},{value:180,label:180},{value:270,label:270}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.rotate},set(e){console.debug(`set rotate`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,rotate:e})}}},mounted(){this.value||=0}}),Qe={class:`field`},$e={class:`text-sm font-bold block mb-2`};function et(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,Qe,[n(`span`,$e,u(r.$t(`qrart.name.rotate`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,clearable:``,class:`value`,placeholder:r.$t(`qrart.placeholder.rotate`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var tt=I(Ze,[[`render`,et],[`__scopeId`,`data-v-72e35835`]]),nt=r({name:`EclSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:[{value:`L`,label:`L`},{value:`M`,label:`M`},{value:`Q`,label:`Q`},{value:`H`,label:`H`}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.ecl},set(e){console.debug(`set ecl`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,ecl:e})}}},mounted(){this.value||=`H`}}),rt={class:`field`},it={class:`text-sm font-bold block mb-2`};function at(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,rt,[n(`span`,it,u(r.$t(`qrart.name.ecl`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,clearable:``,class:`value`,placeholder:r.$t(`qrart.placeholder.ecl`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ot=I(nt,[[`render`,at],[`__scopeId`,`data-v-b3a5e331`]]),st=r({name:`MarkerShapeSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:[{value:`center`,label:this.$t(`qrart.position.center`)},{value:`top`,label:this.$t(`qrart.position.top`)},{value:`right`,label:this.$t(`qrart.position.right`)},{value:`bottom`,label:this.$t(`qrart.position.bottom`)},{value:`left`,label:this.$t(`qrart.position.left`)},{value:`top-left`,label:this.$t(`qrart.position.topLeft`)},{value:`top-right`,label:this.$t(`qrart.position.topRight`)},{value:`bottom-left`,label:this.$t(`qrart.position.bottomLeft`)},{value:`bottom-right`,label:this.$t(`qrart.position.bottomRight`)}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.position},set(e){console.debug(`set position`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,position:e})}}},mounted(){this.value||=A}}),ct={class:`field`},lt={class:`title font-bold`};function ut(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,ct,[n(`span`,lt,u(r.$t(`qrart.name.position`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,clearable:``,class:`value`,placeholder:r.$t(`qrart.placeholder.position`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var dt=I(st,[[`render`,ut],[`__scopeId`,`data-v-54186505`]]),ft=r({name:`PaddingLevelSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:[{value:0,label:0},{value:5,label:5},{value:10,label:10},{value:10,label:10},{value:15,label:15},{value:20,label:20}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.padding_level},set(e){console.debug(`set padding_level`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,padding_level:e})}}},mounted(){this.value||=5}}),pt={class:`field`},mt={class:`text-sm font-bold block mb-2`};function ht(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,pt,[n(`span`,mt,u(r.$t(`qrart.name.paddingLevel`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,clearable:``,class:`value`,placeholder:r.$t(`qrart.placeholder.paddingLevel`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var gt=I(ft,[[`render`,ht],[`__scopeId`,`data-v-49d801fd`]]),_t=r({name:`PaddingNoiseSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:[{value:0,label:0},{value:.25,label:.25},{value:.5,label:.5},{value:.75,label:.75},{value:1,label:1}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.padding_noise},set(e){console.debug(`set padding_noise`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,padding_noise:e})}}},mounted(){this.value||=0}}),vt={class:`field`},yt={class:`text-sm font-bold block mb-2`};function bt(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,vt,[n(`span`,yt,u(r.$t(`qrart.name.paddingNoise`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,clearable:``,class:`value`,placeholder:r.$t(`qrart.placeholder.paddingNoise`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var xt=I(_t,[[`render`,bt],[`__scopeId`,`data-v-a20833bb`]]),St=r({name:`PixelStyleSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:[{value:`square`,label:this.$t(`qrart.pixelStyle.square`)},{value:`rounded`,label:this.$t(`qrart.pixelStyle.rounded`)},{value:`dot`,label:this.$t(`qrart.pixelStyle.dot`)},{value:`squircle`,label:this.$t(`qrart.pixelStyle.squircle`)},{value:`row`,label:this.$t(`qrart.pixelStyle.row`)},{value:`column`,label:this.$t(`qrart.pixelStyle.column`)}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.pixel_style},set(e){console.debug(`set pixel_style`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,pixel_style:e})}}},mounted(){this.value||=N}}),Ct={class:`field`},wt={class:`text-sm font-bold block mb-2`};function Tt(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,Ct,[n(`span`,wt,u(r.$t(`qrart.name.pixelStyle`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,clearable:``,class:`value`,placeholder:r.$t(`qrart.placeholder.pixelStyle`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Et=I(St,[[`render`,Tt],[`__scopeId`,`data-v-aca7f79f`]]),Dt=r({name:`SeedInput`,components:{ElInput:V},data(){return{}},computed:{value:{get(){return this.$store.state.qrart?.config?.seed},set(e){console.debug(`set seed`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,seed:e?parseInt(e):void 0})}}},mounted(){this.value||=void 0}}),Ot={class:`field`},kt={class:`text-sm font-bold block mb-2`};function At(e,r,i,a,s,c){let l=h(`el-input`);return d(),t(`div`,Ot,[n(`span`,kt,u(e.$t(`qrart.name.seed`)),1),o(l,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`qrart.placeholder.seed`)},null,8,[`modelValue`,`placeholder`])])}var jt=I(Dt,[[`render`,At],[`__scopeId`,`data-v-d939305d`]]),Mt=r({name:`PresetSelector`,components:{ElImage:S},data(){return{options:[{value:`sunset`,label:this.$t(`qrart.preset.sunset`),url:`https://cdn.acedata.cloud/rp1h1s.png`},{value:`floral`,label:this.$t(`qrart.preset.floral`),url:`https://cdn.acedata.cloud/upyikx.png`},{value:`snowflakes`,label:this.$t(`qrart.preset.snowflakes`),url:`https://cdn.acedata.cloud/j447da.png`},{value:`feathers`,label:this.$t(`qrart.preset.feathers`),url:`https://cdn.acedata.cloud/d2ctz9.png`},{value:`raindrops`,label:this.$t(`qrart.preset.raindrops`),url:`https://cdn.acedata.cloud/xv2t3s.png`},{value:`ultra-realism`,label:this.$t(`qrart.preset.ultraRealism`),url:`https://cdn.acedata.cloud/nlor4y.png`},{value:`epic-realms`,label:this.$t(`qrart.preset.epicRealms`),url:`https://cdn.acedata.cloud/wwzkvy.png`},{value:`intricate-studio`,label:this.$t(`qrart.preset.intricateStudio`),url:`https://cdn.acedata.cloud/4kzf5y.png`},{value:`symmetric-masterpiece`,label:this.$t(`qrart.preset.symmetricMasterpiece`),url:`https://cdn.acedata.cloud/ff4ii2.png`},{value:`luminous-highway`,label:this.$t(`qrart.preset.luminousHighway`),url:`https://cdn.acedata.cloud/cliodt.png`},{value:`celestial-journey`,label:this.$t(`qrart.preset.celestialJourney`),url:`https://cdn.acedata.cloud/ejellf.png`},{value:`neon-mech`,label:this.$t(`qrart.preset.neonMech`),url:`https://cdn.acedata.cloud/3z0y6z.png`},{value:`ethereal-low-poly`,label:this.$t(`qrart.preset.etherealLowPoly`),url:`https://cdn.acedata.cloud/36o0mm.png`},{value:`golden-vista`,label:this.$t(`qrart.preset.goldenVista`),url:`https://cdn.acedata.cloud/xa0267.png`},{value:`cinematic-expanse`,label:this.$t(`qrart.preset.cinematicExpanse`),url:`https://cdn.acedata.cloud/krl5qp.png`},{value:`cinematic-warm`,label:this.$t(`qrart.preset.cinematicWarm`),url:`https://cdn.acedata.cloud/e1aahg.png`},{value:`desolate-wilderness`,label:this.$t(`qrart.preset.desolateWilderness`),url:`https://cdn.acedata.cloud/9evqqu.png`},{value:`vibrant-palette`,label:this.$t(`qrart.preset.vibrantPalette`),url:`https://cdn.acedata.cloud/3fvsmz.png`},{value:`enigmatic-journey`,label:this.$t(`qrart.preset.enigmaticJourney`),url:`https://cdn.acedata.cloud/l6kku0.png`},{value:`timeless-cinematic`,label:this.$t(`qrart.preset.timelessCinematic`),url:`https://cdn.acedata.cloud/h5mzyn.png`},{value:`regal-galaxy`,label:this.$t(`qrart.preset.regalGalaxy`),url:`https://cdn.acedata.cloud/czkegd.png`},{value:`illustrious-canvas`,label:this.$t(`qrart.preset.illustriousCanvas`),url:`https://cdn.acedata.cloud/m8hwzh.png`},{value:`expressive-mural`,label:this.$t(`qrart.preset.expressiveMural`),url:`https://cdn.acedata.cloud/g4v1rb.png`},{value:`serene-haze`,label:this.$t(`qrart.preset.sereneHaze`),url:`https://cdn.acedata.cloud/3w3ixr.png`}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.preset},set(e){console.debug(`set qrw`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,preset:e})}}},mounted(){this.value||=``}}),Nt={class:`field`},Pt={class:`text-sm font-bold block mb-2`},Ft={class:`pane`},It=[`onClick`],Lt={class:`name`};function Rt(r,i,a,c,f,p){let m=h(`el-image`);return d(),t(`div`,Nt,[n(`span`,Pt,u(r.$t(`qrart.name.preset`)),1),n(`div`,Ft,[(d(!0),t(s,null,e(r.options,(e,i)=>(d(),t(`div`,{key:i,class:l({item:!0,active:r.value===e.value}),onClick:t=>r.value===e.value?r.value=void 0:r.value=e.value},[o(m,{src:e.url,fit:`fill`,class:`preview`},null,8,[`src`]),n(`span`,Lt,u(e.label),1)],10,It))),128))])])}var zt=I(Mt,[[`render`,Rt],[`__scopeId`,`data-v-65c34adf`]]),Bt=r({name:`ContentInput`,components:{ElInput:V,ElUpload:x,ElRadioGroup:T,ElButton:v,ElRadioButton:w,ImagePreview:q,FontAwesomeIcon:W},mixins:[ee,L],data(){return{inputWay:`input`,fileList:[],uploadUrl:te()+`/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.qrart?.config?.content},set(e){this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,content:e,content_image_url:void 0})}}},mounted(){this.value||=``,this.onSetContentImageUrl()},methods:{onExceed(){F.warning(this.$t(`qrart.message.uploadDocumentsExceed`))},onError(){F.error(this.$t(`qrart.message.uploadDocumentsError`))},onSetContentImageUrl(){let e=this.urls?.[0];this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,content:void 0,content_image_url:e})},async onSuccess(){this.onSetContentImageUrl()}}}),Vt={class:`field`},Ht={class:`flex justify-between items-center mb-4`},Ut={class:`text-sm font-bold title`},Wt={class:`flex items-center`},Gt={key:2,class:`description`};function Kt(e,r,s,c,l,f){let p=h(`el-radio-button`),_=h(`el-radio-group`),v=h(`el-input`),y=h(`image-preview`),b=h(`font-awesome-icon`),x=h(`el-button`),S=h(`el-upload`);return d(),t(`div`,Vt,[n(`div`,Ht,[n(`span`,Ut,u(e.$t(`qrart.name.content`)),1),n(`div`,Wt,[o(_,{modelValue:e.inputWay,"onUpdate:modelValue":r[0]||=t=>e.inputWay=t},{default:g(()=>[o(p,{label:`input`},{default:g(()=>[i(u(e.$t(`qrart.inputWay.input`)),1)]),_:1}),o(p,{label:`upload`},{default:g(()=>[i(u(e.$t(`qrart.inputWay.upload`)),1)]),_:1})]),_:1},8,[`modelValue`])])]),e.inputWay==`input`?(d(),a(v,{key:0,modelValue:e.value,"onUpdate:modelValue":r[1]||=t=>e.value=t,class:`content`,placeholder:e.$t(`qrart.placeholder.content`)},null,8,[`modelValue`,`placeholder`])):m(``,!0),e.inputWay==`upload`?(d(),a(S,{key:1,ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[2]||=t=>e.fileList=t,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`upload upload-wrapper`,limit:1,multiple:!1,"list-type":`picture`,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:g(({file:t})=>[o(y,{url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:g(()=>[o(x,{size:`small`,type:`primary`,round:``},{default:g(()=>[o(b,{icon:`fa-solid fa-upload`,class:`mr-1`}),i(` `+u(e.$t(`qrart.button.uploadQr`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])):m(``,!0),e.inputWay==`upload`?(d(),t(`p`,Gt,u(e.$t(`qrart.message.uploadQr`)),1)):m(``,!0)])}var qt=I(Bt,[[`render`,Kt],[`__scopeId`,`data-v-afb72cf1`]]),Jt=r({name:`PromptInput`,components:{PromptTextarea:oe},computed:{value:{get(){return this.$store.state.qrart?.config?.prompt},set(e){this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,prompt:e})}}},mounted(){this.value||=``}});function Yt(e,t,n,r,i,o){let s=h(`prompt-textarea`);return d(),a(s,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,title:e.$t(`qrart.name.prompt`),placeholder:e.$t(`qrart.placeholder.prompt`)},null,8,[`modelValue`,`title`,`placeholder`])}var Xt=r({name:`ConfigPanel`,components:{ElButton:v,FontAwesomeIcon:W,Consumption:Y,TypeSelector:ve,PositionSelector:dt,PixelStyleSelector:Et,PaddingLevelSelector:gt,SeedInput:jt,AspectRatioSelector:Te,QrwSelector:Ae,EclSelector:ot,StepsSelector:Fe,PaddingNoiseSelector:xt,AdvancedSelector:Be,MarkerShapeSelector:Ge,SubMarkerSelector:Xe,RotateSelector:tt,PresetSelector:zt,ContentInput:qt,PromptInput:I(Jt,[[`render`,Yt]])},emits:[`generate`],computed:{config(){return this.$store.state.qrart?.config},consumption(){return U(this.config,this.service?.cost)},service(){return this.$store.state.qrart?.service}}}),Zt={class:`flex flex-col h-full`},Qt={class:`flex-1 overflow-y-auto p-5`},$t={class:`flex flex-col items-center justify-center px-5 pb-5`};function en(e,r,s,c,l,f){let p=h(`type-selector`),_=h(`content-input`),v=h(`prompt-input`),y=h(`aspect-ratio-selector`),b=h(`qrw-selector`),x=h(`preset-selector`),S=h(`position-selector`),C=h(`advanced-selector`),w=h(`steps-selector`),T=h(`seed-input`),E=h(`pixel-style-selector`),D=h(`marker-shape-selector`),O=h(`sub-marker-selector`),k=h(`rotate-selector`),A=h(`ecl-selector`),j=h(`padding-level-selector`),M=h(`padding-noise-selector`),N=h(`consumption`),P=h(`font-awesome-icon`),F=h(`el-button`);return d(),t(`div`,Zt,[n(`div`,Qt,[o(p,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-4`}),o(x,{class:`mb-4`}),o(S,{class:`mb-4`}),o(C,{class:`mb-4`}),e.config?.advanced?(d(),a(w,{key:0,class:`mb-4`})):m(``,!0),e.config?.advanced?(d(),a(T,{key:1,class:`mb-4`})):m(``,!0),e.config?.advanced?(d(),a(E,{key:2,class:`mb-4`})):m(``,!0),e.config?.advanced?(d(),a(D,{key:3,class:`mb-4`})):m(``,!0),e.config?.advanced?(d(),a(O,{key:4,class:`mb-4`})):m(``,!0),e.config?.advanced?(d(),a(k,{key:5,class:`mb-4`})):m(``,!0),e.config?.advanced?(d(),a(A,{key:6,class:`mb-4`})):m(``,!0),e.config?.advanced?(d(),a(j,{key:7,class:`mb-4`})):m(``,!0),e.config?.advanced?(d(),a(M,{key:8,class:`mb-4`})):m(``,!0)]),n(`div`,$t,[o(N,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(F,{type:`primary`,class:`btn w-full`,round:``,onClick:r[0]||=t=>e.$emit(`generate`)},{default:g(()=>[o(P,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+u(e.$t(`qrart.button.generate`)),1)]),_:1})])])}var tn=I(Xt,[[`render`,en]]),nn=r({name:`TaskPreview`,components:{ElImage:S,CopyToClipboard:G,FontAwesomeIcon:W,ElAlert:C,ImageWrapper:se,ApiCodeButton:re},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.qrart?.application}},methods:{onOpenLink(e){window.open(e,`_blank`)},onReload(e){let t=e.target,n=new URL(t.src),r=n.searchParams.get(`retry`);if(!r)n.searchParams.set(`retry`,`1`);else if(parseInt(r)<2)n.searchParams.set(`retry`,(parseInt(r)+1).toString());else return;t.src=n.toString()},onOpenUrl(e){window.open(e,`_blank`)},onDownload(e){let t=document.createElement(`a`);t.href=e,t.download=e.split(`/`).pop(),t.click()}}}),rn={class:`preview w-full h-fit text-left flex flex-row mb-[15px]`},an={class:`left`},on={class:`main flex-1 w-[calc(100%-70px)] min-w-0 pt-[10px] pr-[10px] pb-0 pl-[10px]`},sn={class:`bot text-[16px] font-bold text-[var(--el-color-primary)] overflow-hidden text-ellipsis whitespace-nowrap`},cn={class:`datetime text-[12px] font-normal text-[var(--el-text-color-secondary)] ml-[10px]`},ln={class:`info`},un={key:0,class:`prompt mt-2 text-[14px] font-bold text-[var(--el-text-color-regular)] mb-[10px] overflow-hidden text-ellipsis whitespace-nowrap`},dn={key:0},fn={key:0,class:l({content:!0,failed:!0})},pn={class:l({operations:!0,"mt-2":!0,"mb-2":!0})},mn={class:`description`},hn={class:`description`},gn={key:0,class:`description`},_n={key:1,class:`description`},vn={key:2,class:`description`},yn={key:3,class:`description`},$={key:1,class:l({content:!0})},bn={class:`description`},xn={class:`description`},Sn={key:0,class:`description`},Cn={class:`description`},wn={key:2,class:l({content:!0})},Tn={class:`description`};function En(e,r,s,c,l,f){let p=h(`el-image`),_=h(`image-wrapper`),v=h(`api-code-button`),y=h(`font-awesome-icon`),b=h(`copy-to-clipboard`),x=h(`el-alert`);return d(),t(`div`,rn,[n(`div`,an,[o(p,{src:`https://cdn.acedata.cloud/bcml67.png`,class:`avatar bg-[var(--el-bg-color)] p-[2px] w-[50px] h-[50px] m-[10px] rounded-full`})]),n(`div`,on,[n(`div`,sn,[i(u(e.$t(`qrart.name.qrartBot`))+` `,1),n(`span`,cn,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,ln,[e.modelValue?.request?.prompt?(d(),t(`p`,un,[i(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?m(``,!0):(d(),t(`span`,dn,` - (`+u(e.$t(`qrart.status.pending`))+`) `,1))])):m(``,!0)]),e.modelValue?.response?.success===!0?(d(),t(`div`,fn,[e.modelValue?.response?.image_url?(d(),a(_,{key:0,src:e.modelValue?.response?.image_url,"raw-src":e.modelValue?.response?.image_url},null,8,[`src`,`raw-src`])):m(``,!0),n(`div`,pn,[o(v,{path:`/qrart/generate`,body:e.modelValue?.request},null,8,[`body`])]),o(x,{closable:!1,class:`mt-2 success`},{default:g(()=>[n(`p`,mn,[o(y,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(b,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),n(`p`,hn,[o(y,{icon:`fa-solid fa-diamond`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.type`))+`: `+u(e.$t(`qrart.type.`+e.modelValue?.request?.type))+` `,1),o(b,{content:e.modelValue?.request?.type,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.request?.content?(d(),t(`p`,gn,[o(y,{icon:`fa-regular fa-message`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.content`))+`: `+u(e.modelValue?.request?.content)+` `,1),o(b,{content:e.modelValue?.request?.content,class:`btn-copy`},null,8,[`content`])])):m(``,!0),e.modelValue?.request?.content_image_url?(d(),t(`p`,_n,[o(y,{icon:`fa-regular fa-message`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.contentImageUrl`))+`: `,1),o(y,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1 cursor-pointer`,onClick:r[0]||=t=>e.onOpenLink(e.modelValue?.request?.content_image_url)})])):m(``,!0),e.modelValue?.request?.seed||e.modelValue?.response?.seed?(d(),t(`p`,vn,[o(y,{icon:`fa-solid fa-seedling`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.seed`))+`: `+u(e.modelValue?.request?.seed||e.modelValue?.response?.seed)+` `,1),o(b,{content:(e.modelValue?.request?.seed||e.modelValue?.response?.seed).toString(),class:`btn-copy`},null,8,[`content`])])):m(``,!0),e.modelValue?.elapsed?(d(),t(`p`,yn,[o(y,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0)]),_:1})])):m(``,!0),e.modelValue?.response?.success===!1?(d(),t(`div`,$,[o(x,{closable:!1,class:`failure`},{template:g(()=>[o(y,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.failure`)),1)]),default:g(()=>[n(`p`,bn,[o(y,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(b,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),n(`p`,xn,[o(y,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(b,{content:e.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(d(),t(`p`,Sn,[o(y,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),n(`p`,Cn,[o(y,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(b,{content:e.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):m(``,!0),e.modelValue?.response?m(``,!0):(d(),t(`div`,wn,[o(x,{closable:!1,class:`info`},{template:g(()=>[o(y,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.failure`)),1)]),default:g(()=>[n(`p`,Tn,[o(y,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(b,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var Dn=r({name:`RecentPanel`,components:{TaskPreview:I(nn,[[`render`,En],[`__scopeId`,`data-v-5c6e6795`]]),BotPlaceholder:ie,NoTasks:ae,ScrollList:X},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.qrart?.tasks,items:this.$store.state.qrart?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),On={key:0},kn={key:2,class:`w-full h-full flex items-center justify-center`};function An(n,r,i,c,l,u){let f=h(`bot-placeholder`),p=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return d(),t(s,null,[n.tasks?.items===void 0?(d(),t(`div`,On,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(d(),a(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:n.loading,onReachTop:r[0]||=e=>n.$emit(`reach-top`)},{default:g(()=>[(d(!0),t(s,null,e(n.tasks?.items,(e,t)=>(d(),a(p,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),n.tasks?.items?.length===0?(d(),t(`div`,kn,[o(v)])):m(``,!0)],64)}var jn=r({name:`QrartIndex`,components:{ConfigPanel:tn,Layout:pe,ApplicationStatus:K,RecentPanel:I(Dn,[[`render`,An]])},mixins:[R],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.qrart?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.qrart?.status?.getTasks===P.Request||this.fetchingTasks},service(){return this.$store.state.qrart.service},credential(){return this.$store.state.qrart.credential},config(){return this.$store.state.qrart.config},initializing(){return this.$store.state.qrart.status.getApplications===P.Request},needApply(){return this.$store.state.qrart.status.getApplications===P.Success&&!this.application},application(){return this.$store.state.qrart.application},tasks(){return this.$store.state.qrart.tasks},applications(){return this.$store.state.qrart.applications}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Z({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(`qrart/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplications`),await this.$store.dispatch(`qrart/getApplications`),console.debug(`end onGetApplications`),await this.onGetTasks()},onApply(){H.create({application:this.application}).then(({data:e})=>{this.application=e,F.success(this.$t(`application.message.applySuccessfully`))}).catch(e=>{e?.response?.data?.code===`duplication`&&F.error(this.$t(`application.message.alreadyApplied`))})},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`qrart/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ne(this.uploadTracker,e=>this.$t(e),e=>F.warning(e)))return;let e={type:this.config?.type,content:this.config?.content,content_image_url:this.config?.content_image_url,prompt:this.config?.prompt,aspect_ratio:this.config?.aspect_ratio,async:!0,qrw:this.config?.qrw,steps:this.config?.steps,preset:this.config?.preset,...this.config?.advanced?{position:this.config?.position,pixel_style:this.config?.pixel_style,marker_shape:this.config?.marker_shape,sub_marker:this.config?.sub_marker,rotate:this.config?.rotate,ecl:this.config?.ecl,seed:this.config?.seed,padding_level:this.config?.padding_level,padding_noise:this.config?.padding_noise}:{}},t=this.credential?.token;if(!t){console.error(`no token specified`);return}F.info(this.$t(`qrart.message.startingTask`)),B(`qrart`,z.generate(e,{token:t})).then(()=>{F.success(this.$t(`qrart.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?F.error(this.$t(`qrart.message.usedUp`)):F.error(this.$t(`qrart.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Mn(e,t,n,r,i,s){let c=h(`config-panel`),l=h(`application-status`),u=h(`recent-panel`),f=h(`layout`);return d(),a(f,null,{config:g(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:g(()=>[o(l,{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=>e.$store.dispatch(`qrart/setApplication`,t)},null,8,[`initializing`,`application`,`applications`,`service`,`need-apply`,`onRefresh`]),o(u,{ref:`recentPanel`,class:`panel recent`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Nn=I(jn,[[`render`,Mn],[`__scopeId`,`data-v-48affeab`]]);export{Nn as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Ut as c,Vt as l,Wt as u,Z as d,dt as f,et as p,k as m,tt as h,ut as g,v as _}from"./vendor-chart-BJCvKk8-.js";import{t as v}from"./button-BydTr5nV.js";import{r as y,t as b}from"./select-BvQYOmI2.js";import{t as x}from"./upload-DPeZOsKX.js";import{t as S}from"./image-cD_rczcG.js";import{t as C}from"./alert-CuX4SjQB.js";import{n as w,r as T}from"./radio-3Hz7h3DR.js";import{t as E}from"./drawer-R6pcaap2.js";import{t as D}from"./slider-CNdYtBG_.js";import{t as O}from"./switch-BtUhB-pq.js";import{ai as k,ii as A,ni as j,oi as M,ri as N}from"./constants-C0JMy8iD.js";import{Ar as P,Br as F,E as I,Ft as L,It as R,Lt as ee,Nr as te,Pt as ne,Tn as z,Wn as B,qr as V,zn as H,zt as U}from"./index-BFMUZID8.js";import{t as W}from"./index.es-BxSKbWOt.js";import{t as G}from"./CopyToClipboard-BL1mORNs.js";import{t as K}from"./Status-C1u8ZdIT.js";import{t as q}from"./ImagePreview-zIkpquFk.js";import{n as J}from"./taskDrawerMixin-DEgO_R5H.js";import{t as Y}from"./Consumption-D95jv4pS.js";import{n as X,t as Z}from"./pagination-YjZU0Dg4.js";import{t as re}from"./ApiCodeButton-DQxU3p1V.js";import{t as ie}from"./BotPlaceholder-DvPHgYBu.js";import{t as ae}from"./NoTasks-C9K3EXND.js";import{t as Q}from"./InfoIcon-BBrKSUP1.js";import{t as oe}from"./PromptTextarea-BUwjXqO4.js";import{t as se}from"./ImageWrapper-DLyrD-qP.js";var ce=r({name:`LayoutQrart`,components:{ElDrawer:E,ElButton:v,FontAwesomeIcon:W},mixins:[J]}),le={class:`main flex flex-row flex-1`},ue={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},de={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function fe(e,r,i,a,s,c){let l=h(`font-awesome-icon`),u=h(`el-button`),m=h(`el-drawer`);return d(),t(`div`,le,[n(`div`,ue,[p(e.$slots,`config`,{},void 0,!0)]),n(`div`,de,[p(e.$slots,`result`,{},void 0,!0)]),f(o(u,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:g(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!e.tasksEmpty]]),o(m,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`350px`},{default:g(()=>[p(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var pe=I(ce,[[`render`,fe],[`__scopeId`,`data-v-2c672a84`]]),me=r({name:`VersionSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{label:this.$t(`qrart.type.text`),value:`text`},{label:this.$t(`qrart.type.link`),value:`link`},{label:this.$t(`qrart.type.email`),value:`email`},{label:this.$t(`qrart.type.phone`),value:`phone`},{label:this.$t(`qrart.type.sms`),value:`sms`}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.type},set(e){console.debug(`set type`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,type:e})}}},mounted(){this.value||=(console.debug(`set default type`,M),M)}}),he={class:`field`},ge={class:`text-sm font-bold title`};function _e(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,he,[n(`span`,ge,u(r.$t(`qrart.name.type`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`qrart.placeholder.select`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ve=I(me,[[`render`,_e],[`__scopeId`,`data-v-b4bd8f04`]]),ye=r({name:`AspectRatioSelector`,data(){return{options:[{value:`1:1`,label:`1:1`,width:30,height:30},{value:`4:3`,label:`4:3`,width:32,height:24},{value:`3:4`,label:`3:4`,width:24,height:32},{value:`16:9`,label:`16:9`,width:32,height:18},{value:`9:16`,label:`9:16`,width:18,height:32}]}},computed:{active(){return this.options.findIndex(e=>e.value===String(this.value))||0},value:{get(){return this.$store.state.qrart?.config?.aspect_ratio},set(e){console.debug(`set aspect ratio`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,aspect_ratio:e})}}},mounted(){this.value||=`1:1`}}),be={class:`text-sm font-bold block mb-2`},xe={class:`items`},Se=[`onClick`],Ce={class:`name`};function we(r,i,a,o,f,p){return d(),t(`div`,null,[n(`span`,be,u(r.$t(`qrart.name.aspectRatio`)),1),n(`div`,xe,[(d(!0),t(s,null,e(r.options,(e,i)=>(d(),t(`div`,{key:i,class:l({active:r.active===i,item:!0}),onClick:t=>r.value=e.value},[n(`div`,{class:l([`preview`,e.label])},[n(`div`,{class:`rect`,style:c({width:e.width+`px`,height:e.height+`px`})},null,4)],2),n(`p`,Ce,u(e.label),1)],10,Se))),128))])])}var Te=I(ye,[[`render`,we],[`__scopeId`,`data-v-b7590ecc`]]),Ee=r({name:`QrwSelector`,components:{ElSlider:D,InfoIcon:Q},computed:{value:{get(){return this.$store.state.qrart?.config?.qrw||2},set(e){console.debug(`set qrw`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,qrw:e})}}},mounted(){this.value||=(console.debug(`set default qrw`),2)}}),De={class:`field`},Oe={class:`text-sm font-bold title mb-2`};function ke(e,r,i,a,s,c){let l=h(`el-slider`),f=h(`info-icon`);return d(),t(`div`,De,[n(`span`,Oe,u(e.$t(`qrart.name.qrw`)),1),o(l,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,min:1.5,max:3,step:.1,class:`value`},null,8,[`modelValue`]),o(f,{content:e.$t(`qrart.description.qrw`),class:`info`},null,8,[`content`])])}var Ae=I(Ee,[[`render`,ke],[`__scopeId`,`data-v-8410479c`]]),je=r({name:`StepsSelector`,components:{ElSlider:D,InfoIcon:Q},computed:{value:{get(){return this.$store.state.qrart?.config?.steps||20},set(e){console.debug(`set steps`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,steps:e})}}},mounted(){this.value||=(console.debug(`set default steps`,20),20)}}),Me={class:`field`},Ne={class:`text-sm font-bold block mb-2`};function Pe(e,r,i,a,s,c){let l=h(`el-slider`),f=h(`info-icon`);return d(),t(`div`,Me,[n(`span`,Ne,u(e.$t(`qrart.name.steps`)),1),o(l,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,min:10,max:20,step:1,class:`value`},null,8,[`modelValue`]),o(f,{content:e.$t(`qrart.description.steps`),class:`info`},null,8,[`content`])])}var Fe=I(je,[[`render`,Pe],[`__scopeId`,`data-v-0c88983e`]]),Ie=r({name:`AdvancedSelector`,components:{ElSwitch:O},computed:{value:{get(){return this.$store.state.qrart?.config?.advanced},set(e){console.debug(`set advanced`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,advanced:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Le={class:`field`},Re={class:`title font-bold`};function ze(e,r,i,a,s,c){let l=h(`el-switch`);return d(),t(`div`,Le,[n(`span`,Re,u(e.$t(`qrart.name.advanced`)),1),o(l,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])}var Be=I(Ie,[[`render`,ze],[`__scopeId`,`data-v-f8ddf849`]]),Ve=r({name:`MarkerShapeSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:[{value:`square`,label:this.$t(`qrart.markerShape.square`)},{value:`circle`,label:this.$t(`qrart.markerShape.circle`)},{value:`plus`,label:this.$t(`qrart.markerShape.plus`)},{value:`box`,label:this.$t(`qrart.markerShape.box`)},{value:`octagon`,label:this.$t(`qrart.markerShape.octagon`)},{value:`tiny-plus`,label:this.$t(`qrart.markerShape.tinyPlus`)},{value:`random`,label:this.$t(`qrart.markerShape.random`)}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.marker_shape},set(e){console.debug(`set marker_shape`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,marker_shape:e})}}},mounted(){this.value||=j}}),He={class:`field`},Ue={class:`text-sm font-bold block mb-2`};function We(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,He,[n(`span`,Ue,u(r.$t(`qrart.name.markerShape`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,clearable:``,class:`value`,placeholder:r.$t(`qrart.placeholder.markerShape`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ge=I(Ve,[[`render`,We],[`__scopeId`,`data-v-de71e0b0`]]),Ke=r({name:`SubMarkerSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:[{value:`square`,label:this.$t(`qrart.subMarker.square`)},{value:`circle`,label:this.$t(`qrart.subMarker.circle`)},{value:`plus`,label:this.$t(`qrart.subMarker.plus`)},{value:`box`,label:this.$t(`qrart.subMarker.box`)},{value:`random`,label:this.$t(`qrart.subMarker.random`)}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.sub_marker},set(e){console.debug(`set sub_marker`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,sub_marker:e})}}},mounted(){this.value||=k}}),qe={class:`field`},Je={class:`text-sm font-bold block mb-2`};function Ye(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,qe,[n(`span`,Je,u(r.$t(`qrart.name.subMarker`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,clearable:``,class:`value`,placeholder:r.$t(`qrart.placeholder.subMarker`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Xe=I(Ke,[[`render`,Ye],[`__scopeId`,`data-v-51a39efa`]]),Ze=r({name:`RotateSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:[{value:0,label:0},{value:90,label:90},{value:180,label:180},{value:270,label:270}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.rotate},set(e){console.debug(`set rotate`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,rotate:e})}}},mounted(){this.value||=0}}),Qe={class:`field`},$e={class:`text-sm font-bold block mb-2`};function et(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,Qe,[n(`span`,$e,u(r.$t(`qrart.name.rotate`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,clearable:``,class:`value`,placeholder:r.$t(`qrart.placeholder.rotate`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var tt=I(Ze,[[`render`,et],[`__scopeId`,`data-v-72e35835`]]),nt=r({name:`EclSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:[{value:`L`,label:`L`},{value:`M`,label:`M`},{value:`Q`,label:`Q`},{value:`H`,label:`H`}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.ecl},set(e){console.debug(`set ecl`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,ecl:e})}}},mounted(){this.value||=`H`}}),rt={class:`field`},it={class:`text-sm font-bold block mb-2`};function at(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,rt,[n(`span`,it,u(r.$t(`qrart.name.ecl`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,clearable:``,class:`value`,placeholder:r.$t(`qrart.placeholder.ecl`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ot=I(nt,[[`render`,at],[`__scopeId`,`data-v-b3a5e331`]]),st=r({name:`MarkerShapeSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:[{value:`center`,label:this.$t(`qrart.position.center`)},{value:`top`,label:this.$t(`qrart.position.top`)},{value:`right`,label:this.$t(`qrart.position.right`)},{value:`bottom`,label:this.$t(`qrart.position.bottom`)},{value:`left`,label:this.$t(`qrart.position.left`)},{value:`top-left`,label:this.$t(`qrart.position.topLeft`)},{value:`top-right`,label:this.$t(`qrart.position.topRight`)},{value:`bottom-left`,label:this.$t(`qrart.position.bottomLeft`)},{value:`bottom-right`,label:this.$t(`qrart.position.bottomRight`)}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.position},set(e){console.debug(`set position`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,position:e})}}},mounted(){this.value||=A}}),ct={class:`field`},lt={class:`title font-bold`};function ut(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,ct,[n(`span`,lt,u(r.$t(`qrart.name.position`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,clearable:``,class:`value`,placeholder:r.$t(`qrart.placeholder.position`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var dt=I(st,[[`render`,ut],[`__scopeId`,`data-v-54186505`]]),ft=r({name:`PaddingLevelSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:[{value:0,label:0},{value:5,label:5},{value:10,label:10},{value:10,label:10},{value:15,label:15},{value:20,label:20}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.padding_level},set(e){console.debug(`set padding_level`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,padding_level:e})}}},mounted(){this.value||=5}}),pt={class:`field`},mt={class:`text-sm font-bold block mb-2`};function ht(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,pt,[n(`span`,mt,u(r.$t(`qrart.name.paddingLevel`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,clearable:``,class:`value`,placeholder:r.$t(`qrart.placeholder.paddingLevel`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var gt=I(ft,[[`render`,ht],[`__scopeId`,`data-v-49d801fd`]]),_t=r({name:`PaddingNoiseSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:[{value:0,label:0},{value:.25,label:.25},{value:.5,label:.5},{value:.75,label:.75},{value:1,label:1}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.padding_noise},set(e){console.debug(`set padding_noise`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,padding_noise:e})}}},mounted(){this.value||=0}}),vt={class:`field`},yt={class:`text-sm font-bold block mb-2`};function bt(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,vt,[n(`span`,yt,u(r.$t(`qrart.name.paddingNoise`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,clearable:``,class:`value`,placeholder:r.$t(`qrart.placeholder.paddingNoise`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var xt=I(_t,[[`render`,bt],[`__scopeId`,`data-v-a20833bb`]]),St=r({name:`PixelStyleSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:[{value:`square`,label:this.$t(`qrart.pixelStyle.square`)},{value:`rounded`,label:this.$t(`qrart.pixelStyle.rounded`)},{value:`dot`,label:this.$t(`qrart.pixelStyle.dot`)},{value:`squircle`,label:this.$t(`qrart.pixelStyle.squircle`)},{value:`row`,label:this.$t(`qrart.pixelStyle.row`)},{value:`column`,label:this.$t(`qrart.pixelStyle.column`)}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.pixel_style},set(e){console.debug(`set pixel_style`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,pixel_style:e})}}},mounted(){this.value||=N}}),Ct={class:`field`},wt={class:`text-sm font-bold block mb-2`};function Tt(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,Ct,[n(`span`,wt,u(r.$t(`qrart.name.pixelStyle`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,clearable:``,class:`value`,placeholder:r.$t(`qrart.placeholder.pixelStyle`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Et=I(St,[[`render`,Tt],[`__scopeId`,`data-v-aca7f79f`]]),Dt=r({name:`SeedInput`,components:{ElInput:V},data(){return{}},computed:{value:{get(){return this.$store.state.qrart?.config?.seed},set(e){console.debug(`set seed`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,seed:e?parseInt(e):void 0})}}},mounted(){this.value||=void 0}}),Ot={class:`field`},kt={class:`text-sm font-bold block mb-2`};function At(e,r,i,a,s,c){let l=h(`el-input`);return d(),t(`div`,Ot,[n(`span`,kt,u(e.$t(`qrart.name.seed`)),1),o(l,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`qrart.placeholder.seed`)},null,8,[`modelValue`,`placeholder`])])}var jt=I(Dt,[[`render`,At],[`__scopeId`,`data-v-d939305d`]]),Mt=r({name:`PresetSelector`,components:{ElImage:S},data(){return{options:[{value:`sunset`,label:this.$t(`qrart.preset.sunset`),url:`https://cdn.acedata.cloud/rp1h1s.png`},{value:`floral`,label:this.$t(`qrart.preset.floral`),url:`https://cdn.acedata.cloud/upyikx.png`},{value:`snowflakes`,label:this.$t(`qrart.preset.snowflakes`),url:`https://cdn.acedata.cloud/j447da.png`},{value:`feathers`,label:this.$t(`qrart.preset.feathers`),url:`https://cdn.acedata.cloud/d2ctz9.png`},{value:`raindrops`,label:this.$t(`qrart.preset.raindrops`),url:`https://cdn.acedata.cloud/xv2t3s.png`},{value:`ultra-realism`,label:this.$t(`qrart.preset.ultraRealism`),url:`https://cdn.acedata.cloud/nlor4y.png`},{value:`epic-realms`,label:this.$t(`qrart.preset.epicRealms`),url:`https://cdn.acedata.cloud/wwzkvy.png`},{value:`intricate-studio`,label:this.$t(`qrart.preset.intricateStudio`),url:`https://cdn.acedata.cloud/4kzf5y.png`},{value:`symmetric-masterpiece`,label:this.$t(`qrart.preset.symmetricMasterpiece`),url:`https://cdn.acedata.cloud/ff4ii2.png`},{value:`luminous-highway`,label:this.$t(`qrart.preset.luminousHighway`),url:`https://cdn.acedata.cloud/cliodt.png`},{value:`celestial-journey`,label:this.$t(`qrart.preset.celestialJourney`),url:`https://cdn.acedata.cloud/ejellf.png`},{value:`neon-mech`,label:this.$t(`qrart.preset.neonMech`),url:`https://cdn.acedata.cloud/3z0y6z.png`},{value:`ethereal-low-poly`,label:this.$t(`qrart.preset.etherealLowPoly`),url:`https://cdn.acedata.cloud/36o0mm.png`},{value:`golden-vista`,label:this.$t(`qrart.preset.goldenVista`),url:`https://cdn.acedata.cloud/xa0267.png`},{value:`cinematic-expanse`,label:this.$t(`qrart.preset.cinematicExpanse`),url:`https://cdn.acedata.cloud/krl5qp.png`},{value:`cinematic-warm`,label:this.$t(`qrart.preset.cinematicWarm`),url:`https://cdn.acedata.cloud/e1aahg.png`},{value:`desolate-wilderness`,label:this.$t(`qrart.preset.desolateWilderness`),url:`https://cdn.acedata.cloud/9evqqu.png`},{value:`vibrant-palette`,label:this.$t(`qrart.preset.vibrantPalette`),url:`https://cdn.acedata.cloud/3fvsmz.png`},{value:`enigmatic-journey`,label:this.$t(`qrart.preset.enigmaticJourney`),url:`https://cdn.acedata.cloud/l6kku0.png`},{value:`timeless-cinematic`,label:this.$t(`qrart.preset.timelessCinematic`),url:`https://cdn.acedata.cloud/h5mzyn.png`},{value:`regal-galaxy`,label:this.$t(`qrart.preset.regalGalaxy`),url:`https://cdn.acedata.cloud/czkegd.png`},{value:`illustrious-canvas`,label:this.$t(`qrart.preset.illustriousCanvas`),url:`https://cdn.acedata.cloud/m8hwzh.png`},{value:`expressive-mural`,label:this.$t(`qrart.preset.expressiveMural`),url:`https://cdn.acedata.cloud/g4v1rb.png`},{value:`serene-haze`,label:this.$t(`qrart.preset.sereneHaze`),url:`https://cdn.acedata.cloud/3w3ixr.png`}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.preset},set(e){console.debug(`set qrw`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,preset:e})}}},mounted(){this.value||=``}}),Nt={class:`field`},Pt={class:`text-sm font-bold block mb-2`},Ft={class:`pane`},It=[`onClick`],Lt={class:`name`};function Rt(r,i,a,c,f,p){let m=h(`el-image`);return d(),t(`div`,Nt,[n(`span`,Pt,u(r.$t(`qrart.name.preset`)),1),n(`div`,Ft,[(d(!0),t(s,null,e(r.options,(e,i)=>(d(),t(`div`,{key:i,class:l({item:!0,active:r.value===e.value}),onClick:t=>r.value===e.value?r.value=void 0:r.value=e.value},[o(m,{src:e.url,fit:`fill`,class:`preview`},null,8,[`src`]),n(`span`,Lt,u(e.label),1)],10,It))),128))])])}var zt=I(Mt,[[`render`,Rt],[`__scopeId`,`data-v-65c34adf`]]),Bt=r({name:`ContentInput`,components:{ElInput:V,ElUpload:x,ElRadioGroup:T,ElButton:v,ElRadioButton:w,ImagePreview:q,FontAwesomeIcon:W},mixins:[ee,L],data(){return{inputWay:`input`,fileList:[],uploadUrl:te()+`/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.qrart?.config?.content},set(e){this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,content:e,content_image_url:void 0})}}},mounted(){this.value||=``,this.onSetContentImageUrl()},methods:{onExceed(){F.warning(this.$t(`qrart.message.uploadDocumentsExceed`))},onError(){F.error(this.$t(`qrart.message.uploadDocumentsError`))},onSetContentImageUrl(){let e=this.urls?.[0];this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,content:void 0,content_image_url:e})},async onSuccess(){this.onSetContentImageUrl()}}}),Vt={class:`field`},Ht={class:`flex justify-between items-center mb-4`},Ut={class:`text-sm font-bold title`},Wt={class:`flex items-center`},Gt={key:2,class:`description`};function Kt(e,r,s,c,l,f){let p=h(`el-radio-button`),_=h(`el-radio-group`),v=h(`el-input`),y=h(`image-preview`),b=h(`font-awesome-icon`),x=h(`el-button`),S=h(`el-upload`);return d(),t(`div`,Vt,[n(`div`,Ht,[n(`span`,Ut,u(e.$t(`qrart.name.content`)),1),n(`div`,Wt,[o(_,{modelValue:e.inputWay,"onUpdate:modelValue":r[0]||=t=>e.inputWay=t},{default:g(()=>[o(p,{label:`input`},{default:g(()=>[i(u(e.$t(`qrart.inputWay.input`)),1)]),_:1}),o(p,{label:`upload`},{default:g(()=>[i(u(e.$t(`qrart.inputWay.upload`)),1)]),_:1})]),_:1},8,[`modelValue`])])]),e.inputWay==`input`?(d(),a(v,{key:0,modelValue:e.value,"onUpdate:modelValue":r[1]||=t=>e.value=t,class:`content`,placeholder:e.$t(`qrart.placeholder.content`)},null,8,[`modelValue`,`placeholder`])):m(``,!0),e.inputWay==`upload`?(d(),a(S,{key:1,ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[2]||=t=>e.fileList=t,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`upload upload-wrapper`,limit:1,multiple:!1,"list-type":`picture`,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:g(({file:t})=>[o(y,{url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:g(()=>[o(x,{size:`small`,type:`primary`,round:``},{default:g(()=>[o(b,{icon:`fa-solid fa-upload`,class:`mr-1`}),i(` `+u(e.$t(`qrart.button.uploadQr`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])):m(``,!0),e.inputWay==`upload`?(d(),t(`p`,Gt,u(e.$t(`qrart.message.uploadQr`)),1)):m(``,!0)])}var qt=I(Bt,[[`render`,Kt],[`__scopeId`,`data-v-afb72cf1`]]),Jt=r({name:`PromptInput`,components:{PromptTextarea:oe},computed:{value:{get(){return this.$store.state.qrart?.config?.prompt},set(e){this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,prompt:e})}}},mounted(){this.value||=``}});function Yt(e,t,n,r,i,o){let s=h(`prompt-textarea`);return d(),a(s,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,title:e.$t(`qrart.name.prompt`),placeholder:e.$t(`qrart.placeholder.prompt`)},null,8,[`modelValue`,`title`,`placeholder`])}var Xt=r({name:`ConfigPanel`,components:{ElButton:v,FontAwesomeIcon:W,Consumption:Y,TypeSelector:ve,PositionSelector:dt,PixelStyleSelector:Et,PaddingLevelSelector:gt,SeedInput:jt,AspectRatioSelector:Te,QrwSelector:Ae,EclSelector:ot,StepsSelector:Fe,PaddingNoiseSelector:xt,AdvancedSelector:Be,MarkerShapeSelector:Ge,SubMarkerSelector:Xe,RotateSelector:tt,PresetSelector:zt,ContentInput:qt,PromptInput:I(Jt,[[`render`,Yt]])},emits:[`generate`],computed:{config(){return this.$store.state.qrart?.config},consumption(){return U(this.config,this.service?.cost)},service(){return this.$store.state.qrart?.service}}}),Zt={class:`flex flex-col h-full`},Qt={class:`flex-1 overflow-y-auto p-5`},$t={class:`flex flex-col items-center justify-center px-5 pb-5`};function en(e,r,s,c,l,f){let p=h(`type-selector`),_=h(`content-input`),v=h(`prompt-input`),y=h(`aspect-ratio-selector`),b=h(`qrw-selector`),x=h(`preset-selector`),S=h(`position-selector`),C=h(`advanced-selector`),w=h(`steps-selector`),T=h(`seed-input`),E=h(`pixel-style-selector`),D=h(`marker-shape-selector`),O=h(`sub-marker-selector`),k=h(`rotate-selector`),A=h(`ecl-selector`),j=h(`padding-level-selector`),M=h(`padding-noise-selector`),N=h(`consumption`),P=h(`font-awesome-icon`),F=h(`el-button`);return d(),t(`div`,Zt,[n(`div`,Qt,[o(p,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-4`}),o(x,{class:`mb-4`}),o(S,{class:`mb-4`}),o(C,{class:`mb-4`}),e.config?.advanced?(d(),a(w,{key:0,class:`mb-4`})):m(``,!0),e.config?.advanced?(d(),a(T,{key:1,class:`mb-4`})):m(``,!0),e.config?.advanced?(d(),a(E,{key:2,class:`mb-4`})):m(``,!0),e.config?.advanced?(d(),a(D,{key:3,class:`mb-4`})):m(``,!0),e.config?.advanced?(d(),a(O,{key:4,class:`mb-4`})):m(``,!0),e.config?.advanced?(d(),a(k,{key:5,class:`mb-4`})):m(``,!0),e.config?.advanced?(d(),a(A,{key:6,class:`mb-4`})):m(``,!0),e.config?.advanced?(d(),a(j,{key:7,class:`mb-4`})):m(``,!0),e.config?.advanced?(d(),a(M,{key:8,class:`mb-4`})):m(``,!0)]),n(`div`,$t,[o(N,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(F,{type:`primary`,class:`btn w-full`,round:``,onClick:r[0]||=t=>e.$emit(`generate`)},{default:g(()=>[o(P,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+u(e.$t(`qrart.button.generate`)),1)]),_:1})])])}var tn=I(Xt,[[`render`,en]]),nn=r({name:`TaskPreview`,components:{ElImage:S,CopyToClipboard:G,FontAwesomeIcon:W,ElAlert:C,ImageWrapper:se,ApiCodeButton:re},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.qrart?.application}},methods:{onOpenLink(e){window.open(e,`_blank`)},onReload(e){let t=e.target,n=new URL(t.src),r=n.searchParams.get(`retry`);if(!r)n.searchParams.set(`retry`,`1`);else if(parseInt(r)<2)n.searchParams.set(`retry`,(parseInt(r)+1).toString());else return;t.src=n.toString()},onOpenUrl(e){window.open(e,`_blank`)},onDownload(e){let t=document.createElement(`a`);t.href=e,t.download=e.split(`/`).pop(),t.click()}}}),rn={class:`preview w-full h-fit text-left flex flex-row mb-[15px]`},an={class:`left`},on={class:`main flex-1 w-[calc(100%-70px)] min-w-0 pt-[10px] pr-[10px] pb-0 pl-[10px]`},sn={class:`bot text-[16px] font-bold text-[var(--el-color-primary)] overflow-hidden text-ellipsis whitespace-nowrap`},cn={class:`datetime text-[12px] font-normal text-[var(--el-text-color-secondary)] ml-[10px]`},ln={class:`info`},un={key:0,class:`prompt mt-2 text-[14px] font-bold text-[var(--el-text-color-regular)] mb-[10px] overflow-hidden text-ellipsis whitespace-nowrap`},dn={key:0},fn={key:0,class:l({content:!0,failed:!0})},pn={class:l({operations:!0,"mt-2":!0,"mb-2":!0})},mn={class:`description`},hn={class:`description`},gn={key:0,class:`description`},_n={key:1,class:`description`},vn={key:2,class:`description`},yn={key:3,class:`description`},$={key:1,class:l({content:!0})},bn={class:`description`},xn={class:`description`},Sn={key:0,class:`description`},Cn={class:`description`},wn={key:2,class:l({content:!0})},Tn={class:`description`};function En(e,r,s,c,l,f){let p=h(`el-image`),_=h(`image-wrapper`),v=h(`api-code-button`),y=h(`font-awesome-icon`),b=h(`copy-to-clipboard`),x=h(`el-alert`);return d(),t(`div`,rn,[n(`div`,an,[o(p,{src:`https://cdn.acedata.cloud/bcml67.png`,class:`avatar bg-[var(--el-bg-color)] p-[2px] w-[50px] h-[50px] m-[10px] rounded-full`})]),n(`div`,on,[n(`div`,sn,[i(u(e.$t(`qrart.name.qrartBot`))+` `,1),n(`span`,cn,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,ln,[e.modelValue?.request?.prompt?(d(),t(`p`,un,[i(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?m(``,!0):(d(),t(`span`,dn,` - (`+u(e.$t(`qrart.status.pending`))+`) `,1))])):m(``,!0)]),e.modelValue?.response?.success===!0?(d(),t(`div`,fn,[e.modelValue?.response?.image_url?(d(),a(_,{key:0,src:e.modelValue?.response?.image_url,"raw-src":e.modelValue?.response?.image_url},null,8,[`src`,`raw-src`])):m(``,!0),n(`div`,pn,[o(v,{path:`/qrart/generate`,body:e.modelValue?.request},null,8,[`body`])]),o(x,{closable:!1,class:`mt-2 success`},{default:g(()=>[n(`p`,mn,[o(y,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(b,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),n(`p`,hn,[o(y,{icon:`fa-solid fa-diamond`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.type`))+`: `+u(e.$t(`qrart.type.`+e.modelValue?.request?.type))+` `,1),o(b,{content:e.modelValue?.request?.type,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.request?.content?(d(),t(`p`,gn,[o(y,{icon:`fa-regular fa-message`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.content`))+`: `+u(e.modelValue?.request?.content)+` `,1),o(b,{content:e.modelValue?.request?.content,class:`btn-copy`},null,8,[`content`])])):m(``,!0),e.modelValue?.request?.content_image_url?(d(),t(`p`,_n,[o(y,{icon:`fa-regular fa-message`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.contentImageUrl`))+`: `,1),o(y,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1 cursor-pointer`,onClick:r[0]||=t=>e.onOpenLink(e.modelValue?.request?.content_image_url)})])):m(``,!0),e.modelValue?.request?.seed||e.modelValue?.response?.seed?(d(),t(`p`,vn,[o(y,{icon:`fa-solid fa-seedling`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.seed`))+`: `+u(e.modelValue?.request?.seed||e.modelValue?.response?.seed)+` `,1),o(b,{content:(e.modelValue?.request?.seed||e.modelValue?.response?.seed).toString(),class:`btn-copy`},null,8,[`content`])])):m(``,!0),e.modelValue?.elapsed?(d(),t(`p`,yn,[o(y,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0)]),_:1})])):m(``,!0),e.modelValue?.response?.success===!1?(d(),t(`div`,$,[o(x,{closable:!1,class:`failure`},{template:g(()=>[o(y,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.failure`)),1)]),default:g(()=>[n(`p`,bn,[o(y,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(b,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),n(`p`,xn,[o(y,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(b,{content:e.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(d(),t(`p`,Sn,[o(y,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),n(`p`,Cn,[o(y,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(b,{content:e.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):m(``,!0),e.modelValue?.response?m(``,!0):(d(),t(`div`,wn,[o(x,{closable:!1,class:`info`},{template:g(()=>[o(y,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.failure`)),1)]),default:g(()=>[n(`p`,Tn,[o(y,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`qrart.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(b,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var Dn=r({name:`RecentPanel`,components:{TaskPreview:I(nn,[[`render`,En],[`__scopeId`,`data-v-5c6e6795`]]),BotPlaceholder:ie,NoTasks:ae,ScrollList:X},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.qrart?.tasks,items:this.$store.state.qrart?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),On={key:0},kn={key:2,class:`w-full h-full flex items-center justify-center`};function An(n,r,i,c,l,u){let f=h(`bot-placeholder`),p=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return d(),t(s,null,[n.tasks?.items===void 0?(d(),t(`div`,On,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(d(),a(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:n.loading,onReachTop:r[0]||=e=>n.$emit(`reach-top`)},{default:g(()=>[(d(!0),t(s,null,e(n.tasks?.items,(e,t)=>(d(),a(p,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),n.tasks?.items?.length===0?(d(),t(`div`,kn,[o(v)])):m(``,!0)],64)}var jn=r({name:`QrartIndex`,components:{ConfigPanel:tn,Layout:pe,ApplicationStatus:K,RecentPanel:I(Dn,[[`render`,An]])},mixins:[R],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.qrart?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.qrart?.status?.getTasks===P.Request||this.fetchingTasks},service(){return this.$store.state.qrart.service},credential(){return this.$store.state.qrart.credential},config(){return this.$store.state.qrart.config},initializing(){return this.$store.state.qrart.status.getApplications===P.Request},needApply(){return this.$store.state.qrart.status.getApplications===P.Success&&!this.application},application(){return this.$store.state.qrart.application},tasks(){return this.$store.state.qrart.tasks},applications(){return this.$store.state.qrart.applications}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Z({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(`qrart/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplications`),await this.$store.dispatch(`qrart/getApplications`),console.debug(`end onGetApplications`),await this.onGetTasks()},onApply(){H.create({application:this.application}).then(({data:e})=>{this.application=e,F.success(this.$t(`application.message.applySuccessfully`))}).catch(e=>{e?.response?.data?.code===`duplication`&&F.error(this.$t(`application.message.alreadyApplied`))})},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`qrart/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ne(this.uploadTracker,e=>this.$t(e),e=>F.warning(e)))return;let e={type:this.config?.type,content:this.config?.content,content_image_url:this.config?.content_image_url,prompt:this.config?.prompt,aspect_ratio:this.config?.aspect_ratio,async:!0,qrw:this.config?.qrw,steps:this.config?.steps,preset:this.config?.preset,...this.config?.advanced?{position:this.config?.position,pixel_style:this.config?.pixel_style,marker_shape:this.config?.marker_shape,sub_marker:this.config?.sub_marker,rotate:this.config?.rotate,ecl:this.config?.ecl,seed:this.config?.seed,padding_level:this.config?.padding_level,padding_noise:this.config?.padding_noise}:{}},t=this.credential?.token;if(!t){console.error(`no token specified`);return}F.info(this.$t(`qrart.message.startingTask`)),B(`qrart`,z.generate(e,{token:t})).then(()=>{F.success(this.$t(`qrart.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?F.error(this.$t(`qrart.message.usedUp`)):F.error(this.$t(`qrart.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Mn(e,t,n,r,i,s){let c=h(`config-panel`),l=h(`application-status`),u=h(`recent-panel`),f=h(`layout`);return d(),a(f,null,{config:g(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:g(()=>[o(l,{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=>e.$store.dispatch(`qrart/setApplication`,t)},null,8,[`initializing`,`application`,`applications`,`service`,`need-apply`,`onRefresh`]),o(u,{ref:`recentPanel`,class:`panel recent`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Nn=I(jn,[[`render`,Mn],[`__scopeId`,`data-v-48affeab`]]);export{Nn as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,D as t,F as n,N as r,O as i,P as a,Wt as o,Z as s,dt as c,k as l,nt as u,tt as d,ut as f}from"./vendor-chart-BJCvKk8-.js";import{t as p}from"./button-BydTr5nV.js";import{n as m,t as h}from"./row-
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,D as t,F as n,N as r,O as i,P as a,Wt as o,Z as s,dt as c,k as l,nt as u,tt as d,ut as f}from"./vendor-chart-BJCvKk8-.js";import{t as p}from"./button-BydTr5nV.js";import{n as m,t as h}from"./row-DlvBQzWK.js";import{i as g,n as _,r as v,t as y}from"./container-BgEH5azS.js";import{n as b,t as x}from"./dropdown-DZpjj-Rs.js";import{a as S,i as C,n as w,r as T,t as E}from"./avatar-Cj9dW7Ww.js";import{D,E as O,Kt as k,Mr as A,O as j,Rr as M,V as N,Y as P,ot as F}from"./index-BFMUZID8.js";import{t as I}from"./BottomFooter-CnHkbDxs.js";var L=n({name:`TopHeader`,components:{ElCol:m,Logo:w,ElRow:h,ElDropdown:x,ElMenu:T,ElMenuItem:C,ElDropdownItem:b,ElButton:p,ElSubMenu:S},data(){return{defaultAvatar:E,products:`chat`}},computed:{site(){return this.$store.state?.site},dark(){return this.$store.getters?.dark},active(){return this.$route.matched?.[0]?.path},user(){return this.$store.getters?.user},authenticated(){return this.$store.getters?.authenticated}},methods:{openTab(e){if(M()){D.open({url:e}).catch(t=>{console.warn(`Browser.open failed, falling back to window.open`,t),window.open(e,`_blank`)});return}window.open(e,`_blank`)},onSelect(e){e&&this.$router.push(e)},onHome(){this.$router.push({name:F})},onLogin(){this.$router.push({name:j})},onDownload(){this.$router.push({name:P})},onProfile(){let e=A();this.openTab(k(`${e}/user/profile`))},onVerify(){let e=A();this.openTab(k(`${e}/user/verify`))},onConsole(){this.$router.push({name:N})},async onLogout(){this.$store.dispatch(`logout`)}}}),R={key:0,class:`mt-4 pr-10`},z={key:1,class:`float-right`},B=[`src`];function V(n,p,m,h,g,_){let v=d(`logo`),y=d(`el-col`),b=d(`el-menu-item`),x=d(`el-sub-menu`),S=d(`el-menu`),C=d(`el-button`),w=d(`language-selector`),T=d(`dark-selector`),E=d(`el-dropdown-item`),D=d(`el-dropdown-menu`),O=d(`el-dropdown`),k=d(`el-row`),A=u(`t`);return s(),i(k,{class:`header`},{default:f(()=>[a(y,{md:4,xs:24,class:`brand-col`},{default:f(()=>[a(v,{onClick:n.onHome},null,8,[`onClick`])]),_:1}),a(y,{md:16,xs:13},{default:f(()=>[a(S,{"default-active":n.active,mode:`horizontal`,class:`menu`,ellipsis:!0,onSelect:n.onSelect},{default:f(()=>[a(x,{index:n.products},{title:f(()=>[r(o(n.$t(`common.nav.products`)),1)]),default:f(()=>[n.site?.features?.chatgpt?.enabled?c((s(),i(b,{key:0,index:`/chat`},null,512)),[[A,`index.title.chat`]]):l(``,!0),n.site?.features?.midjourney?.enabled?c((s(),i(b,{key:1,index:`/midjourney`},null,512)),[[A,`index.title.midjourney`]]):l(``,!0),n.site?.features?.qrart?.enabled?c((s(),i(b,{key:2,index:`/qrart`},null,512)),[[A,`index.title.qrart`]]):l(``,!0),n.site?.features?.suno?.enabled?c((s(),i(b,{key:3,index:`/suno`},null,512)),[[A,`index.title.suno`]]):l(``,!0),n.site?.features?.luma?.enabled?c((s(),i(b,{key:4,index:`/luma`},null,512)),[[A,`index.title.luma`]]):l(``,!0),n.site?.features?.headshots?.enabled?c((s(),i(b,{key:5,index:`/headshots`},null,512)),[[A,`index.title.headshots`]]):l(``,!0)]),_:1},8,[`index`]),c(a(b,{onRoute:e=>void 0,onClick:n.onDownload},null,8,[`onClick`]),[[A,`common.nav.mobileApp`]]),c(a(b,{onRoute:e=>void 0,onClick:p[0]||=e=>n.openTab(`https://platform.acedata.cloud`)},null,512),[[A,`common.nav.apiPlatform`]]),c(a(b,{onRoute:e=>void 0,onClick:p[1]||=e=>n.openTab(`https://platform.acedata.cloud/support`)},null,512),[[A,`common.nav.support`]]),c(a(b,{onRoute:e=>void 0,onClick:p[2]||=e=>n.openTab(`https://platform.acedata.cloud/earning`)},null,512),[[A,`common.nav.referral`]])]),_:1},8,[`default-active`,`onSelect`])]),_:1}),a(y,{md:4,xs:11},{default:f(()=>[n.authenticated?(s(),e(`div`,z,[t(`div`,{class:`console`,onClick:p[3]||=(...e)=>n.onConsole&&n.onConsole(...e)},o(n.$t(`common.button.console`)),1),a(O,{trigger:`click`},{dropdown:f(()=>[a(D,null,{default:f(()=>[a(E,{onClick:n.onProfile},{default:f(()=>[r(o(n.$t(`common.button.profile`)),1)]),_:1},8,[`onClick`]),a(E,{onClick:n.onLogout},{default:f(()=>[r(o(n.$t(`common.button.logout`)),1)]),_:1},8,[`onClick`])]),_:1})]),default:f(()=>[t(`img`,{src:n.user?.avatar||n.defaultAvatar,class:`avatar`},null,8,B)]),_:1})])):(s(),e(`div`,R,[a(C,{type:`primary`,class:`float-right`,size:`small`,round:``,onClick:n.onLogin},{default:f(()=>[r(o(n.$t(`common.button.login`)),1)]),_:1},8,[`onClick`]),a(w,{class:`locale float-right mr-4`}),a(T,{class:`float-right mr-4`})]))]),_:1})]),_:1})}var H=n({name:`LayoutIndex`,components:{TopHeader:O(L,[[`render`,V]]),BottomFooter:I,ElContainer:y,ElMain:g,ElFooter:_,ElHeader:v}});function U(e,t,n,r,o,c){let l=d(`top-header`),u=d(`el-header`),p=d(`router-view`),m=d(`el-main`),h=d(`bottom-footer`),g=d(`el-footer`),_=d(`el-container`);return s(),i(_,{class:`wrapper min-h-[100vh]`},{default:f(()=>[a(u,{class:`header p-0 h-auto`},{default:f(()=>[a(l)]),_:1}),a(m,{class:`main`},{default:f(()=>[a(p)]),_:1}),a(g,{class:`footer p-0 h-auto`},{default:f(()=>[a(h)]),_:1})]),_:1})}var W=O(H,[[`render`,U]]);export{W as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Vt as c,Wt as l,Z as u,b as d,dt as f,et as p,k as m,tt as h,ut as g,v as _}from"./vendor-chart-BJCvKk8-.js";import{t as v}from"./button-BydTr5nV.js";import{r as y,t as b}from"./select-DM8Bzirg.js";import{t as x}from"./upload-jfXZIDu4.js";import{t as S}from"./tooltip-BxeH2Vts.js";import{t as C}from"./image-Dn4eZrUF.js";import{t as w}from"./alert-CuX4SjQB.js";import{t as T}from"./drawer-R6pcaap2.js";import{Fn as E,Nn as D,Pn as O,jn as k}from"./constants-C0JMy8iD.js";import{Ar as A,Br as j,E as M,Ft as N,It as ee,Lt as te,Nr as P,Pt as F,Wn as I,cn as L,zt as R}from"./index-C16UVAC9.js";import{t as z}from"./index.es-CLI7W8Vv.js";import{t as B}from"./CopyToClipboard-CskqkGUm.js";import{t as V}from"./ImagePreview-DzKPXc3w.js";import{n as H}from"./taskDrawerMixin-DEgO_R5H.js";import{t as U}from"./Consumption-C-z13GYK.js";import{n as W,t as G}from"./pagination-DQFmyST3.js";import{t as K}from"./ApiCodeButton-i9bzfjls.js";import{t as q}from"./BotPlaceholder-7XKnk0fa.js";import{t as J}from"./NoTasks-Bccfp91M.js";import{t as Y}from"./InfoIcon-CPx9NFYJ.js";import{t as X}from"./PromptTextarea-CHTllNPE.js";import{t as Z}from"./ImageWrapper-B3f0RwP-.js";var Q=r({name:`LayoutNanobanana`,components:{ElDrawer:T,ElButton:v,FontAwesomeIcon:z},mixins:[H]}),ne={class:`main flex flex-row flex-1`},re={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ie={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ae(e,r,i,a,s,c){let l=h(`font-awesome-icon`),d=h(`el-button`),m=h(`el-drawer`);return u(),t(`div`,ne,[n(`div`,re,[p(e.$slots,`config`,{},void 0,!0)]),n(`div`,ie,[p(e.$slots,`result`,{},void 0,!0)]),f(o(d,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:g(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!e.tasksEmpty]]),o(m,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:g(()=>[p(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var oe=M(Q,[[`render`,ae],[`__scopeId`,`data-v-d7e69eb2`]]),se=r({name:`PromptInput`,components:{PromptTextarea:X},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||=``}});function ce(e,t,n,r,i,o){let s=h(`prompt-textarea`);return u(),a(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`nanobanana.name.prompt`),info:e.$t(`nanobanana.description.prompt`),placeholder:e.$t(`nanobanana.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var le=M(se,[[`render`,ce]]),ue=r({name:`ImageUrlsInput`,components:{ElUpload:x,ElButton:v,InfoIcon:Y,ImagePreview:V,FontAwesomeIcon:z},mixins:[te,N],data(){return{fileList:[],uploadUrl:P()+`/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){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),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(){j.warning(this.$t(`nanobanana.message.uploadImageExceed`))},onError(){j.error(this.$t(`nanobanana.message.uploadImageError`))},onSetImageUrls(){let 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()}}}),de={class:`field flex items-center justify-between`},fe={class:`title font-bold text-[14px] mb-[10px]`},pe={class:`upload-wrapper flex flex-col items-start gap-[8px]`},me={class:`controls flex items-center`},he={class:`file-list flex flex-wrap gap-[10px]`};function ge(r,c,d,f,p,m){let _=h(`font-awesome-icon`),v=h(`el-button`),y=h(`el-upload`),b=h(`info-icon`),x=h(`image-preview`);return u(),t(s,null,[n(`div`,de,[n(`h2`,fe,l(r.$t(`nanobanana.name.imageUrls`)),1),n(`div`,pe,[n(`div`,me,[o(y,{ref:`uploader`,"file-list":r.fileList,"onUpdate:fileList":c[0]||=e=>r.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value`,limit:5,multiple:!0,"show-file-list":!1,action:r.uploadUrl,"on-exceed":r.onExceed,"on-error":r.onError,"on-success":r.onSuccess,"on-change":r.onChange,"on-remove":r.onRemove,headers:r.headers},{default:g(()=>[o(v,{size:`small`,type:`primary`,round:``},{default:g(()=>[o(_,{icon:`fa-solid fa-upload`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`]),o(b,{content:r.$t(`nanobanana.description.imageUrls`),class:`ml-2`},null,8,[`content`])])])]),n(`div`,he,[(u(!0),t(s,null,e(r.fileList,(e,t)=>(u(),a(x,{key:e.uid||e?.response?.file_url||e.url||t,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>r.onRemovePreview(t,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])],64)}var _e=M(ue,[[`render`,ge]]),ve=r({name:`AspectRatioSelector`,components:{ElSelect:y,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);let t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit(`nanobanana/setConfig`,t)}}}}),ye={class:`field`},be={class:`title font-bold`};function xe(r,i,c,d,f,p){let m=h(`el-option`),_=h(`el-select`);return u(),t(`div`,ye,[n(`h2`,be,l(r.$t(`nanobanana.name.aspectRatio`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,clearable:``,placeholder:r.$t(`nanobanana.placeholder.select`)},{default:g(()=>[(u(!0),t(s,null,e(r.options,e=>(u(),a(m,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Se=M(ve,[[`render`,xe],[`__scopeId`,`data-v-67f08a08`]]),Ce=r({name:`NanobananaModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Y},data(){return{options:[{value:D,label:this.$t(`nanobanana.model.nanoBanana`)},{value:E,label:this.$t(`nanobanana.model.nanoBananaPro`)},{value:O,label:this.$t(`nanobanana.model.nanoBanana2`)}]}},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||=k}}),we={class:`field`},Te={class:`label`},Ee={class:`box`},De={class:`title font-bold`};function Oe(r,i,c,d,f,p){let m=h(`info-icon`),_=h(`el-option`),v=h(`el-select`);return u(),t(`div`,we,[n(`div`,Te,[n(`div`,Ee,[n(`h2`,De,l(r.$t(`nanobanana.name.model`)),1),o(m,{content:r.modelDescription,class:`info`},null,8,[`content`])])]),o(v,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`nanobanana.placeholder.select`)},{default:g(()=>[(u(!0),t(s,null,e(r.options,e=>(u(),a(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ke=M(Ce,[[`render`,Oe],[`__scopeId`,`data-v-94304d73`]]),Ae=r({name:`NanobananaResolutionSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Y},data(){return{cachedResolution:`1K`,options:[{value:`1K`,label:`1K`},{value:`2K`,label:`2K`},{value:`4K`,label:`4K`}]}},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!==D}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||=this.cachedResolution||`1K`:(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=`1K`),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),je={class:`field`},Me={class:`label`},Ne={class:`box`},Pe={class:`title font-bold`};function Fe(r,i,c,d,f,p){let m=h(`info-icon`),_=h(`el-option`),v=h(`el-select`);return u(),t(`div`,je,[n(`div`,Me,[n(`div`,Ne,[n(`h2`,Pe,l(r.$t(`nanobanana.name.resolution`)),1),o(m,{content:r.$t(`nanobanana.description.resolutionProOnly`),class:`info`},null,8,[`content`])])]),o(v,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`nanobanana.placeholder.select`),disabled:!r.isProModel},{default:g(()=>[(u(!0),t(s,null,e(r.options,e=>(u(),a(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])])}var Ie=r({name:`ConfigPanel`,components:{ElButton:v,FontAwesomeIcon:z,PromptInput:le,Consumption:U,ImageUrlsInput:_e,AspectRatioSelector:Se,ModelSelector:ke,ResolutionSelector:M(Ae,[[`render`,Fe],[`__scopeId`,`data-v-fd5ab393`]])},emits:[`generate`],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return R({...e,action:t?`edit`:`generate`},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Le={class:`flex flex-col h-full`},Re={class:`flex-1 overflow-y-auto p-5`},ze={class:`flex flex-col items-center justify-center px-5 pb-5`};function Be(e,r,a,s,c,d){let f=h(`model-selector`),p=h(`resolution-selector`),m=h(`prompt-input`),_=h(`aspect-ratio-selector`),v=h(`image-urls-input`),y=h(`consumption`),b=h(`font-awesome-icon`),x=h(`el-button`);return u(),t(`div`,Le,[n(`div`,Re,[o(f,{class:`mb-4`}),o(p,{class:`mb-4`}),o(m,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`})]),n(`div`,ze,[o(y,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(x,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(b,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`nanobanana.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Ve=M(Ie,[[`render`,Be]]),He=r({name:`TaskPreview`,components:{ElImage:C,CopyToClipboard:B,FontAwesomeIcon:z,ElAlert:w,ImageWrapper:Z,ElButton:v,ElTooltip:S,ImagePreview:V,ApiCodeButton:K},props:{modelValue:{type:Object,required:!0}},computed:{images(){let 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);let t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit(`nanobanana/setConfig`,t)}}}),Ue={class:`preview`},We={class:`left`},Ge={class:`main`},Ke={class:`bot`},qe={class:`datetime`},Je={class:`info`},Ye={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Xe={key:1,class:`prompt mt-2`},Ze={key:0},Qe={key:0,class:c({content:!0,failed:!0})},$e={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},et={class:c({operations:!0,"mt-2":!0,"mb-2":!0})},tt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},nt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},rt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},it={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},at={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ot={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},st={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ct={key:1,class:c({content:!0})},lt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ut={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ft={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ht={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},gt={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},_t={key:2,class:c({content:!0})},vt={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`},$={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},bt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`};function St(r,c,f,p,_,v){let y=h(`el-image`),b=h(`image-preview`),x=h(`image-wrapper`),S=h(`el-button`),C=h(`el-tooltip`),w=h(`api-code-button`),T=h(`font-awesome-icon`),E=h(`copy-to-clipboard`),D=h(`el-alert`);return u(),t(`div`,Ue,[n(`div`,We,[o(y,{src:`https://cdn.acedata.cloud/859plc.jpg`,class:`avatar`})]),n(`div`,Ge,[n(`div`,Ke,[i(l(r.$t(`nanobanana.name.nanobananaBot`))+` `,1),n(`span`,qe,l(r.$dayjs.format(``+new Date(parseFloat((r.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,Je,[r.modelValue?.request?.image_urls&&r.modelValue?.request?.image_urls.length>0?(u(),t(`div`,Ye,[(u(!0),t(s,null,e(r.modelValue?.request?.image_urls,(e,t)=>(u(),a(b,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):m(``,!0),r.modelValue?.request?.prompt?(u(),t(`p`,Xe,[i(l(r.modelValue?.request?.prompt)+` `,1),r.modelValue?.response?m(``,!0):(u(),t(`span`,Ze,` - (`+l(r.$t(`nanobanana.status.pending`))+`) `,1))])):m(``,!0)]),r.modelValue?.response?.success===!0?(u(),t(`div`,Qe,[n(`div`,$e,[(u(!0),t(s,null,e(r.images,(e,t)=>(u(),a(x,{key:t,src:e?.image_url,"raw-src":e?.image_url},null,8,[`src`,`raw-src`]))),128))]),n(`div`,et,[o(C,{class:`box-item`,effect:`dark`,content:r.$t(`common.button.edit`),placement:`top-start`},{default:g(()=>[o(S,{type:`info`,size:`small`,class:`btn-action`,onClick:c[0]||=d(e=>r.onEdit(r.images?.[0]?.image_url),[`stop`])},{default:g(()=>[i(l(r.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),o(w,{path:`/nano-banana/images`,body:r.modelValue?.request},null,8,[`body`])]),o(D,{closable:!1,class:`mt-2 success`},{default:g(()=>[r.modelValue?.request?.model?(u(),t(`p`,tt,[o(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.model`))+`: `+l(r.modelValue?.request?.model),1)])):m(``,!0),r.modelValue?.request?.resolution?(u(),t(`p`,nt,[o(T,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.resolution`))+`: `+l(r.modelValue?.request?.resolution),1)])):m(``,!0),r.modelValue?.request?.aspect_ratio?(u(),t(`p`,rt,[o(T,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.aspectRatio`))+`: `+l(r.modelValue?.request?.aspect_ratio),1)])):m(``,!0),r.modelValue?.request?.action?(u(),t(`p`,it,[o(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.task`))+`: `+l(r.modelValue?.request?.action===`generate`?r.$t(`nanobanana.name.generate`):r.$t(`nanobanana.name.edits`)),1)])):m(``,!0),n(`p`,at,[o(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.taskId`))+`: `+l(r.modelValue?.id)+` `,1),o(E,{content:r.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),r.modelValue?.elapsed?(u(),t(`p`,ot,[o(T,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.elapsed`))+`: `+l(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),r.modelValue?.response?.trace_id?(u(),t(`p`,st,[o(T,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.traceId`))+`: `+l(r.modelValue?.response?.trace_id)+` `,1),o(E,{content:r.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):m(``,!0)]),_:1})])):r.modelValue?.response?.success===!1?(u(),t(`div`,ct,[o(D,{closable:!1,class:`failure`},{template:g(()=>[o(T,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.failure`)),1)]),default:g(()=>[r.modelValue?.request?.model?(u(),t(`p`,lt,[o(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.model`))+`: `+l(r.modelValue?.request?.model),1)])):m(``,!0),r.modelValue?.request?.resolution?(u(),t(`p`,ut,[o(T,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.resolution`))+`: `+l(r.modelValue?.request?.resolution),1)])):m(``,!0),r.modelValue?.request?.aspect_ratio?(u(),t(`p`,dt,[o(T,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.aspectRatio`))+`: `+l(r.modelValue?.request?.aspect_ratio),1)])):m(``,!0),r.modelValue?.request?.action?(u(),t(`p`,ft,[o(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.task`))+`: `+l(r.modelValue?.request?.action===`generate`?r.$t(`nanobanana.name.generate`):r.$t(`nanobanana.name.edits`)),1)])):m(``,!0),n(`p`,pt,[o(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.taskId`))+`: `+l(r.modelValue?.id)+` `,1),o(E,{content:r.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),n(`p`,mt,[o(T,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.failureReason`))+`: `+l(r.modelValue?.response?.error?.message)+` `,1),o(E,{content:r.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),r.modelValue?.elapsed?(u(),t(`p`,ht,[o(T,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.elapsed`))+`: `+l(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),r.modelValue?.response?.trace_id?(u(),t(`p`,gt,[o(T,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.traceId`))+`: `+l(r.modelValue?.response?.trace_id)+` `,1),o(E,{content:r.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):m(``,!0)]),_:1})])):(u(),t(`div`,_t,[o(D,{closable:!1,class:`info`},{template:g(()=>[o(T,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.failure`)),1)]),default:g(()=>[r.modelValue?.request?.model?(u(),t(`p`,vt,[o(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.model`))+`: `+l(r.modelValue?.request?.model),1)])):m(``,!0),r.modelValue?.request?.resolution?(u(),t(`p`,yt,[o(T,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.resolution`))+`: `+l(r.modelValue?.request?.resolution),1)])):m(``,!0),r.modelValue?.request?.aspect_ratio?(u(),t(`p`,$,[o(T,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.aspectRatio`))+`: `+l(r.modelValue?.request?.aspect_ratio),1)])):m(``,!0),r.modelValue?.request?.action?(u(),t(`p`,bt,[o(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.task`))+`: `+l(r.modelValue?.request?.action===`generate`?r.$t(`nanobanana.name.generate`):r.$t(`nanobanana.name.edits`)),1)])):m(``,!0),n(`p`,xt,[o(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.taskId`))+`: `+l(r.modelValue?.id)+` `,1),o(E,{content:r.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var Ct=r({name:`RecentPanel`,components:{TaskPreview:M(He,[[`render`,St],[`__scopeId`,`data-v-63f58569`]]),BotPlaceholder:q,NoTasks:J,ScrollList:W},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?.()}}}),wt={key:0},Tt={key:2,class:`w-full h-full flex items-center justify-center`};function Et(n,r,i,c,l,d){let f=h(`bot-placeholder`),p=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return u(),t(s,null,[n.tasks?.items===void 0?(u(),t(`div`,wt,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(u(),a(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:n.loading,onReachTop:r[0]||=e=>n.$emit(`reach-top`)},{default:g(()=>[(u(!0),t(s,null,e(n.tasks?.items,e=>(u(),a(p,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),n.tasks?.items?.length===0?(u(),t(`div`,Tt,[o(v)])):m(``,!0)],64)}var Dt=r({name:`NanobananaIndex`,components:{ConfigPanel:Ve,Layout:oe,RecentPanel:M(Ct,[[`render`,Et]])},mixins:[ee],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===A.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===A.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=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await G({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},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();let 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);let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),await this.$store.dispatch(`nanobanana/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})},async onGenerate(){if(!F(this.uploadTracker,e=>this.$t(e),e=>j.warning(e)))return;let 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!==`nano-banana-pro`&&`resolution`in e&&delete e.resolution,e?.model===`nano-banana-pro`&&!e?.resolution&&(e.resolution=`1K`);let n={...e,action:t?`edit`:`generate`,async:!0},r=this.credential?.token;if(!r){console.error(`no token specified`);return}j.info(this.$t(`nanobanana.message.startingTask`)),I(`nanobanana`,L.generate(n,{token:r})).then(()=>{j.success(this.$t(`nanobanana.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?j.error(this.$t(`nanobanana.message.usedUp`)):j.error(this.$t(`nanobanana.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ot(e,t,n,r,i,s){let c=h(`config-panel`),l=h(`recent-panel`),d=h(`layout`);return u(),a(d,null,{config:g(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:g(()=>[o(l,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var kt=M(Dt,[[`render`,Ot]]);export{kt as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Vt as c,Wt as l,Z as u,b as d,dt as f,et as p,k as m,tt as h,ut as g,v as _}from"./vendor-chart-BJCvKk8-.js";import{t as v}from"./button-BydTr5nV.js";import{r as y,t as b}from"./select-BvQYOmI2.js";import{t as x}from"./upload-DPeZOsKX.js";import{t as S}from"./tooltip-BxeH2Vts.js";import{t as C}from"./image-cD_rczcG.js";import{t as w}from"./alert-CuX4SjQB.js";import{t as T}from"./drawer-R6pcaap2.js";import{Fn as E,Nn as D,Pn as O,jn as k}from"./constants-C0JMy8iD.js";import{Ar as A,Br as j,E as M,Ft as N,It as ee,Lt as te,Nr as P,Pt as F,Wn as I,cn as L,zt as R}from"./index-BFMUZID8.js";import{t as z}from"./index.es-BxSKbWOt.js";import{t as B}from"./CopyToClipboard-BL1mORNs.js";import{t as V}from"./ImagePreview-zIkpquFk.js";import{n as H}from"./taskDrawerMixin-DEgO_R5H.js";import{t as U}from"./Consumption-D95jv4pS.js";import{n as W,t as G}from"./pagination-YjZU0Dg4.js";import{t as K}from"./ApiCodeButton-DQxU3p1V.js";import{t as q}from"./BotPlaceholder-DvPHgYBu.js";import{t as J}from"./NoTasks-C9K3EXND.js";import{t as Y}from"./InfoIcon-BBrKSUP1.js";import{t as X}from"./PromptTextarea-BUwjXqO4.js";import{t as Z}from"./ImageWrapper-DLyrD-qP.js";var Q=r({name:`LayoutNanobanana`,components:{ElDrawer:T,ElButton:v,FontAwesomeIcon:z},mixins:[H]}),ne={class:`main flex flex-row flex-1`},re={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ie={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ae(e,r,i,a,s,c){let l=h(`font-awesome-icon`),d=h(`el-button`),m=h(`el-drawer`);return u(),t(`div`,ne,[n(`div`,re,[p(e.$slots,`config`,{},void 0,!0)]),n(`div`,ie,[p(e.$slots,`result`,{},void 0,!0)]),f(o(d,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:g(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!e.tasksEmpty]]),o(m,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:g(()=>[p(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var oe=M(Q,[[`render`,ae],[`__scopeId`,`data-v-d7e69eb2`]]),se=r({name:`PromptInput`,components:{PromptTextarea:X},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||=``}});function ce(e,t,n,r,i,o){let s=h(`prompt-textarea`);return u(),a(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`nanobanana.name.prompt`),info:e.$t(`nanobanana.description.prompt`),placeholder:e.$t(`nanobanana.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var le=M(se,[[`render`,ce]]),ue=r({name:`ImageUrlsInput`,components:{ElUpload:x,ElButton:v,InfoIcon:Y,ImagePreview:V,FontAwesomeIcon:z},mixins:[te,N],data(){return{fileList:[],uploadUrl:P()+`/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){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),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(){j.warning(this.$t(`nanobanana.message.uploadImageExceed`))},onError(){j.error(this.$t(`nanobanana.message.uploadImageError`))},onSetImageUrls(){let 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()}}}),de={class:`field flex items-center justify-between`},fe={class:`title font-bold text-[14px] mb-[10px]`},pe={class:`upload-wrapper flex flex-col items-start gap-[8px]`},me={class:`controls flex items-center`},he={class:`file-list flex flex-wrap gap-[10px]`};function ge(r,c,d,f,p,m){let _=h(`font-awesome-icon`),v=h(`el-button`),y=h(`el-upload`),b=h(`info-icon`),x=h(`image-preview`);return u(),t(s,null,[n(`div`,de,[n(`h2`,fe,l(r.$t(`nanobanana.name.imageUrls`)),1),n(`div`,pe,[n(`div`,me,[o(y,{ref:`uploader`,"file-list":r.fileList,"onUpdate:fileList":c[0]||=e=>r.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value`,limit:5,multiple:!0,"show-file-list":!1,action:r.uploadUrl,"on-exceed":r.onExceed,"on-error":r.onError,"on-success":r.onSuccess,"on-change":r.onChange,"on-remove":r.onRemove,headers:r.headers},{default:g(()=>[o(v,{size:`small`,type:`primary`,round:``},{default:g(()=>[o(_,{icon:`fa-solid fa-upload`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`]),o(b,{content:r.$t(`nanobanana.description.imageUrls`),class:`ml-2`},null,8,[`content`])])])]),n(`div`,he,[(u(!0),t(s,null,e(r.fileList,(e,t)=>(u(),a(x,{key:e.uid||e?.response?.file_url||e.url||t,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>r.onRemovePreview(t,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])],64)}var _e=M(ue,[[`render`,ge]]),ve=r({name:`AspectRatioSelector`,components:{ElSelect:y,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);let t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit(`nanobanana/setConfig`,t)}}}}),ye={class:`field`},be={class:`title font-bold`};function xe(r,i,c,d,f,p){let m=h(`el-option`),_=h(`el-select`);return u(),t(`div`,ye,[n(`h2`,be,l(r.$t(`nanobanana.name.aspectRatio`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,clearable:``,placeholder:r.$t(`nanobanana.placeholder.select`)},{default:g(()=>[(u(!0),t(s,null,e(r.options,e=>(u(),a(m,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Se=M(ve,[[`render`,xe],[`__scopeId`,`data-v-67f08a08`]]),Ce=r({name:`NanobananaModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Y},data(){return{options:[{value:D,label:this.$t(`nanobanana.model.nanoBanana`)},{value:E,label:this.$t(`nanobanana.model.nanoBananaPro`)},{value:O,label:this.$t(`nanobanana.model.nanoBanana2`)}]}},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||=k}}),we={class:`field`},Te={class:`label`},Ee={class:`box`},De={class:`title font-bold`};function Oe(r,i,c,d,f,p){let m=h(`info-icon`),_=h(`el-option`),v=h(`el-select`);return u(),t(`div`,we,[n(`div`,Te,[n(`div`,Ee,[n(`h2`,De,l(r.$t(`nanobanana.name.model`)),1),o(m,{content:r.modelDescription,class:`info`},null,8,[`content`])])]),o(v,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`nanobanana.placeholder.select`)},{default:g(()=>[(u(!0),t(s,null,e(r.options,e=>(u(),a(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ke=M(Ce,[[`render`,Oe],[`__scopeId`,`data-v-94304d73`]]),Ae=r({name:`NanobananaResolutionSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Y},data(){return{cachedResolution:`1K`,options:[{value:`1K`,label:`1K`},{value:`2K`,label:`2K`},{value:`4K`,label:`4K`}]}},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!==D}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||=this.cachedResolution||`1K`:(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=`1K`),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),je={class:`field`},Me={class:`label`},Ne={class:`box`},Pe={class:`title font-bold`};function Fe(r,i,c,d,f,p){let m=h(`info-icon`),_=h(`el-option`),v=h(`el-select`);return u(),t(`div`,je,[n(`div`,Me,[n(`div`,Ne,[n(`h2`,Pe,l(r.$t(`nanobanana.name.resolution`)),1),o(m,{content:r.$t(`nanobanana.description.resolutionProOnly`),class:`info`},null,8,[`content`])])]),o(v,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`nanobanana.placeholder.select`),disabled:!r.isProModel},{default:g(()=>[(u(!0),t(s,null,e(r.options,e=>(u(),a(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])])}var Ie=r({name:`ConfigPanel`,components:{ElButton:v,FontAwesomeIcon:z,PromptInput:le,Consumption:U,ImageUrlsInput:_e,AspectRatioSelector:Se,ModelSelector:ke,ResolutionSelector:M(Ae,[[`render`,Fe],[`__scopeId`,`data-v-fd5ab393`]])},emits:[`generate`],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return R({...e,action:t?`edit`:`generate`},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Le={class:`flex flex-col h-full`},Re={class:`flex-1 overflow-y-auto p-5`},ze={class:`flex flex-col items-center justify-center px-5 pb-5`};function Be(e,r,a,s,c,d){let f=h(`model-selector`),p=h(`resolution-selector`),m=h(`prompt-input`),_=h(`aspect-ratio-selector`),v=h(`image-urls-input`),y=h(`consumption`),b=h(`font-awesome-icon`),x=h(`el-button`);return u(),t(`div`,Le,[n(`div`,Re,[o(f,{class:`mb-4`}),o(p,{class:`mb-4`}),o(m,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`})]),n(`div`,ze,[o(y,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(x,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(b,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`nanobanana.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Ve=M(Ie,[[`render`,Be]]),He=r({name:`TaskPreview`,components:{ElImage:C,CopyToClipboard:B,FontAwesomeIcon:z,ElAlert:w,ImageWrapper:Z,ElButton:v,ElTooltip:S,ImagePreview:V,ApiCodeButton:K},props:{modelValue:{type:Object,required:!0}},computed:{images(){let 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);let t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit(`nanobanana/setConfig`,t)}}}),Ue={class:`preview`},We={class:`left`},Ge={class:`main`},Ke={class:`bot`},qe={class:`datetime`},Je={class:`info`},Ye={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Xe={key:1,class:`prompt mt-2`},Ze={key:0},Qe={key:0,class:c({content:!0,failed:!0})},$e={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},et={class:c({operations:!0,"mt-2":!0,"mb-2":!0})},tt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},nt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},rt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},it={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},at={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ot={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},st={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ct={key:1,class:c({content:!0})},lt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ut={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ft={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ht={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},gt={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},_t={key:2,class:c({content:!0})},vt={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`},$={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},bt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`};function St(r,c,f,p,_,v){let y=h(`el-image`),b=h(`image-preview`),x=h(`image-wrapper`),S=h(`el-button`),C=h(`el-tooltip`),w=h(`api-code-button`),T=h(`font-awesome-icon`),E=h(`copy-to-clipboard`),D=h(`el-alert`);return u(),t(`div`,Ue,[n(`div`,We,[o(y,{src:`https://cdn.acedata.cloud/859plc.jpg`,class:`avatar`})]),n(`div`,Ge,[n(`div`,Ke,[i(l(r.$t(`nanobanana.name.nanobananaBot`))+` `,1),n(`span`,qe,l(r.$dayjs.format(``+new Date(parseFloat((r.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,Je,[r.modelValue?.request?.image_urls&&r.modelValue?.request?.image_urls.length>0?(u(),t(`div`,Ye,[(u(!0),t(s,null,e(r.modelValue?.request?.image_urls,(e,t)=>(u(),a(b,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):m(``,!0),r.modelValue?.request?.prompt?(u(),t(`p`,Xe,[i(l(r.modelValue?.request?.prompt)+` `,1),r.modelValue?.response?m(``,!0):(u(),t(`span`,Ze,` - (`+l(r.$t(`nanobanana.status.pending`))+`) `,1))])):m(``,!0)]),r.modelValue?.response?.success===!0?(u(),t(`div`,Qe,[n(`div`,$e,[(u(!0),t(s,null,e(r.images,(e,t)=>(u(),a(x,{key:t,src:e?.image_url,"raw-src":e?.image_url},null,8,[`src`,`raw-src`]))),128))]),n(`div`,et,[o(C,{class:`box-item`,effect:`dark`,content:r.$t(`common.button.edit`),placement:`top-start`},{default:g(()=>[o(S,{type:`info`,size:`small`,class:`btn-action`,onClick:c[0]||=d(e=>r.onEdit(r.images?.[0]?.image_url),[`stop`])},{default:g(()=>[i(l(r.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),o(w,{path:`/nano-banana/images`,body:r.modelValue?.request},null,8,[`body`])]),o(D,{closable:!1,class:`mt-2 success`},{default:g(()=>[r.modelValue?.request?.model?(u(),t(`p`,tt,[o(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.model`))+`: `+l(r.modelValue?.request?.model),1)])):m(``,!0),r.modelValue?.request?.resolution?(u(),t(`p`,nt,[o(T,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.resolution`))+`: `+l(r.modelValue?.request?.resolution),1)])):m(``,!0),r.modelValue?.request?.aspect_ratio?(u(),t(`p`,rt,[o(T,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.aspectRatio`))+`: `+l(r.modelValue?.request?.aspect_ratio),1)])):m(``,!0),r.modelValue?.request?.action?(u(),t(`p`,it,[o(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.task`))+`: `+l(r.modelValue?.request?.action===`generate`?r.$t(`nanobanana.name.generate`):r.$t(`nanobanana.name.edits`)),1)])):m(``,!0),n(`p`,at,[o(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.taskId`))+`: `+l(r.modelValue?.id)+` `,1),o(E,{content:r.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),r.modelValue?.elapsed?(u(),t(`p`,ot,[o(T,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.elapsed`))+`: `+l(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),r.modelValue?.response?.trace_id?(u(),t(`p`,st,[o(T,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.traceId`))+`: `+l(r.modelValue?.response?.trace_id)+` `,1),o(E,{content:r.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):m(``,!0)]),_:1})])):r.modelValue?.response?.success===!1?(u(),t(`div`,ct,[o(D,{closable:!1,class:`failure`},{template:g(()=>[o(T,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.failure`)),1)]),default:g(()=>[r.modelValue?.request?.model?(u(),t(`p`,lt,[o(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.model`))+`: `+l(r.modelValue?.request?.model),1)])):m(``,!0),r.modelValue?.request?.resolution?(u(),t(`p`,ut,[o(T,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.resolution`))+`: `+l(r.modelValue?.request?.resolution),1)])):m(``,!0),r.modelValue?.request?.aspect_ratio?(u(),t(`p`,dt,[o(T,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.aspectRatio`))+`: `+l(r.modelValue?.request?.aspect_ratio),1)])):m(``,!0),r.modelValue?.request?.action?(u(),t(`p`,ft,[o(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.task`))+`: `+l(r.modelValue?.request?.action===`generate`?r.$t(`nanobanana.name.generate`):r.$t(`nanobanana.name.edits`)),1)])):m(``,!0),n(`p`,pt,[o(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.taskId`))+`: `+l(r.modelValue?.id)+` `,1),o(E,{content:r.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),n(`p`,mt,[o(T,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.failureReason`))+`: `+l(r.modelValue?.response?.error?.message)+` `,1),o(E,{content:r.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),r.modelValue?.elapsed?(u(),t(`p`,ht,[o(T,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.elapsed`))+`: `+l(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),r.modelValue?.response?.trace_id?(u(),t(`p`,gt,[o(T,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.traceId`))+`: `+l(r.modelValue?.response?.trace_id)+` `,1),o(E,{content:r.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):m(``,!0)]),_:1})])):(u(),t(`div`,_t,[o(D,{closable:!1,class:`info`},{template:g(()=>[o(T,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.failure`)),1)]),default:g(()=>[r.modelValue?.request?.model?(u(),t(`p`,vt,[o(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.model`))+`: `+l(r.modelValue?.request?.model),1)])):m(``,!0),r.modelValue?.request?.resolution?(u(),t(`p`,yt,[o(T,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.resolution`))+`: `+l(r.modelValue?.request?.resolution),1)])):m(``,!0),r.modelValue?.request?.aspect_ratio?(u(),t(`p`,$,[o(T,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.aspectRatio`))+`: `+l(r.modelValue?.request?.aspect_ratio),1)])):m(``,!0),r.modelValue?.request?.action?(u(),t(`p`,bt,[o(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.task`))+`: `+l(r.modelValue?.request?.action===`generate`?r.$t(`nanobanana.name.generate`):r.$t(`nanobanana.name.edits`)),1)])):m(``,!0),n(`p`,xt,[o(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(r.$t(`nanobanana.name.taskId`))+`: `+l(r.modelValue?.id)+` `,1),o(E,{content:r.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var Ct=r({name:`RecentPanel`,components:{TaskPreview:M(He,[[`render`,St],[`__scopeId`,`data-v-63f58569`]]),BotPlaceholder:q,NoTasks:J,ScrollList:W},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?.()}}}),wt={key:0},Tt={key:2,class:`w-full h-full flex items-center justify-center`};function Et(n,r,i,c,l,d){let f=h(`bot-placeholder`),p=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return u(),t(s,null,[n.tasks?.items===void 0?(u(),t(`div`,wt,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(u(),a(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:n.loading,onReachTop:r[0]||=e=>n.$emit(`reach-top`)},{default:g(()=>[(u(!0),t(s,null,e(n.tasks?.items,e=>(u(),a(p,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),n.tasks?.items?.length===0?(u(),t(`div`,Tt,[o(v)])):m(``,!0)],64)}var Dt=r({name:`NanobananaIndex`,components:{ConfigPanel:Ve,Layout:oe,RecentPanel:M(Ct,[[`render`,Et]])},mixins:[ee],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===A.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===A.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=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await G({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},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();let 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);let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),await this.$store.dispatch(`nanobanana/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})},async onGenerate(){if(!F(this.uploadTracker,e=>this.$t(e),e=>j.warning(e)))return;let 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!==`nano-banana-pro`&&`resolution`in e&&delete e.resolution,e?.model===`nano-banana-pro`&&!e?.resolution&&(e.resolution=`1K`);let n={...e,action:t?`edit`:`generate`,async:!0},r=this.credential?.token;if(!r){console.error(`no token specified`);return}j.info(this.$t(`nanobanana.message.startingTask`)),I(`nanobanana`,L.generate(n,{token:r})).then(()=>{j.success(this.$t(`nanobanana.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?j.error(this.$t(`nanobanana.message.usedUp`)):j.error(this.$t(`nanobanana.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ot(e,t,n,r,i,s){let c=h(`config-panel`),l=h(`recent-panel`),d=h(`layout`);return u(),a(d,null,{config:g(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:g(()=>[o(l,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var kt=M(Dt,[[`render`,Ot]]);export{kt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Vt as c,Wt as l,Z as u,b as d,dt as f,et as p,k as m,tt as h,ut as g,v as _}from"./vendor-chart-BJCvKk8-.js";import{t as v}from"./button-BydTr5nV.js";import{n as y,r as b,t as x}from"./select-DM8Bzirg.js";import{t as S}from"./upload-jfXZIDu4.js";import{t as C}from"./tooltip-BxeH2Vts.js";import{t as w}from"./image-Dn4eZrUF.js";import{t as T}from"./alert-CuX4SjQB.js";import{t as E}from"./drawer-R6pcaap2.js";import{t as D}from"./input-number-BAw4XyEU.js";import{t as O}from"./switch-CNk3Dz0Y.js";import{An as k,Cn as A,En as j,On as M,Sn as N,Tn as P,bn as ee,kn as te,vn as ne,wn as re,xn as F,yn as I}from"./constants-C0JMy8iD.js";import{Ar as L,Br as R,E as z,Ft as B,It as V,Nr as H,Pt as U,Wn as W,sn as G,zt as K}from"./index-C16UVAC9.js";import{t as q}from"./index.es-CLI7W8Vv.js";import{t as J}from"./CopyToClipboard-CskqkGUm.js";import{t as Y}from"./ImagePreview-DzKPXc3w.js";import{n as X}from"./taskDrawerMixin-DEgO_R5H.js";import{t as ie}from"./Consumption-C-z13GYK.js";import{n as ae,t as oe}from"./pagination-DQFmyST3.js";import{t as se}from"./ApiCodeButton-i9bzfjls.js";import{t as ce}from"./BotPlaceholder-7XKnk0fa.js";import{t as le}from"./NoTasks-Bccfp91M.js";import{t as Z}from"./InfoIcon-CPx9NFYJ.js";import{t as ue}from"./PromptTextarea-CHTllNPE.js";import{t as de}from"./ImageWrapper-B3f0RwP-.js";var fe=r({name:`LayoutNanobanana`,components:{ElDrawer:E,ElButton:v,FontAwesomeIcon:q},mixins:[X]}),pe={class:`main flex flex-row flex-1`},me={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},he={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ge(e,r,i,a,s,c){let l=h(`font-awesome-icon`),d=h(`el-button`),m=h(`el-drawer`);return u(),t(`div`,pe,[n(`div`,me,[p(e.$slots,`config`,{},void 0,!0)]),n(`div`,he,[p(e.$slots,`result`,{},void 0,!0)]),f(o(d,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:g(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!e.tasksEmpty]]),o(m,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:g(()=>[p(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var _e=z(fe,[[`render`,ge],[`__scopeId`,`data-v-cca80bbd`]]),ve=r({name:`PromptInput`,components:{PromptTextarea:ue},computed:{prompt:{get(){return this.$store.state.openaiimage?.config?.prompt},set(e){this.$store.commit(`openaiimage/setConfig`,{...this.$store.state.openaiimage?.config,prompt:e})}}},mounted(){this.prompt||=``}});function ye(e,t,n,r,i,o){let s=h(`prompt-textarea`);return u(),a(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`openaiimage.name.prompt`),info:e.$t(`openaiimage.description.prompt`),placeholder:e.$t(`openaiimage.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var be=z(ve,[[`render`,ye]]),xe=r({name:`ImageUrlsInput`,components:{ElUpload:S,ElButton:v,InfoIcon:Z,ImagePreview:Y,FontAwesomeIcon:q},mixins:[B],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.openaiimage?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),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(){R.warning(this.$t(`openaiimage.message.uploadImageExceed`))},onError(){R.error(this.$t(`openaiimage.message.uploadImageError`))},onSetImageUrls(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`openaiimage/setConfig`,{...this.$store.state.openaiimage?.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()}}}),Se={class:`field flex items-center justify-between`},Ce={class:`title font-bold text-[14px] mb-[10px]`},we={class:`upload-wrapper flex flex-col items-start gap-[8px]`},Te={class:`controls flex items-center`},Ee={class:`file-list flex flex-wrap gap-[10px]`};function De(r,c,d,f,p,m){let _=h(`font-awesome-icon`),v=h(`el-button`),y=h(`el-upload`),b=h(`info-icon`),x=h(`image-preview`);return u(),t(s,null,[n(`div`,Se,[n(`h2`,Ce,l(r.$t(`openaiimage.name.imageUrls`)),1),n(`div`,we,[n(`div`,Te,[o(y,{"file-list":r.fileList,"onUpdate:fileList":c[0]||=e=>r.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value`,limit:5,multiple:!0,"show-file-list":!1,action:r.uploadUrl,"on-exceed":r.onExceed,"on-error":r.onError,"on-success":r.onSuccess,"on-change":r.onChange,"on-remove":r.onRemove,headers:r.headers},{default:g(()=>[o(v,{size:`small`,type:`primary`,round:``},{default:g(()=>[o(_,{icon:`fa-solid fa-upload`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`]),o(b,{content:r.$t(`openaiimage.description.imageUrls`),class:`ml-2`},null,8,[`content`])])])]),n(`div`,Ee,[(u(!0),t(s,null,e(r.fileList,(e,t)=>(u(),a(x,{key:e.uid||e?.response?.file_url||e.url||t,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>r.onRemovePreview(t,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])],64)}var Oe=z(xe,[[`render`,De]]),ke=r({name:`OpenAIImageModelSelector`,components:{ElSelect:b,ElOption:x,InfoIcon:Z},data(){return{options:[{value:A,label:this.$t(`openaiimage.model.gptImage1`)},{value:re,label:this.$t(`openaiimage.model.gptImage15`)},{value:P,label:this.$t(`openaiimage.model.gptImage2`)}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.model},set(e){this.$store.commit(`openaiimage/setConfig`,{...this.$store.state.openaiimage?.config,model:e})}},modelDescription(){return this.$t(`openaiimage.description.model`)}},mounted(){this.value||=F}}),Ae={class:`field`},je={class:`label`},Me={class:`box`},Ne={class:`title font-bold`};function Pe(r,i,c,d,f,p){let m=h(`info-icon`),_=h(`el-option`),v=h(`el-select`);return u(),t(`div`,Ae,[n(`div`,je,[n(`div`,Me,[n(`h2`,Ne,l(r.$t(`openaiimage.name.model`)),1),o(m,{content:r.modelDescription,class:`info`},null,8,[`content`])])]),o(v,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`openaiimage.placeholder.select`)},{default:g(()=>[(u(!0),t(s,null,e(r.options,e=>(u(),a(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Fe=z(ke,[[`render`,Pe],[`__scopeId`,`data-v-cec771bd`]]);function Q(e){if(!e)return;let t=/^(\d+)x(\d+)$/.exec(e);if(t)return{w:Number(t[1]),h:Number(t[2])}}var Ie=r({name:`OpenAIImageSizeSelector`,components:{ElSelect:b,ElOption:x,ElOptionGroup:y,ElSwitch:O,ElInputNumber:D,InfoIcon:Z},data(){return{customMode:!1,customWidth:1024,customHeight:1024}},computed:{model(){return this.$store.state.openaiimage?.config?.model||`gpt-image-2`},storedSize(){return this.$store.state.openaiimage?.config?.size},emptySizeValue(){return``},customSupported(){return ee.includes(this.model)},presets(){return j[this.model]??j[`gpt-image-2`]??[]},presetGroups(){return this.model===`gpt-image-2`?[{label:this.$t(`openaiimage.sizeGroup.standard1k`),options:M},{label:this.$t(`openaiimage.sizeGroup.preset2k`),options:te},{label:this.$t(`openaiimage.sizeGroup.preset4k`),options:k}]:[{label:this.$t(`openaiimage.sizeGroup.standard1k`),options:this.presets}]},useCustom:{get(){return this.customSupported&&this.customMode},set(e){if(!(e&&!this.customSupported))if(this.customMode=e,e){if(this.customError)return;this.commitSize(`${this.customWidth}x${this.customHeight}`)}else this.commitSize()}},presetValue:{get(){let e=this.storedSize;return e&&this.presets.includes(e)?e:this.emptySizeValue},set(e){this.customMode=!1,this.commitSize(e||void 0)}},multiple(){return 16},minSide(){return 256},maxSide(){return ne},customError(){let e=this.customWidth,t=this.customHeight;return!Number.isFinite(e)||!Number.isFinite(t)||e<=0||t<=0?this.$t(`openaiimage.error.customSizePositive`):e%this.multiple!==0||t%this.multiple!==0?this.$t(`openaiimage.error.customSizeMultiple`,{multiple:this.multiple}):e<this.minSide||t<this.minSide?this.$t(`openaiimage.error.customSizeMin`,{min:this.minSide}):Math.max(e,t)>this.maxSide?this.$t(`openaiimage.error.customSizeMax`,{max:this.maxSide}):e*t>8294400?this.$t(`openaiimage.error.customSizePixels`,{pixels:I.toLocaleString()}):``}},watch:{model:{immediate:!1,handler(){this.customSupported||(this.customMode=!1);let e=this.storedSize;if(!e||this.presets.includes(e))return;let t=Q(e);t&&this.customSupported&&(this.customMode=!0,this.customWidth=t.w,this.customHeight=t.h,!this.customError)||this.commitSize()}},storedSize(e){if(!e){this.customMode=!1;return}if(this.presets.includes(e)){this.customMode=!1;return}let t=Q(e);t&&this.customSupported&&(this.customMode=!0,this.customWidth!==t.w&&(this.customWidth=t.w),this.customHeight!==t.h&&(this.customHeight=t.h))},customWidth(){this.syncCustomToStore()},customHeight(){this.syncCustomToStore()}},mounted(){let e=this.storedSize,t=Q(e);e&&t&&this.customSupported&&!this.presets.includes(e)&&(this.customMode=!0,this.customWidth=t.w,this.customHeight=t.h)},methods:{commitSize(e){let t={...this.$store.state.openaiimage?.config};e?t.size=e:delete t.size,this.$store.commit(`openaiimage/setConfig`,t)},syncCustomToStore(){this.useCustom&&(this.customError||this.commitSize(`${this.customWidth}x${this.customHeight}`))}}}),Le={class:`resolution`},Re={class:`field`},ze={class:`label`},Be={class:`box`},Ve={class:`title font-bold`},He={class:`field custom-toggle`},Ue={class:`label`},We={class:`box`},Ge={class:`title font-bold`},Ke={key:0,class:`custom-inputs`},qe={class:`row`},Je={class:`row-label`},Ye={class:`row`},Xe={class:`row-label`},Ze={key:0,class:`error`};function Qe(r,i,c,d,f,p){let _=h(`info-icon`),v=h(`el-option`),y=h(`el-option-group`),b=h(`el-select`),x=h(`el-switch`),S=h(`el-input-number`);return u(),t(`div`,Le,[n(`div`,Re,[n(`div`,ze,[n(`div`,Be,[n(`h2`,Ve,l(r.$t(`openaiimage.name.size`)),1),o(_,{content:r.$t(`openaiimage.description.size`),class:`info`},null,8,[`content`])])]),o(b,{modelValue:r.presetValue,"onUpdate:modelValue":i[0]||=e=>r.presetValue=e,class:`value`,placeholder:r.$t(`openaiimage.placeholder.select`),disabled:r.useCustom},{default:g(()=>[o(v,{label:r.$t(`suno.gender.auto`),value:r.emptySizeValue},null,8,[`label`,`value`]),(u(!0),t(s,null,e(r.presetGroups,n=>(u(),a(y,{key:n.label,label:n.label},{default:g(()=>[(u(!0),t(s,null,e(n.options,e=>(u(),a(v,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])]),r.customSupported?(u(),t(s,{key:0},[n(`div`,He,[n(`div`,Ue,[n(`div`,We,[n(`h2`,Ge,l(r.$t(`openaiimage.name.customSize`)),1),o(_,{content:r.$t(`openaiimage.description.customSize`),class:`info`},null,8,[`content`])])]),o(x,{modelValue:r.useCustom,"onUpdate:modelValue":i[1]||=e=>r.useCustom=e,class:`value-switch`},null,8,[`modelValue`])]),r.useCustom?(u(),t(`div`,Ke,[n(`div`,qe,[n(`span`,Je,l(r.$t(`openaiimage.name.width`)),1),o(S,{modelValue:r.customWidth,"onUpdate:modelValue":i[2]||=e=>r.customWidth=e,class:`row-input`,min:r.minSide,max:r.maxSide,step:r.multiple,"step-strictly":!0,"controls-position":`right`},null,8,[`modelValue`,`min`,`max`,`step`])]),n(`div`,Ye,[n(`span`,Xe,l(r.$t(`openaiimage.name.height`)),1),o(S,{modelValue:r.customHeight,"onUpdate:modelValue":i[3]||=e=>r.customHeight=e,class:`row-input`,min:r.minSide,max:r.maxSide,step:r.multiple,"step-strictly":!0,"controls-position":`right`},null,8,[`modelValue`,`min`,`max`,`step`])]),r.customError?(u(),t(`div`,Ze,l(r.customError),1)):m(``,!0)])):m(``,!0)],64)):m(``,!0)])}var $e=r({name:`ConfigPanel`,components:{ElButton:v,FontAwesomeIcon:q,PromptInput:be,Consumption:ie,ImageUrlsInput:Oe,ModelSelector:Fe,ResolutionSelector:z(Ie,[[`render`,Qe],[`__scopeId`,`data-v-d5544d69`]])},emits:[`generate`],computed:{config(){return this.$store.state.openaiimage?.config},consumption(){return K({...this.config||{}},this.service?.cost)},service(){return this.$store.state.openaiimage?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),et={class:`flex flex-col h-full`},tt={class:`flex-1 overflow-y-auto p-5`},nt={class:`flex flex-col items-center justify-center px-5 pb-5`};function rt(e,r,a,s,c,d){let f=h(`model-selector`),p=h(`resolution-selector`),m=h(`prompt-input`),_=h(`image-urls-input`),v=h(`consumption`),y=h(`font-awesome-icon`),b=h(`el-button`);return u(),t(`div`,et,[n(`div`,tt,[o(f,{class:`mb-4`}),o(p,{class:`mb-4`}),o(m,{class:`mb-4`}),o(_,{class:`mb-4`})]),n(`div`,nt,[o(v,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(b,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(y,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`openaiimage.button.generate`)),1)]),_:1},8,[`onClick`])])])}var it=z($e,[[`render`,rt]]),at=r({name:`TaskPreview`,components:{ElImage:w,CopyToClipboard:J,FontAwesomeIcon:q,ElAlert:T,ImageWrapper:de,ElButton:v,ElTooltip:C,ImagePreview:Y,ApiCodeButton:se},props:{modelValue:{type:Object,required:!0}},setup(){return{OPENAIIMAGE_LOGO:N}},computed:{isEditRequest(){let e=this.modelValue?.request;return this.modelValue?.type===`images_edits`||e?.action===`edit`||this.referenceImages.length>0},showTaskType(){return!!(this.modelValue?.request?.action||this.modelValue?.type||this.referenceImages.length>0)},taskTypeLabel(){return this.isEditRequest?this.$t(`openaiimage.name.edits`):this.$t(`openaiimage.name.generate`)},openaiimagePath(){return this.isEditRequest?`/openai/images/edits`:`/openai/images/generations`},openaiimageCodeBody(){let e=this.modelValue?.request;if(!e)return;let t={...e};if(delete t.action,delete t.callback_url,this.isEditRequest){delete t.image_urls,delete t.image;let e=this.referenceImages;e.length===1?t.image=e[0]:e.length>1&&(t.image=e)}else delete t.image_urls,delete t.image;return t},images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{let n=t;if(n?.image_url||n?.url){e.push(n);return}n?.b64_json&&e.push({...n,url:`data:image/png;base64,${n.b64_json}`})}),e},referenceImages(){let e=this.modelValue?.request;if(!e)return[];let t=Array.isArray(e.image_urls)?e.image_urls:[];if(t.length>0)return t.filter(e=>typeof e==`string`&&e.length>0);let n=e.image;return Array.isArray(n)?n.filter(e=>typeof e==`string`&&e.length>0):typeof n==`string`&&n.length>0?[n]:Array.isArray(e.images)?e.images.map(e=>{if(typeof e==`string`)return e;if(e&&typeof e==`object`)return e.image_url}).filter(e=>typeof e==`string`&&e.length>0):[]}},methods:{onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.openaiimage?.config||{}};t.image_urls=[e],this.$store.commit(`openaiimage/setConfig`,t)}}}),ot={class:`preview`},st={class:`left`},ct={class:`main`},lt={class:`bot`},ut={class:`datetime`},dt={class:`info`},ft={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},pt={key:1,class:`prompt mt-2`},mt={key:0},ht={key:0,class:c({content:!0,failed:!0})},gt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},_t={class:c({operations:!0,"mt-2":!0,"mb-2":!0})},vt={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`},bt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},wt={key:1,class:c({content:!0})},Tt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ot={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},At={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},jt={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Mt={key:2,class:c({content:!0})},Nt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Pt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ft={class:`text-[var(--el-text-color-regular)] text-xs mb-2`};function It(r,c,f,p,_,v){let y=h(`el-image`),b=h(`image-preview`),x=h(`image-wrapper`),S=h(`el-button`),C=h(`el-tooltip`),w=h(`api-code-button`),T=h(`font-awesome-icon`),E=h(`copy-to-clipboard`),D=h(`el-alert`);return u(),t(`div`,ot,[n(`div`,st,[o(y,{src:r.OPENAIIMAGE_LOGO,class:`avatar`},null,8,[`src`])]),n(`div`,ct,[n(`div`,lt,[i(l(r.$t(`openaiimage.name.openaiimageBot`))+` `,1),n(`span`,ut,l(r.$dayjs.format(``+new Date(parseFloat((r.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,dt,[r.referenceImages.length>0?(u(),t(`div`,ft,[(u(!0),t(s,null,e(r.referenceImages,(e,t)=>(u(),a(b,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):m(``,!0),r.modelValue?.request?.prompt?(u(),t(`p`,pt,[i(l(r.modelValue?.request?.prompt)+` `,1),r.modelValue?.response?m(``,!0):(u(),t(`span`,mt,` - (`+l(r.$t(`openaiimage.status.pending`))+`) `,1))])):m(``,!0)]),r.modelValue?.response?.success===!0?(u(),t(`div`,ht,[n(`div`,gt,[(u(!0),t(s,null,e(r.images,(e,t)=>(u(),a(x,{key:t,src:e?.image_url||e?.url||``,"raw-src":e?.image_url||e?.url||``},null,8,[`src`,`raw-src`]))),128))]),n(`div`,_t,[o(C,{class:`box-item`,effect:`dark`,content:r.$t(`common.button.edit`),placement:`top-start`},{default:g(()=>[o(S,{type:`info`,size:`small`,class:`btn-action`,onClick:c[0]||=d(e=>r.onEdit(r.images?.[0]?.image_url||r.images?.[0]?.url),[`stop`])},{default:g(()=>[i(l(r.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),o(w,{path:r.openaiimagePath,body:r.openaiimageCodeBody},null,8,[`path`,`body`])]),o(D,{closable:!1,class:`mt-2 success`},{default:g(()=>[r.modelValue?.request?.model?(u(),t(`p`,vt,[o(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.model`))+`: `+l(r.modelValue?.request?.model),1)])):m(``,!0),r.modelValue?.request?.size?(u(),t(`p`,yt,[o(T,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.size`))+`: `+l(r.modelValue?.request?.size),1)])):m(``,!0),r.showTaskType?(u(),t(`p`,bt,[o(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.task`))+`: `+l(r.taskTypeLabel),1)])):m(``,!0),n(`p`,xt,[o(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.taskId`))+`: `+l(r.modelValue?.id)+` `,1),o(E,{content:r.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),r.modelValue?.elapsed?(u(),t(`p`,St,[o(T,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.elapsed`))+`: `+l(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),r.modelValue?.response?.trace_id?(u(),t(`p`,Ct,[o(T,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.traceId`))+`: `+l(r.modelValue?.response?.trace_id)+` `,1),o(E,{content:r.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):m(``,!0)]),_:1})])):r.modelValue?.response?.success===!1?(u(),t(`div`,wt,[o(D,{closable:!1,class:`failure`},{template:g(()=>[o(T,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.failure`)),1)]),default:g(()=>[r.modelValue?.request?.model?(u(),t(`p`,Tt,[o(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.model`))+`: `+l(r.modelValue?.request?.model),1)])):m(``,!0),r.modelValue?.request?.size?(u(),t(`p`,Et,[o(T,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.size`))+`: `+l(r.modelValue?.request?.size),1)])):m(``,!0),r.showTaskType?(u(),t(`p`,Dt,[o(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.task`))+`: `+l(r.taskTypeLabel),1)])):m(``,!0),n(`p`,Ot,[o(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.taskId`))+`: `+l(r.modelValue?.id)+` `,1),o(E,{content:r.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),n(`p`,kt,[o(T,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.failureReason`))+`: `+l(r.modelValue?.response?.error?.message)+` `,1),o(E,{content:r.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),r.modelValue?.elapsed?(u(),t(`p`,At,[o(T,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.elapsed`))+`: `+l(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),r.modelValue?.response?.trace_id?(u(),t(`p`,jt,[o(T,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.traceId`))+`: `+l(r.modelValue?.response?.trace_id)+` `,1),o(E,{content:r.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):m(``,!0)]),_:1})])):(u(),t(`div`,Mt,[o(D,{closable:!1,class:`info`},{template:g(()=>[o(T,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.failure`)),1)]),default:g(()=>[r.modelValue?.request?.model?(u(),t(`p`,Nt,[o(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.model`))+`: `+l(r.modelValue?.request?.model),1)])):m(``,!0),r.modelValue?.request?.size?(u(),t(`p`,$,[o(T,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.size`))+`: `+l(r.modelValue?.request?.size),1)])):m(``,!0),r.showTaskType?(u(),t(`p`,Pt,[o(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.task`))+`: `+l(r.taskTypeLabel),1)])):m(``,!0),n(`p`,Ft,[o(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.taskId`))+`: `+l(r.modelValue?.id)+` `,1),o(E,{content:r.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var Lt=r({name:`RecentPanel`,components:{TaskPreview:z(at,[[`render`,It],[`__scopeId`,`data-v-8ee5fb87`]]),BotPlaceholder:ce,NoTasks:le,ScrollList:ae},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.openaiimage?.tasks,items:this.$store.state.openaiimage?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Rt={key:0},zt={key:2,class:`w-full h-full flex items-center justify-center`};function Bt(n,r,i,c,l,d){let f=h(`bot-placeholder`),p=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return u(),t(s,null,[n.tasks?.items===void 0?(u(),t(`div`,Rt,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(u(),a(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:n.loading,onReachTop:r[0]||=e=>n.$emit(`reach-top`)},{default:g(()=>[(u(!0),t(s,null,e(n.tasks?.items,e=>(u(),a(p,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),n.tasks?.items?.length===0?(u(),t(`div`,zt,[o(v)])):m(``,!0)],64)}var Vt=r({name:`OpenAIImageIndex`,components:{ConfigPanel:it,Layout:_e,RecentPanel:z(Lt,[[`render`,Bt]])},mixins:[V],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.openaiimage?.status?.getApplications===L.Request},tasksLoading(){return this.$store.state.openaiimage?.status?.getTasks===L.Request},credential(){return this.$store.state.openaiimage?.credential},config(){return this.$store.state.openaiimage?.config},application(){return this.$store.state.openaiimage?.application},tasks(){return this.$store.state.openaiimage?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await oe({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`openaiimage/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`openaiimage/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),await this.$store.dispatch(`openaiimage/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})},async onGenerate(){if(!U(this.uploadTracker,e=>this.$t(e),e=>R.warning(e)))return;let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;if(!this.hasText(e.prompt)){R.error(this.$t(`openaiimage.message.promptRequired`));return}e.prompt=e.prompt.trim(),!t&&`image_urls`in e&&delete e.image_urls,e.size||delete e.size;let n={...e,action:`generate`,async:!0},r={action:`edit`,model:e?.model,prompt:e?.prompt,size:e?.size,image_urls:e?.image_urls||[],async:!0},i=this.credential?.token;if(!i){console.error(`no token specified`);return}R.info(this.$t(`openaiimage.message.startingTask`)),W(`openaiimage`,t?G.edit(r,{token:i}):G.generate(n,{token:i})).then(e=>{console.debug(`task accepted`,e.data?.task_id),R.success(this.$t(`openaiimage.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?R.error(this.$t(`openaiimage.message.usedUp`)):R.error(this.$t(`openaiimage.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function Ht(e,t,n,r,i,s){let c=h(`config-panel`),l=h(`recent-panel`),d=h(`layout`);return u(),a(d,null,{config:g(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:g(()=>[o(l,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Ut=z(Vt,[[`render`,Ht]]);export{Ut as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Vt as c,Wt as l,Z as u,b as d,dt as f,et as p,k as m,tt as h,ut as g,v as _}from"./vendor-chart-BJCvKk8-.js";import{t as v}from"./button-BydTr5nV.js";import{n as y,r as b,t as x}from"./select-BvQYOmI2.js";import{t as S}from"./upload-DPeZOsKX.js";import{t as C}from"./tooltip-BxeH2Vts.js";import{t as w}from"./image-cD_rczcG.js";import{t as T}from"./alert-CuX4SjQB.js";import{t as E}from"./drawer-R6pcaap2.js";import{t as D}from"./input-number-tzY4HiGI.js";import{t as O}from"./switch-BtUhB-pq.js";import{An as k,Cn as A,En as j,On as M,Sn as N,Tn as P,bn as ee,kn as te,vn as ne,wn as re,xn as F,yn as I}from"./constants-C0JMy8iD.js";import{Ar as L,Br as R,E as z,Ft as B,It as V,Nr as H,Pt as U,Wn as W,sn as G,zt as K}from"./index-BFMUZID8.js";import{t as q}from"./index.es-BxSKbWOt.js";import{t as J}from"./CopyToClipboard-BL1mORNs.js";import{t as Y}from"./ImagePreview-zIkpquFk.js";import{n as X}from"./taskDrawerMixin-DEgO_R5H.js";import{t as ie}from"./Consumption-D95jv4pS.js";import{n as ae,t as oe}from"./pagination-YjZU0Dg4.js";import{t as se}from"./ApiCodeButton-DQxU3p1V.js";import{t as ce}from"./BotPlaceholder-DvPHgYBu.js";import{t as le}from"./NoTasks-C9K3EXND.js";import{t as Z}from"./InfoIcon-BBrKSUP1.js";import{t as ue}from"./PromptTextarea-BUwjXqO4.js";import{t as de}from"./ImageWrapper-DLyrD-qP.js";var fe=r({name:`LayoutNanobanana`,components:{ElDrawer:E,ElButton:v,FontAwesomeIcon:q},mixins:[X]}),pe={class:`main flex flex-row flex-1`},me={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},he={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ge(e,r,i,a,s,c){let l=h(`font-awesome-icon`),d=h(`el-button`),m=h(`el-drawer`);return u(),t(`div`,pe,[n(`div`,me,[p(e.$slots,`config`,{},void 0,!0)]),n(`div`,he,[p(e.$slots,`result`,{},void 0,!0)]),f(o(d,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:g(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!e.tasksEmpty]]),o(m,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:g(()=>[p(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var _e=z(fe,[[`render`,ge],[`__scopeId`,`data-v-cca80bbd`]]),ve=r({name:`PromptInput`,components:{PromptTextarea:ue},computed:{prompt:{get(){return this.$store.state.openaiimage?.config?.prompt},set(e){this.$store.commit(`openaiimage/setConfig`,{...this.$store.state.openaiimage?.config,prompt:e})}}},mounted(){this.prompt||=``}});function ye(e,t,n,r,i,o){let s=h(`prompt-textarea`);return u(),a(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`openaiimage.name.prompt`),info:e.$t(`openaiimage.description.prompt`),placeholder:e.$t(`openaiimage.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var be=z(ve,[[`render`,ye]]),xe=r({name:`ImageUrlsInput`,components:{ElUpload:S,ElButton:v,InfoIcon:Z,ImagePreview:Y,FontAwesomeIcon:q},mixins:[B],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.openaiimage?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),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(){R.warning(this.$t(`openaiimage.message.uploadImageExceed`))},onError(){R.error(this.$t(`openaiimage.message.uploadImageError`))},onSetImageUrls(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`openaiimage/setConfig`,{...this.$store.state.openaiimage?.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()}}}),Se={class:`field flex items-center justify-between`},Ce={class:`title font-bold text-[14px] mb-[10px]`},we={class:`upload-wrapper flex flex-col items-start gap-[8px]`},Te={class:`controls flex items-center`},Ee={class:`file-list flex flex-wrap gap-[10px]`};function De(r,c,d,f,p,m){let _=h(`font-awesome-icon`),v=h(`el-button`),y=h(`el-upload`),b=h(`info-icon`),x=h(`image-preview`);return u(),t(s,null,[n(`div`,Se,[n(`h2`,Ce,l(r.$t(`openaiimage.name.imageUrls`)),1),n(`div`,we,[n(`div`,Te,[o(y,{"file-list":r.fileList,"onUpdate:fileList":c[0]||=e=>r.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value`,limit:5,multiple:!0,"show-file-list":!1,action:r.uploadUrl,"on-exceed":r.onExceed,"on-error":r.onError,"on-success":r.onSuccess,"on-change":r.onChange,"on-remove":r.onRemove,headers:r.headers},{default:g(()=>[o(v,{size:`small`,type:`primary`,round:``},{default:g(()=>[o(_,{icon:`fa-solid fa-upload`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`]),o(b,{content:r.$t(`openaiimage.description.imageUrls`),class:`ml-2`},null,8,[`content`])])])]),n(`div`,Ee,[(u(!0),t(s,null,e(r.fileList,(e,t)=>(u(),a(x,{key:e.uid||e?.response?.file_url||e.url||t,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>r.onRemovePreview(t,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])],64)}var Oe=z(xe,[[`render`,De]]),ke=r({name:`OpenAIImageModelSelector`,components:{ElSelect:b,ElOption:x,InfoIcon:Z},data(){return{options:[{value:A,label:this.$t(`openaiimage.model.gptImage1`)},{value:re,label:this.$t(`openaiimage.model.gptImage15`)},{value:P,label:this.$t(`openaiimage.model.gptImage2`)}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.model},set(e){this.$store.commit(`openaiimage/setConfig`,{...this.$store.state.openaiimage?.config,model:e})}},modelDescription(){return this.$t(`openaiimage.description.model`)}},mounted(){this.value||=F}}),Ae={class:`field`},je={class:`label`},Me={class:`box`},Ne={class:`title font-bold`};function Pe(r,i,c,d,f,p){let m=h(`info-icon`),_=h(`el-option`),v=h(`el-select`);return u(),t(`div`,Ae,[n(`div`,je,[n(`div`,Me,[n(`h2`,Ne,l(r.$t(`openaiimage.name.model`)),1),o(m,{content:r.modelDescription,class:`info`},null,8,[`content`])])]),o(v,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`openaiimage.placeholder.select`)},{default:g(()=>[(u(!0),t(s,null,e(r.options,e=>(u(),a(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Fe=z(ke,[[`render`,Pe],[`__scopeId`,`data-v-cec771bd`]]);function Q(e){if(!e)return;let t=/^(\d+)x(\d+)$/.exec(e);if(t)return{w:Number(t[1]),h:Number(t[2])}}var Ie=r({name:`OpenAIImageSizeSelector`,components:{ElSelect:b,ElOption:x,ElOptionGroup:y,ElSwitch:O,ElInputNumber:D,InfoIcon:Z},data(){return{customMode:!1,customWidth:1024,customHeight:1024}},computed:{model(){return this.$store.state.openaiimage?.config?.model||`gpt-image-2`},storedSize(){return this.$store.state.openaiimage?.config?.size},emptySizeValue(){return``},customSupported(){return ee.includes(this.model)},presets(){return j[this.model]??j[`gpt-image-2`]??[]},presetGroups(){return this.model===`gpt-image-2`?[{label:this.$t(`openaiimage.sizeGroup.standard1k`),options:M},{label:this.$t(`openaiimage.sizeGroup.preset2k`),options:te},{label:this.$t(`openaiimage.sizeGroup.preset4k`),options:k}]:[{label:this.$t(`openaiimage.sizeGroup.standard1k`),options:this.presets}]},useCustom:{get(){return this.customSupported&&this.customMode},set(e){if(!(e&&!this.customSupported))if(this.customMode=e,e){if(this.customError)return;this.commitSize(`${this.customWidth}x${this.customHeight}`)}else this.commitSize()}},presetValue:{get(){let e=this.storedSize;return e&&this.presets.includes(e)?e:this.emptySizeValue},set(e){this.customMode=!1,this.commitSize(e||void 0)}},multiple(){return 16},minSide(){return 256},maxSide(){return ne},customError(){let e=this.customWidth,t=this.customHeight;return!Number.isFinite(e)||!Number.isFinite(t)||e<=0||t<=0?this.$t(`openaiimage.error.customSizePositive`):e%this.multiple!==0||t%this.multiple!==0?this.$t(`openaiimage.error.customSizeMultiple`,{multiple:this.multiple}):e<this.minSide||t<this.minSide?this.$t(`openaiimage.error.customSizeMin`,{min:this.minSide}):Math.max(e,t)>this.maxSide?this.$t(`openaiimage.error.customSizeMax`,{max:this.maxSide}):e*t>8294400?this.$t(`openaiimage.error.customSizePixels`,{pixels:I.toLocaleString()}):``}},watch:{model:{immediate:!1,handler(){this.customSupported||(this.customMode=!1);let e=this.storedSize;if(!e||this.presets.includes(e))return;let t=Q(e);t&&this.customSupported&&(this.customMode=!0,this.customWidth=t.w,this.customHeight=t.h,!this.customError)||this.commitSize()}},storedSize(e){if(!e){this.customMode=!1;return}if(this.presets.includes(e)){this.customMode=!1;return}let t=Q(e);t&&this.customSupported&&(this.customMode=!0,this.customWidth!==t.w&&(this.customWidth=t.w),this.customHeight!==t.h&&(this.customHeight=t.h))},customWidth(){this.syncCustomToStore()},customHeight(){this.syncCustomToStore()}},mounted(){let e=this.storedSize,t=Q(e);e&&t&&this.customSupported&&!this.presets.includes(e)&&(this.customMode=!0,this.customWidth=t.w,this.customHeight=t.h)},methods:{commitSize(e){let t={...this.$store.state.openaiimage?.config};e?t.size=e:delete t.size,this.$store.commit(`openaiimage/setConfig`,t)},syncCustomToStore(){this.useCustom&&(this.customError||this.commitSize(`${this.customWidth}x${this.customHeight}`))}}}),Le={class:`resolution`},Re={class:`field`},ze={class:`label`},Be={class:`box`},Ve={class:`title font-bold`},He={class:`field custom-toggle`},Ue={class:`label`},We={class:`box`},Ge={class:`title font-bold`},Ke={key:0,class:`custom-inputs`},qe={class:`row`},Je={class:`row-label`},Ye={class:`row`},Xe={class:`row-label`},Ze={key:0,class:`error`};function Qe(r,i,c,d,f,p){let _=h(`info-icon`),v=h(`el-option`),y=h(`el-option-group`),b=h(`el-select`),x=h(`el-switch`),S=h(`el-input-number`);return u(),t(`div`,Le,[n(`div`,Re,[n(`div`,ze,[n(`div`,Be,[n(`h2`,Ve,l(r.$t(`openaiimage.name.size`)),1),o(_,{content:r.$t(`openaiimage.description.size`),class:`info`},null,8,[`content`])])]),o(b,{modelValue:r.presetValue,"onUpdate:modelValue":i[0]||=e=>r.presetValue=e,class:`value`,placeholder:r.$t(`openaiimage.placeholder.select`),disabled:r.useCustom},{default:g(()=>[o(v,{label:r.$t(`suno.gender.auto`),value:r.emptySizeValue},null,8,[`label`,`value`]),(u(!0),t(s,null,e(r.presetGroups,n=>(u(),a(y,{key:n.label,label:n.label},{default:g(()=>[(u(!0),t(s,null,e(n.options,e=>(u(),a(v,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])]),r.customSupported?(u(),t(s,{key:0},[n(`div`,He,[n(`div`,Ue,[n(`div`,We,[n(`h2`,Ge,l(r.$t(`openaiimage.name.customSize`)),1),o(_,{content:r.$t(`openaiimage.description.customSize`),class:`info`},null,8,[`content`])])]),o(x,{modelValue:r.useCustom,"onUpdate:modelValue":i[1]||=e=>r.useCustom=e,class:`value-switch`},null,8,[`modelValue`])]),r.useCustom?(u(),t(`div`,Ke,[n(`div`,qe,[n(`span`,Je,l(r.$t(`openaiimage.name.width`)),1),o(S,{modelValue:r.customWidth,"onUpdate:modelValue":i[2]||=e=>r.customWidth=e,class:`row-input`,min:r.minSide,max:r.maxSide,step:r.multiple,"step-strictly":!0,"controls-position":`right`},null,8,[`modelValue`,`min`,`max`,`step`])]),n(`div`,Ye,[n(`span`,Xe,l(r.$t(`openaiimage.name.height`)),1),o(S,{modelValue:r.customHeight,"onUpdate:modelValue":i[3]||=e=>r.customHeight=e,class:`row-input`,min:r.minSide,max:r.maxSide,step:r.multiple,"step-strictly":!0,"controls-position":`right`},null,8,[`modelValue`,`min`,`max`,`step`])]),r.customError?(u(),t(`div`,Ze,l(r.customError),1)):m(``,!0)])):m(``,!0)],64)):m(``,!0)])}var $e=r({name:`ConfigPanel`,components:{ElButton:v,FontAwesomeIcon:q,PromptInput:be,Consumption:ie,ImageUrlsInput:Oe,ModelSelector:Fe,ResolutionSelector:z(Ie,[[`render`,Qe],[`__scopeId`,`data-v-d5544d69`]])},emits:[`generate`],computed:{config(){return this.$store.state.openaiimage?.config},consumption(){return K({...this.config||{}},this.service?.cost)},service(){return this.$store.state.openaiimage?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),et={class:`flex flex-col h-full`},tt={class:`flex-1 overflow-y-auto p-5`},nt={class:`flex flex-col items-center justify-center px-5 pb-5`};function rt(e,r,a,s,c,d){let f=h(`model-selector`),p=h(`resolution-selector`),m=h(`prompt-input`),_=h(`image-urls-input`),v=h(`consumption`),y=h(`font-awesome-icon`),b=h(`el-button`);return u(),t(`div`,et,[n(`div`,tt,[o(f,{class:`mb-4`}),o(p,{class:`mb-4`}),o(m,{class:`mb-4`}),o(_,{class:`mb-4`})]),n(`div`,nt,[o(v,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(b,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(y,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`openaiimage.button.generate`)),1)]),_:1},8,[`onClick`])])])}var it=z($e,[[`render`,rt]]),at=r({name:`TaskPreview`,components:{ElImage:w,CopyToClipboard:J,FontAwesomeIcon:q,ElAlert:T,ImageWrapper:de,ElButton:v,ElTooltip:C,ImagePreview:Y,ApiCodeButton:se},props:{modelValue:{type:Object,required:!0}},setup(){return{OPENAIIMAGE_LOGO:N}},computed:{isEditRequest(){let e=this.modelValue?.request;return this.modelValue?.type===`images_edits`||e?.action===`edit`||this.referenceImages.length>0},showTaskType(){return!!(this.modelValue?.request?.action||this.modelValue?.type||this.referenceImages.length>0)},taskTypeLabel(){return this.isEditRequest?this.$t(`openaiimage.name.edits`):this.$t(`openaiimage.name.generate`)},openaiimagePath(){return this.isEditRequest?`/openai/images/edits`:`/openai/images/generations`},openaiimageCodeBody(){let e=this.modelValue?.request;if(!e)return;let t={...e};if(delete t.action,delete t.callback_url,this.isEditRequest){delete t.image_urls,delete t.image;let e=this.referenceImages;e.length===1?t.image=e[0]:e.length>1&&(t.image=e)}else delete t.image_urls,delete t.image;return t},images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{let n=t;if(n?.image_url||n?.url){e.push(n);return}n?.b64_json&&e.push({...n,url:`data:image/png;base64,${n.b64_json}`})}),e},referenceImages(){let e=this.modelValue?.request;if(!e)return[];let t=Array.isArray(e.image_urls)?e.image_urls:[];if(t.length>0)return t.filter(e=>typeof e==`string`&&e.length>0);let n=e.image;return Array.isArray(n)?n.filter(e=>typeof e==`string`&&e.length>0):typeof n==`string`&&n.length>0?[n]:Array.isArray(e.images)?e.images.map(e=>{if(typeof e==`string`)return e;if(e&&typeof e==`object`)return e.image_url}).filter(e=>typeof e==`string`&&e.length>0):[]}},methods:{onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.openaiimage?.config||{}};t.image_urls=[e],this.$store.commit(`openaiimage/setConfig`,t)}}}),ot={class:`preview`},st={class:`left`},ct={class:`main`},lt={class:`bot`},ut={class:`datetime`},dt={class:`info`},ft={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},pt={key:1,class:`prompt mt-2`},mt={key:0},ht={key:0,class:c({content:!0,failed:!0})},gt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},_t={class:c({operations:!0,"mt-2":!0,"mb-2":!0})},vt={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`},bt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},wt={key:1,class:c({content:!0})},Tt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ot={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},At={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},jt={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Mt={key:2,class:c({content:!0})},Nt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Pt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ft={class:`text-[var(--el-text-color-regular)] text-xs mb-2`};function It(r,c,f,p,_,v){let y=h(`el-image`),b=h(`image-preview`),x=h(`image-wrapper`),S=h(`el-button`),C=h(`el-tooltip`),w=h(`api-code-button`),T=h(`font-awesome-icon`),E=h(`copy-to-clipboard`),D=h(`el-alert`);return u(),t(`div`,ot,[n(`div`,st,[o(y,{src:r.OPENAIIMAGE_LOGO,class:`avatar`},null,8,[`src`])]),n(`div`,ct,[n(`div`,lt,[i(l(r.$t(`openaiimage.name.openaiimageBot`))+` `,1),n(`span`,ut,l(r.$dayjs.format(``+new Date(parseFloat((r.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,dt,[r.referenceImages.length>0?(u(),t(`div`,ft,[(u(!0),t(s,null,e(r.referenceImages,(e,t)=>(u(),a(b,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):m(``,!0),r.modelValue?.request?.prompt?(u(),t(`p`,pt,[i(l(r.modelValue?.request?.prompt)+` `,1),r.modelValue?.response?m(``,!0):(u(),t(`span`,mt,` - (`+l(r.$t(`openaiimage.status.pending`))+`) `,1))])):m(``,!0)]),r.modelValue?.response?.success===!0?(u(),t(`div`,ht,[n(`div`,gt,[(u(!0),t(s,null,e(r.images,(e,t)=>(u(),a(x,{key:t,src:e?.image_url||e?.url||``,"raw-src":e?.image_url||e?.url||``},null,8,[`src`,`raw-src`]))),128))]),n(`div`,_t,[o(C,{class:`box-item`,effect:`dark`,content:r.$t(`common.button.edit`),placement:`top-start`},{default:g(()=>[o(S,{type:`info`,size:`small`,class:`btn-action`,onClick:c[0]||=d(e=>r.onEdit(r.images?.[0]?.image_url||r.images?.[0]?.url),[`stop`])},{default:g(()=>[i(l(r.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),o(w,{path:r.openaiimagePath,body:r.openaiimageCodeBody},null,8,[`path`,`body`])]),o(D,{closable:!1,class:`mt-2 success`},{default:g(()=>[r.modelValue?.request?.model?(u(),t(`p`,vt,[o(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.model`))+`: `+l(r.modelValue?.request?.model),1)])):m(``,!0),r.modelValue?.request?.size?(u(),t(`p`,yt,[o(T,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.size`))+`: `+l(r.modelValue?.request?.size),1)])):m(``,!0),r.showTaskType?(u(),t(`p`,bt,[o(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.task`))+`: `+l(r.taskTypeLabel),1)])):m(``,!0),n(`p`,xt,[o(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.taskId`))+`: `+l(r.modelValue?.id)+` `,1),o(E,{content:r.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),r.modelValue?.elapsed?(u(),t(`p`,St,[o(T,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.elapsed`))+`: `+l(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),r.modelValue?.response?.trace_id?(u(),t(`p`,Ct,[o(T,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.traceId`))+`: `+l(r.modelValue?.response?.trace_id)+` `,1),o(E,{content:r.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):m(``,!0)]),_:1})])):r.modelValue?.response?.success===!1?(u(),t(`div`,wt,[o(D,{closable:!1,class:`failure`},{template:g(()=>[o(T,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.failure`)),1)]),default:g(()=>[r.modelValue?.request?.model?(u(),t(`p`,Tt,[o(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.model`))+`: `+l(r.modelValue?.request?.model),1)])):m(``,!0),r.modelValue?.request?.size?(u(),t(`p`,Et,[o(T,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.size`))+`: `+l(r.modelValue?.request?.size),1)])):m(``,!0),r.showTaskType?(u(),t(`p`,Dt,[o(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.task`))+`: `+l(r.taskTypeLabel),1)])):m(``,!0),n(`p`,Ot,[o(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.taskId`))+`: `+l(r.modelValue?.id)+` `,1),o(E,{content:r.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),n(`p`,kt,[o(T,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.failureReason`))+`: `+l(r.modelValue?.response?.error?.message)+` `,1),o(E,{content:r.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),r.modelValue?.elapsed?(u(),t(`p`,At,[o(T,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.elapsed`))+`: `+l(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),r.modelValue?.response?.trace_id?(u(),t(`p`,jt,[o(T,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.traceId`))+`: `+l(r.modelValue?.response?.trace_id)+` `,1),o(E,{content:r.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):m(``,!0)]),_:1})])):(u(),t(`div`,Mt,[o(D,{closable:!1,class:`info`},{template:g(()=>[o(T,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.failure`)),1)]),default:g(()=>[r.modelValue?.request?.model?(u(),t(`p`,Nt,[o(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.model`))+`: `+l(r.modelValue?.request?.model),1)])):m(``,!0),r.modelValue?.request?.size?(u(),t(`p`,$,[o(T,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.size`))+`: `+l(r.modelValue?.request?.size),1)])):m(``,!0),r.showTaskType?(u(),t(`p`,Pt,[o(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.task`))+`: `+l(r.taskTypeLabel),1)])):m(``,!0),n(`p`,Ft,[o(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(r.$t(`openaiimage.name.taskId`))+`: `+l(r.modelValue?.id)+` `,1),o(E,{content:r.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var Lt=r({name:`RecentPanel`,components:{TaskPreview:z(at,[[`render`,It],[`__scopeId`,`data-v-8ee5fb87`]]),BotPlaceholder:ce,NoTasks:le,ScrollList:ae},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.openaiimage?.tasks,items:this.$store.state.openaiimage?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Rt={key:0},zt={key:2,class:`w-full h-full flex items-center justify-center`};function Bt(n,r,i,c,l,d){let f=h(`bot-placeholder`),p=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return u(),t(s,null,[n.tasks?.items===void 0?(u(),t(`div`,Rt,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(u(),a(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:n.loading,onReachTop:r[0]||=e=>n.$emit(`reach-top`)},{default:g(()=>[(u(!0),t(s,null,e(n.tasks?.items,e=>(u(),a(p,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),n.tasks?.items?.length===0?(u(),t(`div`,zt,[o(v)])):m(``,!0)],64)}var Vt=r({name:`OpenAIImageIndex`,components:{ConfigPanel:it,Layout:_e,RecentPanel:z(Lt,[[`render`,Bt]])},mixins:[V],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.openaiimage?.status?.getApplications===L.Request},tasksLoading(){return this.$store.state.openaiimage?.status?.getTasks===L.Request},credential(){return this.$store.state.openaiimage?.credential},config(){return this.$store.state.openaiimage?.config},application(){return this.$store.state.openaiimage?.application},tasks(){return this.$store.state.openaiimage?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await oe({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`openaiimage/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`openaiimage/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),await this.$store.dispatch(`openaiimage/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})},async onGenerate(){if(!U(this.uploadTracker,e=>this.$t(e),e=>R.warning(e)))return;let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;if(!this.hasText(e.prompt)){R.error(this.$t(`openaiimage.message.promptRequired`));return}e.prompt=e.prompt.trim(),!t&&`image_urls`in e&&delete e.image_urls,e.size||delete e.size;let n={...e,action:`generate`,async:!0},r={action:`edit`,model:e?.model,prompt:e?.prompt,size:e?.size,image_urls:e?.image_urls||[],async:!0},i=this.credential?.token;if(!i){console.error(`no token specified`);return}R.info(this.$t(`openaiimage.message.startingTask`)),W(`openaiimage`,t?G.edit(r,{token:i}):G.generate(n,{token:i})).then(e=>{console.debug(`task accepted`,e.data?.task_id),R.success(this.$t(`openaiimage.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?R.error(this.$t(`openaiimage.message.usedUp`)):R.error(this.$t(`openaiimage.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function Ht(e,t,n,r,i,s){let c=h(`config-panel`),l=h(`recent-panel`),d=h(`layout`);return u(),a(d,null,{config:g(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:g(()=>[o(l,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Ut=z(Vt,[[`render`,Ht]]);export{Ut as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Ut as c,Vt as l,Wt as u,Z as d,dt as f,et as p,k as m,tt as h,ut as g,v as _}from"./vendor-chart-BJCvKk8-.js";import{t as v}from"./button-BydTr5nV.js";import{r as y,t as b}from"./select-DM8Bzirg.js";import{t as x}from"./upload-jfXZIDu4.js";import{t as S}from"./tooltip-BxeH2Vts.js";import{t as C}from"./image-Dn4eZrUF.js";import{t as w}from"./alert-CuX4SjQB.js";import{t as T}from"./drawer-R6pcaap2.js";import{Ar as ee,Dr as E,Er as D,Mr as O,Nr as k,Or as te,Tr as A,kr as j}from"./constants-C0JMy8iD.js";import{Ar as M,Br as N,E as P,Ft as F,It as I,Lt as L,Nr as R,Pt as z,Wn as B,bn as V,zt as H}from"./index-C16UVAC9.js";import{t as U}from"./index.es-CLI7W8Vv.js";import{t as W}from"./CopyToClipboard-CskqkGUm.js";import{t as G}from"./ImagePreview-DzKPXc3w.js";import{n as K}from"./taskDrawerMixin-DEgO_R5H.js";import{t as q}from"./Consumption-C-z13GYK.js";import{t as J}from"./VideoPlayer-bPv62Af-.js";import{n as Y,t as X}from"./pagination-DQFmyST3.js";import{t as Z}from"./ApiCodeButton-i9bzfjls.js";import{t as Q}from"./BotPlaceholder-7XKnk0fa.js";import{t as ne}from"./NoTasks-Bccfp91M.js";import{t as re}from"./InfoIcon-CPx9NFYJ.js";import{t as ie}from"./PromptTextarea-CHTllNPE.js";var ae=r({name:`LayoutSora`,components:{ElDrawer:T,ElButton:v,FontAwesomeIcon:U},mixins:[K]}),oe={class:`main flex flex-row flex-1`},se={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ce={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function le(e,r,i,a,s,c){let l=h(`font-awesome-icon`),u=h(`el-button`),m=h(`el-drawer`);return d(),t(`div`,oe,[n(`div`,se,[p(e.$slots,`config`,{},void 0,!0)]),n(`div`,ce,[p(e.$slots,`result`,{},void 0,!0)]),f(o(u,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:g(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!e.tasksEmpty]]),o(m,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`350px`},{default:g(()=>[p(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ue=P(ae,[[`render`,le],[`__scopeId`,`data-v-531ab990`]]),de=r({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:k,label:`sora-2`},{value:O,label:`sora-2-pro`}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){let t=this.$store.state.sora?.config||{},n=A[e]||[10],r=t.duration,i=r&&n.includes(r)?r:n.includes(10)?10:n[0],a={...t,model:e,duration:i,size:t.size||`small`};this.$store.commit(`sora/setConfig`,a)}}},mounted(){this.value||=te}}),fe={class:`field`},pe={class:`title font-bold`};function me(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,fe,[n(`h2`,pe,u(r.$t(`sora.name.model`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`sora.placeholder.select`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var he=P(de,[[`render`,me],[`__scopeId`,`data-v-0cb7913d`]]),ge=r({name:`ActionSelector`,components:{ElSelect:y,ElOption:b},data(){return{}},computed:{options(){return[{value:`text2video`,label:this.$t(`sora.button.action1`)},{value:`image2video`,label:this.$t(`sora.button.action2`)}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit(`sora/setConfig`,{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||=E}}),_e={class:`field`},ve={class:`title font-bold`},ye={class:`float-left`};function be(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,_e,[n(`h2`,ve,u(r.$t(`sora.name.action`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`sora.placeholder.select`),clearable:``},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},{default:g(()=>[n(`span`,ye,u(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var xe=P(ge,[[`render`,be],[`__scopeId`,`data-v-7b82fa7f`]]),Se=r({name:`DurationSelector`,components:{ElSelect:y,ElOption:b},computed:{model(){return this.$store.state.sora?.config?.model||`sora-2`},allowedDurations(){return A[this.model]||[10]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){let t=this.$store.state.sora?.config||{};this.$store.commit(`sora/setConfig`,{...t,duration:e})}}},watch:{allowedDurations(){let e=this.allowedDurations;if(!e.includes(this.value)){let t=e.includes(10)?10:e[0];this.value=t}}},mounted(){this.value||=10}}),Ce={class:`field`},we={class:`control`},Te={class:`title font-bold`};function Ee(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,Ce,[n(`div`,we,[n(`h2`,Te,u(r.$t(`sora.name.duration`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`sora.placeholder.select`)},{default:g(()=>[(d(!0),t(s,null,e(r.optionsForModel,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var De=P(Se,[[`render`,Ee],[`__scopeId`,`data-v-c2934598`]]),Oe=r({name:`OrientationSelector`,data(){return{options:[{value:`portrait`,labelKey:`sora.option.portrait`,width:13,height:25},{value:`landscape`,labelKey:`sora.option.landscape`,width:25,height:13}]}},computed:{active(){let e=this.options.findIndex(e=>e.value===this.value);return e>=0?e:0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug(`set orientation`,e),this.$store.commit(`sora/setConfig`,{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||=j}}),ke={class:`text-sm font-bold mb-2 block`},Ae={class:`items`},je=[`onClick`],Me={class:`name`};function Ne(r,i,a,o,f,p){return d(),t(`div`,null,[n(`span`,ke,u(r.$t(`sora.name.orientation`)),1),n(`div`,Ae,[(d(!0),t(s,null,e(r.options,(e,i)=>(d(),t(`div`,{key:i,class:l({active:r.active===i,item:!0}),onClick:t=>r.value=e.value},[n(`div`,{class:l([`preview`,e.value])},[n(`div`,{class:`rect`,style:c({width:e.width+`px`,height:e.height+`px`})},null,4)],2),n(`p`,Me,u(r.$t(e.labelKey)),1)],10,je))),128))])])}var Pe=P(Oe,[[`render`,Ne],[`__scopeId`,`data-v-a20be6d9`]]),Fe=r({name:`StartEndImage`,components:{ElUpload:x,ElButton:v,InfoIcon:re,FontAwesomeIcon:U,ImagePreview:G},mixins:[L,F],emits:[`change`],data(){return{fileList:[],uploadUrl:R()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.sora?.config?.image_urls},set(){}}},mounted(){this.value||=void 0,this.onSetStartEndImageUrl()},methods:{onExceed(){N.warning(this.$t(`sora.message.uploadReferencesExceed`))},onError(){N.error(this.$t(`sora.message.uploadReferencesError`))},onSetStartEndImageUrl(){let e=this.urls;this.$store.commit(`sora/setConfig`,{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),Ie={class:`relative`},Le={class:`flex justify-between`},Re={class:`flex justify-start items-center`},ze={class:`text-sm font-bold`};function Be(e,r,s,c,l,f){let p=h(`info-icon`),_=h(`image-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return d(),t(`div`,Ie,[n(`div`,Le,[n(`div`,Re,[n(`span`,ze,u(e.$t(`sora.name.startEndImage`)),1),o(p,{content:e.$t(`sora.description.uploadStartEndImage`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:2,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:g(({file:t})=>[t.url&&t.percentage!==void 0?(d(),a(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):m(``,!0)]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+u(e.$t(`sora.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ve=P(Fe,[[`render`,Be],[`__scopeId`,`data-v-4f7d9ba5`]]),He=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),Ue=r({name:`SizeSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:D.map(e=>({value:e,label:He(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){let t=this.$store.state.sora?.config||{};this.$store.commit(`sora/setConfig`,{...t,size:e})}}},mounted(){this.value||=ee}}),We={class:`field`},Ge={class:`control`},Ke={class:`title font-bold`};function qe(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,We,[n(`div`,Ge,[n(`h2`,Ke,u(r.$t(`sora.name.size`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`sora.placeholder.select`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var Je=P(Ue,[[`render`,qe],[`__scopeId`,`data-v-8c485f0f`]]),Ye=r({name:`PromptInput`,components:{PromptTextarea:ie},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){this.$store.commit(`sora/setConfig`,{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Xe(e,t,n,r,i,o){let s=h(`prompt-textarea`);return d(),a(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`sora.name.prompt`),info:e.$t(`sora.description.prompt`),placeholder:e.$t(`sora.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ze=r({name:`ConfigPanel`,components:{ElButton:v,Consumption:q,FontAwesomeIcon:U,PromptInput:P(Ye,[[`render`,Xe]]),ModelSelector:he,StartEndImage:Ve,SizeSelector:Je,ActionSelector:xe,OrientationSelector:Pe,DurationSelector:De},emits:[`generate`],computed:{config(){return this.$store.state.sora?.config},consumption(){return H(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Qe={class:`flex flex-col h-full`},$e={class:`flex-1 overflow-y-auto p-5`},et={class:`flex flex-col items-center justify-center px-5 pb-5`};function tt(e,r,a,s,c,l){let p=h(`model-selector`),m=h(`action-selector`),v=h(`duration-selector`),y=h(`size-selector`),b=h(`orientation-selector`),x=h(`prompt-input`),S=h(`start-end-image`),C=h(`consumption`),w=h(`font-awesome-icon`),T=h(`el-button`);return d(),t(`div`,Qe,[n(`div`,$e,[o(p,{class:`mb-4`}),o(m,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-4`}),o(x,{class:`mb-4`}),f(o(S,{class:`mb-2`},null,512),[[_,e.config?.action===`image2video`]])]),n(`div`,et,[o(C,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(T,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+u(e.$t(`sora.button.generate`)),1)]),_:1},8,[`onClick`])])])}var nt=P(Ze,[[`render`,tt]]),rt=r({name:`TaskPreview`,components:{ElImage:C,CopyToClipboard:W,FontAwesomeIcon:U,ElAlert:w,VideoPlayer:J,ElTooltip:S,ElButton:v,ApiCodeButton:Z},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),it={class:`preview`},at={class:`left`},ot={class:`main`},st={class:`bot`},ct={class:`datetime`},lt={class:`info`},ut={key:0,class:`prompt mt-2`},dt={key:0},ft={key:1},pt={key:0,class:l({content:!0,failed:!0})},mt={key:0,class:`mb-4`},ht={key:1,class:l({operations:!0,"mt-2":!0})},gt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_t={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},yt={key:1,class:l({content:!0})},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},bt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ct={key:2,class:l({content:!0})},wt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Tt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Et(e,r,s,c,l,f){let p=h(`el-image`),_=h(`video-player`),v=h(`el-button`),y=h(`el-tooltip`),b=h(`api-code-button`),x=h(`font-awesome-icon`),S=h(`copy-to-clipboard`),C=h(`el-alert`);return d(),t(`div`,it,[n(`div`,at,[o(p,{src:`https://cdn.acedata.cloud/z5id1u.png`,class:`avatar`})]),n(`div`,ot,[n(`div`,st,[i(u(e.$t(`sora.name.soraBot`))+` `,1),n(`span`,ct,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,lt,[e.modelValue?.request?.prompt?(d(),t(`p`,ut,[i(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?m(``,!0):(d(),t(`span`,dt,` - (`+u(e.$t(`sora.status.pending`))+`) `,1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state===`pending`?(d(),t(`span`,ft,` - (`+u(e.$t(`sora.status.processing`))+`) `,1)):m(``,!0)])):m(``,!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(d(),t(`div`,pt,[e.modelValue?.response?.data[0]?.video_url?(d(),t(`div`,mt,[o(_,{src:e.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):m(``,!0),e.modelValue?.response.success?(d(),t(`div`,ht,[o(y,{class:`box-item`,effect:`dark`,content:e.$t(`sora.message.downloadVideo`),placement:`top-start`},{default:g(()=>[e.modelValue?.response?.data[0]?.video_url?(d(),a(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:r[0]||=t=>e.onDownload(t,e.modelValue?.response?.data[0]?.video_url)},{default:g(()=>[i(u(e.$t(`sora.button.download`)),1)]),_:1})):m(``,!0)]),_:1},8,[`content`]),o(b,{path:`/sora/videos`,body:e.modelValue?.request},null,8,[`body`])])):m(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:g(()=>[n(`p`,gt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.model`))+`: `+u(e.modelValue?.request?.model),1)]),n(`p`,_t,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),t(`p`,vt,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0)]),_:1})])):m(``,!0),e.modelValue?.response?.success===!1?(d(),t(`div`,yt,[o(C,{closable:!1,class:`failure`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.failure`)),1)]),default:g(()=>[n(`p`,$,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),n(`p`,bt,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(d(),t(`p`,xt,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),e.modelValue?.response?.trace_id?(d(),t(`p`,St,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):m(``,!0)]),_:1})])):m(``,!0),e.modelValue?.response?.success===void 0?(d(),t(`div`,Ct,[o(C,{closable:!1,class:`info`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.failure`)),1)]),default:g(()=>[n(`p`,wt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.response?.trace_id?(d(),t(`p`,Tt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):m(``,!0)]),_:1})])):m(``,!0)])])}var Dt=r({name:`RecentPanel`,components:{TaskPreview:P(rt,[[`render`,Et],[`__scopeId`,`data-v-564d52e9`]]),NoTasks:ne,BotPlaceholder:Q,ScrollList:Y},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ot={key:0},kt={key:2,class:`w-full h-full flex items-center justify-center`};function At(n,r,i,c,l,u){let f=h(`bot-placeholder`),p=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return d(),t(s,null,[n.tasks?.items===void 0?(d(),t(`div`,Ot,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(d(),a(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:n.loading,onReachTop:r[0]||=e=>n.$emit(`reach-top`)},{default:g(()=>[(d(!0),t(s,null,e(n.tasks?.items,(e,t)=>(d(),a(p,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),n.tasks?.items?.length===0?(d(),t(`div`,kt,[o(v)])):m(``,!0)],64)}var jt=r({name:`SoraIndex`,components:{ConfigPanel:nt,Layout:ue,RecentPanel:P(Dt,[[`render`,At]])},mixins:[I],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===M.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===M.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await X({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`sora/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`sora/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`sora/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!z(this.uploadTracker,e=>this.$t(e),e=>N.warning(e)))return;let e={...this.config,async:!0},t=this.credential?.token;if(!t){console.error(`no token specified`);return}N.info(this.$t(`sora.message.startingTask`)),B(`sora`,V.generate(e,{token:t})).then(()=>{N.success(this.$t(`sora.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?N.error(this.$t(`sora.message.usedUp`)):N.error(this.$t(`sora.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Mt(e,t,n,r,i,s){let c=h(`config-panel`),l=h(`recent-panel`),u=h(`layout`);return d(),a(u,null,{config:g(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:g(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Nt=P(jt,[[`render`,Mt]]);export{Nt as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Ut as c,Vt as l,Wt as u,Z as d,dt as f,et as p,k as m,tt as h,ut as g,v as _}from"./vendor-chart-BJCvKk8-.js";import{t as v}from"./button-BydTr5nV.js";import{r as y,t as b}from"./select-BvQYOmI2.js";import{t as x}from"./upload-DPeZOsKX.js";import{t as S}from"./tooltip-BxeH2Vts.js";import{t as C}from"./image-cD_rczcG.js";import{t as w}from"./alert-CuX4SjQB.js";import{t as T}from"./drawer-R6pcaap2.js";import{Ar as ee,Dr as E,Er as D,Mr as O,Nr as k,Or as te,Tr as A,kr as j}from"./constants-C0JMy8iD.js";import{Ar as M,Br as N,E as P,Ft as F,It as I,Lt as L,Nr as R,Pt as z,Wn as B,bn as V,zt as H}from"./index-BFMUZID8.js";import{t as U}from"./index.es-BxSKbWOt.js";import{t as W}from"./CopyToClipboard-BL1mORNs.js";import{t as G}from"./ImagePreview-zIkpquFk.js";import{n as K}from"./taskDrawerMixin-DEgO_R5H.js";import{t as q}from"./Consumption-D95jv4pS.js";import{t as J}from"./VideoPlayer-UsP-0qkV.js";import{n as Y,t as X}from"./pagination-YjZU0Dg4.js";import{t as Z}from"./ApiCodeButton-DQxU3p1V.js";import{t as Q}from"./BotPlaceholder-DvPHgYBu.js";import{t as ne}from"./NoTasks-C9K3EXND.js";import{t as re}from"./InfoIcon-BBrKSUP1.js";import{t as ie}from"./PromptTextarea-BUwjXqO4.js";var ae=r({name:`LayoutSora`,components:{ElDrawer:T,ElButton:v,FontAwesomeIcon:U},mixins:[K]}),oe={class:`main flex flex-row flex-1`},se={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ce={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function le(e,r,i,a,s,c){let l=h(`font-awesome-icon`),u=h(`el-button`),m=h(`el-drawer`);return d(),t(`div`,oe,[n(`div`,se,[p(e.$slots,`config`,{},void 0,!0)]),n(`div`,ce,[p(e.$slots,`result`,{},void 0,!0)]),f(o(u,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:g(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!e.tasksEmpty]]),o(m,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`350px`},{default:g(()=>[p(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ue=P(ae,[[`render`,le],[`__scopeId`,`data-v-531ab990`]]),de=r({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:k,label:`sora-2`},{value:O,label:`sora-2-pro`}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){let t=this.$store.state.sora?.config||{},n=A[e]||[10],r=t.duration,i=r&&n.includes(r)?r:n.includes(10)?10:n[0],a={...t,model:e,duration:i,size:t.size||`small`};this.$store.commit(`sora/setConfig`,a)}}},mounted(){this.value||=te}}),fe={class:`field`},pe={class:`title font-bold`};function me(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,fe,[n(`h2`,pe,u(r.$t(`sora.name.model`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`sora.placeholder.select`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var he=P(de,[[`render`,me],[`__scopeId`,`data-v-0cb7913d`]]),ge=r({name:`ActionSelector`,components:{ElSelect:y,ElOption:b},data(){return{}},computed:{options(){return[{value:`text2video`,label:this.$t(`sora.button.action1`)},{value:`image2video`,label:this.$t(`sora.button.action2`)}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit(`sora/setConfig`,{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||=E}}),_e={class:`field`},ve={class:`title font-bold`},ye={class:`float-left`};function be(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,_e,[n(`h2`,ve,u(r.$t(`sora.name.action`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`sora.placeholder.select`),clearable:``},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},{default:g(()=>[n(`span`,ye,u(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var xe=P(ge,[[`render`,be],[`__scopeId`,`data-v-7b82fa7f`]]),Se=r({name:`DurationSelector`,components:{ElSelect:y,ElOption:b},computed:{model(){return this.$store.state.sora?.config?.model||`sora-2`},allowedDurations(){return A[this.model]||[10]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){let t=this.$store.state.sora?.config||{};this.$store.commit(`sora/setConfig`,{...t,duration:e})}}},watch:{allowedDurations(){let e=this.allowedDurations;if(!e.includes(this.value)){let t=e.includes(10)?10:e[0];this.value=t}}},mounted(){this.value||=10}}),Ce={class:`field`},we={class:`control`},Te={class:`title font-bold`};function Ee(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,Ce,[n(`div`,we,[n(`h2`,Te,u(r.$t(`sora.name.duration`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`sora.placeholder.select`)},{default:g(()=>[(d(!0),t(s,null,e(r.optionsForModel,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var De=P(Se,[[`render`,Ee],[`__scopeId`,`data-v-c2934598`]]),Oe=r({name:`OrientationSelector`,data(){return{options:[{value:`portrait`,labelKey:`sora.option.portrait`,width:13,height:25},{value:`landscape`,labelKey:`sora.option.landscape`,width:25,height:13}]}},computed:{active(){let e=this.options.findIndex(e=>e.value===this.value);return e>=0?e:0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug(`set orientation`,e),this.$store.commit(`sora/setConfig`,{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||=j}}),ke={class:`text-sm font-bold mb-2 block`},Ae={class:`items`},je=[`onClick`],Me={class:`name`};function Ne(r,i,a,o,f,p){return d(),t(`div`,null,[n(`span`,ke,u(r.$t(`sora.name.orientation`)),1),n(`div`,Ae,[(d(!0),t(s,null,e(r.options,(e,i)=>(d(),t(`div`,{key:i,class:l({active:r.active===i,item:!0}),onClick:t=>r.value=e.value},[n(`div`,{class:l([`preview`,e.value])},[n(`div`,{class:`rect`,style:c({width:e.width+`px`,height:e.height+`px`})},null,4)],2),n(`p`,Me,u(r.$t(e.labelKey)),1)],10,je))),128))])])}var Pe=P(Oe,[[`render`,Ne],[`__scopeId`,`data-v-a20be6d9`]]),Fe=r({name:`StartEndImage`,components:{ElUpload:x,ElButton:v,InfoIcon:re,FontAwesomeIcon:U,ImagePreview:G},mixins:[L,F],emits:[`change`],data(){return{fileList:[],uploadUrl:R()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.sora?.config?.image_urls},set(){}}},mounted(){this.value||=void 0,this.onSetStartEndImageUrl()},methods:{onExceed(){N.warning(this.$t(`sora.message.uploadReferencesExceed`))},onError(){N.error(this.$t(`sora.message.uploadReferencesError`))},onSetStartEndImageUrl(){let e=this.urls;this.$store.commit(`sora/setConfig`,{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),Ie={class:`relative`},Le={class:`flex justify-between`},Re={class:`flex justify-start items-center`},ze={class:`text-sm font-bold`};function Be(e,r,s,c,l,f){let p=h(`info-icon`),_=h(`image-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return d(),t(`div`,Ie,[n(`div`,Le,[n(`div`,Re,[n(`span`,ze,u(e.$t(`sora.name.startEndImage`)),1),o(p,{content:e.$t(`sora.description.uploadStartEndImage`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:2,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:g(({file:t})=>[t.url&&t.percentage!==void 0?(d(),a(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):m(``,!0)]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+u(e.$t(`sora.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ve=P(Fe,[[`render`,Be],[`__scopeId`,`data-v-4f7d9ba5`]]),He=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),Ue=r({name:`SizeSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:D.map(e=>({value:e,label:He(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){let t=this.$store.state.sora?.config||{};this.$store.commit(`sora/setConfig`,{...t,size:e})}}},mounted(){this.value||=ee}}),We={class:`field`},Ge={class:`control`},Ke={class:`title font-bold`};function qe(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,We,[n(`div`,Ge,[n(`h2`,Ke,u(r.$t(`sora.name.size`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`sora.placeholder.select`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var Je=P(Ue,[[`render`,qe],[`__scopeId`,`data-v-8c485f0f`]]),Ye=r({name:`PromptInput`,components:{PromptTextarea:ie},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){this.$store.commit(`sora/setConfig`,{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Xe(e,t,n,r,i,o){let s=h(`prompt-textarea`);return d(),a(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`sora.name.prompt`),info:e.$t(`sora.description.prompt`),placeholder:e.$t(`sora.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ze=r({name:`ConfigPanel`,components:{ElButton:v,Consumption:q,FontAwesomeIcon:U,PromptInput:P(Ye,[[`render`,Xe]]),ModelSelector:he,StartEndImage:Ve,SizeSelector:Je,ActionSelector:xe,OrientationSelector:Pe,DurationSelector:De},emits:[`generate`],computed:{config(){return this.$store.state.sora?.config},consumption(){return H(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Qe={class:`flex flex-col h-full`},$e={class:`flex-1 overflow-y-auto p-5`},et={class:`flex flex-col items-center justify-center px-5 pb-5`};function tt(e,r,a,s,c,l){let p=h(`model-selector`),m=h(`action-selector`),v=h(`duration-selector`),y=h(`size-selector`),b=h(`orientation-selector`),x=h(`prompt-input`),S=h(`start-end-image`),C=h(`consumption`),w=h(`font-awesome-icon`),T=h(`el-button`);return d(),t(`div`,Qe,[n(`div`,$e,[o(p,{class:`mb-4`}),o(m,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-4`}),o(x,{class:`mb-4`}),f(o(S,{class:`mb-2`},null,512),[[_,e.config?.action===`image2video`]])]),n(`div`,et,[o(C,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(T,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+u(e.$t(`sora.button.generate`)),1)]),_:1},8,[`onClick`])])])}var nt=P(Ze,[[`render`,tt]]),rt=r({name:`TaskPreview`,components:{ElImage:C,CopyToClipboard:W,FontAwesomeIcon:U,ElAlert:w,VideoPlayer:J,ElTooltip:S,ElButton:v,ApiCodeButton:Z},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),it={class:`preview`},at={class:`left`},ot={class:`main`},st={class:`bot`},ct={class:`datetime`},lt={class:`info`},ut={key:0,class:`prompt mt-2`},dt={key:0},ft={key:1},pt={key:0,class:l({content:!0,failed:!0})},mt={key:0,class:`mb-4`},ht={key:1,class:l({operations:!0,"mt-2":!0})},gt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_t={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},yt={key:1,class:l({content:!0})},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},bt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ct={key:2,class:l({content:!0})},wt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Tt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Et(e,r,s,c,l,f){let p=h(`el-image`),_=h(`video-player`),v=h(`el-button`),y=h(`el-tooltip`),b=h(`api-code-button`),x=h(`font-awesome-icon`),S=h(`copy-to-clipboard`),C=h(`el-alert`);return d(),t(`div`,it,[n(`div`,at,[o(p,{src:`https://cdn.acedata.cloud/z5id1u.png`,class:`avatar`})]),n(`div`,ot,[n(`div`,st,[i(u(e.$t(`sora.name.soraBot`))+` `,1),n(`span`,ct,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,lt,[e.modelValue?.request?.prompt?(d(),t(`p`,ut,[i(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?m(``,!0):(d(),t(`span`,dt,` - (`+u(e.$t(`sora.status.pending`))+`) `,1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state===`pending`?(d(),t(`span`,ft,` - (`+u(e.$t(`sora.status.processing`))+`) `,1)):m(``,!0)])):m(``,!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(d(),t(`div`,pt,[e.modelValue?.response?.data[0]?.video_url?(d(),t(`div`,mt,[o(_,{src:e.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):m(``,!0),e.modelValue?.response.success?(d(),t(`div`,ht,[o(y,{class:`box-item`,effect:`dark`,content:e.$t(`sora.message.downloadVideo`),placement:`top-start`},{default:g(()=>[e.modelValue?.response?.data[0]?.video_url?(d(),a(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:r[0]||=t=>e.onDownload(t,e.modelValue?.response?.data[0]?.video_url)},{default:g(()=>[i(u(e.$t(`sora.button.download`)),1)]),_:1})):m(``,!0)]),_:1},8,[`content`]),o(b,{path:`/sora/videos`,body:e.modelValue?.request},null,8,[`body`])])):m(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:g(()=>[n(`p`,gt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.model`))+`: `+u(e.modelValue?.request?.model),1)]),n(`p`,_t,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),t(`p`,vt,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0)]),_:1})])):m(``,!0),e.modelValue?.response?.success===!1?(d(),t(`div`,yt,[o(C,{closable:!1,class:`failure`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.failure`)),1)]),default:g(()=>[n(`p`,$,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),n(`p`,bt,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(d(),t(`p`,xt,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),e.modelValue?.response?.trace_id?(d(),t(`p`,St,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):m(``,!0)]),_:1})])):m(``,!0),e.modelValue?.response?.success===void 0?(d(),t(`div`,Ct,[o(C,{closable:!1,class:`info`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.failure`)),1)]),default:g(()=>[n(`p`,wt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.response?.trace_id?(d(),t(`p`,Tt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):m(``,!0)]),_:1})])):m(``,!0)])])}var Dt=r({name:`RecentPanel`,components:{TaskPreview:P(rt,[[`render`,Et],[`__scopeId`,`data-v-564d52e9`]]),NoTasks:ne,BotPlaceholder:Q,ScrollList:Y},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ot={key:0},kt={key:2,class:`w-full h-full flex items-center justify-center`};function At(n,r,i,c,l,u){let f=h(`bot-placeholder`),p=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return d(),t(s,null,[n.tasks?.items===void 0?(d(),t(`div`,Ot,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(d(),a(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:n.loading,onReachTop:r[0]||=e=>n.$emit(`reach-top`)},{default:g(()=>[(d(!0),t(s,null,e(n.tasks?.items,(e,t)=>(d(),a(p,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),n.tasks?.items?.length===0?(d(),t(`div`,kt,[o(v)])):m(``,!0)],64)}var jt=r({name:`SoraIndex`,components:{ConfigPanel:nt,Layout:ue,RecentPanel:P(Dt,[[`render`,At]])},mixins:[I],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===M.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===M.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await X({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`sora/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`sora/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`sora/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!z(this.uploadTracker,e=>this.$t(e),e=>N.warning(e)))return;let e={...this.config,async:!0},t=this.credential?.token;if(!t){console.error(`no token specified`);return}N.info(this.$t(`sora.message.startingTask`)),B(`sora`,V.generate(e,{token:t})).then(()=>{N.success(this.$t(`sora.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?N.error(this.$t(`sora.message.usedUp`)):N.error(this.$t(`sora.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Mt(e,t,n,r,i,s){let c=h(`config-panel`),l=h(`recent-panel`),u=h(`layout`);return d(),a(u,null,{config:g(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:g(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Nt=P(jt,[[`render`,Mt]]);export{Nt as default};
|