@acedatacloud/nexior 3.71.0 → 3.73.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 (441) hide show
  1. package/dist/_redirects +5 -0
  2. package/dist/assets/Auth-NoTc53hE.js +1 -0
  3. package/dist/assets/{BotPlaceholder-BY0SOJ7D.js → BotPlaceholder-k4AeTKQv.js} +1 -1
  4. package/dist/assets/{Callback-DmOF6dpz.js → Callback-DOycgWav.js} +1 -1
  5. package/dist/assets/Console-CMyBoRi3.css +1 -0
  6. package/dist/assets/{Console-KHswiyBE.js → Console-Dam4Lgoa.js} +1 -1
  7. package/dist/assets/{Consumption-ySvWSygY.js → Consumption-ObjRS0rS.js} +1 -1
  8. package/dist/assets/Conversation-BXWsR8yK.css +1 -0
  9. package/dist/assets/{Conversation-CasJkrUH.js → Conversation-Sf2Ckrbc.js} +11 -11
  10. package/dist/assets/{CopyToClipboard-3NSUqonW.js → CopyToClipboard-BFGsFEZA.js} +1 -1
  11. package/dist/assets/Detail-BoomGijw.js +2 -0
  12. package/dist/assets/{Detail-yqZdJR17.css → Detail-CtZKrEZO.css} +1 -1
  13. package/dist/assets/{EditArray-Bj4Iu4zm.js → EditArray-C589NdeK.js} +1 -1
  14. package/dist/assets/{Extra-C96PtH_h.js → Extra-J2vBeRp_.js} +1 -1
  15. package/dist/assets/{FilePreview-BN20nwsl.js → FilePreview-CdNlKu26.js} +1 -1
  16. package/dist/assets/{History-DMPa-M4T.js → History-DDAEjZu4.js} +1 -1
  17. package/dist/assets/IconPark.vue_vue_type_script_setup_true_lang-4LuzRoB1.js +1 -0
  18. package/dist/assets/{ImagePreview-BJ5BKOLa.js → ImagePreview-7HUOmAyV.js} +1 -1
  19. package/dist/assets/ImageWrapper-BDH0aMfC.css +1 -0
  20. package/dist/assets/{ImageWrapper-COWLem7H.js → ImageWrapper-BdkNAzkK.js} +1 -1
  21. package/dist/assets/Index-3tL_3lJG.css +1 -0
  22. package/dist/assets/Index-AjFOesRA.css +1 -0
  23. package/dist/assets/Index-B20wLHHS.css +1 -0
  24. package/dist/assets/{Index-DdeRaAc6.js → Index-BAuBysfO.js} +1 -1
  25. package/dist/assets/Index-BBu8qoFi.css +1 -0
  26. package/dist/assets/{Index-CLuUYncw.js → Index-BCcpC9vP.js} +1 -1
  27. package/dist/assets/{Index-UZkGrCxr.js → Index-BFKNa0n9.js} +1 -1
  28. package/dist/assets/{Index-BMsTot3a.js → Index-BR35KlgG.js} +1 -1
  29. package/dist/assets/Index-BT20Sh5l.js +1 -0
  30. package/dist/assets/{Index-BleLE-cw.js → Index-BjB6cHpK.js} +1 -1
  31. package/dist/assets/Index-BnoNpDIe.css +1 -0
  32. package/dist/assets/Index-BuiSPO43.css +1 -0
  33. package/dist/assets/Index-C6aQrN2T.js +1 -0
  34. package/dist/assets/{Index-BDyaYyKQ.js → Index-CPIPpsBN.js} +1 -1
  35. package/dist/assets/{Index-x9mhTmun.css → Index-CVV3tZf8.css} +1 -1
  36. package/dist/assets/Index-CYmt28Xk.css +1 -0
  37. package/dist/assets/{Index-_y6DZq9u.js → Index-Ca5QMebM.js} +1 -1
  38. package/dist/assets/Index-CaUHDiuw.css +1 -0
  39. package/dist/assets/Index-Cu5EiLHU.css +1 -0
  40. package/dist/assets/Index-CyUHJimx.css +1 -0
  41. package/dist/assets/Index-D2EsZH9f.css +1 -0
  42. package/dist/assets/{Index-D3aB76HT.js → Index-D3wSX642.js} +1 -1
  43. package/dist/assets/{Index-BknTStJn.js → Index-D9k0J39B.js} +1 -1
  44. package/dist/assets/{Index-CQfUGb_c.js → Index-DCcFMrKN.js} +1 -1
  45. package/dist/assets/Index-DL0n7P22.css +1 -0
  46. package/dist/assets/Index-DLDhvT8p.css +1 -0
  47. package/dist/assets/Index-DPkPxXHv.css +1 -0
  48. package/dist/assets/Index-DQk0wl28.css +1 -0
  49. package/dist/assets/{Index-87uf03Vs.js → Index-DSupQ4kZ.js} +1 -1
  50. package/dist/assets/{Index-B_RnscuR.js → Index-DVZAGqA6.js} +1 -1
  51. package/dist/assets/Index-DWuY5lmE.js +1 -0
  52. package/dist/assets/{Index-BVY2kCbb.js → Index-DY3A5IUR.js} +1 -1
  53. package/dist/assets/Index-DbT-X3k0.css +1 -0
  54. package/dist/assets/{Index-ApGl6Etc.js → Index-Di947Zkz.js} +1 -1
  55. package/dist/assets/{Index-CgZ6CMgQ.css → Index-DmyWn1AP.css} +1 -1
  56. package/dist/assets/{Index-F0pMeJ-A.js → Index-Do093f6U.js} +1 -1
  57. package/dist/assets/{Index-fIcqcgHR.js → Index-DsFYtC1V.js} +1 -1
  58. package/dist/assets/{Index-BqIPzc41.js → Index-LFyw3q7j.js} +1 -1
  59. package/dist/assets/Index-RCOtIT_Q.css +1 -0
  60. package/dist/assets/{Index-6vkmaSzD.js → Index-UbqLdZX9.js} +1 -1
  61. package/dist/assets/Index-YjwgX-jh.css +1 -0
  62. package/dist/assets/Index-jKhtDc4E.css +1 -0
  63. package/dist/assets/{Index-BqMb_gNj.js → Index-kiHI5-tV.js} +1 -1
  64. package/dist/assets/{Index-4KG3r4NT.js → Index-qR2xXFXz.js} +1 -1
  65. package/dist/assets/{Index-v_96YCjd.js → Index-yGS4sK22.js} +1 -1
  66. package/dist/assets/Index-yY6uaeGJ.js +4 -0
  67. package/dist/assets/{Invitees-B-K0628i.js → Invitees-CTmUqxWW.js} +1 -1
  68. package/dist/assets/{List-CcvN0ilo.js → List-2mL_Iyi_.js} +1 -1
  69. package/dist/assets/{List-D7PO893x.js → List-BDcUSrkY.js} +1 -1
  70. package/dist/assets/{List-CyFdOHHi.js → List-DEahwqOo.js} +1 -1
  71. package/dist/assets/{Login-CYI_9wpe.js → Login-C-ujW_LY.js} +1 -1
  72. package/dist/assets/{Main-Dd3yRQT4.js → Main-BK3VTkIz.js} +1 -1
  73. package/dist/assets/Main-Cc9b6nwL.css +1 -0
  74. package/dist/assets/Navigator-B4spKU1u.css +1 -0
  75. package/dist/assets/{Navigator-CRNUzW_4.js → Navigator-Cs6pb5Mt.js} +1 -1
  76. package/dist/assets/NoTasks-DjrzkYOv.js +1 -0
  77. package/dist/assets/NotFound-ktrJq8Vf.css +1 -0
  78. package/dist/assets/{NotFound-DCK8FN0t.js → NotFound-sOjmsYi3.js} +1 -1
  79. package/dist/assets/{OAuthCallback-ZQoF2QTP.js → OAuthCallback-DwWLWZjv.js} +1 -1
  80. package/dist/assets/{Pagination-Bk2O53T0.js → Pagination-Bsb_ujuK.js} +1 -1
  81. package/dist/assets/{ScrollList-Bh3w1SXL.js → ScrollList-B3uJ1gSY.js} +1 -1
  82. package/dist/assets/{Status-Dx1LPts4.js → Status-DTDJ8f9H.js} +1 -1
  83. package/dist/assets/Subscribe-BmsT6CVr.js +1 -0
  84. package/dist/assets/TransportWebHID-DxwdQFNV.js +1 -0
  85. package/dist/assets/{VideoPlayer-B5HpZm2C.js → VideoPlayer-COOhs6r9.js} +1 -1
  86. package/dist/assets/_Uint8Array-DZ0PVSry.js +1 -0
  87. package/dist/assets/{_baseClone-DYTAd2Hm.js → _baseClone-6UfTLNRO.js} +1 -1
  88. package/dist/assets/{_baseIteratee-Bb7zbw9b.js → _baseIteratee-Dwi-MjVw.js} +1 -1
  89. package/dist/assets/_commonjs-dynamic-modules-TDtrdbi3.js +1 -0
  90. package/dist/assets/_initCloneObject-DgGkwNWc.js +1 -0
  91. package/dist/assets/{add-CA0Aj_0A.js → add-CEwzRu6L.js} +1 -1
  92. package/dist/assets/{all-wallets-CS19UCgb.js → all-wallets-njwOMixz.js} +1 -1
  93. package/dist/assets/{app-store-DiZ2tLXH.js → app-store-DXbpwukV.js} +1 -1
  94. package/dist/assets/{apple-DzUa25lP.js → apple-CsLR0q1_.js} +1 -1
  95. package/dist/assets/{arrow-bottom-circle-CdP0c5qJ.js → arrow-bottom-circle-CcPqse8v.js} +1 -1
  96. package/dist/assets/{arrow-bottom-D7SEGwKl.js → arrow-bottom-qM4_w3S5.js} +1 -1
  97. package/dist/assets/{arrow-left-DCnH9Zo9.js → arrow-left-sh_391a2.js} +1 -1
  98. package/dist/assets/{arrow-right-B4ck9qhv.js → arrow-right-1oUfxSYC.js} +1 -1
  99. package/dist/assets/{arrow-top-Dnkvg74-.js → arrow-top-EcRt6-Fn.js} +1 -1
  100. package/dist/assets/{avatar-CxuiIQGR.js → avatar-C5MmxEp3.js} +1 -1
  101. package/dist/assets/{bank-DMEG5Mrs.js → bank-d6PxCKSo.js} +1 -1
  102. package/dist/assets/{basic-BhKjE3sM.js → basic-B4V1mlDt.js} +16 -20
  103. package/dist/assets/bignumber-C3amavAD.js +1 -0
  104. package/dist/assets/{browser-U-Q3c6j0.js → browser-DOBpr_X-.js} +1 -1
  105. package/dist/assets/{card-BKww_CFW.js → card-CoRD5XNZ.js} +1 -1
  106. package/dist/assets/{castArray-i7WCdPpo.js → castArray-QGGZQJSb.js} +1 -1
  107. package/dist/assets/{chat-DW-zcCnb.js → chat-Cj8C0rbW.js} +1 -1
  108. package/dist/assets/{checkmark-D5r6L6c0.js → checkmark-683lEqai.js} +1 -1
  109. package/dist/assets/{checkmark-bold-DDY1QeHp.js → checkmark-bold-C1NWOdiX.js} +1 -1
  110. package/dist/assets/chevron-bottom-BqyeRO5G.js +8 -0
  111. package/dist/assets/chevron-left-D-o0lODs.js +8 -0
  112. package/dist/assets/chevron-right-FXQiGguU.js +8 -0
  113. package/dist/assets/chevron-top-CJ1naMMD.js +8 -0
  114. package/dist/assets/{chrome-store-a6OwpLcM.js → chrome-store-NvGqM_Ui.js} +1 -1
  115. package/dist/assets/{clock-CMEjHi2M.js → clock-T7w73yzG.js} +1 -1
  116. package/dist/assets/{close-BldGIWQb.js → close-BIS8Q4xl.js} +1 -1
  117. package/dist/assets/{coinPlaceholder-Cy4mTDUl.js → coinPlaceholder-D_y2Ezdz.js} +1 -1
  118. package/dist/assets/{common-BmsHDc4c.js → common-5-TisaAy.js} +1 -1
  119. package/dist/assets/common-B8nLKF52.js +1 -0
  120. package/dist/assets/common-BBeThY0n.js +1 -0
  121. package/dist/assets/common-BwGKX-bt.js +1 -0
  122. package/dist/assets/common-C8rejBbq.js +1 -0
  123. package/dist/assets/common-C95EFp0H.js +1 -0
  124. package/dist/assets/common-CWPAasGX.js +1 -0
  125. package/dist/assets/common-Cs3t9bXM.js +1 -0
  126. package/dist/assets/common-D2N9NzIX.js +1 -0
  127. package/dist/assets/common-DLJ1gbwx.js +1 -0
  128. package/dist/assets/common-DXqQ-SQf.js +1 -0
  129. package/dist/assets/common-D_5n6EDp.js +1 -0
  130. package/dist/assets/common-DqBjV2U4.js +1 -0
  131. package/dist/assets/common-NMEom0DD.js +1 -0
  132. package/dist/assets/common-g46ow-e0.js +1 -0
  133. package/dist/assets/common-qDl3ASQO.js +1 -0
  134. package/dist/assets/common-xwxDzVLO.js +1 -0
  135. package/dist/assets/{compass-CCmHKxEx.js → compass-DMMchAxm.js} +1 -1
  136. package/dist/assets/{copy-CxuacHy0.js → copy-jCAVZBDu.js} +1 -1
  137. package/dist/assets/cursor-CbBmpE-t.js +3 -0
  138. package/dist/assets/{cursor-transparent-uk7oXX-e.js → cursor-transparent-CdZ8-lPZ.js} +1 -1
  139. package/dist/assets/{debounce-DldcTab3.js → debounce-Cwy-8tIq.js} +1 -1
  140. package/dist/assets/{desktop-BQoEfDwQ.js → desktop-D6035QEZ.js} +1 -1
  141. package/dist/assets/{disconnect-8nrWo_rP.js → disconnect-DWL9zPfb.js} +1 -1
  142. package/dist/assets/{discord-CUSD9ZbD.js → discord-NA4mJa5n.js} +1 -1
  143. package/dist/assets/{distribution-HckP7zaz.js → distribution-D3VAxO6Q.js} +1 -1
  144. package/dist/assets/draggabilly-C9AcGLUK.js +1 -0
  145. package/dist/assets/{dropdown-B1FWPuQ3.js → dropdown-Dxm3KexB.js} +1 -1
  146. package/dist/assets/{etherscan-lZZCF--T.js → etherscan-WVUrKwQB.js} +1 -1
  147. package/dist/assets/{exclamation-triangle-C5VG4Gus.js → exclamation-triangle-DexClW1o.js} +1 -1
  148. package/dist/assets/{extension-C-EnjDU-.js → extension-DoawrRUn.js} +1 -1
  149. package/dist/assets/external-link-B-5fqhHo.js +8 -0
  150. package/dist/assets/{facebook-B8VmKj7N.js → facebook-BoIB1lRR.js} +1 -1
  151. package/dist/assets/{farcaster-C6eQZ2tS.js → farcaster-CUoqwCJa.js} +1 -1
  152. package/dist/assets/{filters-ChZQWpHy.js → filters-Ene40HJu.js} +1 -1
  153. package/dist/assets/{flux-DO29WENi.js → flux-AUyGHZ0t.js} +1 -1
  154. package/dist/assets/{fp.esm-CNHUICNe.js → fp.esm-DHUg1SIa.js} +1 -1
  155. package/dist/assets/{github-Dh9lt5wA.js → github-7LOduP1i.js} +1 -1
  156. package/dist/assets/{google-CEI_cXl8.js → google-B1kp8x_y.js} +1 -1
  157. package/dist/assets/{hailuo-CM1M_PFo.js → hailuo-Qa5EnWTa.js} +1 -1
  158. package/dist/assets/{headshots-CLUdtF7Q.js → headshots-5O7Ibpo2.js} +1 -1
  159. package/dist/assets/{help-circle-DwSOQz8I.js → help-circle-D3pzw-ef.js} +1 -1
  160. package/dist/assets/{id-BJuj3z35.js → id-Mjvo-4_s.js} +1 -1
  161. package/dist/assets/{image-CYsS97Na.js → image-D3u0zAfR.js} +1 -1
  162. package/dist/assets/index-5UpwSI6_.js +1 -0
  163. package/dist/assets/{index-CJXqcHlS.js → index-9CvgySu9.js} +1 -1
  164. package/dist/assets/{index-xrEkIj8u.js → index-B-Kn5zUG.js} +1 -1
  165. package/dist/assets/index-B2QolkvC.js +1 -0
  166. package/dist/assets/{index-HkbZFAFq.js → index-B3xCcB2U.js} +1 -1
  167. package/dist/assets/{index-CnSlqsSX.js → index-B9W4--y5.js} +1 -1
  168. package/dist/assets/{index-ygp5W2VU.js → index-BGkR-HKt.js} +1 -1
  169. package/dist/assets/index-BHDum5pg.js +1 -0
  170. package/dist/assets/{index-Bb7O2JP3.js → index-BHU0zbZw.js} +1 -1
  171. package/dist/assets/index-BKSXW3eM.js +1 -0
  172. package/dist/assets/index-BV1AfyXy.js +151 -0
  173. package/dist/assets/index-BV5ncGI3.js +3 -0
  174. package/dist/assets/index-BZ-pSuzr.js +1 -0
  175. package/dist/assets/{index-BZmgbxSe.js → index-BhC2wIUx.js} +1 -1
  176. package/dist/assets/index-BhfqOYjJ.js +1 -0
  177. package/dist/assets/index-BiJseCZf.js +12 -0
  178. package/dist/assets/{index-DfJwbFXz.js → index-BomByufL.js} +1 -1
  179. package/dist/assets/{index-r5W6hzzQ.js → index-BuyEbX8F.js} +1 -1
  180. package/dist/assets/{index-OLbInQ0E.js → index-BwKkWex5.js} +1 -1
  181. package/dist/assets/{index-BeHE9dZL.js → index-Bwv8fI7m.js} +1 -1
  182. package/dist/assets/{index-FJ29fekf.js → index-C-PMU3IW.js} +1 -1
  183. package/dist/assets/index-C5R5qq7V.js +1 -0
  184. package/dist/assets/{index-DZ8Rewj8.js → index-CA-B3YlS.js} +1 -1
  185. package/dist/assets/{index-BhE10XIa.js → index-CDH7Y8U1.js} +1 -1
  186. package/dist/assets/{index-Bxv6LteJ.js → index-CE3Va3r6.js} +1 -1
  187. package/dist/assets/{index-CE03zuIq.js → index-CHzmF31S.js} +1 -1
  188. package/dist/assets/index-CLDKJLd-.js +1 -0
  189. package/dist/assets/{index-CHveAtjv.js → index-CM60TJbl.js} +1 -1
  190. package/dist/assets/index-CTH83cwS.js +1 -0
  191. package/dist/assets/index-CVHPJfCy.js +1 -0
  192. package/dist/assets/{index-BrF6JyZb.js → index-CaXzmXhq.js} +1 -1
  193. package/dist/assets/{index-Ddg4gpRE.js → index-Cbw6aa6T.js} +1 -1
  194. package/dist/assets/index-Cdj1vMia.js +30 -0
  195. package/dist/assets/index-CfTVFzOT.js +1 -0
  196. package/dist/assets/index-CxUeIbEw.js +1 -0
  197. package/dist/assets/{index-ChfkVME1.js → index-CzicsRE1.js} +1 -1
  198. package/dist/assets/{index-BOpdP6_7.js → index-D-qg-A9-.js} +1 -1
  199. package/dist/assets/{index-1MxEserz.js → index-D5DYPOng.js} +1 -1
  200. package/dist/assets/index-D79ehG62.js +1 -0
  201. package/dist/assets/index-DBtC5OKc.css +1 -0
  202. package/dist/assets/{index--NBLm89E.js → index-DEYO5tcx.js} +1 -1
  203. package/dist/assets/index-DIlYt77L.js +911 -0
  204. package/dist/assets/{index-DVqxsd5d.js → index-DJbYWAp1.js} +1 -1
  205. package/dist/assets/{index-F41cah8v.js → index-DJc-7ptp.js} +6 -42
  206. package/dist/assets/index-DL9fkylA.js +1 -0
  207. package/dist/assets/index-DRFr4QkO.js +1 -0
  208. package/dist/assets/{index-3BsmBI6a.js → index-DUDhOLLa.js} +1 -1
  209. package/dist/assets/{index-gyX1IQ5m.js → index-DVVuxNlf.js} +1 -1
  210. package/dist/assets/index-DcUuZi4n.js +1 -0
  211. package/dist/assets/{index-DlWzwnS0.js → index-Dd8Lp2x7.js} +1 -1
  212. package/dist/assets/{index-BD7oko1Y.js → index-Dkwj8S_y.js} +2 -2
  213. package/dist/assets/index-Dn0U62sI.js +1 -0
  214. package/dist/assets/{index-W3OpwGX4.js → index-DolICJ8f.js} +1 -14
  215. package/dist/assets/index-DsB_O52W.js +1 -0
  216. package/dist/assets/{index-B-UpXH3W.js → index-EqGJdJeo.js} +1 -1
  217. package/dist/assets/{index-DpyOILT-.js → index-FKCgLJVy.js} +1 -1
  218. package/dist/assets/{index-F-vDwda-.js → index-Gb4iotU_.js} +1 -1
  219. package/dist/assets/index-I188IvRn.js +290 -0
  220. package/dist/assets/{index-CwpZcJv2.js → index-TQLzjaA8.js} +1 -1
  221. package/dist/assets/{index-DsKuzZof.js → index-VTpiJOTN.js} +1 -1
  222. package/dist/assets/{index-C8DFrRUK.js → index-WjhQxiNV.js} +1 -1
  223. package/dist/assets/{index-UE5vFfHI.js → index-_UFAMZ9g.js} +1 -1
  224. package/dist/assets/{index-D8voFtYi.js → index-_mFBTVtY.js} +1 -1
  225. package/dist/assets/index-dMPmKU6u.js +569 -0
  226. package/dist/assets/index-oFgdNoVI.js +1 -0
  227. package/dist/assets/{index-DHxRIs81.js → index-q2YcfwZm.js} +1 -1
  228. package/dist/assets/index-zVGZpV5f.js +1 -0
  229. package/dist/assets/index.browser.esm-BEJTZOoQ.js +8 -0
  230. package/dist/assets/index.es-XGGSPmjR.js +2 -0
  231. package/dist/assets/{info-circle-BGICIoyT.js → info-circle-DztsnBDb.js} +1 -1
  232. package/dist/assets/{info-ZLprzX3W.js → info-irUW4Dwz.js} +1 -1
  233. package/dist/assets/{isEqual-Cy6MVdGA.js → isEqual-DW2lLMge.js} +1 -1
  234. package/dist/assets/{isPlainObject-D9zthsQq.js → isPlainObject-ChwpXUZh.js} +1 -1
  235. package/dist/assets/{kling-BAmLAfOW.js → kling-2w8zx6TH.js} +1 -1
  236. package/dist/assets/{lightbulb-CR8xu44d.js → lightbulb-CKBdQtNM.js} +1 -1
  237. package/dist/assets/{luma-zwuPKaFY.js → luma-9dV_9SaX.js} +1 -1
  238. package/dist/assets/{mail-DDfGQf46.js → mail-CWztoxgv.js} +1 -1
  239. package/dist/assets/{midjourney-Cxflur9N.js → midjourney-X1gn0e4W.js} +1 -1
  240. package/dist/assets/{mobile-CmTPeVjV.js → mobile-C783UnbI.js} +1 -1
  241. package/dist/assets/{more-CVhgb1pk.js → more-DrQHN7_0.js} +1 -1
  242. package/dist/assets/{nanobanana-DfZiHieZ.js → nanobanana-Ds61vVuj.js} +1 -1
  243. package/dist/assets/{network-placeholder-DsH8e_bg.js → network-placeholder-VhEoR6gh.js} +1 -1
  244. package/dist/assets/{nftPlaceholder-BiWE4Fdx.js → nftPlaceholder-BllBIQiP.js} +1 -1
  245. package/dist/assets/{off-DBRT2YIz.js → off-BqUdYNHO.js} +1 -1
  246. package/dist/assets/{openaiimage-BuOakkP0.js → openaiimage-CyD0AL3s.js} +1 -1
  247. package/dist/assets/{order-DdcjyQzg.js → order-DENITM42.js} +1 -1
  248. package/dist/assets/{pagination-D8R-vY3J.js → pagination-D5yjLyAE.js} +1 -1
  249. package/dist/assets/{pika-C9dL1-u2.js → pika-DC0NiNAH.js} +1 -1
  250. package/dist/assets/{pixverse-BtGj_OA7.js → pixverse-BRDF1zxs.js} +1 -1
  251. package/dist/assets/{play-store-Canc2B1a.js → play-store-BLtcEDMS.js} +1 -1
  252. package/dist/assets/{plus-C7KaJSWs.js → plus-CDKvlgg0.js} +1 -1
  253. package/dist/assets/{price-CKyJSNpN.js → price-Do7xTyQI.js} +1 -1
  254. package/dist/assets/{producer-3ombuH-k.js → producer-D74KMAXf.js} +1 -1
  255. package/dist/assets/{qr-code-BRf6u6Ce.js → qr-code-D8GBBMpp.js} +1 -1
  256. package/dist/assets/{qrart-UhTEJhqN.js → qrart-C0MyLU58.js} +1 -1
  257. package/dist/assets/{recycle-horizontal-BdWqMBO1.js → recycle-horizontal-Nwjr7rD7.js} +1 -1
  258. package/dist/assets/{refresh-r5r_Hbto.js → refresh-aQzvGTNm.js} +1 -1
  259. package/dist/assets/{reown-logo-DUofAt0c.js → reown-logo-DtEaMZiy.js} +1 -1
  260. package/dist/assets/{search-aAmNPcXU.js → search-BjjK1GFF.js} +1 -1
  261. package/dist/assets/secp256k1-BSCRoAmD.js +1 -0
  262. package/dist/assets/secp256k1-DtB6bR8q.js +1 -0
  263. package/dist/assets/{seedance-B7327AfE.js → seedance-ClveAe2e.js} +1 -1
  264. package/dist/assets/{seedream-0dVKqEGv.js → seedream-AadHUS4X.js} +1 -1
  265. package/dist/assets/{send-DnyoAc9e.js → send-CypOcrvx.js} +1 -1
  266. package/dist/assets/{service-CvC9AcPE.js → service-DI9hiw5k.js} +1 -1
  267. package/dist/assets/{events-C1bJOe9X.js → signer-Bt6hppoz.js} +1 -1
  268. package/dist/assets/solana-wallets-DVkLCl7u.js +2 -0
  269. package/dist/assets/solana-wallets-vue-BGRzPInU.js +16 -0
  270. package/dist/assets/solanaEmbed.esm-Do6O6Srv.js +10 -0
  271. package/dist/assets/{sora-CrdHrS2Z.js → sora-CA_d19gb.js} +1 -1
  272. package/dist/assets/standard-BSrJCQ5C.js +1 -0
  273. package/dist/assets/{string_decoder-ozd1GcGe.js → string_decoder-CIRc9AAN.js} +1 -1
  274. package/dist/assets/{strings-DfoVy23u.js → strings-DGr9fDRd.js} +1 -1
  275. package/dist/assets/{styles-CY2j0e5U.css → styles-Bce9hoao.css} +1 -1
  276. package/dist/assets/subsite-B_rsxdbH.js +1 -0
  277. package/dist/assets/subsite-Bg34jKwH.js +1 -0
  278. package/dist/assets/subsite-BqQAdffL.js +1 -0
  279. package/dist/assets/subsite-BqvjhUWC.js +1 -0
  280. package/dist/assets/subsite-BrZzjP0L.js +1 -0
  281. package/dist/assets/subsite-CEmCNdr3.js +1 -0
  282. package/dist/assets/subsite-ClztDtip.js +1 -0
  283. package/dist/assets/subsite-CtoUwXuU.js +1 -0
  284. package/dist/assets/subsite-D1uLL9Z-.js +1 -0
  285. package/dist/assets/subsite-DCFrW9d3.js +1 -0
  286. package/dist/assets/subsite-DDmNxlCY.js +1 -0
  287. package/dist/assets/subsite-DHN4PCGP.js +1 -0
  288. package/dist/assets/subsite-DMsootoC.js +1 -0
  289. package/dist/assets/subsite-DYO6t5gV.js +1 -0
  290. package/dist/assets/subsite-DZbeE4G0.js +1 -0
  291. package/dist/assets/subsite-a1Voxkw4.js +1 -0
  292. package/dist/assets/subsite-a5yzcXHF.js +1 -0
  293. package/dist/assets/{suno-C4Sbxz9j.js → suno-D8OpedhX.js} +1 -1
  294. package/dist/assets/{swapHorizontal-CHXNIQFI.js → swapHorizontal-CLeT3k5W.js} +1 -1
  295. package/dist/assets/{swapHorizontalBold-DoXAF6Qq.js → swapHorizontalBold-BleGpOiJ.js} +1 -1
  296. package/dist/assets/{swapHorizontalMedium-Bx7Pt4m6.js → swapHorizontalMedium-BsAscWhc.js} +1 -1
  297. package/dist/assets/{swapHorizontalRoundedBold-DO7CtdnP.js → swapHorizontalRoundedBold-iUPoj3lF.js} +1 -1
  298. package/dist/assets/{swapVertical-Dzp0hpuu.js → swapVertical-DOIX1CHS.js} +1 -1
  299. package/dist/assets/{telegram-4bHtaMAi.js → telegram-DHmMOqGx.js} +1 -1
  300. package/dist/assets/{three-dots-DwMG1TFL.js → three-dots-Bv_7Zym5.js} +1 -1
  301. package/dist/assets/tslib.es6-ooV_ZcXm.js +1 -0
  302. package/dist/assets/{twitch-BzgYssMH.js → twitch-BSlZzmJh.js} +1 -1
  303. package/dist/assets/{twitterIcon-yfp9qoLl.js → twitterIcon-DUTcpvH5.js} +1 -1
  304. package/dist/assets/{typescript-Cj24ZwXO.js → typescript-H0JHBG5n.js} +1 -1
  305. package/dist/assets/use-form-item-Dxrg2wlU.js +1 -0
  306. package/dist/assets/validator-BIiFrz53.js +1 -0
  307. package/dist/assets/vendor-axios-B8_nURbH.js +9 -0
  308. package/dist/assets/vendor-chart-DO4KpSoW.js +3 -0
  309. package/dist/assets/vendor-dayjs-Cvgzdobq.js +1 -0
  310. package/dist/assets/{vendor-highlight-CyWCyJuM.js → vendor-highlight-Mh8RTITr.js} +1 -1
  311. package/dist/assets/vendor-katex-nYbbTT06.js +257 -0
  312. package/dist/assets/vendor-katex-wklAmtGL.css +1 -0
  313. package/dist/assets/vendor-vue-C5BV5QrY.js +1 -0
  314. package/dist/assets/vendor-vue-router-Bl-Po99g.js +1 -0
  315. package/dist/assets/{veo-CMfJZkdd.js → veo-CAIT8ynX.js} +1 -1
  316. package/dist/assets/{verify-CdZ68Ui-.js → verify-C_Q9uBRm.js} +1 -1
  317. package/dist/assets/{verify-filled-CtS2MO30.js → verify-filled-C_fpoegy.js} +1 -1
  318. package/dist/assets/vue-plyr-BO2nlN4c.js +2 -0
  319. package/dist/assets/vue-plyr-u3nFiCZB.css +1 -0
  320. package/dist/assets/{w3m-modal-58TFsxlZ.js → w3m-modal-DhALPURi.js} +1 -1
  321. package/dist/assets/{wallet-DbmHJ38S.js → wallet-DfSryS3H.js} +1 -1
  322. package/dist/assets/{wallet-placeholder-1L9W8OBP.js → wallet-placeholder-OadSoskp.js} +1 -1
  323. package/dist/assets/{walletconnect-BPqkOFhA.js → walletconnect-COYJTk1U.js} +1 -1
  324. package/dist/assets/{wan-Bz7_3_Lj.js → wan-DVp-nM8z.js} +1 -1
  325. package/dist/assets/{warning-circle-5YTepEgx.js → warning-circle-CmfsAoXg.js} +1 -1
  326. package/dist/assets/{web-IsAR_fL2.js → web-DBjfm8vn.js} +1 -1
  327. package/dist/assets/{web-B7D3ij-g.js → web-t7YpvNIJ.js} +1 -1
  328. package/dist/assets/{x-CngXrt7w.js → x-C_82IvcF.js} +1 -1
  329. package/dist/index.html +6 -6
  330. package/package.json +2 -2
  331. package/dist/assets/Auth-BCBL54zA.js +0 -1
  332. package/dist/assets/Console-ay69lL9t.css +0 -1
  333. package/dist/assets/Conversation-62u6yrYy.css +0 -1
  334. package/dist/assets/Detail-BhVrXWAw.js +0 -2
  335. package/dist/assets/IconPark.vue_vue_type_script_setup_true_lang-BfbVNaY5.js +0 -1
  336. package/dist/assets/ImageWrapper-CCC9KDpV.css +0 -1
  337. package/dist/assets/Index-AE8zHRaI.css +0 -1
  338. package/dist/assets/Index-B6zzHZBJ.css +0 -1
  339. package/dist/assets/Index-BI75bQ5K.css +0 -1
  340. package/dist/assets/Index-BWcq7tEj.css +0 -1
  341. package/dist/assets/Index-BWm99lDQ.js +0 -1
  342. package/dist/assets/Index-BqWSpy8p.js +0 -1
  343. package/dist/assets/Index-BrSZra1u.css +0 -1
  344. package/dist/assets/Index-C0juYDGI.css +0 -1
  345. package/dist/assets/Index-C2G3tZQt.js +0 -1
  346. package/dist/assets/Index-C9xKbtsc.css +0 -1
  347. package/dist/assets/Index-CGa5D6En.css +0 -1
  348. package/dist/assets/Index-CN1ddowY.css +0 -1
  349. package/dist/assets/Index-CST3Vr3w.css +0 -1
  350. package/dist/assets/Index-CSd17KSo.css +0 -1
  351. package/dist/assets/Index-CTnAfcwW.css +0 -1
  352. package/dist/assets/Index-DGqf994l.css +0 -1
  353. package/dist/assets/Index-DHsViUQQ.css +0 -1
  354. package/dist/assets/Index-DNrqFYl3.css +0 -1
  355. package/dist/assets/Index-DPVlQRDk.css +0 -1
  356. package/dist/assets/Index-E0MNopju.css +0 -1
  357. package/dist/assets/Index-UT_BGnW3.css +0 -1
  358. package/dist/assets/Index-_JA55NiP.css +0 -1
  359. package/dist/assets/Index-fcobSwY2.js +0 -4
  360. package/dist/assets/Main-AkuYy9g7.css +0 -1
  361. package/dist/assets/Navigator-HvqoZTM0.css +0 -1
  362. package/dist/assets/NoTasks-BMP60z8h.js +0 -1
  363. package/dist/assets/NotFound-DaqDgZ5V.css +0 -1
  364. package/dist/assets/Subscribe-BxhKVPfU.js +0 -1
  365. package/dist/assets/TransportWebHID-70dVQduw.js +0 -1
  366. package/dist/assets/_Uint8Array-Ch0CPLRq.js +0 -1
  367. package/dist/assets/_initCloneObject-8L6lwplM.js +0 -1
  368. package/dist/assets/bignumber-CgXu4W5r.js +0 -1
  369. package/dist/assets/chevron-bottom-Df9-uWK7.js +0 -8
  370. package/dist/assets/chevron-left-BfjcS1Kv.js +0 -8
  371. package/dist/assets/chevron-right-BxjDTP4K.js +0 -8
  372. package/dist/assets/chevron-top-ff_K6YFc.js +0 -8
  373. package/dist/assets/common--RaOF5sz.js +0 -1
  374. package/dist/assets/common-1tfSgZ_q.js +0 -1
  375. package/dist/assets/common-2IRiMF8p.js +0 -1
  376. package/dist/assets/common-7C1ADEmA.js +0 -1
  377. package/dist/assets/common-B0OACs6O.js +0 -1
  378. package/dist/assets/common-B1H_PGdE.js +0 -1
  379. package/dist/assets/common-B3eyaj7u.js +0 -1
  380. package/dist/assets/common-BhkVEwa_.js +0 -1
  381. package/dist/assets/common-CevZliS_.js +0 -1
  382. package/dist/assets/common-CmBFQOf0.js +0 -1
  383. package/dist/assets/common-DL3jLGGl.js +0 -1
  384. package/dist/assets/common-DTrRNquo.js +0 -1
  385. package/dist/assets/common-DX37NrhH.js +0 -1
  386. package/dist/assets/common-ZdQQ3WRT.js +0 -1
  387. package/dist/assets/common-hrBuI_p8.js +0 -1
  388. package/dist/assets/common-pLeizlat.js +0 -1
  389. package/dist/assets/cursor-HTFVwKwA.js +0 -3
  390. package/dist/assets/draggabilly-BOTxFV0F.js +0 -14
  391. package/dist/assets/external-link-DER4S8Rn.js +0 -8
  392. package/dist/assets/index--PP_yzwX.js +0 -605
  393. package/dist/assets/index-3OnEKV9r.js +0 -1
  394. package/dist/assets/index-4erIVwAR.js +0 -1
  395. package/dist/assets/index-7a__YGam.js +0 -3
  396. package/dist/assets/index-BLceYS6J.css +0 -1
  397. package/dist/assets/index-BLy_0GNg.js +0 -9
  398. package/dist/assets/index-BV1Cwq1I.js +0 -1
  399. package/dist/assets/index-BgIhR1kL.js +0 -48
  400. package/dist/assets/index-Bk-udtDx.js +0 -1
  401. package/dist/assets/index-BlW8NXDb.js +0 -1
  402. package/dist/assets/index-BqG4iKtx.js +0 -303
  403. package/dist/assets/index-C1Bo4Mw5.js +0 -1
  404. package/dist/assets/index-C1k-3fKx.js +0 -1
  405. package/dist/assets/index-CHZgDHx9.js +0 -12
  406. package/dist/assets/index-CNAaeWiq.js +0 -1
  407. package/dist/assets/index-Co0qtttN.js +0 -955
  408. package/dist/assets/index-D82m-fL8.js +0 -1
  409. package/dist/assets/index-D8MgZTWJ.js +0 -1
  410. package/dist/assets/index-D8_1Zx5Y.js +0 -1
  411. package/dist/assets/index-DJD-2bGb.js +0 -1
  412. package/dist/assets/index-DKHLJMro.js +0 -3
  413. package/dist/assets/index-DQAGOe3X.js +0 -1
  414. package/dist/assets/index-DS14dowA.js +0 -1
  415. package/dist/assets/index-DXMVFcJ5.js +0 -1
  416. package/dist/assets/index-Dd70sIFf.js +0 -1
  417. package/dist/assets/index-Gnd13fAq.js +0 -1
  418. package/dist/assets/index-RarUKi1z.js +0 -1
  419. package/dist/assets/index-WDDNvNfJ.js +0 -1
  420. package/dist/assets/index-o_jmKY_c.js +0 -196
  421. package/dist/assets/index.browser.esm-IERMsJJU.js +0 -13
  422. package/dist/assets/index.es-DamXOAGZ.js +0 -1
  423. package/dist/assets/secp256k1-BrjHHHSy.js +0 -1
  424. package/dist/assets/secp256k1-CUKKhzm7.js +0 -1
  425. package/dist/assets/solana-wallets-C8BRJ6UI.js +0 -2
  426. package/dist/assets/solana-wallets-vue-BhjE_AuR.js +0 -21
  427. package/dist/assets/solanaEmbed.esm-BanLjpMK.js +0 -10
  428. package/dist/assets/standard-CDjM418q.js +0 -1
  429. package/dist/assets/subsite-BJjgnvmA.js +0 -1
  430. package/dist/assets/tslib.es6-BvfLneQN.js +0 -1
  431. package/dist/assets/use-form-item-0wLd3CVT.js +0 -1
  432. package/dist/assets/validator-re5bWxv8.js +0 -1
  433. package/dist/assets/vendor-axios-NIGUFBhG.js +0 -6
  434. package/dist/assets/vendor-chart-CNPpQrIt.js +0 -18
  435. package/dist/assets/vendor-dayjs-D7e3rSuL.js +0 -1
  436. package/dist/assets/vendor-katex-CIur2ABi.css +0 -1
  437. package/dist/assets/vendor-katex-DHBGsivc.js +0 -261
  438. package/dist/assets/vendor-vue-CpN3YBVJ.js +0 -17
  439. package/dist/assets/vendor-vue-router-DjvMdekB.js +0 -5
  440. package/dist/assets/vue-plyr-BqJN4-Iw.css +0 -1
  441. package/dist/assets/vue-plyr-QZFBikSk.js +0 -2
@@ -1 +1 @@
1
- import{F as D}from"./index.es-DamXOAGZ.js";import{E as L}from"./index-BV1Cwq1I.js";import{E as N}from"./index-WDDNvNfJ.js";import{d as b,I as i,E as r,C as o,z as U,y as u,D as s,x as n,F as l,O as E,N as A,q as y,Q as I,R as q,K as h,J as $,G as K,L as W}from"./vendor-vue-CpN3YBVJ.js";import{D as k,b0 as Z,ao as G}from"./index--PP_yzwX.js";import{b as P,c as z,d as S,e as M,f as H,g as J,h as Q,i as Y,j as X}from"./sora-BiA8hqQT.js";import{E as C,a as R}from"./index-CNAaeWiq.js";import{p as x}from"./pasteUploadMixin-BurWbGNQ.js";import{I as j,S as ee}from"./ScrollList-Bh3w1SXL.js";import{I as te}from"./ImagePreview-BJ5BKOLa.js";import{E as oe}from"./index--NBLm89E.js";import{E as T}from"./index-UE5vFfHI.js";import{C as se}from"./Consumption-ySvWSygY.js";import{E as ae}from"./index-DZ8Rewj8.js";import{a as ne}from"./price-CKyJSNpN.js";import{b as le}from"./errorCode-Cqj9Td_Z.js";import{s as re}from"./sora-CrdHrS2Z.js";import{C as ie}from"./CopyToClipboard-3NSUqonW.js";import{V as ce}from"./VideoPlayer-B5HpZm2C.js";import{E as de}from"./index-D82m-fL8.js";import{E as ue}from"./index-DJD-2bGb.js";import{E as pe}from"./index-DfJwbFXz.js";import{B as me}from"./BotPlaceholder-BY0SOJ7D.js";import{N as fe}from"./NoTasks-BMP60z8h.js";import{l as _e}from"./pagination-D8R-vY3J.js";import"./use-form-item-0wLd3CVT.js";import"./index-r5W6hzzQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-dayjs-D7e3rSuL.js";import"./vendor-vue-router-DjvMdekB.js";import"./index-CE03zuIq.js";import"./typescript-Cj24ZwXO.js";import"./index-DS14dowA.js";import"./strings-DfoVy23u.js";import"./castArray-i7WCdPpo.js";import"./isEqual-Cy6MVdGA.js";import"./_Uint8Array-Ch0CPLRq.js";import"./debounce-DldcTab3.js";import"./_baseIteratee-Bb7zbw9b.js";import"./index-C8DFrRUK.js";import"./index-BD7oko1Y.js";import"./_baseClone-DYTAd2Hm.js";import"./_initCloneObject-8L6lwplM.js";import"./index-DXMVFcJ5.js";import"./vue-plyr-QZFBikSk.js";import"./index-RarUKi1z.js";const he=b({name:"LayoutSora",components:{ElDrawer:N,ElButton:L,FontAwesomeIcon:D},data(){return{drawer:!1}}}),$e={class:"main flex flex-row flex-1"},ge={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ve={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function be(e,t,p,m,g,v){const c=s("font-awesome-icon"),d=s("el-button"),a=s("el-drawer");return n(),i("div",$e,[r("div",ge,[U(e.$slots,"config",{},void 0,!0)]),r("div",ve,[U(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=w=>e.drawer=!0)},{default:u(()=>[o(c,{icon:"fa-solid fa-magic"})]),_:1}),o(a,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=w=>e.drawer=w),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ke=k(he,[["render",be],["__scopeId","data-v-2dca3c13"]]),we=b({name:"ModelSelector",components:{ElSelect:R,ElOption:C},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:H,label:"sora-2"},{value:J,label:"sora-2-pro"}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){const t=this.$store.state.sora?.config||{},p=z[e]||[S],m=t.duration,g=m&&p.includes(m)?m:p.includes(S)?S:p[0],v={...t,model:e,duration:g,size:t.size||M};this.$store.commit("sora/setConfig",v)}}},mounted(){this.value||(this.value=P)}}),ye={class:"field"},Se={class:"title font-bold"};function Ee(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",ye,[r("h2",Se,l(e.$t("sora.name.model")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(n(!0),i(E,null,A(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ve=k(we,[["render",Ee],["__scopeId","data-v-0cb7913d"]]),Te=b({name:"ActionSelector",components:{ElSelect:R,ElOption:C},data(){return{}},computed:{options(){return[{value:"text2video",label:this.$t("sora.button.action1")},{value:"image2video",label:this.$t("sora.button.action2")}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||(this.value=Q)}}),Ie={class:"field"},Ae={class:"title font-bold"},De={class:"float-left"};function Le(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",Ie,[r("h2",Ae,l(e.$t("sora.name.action")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select"),clearable:""},{default:u(()=>[(n(!0),i(E,null,A(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},{default:u(()=>[r("span",De,l(a.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ce=k(Te,[["render",Le],["__scopeId","data-v-7b82fa7f"]]),Re=b({name:"DurationSelector",components:{ElSelect:R,ElOption:C},computed:{model(){return this.$store.state.sora?.config?.model||P},allowedDurations(){return z[this.model]||[S]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,duration:e})}}},watch:{allowedDurations(){const e=this.allowedDurations;if(!e.includes(this.value)){const t=e.includes(S)?S:e[0];this.value=t}}},mounted(){this.value||(this.value=S)}}),Oe={class:"field"},Ue={class:"control"},Ge={class:"title font-bold"};function Pe(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",Oe,[r("div",Ue,[r("h2",Ge,l(e.$t("sora.name.duration")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(n(!0),i(E,null,A(e.optionsForModel,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const ze=k(Re,[["render",Pe],["__scopeId","data-v-c2934598"]]),Me=b({name:"OrientationSelector",data(){return{options:[{value:"portrait",labelKey:"sora.option.portrait",width:13,height:25},{value:"landscape",labelKey:"sora.option.landscape",width:25,height:13}]}},computed:{active(){const e=this.options.findIndex(t=>t.value===this.value);return e>=0?e:0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug("set orientation",e),this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||(this.value=Y)}}),je={class:"text-sm font-bold mb-2 block"},Be={class:"items"},Fe=["onClick"],Ne={class:"name"};function qe(e,t,p,m,g,v){return n(),i("div",null,[r("span",je,l(e.$t("sora.name.orientation")),1),r("div",Be,[(n(!0),i(E,null,A(e.options,(c,d)=>(n(),i("div",{key:d,class:I({active:e.active===d,item:!0}),onClick:a=>e.value=c.value},[r("div",{class:I(["preview",c.value])},[r("div",{class:"rect",style:q({width:c.width+"px",height:c.height+"px"})},null,4)],2),r("p",Ne,l(e.$t(c.labelKey)),1)],10,Fe))),128))])])}const Ke=k(Me,[["render",qe],["__scopeId","data-v-a20be6d9"]]),We=b({name:"StartEndImage",components:{ElUpload:oe,ElButton:L,InfoIcon:j,FontAwesomeIcon:D,ImagePreview:te},mixins:[x],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?.sora?.config?.image_urls},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){T.warning(this.$t("sora.message.uploadReferencesExceed"))},onError(){T.error(this.$t("sora.message.uploadReferencesError"))},onSetStartEndImageUrl(){const e=this.urls;this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),Ze={class:"relative"},He={class:"flex justify-between"},Je={class:"flex justify-start items-center"},Qe={class:"text-sm font-bold"};function Ye(e,t,p,m,g,v){const c=s("info-icon"),d=s("image-preview"),a=s("font-awesome-icon"),w=s("el-button"),_=s("el-upload");return n(),i("div",Ze,[r("div",He,[r("div",Je,[r("span",Qe,l(e.$t("sora.name.startEndImage")),1),o(c,{content:e.$t("sora.description.uploadStartEndImage")},null,8,["content"])])]),o(_,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=f=>e.fileList=f),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:2,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:f})=>[f.url&&f.percentage!==void 0?(n(),y(d,{key:0,url:f.url,name:f.name,percentage:f.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])):$("",!0)]),default:u(()=>[o(w,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[o(a,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("sora.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Xe=k(We,[["render",Ye],["__scopeId","data-v-a942382b"]]),xe=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),et=b({name:"SizeSelector",components:{ElSelect:R,ElOption:C},data(){return{options:X.map(e=>({value:e,label:xe(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,size:e})}}},mounted(){this.value||(this.value=M)}}),tt={class:"field"},ot={class:"control"},st={class:"title font-bold"};function at(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",tt,[r("div",ot,[r("h2",st,l(e.$t("sora.name.size")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(n(!0),i(E,null,A(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const nt=k(et,[["render",at],["__scopeId","data-v-8c485f0f"]]),lt="",rt=b({name:"PromptInput",components:{ElInput:ae,InfoIcon:j},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=lt)}}),it={class:"field"},ct={class:"box"},dt={class:"title font-bold"};function ut(e,t,p,m,g,v){const c=s("info-icon"),d=s("el-input");return n(),i("div",it,[r("div",ct,[r("h2",dt,l(e.$t("sora.name.prompt")),1),o(c,{content:e.$t("sora.description.prompt"),class:"info"},null,8,["content"])]),o(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=a=>e.prompt=a),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("sora.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const pt=k(rt,[["render",ut],["__scopeId","data-v-a57633d5"]]),mt=b({name:"ConfigPanel",components:{ElButton:L,Consumption:se,FontAwesomeIcon:D,PromptInput:pt,ModelSelector:Ve,StartEndImage:Xe,SizeSelector:nt,ActionSelector:Ce,OrientationSelector:Ke,DurationSelector:ze},emits:["generate"],computed:{config(){return this.$store.state.sora?.config},consumption(){return ne(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit("generate")}}}),ft={class:"flex flex-col h-full"},_t={class:"flex-1 overflow-y-auto p-5"},ht={class:"flex flex-col items-center justify-center px-5 pb-5"};function $t(e,t,p,m,g,v){const c=s("model-selector"),d=s("action-selector"),a=s("duration-selector"),w=s("size-selector"),_=s("orientation-selector"),f=s("prompt-input"),V=s("start-end-image"),O=s("consumption"),B=s("font-awesome-icon"),F=s("el-button");return n(),i("div",ft,[r("div",_t,[o(c,{class:"mb-4"}),o(d,{class:"mb-4"}),o(a,{class:"mb-4"}),o(w,{class:"mb-4"}),o(_,{class:"mb-4"}),o(f,{class:"mb-4"}),K(o(V,{class:"mb-2"},null,512),[[W,e.config?.action==="image2video"]])]),r("div",ht,[o(O,{value:e.consumption,service:e.service},null,8,["value","service"]),o(F,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[o(B,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+l(e.$t("sora.button.generate")),1)]),_:1},8,["onClick"])])])}const gt=k(mt,[["render",$t]]),vt=b({name:"TaskPreview",components:{ElImage:pe,CopyToClipboard:ie,FontAwesomeIcon:D,ElAlert:ue,VideoPlayer:ce,ElTooltip:de,ElButton:L},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),bt={class:"preview"},kt={class:"left"},wt={class:"main"},yt={class:"bot"},St={class:"datetime"},Et={class:"info"},Vt={key:0,class:"prompt mt-2"},Tt={key:0},It={key:1},At={key:0,class:I({content:!0,failed:!0})},Dt={key:0,class:"mb-4"},Lt={key:1,class:I({operations:!0,"mt-2":!0})},Ct={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ot={key:1,class:I({content:!0})},Ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Pt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},zt={key:2,class:I({content:!0})},Mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},jt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Bt(e,t,p,m,g,v){const c=s("el-image"),d=s("video-player"),a=s("el-button"),w=s("el-tooltip"),_=s("font-awesome-icon"),f=s("copy-to-clipboard"),V=s("el-alert");return n(),i("div",bt,[r("div",kt,[o(c,{src:"https://cdn.acedata.cloud/z5id1u.png",class:"avatar"})]),r("div",wt,[r("div",yt,[h(l(e.$t("sora.name.soraBot"))+" ",1),r("span",St,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",Et,[e.modelValue?.request?.prompt?(n(),i("p",Vt,[h(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?$("",!0):(n(),i("span",Tt," - ("+l(e.$t("sora.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="pending"?(n(),i("span",It," - ("+l(e.$t("sora.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(n(),i("div",At,[e.modelValue?.response?.data[0]?.video_url?(n(),i("div",Dt,[o(d,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):$("",!0),e.modelValue?.response.success?(n(),i("div",Lt,[o(w,{class:"box-item",effect:"dark",content:e.$t("sora.message.downloadVideo"),placement:"top-start"},{default:u(()=>[e.modelValue?.response?.data[0]?.video_url?(n(),y(a,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=O=>e.onDownload(O,e.modelValue?.response?.data[0]?.video_url))},{default:u(()=>[h(l(e.$t("sora.button.download")),1)]),_:1})):$("",!0)]),_:1},8,["content"])])):$("",!0),o(V,{closable:!1,class:"mt-2 success"},{default:u(()=>[r("p",Ct,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.model"))+": "+l(e.modelValue?.request?.model),1)]),r("p",Rt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(n(),i("div",Ot,[o(V,{closable:!1,class:"failure"},{template:u(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:u(()=>[r("p",Ut,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),r("p",Gt,[o(_,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+l(e.$t("sora.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),o(f,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),i("p",Pt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===void 0?(n(),i("div",zt,[o(V,{closable:!1,class:"info"},{template:u(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:u(()=>[r("p",Mt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),i("p",jt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0)])])}const Ft=k(vt,[["render",Bt],["__scopeId","data-v-7b468b7a"]]),Nt=b({name:"RecentPanel",components:{TaskPreview:Ft,NoTasks:fe,BotPlaceholder:me,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),qt={key:0},Kt={key:2,class:"w-full h-full flex items-center justify-center"};function Wt(e,t,p,m,g,v){const c=s("bot-placeholder"),d=s("task-preview"),a=s("scroll-list"),w=s("no-tasks");return n(),i(E,null,[e.tasks?.items===void 0?(n(),i("div",qt,[o(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),y(a,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=_=>e.$emit("reach-top"))},{default:u(()=>[(n(!0),i(E,null,A(e.tasks?.items,(_,f)=>(n(),y(d,{key:f,"model-value":_},null,8,["model-value"]))),128))]),_:1},8,["loading"])):$("",!0),e.tasks?.items?.length===0?(n(),i("div",Kt,[o(w)])):$("",!0)],64)}const Zt=k(Nt,[["render",Wt]]),Ht="https://webhook.acedata.cloud/sora",Jt=b({name:"SoraIndex",components:{ConfigPanel:gt,Layout:ke,RecentPanel:Zt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===G.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===G.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await _e({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("sora/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("sora/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:p,createdAtMax:m}=e||{};console.debug("limit",t,"createdAtMin",p,"createdAtMax",m),this.fetchingTasks=!0;try{await this.$store.dispatch("sora/getTasks",{limit:t,createdAtMin:p,createdAtMax:m})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Ht},t=this.credential?.token;if(!t){console.error("no token specified");return}T.info(this.$t("sora.message.startingTask")),re.generate(e,{token:t}).then(()=>{T.success(this.$t("sora.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===le?T.error(this.$t("sora.message.usedUp")):T.error(this.$t("sora.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Qt(e,t,p,m,g,v){const c=s("config-panel"),d=s("recent-panel"),a=s("layout");return n(),y(a,null,{config:u(()=>[o(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[o(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const qo=k(Jt,[["render",Qt]]);export{qo as default};
1
+ import{F as D}from"./index.es-XGGSPmjR.js";import{E as L}from"./index-C5R5qq7V.js";import{E as N}from"./index-BHDum5pg.js";import{d as b,H as i,E as r,z as U,C as o,y as u,D as s,q as n,F as l,O as E,N as A,x as y,Q as I,R as q,I as h,J as $,G as K,L as H}from"./vendor-vue-C5BV5QrY.js";import{D as k,b0 as W,ao as G}from"./index-dMPmKU6u.js";import{b as P,c as z,d as S,e as M,f as Z,g as J,h as Q,i as Y,j as X}from"./sora-BiA8hqQT.js";import{E as C,a as R}from"./index-CfTVFzOT.js";import{p as x}from"./pasteUploadMixin-BurWbGNQ.js";import{I as j,S as ee}from"./ScrollList-B3uJ1gSY.js";import{I as te}from"./ImagePreview-7HUOmAyV.js";import{E as oe}from"./index-DEYO5tcx.js";import{E as T}from"./index-_UFAMZ9g.js";import{C as se}from"./Consumption-ObjRS0rS.js";import{E as ae}from"./index-CA-B3YlS.js";import{a as ne}from"./price-Do7xTyQI.js";import{b as le}from"./errorCode-Cqj9Td_Z.js";import{s as re}from"./sora-CA_d19gb.js";import{C as ie}from"./CopyToClipboard-BFGsFEZA.js";import{V as ce}from"./VideoPlayer-COOhs6r9.js";import{E as de}from"./index-oFgdNoVI.js";import{E as ue}from"./index-BKSXW3eM.js";import{E as pe}from"./index-BomByufL.js";import{B as me}from"./BotPlaceholder-k4AeTKQv.js";import{N as fe}from"./NoTasks-DjrzkYOv.js";import{l as _e}from"./pagination-D5yjLyAE.js";import"./use-form-item-Dxrg2wlU.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./index-CHzmF31S.js";import"./typescript-H0JHBG5n.js";import"./index-DRFr4QkO.js";import"./strings-DGr9fDRd.js";import"./isEqual-DW2lLMge.js";import"./_Uint8Array-DZ0PVSry.js";import"./castArray-QGGZQJSb.js";import"./debounce-Cwy-8tIq.js";import"./_baseIteratee-Dwi-MjVw.js";import"./index-WjhQxiNV.js";import"./index-Dkwj8S_y.js";import"./_baseClone-6UfTLNRO.js";import"./_initCloneObject-DgGkwNWc.js";import"./index-BZ-pSuzr.js";import"./vue-plyr-BO2nlN4c.js";import"./index-CLDKJLd-.js";const he=b({name:"LayoutSora",components:{ElDrawer:N,ElButton:L,FontAwesomeIcon:D},data(){return{drawer:!1}}}),$e={class:"main flex flex-row flex-1"},ge={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ve={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function be(e,t,p,m,g,v){const c=s("font-awesome-icon"),d=s("el-button"),a=s("el-drawer");return n(),i("div",$e,[r("div",ge,[U(e.$slots,"config",{},void 0,!0)]),r("div",ve,[U(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=w=>e.drawer=!0)},{default:u(()=>[o(c,{icon:"fa-solid fa-magic"})]),_:1}),o(a,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=w=>e.drawer=w),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ke=k(he,[["render",be],["__scopeId","data-v-2dca3c13"]]),we=b({name:"ModelSelector",components:{ElSelect:R,ElOption:C},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:Z,label:"sora-2"},{value:J,label:"sora-2-pro"}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){const t=this.$store.state.sora?.config||{},p=z[e]||[S],m=t.duration,g=m&&p.includes(m)?m:p.includes(S)?S:p[0],v={...t,model:e,duration:g,size:t.size||M};this.$store.commit("sora/setConfig",v)}}},mounted(){this.value||(this.value=P)}}),ye={class:"field"},Se={class:"title font-bold"};function Ee(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",ye,[r("h2",Se,l(e.$t("sora.name.model")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(n(!0),i(E,null,A(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ve=k(we,[["render",Ee],["__scopeId","data-v-0cb7913d"]]),Te=b({name:"ActionSelector",components:{ElSelect:R,ElOption:C},data(){return{}},computed:{options(){return[{value:"text2video",label:this.$t("sora.button.action1")},{value:"image2video",label:this.$t("sora.button.action2")}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||(this.value=Q)}}),Ie={class:"field"},Ae={class:"title font-bold"},De={class:"float-left"};function Le(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",Ie,[r("h2",Ae,l(e.$t("sora.name.action")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select"),clearable:""},{default:u(()=>[(n(!0),i(E,null,A(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},{default:u(()=>[r("span",De,l(a.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ce=k(Te,[["render",Le],["__scopeId","data-v-7b82fa7f"]]),Re=b({name:"DurationSelector",components:{ElSelect:R,ElOption:C},computed:{model(){return this.$store.state.sora?.config?.model||P},allowedDurations(){return z[this.model]||[S]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,duration:e})}}},watch:{allowedDurations(){const e=this.allowedDurations;if(!e.includes(this.value)){const t=e.includes(S)?S:e[0];this.value=t}}},mounted(){this.value||(this.value=S)}}),Oe={class:"field"},Ue={class:"control"},Ge={class:"title font-bold"};function Pe(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",Oe,[r("div",Ue,[r("h2",Ge,l(e.$t("sora.name.duration")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(n(!0),i(E,null,A(e.optionsForModel,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const ze=k(Re,[["render",Pe],["__scopeId","data-v-c2934598"]]),Me=b({name:"OrientationSelector",data(){return{options:[{value:"portrait",labelKey:"sora.option.portrait",width:13,height:25},{value:"landscape",labelKey:"sora.option.landscape",width:25,height:13}]}},computed:{active(){const e=this.options.findIndex(t=>t.value===this.value);return e>=0?e:0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug("set orientation",e),this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||(this.value=Y)}}),je={class:"text-sm font-bold mb-2 block"},Be={class:"items"},Fe=["onClick"],Ne={class:"name"};function qe(e,t,p,m,g,v){return n(),i("div",null,[r("span",je,l(e.$t("sora.name.orientation")),1),r("div",Be,[(n(!0),i(E,null,A(e.options,(c,d)=>(n(),i("div",{key:d,class:I({active:e.active===d,item:!0}),onClick:a=>e.value=c.value},[r("div",{class:I(["preview",c.value])},[r("div",{class:"rect",style:q({width:c.width+"px",height:c.height+"px"})},null,4)],2),r("p",Ne,l(e.$t(c.labelKey)),1)],10,Fe))),128))])])}const Ke=k(Me,[["render",qe],["__scopeId","data-v-a20be6d9"]]),He=b({name:"StartEndImage",components:{ElUpload:oe,ElButton:L,InfoIcon:j,FontAwesomeIcon:D,ImagePreview:te},mixins:[x],emits:["change"],data(){return{fileList:[],uploadUrl:W()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.sora?.config?.image_urls},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){T.warning(this.$t("sora.message.uploadReferencesExceed"))},onError(){T.error(this.$t("sora.message.uploadReferencesError"))},onSetStartEndImageUrl(){const e=this.urls;this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),We={class:"relative"},Ze={class:"flex justify-between"},Je={class:"flex justify-start items-center"},Qe={class:"text-sm font-bold"};function Ye(e,t,p,m,g,v){const c=s("info-icon"),d=s("image-preview"),a=s("font-awesome-icon"),w=s("el-button"),_=s("el-upload");return n(),i("div",We,[r("div",Ze,[r("div",Je,[r("span",Qe,l(e.$t("sora.name.startEndImage")),1),o(c,{content:e.$t("sora.description.uploadStartEndImage")},null,8,["content"])])]),o(_,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=f=>e.fileList=f),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:2,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:f})=>[f.url&&f.percentage!==void 0?(n(),y(d,{key:0,url:f.url,name:f.name,percentage:f.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])):$("",!0)]),default:u(()=>[o(w,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[o(a,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("sora.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Xe=k(He,[["render",Ye],["__scopeId","data-v-a942382b"]]),xe=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),et=b({name:"SizeSelector",components:{ElSelect:R,ElOption:C},data(){return{options:X.map(e=>({value:e,label:xe(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,size:e})}}},mounted(){this.value||(this.value=M)}}),tt={class:"field"},ot={class:"control"},st={class:"title font-bold"};function at(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",tt,[r("div",ot,[r("h2",st,l(e.$t("sora.name.size")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(n(!0),i(E,null,A(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const nt=k(et,[["render",at],["__scopeId","data-v-8c485f0f"]]),lt="",rt=b({name:"PromptInput",components:{ElInput:ae,InfoIcon:j},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=lt)}}),it={class:"field"},ct={class:"box"},dt={class:"title font-bold"};function ut(e,t,p,m,g,v){const c=s("info-icon"),d=s("el-input");return n(),i("div",it,[r("div",ct,[r("h2",dt,l(e.$t("sora.name.prompt")),1),o(c,{content:e.$t("sora.description.prompt"),class:"info"},null,8,["content"])]),o(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=a=>e.prompt=a),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("sora.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const pt=k(rt,[["render",ut],["__scopeId","data-v-a57633d5"]]),mt=b({name:"ConfigPanel",components:{ElButton:L,Consumption:se,FontAwesomeIcon:D,PromptInput:pt,ModelSelector:Ve,StartEndImage:Xe,SizeSelector:nt,ActionSelector:Ce,OrientationSelector:Ke,DurationSelector:ze},emits:["generate"],computed:{config(){return this.$store.state.sora?.config},consumption(){return ne(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit("generate")}}}),ft={class:"flex flex-col h-full"},_t={class:"flex-1 overflow-y-auto p-5"},ht={class:"flex flex-col items-center justify-center px-5 pb-5"};function $t(e,t,p,m,g,v){const c=s("model-selector"),d=s("action-selector"),a=s("duration-selector"),w=s("size-selector"),_=s("orientation-selector"),f=s("prompt-input"),V=s("start-end-image"),O=s("consumption"),B=s("font-awesome-icon"),F=s("el-button");return n(),i("div",ft,[r("div",_t,[o(c,{class:"mb-4"}),o(d,{class:"mb-4"}),o(a,{class:"mb-4"}),o(w,{class:"mb-4"}),o(_,{class:"mb-4"}),o(f,{class:"mb-4"}),K(o(V,{class:"mb-2"},null,512),[[H,e.config?.action==="image2video"]])]),r("div",ht,[o(O,{value:e.consumption,service:e.service},null,8,["value","service"]),o(F,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[o(B,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+l(e.$t("sora.button.generate")),1)]),_:1},8,["onClick"])])])}const gt=k(mt,[["render",$t]]),vt=b({name:"TaskPreview",components:{ElImage:pe,CopyToClipboard:ie,FontAwesomeIcon:D,ElAlert:ue,VideoPlayer:ce,ElTooltip:de,ElButton:L},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),bt={class:"preview"},kt={class:"left"},wt={class:"main"},yt={class:"bot"},St={class:"datetime"},Et={class:"info"},Vt={key:0,class:"prompt mt-2"},Tt={key:0},It={key:1},At={key:0,class:I({content:!0,failed:!0})},Dt={key:0,class:"mb-4"},Lt={key:1,class:I({operations:!0,"mt-2":!0})},Ct={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ot={key:1,class:I({content:!0})},Ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Pt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},zt={key:2,class:I({content:!0})},Mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},jt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Bt(e,t,p,m,g,v){const c=s("el-image"),d=s("video-player"),a=s("el-button"),w=s("el-tooltip"),_=s("font-awesome-icon"),f=s("copy-to-clipboard"),V=s("el-alert");return n(),i("div",bt,[r("div",kt,[o(c,{src:"https://cdn.acedata.cloud/z5id1u.png",class:"avatar"})]),r("div",wt,[r("div",yt,[h(l(e.$t("sora.name.soraBot"))+" ",1),r("span",St,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",Et,[e.modelValue?.request?.prompt?(n(),i("p",Vt,[h(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?$("",!0):(n(),i("span",Tt," - ("+l(e.$t("sora.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="pending"?(n(),i("span",It," - ("+l(e.$t("sora.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(n(),i("div",At,[e.modelValue?.response?.data[0]?.video_url?(n(),i("div",Dt,[o(d,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):$("",!0),e.modelValue?.response.success?(n(),i("div",Lt,[o(w,{class:"box-item",effect:"dark",content:e.$t("sora.message.downloadVideo"),placement:"top-start"},{default:u(()=>[e.modelValue?.response?.data[0]?.video_url?(n(),y(a,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=O=>e.onDownload(O,e.modelValue?.response?.data[0]?.video_url))},{default:u(()=>[h(l(e.$t("sora.button.download")),1)]),_:1})):$("",!0)]),_:1},8,["content"])])):$("",!0),o(V,{closable:!1,class:"mt-2 success"},{default:u(()=>[r("p",Ct,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.model"))+": "+l(e.modelValue?.request?.model),1)]),r("p",Rt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(n(),i("div",Ot,[o(V,{closable:!1,class:"failure"},{template:u(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:u(()=>[r("p",Ut,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),r("p",Gt,[o(_,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+l(e.$t("sora.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),o(f,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),i("p",Pt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===void 0?(n(),i("div",zt,[o(V,{closable:!1,class:"info"},{template:u(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:u(()=>[r("p",Mt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),i("p",jt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0)])])}const Ft=k(vt,[["render",Bt],["__scopeId","data-v-7b468b7a"]]),Nt=b({name:"RecentPanel",components:{TaskPreview:Ft,NoTasks:fe,BotPlaceholder:me,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),qt={key:0},Kt={key:2,class:"w-full h-full flex items-center justify-center"};function Ht(e,t,p,m,g,v){const c=s("bot-placeholder"),d=s("task-preview"),a=s("scroll-list"),w=s("no-tasks");return n(),i(E,null,[e.tasks?.items===void 0?(n(),i("div",qt,[o(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),y(a,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=_=>e.$emit("reach-top"))},{default:u(()=>[(n(!0),i(E,null,A(e.tasks?.items,(_,f)=>(n(),y(d,{key:f,"model-value":_},null,8,["model-value"]))),128))]),_:1},8,["loading"])):$("",!0),e.tasks?.items?.length===0?(n(),i("div",Kt,[o(w)])):$("",!0)],64)}const Wt=k(Nt,[["render",Ht]]),Zt="https://webhook.acedata.cloud/sora",Jt=b({name:"SoraIndex",components:{ConfigPanel:gt,Layout:ke,RecentPanel:Wt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===G.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===G.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await _e({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("sora/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("sora/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:p,createdAtMax:m}=e||{};console.debug("limit",t,"createdAtMin",p,"createdAtMax",m),this.fetchingTasks=!0;try{await this.$store.dispatch("sora/getTasks",{limit:t,createdAtMin:p,createdAtMax:m})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Zt},t=this.credential?.token;if(!t){console.error("no token specified");return}T.info(this.$t("sora.message.startingTask")),re.generate(e,{token:t}).then(()=>{T.success(this.$t("sora.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===le?T.error(this.$t("sora.message.usedUp")):T.error(this.$t("sora.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Qt(e,t,p,m,g,v){const c=s("config-panel"),d=s("recent-panel"),a=s("layout");return n(),y(a,null,{config:u(()=>[o(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[o(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const qo=k(Jt,[["render",Qt]]);export{qo as default};
@@ -0,0 +1 @@
1
+ .main .menu[data-v-c465bd04]{display:none}@media(max-width:767px){.main[data-v-c465bd04]{position:relative}.main .config[data-v-c465bd04]{display:none}.main .results[data-v-c465bd04]{display:block;width:100%}.main .menu[data-v-c465bd04]{display:block;position:absolute;right:8px;top:45px;z-index:1000}}.title[data-v-b1114c34]{font-size:14px;margin-bottom:10px}.items[data-v-b1114c34]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.items .item[data-v-b1114c34]{width:48px;height:65px;border:1px solid var(--el-border-color);background-color:var(--el-fill-color-lighter);display:flex;flex-direction:column;align-items:center;cursor:pointer;border-radius:var(--el-border-radius-base);transition:background-color .2s ease,border-color .2s ease}.items .item .preview[data-v-b1114c34]{margin-top:5px;margin-bottom:3px;width:30px;height:30px;display:flex;flex-direction:row;align-items:center;justify-content:center}.items .item .preview .rect[data-v-b1114c34]{border:1px solid var(--el-border-color-lighter);width:20px;height:20px;border-radius:2px}.items .item .name[data-v-b1114c34]{display:block;font-size:12px;color:var(--el-text-color-primary)}.items .item[data-v-b1114c34]:hover{background-color:var(--el-fill-color)}.items .item.active[data-v-b1114c34]{border-color:var(--el-color-primary);background-color:var(--el-color-primary-light-9)}.items .item.active .rect[data-v-b1114c34]{border-color:var(--el-color-primary)}.field[data-v-2d55fce2]{display:flex;flex-direction:row;align-items:center}.field .title[data-v-2d55fce2]{font-size:14px;margin:0;width:30%}.field .value[data-v-2d55fce2]{flex:1}.field .info[data-v-2d55fce2]{width:20px}.field[data-v-4a89a2de]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.field .title[data-v-4a89a2de]{font-size:14px;margin:0;width:30%}.field .value[data-v-4a89a2de]{width:80px}.field[data-v-871c894e]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.field .info-icon[data-v-871c894e]{margin-left:4px;font-size:12px;color:var(--el-text-color-secondary);cursor:pointer}.title[data-v-f33032d1]{font-size:14px;margin-bottom:0;width:30%}.btn.btn-upload[data-v-f33032d1]{position:absolute;top:5px;right:0}.title[data-v-c75a4eab]{font-size:14px;margin-bottom:0;width:30%}.btn.btn-upload[data-v-c75a4eab]{position:absolute;top:5px;right:0}.title[data-v-5f289d23]{font-size:14px;margin-bottom:0;width:30%}.btn.btn-upload[data-v-5f289d23]{position:absolute;top:5px;right:0}.field[data-v-ed158765]{display:flex;flex-direction:row;align-items:center}.field .title[data-v-ed158765]{font-size:14px;margin:0;width:30%}.field .value[data-v-ed158765]{flex:1}.title[data-v-ebc6758e]{font-size:14px;margin-bottom:10px}.items[data-v-ebc6758e]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.items .item[data-v-ebc6758e]{width:130px;height:60px;border:1px solid var(--el-border-color);background-color:var(--el-fill-color-lighter);display:flex;flex-direction:column;align-items:center;cursor:pointer;overflow:hidden;border-radius:var(--el-border-radius-base);position:relative;transition:border-color .2s ease}.items .item .image[data-v-ebc6758e]{width:100%;height:100%}.items .item .name[data-v-ebc6758e]{display:block;font-size:18px;color:#fff;position:absolute;text-align:center;top:12px}.items .item.active[data-v-ebc6758e],.items .item.active .rect[data-v-ebc6758e]{border-color:var(--el-color-primary)}.field[data-v-f1efdc92]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.field .title[data-v-f1efdc92]{font-size:14px;margin:0;width:30%}.field .value[data-v-f1efdc92]{flex:1}.quality .el-radio-button .el-radio-button__inner{padding:8px 11px}.field[data-v-12537f29]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.field .title[data-v-12537f29]{font-size:14px;margin:0;width:30%}.field .value[data-v-12537f29]{width:80px}.field[data-v-b4bf1f1e]{display:flex;flex-direction:row;align-items:center}.field .title[data-v-b4bf1f1e]{font-size:14px;margin:0;width:30%}.field .value[data-v-b4bf1f1e]{flex:1}.field[data-v-00d50831]{display:flex;flex-direction:row;align-items:center}.field .title[data-v-00d50831]{font-size:14px;margin:0;width:30%}.field .value[data-v-00d50831]{flex:1}.title[data-v-48a019ff]{font-size:14px;margin-bottom:10px}.pane[data-v-48a019ff]{display:flex;flex-direction:row;justify-content:left;align-items:flex-start;height:auto;flex-wrap:wrap;height:230px;overflow-y:auto;gap:10px}.pane .item[data-v-48a019ff]{position:relative;width:100px;height:100px;border:1px solid var(--el-border-color);background-color:var(--el-fill-color-lighter);border-radius:10px;overflow:hidden;cursor:pointer;transition:border-color .2s ease}.pane .item .icon[data-v-48a019ff]{position:absolute;visibility:hidden;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;color:var(--el-color-white);font-size:20px;background-color:var(--el-color-primary);border-radius:50%;padding:5px}.pane .item.hidden[data-v-48a019ff]{display:none}.pane .item.active[data-v-48a019ff]{border-color:var(--el-color-primary)}.pane .item.active .icon[data-v-48a019ff]{visibility:visible}.pane .item .preview[data-v-48a019ff]{width:100px;height:100px}.pane .item .name[data-v-48a019ff]{position:absolute;bottom:0;left:0;right:0;width:100px;text-overflow:ellipsis;background-color:#000c;color:#fff;font-size:10px;text-align:center;padding:0 5px}.field[data-v-defbf635]{display:flex;flex-direction:row;align-items:center}.field .title[data-v-defbf635]{font-size:14px;margin:0;width:30%}.field .value[data-v-defbf635]{flex:1}.mode .el-radio-button--small .el-radio-button__inner{padding:8px 11px}.field .box[data-v-7503f586]{display:flex;flex-direction:row;align-items:center;position:relative}.field .box .title[data-v-7503f586]{font-size:14px}.title[data-v-7023a67a]{font-size:14px;margin-bottom:0;width:30%}.btn.btn-upload[data-v-7023a67a]{position:absolute;top:5px;right:0}.upload-wrapper{height:auto;display:flex}.upload-wrapper .el-upload-list{margin:0;width:100%}.item[data-v-3abd352b]{display:flex;flex-direction:row}.item .left[data-v-3abd352b]{width:70px}.item .left .avatar[data-v-3abd352b]{width:50px;height:50px;margin:10px;border-radius:50%;box-shadow:var(--app-shadow-xs)}.item .preview[data-v-3abd352b]{flex:1;width:calc(100% - 70px);min-width:0;padding:10px 10px 0;display:flex;flex-direction:column}.item .preview .bot[data-v-3abd352b]{font-size:16px;font-weight:700;color:var(--el-color-primary);margin-bottom:10px;margin-top:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item .preview .bot .datetime[data-v-3abd352b]{font-size:12px;font-weight:400;color:var(--el-text-color-secondary);margin-left:10px}.item .preview .description[data-v-3abd352b]{font-size:12px;color:var(--el-text-color-regular);margin-bottom:10px;text-align:left}.item .preview .info[data-v-3abd352b]{display:flex;flex-direction:row;width:100%;overflow:hidden}.item .preview .info .prompt[data-v-3abd352b]{font-size:14px;font-weight:700;color:var(--el-text-color-regular);margin-bottom:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item .preview .info .mode .icon[data-v-3abd352b]{display:inline-block;margin-right:2px}.item .preview .info .mode .icon.turbo[data-v-3abd352b]{color:#f90}.item .preview .info .mode .icon.fast[data-v-3abd352b]{color:#2dc49c}.item .preview .info .mode .icon.relax[data-v-3abd352b]{color:#ce65e6}.item .preview .content[data-v-3abd352b]{width:100%;position:relative;margin-bottom:10px}.item .preview .content.full[data-v-3abd352b]{height:220px;display:flex;align-items:center}.item .preview .content.full .image[data-v-3abd352b]{min-height:200px}.item .preview .content .progress[data-v-3abd352b]{position:absolute;top:49%;left:50%;transform:translate(-50%,-50%);font-size:20px;font-weight:700;color:#fff;text-shadow:0 0 5px black}.item .preview .el-alert[data-v-3abd352b]{border-left-width:2px;border-left-style:solid}.item .preview .el-alert.failure[data-v-3abd352b]{border-color:var(--el-color-danger)}.item .preview .el-alert.success[data-v-3abd352b]{border-color:var(--el-color-success)}.item .preview .el-alert.info[data-v-3abd352b]{border-color:var(--el-color-info)}.item .preview .operations[data-v-3abd352b]{display:flex;justify-content:left;flex-direction:row;width:100%;align-items:baseline;flex-wrap:wrap;margin-bottom:15px;overflow:hidden;text-align:center;color:var(--el-text-color-regular);font-size:14px;overflow-y:scroll;gap:10px}.item .preview .operations.full[data-v-3abd352b]{height:70px}.item .preview .operations .btn-action[data-v-3abd352b]{margin-left:0}
@@ -1 +1 @@
1
- import{F as L}from"./index.es-DamXOAGZ.js";import{E as R}from"./index-BV1Cwq1I.js";import{E as q}from"./index-WDDNvNfJ.js";import{d as _,I as r,E as l,C as o,z as P,y as d,D as s,x as a,F as c,O as V,N as S,q as w,Q as T,R as B,K as k,J as y}from"./vendor-vue-CpN3YBVJ.js";import{D as h,b0 as F,ao as D}from"./index--PP_yzwX.js";import{b as z,c as N,d as X,e as Q,f as Y,g as H}from"./pixverse-eUATiZ_u.js";import{E as I,a as C}from"./index-CNAaeWiq.js";import{I as A,S as J}from"./ScrollList-Bh3w1SXL.js";import{E as K,a as W}from"./index-BhE10XIa.js";import{p as Z}from"./pasteUploadMixin-BurWbGNQ.js";import{I as ee}from"./ImagePreview-BJ5BKOLa.js";import{E as te}from"./index--NBLm89E.js";import{E as x}from"./index-UE5vFfHI.js";import{E as se}from"./index-DZ8Rewj8.js";import{C as oe}from"./Consumption-ySvWSygY.js";import{a as ne}from"./price-CKyJSNpN.js";import{b as ae}from"./errorCode-Cqj9Td_Z.js";import{p as le}from"./pixverse-BtGj_OA7.js";import{C as ie}from"./CopyToClipboard-3NSUqonW.js";import{V as re}from"./VideoPlayer-B5HpZm2C.js";import{E as ce}from"./index-D82m-fL8.js";import{E as pe}from"./index-DJD-2bGb.js";import{E as de}from"./index-DfJwbFXz.js";import{B as ue}from"./BotPlaceholder-BY0SOJ7D.js";import{N as me}from"./NoTasks-BMP60z8h.js";import{l as ve}from"./pagination-D8R-vY3J.js";import"./use-form-item-0wLd3CVT.js";import"./index-r5W6hzzQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-dayjs-D7e3rSuL.js";import"./vendor-vue-router-DjvMdekB.js";import"./index-CE03zuIq.js";import"./typescript-Cj24ZwXO.js";import"./index-DS14dowA.js";import"./strings-DfoVy23u.js";import"./castArray-i7WCdPpo.js";import"./isEqual-Cy6MVdGA.js";import"./_Uint8Array-Ch0CPLRq.js";import"./debounce-DldcTab3.js";import"./_baseIteratee-Bb7zbw9b.js";import"./index-C8DFrRUK.js";import"./index-BOpdP6_7.js";import"./index-BD7oko1Y.js";import"./_baseClone-DYTAd2Hm.js";import"./_initCloneObject-8L6lwplM.js";import"./index-DXMVFcJ5.js";import"./vue-plyr-QZFBikSk.js";import"./index-RarUKi1z.js";const fe=_({name:"LayoutPixverse",components:{ElDrawer:q,ElButton:R,FontAwesomeIcon:L},data(){return{drawer:!1}}}),_e={class:"main flex flex-row flex-1"},he={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},$e={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ge(e,t,u,m,$,g){const i=s("font-awesome-icon"),p=s("el-button"),n=s("el-drawer");return a(),r("div",_e,[l("div",he,[P(e.$slots,"config",{},void 0,!0)]),l("div",$e,[P(e.$slots,"result",{},void 0,!0)]),o(p,{circle:"",class:"menu",onClick:t[0]||(t[0]=f=>e.drawer=!0)},{default:d(()=>[o(i,{icon:"fa-solid fa-magic"})]),_:1}),o(n,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=f=>e.drawer=f),direction:"ltr","with-header":!1,size:"350px"},{default:d(()=>[P(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const be=h(fe,[["render",ge],["__scopeId","data-v-30cb83f9"]]),ye=_({name:"ModelSelector",components:{ElSelect:C,ElOption:I},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||(this.value=z)}}),ke={class:"field"},we={class:"title font-bold"};function Ve(e,t,u,m,$,g){const i=s("el-option"),p=s("el-select");return a(),r("div",ke,[l("h2",we,c(e.$t("pixverse.name.model")),1),o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(a(!0),r(V,null,S(e.options,n=>(a(),w(i,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Se=h(ye,[["render",Ve],["__scopeId","data-v-e8f337ca"]]),xe=_({name:"QualitySelector",components:{ElSelect:C,ElOption:I},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||(this.value=N)}}),Ee={class:"field"},Te={class:"title font-bold"};function Ie(e,t,u,m,$,g){const i=s("el-option"),p=s("el-select");return a(),r("div",Ee,[l("h2",Te,c(e.$t("pixverse.name.quality")),1),o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(a(!0),r(V,null,S(e.options,n=>(a(),w(i,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ce=h(xe,[["render",Ie],["__scopeId","data-v-64aeaae9"]]),Le=_({name:"MotionSelector",components:{ElSelect:C,ElOption:I},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||(this.value=X)}}),Re={class:"field"},Ue={class:"title font-bold"};function Pe(e,t,u,m,$,g){const i=s("el-option"),p=s("el-select");return a(),r("div",Re,[l("h2",Ue,c(e.$t("pixverse.name.motion")),1),o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(a(!0),r(V,null,S(e.options,n=>(a(),w(i,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ae=h(Le,[["render",Pe],["__scopeId","data-v-94237408"]]),De=_({name:"StyleSelector",components:{ElSelect:C,ElOption:I},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||(this.value=Q)}}),Ge={class:"field"},je={class:"title font-bold"};function Me(e,t,u,m,$,g){const i=s("el-option"),p=s("el-select");return a(),r("div",Ge,[l("h2",je,c(e.$t("pixverse.name.style")),1),o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(a(!0),r(V,null,S(e.options,n=>(a(),w(i,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Oe=h(De,[["render",Me],["__scopeId","data-v-64e17b3c"]]),qe=_({name:"SeedSelector",components:{ElSlider:W,InfoIcon:A,ElInputNumber:K},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||(this.value=void 0)}}),Be={class:"flex justify-between"},Fe={class:"flex justify-start items-center"},ze={class:"text-sm font-bold"},Ne={class:"flex justify-end items-center"},Xe={class:"w-full"};function Qe(e,t,u,m,$,g){const i=s("info-icon"),p=s("el-input-number"),n=s("el-slider");return a(),r("div",null,[l("div",Be,[l("div",Fe,[l("span",ze,c(e.$t("pixverse.name.seed")),1),o(i,{content:e.$t("pixverse.description.seed")},null,8,["content"])]),l("div",Ne,[o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=f=>e.value=f),"controls-position":"right"},null,8,["modelValue"])])]),l("div",Xe,[o(n,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=f=>e.value=f),min:0,max:1e3,step:1},null,8,["modelValue"])])])}const Ye=h(qe,[["render",Qe]]),He=_({name:"DurationSelector",components:{ElSelect:C,ElOption:I},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||(this.value=Y)}}),Je={class:"field"},Ke={class:"title font-bold"};function We(e,t,u,m,$,g){const i=s("el-option"),p=s("el-select");return a(),r("div",Je,[l("h2",Ke,c(e.$t("pixverse.name.duration")),1),o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(a(!0),r(V,null,S(e.options,n=>(a(),w(i,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ze=h(He,[["render",We],["__scopeId","data-v-065c77ef"]]),et=_({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||(this.value=H)}}),tt={class:"text-sm font-bold mb-2 block"},st={class:"items"},ot=["onClick"],nt={class:"name"};function at(e,t,u,m,$,g){return a(),r("div",null,[l("span",tt,c(e.$t("pixverse.name.aspectRatio")),1),l("div",st,[(a(!0),r(V,null,S(e.options,(i,p)=>(a(),r("div",{key:p,class:T({active:e.active===p,item:!0}),onClick:n=>e.value=i.value},[l("div",{class:T(["preview",i.label])},[l("div",{class:"rect",style:B({width:i.width+"px",height:i.height+"px"})},null,4)],2),l("p",nt,c(i.label),1)],10,ot))),128))])])}const lt=h(et,[["render",at],["__scopeId","data-v-53038264"]]),it=_({name:"StartImage",components:{ElUpload:te,ElButton:R,InfoIcon:A,FontAwesomeIcon:L,ImagePreview:ee},mixins:[Z],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)},value:{get(){return this.$store.state?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){x.warning(this.$t("pixverse.message.uploadReferencesExceed"))},onError(){x.error(this.$t("pixverse.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("pixverse/setConfig",{...this.$store.state?.pixverse?.config,image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),rt={class:"relative"},ct={class:"flex justify-between"},pt={class:"flex justify-start items-center"},dt={class:"text-sm font-bold"};function ut(e,t,u,m,$,g){const i=s("info-icon"),p=s("image-preview"),n=s("font-awesome-icon"),f=s("el-button"),b=s("el-upload");return a(),r("div",rt,[l("div",ct,[l("div",pt,[l("span",dt,c(e.$t("pixverse.name.startImage")),1),o(i,{content:e.$t("pixverse.description.uploadStartImage")},null,8,["content"])])]),o(b,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=v=>e.fileList=v),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:d(({file:v})=>[v.url&&v.percentage!==void 0?(a(),w(p,{key:0,url:v.url,name:v.name,percentage:v.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(v),1)},null,8,["url","name","percentage","onRemove"])):y("",!0)]),default:d(()=>[o(f,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:d(()=>[o(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),k(" "+c(e.$t("pixverse.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const mt=h(it,[["render",ut],["__scopeId","data-v-bc133fd2"]]),vt="",ft=_({name:"PromptInput",components:{ElInput:se,InfoIcon:A},computed:{prompt:{get(){return this.$store.state.pixverse?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=vt)}}),_t={class:"field"},ht={class:"box"},$t={class:"title font-bold"};function gt(e,t,u,m,$,g){const i=s("info-icon"),p=s("el-input");return a(),r("div",_t,[l("div",ht,[l("h2",$t,c(e.$t("pixverse.name.prompt")),1),o(i,{content:e.$t("pixverse.description.prompt"),class:"info"},null,8,["content"])]),o(p,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("pixverse.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const bt=h(ft,[["render",gt],["__scopeId","data-v-2f675ca4"]]),yt=_({name:"ConfigPanel",components:{ElButton:R,FontAwesomeIcon:L,PromptInput:bt,ModelSelector:Se,QualitySelector:Ce,MotionSelector:Ae,StyleSelector:Oe,DurationSelector:Ze,StartImage:mt,SeedSelector:Ye,RatioSelector:lt,Consumption:oe},emits:["generate"],computed:{config(){return this.$store.state.pixverse?.config},consumption(){return ne(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service}},methods:{onGenerate(){this.$emit("generate")}}}),kt={class:"flex flex-col h-full"},wt={class:"flex-1 overflow-y-auto p-5"},Vt={class:"flex flex-col items-center justify-center px-5 pb-5"};function St(e,t,u,m,$,g){const i=s("prompt-input"),p=s("model-selector"),n=s("style-selector"),f=s("ratio-selector"),b=s("motion-selector"),v=s("quality-selector"),E=s("start-image"),U=s("seed-selector"),G=s("duration-selector"),j=s("consumption"),M=s("font-awesome-icon"),O=s("el-button");return a(),r("div",kt,[l("div",wt,[o(i,{class:"mb-4"}),o(p,{class:"mb-4"}),o(n,{class:"mb-4"}),o(f,{class:"mb-4"}),o(b,{class:"mb-4"}),o(v,{class:"mb-4"}),o(E,{class:"mb-2"}),o(U,{class:"mb-4"}),o(G,{class:"mb-4"})]),l("div",Vt,[o(j,{value:e.consumption,service:e.service},null,8,["value","service"]),o(O,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[o(M,{icon:"fa-solid fa-magic",class:"mr-2"}),k(" "+c(e.$t("pixverse.button.generate")),1)]),_:1},8,["onClick"])])])}const xt=h(yt,[["render",St]]),Et=_({name:"TaskPreview",components:{ElImage:de,CopyToClipboard:ie,FontAwesomeIcon:L,ElAlert:pe,VideoPlayer:re,ElTooltip:ce,ElButton:R},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")}}}),Tt={class:"preview"},It={class:"left"},Ct={class:"main"},Lt={class:"bot"},Rt={class:"datetime"},Ut={class:"info"},Pt={key:0,class:"prompt mt-2"},At={key:0},Dt={key:1},Gt={key:0,class:T({content:!0,failed:!0})},jt={key:0,class:"mb-4"},Mt={key:1,class:T({operations:!0,"mt-2":!0})},Ot={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Bt={key:1,class:T({content:!0})},Ft={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Xt(e,t,u,m,$,g){const i=s("el-image"),p=s("video-player"),n=s("el-button"),f=s("el-tooltip"),b=s("font-awesome-icon"),v=s("copy-to-clipboard"),E=s("el-alert");return a(),r("div",Tt,[l("div",It,[o(i,{src:"https://cdn.acedata.cloud/viy61r.jpg",class:"avatar"})]),l("div",Ct,[l("div",Lt,[k(c(e.$t("pixverse.name.pixverseBot"))+" ",1),l("span",Rt,c(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",Ut,[e.modelValue?.request?.prompt?(a(),r("p",Pt,[k(c(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?y("",!0):(a(),r("span",At," - ("+c(e.$t("pixverse.status.pending"))+") ",1)),e.modelValue?.response?.data&&(e.modelValue?.response?.data[0]?.state==="processing"||e.modelValue?.response?.data[0]?.state==="pending")?(a(),r("span",Dt," - ("+c(e.$t("pixverse.status.processing"))+") ",1)):y("",!0)])):y("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(a(),r("div",Gt,[e.modelValue?.response?.data[0]?.video_url?(a(),r("div",jt,[o(p,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):y("",!0),e.modelValue?.response.success?(a(),r("div",Mt,[o(f,{class:"box-item",effect:"dark",content:e.$t("pixverse.message.downloadVideo"),placement:"top-start"},{default:d(()=>[e.modelValue?.response?.data[0]?.video_url?(a(),w(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=U=>e.onDownload(U,e.modelValue?.response?.data[0]?.video_url))},{default:d(()=>[k(c(e.$t("pixverse.button.download")),1)]),_:1})):y("",!0)]),_:1},8,["content"])])):y("",!0),o(E,{closable:!1,class:"mt-2 success"},{default:d(()=>[l("p",Ot,[o(b,{icon:"fa-solid fa-hashtag",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.model"))+": "+c(e.modelValue?.request?.model),1)]),l("p",qt,[o(b,{icon:"fa-solid fa-magic",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.taskId"))+": "+c(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):y("",!0),e.modelValue?.response?.success===!1?(a(),r("div",Bt,[o(E,{closable:!1,class:"info"},{template:d(()=>[o(b,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.failure")),1)]),default:d(()=>[l("p",Ft,[o(b,{icon:"fa-solid fa-circle-info",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.failureReason"))+": "+c(e.modelValue?.response?.error?.message)+" ",1),o(v,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),l("p",zt,[o(b,{icon:"fa-solid fa-magic",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.taskId"))+": "+c(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),r("p",Nt,[o(b,{icon:"fa-solid fa-hashtag",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.traceId"))+": "+c(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):y("",!0)]),_:1})])):y("",!0)])])}const Qt=h(Et,[["render",Xt],["__scopeId","data-v-9da65937"]]),Yt=_({name:"RecentPanel",components:{TaskPreview:Qt,NoTasks:me,BotPlaceholder:ue,ScrollList:J},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?.()}}}),Ht={key:0},Jt={key:2,class:"w-full h-full flex items-center justify-center"};function Kt(e,t,u,m,$,g){const i=s("bot-placeholder"),p=s("task-preview"),n=s("scroll-list"),f=s("no-tasks");return a(),r(V,null,[e.tasks?.items===void 0?(a(),r("div",Ht,[o(i)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(n,{key:1,ref:"scrollList",class:"h-full w-full overflow-y-auto tasks",loading:e.loading,onReachTop:t[0]||(t[0]=b=>e.$emit("reach-top"))},{default:d(()=>[(a(!0),r(V,null,S(e.tasks?.items,(b,v)=>(a(),w(p,{key:v,"model-value":b},null,8,["model-value"]))),128))]),_:1},8,["loading"])):y("",!0),e.tasks?.items?.length===0?(a(),r("div",Jt,[o(f)])):y("",!0)],64)}const Wt=h(Yt,[["render",Kt]]),Zt="https://webhook.acedata.cloud/pixverse",es=_({name:"PixverseIndex",components:{ConfigPanel:xt,Layout:be,RecentPanel:Wt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===D.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===D.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 ve({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();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:u,createdAtMax:m}=e||{};console.debug("limit",t,"createdAtMin",u,"createdAtMax",m),this.fetchingTasks=!0;try{await this.$store.dispatch("pixverse/getTasks",{limit:t,createdAtMin:u,createdAtMax:m})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Zt},t=this.credential?.token;if(!t){console.error("no token specified");return}x.info(this.$t("pixverse.message.startingTask")),le.generate(e,{token:t}).then(()=>{x.success(this.$t("pixverse.message.startTaskSuccess"))}).catch(u=>{u?.response?.data?.error?.code===ae?x.error(this.$t("pixverse.message.usedUp")):x.error(this.$t("pixverse.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ts(e,t,u,m,$,g){const i=s("config-panel"),p=s("recent-panel"),n=s("layout");return a(),w(n,null,{config:d(()=>[o(i,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:d(()=>[o(p,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Js=h(es,[["render",ts]]);export{Js as default};
1
+ import{F as L}from"./index.es-XGGSPmjR.js";import{E as R}from"./index-C5R5qq7V.js";import{E as q}from"./index-BHDum5pg.js";import{d as _,H as r,E as l,z as P,C as o,y as d,D as s,q as a,F as c,O as V,N as S,x as w,Q as T,R as B,I as k,J as y}from"./vendor-vue-C5BV5QrY.js";import{D as h,b0 as F,ao as D}from"./index-dMPmKU6u.js";import{b as z,c as N,d as X,e as Q,f as H,g as Y}from"./pixverse-eUATiZ_u.js";import{E as I,a as C}from"./index-CfTVFzOT.js";import{I as A,S as J}from"./ScrollList-B3uJ1gSY.js";import{E as K,a as W}from"./index-CDH7Y8U1.js";import{p as Z}from"./pasteUploadMixin-BurWbGNQ.js";import{I as ee}from"./ImagePreview-7HUOmAyV.js";import{E as te}from"./index-DEYO5tcx.js";import{E as x}from"./index-_UFAMZ9g.js";import{E as se}from"./index-CA-B3YlS.js";import{C as oe}from"./Consumption-ObjRS0rS.js";import{a as ne}from"./price-Do7xTyQI.js";import{b as ae}from"./errorCode-Cqj9Td_Z.js";import{p as le}from"./pixverse-BRDF1zxs.js";import{C as ie}from"./CopyToClipboard-BFGsFEZA.js";import{V as re}from"./VideoPlayer-COOhs6r9.js";import{E as ce}from"./index-oFgdNoVI.js";import{E as pe}from"./index-BKSXW3eM.js";import{E as de}from"./index-BomByufL.js";import{B as ue}from"./BotPlaceholder-k4AeTKQv.js";import{N as me}from"./NoTasks-DjrzkYOv.js";import{l as ve}from"./pagination-D5yjLyAE.js";import"./use-form-item-Dxrg2wlU.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./index-CHzmF31S.js";import"./typescript-H0JHBG5n.js";import"./index-DRFr4QkO.js";import"./strings-DGr9fDRd.js";import"./isEqual-DW2lLMge.js";import"./_Uint8Array-DZ0PVSry.js";import"./castArray-QGGZQJSb.js";import"./debounce-Cwy-8tIq.js";import"./_baseIteratee-Dwi-MjVw.js";import"./index-WjhQxiNV.js";import"./index-D-qg-A9-.js";import"./index-Dkwj8S_y.js";import"./_baseClone-6UfTLNRO.js";import"./_initCloneObject-DgGkwNWc.js";import"./index-BZ-pSuzr.js";import"./vue-plyr-BO2nlN4c.js";import"./index-CLDKJLd-.js";const fe=_({name:"LayoutPixverse",components:{ElDrawer:q,ElButton:R,FontAwesomeIcon:L},data(){return{drawer:!1}}}),_e={class:"main flex flex-row flex-1"},he={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},$e={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ge(e,t,u,m,$,g){const i=s("font-awesome-icon"),p=s("el-button"),n=s("el-drawer");return a(),r("div",_e,[l("div",he,[P(e.$slots,"config",{},void 0,!0)]),l("div",$e,[P(e.$slots,"result",{},void 0,!0)]),o(p,{circle:"",class:"menu",onClick:t[0]||(t[0]=f=>e.drawer=!0)},{default:d(()=>[o(i,{icon:"fa-solid fa-magic"})]),_:1}),o(n,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=f=>e.drawer=f),direction:"ltr","with-header":!1,size:"350px"},{default:d(()=>[P(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const be=h(fe,[["render",ge],["__scopeId","data-v-30cb83f9"]]),ye=_({name:"ModelSelector",components:{ElSelect:C,ElOption:I},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||(this.value=z)}}),ke={class:"field"},we={class:"title font-bold"};function Ve(e,t,u,m,$,g){const i=s("el-option"),p=s("el-select");return a(),r("div",ke,[l("h2",we,c(e.$t("pixverse.name.model")),1),o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(a(!0),r(V,null,S(e.options,n=>(a(),w(i,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Se=h(ye,[["render",Ve],["__scopeId","data-v-e8f337ca"]]),xe=_({name:"QualitySelector",components:{ElSelect:C,ElOption:I},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||(this.value=N)}}),Ee={class:"field"},Te={class:"title font-bold"};function Ie(e,t,u,m,$,g){const i=s("el-option"),p=s("el-select");return a(),r("div",Ee,[l("h2",Te,c(e.$t("pixverse.name.quality")),1),o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(a(!0),r(V,null,S(e.options,n=>(a(),w(i,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ce=h(xe,[["render",Ie],["__scopeId","data-v-64aeaae9"]]),Le=_({name:"MotionSelector",components:{ElSelect:C,ElOption:I},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||(this.value=X)}}),Re={class:"field"},Ue={class:"title font-bold"};function Pe(e,t,u,m,$,g){const i=s("el-option"),p=s("el-select");return a(),r("div",Re,[l("h2",Ue,c(e.$t("pixverse.name.motion")),1),o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(a(!0),r(V,null,S(e.options,n=>(a(),w(i,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ae=h(Le,[["render",Pe],["__scopeId","data-v-94237408"]]),De=_({name:"StyleSelector",components:{ElSelect:C,ElOption:I},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||(this.value=Q)}}),Ge={class:"field"},je={class:"title font-bold"};function Me(e,t,u,m,$,g){const i=s("el-option"),p=s("el-select");return a(),r("div",Ge,[l("h2",je,c(e.$t("pixverse.name.style")),1),o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(a(!0),r(V,null,S(e.options,n=>(a(),w(i,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Oe=h(De,[["render",Me],["__scopeId","data-v-64e17b3c"]]),qe=_({name:"SeedSelector",components:{ElSlider:W,InfoIcon:A,ElInputNumber:K},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||(this.value=void 0)}}),Be={class:"flex justify-between"},Fe={class:"flex justify-start items-center"},ze={class:"text-sm font-bold"},Ne={class:"flex justify-end items-center"},Xe={class:"w-full"};function Qe(e,t,u,m,$,g){const i=s("info-icon"),p=s("el-input-number"),n=s("el-slider");return a(),r("div",null,[l("div",Be,[l("div",Fe,[l("span",ze,c(e.$t("pixverse.name.seed")),1),o(i,{content:e.$t("pixverse.description.seed")},null,8,["content"])]),l("div",Ne,[o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=f=>e.value=f),"controls-position":"right"},null,8,["modelValue"])])]),l("div",Xe,[o(n,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=f=>e.value=f),min:0,max:1e3,step:1},null,8,["modelValue"])])])}const He=h(qe,[["render",Qe]]),Ye=_({name:"DurationSelector",components:{ElSelect:C,ElOption:I},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||(this.value=H)}}),Je={class:"field"},Ke={class:"title font-bold"};function We(e,t,u,m,$,g){const i=s("el-option"),p=s("el-select");return a(),r("div",Je,[l("h2",Ke,c(e.$t("pixverse.name.duration")),1),o(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(a(!0),r(V,null,S(e.options,n=>(a(),w(i,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ze=h(Ye,[["render",We],["__scopeId","data-v-065c77ef"]]),et=_({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||(this.value=Y)}}),tt={class:"text-sm font-bold mb-2 block"},st={class:"items"},ot=["onClick"],nt={class:"name"};function at(e,t,u,m,$,g){return a(),r("div",null,[l("span",tt,c(e.$t("pixverse.name.aspectRatio")),1),l("div",st,[(a(!0),r(V,null,S(e.options,(i,p)=>(a(),r("div",{key:p,class:T({active:e.active===p,item:!0}),onClick:n=>e.value=i.value},[l("div",{class:T(["preview",i.label])},[l("div",{class:"rect",style:B({width:i.width+"px",height:i.height+"px"})},null,4)],2),l("p",nt,c(i.label),1)],10,ot))),128))])])}const lt=h(et,[["render",at],["__scopeId","data-v-53038264"]]),it=_({name:"StartImage",components:{ElUpload:te,ElButton:R,InfoIcon:A,FontAwesomeIcon:L,ImagePreview:ee},mixins:[Z],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)},value:{get(){return this.$store.state?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){x.warning(this.$t("pixverse.message.uploadReferencesExceed"))},onError(){x.error(this.$t("pixverse.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("pixverse/setConfig",{...this.$store.state?.pixverse?.config,image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),rt={class:"relative"},ct={class:"flex justify-between"},pt={class:"flex justify-start items-center"},dt={class:"text-sm font-bold"};function ut(e,t,u,m,$,g){const i=s("info-icon"),p=s("image-preview"),n=s("font-awesome-icon"),f=s("el-button"),b=s("el-upload");return a(),r("div",rt,[l("div",ct,[l("div",pt,[l("span",dt,c(e.$t("pixverse.name.startImage")),1),o(i,{content:e.$t("pixverse.description.uploadStartImage")},null,8,["content"])])]),o(b,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=v=>e.fileList=v),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:d(({file:v})=>[v.url&&v.percentage!==void 0?(a(),w(p,{key:0,url:v.url,name:v.name,percentage:v.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(v),1)},null,8,["url","name","percentage","onRemove"])):y("",!0)]),default:d(()=>[o(f,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:d(()=>[o(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),k(" "+c(e.$t("pixverse.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const mt=h(it,[["render",ut],["__scopeId","data-v-bc133fd2"]]),vt="",ft=_({name:"PromptInput",components:{ElInput:se,InfoIcon:A},computed:{prompt:{get(){return this.$store.state.pixverse?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=vt)}}),_t={class:"field"},ht={class:"box"},$t={class:"title font-bold"};function gt(e,t,u,m,$,g){const i=s("info-icon"),p=s("el-input");return a(),r("div",_t,[l("div",ht,[l("h2",$t,c(e.$t("pixverse.name.prompt")),1),o(i,{content:e.$t("pixverse.description.prompt"),class:"info"},null,8,["content"])]),o(p,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("pixverse.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const bt=h(ft,[["render",gt],["__scopeId","data-v-2f675ca4"]]),yt=_({name:"ConfigPanel",components:{ElButton:R,FontAwesomeIcon:L,PromptInput:bt,ModelSelector:Se,QualitySelector:Ce,MotionSelector:Ae,StyleSelector:Oe,DurationSelector:Ze,StartImage:mt,SeedSelector:He,RatioSelector:lt,Consumption:oe},emits:["generate"],computed:{config(){return this.$store.state.pixverse?.config},consumption(){return ne(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service}},methods:{onGenerate(){this.$emit("generate")}}}),kt={class:"flex flex-col h-full"},wt={class:"flex-1 overflow-y-auto p-5"},Vt={class:"flex flex-col items-center justify-center px-5 pb-5"};function St(e,t,u,m,$,g){const i=s("prompt-input"),p=s("model-selector"),n=s("style-selector"),f=s("ratio-selector"),b=s("motion-selector"),v=s("quality-selector"),E=s("start-image"),U=s("seed-selector"),G=s("duration-selector"),j=s("consumption"),M=s("font-awesome-icon"),O=s("el-button");return a(),r("div",kt,[l("div",wt,[o(i,{class:"mb-4"}),o(p,{class:"mb-4"}),o(n,{class:"mb-4"}),o(f,{class:"mb-4"}),o(b,{class:"mb-4"}),o(v,{class:"mb-4"}),o(E,{class:"mb-2"}),o(U,{class:"mb-4"}),o(G,{class:"mb-4"})]),l("div",Vt,[o(j,{value:e.consumption,service:e.service},null,8,["value","service"]),o(O,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[o(M,{icon:"fa-solid fa-magic",class:"mr-2"}),k(" "+c(e.$t("pixverse.button.generate")),1)]),_:1},8,["onClick"])])])}const xt=h(yt,[["render",St]]),Et=_({name:"TaskPreview",components:{ElImage:de,CopyToClipboard:ie,FontAwesomeIcon:L,ElAlert:pe,VideoPlayer:re,ElTooltip:ce,ElButton:R},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")}}}),Tt={class:"preview"},It={class:"left"},Ct={class:"main"},Lt={class:"bot"},Rt={class:"datetime"},Ut={class:"info"},Pt={key:0,class:"prompt mt-2"},At={key:0},Dt={key:1},Gt={key:0,class:T({content:!0,failed:!0})},jt={key:0,class:"mb-4"},Mt={key:1,class:T({operations:!0,"mt-2":!0})},Ot={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Bt={key:1,class:T({content:!0})},Ft={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Xt(e,t,u,m,$,g){const i=s("el-image"),p=s("video-player"),n=s("el-button"),f=s("el-tooltip"),b=s("font-awesome-icon"),v=s("copy-to-clipboard"),E=s("el-alert");return a(),r("div",Tt,[l("div",It,[o(i,{src:"https://cdn.acedata.cloud/viy61r.jpg",class:"avatar"})]),l("div",Ct,[l("div",Lt,[k(c(e.$t("pixverse.name.pixverseBot"))+" ",1),l("span",Rt,c(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",Ut,[e.modelValue?.request?.prompt?(a(),r("p",Pt,[k(c(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?y("",!0):(a(),r("span",At," - ("+c(e.$t("pixverse.status.pending"))+") ",1)),e.modelValue?.response?.data&&(e.modelValue?.response?.data[0]?.state==="processing"||e.modelValue?.response?.data[0]?.state==="pending")?(a(),r("span",Dt," - ("+c(e.$t("pixverse.status.processing"))+") ",1)):y("",!0)])):y("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(a(),r("div",Gt,[e.modelValue?.response?.data[0]?.video_url?(a(),r("div",jt,[o(p,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):y("",!0),e.modelValue?.response.success?(a(),r("div",Mt,[o(f,{class:"box-item",effect:"dark",content:e.$t("pixverse.message.downloadVideo"),placement:"top-start"},{default:d(()=>[e.modelValue?.response?.data[0]?.video_url?(a(),w(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=U=>e.onDownload(U,e.modelValue?.response?.data[0]?.video_url))},{default:d(()=>[k(c(e.$t("pixverse.button.download")),1)]),_:1})):y("",!0)]),_:1},8,["content"])])):y("",!0),o(E,{closable:!1,class:"mt-2 success"},{default:d(()=>[l("p",Ot,[o(b,{icon:"fa-solid fa-hashtag",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.model"))+": "+c(e.modelValue?.request?.model),1)]),l("p",qt,[o(b,{icon:"fa-solid fa-magic",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.taskId"))+": "+c(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):y("",!0),e.modelValue?.response?.success===!1?(a(),r("div",Bt,[o(E,{closable:!1,class:"info"},{template:d(()=>[o(b,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.failure")),1)]),default:d(()=>[l("p",Ft,[o(b,{icon:"fa-solid fa-circle-info",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.failureReason"))+": "+c(e.modelValue?.response?.error?.message)+" ",1),o(v,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),l("p",zt,[o(b,{icon:"fa-solid fa-magic",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.taskId"))+": "+c(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),r("p",Nt,[o(b,{icon:"fa-solid fa-hashtag",class:"mr-1"}),k(" "+c(e.$t("pixverse.name.traceId"))+": "+c(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):y("",!0)]),_:1})])):y("",!0)])])}const Qt=h(Et,[["render",Xt],["__scopeId","data-v-9da65937"]]),Ht=_({name:"RecentPanel",components:{TaskPreview:Qt,NoTasks:me,BotPlaceholder:ue,ScrollList:J},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?.()}}}),Yt={key:0},Jt={key:2,class:"w-full h-full flex items-center justify-center"};function Kt(e,t,u,m,$,g){const i=s("bot-placeholder"),p=s("task-preview"),n=s("scroll-list"),f=s("no-tasks");return a(),r(V,null,[e.tasks?.items===void 0?(a(),r("div",Yt,[o(i)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(n,{key:1,ref:"scrollList",class:"h-full w-full overflow-y-auto tasks",loading:e.loading,onReachTop:t[0]||(t[0]=b=>e.$emit("reach-top"))},{default:d(()=>[(a(!0),r(V,null,S(e.tasks?.items,(b,v)=>(a(),w(p,{key:v,"model-value":b},null,8,["model-value"]))),128))]),_:1},8,["loading"])):y("",!0),e.tasks?.items?.length===0?(a(),r("div",Jt,[o(f)])):y("",!0)],64)}const Wt=h(Ht,[["render",Kt]]),Zt="https://webhook.acedata.cloud/pixverse",es=_({name:"PixverseIndex",components:{ConfigPanel:xt,Layout:be,RecentPanel:Wt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===D.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===D.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 ve({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();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:u,createdAtMax:m}=e||{};console.debug("limit",t,"createdAtMin",u,"createdAtMax",m),this.fetchingTasks=!0;try{await this.$store.dispatch("pixverse/getTasks",{limit:t,createdAtMin:u,createdAtMax:m})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Zt},t=this.credential?.token;if(!t){console.error("no token specified");return}x.info(this.$t("pixverse.message.startingTask")),le.generate(e,{token:t}).then(()=>{x.success(this.$t("pixverse.message.startTaskSuccess"))}).catch(u=>{u?.response?.data?.error?.code===ae?x.error(this.$t("pixverse.message.usedUp")):x.error(this.$t("pixverse.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ts(e,t,u,m,$,g){const i=s("config-panel"),p=s("recent-panel"),n=s("layout");return a(),w(n,null,{config:d(()=>[o(i,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:d(()=>[o(p,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Js=h(es,[["render",ts]]);export{Js as default};
@@ -0,0 +1 @@
1
+ .menu[data-v-2dca3c13]{display:none}@media(max-width:767px){.config[data-v-2dca3c13]{display:none}.result[data-v-2dca3c13]{width:100%}.menu[data-v-2dca3c13]{display:block;position:absolute;right:8px;top:45px;z-index:1000}}.field[data-v-0cb7913d]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.field .title[data-v-0cb7913d]{font-size:14px;margin:0;width:30%}.field .value[data-v-0cb7913d]{width:120px}.field[data-v-7b82fa7f]{display:flex;flex-direction:row;align-items:center}.field .title[data-v-7b82fa7f]{font-size:14px;margin:0;width:30%}.field .value[data-v-7b82fa7f]{flex:1}.field[data-v-c2934598]{display:flex;flex-direction:column}.control[data-v-c2934598]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.title[data-v-c2934598]{font-size:14px;margin:0;width:30%}.value[data-v-c2934598]{width:120px}.title[data-v-a20be6d9]{font-size:14px;margin-bottom:10px}.items[data-v-a20be6d9]{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px}.items .item[data-v-a20be6d9]{width:48px;height:65px;border:1px solid var(--el-border-color);background-color:var(--el-fill-color-lighter);display:flex;flex-direction:column;align-items:center;cursor:pointer;border-radius:var(--el-border-radius-base);transition:background-color .2s ease,border-color .2s ease}.items .item .preview[data-v-a20be6d9]{margin-top:5px;margin-bottom:3px;width:30px;height:30px;display:flex;flex-direction:row;align-items:center;justify-content:center}.items .item .preview .rect[data-v-a20be6d9]{border:1px solid var(--el-border-color-lighter);width:20px;height:20px;border-radius:2px}.items .item .name[data-v-a20be6d9]{display:block;font-size:12px;color:var(--el-text-color-primary)}.items .item[data-v-a20be6d9]:hover{background-color:var(--el-fill-color)}.items .item.active[data-v-a20be6d9]{border-color:var(--el-color-primary);background-color:var(--el-color-primary-light-9)}.items .item.active .rect[data-v-a20be6d9]{border-color:var(--el-color-primary)}.title[data-v-a942382b]{font-size:14px;margin-bottom:0;width:30%}.btn.btn-upload[data-v-a942382b]{position:absolute;top:5px;right:0}.upload-wrapper{height:auto;display:flex}.upload-wrapper .el-upload-list{margin:0;width:100%}.field[data-v-8c485f0f]{display:flex;flex-direction:column}.control[data-v-8c485f0f]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.title[data-v-8c485f0f]{font-size:14px;margin:0;width:30%}.value[data-v-8c485f0f]{width:120px}.field .box[data-v-a57633d5]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;position:relative}.field .box .title[data-v-a57633d5]{font-size:14px;margin-bottom:10px}.field .info[data-v-a57633d5]{margin-left:auto}.preview[data-v-7b468b7a]{width:100%;height:-moz-fit-content;height:fit-content;text-align:left;display:flex;flex-direction:row;margin-bottom:15px}.preview .left[data-v-7b468b7a]{width:70px}.preview .left .avatar[data-v-7b468b7a]{width:50px;height:50px;margin:10px;border-radius:50%}.preview .main[data-v-7b468b7a]{flex:1;width:calc(100% - 70px);min-width:0;padding:10px 10px 0}.preview .main .bot[data-v-7b468b7a]{font-size:16px;font-weight:700;color:var(--el-color-primary);margin-bottom:0;margin-top:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview .main .bot .datetime[data-v-7b468b7a]{font-size:12px;font-weight:400;color:var(--el-text-color-secondary);margin-left:10px}.preview .main .info[data-v-7b468b7a]{overflow:hidden}.preview .main .info .prompt[data-v-7b468b7a]{font-size:16px;font-weight:700;color:var(--el-text-color-regular);margin-bottom:10px;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.preview .main .content[data-v-7b468b7a]{word-break:break-word;overflow-wrap:anywhere}.preview .main .content .el-alert[data-v-7b468b7a]{border-left-width:2px;border-left-style:solid}.preview .main .content .el-alert.failure[data-v-7b468b7a]{border-color:var(--el-color-danger)}.preview .main .content .el-alert.success[data-v-7b468b7a]{border-color:var(--el-color-success)}.preview .main .content .el-alert.info[data-v-7b468b7a]{border-color:var(--el-color-info)}.preview .main .operations[data-v-7b468b7a]{display:flex;justify-content:left;flex-direction:row;width:100%;align-items:baseline;flex-wrap:wrap;overflow:hidden;text-align:center;color:var(--el-text-color-regular);font-size:14px;overflow-y:scroll}.preview .main .operations.full[data-v-7b468b7a]{height:70px}.preview .main .operations .btn-action[data-v-7b468b7a]{margin-bottom:10px}
@@ -0,0 +1 @@
1
+ .menu[data-v-c6c85757]{display:none}@media(max-width:767px){.main .config[data-v-c6c85757]{display:none}.main .result[data-v-c6c85757]{width:100%}.main .preview[data-v-c6c85757]{display:none}.main .menu[data-v-c6c85757]{display:block;position:absolute;right:8px;top:45px;z-index:1000}}.mode-tabs[data-v-a6ada414]{display:flex;gap:4px;background:var(--el-fill-color-light);border-radius:8px;padding:3px}.mode-tab[data-v-a6ada414]{flex:1;padding:6px 12px;border:none;border-radius:6px;background:transparent;color:var(--el-text-color-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.mode-tab.active[data-v-a6ada414]{background:var(--el-bg-color);color:var(--el-text-color-primary);box-shadow:0 1px 3px #0000001a}.mode-tab[data-v-a6ada414]:hover:not(.active){color:var(--el-text-color-primary)}.model-option[data-v-a6ada414]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:2px 0}.model-option-left[data-v-a6ada414]{display:flex;align-items:center;gap:6px}.model-option-name[data-v-a6ada414]{font-weight:500}.model-option-pro[data-v-a6ada414]{font-size:10px!important;padding:0 4px!important;height:18px!important;line-height:16px!important;border-radius:4px!important}.model-option-desc[data-v-a6ada414]{font-size:12px;color:var(--el-text-color-placeholder);margin-left:8px;white-space:nowrap}[data-v-a6ada414] .model-option-divider{border-bottom:1px solid var(--el-border-color-lighter);margin-bottom:4px;padding-bottom:4px}.title[data-v-bfb6b53d]{font-size:14px;margin-bottom:0;width:30%}.recorder-display[data-v-bfb6b53d]{min-height:48px;display:flex;align-items:center;justify-content:center}.recording-dot[data-v-bfb6b53d]{display:inline-block;width:10px;height:10px;border-radius:50%;background:#f56c6c;animation:pulse-bfb6b53d 1s infinite}@keyframes pulse-bfb6b53d{0%,to{opacity:1}50%{opacity:.3}}.upload-wrapper,.upload-wrapper .el-upload{width:100%}.upload-wrapper .el-upload-dragger{width:100%;padding:12px}.upload-wrapper .el-upload-list{margin:0;width:100%}.add-audio-tabs .el-tabs__nav-wrap:after{height:1px}.inspo-tags[data-v-378e4372]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.inspo-tag[data-v-378e4372]{padding:4px 10px;border:1px solid var(--el-border-color);border-radius:14px;background:var(--el-bg-color);color:var(--el-text-color-regular);font-size:12px;cursor:pointer;transition:all .2s;white-space:nowrap}.inspo-tag[data-v-378e4372]:hover{border-color:var(--el-color-primary);color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.inspo-tag-refresh[data-v-378e4372]{border-style:dashed;color:var(--el-text-color-placeholder);padding:4px 8px}.inspo-tag-refresh[data-v-378e4372]:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.field[data-v-2b97a493] .el-textarea__inner{font-family:monospace;line-height:1.6}.enhance-bar[data-v-2b97a493]{margin-top:6px}.enhance-bar .enhance-input[data-v-2b97a493] .el-input-group__append{padding:0 12px}.lyrics-expanded[data-v-2b97a493] .el-textarea__inner{font-family:monospace;line-height:1.8;font-size:14px}.style-tags[data-v-ddebb076]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.style-tag[data-v-ddebb076]{padding:3px 10px;border:1px solid var(--el-border-color);border-radius:14px;background:var(--el-bg-color);color:var(--el-text-color-regular);font-size:12px;cursor:pointer;transition:all .2s;white-space:nowrap}.style-tag[data-v-ddebb076]:hover{border-color:var(--el-color-primary);color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.style-tag-refresh[data-v-ddebb076]{border-style:dashed;color:var(--el-text-color-placeholder);padding:3px 8px}.style-tag-refresh[data-v-ddebb076]:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.field .box[data-v-bcce4821]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;position:relative;margin-bottom:10px}.field .box .title[data-v-bcce4821]{font-size:14px;margin-bottom:10px}.field .box .input-wrapper[data-v-bcce4821]{width:150px;margin-left:30px}.field .box[data-v-06640216]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;position:relative;margin-bottom:10px}.field .box .title[data-v-06640216]{font-size:14px;margin-bottom:10px}.field .box .input-wrapper[data-v-06640216]{width:150px;margin-left:30px}.advanced-collapse[data-v-505f8fc7]{border:none}.advanced-collapse[data-v-505f8fc7] .el-collapse-item__header{font-size:14px;font-weight:700;background:transparent;border:none;height:32px;line-height:32px}.advanced-collapse[data-v-505f8fc7] .el-collapse-item__wrap{background:transparent;border:none}.advanced-collapse[data-v-505f8fc7] .el-collapse-item__content{padding-bottom:0}.speed-group[data-v-ba834628]{display:flex;flex-wrap:wrap}.voice-tabs[data-v-8b8e36d9]{margin-bottom:8px}.voice-tabs[data-v-8b8e36d9] .el-tabs__header{margin:0 0 8px}.voice-tabs[data-v-8b8e36d9] .el-tabs__nav-wrap:after{height:1px}.voice-list[data-v-8b8e36d9]{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.voice-item[data-v-8b8e36d9]{display:flex;align-items:center;padding:8px 10px;border-radius:6px;cursor:pointer;border:1px solid var(--el-border-color-lighter);transition:all .2s}.voice-item[data-v-8b8e36d9]:hover{border-color:var(--el-color-primary-light-5);background:var(--el-fill-color-light)}.voice-item.active[data-v-8b8e36d9]{border-color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.voice-name[data-v-8b8e36d9]{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-desc[data-v-8b8e36d9]{font-size:11px;color:var(--el-text-color-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.voice-actions[data-v-8b8e36d9]{flex-shrink:0;margin-left:8px;display:flex;align-items:center;gap:2px}.voice-fav-active[data-v-8b8e36d9] svg,.voice-fav-active[data-v-8b8e36d9]{color:#f5a623}.panel[data-v-fa2936b9]{height:100%;padding:20px;display:flex;flex-direction:column}.panel .config[data-v-fa2936b9]{width:100%;height:calc(100% - 50px);flex:1;position:relative}.panel .actions[data-v-fa2936b9]{height:50px;display:flex;justify-content:center;align-items:center}.panel .actions .btn[data-v-fa2936b9]{width:100%}.task{display:flex;flex-direction:column;cursor:pointer}.task .audio{display:flex;margin-bottom:10px;border-radius:10px}.task .audio:hover{background-color:var(--el-bg-color-page)}.task .audio .left{position:relative;width:60px;height:60px;margin-right:16px;flex-shrink:0}.task .audio .left:hover .overlay{display:block}.task .audio .left .cover{width:100%;height:100%;border-radius:4px}.task .audio .left .duration{position:absolute;right:0;bottom:0;background-color:#000000b3;padding:2px 4px;color:#fff;border-radius:2px;font-size:10px}.task .audio .left .overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;display:none;transition:opacity .3s;border-radius:4px;text-align:center;line-height:70px;cursor:pointer}.task .audio .left .overlay .el-icon{font-size:20px;color:#fff}.task .audio .info{flex:1;min-width:0;overflow:hidden}.task .audio .info .title-row{display:flex;align-items:center;gap:6px}.task .audio .info .title{font-size:14px;font-weight:700;margin-top:5px;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.task .audio .info .edit-icon{font-size:10px;color:var(--el-text-color-placeholder);cursor:pointer;opacity:0;transition:opacity .2s;flex-shrink:0;margin-top:4px}.task .audio .info .title-edit{margin-top:4px;margin-bottom:2px}.task .audio .info .style{font-size:12px;margin-bottom:0;color:var(--el-text-color-secondary);white-space:normal;word-break:break-word;overflow-wrap:anywhere}.task .audio .info .progress-row{display:flex;align-items:center;gap:6px;margin-top:2px}.task .audio .info .progress-row .progress-bar{flex:1;max-width:100px}.task .audio .info .progress-row .progress-text{font-size:10px;color:var(--el-text-color-placeholder);white-space:nowrap}.task .audio:hover .edit-icon{opacity:1}.task .audio .mashup-check{display:flex;align-items:center;padding:0 4px 0 8px;flex-shrink:0}.task .audio.mashup-selected{background-color:var(--el-color-primary-light-9);border-radius:8px}.task .audio .right{width:120px;display:flex;align-items:center;justify-content:flex-end;padding-right:1px}.task .audio .right .icon{display:block;z-index:100;cursor:pointer;margin-right:15px}.task .audio .right .el-button{margin-right:15px}.suno-action-menu .menu-icon{width:14px;margin-right:8px;color:var(--el-text-color-secondary)}.suno-action-menu .menu-divider{height:1px;background:var(--el-border-color-lighter);margin:4px 12px}.suno-action-menu .delete-item,.suno-action-menu .delete-item .delete-icon{color:var(--el-color-danger)}.player-slider .el-slider{height:10px}.player-slider .el-slider .el-slider__runway,.player-slider .el-slider .el-slider__bar{height:2px;border-radius:0}.player-slider .el-slider .el-slider__button-wrapper{width:10px;height:10px;top:-10.5px}.player-slider .el-slider .el-slider__button{width:8px;height:8px}.el-popover.el-popper{min-width:auto}.task-toolbar[data-v-4ab3f8f2]{display:flex;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid var(--el-border-color-lighter);flex-shrink:0}.task-toolbar .task-search[data-v-4ab3f8f2]{flex:1}.task-toolbar .sort-btn[data-v-4ab3f8f2]{flex-shrink:0;white-space:nowrap}.task-toolbar .filter-btn[data-v-4ab3f8f2]{flex-shrink:0;white-space:nowrap;position:relative}.task-toolbar .filter-btn.has-active-filter[data-v-4ab3f8f2]{color:var(--el-color-primary);border-color:var(--el-color-primary-light-5)}.task-toolbar .filter-btn .filter-badge[data-v-4ab3f8f2]{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:4px;border-radius:8px;background:var(--el-color-primary);color:#fff;font-size:10px;line-height:1}.filter-popover[data-v-4ab3f8f2]{display:flex;flex-direction:column;gap:12px}.filter-popover .filter-row[data-v-4ab3f8f2]{display:flex;flex-direction:column;gap:6px}.filter-popover .filter-label[data-v-4ab3f8f2]{font-size:12px;color:var(--el-text-color-secondary)}.filter-popover .filter-actions[data-v-4ab3f8f2]{display:flex;justify-content:flex-end;border-top:1px solid var(--el-border-color-lighter);padding-top:8px;margin-top:4px}.status[data-v-d1296b1a]{margin-bottom:10px}.panel.detail[data-v-d1296b1a]{width:100%;flex:1;overflow-y:scroll}.panel.recent[data-v-d1296b1a]{height:100%;width:100%;margin-bottom:10px;position:relative;justify-content:initial}.panel.operation[data-v-d1296b1a]{position:relative}
@@ -1 +1 @@
1
- import{F as T}from"./index.es-DamXOAGZ.js";import{E as L}from"./index-BV1Cwq1I.js";import{E as j}from"./index-WDDNvNfJ.js";import{d as $,I as i,E as l,C as t,z as S,y as f,D as s,x as a,F as r,O as V,N as I,q as w,K as h,J as x,Q as U}from"./vendor-vue-CpN3YBVJ.js";import{D as v,b0 as D,ao as A}from"./index--PP_yzwX.js";import{a as F,b as M,c as B}from"./flux-BDAe6Szo.js";import{E as G,a as P}from"./index-CNAaeWiq.js";import{I as C,S as O}from"./ScrollList-Bh3w1SXL.js";import{E as N,a as q}from"./index-BhE10XIa.js";import{p as z}from"./pasteUploadMixin-BurWbGNQ.js";import{I as X}from"./ImagePreview-BJ5BKOLa.js";import{E as K}from"./index--NBLm89E.js";import{E as y}from"./index-UE5vFfHI.js";import{E as H}from"./index-DZ8Rewj8.js";import{C as J}from"./Consumption-ySvWSygY.js";import{a as Q}from"./price-CKyJSNpN.js";import{b as W}from"./errorCode-Cqj9Td_Z.js";import{f as Y}from"./flux-DO29WENi.js";import{C as Z}from"./CopyToClipboard-3NSUqonW.js";import{I as ee}from"./ImageWrapper-COWLem7H.js";import{E as te}from"./index-DJD-2bGb.js";import{E as oe}from"./index-DfJwbFXz.js";import{B as se}from"./BotPlaceholder-BY0SOJ7D.js";import{N as ne}from"./NoTasks-BMP60z8h.js";import{l as le}from"./pagination-D8R-vY3J.js";import"./use-form-item-0wLd3CVT.js";import"./index-r5W6hzzQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-dayjs-D7e3rSuL.js";import"./vendor-vue-router-DjvMdekB.js";import"./index-D82m-fL8.js";import"./index-DS14dowA.js";import"./typescript-Cj24ZwXO.js";import"./index-CE03zuIq.js";import"./strings-DfoVy23u.js";import"./castArray-i7WCdPpo.js";import"./isEqual-Cy6MVdGA.js";import"./_Uint8Array-Ch0CPLRq.js";import"./debounce-DldcTab3.js";import"./_baseIteratee-Bb7zbw9b.js";import"./index-C8DFrRUK.js";import"./index-BOpdP6_7.js";import"./index-BD7oko1Y.js";import"./_baseClone-DYTAd2Hm.js";import"./_initCloneObject-8L6lwplM.js";import"./index-DXMVFcJ5.js";import"./index-RarUKi1z.js";const ae=$({name:"LayoutFlux",components:{ElDrawer:j,ElButton:L,FontAwesomeIcon:T},data(){return{drawer:!1}}}),re={class:"main flex flex-row flex-1"},ie={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ce={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ue(e,o,m,d,b,k){const c=s("font-awesome-icon"),u=s("el-button"),n=s("el-drawer");return a(),i("div",re,[l("div",ie,[S(e.$slots,"config",{},void 0,!0)]),l("div",ce,[S(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:o[0]||(o[0]=p=>e.drawer=!0)},{default:f(()=>[t(c,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:f(()=>[S(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const de=v(ae,[["render",ue],["__scopeId","data-v-3c0d2b44"]]),pe=$({name:"ModelSelector",components:{ElSelect:P,ElOption:G},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-pro-1.1",label:"flux-pro-1.1"},{value:"flux-pro-1.1-ultra",label:"flux-pro-1.1-ultra"},{value:"flux-kontext-pro",label:"flux-kontext-pro"},{value:"flux-kontext-max",label:"flux-kontext-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||(this.value=F)}}),me={class:"field"},fe={class:"title font-bold"};function _e(e,o,m,d,b,k){const c=s("el-option"),u=s("el-select");return a(),i("div",me,[l("h2",fe,r(e.$t("flux.name.model")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(a(!0),i(V,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const he=v(pe,[["render",_e],["__scopeId","data-v-8df4b8a7"]]),ge=$({name:"CountSelector",components:{ElSlider:q,InfoIcon:C,ElInputNumber:N},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||(this.value=M)}}),$e={class:"flex justify-between"},ve={class:"flex justify-start items-center"},be={class:"text-sm font-bold"},ke={class:"flex justify-end items-center"},xe={class:"w-full"};function we(e,o,m,d,b,k){const c=s("info-icon"),u=s("el-input-number"),n=s("el-slider");return a(),i("div",null,[l("div",$e,[l("div",ve,[l("span",be,r(e.$t("flux.name.numbers")),1),t(c,{content:e.$t("flux.description.numbers")},null,8,["content"])]),l("div",ke,[t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=p=>e.value=p),"controls-position":"right"},null,8,["modelValue"])])]),l("div",xe,[t(n,{modelValue:e.value,"onUpdate:modelValue":o[1]||(o[1]=p=>e.value=p),min:1,max:4,step:1},null,8,["modelValue"])])])}const ye=v(ge,[["render",we]]),Ve=$({name:"ActionSelector",components:{ElSelect:P,ElOption:G},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||(this.value=B)}}),Ee={class:"field"},Te={class:"title font-bold"};function Ie(e,o,m,d,b,k){const c=s("el-option"),u=s("el-select");return a(),i("div",Ee,[l("h2",Te,r(e.$t("flux.name.task")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(a(!0),i(V,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Se=v(Ve,[["render",Ie],["__scopeId","data-v-81fd05e5"]]),Le=$({name:"ImageUrlInput",components:{ElUpload:K,ElButton:L,InfoIcon:C,FontAwesomeIcon:T,ImagePreview:X},mixins:[z],emits:["change"],data(){return{fileList:[],uploadUrl:D()+"/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(){y.warning(this.$t("flux.message.uploadStartImageExceed"))},onError(){y.error(this.$t("flux.message.uploadStartImageError"))}}}),Ue={class:"relative"},Ce={class:"flex justify-between"},Ae={class:"flex justify-start items-center"},Ge={class:"text-sm font-bold"};function Pe(e,o,m,d,b,k){const c=s("info-icon"),u=s("image-preview"),n=s("font-awesome-icon"),p=s("el-button"),g=s("el-upload");return a(),i("div",Ue,[l("div",Ce,[l("div",Ae,[l("span",Ge,r(e.$t("flux.name.imageUrl")),1),t(c,{content:e.$t("flux.description.imageUrl")},null,8,["content"])])]),t(g,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=_=>e.fileList=_),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:f(({file:_})=>[t(u,{url:_.url||_.response?.file_url,name:_.name,percentage:_.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])]),default:f(()=>[t(p,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:f(()=>[t(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+r(e.$t("flux.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","headers"])])}const Re=v(Le,[["render",Pe],["__scopeId","data-v-1b692c6e"]]),je="",De=$({name:"PromptInput",components:{ElInput:H,InfoIcon:C},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=je)}}),Fe={class:"field"},Me={class:"box"},Be={class:"title font-bold"};function Oe(e,o,m,d,b,k){const c=s("info-icon"),u=s("el-input");return a(),i("div",Fe,[l("div",Me,[l("h2",Be,r(e.$t("flux.name.prompt")),1),t(c,{content:e.$t("flux.description.prompt"),class:"info"},null,8,["content"])]),t(u,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("flux.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ne=v(De,[["render",Oe],["__scopeId","data-v-96df0218"]]),qe=$({name:"PresetPanel",components:{ElButton:L,FontAwesomeIcon:T,PromptInput:Ne,ModelSelector:he,CountSelector:ye,Consumption:J,ActionSelector:Se,ImageUrlInput:Re},emits:["generate"],computed:{config(){return this.$store.state.flux?.config},consumption(){return Q(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit("generate")}}}),ze={class:"flex flex-col h-full"},Xe={class:"flex-1 overflow-y-auto p-5"},Ke={class:"flex flex-col items-center justify-center px-5 pb-5"};function He(e,o,m,d,b,k){const c=s("action-selector"),u=s("prompt-input"),n=s("image-url-input"),p=s("model-selector"),g=s("count-selector"),_=s("consumption"),E=s("font-awesome-icon"),R=s("el-button");return a(),i("div",ze,[l("div",Xe,[t(c,{class:"mb-4"}),t(u,{class:"mb-4"}),e.config?.action==="edits"?(a(),w(n,{key:0,class:"mb-4"})):x("",!0),t(p,{class:"mb-4"}),t(g,{class:"mb-4"})]),l("div",Ke,[t(_,{value:e.consumption,service:e.service},null,8,["value","service"]),t(R,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:f(()=>[t(E,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+r(e.$t("flux.button.generate")),1)]),_:1},8,["onClick"])])])}const Je=v(qe,[["render",He]]),Qe=$({name:"TaskPreview",components:{ElImage:oe,CopyToClipboard:Z,FontAwesomeIcon:T,ElAlert:te,ImageWrapper:ee},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=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(m=>{let d=m;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e,o){e.stopPropagation(),console.log("on download"),window.open(o,"_blank")},onOpenImage(e){window.open(e,"_blank")}}}),We={class:"preview"},Ye={class:"left"},Ze={class:"main"},et={class:"bot"},tt={class:"datetime"},ot={class:"info"},st={key:0,class:"prompt mt-2"},nt={key:0},lt={key:0,class:U({content:!0,failed:!0})},at={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},rt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},it={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ct={key:1,class:U({content:!0})},ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},pt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},mt={key:2,class:U({content:!0})},ft={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function _t(e,o,m,d,b,k){const c=s("el-image"),u=s("image-wrapper"),n=s("font-awesome-icon"),p=s("copy-to-clipboard"),g=s("el-alert");return a(),i("div",We,[l("div",Ye,[t(c,{src:"https://cdn.acedata.cloud/ogm2oa.png",class:"avatar"})]),l("div",Ze,[l("div",et,[h(r(e.$t("flux.name.fluxBot"))+" ",1),l("span",tt,r(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",ot,[e.modelValue?.request?.prompt?(a(),i("p",st,[h(r(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?x("",!0):(a(),i("span",nt," - ("+r(e.$t("flux.status.pending"))+") ",1))])):x("",!0)]),e.modelValue?.response?.success===!0?(a(),i("div",lt,[l("div",at,[(a(!0),i(V,null,I(e.images,(_,E)=>(a(),w(u,{key:E,src:_?.image_url,"raw-src":_?.image_url,"model-value":_},null,8,["src","raw-src","model-value"]))),128))]),t(g,{closable:!1,class:"mt-2 success"},{default:f(()=>[l("p",rt,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+r(e.$t("flux.name.model"))+": "+r(e.modelValue?.request?.model),1)]),l("p",it,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})])):x("",!0),e.modelValue?.response?.success===!1?(a(),i("div",ct,[t(g,{closable:!1,class:"failure"},{template:f(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+r(e.$t("flux.name.failure")),1)]),default:f(()=>[l("p",ut,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),l("p",dt,[t(n,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+r(e.$t("flux.name.failureReason"))+": "+r(e.modelValue?.response?.error?.message)+" ",1),t(p,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),l("p",pt,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+r(e.$t("flux.name.traceId"))+": "+r(e.modelValue?.response?.trace_id)+" ",1),t(p,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):x("",!0),e.modelValue?.response?x("",!0):(a(),i("div",mt,[t(g,{closable:!1,class:"info"},{template:f(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+r(e.$t("flux.name.failure")),1)]),default:f(()=>[l("p",ft,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const ht=v(Qe,[["render",_t],["__scopeId","data-v-74c3c3a5"]]),gt=$({name:"RecentPanel",components:{TaskPreview:ht,BotPlaceholder:se,NoTasks:ne,ScrollList:O},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?.()}}}),$t={key:0},vt={key:2,class:"w-full h-full flex items-center justify-center"};function bt(e,o,m,d,b,k){const c=s("bot-placeholder"),u=s("task-preview"),n=s("scroll-list"),p=s("no-tasks");return a(),i(V,null,[e.tasks?.items===void 0?(a(),i("div",$t,[t(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=g=>e.$emit("reach-top"))},{default:f(()=>[(a(!0),i(V,null,I(e.tasks?.items,g=>(a(),w(u,{key:g.id,"model-value":g},null,8,["model-value"]))),128))]),_:1},8,["loading"])):x("",!0),e.tasks?.items?.length===0?(a(),i("div",vt,[t(p)])):x("",!0)],64)}const kt=v(gt,[["render",bt]]),xt="https://webhook.acedata.cloud/flux",wt=$({name:"FluxIndex",components:{ConfigPanel:Je,Layout:de,RecentPanel:kt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===A.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===A.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,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await le({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();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:m,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",m,"createdAtMax",d),this.fetchingTasks=!0;try{await this.$store.dispatch("flux/getTasks",{limit:o,createdAtMin:m,createdAtMax:d})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:xt},o=this.credential?.token;if(!o){console.error("no token specified");return}y.info(this.$t("flux.message.startingTask")),Y.generate(e,{token:o}).then(()=>{y.success(this.$t("flux.message.startTaskSuccess"))}).catch(m=>{const d=m?.response?.data;d?.error?.code===W?y.error(this.$t("flux.message.usedUp")):y.error(this.$t("flux.message.startTaskFailed")+d?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function yt(e,o,m,d,b,k){const c=s("config-panel"),u=s("recent-panel"),n=s("layout");return a(),w(n,null,{config:f(()=>[t(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:f(()=>[t(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const vo=v(wt,[["render",yt]]);export{vo as default};
1
+ import{F as T}from"./index.es-XGGSPmjR.js";import{E as L}from"./index-C5R5qq7V.js";import{E as j}from"./index-BHDum5pg.js";import{d as $,H as i,E as l,z as S,C as t,y as f,D as s,q as a,F as r,O as V,N as I,x as w,I as h,J as x,Q as U}from"./vendor-vue-C5BV5QrY.js";import{D as v,b0 as D,ao as A}from"./index-dMPmKU6u.js";import{a as F,b as M,c as B}from"./flux-BDAe6Szo.js";import{E as G,a as P}from"./index-CfTVFzOT.js";import{I as C,S as O}from"./ScrollList-B3uJ1gSY.js";import{E as N,a as q}from"./index-CDH7Y8U1.js";import{p as z}from"./pasteUploadMixin-BurWbGNQ.js";import{I as X}from"./ImagePreview-7HUOmAyV.js";import{E as H}from"./index-DEYO5tcx.js";import{E as y}from"./index-_UFAMZ9g.js";import{E as J}from"./index-CA-B3YlS.js";import{C as K}from"./Consumption-ObjRS0rS.js";import{a as Q}from"./price-Do7xTyQI.js";import{b as W}from"./errorCode-Cqj9Td_Z.js";import{f as Y}from"./flux-AUyGHZ0t.js";import{C as Z}from"./CopyToClipboard-BFGsFEZA.js";import{I as ee}from"./ImageWrapper-BdkNAzkK.js";import{E as te}from"./index-BKSXW3eM.js";import{E as oe}from"./index-BomByufL.js";import{B as se}from"./BotPlaceholder-k4AeTKQv.js";import{N as ne}from"./NoTasks-DjrzkYOv.js";import{l as le}from"./pagination-D5yjLyAE.js";import"./use-form-item-Dxrg2wlU.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./index-oFgdNoVI.js";import"./index-DRFr4QkO.js";import"./typescript-H0JHBG5n.js";import"./index-CHzmF31S.js";import"./strings-DGr9fDRd.js";import"./isEqual-DW2lLMge.js";import"./_Uint8Array-DZ0PVSry.js";import"./castArray-QGGZQJSb.js";import"./debounce-Cwy-8tIq.js";import"./_baseIteratee-Dwi-MjVw.js";import"./index-WjhQxiNV.js";import"./index-D-qg-A9-.js";import"./index-Dkwj8S_y.js";import"./_baseClone-6UfTLNRO.js";import"./_initCloneObject-DgGkwNWc.js";import"./index-BZ-pSuzr.js";import"./index-CLDKJLd-.js";const ae=$({name:"LayoutFlux",components:{ElDrawer:j,ElButton:L,FontAwesomeIcon:T},data(){return{drawer:!1}}}),re={class:"main flex flex-row flex-1"},ie={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ce={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ue(e,o,m,d,b,k){const c=s("font-awesome-icon"),u=s("el-button"),n=s("el-drawer");return a(),i("div",re,[l("div",ie,[S(e.$slots,"config",{},void 0,!0)]),l("div",ce,[S(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:o[0]||(o[0]=p=>e.drawer=!0)},{default:f(()=>[t(c,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:f(()=>[S(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const de=v(ae,[["render",ue],["__scopeId","data-v-3c0d2b44"]]),pe=$({name:"ModelSelector",components:{ElSelect:P,ElOption:G},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-pro-1.1",label:"flux-pro-1.1"},{value:"flux-pro-1.1-ultra",label:"flux-pro-1.1-ultra"},{value:"flux-kontext-pro",label:"flux-kontext-pro"},{value:"flux-kontext-max",label:"flux-kontext-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||(this.value=F)}}),me={class:"field"},fe={class:"title font-bold"};function _e(e,o,m,d,b,k){const c=s("el-option"),u=s("el-select");return a(),i("div",me,[l("h2",fe,r(e.$t("flux.name.model")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(a(!0),i(V,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const he=v(pe,[["render",_e],["__scopeId","data-v-8df4b8a7"]]),ge=$({name:"CountSelector",components:{ElSlider:q,InfoIcon:C,ElInputNumber:N},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||(this.value=M)}}),$e={class:"flex justify-between"},ve={class:"flex justify-start items-center"},be={class:"text-sm font-bold"},ke={class:"flex justify-end items-center"},xe={class:"w-full"};function we(e,o,m,d,b,k){const c=s("info-icon"),u=s("el-input-number"),n=s("el-slider");return a(),i("div",null,[l("div",$e,[l("div",ve,[l("span",be,r(e.$t("flux.name.numbers")),1),t(c,{content:e.$t("flux.description.numbers")},null,8,["content"])]),l("div",ke,[t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=p=>e.value=p),"controls-position":"right"},null,8,["modelValue"])])]),l("div",xe,[t(n,{modelValue:e.value,"onUpdate:modelValue":o[1]||(o[1]=p=>e.value=p),min:1,max:4,step:1},null,8,["modelValue"])])])}const ye=v(ge,[["render",we]]),Ve=$({name:"ActionSelector",components:{ElSelect:P,ElOption:G},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||(this.value=B)}}),Ee={class:"field"},Te={class:"title font-bold"};function Ie(e,o,m,d,b,k){const c=s("el-option"),u=s("el-select");return a(),i("div",Ee,[l("h2",Te,r(e.$t("flux.name.task")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(a(!0),i(V,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Se=v(Ve,[["render",Ie],["__scopeId","data-v-81fd05e5"]]),Le=$({name:"ImageUrlInput",components:{ElUpload:H,ElButton:L,InfoIcon:C,FontAwesomeIcon:T,ImagePreview:X},mixins:[z],emits:["change"],data(){return{fileList:[],uploadUrl:D()+"/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(){y.warning(this.$t("flux.message.uploadStartImageExceed"))},onError(){y.error(this.$t("flux.message.uploadStartImageError"))}}}),Ue={class:"relative"},Ce={class:"flex justify-between"},Ae={class:"flex justify-start items-center"},Ge={class:"text-sm font-bold"};function Pe(e,o,m,d,b,k){const c=s("info-icon"),u=s("image-preview"),n=s("font-awesome-icon"),p=s("el-button"),g=s("el-upload");return a(),i("div",Ue,[l("div",Ce,[l("div",Ae,[l("span",Ge,r(e.$t("flux.name.imageUrl")),1),t(c,{content:e.$t("flux.description.imageUrl")},null,8,["content"])])]),t(g,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=_=>e.fileList=_),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:f(({file:_})=>[t(u,{url:_.url||_.response?.file_url,name:_.name,percentage:_.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])]),default:f(()=>[t(p,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:f(()=>[t(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+r(e.$t("flux.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","headers"])])}const Re=v(Le,[["render",Pe],["__scopeId","data-v-1b692c6e"]]),je="",De=$({name:"PromptInput",components:{ElInput:J,InfoIcon:C},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=je)}}),Fe={class:"field"},Me={class:"box"},Be={class:"title font-bold"};function Oe(e,o,m,d,b,k){const c=s("info-icon"),u=s("el-input");return a(),i("div",Fe,[l("div",Me,[l("h2",Be,r(e.$t("flux.name.prompt")),1),t(c,{content:e.$t("flux.description.prompt"),class:"info"},null,8,["content"])]),t(u,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("flux.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ne=v(De,[["render",Oe],["__scopeId","data-v-96df0218"]]),qe=$({name:"PresetPanel",components:{ElButton:L,FontAwesomeIcon:T,PromptInput:Ne,ModelSelector:he,CountSelector:ye,Consumption:K,ActionSelector:Se,ImageUrlInput:Re},emits:["generate"],computed:{config(){return this.$store.state.flux?.config},consumption(){return Q(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit("generate")}}}),ze={class:"flex flex-col h-full"},Xe={class:"flex-1 overflow-y-auto p-5"},He={class:"flex flex-col items-center justify-center px-5 pb-5"};function Je(e,o,m,d,b,k){const c=s("action-selector"),u=s("prompt-input"),n=s("image-url-input"),p=s("model-selector"),g=s("count-selector"),_=s("consumption"),E=s("font-awesome-icon"),R=s("el-button");return a(),i("div",ze,[l("div",Xe,[t(c,{class:"mb-4"}),t(u,{class:"mb-4"}),e.config?.action==="edits"?(a(),w(n,{key:0,class:"mb-4"})):x("",!0),t(p,{class:"mb-4"}),t(g,{class:"mb-4"})]),l("div",He,[t(_,{value:e.consumption,service:e.service},null,8,["value","service"]),t(R,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:f(()=>[t(E,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+r(e.$t("flux.button.generate")),1)]),_:1},8,["onClick"])])])}const Ke=v(qe,[["render",Je]]),Qe=$({name:"TaskPreview",components:{ElImage:oe,CopyToClipboard:Z,FontAwesomeIcon:T,ElAlert:te,ImageWrapper:ee},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=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(m=>{let d=m;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e,o){e.stopPropagation(),console.log("on download"),window.open(o,"_blank")},onOpenImage(e){window.open(e,"_blank")}}}),We={class:"preview"},Ye={class:"left"},Ze={class:"main"},et={class:"bot"},tt={class:"datetime"},ot={class:"info"},st={key:0,class:"prompt mt-2"},nt={key:0},lt={key:0,class:U({content:!0,failed:!0})},at={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},rt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},it={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ct={key:1,class:U({content:!0})},ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},pt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},mt={key:2,class:U({content:!0})},ft={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function _t(e,o,m,d,b,k){const c=s("el-image"),u=s("image-wrapper"),n=s("font-awesome-icon"),p=s("copy-to-clipboard"),g=s("el-alert");return a(),i("div",We,[l("div",Ye,[t(c,{src:"https://cdn.acedata.cloud/ogm2oa.png",class:"avatar"})]),l("div",Ze,[l("div",et,[h(r(e.$t("flux.name.fluxBot"))+" ",1),l("span",tt,r(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",ot,[e.modelValue?.request?.prompt?(a(),i("p",st,[h(r(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?x("",!0):(a(),i("span",nt," - ("+r(e.$t("flux.status.pending"))+") ",1))])):x("",!0)]),e.modelValue?.response?.success===!0?(a(),i("div",lt,[l("div",at,[(a(!0),i(V,null,I(e.images,(_,E)=>(a(),w(u,{key:E,src:_?.image_url,"raw-src":_?.image_url,"model-value":_},null,8,["src","raw-src","model-value"]))),128))]),t(g,{closable:!1,class:"mt-2 success"},{default:f(()=>[l("p",rt,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+r(e.$t("flux.name.model"))+": "+r(e.modelValue?.request?.model),1)]),l("p",it,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})])):x("",!0),e.modelValue?.response?.success===!1?(a(),i("div",ct,[t(g,{closable:!1,class:"failure"},{template:f(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+r(e.$t("flux.name.failure")),1)]),default:f(()=>[l("p",ut,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),l("p",dt,[t(n,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+r(e.$t("flux.name.failureReason"))+": "+r(e.modelValue?.response?.error?.message)+" ",1),t(p,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),l("p",pt,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+r(e.$t("flux.name.traceId"))+": "+r(e.modelValue?.response?.trace_id)+" ",1),t(p,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):x("",!0),e.modelValue?.response?x("",!0):(a(),i("div",mt,[t(g,{closable:!1,class:"info"},{template:f(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+r(e.$t("flux.name.failure")),1)]),default:f(()=>[l("p",ft,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const ht=v(Qe,[["render",_t],["__scopeId","data-v-74c3c3a5"]]),gt=$({name:"RecentPanel",components:{TaskPreview:ht,BotPlaceholder:se,NoTasks:ne,ScrollList:O},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?.()}}}),$t={key:0},vt={key:2,class:"w-full h-full flex items-center justify-center"};function bt(e,o,m,d,b,k){const c=s("bot-placeholder"),u=s("task-preview"),n=s("scroll-list"),p=s("no-tasks");return a(),i(V,null,[e.tasks?.items===void 0?(a(),i("div",$t,[t(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=g=>e.$emit("reach-top"))},{default:f(()=>[(a(!0),i(V,null,I(e.tasks?.items,g=>(a(),w(u,{key:g.id,"model-value":g},null,8,["model-value"]))),128))]),_:1},8,["loading"])):x("",!0),e.tasks?.items?.length===0?(a(),i("div",vt,[t(p)])):x("",!0)],64)}const kt=v(gt,[["render",bt]]),xt="https://webhook.acedata.cloud/flux",wt=$({name:"FluxIndex",components:{ConfigPanel:Ke,Layout:de,RecentPanel:kt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===A.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===A.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,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await le({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();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:m,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",m,"createdAtMax",d),this.fetchingTasks=!0;try{await this.$store.dispatch("flux/getTasks",{limit:o,createdAtMin:m,createdAtMax:d})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:xt},o=this.credential?.token;if(!o){console.error("no token specified");return}y.info(this.$t("flux.message.startingTask")),Y.generate(e,{token:o}).then(()=>{y.success(this.$t("flux.message.startTaskSuccess"))}).catch(m=>{const d=m?.response?.data;d?.error?.code===W?y.error(this.$t("flux.message.usedUp")):y.error(this.$t("flux.message.startTaskFailed")+d?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function yt(e,o,m,d,b,k){const c=s("config-panel"),u=s("recent-panel"),n=s("layout");return a(),w(n,null,{config:f(()=>[t(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:f(()=>[t(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const vo=v(wt,[["render",yt]]);export{vo as default};
@@ -1 +1 @@
1
- import{F as S}from"./index.es-DamXOAGZ.js";import{E as q}from"./index-BV1Cwq1I.js";import{E as W}from"./index-WDDNvNfJ.js";import{d as k,I as l,E as c,C as o,z as C,y as $,D as s,x as n,F as a,K as u,O as A,N,q as V,J as b,Q as O,M as H}from"./vendor-vue-CpN3YBVJ.js";import{D as y,b0 as K,cx as J,cy as F,cz as P,cA as Q,cB as T,cC as D,cD as G,cE as j,ao as z}from"./index--PP_yzwX.js";import{I as U,S as X}from"./ScrollList-Bh3w1SXL.js";import{E as Y}from"./index-DZ8Rewj8.js";import{p as Z}from"./pasteUploadMixin-BurWbGNQ.js";import{I as x}from"./ImagePreview-BJ5BKOLa.js";import{E as ee}from"./index--NBLm89E.js";import{E as R}from"./index-UE5vFfHI.js";import{E as B,a as M}from"./index-CNAaeWiq.js";import{C as te}from"./Consumption-ySvWSygY.js";import{a as oe}from"./price-CKyJSNpN.js";import{b as ae}from"./errorCode-Cqj9Td_Z.js";import{n as ne}from"./nanobanana-DfZiHieZ.js";import{C as se}from"./CopyToClipboard-3NSUqonW.js";import{I as le}from"./ImageWrapper-COWLem7H.js";import{E as re}from"./index-D82m-fL8.js";import{E as ie}from"./index-DJD-2bGb.js";import{E as ce}from"./index-DfJwbFXz.js";import{B as ue}from"./BotPlaceholder-BY0SOJ7D.js";import{N as me}from"./NoTasks-BMP60z8h.js";import"./use-form-item-0wLd3CVT.js";import"./index-r5W6hzzQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-dayjs-D7e3rSuL.js";import"./vendor-vue-router-DjvMdekB.js";import"./typescript-Cj24ZwXO.js";import"./index-DS14dowA.js";import"./index-DXMVFcJ5.js";import"./index-BD7oko1Y.js";import"./_baseClone-DYTAd2Hm.js";import"./_Uint8Array-Ch0CPLRq.js";import"./_initCloneObject-8L6lwplM.js";import"./isEqual-Cy6MVdGA.js";import"./index-CE03zuIq.js";import"./strings-DfoVy23u.js";import"./castArray-i7WCdPpo.js";import"./debounce-DldcTab3.js";import"./_baseIteratee-Bb7zbw9b.js";import"./index-C8DFrRUK.js";import"./index-RarUKi1z.js";const de=k({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:q,FontAwesomeIcon:S},data(){return{drawer:!1}}}),pe={class:"main flex flex-row flex-1"},fe={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},he={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function _e(e,t,g,r,m,f){const h=s("font-awesome-icon"),_=s("el-button"),d=s("el-drawer");return n(),l("div",pe,[c("div",fe,[C(e.$slots,"config",{},void 0,!0)]),c("div",he,[C(e.$slots,"result",{},void 0,!0)]),o(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=p=>e.drawer=!0)},{default:$(()=>[o(h,{icon:"fa-solid fa-magic"})]),_:1}),o(d,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:$(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ge=y(de,[["render",_e],["__scopeId","data-v-9fbc8a5c"]]),be="",$e=k({name:"PromptInput",components:{ElInput:Y,InfoIcon:U},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=be)}}),ve={class:"field"},ke={class:"box"},ye={class:"title font-bold"};function we(e,t,g,r,m,f){const h=s("info-icon"),_=s("el-input");return n(),l("div",ve,[c("div",ke,[c("h2",ye,a(e.$t("nanobanana.name.prompt")),1),o(h,{content:e.$t("nanobanana.description.prompt"),class:"info"},null,8,["content"])]),o(_,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=d=>e.prompt=d),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("nanobanana.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ae=y($e,[["render",we],["__scopeId","data-v-2331e197"]]),Ve=k({name:"ImageUrlsInput",components:{ElUpload:ee,ElButton:q,InfoIcon:U,ImagePreview:x,FontAwesomeIcon:S},mixins:[Z],data(){return{fileList:[],uploadUrl:K()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const r=(this.fileList||[]).filter(m=>!m?.response?.file_url);this.fileList=r.length?r:[];return}const t=[];e.forEach(r=>{const m=this.fileList.find(f=>f?.response?.file_url===r||f?.url===r);m?t.push(m):t.push({name:r.split("/").pop()||r,url:r,status:"success",percentage:100,response:{file_url:r}})}),(this.fileList||[]).filter(r=>!r?.response?.file_url).forEach(r=>{t.some(f=>f===r||f?.url===r?.url||f?.response?.file_url===r?.response?.file_url)||t.push(r)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){R.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){R.error(this.$t("nanobanana.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ne={class:"field flex items-center justify-between"},Ee={class:"title font-bold text-[14px] mb-[10px]"},Re={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Ie={class:"controls flex items-center"},Le={class:"file-list flex flex-wrap gap-[10px]"};function Te(e,t,g,r,m,f){const h=s("font-awesome-icon"),_=s("el-button"),d=s("el-upload"),p=s("info-icon"),w=s("image-preview");return n(),l(A,null,[c("div",Ne,[c("h2",Ee,a(e.$t("nanobanana.name.imageUrls")),1),c("div",Re,[c("div",Ie,[o(d,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=i=>e.fileList=i),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:$(()=>[o(_,{size:"small",type:"primary",round:""},{default:$(()=>[o(h,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+a(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),o(p,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",Le,[(n(!0),l(A,null,N(e.fileList,(i,v)=>(n(),V(w,{key:i.uid||i?.response?.file_url||i.url||v,url:i.url||i?.response?.file_url,name:i.name,percentage:i.percentage,onRemove:E=>e.onRemovePreview(v,i)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Se=y(Ve,[["render",Te]]),qe=k({name:"AspectRatioSelector",components:{ElSelect:M,ElOption:B},data(){return{options:["1:1","3:2","2:3","16:9","9:16","4:3","3:4"]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e);const t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit("nanobanana/setConfig",t)}}}}),Oe={class:"field"},Ue={class:"title font-bold"};function Ce(e,t,g,r,m,f){const h=s("el-option"),_=s("el-select");return n(),l("div",Oe,[c("h2",Ue,a(e.$t("nanobanana.name.aspectRatio")),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",clearable:"",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(A,null,N(e.options,d=>(n(),V(h,{key:d,label:d,value:d},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Pe=y(qe,[["render",Ce],["__scopeId","data-v-67f08a08"]]),Be=k({name:"NanobananaModelSelector",components:{ElSelect:M,ElOption:B,InfoIcon:U},data(){return{options:[{value:F,label:this.$t("nanobanana.model.nanoBanana")},{value:P,label:this.$t("nanobanana.model.nanoBananaPro")},{value:Q,label:this.$t("nanobanana.model.nanoBanana2")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t("nanobanana.description.model")}},mounted(){this.value||(this.value=J)}}),Me={class:"field"},De={class:"label"},Ge={class:"box"},je={class:"title font-bold"};function ze(e,t,g,r,m,f){const h=s("info-icon"),_=s("el-option"),d=s("el-select");return n(),l("div",Me,[c("div",De,[c("div",Ge,[c("h2",je,a(e.$t("nanobanana.name.model")),1),o(h,{content:e.modelDescription,class:"info"},null,8,["content"])])]),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Fe=y(Be,[["render",ze],["__scopeId","data-v-94304d73"]]),xe=k({name:"NanobananaResolutionSelector",components:{ElSelect:M,ElOption:B,InfoIcon:U},data(){return{cachedResolution:T,options:[{value:D,label:D},{value:G,label:G},{value:j,label:j}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model!==F}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||(this.value=this.cachedResolution||T):(this.value&&(this.cachedResolution=this.value),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=T),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),We={class:"field"},He={class:"label"},Ke={class:"box"},Je={class:"title font-bold"};function Qe(e,t,g,r,m,f){const h=s("info-icon"),_=s("el-option"),d=s("el-select");return n(),l("div",We,[c("div",He,[c("div",Ke,[c("h2",Je,a(e.$t("nanobanana.name.resolution")),1),o(h,{content:e.$t("nanobanana.description.resolutionProOnly"),class:"info"},null,8,["content"])])]),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const Xe=y(xe,[["render",Qe],["__scopeId","data-v-fd5ab393"]]),Ye=k({name:"ConfigPanel",components:{ElButton:q,FontAwesomeIcon:S,PromptInput:Ae,Consumption:te,ImageUrlsInput:Se,AspectRatioSelector:Pe,ModelSelector:Fe,ResolutionSelector:Xe},emits:["generate"],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return oe({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ze={class:"flex flex-col h-full"},et={class:"flex-1 overflow-y-auto p-5"},tt={class:"flex flex-col items-center justify-center px-5 pb-5"};function ot(e,t,g,r,m,f){const h=s("model-selector"),_=s("resolution-selector"),d=s("prompt-input"),p=s("aspect-ratio-selector"),w=s("image-urls-input"),i=s("consumption"),v=s("font-awesome-icon"),E=s("el-button");return n(),l("div",Ze,[c("div",et,[o(h,{class:"mb-4"}),o(_,{class:"mb-4"}),o(d,{class:"mb-4"}),o(p,{class:"mb-4"}),o(w,{class:"mb-4"})]),c("div",tt,[o(i,{value:e.consumption,service:e.service},null,8,["value","service"]),o(E,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:$(()=>[o(v,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+a(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const at=y(Ye,[["render",ot]]),nt=k({name:"TaskPreview",components:{ElImage:ce,CopyToClipboard:se,FontAwesomeIcon:S,ElAlert:ie,ImageWrapper:le,ElButton:q,ElTooltip:re,ImagePreview:x},props:{modelValue:{type:Object,required:!0}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit("nanobanana/setConfig",t)}}}),st={class:"preview"},lt={class:"left"},rt={class:"main"},it={class:"bot"},ct={class:"datetime"},ut={class:"info"},mt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},dt={key:1,class:"prompt mt-2"},pt={key:0},ft={key:0,class:O({content:!0,failed:!0})},ht={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},_t={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},wt={key:1,class:O({content:!0})},At={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Tt={key:2,class:O({content:!0})},St={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ct={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Pt(e,t,g,r,m,f){const h=s("el-image"),_=s("image-preview"),d=s("image-wrapper"),p=s("el-button"),w=s("el-tooltip"),i=s("font-awesome-icon"),v=s("copy-to-clipboard"),E=s("el-alert");return n(),l("div",st,[c("div",lt,[o(h,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),c("div",rt,[c("div",it,[u(a(e.$t("nanobanana.name.nanobananaBot"))+" ",1),c("span",ct,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",ut,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(n(),l("div",mt,[(n(!0),l(A,null,N(e.modelValue?.request?.image_urls,(I,L)=>(n(),V(_,{key:L,url:I,name:`image-${L+1}`,closable:!1},null,8,["url","name"]))),128))])):b("",!0),e.modelValue?.request?.prompt?(n(),l("p",dt,[u(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?b("",!0):(n(),l("span",pt," - ("+a(e.$t("nanobanana.status.pending"))+") ",1))])):b("",!0)]),e.modelValue?.response?.success===!0?(n(),l("div",ft,[c("div",ht,[(n(!0),l(A,null,N(e.images,(I,L)=>(n(),V(d,{key:L,src:I?.image_url,"raw-src":I?.image_url},null,8,["src","raw-src"]))),128))]),c("div",_t,[o(w,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:$(()=>[o(p,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=H(I=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:$(()=>[u(a(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(E,{closable:!1,class:"mt-2 success"},{default:$(()=>[e.modelValue?.request?.model?(n(),l("p",gt,[o(i,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(n(),l("p",bt,[o(i,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",$t,[o(i,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):b("",!0),e.modelValue?.request?.action?(n(),l("p",vt,[o(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",kt,[o(i,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),l("p",yt,[o(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):b("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),l("div",wt,[o(E,{closable:!1,class:"failure"},{template:$(()=>[o(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",At,[o(i,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(n(),l("p",Vt,[o(i,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Nt,[o(i,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):b("",!0),e.modelValue?.request?.action?(n(),l("p",Et,[o(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",Rt,[o(i,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",It,[o(i,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),o(v,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),l("p",Lt,[o(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):b("",!0)]),_:1})])):(n(),l("div",Tt,[o(E,{closable:!1,class:"info"},{template:$(()=>[o(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",St,[o(i,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(n(),l("p",qt,[o(i,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Ot,[o(i,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):b("",!0),e.modelValue?.request?.action?(n(),l("p",Ut,[o(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",Ct,[o(i,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Bt=y(nt,[["render",Pt],["__scopeId","data-v-72e2ec32"]]),Mt=k({name:"RecentPanel",components:{TaskPreview:Bt,BotPlaceholder:ue,NoTasks:me,ScrollList:X},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Dt={key:0},Gt={key:2,class:"w-full h-full flex items-center justify-center"};function jt(e,t,g,r,m,f){const h=s("bot-placeholder"),_=s("task-preview"),d=s("scroll-list"),p=s("no-tasks");return n(),l(A,null,[e.tasks?.items===void 0?(n(),l("div",Dt,[o(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),V(d,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=w=>e.$emit("reach-top"))},{default:$(()=>[(n(!0),l(A,null,N(e.tasks?.items,w=>(n(),V(_,{key:w.id,"model-value":w},null,8,["model-value"]))),128))]),_:1},8,["loading"])):b("",!0),e.tasks?.items?.length===0?(n(),l("div",Gt,[o(p)])):b("",!0)],64)}const zt=y(Mt,[["render",jt]]),Ft="https://webhook.acedata.cloud/nanobanana",xt=k({name:"NanobananaIndex",components:{ConfigPanel:at,Layout:ge,RecentPanel:zt},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===z.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const g=this.tasks?.items?.[0];if(!g?.created_at)return;const m=this.$refs.recentPanel?.getScrollElement?.(),f=m?.scrollHeight||0,h=m?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:g.created_at}),await this.$nextTick(),m){const _=m.scrollHeight;m.scrollTop=_-f+h}}finally{this.loading=!1}},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("nanobanana/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("nanobanana/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:g,createdAtMax:r}=e||{};console.debug("limit",t,"createdAtMin",g,"createdAtMax",r),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:g,createdAtMax:r})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&"image_urls"in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model!==P&&"resolution"in e&&delete e.resolution,e?.model===P&&!e?.resolution&&(e.resolution=T);const g={...e,action:t?"edit":"generate",callback_url:Ft},r=this.credential?.token;if(!r){console.error("no token specified");return}R.info(this.$t("nanobanana.message.startingTask")),ne.generate(g,{token:r}).then(()=>{R.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(m=>{const f=m?.response?.data;f?.error?.code===ae?R.error(this.$t("nanobanana.message.usedUp")):R.error(this.$t("nanobanana.message.startTaskFailed")+(f?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Wt(e,t,g,r,m,f){const h=s("config-panel"),_=s("recent-panel"),d=s("layout");return n(),V(d,null,{config:$(()=>[o(h,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:$(()=>[o(_,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Po=y(xt,[["render",Wt]]);export{Po as default};
1
+ import{F as S}from"./index.es-XGGSPmjR.js";import{E as q}from"./index-C5R5qq7V.js";import{E as W}from"./index-BHDum5pg.js";import{d as k,H as l,E as c,z as C,C as o,y as $,D as s,q as n,F as a,I as u,O as A,N,x as V,J as b,M as H,Q as O}from"./vendor-vue-C5BV5QrY.js";import{D as y,b0 as K,cx as J,cy as F,cz as P,cA as Q,cB as T,cC as D,cD as G,cE as j,ao as z}from"./index-dMPmKU6u.js";import{I as U,S as X}from"./ScrollList-B3uJ1gSY.js";import{E as Y}from"./index-CA-B3YlS.js";import{p as Z}from"./pasteUploadMixin-BurWbGNQ.js";import{I as x}from"./ImagePreview-7HUOmAyV.js";import{E as ee}from"./index-DEYO5tcx.js";import{E as R}from"./index-_UFAMZ9g.js";import{E as B,a as M}from"./index-CfTVFzOT.js";import{C as te}from"./Consumption-ObjRS0rS.js";import{a as oe}from"./price-Do7xTyQI.js";import{b as ae}from"./errorCode-Cqj9Td_Z.js";import{n as ne}from"./nanobanana-Ds61vVuj.js";import{C as se}from"./CopyToClipboard-BFGsFEZA.js";import{I as le}from"./ImageWrapper-BdkNAzkK.js";import{E as re}from"./index-oFgdNoVI.js";import{E as ie}from"./index-BKSXW3eM.js";import{E as ce}from"./index-BomByufL.js";import{B as ue}from"./BotPlaceholder-k4AeTKQv.js";import{N as me}from"./NoTasks-DjrzkYOv.js";import"./use-form-item-Dxrg2wlU.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./typescript-H0JHBG5n.js";import"./index-DRFr4QkO.js";import"./index-BZ-pSuzr.js";import"./index-Dkwj8S_y.js";import"./_baseClone-6UfTLNRO.js";import"./_Uint8Array-DZ0PVSry.js";import"./_initCloneObject-DgGkwNWc.js";import"./isEqual-DW2lLMge.js";import"./index-CHzmF31S.js";import"./strings-DGr9fDRd.js";import"./castArray-QGGZQJSb.js";import"./debounce-Cwy-8tIq.js";import"./_baseIteratee-Dwi-MjVw.js";import"./index-WjhQxiNV.js";import"./index-CLDKJLd-.js";const de=k({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:q,FontAwesomeIcon:S},data(){return{drawer:!1}}}),pe={class:"main flex flex-row flex-1"},fe={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},he={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function _e(e,t,g,r,m,f){const h=s("font-awesome-icon"),_=s("el-button"),d=s("el-drawer");return n(),l("div",pe,[c("div",fe,[C(e.$slots,"config",{},void 0,!0)]),c("div",he,[C(e.$slots,"result",{},void 0,!0)]),o(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=p=>e.drawer=!0)},{default:$(()=>[o(h,{icon:"fa-solid fa-magic"})]),_:1}),o(d,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:$(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ge=y(de,[["render",_e],["__scopeId","data-v-9fbc8a5c"]]),be="",$e=k({name:"PromptInput",components:{ElInput:Y,InfoIcon:U},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=be)}}),ve={class:"field"},ke={class:"box"},ye={class:"title font-bold"};function we(e,t,g,r,m,f){const h=s("info-icon"),_=s("el-input");return n(),l("div",ve,[c("div",ke,[c("h2",ye,a(e.$t("nanobanana.name.prompt")),1),o(h,{content:e.$t("nanobanana.description.prompt"),class:"info"},null,8,["content"])]),o(_,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=d=>e.prompt=d),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("nanobanana.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ae=y($e,[["render",we],["__scopeId","data-v-2331e197"]]),Ve=k({name:"ImageUrlsInput",components:{ElUpload:ee,ElButton:q,InfoIcon:U,ImagePreview:x,FontAwesomeIcon:S},mixins:[Z],data(){return{fileList:[],uploadUrl:K()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const r=(this.fileList||[]).filter(m=>!m?.response?.file_url);this.fileList=r.length?r:[];return}const t=[];e.forEach(r=>{const m=this.fileList.find(f=>f?.response?.file_url===r||f?.url===r);m?t.push(m):t.push({name:r.split("/").pop()||r,url:r,status:"success",percentage:100,response:{file_url:r}})}),(this.fileList||[]).filter(r=>!r?.response?.file_url).forEach(r=>{t.some(f=>f===r||f?.url===r?.url||f?.response?.file_url===r?.response?.file_url)||t.push(r)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){R.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){R.error(this.$t("nanobanana.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ne={class:"field flex items-center justify-between"},Ee={class:"title font-bold text-[14px] mb-[10px]"},Re={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Ie={class:"controls flex items-center"},Le={class:"file-list flex flex-wrap gap-[10px]"};function Te(e,t,g,r,m,f){const h=s("font-awesome-icon"),_=s("el-button"),d=s("el-upload"),p=s("info-icon"),w=s("image-preview");return n(),l(A,null,[c("div",Ne,[c("h2",Ee,a(e.$t("nanobanana.name.imageUrls")),1),c("div",Re,[c("div",Ie,[o(d,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=i=>e.fileList=i),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:$(()=>[o(_,{size:"small",type:"primary",round:""},{default:$(()=>[o(h,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+a(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),o(p,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",Le,[(n(!0),l(A,null,N(e.fileList,(i,v)=>(n(),V(w,{key:i.uid||i?.response?.file_url||i.url||v,url:i.url||i?.response?.file_url,name:i.name,percentage:i.percentage,onRemove:E=>e.onRemovePreview(v,i)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Se=y(Ve,[["render",Te]]),qe=k({name:"AspectRatioSelector",components:{ElSelect:M,ElOption:B},data(){return{options:["1:1","3:2","2:3","16:9","9:16","4:3","3:4"]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e);const t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit("nanobanana/setConfig",t)}}}}),Oe={class:"field"},Ue={class:"title font-bold"};function Ce(e,t,g,r,m,f){const h=s("el-option"),_=s("el-select");return n(),l("div",Oe,[c("h2",Ue,a(e.$t("nanobanana.name.aspectRatio")),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",clearable:"",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(A,null,N(e.options,d=>(n(),V(h,{key:d,label:d,value:d},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Pe=y(qe,[["render",Ce],["__scopeId","data-v-67f08a08"]]),Be=k({name:"NanobananaModelSelector",components:{ElSelect:M,ElOption:B,InfoIcon:U},data(){return{options:[{value:F,label:this.$t("nanobanana.model.nanoBanana")},{value:P,label:this.$t("nanobanana.model.nanoBananaPro")},{value:Q,label:this.$t("nanobanana.model.nanoBanana2")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t("nanobanana.description.model")}},mounted(){this.value||(this.value=J)}}),Me={class:"field"},De={class:"label"},Ge={class:"box"},je={class:"title font-bold"};function ze(e,t,g,r,m,f){const h=s("info-icon"),_=s("el-option"),d=s("el-select");return n(),l("div",Me,[c("div",De,[c("div",Ge,[c("h2",je,a(e.$t("nanobanana.name.model")),1),o(h,{content:e.modelDescription,class:"info"},null,8,["content"])])]),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Fe=y(Be,[["render",ze],["__scopeId","data-v-94304d73"]]),xe=k({name:"NanobananaResolutionSelector",components:{ElSelect:M,ElOption:B,InfoIcon:U},data(){return{cachedResolution:T,options:[{value:D,label:D},{value:G,label:G},{value:j,label:j}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model!==F}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||(this.value=this.cachedResolution||T):(this.value&&(this.cachedResolution=this.value),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=T),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),We={class:"field"},He={class:"label"},Ke={class:"box"},Je={class:"title font-bold"};function Qe(e,t,g,r,m,f){const h=s("info-icon"),_=s("el-option"),d=s("el-select");return n(),l("div",We,[c("div",He,[c("div",Ke,[c("h2",Je,a(e.$t("nanobanana.name.resolution")),1),o(h,{content:e.$t("nanobanana.description.resolutionProOnly"),class:"info"},null,8,["content"])])]),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const Xe=y(xe,[["render",Qe],["__scopeId","data-v-fd5ab393"]]),Ye=k({name:"ConfigPanel",components:{ElButton:q,FontAwesomeIcon:S,PromptInput:Ae,Consumption:te,ImageUrlsInput:Se,AspectRatioSelector:Pe,ModelSelector:Fe,ResolutionSelector:Xe},emits:["generate"],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return oe({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ze={class:"flex flex-col h-full"},et={class:"flex-1 overflow-y-auto p-5"},tt={class:"flex flex-col items-center justify-center px-5 pb-5"};function ot(e,t,g,r,m,f){const h=s("model-selector"),_=s("resolution-selector"),d=s("prompt-input"),p=s("aspect-ratio-selector"),w=s("image-urls-input"),i=s("consumption"),v=s("font-awesome-icon"),E=s("el-button");return n(),l("div",Ze,[c("div",et,[o(h,{class:"mb-4"}),o(_,{class:"mb-4"}),o(d,{class:"mb-4"}),o(p,{class:"mb-4"}),o(w,{class:"mb-4"})]),c("div",tt,[o(i,{value:e.consumption,service:e.service},null,8,["value","service"]),o(E,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:$(()=>[o(v,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+a(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const at=y(Ye,[["render",ot]]),nt=k({name:"TaskPreview",components:{ElImage:ce,CopyToClipboard:se,FontAwesomeIcon:S,ElAlert:ie,ImageWrapper:le,ElButton:q,ElTooltip:re,ImagePreview:x},props:{modelValue:{type:Object,required:!0}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit("nanobanana/setConfig",t)}}}),st={class:"preview"},lt={class:"left"},rt={class:"main"},it={class:"bot"},ct={class:"datetime"},ut={class:"info"},mt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},dt={key:1,class:"prompt mt-2"},pt={key:0},ft={key:0,class:O({content:!0,failed:!0})},ht={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},_t={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},wt={key:1,class:O({content:!0})},At={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Tt={key:2,class:O({content:!0})},St={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ct={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Pt(e,t,g,r,m,f){const h=s("el-image"),_=s("image-preview"),d=s("image-wrapper"),p=s("el-button"),w=s("el-tooltip"),i=s("font-awesome-icon"),v=s("copy-to-clipboard"),E=s("el-alert");return n(),l("div",st,[c("div",lt,[o(h,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),c("div",rt,[c("div",it,[u(a(e.$t("nanobanana.name.nanobananaBot"))+" ",1),c("span",ct,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",ut,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(n(),l("div",mt,[(n(!0),l(A,null,N(e.modelValue?.request?.image_urls,(I,L)=>(n(),V(_,{key:L,url:I,name:`image-${L+1}`,closable:!1},null,8,["url","name"]))),128))])):b("",!0),e.modelValue?.request?.prompt?(n(),l("p",dt,[u(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?b("",!0):(n(),l("span",pt," - ("+a(e.$t("nanobanana.status.pending"))+") ",1))])):b("",!0)]),e.modelValue?.response?.success===!0?(n(),l("div",ft,[c("div",ht,[(n(!0),l(A,null,N(e.images,(I,L)=>(n(),V(d,{key:L,src:I?.image_url,"raw-src":I?.image_url},null,8,["src","raw-src"]))),128))]),c("div",_t,[o(w,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:$(()=>[o(p,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=H(I=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:$(()=>[u(a(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(E,{closable:!1,class:"mt-2 success"},{default:$(()=>[e.modelValue?.request?.model?(n(),l("p",gt,[o(i,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(n(),l("p",bt,[o(i,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",$t,[o(i,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):b("",!0),e.modelValue?.request?.action?(n(),l("p",vt,[o(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",kt,[o(i,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),l("p",yt,[o(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):b("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),l("div",wt,[o(E,{closable:!1,class:"failure"},{template:$(()=>[o(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",At,[o(i,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(n(),l("p",Vt,[o(i,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Nt,[o(i,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):b("",!0),e.modelValue?.request?.action?(n(),l("p",Et,[o(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",Rt,[o(i,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",It,[o(i,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),o(v,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),l("p",Lt,[o(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):b("",!0)]),_:1})])):(n(),l("div",Tt,[o(E,{closable:!1,class:"info"},{template:$(()=>[o(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",St,[o(i,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(n(),l("p",qt,[o(i,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Ot,[o(i,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):b("",!0),e.modelValue?.request?.action?(n(),l("p",Ut,[o(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",Ct,[o(i,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Bt=y(nt,[["render",Pt],["__scopeId","data-v-72e2ec32"]]),Mt=k({name:"RecentPanel",components:{TaskPreview:Bt,BotPlaceholder:ue,NoTasks:me,ScrollList:X},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Dt={key:0},Gt={key:2,class:"w-full h-full flex items-center justify-center"};function jt(e,t,g,r,m,f){const h=s("bot-placeholder"),_=s("task-preview"),d=s("scroll-list"),p=s("no-tasks");return n(),l(A,null,[e.tasks?.items===void 0?(n(),l("div",Dt,[o(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),V(d,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=w=>e.$emit("reach-top"))},{default:$(()=>[(n(!0),l(A,null,N(e.tasks?.items,w=>(n(),V(_,{key:w.id,"model-value":w},null,8,["model-value"]))),128))]),_:1},8,["loading"])):b("",!0),e.tasks?.items?.length===0?(n(),l("div",Gt,[o(p)])):b("",!0)],64)}const zt=y(Mt,[["render",jt]]),Ft="https://webhook.acedata.cloud/nanobanana",xt=k({name:"NanobananaIndex",components:{ConfigPanel:at,Layout:ge,RecentPanel:zt},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===z.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const g=this.tasks?.items?.[0];if(!g?.created_at)return;const m=this.$refs.recentPanel?.getScrollElement?.(),f=m?.scrollHeight||0,h=m?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:g.created_at}),await this.$nextTick(),m){const _=m.scrollHeight;m.scrollTop=_-f+h}}finally{this.loading=!1}},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("nanobanana/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("nanobanana/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:g,createdAtMax:r}=e||{};console.debug("limit",t,"createdAtMin",g,"createdAtMax",r),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:g,createdAtMax:r})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&"image_urls"in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model!==P&&"resolution"in e&&delete e.resolution,e?.model===P&&!e?.resolution&&(e.resolution=T);const g={...e,action:t?"edit":"generate",callback_url:Ft},r=this.credential?.token;if(!r){console.error("no token specified");return}R.info(this.$t("nanobanana.message.startingTask")),ne.generate(g,{token:r}).then(()=>{R.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(m=>{const f=m?.response?.data;f?.error?.code===ae?R.error(this.$t("nanobanana.message.usedUp")):R.error(this.$t("nanobanana.message.startTaskFailed")+(f?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Wt(e,t,g,r,m,f){const h=s("config-panel"),_=s("recent-panel"),d=s("layout");return n(),V(d,null,{config:$(()=>[o(h,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:$(()=>[o(_,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Po=y(xt,[["render",Wt]]);export{Po as default};