@acedatacloud/nexior 3.264.0 → 3.265.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/dist/assets/{ApiCodeButton-DkBjUHPb.js → ApiCodeButton-BF0PS1pj.js} +1 -1
  2. package/dist/assets/{Auth-BqY0Jg1t.js → Auth-CY1lb-FR.js} +1 -1
  3. package/dist/assets/{Bare-DoToBzhd.js → Bare-bwqM-Bwy.js} +1 -1
  4. package/dist/assets/{BotPlaceholder-Ca3n8DbE.js → BotPlaceholder-BIvYhNGJ.js} +1 -1
  5. package/dist/assets/{BottomFooter-CY1W9sXS.js → BottomFooter-DTMOXprJ.js} +1 -1
  6. package/dist/assets/{Callback-BJ9JwJTv.js → Callback-Can9d2P2.js} +1 -1
  7. package/dist/assets/{Console-DKZr0KUJ.js → Console-DVao24vj.js} +1 -1
  8. package/dist/assets/{Consumption-BBaQNNS9.js → Consumption-kIdlj4_c.js} +1 -1
  9. package/dist/assets/{Conversation-CfMeIf9m.js → Conversation-DVD7dY5U.js} +1 -1
  10. package/dist/assets/{CopyToClipboard-D0L4lc6w.js → CopyToClipboard-DhVhNUXq.js} +1 -1
  11. package/dist/assets/{Detail-DnscYbQb.js → Detail-Gk9S-rtL.js} +2 -2
  12. package/dist/assets/{Extra-xpryreic.js → Extra-CAOHQUH1.js} +1 -1
  13. package/dist/assets/{FilePreview-CRFsXaXj.js → FilePreview-c7yg6yBB.js} +1 -1
  14. package/dist/assets/{Hailuo-ta7lzxug.js → Hailuo-9D0G05yS.js} +1 -1
  15. package/dist/assets/{History-jFO_2Qif.js → History-CknbxHLn.js} +1 -1
  16. package/dist/assets/{ImagePreview-4W25TI3U.js → ImagePreview-DHUA_A_A.js} +1 -1
  17. package/dist/assets/{ImageWrapper-Atmtz1bd.js → ImageWrapper-BDrrcGhX.js} +1 -1
  18. package/dist/assets/{Index-Bywoe5Zy.js → Index-B7TYxjNr.js} +1 -1
  19. package/dist/assets/{Index-BzX0VBB0.js → Index-BKbKN9_k.js} +1 -1
  20. package/dist/assets/{Index-CMurMjC2.js → Index-BRavL05V.js} +1 -1
  21. package/dist/assets/{Index-B3srvBL_.js → Index-BVAWJxMP.js} +1 -1
  22. package/dist/assets/{Index-DXG1dyN5.js → Index-BdX28mb2.js} +1 -1
  23. package/dist/assets/{Index-D1ZEulmq.js → Index-C23tZUKx.js} +1 -1
  24. package/dist/assets/Index-C9aU6G6F.js +1 -0
  25. package/dist/assets/{Index-ChGZBPe3.js → Index-C9fD0jD6.js} +1 -1
  26. package/dist/assets/{Index-v8TarHpk.js → Index-CIYLp5iZ.js} +1 -1
  27. package/dist/assets/{Index-xbimp8Yf.js → Index-CTjLc6SX.js} +1 -1
  28. package/dist/assets/{Index-DOVSoFoi.css → Index-CXXgXXN0.css} +1 -1
  29. package/dist/assets/{Index-CrTKByiw.js → Index-CYgyFyBd.js} +1 -1
  30. package/dist/assets/{Index-uh8OwZh6.js → Index-CjmGrJ0A.js} +1 -1
  31. package/dist/assets/{Index-D2FDW3t4.js → Index-CmifVylI.js} +1 -1
  32. package/dist/assets/{Index-C6DTH6Tc2.js → Index-CnlR_8Hc2.js} +1 -1
  33. package/dist/assets/{Index-Dc-CR0io2.js → Index-D8wXXVdT2.js} +1 -1
  34. package/dist/assets/{Index-peW0eVkM.js → Index-D9nUdBtA.js} +1 -1
  35. package/dist/assets/{Index-CY7t4Ltv.js → Index-DAorw_zd.js} +1 -1
  36. package/dist/assets/{Index-Y4d0RdhD.js → Index-DCBXftmT.js} +1 -1
  37. package/dist/assets/{Index-Bqy9kq3o.js → Index-DEWHIGSb.js} +1 -1
  38. package/dist/assets/{Index-D9QC6Jve.js → Index-DP_kapCI.js} +1 -1
  39. package/dist/assets/{Index-BHTIa46w.js → Index-DVNt08Dg.js} +1 -1
  40. package/dist/assets/{Index-C4vtGMYg2.js → Index-DitWHWei2.js} +1 -1
  41. package/dist/assets/{Index-I_kzDr3E.js → Index-OxcbcbHs.js} +1 -1
  42. package/dist/assets/{Index-BpIjrMP2.js → Index-StAT6kZO.js} +1 -1
  43. package/dist/assets/{Index-YZxcdn41.js → Index-cLqCc75r.js} +1 -1
  44. package/dist/assets/{Invitees-qBxDDL2c.js → Invitees-D3PNRgO9.js} +1 -1
  45. package/dist/assets/{List-BHAEQPIm.js → List-BdcyFAQA.js} +1 -1
  46. package/dist/assets/{List-BvG4NsS2.js → List-C_hhXFj2.js} +1 -1
  47. package/dist/assets/{List-5Z1D8yYt.js → List-vLmTZ-b7.js} +1 -1
  48. package/dist/assets/{Main-CT1ijeC9.js → Main-DnH8CCM6.js} +1 -1
  49. package/dist/assets/{Model-D3WHS5gC.js → Model-bKjcAhO1.js} +1 -1
  50. package/dist/assets/{Navigator-D2zK-c2T.js → Navigator-BwZp2pu8.js} +1 -1
  51. package/dist/assets/{NoTasks-eKpQJSqW.js → NoTasks-sy2GTN52.js} +1 -1
  52. package/dist/assets/{NotFound-C9oPc8NQ.js → NotFound-BXwmLJ4l.js} +1 -1
  53. package/dist/assets/{Pagination-hf1uCNH1.js → Pagination-Bbs-d0Xc.js} +1 -1
  54. package/dist/assets/{Pay-BLOyGgpM.js → Pay-BNuHxVOx.js} +1 -1
  55. package/dist/assets/{Player-B_F2Nuqj.js → Player-BNBctm6a.js} +1 -1
  56. package/dist/assets/{Status-O5IGe9zL.js → Status-C6k6W-wd.js} +1 -1
  57. package/dist/assets/{Subscribe-C0qFmpa-.js → Subscribe-xCl0Y3JZ.js} +1 -1
  58. package/dist/assets/{TabSwitcher-C1q_IkDv.js → TabSwitcher-Da-C3w-y.js} +1 -1
  59. package/dist/assets/{Tts-DGRCZb7k.js → Tts-BA8z97G0.js} +1 -1
  60. package/dist/assets/{VideoPlayer-Dk3k3U1z.js → VideoPlayer-DuaXKjXf.js} +1 -1
  61. package/dist/assets/{avatar-DodJNhbp.js → avatar-DC1Ti_R1.js} +1 -1
  62. package/dist/assets/{basic-D7oIIO9w.js → basic-BFav1nfH.js} +1 -1
  63. package/dist/assets/{chat-CUetwiOX.js → chat-CSoefn9b.js} +1 -1
  64. package/dist/assets/{codingBridge-BNb0hb-y.js → codingBridge-DHXvKzZZ.js} +1 -1
  65. package/dist/assets/{collapse-BbZHIGPv.js → collapse-0SBhwven.js} +1 -1
  66. package/dist/assets/{createTaskActions-ZHYG7bK7.js → createTaskActions-doDFkz8Q.js} +1 -1
  67. package/dist/assets/{date-picker-nfqwx8wz.js → date-picker-BDeK47lJ.js} +1 -1
  68. package/dist/assets/dropdown-Dkkt8Kjc.js +1 -0
  69. package/dist/assets/{esm-aW4mVqSK.js → esm-BU2WwODQ.js} +1 -1
  70. package/dist/assets/{esm-BU9a_2_3.js → esm-BqBCpA0E.js} +3 -3
  71. package/dist/assets/{esm-CHDfZeHH.js → esm-COjOLDt_.js} +1 -1
  72. package/dist/assets/{esm-DwS7Kc-4.js → esm-Cn27tzaX.js} +2 -2
  73. package/dist/assets/{esm-NC5aCK_p.js → esm-D9jJU_U2.js} +1 -1
  74. package/dist/assets/{fish-D-M_E1ca.js → fish-urHvJOLe.js} +1 -1
  75. package/dist/assets/{flux-BEfjxtXA.js → flux-Ci6HtV-5.js} +1 -1
  76. package/dist/assets/{hailuo-eMJOUuwf.js → hailuo-qc9vIzvN.js} +1 -1
  77. package/dist/assets/{headshots-DAPfHCOS.js → headshots-8dRAfVdG.js} +1 -1
  78. package/dist/assets/{image-D6w_R6Gb.js → image-DfBMdB5i.js} +1 -1
  79. package/dist/assets/{index-D5H_BFJI.css → index-D55-nwpB.css} +1 -1
  80. package/dist/assets/{index-B0D_GXuA.js → index-h1VSduWr.js} +3 -3
  81. package/dist/assets/{index.browser.esm-Bqu-_I5F.js → index.browser.esm-CJ7q6ToI.js} +1 -1
  82. package/dist/assets/{index.es-CyW7EvoI.js → index.es-BE5hSUb7.js} +1 -1
  83. package/dist/assets/{input-number-DqQ2LuOV.js → input-number-hF6S2tOX.js} +1 -1
  84. package/dist/assets/{kling-DY9RlbFj.js → kling-DGMpqIw3.js} +1 -1
  85. package/dist/assets/{luma-Bo0bXgoy.js → luma-DQR8swYW.js} +1 -1
  86. package/dist/assets/{midjourney-BBCUqs8o.js → midjourney-3Rk-4IHv.js} +1 -1
  87. package/dist/assets/{nanobanana-B_9ugpbq.js → nanobanana-Dnt-Bjxe.js} +1 -1
  88. package/dist/assets/{openaiimage-C1VvgnsT.js → openaiimage-BtxZxEOd.js} +1 -1
  89. package/dist/assets/{pagination-BGnbEU3d.js → pagination-BB30gtKs.js} +1 -1
  90. package/dist/assets/{pika-C4u8wwTW.js → pika-8PfVywcX.js} +1 -1
  91. package/dist/assets/{pixverse-B6J2Q3pR.js → pixverse-C9vAKeVX.js} +1 -1
  92. package/dist/assets/{popover-CE1xHqpL.js → popover-BNB68gYw.js} +1 -1
  93. package/dist/assets/{producer-CNPquQZ3.js → producer-Bn00-8ht.js} +1 -1
  94. package/dist/assets/{qrart-CU7K0EzI.js → qrart-CRrhx8ox.js} +1 -1
  95. package/dist/assets/{row-CcN8nbao.js → row-gh4sosir.js} +1 -1
  96. package/dist/assets/{seedance-Bjd3pcmH.js → seedance-CTA_T7uM.js} +1 -1
  97. package/dist/assets/{seedream-Dd1R_bPK.js → seedream-CH0oUA5B.js} +1 -1
  98. package/dist/assets/{select-CCWm08v4.js → select-TkQ8fTfG.js} +1 -1
  99. package/dist/assets/{serp-FSmcf0c5.js → serp-CgnD7ihi.js} +1 -1
  100. package/dist/assets/{slider-DVqVjO2D.js → slider-EqIMzl6G.js} +1 -1
  101. package/dist/assets/{solana-wallets-Dtc7qYT-.js → solana-wallets-WevCXVvr.js} +2 -2
  102. package/dist/assets/{solana-wallets-vue-BpvVaery.js → solana-wallets-vue-Dzg49Hmx.js} +1 -1
  103. package/dist/assets/{sora-CXq3FuAk.js → sora-DlUZW4ee.js} +1 -1
  104. package/dist/assets/{suno-B7bz24MP.js → suno-B_g6yBRE.js} +1 -1
  105. package/dist/assets/{switch-Cd_GVBye.js → switch-CfNJncrO.js} +1 -1
  106. package/dist/assets/{tabs-D_soGpxM.js → tabs-CxEj-jBI.js} +1 -1
  107. package/dist/assets/{upload-DL6R-BcD.js → upload-DvUP_130.js} +1 -1
  108. package/dist/assets/{veo-Bn1PzK1w.js → veo-d3ejdhRz.js} +1 -1
  109. package/dist/assets/{wan-B2aoHoAe.js → wan-Bmge90WA.js} +1 -1
  110. package/dist/assets/{web-B2pXFQF4.js → web-8fo0byOM.js} +1 -1
  111. package/dist/assets/{web-ByCsKuB_.js → web-DwQEw4nk.js} +1 -1
  112. package/dist/assets/{web-yBTVrQ25.js → web-QQ7LCPDR.js} +1 -1
  113. package/dist/assets/{web-BsKwlpR_.js → web-ymQzE5CS.js} +1 -1
  114. package/dist/assets/{webextrator-BHbJAFdp.js → webextrator-BRIY0hhk.js} +1 -1
  115. package/dist/index.html +2 -2
  116. package/package.json +1 -1
  117. package/dist/assets/Index-RkeGJN2X.js +0 -1
  118. package/dist/assets/dropdown-BVCGSz3h.js +0 -1
  119. package/dist/assets/dropdown-QmTmKbqR.js +0 -1
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,M as i,N as a,O as o,P as s,Q as c,Ut as l,X as u,et as d,k as f,lt as p,x as m}from"./vendor-chart-Df3WBvr0.js";import{t as h}from"./button-Diu_mJ2H.js";import{r as g,t as _}from"./select-CCWm08v4.js";import{t as v}from"./upload-DL6R-BcD.js";import{t as y}from"./image-D6w_R6Gb.js";import{t as b}from"./alert-Cs6WDxgv.js";import{t as x}from"./drawer-B42T8GMw.js";import{t as S}from"./input-number-DqQ2LuOV.js";import{t as C}from"./slider-DVqVjO2D.js";import{bn as ee,qr as te,xn as w}from"./constants-BH6GgBVD.js";import{At as T,Dt as E,E as D,Er as O,Mt as k,Nn as A,Ot as j,gr as M,kt as N,sn as P,yr as F}from"./index-B0D_GXuA.js";import{t as I}from"./index.es-CyW7EvoI.js";import{t as L}from"./CopyToClipboard-D0L4lc6w.js";import{t as R}from"./ImagePreview-4W25TI3U.js";import{t as z}from"./BotPlaceholder-Ca3n8DbE.js";import{i as B,n as V,t as H}from"./pagination-BGnbEU3d.js";import{n as U,t as W}from"./NoTasks-eKpQJSqW.js";import{t as G}from"./Consumption-BBaQNNS9.js";import{t as K}from"./ApiCodeButton-DkBjUHPb.js";import{t as q}from"./ImageWrapper-Atmtz1bd.js";var J=s({name:`LayoutFlux`,components:{ElDrawer:x,ElButton:h,FontAwesomeIcon:I},data(){return{drawer:!1}}}),Y={class:`main flex flex-row flex-1`},X={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Z={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Q(t,n,i,o,s,c){let l=d(`font-awesome-icon`),m=d(`el-button`),h=d(`el-drawer`);return u(),f(`div`,Y,[r(`div`,X,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,Z,[e(t.$slots,`result`,{},void 0,!0)]),a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(l,{icon:`fa-solid fa-magic`})]),_:1}),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ne=D(J,[[`render`,Q],[`__scopeId`,`data-v-d022364a`]]),re=s({name:`ModelSelector`,components:{ElSelect:g,ElOption:_},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`flux-dev`,label:`flux-dev`},{value:`flux-pro`,label:`flux-pro`},{value:`flux-kontext-pro`,label:`flux-kontext-pro`},{value:`flux-kontext-max`,label:`flux-kontext-max`},{value:`flux-2-flex`,label:`flux-2-flex`},{value:`flux-2-pro`,label:`flux-2-pro`},{value:`flux-2-max`,label:`flux-2-max`}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||=w}}),ie={class:`field`},ae={class:`title font-bold`};function oe(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,ie,[r(`h2`,ae,l(e.$t(`flux.name.model`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`flux.placeholder.select`)},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var se=D(re,[[`render`,oe],[`__scopeId`,`data-v-e9b17945`]]),ce=s({name:`CountSelector`,components:{ElSlider:C,InfoIcon:B,ElInputNumber:S},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug(`set count`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||=1}}),le={class:`flex justify-between`},ue={class:`flex justify-start items-center`},de={class:`text-sm font-bold`},fe={class:`flex justify-end items-center`},pe={class:`w-full`};function me(e,t,n,i,o,s){let c=d(`info-icon`),p=d(`el-input-number`),m=d(`el-slider`);return u(),f(`div`,null,[r(`div`,le,[r(`div`,ue,[r(`span`,de,l(e.$t(`flux.name.numbers`)),1),a(c,{content:e.$t(`flux.description.numbers`)},null,8,[`content`])]),r(`div`,fe,[a(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,"controls-position":`right`},null,8,[`modelValue`])])]),r(`div`,pe,[a(m,{modelValue:e.value,"onUpdate:modelValue":t[1]||=t=>e.value=t,min:1,max:4,step:1},null,8,[`modelValue`])])])}var he=D(ce,[[`render`,me]]),ge=s({name:`ActionSelector`,components:{ElSelect:g,ElOption:_},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`generate`,label:this.$t(`flux.name.generate`)},{value:`edits`,label:this.$t(`flux.name.edits`)}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||=ee}}),_e={class:`field`},ve={class:`title font-bold`};function ye(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,_e,[r(`h2`,ve,l(e.$t(`flux.name.task`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`flux.placeholder.select`)},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var be=D(ge,[[`render`,ye],[`__scopeId`,`data-v-81fd05e5`]]),xe=s({name:`ImageUrlInput`,components:{ElUpload:v,ElButton:h,InfoIcon:B,FontAwesomeIcon:I,ImagePreview:R},mixins:[T,j],emits:[`change`],data(){return{fileList:[],uploadUrl:F()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug(`URLs changed:`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){O.warning(this.$t(`flux.message.uploadStartImageExceed`))},onError(){O.error(this.$t(`flux.message.uploadStartImageError`))}}}),Se={class:`relative`},Ce={class:`flex justify-between`},we={class:`flex justify-start items-center`},Te={class:`text-sm font-bold`};function Ee(e,t,n,o,s,c){let m=d(`info-icon`),h=d(`image-preview`),g=d(`font-awesome-icon`),_=d(`el-button`),v=d(`el-upload`);return u(),f(`div`,Se,[r(`div`,Ce,[r(`div`,we,[r(`span`,Te,l(e.$t(`flux.name.imageUrl`)),1),a(m,{content:e.$t(`flux.description.imageUrl`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,limit:5,class:`upload-wrapper`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,multiple:!0,"list-type":`picture`,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,headers:e.headers},{file:p(({file:t})=>[a(h,{url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(g,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`flux.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`headers`])])}var De=D(xe,[[`render`,Ee],[`__scopeId`,`data-v-7482072d`]]),Oe=s({name:`PromptInput`,components:{PromptTextarea:U},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||=``}});function ke(e,t,r,i,a,o){let s=d(`prompt-textarea`);return u(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`flux.name.prompt`),info:e.$t(`flux.description.prompt`),placeholder:e.$t(`flux.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ae=s({name:`PresetPanel`,components:{ElButton:h,FontAwesomeIcon:I,PromptInput:D(Oe,[[`render`,ke]]),ModelSelector:se,CountSelector:he,Consumption:G,ActionSelector:be,ImageUrlInput:De},emits:[`generate`],computed:{config(){return this.$store.state.flux?.config},consumption(){return k(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),je={class:`flex flex-col h-full`},Me={class:`flex-1 overflow-y-auto p-5`},Ne={class:`flex flex-col items-center justify-center px-5 pb-5`};function Pe(e,t,s,c,m,h){let g=d(`action-selector`),_=d(`prompt-input`),v=d(`image-url-input`),y=d(`model-selector`),b=d(`count-selector`),x=d(`consumption`),S=d(`font-awesome-icon`),C=d(`el-button`);return u(),f(`div`,je,[r(`div`,Me,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),e.config?.action===`edits`?(u(),n(v,{key:0,class:`mb-4`})):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`})]),r(`div`,Ne,[a(x,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),a(C,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:p(()=>[a(S,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`flux.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Fe=D(Ae,[[`render`,Pe]]),Ie=s({name:`TaskPreview`,components:{ElImage:y,CopyToClipboard:L,FontAwesomeIcon:I,ElAlert:b,ImageWrapper:q,ApiCodeButton:K},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{onDownload(e,t){e.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenImage(e){window.open(e,`_blank`)}}}),Le={class:`preview`},Re={class:`left`},ze={class:`main`},Be={class:`bot`},Ve={class:`datetime`},He={class:`info`},Ue={key:0,class:`prompt mt-2`},We={key:0},Ge={key:0,class:t({content:!0,failed:!0})},Ke={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},qe={class:t({operations:!0,"mt-2":!0,"mb-2":!0})},Je={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ye={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Xe={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ze={key:1,class:t({content:!0})},Qe={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$e={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},et={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},tt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},$={key:2,class:t({content:!0})},nt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function rt(e,t,s,h,g,_){let v=d(`el-image`),y=d(`image-wrapper`),b=d(`api-code-button`),x=d(`font-awesome-icon`),S=d(`copy-to-clipboard`),C=d(`el-alert`);return u(),f(`div`,Le,[r(`div`,Re,[a(v,{src:`https://cdn.acedata.cloud/ogm2oa.png`,class:`avatar`})]),r(`div`,ze,[r(`div`,Be,[i(l(e.$t(`flux.name.fluxBot`))+` `,1),r(`span`,Ve,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,He,[e.modelValue?.request?.prompt?(u(),f(`p`,Ue,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?o(``,!0):(u(),f(`span`,We,` - (`+l(e.$t(`flux.status.pending`))+`) `,1))])):o(``,!0)]),e.modelValue?.response?.success===!0?(u(),f(`div`,Ge,[r(`div`,Ke,[(u(!0),f(m,null,c(e.images,(e,t)=>(u(),n(y,{key:t,src:e?.image_url,"raw-src":e?.image_url,"model-value":e},null,8,[`src`,`raw-src`,`model-value`]))),128))]),r(`div`,qe,[a(b,{path:`/flux/images`,body:e.modelValue?.request},null,8,[`body`])]),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[r(`p`,Je,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.model`))+`: `+l(e.modelValue?.request?.model),1)]),r(`p`,Ye,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,Xe,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),e.modelValue?.response?.success===!1?(u(),f(`div`,Ze,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.failure`)),1)]),default:p(()=>[r(`p`,Qe,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r(`p`,$e,[a(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),a(S,{content:e.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,et,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),r(`p`,tt,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(S,{content:e.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),e.modelValue?.response?o(``,!0):(u(),f(`div`,$,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.failure`)),1)]),default:p(()=>[r(`p`,nt,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var it=s({name:`RecentPanel`,components:{TaskPreview:D(Ie,[[`render`,rt],[`__scopeId`,`data-v-6a2b3fc7`]]),BotPlaceholder:z,NoTasks:W,ScrollList:V},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),at={key:0},ot={key:2,class:`w-full h-full flex items-center justify-center`};function st(e,t,r,i,s,l){let h=d(`bot-placeholder`),g=d(`task-preview`),_=d(`scroll-list`),v=d(`no-tasks`);return u(),f(m,null,[e.tasks?.items===void 0?(u(),f(`div`,at,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(u(),n(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(u(!0),f(m,null,c(e.tasks?.items,e=>(u(),n(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(u(),f(`div`,ot,[a(v)])):o(``,!0)],64)}var ct=D(it,[[`render`,st]]),lt=te(`flux`),ut=s({name:`FluxIndex`,components:{ConfigPanel:Fe,Layout:ne,RecentPanel:ct},mixins:[N],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===M.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===M.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await H({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`flux/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`flux/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(`flux/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!E(this.uploadTracker,e=>this.$t(e),e=>O.warning(e)))return;let e={...this.config,callback_url:lt},t=this.credential?.token;if(!t){console.error(`no token specified`);return}O.info(this.$t(`flux.message.startingTask`)),A(`flux`,P.generate(e,{token:t})).then(()=>{O.success(this.$t(`flux.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?O.error(this.$t(`flux.message.usedUp`)):O.error(this.$t(`flux.message.startTaskFailed`)+t?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function dt(e,t,r,i,o,s){let c=d(`config-panel`),l=d(`recent-panel`),f=d(`layout`);return u(),n(f,null,{config:p(()=>[a(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var ft=D(ut,[[`render`,dt]]);export{ft as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,M as i,N as a,O as o,P as s,Q as c,Ut as l,X as u,et as d,k as f,lt as p,x as m}from"./vendor-chart-Df3WBvr0.js";import{t as h}from"./button-Diu_mJ2H.js";import{r as g,t as _}from"./select-TkQ8fTfG.js";import{t as v}from"./upload-DvUP_130.js";import{t as y}from"./image-DfBMdB5i.js";import{t as b}from"./alert-Cs6WDxgv.js";import{t as x}from"./drawer-B42T8GMw.js";import{t as S}from"./input-number-hF6S2tOX.js";import{t as C}from"./slider-EqIMzl6G.js";import{bn as ee,qr as te,xn as w}from"./constants-BH6GgBVD.js";import{At as T,Dt as E,E as D,Er as O,Mt as k,Nn as A,Ot as j,gr as M,kt as N,sn as P,yr as F}from"./index-h1VSduWr.js";import{t as I}from"./index.es-BE5hSUb7.js";import{t as L}from"./CopyToClipboard-DhVhNUXq.js";import{t as R}from"./ImagePreview-DHUA_A_A.js";import{t as z}from"./BotPlaceholder-BIvYhNGJ.js";import{i as B,n as V,t as H}from"./pagination-BB30gtKs.js";import{n as U,t as W}from"./NoTasks-sy2GTN52.js";import{t as G}from"./Consumption-kIdlj4_c.js";import{t as K}from"./ApiCodeButton-BF0PS1pj.js";import{t as q}from"./ImageWrapper-BDrrcGhX.js";var J=s({name:`LayoutFlux`,components:{ElDrawer:x,ElButton:h,FontAwesomeIcon:I},data(){return{drawer:!1}}}),Y={class:`main flex flex-row flex-1`},X={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Z={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Q(t,n,i,o,s,c){let l=d(`font-awesome-icon`),m=d(`el-button`),h=d(`el-drawer`);return u(),f(`div`,Y,[r(`div`,X,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,Z,[e(t.$slots,`result`,{},void 0,!0)]),a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(l,{icon:`fa-solid fa-magic`})]),_:1}),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ne=D(J,[[`render`,Q],[`__scopeId`,`data-v-d022364a`]]),re=s({name:`ModelSelector`,components:{ElSelect:g,ElOption:_},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`flux-dev`,label:`flux-dev`},{value:`flux-pro`,label:`flux-pro`},{value:`flux-kontext-pro`,label:`flux-kontext-pro`},{value:`flux-kontext-max`,label:`flux-kontext-max`},{value:`flux-2-flex`,label:`flux-2-flex`},{value:`flux-2-pro`,label:`flux-2-pro`},{value:`flux-2-max`,label:`flux-2-max`}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||=w}}),ie={class:`field`},ae={class:`title font-bold`};function oe(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,ie,[r(`h2`,ae,l(e.$t(`flux.name.model`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`flux.placeholder.select`)},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var se=D(re,[[`render`,oe],[`__scopeId`,`data-v-e9b17945`]]),ce=s({name:`CountSelector`,components:{ElSlider:C,InfoIcon:B,ElInputNumber:S},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug(`set count`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||=1}}),le={class:`flex justify-between`},ue={class:`flex justify-start items-center`},de={class:`text-sm font-bold`},fe={class:`flex justify-end items-center`},pe={class:`w-full`};function me(e,t,n,i,o,s){let c=d(`info-icon`),p=d(`el-input-number`),m=d(`el-slider`);return u(),f(`div`,null,[r(`div`,le,[r(`div`,ue,[r(`span`,de,l(e.$t(`flux.name.numbers`)),1),a(c,{content:e.$t(`flux.description.numbers`)},null,8,[`content`])]),r(`div`,fe,[a(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,"controls-position":`right`},null,8,[`modelValue`])])]),r(`div`,pe,[a(m,{modelValue:e.value,"onUpdate:modelValue":t[1]||=t=>e.value=t,min:1,max:4,step:1},null,8,[`modelValue`])])])}var he=D(ce,[[`render`,me]]),ge=s({name:`ActionSelector`,components:{ElSelect:g,ElOption:_},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`generate`,label:this.$t(`flux.name.generate`)},{value:`edits`,label:this.$t(`flux.name.edits`)}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||=ee}}),_e={class:`field`},ve={class:`title font-bold`};function ye(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,_e,[r(`h2`,ve,l(e.$t(`flux.name.task`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`flux.placeholder.select`)},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var be=D(ge,[[`render`,ye],[`__scopeId`,`data-v-81fd05e5`]]),xe=s({name:`ImageUrlInput`,components:{ElUpload:v,ElButton:h,InfoIcon:B,FontAwesomeIcon:I,ImagePreview:R},mixins:[T,j],emits:[`change`],data(){return{fileList:[],uploadUrl:F()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug(`URLs changed:`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){O.warning(this.$t(`flux.message.uploadStartImageExceed`))},onError(){O.error(this.$t(`flux.message.uploadStartImageError`))}}}),Se={class:`relative`},Ce={class:`flex justify-between`},we={class:`flex justify-start items-center`},Te={class:`text-sm font-bold`};function Ee(e,t,n,o,s,c){let m=d(`info-icon`),h=d(`image-preview`),g=d(`font-awesome-icon`),_=d(`el-button`),v=d(`el-upload`);return u(),f(`div`,Se,[r(`div`,Ce,[r(`div`,we,[r(`span`,Te,l(e.$t(`flux.name.imageUrl`)),1),a(m,{content:e.$t(`flux.description.imageUrl`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,limit:5,class:`upload-wrapper`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,multiple:!0,"list-type":`picture`,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,headers:e.headers},{file:p(({file:t})=>[a(h,{url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(g,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`flux.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`headers`])])}var De=D(xe,[[`render`,Ee],[`__scopeId`,`data-v-7482072d`]]),Oe=s({name:`PromptInput`,components:{PromptTextarea:U},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||=``}});function ke(e,t,r,i,a,o){let s=d(`prompt-textarea`);return u(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`flux.name.prompt`),info:e.$t(`flux.description.prompt`),placeholder:e.$t(`flux.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ae=s({name:`PresetPanel`,components:{ElButton:h,FontAwesomeIcon:I,PromptInput:D(Oe,[[`render`,ke]]),ModelSelector:se,CountSelector:he,Consumption:G,ActionSelector:be,ImageUrlInput:De},emits:[`generate`],computed:{config(){return this.$store.state.flux?.config},consumption(){return k(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),je={class:`flex flex-col h-full`},Me={class:`flex-1 overflow-y-auto p-5`},Ne={class:`flex flex-col items-center justify-center px-5 pb-5`};function Pe(e,t,s,c,m,h){let g=d(`action-selector`),_=d(`prompt-input`),v=d(`image-url-input`),y=d(`model-selector`),b=d(`count-selector`),x=d(`consumption`),S=d(`font-awesome-icon`),C=d(`el-button`);return u(),f(`div`,je,[r(`div`,Me,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),e.config?.action===`edits`?(u(),n(v,{key:0,class:`mb-4`})):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`})]),r(`div`,Ne,[a(x,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),a(C,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:p(()=>[a(S,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`flux.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Fe=D(Ae,[[`render`,Pe]]),Ie=s({name:`TaskPreview`,components:{ElImage:y,CopyToClipboard:L,FontAwesomeIcon:I,ElAlert:b,ImageWrapper:q,ApiCodeButton:K},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{onDownload(e,t){e.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenImage(e){window.open(e,`_blank`)}}}),Le={class:`preview`},Re={class:`left`},ze={class:`main`},Be={class:`bot`},Ve={class:`datetime`},He={class:`info`},Ue={key:0,class:`prompt mt-2`},We={key:0},Ge={key:0,class:t({content:!0,failed:!0})},Ke={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},qe={class:t({operations:!0,"mt-2":!0,"mb-2":!0})},Je={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ye={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Xe={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ze={key:1,class:t({content:!0})},Qe={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$e={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},et={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},tt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},$={key:2,class:t({content:!0})},nt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function rt(e,t,s,h,g,_){let v=d(`el-image`),y=d(`image-wrapper`),b=d(`api-code-button`),x=d(`font-awesome-icon`),S=d(`copy-to-clipboard`),C=d(`el-alert`);return u(),f(`div`,Le,[r(`div`,Re,[a(v,{src:`https://cdn.acedata.cloud/ogm2oa.png`,class:`avatar`})]),r(`div`,ze,[r(`div`,Be,[i(l(e.$t(`flux.name.fluxBot`))+` `,1),r(`span`,Ve,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,He,[e.modelValue?.request?.prompt?(u(),f(`p`,Ue,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?o(``,!0):(u(),f(`span`,We,` - (`+l(e.$t(`flux.status.pending`))+`) `,1))])):o(``,!0)]),e.modelValue?.response?.success===!0?(u(),f(`div`,Ge,[r(`div`,Ke,[(u(!0),f(m,null,c(e.images,(e,t)=>(u(),n(y,{key:t,src:e?.image_url,"raw-src":e?.image_url,"model-value":e},null,8,[`src`,`raw-src`,`model-value`]))),128))]),r(`div`,qe,[a(b,{path:`/flux/images`,body:e.modelValue?.request},null,8,[`body`])]),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[r(`p`,Je,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.model`))+`: `+l(e.modelValue?.request?.model),1)]),r(`p`,Ye,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,Xe,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),e.modelValue?.response?.success===!1?(u(),f(`div`,Ze,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.failure`)),1)]),default:p(()=>[r(`p`,Qe,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r(`p`,$e,[a(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),a(S,{content:e.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,et,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),r(`p`,tt,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(S,{content:e.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),e.modelValue?.response?o(``,!0):(u(),f(`div`,$,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.failure`)),1)]),default:p(()=>[r(`p`,nt,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var it=s({name:`RecentPanel`,components:{TaskPreview:D(Ie,[[`render`,rt],[`__scopeId`,`data-v-6a2b3fc7`]]),BotPlaceholder:z,NoTasks:W,ScrollList:V},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),at={key:0},ot={key:2,class:`w-full h-full flex items-center justify-center`};function st(e,t,r,i,s,l){let h=d(`bot-placeholder`),g=d(`task-preview`),_=d(`scroll-list`),v=d(`no-tasks`);return u(),f(m,null,[e.tasks?.items===void 0?(u(),f(`div`,at,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(u(),n(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(u(!0),f(m,null,c(e.tasks?.items,e=>(u(),n(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(u(),f(`div`,ot,[a(v)])):o(``,!0)],64)}var ct=D(it,[[`render`,st]]),lt=te(`flux`),ut=s({name:`FluxIndex`,components:{ConfigPanel:Fe,Layout:ne,RecentPanel:ct},mixins:[N],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===M.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===M.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await H({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`flux/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`flux/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(`flux/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!E(this.uploadTracker,e=>this.$t(e),e=>O.warning(e)))return;let e={...this.config,callback_url:lt},t=this.credential?.token;if(!t){console.error(`no token specified`);return}O.info(this.$t(`flux.message.startingTask`)),A(`flux`,P.generate(e,{token:t})).then(()=>{O.success(this.$t(`flux.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?O.error(this.$t(`flux.message.usedUp`)):O.error(this.$t(`flux.message.startTaskFailed`)+t?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function dt(e,t,r,i,o,s){let c=d(`config-panel`),l=d(`recent-panel`),f=d(`layout`);return u(),n(f,null,{config:p(()=>[a(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var ft=D(ut,[[`render`,dt]]);export{ft as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,Ht as i,M as a,N as o,O as s,P as c,Q as l,Ut as u,X as d,et as f,k as p,lt as m,x as h}from"./vendor-chart-Df3WBvr0.js";import{t as g}from"./button-Diu_mJ2H.js";import{r as _,t as v}from"./select-CCWm08v4.js";import{t as y}from"./upload-DL6R-BcD.js";import{t as b}from"./tooltip-hII4wDEz.js";import{t as x}from"./image-D6w_R6Gb.js";import{t as S}from"./alert-Cs6WDxgv.js";import{t as C}from"./drawer-B42T8GMw.js";import{t as w}from"./input-number-DqQ2LuOV.js";import{t as T}from"./slider-DVqVjO2D.js";import{Dn as E,En as D,Tn as O,qr as k,wn as ee}from"./constants-BH6GgBVD.js";import{At as te,Dt as A,E as j,Er as M,Mt as N,Nn as P,Ot as F,cn as I,gr as L,kt as R,yr as z}from"./index-B0D_GXuA.js";import{t as B}from"./index.es-CyW7EvoI.js";import{t as V}from"./CopyToClipboard-D0L4lc6w.js";import{t as H}from"./ImagePreview-4W25TI3U.js";import{t as U}from"./BotPlaceholder-Ca3n8DbE.js";import{i as W,n as G,t as K}from"./pagination-BGnbEU3d.js";import{n as q,t as J}from"./NoTasks-eKpQJSqW.js";import{t as Y}from"./Consumption-BBaQNNS9.js";import{t as X}from"./ApiCodeButton-DkBjUHPb.js";import{t as Z}from"./VideoPlayer-Dk3k3U1z.js";var Q=c({name:`LayoutPixverse`,components:{ElDrawer:C,ElButton:g,FontAwesomeIcon:B},data(){return{drawer:!1}}}),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(t,n,i,a,s,c){let l=f(`font-awesome-icon`),u=f(`el-button`),h=f(`el-drawer`);return d(),p(`div`,ne,[r(`div`,re,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,ie,[e(t.$slots,`result`,{},void 0,!0)]),o(u,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:m(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1}),o(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:m(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var oe=j(Q,[[`render`,ae],[`__scopeId`,`data-v-ea5fe174`]]),se=c({name:`ModelSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`v3.5`,label:`v3.5`},{value:`v4`,label:`v4`},{value:`v4.5`,label:`v4.5`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.model},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,model:e})}}},mounted(){this.value||=O}}),ce={class:`field`},le={class:`title font-bold`};function ue(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,ce,[r(`h2`,le,u(e.$t(`pixverse.name.model`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var de=j(se,[[`render`,ue],[`__scopeId`,`data-v-e8f337ca`]]),fe=c({name:`QualitySelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`360p`,label:`360p`},{value:`540p`,label:`540p`},{value:`720p`,label:`720p`},{value:`1080p`,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.quality},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,quality:e})}}},mounted(){this.value||=E}}),pe={class:`field`},me={class:`title font-bold`};function he(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,pe,[r(`h2`,me,u(e.$t(`pixverse.name.quality`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ge=j(fe,[[`render`,he],[`__scopeId`,`data-v-64aeaae9`]]),_e=c({name:`MotionSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`normal`,label:this.$t(`pixverse.name.motion1`)},{value:`fast`,label:this.$t(`pixverse.name.motion2`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.motion},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,motion:e})}}},mounted(){this.value||=D}}),ve={class:`field`},ye={class:`title font-bold`};function be(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,ve,[r(`h2`,ye,u(e.$t(`pixverse.name.motion`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var xe=j(_e,[[`render`,be],[`__scopeId`,`data-v-94237408`]]),Se=c({name:`StyleSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`cyberpunk`,label:this.$t(`pixverse.name.style1`)},{value:`anime`,label:this.$t(`pixverse.name.style2`)},{value:`comic`,label:this.$t(`pixverse.name.style3`)},{value:`clay`,label:this.$t(`pixverse.name.style4`)},{value:`3d_animation`,label:this.$t(`pixverse.name.style5`)},{value:`realistic`,label:this.$t(`pixverse.name.style6`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.style},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,style:e})}}},mounted(){this.value||=``}}),Ce={class:`field`},we={class:`title font-bold`};function Te(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,Ce,[r(`h2`,we,u(e.$t(`pixverse.name.style`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ee=j(Se,[[`render`,Te],[`__scopeId`,`data-v-64e17b3c`]]),De=c({name:`SeedSelector`,components:{ElSlider:T,InfoIcon:W,ElInputNumber:w},computed:{value:{get(){return this.$store.state?.pixverse?.config?.seed},set(e){console.debug(`set seed`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,seed:e})}}},mounted(){this.value||=void 0}}),Oe={class:`flex justify-between`},ke={class:`flex justify-start items-center`},Ae={class:`text-sm font-bold`},je={class:`flex justify-end items-center`},Me={class:`w-full`};function Ne(e,t,n,i,a,s){let c=f(`info-icon`),l=f(`el-input-number`),m=f(`el-slider`);return d(),p(`div`,null,[r(`div`,Oe,[r(`div`,ke,[r(`span`,Ae,u(e.$t(`pixverse.name.seed`)),1),o(c,{content:e.$t(`pixverse.description.seed`)},null,8,[`content`])]),r(`div`,je,[o(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,"controls-position":`right`},null,8,[`modelValue`])])]),r(`div`,Me,[o(m,{modelValue:e.value,"onUpdate:modelValue":t[1]||=t=>e.value=t,min:0,max:1e3,step:1},null,8,[`modelValue`])])])}var Pe=j(De,[[`render`,Ne]]),Fe=c({name:`DurationSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:5,label:`5s`},{value:8,label:`8s`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.duration},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,duration:e})}}},mounted(){this.value||=5}}),Ie={class:`field`},Le={class:`title font-bold`};function Re(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,Ie,[r(`h2`,Le,u(e.$t(`pixverse.name.duration`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ze=j(Fe,[[`render`,Re],[`__scopeId`,`data-v-065c77ef`]]),Be=c({name:`RatioSelector`,data(){return{options:[{value:`1:1`,label:`1:1`,width:20,height:20},{value:`4:3`,label:`4:3`,width:20,height:15},{value:`3:4`,label:`3:4`,width:15,height:20},{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.pixverse.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,aspect_ratio:e})}}},mounted(){this.value||=ee}}),Ve={class:`text-sm font-bold mb-2 block`},He={class:`items`},Ue=[`onClick`],We={class:`name`};function Ge(e,n,a,o,s,c){return d(),p(`div`,null,[r(`span`,Ve,u(e.$t(`pixverse.name.aspectRatio`)),1),r(`div`,He,[(d(!0),p(h,null,l(e.options,(n,a)=>(d(),p(`div`,{key:a,class:t({active:e.active===a,item:!0}),onClick:t=>e.value=n.value},[r(`div`,{class:t([`preview`,n.label])},[r(`div`,{class:`rect`,style:i({width:n.width+`px`,height:n.height+`px`})},null,4)],2),r(`p`,We,u(n.label),1)],10,Ue))),128))])])}var Ke=j(Be,[[`render`,Ge],[`__scopeId`,`data-v-53038264`]]),qe=c({name:`StartImage`,components:{ElUpload:y,ElButton:g,InfoIcon:W,FontAwesomeIcon:B,ImagePreview:H},mixins:[te,F],emits:[`change`],data(){return{fileList:[],uploadUrl:z()+`/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?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){M.warning(this.$t(`pixverse.message.uploadReferencesExceed`))},onError(){M.error(this.$t(`pixverse.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Je={class:`relative`},Ye={class:`flex justify-between`},Xe={class:`flex justify-start items-center`},Ze={class:`text-sm font-bold`};function Qe(e,t,i,c,l,h){let g=f(`info-icon`),_=f(`image-preview`),v=f(`font-awesome-icon`),y=f(`el-button`),b=f(`el-upload`);return d(),p(`div`,Je,[r(`div`,Ye,[r(`div`,Xe,[r(`span`,Ze,u(e.$t(`pixverse.name.startImage`)),1),o(g,{content:e.$t(`pixverse.description.uploadStartImage`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):s(``,!0)]),default:m(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:m(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`pixverse.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var $e=j(qe,[[`render`,Qe],[`__scopeId`,`data-v-0d570ad7`]]),et=c({name:`PromptInput`,components:{PromptTextarea:q},computed:{prompt:{get(){return this.$store.state.pixverse?.config?.prompt},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse?.config,prompt:e})}}},mounted(){this.prompt||=``}});function tt(e,t,r,i,a,o){let s=f(`prompt-textarea`);return d(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`pixverse.name.prompt`),info:e.$t(`pixverse.description.prompt`),placeholder:e.$t(`pixverse.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var nt=c({name:`ConfigPanel`,components:{ElButton:g,FontAwesomeIcon:B,PromptInput:j(et,[[`render`,tt]]),ModelSelector:de,QualitySelector:ge,MotionSelector:xe,StyleSelector:Ee,DurationSelector:ze,StartImage:$e,SeedSelector:Pe,RatioSelector:Ke,Consumption:Y},emits:[`generate`],computed:{config(){return this.$store.state.pixverse?.config},consumption(){return N(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),rt={class:`flex flex-col h-full`},it={class:`flex-1 overflow-y-auto p-5`},at={class:`flex flex-col items-center justify-center px-5 pb-5`};function ot(e,t,n,i,s,c){let l=f(`prompt-input`),h=f(`model-selector`),g=f(`style-selector`),_=f(`ratio-selector`),v=f(`motion-selector`),y=f(`quality-selector`),b=f(`start-image`),x=f(`seed-selector`),S=f(`duration-selector`),C=f(`consumption`),w=f(`font-awesome-icon`),T=f(`el-button`);return d(),p(`div`,rt,[r(`div`,it,[o(l,{class:`mb-4`}),o(h,{class:`mb-4`}),o(g,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-2`}),o(x,{class:`mb-4`}),o(S,{class:`mb-4`})]),r(`div`,at,[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:m(()=>[o(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`pixverse.button.generate`)),1)]),_:1},8,[`onClick`])])])}var st=j(nt,[[`render`,ot]]),ct=c({name:`TaskPreview`,components:{ElImage:x,CopyToClipboard:V,FontAwesomeIcon:B,ElAlert:S,VideoPlayer:Z,ElTooltip:b,ElButton:g,ApiCodeButton:X},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pixverse?.application},config(){return this.$store.state.pixverse?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),lt={class:`preview`},ut={class:`left`},dt={class:`main`},ft={class:`bot`},pt={class:`datetime`},mt={class:`info`},ht={key:0,class:`prompt mt-2`},gt={key:0},_t={key:1},vt={key:0,class:t({content:!0,failed:!0})},yt={key:0,class:`mb-4`},bt={key:1,class:t({operations:!0,"mt-2":!0})},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},wt={key:1,class:t({content:!0})},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Ot(e,t,i,c,l,h){let g=f(`el-image`),_=f(`video-player`),v=f(`el-button`),y=f(`el-tooltip`),b=f(`api-code-button`),x=f(`font-awesome-icon`),S=f(`copy-to-clipboard`),C=f(`el-alert`);return d(),p(`div`,lt,[r(`div`,ut,[o(g,{src:`https://cdn.acedata.cloud/viy61r.jpg`,class:`avatar`})]),r(`div`,dt,[r(`div`,ft,[a(u(e.$t(`pixverse.name.pixverseBot`))+` `,1),r(`span`,pt,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,mt,[e.modelValue?.request?.prompt?(d(),p(`p`,ht,[a(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?s(``,!0):(d(),p(`span`,gt,` - (`+u(e.$t(`pixverse.status.pending`))+`) `,1)),e.modelValue?.response?.data&&(e.modelValue?.response?.data[0]?.state===`processing`||e.modelValue?.response?.data[0]?.state===`pending`)?(d(),p(`span`,_t,` - (`+u(e.$t(`pixverse.status.processing`))+`) `,1)):s(``,!0)])):s(``,!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(d(),p(`div`,vt,[e.modelValue?.response?.data[0]?.video_url?(d(),p(`div`,yt,[o(_,{src:e.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):s(``,!0),e.modelValue?.response.success?(d(),p(`div`,bt,[o(y,{class:`box-item`,effect:`dark`,content:e.$t(`pixverse.message.downloadVideo`),placement:`top-start`},{default:m(()=>[e.modelValue?.response?.data[0]?.video_url?(d(),n(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:t[0]||=t=>e.onDownload(t,e.modelValue?.response?.data[0]?.video_url)},{default:m(()=>[a(u(e.$t(`pixverse.button.download`)),1)]),_:1})):s(``,!0)]),_:1},8,[`content`]),o(b,{path:`/pixverse/videos`,body:e.modelValue?.request},null,8,[`body`])])):s(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:m(()=>[r(`p`,xt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.model`))+`: `+u(e.modelValue?.request?.model),1)]),r(`p`,St,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,Ct,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===!1?(d(),p(`div`,wt,[o(C,{closable:!1,class:`info`},{template:m(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.failure`)),1)]),default:m(()=>[r(`p`,Tt,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),r(`p`,Et,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,$,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0),e.modelValue?.response?.trace_id?(d(),p(`p`,Dt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):s(``,!0)]),_:1})])):s(``,!0)])])}var kt=c({name:`RecentPanel`,components:{TaskPreview:j(ct,[[`render`,Ot],[`__scopeId`,`data-v-94961727`]]),NoTasks:J,BotPlaceholder:U,ScrollList:G},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pixverse?.tasks,items:this.$store.state.pixverse?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),At={key:0},jt={key:2,class:`w-full h-full flex items-center justify-center`};function Mt(e,t,r,i,a,c){let u=f(`bot-placeholder`),g=f(`task-preview`),_=f(`scroll-list`),v=f(`no-tasks`);return d(),p(h,null,[e.tasks?.items===void 0?(d(),p(`div`,At,[o(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(d(),n(_,{key:1,ref:`scrollList`,class:`h-full w-full overflow-y-auto tasks`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:m(()=>[(d(!0),p(h,null,l(e.tasks?.items,(e,t)=>(d(),n(g,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):s(``,!0),e.tasks?.items?.length===0?(d(),p(`div`,jt,[o(v)])):s(``,!0)],64)}var Nt=j(kt,[[`render`,Mt]]),Pt=k(`pixverse`),Ft=c({name:`PixverseIndex`,components:{ConfigPanel:st,Layout:oe,RecentPanel:Nt},mixins:[R],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===L.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===L.Request||this.fetchingTasks},credential(){return this.$store.state.pixverse.credential},config(){return this.$store.state.pixverse.config},tasks(){return this.$store.state.pixverse.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 K({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(`pixverse/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`pixverse/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(`pixverse/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!A(this.uploadTracker,e=>this.$t(e),e=>M.warning(e)))return;let e={...this.config,callback_url:Pt},t=this.credential?.token;if(!t){console.error(`no token specified`);return}M.info(this.$t(`pixverse.message.startingTask`)),P(`pixverse`,I.generate(e,{token:t})).then(()=>{M.success(this.$t(`pixverse.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?M.error(this.$t(`pixverse.message.usedUp`)):M.error(this.$t(`pixverse.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function It(e,t,r,i,a,s){let c=f(`config-panel`),l=f(`recent-panel`),u=f(`layout`);return d(),n(u,null,{config:m(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:m(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Lt=j(Ft,[[`render`,It]]);export{Lt as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,Ht as i,M as a,N as o,O as s,P as c,Q as l,Ut as u,X as d,et as f,k as p,lt as m,x as h}from"./vendor-chart-Df3WBvr0.js";import{t as g}from"./button-Diu_mJ2H.js";import{r as _,t as v}from"./select-TkQ8fTfG.js";import{t as y}from"./upload-DvUP_130.js";import{t as b}from"./tooltip-hII4wDEz.js";import{t as x}from"./image-DfBMdB5i.js";import{t as S}from"./alert-Cs6WDxgv.js";import{t as C}from"./drawer-B42T8GMw.js";import{t as w}from"./input-number-hF6S2tOX.js";import{t as T}from"./slider-EqIMzl6G.js";import{Dn as E,En as D,Tn as O,qr as k,wn as ee}from"./constants-BH6GgBVD.js";import{At as te,Dt as A,E as j,Er as M,Mt as N,Nn as P,Ot as F,cn as I,gr as L,kt as R,yr as z}from"./index-h1VSduWr.js";import{t as B}from"./index.es-BE5hSUb7.js";import{t as V}from"./CopyToClipboard-DhVhNUXq.js";import{t as H}from"./ImagePreview-DHUA_A_A.js";import{t as U}from"./BotPlaceholder-BIvYhNGJ.js";import{i as W,n as G,t as K}from"./pagination-BB30gtKs.js";import{n as q,t as J}from"./NoTasks-sy2GTN52.js";import{t as Y}from"./Consumption-kIdlj4_c.js";import{t as X}from"./ApiCodeButton-BF0PS1pj.js";import{t as Z}from"./VideoPlayer-DuaXKjXf.js";var Q=c({name:`LayoutPixverse`,components:{ElDrawer:C,ElButton:g,FontAwesomeIcon:B},data(){return{drawer:!1}}}),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(t,n,i,a,s,c){let l=f(`font-awesome-icon`),u=f(`el-button`),h=f(`el-drawer`);return d(),p(`div`,ne,[r(`div`,re,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,ie,[e(t.$slots,`result`,{},void 0,!0)]),o(u,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:m(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1}),o(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:m(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var oe=j(Q,[[`render`,ae],[`__scopeId`,`data-v-ea5fe174`]]),se=c({name:`ModelSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`v3.5`,label:`v3.5`},{value:`v4`,label:`v4`},{value:`v4.5`,label:`v4.5`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.model},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,model:e})}}},mounted(){this.value||=O}}),ce={class:`field`},le={class:`title font-bold`};function ue(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,ce,[r(`h2`,le,u(e.$t(`pixverse.name.model`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var de=j(se,[[`render`,ue],[`__scopeId`,`data-v-e8f337ca`]]),fe=c({name:`QualitySelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`360p`,label:`360p`},{value:`540p`,label:`540p`},{value:`720p`,label:`720p`},{value:`1080p`,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.quality},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,quality:e})}}},mounted(){this.value||=E}}),pe={class:`field`},me={class:`title font-bold`};function he(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,pe,[r(`h2`,me,u(e.$t(`pixverse.name.quality`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ge=j(fe,[[`render`,he],[`__scopeId`,`data-v-64aeaae9`]]),_e=c({name:`MotionSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`normal`,label:this.$t(`pixverse.name.motion1`)},{value:`fast`,label:this.$t(`pixverse.name.motion2`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.motion},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,motion:e})}}},mounted(){this.value||=D}}),ve={class:`field`},ye={class:`title font-bold`};function be(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,ve,[r(`h2`,ye,u(e.$t(`pixverse.name.motion`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var xe=j(_e,[[`render`,be],[`__scopeId`,`data-v-94237408`]]),Se=c({name:`StyleSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`cyberpunk`,label:this.$t(`pixverse.name.style1`)},{value:`anime`,label:this.$t(`pixverse.name.style2`)},{value:`comic`,label:this.$t(`pixverse.name.style3`)},{value:`clay`,label:this.$t(`pixverse.name.style4`)},{value:`3d_animation`,label:this.$t(`pixverse.name.style5`)},{value:`realistic`,label:this.$t(`pixverse.name.style6`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.style},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,style:e})}}},mounted(){this.value||=``}}),Ce={class:`field`},we={class:`title font-bold`};function Te(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,Ce,[r(`h2`,we,u(e.$t(`pixverse.name.style`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ee=j(Se,[[`render`,Te],[`__scopeId`,`data-v-64e17b3c`]]),De=c({name:`SeedSelector`,components:{ElSlider:T,InfoIcon:W,ElInputNumber:w},computed:{value:{get(){return this.$store.state?.pixverse?.config?.seed},set(e){console.debug(`set seed`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,seed:e})}}},mounted(){this.value||=void 0}}),Oe={class:`flex justify-between`},ke={class:`flex justify-start items-center`},Ae={class:`text-sm font-bold`},je={class:`flex justify-end items-center`},Me={class:`w-full`};function Ne(e,t,n,i,a,s){let c=f(`info-icon`),l=f(`el-input-number`),m=f(`el-slider`);return d(),p(`div`,null,[r(`div`,Oe,[r(`div`,ke,[r(`span`,Ae,u(e.$t(`pixverse.name.seed`)),1),o(c,{content:e.$t(`pixverse.description.seed`)},null,8,[`content`])]),r(`div`,je,[o(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,"controls-position":`right`},null,8,[`modelValue`])])]),r(`div`,Me,[o(m,{modelValue:e.value,"onUpdate:modelValue":t[1]||=t=>e.value=t,min:0,max:1e3,step:1},null,8,[`modelValue`])])])}var Pe=j(De,[[`render`,Ne]]),Fe=c({name:`DurationSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:5,label:`5s`},{value:8,label:`8s`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.duration},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,duration:e})}}},mounted(){this.value||=5}}),Ie={class:`field`},Le={class:`title font-bold`};function Re(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,Ie,[r(`h2`,Le,u(e.$t(`pixverse.name.duration`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ze=j(Fe,[[`render`,Re],[`__scopeId`,`data-v-065c77ef`]]),Be=c({name:`RatioSelector`,data(){return{options:[{value:`1:1`,label:`1:1`,width:20,height:20},{value:`4:3`,label:`4:3`,width:20,height:15},{value:`3:4`,label:`3:4`,width:15,height:20},{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.pixverse.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,aspect_ratio:e})}}},mounted(){this.value||=ee}}),Ve={class:`text-sm font-bold mb-2 block`},He={class:`items`},Ue=[`onClick`],We={class:`name`};function Ge(e,n,a,o,s,c){return d(),p(`div`,null,[r(`span`,Ve,u(e.$t(`pixverse.name.aspectRatio`)),1),r(`div`,He,[(d(!0),p(h,null,l(e.options,(n,a)=>(d(),p(`div`,{key:a,class:t({active:e.active===a,item:!0}),onClick:t=>e.value=n.value},[r(`div`,{class:t([`preview`,n.label])},[r(`div`,{class:`rect`,style:i({width:n.width+`px`,height:n.height+`px`})},null,4)],2),r(`p`,We,u(n.label),1)],10,Ue))),128))])])}var Ke=j(Be,[[`render`,Ge],[`__scopeId`,`data-v-53038264`]]),qe=c({name:`StartImage`,components:{ElUpload:y,ElButton:g,InfoIcon:W,FontAwesomeIcon:B,ImagePreview:H},mixins:[te,F],emits:[`change`],data(){return{fileList:[],uploadUrl:z()+`/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?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){M.warning(this.$t(`pixverse.message.uploadReferencesExceed`))},onError(){M.error(this.$t(`pixverse.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Je={class:`relative`},Ye={class:`flex justify-between`},Xe={class:`flex justify-start items-center`},Ze={class:`text-sm font-bold`};function Qe(e,t,i,c,l,h){let g=f(`info-icon`),_=f(`image-preview`),v=f(`font-awesome-icon`),y=f(`el-button`),b=f(`el-upload`);return d(),p(`div`,Je,[r(`div`,Ye,[r(`div`,Xe,[r(`span`,Ze,u(e.$t(`pixverse.name.startImage`)),1),o(g,{content:e.$t(`pixverse.description.uploadStartImage`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):s(``,!0)]),default:m(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:m(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`pixverse.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var $e=j(qe,[[`render`,Qe],[`__scopeId`,`data-v-0d570ad7`]]),et=c({name:`PromptInput`,components:{PromptTextarea:q},computed:{prompt:{get(){return this.$store.state.pixverse?.config?.prompt},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse?.config,prompt:e})}}},mounted(){this.prompt||=``}});function tt(e,t,r,i,a,o){let s=f(`prompt-textarea`);return d(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`pixverse.name.prompt`),info:e.$t(`pixverse.description.prompt`),placeholder:e.$t(`pixverse.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var nt=c({name:`ConfigPanel`,components:{ElButton:g,FontAwesomeIcon:B,PromptInput:j(et,[[`render`,tt]]),ModelSelector:de,QualitySelector:ge,MotionSelector:xe,StyleSelector:Ee,DurationSelector:ze,StartImage:$e,SeedSelector:Pe,RatioSelector:Ke,Consumption:Y},emits:[`generate`],computed:{config(){return this.$store.state.pixverse?.config},consumption(){return N(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),rt={class:`flex flex-col h-full`},it={class:`flex-1 overflow-y-auto p-5`},at={class:`flex flex-col items-center justify-center px-5 pb-5`};function ot(e,t,n,i,s,c){let l=f(`prompt-input`),h=f(`model-selector`),g=f(`style-selector`),_=f(`ratio-selector`),v=f(`motion-selector`),y=f(`quality-selector`),b=f(`start-image`),x=f(`seed-selector`),S=f(`duration-selector`),C=f(`consumption`),w=f(`font-awesome-icon`),T=f(`el-button`);return d(),p(`div`,rt,[r(`div`,it,[o(l,{class:`mb-4`}),o(h,{class:`mb-4`}),o(g,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-2`}),o(x,{class:`mb-4`}),o(S,{class:`mb-4`})]),r(`div`,at,[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:m(()=>[o(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`pixverse.button.generate`)),1)]),_:1},8,[`onClick`])])])}var st=j(nt,[[`render`,ot]]),ct=c({name:`TaskPreview`,components:{ElImage:x,CopyToClipboard:V,FontAwesomeIcon:B,ElAlert:S,VideoPlayer:Z,ElTooltip:b,ElButton:g,ApiCodeButton:X},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pixverse?.application},config(){return this.$store.state.pixverse?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),lt={class:`preview`},ut={class:`left`},dt={class:`main`},ft={class:`bot`},pt={class:`datetime`},mt={class:`info`},ht={key:0,class:`prompt mt-2`},gt={key:0},_t={key:1},vt={key:0,class:t({content:!0,failed:!0})},yt={key:0,class:`mb-4`},bt={key:1,class:t({operations:!0,"mt-2":!0})},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},wt={key:1,class:t({content:!0})},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Ot(e,t,i,c,l,h){let g=f(`el-image`),_=f(`video-player`),v=f(`el-button`),y=f(`el-tooltip`),b=f(`api-code-button`),x=f(`font-awesome-icon`),S=f(`copy-to-clipboard`),C=f(`el-alert`);return d(),p(`div`,lt,[r(`div`,ut,[o(g,{src:`https://cdn.acedata.cloud/viy61r.jpg`,class:`avatar`})]),r(`div`,dt,[r(`div`,ft,[a(u(e.$t(`pixverse.name.pixverseBot`))+` `,1),r(`span`,pt,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,mt,[e.modelValue?.request?.prompt?(d(),p(`p`,ht,[a(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?s(``,!0):(d(),p(`span`,gt,` - (`+u(e.$t(`pixverse.status.pending`))+`) `,1)),e.modelValue?.response?.data&&(e.modelValue?.response?.data[0]?.state===`processing`||e.modelValue?.response?.data[0]?.state===`pending`)?(d(),p(`span`,_t,` - (`+u(e.$t(`pixverse.status.processing`))+`) `,1)):s(``,!0)])):s(``,!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(d(),p(`div`,vt,[e.modelValue?.response?.data[0]?.video_url?(d(),p(`div`,yt,[o(_,{src:e.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):s(``,!0),e.modelValue?.response.success?(d(),p(`div`,bt,[o(y,{class:`box-item`,effect:`dark`,content:e.$t(`pixverse.message.downloadVideo`),placement:`top-start`},{default:m(()=>[e.modelValue?.response?.data[0]?.video_url?(d(),n(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:t[0]||=t=>e.onDownload(t,e.modelValue?.response?.data[0]?.video_url)},{default:m(()=>[a(u(e.$t(`pixverse.button.download`)),1)]),_:1})):s(``,!0)]),_:1},8,[`content`]),o(b,{path:`/pixverse/videos`,body:e.modelValue?.request},null,8,[`body`])])):s(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:m(()=>[r(`p`,xt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.model`))+`: `+u(e.modelValue?.request?.model),1)]),r(`p`,St,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,Ct,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===!1?(d(),p(`div`,wt,[o(C,{closable:!1,class:`info`},{template:m(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.failure`)),1)]),default:m(()=>[r(`p`,Tt,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),r(`p`,Et,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,$,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0),e.modelValue?.response?.trace_id?(d(),p(`p`,Dt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):s(``,!0)]),_:1})])):s(``,!0)])])}var kt=c({name:`RecentPanel`,components:{TaskPreview:j(ct,[[`render`,Ot],[`__scopeId`,`data-v-94961727`]]),NoTasks:J,BotPlaceholder:U,ScrollList:G},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pixverse?.tasks,items:this.$store.state.pixverse?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),At={key:0},jt={key:2,class:`w-full h-full flex items-center justify-center`};function Mt(e,t,r,i,a,c){let u=f(`bot-placeholder`),g=f(`task-preview`),_=f(`scroll-list`),v=f(`no-tasks`);return d(),p(h,null,[e.tasks?.items===void 0?(d(),p(`div`,At,[o(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(d(),n(_,{key:1,ref:`scrollList`,class:`h-full w-full overflow-y-auto tasks`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:m(()=>[(d(!0),p(h,null,l(e.tasks?.items,(e,t)=>(d(),n(g,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):s(``,!0),e.tasks?.items?.length===0?(d(),p(`div`,jt,[o(v)])):s(``,!0)],64)}var Nt=j(kt,[[`render`,Mt]]),Pt=k(`pixverse`),Ft=c({name:`PixverseIndex`,components:{ConfigPanel:st,Layout:oe,RecentPanel:Nt},mixins:[R],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===L.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===L.Request||this.fetchingTasks},credential(){return this.$store.state.pixverse.credential},config(){return this.$store.state.pixverse.config},tasks(){return this.$store.state.pixverse.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 K({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(`pixverse/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`pixverse/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(`pixverse/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!A(this.uploadTracker,e=>this.$t(e),e=>M.warning(e)))return;let e={...this.config,callback_url:Pt},t=this.credential?.token;if(!t){console.error(`no token specified`);return}M.info(this.$t(`pixverse.message.startingTask`)),P(`pixverse`,I.generate(e,{token:t})).then(()=>{M.success(this.$t(`pixverse.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?M.error(this.$t(`pixverse.message.usedUp`)):M.error(this.$t(`pixverse.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function It(e,t,r,i,a,s){let c=f(`config-panel`),l=f(`recent-panel`),u=f(`layout`);return d(),n(u,null,{config:m(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:m(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Lt=j(Ft,[[`render`,It]]);export{Lt as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,M as i,N as a,O as o,P as s,Q as c,T as l,Ut as u,X as d,et as f,k as p,lt as m,x as h}from"./vendor-chart-Df3WBvr0.js";import{t as g}from"./button-Diu_mJ2H.js";import{n as _,t as v}from"./tabs-D_soGpxM.js";import{t as y}from"./upload-DL6R-BcD.js";import{t as b}from"./image-D6w_R6Gb.js";import{t as x}from"./alert-Cs6WDxgv.js";import{n as S,r as C}from"./radio-ClH7NqRe.js";import{t as w}from"./drawer-B42T8GMw.js";import{n as ee,t as te}from"./skeleton-Cc4nM_v1.js";import{qr as T}from"./constants-BH6GgBVD.js";import{At as E,Dt as D,E as O,Er as k,Nn as A,On as j,Ot as M,an as N,gr as P,kt as F,yr as I}from"./index-B0D_GXuA.js";import{t as L}from"./index.es-CyW7EvoI.js";import{t as R}from"./CopyToClipboard-D0L4lc6w.js";import{t as z}from"./Status-O5IGe9zL.js";import{t as B}from"./ImagePreview-4W25TI3U.js";import{i as V,n as H,t as U}from"./pagination-BGnbEU3d.js";import{t as W}from"./ApiCodeButton-DkBjUHPb.js";var G=s({name:`LayoutHeadshots`,components:{ElDrawer:w,ElButton:g,FontAwesomeIcon:L},data(){return{drawer:!1}}}),K={class:`main flex flex-row flex-1`},q={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},J={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Y(t,n,i,o,s,c){let l=f(`font-awesome-icon`),u=f(`el-button`),h=f(`el-drawer`);return d(),p(`div`,K,[r(`div`,q,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,J,[e(t.$slots,`result`,{},void 0,!0)]),a(u,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:m(()=>[a(l,{icon:`fa-solid fa-gear`})]),_:1}),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,"with-header":!1,size:`340px`,class:`drawer`},{default:m(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var X=O(G,[[`render`,Y],[`__scopeId`,`data-v-ada6b2d1`]]),Z=s({name:`ImageUrlsInput`,components:{ElUpload:y,ElButton:g,InfoIcon:V,ImagePreview:B,FontAwesomeIcon:L},mixins:[E,M],data(){return{fileList:[],uploadUrl:I()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.headshots?.config?.image_urls},set(){let e=this.urls;this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots?.config,image_urls:e})}}},mounted(){this.value||=void 0,this.onSetImageUrls()},methods:{onExceed(){k.warning(this.$t(`headshots.message.uploadImageExceed`))},onError(){k.error(this.$t(`headshots.message.uploadImageError`))},onSetImageUrls(){let e=this.urls;this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots?.config,image_urls:e})},async onSuccess(){this.onSetImageUrls()}}}),Q={class:`field`},ne={class:`title font-bold`},re={class:`upload-wrapper`};function ie(e,t,n,o,s,c){let l=f(`image-preview`),h=f(`font-awesome-icon`),g=f(`el-button`),_=f(`el-upload`),v=f(`info-icon`);return d(),p(`div`,Q,[r(`h2`,ne,u(e.$t(`headshots.name.endImageUrls`)),1),r(`div`,re,[a(_,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value upload-wrapper`,limit:2,multiple:!0,"list-type":`picture`,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:t})=>[a(l,{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:m(()=>[a(g,{size:`small`,type:`primary`,round:``},{default:m(()=>[a(h,{icon:`fa-solid fa-upload`,class:`mr-1`}),i(` `+u(e.$t(`headshots.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])]),a(v,{content:e.$t(`headshots.description.endImageUrls`),class:`info`},null,8,[`content`])])}var ae=O(Z,[[`render`,ie],[`__scopeId`,`data-v-d468812a`]]),oe=`fast`,se=s({name:`ModeSelector`,components:{ElRadioButton:S,ElRadioGroup:C},data(){return{options:[{label:this.$t(`headshots.button.fast`),value:`fast`},{label:this.$t(`headshots.button.relax`),value:`relax`}]}},computed:{value:{get(){return this.$store.state.headshots.config?.mode},set(e){console.debug(`set mode`,e),this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots.config,mode:e})}}},mounted(){this.value||=oe}}),ce={class:`field`},le={class:`title font-bold`};function ue(e,t,o,s,l,g){let _=f(`el-radio-button`),v=f(`el-radio-group`);return d(),p(`div`,ce,[r(`h2`,le,u(e.$t(`headshots.name.mode`)),1),a(v,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`mode`},{default:m(()=>[(d(!0),p(h,null,c(e.options,e=>(d(),n(_,{key:e.value,label:e.value},{default:m(()=>[i(u(e.label),1)]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`])])}var de=O(se,[[`render`,ue],[`__scopeId`,`data-v-e7702494`]]),fe=s({name:`StylizeSelector`,components:{ElTabs:_,ElTabPane:v,ElImage:b},data(){return{tab:`styles`,value:``,elements:{styles:{displayName:this.$t(`headshots.styleCategory.styles`),items:[{image:`https://static.aipedias.com/aicamera/common/20241008/20241008202314260779439.png`,label:this.$t(`headshots.styleTag.malePportrait`),value:`male_portrait`},{image:`https://static.aipedias.com/aicamera/common/20241008/202410082022241e9755548.png`,label:this.$t(`headshots.styleTag.malePportrait2`),value:`male_portrait2`},{image:`https://static.aipedias.com/aicamera/common/20241101/20241101170130d78f66521.png`,label:this.$t(`headshots.styleTag.kindergarten`),value:`kindergarten`},{image:`https://static.aipedias.com/aicamera/common/20240923/20240923123233accf60398.webp`,label:this.$t(`headshots.styleTag.logoTshirt`),value:`logo_tshirt`},{image:`https://static.aipedias.com/aicamera/common/20241025/202410252012329472d0656.jpg`,label:this.$t(`headshots.styleTag.wedding`),value:`wedding`},{image:`https://static.aipedias.com/aicamera/common/20240915/20240915145045254931400.webp`,label:this.$t(`headshots.styleTag.businessPphoto`),value:`business_photo`},{image:`https://static.aipedias.com/aicamera/common/20240810/20240810194526040341795.jpg`,label:this.$t(`headshots.styleTag.bobSuit`),value:`bob_suit`},{image:`https://static.aipedias.com/aicamera/common/20240717/20240717152654e0b348173.webp`,label:this.$t(`headshots.styleTag.femalePortrait`),value:`female_portrait`}]}}}},watch:{value(e){console.debug(`set template`,e),this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots?.config,template:e})}},mounted(){this.value||=``,console.debug(`set template`,this.value),this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots?.config,template:this.value})},methods:{onToggle(e){this.value===e?this.value=``:this.value=e,console.debug(`set template`,this.value),this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots?.config,template:this.value})}}}),pe={class:`field`},me=[`onClick`],he={class:`name`};function ge(e,i,o,s,l,g){let _=f(`el-image`),v=f(`el-tab-pane`),y=f(`el-tabs`);return d(),p(`div`,pe,[a(y,{modelValue:e.tab,"onUpdate:modelValue":i[0]||=t=>e.tab=t},{default:m(()=>[(d(!0),p(h,null,c(e.elements,(i,o)=>(d(),n(v,{key:o,label:i.displayName,name:o,class:`pane`},{default:m(()=>[(d(!0),p(h,null,c(i.items,(n,i)=>(d(),p(`div`,{key:i,class:t({item:!0,active:e.value===n.value}),onClick:t=>e.onToggle(n.value)},[a(_,{src:n.image,fit:`fill`,class:`preview`},null,8,[`src`]),r(`span`,he,u(n.label),1)],10,me))),128))]),_:2},1032,[`label`,`name`]))),128))]),_:1},8,[`modelValue`])])}var _e=s({name:`PresetPanel`,components:{ModeSelector:de,ImageUrlsInput:ae,ElButton:g,FontAwesomeIcon:L,ElementsSelector:O(fe,[[`render`,ge],[`__scopeId`,`data-v-be4bd25d`]])},emits:[`generate`],computed:{config(){return this.$store.state.headshots?.config}},methods:{onGenerate(){this.$emit(`generate`)}}}),ve={class:`panel`},ye={class:`config`},be={class:`actions`};function xe(e,t,n,o,s,c){let l=f(`elements-selector`),h=f(`mode-selector`),g=f(`image-urls-input`),_=f(`font-awesome-icon`),v=f(`el-button`);return d(),p(`div`,ve,[r(`div`,ye,[a(l,{class:`mb-4`}),a(h,{class:`mb-4`}),a(g,{class:`mb-4`}),r(`div`,be,[a(v,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:m(()=>[a(_,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+u(e.$t(`headshots.button.generate`)),1)]),_:1},8,[`onClick`])])])])}var Se=O(_e,[[`render`,xe],[`__scopeId`,`data-v-848739f6`]]),Ce=s({name:`ImageGallery`,props:{modelValue:{type:Object,required:!0}},setup(e){return{images:l(()=>e.modelValue?.response?.data?.slice(0,2)||[]),viewImage:e=>{window.open(e,`_blank`)}}}}),we={class:`image-gallery`},Te=[`src`],Ee=[`onClick`];function De(e,t,n,i,a,s){return d(),p(`div`,we,[(d(!0),p(h,null,c(e.images,(t,n)=>(d(),p(`div`,{key:n,class:`image-container`},[r(`img`,{src:t.image_url,alt:`Image`},null,8,Te),t.image_url?(d(),p(`button`,{key:0,class:`view-button`,onClick:n=>e.viewImage(t.image_url)},u(e.$t(`headshots.button.viewImage`)),9,Ee)):o(``,!0)]))),128))])}var Oe=s({name:`TaskPreview`,components:{ElImage:b,CopyToClipboard:R,FontAwesomeIcon:L,ElAlert:x,ImageGallery:O(Ce,[[`render`,De],[`__scopeId`,`data-v-42f0a7be`]]),ApiCodeButton:W},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.headshots?.application},config(){return this.$store.state.headshots?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onReload(e){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()},onOpenVideo(e){window.open(e,`_blank`)}}}),ke={class:`preview`},Ae={class:`left`},je={class:`main`},Me={class:`bot`},Ne={class:`datetime`},Pe={class:`info`},Fe={key:0,class:`prompt mt-2`},Ie={key:0},Le={key:1},Re={key:0,class:t({content:!0,failed:!0})},ze={class:`image-wrapper`},Be={class:t({operations:!0,"mt-2":!0,"mb-2":!0})},Ve={class:`description`},He={key:0,class:`description`},Ue={key:1,class:t({content:!0})},We={class:`description`},Ge={class:`description`},Ke={key:0,class:`description`},qe={class:`description`},Je={key:2,class:t({content:!0})},$={class:`description`},Ye={key:3,class:t({content:!0})},Xe={class:`description`};function Ze(e,t,n,s,c,l){let h=f(`el-image`),g=f(`image-gallery`),_=f(`api-code-button`),v=f(`font-awesome-icon`),y=f(`copy-to-clipboard`),b=f(`el-alert`);return d(),p(`div`,ke,[r(`div`,Ae,[a(h,{src:`https://cdn.acedata.cloud/isxyfw.png`,class:`avatar`})]),r(`div`,je,[r(`div`,Me,[i(u(e.$t(`headshots.name.headshotsBot`))+` `,1),r(`span`,Ne,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,Pe,[e.modelValue?.request?.template?(d(),p(`p`,Fe,[i(u(e.modelValue?.request?.template)+` `,1),e.modelValue?.response?o(``,!0):(d(),p(`span`,Ie,` - (`+u(e.$t(`headshots.status.pending`))+`) `,1)),e.modelValue?.response?.status===`unknown`?(d(),p(`span`,Le,` - (`+u(e.$t(`headshots.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),e.modelValue?.response?.success===!0?(d(),p(`div`,Re,[r(`div`,ze,[a(g,{"model-value":e.modelValue},null,8,[`model-value`])]),r(`div`,Be,[a(_,{path:`/headshots/images`,body:e.modelValue?.request},null,8,[`body`])]),a(b,{closable:!1,class:`mt-2 success`},{default:m(()=>[r(`p`,Ve,[a(v,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),a(y,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,He,[a(v,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),e.modelValue?.response?.success===!1?(d(),p(`div`,Ue,[a(b,{closable:!1,class:`failure`},{template:m(()=>[a(v,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.failure`)),1)]),default:m(()=>[r(`p`,We,[a(v,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),a(y,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r(`p`,Ge,[a(v,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),a(y,{content:e.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,Ke,[a(v,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),r(`p`,qe,[a(v,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),a(y,{content:e.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),e.modelValue?.response?o(``,!0):(d(),p(`div`,Je,[a(b,{closable:!1,class:`info`},{template:m(()=>[a(v,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.failure`)),1)]),default:m(()=>[r(`p`,$,[a(v,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),a(y,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})])),e.modelValue?.response?.status===`unknown`?(d(),p(`div`,Ye,[a(b,{closable:!1,class:`info`},{template:m(()=>[a(v,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.failure`)),1)]),default:m(()=>[r(`p`,Xe,[a(v,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),a(y,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var Qe=s({name:`RecentPanel`,components:{TaskPreview:O(Oe,[[`render`,Ze],[`__scopeId`,`data-v-4449c07c`]]),ElSkeleton:te,ElSkeletonItem:ee,ScrollList:H},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.headshots?.tasks,items:this.$store.state.headshots?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),$e={key:0,class:`tasks`},et={class:`left`},tt={class:`main`},nt={key:1,class:`tasks`},rt={key:2,class:`description`};function it(e,t,i,s,l,g){let _=f(`el-skeleton-item`),v=f(`el-skeleton`),y=f(`task-preview`),b=f(`scroll-list`);return d(),n(b,{ref:`scrollList`,class:`panel recent`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:m(()=>[e.tasks?.items===void 0?(d(),p(`div`,$e,[(d(),p(h,null,c(3,e=>r(`div`,{key:e,class:`task placeholder`},[r(`div`,et,[a(v,{animated:``},{template:m(()=>[a(_,{variant:`image`,class:`avatar`})]),_:1})]),r(`div`,tt,[a(v,{animated:``},{template:m(()=>[a(_,{variant:`p`,class:`title`}),a(_,{variant:`image`,class:`icon`})]),_:1})])])),64))])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(d(),p(`div`,nt,[(d(!0),p(h,null,c(e.tasks?.items,(e,t)=>(d(),n(y,{key:t,"model-value":e,class:`preview`},null,8,[`model-value`]))),128))])):o(``,!0),e.tasks?.items?.length===0?(d(),p(`p`,rt,u(e.$t(`headshots.message.noTasks`)),1)):o(``,!0)]),_:1},8,[`loading`])}var at=O(Qe,[[`render`,it],[`__scopeId`,`data-v-ffd55c16`]]),ot=T(`headshots`),st=s({name:`HeadshotsIndex`,components:{ConfigPanel:Se,Layout:X,ApplicationStatus:z,RecentPanel:at},mixins:[F],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.headshots?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.headshots?.status?.getTasks===P.Request||this.fetchingTasks},service(){return this.$store.state.headshots.service},credential(){return this.$store.state.headshots.credential},config(){return this.$store.state.headshots.config},initializing(){return this.$store.state.headshots.status.getApplications===P.Request},needApply(){return this.$store.state.headshots.status.getApplications===P.Success&&!this.application},application(){return this.$store.state.headshots.application},applications(){return this.$store.state.headshots.applications},tasks(){return this.$store.state.headshots.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await U({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`headshots/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`headshots/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},onApply(){j.create({application:this.application}).then(({data:e})=>{this.application=e,k.success(this.$t(`application.message.applySuccessfully`))}).catch(e=>{e?.response?.data?.code===`duplication`&&k.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(`headshots/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGeneratePicture(){if(!D(this.uploadTracker,e=>this.$t(e),e=>k.warning(e)))return;let e={...this.config,callback_url:ot},t=this.credential?.token;if(!t){console.error(`no token specified`);return}k.info(this.$t(`headshots.message.startingTask`)),A(`headshots`,N.generate(e,{token:t})).then(()=>{k.success(this.$t(`headshots.message.startTaskSuccess`)),this.$store.commit(`headshots/setConfig`,{config:void 0})}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?k.error(this.$t(`headshots.message.usedUp`)):k.error(this.$t(`headshots.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ct(e,t,r,i,o,s){let c=f(`config-panel`),l=f(`application-status`),u=f(`recent-panel`),p=f(`layout`);return d(),n(p,null,{config:m(()=>[a(c,{onGenerate:e.onGeneratePicture},null,8,[`onGenerate`])]),result:m(()=>[a(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(`headshots/setApplication`,t)},null,8,[`initializing`,`application`,`applications`,`service`,`need-apply`,`onRefresh`]),a(u,{ref:`recentPanel`,class:`panel recent`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var lt=O(st,[[`render`,ct],[`__scopeId`,`data-v-c707e859`]]);export{lt as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,M as i,N as a,O as o,P as s,Q as c,T as l,Ut as u,X as d,et as f,k as p,lt as m,x as h}from"./vendor-chart-Df3WBvr0.js";import{t as g}from"./button-Diu_mJ2H.js";import{n as _,t as v}from"./tabs-CxEj-jBI.js";import{t as y}from"./upload-DvUP_130.js";import{t as b}from"./image-DfBMdB5i.js";import{t as x}from"./alert-Cs6WDxgv.js";import{n as S,r as C}from"./radio-ClH7NqRe.js";import{t as w}from"./drawer-B42T8GMw.js";import{n as ee,t as te}from"./skeleton-Cc4nM_v1.js";import{qr as T}from"./constants-BH6GgBVD.js";import{At as E,Dt as D,E as O,Er as k,Nn as A,On as j,Ot as M,an as N,gr as P,kt as F,yr as I}from"./index-h1VSduWr.js";import{t as L}from"./index.es-BE5hSUb7.js";import{t as R}from"./CopyToClipboard-DhVhNUXq.js";import{t as z}from"./Status-C6k6W-wd.js";import{t as B}from"./ImagePreview-DHUA_A_A.js";import{i as V,n as H,t as U}from"./pagination-BB30gtKs.js";import{t as W}from"./ApiCodeButton-BF0PS1pj.js";var G=s({name:`LayoutHeadshots`,components:{ElDrawer:w,ElButton:g,FontAwesomeIcon:L},data(){return{drawer:!1}}}),K={class:`main flex flex-row flex-1`},q={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},J={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Y(t,n,i,o,s,c){let l=f(`font-awesome-icon`),u=f(`el-button`),h=f(`el-drawer`);return d(),p(`div`,K,[r(`div`,q,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,J,[e(t.$slots,`result`,{},void 0,!0)]),a(u,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:m(()=>[a(l,{icon:`fa-solid fa-gear`})]),_:1}),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,"with-header":!1,size:`340px`,class:`drawer`},{default:m(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var X=O(G,[[`render`,Y],[`__scopeId`,`data-v-ada6b2d1`]]),Z=s({name:`ImageUrlsInput`,components:{ElUpload:y,ElButton:g,InfoIcon:V,ImagePreview:B,FontAwesomeIcon:L},mixins:[E,M],data(){return{fileList:[],uploadUrl:I()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.headshots?.config?.image_urls},set(){let e=this.urls;this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots?.config,image_urls:e})}}},mounted(){this.value||=void 0,this.onSetImageUrls()},methods:{onExceed(){k.warning(this.$t(`headshots.message.uploadImageExceed`))},onError(){k.error(this.$t(`headshots.message.uploadImageError`))},onSetImageUrls(){let e=this.urls;this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots?.config,image_urls:e})},async onSuccess(){this.onSetImageUrls()}}}),Q={class:`field`},ne={class:`title font-bold`},re={class:`upload-wrapper`};function ie(e,t,n,o,s,c){let l=f(`image-preview`),h=f(`font-awesome-icon`),g=f(`el-button`),_=f(`el-upload`),v=f(`info-icon`);return d(),p(`div`,Q,[r(`h2`,ne,u(e.$t(`headshots.name.endImageUrls`)),1),r(`div`,re,[a(_,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value upload-wrapper`,limit:2,multiple:!0,"list-type":`picture`,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:t})=>[a(l,{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:m(()=>[a(g,{size:`small`,type:`primary`,round:``},{default:m(()=>[a(h,{icon:`fa-solid fa-upload`,class:`mr-1`}),i(` `+u(e.$t(`headshots.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])]),a(v,{content:e.$t(`headshots.description.endImageUrls`),class:`info`},null,8,[`content`])])}var ae=O(Z,[[`render`,ie],[`__scopeId`,`data-v-d468812a`]]),oe=`fast`,se=s({name:`ModeSelector`,components:{ElRadioButton:S,ElRadioGroup:C},data(){return{options:[{label:this.$t(`headshots.button.fast`),value:`fast`},{label:this.$t(`headshots.button.relax`),value:`relax`}]}},computed:{value:{get(){return this.$store.state.headshots.config?.mode},set(e){console.debug(`set mode`,e),this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots.config,mode:e})}}},mounted(){this.value||=oe}}),ce={class:`field`},le={class:`title font-bold`};function ue(e,t,o,s,l,g){let _=f(`el-radio-button`),v=f(`el-radio-group`);return d(),p(`div`,ce,[r(`h2`,le,u(e.$t(`headshots.name.mode`)),1),a(v,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`mode`},{default:m(()=>[(d(!0),p(h,null,c(e.options,e=>(d(),n(_,{key:e.value,label:e.value},{default:m(()=>[i(u(e.label),1)]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`])])}var de=O(se,[[`render`,ue],[`__scopeId`,`data-v-e7702494`]]),fe=s({name:`StylizeSelector`,components:{ElTabs:_,ElTabPane:v,ElImage:b},data(){return{tab:`styles`,value:``,elements:{styles:{displayName:this.$t(`headshots.styleCategory.styles`),items:[{image:`https://static.aipedias.com/aicamera/common/20241008/20241008202314260779439.png`,label:this.$t(`headshots.styleTag.malePportrait`),value:`male_portrait`},{image:`https://static.aipedias.com/aicamera/common/20241008/202410082022241e9755548.png`,label:this.$t(`headshots.styleTag.malePportrait2`),value:`male_portrait2`},{image:`https://static.aipedias.com/aicamera/common/20241101/20241101170130d78f66521.png`,label:this.$t(`headshots.styleTag.kindergarten`),value:`kindergarten`},{image:`https://static.aipedias.com/aicamera/common/20240923/20240923123233accf60398.webp`,label:this.$t(`headshots.styleTag.logoTshirt`),value:`logo_tshirt`},{image:`https://static.aipedias.com/aicamera/common/20241025/202410252012329472d0656.jpg`,label:this.$t(`headshots.styleTag.wedding`),value:`wedding`},{image:`https://static.aipedias.com/aicamera/common/20240915/20240915145045254931400.webp`,label:this.$t(`headshots.styleTag.businessPphoto`),value:`business_photo`},{image:`https://static.aipedias.com/aicamera/common/20240810/20240810194526040341795.jpg`,label:this.$t(`headshots.styleTag.bobSuit`),value:`bob_suit`},{image:`https://static.aipedias.com/aicamera/common/20240717/20240717152654e0b348173.webp`,label:this.$t(`headshots.styleTag.femalePortrait`),value:`female_portrait`}]}}}},watch:{value(e){console.debug(`set template`,e),this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots?.config,template:e})}},mounted(){this.value||=``,console.debug(`set template`,this.value),this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots?.config,template:this.value})},methods:{onToggle(e){this.value===e?this.value=``:this.value=e,console.debug(`set template`,this.value),this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots?.config,template:this.value})}}}),pe={class:`field`},me=[`onClick`],he={class:`name`};function ge(e,i,o,s,l,g){let _=f(`el-image`),v=f(`el-tab-pane`),y=f(`el-tabs`);return d(),p(`div`,pe,[a(y,{modelValue:e.tab,"onUpdate:modelValue":i[0]||=t=>e.tab=t},{default:m(()=>[(d(!0),p(h,null,c(e.elements,(i,o)=>(d(),n(v,{key:o,label:i.displayName,name:o,class:`pane`},{default:m(()=>[(d(!0),p(h,null,c(i.items,(n,i)=>(d(),p(`div`,{key:i,class:t({item:!0,active:e.value===n.value}),onClick:t=>e.onToggle(n.value)},[a(_,{src:n.image,fit:`fill`,class:`preview`},null,8,[`src`]),r(`span`,he,u(n.label),1)],10,me))),128))]),_:2},1032,[`label`,`name`]))),128))]),_:1},8,[`modelValue`])])}var _e=s({name:`PresetPanel`,components:{ModeSelector:de,ImageUrlsInput:ae,ElButton:g,FontAwesomeIcon:L,ElementsSelector:O(fe,[[`render`,ge],[`__scopeId`,`data-v-be4bd25d`]])},emits:[`generate`],computed:{config(){return this.$store.state.headshots?.config}},methods:{onGenerate(){this.$emit(`generate`)}}}),ve={class:`panel`},ye={class:`config`},be={class:`actions`};function xe(e,t,n,o,s,c){let l=f(`elements-selector`),h=f(`mode-selector`),g=f(`image-urls-input`),_=f(`font-awesome-icon`),v=f(`el-button`);return d(),p(`div`,ve,[r(`div`,ye,[a(l,{class:`mb-4`}),a(h,{class:`mb-4`}),a(g,{class:`mb-4`}),r(`div`,be,[a(v,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:m(()=>[a(_,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+u(e.$t(`headshots.button.generate`)),1)]),_:1},8,[`onClick`])])])])}var Se=O(_e,[[`render`,xe],[`__scopeId`,`data-v-848739f6`]]),Ce=s({name:`ImageGallery`,props:{modelValue:{type:Object,required:!0}},setup(e){return{images:l(()=>e.modelValue?.response?.data?.slice(0,2)||[]),viewImage:e=>{window.open(e,`_blank`)}}}}),we={class:`image-gallery`},Te=[`src`],Ee=[`onClick`];function De(e,t,n,i,a,s){return d(),p(`div`,we,[(d(!0),p(h,null,c(e.images,(t,n)=>(d(),p(`div`,{key:n,class:`image-container`},[r(`img`,{src:t.image_url,alt:`Image`},null,8,Te),t.image_url?(d(),p(`button`,{key:0,class:`view-button`,onClick:n=>e.viewImage(t.image_url)},u(e.$t(`headshots.button.viewImage`)),9,Ee)):o(``,!0)]))),128))])}var Oe=s({name:`TaskPreview`,components:{ElImage:b,CopyToClipboard:R,FontAwesomeIcon:L,ElAlert:x,ImageGallery:O(Ce,[[`render`,De],[`__scopeId`,`data-v-42f0a7be`]]),ApiCodeButton:W},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.headshots?.application},config(){return this.$store.state.headshots?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onReload(e){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()},onOpenVideo(e){window.open(e,`_blank`)}}}),ke={class:`preview`},Ae={class:`left`},je={class:`main`},Me={class:`bot`},Ne={class:`datetime`},Pe={class:`info`},Fe={key:0,class:`prompt mt-2`},Ie={key:0},Le={key:1},Re={key:0,class:t({content:!0,failed:!0})},ze={class:`image-wrapper`},Be={class:t({operations:!0,"mt-2":!0,"mb-2":!0})},Ve={class:`description`},He={key:0,class:`description`},Ue={key:1,class:t({content:!0})},We={class:`description`},Ge={class:`description`},Ke={key:0,class:`description`},qe={class:`description`},Je={key:2,class:t({content:!0})},$={class:`description`},Ye={key:3,class:t({content:!0})},Xe={class:`description`};function Ze(e,t,n,s,c,l){let h=f(`el-image`),g=f(`image-gallery`),_=f(`api-code-button`),v=f(`font-awesome-icon`),y=f(`copy-to-clipboard`),b=f(`el-alert`);return d(),p(`div`,ke,[r(`div`,Ae,[a(h,{src:`https://cdn.acedata.cloud/isxyfw.png`,class:`avatar`})]),r(`div`,je,[r(`div`,Me,[i(u(e.$t(`headshots.name.headshotsBot`))+` `,1),r(`span`,Ne,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,Pe,[e.modelValue?.request?.template?(d(),p(`p`,Fe,[i(u(e.modelValue?.request?.template)+` `,1),e.modelValue?.response?o(``,!0):(d(),p(`span`,Ie,` - (`+u(e.$t(`headshots.status.pending`))+`) `,1)),e.modelValue?.response?.status===`unknown`?(d(),p(`span`,Le,` - (`+u(e.$t(`headshots.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),e.modelValue?.response?.success===!0?(d(),p(`div`,Re,[r(`div`,ze,[a(g,{"model-value":e.modelValue},null,8,[`model-value`])]),r(`div`,Be,[a(_,{path:`/headshots/images`,body:e.modelValue?.request},null,8,[`body`])]),a(b,{closable:!1,class:`mt-2 success`},{default:m(()=>[r(`p`,Ve,[a(v,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),a(y,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,He,[a(v,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),e.modelValue?.response?.success===!1?(d(),p(`div`,Ue,[a(b,{closable:!1,class:`failure`},{template:m(()=>[a(v,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.failure`)),1)]),default:m(()=>[r(`p`,We,[a(v,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),a(y,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r(`p`,Ge,[a(v,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),a(y,{content:e.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,Ke,[a(v,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),r(`p`,qe,[a(v,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),a(y,{content:e.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),e.modelValue?.response?o(``,!0):(d(),p(`div`,Je,[a(b,{closable:!1,class:`info`},{template:m(()=>[a(v,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.failure`)),1)]),default:m(()=>[r(`p`,$,[a(v,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),a(y,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})])),e.modelValue?.response?.status===`unknown`?(d(),p(`div`,Ye,[a(b,{closable:!1,class:`info`},{template:m(()=>[a(v,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.failure`)),1)]),default:m(()=>[r(`p`,Xe,[a(v,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`headshots.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),a(y,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var Qe=s({name:`RecentPanel`,components:{TaskPreview:O(Oe,[[`render`,Ze],[`__scopeId`,`data-v-4449c07c`]]),ElSkeleton:te,ElSkeletonItem:ee,ScrollList:H},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.headshots?.tasks,items:this.$store.state.headshots?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),$e={key:0,class:`tasks`},et={class:`left`},tt={class:`main`},nt={key:1,class:`tasks`},rt={key:2,class:`description`};function it(e,t,i,s,l,g){let _=f(`el-skeleton-item`),v=f(`el-skeleton`),y=f(`task-preview`),b=f(`scroll-list`);return d(),n(b,{ref:`scrollList`,class:`panel recent`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:m(()=>[e.tasks?.items===void 0?(d(),p(`div`,$e,[(d(),p(h,null,c(3,e=>r(`div`,{key:e,class:`task placeholder`},[r(`div`,et,[a(v,{animated:``},{template:m(()=>[a(_,{variant:`image`,class:`avatar`})]),_:1})]),r(`div`,tt,[a(v,{animated:``},{template:m(()=>[a(_,{variant:`p`,class:`title`}),a(_,{variant:`image`,class:`icon`})]),_:1})])])),64))])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(d(),p(`div`,nt,[(d(!0),p(h,null,c(e.tasks?.items,(e,t)=>(d(),n(y,{key:t,"model-value":e,class:`preview`},null,8,[`model-value`]))),128))])):o(``,!0),e.tasks?.items?.length===0?(d(),p(`p`,rt,u(e.$t(`headshots.message.noTasks`)),1)):o(``,!0)]),_:1},8,[`loading`])}var at=O(Qe,[[`render`,it],[`__scopeId`,`data-v-ffd55c16`]]),ot=T(`headshots`),st=s({name:`HeadshotsIndex`,components:{ConfigPanel:Se,Layout:X,ApplicationStatus:z,RecentPanel:at},mixins:[F],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.headshots?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.headshots?.status?.getTasks===P.Request||this.fetchingTasks},service(){return this.$store.state.headshots.service},credential(){return this.$store.state.headshots.credential},config(){return this.$store.state.headshots.config},initializing(){return this.$store.state.headshots.status.getApplications===P.Request},needApply(){return this.$store.state.headshots.status.getApplications===P.Success&&!this.application},application(){return this.$store.state.headshots.application},applications(){return this.$store.state.headshots.applications},tasks(){return this.$store.state.headshots.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await U({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`headshots/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`headshots/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},onApply(){j.create({application:this.application}).then(({data:e})=>{this.application=e,k.success(this.$t(`application.message.applySuccessfully`))}).catch(e=>{e?.response?.data?.code===`duplication`&&k.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(`headshots/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGeneratePicture(){if(!D(this.uploadTracker,e=>this.$t(e),e=>k.warning(e)))return;let e={...this.config,callback_url:ot},t=this.credential?.token;if(!t){console.error(`no token specified`);return}k.info(this.$t(`headshots.message.startingTask`)),A(`headshots`,N.generate(e,{token:t})).then(()=>{k.success(this.$t(`headshots.message.startTaskSuccess`)),this.$store.commit(`headshots/setConfig`,{config:void 0})}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?k.error(this.$t(`headshots.message.usedUp`)):k.error(this.$t(`headshots.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ct(e,t,r,i,o,s){let c=f(`config-panel`),l=f(`application-status`),u=f(`recent-panel`),p=f(`layout`);return d(),n(p,null,{config:m(()=>[a(c,{onGenerate:e.onGeneratePicture},null,8,[`onGenerate`])]),result:m(()=>[a(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(`headshots/setApplication`,t)},null,8,[`initializing`,`application`,`applications`,`service`,`need-apply`,`onRefresh`]),a(u,{ref:`recentPanel`,class:`panel recent`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var lt=O(st,[[`render`,ct],[`__scopeId`,`data-v-c707e859`]]);export{lt as default};
@@ -1 +1 @@
1
- import{P as e,X as t,k as n}from"./vendor-chart-Df3WBvr0.js";import{E as r}from"./index-B0D_GXuA.js";var i=e({name:`SettingsIndex`,mounted(){let e=this.$route.query.tab||``;window.dispatchEvent(new CustomEvent(`open-user-settings`,{detail:{tab:e}}))}}),a={class:`settings-page`};function o(e,r,i,o,s,c){return t(),n(`div`,a)}var s=r(i,[[`render`,o]]);export{s as default};
1
+ import{P as e,X as t,k as n}from"./vendor-chart-Df3WBvr0.js";import{E as r}from"./index-h1VSduWr.js";var i=e({name:`SettingsIndex`,mounted(){let e=this.$route.query.tab||``;window.dispatchEvent(new CustomEvent(`open-user-settings`,{detail:{tab:e}}))}}),a={class:`settings-page`};function o(e,r,i,o,s,c){return t(),n(`div`,a)}var s=r(i,[[`render`,o]]);export{s as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,D as t,E as n,M as r,N as i,O as a,P as o,Q as s,Ut as c,X as l,et as u,j as d,k as f,lt as p,x as m}from"./vendor-chart-Df3WBvr0.js";import{t as h}from"./button-Diu_mJ2H.js";import{r as g,t as _}from"./select-CCWm08v4.js";import{n as v,t as y}from"./collapse-BbZHIGPv.js";import{t as b}from"./drawer-B42T8GMw.js";import"./constants-BH6GgBVD.js";import{E as x,Er as S,Mt as C,Nr as w,gr as T}from"./index-B0D_GXuA.js";import{t as E}from"./index.es-CyW7EvoI.js";import{t as ee}from"./Consumption-BBaQNNS9.js";var te=o({name:`LayoutSerp`,components:{ElDrawer:b,ElButton:h,FontAwesomeIcon:E},data(){return{drawer:!1}}}),D={class:`main flex flex-row flex-1`},O={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},k={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function A(t,r,a,o,s,c){let d=u(`font-awesome-icon`),m=u(`el-button`),h=u(`el-drawer`);return l(),f(`div`,D,[n(`div`,O,[e(t.$slots,`config`,{},void 0,!0)]),n(`div`,k,[e(t.$slots,`result`,{},void 0,!0)]),i(m,{circle:``,class:`menu`,onClick:r[0]||=e=>t.drawer=!0},{default:p(()=>[i(d,{icon:`fa-solid fa-search`})]),_:1}),i(h,{modelValue:t.drawer,"onUpdate:modelValue":r[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var j=x(te,[[`render`,A],[`__scopeId`,`data-v-72398911`]]),M=o({name:`QueryInput`,components:{ElInput:w},computed:{query:{get(){return this.$store.state.serp?.config?.query},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e})}}}}),N={class:`field`},P={class:`box`},F={class:`title font-bold`};function I(e,t,r,a,o,s){let d=u(`el-input`);return l(),f(`div`,N,[n(`div`,P,[n(`h2`,F,c(e.$t(`serp.name.query`)),1)]),i(d,{modelValue:e.query,"onUpdate:modelValue":t[0]||=t=>e.query=t,rows:3,type:`textarea`,class:`prompt`,placeholder:e.$t(`serp.placeholder.query`)},null,8,[`modelValue`,`placeholder`])])}var L=x(M,[[`render`,I],[`__scopeId`,`data-v-3582b195`]]),R=o({name:`TypeSelector`,components:{ElSelect:g,ElOption:_},computed:{value:{get(){return this.$store.state.serp?.config?.type},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,type:e})}}},mounted(){this.value||=`search`}}),z={class:`field`},B={class:`title font-bold`};function V(e,t,r,a,o,s){let d=u(`el-option`),m=u(`el-select`);return l(),f(`div`,z,[n(`h2`,B,c(e.$t(`serp.name.type`)),1),i(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`},{default:p(()=>[i(d,{value:`search`,label:e.$t(`serp.type.search`)},null,8,[`label`]),i(d,{value:`images`,label:e.$t(`serp.type.images`)},null,8,[`label`]),i(d,{value:`news`,label:e.$t(`serp.type.news`)},null,8,[`label`]),i(d,{value:`videos`,label:e.$t(`serp.type.videos`)},null,8,[`label`])]),_:1},8,[`modelValue`])])}var H=x(R,[[`render`,V],[`__scopeId`,`data-v-2913fb62`]]),U=o({name:`CountryInput`,components:{ElInput:w},computed:{value:{get(){return this.$store.state.serp?.config?.country},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,country:e})}}},mounted(){this.value||=`US`}}),W={class:`field`},G={class:`title font-bold`};function K(e,t,r,a,o,s){let d=u(`el-input`);return l(),f(`div`,W,[n(`h2`,G,c(e.$t(`serp.name.country`)),1),i(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`serp.placeholder.country`)},null,8,[`modelValue`,`placeholder`])])}var q=x(U,[[`render`,K],[`__scopeId`,`data-v-f0672cc6`]]),J=o({name:`LanguageInput`,components:{ElInput:w},computed:{value:{get(){return this.$store.state.serp?.config?.language},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,language:e})}}},mounted(){this.value||=`en`}}),Y={class:`field`},X={class:`title font-bold`};function Z(e,t,r,a,o,s){let d=u(`el-input`);return l(),f(`div`,Y,[n(`h2`,X,c(e.$t(`serp.name.language`)),1),i(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`serp.placeholder.language`)},null,8,[`modelValue`,`placeholder`])])}var Q=o({name:`SearchPanel`,components:{ElButton:h,FontAwesomeIcon:E,QueryInput:L,TypeSelector:H,CountryInput:q,LanguageInput:x(J,[[`render`,Z],[`__scopeId`,`data-v-dc1c94b7`]]),Consumption:ee},emits:[`search`],computed:{config(){return this.$store.state.serp?.config},consumption(){return C(this.config,this.service?.cost)},service(){return this.$store.state.serp?.service},searching(){return this.$store.state.serp?.status?.search===T.Request}},methods:{onSearch(){this.$emit(`search`)}}}),ne={class:`flex flex-col h-full`},re={class:`flex-1 overflow-y-auto p-5`},ie={class:`flex flex-col items-center justify-center px-5 pb-5`};function ae(e,t,a,o,s,d){let m=u(`query-input`),h=u(`type-selector`),g=u(`country-input`),_=u(`language-input`),v=u(`consumption`),y=u(`font-awesome-icon`),b=u(`el-button`);return l(),f(`div`,ne,[n(`div`,re,[i(m,{class:`mb-4`}),i(h,{class:`mb-4`}),i(g,{class:`mb-4`}),i(_,{class:`mb-4`})]),n(`div`,ie,[i(v,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),i(b,{type:`primary`,class:`btn w-full`,round:``,loading:e.searching,onClick:e.onSearch},{default:p(()=>[i(y,{icon:`fa-solid fa-search`,class:`mr-2`}),r(` `+c(e.$t(`serp.button.search`)),1)]),_:1},8,[`loading`,`onClick`])])])}var oe=x(Q,[[`render`,ae]]),se=o({name:`KnowledgeGraph`,props:{data:{type:Object,required:!0}}}),ce={class:`knowledge-graph rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},le={class:`flex flex-row gap-4`},ue=[`src`,`alt`],de={class:`flex-1 min-w-0`},fe={key:0,class:`text-xs text-[var(--el-text-color-disabled)] mb-1 uppercase tracking-wide`},pe={class:`text-xl font-bold mb-1.5`},me={key:1,class:`text-sm text-[var(--el-text-color-regular)] mb-3 leading-relaxed`},he=[`href`],ge={key:2,class:`text-sm`},_e={class:`text-[var(--el-text-color-disabled)] flex-none font-medium`},ve={class:`text-[var(--el-text-color-regular)]`};function ye(e,t,i,o,u,d){return l(),f(`div`,ce,[n(`div`,le,[e.data.image_url?(l(),f(`img`,{key:0,src:e.data.image_url,alt:e.data.title,class:`w-28 h-28 rounded-lg object-cover flex-none shadow-sm`},null,8,ue)):a(``,!0),n(`div`,de,[e.data.type?(l(),f(`div`,fe,c(e.data.type),1)):a(``,!0),n(`h3`,pe,c(e.data.title),1),e.data.description?(l(),f(`p`,me,[r(c(e.data.description)+` `,1),e.data.description_link?(l(),f(`a`,{key:0,href:e.data.description_link,target:`_blank`,rel:`noopener noreferrer`,class:`text-[var(--el-color-primary)] hover:underline ml-1`},c(e.data.description_source||`Source`),9,he)):a(``,!0)])):a(``,!0),e.data.attributes&&Object.keys(e.data.attributes).length?(l(),f(`div`,ge,[(l(!0),f(m,null,s(e.data.attributes,(e,t)=>(l(),f(`div`,{key:t,class:`flex gap-2 mb-1 py-0.5`},[n(`span`,_e,c(t)+`:`,1),n(`span`,ve,c(e),1)]))),128))])):a(``,!0)])])])}var be=x(se,[[`render`,ye]]),xe=o({name:`OrganicResult`,props:{data:{type:Object,required:!0}},data(){return{faviconFailed:!1}},computed:{hostname(){if(!this.data.link)return``;try{return new URL(this.data.link).hostname}catch{return``}},pathname(){if(!this.data.link)return``;try{let e=new URL(this.data.link).pathname;return e===`/`?``:e}catch{return``}},displayUrl(){return this.hostname},faviconUrl(){return this.faviconFailed||!this.hostname?``:`https://www.google.com/s2/favicons?domain=${this.hostname}&sz=32`}},methods:{onFaviconError(e){this.faviconFailed=!0,e.target.style.display=`none`}}}),Se={class:`organic-result rounded-lg p-4 transition-all duration-200 hover:bg-[var(--el-fill-color-lighter)]`},Ce={key:0,class:`flex items-center gap-2 mb-1.5`},we=[`src`,`alt`],Te={class:`text-xs text-[var(--el-text-color-secondary)] truncate`},Ee={class:`text-xs text-[var(--el-text-color-disabled)]`},De=[`href`],Oe={key:1,class:`text-xs text-[var(--el-text-color-disabled)] mt-1`},ke={key:2,class:`text-sm text-[var(--el-text-color-regular)] mt-1.5 leading-relaxed line-clamp-3`},Ae={key:3,class:`mt-3 flex flex-wrap gap-x-4 gap-y-1`},je=[`href`];function Me(e,t,r,i,o,u){return l(),f(`div`,Se,[e.displayUrl?(l(),f(`div`,Ce,[n(`img`,{src:e.faviconUrl,alt:e.hostname,class:`w-4 h-4 rounded-sm flex-none`,loading:`lazy`,onError:t[0]||=(...t)=>e.onFaviconError&&e.onFaviconError(...t)},null,40,we),n(`span`,Te,c(e.hostname),1),n(`span`,Ee,c(e.pathname),1)])):a(``,!0),n(`a`,{href:e.data.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-base font-semibold text-[var(--el-color-primary)] hover:underline leading-snug block`},c(e.data.title),9,De),e.data.date?(l(),f(`div`,Oe,c(e.data.date),1)):a(``,!0),e.data.snippet?(l(),f(`p`,ke,c(e.data.snippet),1)):a(``,!0),e.data.sitelinks?.length?(l(),f(`div`,Ae,[(l(!0),f(m,null,s(e.data.sitelinks,(e,t)=>(l(),f(`a`,{key:t,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary-light-3)] hover:text-[var(--el-color-primary)] hover:underline transition-colors`},c(e.title),9,je))),128))])):a(``,!0)])}var Ne=x(xe,[[`render`,Me]]),Pe=o({name:`ImageResults`,props:{data:{type:Array,required:!0}}}),Fe={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Ie={class:`text-base font-bold mb-3`},Le={class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3`},Re=[`href`],ze=[`src`,`alt`],Be={class:`absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/70 to-transparent p-2.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200`},Ve={class:`text-xs text-white line-clamp-2`};function He(e,t,r,i,o,u){return l(),f(`div`,Fe,[n(`h3`,Ie,c(e.$t(`serp.name.imageResults`)),1),n(`div`,Le,[(l(!0),f(m,null,s(e.data,(e,t)=>(l(),f(`a`,{key:t,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`group relative rounded-lg overflow-hidden bg-[var(--el-fill-color-light)] aspect-square`},[e.image_url?(l(),f(`img`,{key:0,src:e.image_url,alt:e.title,class:`w-full h-full object-cover transition-transform duration-300 group-hover:scale-105`,loading:`lazy`},null,8,ze)):a(``,!0),n(`div`,Be,[n(`span`,Ve,c(e.title),1)])],8,Re))),128))])])}var Ue=x(Pe,[[`render`,He]]),We=o({name:`VideoResults`,props:{data:{type:Array,required:!0}}}),Ge={class:`text-base font-bold mb-3`},Ke={class:`space-y-4`},qe=[`href`],Je={class:`relative flex-shrink-0 w-40 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},Ye=[`src`,`alt`],Xe={key:1,class:`absolute bottom-1 right-1 bg-black/80 text-white text-xs px-1 rounded`},Ze={class:`flex-1 min-w-0`},Qe={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},$e={class:`text-xs text-gray-400 mt-1`},et={key:0},tt={key:1},nt={key:2},rt={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`};function it(e,t,r,i,o,u){return l(),f(`div`,null,[n(`h3`,Ge,c(e.$t(`serp.name.videoResults`)),1),n(`div`,Ke,[(l(!0),f(m,null,s(e.data,(e,t)=>(l(),f(`a`,{key:t,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[n(`div`,Je,[e.image_url?(l(),f(`img`,{key:0,src:e.image_url,alt:e.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,Ye)):a(``,!0),e.duration?(l(),f(`div`,Xe,c(e.duration),1)):a(``,!0)]),n(`div`,Ze,[n(`div`,Qe,c(e.title),1),n(`div`,$e,[e.source?(l(),f(`span`,et,c(e.source),1)):a(``,!0),e.channel?(l(),f(`span`,tt,` · `+c(e.channel),1)):a(``,!0),e.date?(l(),f(`span`,nt,` · `+c(e.date),1)):a(``,!0)]),e.snippet?(l(),f(`p`,rt,c(e.snippet),1)):a(``,!0)])],8,qe))),128))])])}var at=x(We,[[`render`,it]]),ot=o({name:`NewsResults`,props:{data:{type:Array,required:!0}}}),st={class:`text-base font-bold mb-3`},ct={class:`space-y-4`},lt=[`href`],ut={class:`flex-1 min-w-0`},dt={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},ft={class:`text-xs text-gray-400 mt-1`},pt={key:0},mt={key:1},ht={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`},gt={key:0,class:`flex-shrink-0 w-24 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},_t=[`src`,`alt`];function vt(e,t,r,i,o,u){return l(),f(`div`,null,[n(`h3`,st,c(e.$t(`serp.name.newsResults`)),1),n(`div`,ct,[(l(!0),f(m,null,s(e.data,(e,t)=>(l(),f(`a`,{key:t,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[n(`div`,ut,[n(`div`,dt,c(e.title),1),n(`div`,ft,[e.source?(l(),f(`span`,pt,c(e.source),1)):a(``,!0),e.date?(l(),f(`span`,mt,` · `+c(e.date),1)):a(``,!0)]),e.snippet?(l(),f(`p`,ht,c(e.snippet),1)):a(``,!0)]),e.image_url?(l(),f(`div`,gt,[n(`img`,{src:e.image_url,alt:e.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,_t)])):a(``,!0)],8,lt))),128))])])}var yt=x(ot,[[`render`,vt]]),bt=o({name:`PeopleAlsoAsk`,components:{ElCollapse:y,ElCollapseItem:v},props:{data:{type:Array,required:!0}}}),xt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},St={class:`text-base font-bold mb-3`},Ct={key:0,class:`text-sm text-[var(--el-text-color-regular)] mb-2 leading-relaxed`},wt=[`href`];function Tt(e,r,o,d,h,g){let _=u(`el-collapse-item`),v=u(`el-collapse`);return l(),f(`div`,xt,[n(`h3`,St,c(e.$t(`serp.name.peopleAlsoAsk`)),1),i(v,null,{default:p(()=>[(l(!0),f(m,null,s(e.data,(e,n)=>(l(),t(_,{key:n,title:e.question||e.title||``},{default:p(()=>[e.snippet?(l(),f(`p`,Ct,c(e.snippet),1)):a(``,!0),e.link?(l(),f(`a`,{key:1,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary)] hover:underline`},c(e.title||e.link),9,wt)):a(``,!0)]),_:2},1032,[`title`]))),128))]),_:1})])}var Et=x(bt,[[`render`,Tt]]),Dt=o({name:`RelatedSearches`,components:{FontAwesomeIcon:E},props:{data:{type:Array,required:!0}},emits:[`search`],methods:{onSearch(e){e&&this.$emit(`search`,e)}}}),Ot={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},kt={class:`text-base font-bold mb-3`},At={class:`flex flex-wrap gap-2`},jt=[`onClick`];function Mt(e,t,a,o,d,p){let h=u(`font-awesome-icon`);return l(),f(`div`,Ot,[n(`h3`,kt,c(e.$t(`serp.name.relatedSearches`)),1),n(`div`,At,[(l(!0),f(m,null,s(e.data,(t,n)=>(l(),f(`button`,{key:n,class:`inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm bg-[var(--el-fill-color-light)] text-[var(--el-text-color-regular)] hover:bg-[var(--el-color-primary-light-9)] hover:text-[var(--el-color-primary)] transition-colors cursor-pointer border-none`,onClick:n=>e.onSearch(t.query)},[i(h,{icon:`fa-solid fa-magnifying-glass`,class:`text-xs opacity-50`}),r(` `+c(t.query),1)],8,jt))),128))])])}var Nt=o({name:`ResultPanel`,components:{FontAwesomeIcon:E,KnowledgeGraph:be,OrganicResult:Ne,ImageResults:Ue,VideoResults:at,NewsResults:yt,PeopleAlsoAsk:Et,RelatedSearches:x(Dt,[[`render`,Mt]])},emits:[`related-search`],computed:{results(){return this.$store.state.serp?.results},searching(){return this.$store.state.serp?.status?.search===T.Request},noResults(){return this.$store.state.serp?.status?.search===T.Success&&this.results&&!this.results.organic?.length&&!this.results.images?.length&&!this.results.videos?.length&&!this.results.news?.length&&!this.results.knowledge_graph?.title}},methods:{onRelatedSearch(e){this.$emit(`related-search`,e)}}}),$={class:`h-full overflow-y-auto p-6`},Pt={key:0,class:`max-w-3xl mx-auto py-8`},Ft={key:1,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},It={class:`text-base`},Lt={key:2,class:`max-w-3xl mx-auto`},Rt={key:1,class:`mb-6`},zt={key:3,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Bt={class:`text-base`};function Vt(e,r,o,p,h,g){let _=u(`font-awesome-icon`),v=u(`knowledge-graph`),y=u(`organic-result`),b=u(`image-results`),x=u(`video-results`),S=u(`news-results`),C=u(`people-also-ask`),w=u(`related-searches`);return l(),f(`div`,$,[e.searching?(l(),f(`div`,Pt,[(l(),f(m,null,s(4,e=>n(`div`,{key:e,class:`mb-6 animate-pulse`},[...r[0]||=[d(`<div class="flex items-center gap-2 mb-2"><div class="w-4 h-4 rounded-sm bg-[var(--el-fill-color-darker)]"></div><div class="h-3 w-32 rounded bg-[var(--el-fill-color-darker)]"></div></div><div class="h-4 w-3/4 rounded bg-[var(--el-fill-color-dark)] mb-2"></div><div class="h-3 w-full rounded bg-[var(--el-fill-color)] mb-1"></div><div class="h-3 w-5/6 rounded bg-[var(--el-fill-color)]"></div>`,4)]])),64))])):e.noResults?(l(),f(`div`,Ft,[i(_,{icon:`fa-solid fa-face-meh`,class:`text-5xl mb-4 opacity-40`}),n(`p`,It,c(e.$t(`serp.message.noResults`)),1)])):e.results?(l(),f(`div`,Lt,[e.results.knowledge_graph?.title?(l(),t(v,{key:0,data:e.results.knowledge_graph,class:`mb-6`},null,8,[`data`])):a(``,!0),e.results.organic?.length?(l(),f(`div`,Rt,[(l(!0),f(m,null,s(e.results.organic,(e,n)=>(l(),t(y,{key:n,data:e,class:`mb-1`},null,8,[`data`]))),128))])):a(``,!0),e.results.images?.length?(l(),t(b,{key:2,data:e.results.images,class:`mb-6`},null,8,[`data`])):a(``,!0),e.results.videos?.length?(l(),t(x,{key:3,data:e.results.videos,class:`mb-6`},null,8,[`data`])):a(``,!0),e.results.news?.length?(l(),t(S,{key:4,data:e.results.news,class:`mb-6`},null,8,[`data`])):a(``,!0),e.results.people_also_ask?.length?(l(),t(C,{key:5,data:e.results.people_also_ask,class:`mb-6`},null,8,[`data`])):a(``,!0),e.results.related_searches?.length?(l(),t(w,{key:6,data:e.results.related_searches,class:`mb-6`,onSearch:e.onRelatedSearch},null,8,[`data`,`onSearch`])):a(``,!0)])):(l(),f(`div`,zt,[i(_,{icon:`fa-solid fa-globe`,class:`text-5xl mb-4 opacity-30`}),n(`p`,Bt,c(e.$t(`serp.description.query`)),1)]))])}var Ht=o({name:`SerpIndex`,components:{Layout:j,SearchPanel:oe,ResultPanel:x(Nt,[[`render`,Vt]])},inject:[`initialized`],async mounted(){await this.onGetService()},methods:{async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`serp/getService`),console.debug(`end onGetService`)},async onSearch(){if(this.$store.state.serp?.config?.query){S.info(this.$t(`serp.message.searching`));try{await this.$store.dispatch(`serp/search`),S.success(this.$t(`serp.message.searchSuccess`))}catch(e){(e?.response?.data)?.error?.code===`used_up`?S.error(this.$t(`serp.message.usedUp`)):S.error(this.$t(`serp.message.searchFailed`))}}},async onRelatedSearch(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e}),await this.onSearch()}}});function Ut(e,n,r,a,o,s){let c=u(`search-panel`),d=u(`result-panel`),f=u(`layout`);return l(),t(f,null,{config:p(()=>[i(c,{onSearch:e.onSearch},null,8,[`onSearch`])]),result:p(()=>[i(d,{onRelatedSearch:e.onRelatedSearch},null,8,[`onRelatedSearch`])]),_:1})}var Wt=x(Ht,[[`render`,Ut]]);export{Wt as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{$ as e,D as t,E as n,M as r,N as i,O as a,P as o,Q as s,Ut as c,X as l,et as u,j as d,k as f,lt as p,x as m}from"./vendor-chart-Df3WBvr0.js";import{t as h}from"./button-Diu_mJ2H.js";import{r as g,t as _}from"./select-TkQ8fTfG.js";import{n as v,t as y}from"./collapse-0SBhwven.js";import{t as b}from"./drawer-B42T8GMw.js";import"./constants-BH6GgBVD.js";import{E as x,Er as S,Mt as C,Nr as w,gr as T}from"./index-h1VSduWr.js";import{t as E}from"./index.es-BE5hSUb7.js";import{t as ee}from"./Consumption-kIdlj4_c.js";var te=o({name:`LayoutSerp`,components:{ElDrawer:b,ElButton:h,FontAwesomeIcon:E},data(){return{drawer:!1}}}),D={class:`main flex flex-row flex-1`},O={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},k={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function A(t,r,a,o,s,c){let d=u(`font-awesome-icon`),m=u(`el-button`),h=u(`el-drawer`);return l(),f(`div`,D,[n(`div`,O,[e(t.$slots,`config`,{},void 0,!0)]),n(`div`,k,[e(t.$slots,`result`,{},void 0,!0)]),i(m,{circle:``,class:`menu`,onClick:r[0]||=e=>t.drawer=!0},{default:p(()=>[i(d,{icon:`fa-solid fa-search`})]),_:1}),i(h,{modelValue:t.drawer,"onUpdate:modelValue":r[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var j=x(te,[[`render`,A],[`__scopeId`,`data-v-72398911`]]),M=o({name:`QueryInput`,components:{ElInput:w},computed:{query:{get(){return this.$store.state.serp?.config?.query},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e})}}}}),N={class:`field`},P={class:`box`},F={class:`title font-bold`};function I(e,t,r,a,o,s){let d=u(`el-input`);return l(),f(`div`,N,[n(`div`,P,[n(`h2`,F,c(e.$t(`serp.name.query`)),1)]),i(d,{modelValue:e.query,"onUpdate:modelValue":t[0]||=t=>e.query=t,rows:3,type:`textarea`,class:`prompt`,placeholder:e.$t(`serp.placeholder.query`)},null,8,[`modelValue`,`placeholder`])])}var L=x(M,[[`render`,I],[`__scopeId`,`data-v-3582b195`]]),R=o({name:`TypeSelector`,components:{ElSelect:g,ElOption:_},computed:{value:{get(){return this.$store.state.serp?.config?.type},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,type:e})}}},mounted(){this.value||=`search`}}),z={class:`field`},B={class:`title font-bold`};function V(e,t,r,a,o,s){let d=u(`el-option`),m=u(`el-select`);return l(),f(`div`,z,[n(`h2`,B,c(e.$t(`serp.name.type`)),1),i(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`},{default:p(()=>[i(d,{value:`search`,label:e.$t(`serp.type.search`)},null,8,[`label`]),i(d,{value:`images`,label:e.$t(`serp.type.images`)},null,8,[`label`]),i(d,{value:`news`,label:e.$t(`serp.type.news`)},null,8,[`label`]),i(d,{value:`videos`,label:e.$t(`serp.type.videos`)},null,8,[`label`])]),_:1},8,[`modelValue`])])}var H=x(R,[[`render`,V],[`__scopeId`,`data-v-2913fb62`]]),U=o({name:`CountryInput`,components:{ElInput:w},computed:{value:{get(){return this.$store.state.serp?.config?.country},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,country:e})}}},mounted(){this.value||=`US`}}),W={class:`field`},G={class:`title font-bold`};function K(e,t,r,a,o,s){let d=u(`el-input`);return l(),f(`div`,W,[n(`h2`,G,c(e.$t(`serp.name.country`)),1),i(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`serp.placeholder.country`)},null,8,[`modelValue`,`placeholder`])])}var q=x(U,[[`render`,K],[`__scopeId`,`data-v-f0672cc6`]]),J=o({name:`LanguageInput`,components:{ElInput:w},computed:{value:{get(){return this.$store.state.serp?.config?.language},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,language:e})}}},mounted(){this.value||=`en`}}),Y={class:`field`},X={class:`title font-bold`};function Z(e,t,r,a,o,s){let d=u(`el-input`);return l(),f(`div`,Y,[n(`h2`,X,c(e.$t(`serp.name.language`)),1),i(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`serp.placeholder.language`)},null,8,[`modelValue`,`placeholder`])])}var Q=o({name:`SearchPanel`,components:{ElButton:h,FontAwesomeIcon:E,QueryInput:L,TypeSelector:H,CountryInput:q,LanguageInput:x(J,[[`render`,Z],[`__scopeId`,`data-v-dc1c94b7`]]),Consumption:ee},emits:[`search`],computed:{config(){return this.$store.state.serp?.config},consumption(){return C(this.config,this.service?.cost)},service(){return this.$store.state.serp?.service},searching(){return this.$store.state.serp?.status?.search===T.Request}},methods:{onSearch(){this.$emit(`search`)}}}),ne={class:`flex flex-col h-full`},re={class:`flex-1 overflow-y-auto p-5`},ie={class:`flex flex-col items-center justify-center px-5 pb-5`};function ae(e,t,a,o,s,d){let m=u(`query-input`),h=u(`type-selector`),g=u(`country-input`),_=u(`language-input`),v=u(`consumption`),y=u(`font-awesome-icon`),b=u(`el-button`);return l(),f(`div`,ne,[n(`div`,re,[i(m,{class:`mb-4`}),i(h,{class:`mb-4`}),i(g,{class:`mb-4`}),i(_,{class:`mb-4`})]),n(`div`,ie,[i(v,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),i(b,{type:`primary`,class:`btn w-full`,round:``,loading:e.searching,onClick:e.onSearch},{default:p(()=>[i(y,{icon:`fa-solid fa-search`,class:`mr-2`}),r(` `+c(e.$t(`serp.button.search`)),1)]),_:1},8,[`loading`,`onClick`])])])}var oe=x(Q,[[`render`,ae]]),se=o({name:`KnowledgeGraph`,props:{data:{type:Object,required:!0}}}),ce={class:`knowledge-graph rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},le={class:`flex flex-row gap-4`},ue=[`src`,`alt`],de={class:`flex-1 min-w-0`},fe={key:0,class:`text-xs text-[var(--el-text-color-disabled)] mb-1 uppercase tracking-wide`},pe={class:`text-xl font-bold mb-1.5`},me={key:1,class:`text-sm text-[var(--el-text-color-regular)] mb-3 leading-relaxed`},he=[`href`],ge={key:2,class:`text-sm`},_e={class:`text-[var(--el-text-color-disabled)] flex-none font-medium`},ve={class:`text-[var(--el-text-color-regular)]`};function ye(e,t,i,o,u,d){return l(),f(`div`,ce,[n(`div`,le,[e.data.image_url?(l(),f(`img`,{key:0,src:e.data.image_url,alt:e.data.title,class:`w-28 h-28 rounded-lg object-cover flex-none shadow-sm`},null,8,ue)):a(``,!0),n(`div`,de,[e.data.type?(l(),f(`div`,fe,c(e.data.type),1)):a(``,!0),n(`h3`,pe,c(e.data.title),1),e.data.description?(l(),f(`p`,me,[r(c(e.data.description)+` `,1),e.data.description_link?(l(),f(`a`,{key:0,href:e.data.description_link,target:`_blank`,rel:`noopener noreferrer`,class:`text-[var(--el-color-primary)] hover:underline ml-1`},c(e.data.description_source||`Source`),9,he)):a(``,!0)])):a(``,!0),e.data.attributes&&Object.keys(e.data.attributes).length?(l(),f(`div`,ge,[(l(!0),f(m,null,s(e.data.attributes,(e,t)=>(l(),f(`div`,{key:t,class:`flex gap-2 mb-1 py-0.5`},[n(`span`,_e,c(t)+`:`,1),n(`span`,ve,c(e),1)]))),128))])):a(``,!0)])])])}var be=x(se,[[`render`,ye]]),xe=o({name:`OrganicResult`,props:{data:{type:Object,required:!0}},data(){return{faviconFailed:!1}},computed:{hostname(){if(!this.data.link)return``;try{return new URL(this.data.link).hostname}catch{return``}},pathname(){if(!this.data.link)return``;try{let e=new URL(this.data.link).pathname;return e===`/`?``:e}catch{return``}},displayUrl(){return this.hostname},faviconUrl(){return this.faviconFailed||!this.hostname?``:`https://www.google.com/s2/favicons?domain=${this.hostname}&sz=32`}},methods:{onFaviconError(e){this.faviconFailed=!0,e.target.style.display=`none`}}}),Se={class:`organic-result rounded-lg p-4 transition-all duration-200 hover:bg-[var(--el-fill-color-lighter)]`},Ce={key:0,class:`flex items-center gap-2 mb-1.5`},we=[`src`,`alt`],Te={class:`text-xs text-[var(--el-text-color-secondary)] truncate`},Ee={class:`text-xs text-[var(--el-text-color-disabled)]`},De=[`href`],Oe={key:1,class:`text-xs text-[var(--el-text-color-disabled)] mt-1`},ke={key:2,class:`text-sm text-[var(--el-text-color-regular)] mt-1.5 leading-relaxed line-clamp-3`},Ae={key:3,class:`mt-3 flex flex-wrap gap-x-4 gap-y-1`},je=[`href`];function Me(e,t,r,i,o,u){return l(),f(`div`,Se,[e.displayUrl?(l(),f(`div`,Ce,[n(`img`,{src:e.faviconUrl,alt:e.hostname,class:`w-4 h-4 rounded-sm flex-none`,loading:`lazy`,onError:t[0]||=(...t)=>e.onFaviconError&&e.onFaviconError(...t)},null,40,we),n(`span`,Te,c(e.hostname),1),n(`span`,Ee,c(e.pathname),1)])):a(``,!0),n(`a`,{href:e.data.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-base font-semibold text-[var(--el-color-primary)] hover:underline leading-snug block`},c(e.data.title),9,De),e.data.date?(l(),f(`div`,Oe,c(e.data.date),1)):a(``,!0),e.data.snippet?(l(),f(`p`,ke,c(e.data.snippet),1)):a(``,!0),e.data.sitelinks?.length?(l(),f(`div`,Ae,[(l(!0),f(m,null,s(e.data.sitelinks,(e,t)=>(l(),f(`a`,{key:t,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary-light-3)] hover:text-[var(--el-color-primary)] hover:underline transition-colors`},c(e.title),9,je))),128))])):a(``,!0)])}var Ne=x(xe,[[`render`,Me]]),Pe=o({name:`ImageResults`,props:{data:{type:Array,required:!0}}}),Fe={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Ie={class:`text-base font-bold mb-3`},Le={class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3`},Re=[`href`],ze=[`src`,`alt`],Be={class:`absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/70 to-transparent p-2.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200`},Ve={class:`text-xs text-white line-clamp-2`};function He(e,t,r,i,o,u){return l(),f(`div`,Fe,[n(`h3`,Ie,c(e.$t(`serp.name.imageResults`)),1),n(`div`,Le,[(l(!0),f(m,null,s(e.data,(e,t)=>(l(),f(`a`,{key:t,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`group relative rounded-lg overflow-hidden bg-[var(--el-fill-color-light)] aspect-square`},[e.image_url?(l(),f(`img`,{key:0,src:e.image_url,alt:e.title,class:`w-full h-full object-cover transition-transform duration-300 group-hover:scale-105`,loading:`lazy`},null,8,ze)):a(``,!0),n(`div`,Be,[n(`span`,Ve,c(e.title),1)])],8,Re))),128))])])}var Ue=x(Pe,[[`render`,He]]),We=o({name:`VideoResults`,props:{data:{type:Array,required:!0}}}),Ge={class:`text-base font-bold mb-3`},Ke={class:`space-y-4`},qe=[`href`],Je={class:`relative flex-shrink-0 w-40 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},Ye=[`src`,`alt`],Xe={key:1,class:`absolute bottom-1 right-1 bg-black/80 text-white text-xs px-1 rounded`},Ze={class:`flex-1 min-w-0`},Qe={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},$e={class:`text-xs text-gray-400 mt-1`},et={key:0},tt={key:1},nt={key:2},rt={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`};function it(e,t,r,i,o,u){return l(),f(`div`,null,[n(`h3`,Ge,c(e.$t(`serp.name.videoResults`)),1),n(`div`,Ke,[(l(!0),f(m,null,s(e.data,(e,t)=>(l(),f(`a`,{key:t,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[n(`div`,Je,[e.image_url?(l(),f(`img`,{key:0,src:e.image_url,alt:e.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,Ye)):a(``,!0),e.duration?(l(),f(`div`,Xe,c(e.duration),1)):a(``,!0)]),n(`div`,Ze,[n(`div`,Qe,c(e.title),1),n(`div`,$e,[e.source?(l(),f(`span`,et,c(e.source),1)):a(``,!0),e.channel?(l(),f(`span`,tt,` · `+c(e.channel),1)):a(``,!0),e.date?(l(),f(`span`,nt,` · `+c(e.date),1)):a(``,!0)]),e.snippet?(l(),f(`p`,rt,c(e.snippet),1)):a(``,!0)])],8,qe))),128))])])}var at=x(We,[[`render`,it]]),ot=o({name:`NewsResults`,props:{data:{type:Array,required:!0}}}),st={class:`text-base font-bold mb-3`},ct={class:`space-y-4`},lt=[`href`],ut={class:`flex-1 min-w-0`},dt={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},ft={class:`text-xs text-gray-400 mt-1`},pt={key:0},mt={key:1},ht={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`},gt={key:0,class:`flex-shrink-0 w-24 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},_t=[`src`,`alt`];function vt(e,t,r,i,o,u){return l(),f(`div`,null,[n(`h3`,st,c(e.$t(`serp.name.newsResults`)),1),n(`div`,ct,[(l(!0),f(m,null,s(e.data,(e,t)=>(l(),f(`a`,{key:t,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[n(`div`,ut,[n(`div`,dt,c(e.title),1),n(`div`,ft,[e.source?(l(),f(`span`,pt,c(e.source),1)):a(``,!0),e.date?(l(),f(`span`,mt,` · `+c(e.date),1)):a(``,!0)]),e.snippet?(l(),f(`p`,ht,c(e.snippet),1)):a(``,!0)]),e.image_url?(l(),f(`div`,gt,[n(`img`,{src:e.image_url,alt:e.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,_t)])):a(``,!0)],8,lt))),128))])])}var yt=x(ot,[[`render`,vt]]),bt=o({name:`PeopleAlsoAsk`,components:{ElCollapse:y,ElCollapseItem:v},props:{data:{type:Array,required:!0}}}),xt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},St={class:`text-base font-bold mb-3`},Ct={key:0,class:`text-sm text-[var(--el-text-color-regular)] mb-2 leading-relaxed`},wt=[`href`];function Tt(e,r,o,d,h,g){let _=u(`el-collapse-item`),v=u(`el-collapse`);return l(),f(`div`,xt,[n(`h3`,St,c(e.$t(`serp.name.peopleAlsoAsk`)),1),i(v,null,{default:p(()=>[(l(!0),f(m,null,s(e.data,(e,n)=>(l(),t(_,{key:n,title:e.question||e.title||``},{default:p(()=>[e.snippet?(l(),f(`p`,Ct,c(e.snippet),1)):a(``,!0),e.link?(l(),f(`a`,{key:1,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary)] hover:underline`},c(e.title||e.link),9,wt)):a(``,!0)]),_:2},1032,[`title`]))),128))]),_:1})])}var Et=x(bt,[[`render`,Tt]]),Dt=o({name:`RelatedSearches`,components:{FontAwesomeIcon:E},props:{data:{type:Array,required:!0}},emits:[`search`],methods:{onSearch(e){e&&this.$emit(`search`,e)}}}),Ot={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},kt={class:`text-base font-bold mb-3`},At={class:`flex flex-wrap gap-2`},jt=[`onClick`];function Mt(e,t,a,o,d,p){let h=u(`font-awesome-icon`);return l(),f(`div`,Ot,[n(`h3`,kt,c(e.$t(`serp.name.relatedSearches`)),1),n(`div`,At,[(l(!0),f(m,null,s(e.data,(t,n)=>(l(),f(`button`,{key:n,class:`inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm bg-[var(--el-fill-color-light)] text-[var(--el-text-color-regular)] hover:bg-[var(--el-color-primary-light-9)] hover:text-[var(--el-color-primary)] transition-colors cursor-pointer border-none`,onClick:n=>e.onSearch(t.query)},[i(h,{icon:`fa-solid fa-magnifying-glass`,class:`text-xs opacity-50`}),r(` `+c(t.query),1)],8,jt))),128))])])}var Nt=o({name:`ResultPanel`,components:{FontAwesomeIcon:E,KnowledgeGraph:be,OrganicResult:Ne,ImageResults:Ue,VideoResults:at,NewsResults:yt,PeopleAlsoAsk:Et,RelatedSearches:x(Dt,[[`render`,Mt]])},emits:[`related-search`],computed:{results(){return this.$store.state.serp?.results},searching(){return this.$store.state.serp?.status?.search===T.Request},noResults(){return this.$store.state.serp?.status?.search===T.Success&&this.results&&!this.results.organic?.length&&!this.results.images?.length&&!this.results.videos?.length&&!this.results.news?.length&&!this.results.knowledge_graph?.title}},methods:{onRelatedSearch(e){this.$emit(`related-search`,e)}}}),$={class:`h-full overflow-y-auto p-6`},Pt={key:0,class:`max-w-3xl mx-auto py-8`},Ft={key:1,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},It={class:`text-base`},Lt={key:2,class:`max-w-3xl mx-auto`},Rt={key:1,class:`mb-6`},zt={key:3,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Bt={class:`text-base`};function Vt(e,r,o,p,h,g){let _=u(`font-awesome-icon`),v=u(`knowledge-graph`),y=u(`organic-result`),b=u(`image-results`),x=u(`video-results`),S=u(`news-results`),C=u(`people-also-ask`),w=u(`related-searches`);return l(),f(`div`,$,[e.searching?(l(),f(`div`,Pt,[(l(),f(m,null,s(4,e=>n(`div`,{key:e,class:`mb-6 animate-pulse`},[...r[0]||=[d(`<div class="flex items-center gap-2 mb-2"><div class="w-4 h-4 rounded-sm bg-[var(--el-fill-color-darker)]"></div><div class="h-3 w-32 rounded bg-[var(--el-fill-color-darker)]"></div></div><div class="h-4 w-3/4 rounded bg-[var(--el-fill-color-dark)] mb-2"></div><div class="h-3 w-full rounded bg-[var(--el-fill-color)] mb-1"></div><div class="h-3 w-5/6 rounded bg-[var(--el-fill-color)]"></div>`,4)]])),64))])):e.noResults?(l(),f(`div`,Ft,[i(_,{icon:`fa-solid fa-face-meh`,class:`text-5xl mb-4 opacity-40`}),n(`p`,It,c(e.$t(`serp.message.noResults`)),1)])):e.results?(l(),f(`div`,Lt,[e.results.knowledge_graph?.title?(l(),t(v,{key:0,data:e.results.knowledge_graph,class:`mb-6`},null,8,[`data`])):a(``,!0),e.results.organic?.length?(l(),f(`div`,Rt,[(l(!0),f(m,null,s(e.results.organic,(e,n)=>(l(),t(y,{key:n,data:e,class:`mb-1`},null,8,[`data`]))),128))])):a(``,!0),e.results.images?.length?(l(),t(b,{key:2,data:e.results.images,class:`mb-6`},null,8,[`data`])):a(``,!0),e.results.videos?.length?(l(),t(x,{key:3,data:e.results.videos,class:`mb-6`},null,8,[`data`])):a(``,!0),e.results.news?.length?(l(),t(S,{key:4,data:e.results.news,class:`mb-6`},null,8,[`data`])):a(``,!0),e.results.people_also_ask?.length?(l(),t(C,{key:5,data:e.results.people_also_ask,class:`mb-6`},null,8,[`data`])):a(``,!0),e.results.related_searches?.length?(l(),t(w,{key:6,data:e.results.related_searches,class:`mb-6`,onSearch:e.onRelatedSearch},null,8,[`data`,`onSearch`])):a(``,!0)])):(l(),f(`div`,zt,[i(_,{icon:`fa-solid fa-globe`,class:`text-5xl mb-4 opacity-30`}),n(`p`,Bt,c(e.$t(`serp.description.query`)),1)]))])}var Ht=o({name:`SerpIndex`,components:{Layout:j,SearchPanel:oe,ResultPanel:x(Nt,[[`render`,Vt]])},inject:[`initialized`],async mounted(){await this.onGetService()},methods:{async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`serp/getService`),console.debug(`end onGetService`)},async onSearch(){if(this.$store.state.serp?.config?.query){S.info(this.$t(`serp.message.searching`));try{await this.$store.dispatch(`serp/search`),S.success(this.$t(`serp.message.searchSuccess`))}catch(e){(e?.response?.data)?.error?.code===`used_up`?S.error(this.$t(`serp.message.usedUp`)):S.error(this.$t(`serp.message.searchFailed`))}}},async onRelatedSearch(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e}),await this.onSearch()}}});function Ut(e,n,r,a,o,s){let c=u(`search-panel`),d=u(`result-panel`),f=u(`layout`);return l(),t(f,null,{config:p(()=>[i(c,{onSearch:e.onSearch},null,8,[`onSearch`])]),result:p(()=>[i(d,{onRelatedSearch:e.onRelatedSearch},null,8,[`onRelatedSearch`])]),_:1})}var Wt=x(Ht,[[`render`,Ut]]);export{Wt as default};