@acedatacloud/nexior 3.29.5 → 3.30.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 (285) hide show
  1. package/README.md +10 -10
  2. package/dist/assets/Auth-BFD9CUrX.js +1 -0
  3. package/dist/assets/{BotPlaceholder-BL8MMNSZ.js → BotPlaceholder-BfDpV6UE.js} +1 -1
  4. package/dist/assets/Callback-CqMwYExD.js +1 -0
  5. package/dist/assets/Console-C-Pnay3G.css +1 -0
  6. package/dist/assets/Console-DJ0LvdzB.js +1 -0
  7. package/dist/assets/Conversation-CG7Vuksf.js +2 -0
  8. package/dist/assets/{Conversation-DjJPkkKA.css → Conversation-Dohp2ZWp.css} +1 -1
  9. package/dist/assets/{CopyToClipboard-DUBbK93t.js → CopyToClipboard-C_hpGFI6.js} +1 -1
  10. package/dist/assets/{Detail-DhtrRWvX.js → Detail-DY6A4sD9.js} +2 -2
  11. package/dist/assets/Detail-HplVitVr.css +1 -0
  12. package/dist/assets/{EditArray-DK5ALfIW.js → EditArray-IlWOQ17d.js} +1 -1
  13. package/dist/assets/{Extra-B5Qcplat.js → Extra-3lJtHZjg.js} +1 -1
  14. package/dist/assets/Extra-k24GQBOd.css +1 -0
  15. package/dist/assets/{FilePreview-ButdEzn1.js → FilePreview-Bpmd6-yb.js} +1 -1
  16. package/dist/assets/{History-BqC9hCAk.js → History-xXil8VVh.js} +1 -1
  17. package/dist/assets/ImagePreview-C81-sroB.js +1 -0
  18. package/dist/assets/{ImageWrapper-mb1KsHr6.js → ImageWrapper-CafePFBU.js} +1 -1
  19. package/dist/assets/Index-BFGf-YYs.js +1 -0
  20. package/dist/assets/Index-BHPQlSrx.css +1 -0
  21. package/dist/assets/Index-BHWbH-IB.js +1 -0
  22. package/dist/assets/Index-BLbwI9y2.css +1 -0
  23. package/dist/assets/Index-BOpc0vYw.css +1 -0
  24. package/dist/assets/Index-BPsxCJLR.css +1 -0
  25. package/dist/assets/Index-BTMnpHAB.js +1 -0
  26. package/dist/assets/{Index-CarBKXc_.js → Index-Bq-4vMGX.js} +1 -1
  27. package/dist/assets/Index-BqOX37kc.css +1 -0
  28. package/dist/assets/Index-Br9x7GnA.css +1 -0
  29. package/dist/assets/Index-BttSzwZS.js +1 -0
  30. package/dist/assets/Index-BvGIjCeq.js +1 -0
  31. package/dist/assets/Index-ByRQW5yK.css +1 -0
  32. package/dist/assets/Index-CQHCtrEM.css +1 -0
  33. package/dist/assets/Index-C_lTdl1n.js +1 -0
  34. package/dist/assets/Index-CczNCX1V.js +1 -0
  35. package/dist/assets/Index-Cwduph5Y.js +1 -0
  36. package/dist/assets/Index-D0HSsKHV.css +1 -0
  37. package/dist/assets/Index-D1QgA58M.css +1 -0
  38. package/dist/assets/Index-D4VINF4l.js +1 -0
  39. package/dist/assets/Index-D7cpbssY.js +1 -0
  40. package/dist/assets/Index-DE-Le67g.js +1 -0
  41. package/dist/assets/Index-DFtrjaKk.js +1 -0
  42. package/dist/assets/Index-DOijBIse.js +1 -0
  43. package/dist/assets/Index-DYZt7wpr.css +1 -0
  44. package/dist/assets/Index-D_ER7_wh.css +1 -0
  45. package/dist/assets/Index-D_fTTJPb.js +1 -0
  46. package/dist/assets/{Index-BWIfBor8.css → Index-DdS211RO.css} +1 -1
  47. package/dist/assets/Index-DeBTh_5M.js +1 -0
  48. package/dist/assets/Index-Dlkri-Nx.js +1 -0
  49. package/dist/assets/{Index-CZ-Jgww0.css → Index-DpA3efz6.css} +1 -1
  50. package/dist/assets/Index-DtTR08nA.css +1 -0
  51. package/dist/assets/{Index-Bh5FPHY8.css → Index-DxhkmCSp.css} +1 -1
  52. package/dist/assets/Index-qHMVcnL5.js +1 -0
  53. package/dist/assets/{Invitees-DNFvqTDa.js → Invitees-Bwf6Sx5L.js} +1 -1
  54. package/dist/assets/{List-CXaCzqEO.js → List-BuzBZYNs.js} +1 -1
  55. package/dist/assets/{List-B9nGTwmd.js → List-Cm_1Pl_m.js} +1 -1
  56. package/dist/assets/{List-DtsesRgc.js → List-DykznTcB.js} +1 -1
  57. package/dist/assets/{Login-D-D_IgfX.js → Login-HaVOMqv1.js} +1 -1
  58. package/dist/assets/Main-CFT_d-Ox.css +1 -0
  59. package/dist/assets/{Main-xhazevN1.js → Main-U-Zwfh9K.js} +1 -1
  60. package/dist/assets/Navigator--_Jw-oQ6.js +1 -0
  61. package/dist/assets/Navigator-O-mZrlgA.css +1 -0
  62. package/dist/assets/{NoTasks-itMtwFM2.js → NoTasks-Bg3dk3Zk.js} +1 -1
  63. package/dist/assets/{Pagination-CM3nVrNB.js → Pagination-Chbfcf6l.js} +1 -1
  64. package/dist/assets/ScrollList-DtikpNk7.js +1 -0
  65. package/dist/assets/Status-CGJoVgMo.css +1 -0
  66. package/dist/assets/{Status-D6REuTZv.js → Status-CaUFs7gn.js} +1 -1
  67. package/dist/assets/Subscribe-CCBG-9BB.css +1 -0
  68. package/dist/assets/{Subscribe-Dkht8EId.js → Subscribe-Ccl8kWoO.js} +1 -1
  69. package/dist/assets/{VideoPlayer-DMvGMBbk.js → VideoPlayer-CXGW06AO.js} +1 -1
  70. package/dist/assets/chat-1wdicyKD.js +1 -0
  71. package/dist/assets/chat-B-uKFtD7.js +1 -0
  72. package/dist/assets/chat-BEDsBWut.js +1 -0
  73. package/dist/assets/chat-BiV3N1L7.js +1 -0
  74. package/dist/assets/chat-Bsrsf1mj.js +1 -0
  75. package/dist/assets/chat-C9BP-9pH.js +1 -0
  76. package/dist/assets/chat-CIFszBeW.js +1 -0
  77. package/dist/assets/chat-Cdd0Zncj.js +1 -0
  78. package/dist/assets/chat-ChvajOsf.js +1 -0
  79. package/dist/assets/chat-CxVvavJQ.js +1 -0
  80. package/dist/assets/chat-DHFEiySY.js +1 -0
  81. package/dist/assets/chat-DU4P7SnG.js +1 -0
  82. package/dist/assets/chat-DX4gOtIG.js +1 -0
  83. package/dist/assets/chat-Dh7cMtaE.js +1 -0
  84. package/dist/assets/chat-IdMAYo0v.js +1 -0
  85. package/dist/assets/chat-mMqO_p2Y.js +1 -0
  86. package/dist/assets/{common-B4VoiUro.js → common-4G-6GjVw.js} +1 -1
  87. package/dist/assets/common-B06MFMQf.js +1 -0
  88. package/dist/assets/common-BRAtmRsJ.js +1 -0
  89. package/dist/assets/{common-NyqPuFQx.js → common-B_3m6buh.js} +1 -1
  90. package/dist/assets/common-C3IcqE8H.js +1 -0
  91. package/dist/assets/common-CJCw-vr8.js +1 -0
  92. package/dist/assets/common-CKY-0a3p.js +1 -0
  93. package/dist/assets/common-CoMaFFWX.js +1 -0
  94. package/dist/assets/common-DBDoN2vb.js +1 -0
  95. package/dist/assets/common-Dq_GF8st.js +1 -0
  96. package/dist/assets/common-Dz3-yCD-.js +1 -0
  97. package/dist/assets/common-QjLqEtxc.js +1 -0
  98. package/dist/assets/common-Ug6XoAMF.js +1 -0
  99. package/dist/assets/common-XtvWbkCC.js +1 -0
  100. package/dist/assets/common-npA49Z8g.js +1 -0
  101. package/dist/assets/common-rd-6seH4.js +1 -0
  102. package/dist/assets/{distribution-BeqWAQIH.js → distribution-dxlLtIkZ.js} +1 -1
  103. package/dist/assets/index-BceQaAb7.js +3 -0
  104. package/dist/assets/index-BhLJWZHg.css +1 -0
  105. package/dist/assets/nanobanana-894oHGKL.js +1 -0
  106. package/dist/assets/{nanobanana-Bh6af1hK.js → nanobanana-B1zm5SHm.js} +1 -1
  107. package/dist/assets/nanobanana-BTa6jfIs.js +1 -0
  108. package/dist/assets/{nanobanana-88d7dd1u.js → nanobanana-BVsD9w6e.js} +1 -1
  109. package/dist/assets/{nanobanana-BwVkihul.js → nanobanana-B_U53XnW.js} +1 -1
  110. package/dist/assets/nanobanana-BxVDoqva.js +1 -0
  111. package/dist/assets/nanobanana-C5zTC8GN.js +1 -0
  112. package/dist/assets/nanobanana-C6QYQs6b.js +1 -0
  113. package/dist/assets/nanobanana-CNVK9ZIc.js +1 -0
  114. package/dist/assets/{nanobanana-CkZJMrAB.js → nanobanana-CRmqsiAQ.js} +1 -1
  115. package/dist/assets/nanobanana-D4mvsHCX.js +1 -0
  116. package/dist/assets/{nanobanana-C0Bh5UZV.js → nanobanana-DkSoku5v.js} +1 -1
  117. package/dist/assets/nanobanana-DrR96NFw.js +1 -0
  118. package/dist/assets/nanobanana-HPs1ItBw.js +1 -0
  119. package/dist/assets/nanobanana-UnWDwqg1.js +1 -0
  120. package/dist/assets/{nanobanana-BuQAMgYh.js → nanobanana-cZUQnloT.js} +1 -1
  121. package/dist/assets/nanobanana-gMA3C5Xu.js +1 -0
  122. package/dist/assets/nanobanana-tAbB10sl.js +1 -0
  123. package/dist/assets/{order-nid2xuQ1.js → order-C7LItaBN.js} +1 -1
  124. package/dist/assets/{pagination-dbPQoMuV.js → pagination-bjoHZNQW.js} +1 -1
  125. package/dist/assets/{price-DkXHaDUs.js → price-DtWUJRlS.js} +1 -1
  126. package/dist/assets/seedance-BAVuf0PR.js +1 -0
  127. package/dist/assets/seedance-BFJckfnF.js +1 -0
  128. package/dist/assets/seedance-BGkFu3Gn.js +1 -0
  129. package/dist/assets/seedance-BOIOe4Kz.js +1 -0
  130. package/dist/assets/seedance-Bhw1dykz.js +1 -0
  131. package/dist/assets/seedance-CV5aiiX6.js +1 -0
  132. package/dist/assets/seedance-C_8tSYMt.js +1 -0
  133. package/dist/assets/seedance-CaiQhFOD.js +1 -0
  134. package/dist/assets/seedance-CdpJL_-i.js +1 -0
  135. package/dist/assets/seedance-CwsgPCK-.js +1 -0
  136. package/dist/assets/seedance-D3FDXDds.js +1 -0
  137. package/dist/assets/seedance-DLT-LjiN.js +1 -0
  138. package/dist/assets/seedance-DtvszRDm.js +1 -0
  139. package/dist/assets/suno-2kZeX0SQ.js +7 -0
  140. package/dist/assets/suno-B5c1_QMK.js +7 -0
  141. package/dist/assets/suno-B6J742Fo.js +7 -0
  142. package/dist/assets/suno-BCDSe33m.js +7 -0
  143. package/dist/assets/suno-BYLAqYbi.js +7 -0
  144. package/dist/assets/suno-CDE5lAPt.js +7 -0
  145. package/dist/assets/suno-CO3QsQOg.js +7 -0
  146. package/dist/assets/suno-CW7PL610.js +7 -0
  147. package/dist/assets/suno-D9sWL4Gy.js +7 -0
  148. package/dist/assets/suno-DpOQGwTR.js +7 -0
  149. package/dist/assets/suno-Dyr3BJr2.js +7 -0
  150. package/dist/assets/suno-NFdoRO-U.js +7 -0
  151. package/dist/assets/suno-PaSB1jMT.js +7 -0
  152. package/dist/assets/suno-aZGZNio8.js +7 -0
  153. package/dist/assets/suno-gAW2-3QC.js +7 -0
  154. package/dist/assets/suno-nPfEL05q.js +7 -0
  155. package/dist/assets/suno-ql0IUND1.js +7 -0
  156. package/dist/assets/suno-xyIB74FR.js +7 -0
  157. package/dist/assets/{vendor-Bf_m-mDd.js → vendor-B4-12K57.js} +310 -310
  158. package/dist/assets/{vendor-chart-BWO9-zJz.js → vendor-chart-BKONGlyX.js} +1 -1
  159. package/dist/assets/{vendor-dayjs-BHF5lY3m.js → vendor-dayjs-D6Igi227.js} +1 -1
  160. package/dist/assets/vendor-element-plus-C2t7-rNg.js +6 -0
  161. package/dist/assets/{vendor-highlight-cUQea6Bb.js → vendor-highlight-BX2iaugd.js} +1 -1
  162. package/dist/assets/{vendor-vue-Bb02XvLT.js → vendor-vue-BzRnDgD5.js} +1 -1
  163. package/dist/assets/{vendor-vue-router-D4avMJL1.js → vendor-vue-router-nHemWFue.js} +1 -1
  164. package/dist/index.html +35 -8
  165. package/package.json +22 -25
  166. package/dist/assets/Auth-CoBGJCCw.js +0 -1
  167. package/dist/assets/Callback-BgH_Utyj.js +0 -1
  168. package/dist/assets/Console-DVax2DE4.js +0 -1
  169. package/dist/assets/Console-DbMctt2W.css +0 -1
  170. package/dist/assets/Conversation-GSrX1R-R.js +0 -2
  171. package/dist/assets/Detail-BnMRXf6b.css +0 -1
  172. package/dist/assets/Extra-Bqh2sys8.css +0 -1
  173. package/dist/assets/ImagePreview-16UTA4Ig.js +0 -1
  174. package/dist/assets/Index-2elzaLl1.js +0 -1
  175. package/dist/assets/Index-4UR7I1fn.css +0 -1
  176. package/dist/assets/Index-6gMLg2EY.js +0 -1
  177. package/dist/assets/Index-BBS6o--_.js +0 -1
  178. package/dist/assets/Index-BHhT0z1M.js +0 -1
  179. package/dist/assets/Index-BQhbLcpL.css +0 -1
  180. package/dist/assets/Index-BYqD9lqM.js +0 -1
  181. package/dist/assets/Index-B_SqEGMu.js +0 -1
  182. package/dist/assets/Index-BmDhGkIl.js +0 -1
  183. package/dist/assets/Index-BzeXUOoU.js +0 -1
  184. package/dist/assets/Index-Cc0p4WHd.js +0 -1
  185. package/dist/assets/Index-CdYUa7On.css +0 -1
  186. package/dist/assets/Index-CmQp0RSR.css +0 -1
  187. package/dist/assets/Index-Csn0r5j8.css +0 -1
  188. package/dist/assets/Index-D3DKwf6a.css +0 -1
  189. package/dist/assets/Index-DGE-wQQd.css +0 -1
  190. package/dist/assets/Index-DKp2CLo3.js +0 -1
  191. package/dist/assets/Index-DXez4nb7.js +0 -1
  192. package/dist/assets/Index-DYfKRilM.js +0 -1
  193. package/dist/assets/Index-Dj0IXCL1.css +0 -1
  194. package/dist/assets/Index-DouhjWdd.js +0 -1
  195. package/dist/assets/Index-MGM-5rcn.js +0 -1
  196. package/dist/assets/Index-NE9FgqA5.css +0 -1
  197. package/dist/assets/Index-PLmrmFXE.css +0 -1
  198. package/dist/assets/Index-Q2Y5_EP0.js +0 -1
  199. package/dist/assets/Index-YyZEkfEe.css +0 -1
  200. package/dist/assets/Index-ZCpheDG7.js +0 -1
  201. package/dist/assets/Index-cOOQ1_jY.css +0 -1
  202. package/dist/assets/Index-kR-R_Ruz.js +0 -1
  203. package/dist/assets/Index-zcIEejFp.css +0 -1
  204. package/dist/assets/Main-CqaRC_rT.css +0 -1
  205. package/dist/assets/Navigator-Cu-tL1jQ.css +0 -1
  206. package/dist/assets/Navigator-_n13vxm-.js +0 -1
  207. package/dist/assets/ScrollList-DZkNnK0d.js +0 -1
  208. package/dist/assets/Status-wRPeglNe.css +0 -1
  209. package/dist/assets/Subscribe-CRhapGtL.css +0 -1
  210. package/dist/assets/chat-BBStXXAN.js +0 -1
  211. package/dist/assets/chat-BKzhQFFr.js +0 -1
  212. package/dist/assets/chat-C0kZsEZB.js +0 -1
  213. package/dist/assets/chat-CFplqAWr.js +0 -1
  214. package/dist/assets/chat-CWrz0eBq.js +0 -1
  215. package/dist/assets/chat-CX91Gfh8.js +0 -1
  216. package/dist/assets/chat-Cc9_iack.js +0 -1
  217. package/dist/assets/chat-CdaLgM-m.js +0 -1
  218. package/dist/assets/chat-D77v4H2v.js +0 -1
  219. package/dist/assets/chat-DSZDitzj.js +0 -1
  220. package/dist/assets/chat-DUzxWFXY.js +0 -1
  221. package/dist/assets/chat-Df7Ck0Q3.js +0 -1
  222. package/dist/assets/chat-Dn1PhZVe.js +0 -1
  223. package/dist/assets/chat-DohmQ-rL.js +0 -1
  224. package/dist/assets/chat-NCT5neTK.js +0 -1
  225. package/dist/assets/chat-j2Qm5jqY.js +0 -1
  226. package/dist/assets/common-BcDeWKMG.js +0 -1
  227. package/dist/assets/common-BtcEI3_z.js +0 -1
  228. package/dist/assets/common-CBLt4Lh2.js +0 -1
  229. package/dist/assets/common-CFMWyQcn.js +0 -1
  230. package/dist/assets/common-CUQ2Rxsz.js +0 -1
  231. package/dist/assets/common-DWlKkKHT.js +0 -1
  232. package/dist/assets/common-Db1Ljfwf.js +0 -1
  233. package/dist/assets/common-DzpTTtSR.js +0 -1
  234. package/dist/assets/common-JFbq6Gv8.js +0 -1
  235. package/dist/assets/common-JkxpO6Ry.js +0 -1
  236. package/dist/assets/common-QFN7jZT-.js +0 -1
  237. package/dist/assets/common-Rn4Rz0s3.js +0 -1
  238. package/dist/assets/common-XX_w7bp_.js +0 -1
  239. package/dist/assets/common-dWQObmCb.js +0 -1
  240. package/dist/assets/index-CFwKXwDS.js +0 -3
  241. package/dist/assets/index-Cn_0hZFW.css +0 -1
  242. package/dist/assets/nanobanana-BI7UqDqm.js +0 -1
  243. package/dist/assets/nanobanana-BNm2h5BY.js +0 -1
  244. package/dist/assets/nanobanana-BthvRET3.js +0 -1
  245. package/dist/assets/nanobanana-C2nNwIa8.js +0 -1
  246. package/dist/assets/nanobanana-CGOAspQr.js +0 -1
  247. package/dist/assets/nanobanana-DE3GRxD6.js +0 -1
  248. package/dist/assets/nanobanana-DaSbktx_.js +0 -1
  249. package/dist/assets/nanobanana-DrPpAlxx.js +0 -1
  250. package/dist/assets/nanobanana-HJZLDfwk.js +0 -1
  251. package/dist/assets/nanobanana-MvEtt5E3.js +0 -1
  252. package/dist/assets/nanobanana-aCAXveUq.js +0 -1
  253. package/dist/assets/nanobanana-bA9QjEQP.js +0 -1
  254. package/dist/assets/seedance-B6dBTNgm.js +0 -1
  255. package/dist/assets/seedance-BU_aJNbl.js +0 -1
  256. package/dist/assets/seedance-Bi2x9HSS.js +0 -1
  257. package/dist/assets/seedance-C9gRqXXe.js +0 -1
  258. package/dist/assets/seedance-CEn3XHX3.js +0 -1
  259. package/dist/assets/seedance-Cx_dv94A.js +0 -1
  260. package/dist/assets/seedance-CyDbhzQc.js +0 -1
  261. package/dist/assets/seedance-Cz6MoxYv.js +0 -1
  262. package/dist/assets/seedance-DMlPCh0W.js +0 -1
  263. package/dist/assets/seedance-DV6R0xYp.js +0 -1
  264. package/dist/assets/seedance-QAJCtFMu.js +0 -1
  265. package/dist/assets/seedance-S33zSwM8.js +0 -1
  266. package/dist/assets/seedance-dsqkOutz.js +0 -1
  267. package/dist/assets/suno-9XC90tVc.js +0 -1
  268. package/dist/assets/suno-BU5hmEMW.js +0 -1
  269. package/dist/assets/suno-BUqMDvXB.js +0 -1
  270. package/dist/assets/suno-BWpqU6uT.js +0 -1
  271. package/dist/assets/suno-BXUgOo6L.js +0 -1
  272. package/dist/assets/suno-BrTsurxE.js +0 -1
  273. package/dist/assets/suno-CCa0VyqS.js +0 -1
  274. package/dist/assets/suno-CRNDYJlK.js +0 -1
  275. package/dist/assets/suno-C_r2W2jk.js +0 -1
  276. package/dist/assets/suno-CfgSaIvd.js +0 -1
  277. package/dist/assets/suno-Crd_AR55.js +0 -1
  278. package/dist/assets/suno-CyLCyIOZ.js +0 -1
  279. package/dist/assets/suno-D9407D4u.js +0 -1
  280. package/dist/assets/suno-DZ0skpht.js +0 -1
  281. package/dist/assets/suno-DePmFH3c.js +0 -1
  282. package/dist/assets/suno-DgPC4wZ4.js +0 -1
  283. package/dist/assets/suno-Dtf4HeCY.js +0 -1
  284. package/dist/assets/suno-IQ76J_PM.js +0 -1
  285. package/dist/assets/vendor-element-plus-DMm68DKM.js +0 -6
@@ -1 +0,0 @@
1
- import{bG as A}from"./vendor-Bf_m-mDd.js";import{o as C,N as W,p as N,q as Z,r as V,J as j,K as O,n as H,B as K,i as Y}from"./vendor-element-plus-DMm68DKM.js";import{d as k,c as i,a as c,l as s,P as D,S as _,al as n,o as a,Z as o,Y as u,F as w,ai as I,R as E,W as v,V as R,a1 as J}from"./vendor-vue-Bb02XvLT.js";import{_ as y,a5 as X,bX as Q,bY as x,bZ as ee,b_ as se,b$ as te,c0 as oe,c1 as U,c2 as G,c3 as q,c4 as B,c5 as ae,ak as ne,ah as P}from"./index-CFwKXwDS.js";import{I as M,S as le}from"./ScrollList-DZkNnK0d.js";import{I as F}from"./ImagePreview-16UTA4Ig.js";import{C as re,N as ie}from"./NoTasks-itMtwFM2.js";import{a as ce}from"./price-DkXHaDUs.js";import{C as de}from"./CopyToClipboard-DUBbK93t.js";import{I as me}from"./ImageWrapper-mb1KsHr6.js";import{B as ue}from"./BotPlaceholder-BL8MMNSZ.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";const pe=k({name:"LayoutSeedream",components:{ElDrawer:W,ElButton:C,FontAwesomeIcon:A},data(){return{drawer:!1}}}),fe={class:"main flex flex-row flex-1"},he={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},_e={class:"result h-full p-[15px] flex-1 flex flex-col"};function ge(e,t,g,r,m,p){const f=n("font-awesome-icon"),h=n("el-button"),l=n("el-drawer");return a(),i("div",fe,[c("div",he,[D(e.$slots,"config",{},void 0,!0)]),c("div",_e,[D(e.$slots,"result",{},void 0,!0)]),s(h,{circle:"",class:"menu",onClick:t[0]||(t[0]=d=>e.drawer=!0)},{default:_(()=>[s(f,{icon:"fa-solid fa-magic"})]),_:1}),s(l,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=d=>e.drawer=d),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:_(()=>[D(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const $e=y(pe,[["render",ge],["__scopeId","data-v-8cf3148a"]]),ve="",be=k({name:"SeedreamPromptInput",components:{ElInput:N,InfoIcon:M},computed:{prompt:{get(){return this.$store.state.seedream?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("seedream/setConfig",{...this.$store.state.seedream?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ve)}}),ke={class:"field"},ye={class:"box"},we={class:"title font-bold"};function Ee(e,t,g,r,m,p){const f=n("info-icon"),h=n("el-input");return a(),i("div",ke,[c("div",ye,[c("h2",we,o(e.$t("seedream.name.prompt")),1),s(f,{content:e.$t("seedream.description.prompt"),class:"info"},null,8,["content"])]),s(h,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=l=>e.prompt=l),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("seedream.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Se=y(be,[["render",Ee],["__scopeId","data-v-5559520a"]]),Ve=k({name:"SeedreamImageInput",components:{ElUpload:Z,ElButton:C,InfoIcon:M,ImagePreview:F,FontAwesomeIcon:A},data(){return{fileList:[],uploadUrl:X()+"/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.seedream?.config?.image}},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(p=>p?.response?.file_url===r||p?.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(p=>p===r||p?.url===r?.url||p?.response?.file_url===r?.response?.file_url)||t.push(r)}),this.fileList=t}}},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.onSetImages()},onExceed(){V.warning(this.$t("seedream.message.uploadImageExceed"))},onError(){V.error(this.$t("seedream.message.uploadImageError"))},onSetImages(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("seedream/setConfig",{...this.$store.state.seedream?.config,image:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImages()},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.onSetImages()}}}),Ie={class:"field"},Le={class:"label"},Re={class:"box"},Te={class:"title font-bold"},Ae={class:"value"},Ce={class:"file-list mt-2 flex flex-wrap gap-[10px]"};function Me(e,t,g,r,m,p){const f=n("info-icon"),h=n("font-awesome-icon"),l=n("el-button"),d=n("el-upload"),b=n("image-preview");return a(),i(w,null,[c("div",Ie,[c("div",Le,[c("div",Re,[c("h2",Te,o(e.$t("seedream.name.imageUrls")),1),s(f,{content:e.$t("seedream.description.imageUrls"),class:"info"},null,8,["content"])])]),c("div",Ae,[s(d,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=$=>e.fileList=$),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",limit:14,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:_(()=>[s(l,{size:"small",type:"primary",round:""},{default:_(()=>[s(h,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+o(e.$t("seedream.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"])])]),c("div",Ce,[(a(!0),i(w,null,I(e.fileList,($,S)=>(a(),E(b,{key:$.uid||$?.response?.file_url||$.url||S,url:$.url||$?.response?.file_url,name:$.name,percentage:$.percentage,onRemove:z=>e.onRemovePreview(S,$)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const De=y(Ve,[["render",Me],["__scopeId","data-v-29737ed9"]]),ze=k({name:"SeedreamModelSelector",components:{ElSelect:O,ElOption:j,InfoIcon:M},data(){return{options:[{value:x,label:this.$t("seedream.model.seedream45")},{value:ee,label:this.$t("seedream.model.seedream40")},{value:se,label:this.$t("seedream.model.seedream30t2i")},{value:te,label:this.$t("seedream.model.seededit30i2i")}]}},computed:{value:{get(){return this.$store.state.seedream?.config?.model},set(e){this.$store.commit("seedream/setConfig",{...this.$store.state.seedream?.config,model:e})}}},mounted(){this.value||(this.value=Q)}}),Ue={class:"field"},Ge={class:"label"},qe={class:"box"},Pe={class:"title font-bold"};function je(e,t,g,r,m,p){const f=n("info-icon"),h=n("el-option"),l=n("el-select");return a(),i("div",Ue,[c("div",Ge,[c("div",qe,[c("h2",Pe,o(e.$t("seedream.name.model")),1),s(f,{content:e.$t("seedream.description.model"),class:"info"},null,8,["content"])])]),s(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",placeholder:e.$t("seedream.placeholder.select")},{default:_(()=>[(a(!0),i(w,null,I(e.options,d=>(a(),E(h,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Oe=y(ze,[["render",je],["__scopeId","data-v-3c3ca27d"]]),Be=k({name:"SeedreamSizeSelector",components:{ElSelect:O,ElOption:j,InfoIcon:M},data(){return{options:[{value:U,label:U},{value:G,label:G},{value:q,label:q}]}},computed:{value:{get(){return this.$store.state.seedream?.config?.size},set(e){this.$store.commit("seedream/setConfig",{...this.$store.state.seedream?.config,size:e})}}},mounted(){this.value||(this.value=oe)}}),Fe={class:"field"},We={class:"label"},Ne={class:"box"},Ze={class:"title font-bold"};function He(e,t,g,r,m,p){const f=n("info-icon"),h=n("el-option"),l=n("el-select");return a(),i("div",Fe,[c("div",We,[c("div",Ne,[c("h2",Ze,o(e.$t("seedream.name.size")),1),s(f,{content:e.$t("seedream.description.size"),class:"info"},null,8,["content"])])]),s(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",placeholder:e.$t("seedream.placeholder.select"),filterable:"","allow-create":"","default-first-option":""},{default:_(()=>[(a(!0),i(w,null,I(e.options,d=>(a(),E(h,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ke=y(Be,[["render",He],["__scopeId","data-v-54a9a469"]]),Ye=k({name:"SeedreamConfigPanel",components:{ElButton:C,FontAwesomeIcon:A,PromptInput:Se,Consumption:re,ImageInput:De,ModelSelector:Oe,SizeSelector:Ke},emits:["generate"],computed:{config(){return this.$store.state.seedream?.config},consumption(){const e={...this.config||{}},t=Array.isArray(e?.image)&&e.image.length>0;return ce({...e,action:t?"edit":"generate",model:B(e?.model),count:1},this.service?.cost)},service(){return this.$store.state.seedream?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Je={class:"flex flex-col h-full"},Xe={class:"flex-1 overflow-y-auto p-[15px]"},Qe={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function xe(e,t,g,r,m,p){const f=n("model-selector"),h=n("size-selector"),l=n("prompt-input"),d=n("image-input"),b=n("consumption"),$=n("font-awesome-icon"),S=n("el-button");return a(),i("div",Je,[c("div",Xe,[s(f,{class:"mb-4"}),s(h,{class:"mb-4"}),s(l,{class:"mb-4"}),s(d,{class:"mb-4"})]),c("div",Qe,[s(b,{value:e.consumption,service:e.service},null,8,["value","service"]),s(S,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:_(()=>[s($,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+o(e.$t("seedream.button.generate")),1)]),_:1},8,["onClick"])])])}const es=y(Ye,[["render",xe]]),ss=k({name:"SeedreamTaskPreview",components:{ElImage:Y,CopyToClipboard:de,FontAwesomeIcon:A,ElAlert:K,ImageWrapper:me,ElButton:C,ElTooltip:H,ImagePreview:F},props:{modelValue:{type:Object,required:!0}},computed:{isEdit(){return Array.isArray(this.modelValue?.request?.image)&&(this.modelValue?.request?.image?.length||0)>0},images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{shortModel(e){return B(e)||e},onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.seedream?.config||{}};t.image=[e],this.$store.commit("seedream/setConfig",t)}}}),ts={class:"preview"},os={class:"left"},as={class:"main"},ns={class:"bot"},ls={class:"datetime"},rs={class:"info"},is={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},cs={key:1,class:"prompt mt-2"},ds={key:0},ms={key:0,class:R({content:!0})},us={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ps={key:1,class:R({content:!0,failed:!0})},fs={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},hs={class:R({operations:!0,"mt-2":!0,"mb-2":!0})},_s={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gs={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$s={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vs={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bs={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ks={key:2,class:R({content:!0})},ys={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ws={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Es={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ss={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vs={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Is={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ls={key:3,class:R({content:!0})},Rs={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ts={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function As(e,t,g,r,m,p){const f=n("el-image"),h=n("image-preview"),l=n("font-awesome-icon"),d=n("copy-to-clipboard"),b=n("el-alert"),$=n("image-wrapper"),S=n("el-button"),z=n("el-tooltip");return a(),i("div",ts,[c("div",os,[s(f,{src:"https://cdn.acedata.cloud/9egrbn.png",class:"avatar"})]),c("div",as,[c("div",ns,[u(o(e.$t("seedream.name.seedreamBot"))+" ",1),c("span",ls,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",rs,[Array.isArray(e.modelValue?.request?.image)&&e.modelValue?.request?.image.length>0?(a(),i("div",is,[(a(!0),i(w,null,I(e.modelValue?.request?.image,(L,T)=>(a(),E(h,{key:T,url:L,name:`image-${T+1}`,closable:!1},null,8,["url","name"]))),128))])):v("",!0),e.modelValue?.request?.prompt?(a(),i("p",cs,[u(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?v("",!0):(a(),i("span",ds," - ("+o(e.$t("seedream.status.pending"))+") ",1))])):v("",!0)]),e.modelValue?.response?e.modelValue?.response?.success===!0?(a(),i("div",ps,[c("div",fs,[(a(!0),i(w,null,I(e.images,(L,T)=>(a(),E($,{key:T,src:L?.image_url,"raw-src":L?.image_url},null,8,["src","raw-src"]))),128))]),c("div",hs,[s(z,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:_(()=>[s(S,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=J(L=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:_(()=>[u(o(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),s(b,{closable:!1,class:"mt-2 success"},{default:_(()=>[e.modelValue?.request?.model?(a(),i("p",_s,[s(l,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("seedream.name.model"))+": "+o(e.shortModel(e.modelValue?.request?.model)),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",gs,[s(l,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("seedream.name.size"))+": "+o(e.modelValue?.request?.size),1)])):v("",!0),c("p",$s,[s(l,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("seedream.name.task"))+": "+o(e.isEdit?e.$t("seedream.name.edits"):e.$t("seedream.name.generate")),1)]),c("p",vs,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("seedream.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(d,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),i("p",bs,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("seedream.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),s(d,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(a(),i("div",ks,[s(b,{closable:!1,class:"failure"},{template:_(()=>[s(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("seedream.name.failure")),1)]),default:_(()=>[e.modelValue?.request?.model?(a(),i("p",ys,[s(l,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("seedream.name.model"))+": "+o(e.shortModel(e.modelValue?.request?.model)),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",ws,[s(l,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("seedream.name.size"))+": "+o(e.modelValue?.request?.size),1)])):v("",!0),c("p",Es,[s(l,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("seedream.name.task"))+": "+o(e.isEdit?e.$t("seedream.name.edits"):e.$t("seedream.name.generate")),1)]),c("p",Ss,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("seedream.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(d,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.error?.message?(a(),i("p",Vs,[s(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+o(e.$t("seedream.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),s(d,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])])):v("",!0),e.modelValue?.response?.trace_id?(a(),i("p",Is,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("seedream.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),s(d,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):v("",!0)]),_:1})])):(a(),i("div",Ls,[s(b,{closable:!1,class:"info"},{template:_(()=>[s(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+o(e.$t("seedream.name.status")),1)]),default:_(()=>[c("p",Rs,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("seedream.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(d,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),i("p",Ts,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("seedream.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),s(d,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):v("",!0)]),_:1})])):(a(),i("div",ms,[s(b,{closable:!1,class:"info"},{template:_(()=>[s(l,{icon:"fa-regular fa-clock",class:"mr-1"}),u(" "+o(e.$t("seedream.status.pending")),1)]),default:_(()=>[c("p",us,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("seedream.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(d,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})]))])])}const Cs=y(ss,[["render",As],["__scopeId","data-v-3b411e54"]]),Ms=k({name:"SeedreamRecentPanel",components:{TaskPreview:Cs,BotPlaceholder:ue,NoTasks:ie,ScrollList:le},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],computed:{tasks(){return{...this.$store.state.seedream?.tasks,items:this.$store.state.seedream?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ds={key:0},zs={key:2,class:"w-full h-full flex items-center justify-center"};function Us(e,t,g,r,m,p){const f=n("bot-placeholder"),h=n("task-preview"),l=n("scroll-list"),d=n("no-tasks");return a(),i(w,null,[e.tasks?.items===void 0?(a(),i("div",Ds,[s(f)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),E(l,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=b=>e.$emit("reach-top"))},{default:_(()=>[(a(!0),i(w,null,I(e.tasks?.items,b=>(a(),E(h,{key:b.id,"model-value":b},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(a(),i("div",zs,[s(d)])):v("",!0)],64)}const Gs=y(Ms,[["render",Us]]),qs="https://webhook.acedata.cloud/seedream",Ps=k({name:"SeedreamIndex",components:{ConfigPanel:es,Layout:$e,RecentPanel:Gs},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.seedream?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.seedream?.status?.getTasks===P.Request},credential(){return this.$store.state.seedream?.credential},config(){return this.$store.state.seedream?.config},application(){return this.$store.state.seedream?.application},tasks(){return this.$store.state.seedream?.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?.(),p=m?.scrollHeight||0,f=m?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:g.created_at}),await this.$nextTick(),m){const h=m.scrollHeight;m.scrollTop=h-p+f}}finally{this.loading=!1}},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("seedream/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("seedream/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("seedream/getTasks",{limit:t,createdAtMin:g,createdAtMax:r})},async onGenerate(){const e={...this.config||{}};!(Array.isArray(e?.image)&&e.image.length>0)&&"image"in e&&delete e.image,e?.size||delete e.size;const g={...e,callback_url:qs},r=this.credential?.token;if(!r){console.error("no token specified");return}V.info(this.$t("seedream.message.startingTask")),ae.generate(g,{token:r}).then(()=>{V.success(this.$t("seedream.message.startTaskSuccess"))}).catch(m=>{const p=m?.response?.data;p?.error?.code===ne?V.error(this.$t("seedream.message.usedUp")):V.error(this.$t("seedream.message.startTaskFailed")+(p?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function js(e,t,g,r,m,p){const f=n("config-panel"),h=n("recent-panel"),l=n("layout");return a(),E(l,null,{config:_(()=>[s(f,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:_(()=>[s(h,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const tt=y(Ps,[["render",js]]);export{tt as default};
@@ -1 +0,0 @@
1
- import{bG as B,bT as Y,bU as H,l as oe,bV as se,bW as D,bX as ne,bY as ie,bZ as ae,b_ as le}from"./vendor-Bf_m-mDd.js";import{o as Z,N as re,j as ee,J as ce,K as ue,q as de,r as k,p as N,P as pe,e as W,i as K,f as me,g as he,h as _e,n as fe,Q as te,U as $e,G as ge,T as ve,V as ye}from"./vendor-element-plus-DMm68DKM.js";import{d as y,c as d,a as s,l as o,P as M,S as p,al as a,o as i,Z as m,F as j,ai as O,R as v,Y as I,W as g,U as X,as as J,a1 as T,b as E,z as S,w as ke,X as be,_ as we}from"./vendor-vue-Bb02XvLT.js";import{_ as b,bN as Q,bO as q,a5 as Ce,ah as L,aa as Ve,ag as Ae}from"./index-CFwKXwDS.js";import{I as F,S as Pe}from"./ScrollList-DZkNnK0d.js";import{C as Se,N as Te}from"./NoTasks-itMtwFM2.js";import{a as Ie}from"./price-DkXHaDUs.js";import{l as Ee}from"./pagination-dbPQoMuV.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";const Ue=y({name:"LayoutSuno",components:{ElDrawer:re,ElButton:Z,FontAwesomeIcon:B},data(){return{drawer:!1,preview:!1}},computed:{}}),Le={class:"main flex flex-row flex-1"},je={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},Ge={class:"result h-full flex flex-col flex-1 border-r border-[var(--el-border-color)]"},De={class:"preview h-full w-[300px] flex flex-col"};function Fe(e,t,l,n,u,r){const c=a("font-awesome-icon"),h=a("el-button"),_=a("el-drawer");return i(),d("div",Le,[s("div",je,[M(e.$slots,"config",{},void 0,!0)]),s("div",Ge,[M(e.$slots,"result",{},void 0,!0)]),s("div",De,[M(e.$slots,"preview",{},void 0,!0)]),o(h,{circle:"",class:"menu",onClick:t[0]||(t[0]=f=>e.drawer=!0)},{default:p(()=>[o(c,{icon:"fa-solid fa-magic"})]),_:1}),o(_,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=f=>e.drawer=f),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:p(()=>[M(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Re=b(Ue,[["render",Fe],["__scopeId","data-v-6cc632e5"]]),ze=y({name:"VersionSelector",components:{ElSelect:ue,ElOption:ce,ElSwitch:ee},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{label:this.$t("suno.model.model1"),value:"chirp-v2-xxl-alpha"},{label:this.$t("suno.model.model2"),value:"chirp-v3-0"},{label:this.$t("suno.model.model3"),value:"chirp-v3-5"},{label:this.$t("suno.model.model4"),value:"chirp-v4"},{label:this.$t("suno.model.model45"),value:"chirp-v4-5"},{label:this.$t("suno.model.model45plus"),value:"chirp-v4-5-plus"},{label:this.$t("suno.model.model5"),value:"chirp-v5"}]}},computed:{custom:{get(){return this.$store.state.suno?.config?.custom},set(e){console.debug("set custom",e),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,custom:e})}},model:{get(){return this.$store.state.suno?.config?.model},set(e){console.debug("set model",e),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:e})}}},mounted(){this.model||(console.debug("set default type",Q),this.model=Q)}}),Me={class:"field"},Oe={class:"title font-bold"};function qe(e,t,l,n,u,r){const c=a("el-switch"),h=a("el-option"),_=a("el-select");return i(),d("div",Me,[s("h2",Oe,m(e.$t("suno.name.type")),1),o(c,{modelValue:e.custom,"onUpdate:modelValue":t[0]||(t[0]=f=>e.custom=f),class:"value"},null,8,["modelValue"]),o(_,{modelValue:e.model,"onUpdate:modelValue":t[1]||(t[1]=f=>e.model=f),class:"value",placeholder:e.$t("suno.placeholder.select")},{default:p(()=>[(i(!0),d(j,null,O(e.options,f=>(i(),v(h,{key:f.value,label:f.label,value:f.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Be=b(ze,[["render",qe],["__scopeId","data-v-5ebe40d6"]]),Ne=y({name:"UploadAudio",components:{ElUpload:de,ElButton:Z,InfoIcon:F,FontAwesomeIcon:B},emits:["change"],data(){return{fileList:[],uploadUrl:Ce()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},credential(){return this.$store.state.suno.credential},config(){return this.$store.state.suno.config},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.suno?.config?.audio_id},set(){}}},watch:{urls:{handler(e){this.$emit("change",e)}}},mounted(){this.value||(this.value=void 0),this.onSetAudio()},methods:{onExceed(){k.warning(this.$t("suno.message.uploadReferencesExceed"))},onError(){k.error(this.$t("suno.message.uploadReferencesError"))},async onSuccess(){const e=this.urls?.[0];await this.onGenerateAudioId(e)},async onGenerateAudioId(e){const t={audio_url:e},l=this.credential?.token;if(!l){console.error("no token specified");return}k.info(this.$t("suno.message.startingUploadAudio")),q.upload(t,{token:l}).then(n=>{console.debug("get upload music success",n.data);const u=n.data?.data.audio_id;this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,audio_id:u,action:"upload_extend"}),k.success(this.$t("suno.message.startUploadAudioSuccess"))}).catch(n=>{k.error(n?.response?.data?.error?.message||this.$t("suno.message.startUploadAudioFailed"))})},onSetAudio(){}}}),We={class:"relative"},Ke={class:"flex justify-between"},Xe={class:"flex justify-start items-center"},Ye={class:"text-sm font-bold"};function He(e,t,l,n,u,r){const c=a("info-icon"),h=a("font-awesome-icon"),_=a("el-button"),f=a("el-upload");return i(),d("div",We,[s("div",Ke,[s("div",Xe,[s("span",Ye,m(e.$t("suno.name.referenceAudios")),1),o(c,{content:e.$t("suno.description.uploadAudios")},null,8,["content"])])]),o(f,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=C=>e.fileList=C),name:"file",limit:1,class:"upload-wrapper",action:e.uploadUrl,accept:".mp3","show-file-list":!0,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{default:p(()=>[o(_,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:p(()=>[o(h,{icon:"fa-solid fa-upload",class:"icon mr-1"}),I(" "+m(e.$t("suno.button.uploadAudios")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Ze=b(Ne,[["render",He],["__scopeId","data-v-6236152c"]]),Je="",Qe=y({name:"PromptInput",components:{ElInput:N,ElSwitch:ee,InfoIcon:F},data(){return{}},computed:{prompt:{get(){return this.$store.state.suno?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,prompt:e})}},instrumental:{get(){return this.$store.state.suno?.config?.instrumental},set(e){console.debug("set instrumental",e),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,instrumental:e})}}},mounted(){this.prompt||(this.prompt=Je)}}),xe={class:"field"},et={class:"box"},tt={class:"title-info"},ot={class:"title font-bold"},st={class:"instrumental"},nt={class:"title inline-block"};function it(e,t,l,n,u,r){const c=a("info-icon"),h=a("el-switch"),_=a("el-input");return i(),d("div",xe,[s("div",et,[s("div",tt,[s("h2",ot,m(e.$t("suno.name.prompt")),1),o(c,{content:e.$t("suno.description.prompt"),class:"info"},null,8,["content"])]),s("div",st,[o(h,{modelValue:e.instrumental,"onUpdate:modelValue":t[0]||(t[0]=f=>e.instrumental=f),class:"value mr-2"},null,8,["modelValue"]),s("h2",nt,m(e.$t("suno.name.instrumental")),1)])]),o(_,{modelValue:e.prompt,"onUpdate:modelValue":t[1]||(t[1]=f=>e.prompt=f),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("suno.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const at=b(Qe,[["render",it],["__scopeId","data-v-ee47cf0d"]]),lt="",rt=y({name:"LyricInput",components:{ElInput:N,InfoIcon:F},data(){return{}},computed:{lyric:{get(){return this.$store.state.suno?.config?.lyric},set(e){console.debug("set lyric",e),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,lyric:e})}},config(){return this.$store.state.suno?.config}},mounted(){this.lyric||(this.lyric=lt)}}),ct={class:"field"},ut={class:"box"},dt={class:"title font-bold"};function pt(e,t,l,n,u,r){const c=a("info-icon"),h=a("el-input");return i(),d("div",ct,[s("div",ut,[s("h2",dt,m(e.$t("suno.name.lyrics")),1),o(c,{content:e.$t("suno.description.lyrics"),class:"info"},null,8,["content"])]),e.config?.action!=="extend"?(i(),v(h,{key:0,modelValue:e.lyric,"onUpdate:modelValue":t[0]||(t[0]=_=>e.lyric=_),rows:3,type:"textarea",class:"lyrics",placeholder:e.$t("suno.placeholder.lyrics")},null,8,["modelValue","placeholder"])):(i(),v(h,{key:1,modelValue:e.lyric,"onUpdate:modelValue":t[1]||(t[1]=_=>e.lyric=_),rows:3,type:"textarea",class:"lyrics",placeholder:e.$t("suno.placeholder.extend.lyrics")},null,8,["modelValue","placeholder"]))])}const mt=b(rt,[["render",pt],["__scopeId","data-v-010079f1"]]),ht=y({name:"StyleInput",components:{ElInput:N,InfoIcon:F},data(){return{}},computed:{style:{get(){return this.$store.state.suno?.config?.style},set(e){console.debug("set style",e),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,style:e})}},config(){return this.$store.state.suno?.config}}}),_t={class:"field"},ft={class:"title-container"},$t={class:"titlefont-bold"};function gt(e,t,l,n,u,r){const c=a("info-icon"),h=a("el-input");return i(),d("div",_t,[s("div",ft,[s("h2",$t,m(e.$t("suno.name.style")),1),o(c,{content:e.$t("suno.description.style"),class:"info"},null,8,["content"])]),o(h,{modelValue:e.style,"onUpdate:modelValue":t[0]||(t[0]=_=>e.style=_),rows:3,type:"textarea",class:"style",placeholder:e.$t("suno.placeholder.style")},null,8,["modelValue","placeholder"])])}const vt=b(ht,[["render",gt],["__scopeId","data-v-8b7df2bf"]]),yt=y({name:"TitleInput",components:{ElInput:N,InfoIcon:F},data(){return{}},computed:{title:{get(){return this.$store.state.suno?.config?.title},set(e){console.debug("set title",e),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,title:e})}},instrumental:{get(){return this.$store.state.suno?.config?.instrumental},set(e){console.debug("set instrumental",e),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,instrumental:e})}}}}),kt={class:"field"},bt={class:"title-container"},wt={class:"title font-bold"};function Ct(e,t,l,n,u,r){const c=a("info-icon"),h=a("el-input");return i(),d("div",kt,[s("div",bt,[s("h2",wt,m(e.$t("suno.name.title")),1),o(c,{content:e.$t("suno.description.title"),class:"info"},null,8,["content"])]),o(h,{modelValue:e.title,"onUpdate:modelValue":t[0]||(t[0]=_=>e.title=_),rows:3,type:"textarea",class:"title",placeholder:e.$t("suno.placeholder.title")},null,8,["modelValue","placeholder"])])}const Vt=b(yt,[["render",Ct],["__scopeId","data-v-01db62ee"]]);function G(e){const t=Math.floor(e)%60;e=Math.floor(e/60);const l=e%60,n=l<10?`0${l}`:l,u=t<10?`0${t}`:t;return n+":"+u}const At=y({name:"ExtendFromInput",components:{ElImage:K,ElIcon:W,ElInputNumber:pe,VideoPlay:H,VideoPause:Y},data(){return{}},computed:{audio(){return this.$store.state.suno?.config?.audio},value:{get(){return this.$store.state.suno?.config?.continue_at},set(e){console.debug("set continue_at",e),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,continue_at:e?parseInt(e):void 0})}}},mounted(){this.value||(this.value=void 0)},methods:{handleChange(e){if(e===void 0){this.value=void 0;return}e<0?this.value=0:e>this.audio?.duration?this.value=this.audio?.duration:this.value=e},useFormatDuring:G,onPlay(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.suno?.audio?.id!==e.id&&this.onPlay({...e,progress:0})}}}),Pt={class:"field"},St={class:"box"},Tt={class:"title font-bold"},It={class:"input-wrapper"},Et={class:"task"},Ut={class:"left"},Lt={key:2,class:"duration"},jt={class:"info"},Gt={class:"title"},Dt={class:"style"};function Ft(e,t,l,n,u,r){const c=a("el-input-number"),h=a("el-image"),_=a("video-pause"),f=a("el-icon"),C=a("video-play"),V=J("loading");return i(),d("div",Pt,[s("div",St,[s("h2",Tt,m(e.$t("suno.name.extend")),1),s("div",It,[o(c,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=w=>e.value=w),class:"value",min:0,max:e.audio?.duration,controls:!1,placeholder:e.$t("suno.placeholder.extend.continue_at"),onChange:e.handleChange},null,8,["modelValue","max","placeholder","onChange"])])]),s("div",Et,[e.audio?(i(),d("div",{key:0,class:"audio",onClick:t[3]||(t[3]=w=>e.onClick(e.audio))},[X((i(),d("div",Ut,[o(h,{src:e.audio?.image_url,class:"cover",fit:"cover"},null,8,["src"]),e.audio?.audio_url&&e.$store.state?.suno?.audio?.id===e.audio.id&&e.$store.state?.suno?.audio?.state==="playing"?(i(),d("div",{key:0,class:"overlay",onClick:t[1]||(t[1]=w=>e.onPause(e.audio))},[o(f,null,{default:p(()=>[o(_)]),_:1})])):g("",!0),e.audio?.audio_url&&(e.$store.state?.suno?.audio?.id!==e.audio.id||e.$store.state?.suno?.audio?.id===e.audio.id&&e.$store.state?.suno?.audio?.state==="paused")?(i(),d("div",{key:1,class:"overlay",onClick:t[2]||(t[2]=w=>e.onPlay(e.audio))},[o(f,null,{default:p(()=>[o(C)]),_:1})])):g("",!0),e.audio?.duration?(i(),d("div",Lt,m(e.useFormatDuring(e.audio?.duration)),1)):g("",!0)])),[[V,!e.audio?.audio_url]]),s("div",jt,[s("h2",Gt,m(e.audio?.title),1),s("p",Dt,m(e.audio?.style),1)])])):g("",!0)])])}const Rt=b(At,[["render",Ft],["__scopeId","data-v-bcce4821"]]),zt=y({name:"CoverFromInput",components:{ElImage:K,ElIcon:W,VideoPlay:H,VideoPause:Y},data(){return{}},computed:{audio(){return this.$store.state.suno?.config?.audio},value:{get(){return this.$store.state.suno?.config?.continue_at},set(e){console.debug("set continue_at",e),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,continue_at:e?parseInt(e):void 0})}}},mounted(){this.value||(this.value=void 0)},methods:{handleChange(e){e<0?this.value=0:e>this.audio?.duration?this.value=this.audio?.duration:this.value=e},useFormatDuring:G,onPlay(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.suno?.audio?.id!==e.id&&this.onPlay({...e,progress:0})}}}),Mt={class:"field"},Ot={class:"box"},qt={class:"title font-bold"},Bt={class:"task"},Nt={class:"left"},Wt={key:2,class:"duration"},Kt={class:"info"},Xt={class:"title"},Yt={class:"style"};function Ht(e,t,l,n,u,r){const c=a("el-image"),h=a("video-pause"),_=a("el-icon"),f=a("video-play"),C=J("loading");return i(),d("div",Mt,[s("div",Ot,[s("h2",qt,m(e.$t("suno.name.cover")),1)]),s("div",Bt,[e.audio?(i(),d("div",{key:0,class:"audio",onClick:t[2]||(t[2]=V=>e.onClick(e.audio))},[X((i(),d("div",Nt,[o(c,{src:e.audio?.image_url,class:"cover",fit:"cover"},null,8,["src"]),e.audio?.audio_url&&e.$store.state?.suno?.audio?.id===e.audio.id&&e.$store.state?.suno?.audio?.state==="playing"?(i(),d("div",{key:0,class:"overlay",onClick:t[0]||(t[0]=V=>e.onPause(e.audio))},[o(_,null,{default:p(()=>[o(h)]),_:1})])):g("",!0),e.audio?.audio_url&&(e.$store.state?.suno?.audio?.id!==e.audio.id||e.$store.state?.suno?.audio?.id===e.audio.id&&e.$store.state?.suno?.audio?.state==="paused")?(i(),d("div",{key:1,class:"overlay",onClick:t[1]||(t[1]=V=>e.onPlay(e.audio))},[o(_,null,{default:p(()=>[o(f)]),_:1})])):g("",!0),e.audio?.duration?(i(),d("div",Wt,m(e.useFormatDuring(e.audio?.duration)),1)):g("",!0)])),[[C,!e.audio?.audio_url]]),s("div",Kt,[s("h2",Xt,m(e.audio?.title),1),s("p",Yt,m(e.audio?.style),1)])])):g("",!0)])])}const Zt=b(zt,[["render",Ht],["__scopeId","data-v-06640216"]]),Jt=y({name:"PresetPanel",components:{TypeSelector:Be,PromptInput:at,LyricInput:mt,StyleInput:vt,TitleInput:Vt,ExtendFromInput:Rt,CoverFromInput:Zt,UploadAudio:Ze,FontAwesomeIcon:B,ElButton:Z,Consumption:Se},emits:["generate"],computed:{config(){return this.$store.state.suno?.config},consumption(){return Ie(this.config,this.service?.cost)},service(){return this.$store.state.suno?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Qt={class:"flex flex-col h-full"},xt={class:"flex-1 overflow-y-auto p-[15px]"},eo={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function to(e,t,l,n,u,r){const c=a("type-selector"),h=a("upload-audio"),_=a("prompt-input"),f=a("lyric-input"),C=a("style-input"),V=a("title-input"),w=a("extend-from-input"),A=a("cover-from-input"),R=a("consumption"),U=a("font-awesome-icon"),z=a("el-button");return i(),d("div",Qt,[s("div",xt,[o(c,{class:"mb-4"}),o(h,{class:"mb-4"}),e.config?.custom?g("",!0):(i(),v(_,{key:0,class:"mb-4"})),e.config?.custom&&!e.config.instrumental?(i(),v(f,{key:1,class:"mb-4"})):g("",!0),e.config?.custom?(i(),v(C,{key:2,class:"mb-4"})):g("",!0),e.config?.custom?(i(),v(V,{key:3,class:"mb-4"})):g("",!0),e.config?.action==="extend"?(i(),v(w,{key:4,class:"mb-4"})):g("",!0),e.config?.action==="cover"?(i(),v(A,{key:5,class:"mb-4"})):g("",!0)]),s("div",eo,[o(R,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.action!=="extend"?(i(),v(z,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[o(U,{icon:"fa-solid fa-magic",class:"mr-2"}),I(" "+m(e.$t("suno.button.generate")),1)]),_:1},8,["onClick"])):(i(),v(z,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[o(U,{icon:"fa-solid fa-magic",class:"mr-2"}),I(" "+m(e.$t("suno.button.extend")),1)]),_:1},8,["onClick"]))])])}const oo=b(Jt,[["render",to],["__scopeId","data-v-8c98e5e5"]]),so="https://webhook.acedata.cloud/suno",no=y({name:"TaskPreview",components:{ElImage:K,ElIcon:W,ElTooltip:fe,FontAwesomeIcon:B,VideoPlay:H,VideoPause:Y,ElDropdown:_e,ElDropdownMenu:he,ElDropdownItem:me,Loading:oe},props:{modelValue:{type:Object,required:!0}},data(){return{isFetchingVideoUrl:!1}},computed:{loading(){return this.$store.state.suno?.status?.getApplications===L.Request},credential(){return this.$store.state.suno.credential},config(){return this.$store.state.suno.config},task(){return this.$store.state.suno?.tasks},audios(){const e=this.modelValue?.response?.data??[],t=this.modelValue?.request?.action;return t?e.map(l=>({...l,action:t})):e},application(){return this.$store.state.suno?.application},active(){return this.$store.state.suno?.tasks?.active}},methods:{useFormatDuring:G,onPlay(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.suno?.audio?.id!==e.id&&this.onPlay({...e,progress:0})},onExtend(e,t){e.stopPropagation(),console.log("on extend"),console.debug("set config",t),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:t.model,custom:!0,instrumental:!1,style:t.style,action:"extend",audio:t,audio_id:t.id,continue_at:t.duration})},onDownload(e,t){e&&e.stopPropagation(),console.log("on download",t);const n=new URL(t).pathname,u=n.substring(n.lastIndexOf("/")+1);console.log("on preview",u),fetch(t).then(r=>r.blob()).then(r=>{se.saveAs(r,u)})},async handleVideoDownload(e){if(e.video_url){this.onDownload(null,e.video_url);return}if(!this.isFetchingVideoUrl)try{this.isFetchingVideoUrl=!0;const t=await this.fetchVideoUrlFromApi(e?.id);console.log(`get videoUrl: ${t}`),e.video_url=t,this.onDownload(null,t)}catch(t){console.error("get videoUrl failed:",t),k.error(this.$t("suno.message.getVideoUrlFailed"))}finally{this.isFetchingVideoUrl=!1}},async fetchVideoUrlFromApi(e){return new Promise((t,l)=>{const n={audio_id:e},u=this.credential?.token;if(!u){console.error("no token specified"),l(new Error("No token specified"));return}q.mp4(n,{token:u}).then(r=>{const c=r.data?.data?.video_url;c?t(c):l(new Error("Video URL not found in response"))}).catch(r=>{l(r)})})},onPreview(e,t){e.stopPropagation(),console.log("on preview",t),window.open(t,"_blank")},async onGetStems(e){await this.onGenerateAudioUrl("stems",e)},onCover(e){console.log("on cover"),console.debug("set config",e),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:e.model,custom:!0,instrumental:!1,style:e.style,action:"cover",audio:e,audio_id:e.id})},async onConcatMusic(e){await this.onGenerateAudioUrl("concat",e)},async onGenerateAudioUrl(e,t){const l={action:e,audio_id:t,callback_url:so},n=this.credential?.token;if(!n){console.error("no token specified");return}k.info(this.$t("suno.message.startingTask")),q.audio(l,{token:n}).then(()=>{k.success(this.$t("suno.message.startTaskSuccess"))}).catch(u=>{k.error(u?.response?.data?.error?.message||this.$t("suno.message.startTaskFailed"))}).finally(async()=>{await this.onGetTasks(),await this.onScrollDown()})},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".tasks");e&&(e.scrollTop=e.scrollHeight)},1e3)},async onGetTasks(){if(this.loading){console.debug("loading");return}await this.$store.dispatch("suno/getTasks",{limit:30,offset:0})}}}),io={class:"task"},ao=["onClick"],lo={class:"left"},ro=["onClick"],co=["onClick"],uo={key:2,class:"duration"},po={class:"info"},mo={class:"title"},ho={class:"style"},_o={class:"right"},fo={class:"el-dropdown-link"},$o={class:"flex items-center min-w-[120px]"},go={class:"el-dropdown-link"};function vo(e,t,l,n,u,r){const c=a("el-image"),h=a("video-pause"),_=a("el-icon"),f=a("video-play"),C=a("font-awesome-icon"),V=a("el-tooltip"),w=a("Loading"),A=a("el-dropdown-item"),R=a("el-dropdown-menu"),U=a("el-dropdown"),z=J("loading");return i(),d("div",io,[(i(!0),d(j,null,O(e.audios,$=>(i(),d("div",{key:$.id,class:"audio",onClick:T(P=>e.onClick($),["stop"])},[X((i(),d("div",lo,[o(c,{src:$?.image_url,class:"cover",fit:"cover",lazy:""},null,8,["src"]),$?.audio_url&&e.$store.state?.suno?.audio?.id===$.id&&e.$store.state?.suno?.audio?.state==="playing"?(i(),d("div",{key:0,class:"overlay",onClick:T(P=>e.onPause($),["stop"])},[o(_,null,{default:p(()=>[o(h)]),_:1})],8,ro)):g("",!0),$?.audio_url&&(e.$store.state?.suno?.audio?.id!==$.id||e.$store.state?.suno?.audio?.id===$.id&&e.$store.state?.suno?.audio?.state==="paused")?(i(),d("div",{key:1,class:"overlay",onClick:T(P=>e.onPlay($),["stop"])},[o(_,null,{default:p(()=>[o(f)]),_:1})],8,co)):g("",!0),$?.duration?(i(),d("div",uo,m(e.useFormatDuring($?.duration)),1)):g("",!0)])),[[z,!$?.audio_url]]),s("div",po,[s("h2",mo,m($?.title),1),s("p",ho,m($?.style),1)]),s("div",_o,[o(U,null,{dropdown:p(()=>[o(R,null,{default:p(()=>[o(A,{disabled:e.isFetchingVideoUrl,onClick:P=>e.handleVideoDownload($)},{default:p(()=>[s("div",$o,[e.isFetchingVideoUrl?(i(),v(_,{key:0,class:"is-loading mr-2"},{default:p(()=>[o(w)]),_:1})):g("",!0),s("span",null,m(e.$t("suno.button.download_video")),1)])]),_:2},1032,["disabled","onClick"]),$?.audio_url?(i(),v(A,{key:0,onClick:T(P=>e.onDownload(P,$?.audio_url),["stop"])},{default:p(()=>[I(m(e.$t("suno.button.download_audio")),1)]),_:2},1032,["onClick"])):g("",!0)]),_:2},1024)]),default:p(()=>[s("span",fo,[o(V,{effect:"dark",content:e.$t("suno.button.download"),placement:"top"},{default:p(()=>[$?.audio_url||$?.video_url?(i(),v(C,{key:0,icon:"fa-solid fa-download",class:"icon icon-download"})):g("",!0)]),_:2},1032,["content"])])]),_:2},1024),o(U,null,{dropdown:p(()=>[o(R,null,{default:p(()=>[$?.audio_url?(i(),v(A,{key:0,onClick:T(P=>e.onExtend(P,$),["stop"])},{default:p(()=>[I(m(e.$t("suno.button.extend")),1)]),_:2},1032,["onClick"])):g("",!0),$.id?(i(),v(A,{key:1,onClick:T(P=>e.onGetStems($.id),["stop"])},{default:p(()=>[I(m(e.$t("suno.button.get_stems")),1)]),_:2},1032,["onClick"])):g("",!0),o(A,{onClick:T(P=>e.onCover($),["stop"])},{default:p(()=>[I(m(e.$t("suno.button.cover_music")),1)]),_:2},1032,["onClick"]),$?.id&&$?.action==="extend"?(i(),v(A,{key:2,onClick:T(P=>e.onConcatMusic($?.id),["stop"])},{default:p(()=>[I(m(e.$t("suno.button.concat_music")),1)]),_:2},1032,["onClick"])):g("",!0)]),_:2},1024)]),default:p(()=>[s("span",go,[o(V,{effect:"dark",content:e.$t("suno.button.more"),placement:"top"},{default:p(()=>[$?.audio_url||$?.video_url?(i(),v(C,{key:0,icon:"fa-solid fa-ellipsis",class:"icon icon-ellipsis"})):g("",!0)]),_:2},1032,["content"])])]),_:2},1024)])],8,ao))),128))])}const yo=b(no,[["render",vo]]),ko={class:"player-slider"},bo=y({__name:"PlayerSlider",setup(e){const t=D(),l=E({get:()=>t.state.suno?.audio?.progress,set:c=>t.commit("suno/setAudio",{...t.state.suno.audio,progress:c})}),n=E({get:()=>t.state.suno?.audio?.duration,set:c=>t.commit("suno/setAudio",{...t.state.suno.audio,duration:c})}),u=()=>{},r=c=>t.dispatch("suno/setAudio",{...t.state.suno.audio,progress:c});return(c,h)=>(i(),d("div",ko,[o(S(te),{modelValue:l.value,"onUpdate:modelValue":h[0]||(h[0]=_=>l.value=_),"show-tooltip":!1,min:0,max:n.value,onChange:r,onInput:u},null,8,["modelValue","max"])]))}}),wo="/assets/disk-XFRmVAfp.png",Co={class:"flex player-song"},Vo=["src"],Ao={class:"ml-2 text-xs flex flex-col justify-between"},Po={class:"w-52 2xl:w-96 cursor-pointer truncate"},So={class:"flex"},To={class:"ml-2 text-dc"},Io=y({__name:"PlayerSong",setup(e){const t=D(),l=E({get:()=>t.state.suno.audio,set:n=>t.commit("suno/setAudio",n)});return ke(l,(n,u)=>{if(n?.audio_url!==u?.audio_url){console.log("audio changed",n),n.object&&(console.log("111",n.object),n.object.pause(),delete n.object);const r=new Audio(n.audio_url);n.state==="playing"?r.play():r.pause(),r.addEventListener("loadedmetadata",()=>{r.currentTime=0,r.addEventListener("timeupdate",()=>{t.commit("suno/setAudio",{...t.state.suno.audio,progress:r.currentTime})})}),t.commit("suno/setAudio",{...t.state.suno.audio,object:r})}else if(n?.progress!==u?.progress&&Math.abs(n.progress-n.object.currentTime)>2){console.log("progress changed",n.progress);const r=t.state.suno.audio;r.object&&(r.object.currentTime=r.progress)}else n?.state!==u?.state&&(console.log("state changed",n.state),n.object&&(n.state==="playing"?n.object.play():n.object.pause()));n?.volume!==u?.volume&&(console.log("volume changed",n.volume),n.object&&(n.object.volume=n.volume/100))}),(n,u)=>(i(),d("div",Co,[s("img",{alt:"",class:"w-11 h-11 rounded",src:l.value?.image_url||S(wo)},null,8,Vo),s("div",Ao,[s("div",Po,[s("div",So,[s("span",null,m(l.value?.title||"Music"),1),s("span",To,"- "+m(l.value?.style||"SmallRuralDog"),1)])])])]))}}),Eo={class:"flex justify-end items-center gap-x-2.5"},Uo={class:"text-xs"},Lo=y({__name:"PlayerAction",setup(e){const t=D(),l=E({get:()=>t.state.suno?.audio?.progress,set:u=>t.commit("suno/setAudio",{...t.state.suno.audio,progress:u})}),n=E({get:()=>t.state.suno?.audio?.duration,set:u=>t.commit("suno/setAudio",{...t.state.suno.audio,duration:u})});return(u,r)=>(i(),d("div",Eo,[s("span",Uo,m(S(G)(l.value))+" / "+m(S(G)(n.value)),1)]))}}),x=y({__name:"IconPark",props:{icon:{},theme:{},size:{},spin:{type:Boolean},fill:{},strokeLinecap:{},strokeLinejoin:{},strokeWidth:{}},setup(e){return(t,l)=>(i(),v(be(t.icon),{theme:t.theme,size:t.size,spin:t.spin,fill:t.fill,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,"stroke-width":t.strokeWidth},null,8,["theme","size","spin","fill","stroke-linecap","stroke-linejoin","stroke-width"]))}}),jo={class:"player-volume flex flex-col items-center pt-2"},Go={class:"text-sm mt-3"},Do=y({__name:"PlayerVolumeSlider",setup(e){const t=D(),l=E({get:()=>t.state.suno.audio?.volume,set:r=>t.commit("suno/setAudio",{...t.state.suno.audio,volume:r})}),n=E({get:()=>t.state.suno.audio?.muted,set:r=>t.commit("suno/setAudio",{...t.state.suno.audio,muted:r})}),u=r=>t.dispatch("suno/setVolume",r);return(r,c)=>(i(),d("div",jo,[o(S(te),{modelValue:l.value,"onUpdate:modelValue":c[0]||(c[0]=h=>l.value=h),vertical:"",height:"100px","show-tooltip":!1,max:100,min:0,size:"small",disabled:n.value,onInput:u},null,8,["modelValue","disabled"]),s("div",Go,m(l.value),1)]))}}),Fo={class:"flex items-center justify-center gap-x-3"},Ro=y({__name:"PlayerController",setup(e){const t=D(),l=()=>t.dispatch("suno/setAudio",{...t.state.suno.audio,state:t.state.suno.audio.state==="playing"?"paused":"playing"}),n=E(()=>t.state.suno.audio);return(u,r)=>(i(),d("div",Fo,[o(x,{icon:n.value?.state==="playing"?S(ne):S(ie),size:"45",theme:"filled",class:"text-[var(--el-color-primary)] cursor-pointer",onClick:l},null,8,["icon"]),o(S($e),{placement:"top",width:"50px",trigger:"click"},{reference:p(()=>[o(x,{icon:S(ae),size:"20","stroke-width":2,class:"cursor-pointer"},null,8,["icon"])]),default:p(()=>[o(Do)]),_:1})]))}}),zo={class:"flex flex-col items-stretch h-20"},Mo={class:"flex grow px-5 items-center"},Oo={class:"flex-1"},qo={class:"flex-1"},Bo={class:"flex-1"},No=y({__name:"Player",setup(e){return(t,l)=>(i(),d("div",zo,[o(bo),s("div",Mo,[s("div",Oo,[o(Io)]),s("div",qo,[o(Ro)]),s("div",Bo,[o(Lo)])])]))}}),Wo=y({name:"RecentPanel",components:{ElSkeletonItem:ve,ElSkeleton:ge,TaskPreview:yo,Player:No,NoTasks:Te,ScrollList:Pe},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.suno?.tasks,items:this.$store.state.suno?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ko={key:0,class:"tasks"},Xo={class:"left w-[70px] p-[10px] flex items-center"},Yo={class:"main w-[calc(100%-70px)] flex-1 p-[10px]"},Ho={key:2,class:"w-full flex-1 flex items-center justify-center"},Zo={class:"h-20"};function Jo(e,t,l,n,u,r){const c=a("el-skeleton-item"),h=a("el-skeleton"),_=a("task-preview"),f=a("scroll-list"),C=a("no-tasks"),V=a("player");return i(),d(j,null,[e.tasks?.items===void 0?(i(),d("div",Ko,[(i(),d(j,null,O(3,w=>s("div",{key:w,class:"flex"},[s("div",Xo,[o(h,{animated:""},{template:p(()=>[o(c,{variant:"image",class:"avatar w-[50px] h-[50px]"})]),_:1})]),s("div",Yo,[o(h,{animated:""},{template:p(()=>[o(c,{variant:"p",class:"w-[200px] h-[15px] mb-[5px] mt-[10px]"}),o(c,{variant:"text"})]),_:1})])])),64))])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(i(),v(f,{key:1,ref:"scrollList",class:"flex-1 w-full overflow-y-auto tasks p-2",loading:e.loading,onReachTop:t[0]||(t[0]=w=>e.$emit("reach-top"))},{default:p(()=>[(i(!0),d(j,null,O(e.tasks?.items,(w,A)=>(i(),v(_,{key:A,"model-value":w,class:"preview"},null,8,["model-value"]))),128))]),_:1},8,["loading"])):g("",!0),e.tasks?.items?.length===0?(i(),d("div",Ho,[o(C)])):g("",!0),X(s("div",Zo,[o(V)],512),[[we,!!e.$store?.state?.suno?.audio?.object]])],64)}const Qo=b(Wo,[["render",Jo]]),xo=y({name:"TaskPreview",components:{IconPicture:le,ElImage:K,ElAvatar:ye,ElIcon:W},computed:{audio(){return this.$store.state.suno?.audio}}}),es={key:0,class:"size-full overflow-hidden"},ts={class:"relative h-[300px]"},os={class:"flex items-center justify-center size-full bg-[var(--el-bg-color)]"},ss={class:"absolute bottom-0 left-0 right-0 m-0 p-4 text-white z-10 bg-gradient-to-t from-black/70 to-transparent"},ns={class:"p-4"},is={class:"flex items-center font-bold mb-2"},as={class:"text-[var(--el-text-color-regular)] mb-2"},ls={class:"text-xs text-[var(--el-text-color-regular)]"},rs={class:"mt-4 text-sm leading-[25px] whitespace-pre-wrap"},cs={key:1,class:"w-full h-full"};function us(e,t,l,n,u,r){const c=a("icon-picture"),h=a("el-icon"),_=a("el-image"),f=a("el-avatar");return e.audio?.object?(i(),d("div",es,[s("div",ts,[o(_,{src:e.audio.image_url,fit:"cover",class:"size-full"},{error:p(()=>[s("div",os,[o(h,{class:"text-3xl"},{default:p(()=>[o(c)]),_:1})])]),_:1},8,["src"]),s("h2",ss,m(e.audio?.title),1)]),s("div",ns,[s("div",is,[o(f,{size:30,src:e.audio?.image_url,class:"mr-2"},null,8,["src"]),s("span",null,m(e.audio?.title),1)]),s("p",as,m(e.audio?.style),1),s("p",ls,m(e.$dayjs.format(e.audio?.created_at)),1),s("div",rs,[s("p",null,m(e.audio?.lyric),1)])])])):(i(),d("div",cs))}const ds=b(xo,[["render",us]]),ps="https://webhook.acedata.cloud/suno",ms=y({name:"SunoIndex",components:{Layout:Re,ConfigPanel:oo,RecentPanel:Qo,PreviewPanel:ds},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.suno?.status?.getApplications===L.Request},tasksLoading(){return this.$store.state.suno?.status?.getTasks===L.Request||this.fetchingTasks},service(){return this.$store.state.suno.service},credential(){return this.$store.state.suno.credential},config(){return this.$store.state.suno.config},initializing(){return this.$store.state.suno.status.getApplications===L.Request},needApply(){return this.$store.state.suno.status.getApplications===L.Success&&!this.application},application(){return this.$store.state.suno.application},tasks(){return this.$store.state.suno.tasks},applications(){return this.$store.state.suno.applications}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Ee({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("suno/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplications"),await this.$store.dispatch("suno/getApplications"),console.debug("end onGetApplications"),await this.onGetTasks()},onApply(){Ve.create({application:this.application}).then(({data:e})=>{this.application=e,k.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===Ae&&k.error(this.$t("application.message.alreadyApplied"))})},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:l,createdAtMax:n}=e||{};console.debug("limit",t,"createdAtMin",l,"createdAtMax",n),this.fetchingTasks=!0;try{await this.$store.dispatch("suno/getTasks",{limit:t,createdAtMin:l,createdAtMax:n})}finally{this.fetchingTasks=!1}},async onGenerateAudio(){const e={...this.config,callback_url:ps},t=this.credential?.token;if(!t){console.error("no token specified");return}k.info(this.$t("suno.message.startingTask")),q.audio(e,{token:t}).then(()=>{k.success(this.$t("suno.message.startTaskSuccess"))}).catch(l=>{k.error(l?.response?.data?.error?.message||this.$t("suno.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function hs(e,t,l,n,u,r){const c=a("config-panel"),h=a("recent-panel"),_=a("preview-panel"),f=a("layout");return i(),v(f,null,{config:p(()=>[o(c,{onGenerate:e.onGenerateAudio},null,8,["onGenerate"])]),result:p(()=>[o(h,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),preview:p(()=>[o(_)]),_:1})}const Ps=b(ms,[["render",hs],["__scopeId","data-v-d1296b1a"]]);export{Ps as default};
@@ -1 +0,0 @@
1
- import{C as I}from"./CopyToClipboard-DUBbK93t.js";import{aQ as E,aR as T,aS as F,_ as N}from"./index-CFwKXwDS.js";import{d as P,a as y,s as O}from"./distribution-BeqWAQIH.js";import{ae as B,bG as M}from"./vendor-Bf_m-mDd.js";import{g as R}from"./price-DkXHaDUs.js";import{G as q,t as z,u as U,n as V,s as G,m as A,o as H,w as Q,x as W,O as Y}from"./vendor-element-plus-DMm68DKM.js";import{d as Z,R as r,S as o,l as i,al as a,a as e,Z as s,c as p,Y as _,W as k,o as n}from"./vendor-vue-Bb02XvLT.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-katex-DHBGsivc.js";const j=Z({name:"ConsoleDistributionList",components:{CopyToClipboard:I,FontAwesomeIcon:M,QrCode:B,ElProgress:Y,ElRow:W,ElCol:Q,ElButton:H,ElDivider:A,ElCard:G,ElTooltip:V,ElTable:U,ElTableColumn:z,ElSkeleton:q},data(){return{invitees:[],inviteesCount:void 0,distributionLevels:[],distributionLink:void 0,distributionStatus:void 0,loading:!1}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")},distributionLevelMap(){let t={};return this.distributionLevels.forEach(l=>{t[l.level]=l}),t}},watch:{page:{handler(){this.onFetchData()}}},async mounted(){this.onFetchData(),this.onGenerateDistributionLink()},methods:{getPriceString:R,goHistory(){this.$router.push({name:F})},goInvitees(){this.$router.push({name:T})},onPageChange(t){this.$router.push({name:this.$route.name?.toString(),query:{page:t}})},getPercentageForNextLevel(){const t=this.distributionLevelMap[this.distributionStatus?.level?.level]?.threshold,l=this.distributionLevelMap[this.distributionStatus?.level?.level+1]?.threshold;return Math.floor((this.distributionStatus?.price-t)/(l-t)*100)},getDeltaForNextLevel(){const t=this.distributionLevelMap[this.distributionStatus?.level?.level+1]?.threshold;return Math.floor(t-this.distributionStatus?.price)},async onFetchData(){this.loading=!0,await y.initialize(),Promise.all([this.onFetchDistributionStatus(),this.onFetchDistributionLevels(),this.onFetchInvitees()]).finally(()=>{this.loading=!1})},async onGenerateDistributionLink(){const l=`${window.location.origin}?inviter_id=${this.$store.getters.user.id}`;try{const v=(await O.create(l))?.data?.data?.url;this.distributionLink=(v||l).replace("surl.id","share.acedata.cloud")}catch{this.distributionLink=l}},async onFetchDistributionStatus(){const{data:t}=await y.getAll({user_id:this.$store.getters.user.id});t.items&&t.items.length>0&&(this.distributionStatus=t.items[0])},async onFetchDistributionLevels(){const{data:t}=await P.getAll({limit:20,user_id:this.$store.getters.user.id});this.distributionLevels=t.items},async onFetchInvitees(){const{data:t}=await E.getInvitees({});this.invitees=t.items,this.inviteesCount=t.count}}}),J={class:"title"},K={key:1},X={class:"icon-wrapper"},x={class:"text-left"},tt={class:"description"},et={class:"value"},it={key:1},st={class:"icon-wrapper"},ot={class:"text-left"},nt={class:"description"},at={class:"value"},lt={key:1},rt={class:"icon-wrapper"},dt={class:"text-left"},ct={class:"description"},ut={class:"value"},pt={key:1},ht={class:"icon-wrapper"},_t={class:"text-left"},mt={class:"description"},bt={class:"value"},vt={key:1},ft={class:"title"},gt={class:"clear-both overflow-hidden"},kt={class:"float-left description"},wt={class:"float-right description"},$t={class:"description"},yt={class:"level"},Lt={class:"level"},St={class:"level"},Ct={key:1},Dt={class:"title"},It={class:"link-wrapper text-center"},Et=["href"],Tt={class:"qr-wrapper ml-auto mr-auto"},Ft={class:"mt-0"},Nt={class:"description"},Pt={class:"more"};function Ot(t,l,v,Bt,Mt,Rt){const d=a("el-col"),m=a("el-row"),c=a("el-skeleton"),b=a("font-awesome-icon"),f=a("el-button"),u=a("el-card"),w=a("el-tooltip"),L=a("el-progress"),$=a("el-divider"),g=a("el-table-column"),S=a("el-table"),C=a("copy-to-clipboard"),D=a("qr-code");return n(),r(m,{class:"panel"},{default:o(()=>[i(d,{span:24},{default:o(()=>[i(m,null,{default:o(()=>[i(d,{span:24},{default:o(()=>[e("h2",J,s(t.$t("common.title.distribution")),1)]),_:1})]),_:1}),i(m,{gutter:15},{default:o(()=>[i(d,{md:6,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"item-mini mb-4"},{default:o(()=>[t.loading?(n(),r(c,{key:0})):(n(),p("div",K,[e("div",X,[i(b,{icon:"fa-solid fa-wallet",class:"icon"})]),e("div",x,[e("p",tt,s(t.$t("distribution.title.price")),1),e("p",et,s(t.getPriceString({value:t.distributionStatus?.price})),1)]),i(f,{type:"primary",round:"",size:"small",class:"btn",onClick:t.goHistory},{default:o(()=>[_(s(t.$t("distribution.button.detail")),1)]),_:1},8,["onClick"])]))]),_:1})]),_:1}),i(d,{md:6,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"item-mini mb-4"},{default:o(()=>[t.loading?(n(),r(c,{key:0})):(n(),p("div",it,[e("div",st,[i(b,{icon:"fa-solid fa-coins",class:"icon"})]),e("div",ot,[e("p",nt,s(t.$t("distribution.title.reward")),1),e("p",at,s(t.getPriceString({value:t.distributionStatus?.reward})),1)]),i(w,{effect:"dark",content:t.$t("distribution.message.developingWithDrawal"),placement:"top"},{default:o(()=>[i(f,{type:"primary",round:"",size:"small",class:"btn"},{default:o(()=>[_(s(t.$t("distribution.button.withdrawal")),1)]),_:1})]),_:1},8,["content"])]))]),_:1})]),_:1}),i(d,{md:6,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"item-mini mb-4"},{default:o(()=>[t.loading?(n(),r(c,{key:0})):(n(),p("div",lt,[e("div",rt,[i(b,{icon:"fa-solid fa-percent",class:"icon"})]),e("div",dt,[e("p",ct,s(t.$t("distribution.title.percentage")),1),e("p",ut,s(t.distributionStatus?.level?.percentage)+"%",1)])]))]),_:1})]),_:1}),i(d,{md:6,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"item-mini mb-4"},{default:o(()=>[t.loading?(n(),r(c,{key:0})):(n(),p("div",pt,[e("div",ht,[i(b,{icon:"fa-regular fa-user",class:"icon"})]),e("div",_t,[e("p",mt,s(t.$t("distribution.title.inviteesCount")),1),e("p",bt,s(t.inviteesCount),1)]),i(f,{type:"primary",round:"",size:"small",class:"btn",onClick:t.goInvitees},{default:o(()=>[_(s(t.$t("distribution.button.detail")),1)]),_:1},8,["onClick"])]))]),_:1})]),_:1})]),_:1}),i(m,{gutter:15},{default:o(()=>[i(d,{md:12,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"level-info mb-4"},{default:o(()=>[t.loading?(n(),r(c,{key:0})):(n(),p("div",vt,[e("h4",ft,s(t.$t("distribution.title.levelInfo")),1),e("div",gt,[e("div",kt,[e("p",null,s(t.$t("distribution.title.currentLevel"))+": L"+s(t.distributionStatus?.level?.level),1),e("p",null,s(t.$t("distribution.title.currentPercentage"))+": "+s(t.distributionLevelMap[t.distributionStatus?.level?.level]?.percentage)+"% ",1)]),e("div",wt,[e("p",null,s(t.$t("distribution.title.nextLevel"))+": L"+s(t.distributionStatus?.level?.level+1),1),e("p",null,s(t.$t("distribution.title.nextPercentage"))+": "+s(t.distributionLevelMap[t.distributionStatus?.level?.level+1]?.percentage)+"% ",1)])]),i(L,{"text-inside":!0,"stroke-width":20,percentage:t.getPercentageForNextLevel(),class:"mb-2"},null,8,["percentage"]),e("p",$t,s(t.$t("distribution.message.deltaPriceForNextLevel"))+": $"+s(t.getDeltaForNextLevel()),1),i($),t.distributionLevels?(n(),r(S,{key:0,data:t.distributionLevels,stripe:""},{default:o(()=>[i(g,{label:t.$t("distribution.field.level")},{default:o(h=>[e("span",yt,"L"+s(h.row?.level),1)]),_:1},8,["label"]),i(g,{label:t.$t("distribution.field.threshold")},{default:o(h=>[e("span",Lt,"$"+s(h.row?.threshold),1)]),_:1},8,["label"]),i(g,{label:t.$t("distribution.field.percentage")},{default:o(h=>[e("span",St,s(h.row?.percentage)+"%",1)]),_:1},8,["label"])]),_:1},8,["data"])):k("",!0)]))]),_:1})]),_:1}),i(d,{md:12,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"distribution-info mb-4"},{default:o(()=>[t.loading?(n(),r(c,{key:0})):(n(),p("div",Ct,[e("h4",Dt,s(t.$t("distribution.title.distributionLink")),1),i($),e("div",It,[k("",!0),e("a",{href:t.distributionLink,class:"link"},s(t.distributionLink),9,Et),i(C,{content:t.distributionLink},null,8,["content"])]),e("div",Tt,[t.distributionLink?(n(),r(D,{key:0,value:t.distributionLink,size:180,margin:2,class:"block mb-2 ml-auto mr-auto",type:"image/png",color:{dark:"#000000",light:"#ffffff"}},null,8,["value"])):k("",!0),e("p",Ft,s(t.$t("distribution.message.distributionQrDescription")),1)]),e("p",Nt,[_(s(t.$t("distribution.message.distributionLinkDescription"))+" ",1),e("span",Pt,[i(w,{effect:"dark",content:t.$t("distribution.message.distributionLinkDescription2"),placement:"top"},{default:o(()=>[_(s(t.$t("distribution.message.technicalDetail")),1)]),_:1},8,["content"])])])]))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const jt=N(j,[["render",Ot],["__scopeId","data-v-a8befdf2"]]);export{jt as default};
@@ -1 +0,0 @@
1
- import{bG as q}from"./vendor-Bf_m-mDd.js";import{o as U,N as z,p as H,q as K,r as I,J as B,K as G,n as x,B as J,i as Q}from"./vendor-element-plus-DMm68DKM.js";import{d as k,c as l,a as c,l as a,P,S as $,al as s,o as n,Z as o,Y as u,F as V,ai as N,R as A,W as f,V as C,a1 as Y}from"./vendor-vue-Bb02XvLT.js";import{_ as y,a5 as Z,bP as X,bQ as ee,bR as T,bS as S,bT as M,bU as j,bV as D,bW as te,ak as ae,ah as F}from"./index-CFwKXwDS.js";import{I as O,S as oe}from"./ScrollList-DZkNnK0d.js";import{I as W}from"./ImagePreview-16UTA4Ig.js";import{C as ne,N as se}from"./NoTasks-itMtwFM2.js";import{a as le}from"./price-DkXHaDUs.js";import{C as re}from"./CopyToClipboard-DUBbK93t.js";import{I as ie}from"./ImageWrapper-mb1KsHr6.js";import{B as ce}from"./BotPlaceholder-BL8MMNSZ.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";const ue=k({name:"LayoutNanobanana",components:{ElDrawer:z,ElButton:U,FontAwesomeIcon:q},data(){return{drawer:!1}}}),de={class:"main flex flex-row flex-1"},me={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},pe={class:"result h-full p-[15px] flex-1 flex flex-col"};function fe(e,t,b,r,d,h){const _=s("font-awesome-icon"),g=s("el-button"),m=s("el-drawer");return n(),l("div",de,[c("div",me,[P(e.$slots,"config",{},void 0,!0)]),c("div",pe,[P(e.$slots,"result",{},void 0,!0)]),a(g,{circle:"",class:"menu",onClick:t[0]||(t[0]=p=>e.drawer=!0)},{default:$(()=>[a(_,{icon:"fa-solid fa-magic"})]),_:1}),a(m,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:$(()=>[P(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const he=y(ue,[["render",fe],["__scopeId","data-v-3794959b"]]),_e="",ge=k({name:"PromptInput",components:{ElInput:H,InfoIcon:O},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=_e)}}),be={class:"field"},$e={class:"box"},ve={class:"title font-bold"};function ke(e,t,b,r,d,h){const _=s("info-icon"),g=s("el-input");return n(),l("div",be,[c("div",$e,[c("h2",ve,o(e.$t("nanobanana.name.prompt")),1),a(_,{content:e.$t("nanobanana.description.prompt"),class:"info"},null,8,["content"])]),a(g,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=m=>e.prompt=m),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("nanobanana.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const ye=y(ge,[["render",ke],["__scopeId","data-v-2331e197"]]),we=k({name:"ImageUrlsInput",components:{ElUpload:K,ElButton:U,InfoIcon:O,ImagePreview:W,FontAwesomeIcon:q},data(){return{fileList:[],uploadUrl:Z()+"/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(d=>!d?.response?.file_url);this.fileList=r.length?r:[];return}const t=[];e.forEach(r=>{const d=this.fileList.find(h=>h?.response?.file_url===r||h?.url===r);d?t.push(d):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(h=>h===r||h?.url===r?.url||h?.response?.file_url===r?.response?.file_url)||t.push(r)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){I.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){I.error(this.$t("nanobanana.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ve={class:"field flex items-center justify-between"},Ae={class:"title font-bold text-[14px] mb-[10px]"},Ne={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Re={class:"controls flex items-center"},Ie={class:"file-list flex flex-wrap gap-[10px]"};function Le(e,t,b,r,d,h){const _=s("font-awesome-icon"),g=s("el-button"),m=s("el-upload"),p=s("info-icon"),w=s("image-preview");return n(),l(V,null,[c("div",Ve,[c("h2",Ae,o(e.$t("nanobanana.name.imageUrls")),1),c("div",Ne,[c("div",Re,[a(m,{"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:$(()=>[a(g,{size:"small",type:"primary",round:""},{default:$(()=>[a(_,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+o(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),a(p,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",Ie,[(n(!0),l(V,null,N(e.fileList,(i,v)=>(n(),A(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:R=>e.onRemovePreview(v,i)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Ee=y(we,[["render",Le]]),Se=k({name:"AspectRatioSelector",components:{ElSelect:G,ElOption:B},data(){return{options:["1:1","3:2","2:3","16:9","9:16","4:3","3:4"]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e);const t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit("nanobanana/setConfig",t)}}}}),Te={class:"field"},qe={class:"title font-bold"};function Ue(e,t,b,r,d,h){const _=s("el-option"),g=s("el-select");return n(),l("div",Te,[c("h2",qe,o(e.$t("nanobanana.name.aspectRatio")),1),a(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value",clearable:"",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(V,null,N(e.options,m=>(n(),A(_,{key:m,label:m,value:m},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ce=y(Se,[["render",Ue],["__scopeId","data-v-67f08a08"]]),Oe=k({name:"NanobananaModelSelector",components:{ElSelect:G,ElOption:B,InfoIcon:O},data(){return{options:[{value:ee,label:this.$t("nanobanana.model.nanoBanana")},{value:T,label:this.$t("nanobanana.model.nanoBananaPro")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t("nanobanana.description.model")}},mounted(){this.value||(this.value=X)}}),Pe={class:"field"},Be={class:"label"},Ge={class:"box"},Me={class:"title font-bold"};function je(e,t,b,r,d,h){const _=s("info-icon"),g=s("el-option"),m=s("el-select");return n(),l("div",Pe,[c("div",Be,[c("div",Ge,[c("h2",Me,o(e.$t("nanobanana.name.model")),1),a(_,{content:e.modelDescription,class:"info"},null,8,["content"])])]),a(m,{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(V,null,N(e.options,p=>(n(),A(g,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const De=y(Oe,[["render",je],["__scopeId","data-v-e279ee32"]]),Fe=k({name:"NanobananaResolutionSelector",components:{ElSelect:G,ElOption:B,InfoIcon:O},data(){return{cachedResolution:S,options:[{value:M,label:M},{value:j,label:j},{value:D,label:D}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model===T}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||(this.value=this.cachedResolution||S):(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=S),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),We={class:"field"},ze={class:"label"},He={class:"box"},Ke={class:"title font-bold"};function xe(e,t,b,r,d,h){const _=s("info-icon"),g=s("el-option"),m=s("el-select");return n(),l("div",We,[c("div",ze,[c("div",He,[c("h2",Ke,o(e.$t("nanobanana.name.resolution")),1),a(_,{content:e.$t("nanobanana.description.resolutionProOnly"),class:"info"},null,8,["content"])])]),a(m,{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(V,null,N(e.options,p=>(n(),A(g,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const Je=y(Fe,[["render",xe],["__scopeId","data-v-05ae87bb"]]),Qe=k({name:"ConfigPanel",components:{ElButton:U,FontAwesomeIcon:q,PromptInput:ye,Consumption:ne,ImageUrlsInput:Ee,AspectRatioSelector:Ce,ModelSelector:De,ResolutionSelector:Je},emits:["generate"],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return le({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ye={class:"flex flex-col h-full"},Ze={class:"flex-1 overflow-y-auto p-[15px]"},Xe={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function et(e,t,b,r,d,h){const _=s("model-selector"),g=s("resolution-selector"),m=s("prompt-input"),p=s("aspect-ratio-selector"),w=s("image-urls-input"),i=s("consumption"),v=s("font-awesome-icon"),R=s("el-button");return n(),l("div",Ye,[c("div",Ze,[a(_,{class:"mb-4"}),a(g,{class:"mb-4"}),a(m,{class:"mb-4"}),a(p,{class:"mb-4"}),a(w,{class:"mb-4"})]),c("div",Xe,[a(i,{value:e.consumption,service:e.service},null,8,["value","service"]),a(R,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:$(()=>[a(v,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+o(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const tt=y(Qe,[["render",et]]),at=k({name:"TaskPreview",components:{ElImage:Q,CopyToClipboard:re,FontAwesomeIcon:q,ElAlert:J,ImageWrapper:ie,ElButton:U,ElTooltip:x,ImagePreview:W},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)}}}),ot={class:"preview"},nt={class:"left"},st={class:"main"},lt={class:"bot"},rt={class:"datetime"},it={class:"info"},ct={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},ut={key:1,class:"prompt mt-2"},dt={key:0},mt={key:0,class:C({content:!0,failed:!0})},pt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},ft={class:C({operations:!0,"mt-2":!0,"mb-2":!0})},ht={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},_t={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},kt={key:1,class:C({content:!0})},yt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Lt={key:2,class:C({content:!0})},Et={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},St={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Ct(e,t,b,r,d,h){const _=s("el-image"),g=s("image-preview"),m=s("image-wrapper"),p=s("el-button"),w=s("el-tooltip"),i=s("font-awesome-icon"),v=s("copy-to-clipboard"),R=s("el-alert");return n(),l("div",ot,[c("div",nt,[a(_,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),c("div",st,[c("div",lt,[u(o(e.$t("nanobanana.name.nanobananaBot"))+" ",1),c("span",rt,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",it,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(n(),l("div",ct,[(n(!0),l(V,null,N(e.modelValue?.request?.image_urls,(L,E)=>(n(),A(g,{key:E,url:L,name:`image-${E+1}`,closable:!1},null,8,["url","name"]))),128))])):f("",!0),e.modelValue?.request?.prompt?(n(),l("p",ut,[u(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?f("",!0):(n(),l("span",dt," - ("+o(e.$t("nanobanana.status.pending"))+") ",1))])):f("",!0)]),e.modelValue?.response?.success===!0?(n(),l("div",mt,[c("div",pt,[(n(!0),l(V,null,N(e.images,(L,E)=>(n(),A(m,{key:E,src:L?.image_url,"raw-src":L?.image_url},null,8,["src","raw-src"]))),128))]),c("div",ft,[a(w,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:$(()=>[a(p,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=Y(L=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:$(()=>[u(o(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),a(R,{closable:!1,class:"mt-2 success"},{default:$(()=>[e.modelValue?.request?.model?(n(),l("p",ht,[a(i,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):f("",!0),e.modelValue?.request?.resolution?(n(),l("p",_t,[a(i,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):f("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",gt,[a(i,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):f("",!0),e.modelValue?.request?.action?(n(),l("p",bt,[a(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):f("",!0),c("p",$t,[a(i,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),l("p",vt,[a(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),a(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):f("",!0)]),_:1})])):f("",!0),e.modelValue?.response?.success===!1?(n(),l("div",kt,[a(R,{closable:!1,class:"failure"},{template:$(()=>[a(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",yt,[a(i,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):f("",!0),e.modelValue?.request?.resolution?(n(),l("p",wt,[a(i,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):f("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Vt,[a(i,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):f("",!0),e.modelValue?.request?.action?(n(),l("p",At,[a(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):f("",!0),c("p",Nt,[a(i,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",Rt,[a(i,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),a(v,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),l("p",It,[a(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),a(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):f("",!0)]),_:1})])):f("",!0),!e.modelValue?.response||!e.modelValue?.response?.data?.[0]?.image_url?(n(),l("div",Lt,[a(R,{closable:!1,class:"info"},{template:$(()=>[a(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",Et,[a(i,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):f("",!0),e.modelValue?.request?.resolution?(n(),l("p",St,[a(i,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):f("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Tt,[a(i,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):f("",!0),e.modelValue?.request?.action?(n(),l("p",qt,[a(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):f("",!0),c("p",Ut,[a(i,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):f("",!0)])])}const Ot=y(at,[["render",Ct],["__scopeId","data-v-9e0f580a"]]),Pt=k({name:"RecentPanel",components:{TaskPreview:Ot,BotPlaceholder:ce,NoTasks:se,ScrollList:oe},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?.()}}}),Bt={key:0},Gt={key:2,class:"w-full h-full flex items-center justify-center"};function Mt(e,t,b,r,d,h){const _=s("bot-placeholder"),g=s("task-preview"),m=s("scroll-list"),p=s("no-tasks");return n(),l(V,null,[e.tasks?.items===void 0?(n(),l("div",Bt,[a(_)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),A(m,{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(V,null,N(e.tasks?.items,w=>(n(),A(g,{key:w.id,"model-value":w},null,8,["model-value"]))),128))]),_:1},8,["loading"])):f("",!0),e.tasks?.items?.length===0?(n(),l("div",Gt,[a(p)])):f("",!0)],64)}const jt=y(Pt,[["render",Mt]]),Dt="https://webhook.acedata.cloud/nanobanana",Ft=k({name:"NanobananaIndex",components:{ConfigPanel:tt,Layout:he,RecentPanel:jt},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===F.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=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 b=this.tasks?.items?.[0];if(!b?.created_at)return;const d=this.$refs.recentPanel?.getScrollElement?.(),h=d?.scrollHeight||0,_=d?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:b.created_at}),await this.$nextTick(),d){const g=d.scrollHeight;d.scrollTop=g-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:b,createdAtMax:r}=e||{};console.debug("limit",t,"createdAtMin",b,"createdAtMax",r),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:b,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!==T&&"resolution"in e&&delete e.resolution,e?.model===T&&!e?.resolution&&(e.resolution=S);const b={...e,action:t?"edit":"generate",callback_url:Dt},r=this.credential?.token;if(!r){console.error("no token specified");return}I.info(this.$t("nanobanana.message.startingTask")),te.generate(b,{token:r}).then(()=>{I.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(d=>{const h=d?.response?.data;h?.error?.code===ae?I.error(this.$t("nanobanana.message.usedUp")):I.error(this.$t("nanobanana.message.startTaskFailed")+(h?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Wt(e,t,b,r,d,h){const _=s("config-panel"),g=s("recent-panel"),m=s("layout");return n(),A(m,null,{config:$(()=>[a(_,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:$(()=>[a(g,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const la=y(Ft,[["render",Wt]]);export{la as default};
@@ -1 +0,0 @@
1
- import{bG as C}from"./vendor-Bf_m-mDd.js";import{o as V,N as R,J as A,K as B,q as M,r as S,p as j,n as D,B as q,i as O}from"./vendor-element-plus-DMm68DKM.js";import{d as k,c,a as i,l as t,P as E,S as u,al as o,o as a,Z as n,F as L,ai as U,R as v,Y as p,W as h,V as T,a1 as z}from"./vendor-vue-Bb02XvLT.js";import{_ as b,bK as F,a5 as N,bL as H,ak as K,ah as G}from"./index-CFwKXwDS.js";import{I as P,S as J}from"./ScrollList-DZkNnK0d.js";import{I as W}from"./ImagePreview-16UTA4Ig.js";import{C as Y,N as Z}from"./NoTasks-itMtwFM2.js";import{a as Q}from"./price-DkXHaDUs.js";import{C as X}from"./CopyToClipboard-DUBbK93t.js";import{V as x}from"./VideoPlayer-DMvGMBbk.js";import{B as ee}from"./BotPlaceholder-BL8MMNSZ.js";import{l as te}from"./pagination-dbPQoMuV.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";const oe=k({name:"LayoutHailuo",components:{ElDrawer:R,ElButton:V,FontAwesomeIcon:C},data(){return{drawer:!1}}}),se={class:"main flex flex-row flex-1"},ae={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},ne={class:"result h-full p-[15px] flex-1 flex flex-col"};function le(e,s,f,_,w,y){const d=o("font-awesome-icon"),m=o("el-button"),r=o("el-drawer");return a(),c("div",se,[i("div",ae,[E(e.$slots,"config",{},void 0,!0)]),i("div",ne,[E(e.$slots,"result",{},void 0,!0)]),t(m,{circle:"",class:"menu",onClick:s[0]||(s[0]=g=>e.drawer=!0)},{default:u(()=>[t(d,{icon:"fa-solid fa-magic"})]),_:1}),t(r,{modelValue:e.drawer,"onUpdate:modelValue":s[1]||(s[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"340px"},{default:u(()=>[E(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ie=b(oe,[["render",le],["__scopeId","data-v-096d9205"]]),re=k({name:"ModelSelector",components:{ElSelect:B,ElOption:A},data(){return{}},computed:{options(){return[{value:"minimax-t2v",label:this.$t("hailuo.button.model1")},{value:"minimax-i2v",label:this.$t("hailuo.button.model2")}]},value:{get(){return this.$store.state.hailuo?.config?.model},set(e){this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,model:e})}}},mounted(){this.value||(this.value=F)}}),ce={class:"field"},ue={class:"title font-bold"},de={class:"float-left"};function me(e,s,f,_,w,y){const d=o("el-option"),m=o("el-select");return a(),c("div",ce,[i("h2",ue,n(e.$t("hailuo.name.model")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=r=>e.value=r),class:"value",placeholder:e.$t("hailuo.placeholder.select"),clearable:""},{default:u(()=>[(a(!0),c(L,null,U(e.options,r=>(a(),v(d,{key:r.value,label:r.label,value:r.value},{default:u(()=>[i("span",de,n(r.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const pe=b(re,[["render",me],["__scopeId","data-v-30ff1e69"]]),he=k({name:"StartImageUrlInput",components:{ElUpload:M,ElButton:V,InfoIcon:P,ImagePreview:W},data(){return{fileList:[],uploadUrl:N()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.hailuo?.config?.first_image_url},set(){const e=this.urls?.[0];this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,first_image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){S.warning(this.$t("hailuo.message.uploadStartImageExceed"))},onError(){S.error(this.$t("hailuo.message.uploadStartImageError"))},async onRemove(){S.error(this.$t("hailuo.message.uploadStartImageError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,first_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),fe={class:"relative"},_e={class:"flex justify-between"},ge={class:"flex justify-start items-center"},$e={class:"text-sm font-bold"};function ve(e,s,f,_,w,y){const d=o("info-icon"),m=o("image-preview"),r=o("el-button"),g=o("el-upload");return a(),c("div",fe,[i("div",_e,[i("div",ge,[i("span",$e,n(e.$t("hailuo.name.startImageUrl")),1),t(d,{content:e.$t("hailuo.description.startImageUrl"),class:"info"},null,8,["content"])])]),t(g,{"file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=l=>e.fileList=l),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file","show-file-list":!0,limit:1,multiple:!1,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:l})=>[l.url&&l.percentage!==void 0?(a(),v(m,{key:0,url:l.url,name:l.name,percentage:l.percentage,onRemove:$=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):h("",!0)]),default:u(()=>[t(r,{size:"small",type:"primary",class:"btn btn-upload",round:""},{default:u(()=>[p(n(e.$t("hailuo.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])])}const ke=b(he,[["render",ve],["__scopeId","data-v-a906df80"]]),be="",we=k({name:"PromptInput",components:{ElInput:j,InfoIcon:P},computed:{prompt:{get(){return this.$store.state.hailuo?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=be)}}),ye={class:"field"},Se={class:"box"},Ve={class:"title font-bold"};function Te(e,s,f,_,w,y){const d=o("info-icon"),m=o("el-input");return a(),c("div",ye,[i("div",Se,[i("h2",Ve,n(e.$t("hailuo.name.prompt")),1),t(d,{content:e.$t("hailuo.description.prompt"),class:"info"},null,8,["content"])]),t(m,{modelValue:e.prompt,"onUpdate:modelValue":s[0]||(s[0]=r=>e.prompt=r),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("hailuo.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ie=b(we,[["render",Te],["__scopeId","data-v-c601bcba"]]),Ee=k({name:"PresetPanel",components:{ElButton:V,FontAwesomeIcon:C,PromptInput:Ie,StartImageUrlInput:ke,ModelSelector:pe,Consumption:Y},emits:["generate"],computed:{config(){return this.$store.state.hailuo?.config},consumption(){return Q(this.config,this.service?.cost)},service(){return this.$store.state.hailuo?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Le={class:"flex flex-col h-full"},Ce={class:"flex-1 overflow-y-auto p-[15px]"},Ge={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function Ue(e,s,f,_,w,y){const d=o("prompt-input"),m=o("model-selector"),r=o("start-image-url-input"),g=o("consumption"),l=o("font-awesome-icon"),$=o("el-button");return a(),c("div",Le,[i("div",Ce,[t(d,{class:"mb-4"}),t(m,{class:"mb-4"}),e.config?.model==="minimax-i2v"?(a(),v(r,{key:0,class:"mb-2"})):h("",!0)]),i("div",Ge,[t(g,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(a(),v($,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(l,{icon:"fa-solid fa-magic",class:"mr-2"}),p(" "+n(e.$t("hailuo.button.extend")),1)]),_:1},8,["onClick"])):(a(),v($,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(l,{icon:"fa-solid fa-magic",class:"mr-2"}),p(" "+n(e.$t("hailuo.button.generate")),1)]),_:1},8,["onClick"]))])])}const Pe=b(Ee,[["render",Ue]]),Re=k({name:"TaskPreview",components:{ElImage:O,CopyToClipboard:X,FontAwesomeIcon:C,ElAlert:q,VideoPlayer:x,ElTooltip:D,ElButton:V},props:{modelValue:{type:Object,required:!0}},computed:{application(){return this.$store.state.hailuo?.application},config(){return this.$store.state.hailuo?.config},video(){return this.modelValue?.response?.data?.[0]}},methods:{onDownload(e){console.debug("on download hailuo video",e),window.open(e,"_blank")}}}),Ae={class:"preview"},Be={class:"left"},Me={class:"main"},je={class:"bot"},De={class:"datetime"},qe={class:"info"},Oe={key:0,class:"prompt mt-2"},ze={key:0},Fe={key:1},Ne={key:0,class:T({content:!0,failed:!0})},He={key:0,class:"mb-4"},Ke={key:1,class:T({operations:!0,"mt-2":!0})},Je={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},We={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ye={key:1,class:T({content:!0})},Ze={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Qe={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Xe={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},xe={key:2,class:T({content:!0})},et={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function tt(e,s,f,_,w,y){const d=o("el-image"),m=o("video-player"),r=o("el-button"),g=o("el-tooltip"),l=o("font-awesome-icon"),$=o("copy-to-clipboard"),I=o("el-alert");return a(),c("div",Ae,[i("div",Be,[t(d,{src:"https://cdn.acedata.cloud/0qg4gp.png",class:"avatar"})]),i("div",Me,[i("div",je,[p(n(e.$t("hailuo.name.hailuoBot"))+" ",1),i("span",De,n(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",qe,[e.modelValue?.request?.prompt?(a(),c("p",Oe,[p(n(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?h("",!0):(a(),c("span",ze," - ("+n(e.$t("hailuo.status.pending"))+") ",1)),e.video?.state==="processing"||e.video?.state==="pending"||e.video?.state==="running"?(a(),c("span",Fe," - ("+n(e.$t("hailuo.status.processing"))+") ",1)):h("",!0)])):h("",!0)]),e.modelValue?.response?.success===!0?(a(),c("div",Ne,[e.video?.video_url?(a(),c("div",He,[t(m,{src:e.video?.video_url},null,8,["src"])])):h("",!0),e.video?(a(),c("div",Ke,[t(g,{class:"box-item",effect:"dark",content:e.$t("hailuo.message.downloadVideo"),placement:"top-start"},{default:u(()=>[e.video?.video_url?(a(),v(r,{key:0,type:"info",size:"small",class:"mb-2",onClick:s[0]||(s[0]=z(dt=>e.onDownload(e.video?.video_url),["stop"]))},{default:u(()=>[p(n(e.$t("hailuo.button.download")),1)]),_:1})):h("",!0)]),_:1},8,["content"])])):h("",!0),t(I,{closable:!1,class:"mt-2 success"},{default:u(()=>[e.modelValue?.request?.model?(a(),c("p",Je,[t(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.model"))+": "+n(e.modelValue?.request?.model)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])])):h("",!0),i("p",We,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):h("",!0),e.modelValue?.response?.success===!1?(a(),c("div",Ye,[t(I,{closable:!1,class:"failure"},{template:u(()=>[t(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.failure")),1)]),default:u(()=>[i("p",Ze,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])]),i("p",Qe,[t(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.failureReason"))+": "+n(e.modelValue?.response?.error?.message)+" ",1),t($,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),i("p",Xe,[t(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),t($,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):h("",!0),e.modelValue?.response?.success===void 0?(a(),c("div",xe,[t(I,{closable:!1,class:"info"},{template:u(()=>[t(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.failure")),1)]),default:u(()=>[i("p",et,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):h("",!0)])])}const ot=b(Re,[["render",tt],["__scopeId","data-v-72acd507"]]),st=k({name:"RecentPanel",components:{TaskPreview:ot,BotPlaceholder:ee,NoTasks:Z,ScrollList:J},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.hailuo?.tasks,items:this.$store.state.hailuo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),at={key:0},nt={key:2,class:"w-full h-full flex items-center justify-center"};function lt(e,s,f,_,w,y){const d=o("bot-placeholder"),m=o("task-preview"),r=o("scroll-list"),g=o("no-tasks");return a(),c(L,null,[e.tasks?.items===void 0?(a(),c("div",at,[t(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),v(r,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:s[0]||(s[0]=l=>e.$emit("reach-top"))},{default:u(()=>[(a(!0),c(L,null,U(e.tasks?.items,l=>(a(),v(m,{key:l.id,"model-value":l},null,8,["model-value"]))),128))]),_:1},8,["loading"])):h("",!0),e.tasks?.items?.length===0?(a(),c("div",nt,[t(g)])):h("",!0)],64)}const it=b(st,[["render",lt]]),rt="https://webhook.acedata.cloud/hailuo",ct=k({name:"HailuoIndex",components:{ConfigPanel:Pe,Layout:ie,RecentPanel:it},inject:["initialized"],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.hailuo?.status?.getApplications===G.Request},tasksLoading(){return this.$store.state.hailuo?.status?.getTasks===G.Request||this.fetchingTasks},credential(){return this.$store.state.hailuo.credential},config(){return this.$store.state.hailuo.config},application(){return this.$store.state.hailuo.application},tasks(){return this.$store.state.hailuo.tasks}},watch:{tasks:{handler(e,s){e?.items?.length>s?.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 te({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("hailuo/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("hailuo/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:s=5,createdAtMin:f,createdAtMax:_}=e||{};console.debug("limit",s,"createdAtMin",f,"createdAtMax",_),this.fetchingTasks=!0;try{await this.$store.dispatch("hailuo/getTasks",{limit:s,createdAtMin:f,createdAtMax:_})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:rt},s=this.credential?.token;if(!s){console.error("no token specified");return}S.info(this.$t("hailuo.message.startingTask")),H.generate(e,{token:s}).then(()=>{S.success(this.$t("hailuo.message.startTaskSuccess"))}).catch(f=>{f?.response?.data?.error?.code===K?S.error(this.$t("hailuo.message.usedUp")):S.error(this.$t("hailuo.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ut(e,s,f,_,w,y){const d=o("config-panel"),m=o("recent-panel"),r=o("layout");return a(),v(r,null,{config:u(()=>[t(d,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[t(m,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Et=b(ct,[["render",ut]]);export{Et as default};
@@ -1 +0,0 @@
1
- .menu[data-v-096d9205]{display:none}@media (max-width: 767px){.config[data-v-096d9205]{display:none}.result[data-v-096d9205]{width:100%}.menu[data-v-096d9205]{display:block;position:absolute;right:8px;top:45px;z-index:1000}}.field[data-v-30ff1e69]{display:flex;flex-direction:row;align-items:center}.field .title[data-v-30ff1e69]{font-size:14px;margin:0;width:30%}.field .value[data-v-30ff1e69]{flex:1}.title[data-v-a906df80]{font-size:14px;margin-bottom:0;width:30%}.btn.btn-upload[data-v-a906df80]{position:absolute;top:5px;right:0}.field .box[data-v-c601bcba]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;position:relative}.field .box .title[data-v-c601bcba]{font-size:14px;margin-bottom:10px}.field .info[data-v-c601bcba]{margin-left:auto}.preview[data-v-72acd507]{width:100%;height:-moz-fit-content;height:fit-content;text-align:left;display:flex;flex-direction:row;margin-bottom:15px}.preview .left[data-v-72acd507]{width:70px}.preview .left .avatar[data-v-72acd507]{width:50px;height:50px;margin:10px;border-radius:50%;border:1px solid var(--el-border-color)}.preview .main[data-v-72acd507]{flex:1;width:calc(100% - 70px);padding:10px 10px 0}.preview .main .bot[data-v-72acd507]{font-size:16px;font-weight:700;color:#2ecc71;margin-bottom:0;margin-top:0}.preview .main .bot .datetime[data-v-72acd507]{font-size:12px;font-weight:400;color:var(--el-text-color-secondary);margin-left:10px}.preview .main .info .prompt[data-v-72acd507]{font-size:16px;font-weight:700;color:var(--el-text-color-regular);margin-bottom:10px}.preview .main .content .el-alert[data-v-72acd507]{border-left-width:2px;border-left-style:solid}.preview .main .content .el-alert.failure[data-v-72acd507]{border-color:var(--el-color-danger)}.preview .main .content .el-alert.success[data-v-72acd507]{border-color:var(--el-color-success)}.preview .main .content .el-alert.info[data-v-72acd507]{border-color:var(--el-color-info)}
@@ -1 +0,0 @@
1
- .menu[data-v-3794959b]{display:none}@media (max-width: 767px){.config[data-v-3794959b]{display:none}.result[data-v-3794959b]{width:100%}.menu[data-v-3794959b]{display:block;position:absolute;right:8px;top:45px;z-index:1000}}.field .box[data-v-2331e197]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;position:relative}.field .box .title[data-v-2331e197]{font-size:14px;margin-bottom:10px}.field .info[data-v-2331e197]{margin-left:auto}.field .prompt[data-v-2331e197]{resize:none}.field[data-v-67f08a08]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.field .title[data-v-67f08a08]{font-size:14px;margin:0;width:30%}.field .value[data-v-67f08a08]{width:160px}.field[data-v-e279ee32]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.field .label[data-v-e279ee32]{width:30%;display:flex;align-items:center}.field .label .box[data-v-e279ee32]{display:flex;flex-direction:row;align-items:center}.field .label .box .title[data-v-e279ee32]{font-size:14px;margin:0}.field .label .box .info[data-v-e279ee32]{margin-left:6px}.field .value[data-v-e279ee32]{width:160px}.field[data-v-05ae87bb]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.field .label[data-v-05ae87bb]{width:30%;display:flex;align-items:center}.field .label .box[data-v-05ae87bb]{display:flex;flex-direction:row;align-items:center}.field .label .box .title[data-v-05ae87bb]{font-size:14px;margin:0}.field .label .box .info[data-v-05ae87bb]{margin-left:6px}.field .value[data-v-05ae87bb]{width:160px}.preview[data-v-9e0f580a]{width:100%;height:-moz-fit-content;height:fit-content;text-align:left;display:flex;flex-direction:row;margin-bottom:10px}.preview .left[data-v-9e0f580a]{width:70px}.preview .left .avatar[data-v-9e0f580a]{width:50px;height:50px;margin:10px;border-radius:50%}.preview .main[data-v-9e0f580a]{flex:1;width:calc(100% - 70px);padding:10px 10px 0}.preview .main .bot[data-v-9e0f580a]{font-size:16px;font-weight:700;color:#2ecc71;margin-bottom:0;margin-top:0}.preview .main .bot .datetime[data-v-9e0f580a]{font-size:12px;font-weight:400;color:var(--el-text-color-secondary);margin-left:10px}.preview .main .info .prompt[data-v-9e0f580a]{font-size:16px;font-weight:700;color:var(--el-text-color-regular);margin-bottom:15px}.preview .main .content .el-alert[data-v-9e0f580a]{border-left-width:2px;border-left-style:solid}.preview .main .content .el-alert.failure[data-v-9e0f580a]{border-color:var(--el-color-danger)}.preview .main .content .el-alert.success[data-v-9e0f580a]{border-color:var(--el-color-success)}.preview .main .content .el-alert.info[data-v-9e0f580a]{border-color:var(--el-color-info)}.preview .main .operations[data-v-9e0f580a]{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}.preview .main .operations .btn-action[data-v-9e0f580a]{margin-bottom:10px}
@@ -1 +0,0 @@
1
- .menu[data-v-6cc632e5]{display:none}@media (max-width: 767px){.main .config[data-v-6cc632e5]{display:none}.main .result[data-v-6cc632e5]{width:100%}.main .preview[data-v-6cc632e5]{display:none}.main .menu[data-v-6cc632e5]{display:block;position:absolute;right:8px;top:45px;z-index:1000}}.field[data-v-5ebe40d6]{display:flex;flex-direction:row;align-items:center}.field .title[data-v-5ebe40d6]{font-size:14px;margin:0;width:30%}.field .value[data-v-5ebe40d6]{flex:1}.title[data-v-6236152c]{font-size:14px;margin-bottom:0;width:30%}.btn.btn-upload[data-v-6236152c]{position:absolute;top:5px;right:0}.upload-wrapper{height:auto;display:flex}.upload-wrapper .el-upload-list{margin:0;width:100%}.field .box[data-v-ee47cf0d]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;position:relative}.field .box .title-info[data-v-ee47cf0d]{display:flex;align-items:center}.field .box .instrumental[data-v-ee47cf0d]{right:10px;z-index:1000}.field .box .title[data-v-ee47cf0d]{font-size:14px;margin-bottom:10px}.field .box[data-v-010079f1]{display:flex;flex-direction:row;align-items:center;position:relative}.field .box .title[data-v-010079f1]{font-size:14px;margin-bottom:10px}.field .title-container[data-v-8b7df2bf]{display:flex;flex-direction:row;align-items:center}.field .title-container .title[data-v-8b7df2bf]{font-size:14px;margin-bottom:10px}.field .title-container .right-aligned-switch[data-v-8b7df2bf]{float:left}.field .title-container[data-v-01db62ee]{display:flex;flex-direction:row;align-items:center}.field .title-container .title[data-v-01db62ee]{font-size:14px;margin-bottom:10px}.field .title-container .right-aligned-switch[data-v-01db62ee]{float:left}.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}.panel[data-v-8c98e5e5]{height:100%;padding:15px;display:flex;flex-direction:column}.panel .config[data-v-8c98e5e5]{width:100%;height:calc(100% - 50px);flex:1;position:relative}.panel .actions[data-v-8c98e5e5]{height:50px;display:flex;justify-content:center;align-items:center}.panel .actions .btn[data-v-8c98e5e5]{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}.task .audio .info .title{font-size:14px;font-weight:700;margin-top:5px}.task .audio .info .style{font-size:12px;margin-bottom:0;color:var(--el-text-color-secondary)}.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}.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}.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 +0,0 @@
1
- .menu[data-v-4e5321c0]{display:none}@media (max-width: 767px){.config[data-v-4e5321c0]{display:none}.result[data-v-4e5321c0]{width:100%}.menu[data-v-4e5321c0]{display:block;position:absolute;right:8px;top:45px;z-index:1000}}.field .box[data-v-865909f4]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;position:relative}.field .box .title[data-v-865909f4]{font-size:14px;margin-bottom:10px}.field .info[data-v-865909f4]{margin-left:auto}.field .prompt[data-v-865909f4]{resize:none}.field[data-v-eaa1425a]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.field .label[data-v-eaa1425a]{width:30%;display:flex;align-items:center}.field .label .box[data-v-eaa1425a]{display:flex;flex-direction:row;align-items:center}.field .label .box .title[data-v-eaa1425a]{font-size:14px;margin:0}.field .label .box .info[data-v-eaa1425a]{margin-left:6px}.field .value[data-v-eaa1425a]{width:160px}.btn.btn-upload[data-v-b49dfa86]{position:absolute;top:5px;right:0}.upload-wrapper{height:auto;display:flex}.upload-wrapper .el-upload-list{margin:0;width:100%}.btn.btn-upload[data-v-12a78496]{position:absolute;top:5px;right:0}.field[data-v-a62125ec]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.field .label[data-v-a62125ec]{width:30%;display:flex;align-items:center}.field .label .box[data-v-a62125ec]{display:flex;flex-direction:row;align-items:center}.field .label .box .title[data-v-a62125ec]{font-size:14px;margin:0}.field .label .box .info[data-v-a62125ec]{margin-left:6px}.field .value[data-v-a62125ec]{width:160px}.field[data-v-cd179b1c]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.field .label[data-v-cd179b1c]{width:70%;display:flex;align-items:center}.field .label .box[data-v-cd179b1c]{display:flex;flex-direction:row;align-items:center}.field .label .box .title[data-v-cd179b1c]{font-size:14px;margin:0}.field .label .box .info[data-v-cd179b1c]{margin-left:6px}.field .value[data-v-cd179b1c]{flex:1;display:flex;justify-content:flex-end}.preview[data-v-a7decd47]{width:100%;height:-moz-fit-content;height:fit-content;text-align:left;display:flex;flex-direction:row;margin-bottom:15px}.preview .left[data-v-a7decd47]{width:70px}.preview .left .avatar[data-v-a7decd47]{width:50px;height:50px;margin:10px;border-radius:50%;border:1px solid var(--el-border-color)}.preview .main[data-v-a7decd47]{flex:1;width:calc(100% - 70px);padding:10px 10px 0}.preview .main .bot[data-v-a7decd47]{font-size:16px;font-weight:700;color:#2ecc71;margin-bottom:0;margin-top:0}.preview .main .bot .datetime[data-v-a7decd47]{font-size:12px;font-weight:400;color:var(--el-text-color-secondary);margin-left:10px}.preview .main .info .prompt[data-v-a7decd47]{font-size:14px;font-weight:700;color:var(--el-text-color-regular);margin-bottom:10px}.preview .main .content .el-alert[data-v-a7decd47]{border-left-width:2px;border-left-style:solid}.preview .main .content .el-alert.failure[data-v-a7decd47]{border-color:var(--el-color-danger)}.preview .main .content .el-alert.success[data-v-a7decd47]{border-color:var(--el-color-success)}.preview .main .content .el-alert.info[data-v-a7decd47]{border-color:var(--el-color-info)}
@@ -1 +0,0 @@
1
- .menu[data-v-0646853d]{display:none}@media (max-width: 767px){.config[data-v-0646853d]{display:none}.result[data-v-0646853d]{width:100%}.menu[data-v-0646853d]{display:block;position:absolute;right:8px;top:45px;z-index:1000}}.field[data-v-e8f337ca]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.field .title[data-v-e8f337ca]{font-size:14px;margin:0;width:30%}.field .value[data-v-e8f337ca]{width:80px}.field[data-v-64aeaae9]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.field .title[data-v-64aeaae9]{font-size:14px;margin:0;width:30%}.field .value[data-v-64aeaae9]{width:80px}.field[data-v-94237408]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.field .title[data-v-94237408]{font-size:14px;margin:0;width:30%}.field .value[data-v-94237408]{width:80px}.field[data-v-64e17b3c]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.field .title[data-v-64e17b3c]{font-size:14px;margin:0;width:30%}.field .value[data-v-64e17b3c]{width:120px}.field[data-v-065c77ef]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.field .title[data-v-065c77ef]{font-size:14px;margin:0;width:30%}.field .value[data-v-065c77ef]{width:80px}.title[data-v-32a7677f]{font-size:14px;margin-bottom:10px}.items[data-v-32a7677f]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.items .item[data-v-32a7677f]{width:48px;height:65px;border:1px solid var(--el-border-color);display:flex;flex-direction:column;align-items:center;cursor:pointer;border-radius:var(--el-border-radius-base)}.items .item .preview[data-v-32a7677f]{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-32a7677f]{border:1px solid var(--el-border-color);width:20px;height:20px;border-radius:2px}.items .item .name[data-v-32a7677f]{display:block;font-size:12px;color:var(--el-text-color-primary)}.items .item.active[data-v-32a7677f],.items .item.active .rect[data-v-32a7677f]{border-color:var(--el-color-primary)}.title[data-v-666104e4]{font-size:14px;margin-bottom:0;width:30%}.btn.btn-upload[data-v-666104e4]{position:absolute;top:5px;right:0}.upload-wrapper{height:auto;display:flex}.upload-wrapper .el-upload-list{margin:0;width:100%}.field .box[data-v-2f675ca4]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;position:relative}.field .box .title[data-v-2f675ca4]{font-size:14px;margin-bottom:10px}.field .info[data-v-2f675ca4]{margin-left:auto}.preview[data-v-3f3bff8a]{width:100%;height:-moz-fit-content;height:fit-content;text-align:left;display:flex;flex-direction:row;margin-bottom:15px}.preview .left[data-v-3f3bff8a]{width:70px}.preview .left .avatar[data-v-3f3bff8a]{width:50px;height:50px;margin:10px;border-radius:50%}.preview .main[data-v-3f3bff8a]{flex:1;width:calc(100% - 70px);padding:10px 10px 0}.preview .main .bot[data-v-3f3bff8a]{font-size:16px;font-weight:700;color:#2ecc71;margin-bottom:0;margin-top:0}.preview .main .bot .datetime[data-v-3f3bff8a]{font-size:12px;font-weight:400;color:var(--el-text-color-secondary);margin-left:10px}.preview .main .info .prompt[data-v-3f3bff8a]{font-size:16px;font-weight:700;color:var(--el-text-color-regular);margin-bottom:10px}.preview .main .content .el-alert[data-v-3f3bff8a]{border-left-width:2px;border-left-style:solid}.preview .main .content .el-alert.failure[data-v-3f3bff8a]{border-color:var(--el-color-danger)}.preview .main .content .el-alert.success[data-v-3f3bff8a]{border-color:var(--el-color-success)}.preview .main .content .el-alert.info[data-v-3f3bff8a]{border-color:var(--el-color-info)}.preview .main .operations[data-v-3f3bff8a]{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-3f3bff8a]{height:70px}.preview .main .operations .btn-action[data-v-3f3bff8a]{margin-bottom:10px}
@@ -1 +0,0 @@
1
- import{bG as I}from"./vendor-Bf_m-mDd.js";import{o as L,N as j,J as G,K as P,P as B,Q as D,q as F,r as y,p as M,B as O,i as N}from"./vendor-element-plus-DMm68DKM.js";import{d as $,c as i,a as l,l as t,P as E,S as f,al as s,o as a,Z as r,F as V,ai as S,R as w,Y as h,W as x,V as U}from"./vendor-vue-Bb02XvLT.js";import{_ as v,bG as q,bH as z,bI as X,a5 as H,bJ as J,ak as K,ah as A}from"./index-CFwKXwDS.js";import{I as C,S as W}from"./ScrollList-DZkNnK0d.js";import{I as Q}from"./ImagePreview-16UTA4Ig.js";import{C as Y,N as Z}from"./NoTasks-itMtwFM2.js";import{a as ee}from"./price-DkXHaDUs.js";import{C as te}from"./CopyToClipboard-DUBbK93t.js";import{I as oe}from"./ImageWrapper-mb1KsHr6.js";import{B as se}from"./BotPlaceholder-BL8MMNSZ.js";import{l as ne}from"./pagination-dbPQoMuV.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";const le=$({name:"LayoutFlux",components:{ElDrawer:j,ElButton:L,FontAwesomeIcon:I},data(){return{drawer:!1}}}),ae={class:"main flex flex-row flex-1"},re={class:"config w-[300px] flex-none h-full overflow-y-auto border-r border-[var(--el-border-color)]"},ie={class:"result h-full p-[15px] flex-1 flex flex-col min-w-0 overflow-x-hidden"};function ce(e,o,m,d,b,k){const c=s("font-awesome-icon"),u=s("el-button"),n=s("el-drawer");return a(),i("div",ae,[l("div",re,[E(e.$slots,"config",{},void 0,!0)]),l("div",ie,[E(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(()=>[E(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ue=v(le,[["render",ce],["__scopeId","data-v-8a4bf519"]]),de=$({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=q)}}),pe={class:"field"},me={class:"title font-bold"};function fe(e,o,m,d,b,k){const c=s("el-option"),u=s("el-select");return a(),i("div",pe,[l("h2",me,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,S(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 _e=v(de,[["render",fe],["__scopeId","data-v-8df4b8a7"]]),he=$({name:"CountSelector",components:{ElSlider:D,InfoIcon:C,ElInputNumber:B},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=z)}}),ge={class:"flex justify-between"},$e={class:"flex justify-start items-center"},ve={class:"text-sm font-bold"},be={class:"flex justify-end items-center"},ke={class:"w-full"};function xe(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",ge,[l("div",$e,[l("span",ve,r(e.$t("flux.name.numbers")),1),t(c,{content:e.$t("flux.description.numbers")},null,8,["content"])]),l("div",be,[t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=p=>e.value=p),"controls-position":"right"},null,8,["modelValue"])])]),l("div",ke,[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 we=v(he,[["render",xe]]),ye=$({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=X)}}),Ve={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",Ve,[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,S(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(ye,[["render",Ie],["__scopeId","data-v-81fd05e5"]]),Ee=$({name:"ImageUrlInput",components:{ElUpload:F,ElButton:L,InfoIcon:C,FontAwesomeIcon:I,ImagePreview:Q},emits:["change"],data(){return{fileList:[],uploadUrl:H()+"/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"))}}}),Le={class:"relative"},Ue={class:"flex justify-between"},Ce={class:"flex justify-start items-center"},Ae={class:"text-sm font-bold"};function Ge(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",Le,[l("div",Ue,[l("div",Ce,[l("span",Ae,r(e.$t("flux.name.imageUrl")),1),t(c,{content:e.$t("flux.description.imageUrl")},null,8,["content"])])]),t(g,{"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:T=>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 Pe=v(Ee,[["render",Ge],["__scopeId","data-v-04710032"]]),Re="",je=$({name:"PromptInput",components:{ElInput:M,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=Re)}}),Be={class:"field"},De={class:"box"},Fe={class:"title font-bold"};function Me(e,o,m,d,b,k){const c=s("info-icon"),u=s("el-input");return a(),i("div",Be,[l("div",De,[l("h2",Fe,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 Oe=v(je,[["render",Me],["__scopeId","data-v-96df0218"]]),Ne=$({name:"PresetPanel",components:{ElButton:L,FontAwesomeIcon:I,PromptInput:Oe,ModelSelector:_e,CountSelector:we,Consumption:Y,ActionSelector:Se,ImageUrlInput:Pe},emits:["generate"],computed:{config(){return this.$store.state.flux?.config},consumption(){return ee(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit("generate")}}}),qe={class:"flex flex-col h-full"},ze={class:"flex-1 overflow-y-auto p-[15px]"},Xe={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function 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"),T=s("font-awesome-icon"),R=s("el-button");return a(),i("div",qe,[l("div",ze,[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",Xe,[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(T,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+r(e.$t("flux.button.generate")),1)]),_:1},8,["onClick"])])])}const Je=v(Ne,[["render",He]]),Ke=$({name:"TaskPreview",components:{ElImage:N,CopyToClipboard:te,FontAwesomeIcon:I,ElAlert:O,ImageWrapper:oe},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"},Qe={class:"left"},Ye={class:"main"},Ze={class:"bot"},et={class:"datetime"},tt={class:"info"},ot={key:0,class:"prompt mt-2"},st={key:0},nt={key:0,class:U({content:!0,failed:!0})},lt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},at={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},rt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},it={key:1,class:U({content:!0})},ct={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},dt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},pt={key:2,class:U({content:!0})},mt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function ft(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",Qe,[t(c,{src:"https://cdn.acedata.cloud/ogm2oa.png",class:"avatar"})]),l("div",Ye,[l("div",Ze,[h(r(e.$t("flux.name.fluxBot"))+" ",1),l("span",et,r(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",tt,[e.modelValue?.request?.prompt?(a(),i("p",ot,[h(r(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?x("",!0):(a(),i("span",st," - ("+r(e.$t("flux.status.pending"))+") ",1))])):x("",!0)]),e.modelValue?.response?.success===!0?(a(),i("div",nt,[l("div",lt,[(a(!0),i(V,null,S(e.images,(_,T)=>(a(),w(u,{key:T,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",at,[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",rt,[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",it,[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",ct,[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",ut,[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",dt,[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",pt,[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",mt,[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 _t=v(Ke,[["render",ft],["__scopeId","data-v-fd5838a5"]]),ht=$({name:"RecentPanel",components:{TaskPreview:_t,BotPlaceholder:se,NoTasks:Z,ScrollList:W},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?.()}}}),gt={key:0},$t={key:2,class:"w-full h-full flex items-center justify-center"};function vt(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",gt,[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,S(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",$t,[t(p)])):x("",!0)],64)}const bt=v(ht,[["render",vt]]),kt="https://webhook.acedata.cloud/flux",xt=$({name:"FluxIndex",components:{ConfigPanel:Je,Layout:ue,RecentPanel:bt},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 ne({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:kt},o=this.credential?.token;if(!o){console.error("no token specified");return}y.info(this.$t("flux.message.startingTask")),J.generate(e,{token:o}).then(()=>{y.success(this.$t("flux.message.startTaskSuccess"))}).catch(m=>{const d=m?.response?.data;d?.error?.code===K?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 wt(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 Ft=v(xt,[["render",wt]]);export{Ft as default};
@@ -1 +0,0 @@
1
- import{e as $,_ as v,R as O,ch as S,a as N,b as T,c as L,ci as R,a5 as U}from"./index-CFwKXwDS.js";import{bG as k}from"./vendor-Bf_m-mDd.js";import{k as D,l as P,U as B,E as A,i as b}from"./vendor-element-plus-DMm68DKM.js";import{d as E,R as f,S as n,l as o,W as _,al as t,Y as g,Z as d,a as s,o as l,c as h,a2 as V,F,ai as H,V as M}from"./vendor-vue-Bb02XvLT.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-katex-DHBGsivc.js";const X=E({name:"HelpEntry",components:{ElImage:b,ElDialog:A,ElPopover:B,ElMenu:P,ElMenuItem:D,FontAwesomeIcon:k},props:{visible:{type:Boolean,default:!0}},emits:["close"],computed:{site(){return this.$store.state.site}},methods:{onJoin(){window.open(this.$store.state.site?.features?.support?.discord?.url,"_blank")},onProfit(){this.$router.push({name:$})}}}),q={class:"flex"},z={class:"flex-1 text-center"};function G(e,i,w,I,y,C){const c=t("font-awesome-icon"),r=t("el-menu-item"),m=t("el-image"),u=t("el-popover"),a=t("el-menu"),p=t("el-dialog");return l(),f(p,{"model-value":e.visible,width:200,class:"text-center",onClose:i[0]||(i[0]=x=>e.$emit("close"))},{default:n(()=>[o(a,{collapse:!1,class:"menu"},{default:n(()=>[e.site?.features?.support?.discord?.enabled?(l(),f(r,{key:0,index:"1",onClick:e.onJoin},{title:n(()=>[g(d(e.$t("common.message.joinDiscord")),1)]),default:n(()=>[o(c,{icon:"fa-brands fa-discord",class:"mr-2"})]),_:1},8,["onClick"])):_("",!0),o(u,{width:350,trigger:"hover"},{reference:n(()=>[e.site?.features?.support?.wechat?.enabled?(l(),f(r,{key:0,index:"2"},{title:n(()=>[g(d(e.$t("common.message.addWeChat")),1)]),default:n(()=>[o(c,{icon:"fa-brands fa-weixin",class:"mr-2"})]),_:1})):_("",!0)]),default:n(()=>[s("div",q,[s("div",z,[o(m,{src:e.site?.features?.support?.wechat?.qr},null,8,["src"])])])]),_:1})]),_:1})]),_:1},8,["model-value"])}const J=v(X,[["render",G],["__scopeId","data-v-0fce633f"]]),W=E({name:"ProfileIndex",components:{ElImage:b,HelpDialog:J,FontAwesomeIcon:k},data(){return{operating:{locale:!1,dark:!1,help:!1}}},computed:{user(){return this.$store.getters.user},showSupport(){return this.$store?.state?.site?.features?.support?.enabled&&(this.$store?.state?.site?.features?.support?.discord?.enabled||this.$store?.state?.site?.features?.support?.wechat?.enabled)},showSite(){return this.$store?.state?.site?.admins?.includes(this.$store.getters.user?.id)},links(){return[{key:"profile",text:this.$t("console.menu.userProfile"),href:`${S()}/user/profile`,icon:"fa-regular fa-user"},{key:"application-list",text:this.$t("console.menu.applicationList"),name:N,icon:"fa-solid fa-cube"},{key:"order-list",text:this.$t("console.menu.orderList"),name:T,icon:"fa-solid fa-store"},{key:"usage-list",text:this.$t("console.menu.usageList"),name:L,icon:"fa-solid fa-rotate-left"},{key:"distribution-index",text:this.$t("console.menu.distributionIndex"),name:$,icon:"fa-solid fa-coins"},...this.showSite?[{key:"site-index",text:this.$t("common.nav.site"),name:R,icon:"fa-solid fa-gear"}]:[],{key:"dark-setting",text:this.$t("common.nav.darkMode"),icon:"fa-solid fa-moon",callback:()=>{this.operating.dark=!0}},{key:"locale-setting",text:this.$t("common.nav.locale"),icon:"fa-solid fa-language",callback:()=>{this.operating.locale=!0}},{key:"developerPlatform",text:this.$t("console.menu.developerPlatform"),href:U(),icon:"fa-solid fa-laptop-code"},...this.showSupport?[{key:"support",text:this.$t("common.nav.support"),callback:()=>{this.operating.help=!0},icon:"fa-solid fa-question"}]:[],{key:"logout",text:this.$t("common.nav.logOut"),icon:"fa-solid fa-arrow-right-from-bracket",callback:async()=>{await this.$store.dispatch("logout")}}]}},methods:{onHome(){this.$router.push({name:O})},onNavigate(e){e.name?this.$router.push({name:e.name}):e.href?window.open(e.href,"_blank"):e.callback&&e.callback()}}}),j={class:"profile"},Y={class:"info"},Z={class:"links"},K=["onClick"],Q={class:"icon"},ee={class:"text"},te={class:"suffix"};function oe(e,i,w,I,y,C){const c=t("el-image"),r=t("font-awesome-icon"),m=t("locale-selector"),u=t("help-dialog");return l(),h("div",j,[s("div",Y,[o(c,{src:e.user.avatar,fit:"cover",class:"avatar"},null,8,["src"]),s("h2",null,d(e.user.username),1),s("div",{style:V({backgroundImage:"url("+e.user.avatar+")"}),class:"background"},null,4)]),s("div",Z,[(l(!0),h(F,null,H(e.links,(a,p)=>(l(),h("a",{key:p,class:M({link:!0,active:e.$route.name===a.name}),onClick:x=>e.onNavigate(a)},[s("span",Q,[o(r,{icon:a.icon,class:"text-sm"},null,8,["icon"])]),s("span",ee,d(a.text),1),s("span",te,[o(r,{icon:"fa-solid fa-chevron-right",class:"text-sm"})])],10,K))),128))]),o(m,{visible:e.operating.locale==!0,onClose:i[0]||(i[0]=a=>e.operating.locale=!1)},null,8,["visible"]),o(u,{visible:e.operating.help==!0,onClose:i[1]||(i[1]=a=>e.operating.help=!1)},null,8,["visible"])])}const me=v(W,[["render",oe],["__scopeId","data-v-8eb3b1d9"]]);export{me as default};
@@ -1 +0,0 @@
1
- import{bG as L}from"./vendor-Bf_m-mDd.js";import{o as T,N as B,p as G,J as P,K as N,q as O,r as y,j as q,n as z,B as K,i as W}from"./vendor-element-plus-DMm68DKM.js";import{d as k,c,a as i,l as s,P as R,S as p,al as t,o,Z as n,F as C,ai as D,R as w,Y as h,W as v,V as I,a1 as H}from"./vendor-vue-Bb02XvLT.js";import{_ as E,c6 as J,c7 as X,c8 as Y,c9 as Z,ca as Q,cb as x,a5 as M,cc as ee,cd as se,ce as te,cf as oe,D as ne,cg as ae,ak as le,ah as U}from"./index-CFwKXwDS.js";import{I as S,S as re}from"./ScrollList-DZkNnK0d.js";import{I as j}from"./ImagePreview-16UTA4Ig.js";import{C as ie,N as ce}from"./NoTasks-itMtwFM2.js";import{a as de}from"./price-DkXHaDUs.js";import{C as me}from"./CopyToClipboard-DUBbK93t.js";import{V as pe}from"./VideoPlayer-DMvGMBbk.js";import{I as ue}from"./ImageWrapper-mb1KsHr6.js";import{B as fe}from"./BotPlaceholder-BL8MMNSZ.js";import{l as _e}from"./pagination-dbPQoMuV.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";const he=k({name:"LayoutSeedance",components:{ElDrawer:B,ElButton:T,FontAwesomeIcon:L},data(){return{drawer:!1}}}),$e={class:"main flex flex-row flex-1"},ge={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},ve={class:"result h-full p-[15px] flex-1 flex flex-col"};function be(e,a,u,_,g,$){const r=t("font-awesome-icon"),l=t("el-button"),d=t("el-drawer");return o(),c("div",$e,[i("div",ge,[R(e.$slots,"config",{},void 0,!0)]),i("div",ve,[R(e.$slots,"result",{},void 0,!0)]),s(l,{circle:"",class:"menu",onClick:a[0]||(a[0]=m=>e.drawer=!0)},{default:p(()=>[s(r,{icon:"fa-solid fa-magic"})]),_:1}),s(d,{modelValue:e.drawer,"onUpdate:modelValue":a[1]||(a[1]=m=>e.drawer=m),direction:"ltr","with-header":!1,size:"350px"},{default:p(()=>[R(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ke=E(he,[["render",be],["__scopeId","data-v-4e5321c0"]]),Ee="",ye=k({name:"SeedancePromptInput",components:{ElInput:G,InfoIcon:S},computed:{prompt:{get(){return this.$store.state.seedance?.config?.prompt},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Ee)}}),we={class:"field"},Se={class:"box"},Ve={class:"title font-bold"};function Le(e,a,u,_,g,$){const r=t("info-icon"),l=t("el-input");return o(),c("div",we,[i("div",Se,[i("h2",Ve,n(e.$t("seedance.name.prompt")),1),s(r,{content:e.$t("seedance.description.prompt"),class:"info"},null,8,["content"])]),s(l,{modelValue:e.prompt,"onUpdate:modelValue":a[0]||(a[0]=d=>e.prompt=d),rows:4,type:"textarea",class:"prompt",placeholder:e.$t("seedance.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Te=E(ye,[["render",Le],["__scopeId","data-v-865909f4"]]),Ie=k({name:"SeedanceModelSelector",components:{ElSelect:N,ElOption:P,InfoIcon:S},data(){return{options:[{value:X,label:this.$t("seedance.model.seedance10pro")},{value:Y,label:this.$t("seedance.model.seedance10proFast")},{value:Z,label:this.$t("seedance.model.seedance15pro")},{value:Q,label:this.$t("seedance.model.seedance10liteT2v")},{value:x,label:this.$t("seedance.model.seedance10liteI2v")}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.model},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,model:e})}}},mounted(){this.value||(this.value=J)}}),Ce={class:"field"},Fe={class:"label"},Re={class:"box"},De={class:"title font-bold"};function Ae(e,a,u,_,g,$){const r=t("info-icon"),l=t("el-option"),d=t("el-select");return o(),c("div",Ce,[i("div",Fe,[i("div",Re,[i("h2",De,n(e.$t("seedance.name.model")),1),s(r,{content:e.$t("seedance.description.model"),class:"info"},null,8,["content"])])]),s(d,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=m=>e.value=m),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:p(()=>[(o(!0),c(C,null,D(e.options,m=>(o(),w(l,{key:m.value,label:m.label,value:m.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ue=E(Ie,[["render",Ae],["__scopeId","data-v-eaa1425a"]]),Pe=k({name:"SeedanceFirstFrameImage",components:{ElUpload:O,ElButton:T,InfoIcon:S,FontAwesomeIcon:L,ImagePreview:j},data(){return{fileList:[],uploadUrl:M()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},methods:{onExceed(){y.warning(this.$t("seedance.message.uploadExceed"))},onError(){y.error(this.$t("seedance.message.uploadError"))},onSetFirstFrameUrl(){const e=this.urls?.[0],u=(this.$store.state.seedance?.config?.images||[]).filter(_=>_?.role!=="first_frame");e&&u.push({url:e,role:"first_frame"}),this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,images:u.length>0?u:void 0})},async onSuccess(){this.onSetFirstFrameUrl()},async onRemove(){this.onSetFirstFrameUrl()}}}),Ne={class:"relative"},Oe={class:"flex justify-between"},Me={class:"flex justify-start items-center"},je={class:"text-sm font-bold"};function Be(e,a,u,_,g,$){const r=t("info-icon"),l=t("image-preview"),d=t("font-awesome-icon"),m=t("el-button"),b=t("el-upload");return o(),c("div",Ne,[i("div",Oe,[i("div",Me,[i("span",je,n(e.$t("seedance.name.firstFrame")),1),s(r,{content:e.$t("seedance.description.firstFrame")},null,8,["content"])])]),s(b,{"file-list":e.fileList,"onUpdate:fileList":a[0]||(a[0]=f=>e.fileList=f),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:p(({file:f})=>[f.url&&f.percentage!==void 0?(o(),w(l,{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"])):v("",!0)]),default:p(()=>[s(m,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:p(()=>[s(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+n(e.$t("seedance.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-remove","headers"])])}const Ge=E(Pe,[["render",Be],["__scopeId","data-v-b49dfa86"]]),qe=k({name:"SeedanceLastFrameImage",components:{ElUpload:O,ElButton:T,ImagePreview:j,InfoIcon:S,FontAwesomeIcon:L},data(){return{fileList:[],uploadUrl:M()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},methods:{onExceed(){y.warning(this.$t("seedance.message.uploadExceed"))},onError(){y.error(this.$t("seedance.message.uploadError"))},onSetLastFrameUrl(){const e=this.urls?.[0],u=(this.$store.state.seedance?.config?.images||[]).filter(_=>_?.role!=="last_frame");e&&u.push({url:e,role:"last_frame"}),this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,images:u.length>0?u:void 0})},async onSuccess(){this.onSetLastFrameUrl()},async onRemove(){this.onSetLastFrameUrl()}}}),ze={class:"relative"},Ke={class:"flex justify-between"},We={class:"flex justify-start items-center"},He={class:"text-sm font-bold"};function Je(e,a,u,_,g,$){const r=t("info-icon"),l=t("image-preview"),d=t("font-awesome-icon"),m=t("el-button"),b=t("el-upload");return o(),c("div",ze,[i("div",Ke,[i("div",We,[i("span",He,n(e.$t("seedance.name.lastFrame")),1),s(r,{content:e.$t("seedance.description.lastFrame")},null,8,["content"])])]),s(b,{"file-list":e.fileList,"onUpdate:fileList":a[0]||(a[0]=f=>e.fileList=f),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:p(({file:f})=>[f.url&&f.percentage!==void 0?(o(),w(l,{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"])):v("",!0)]),default:p(()=>[s(m,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:p(()=>[s(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+n(e.$t("seedance.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-remove","headers"])])}const Xe=E(qe,[["render",Je],["__scopeId","data-v-12a78496"]]),Ye=k({name:"SeedanceServiceTierSelector",components:{ElSelect:N,ElOption:P,InfoIcon:S},data(){return{options:[{value:se,label:this.$t("seedance.serviceTier.default")},{value:te,label:this.$t("seedance.serviceTier.flex")}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.service_tier},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,service_tier:e})}}},mounted(){this.value||(this.value=ee)}}),Ze={class:"field"},Qe={class:"label"},xe={class:"box"},es={class:"title font-bold"};function ss(e,a,u,_,g,$){const r=t("info-icon"),l=t("el-option"),d=t("el-select");return o(),c("div",Ze,[i("div",Qe,[i("div",xe,[i("h2",es,n(e.$t("seedance.name.serviceTier")),1),s(r,{content:e.$t("seedance.description.serviceTier"),class:"info"},null,8,["content"])])]),s(d,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=m=>e.value=m),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:p(()=>[(o(!0),c(C,null,D(e.options,m=>(o(),w(l,{key:m.value,label:m.label,value:m.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const ts=E(Ye,[["render",ss],["__scopeId","data-v-a62125ec"]]),os=k({name:"SeedanceReturnLastFrameSwitch",components:{ElSwitch:q,InfoIcon:S},computed:{value:{get(){return this.$store.state.seedance?.config?.return_last_frame},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,return_last_frame:e})}}},mounted(){this.value===void 0&&(this.value=oe)}}),ns={class:"field"},as={class:"label"},ls={class:"box"},rs={class:"title font-bold"},is={class:"value"};function cs(e,a,u,_,g,$){const r=t("info-icon"),l=t("el-switch");return o(),c("div",ns,[i("div",as,[i("div",ls,[i("h2",rs,n(e.$t("seedance.name.returnLastFrame")),1),s(r,{content:e.$t("seedance.description.returnLastFrame"),class:"info"},null,8,["content"])])]),i("div",is,[s(l,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=d=>e.value=d),"inline-prompt":"","active-text":e.$t("seedance.button.on"),"inactive-text":e.$t("seedance.button.off")},null,8,["modelValue","active-text","inactive-text"])])])}const ds=E(os,[["render",cs],["__scopeId","data-v-cd179b1c"]]),ms=k({name:"SeedanceConfigPanel",components:{ElButton:T,FontAwesomeIcon:L,PromptInput:Te,ModelSelector:Ue,ServiceTierSelector:ts,ReturnLastFrameSwitch:ds,FirstFrameImage:Ge,LastFrameImage:Xe,Consumption:ie},emits:["generate"],computed:{config(){return this.$store.state.seedance?.config},consumption(){return de(this.config,this.service?.cost)},service(){return this.$store.state.seedance?.service}},methods:{onGenerate(){this.$emit("generate")}}}),ps={class:"flex flex-col h-full"},us={class:"flex-1 overflow-y-auto p-[15px]"},fs={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function _s(e,a,u,_,g,$){const r=t("prompt-input"),l=t("model-selector"),d=t("service-tier-selector"),m=t("return-last-frame-switch"),b=t("first-frame-image"),f=t("last-frame-image"),V=t("consumption"),F=t("font-awesome-icon"),A=t("el-button");return o(),c("div",ps,[i("div",us,[s(r,{class:"mb-4"}),s(l,{class:"mb-4"}),s(d,{class:"mb-4"}),s(m,{class:"mb-4"}),s(b,{class:"mb-2"}),s(f,{class:"mb-2"})]),i("div",fs,[s(V,{value:e.consumption,service:e.service},null,8,["value","service"]),s(A,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[s(F,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+n(e.$t("seedance.button.generate")),1)]),_:1},8,["onClick"])])])}const hs=E(ms,[["render",_s]]),$s=k({name:"SeedanceTaskPreview",components:{ElImage:W,CopyToClipboard:me,FontAwesomeIcon:L,ElAlert:K,VideoPlayer:pe,ElTooltip:z,ElButton:T,ImageWrapper:ue},props:{modelValue:{type:Object,required:!0}},data(){return{seedanceLogo:ne}},computed:{video(){return this.modelValue?.response?.data}},methods:{onDownload(e){window.open(e,"_blank")}}}),gs={class:"preview"},vs={class:"left"},bs={class:"main"},ks={class:"bot"},Es={class:"datetime"},ys={class:"info"},ws={key:0,class:"prompt mt-2"},Ss={key:0},Vs={key:1},Ls={key:0,class:I({content:!0})},Ts={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Is={key:1,class:I({content:!0})},Cs={key:0,class:"mb-4"},Fs={key:1,class:"mb-4"},Rs={key:2,class:I({operations:!0,"mt-2":!0,"mb-2":!0})},Ds={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},As={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Us={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ps={key:2,class:I({content:!0})},Ns={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Os={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ms={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},js={key:3,class:I({content:!0})},Bs={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gs={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function qs(e,a,u,_,g,$){const r=t("el-image"),l=t("font-awesome-icon"),d=t("copy-to-clipboard"),m=t("el-alert"),b=t("video-player"),f=t("image-wrapper"),V=t("el-button"),F=t("el-tooltip");return o(),c("div",gs,[i("div",vs,[s(r,{src:e.seedanceLogo,class:"avatar"},null,8,["src"])]),i("div",bs,[i("div",ks,[h(n(e.$t("seedance.name.seedanceBot"))+" ",1),i("span",Es,n(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",ys,[e.modelValue?.request?.prompt?(o(),c("p",ws,[h(n(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?e.video?.status==="processing"||e.video?.status==="pending"?(o(),c("span",Vs," - ("+n(e.$t("seedance.status.processing"))+") ",1)):v("",!0):(o(),c("span",Ss," - ("+n(e.$t("seedance.status.pending"))+") ",1))])):v("",!0)]),e.modelValue?.response?e.modelValue?.response?.success===!0?(o(),c("div",Is,[e.video?.video_url?(o(),c("div",Cs,[s(b,{src:e.video?.video_url},null,8,["src"])])):v("",!0),e.video?.last_frame_url?(o(),c("div",Fs,[s(f,{src:e.video?.last_frame_url,"raw-src":e.video?.last_frame_url},null,8,["src","raw-src"])])):v("",!0),e.video?.video_url?(o(),c("div",Rs,[s(F,{class:"box-item",effect:"dark",content:e.$t("seedance.message.downloadVideo"),placement:"top-start"},{default:p(()=>[s(V,{type:"info",size:"small",class:"btn-action",onClick:a[0]||(a[0]=H(A=>e.onDownload(e.video?.video_url),["stop"]))},{default:p(()=>[h(n(e.$t("seedance.button.download")),1)]),_:1})]),_:1},8,["content"])])):v("",!0),s(m,{closable:!1,class:"mt-2 success"},{default:p(()=>[e.modelValue?.request?.model?(o(),c("p",Ds,[s(l,{icon:"fa-solid fa-cube",class:"mr-1"}),h(" "+n(e.$t("seedance.name.model"))+": "+n(e.modelValue?.request?.model),1)])):v("",!0),i("p",As,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+n(e.$t("seedance.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),s(d,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(o(),c("p",Us,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+n(e.$t("seedance.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),s(d,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(o(),c("div",Ps,[s(m,{closable:!1,class:"failure"},{template:p(()=>[s(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+n(e.$t("seedance.name.failure")),1)]),default:p(()=>[i("p",Ns,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+n(e.$t("seedance.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),s(d,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.error?.message?(o(),c("p",Os,[s(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+n(e.$t("seedance.name.failureReason"))+": "+n(e.modelValue?.response?.error?.message)+" ",1),s(d,{content:e.modelValue?.response?.error?.message,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0),e.modelValue?.response?.trace_id?(o(),c("p",Ms,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+n(e.$t("seedance.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),s(d,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):(o(),c("div",js,[s(m,{closable:!1,class:"info"},{template:p(()=>[s(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+n(e.$t("seedance.name.status")),1)]),default:p(()=>[i("p",Bs,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+n(e.$t("seedance.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),s(d,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(o(),c("p",Gs,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+n(e.$t("seedance.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),s(d,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):(o(),c("div",Ls,[s(m,{closable:!1,class:"info"},{template:p(()=>[s(l,{icon:"fa-regular fa-clock",class:"mr-1"}),h(" "+n(e.$t("seedance.status.pending")),1)]),default:p(()=>[i("p",Ts,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+n(e.$t("seedance.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),s(d,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})]))])])}const zs=E($s,[["render",qs],["__scopeId","data-v-a7decd47"]]),Ks=k({name:"SeedanceRecentPanel",components:{TaskPreview:zs,BotPlaceholder:fe,NoTasks:ce,ScrollList:re},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],computed:{tasks(){return{...this.$store.state.seedance?.tasks,items:this.$store.state.seedance?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ws={key:0},Hs={key:2,class:"w-full h-full flex items-center justify-center"};function Js(e,a,u,_,g,$){const r=t("bot-placeholder"),l=t("task-preview"),d=t("scroll-list"),m=t("no-tasks");return o(),c(C,null,[e.tasks?.items===void 0?(o(),c("div",Ws,[s(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(o(),w(d,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:a[0]||(a[0]=b=>e.$emit("reach-top"))},{default:p(()=>[(o(!0),c(C,null,D(e.tasks?.items,b=>(o(),w(l,{key:b.id,"model-value":b},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(o(),c("div",Hs,[s(m)])):v("",!0)],64)}const Xs=E(Ks,[["render",Js]]),Ys="https://webhook.acedata.cloud/seedance",Zs=k({name:"SeedanceIndex",components:{ConfigPanel:hs,Layout:ke,RecentPanel:Xs},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.seedance?.status?.getApplications===U.Request},tasksLoading(){return this.$store.state.seedance?.status?.getTasks===U.Request||this.fetchingTasks},credential(){return this.$store.state.seedance?.credential},config(){return this.$store.state.seedance?.config},tasks(){return this.$store.state.seedance?.tasks}},watch:{initialized:{async handler(e){e&&(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,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch("seedance/getService")},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;const{limit:a=5,createdAtMin:u,createdAtMax:_}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch("seedance/getTasks",{limit:a,createdAtMin:u,createdAtMax:_})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config||{}};if(typeof e?.prompt=="string"&&(e.prompt=e.prompt.trim(),e.prompt||delete e.prompt),Array.isArray(e?.images)){e.images=e.images.filter(r=>!!r?.url);const g=e.images.some(r=>r?.role==="first_frame"),$=e.images.some(r=>r?.role==="last_frame");!g&&$&&(e.images=e.images.map(r=>r?.role==="last_frame"?{...r,role:"first_frame"}:r))}!(Array.isArray(e?.images)&&e.images.length>0)&&"images"in e&&delete e.images;const u={...e,callback_url:Ys},_=this.credential?.token;if(!_){console.error("no token specified");return}y.info(this.$t("seedance.message.startingTask")),ae.generate(u,{token:_}).then(()=>{y.success(this.$t("seedance.message.startTaskSuccess"))}).catch(g=>{const $=g?.response?.data;$?.error?.code===le?y.error(this.$t("seedance.message.usedUp")):y.error(this.$t("seedance.message.startTaskFailed")+($?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Qs(e,a,u,_,g,$){const r=t("config-panel"),l=t("recent-panel"),d=t("layout");return o(),w(d,null,{config:p(()=>[s(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:p(()=>[s(l,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const ht=E(Zs,[["render",Qs]]);export{ht as default};
@@ -1 +0,0 @@
1
- .menu[data-v-fae64b48]{display:none}@media (max-width: 767px){.config[data-v-fae64b48]{display:none}.result[data-v-fae64b48]{width:100%}.menu[data-v-fae64b48]{display:block;position:absolute;right:8px;top:45px;z-index:1000}}.field[data-v-e476bacf]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.field .title[data-v-e476bacf]{font-size:14px;margin:0;width:30%}.field .value[data-v-e476bacf]{width:120px}.field[data-v-daa57765]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.field .title[data-v-daa57765]{font-size:14px;margin:0;width:30%}.field .value[data-v-daa57765]{width:80px}.field[data-v-02112e2c]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.field .title[data-v-02112e2c]{font-size:14px;margin:0;width:30%}.field .value[data-v-02112e2c]{width:80px}.title[data-v-2601284f]{font-size:14px;margin-bottom:10px}.items[data-v-2601284f]{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px}.items .item[data-v-2601284f]{width:48px;height:70px;border:1px solid var(--el-border-color);display:flex;flex-direction:column;align-items:center;cursor:pointer;border-radius:10px}.items .item .preview[data-v-2601284f]{margin-top:8px;width:30px;height:30px;margin-bottom:4px;display:flex;flex-direction:row;align-items:center;justify-content:center}.items .item .preview .rect[data-v-2601284f]{border:1px solid var(--el-border-color);width:20px;height:20px;border-radius:2px}.items .item .name[data-v-2601284f]{display:block;font-size:12px;color:var(--el-text-color-primary)}.items .item.active[data-v-2601284f],.items .item.active .rect[data-v-2601284f]{border-color:var(--el-color-primary)}.title[data-v-e2205d5b]{font-size:14px;margin-bottom:0;width:30%}.btn.btn-upload[data-v-e2205d5b]{position:absolute;top:5px;right:0}.upload-wrapper{height:auto;display:flex}.upload-wrapper .el-upload-list{margin:0;width:100%}.title[data-v-caf87d80]{font-size:14px;margin-bottom:0;width:30%}.btn.btn-upload[data-v-caf87d80]{position:absolute;top:5px;right:0}.field .box[data-v-64ef5737]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;position:relative}.field .box .title[data-v-64ef5737]{font-size:14px;margin-bottom:10px}.field .info[data-v-64ef5737]{margin-left:auto}.field .box[data-v-de98cf01]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;position:relative}.field .box .title[data-v-de98cf01]{font-size:14px;margin-bottom:10px}.field .info[data-v-de98cf01]{margin-left:auto}.preview[data-v-c0a171a2]{width:100%;height:-moz-fit-content;height:fit-content;text-align:left;display:flex;flex-direction:row;margin-bottom:15px}.preview .left[data-v-c0a171a2]{width:70px}.preview .left .avatar[data-v-c0a171a2]{width:50px;height:50px;margin:10px;border-radius:50%}.preview .main[data-v-c0a171a2]{flex:1;width:calc(100% - 70px);padding:10px 10px 0}.preview .main .bot[data-v-c0a171a2]{font-size:16px;font-weight:700;color:#2ecc71;margin-bottom:0;margin-top:0}.preview .main .bot .datetime[data-v-c0a171a2]{font-size:12px;font-weight:400;color:var(--el-text-color-secondary);margin-left:10px}.preview .main .info .prompt[data-v-c0a171a2]{font-size:16px;font-weight:700;color:var(--el-text-color-regular);margin-bottom:10px}.preview .main .content .el-alert[data-v-c0a171a2]{border-left-width:2px;border-left-style:solid}.preview .main .content .el-alert.failure[data-v-c0a171a2]{border-color:var(--el-color-danger)}.preview .main .content .el-alert.success[data-v-c0a171a2]{border-color:var(--el-color-success)}.preview .main .content .el-alert.info[data-v-c0a171a2]{border-color:var(--el-color-info)}.preview .main .operations[data-v-c0a171a2]{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-c0a171a2]{height:70px}.preview .main .operations .btn-action[data-v-c0a171a2]{margin-bottom:10px}
@@ -1 +0,0 @@
1
- import{bG as L}from"./vendor-Bf_m-mDd.js";import{o as U,N,j,q as R,r as V,p as q,n as H,B as K,i as W}from"./vendor-element-plus-DMm68DKM.js";import{d as b,c as m,a as n,l as o,P as C,S as c,al as s,o as a,Z as i,Y as g,R as v,W as _,V as T,a1 as M,F as B,ai as Y}from"./vendor-vue-Bb02XvLT.js";import{_ as w,b6 as Z,b7 as J,b8 as Q,a5 as A,b9 as X,ak as x,ah as z}from"./index-CFwKXwDS.js";import{I as S,S as ee}from"./ScrollList-DZkNnK0d.js";import{I as D}from"./ImagePreview-16UTA4Ig.js";import{F as te}from"./FilePreview-ButdEzn1.js";import{V as F}from"./VideoPlayer-DMvGMBbk.js";import{C as oe,N as se}from"./NoTasks-itMtwFM2.js";import{a as ne}from"./price-DkXHaDUs.js";import{C as ae}from"./CopyToClipboard-DUBbK93t.js";import{B as le}from"./BotPlaceholder-BL8MMNSZ.js";import{l as ie}from"./pagination-dbPQoMuV.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";const re=b({name:"LayoutLuma",components:{ElDrawer:N,ElButton:U,FontAwesomeIcon:L},data(){return{drawer:!1}}}),ce={class:"main flex flex-row flex-1"},ue={class:"config w-[300px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},de={class:"result h-full p-[15px] flex-1 flex flex-col"};function me(e,t,p,h,k,y){const r=s("font-awesome-icon"),d=s("el-button"),u=s("el-drawer");return a(),m("div",ce,[n("div",ue,[C(e.$slots,"config",{},void 0,!0)]),n("div",de,[C(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=$=>e.drawer=!0)},{default:c(()=>[o(r,{icon:"fa-solid fa-magic"})]),_:1}),o(u,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=$=>e.drawer=$),direction:"ltr","with-header":!1,size:"350px",class:"drawer"},{default:c(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const pe=w(re,[["render",me],["__scopeId","data-v-11a53e0c"]]),fe=b({name:"EnhancementSelector",components:{ElSwitch:j,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug("set enhancement",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=Z)}}),_e={class:"relative"},he={class:"flex justify-between"},$e={class:"flex justify-start items-center"},ge={class:"text-sm font-bold"},ve={class:"flex justify-end items-center"};function be(e,t,p,h,k,y){const r=s("info-icon"),d=s("el-switch");return a(),m("div",_e,[n("div",he,[n("div",$e,[n("span",ge,i(e.$t("luma.name.enhancement")),1),o(r,{content:e.$t("luma.description.enhancement")},null,8,["content"])]),n("div",ve,[o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=u=>e.value=u),class:"value"},null,8,["modelValue"])])])])}const we=w(fe,[["render",be]]),ke=b({name:"CustomSelector",components:{ElSwitch:j,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug("set custom",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=J)}}),ye={class:"relative"},Ve={class:"flex justify-between"},Ee={class:"flex justify-start items-center"},Se={class:"text-sm font-bold"},Le={class:"flex justify-end items-center"};function Ue(e,t,p,h,k,y){const r=s("info-icon"),d=s("el-switch");return a(),m("div",ye,[n("div",Ve,[n("div",Ee,[n("span",Se,i(e.$t("luma.name.custom")),1),o(r,{content:e.$t("luma.description.custom")},null,8,["content"])]),n("div",Le,[o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=u=>e.value=u),class:"value"},null,8,["modelValue"])])])])}const Ie=w(ke,[["render",Ue]]),Te=b({name:"LoopSelector",components:{ElSwitch:j,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug("set loop",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=Q)}}),Ce={class:"relative"},je={class:"flex justify-between"},Re={class:"flex justify-start items-center"},Ae={class:"text-sm font-bold"},Pe={class:"flex justify-end items-center"};function Ge(e,t,p,h,k,y){const r=s("info-icon"),d=s("el-switch");return a(),m("div",Ce,[n("div",je,[n("div",Re,[n("span",Ae,i(e.$t("luma.name.loop")),1),o(r,{content:e.$t("luma.description.loop")},null,8,["content"])]),n("div",Pe,[o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=u=>e.value=u),class:"value"},null,8,["modelValue"])])])])}const Me=w(Te,[["render",Ge]]),Be=b({name:"EndImage",components:{ElUpload:R,ElButton:U,ImagePreview:D,InfoIcon:S,FontAwesomeIcon:L},data(){return{fileList:[],uploadUrl:A()+"/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?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onExceed(){V.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){V.error(this.$t("luma.message.uploadReferencesError"))},onSetEndImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),ze={class:"relative"},De={class:"flex justify-between"},Fe={class:"flex justify-start items-center"},Oe={class:"text-sm font-bold"};function Ne(e,t,p,h,k,y){const r=s("info-icon"),d=s("image-preview"),u=s("font-awesome-icon"),$=s("el-button"),f=s("el-upload");return a(),m("div",ze,[n("div",De,[n("div",Fe,[n("span",Oe,i(e.$t("luma.name.endImageUrl")),1),o(r,{content:e.$t("luma.description.endImageUrl")},null,8,["content"])])]),o(f,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),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:c(({file:l})=>[l.url&&l.percentage!==void 0?(a(),v(d,{key:0,url:l.url,name:l.name,percentage:l.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):_("",!0)]),default:c(()=>[o($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(u,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadEndImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const qe=w(Be,[["render",Ne],["__scopeId","data-v-7ab78c3e"]]),He=b({name:"StartImage",components:{ElUpload:R,ElButton:U,ImagePreview:D,InfoIcon:S,FontAwesomeIcon:L},data(){return{fileList:[],uploadUrl:A()+"/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?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){V.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){V.error(this.$t("luma.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Ke={class:"relative"},We={class:"flex justify-between"},Ye={class:"flex justify-start items-center"},Ze={class:"text-sm font-bold"};function Je(e,t,p,h,k,y){const r=s("info-icon"),d=s("image-preview"),u=s("font-awesome-icon"),$=s("el-button"),f=s("el-upload");return a(),m("div",Ke,[n("div",We,[n("div",Ye,[n("span",Ze,i(e.$t("luma.name.startImageUrl")),1),o(r,{content:e.$t("luma.description.startImageUrl")},null,8,["content"])])]),o(f,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),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:c(({file:l})=>[l.percentage!=null?(a(),v(d,{key:0,url:l.url||l.response.file_url,name:l.name,percentage:l.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):_("",!0)]),default:c(()=>[o($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(u,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Qe=w(He,[["render",Je],["__scopeId","data-v-425a8cec"]]),Xe=b({name:"UploadVideo",components:{ElUpload:R,ElButton:U,InfoIcon:S,FilePreview:te,FontAwesomeIcon:L},data(){return{fileList:[],uploadUrl:A()+"/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.luma?.config?.video_url},set(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||(this.value=void 0)},methods:{onExceed(){V.warning(this.$t("luma.message.uploadVideoExceed"))},onError(){V.error(this.$t("luma.message.uploadVideoError"))},beforeUpload(e){const t=e.type==="video/mp4",p=e.size/1024/1024<10;return t?p?!0:(V.error(this.$t("luma.message.uploadVideoSizeExceed")),!1):(V.error(this.$t("luma.message.uploadVideoTypeFailed")),!1)},onSetVideoUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e,action:"extend"})},async onSuccess(){this.onSetVideoUrl()}}}),xe={class:"relative"},et={class:"flex justify-between"},tt={class:"flex justify-start items-center"},ot={class:"text-sm font-bold"};function st(e,t,p,h,k,y){const r=s("info-icon"),d=s("file-preview"),u=s("font-awesome-icon"),$=s("el-button"),f=s("el-upload");return a(),m("div",xe,[n("div",et,[n("div",tt,[n("span",ot,i(e.$t("luma.name.videoUrl")),1),o(r,{content:e.$t("luma.description.videoUrl")},null,8,["content"])])]),o(f,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),accept:".mp4",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:l})=>[l.percentage!=null?(a(),v(d,{key:0,url:l.url||l.response?.file_url,name:l.name,percentage:l.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):_("",!0)]),default:c(()=>[o($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(u,{icon:"fa-solid fa-upload",class:"icon mr-1"}),g(" "+i(e.$t("luma.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])])}const nt=w(Xe,[["render",st],["__scopeId","data-v-74e51526"]]),at="",lt=b({name:"PromptInput",components:{ElInput:q,InfoIcon:S},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=at)}}),it={class:"field"},rt={class:"box"},ct={class:"title font-bold"};function ut(e,t,p,h,k,y){const r=s("info-icon"),d=s("el-input");return a(),m("div",it,[n("div",rt,[n("h2",ct,i(e.$t("luma.name.prompt")),1),o(r,{content:e.$t("luma.description.prompt"),class:"info"},null,8,["content"])]),o(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=u=>e.prompt=u),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("luma.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const dt=w(lt,[["render",ut],["__scopeId","data-v-281baab8"]]),mt=b({name:"ExtendFromInput",components:{VideoPlayer:F},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.luma?.config}}}),pt={class:"relative"},ft={class:"flex mb-2"},_t={class:"text-sm font-bold"};function ht(e,t,p,h,k,y){const r=s("video-player");return a(),m("div",pt,[n("div",ft,[n("span",_t,i(e.$t("luma.name.extend")),1)]),n("div",null,[e.config?.video_url?(a(),v(r,{key:0,src:e.config?.video_url},null,8,["src"])):_("",!0)])])}const $t=w(mt,[["render",ht]]),gt=b({name:"ConfigPanel",components:{LoopSelector:Me,StartImageInput:Qe,EndImageInput:qe,EnhancementSelector:we,ElButton:U,FontAwesomeIcon:L,PromptInput:dt,ExtendFromInput:$t,CustomSelector:Ie,UploadVideo:nt,Consumption:oe},emits:["generate"],computed:{config(){return this.$store.state.luma?.config},consumption(){return ne(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit("generate")}}}),vt={class:"flex flex-col h-full"},bt={class:"flex-1 overflow-y-auto p-[15px]"},wt={class:"flex flex-col items-center justify-center px-[15px] pb-[15px]"};function kt(e,t,p,h,k,y){const r=s("extend-from-input"),d=s("prompt-input"),u=s("custom-selector"),$=s("upload-video"),f=s("start-image-input"),l=s("end-image-input"),E=s("enhancement-selector"),I=s("loop-selector"),O=s("consumption"),P=s("font-awesome-icon"),G=s("el-button");return a(),m("div",vt,[n("div",bt,[e.config?.video_id||e.config?.video_url?(a(),v(r,{key:0,class:"mb-4"})):_("",!0),o(d,{class:"mb-4"}),e.config?.video_id?_("",!0):(a(),v(u,{key:1,class:"mb-4"})),e.config?.custom?(a(),v($,{key:2,class:"mb-4"})):_("",!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(a(),v(f,{key:3,class:"mb-4"})):_("",!0),o(l,{class:"mb-4"}),o(E,{class:"mb-4"}),o(I,{class:"mb-4"})]),n("div",wt,[o(O,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(a(),v(G,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[o(P,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+i(e.$t("luma.button.extend")),1)]),_:1},8,["onClick"])):(a(),v(G,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[o(P,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+i(e.$t("luma.button.generate")),1)]),_:1},8,["onClick"]))])])}const yt=w(gt,[["render",kt]]),Vt=b({name:"TaskPreview",components:{ElImage:W,CopyToClipboard:ae,FontAwesomeIcon:L,ElAlert:K,VideoPlayer:F,ElTooltip:H,ElButton:U},props:{modelValue:{type:Object,required:!0}},emits:["extend"],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,t){console.debug("set config",t),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:"extend",thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit("extend")},onDownload(e){window.open(e,"_blank")}}}),Et={class:"preview"},St={class:"left"},Lt={class:"main"},Ut={class:"bot"},It={class:"datetime"},Tt={class:"info"},Ct={key:0,class:"prompt mt-2"},jt={key:0},Rt={key:1},At={key:0,class:T({content:!0,failed:!0})},Pt={key:0,class:"mb-4"},Gt={key:1,class:T({operations:!0,"mt-2":!0,"mb-4":!0})},Mt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Bt={key:1,class:T({content:!0})},zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ft={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ot={key:2,class:T({content:!0})},Nt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function qt(e,t,p,h,k,y){const r=s("el-image"),d=s("video-player"),u=s("el-button"),$=s("el-tooltip"),f=s("font-awesome-icon"),l=s("copy-to-clipboard"),E=s("el-alert");return a(),m("div",Et,[n("div",St,[o(r,{src:"https://cdn.acedata.cloud/ahjfwi.png",class:"avatar"})]),n("div",Lt,[n("div",Ut,[g(i(e.$t("luma.name.lumaBot"))+" ",1),n("span",It,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),n("div",Tt,[e.modelValue?.request?.prompt?(a(),m("p",Ct,[g(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?_("",!0):(a(),m("span",jt," - ("+i(e.$t("luma.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),m("span",Rt," - ("+i(e.$t("luma.status.processing"))+") ",1)):_("",!0)])):_("",!0)]),e.modelValue?.response?.success===!0?(a(),m("div",At,[e.modelValue.response.video_url?(a(),m("div",Pt,[o(d,{src:e.modelValue.response.video_url},null,8,["src"])])):_("",!0),e.modelValue?.response&&!e.config?.custom?(a(),m("div",Gt,[o($,{class:"box-item",effect:"dark",content:e.$t("luma.message.extendVideo"),placement:"top-start"},{default:c(()=>[o(u,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=M(I=>e.onExtend(I,e.modelValue?.response),["stop"]))},{default:c(()=>[g(i(e.$t("luma.button.extend")),1)]),_:1})]),_:1},8,["content"]),o($,{class:"box-item",effect:"dark",content:e.$t("luma.message.downloadVideo"),placement:"top-start"},{default:c(()=>[o(u,{type:"info",size:"small",class:"btn-action",onClick:t[1]||(t[1]=M(I=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:c(()=>[g(i(e.$t("luma.button.download")),1)]),_:1})]),_:1},8,["content"])])):_("",!0),o(E,{closable:!1,class:"mt-2 success"},{default:c(()=>[n("p",Mt,[o(f,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(l,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):_("",!0),e.modelValue?.response?.state==="failed"||e.modelValue?.response?.success===!1?(a(),m("div",Bt,[o(E,{closable:!1,class:"failure"},{template:c(()=>[o(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+i(e.$t("luma.name.failure")),1)]),default:c(()=>[n("p",zt,[o(f,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(l,{content:e.modelValue?.id},null,8,["content"])]),n("p",Dt,[o(f,{icon:"fa-solid fa-circle-info",class:"mr-1"}),g(" "+i(e.$t("luma.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),o(l,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),n("p",Ft,[o(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),g(" "+i(e.$t("luma.name.traceId"))+": "+i(e.modelValue?.trace_id)+" ",1),o(l,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):_("",!0),!e.modelValue?.response||e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),m("div",Ot,[o(E,{closable:!1,class:"info"},{template:c(()=>[o(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+i(e.$t("luma.name.failure")),1)]),default:c(()=>[n("p",Nt,[o(f,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(l,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):_("",!0)])])}const Ht=w(Vt,[["render",qt],["__scopeId","data-v-1b4a59bc"]]),Kt=b({name:"RecentPanel",components:{BotPlaceholder:le,TaskPreview:Ht,NoTasks:se,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:["reach-top","extend"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Wt={key:0},Yt={key:2,class:"w-full h-full flex items-center justify-center"};function Zt(e,t,p,h,k,y){const r=s("bot-placeholder"),d=s("task-preview"),u=s("scroll-list"),$=s("no-tasks");return a(),m(B,null,[e.tasks?.items===void 0?(a(),m("div",Wt,[o(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),v(u,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:t[1]||(t[1]=f=>e.$emit("reach-top"))},{default:c(()=>[(a(!0),m(B,null,Y(e.tasks?.items,f=>(a(),v(d,{key:f.id,"model-value":f,onExtend:t[0]||(t[0]=l=>e.$emit("extend"))},null,8,["model-value"]))),128))]),_:1},8,["loading"])):_("",!0),e.tasks?.items?.length===0?(a(),m("div",Yt,[o($)])):_("",!0)],64)}const Jt=w(Kt,[["render",Zt]]),Qt="https://webhook.acedata.cloud/luma",Xt=b({name:"LumaIndex",components:{ConfigPanel:yt,Layout:pe,RecentPanel:Jt},inject:["initialized"],emits:["extend"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===z.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.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 ie({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("luma/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("luma/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){console.debug("scrolling down"),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:h}=e||{};console.debug("limit",t,"createdAtMin",p,"createdAtMax",h),this.fetchingTasks=!0;try{await this.$store.dispatch("luma/getTasks",{limit:t,createdAtMin:p,createdAtMax:h})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Qt},t=this.credential?.token;if(!t){console.error("no token specified");return}V.info(this.$t("luma.message.startingTask")),X.generate(e,{token:t}).then(()=>{V.success(this.$t("luma.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===x?V.error(this.$t("luma.message.usedUp")):V.error(this.$t("luma.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function xt(e,t,p,h,k,y){const r=s("config-panel"),d=s("recent-panel"),u=s("layout");return a(),v(u,null,{config:c(()=>[o(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:c(()=>[o(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:t[0]||(t[0]=$=>e.$emit("extend"))},null,8,["loading","onReachTop"])]),_:1})}const go=w(Xt,[["render",xt]]);export{go as default};