@acedatacloud/nexior 3.25.2 → 3.25.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/assets/{Auth-uEaTvgIG.js → Auth-BAVRMp6L.js} +1 -1
  2. package/dist/assets/{BotPlaceholder-CWIWz7Gv.js → BotPlaceholder-CtFILLeB.js} +1 -1
  3. package/dist/assets/{Callback-DeogbX_Z.js → Callback-DpIM_838.js} +1 -1
  4. package/dist/assets/{Console-DVy8L3h3.js → Console-CDJURLxP.js} +1 -1
  5. package/dist/assets/{Conversation-Bq-Is833.js → Conversation-D_P8GMTY.js} +2 -2
  6. package/dist/assets/{CopyToClipboard-BaNpbWBZ.js → CopyToClipboard-CKnPT0Yy.js} +1 -1
  7. package/dist/assets/{Detail-CupfVvNT.js → Detail-Cim8PyGl.js} +1 -1
  8. package/dist/assets/{EditArray-D56-95ng.js → EditArray-DHQtoDhh.js} +1 -1
  9. package/dist/assets/{Extra-BF8dUGzC.js → Extra-CjYvGoiS.js} +1 -1
  10. package/dist/assets/{FilePreview-OF0R4eHf.js → FilePreview-KrsId5y0.js} +1 -1
  11. package/dist/assets/{History-C8lzpKpg.js → History-FGagPbIH.js} +1 -1
  12. package/dist/assets/{ImagePreview-B9AiNOkr.js → ImagePreview-C3EplpU3.js} +1 -1
  13. package/dist/assets/{ImageWrapper-CxP_Xv7_.js → ImageWrapper-B0Hctn8N.js} +1 -1
  14. package/dist/assets/{Index-aLG14e34.js → Index-BEzQfqZW.js} +1 -1
  15. package/dist/assets/Index-BoUh8rE4.js +1 -0
  16. package/dist/assets/{Index-CYb4mBk-.js → Index-CPOeHkg3.js} +1 -1
  17. package/dist/assets/{Index-BuZyLDaH.js → Index-CYAU948Y.js} +1 -1
  18. package/dist/assets/{Index-GSNorvTQ.js → Index-Cm4W7u2z.js} +1 -1
  19. package/dist/assets/{Index-GRmuvl1O.js → Index-CyMW6_MG.js} +1 -1
  20. package/dist/assets/{Index-DMlsiz-D.js → Index-CyrPGsQw.js} +1 -1
  21. package/dist/assets/{Index-BceVb1yY.js → Index-CzWh3OHC.js} +1 -1
  22. package/dist/assets/{Index-BbZJL92i.js → Index-D0PkMT8b.js} +1 -1
  23. package/dist/assets/{Index-H2tBAlzy.css → Index-D7WrHku9.css} +1 -1
  24. package/dist/assets/{Index-BpclUPkG.js → Index-DXpUSliV.js} +1 -1
  25. package/dist/assets/{Index-ChyPCxhS.js → Index-Ef7vPll2.js} +1 -1
  26. package/dist/assets/{Index-CCBAqPjz.js → Index-IRicAOyv.js} +1 -1
  27. package/dist/assets/{Index-CXln4m8b.js → Index-O4780d4s.js} +1 -1
  28. package/dist/assets/{Index-D4Mg8ioS.js → Index-QED7V_pF.js} +1 -1
  29. package/dist/assets/{Index-BvvIHasV.js → Index-b3bFQjNF.js} +1 -1
  30. package/dist/assets/{Index-QKJc2d4a.js → Index-rqyiXP2a.js} +1 -1
  31. package/dist/assets/{Invitees-Cqd-IJvM.js → Invitees-DlL3K0F2.js} +1 -1
  32. package/dist/assets/{List-BG6SK2bv.js → List-BAG6RXL7.js} +1 -1
  33. package/dist/assets/{List-CNIIIa2p.js → List-C0b_eaw4.js} +1 -1
  34. package/dist/assets/{List-BD_W29o7.js → List-Ccd3AMjw.js} +1 -1
  35. package/dist/assets/{Login-SbUGPFRV.js → Login-BQpldml9.js} +1 -1
  36. package/dist/assets/{Main-Cx7zMhzU.js → Main-Dao43QYb.js} +1 -1
  37. package/dist/assets/{Navigator-BvURz3Ii.js → Navigator-MlLx66A3.js} +1 -1
  38. package/dist/assets/{NoTasks-LBG69HXd.js → NoTasks-DQ7pIoDL.js} +1 -1
  39. package/dist/assets/{Pagination-DuQkmlmU.js → Pagination-BeOOFcDV.js} +1 -1
  40. package/dist/assets/{ScrollList-Da5H8n1W.js → ScrollList-C4AvmP4t.js} +1 -1
  41. package/dist/assets/{Status-DLLXrg8C.js → Status-vZ1rQ3lN.js} +1 -1
  42. package/dist/assets/{Subscribe-C8pwHU9y.js → Subscribe-D_qxrpO3.js} +1 -1
  43. package/dist/assets/{VideoPlayer-1sMyrvvI.js → VideoPlayer-DY5ni_KU.js} +1 -1
  44. package/dist/assets/{_baseClone-BMdvC2Mn.js → _baseClone-DLKkk350.js} +1 -1
  45. package/dist/assets/{_baseIteratee-DChJIcFX.js → _baseIteratee-h4YesYRm.js} +1 -1
  46. package/dist/assets/{_initCloneObject-DbztCTz9.js → _initCloneObject-x8T6HgBa.js} +1 -1
  47. package/dist/assets/{castArray-DeMftDkR.js → castArray-BE-37zzM.js} +1 -1
  48. package/dist/assets/{debounce-VZSmCnjc.js → debounce-jV-EFVoU.js} +1 -1
  49. package/dist/assets/{distribution-BhtEnCdU.js → distribution-CQdKw898.js} +1 -1
  50. package/dist/assets/{dropdown-Zkpj2dmg.js → dropdown-0eUq7NmC.js} +1 -1
  51. package/dist/assets/{index-YkYnrHwJ.js → index-B5XgLesb.js} +1 -1
  52. package/dist/assets/{index-D3JIjilD.js → index-BC-mE-tS.js} +1 -1
  53. package/dist/assets/{index-DocBcnBZ.js → index-BCjzbT-b.js} +1 -1
  54. package/dist/assets/{index-mzmwNl_7.js → index-BEyVHt6t.js} +1 -1
  55. package/dist/assets/{index-CBjH-ba3.js → index-BMPWNh9b.js} +1 -1
  56. package/dist/assets/{index-37AxtFjF.js → index-Bc_Nx_id.js} +1 -1
  57. package/dist/assets/{index-BdosEN9l.js → index-BfF_0NJH.js} +1 -1
  58. package/dist/assets/{index-DM378UJ5.js → index-BgXxVbPA.js} +1 -1
  59. package/dist/assets/{index-YThWA6RB.js → index-Bho_18eF.js} +1 -1
  60. package/dist/assets/{index-CStoqsn2.js → index-CJ7_cRvg.js} +1 -1
  61. package/dist/assets/{index-C-3cQPP1.js → index-CMw1UhQp.js} +1 -1
  62. package/dist/assets/{index-De2Qy988.js → index-CkVl7iBl.js} +1 -1
  63. package/dist/assets/{index-Te4f4sQ1.js → index-ColRDeFN.js} +1 -1
  64. package/dist/assets/{index-D0WBECq3.js → index-Ctzntth0.js} +1 -1
  65. package/dist/assets/{index-BWP7r6hW.js → index-Cw9L-zKb.js} +1 -1
  66. package/dist/assets/{index-CnT57L09.js → index-D6ExfvwJ.js} +1 -1
  67. package/dist/assets/{index-Cs4PWpId.js → index-DA6TtE0k.js} +1 -1
  68. package/dist/assets/{index-b8eWDndR.js → index-DNGtZjAF.js} +1 -1
  69. package/dist/assets/{index-CMszY_K9.js → index-Di3ATEOn.js} +1 -1
  70. package/dist/assets/{index-D1FLNvCi.js → index-Dnu2OPRk.js} +2 -2
  71. package/dist/assets/{index-BsqHMnHM.js → index-DrVAEdYb.js} +1 -1
  72. package/dist/assets/{index-D9pvcimv.js → index-EfId_jUB.js} +1 -1
  73. package/dist/assets/{index-3NYwkLyG.js → index-HtOPMbaD.js} +1 -1
  74. package/dist/assets/{index-DYnnhtAJ.js → index-IoPWd1CW.js} +1 -1
  75. package/dist/assets/{index-Hs3vNnfT.js → index-QURzAjz3.js} +1 -1
  76. package/dist/assets/{index-CiHUKD8b.js → index-YQkAS5Xe.js} +1 -1
  77. package/dist/assets/{index-KgukxKxV.js → index-ic1fhPbo.js} +1 -1
  78. package/dist/assets/{index-mx0WSQ4c.js → index-qutB5SLT.js} +1 -1
  79. package/dist/assets/{index-Ku6Sz2EJ.js → index-sdnXBDq8.js} +1 -1
  80. package/dist/assets/{index--7ePKMSn.js → index-tefvU5dL.js} +1 -1
  81. package/dist/assets/{index.es-luG_1liH.js → index.es-DYon9dPn.js} +1 -1
  82. package/dist/assets/{isEqual-DLFFes9f.js → isEqual-DKKEkL9d.js} +1 -1
  83. package/dist/assets/{isPlainObject-DmCe5CCK.js → isPlainObject-CJztbzXj.js} +1 -1
  84. package/dist/assets/{order-Bb5Mw26J.js → order-DK-NCLNt.js} +1 -1
  85. package/dist/assets/{pagination-D0-pgnZd.js → pagination-CbSBe_dl.js} +1 -1
  86. package/dist/assets/{price-D62LsAs8.js → price-C1dIgmfP.js} +1 -1
  87. package/dist/assets/{strings-MRnF76Oy.js → strings-BehOGHwd.js} +1 -1
  88. package/dist/assets/{typescript-BOpWBj_W.js → typescript-DcpNvO9f.js} +1 -1
  89. package/dist/assets/{use-form-item-o9ewPWuR.js → use-form-item-lM5U-69n.js} +1 -1
  90. package/dist/index.html +1 -1
  91. package/package.json +1 -1
  92. package/dist/assets/Index-B4kwXaJe.js +0 -1
@@ -1 +0,0 @@
1
- import{F as U}from"./index.es-luG_1liH.js";import{E as C}from"./index-D3JIjilD.js";import{E as W}from"./index-CiHUKD8b.js";import{d as k,h as y,b as l,t as c,k as o,r as P,j as $,l as s,o as a,x as n,cf as H,D as p,F as A,v as E,i as V,fs as x,ft as K,fu as S,fv as T,fw as j,fx as M,fy as D,y as b,n as O,aq as J,fz as Q,dN as X,dJ as F}from"./index-D1FLNvCi.js";import{I as q,S as Y}from"./ScrollList-Da5H8n1W.js";import{E as Z}from"./index-YkYnrHwJ.js";import{I as z}from"./ImagePreview-B9AiNOkr.js";import{E as ee}from"./index-DocBcnBZ.js";import{E as I}from"./index--7ePKMSn.js";import{E as B,a as G}from"./index-mx0WSQ4c.js";import{C as te,N as oe}from"./NoTasks-LBG69HXd.js";import{a as ne}from"./price-D62LsAs8.js";import{C as ae}from"./CopyToClipboard-BaNpbWBZ.js";import{I as se}from"./ImageWrapper-CxP_Xv7_.js";import{E as le}from"./index-CnT57L09.js";import{E as re}from"./index-De2Qy988.js";import{E as ie}from"./index-3NYwkLyG.js";import{B as ce}from"./BotPlaceholder-CWIWz7Gv.js";import"./use-form-item-o9ewPWuR.js";import"./index-r5W6hzzQ.js";import"./typescript-BOpWBj_W.js";import"./index-YThWA6RB.js";import"./index-DM378UJ5.js";import"./index-b8eWDndR.js";import"./_baseClone-BMdvC2Mn.js";import"./_initCloneObject-DbztCTz9.js";import"./isEqual-DLFFes9f.js";import"./index-DYnnhtAJ.js";import"./strings-MRnF76Oy.js";import"./castArray-DeMftDkR.js";import"./debounce-VZSmCnjc.js";import"./_baseIteratee-DChJIcFX.js";import"./index-37AxtFjF.js";import"./index-CStoqsn2.js";const ue=k({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:C,FontAwesomeIcon:U},data(){return{drawer:!1}}}),de={class:"main flex flex-row flex-1"},me={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},pe={class:"result h-full p-[15px] flex-1 flex flex-col"};function fe(e,t,g,r,u,f){const h=s("font-awesome-icon"),_=s("el-button"),d=s("el-drawer");return a(),l("div",de,[c("div",me,[P(e.$slots,"config",{},void 0,!0)]),c("div",pe,[P(e.$slots,"result",{},void 0,!0)]),o(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=m=>e.drawer=!0)},{default:$(()=>[o(h,{icon:"fa-solid fa-magic"})]),_:1}),o(d,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=m=>e.drawer=m),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:$(()=>[P(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const he=y(ue,[["render",fe],["__scopeId","data-v-3794959b"]]),_e="",ge=k({name:"PromptInput",components:{ElInput:Z,InfoIcon:q},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=_e)}}),be={class:"field"},$e={class:"box"},ve={class:"title font-bold"};function ke(e,t,g,r,u,f){const h=s("info-icon"),_=s("el-input");return a(),l("div",be,[c("div",$e,[c("h2",ve,n(e.$t("nanobanana.name.prompt")),1),o(h,{content:e.$t("nanobanana.description.prompt"),class:"info"},null,8,["content"])]),o(_,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=d=>e.prompt=d),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("nanobanana.placeholder.prompt"),maxlength:300,"show-word-limit":""},null,8,["modelValue","placeholder"])])}const ye=y(ge,[["render",ke],["__scopeId","data-v-38b040ab"]]),we=k({name:"ImageUrlsInput",components:{ElUpload:ee,ElButton:C,InfoIcon:q,ImagePreview:z,FontAwesomeIcon:U},data(){return{fileList:[],uploadUrl:H()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const r=(this.fileList||[]).filter(u=>!u?.response?.file_url);this.fileList=r.length?r:[];return}const t=[];e.forEach(r=>{const u=this.fileList.find(f=>f?.response?.file_url===r||f?.url===r);u?t.push(u):t.push({name:r.split("/").pop()||r,url:r,status:"success",percentage:100,response:{file_url:r}})}),(this.fileList||[]).filter(r=>!r?.response?.file_url).forEach(r=>{t.some(f=>f===r||f?.url===r?.url||f?.response?.file_url===r?.response?.file_url)||t.push(r)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){I.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){I.error(this.$t("nanobanana.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ae={class:"field flex items-center justify-between"},Ve={class:"title font-bold text-[14px] mb-[10px]"},Ee={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Ne={class:"controls flex items-center"},Ie={class:"file-list flex flex-wrap gap-[10px]"};function Re(e,t,g,r,u,f){const h=s("font-awesome-icon"),_=s("el-button"),d=s("el-upload"),m=s("info-icon"),w=s("image-preview");return a(),l(A,null,[c("div",Ae,[c("h2",Ve,n(e.$t("nanobanana.name.imageUrls")),1),c("div",Ee,[c("div",Ne,[o(d,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=i=>e.fileList=i),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:$(()=>[o(_,{size:"small",type:"primary",round:""},{default:$(()=>[o(h,{icon:"fa-solid fa-upload",class:"mr-1"}),p(" "+n(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),o(m,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",Ie,[(a(!0),l(A,null,E(e.fileList,(i,v)=>(a(),V(w,{key:i.uid||i?.response?.file_url||i.url||v,url:i.url||i?.response?.file_url,name:i.name,percentage:i.percentage,onRemove:N=>e.onRemovePreview(v,i)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Le=y(we,[["render",Re]]),Te=k({name:"AspectRatioSelector",components:{ElSelect:G,ElOption:B},data(){return{options:["1:1","3:2","2:3","16:9","9:16","4:3","3:4"]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e);const t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit("nanobanana/setConfig",t)}}}}),Se={class:"field"},Ue={class:"title font-bold"};function Ce(e,t,g,r,u,f){const h=s("el-option"),_=s("el-select");return a(),l("div",Se,[c("h2",Ue,n(e.$t("nanobanana.name.aspectRatio")),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",clearable:"",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(a(!0),l(A,null,E(e.options,d=>(a(),V(h,{key:d,label:d,value:d},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Oe=y(Te,[["render",Ce],["__scopeId","data-v-67f08a08"]]),qe=k({name:"NanobananaModelSelector",components:{ElSelect:G,ElOption:B,InfoIcon:q},data(){return{options:[{value:K,label:this.$t("nanobanana.model.nanoBanana")},{value:S,label:this.$t("nanobanana.model.nanoBananaPro")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t("nanobanana.description.model")}},mounted(){this.value||(this.value=x)}}),Pe={class:"field"},Be={class:"label"},Ge={class:"box"},je={class:"title font-bold"};function Me(e,t,g,r,u,f){const h=s("info-icon"),_=s("el-option"),d=s("el-select");return a(),l("div",Pe,[c("div",Be,[c("div",Ge,[c("h2",je,n(e.$t("nanobanana.name.model")),1),o(h,{content:e.modelDescription,class:"info"},null,8,["content"])])]),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(a(!0),l(A,null,E(e.options,m=>(a(),V(_,{key:m.value,label:m.label,value:m.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const De=y(qe,[["render",Me],["__scopeId","data-v-e279ee32"]]),Fe=k({name:"NanobananaResolutionSelector",components:{ElSelect:G,ElOption:B,InfoIcon:q},data(){return{cachedResolution:T,options:[{value:j,label:j},{value:M,label:M},{value:D,label:D}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model===S}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||(this.value=this.cachedResolution||T):(this.value&&(this.cachedResolution=this.value),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=T),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),ze={class:"field"},We={class:"label"},He={class:"box"},xe={class:"title font-bold"};function Ke(e,t,g,r,u,f){const h=s("info-icon"),_=s("el-option"),d=s("el-select");return a(),l("div",ze,[c("div",We,[c("div",He,[c("h2",xe,n(e.$t("nanobanana.name.resolution")),1),o(h,{content:e.$t("nanobanana.description.resolutionProOnly"),class:"info"},null,8,["content"])])]),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:$(()=>[(a(!0),l(A,null,E(e.options,m=>(a(),V(_,{key:m.value,label:m.label,value:m.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const Je=y(Fe,[["render",Ke],["__scopeId","data-v-05ae87bb"]]),Qe=k({name:"ConfigPanel",components:{ElButton:C,FontAwesomeIcon:U,PromptInput:ye,Consumption:te,ImageUrlsInput:Le,AspectRatioSelector:Oe,ModelSelector:De,ResolutionSelector:Je},emits:["generate"],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return ne({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Xe={class:"flex flex-col h-full"},Ye={class:"flex-1 overflow-y-auto p-[15px]"},Ze={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function et(e,t,g,r,u,f){const h=s("model-selector"),_=s("resolution-selector"),d=s("prompt-input"),m=s("aspect-ratio-selector"),w=s("image-urls-input"),i=s("consumption"),v=s("font-awesome-icon"),N=s("el-button");return a(),l("div",Xe,[c("div",Ye,[o(h,{class:"mb-4"}),o(_,{class:"mb-4"}),o(d,{class:"mb-4"}),o(m,{class:"mb-4"}),o(w,{class:"mb-4"})]),c("div",Ze,[o(i,{value:e.consumption,service:e.service},null,8,["value","service"]),o(N,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:$(()=>[o(v,{icon:"fa-solid fa-magic",class:"mr-2"}),p(" "+n(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const tt=y(Qe,[["render",et]]),ot=k({name:"TaskPreview",components:{ElImage:ie,CopyToClipboard:ae,FontAwesomeIcon:U,ElAlert:re,ImageWrapper:se,ElButton:C,ElTooltip:le,ImagePreview:z},props:{modelValue:{type:Object,required:!0}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit("nanobanana/setConfig",t)}}}),nt={class:"preview"},at={class:"left"},st={class:"main"},lt={class:"bot"},rt={class:"datetime"},it={class:"info"},ct={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},ut={key:1,class:"prompt mt-2"},dt={key:0},mt={key:0,class:O({content:!0,failed:!0})},pt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},ft={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},ht={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},_t={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},vt={key:1,class:O({content:!0})},kt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Nt={key:2,class:O({content:!0})},It={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function St(e,t,g,r,u,f){const h=s("el-image"),_=s("image-preview"),d=s("image-wrapper"),m=s("el-button"),w=s("el-tooltip"),i=s("font-awesome-icon"),v=s("copy-to-clipboard"),N=s("el-alert");return a(),l("div",nt,[c("div",at,[o(h,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),c("div",st,[c("div",lt,[p(n(e.$t("nanobanana.name.nanobananaBot"))+" ",1),c("span",rt,n(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",it,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(a(),l("div",ct,[(a(!0),l(A,null,E(e.modelValue?.request?.image_urls,(R,L)=>(a(),V(_,{key:L,url:R,name:`image-${L+1}`,closable:!1},null,8,["url","name"]))),128))])):b("",!0),e.modelValue?.request?.prompt?(a(),l("p",ut,[p(n(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?b("",!0):(a(),l("span",dt," - ("+n(e.$t("nanobanana.status.pending"))+") ",1))])):b("",!0)]),e.modelValue?.response?.success===!0?(a(),l("div",mt,[c("div",pt,[(a(!0),l(A,null,E(e.images,(R,L)=>(a(),V(d,{key:L,src:R?.image_url,"raw-src":R?.image_url},null,8,["src","raw-src"]))),128))]),c("div",ft,[o(w,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:$(()=>[o(m,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=J(R=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:$(()=>[p(n(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(N,{closable:!1,class:"mt-2 success"},{default:$(()=>[e.modelValue?.request?.model?(a(),l("p",ht,[o(i,{icon:"fa-solid fa-cube",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.model"))+": "+n(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(a(),l("p",_t,[o(i,{icon:"fa-solid fa-image",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.resolution"))+": "+n(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.action?(a(),l("p",gt,[o(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.task"))+": "+n(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",bt,[o(i,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),l("p",$t,[o(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):b("",!0)]),_:1})])):b("",!0),e.modelValue?.response?.success===!1?(a(),l("div",vt,[o(N,{closable:!1,class:"failure"},{template:$(()=>[o(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(a(),l("p",kt,[o(i,{icon:"fa-solid fa-cube",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.model"))+": "+n(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(a(),l("p",yt,[o(i,{icon:"fa-solid fa-image",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.resolution"))+": "+n(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.action?(a(),l("p",wt,[o(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.task"))+": "+n(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",At,[o(i,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",Vt,[o(i,{icon:"fa-solid fa-circle-info",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.failureReason"))+": "+n(e.modelValue?.response?.error?.message)+" ",1),o(v,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),l("p",Et,[o(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):b("",!0)]),_:1})])):b("",!0),e.modelValue?.response?b("",!0):(a(),l("div",Nt,[o(N,{closable:!1,class:"info"},{template:$(()=>[o(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(a(),l("p",It,[o(i,{icon:"fa-solid fa-cube",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.model"))+": "+n(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(a(),l("p",Rt,[o(i,{icon:"fa-solid fa-image",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.resolution"))+": "+n(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.action?(a(),l("p",Lt,[o(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.task"))+": "+n(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",Tt,[o(i,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("nanobanana.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Ut=y(ot,[["render",St],["__scopeId","data-v-c93459a1"]]),Ct=k({name:"RecentPanel",components:{TaskPreview:Ut,BotPlaceholder:ce,NoTasks:oe,ScrollList:Y},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ot={key:0},qt={key:2,class:"w-full h-full flex items-center justify-center"};function Pt(e,t,g,r,u,f){const h=s("bot-placeholder"),_=s("task-preview"),d=s("scroll-list"),m=s("no-tasks");return a(),l(A,null,[e.tasks?.items===void 0?(a(),l("div",Ot,[o(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),V(d,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=w=>e.$emit("reach-top"))},{default:$(()=>[(a(!0),l(A,null,E(e.tasks?.items,w=>(a(),V(_,{key:w.id,"model-value":w},null,8,["model-value"]))),128))]),_:1},8,["loading"])):b("",!0),e.tasks?.items?.length===0?(a(),l("div",qt,[o(m)])):b("",!0)],64)}const Bt=y(Ct,[["render",Pt]]),Gt="https://webhook.acedata.cloud/nanobanana",jt=k({name:"NanobananaIndex",components:{ConfigPanel:tt,Layout:he,RecentPanel:Bt},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===F.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){clearInterval(this.job)},methods:{async onReachTop(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const g=this.tasks?.items?.[0];if(!g?.created_at)return;const u=this.$refs.recentPanel?.getScrollElement?.(),f=u?.scrollHeight||0,h=u?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:g.created_at}),await this.$nextTick(),u){const _=u.scrollHeight;u.scrollTop=_-f+h}}finally{this.loading=!1}},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("nanobanana/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("nanobanana/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:g,createdAtMax:r}=e||{};console.debug("limit",t,"createdAtMin",g,"createdAtMax",r),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:g,createdAtMax:r})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&"image_urls"in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model!==S&&"resolution"in e&&delete e.resolution,e?.model===S&&!e?.resolution&&(e.resolution=T);const g={...e,action:t?"edit":"generate",callback_url:Gt},r=this.credential?.token;if(!r){console.error("no token specified");return}I.info(this.$t("nanobanana.message.startingTask")),Q.generate(g,{token:r}).then(()=>{I.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(u=>{const f=u?.response?.data;f?.error?.code===X?I.error(this.$t("nanobanana.message.usedUp")):I.error(this.$t("nanobanana.message.startTaskFailed")+(f?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Mt(e,t,g,r,u,f){const h=s("config-panel"),_=s("recent-panel"),d=s("layout");return a(),V(d,null,{config:$(()=>[o(h,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:$(()=>[o(_,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const wo=y(jt,[["render",Mt]]);export{wo as default};