@acedatacloud/nexior 3.251.0 → 3.252.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 (238) hide show
  1. package/dist/assets/{ApiCodeButton-BHdTeOqv.js → ApiCodeButton-OI5mHlsz.js} +1 -1
  2. package/dist/assets/{Auth-CxLEG5JZ.js → Auth-CiXiF1Kr.js} +1 -1
  3. package/dist/assets/{BotPlaceholder-DB0cJkHn.js → BotPlaceholder-CeRMdwzL.js} +1 -1
  4. package/dist/assets/{Callback-W8fZ0RA_.js → Callback-DC9HuPCi.js} +1 -1
  5. package/dist/assets/{Console-VmatT4jB.js → Console-DadmGJrj.js} +1 -1
  6. package/dist/assets/{Consumption-22q2vdkM.js → Consumption-C05reyZz.js} +1 -1
  7. package/dist/assets/{Conversation-nb5PJ51L.js → Conversation-DbAz0djm.js} +1 -1
  8. package/dist/assets/{CopyToClipboard-BdC8Cbh0.js → CopyToClipboard-VMhzQe2I.js} +1 -1
  9. package/dist/assets/{Detail-CboCxT_K.css → Detail-BR407GFU.css} +1 -1
  10. package/dist/assets/Detail-C8X0owmE.js +2 -0
  11. package/dist/assets/{Extra-CPHuKjwv.js → Extra-f-eeBn91.js} +1 -1
  12. package/dist/assets/{FilePreview-DN08gjd2.js → FilePreview-CD0rZ1Ts.js} +1 -1
  13. package/dist/assets/{Hailuo-CQGoDeFM.js → Hailuo-WJEhqlHH.js} +1 -1
  14. package/dist/assets/{History-BCerY2JL.js → History-BjFqw0CA.js} +1 -1
  15. package/dist/assets/{ImagePreview-DuB1YwYv.js → ImagePreview-C20ScRMB.js} +1 -1
  16. package/dist/assets/{ImageWrapper-sEcw-wkQ.js → ImageWrapper-BBoS5tpS.js} +1 -1
  17. package/dist/assets/{Index-BXwXLBQ8.js → Index-7GVBd6da.js} +1 -1
  18. package/dist/assets/{Index-DGVRw-Pw.js → Index-B-1_75Jq.js} +1 -1
  19. package/dist/assets/{Index-Dqk-VDqT.js → Index-B5Uwha7V.js} +1 -1
  20. package/dist/assets/{Index-CreuIPjZ.js → Index-BHsqBD1T.js} +1 -1
  21. package/dist/assets/{Index-D4oT7uOu.js → Index-BMn0upMa.js} +1 -1
  22. package/dist/assets/{Index-DQO65CuA.js → Index-BUA4naRp.js} +1 -1
  23. package/dist/assets/{Index-bFYpfp1n.js → Index-BqQ17dTx.js} +1 -1
  24. package/dist/assets/{Index-DM-h4tOc.js → Index-CTy6GV7F.js} +1 -1
  25. package/dist/assets/{Index-9emWpL7K.js → Index-CVaEwB56.js} +1 -1
  26. package/dist/assets/{Index-DCFHxk7n.js → Index-CdhZixMf.js} +1 -1
  27. package/dist/assets/{Index-BQSAiCbK.js → Index-CiIfBjUU.js} +1 -1
  28. package/dist/assets/{Index-xCNv4oxj.js → Index-CiTbdNM6.js} +1 -1
  29. package/dist/assets/{Index-Da36svCZ.js → Index-CjZDW-hu.js} +1 -1
  30. package/dist/assets/{Index-19yx4u1l.js → Index-CxhnHsHd.js} +1 -1
  31. package/dist/assets/{Index-U31C2ppe.js → Index-D4Mhn_NR.js} +1 -1
  32. package/dist/assets/{Index-By1gIBDa.js → Index-DQygsbGa.js} +1 -1
  33. package/dist/assets/{Index-BygrLYpO.js → Index-DV_lae8h.js} +1 -1
  34. package/dist/assets/{Index-E5dW_ZD5.js → Index-DZthJQl4.js} +1 -1
  35. package/dist/assets/{Index-jI9tsBBV.js → Index-DhgJpylx.js} +1 -1
  36. package/dist/assets/{Index-C5eBs7Fh.js → Index-DiASepRa.js} +1 -1
  37. package/dist/assets/{Index--xo1o4aW.js → Index-DmzssHy5.js} +1 -1
  38. package/dist/assets/Index-J1xK6HPP.js +1 -0
  39. package/dist/assets/{Index-DFV_er22.js → Index-mgX1-aqY.js} +1 -1
  40. package/dist/assets/{Index-DwP5XYR5.js → Index-uX1p4oR8.js} +1 -1
  41. package/dist/assets/{Index-DyPu9QHV.js → Index-yb2Nyizh.js} +1 -1
  42. package/dist/assets/{Invitees-D_ozuv-l.js → Invitees-C_YCMSVP.js} +1 -1
  43. package/dist/assets/{List-CFi3vGss.js → List-Bl_lkLd6.js} +1 -1
  44. package/dist/assets/{List-DlKeffEk.js → List-BtlMLAJm.js} +1 -1
  45. package/dist/assets/{List-DasVVyrF.js → List-CM3Pe17E.js} +1 -1
  46. package/dist/assets/{Main-Db1UOv_M.js → Main-tKbbvyuP.js} +1 -1
  47. package/dist/assets/{Model-C7WbfXr7.js → Model-CkR95iBC.js} +1 -1
  48. package/dist/assets/{Navigator-wqVKHyZP.js → Navigator-Db6mcrjB.js} +1 -1
  49. package/dist/assets/{NoTasks-D9pD2MYN.js → NoTasks-BMmjOL6C.js} +1 -1
  50. package/dist/assets/{NotFound-cd0-vh1V.js → NotFound-DM6Ou0hT.js} +1 -1
  51. package/dist/assets/{Pagination-B5LhBZim.js → Pagination-B3rbYo8q.js} +1 -1
  52. package/dist/assets/{Player.vue_vue_type_script_setup_true_lang-C-NuYlqw.js → Player.vue_vue_type_script_setup_true_lang-DUqOrsUP.js} +1 -1
  53. package/dist/assets/{Status-J3wbsfle.js → Status-BWX90kKH.js} +1 -1
  54. package/dist/assets/{Subscribe-BAbb7RJd.js → Subscribe-CmcqSMqI.js} +1 -1
  55. package/dist/assets/{TabSwitcher-VxwIyrl5.js → TabSwitcher-BwzmJBrX.js} +1 -1
  56. package/dist/assets/{Tts-BtzEStch.js → Tts-Dgqm2zxe.js} +1 -1
  57. package/dist/assets/{VideoPlayer-DJPYy11A.js → VideoPlayer-mRwxMvax.js} +1 -1
  58. package/dist/assets/{_Uint8Array-B9px9VMw.js → _Uint8Array-vXvvgSwF.js} +1 -1
  59. package/dist/assets/{_baseClone-gsImuTAs.js → _baseClone-0Kiqxc2t.js} +1 -1
  60. package/dist/assets/{_baseIteratee-BvbTPXxD.js → _baseIteratee-D3DXGIH5.js} +1 -1
  61. package/dist/assets/{_initCloneObject-Dd0zNGxl.js → _initCloneObject-BYrljc_C.js} +1 -1
  62. package/dist/assets/{add-BDtIVJ-P.js → add-ROKAhAx8.js} +1 -1
  63. package/dist/assets/{all-wallets-CcjqTZDL.js → all-wallets-C4D7_A_i.js} +1 -1
  64. package/dist/assets/{app-store-CV0itzon.js → app-store-DNPp78XV.js} +1 -1
  65. package/dist/assets/{apple-CS5nx7gZ.js → apple-DfNf6EZD.js} +1 -1
  66. package/dist/assets/{arrow-bottom-Dce5RvzX.js → arrow-bottom-DCCMMlIW.js} +1 -1
  67. package/dist/assets/{arrow-bottom-circle-XqM4C_Tt.js → arrow-bottom-circle-DvRlLXGl.js} +1 -1
  68. package/dist/assets/{arrow-left-C273v-0q.js → arrow-left-D2-6Ao7G.js} +1 -1
  69. package/dist/assets/{arrow-right-CqDuA41k.js → arrow-right-WiUOFK69.js} +1 -1
  70. package/dist/assets/{arrow-top-F0ylWbX3.js → arrow-top-CYKx4ckw.js} +1 -1
  71. package/dist/assets/{avatar-BoH1EXfG.js → avatar-CXNo-K1E.js} +1 -1
  72. package/dist/assets/{bank-DvGf3HOz.js → bank-VK8Xlchv.js} +1 -1
  73. package/dist/assets/{basic-CQYkt1Af.js → basic-Bl46DgE-.js} +1 -1
  74. package/dist/assets/{browser-BaskzVeQ.js → browser-DmRHza7S.js} +1 -1
  75. package/dist/assets/{byokCredential-Dgy2Xjmg.js → byokCredential-BezA-Q0o.js} +1 -1
  76. package/dist/assets/{card-2wxThrpp.js → card-C8Q1R8Ez.js} +1 -1
  77. package/dist/assets/{castArray-CC9kVLXs.js → castArray-D2L4b2-n.js} +1 -1
  78. package/dist/assets/{chat-CLd8W79q.js → chat-CpKjC_5N.js} +1 -1
  79. package/dist/assets/{checkmark-Bgczi_-f.js → checkmark-CXijf8G5.js} +1 -1
  80. package/dist/assets/{checkmark-bold-DaXLIsmd.js → checkmark-bold-DRWQKiQA.js} +1 -1
  81. package/dist/assets/{chevron-bottom-tiJJTyHd.js → chevron-bottom-C1BJv0L9.js} +1 -1
  82. package/dist/assets/{chevron-left-DTsFscLd.js → chevron-left-Vu2ADV9X.js} +1 -1
  83. package/dist/assets/{chevron-right-CG1nO492.js → chevron-right-CTdx1oVQ.js} +1 -1
  84. package/dist/assets/{chevron-top-DRoAD7CX.js → chevron-top-rKXEZs3X.js} +1 -1
  85. package/dist/assets/{chrome-store-i5H9y2EM.js → chrome-store-DAKnQGK-.js} +1 -1
  86. package/dist/assets/{clock-BCx8219b.js → clock-CvYNheDg.js} +1 -1
  87. package/dist/assets/{close-Dfa-Nj5p.js → close-36qwh4yN.js} +1 -1
  88. package/dist/assets/{coinPlaceholder-RMD09AMx.js → coinPlaceholder-B0KlaSqE.js} +1 -1
  89. package/dist/assets/{compass-gARHxBsn.js → compass-BkamIm6T.js} +1 -1
  90. package/dist/assets/{copy-uTMWo-9T.js → copy-CdhRy_sY.js} +1 -1
  91. package/dist/assets/{createTaskActions-D2a5_UME.js → createTaskActions-BQ-J-qYX.js} +1 -1
  92. package/dist/assets/{cursor-xDLV5mt3.js → cursor-D1Qo_oKB.js} +1 -1
  93. package/dist/assets/{cursor-transparent-DopwdKPA.js → cursor-transparent-BkRDmlpD.js} +1 -1
  94. package/dist/assets/{debounce-CSmM5ZXR.js → debounce-D3D-TN8J.js} +1 -1
  95. package/dist/assets/{desktop-CUvN2pJQ.js → desktop-B1CffDTz.js} +1 -1
  96. package/dist/assets/{disconnect-DQ2PlRkY.js → disconnect-B3FKrGvy.js} +1 -1
  97. package/dist/assets/{discord-Bnvh27tg.js → discord-DxAVeQ36.js} +1 -1
  98. package/dist/assets/{distribution-s2EBYSxp.js → distribution-ot7BdIuV.js} +1 -1
  99. package/dist/assets/{dropdown-BDAwSYiP.js → dropdown-i82x4SIN.js} +1 -1
  100. package/dist/assets/{etherscan-NV-zdJZ-.js → etherscan-B8JdXJbE.js} +1 -1
  101. package/dist/assets/{exclamation-triangle-w78GA6oi.js → exclamation-triangle-BJzfxL7S.js} +1 -1
  102. package/dist/assets/{extension-CoY_eDuA.js → extension-DheOQF9F.js} +1 -1
  103. package/dist/assets/{external-link-Dy5YJb2c.js → external-link-DNzdeJNg.js} +1 -1
  104. package/dist/assets/{facebook-DmdkJ4eQ.js → facebook-Cn5_nuiR.js} +1 -1
  105. package/dist/assets/{farcaster-C_o1mUXT.js → farcaster-CAOKDuWW.js} +1 -1
  106. package/dist/assets/{filters-BGhtJAXu.js → filters-CZczcfFI.js} +1 -1
  107. package/dist/assets/{github-BXKeH7c1.js → github-BKb-Obzl.js} +1 -1
  108. package/dist/assets/{google-DBQ9R01Z.js → google-BLkOdPl_.js} +1 -1
  109. package/dist/assets/{help-circle-D6R_mCky.js → help-circle-h5YQgj3B.js} +1 -1
  110. package/dist/assets/{highlight-I7n2HDZ_.js → highlight-D_nCtwSQ.js} +1 -1
  111. package/dist/assets/{id-Boivcwlf.js → id-DE8y_d17.js} +1 -1
  112. package/dist/assets/{image-CZNM4xQB.js → image-tUnoMmC1.js} +1 -1
  113. package/dist/assets/{index-CZoYV2BT.js → index-0SgFPXi5.js} +1 -1
  114. package/dist/assets/{index-Zs_RSJiy.js → index-0siBu26b.js} +1 -1
  115. package/dist/assets/{index-C8nSrmJy.js → index-27mJ7ET6.js} +1 -1
  116. package/dist/assets/{index-CnRbTeOn.js → index-2E79H4-m.js} +2 -2
  117. package/dist/assets/{index-DCdHN_kU.js → index-5K0Lpmid.js} +1 -1
  118. package/dist/assets/{index-CmFAdjC_.js → index-9mLl2MXe.js} +1 -1
  119. package/dist/assets/{index-Brfcv1mS.js → index-B-MleZa9.js} +1 -1
  120. package/dist/assets/{index-DudElnhG.js → index-B1M4uhu-.js} +1 -1
  121. package/dist/assets/{index-CI1_O9nO.js → index-B1i4gVgF.js} +1 -1
  122. package/dist/assets/{index-BNV68UQd.js → index-B3ON5KCY.js} +5 -5
  123. package/dist/assets/{index-9G6JgJTg.js → index-BKuC36PM.js} +1 -1
  124. package/dist/assets/{index-CKKTrs-A.js → index-BLNljvJY.js} +1 -1
  125. package/dist/assets/{index-DDof6EEv.js → index-BUPZeOUN.js} +1 -1
  126. package/dist/assets/{index-BEcMuCHv.js → index-BWEs8OdQ.js} +1 -1
  127. package/dist/assets/{index-iaCTCYEB.js → index-BYTebE_M.js} +1 -1
  128. package/dist/assets/{index-BUNQ7dx9.js → index-BbqZ38Fk.js} +1 -1
  129. package/dist/assets/{index-B5zxdDth.js → index-Bbqo-qSi.js} +1 -1
  130. package/dist/assets/{index-DQayfMfC.js → index-Bco_5N-Z.js} +1 -1
  131. package/dist/assets/{index-9nKLCtoe.js → index-BlbDJipA.js} +1 -1
  132. package/dist/assets/{index-CsSEOYzA.js → index-Bni1A9Rc.js} +1 -1
  133. package/dist/assets/{index-BqdlFChJ.js → index-BqqnmYpD.js} +1 -1
  134. package/dist/assets/{index-Bvpjzp34.js → index-Bz15zyvY.js} +1 -1
  135. package/dist/assets/{index--2f7MDXx.js → index-C4MW0Y-7.js} +1 -1
  136. package/dist/assets/{index-DluHzayj.js → index-C6MxxmdJ.js} +1 -1
  137. package/dist/assets/{index-DN9_oho_.js → index-C9YbnFDL.js} +1 -1
  138. package/dist/assets/{index-Cg4MRsId.js → index-CCiFJCOC.js} +1 -1
  139. package/dist/assets/{index-Bg2ejRDD.js → index-CDEW0Kb3.js} +1 -1
  140. package/dist/assets/{index-bBwFLlzj.js → index-CL0JKgby.js} +1 -1
  141. package/dist/assets/{index-B2EPWQiE.js → index-CRSR24vz.js} +1 -1
  142. package/dist/assets/{index-BSk-725W.js → index-CUBNhwXI.js} +1 -1
  143. package/dist/assets/{index-6Do5L3Je.js → index-CVLXhEPs.js} +1 -1
  144. package/dist/assets/{index-DJ7YBI96.js → index-CVPZ2Dty.js} +1 -1
  145. package/dist/assets/{index-WmSwhdVb.js → index-CYV32aGr.js} +1 -1
  146. package/dist/assets/{index-CPnOyA3V.js → index-CcdOdcaC.js} +1 -1
  147. package/dist/assets/{index-HxrK-PPY.js → index-Ckre7Zpa.js} +1 -1
  148. package/dist/assets/{index-LzXo0mzn.js → index-CmQ5Mbdo.js} +1 -1
  149. package/dist/assets/{index-vxkISzp9.js → index-CoBE4zDK.js} +1 -1
  150. package/dist/assets/{index-CUCBkA5h.js → index-CriRKKl4.js} +1 -1
  151. package/dist/assets/{index-NTPwpCMK.js → index-D4TuYCMj.js} +1 -1
  152. package/dist/assets/{index-B7rmq8LF.js → index-D6ZcNGZb.js} +1 -1
  153. package/dist/assets/{index-BmzWaYcX.js → index-D80gH5oR.js} +1 -1
  154. package/dist/assets/{index-D6Xq1qLB.js → index-D8cuJCJu.js} +1 -1
  155. package/dist/assets/{index-DX3OJjaL.js → index-DCKHnjpd.js} +1 -1
  156. package/dist/assets/{index-COizNE88.js → index-DKvCd3Nn.js} +1 -1
  157. package/dist/assets/{index-Boq2c21S.js → index-DO97gxud.js} +1 -1
  158. package/dist/assets/{index-BgvhaPN4.js → index-DTMMG9mo.js} +1 -1
  159. package/dist/assets/{index-bHt8D8Fx.js → index-DV3ASYVw.js} +1 -1
  160. package/dist/assets/{index-cURdfEhd.js → index-DaUAZ-Qi.js} +1 -1
  161. package/dist/assets/{index-UVOyhcwL.js → index-DaVcOf-H.js} +3 -3
  162. package/dist/assets/{index-BrKMdeCn.js → index-DbaQbYQ-.js} +1 -1
  163. package/dist/assets/{index-DHiyvjVe.js → index-DdZdmuPG.js} +1 -1
  164. package/dist/assets/{index-BQNwhlPF.js → index-DfR9Qbi5.js} +1 -1
  165. package/dist/assets/{index-CP77TWdb.js → index-DiKXm2Vl.js} +14 -14
  166. package/dist/assets/{index-DJTkzTe0.js → index-DjSAdHwP.js} +1 -1
  167. package/dist/assets/{index-BKOJmWhd.js → index-DlO_4Ch8.js} +1 -1
  168. package/dist/assets/{index-DFs6h0eu.js → index-DmkksXrm.js} +1 -1
  169. package/dist/assets/{index-CF_Ht2eg.js → index-DpuiO2XK.js} +1 -1
  170. package/dist/assets/{index-DqLR3ggM.js → index-Huz7bqDK.js} +1 -1
  171. package/dist/assets/{index-D0Z7HYEa.js → index-HvX88gUe.js} +1 -1
  172. package/dist/assets/{index-Bt8VAG0p.js → index-M80r0o0t.js} +1 -1
  173. package/dist/assets/{index-CpIAt5NM.js → index-NYylF2dS.js} +1 -1
  174. package/dist/assets/{index-DfHoFSR_.js → index-ZfUaPKcv.js} +1 -1
  175. package/dist/assets/{index-CHWw2lZ5.css → index-v6xzjQaz.css} +1 -1
  176. package/dist/assets/{index-CawEUGxe.js → index-xfKA6XaK.js} +1 -1
  177. package/dist/assets/{index.browser.esm-hqDcKZ2Z.js → index.browser.esm-DEcfVR7W.js} +1 -1
  178. package/dist/assets/{index.es-R1Cr8Ee-.js → index.es-DvG6Omih.js} +1 -1
  179. package/dist/assets/{info-circle-CNzUNLEV.js → info-circle-DeGG4x2m.js} +1 -1
  180. package/dist/assets/{info-Bwpk_i5Q.js → info-gtogHc-R.js} +1 -1
  181. package/dist/assets/{isEqual-CzWauzgC.js → isEqual-UX6HkLTo.js} +1 -1
  182. package/dist/assets/{isPlainObject-COFJSjfi.js → isPlainObject-B8kQT8U7.js} +1 -1
  183. package/dist/assets/{lightbulb-BRh6wO6q.js → lightbulb-BRKjhZQP.js} +1 -1
  184. package/dist/assets/{mail-x8_rDYZb.js → mail--S6sFbUJ.js} +1 -1
  185. package/dist/assets/{midjourney-4yxcisie.js → midjourney-BglPHigl.js} +1 -1
  186. package/dist/assets/{mobile-BnSv8pKS.js → mobile-DM4lyUCh.js} +1 -1
  187. package/dist/assets/{more-B5oGElGV.js → more-CcrRfq1A.js} +1 -1
  188. package/dist/assets/{network-placeholder-B7e_kbcx.js → network-placeholder-BZn-Rqvr.js} +1 -1
  189. package/dist/assets/{nftPlaceholder-x8zRDUBZ.js → nftPlaceholder-BUy9XKfY.js} +1 -1
  190. package/dist/assets/{off-p-4z3p9z.js → off-C7HsBIVu.js} +1 -1
  191. package/dist/assets/{order-BuKrNzGg.js → order-CkQDY4Jd.js} +1 -1
  192. package/dist/assets/{pagination-CEeOobhb.js → pagination-Dx2jY-ov.js} +1 -1
  193. package/dist/assets/{play-store-B_4ncO4P.js → play-store-D1Pbz7Mh.js} +1 -1
  194. package/dist/assets/{plus-B6SWMCJF.js → plus-BdBAesM2.js} +1 -1
  195. package/dist/assets/{price-Di78GKvw.js → price-BTmfK-T9.js} +1 -1
  196. package/dist/assets/{producer-BBQW0Sen.js → producer-NotRcX_R.js} +1 -1
  197. package/dist/assets/{qr-code-DhGCrGf_.js → qr-code-a4spXoOz.js} +1 -1
  198. package/dist/assets/{recycle-horizontal-DhIalnTB.js → recycle-horizontal-B-uPxj4L.js} +1 -1
  199. package/dist/assets/{refresh-B-uXfIQT.js → refresh-zOHKLrzl.js} +1 -1
  200. package/dist/assets/{reown-logo-Cpirtare.js → reown-logo-Cxl8UKru.js} +1 -1
  201. package/dist/assets/{search-Bu3MkP5Q.js → search-bDCuOEXU.js} +1 -1
  202. package/dist/assets/{secp256k1-YNbExKzL.js → secp256k1-Bvy-lRdo.js} +1 -1
  203. package/dist/assets/{secp256k1-Bc_-Bb4J.js → secp256k1-BwwcvsGj.js} +1 -1
  204. package/dist/assets/{seedream-DLy7ID4I.js → seedream-CrqIuoYy.js} +1 -1
  205. package/dist/assets/{send-_3Wajko0.js → send-CbJwvUBX.js} +1 -1
  206. package/dist/assets/{service-O-5zC0C6.js → service-CHHVOHr5.js} +1 -1
  207. package/dist/assets/{solana-wallets-B38TkiZo.js → solana-wallets-DPIIroDt.js} +2 -2
  208. package/dist/assets/{solana-wallets-vue-DYGY2JlU.js → solana-wallets-vue-DyJIJkGB.js} +1 -1
  209. package/dist/assets/{suno-D8ZaN7sh.js → suno--8m3yc4O.js} +1 -1
  210. package/dist/assets/{swapHorizontal-Bvn86BJu.js → swapHorizontal-h5M0bqX-.js} +1 -1
  211. package/dist/assets/{swapHorizontalBold-BZgkjH3b.js → swapHorizontalBold-D-GIWgtE.js} +1 -1
  212. package/dist/assets/{swapHorizontalMedium-BGyJ0qnF.js → swapHorizontalMedium-DuNaDDWo.js} +1 -1
  213. package/dist/assets/{swapHorizontalRoundedBold-B025EweZ.js → swapHorizontalRoundedBold-B3MPO_nA.js} +1 -1
  214. package/dist/assets/{swapVertical-B8oeHQBM.js → swapVertical-DwgiW8VQ.js} +1 -1
  215. package/dist/assets/{telegram-BPdypYHQ.js → telegram-C3YFBxeu.js} +1 -1
  216. package/dist/assets/{three-dots-1ODAolu7.js → three-dots-DPU4Ehnn.js} +1 -1
  217. package/dist/assets/{twitch-BM_MZMnj.js → twitch-D4JM9Noi.js} +1 -1
  218. package/dist/assets/{twitterIcon-CPhiE_-F.js → twitterIcon-CMRWMSiJ.js} +1 -1
  219. package/dist/assets/{typescript-Ha3ghiIN.js → typescript-nWN70UwR.js} +1 -1
  220. package/dist/assets/{use-form-item-GKgluxER.js → use-form-item-d9y6c1OU.js} +1 -1
  221. package/dist/assets/validator-BS3Z4xEC.js +1 -0
  222. package/dist/assets/{verify-filled-DkV-cORX.js → verify-filled-ORvtBkcK.js} +1 -1
  223. package/dist/assets/{verify-Bbjyo941.js → verify-tP64B1rn.js} +1 -1
  224. package/dist/assets/{w3m-modal-Dha6a0gP.js → w3m-modal-Dzf7spro.js} +1 -1
  225. package/dist/assets/{wallet-DDhq49Lq.js → wallet-nLJ3AfFR.js} +1 -1
  226. package/dist/assets/{wallet-placeholder-BTVVaZBp.js → wallet-placeholder-CCBA8L-s.js} +1 -1
  227. package/dist/assets/{walletconnect-CTCKbwc6.js → walletconnect-DFVFR52p.js} +1 -1
  228. package/dist/assets/{warning-circle-DuzYDfiz.js → warning-circle-GChbM6D0.js} +1 -1
  229. package/dist/assets/web-CB0uQbRT.js +1 -0
  230. package/dist/assets/{web-rZmxJ7gV.js → web-D2v13US7.js} +1 -1
  231. package/dist/assets/{web-D0_jqT4d.js → web-DrUm0od0.js} +1 -1
  232. package/dist/assets/{web-DrdICiwO.js → web-iZ9b_q_6.js} +1 -1
  233. package/dist/assets/{x-BAIzJuAC.js → x-BUN4HTP_.js} +1 -1
  234. package/dist/index.html +2 -2
  235. package/package.json +4 -2
  236. package/dist/assets/Detail-DqjwXZEX.js +0 -2
  237. package/dist/assets/Index-DT9Zwt5J.js +0 -1
  238. package/dist/assets/validator-CmydtgCY.js +0 -1
@@ -1 +1 @@
1
- import{F as L}from"./index.es-R1Cr8Ee-.js";import{E as N}from"./index-CawEUGxe.js";import{E as se}from"./index-DJTkzTe0.js";import{d as S,G as c,D as s,z as R,C as o,y as a,J as n,q as r,E as i,O as I,N as j,I as m,x as v,H as w,F as G,K as B,M as E,L as ne}from"./vendor-vue-Ck7I6JZv.js";import{J as U,bq as re,dv as H,dw as K,Y as M,Z as ie,S as F,cu as x,dx as ae,ct as le,o as de}from"./index-CP77TWdb.js";import{a as ce}from"./errorCode-Cqj9Td_Z.js";import{u as ue,a as pe,e as me}from"./uploadTrackerMixin--N-yU8Tl.js";import{p as T}from"./producer-BBQW0Sen.js";import{I as A,A as fe,S as he,l as _e}from"./pagination-CEeOobhb.js";import{a as $e}from"./producer-BGNC4QeM.js";import{E as ge}from"./index-Bg2ejRDD.js";import{E as ve,a as ye}from"./index-bHt8D8Fx.js";import{E as ee,a as te}from"./index-B7rmq8LF.js";import{E as be}from"./index-CZoYV2BT.js";import{E as k}from"./index-DFs6h0eu.js";import{P as ke,N as we}from"./NoTasks-D9pD2MYN.js";import{E as q}from"./index-DDof6EEv.js";import{u as J,F as Ce,_ as Ve}from"./Player.vue_vue_type_script_setup_true_lang-C-NuYlqw.js";import{E as Y}from"./index-vxkISzp9.js";import{E as D}from"./index-BKOJmWhd.js";import{E as Se}from"./index-C8nSrmJy.js";import{E as Ue,a as Pe}from"./index-DluHzayj.js";import{C as Ee}from"./Consumption-22q2vdkM.js";import{a as Ae}from"./price-Di78GKvw.js";import{E as Te,a as Fe}from"./index-Bvpjzp34.js";import{E as Ie,b as Le,a as Ge}from"./index-iaCTCYEB.js";import{E as De}from"./index-Cg4MRsId.js";import{a as ze,E as Ze}from"./index-9G6JgJTg.js";import{E as Re}from"./index-bBwFLlzj.js";import"./use-form-item-GKgluxER.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-CBGKudGF.js";import"./highlight-I7n2HDZ_.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./validator-CmydtgCY.js";import"./index-BQNwhlPF.js";import"./index-BrKMdeCn.js";import"./typescript-Ha3ghiIN.js";import"./strings-C53lWZ6Y.js";import"./isEqual-CzWauzgC.js";import"./_Uint8Array-B9px9VMw.js";import"./castArray-CC9kVLXs.js";import"./debounce-CSmM5ZXR.js";import"./_baseIteratee-BvbTPXxD.js";import"./index-BUNQ7dx9.js";import"./index-DX3OJjaL.js";import"./_baseClone-gsImuTAs.js";import"./_initCloneObject-Dd0zNGxl.js";import"./index-CpIAt5NM.js";import"./index-LzXo0mzn.js";import"./dropdown-BDAwSYiP.js";import"./index-CzfZ4hlp.js";import"./index--2f7MDXx.js";import"./isPlainObject-COFJSjfi.js";const je=S({name:"LayoutProducer",components:{ElDrawer:se,ElButton:N,FontAwesomeIcon:L},data(){return{drawer:!1,preview:!1}},computed:{}}),Ne={class:"main flex flex-row flex-1"},Be={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},Me={class:"result h-full flex flex-col flex-1 min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"},qe={class:"preview h-full w-[300px] flex flex-col"};function Oe(e,t,u,l,y,b){const d=n("font-awesome-icon"),f=n("el-button"),h=n("el-drawer");return r(),c("div",Ne,[s("div",Be,[R(e.$slots,"config",{},void 0,!0)]),s("div",Me,[R(e.$slots,"result",{},void 0,!0)]),s("div",qe,[R(e.$slots,"preview",{},void 0,!0)]),o(f,{circle:"",class:"menu",onClick:t[0]||(t[0]=g=>e.drawer=!0)},{default:a(()=>[o(d,{icon:"fa-solid fa-magic"})]),_:1}),o(h,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:a(()=>[R(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const We=U(je,[["render",Oe],["__scopeId","data-v-03e2979b"]]),He=S({name:"TypeSelector",components:{ElSelect:ye,ElOption:ve,ElSwitch:ge,InfoIcon:A},data(){return{options:[{label:"FUZZ-2.0 Pro",value:"FUZZ-2.0 Pro",desc:this.$t("producer.model.fuzz20proDesc")},{label:"FUZZ-2.0",value:"FUZZ-2.0",desc:this.$t("producer.model.fuzz20desc")},{label:"FUZZ-2.0 Raw",value:"FUZZ-2.0 Raw",desc:this.$t("producer.model.fuzz20rawDesc")},{label:"FUZZ-1.1 Pro",value:"FUZZ-1.1 Pro",desc:this.$t("producer.model.fuzz11proDesc")},{label:"FUZZ-1.1",value:"FUZZ-1.1",desc:this.$t("producer.model.fuzz11desc")},{label:"FUZZ-1.0 Pro",value:"FUZZ-1.0 Pro",desc:this.$t("producer.model.fuzz10proDesc")},{label:"FUZZ-1.0",value:"FUZZ-1.0",desc:this.$t("producer.model.fuzz10desc")},{label:"FUZZ-0.8",value:"FUZZ-0.8",desc:this.$t("producer.model.fuzz08desc")}]}},computed:{custom:{get(){return this.$store.state.producer?.config?.custom||!1},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,custom:e})}},instrumental:{get(){return this.$store.state.producer?.config?.instrumental||!1},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,instrumental:e})}},model:{get(){return this.$store.state.producer?.config?.model},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,model:e})}}},mounted(){this.model||(this.model=$e)}}),Ke={class:"mb-3"},Je={class:"flex items-center mb-1"},Ye={class:"text-sm font-bold"},Qe={class:"model-option"},Xe={class:"model-option-name"},xe={class:"model-option-desc"},et={key:0,class:"flex items-center justify-between mb-3"},tt={class:"flex items-center"},ot={class:"text-sm font-bold"};function st(e,t,u,l,y,b){const d=n("el-option"),f=n("el-select"),h=n("info-icon"),g=n("el-switch");return r(),c("div",null,[s("div",Ke,[s("div",Je,[s("span",Ye,i(e.$t("producer.name.model")),1)]),o(f,{modelValue:e.model,"onUpdate:modelValue":t[0]||(t[0]=_=>e.model=_),class:"w-full model-select",size:"default",placeholder:e.$t("producer.placeholder.select")},{default:a(()=>[(r(!0),c(I,null,j(e.options,_=>(r(),v(d,{key:_.value,label:_.label,value:_.value},{default:a(()=>[s("div",Qe,[s("span",Xe,i(_.label),1),s("span",xe,i(_.desc),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),e.custom?(r(),c("div",et,[s("div",tt,[s("span",ot,i(e.$t("producer.name.instrumental")),1),o(h,{content:e.$t("producer.description.instrumental")},null,8,["content"])]),o(g,{modelValue:e.instrumental,"onUpdate:modelValue":t[1]||(t[1]=_=>e.instrumental=_)},null,8,["modelValue"])])):m("",!0)])}const nt=U(He,[["render",st],["__scopeId","data-v-42496b9a"]]),rt=S({name:"UploadAudio",components:{ElUpload:be,ElButton:N,ElRadioGroup:te,ElRadioButton:ee,InfoIcon:A,FontAwesomeIcon:L},mixins:[ue],emits:["change"],data(){return{fileList:[],uploadUrl:re()+"/api/v1/files/",audioPreviewUrl:null,uploading:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},credential(){return this.$store.state.producer.credential},config(){return this.$store.state.producer.config},urls(){return this.fileList.map(e=>e?.response?.file_url)},hasUploadedAudio(){const e=this.$store.state.producer?.config?.action;return e==="upload_extend"||e==="upload_cover"},uploadAction:{get(){return this.$store.state.producer?.config?.action||"upload_extend"},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,action:e})}}},watch:{urls:{handler(e){this.$emit("change",e)}}},methods:{onExceed(){k.warning(this.$t("producer.message.uploadReferencesExceed"))},onError(){this.uploading=!1,k.error(this.$t("producer.message.uploadReferencesError"))},async onSuccess(){const e=this.urls?.[0];if(!e){this.uploading=!1;return}this.audioPreviewUrl=e,await this.onGenerateAudioId(e)},async onGenerateAudioId(e){const t={audio_url:e},u=this.credential?.token;if(!u){console.error("no token specified"),this.uploading=!1;return}this.uploading=!0,k.info(this.$t("producer.message.startingUploadAudio"));try{const y=(await T.upload(t,{token:u})).data?.data.audio_id;this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,audio_id:y,action:"upload_extend"}),k.success(this.$t("producer.message.startUploadAudioSuccess"))}catch(l){k.error(l?.response?.data?.error?.message||this.$t("producer.message.startUploadAudioFailed"))}finally{this.uploading=!1}}}}),it={class:"relative"},at={class:"flex justify-between items-center mb-2"},lt={class:"flex justify-start items-center"},dt={class:"text-sm font-bold"},ct={key:0,class:"mb-2"},ut=["src"],pt={key:1,class:"mt-1"};function mt(e,t,u,l,y,b){const d=n("info-icon"),f=n("font-awesome-icon"),h=n("el-button"),g=n("el-upload"),_=n("el-radio-button"),P=n("el-radio-group");return r(),c("div",it,[s("div",at,[s("div",lt,[s("span",dt,i(e.$t("producer.name.referenceAudios")),1),o(d,{content:e.$t("producer.description.uploadAudios")},null,8,["content"])]),o(g,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=$=>e.fileList=$),name:"file",limit:1,class:"upload-wrapper inline-upload",action:e.uploadUrl,accept:".mp3,.wav,.m4a,audio/*","show-file-list":!1,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{default:a(()=>[o(h,{round:"",type:"primary",size:"small",loading:e.uploading},{default:a(()=>[o(f,{icon:"fa-solid fa-upload",class:"icon mr-1"}),w(" "+i(e.$t("producer.button.uploadAudios")),1)]),_:1},8,["loading"])]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])]),e.audioPreviewUrl?(r(),c("div",ct,[s("audio",{src:e.audioPreviewUrl,controls:"",class:"w-full"},null,8,ut)])):m("",!0),e.hasUploadedAudio?(r(),c("div",pt,[o(P,{modelValue:e.uploadAction,"onUpdate:modelValue":t[1]||(t[1]=$=>e.uploadAction=$),size:"small"},{default:a(()=>[o(_,{value:"upload_extend"},{default:a(()=>[w(i(e.$t("producer.button.extend")),1)]),_:1}),o(_,{value:"upload_cover"},{default:a(()=>[w(i(e.$t("producer.button.cover_music")),1)]),_:1})]),_:1},8,["modelValue"])])):m("",!0)])}const ft=U(rt,[["render",mt],["__scopeId","data-v-7fd0580a"]]),ht="",_t=S({name:"PromptInput",components:{PromptTextarea:ke},computed:{prompt:{get(){return this.$store.state.producer?.config?.prompt},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ht)}});function $t(e,t,u,l,y,b){const d=n("prompt-textarea");return r(),v(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=f=>e.prompt=f),title:e.$t("producer.name.songDescription"),info:e.$t("producer.description.prompt"),placeholder:e.$t("producer.placeholder.prompt"),"min-rows":5,"max-rows":14},null,8,["modelValue","title","info","placeholder"])}const gt=U(_t,[["render",$t]]),vt="",yt=S({name:"LyricInput",components:{ElInput:q,ElButton:N,FontAwesomeIcon:L,InfoIcon:A},data(){return{generatingLyrics:!1}},computed:{lyric:{get(){return this.$store.state.producer?.config?.lyric},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,lyric:e})}},config(){return this.$store.state.producer?.config},credential(){return this.$store.state.producer?.credential}},mounted(){this.lyric||(this.lyric=vt)},methods:{async onGenerateLyrics(){const e=this.credential?.token;if(!e)return;const t=this.config?.style||this.config?.title||"a beautiful song";this.generatingLyrics=!0,k.info(this.$t("producer.message.generatingLyrics"));try{const l=(await T.lyric({prompt:t},{token:e})).data?.data;l?.text&&(this.lyric=l.text,l?.title&&!this.config?.title&&this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,lyric:l.text,title:l.title}),k.success(this.$t("producer.message.generateLyricsSuccess")))}catch{k.error(this.$t("producer.message.generateLyricsFailed"))}finally{this.generatingLyrics=!1}}}}),bt={class:"field"},kt={class:"flex items-center justify-between mb-1"},wt={class:"flex items-center"},Ct={class:"text-sm font-bold"};function Vt(e,t,u,l,y,b){const d=n("info-icon"),f=n("font-awesome-icon"),h=n("el-button"),g=n("el-input");return r(),c("div",bt,[s("div",kt,[s("div",wt,[s("span",Ct,i(e.$t("producer.name.lyrics")),1),o(d,{content:e.$t("producer.description.lyrics")},null,8,["content"])]),e.config?.action!=="extend"?(r(),v(h,{key:0,size:"small",loading:e.generatingLyrics,round:"",onClick:e.onGenerateLyrics},{default:a(()=>[e.generatingLyrics?m("",!0):(r(),v(f,{key:0,icon:"fa-solid fa-wand-magic-sparkles",class:"mr-1"})),w(" "+i(e.$t("producer.button.generate_lyrics")),1)]),_:1},8,["loading","onClick"])):m("",!0)]),e.config?.action!=="extend"?(r(),v(g,{key:0,modelValue:e.lyric,"onUpdate:modelValue":t[0]||(t[0]=_=>e.lyric=_),rows:5,type:"textarea",class:"lyrics",placeholder:e.$t("producer.placeholder.lyrics")},null,8,["modelValue","placeholder"])):(r(),v(g,{key:1,modelValue:e.lyric,"onUpdate:modelValue":t[1]||(t[1]=_=>e.lyric=_),rows:5,type:"textarea",class:"lyrics",placeholder:e.$t("producer.placeholder.extend.lyrics")},null,8,["modelValue","placeholder"]))])}const St=U(yt,[["render",Vt],["__scopeId","data-v-88c6da2b"]]),Ut=S({name:"StyleInput",components:{ElInput:q,InfoIcon:A},computed:{style:{get(){return this.$store.state.producer?.config?.style},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,style:e})}}}}),Pt={class:"field"},Et={class:"flex items-center justify-between mb-1"},At={class:"flex items-center"},Tt={class:"text-sm font-bold"};function Ft(e,t,u,l,y,b){const d=n("info-icon"),f=n("el-input");return r(),c("div",Pt,[s("div",Et,[s("div",At,[s("span",Tt,i(e.$t("producer.name.style")),1),o(d,{content:e.$t("producer.description.style")},null,8,["content"])])]),o(f,{modelValue:e.style,"onUpdate:modelValue":t[0]||(t[0]=h=>e.style=h),rows:2,type:"textarea",placeholder:e.$t("producer.placeholder.style")},null,8,["modelValue","placeholder"])])}const It=U(Ut,[["render",Ft]]),Lt=S({name:"TitleInput",components:{ElInput:q,InfoIcon:A},computed:{title:{get(){return this.$store.state.producer?.config?.title},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,title:e})}}}}),Gt={class:"field"},Dt={class:"flex items-center mb-1"},zt={class:"text-sm font-bold"};function Zt(e,t,u,l,y,b){const d=n("info-icon"),f=n("el-input");return r(),c("div",Gt,[s("div",Dt,[s("span",zt,i(e.$t("producer.name.title")),1),o(d,{content:e.$t("producer.description.title")},null,8,["content"])]),o(f,{modelValue:e.title,"onUpdate:modelValue":t[0]||(t[0]=h=>e.title=h),placeholder:e.$t("producer.placeholder.title")},null,8,["modelValue","placeholder"])])}const Rt=U(Lt,[["render",Zt]]),jt=S({name:"ExtendFromInput",components:{ElImage:D,ElIcon:M,ElInputNumber:Y,VideoPlay:K,VideoPause:H},data(){return{}},computed:{audio(){return this.$store.state.producer?.config?.audio},value:{get(){return this.$store.state.producer?.config?.continue_at},set(e){console.debug("set continue_at",e),this.$store.commit("producer/setConfig",{...this.$store.state.producer?.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:J,onPlay(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.producer?.audio?.id!==e.id&&this.onPlay({...e,progress:0})}}}),Nt={class:"field"},Bt={class:"box"},Mt={class:"title font-bold"},qt={class:"input-wrapper"},Ot={class:"task"},Wt={class:"left"},Ht={key:2,class:"duration"},Kt={class:"info"},Jt={class:"title"},Yt={class:"style"};function Qt(e,t,u,l,y,b){const d=n("el-input-number"),f=n("el-image"),h=n("video-pause"),g=n("el-icon"),_=n("video-play"),P=B("loading");return r(),c("div",Nt,[s("div",Bt,[s("h2",Mt,i(e.$t("producer.name.extend")),1),s("div",qt,[o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=$=>e.value=$),class:"value",min:0,max:e.audio?.duration,controls:!1,placeholder:e.$t("producer.placeholder.extend.continue_at"),onChange:e.handleChange},null,8,["modelValue","max","placeholder","onChange"])])]),s("div",Ot,[e.audio?(r(),c("div",{key:0,class:"audio",onClick:t[3]||(t[3]=$=>e.onClick(e.audio))},[G((r(),c("div",Wt,[o(f,{src:e.audio?.image_url,class:"cover",fit:"cover"},null,8,["src"]),e.audio?.audio_url&&e.$store.state?.producer?.audio?.id===e.audio.id&&e.$store.state?.producer?.audio?.state==="playing"?(r(),c("div",{key:0,class:"overlay",onClick:t[1]||(t[1]=$=>e.onPause(e.audio))},[o(g,null,{default:a(()=>[o(h)]),_:1})])):m("",!0),e.audio?.audio_url&&(e.$store.state?.producer?.audio?.id!==e.audio.id||e.$store.state?.producer?.audio?.id===e.audio.id&&e.$store.state?.producer?.audio?.state==="paused")?(r(),c("div",{key:1,class:"overlay",onClick:t[2]||(t[2]=$=>e.onPlay(e.audio))},[o(g,null,{default:a(()=>[o(_)]),_:1})])):m("",!0),e.audio?.duration?(r(),c("div",Ht,i(e.useFormatDuring(e.audio?.duration)),1)):m("",!0)])),[[P,!e.audio?.audio_url]]),s("div",Kt,[s("h2",Jt,i(e.audio?.title),1),s("p",Yt,i(e.audio?.style),1)])])):m("",!0)])])}const Xt=U(jt,[["render",Qt],["__scopeId","data-v-26d43480"]]),xt=S({name:"CoverFromInput",components:{ElImage:D,ElIcon:M,VideoPlay:K,VideoPause:H},data(){return{}},computed:{audio(){return this.$store.state.producer?.config?.audio},value:{get(){return this.$store.state.producer?.config?.continue_at},set(e){console.debug("set continue_at",e),this.$store.commit("producer/setConfig",{...this.$store.state.producer?.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:J,onPlay(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.producer?.audio?.id!==e.id&&this.onPlay({...e,progress:0})}}}),eo={class:"field"},to={class:"box"},oo={class:"title font-bold"},so={class:"task"},no={class:"left"},ro={key:2,class:"duration"},io={class:"info"},ao={class:"title"},lo={class:"style"};function co(e,t,u,l,y,b){const d=n("el-image"),f=n("video-pause"),h=n("el-icon"),g=n("video-play"),_=B("loading");return r(),c("div",eo,[s("div",to,[s("h2",oo,i(e.$t("producer.name.cover")),1)]),s("div",so,[e.audio?(r(),c("div",{key:0,class:"audio",onClick:t[2]||(t[2]=P=>e.onClick(e.audio))},[G((r(),c("div",no,[o(d,{src:e.audio?.image_url,class:"cover",fit:"cover"},null,8,["src"]),e.audio?.audio_url&&e.$store.state?.producer?.audio?.id===e.audio.id&&e.$store.state?.producer?.audio?.state==="playing"?(r(),c("div",{key:0,class:"overlay",onClick:t[0]||(t[0]=P=>e.onPause(e.audio))},[o(h,null,{default:a(()=>[o(f)]),_:1})])):m("",!0),e.audio?.audio_url&&(e.$store.state?.producer?.audio?.id!==e.audio.id||e.$store.state?.producer?.audio?.id===e.audio.id&&e.$store.state?.producer?.audio?.state==="paused")?(r(),c("div",{key:1,class:"overlay",onClick:t[1]||(t[1]=P=>e.onPlay(e.audio))},[o(h,null,{default:a(()=>[o(g)]),_:1})])):m("",!0),e.audio?.duration?(r(),c("div",ro,i(e.useFormatDuring(e.audio?.duration)),1)):m("",!0)])),[[_,!e.audio?.audio_url]]),s("div",io,[s("h2",ao,i(e.audio?.title),1),s("p",lo,i(e.audio?.style),1)])])):m("",!0)])])}const uo=U(xt,[["render",co],["__scopeId","data-v-d8a8e583"]]),po=S({name:"VocalGenderSelector",components:{ElRadioGroup:te,ElRadioButton:ee,InfoIcon:A},computed:{vocalGender:{get(){return this.$store.state.producer?.config?.vocal_gender||""},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,vocal_gender:e||void 0})}}}}),mo={class:"mb-2"},fo={class:"flex items-center mb-1"},ho={class:"text-sm font-bold"};function _o(e,t,u,l,y,b){const d=n("info-icon"),f=n("el-radio-button"),h=n("el-radio-group");return r(),c("div",mo,[s("div",fo,[s("span",ho,i(e.$t("producer.name.vocalGender")),1),o(d,{content:e.$t("producer.description.vocalGender")},null,8,["content"])]),o(h,{modelValue:e.vocalGender,"onUpdate:modelValue":t[0]||(t[0]=g=>e.vocalGender=g)},{default:a(()=>[o(f,{value:""},{default:a(()=>[w(i(e.$t("producer.gender.auto")),1)]),_:1}),o(f,{value:"f"},{default:a(()=>[w(i(e.$t("producer.gender.female")),1)]),_:1}),o(f,{value:"m"},{default:a(()=>[w(i(e.$t("producer.gender.male")),1)]),_:1})]),_:1},8,["modelValue"])])}const $o=U(po,[["render",_o]]),go=S({name:"AdvancedParams",components:{ElCollapse:Pe,ElCollapseItem:Ue,ElInput:q,ElSlider:Se,ElInputNumber:Y,InfoIcon:A},data(){return{activeNames:[]}},computed:{config(){return this.$store.state.producer?.config},styleNegative:{get(){return this.$store.state.producer?.config?.style_negative||""},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,style_negative:e||void 0})}},lyricPrompt:{get(){return this.$store.state.producer?.config?.lyric_prompt||""},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,lyric_prompt:e||void 0})}},weirdness:{get(){return this.$store.state.producer?.config?.weirdness??.5},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,weirdness:e})}},soundStrength:{get(){return this.$store.state.producer?.config?.sound_strength??.7},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,sound_strength:e})}},lyricsStrength:{get(){return this.$store.state.producer?.config?.lyrics_strength??.7},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,lyrics_strength:e})}},seed:{get(){return this.$store.state.producer?.config?.seed},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,seed:e})}}},mounted(){const e=this.$store.state.producer?.config;if(!e)return;const t={};typeof e.weirdness=="number"&&e.weirdness>1&&(t.weirdness=e.weirdness/100),typeof e.sound_strength=="number"&&e.sound_strength>1&&(t.sound_strength=e.sound_strength/100),typeof e.lyrics_strength=="number"&&e.lyrics_strength>1&&(t.lyrics_strength=e.lyrics_strength/100),Object.keys(t).length>0&&this.$store.commit("producer/setConfig",{...e,...t})}}),vo={key:0,class:"mb-3"},yo={class:"flex items-center mb-1"},bo={class:"text-xs font-bold"},ko={key:1,class:"mb-3"},wo={class:"flex items-center mb-1"},Co={class:"text-xs font-bold"},Vo={class:"mb-3"},So={class:"flex items-center justify-between mb-1"},Uo={class:"flex items-center"},Po={class:"text-xs font-bold"},Eo={class:"text-xs text-[var(--el-text-color-secondary)]"},Ao={class:"mb-3"},To={class:"flex items-center justify-between mb-1"},Fo={class:"flex items-center"},Io={class:"text-xs font-bold"},Lo={class:"text-xs text-[var(--el-text-color-secondary)]"},Go={key:2,class:"mb-3"},Do={class:"flex items-center justify-between mb-1"},zo={class:"flex items-center"},Zo={class:"text-xs font-bold"},Ro={class:"text-xs text-[var(--el-text-color-secondary)]"},jo={class:"mb-3"},No={class:"flex items-center mb-1"},Bo={class:"text-xs font-bold"};function Mo(e,t,u,l,y,b){const d=n("info-icon"),f=n("el-input"),h=n("el-slider"),g=n("el-input-number"),_=n("el-collapse-item"),P=n("el-collapse");return r(),v(P,{modelValue:e.activeNames,"onUpdate:modelValue":t[6]||(t[6]=$=>e.activeNames=$),class:"advanced-collapse"},{default:a(()=>[o(_,{title:e.$t("producer.name.advancedParams"),name:"advanced"},{default:a(()=>[e.config?.custom?(r(),c("div",vo,[s("div",yo,[s("span",bo,i(e.$t("producer.name.styleNegative")),1),o(d,{content:e.$t("producer.description.styleNegative")},null,8,["content"])]),o(f,{modelValue:e.styleNegative,"onUpdate:modelValue":t[0]||(t[0]=$=>e.styleNegative=$),size:"small",placeholder:e.$t("producer.placeholder.styleNegative")},null,8,["modelValue","placeholder"])])):m("",!0),e.config?.custom&&!e.config?.instrumental?(r(),c("div",ko,[s("div",wo,[s("span",Co,i(e.$t("producer.name.lyricPrompt")),1),o(d,{content:e.$t("producer.description.lyricPrompt")},null,8,["content"])]),o(f,{modelValue:e.lyricPrompt,"onUpdate:modelValue":t[1]||(t[1]=$=>e.lyricPrompt=$),size:"small",placeholder:e.$t("producer.placeholder.lyricPrompt")},null,8,["modelValue","placeholder"])])):m("",!0),s("div",Vo,[s("div",So,[s("div",Uo,[s("span",Po,i(e.$t("producer.name.weirdness")),1),o(d,{content:e.$t("producer.description.weirdness")},null,8,["content"])]),s("span",Eo,i(e.weirdness??.5),1)]),o(h,{modelValue:e.weirdness,"onUpdate:modelValue":t[2]||(t[2]=$=>e.weirdness=$),min:0,max:1,step:.01},null,8,["modelValue"])]),s("div",Ao,[s("div",To,[s("div",Fo,[s("span",Io,i(e.$t("producer.name.soundStrength")),1),o(d,{content:e.$t("producer.description.soundStrength")},null,8,["content"])]),s("span",Lo,i(e.soundStrength??.7),1)]),o(h,{modelValue:e.soundStrength,"onUpdate:modelValue":t[3]||(t[3]=$=>e.soundStrength=$),min:.2,max:1,step:.01},null,8,["modelValue"])]),e.config?.custom&&!e.config?.instrumental?(r(),c("div",Go,[s("div",Do,[s("div",zo,[s("span",Zo,i(e.$t("producer.name.lyricsStrength")),1),o(d,{content:e.$t("producer.description.lyricsStrength")},null,8,["content"])]),s("span",Ro,i(e.lyricsStrength??.7),1)]),o(h,{modelValue:e.lyricsStrength,"onUpdate:modelValue":t[4]||(t[4]=$=>e.lyricsStrength=$),min:0,max:1,step:.01},null,8,["modelValue"])])):m("",!0),s("div",jo,[s("div",No,[s("span",Bo,i(e.$t("producer.name.seed")),1),o(d,{content:e.$t("producer.description.seed")},null,8,["content"])]),o(g,{modelValue:e.seed,"onUpdate:modelValue":t[5]||(t[5]=$=>e.seed=$),min:0,controls:!1,size:"small",placeholder:e.$t("producer.placeholder.seed"),class:"w-full"},null,8,["modelValue","placeholder"])])]),_:1},8,["title"])]),_:1},8,["modelValue"])}const qo=U(go,[["render",Mo],["__scopeId","data-v-f9296888"]]),Oo=S({name:"ReplaceSectionInput",components:{ElInputNumber:Y,ElImage:D,InfoIcon:A},computed:{audio(){return this.$store.state.producer?.config?.audio},replaceSectionStart:{get(){return this.$store.state.producer?.config?.replace_section_start},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,replace_section_start:e})}},replaceSectionEnd:{get(){return this.$store.state.producer?.config?.replace_section_end},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,replace_section_end:e})}}},methods:{onClick(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"playing"})}}}),Wo={class:"field"},Ho={class:"flex items-center mb-2"},Ko={class:"text-sm font-bold m-0"},Jo={key:0,class:"task mb-2"},Yo={class:"left relative w-[50px] h-[50px] mr-3 flex-shrink-0"},Qo={class:"info flex-1 min-w-0"},Xo={class:"text-sm font-bold m-0 truncate"},xo={class:"text-xs text-[var(--el-text-color-secondary)] m-0 truncate"},es={class:"flex gap-2"};function ts(e,t,u,l,y,b){const d=n("info-icon"),f=n("el-image"),h=n("el-input-number"),g=B("loading");return r(),c("div",Wo,[s("div",Ho,[s("h2",Ko,i(e.$t("producer.name.replaceSection")),1),o(d,{content:e.$t("producer.description.replaceSection")},null,8,["content"])]),e.audio?(r(),c("div",Jo,[s("div",{class:"audio flex items-center",onClick:t[0]||(t[0]=_=>e.onClick(e.audio))},[G((r(),c("div",Yo,[o(f,{src:e.audio?.image_url,class:"w-full h-full rounded",fit:"cover"},null,8,["src"])])),[[g,!e.audio?.audio_url]]),s("div",Qo,[s("h2",Xo,i(e.audio?.title),1),s("p",xo,i(e.audio?.style),1)])])])):m("",!0),s("div",es,[o(h,{modelValue:e.replaceSectionStart,"onUpdate:modelValue":t[1]||(t[1]=_=>e.replaceSectionStart=_),class:"flex-1",min:0,max:e.audio?.duration,controls:!1,placeholder:e.$t("producer.placeholder.replaceSectionStart")},null,8,["modelValue","max","placeholder"]),o(h,{modelValue:e.replaceSectionEnd,"onUpdate:modelValue":t[2]||(t[2]=_=>e.replaceSectionEnd=_),class:"flex-1",min:e.replaceSectionStart||0,max:e.audio?.duration,controls:!1,placeholder:e.$t("producer.placeholder.replaceSectionEnd")},null,8,["modelValue","min","max","placeholder"])])])}const os=U(Oo,[["render",ts]]),ss=S({name:"PresetPanel",components:{TypeSelector:nt,PromptInput:gt,LyricInput:St,StyleInput:It,TitleInput:Rt,ExtendFromInput:Xt,CoverFromInput:uo,UploadAudio:ft,VocalGenderSelector:$o,AdvancedParams:qo,ReplaceSectionInput:os,FontAwesomeIcon:L,ElButton:N,ElTabs:Fe,ElTabPane:Te,Consumption:Ee},emits:["generate"],computed:{config(){return this.$store.state.producer?.config},mode:{get(){return this.$store.state.producer?.config?.custom?"custom":"simple"},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,custom:e==="custom"})}},consumption(){return Ae(this.config,this.service?.cost)},service(){return this.$store.state.producer?.service},generateButtonText(){const e=this.config?.action;return e==="extend"||e==="upload_extend"?this.$t("producer.button.extend"):e==="cover"||e==="upload_cover"?this.$t("producer.button.cover_music"):e==="variation"?this.$t("producer.button.variation"):e==="replace_section"?this.$t("producer.button.replace_section"):e==="stems"?this.$t("producer.button.get_stems"):e==="swap_vocals"?this.$t("producer.button.swap_vocals"):e==="swap_instrumentals"?this.$t("producer.button.swap_instrumentals"):this.$t("producer.button.generate")}},methods:{onGenerate(){this.$emit("generate")},onClearAll(){this.$store.commit("producer/setConfig",{custom:this.$store.state.producer?.config?.custom||!1,instrumental:!1,prompt:"",lyric:"",style:"",title:"",model:this.$store.state.producer?.config?.model})}}}),ns={class:"flex flex-col h-full"},rs={class:"flex-1 overflow-y-auto p-5"},is={class:"pt-2 px-1"},as={class:"pt-2 px-1"},ls={class:"flex flex-col items-center justify-center px-5 pb-5 gap-2"},ds={class:"flex gap-2 w-full"};function cs(e,t,u,l,y,b){const d=n("type-selector"),f=n("upload-audio"),h=n("prompt-input"),g=n("extend-from-input"),_=n("cover-from-input"),P=n("replace-section-input"),$=n("advanced-params"),C=n("el-tab-pane"),z=n("lyric-input"),Z=n("style-input"),O=n("title-input"),W=n("vocal-gender-selector"),p=n("el-tabs"),V=n("consumption"),Q=n("font-awesome-icon"),X=n("el-button");return r(),c("div",ns,[s("div",rs,[o(p,{modelValue:e.mode,"onUpdate:modelValue":t[0]||(t[0]=oe=>e.mode=oe),class:"producer-mode-tabs",stretch:""},{default:a(()=>[o(C,{label:e.$t("producer.mode.simple"),name:"simple"},{default:a(()=>[s("div",is,[o(d,{class:"mb-4"}),o(f,{class:"mb-4"}),o(h,{class:"mb-4"}),e.config?.action==="extend"?(r(),v(g,{key:0,class:"mb-4"})):m("",!0),e.config?.action==="cover"?(r(),v(_,{key:1,class:"mb-4"})):m("",!0),e.config?.action==="replace_section"?(r(),v(P,{key:2,class:"mb-4"})):m("",!0),o($,{class:"mb-4"})])]),_:1},8,["label"]),o(C,{label:e.$t("producer.mode.custom"),name:"custom"},{default:a(()=>[s("div",as,[o(d,{class:"mb-4"}),o(f,{class:"mb-4"}),e.config?.instrumental?m("",!0):(r(),v(z,{key:0,class:"mb-4"})),o(Z,{class:"mb-4"}),o(O,{class:"mb-4"}),e.config?.instrumental?m("",!0):(r(),v(W,{key:1,class:"mb-4"})),e.config?.action==="extend"?(r(),v(g,{key:2,class:"mb-4"})):m("",!0),e.config?.action==="cover"?(r(),v(_,{key:3,class:"mb-4"})):m("",!0),e.config?.action==="replace_section"?(r(),v(P,{key:4,class:"mb-4"})):m("",!0),o($,{class:"mb-4"})])]),_:1},8,["label"])]),_:1},8,["modelValue"])]),s("div",ls,[o(V,{value:e.consumption,service:e.service},null,8,["value","service"]),s("div",ds,[o(X,{class:"flex-1",onClick:e.onClearAll},{default:a(()=>[o(Q,{icon:"fa-solid fa-broom",class:"mr-1"}),w(" "+i(e.$t("producer.button.clear_all")),1)]),_:1},8,["onClick"]),o(X,{type:"primary",class:"flex-1",round:"",onClick:e.onGenerate},{default:a(()=>[o(Q,{icon:"fa-solid fa-magic",class:"mr-2"}),w(" "+i(e.generateButtonText),1)]),_:1},8,["onClick"])])])])}const us=U(ss,[["render",cs],["__scopeId","data-v-4a4b209e"]]),ps=x("producer"),ms=S({name:"TaskPreview",components:{ElImage:D,ElIcon:M,ElTooltip:De,FontAwesomeIcon:L,VideoPlay:K,VideoPause:H,ElDropdown:Ge,ElDropdownMenu:Le,ElDropdownItem:Ie,Loading:ie,ApiCodeDialog:fe},props:{modelValue:{type:Object,required:!0}},data(){return{isFetchingVideoUrl:!1,isFetchingWav:!1,apiCodeVisible:!1,apiCodePath:"/producer/audios",apiCodeBody:{}}},computed:{loading(){return this.$store.state.producer?.status?.getApplications===F.Request},credential(){return this.$store.state.producer.credential},config(){return this.$store.state.producer.config},task(){return this.$store.state.producer?.tasks},audios(){const e=this.modelValue?.response?.data??[],t=this.modelValue?.request?.action;return t?e.map(u=>({...u,action:t})):e},application(){return this.$store.state.producer?.application},active(){return this.$store.state.producer?.tasks?.active}},methods:{useFormatDuring:J,onViewCode(){const e=this.modelValue?.request||{},t={};Object.entries(e).forEach(([u,l])=>{u==="application_id"||u==="callback_url"||l!=null&&(typeof l=="string"&&l===""||Array.isArray(l)&&l.length===0||(t[u]=l))}),this.apiCodeBody=t,this.apiCodePath="/producer/audios",this.apiCodeVisible=!0},onPlay(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.producer?.audio?.id!==e.id&&this.onPlay({...e,progress:0})},onExtend(e,t){e.stopPropagation(),console.debug("set config",t),this.$store.commit("producer/setConfig",{...this.$store.state.producer?.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();const l=new URL(t).pathname,y=l.substring(l.lastIndexOf("/")+1);fetch(t).then(b=>b.blob()).then(b=>{Ce.saveAs(b,y)})},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("producer.message.getVideoUrlFailed"))}finally{this.isFetchingVideoUrl=!1}},async fetchVideoUrlFromApi(e){return new Promise((t,u)=>{const l={audio_id:e},y=this.credential?.token;if(!y){console.error("no token specified"),u(new Error("No token specified"));return}T.video(l,{token:y}).then(b=>{const d=b.data?.data?.video_url;d?t(d):u(new Error("Video URL not found in response"))}).catch(b=>{u(b)})})},onPreview(e,t){e.stopPropagation(),window.open(t,"_blank")},async onGetStems(e){await this.onGenerateAudioUrl("stems",e)},onCover(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,model:e.model,custom:!0,instrumental:!1,style:e.style,action:"cover",audio:e,audio_id:e.id})},onVariation(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,model:e.model,custom:!0,style:e.style,action:"variation",audio:e,audio_id:e.id})},async onSwapVocals(e){await this.onGenerateAudioUrl("swap_vocals",e)},async onSwapInstrumentals(e){await this.onGenerateAudioUrl("swap_instrumentals",e)},async onGetAllStems(e){await this.onGenerateAudioUrl("all_stems",e)},onReplaceSection(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,model:e.model,custom:!0,instrumental:!1,style:e.style,action:"replace_section",audio:e,audio_id:e.id,replace_section_start:0,replace_section_end:Math.min(30,e.duration||30)})},async handleWavDownload(e){if(!e?.id||this.isFetchingWav)return;const t=this.credential?.token;if(t)try{this.isFetchingWav=!0,k.info(this.$t("producer.message.fetchingWav"));const l=(await T.wav({audio_id:e.id},{token:t})).data?.data,y=Array.isArray(l)?l[0]?.file_url:l?.file_url||l?.audio_url;y?this.onDownload(null,y):k.error(this.$t("producer.message.fetchWavFailed"))}catch{k.error(this.$t("producer.message.fetchWavFailed"))}finally{this.isFetchingWav=!1}},async onGenerateAudioUrl(e,t){const u={action:e,audio_id:t,callback_url:ps},l=this.credential?.token;if(!l){console.error("no token specified");return}k.info(this.$t("producer.message.startingTask")),T.audio(u,{token:l}).then(()=>{k.success(this.$t("producer.message.startTaskSuccess"))}).catch(y=>{k.error(y?.response?.data?.error?.message||this.$t("producer.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("producer/getTasks",{limit:30,offset:0})}}}),fs={class:"task"},hs=["onClick"],_s={class:"left"},$s=["onClick"],gs=["onClick"],vs={key:2,class:"duration"},ys={class:"info"},bs={class:"title"},ks={class:"style"},ws={class:"right"},Cs={class:"el-dropdown-link"},Vs={class:"flex items-center min-w-[120px]"},Ss={class:"flex items-center min-w-[120px]"},Us={class:"el-dropdown-link"};function Ps(e,t,u,l,y,b){const d=n("el-image"),f=n("video-pause"),h=n("el-icon"),g=n("video-play"),_=n("font-awesome-icon"),P=n("el-tooltip"),$=n("Loading"),C=n("el-dropdown-item"),z=n("el-dropdown-menu"),Z=n("el-dropdown"),O=n("api-code-dialog"),W=B("loading");return r(),c("div",fs,[(r(!0),c(I,null,j(e.audios,p=>(r(),c("div",{key:p.id,class:"audio",onClick:E(V=>e.onClick(p),["stop"])},[G((r(),c("div",_s,[o(d,{src:p?.image_url,class:"cover",fit:"cover",lazy:""},null,8,["src"]),p?.audio_url&&e.$store.state?.producer?.audio?.id===p.id&&e.$store.state?.producer?.audio?.state==="playing"?(r(),c("div",{key:0,class:"overlay",onClick:E(V=>e.onPause(p),["stop"])},[o(h,null,{default:a(()=>[o(f)]),_:1})],8,$s)):m("",!0),p?.audio_url&&(e.$store.state?.producer?.audio?.id!==p.id||e.$store.state?.producer?.audio?.id===p.id&&e.$store.state?.producer?.audio?.state==="paused")?(r(),c("div",{key:1,class:"overlay",onClick:E(V=>e.onPlay(p),["stop"])},[o(h,null,{default:a(()=>[o(g)]),_:1})],8,gs)):m("",!0),p?.duration?(r(),c("div",vs,i(e.useFormatDuring(p?.duration)),1)):m("",!0)])),[[W,!p?.audio_url]]),s("div",ys,[s("h2",bs,i(p?.title),1),s("p",ks,i(p?.style),1)]),s("div",ws,[o(Z,null,{dropdown:a(()=>[o(z,null,{default:a(()=>[o(C,{disabled:e.isFetchingVideoUrl,onClick:V=>e.handleVideoDownload(p)},{default:a(()=>[s("div",Vs,[e.isFetchingVideoUrl?(r(),v(h,{key:0,class:"is-loading mr-2"},{default:a(()=>[o($)]),_:1})):m("",!0),s("span",null,i(e.$t("producer.button.download_video")),1)])]),_:1},8,["disabled","onClick"]),p?.audio_url?(r(),v(C,{key:0,onClick:E(V=>e.onDownload(V,p?.audio_url),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.download_audio")),1)]),_:1},8,["onClick"])):m("",!0),o(C,{disabled:e.isFetchingWav,onClick:V=>e.handleWavDownload(p)},{default:a(()=>[s("div",Ss,[e.isFetchingWav?(r(),v(h,{key:0,class:"is-loading mr-2"},{default:a(()=>[o($)]),_:1})):m("",!0),s("span",null,i(e.$t("producer.button.download_wav")),1)])]),_:1},8,["disabled","onClick"])]),_:2},1024)]),default:a(()=>[s("span",Cs,[o(P,{effect:"dark",content:e.$t("producer.button.download"),placement:"top"},{default:a(()=>[p?.audio_url||p?.video_url?(r(),v(_,{key:0,icon:"fa-solid fa-download",class:"icon icon-download"})):m("",!0)]),_:2},1032,["content"])])]),_:2},1024),o(Z,null,{dropdown:a(()=>[o(z,null,{default:a(()=>[p?.audio_url?(r(),v(C,{key:0,onClick:E(V=>e.onExtend(V,p),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.extend")),1)]),_:1},8,["onClick"])):m("",!0),p.id?(r(),v(C,{key:1,onClick:E(V=>e.onGetStems(p.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.get_stems")),1)]),_:1},8,["onClick"])):m("",!0),p.id?(r(),v(C,{key:2,onClick:E(V=>e.onGetAllStems(p.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.all_stems")),1)]),_:1},8,["onClick"])):m("",!0),o(C,{onClick:E(V=>e.onCover(p),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.cover_music")),1)]),_:1},8,["onClick"]),p?.id?(r(),v(C,{key:3,onClick:E(V=>e.onVariation(p),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.variation")),1)]),_:1},8,["onClick"])):m("",!0),p?.id?(r(),v(C,{key:4,onClick:E(V=>e.onSwapVocals(p.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.swap_vocals")),1)]),_:1},8,["onClick"])):m("",!0),p?.id?(r(),v(C,{key:5,onClick:E(V=>e.onSwapInstrumentals(p.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.swap_instrumentals")),1)]),_:1},8,["onClick"])):m("",!0),p?.id?(r(),v(C,{key:6,onClick:E(V=>e.onReplaceSection(p),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.replace_section")),1)]),_:1},8,["onClick"])):m("",!0),o(C,{onClick:E(e.onViewCode,["stop"])},{default:a(()=>[o(_,{icon:"fa-solid fa-code",class:"mr-1"}),w(" "+i(e.$t("common.button.viewCode")),1)]),_:1},8,["onClick"])]),_:2},1024)]),default:a(()=>[s("span",Us,[o(P,{effect:"dark",content:e.$t("producer.button.more"),placement:"top"},{default:a(()=>[p?.audio_url||p?.video_url?(r(),v(_,{key:0,icon:"fa-solid fa-ellipsis",class:"icon icon-ellipsis"})):m("",!0)]),_:2},1032,["content"])])]),_:2},1024)])],8,hs))),128)),o(O,{visible:e.apiCodeVisible,"onUpdate:visible":t[0]||(t[0]=p=>e.apiCodeVisible=p),method:"POST",path:e.apiCodePath,body:e.apiCodeBody,token:e.$store.state.producer?.credential?.token||""},null,8,["visible","path","body","token"])])}const Es=U(ms,[["render",Ps]]),As=S({name:"RecentPanel",components:{ElSkeletonItem:Ze,ElSkeleton:ze,TaskPreview:Es,Player:Ve,NoTasks:we,ScrollList:he},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.producer?.tasks,items:this.$store.state.producer?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ts={key:0,class:"tasks"},Fs={class:"left w-[70px] p-[10px] flex items-center"},Is={class:"main w-[calc(100%-70px)] flex-1 p-[10px]"},Ls={key:2,class:"w-full flex-1 flex items-center justify-center"},Gs={class:"h-20"};function Ds(e,t,u,l,y,b){const d=n("el-skeleton-item"),f=n("el-skeleton"),h=n("task-preview"),g=n("scroll-list"),_=n("no-tasks"),P=n("player");return r(),c(I,null,[e.tasks?.items===void 0?(r(),c("div",Ts,[(r(),c(I,null,j(3,$=>s("div",{key:$,class:"flex"},[s("div",Fs,[o(f,{animated:""},{template:a(()=>[o(d,{variant:"image",class:"avatar w-[50px] h-[50px]"})]),_:1})]),s("div",Is,[o(f,{animated:""},{template:a(()=>[o(d,{variant:"p",class:"w-[200px] h-[15px] mb-[5px] mt-[10px]"}),o(d,{variant:"text"})]),_:1})])])),64))])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(r(),v(g,{key:1,ref:"scrollList",class:"flex-1 w-full overflow-y-auto tasks p-2",loading:e.loading,onReachTop:t[0]||(t[0]=$=>e.$emit("reach-top"))},{default:a(()=>[(r(!0),c(I,null,j(e.tasks?.items,($,C)=>(r(),v(h,{key:C,"model-value":$,class:"preview"},null,8,["model-value"]))),128))]),_:1},8,["loading"])):m("",!0),e.tasks?.items?.length===0?(r(),c("div",Ls,[o(_)])):m("",!0),G(s("div",Gs,[o(P,{namespace:"producer"})],512),[[ne,!!e.$store?.state?.producer?.audio?.object]])],64)}const zs=U(As,[["render",Ds]]),Zs=S({name:"TaskPreview",components:{IconPicture:ae,ElImage:D,ElAvatar:Re,ElIcon:M},computed:{audio(){return this.$store.state.producer?.audio}}}),Rs={key:0,class:"size-full overflow-hidden"},js={class:"relative h-[300px]"},Ns={class:"flex items-center justify-center size-full bg-[var(--el-bg-color)]"},Bs={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"},Ms={class:"p-4"},qs={class:"flex items-center font-bold mb-2"},Os={class:"text-[var(--el-text-color-regular)] mb-2"},Ws={class:"text-xs text-[var(--el-text-color-regular)]"},Hs={class:"mt-4 text-sm leading-[25px] whitespace-pre-wrap"},Ks={key:1,class:"w-full h-full"};function Js(e,t,u,l,y,b){const d=n("icon-picture"),f=n("el-icon"),h=n("el-image"),g=n("el-avatar");return e.audio?.object?(r(),c("div",Rs,[s("div",js,[o(h,{src:e.audio.image_url,fit:"cover",class:"size-full"},{error:a(()=>[s("div",Ns,[o(f,{class:"text-3xl"},{default:a(()=>[o(d)]),_:1})])]),_:1},8,["src"]),s("h2",Bs,i(e.audio?.title),1)]),s("div",Ms,[s("div",qs,[o(g,{size:30,src:e.audio?.image_url,class:"mr-2"},null,8,["src"]),s("span",null,i(e.audio?.title),1)]),s("p",Os,i(e.audio?.style),1),s("p",Ws,i(e.$dayjs.format(e.audio?.created_at)),1),s("div",Hs,[s("p",null,i(e.audio?.lyric),1)])])])):(r(),c("div",Ks))}const Ys=U(Zs,[["render",Js]]),Qs=x("producer"),Xs=S({name:"ProducerIndex",components:{Layout:We,ConfigPanel:us,RecentPanel:zs,PreviewPanel:Ys},mixins:[pe],inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.producer?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.producer?.status?.getTasks===F.Request||this.fetchingTasks},service(){return this.$store.state.producer.service},credential(){return this.$store.state.producer.credential},config(){return this.$store.state.producer.config},initializing(){return this.$store.state.producer.status.getApplications===F.Request},needApply(){return this.$store.state.producer.status.getApplications===F.Success&&!this.application},application(){return this.$store.state.producer.application},tasks(){return this.$store.state.producer.tasks},applications(){return this.$store.state.producer.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 _e({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("producer/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplications"),await this.$store.dispatch("producer/getApplications"),console.debug("end onGetApplications"),await this.onGetTasks()},onApply(){de.create({application:this.application}).then(({data:e})=>{this.application=e,k.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===ce&&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:u,createdAtMax:l}=e||{};console.debug("limit",t,"createdAtMin",u,"createdAtMax",l),this.fetchingTasks=!0;try{await this.$store.dispatch("producer/getTasks",{limit:t,createdAtMin:u,createdAtMax:l})}finally{this.fetchingTasks=!1}},async onGenerateAudio(){if(!me(this.uploadTracker,u=>this.$t(u),u=>k.warning(u)))return;const e={...this.config,callback_url:Qs},t=this.credential?.token;if(!t){console.error("no token specified");return}k.info(this.$t("producer.message.startingTask")),le("producer",T.audio(e,{token:t})).then(()=>{k.success(this.$t("producer.message.startTaskSuccess"))}).catch(u=>{k.error(u?.response?.data?.error?.message||this.$t("producer.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function xs(e,t,u,l,y,b){const d=n("config-panel"),f=n("recent-panel"),h=n("preview-panel"),g=n("layout");return r(),v(g,null,{config:a(()=>[o(d,{onGenerate:e.onGenerateAudio},null,8,["onGenerate"])]),result:a(()=>[o(f,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),preview:a(()=>[o(h)]),_:1})}const nr=U(Xs,[["render",xs],["__scopeId","data-v-a766e27a"]]);export{nr as default};
1
+ import{F as L}from"./index.es-DvG6Omih.js";import{E as N}from"./index-xfKA6XaK.js";import{E as se}from"./index-DjSAdHwP.js";import{d as S,G as c,D as s,z as R,C as o,y as a,J as n,q as r,E as i,O as I,N as j,I as m,x as v,H as w,F as G,K as B,M as E,L as ne}from"./vendor-vue-Ck7I6JZv.js";import{J as U,bq as re,dw as H,dx as K,Y as M,Z as ie,S as F,cu as x,dy as ae,ct as le,o as de}from"./index-DiKXm2Vl.js";import{a as ce}from"./errorCode-Cqj9Td_Z.js";import{u as ue,a as pe,e as me}from"./uploadTrackerMixin--N-yU8Tl.js";import{p as T}from"./producer-NotRcX_R.js";import{I as A,A as fe,S as he,l as _e}from"./pagination-Dx2jY-ov.js";import{a as $e}from"./producer-BGNC4QeM.js";import{E as ge}from"./index-CDEW0Kb3.js";import{E as ve,a as ye}from"./index-DV3ASYVw.js";import{E as ee,a as te}from"./index-D6ZcNGZb.js";import{E as be}from"./index-0SgFPXi5.js";import{E as k}from"./index-DmkksXrm.js";import{P as ke,N as we}from"./NoTasks-BMmjOL6C.js";import{E as q}from"./index-BUPZeOUN.js";import{u as J,F as Ce,_ as Ve}from"./Player.vue_vue_type_script_setup_true_lang-DUqOrsUP.js";import{E as Y}from"./index-CoBE4zDK.js";import{E as D}from"./index-DlO_4Ch8.js";import{E as Se}from"./index-27mJ7ET6.js";import{E as Ue,a as Pe}from"./index-C6MxxmdJ.js";import{C as Ee}from"./Consumption-C05reyZz.js";import{a as Ae}from"./price-BTmfK-T9.js";import{E as Te,a as Fe}from"./index-Bz15zyvY.js";import{E as Ie,b as Le,a as Ge}from"./index-BYTebE_M.js";import{E as De}from"./index-CCiFJCOC.js";import{a as ze,E as Ze}from"./index-BKuC36PM.js";import{E as Re}from"./index-CL0JKgby.js";import"./use-form-item-d9y6c1OU.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-CBGKudGF.js";import"./highlight-D_nCtwSQ.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./validator-BS3Z4xEC.js";import"./index-DfR9Qbi5.js";import"./index-DbaQbYQ-.js";import"./typescript-nWN70UwR.js";import"./strings-C53lWZ6Y.js";import"./isEqual-UX6HkLTo.js";import"./_Uint8Array-vXvvgSwF.js";import"./castArray-D2L4b2-n.js";import"./debounce-D3D-TN8J.js";import"./_baseIteratee-D3DXGIH5.js";import"./index-BbqZ38Fk.js";import"./index-DCKHnjpd.js";import"./_baseClone-0Kiqxc2t.js";import"./_initCloneObject-BYrljc_C.js";import"./index-NYylF2dS.js";import"./index-CmQ5Mbdo.js";import"./dropdown-i82x4SIN.js";import"./index-CzfZ4hlp.js";import"./index-C4MW0Y-7.js";import"./isPlainObject-B8kQT8U7.js";const je=S({name:"LayoutProducer",components:{ElDrawer:se,ElButton:N,FontAwesomeIcon:L},data(){return{drawer:!1,preview:!1}},computed:{}}),Ne={class:"main flex flex-row flex-1"},Be={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},Me={class:"result h-full flex flex-col flex-1 min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"},qe={class:"preview h-full w-[300px] flex flex-col"};function Oe(e,t,u,l,y,b){const d=n("font-awesome-icon"),f=n("el-button"),h=n("el-drawer");return r(),c("div",Ne,[s("div",Be,[R(e.$slots,"config",{},void 0,!0)]),s("div",Me,[R(e.$slots,"result",{},void 0,!0)]),s("div",qe,[R(e.$slots,"preview",{},void 0,!0)]),o(f,{circle:"",class:"menu",onClick:t[0]||(t[0]=g=>e.drawer=!0)},{default:a(()=>[o(d,{icon:"fa-solid fa-magic"})]),_:1}),o(h,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:a(()=>[R(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const We=U(je,[["render",Oe],["__scopeId","data-v-03e2979b"]]),He=S({name:"TypeSelector",components:{ElSelect:ye,ElOption:ve,ElSwitch:ge,InfoIcon:A},data(){return{options:[{label:"FUZZ-2.0 Pro",value:"FUZZ-2.0 Pro",desc:this.$t("producer.model.fuzz20proDesc")},{label:"FUZZ-2.0",value:"FUZZ-2.0",desc:this.$t("producer.model.fuzz20desc")},{label:"FUZZ-2.0 Raw",value:"FUZZ-2.0 Raw",desc:this.$t("producer.model.fuzz20rawDesc")},{label:"FUZZ-1.1 Pro",value:"FUZZ-1.1 Pro",desc:this.$t("producer.model.fuzz11proDesc")},{label:"FUZZ-1.1",value:"FUZZ-1.1",desc:this.$t("producer.model.fuzz11desc")},{label:"FUZZ-1.0 Pro",value:"FUZZ-1.0 Pro",desc:this.$t("producer.model.fuzz10proDesc")},{label:"FUZZ-1.0",value:"FUZZ-1.0",desc:this.$t("producer.model.fuzz10desc")},{label:"FUZZ-0.8",value:"FUZZ-0.8",desc:this.$t("producer.model.fuzz08desc")}]}},computed:{custom:{get(){return this.$store.state.producer?.config?.custom||!1},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,custom:e})}},instrumental:{get(){return this.$store.state.producer?.config?.instrumental||!1},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,instrumental:e})}},model:{get(){return this.$store.state.producer?.config?.model},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,model:e})}}},mounted(){this.model||(this.model=$e)}}),Ke={class:"mb-3"},Je={class:"flex items-center mb-1"},Ye={class:"text-sm font-bold"},Qe={class:"model-option"},Xe={class:"model-option-name"},xe={class:"model-option-desc"},et={key:0,class:"flex items-center justify-between mb-3"},tt={class:"flex items-center"},ot={class:"text-sm font-bold"};function st(e,t,u,l,y,b){const d=n("el-option"),f=n("el-select"),h=n("info-icon"),g=n("el-switch");return r(),c("div",null,[s("div",Ke,[s("div",Je,[s("span",Ye,i(e.$t("producer.name.model")),1)]),o(f,{modelValue:e.model,"onUpdate:modelValue":t[0]||(t[0]=_=>e.model=_),class:"w-full model-select",size:"default",placeholder:e.$t("producer.placeholder.select")},{default:a(()=>[(r(!0),c(I,null,j(e.options,_=>(r(),v(d,{key:_.value,label:_.label,value:_.value},{default:a(()=>[s("div",Qe,[s("span",Xe,i(_.label),1),s("span",xe,i(_.desc),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),e.custom?(r(),c("div",et,[s("div",tt,[s("span",ot,i(e.$t("producer.name.instrumental")),1),o(h,{content:e.$t("producer.description.instrumental")},null,8,["content"])]),o(g,{modelValue:e.instrumental,"onUpdate:modelValue":t[1]||(t[1]=_=>e.instrumental=_)},null,8,["modelValue"])])):m("",!0)])}const nt=U(He,[["render",st],["__scopeId","data-v-42496b9a"]]),rt=S({name:"UploadAudio",components:{ElUpload:be,ElButton:N,ElRadioGroup:te,ElRadioButton:ee,InfoIcon:A,FontAwesomeIcon:L},mixins:[ue],emits:["change"],data(){return{fileList:[],uploadUrl:re()+"/api/v1/files/",audioPreviewUrl:null,uploading:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},credential(){return this.$store.state.producer.credential},config(){return this.$store.state.producer.config},urls(){return this.fileList.map(e=>e?.response?.file_url)},hasUploadedAudio(){const e=this.$store.state.producer?.config?.action;return e==="upload_extend"||e==="upload_cover"},uploadAction:{get(){return this.$store.state.producer?.config?.action||"upload_extend"},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,action:e})}}},watch:{urls:{handler(e){this.$emit("change",e)}}},methods:{onExceed(){k.warning(this.$t("producer.message.uploadReferencesExceed"))},onError(){this.uploading=!1,k.error(this.$t("producer.message.uploadReferencesError"))},async onSuccess(){const e=this.urls?.[0];if(!e){this.uploading=!1;return}this.audioPreviewUrl=e,await this.onGenerateAudioId(e)},async onGenerateAudioId(e){const t={audio_url:e},u=this.credential?.token;if(!u){console.error("no token specified"),this.uploading=!1;return}this.uploading=!0,k.info(this.$t("producer.message.startingUploadAudio"));try{const y=(await T.upload(t,{token:u})).data?.data.audio_id;this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,audio_id:y,action:"upload_extend"}),k.success(this.$t("producer.message.startUploadAudioSuccess"))}catch(l){k.error(l?.response?.data?.error?.message||this.$t("producer.message.startUploadAudioFailed"))}finally{this.uploading=!1}}}}),it={class:"relative"},at={class:"flex justify-between items-center mb-2"},lt={class:"flex justify-start items-center"},dt={class:"text-sm font-bold"},ct={key:0,class:"mb-2"},ut=["src"],pt={key:1,class:"mt-1"};function mt(e,t,u,l,y,b){const d=n("info-icon"),f=n("font-awesome-icon"),h=n("el-button"),g=n("el-upload"),_=n("el-radio-button"),P=n("el-radio-group");return r(),c("div",it,[s("div",at,[s("div",lt,[s("span",dt,i(e.$t("producer.name.referenceAudios")),1),o(d,{content:e.$t("producer.description.uploadAudios")},null,8,["content"])]),o(g,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=$=>e.fileList=$),name:"file",limit:1,class:"upload-wrapper inline-upload",action:e.uploadUrl,accept:".mp3,.wav,.m4a,audio/*","show-file-list":!1,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{default:a(()=>[o(h,{round:"",type:"primary",size:"small",loading:e.uploading},{default:a(()=>[o(f,{icon:"fa-solid fa-upload",class:"icon mr-1"}),w(" "+i(e.$t("producer.button.uploadAudios")),1)]),_:1},8,["loading"])]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])]),e.audioPreviewUrl?(r(),c("div",ct,[s("audio",{src:e.audioPreviewUrl,controls:"",class:"w-full"},null,8,ut)])):m("",!0),e.hasUploadedAudio?(r(),c("div",pt,[o(P,{modelValue:e.uploadAction,"onUpdate:modelValue":t[1]||(t[1]=$=>e.uploadAction=$),size:"small"},{default:a(()=>[o(_,{value:"upload_extend"},{default:a(()=>[w(i(e.$t("producer.button.extend")),1)]),_:1}),o(_,{value:"upload_cover"},{default:a(()=>[w(i(e.$t("producer.button.cover_music")),1)]),_:1})]),_:1},8,["modelValue"])])):m("",!0)])}const ft=U(rt,[["render",mt],["__scopeId","data-v-7fd0580a"]]),ht="",_t=S({name:"PromptInput",components:{PromptTextarea:ke},computed:{prompt:{get(){return this.$store.state.producer?.config?.prompt},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ht)}});function $t(e,t,u,l,y,b){const d=n("prompt-textarea");return r(),v(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=f=>e.prompt=f),title:e.$t("producer.name.songDescription"),info:e.$t("producer.description.prompt"),placeholder:e.$t("producer.placeholder.prompt"),"min-rows":5,"max-rows":14},null,8,["modelValue","title","info","placeholder"])}const gt=U(_t,[["render",$t]]),vt="",yt=S({name:"LyricInput",components:{ElInput:q,ElButton:N,FontAwesomeIcon:L,InfoIcon:A},data(){return{generatingLyrics:!1}},computed:{lyric:{get(){return this.$store.state.producer?.config?.lyric},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,lyric:e})}},config(){return this.$store.state.producer?.config},credential(){return this.$store.state.producer?.credential}},mounted(){this.lyric||(this.lyric=vt)},methods:{async onGenerateLyrics(){const e=this.credential?.token;if(!e)return;const t=this.config?.style||this.config?.title||"a beautiful song";this.generatingLyrics=!0,k.info(this.$t("producer.message.generatingLyrics"));try{const l=(await T.lyric({prompt:t},{token:e})).data?.data;l?.text&&(this.lyric=l.text,l?.title&&!this.config?.title&&this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,lyric:l.text,title:l.title}),k.success(this.$t("producer.message.generateLyricsSuccess")))}catch{k.error(this.$t("producer.message.generateLyricsFailed"))}finally{this.generatingLyrics=!1}}}}),bt={class:"field"},kt={class:"flex items-center justify-between mb-1"},wt={class:"flex items-center"},Ct={class:"text-sm font-bold"};function Vt(e,t,u,l,y,b){const d=n("info-icon"),f=n("font-awesome-icon"),h=n("el-button"),g=n("el-input");return r(),c("div",bt,[s("div",kt,[s("div",wt,[s("span",Ct,i(e.$t("producer.name.lyrics")),1),o(d,{content:e.$t("producer.description.lyrics")},null,8,["content"])]),e.config?.action!=="extend"?(r(),v(h,{key:0,size:"small",loading:e.generatingLyrics,round:"",onClick:e.onGenerateLyrics},{default:a(()=>[e.generatingLyrics?m("",!0):(r(),v(f,{key:0,icon:"fa-solid fa-wand-magic-sparkles",class:"mr-1"})),w(" "+i(e.$t("producer.button.generate_lyrics")),1)]),_:1},8,["loading","onClick"])):m("",!0)]),e.config?.action!=="extend"?(r(),v(g,{key:0,modelValue:e.lyric,"onUpdate:modelValue":t[0]||(t[0]=_=>e.lyric=_),rows:5,type:"textarea",class:"lyrics",placeholder:e.$t("producer.placeholder.lyrics")},null,8,["modelValue","placeholder"])):(r(),v(g,{key:1,modelValue:e.lyric,"onUpdate:modelValue":t[1]||(t[1]=_=>e.lyric=_),rows:5,type:"textarea",class:"lyrics",placeholder:e.$t("producer.placeholder.extend.lyrics")},null,8,["modelValue","placeholder"]))])}const St=U(yt,[["render",Vt],["__scopeId","data-v-88c6da2b"]]),Ut=S({name:"StyleInput",components:{ElInput:q,InfoIcon:A},computed:{style:{get(){return this.$store.state.producer?.config?.style},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,style:e})}}}}),Pt={class:"field"},Et={class:"flex items-center justify-between mb-1"},At={class:"flex items-center"},Tt={class:"text-sm font-bold"};function Ft(e,t,u,l,y,b){const d=n("info-icon"),f=n("el-input");return r(),c("div",Pt,[s("div",Et,[s("div",At,[s("span",Tt,i(e.$t("producer.name.style")),1),o(d,{content:e.$t("producer.description.style")},null,8,["content"])])]),o(f,{modelValue:e.style,"onUpdate:modelValue":t[0]||(t[0]=h=>e.style=h),rows:2,type:"textarea",placeholder:e.$t("producer.placeholder.style")},null,8,["modelValue","placeholder"])])}const It=U(Ut,[["render",Ft]]),Lt=S({name:"TitleInput",components:{ElInput:q,InfoIcon:A},computed:{title:{get(){return this.$store.state.producer?.config?.title},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,title:e})}}}}),Gt={class:"field"},Dt={class:"flex items-center mb-1"},zt={class:"text-sm font-bold"};function Zt(e,t,u,l,y,b){const d=n("info-icon"),f=n("el-input");return r(),c("div",Gt,[s("div",Dt,[s("span",zt,i(e.$t("producer.name.title")),1),o(d,{content:e.$t("producer.description.title")},null,8,["content"])]),o(f,{modelValue:e.title,"onUpdate:modelValue":t[0]||(t[0]=h=>e.title=h),placeholder:e.$t("producer.placeholder.title")},null,8,["modelValue","placeholder"])])}const Rt=U(Lt,[["render",Zt]]),jt=S({name:"ExtendFromInput",components:{ElImage:D,ElIcon:M,ElInputNumber:Y,VideoPlay:K,VideoPause:H},data(){return{}},computed:{audio(){return this.$store.state.producer?.config?.audio},value:{get(){return this.$store.state.producer?.config?.continue_at},set(e){console.debug("set continue_at",e),this.$store.commit("producer/setConfig",{...this.$store.state.producer?.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:J,onPlay(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.producer?.audio?.id!==e.id&&this.onPlay({...e,progress:0})}}}),Nt={class:"field"},Bt={class:"box"},Mt={class:"title font-bold"},qt={class:"input-wrapper"},Ot={class:"task"},Wt={class:"left"},Ht={key:2,class:"duration"},Kt={class:"info"},Jt={class:"title"},Yt={class:"style"};function Qt(e,t,u,l,y,b){const d=n("el-input-number"),f=n("el-image"),h=n("video-pause"),g=n("el-icon"),_=n("video-play"),P=B("loading");return r(),c("div",Nt,[s("div",Bt,[s("h2",Mt,i(e.$t("producer.name.extend")),1),s("div",qt,[o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=$=>e.value=$),class:"value",min:0,max:e.audio?.duration,controls:!1,placeholder:e.$t("producer.placeholder.extend.continue_at"),onChange:e.handleChange},null,8,["modelValue","max","placeholder","onChange"])])]),s("div",Ot,[e.audio?(r(),c("div",{key:0,class:"audio",onClick:t[3]||(t[3]=$=>e.onClick(e.audio))},[G((r(),c("div",Wt,[o(f,{src:e.audio?.image_url,class:"cover",fit:"cover"},null,8,["src"]),e.audio?.audio_url&&e.$store.state?.producer?.audio?.id===e.audio.id&&e.$store.state?.producer?.audio?.state==="playing"?(r(),c("div",{key:0,class:"overlay",onClick:t[1]||(t[1]=$=>e.onPause(e.audio))},[o(g,null,{default:a(()=>[o(h)]),_:1})])):m("",!0),e.audio?.audio_url&&(e.$store.state?.producer?.audio?.id!==e.audio.id||e.$store.state?.producer?.audio?.id===e.audio.id&&e.$store.state?.producer?.audio?.state==="paused")?(r(),c("div",{key:1,class:"overlay",onClick:t[2]||(t[2]=$=>e.onPlay(e.audio))},[o(g,null,{default:a(()=>[o(_)]),_:1})])):m("",!0),e.audio?.duration?(r(),c("div",Ht,i(e.useFormatDuring(e.audio?.duration)),1)):m("",!0)])),[[P,!e.audio?.audio_url]]),s("div",Kt,[s("h2",Jt,i(e.audio?.title),1),s("p",Yt,i(e.audio?.style),1)])])):m("",!0)])])}const Xt=U(jt,[["render",Qt],["__scopeId","data-v-26d43480"]]),xt=S({name:"CoverFromInput",components:{ElImage:D,ElIcon:M,VideoPlay:K,VideoPause:H},data(){return{}},computed:{audio(){return this.$store.state.producer?.config?.audio},value:{get(){return this.$store.state.producer?.config?.continue_at},set(e){console.debug("set continue_at",e),this.$store.commit("producer/setConfig",{...this.$store.state.producer?.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:J,onPlay(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.producer?.audio?.id!==e.id&&this.onPlay({...e,progress:0})}}}),eo={class:"field"},to={class:"box"},oo={class:"title font-bold"},so={class:"task"},no={class:"left"},ro={key:2,class:"duration"},io={class:"info"},ao={class:"title"},lo={class:"style"};function co(e,t,u,l,y,b){const d=n("el-image"),f=n("video-pause"),h=n("el-icon"),g=n("video-play"),_=B("loading");return r(),c("div",eo,[s("div",to,[s("h2",oo,i(e.$t("producer.name.cover")),1)]),s("div",so,[e.audio?(r(),c("div",{key:0,class:"audio",onClick:t[2]||(t[2]=P=>e.onClick(e.audio))},[G((r(),c("div",no,[o(d,{src:e.audio?.image_url,class:"cover",fit:"cover"},null,8,["src"]),e.audio?.audio_url&&e.$store.state?.producer?.audio?.id===e.audio.id&&e.$store.state?.producer?.audio?.state==="playing"?(r(),c("div",{key:0,class:"overlay",onClick:t[0]||(t[0]=P=>e.onPause(e.audio))},[o(h,null,{default:a(()=>[o(f)]),_:1})])):m("",!0),e.audio?.audio_url&&(e.$store.state?.producer?.audio?.id!==e.audio.id||e.$store.state?.producer?.audio?.id===e.audio.id&&e.$store.state?.producer?.audio?.state==="paused")?(r(),c("div",{key:1,class:"overlay",onClick:t[1]||(t[1]=P=>e.onPlay(e.audio))},[o(h,null,{default:a(()=>[o(g)]),_:1})])):m("",!0),e.audio?.duration?(r(),c("div",ro,i(e.useFormatDuring(e.audio?.duration)),1)):m("",!0)])),[[_,!e.audio?.audio_url]]),s("div",io,[s("h2",ao,i(e.audio?.title),1),s("p",lo,i(e.audio?.style),1)])])):m("",!0)])])}const uo=U(xt,[["render",co],["__scopeId","data-v-d8a8e583"]]),po=S({name:"VocalGenderSelector",components:{ElRadioGroup:te,ElRadioButton:ee,InfoIcon:A},computed:{vocalGender:{get(){return this.$store.state.producer?.config?.vocal_gender||""},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,vocal_gender:e||void 0})}}}}),mo={class:"mb-2"},fo={class:"flex items-center mb-1"},ho={class:"text-sm font-bold"};function _o(e,t,u,l,y,b){const d=n("info-icon"),f=n("el-radio-button"),h=n("el-radio-group");return r(),c("div",mo,[s("div",fo,[s("span",ho,i(e.$t("producer.name.vocalGender")),1),o(d,{content:e.$t("producer.description.vocalGender")},null,8,["content"])]),o(h,{modelValue:e.vocalGender,"onUpdate:modelValue":t[0]||(t[0]=g=>e.vocalGender=g)},{default:a(()=>[o(f,{value:""},{default:a(()=>[w(i(e.$t("producer.gender.auto")),1)]),_:1}),o(f,{value:"f"},{default:a(()=>[w(i(e.$t("producer.gender.female")),1)]),_:1}),o(f,{value:"m"},{default:a(()=>[w(i(e.$t("producer.gender.male")),1)]),_:1})]),_:1},8,["modelValue"])])}const $o=U(po,[["render",_o]]),go=S({name:"AdvancedParams",components:{ElCollapse:Pe,ElCollapseItem:Ue,ElInput:q,ElSlider:Se,ElInputNumber:Y,InfoIcon:A},data(){return{activeNames:[]}},computed:{config(){return this.$store.state.producer?.config},styleNegative:{get(){return this.$store.state.producer?.config?.style_negative||""},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,style_negative:e||void 0})}},lyricPrompt:{get(){return this.$store.state.producer?.config?.lyric_prompt||""},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,lyric_prompt:e||void 0})}},weirdness:{get(){return this.$store.state.producer?.config?.weirdness??.5},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,weirdness:e})}},soundStrength:{get(){return this.$store.state.producer?.config?.sound_strength??.7},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,sound_strength:e})}},lyricsStrength:{get(){return this.$store.state.producer?.config?.lyrics_strength??.7},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,lyrics_strength:e})}},seed:{get(){return this.$store.state.producer?.config?.seed},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,seed:e})}}},mounted(){const e=this.$store.state.producer?.config;if(!e)return;const t={};typeof e.weirdness=="number"&&e.weirdness>1&&(t.weirdness=e.weirdness/100),typeof e.sound_strength=="number"&&e.sound_strength>1&&(t.sound_strength=e.sound_strength/100),typeof e.lyrics_strength=="number"&&e.lyrics_strength>1&&(t.lyrics_strength=e.lyrics_strength/100),Object.keys(t).length>0&&this.$store.commit("producer/setConfig",{...e,...t})}}),vo={key:0,class:"mb-3"},yo={class:"flex items-center mb-1"},bo={class:"text-xs font-bold"},ko={key:1,class:"mb-3"},wo={class:"flex items-center mb-1"},Co={class:"text-xs font-bold"},Vo={class:"mb-3"},So={class:"flex items-center justify-between mb-1"},Uo={class:"flex items-center"},Po={class:"text-xs font-bold"},Eo={class:"text-xs text-[var(--el-text-color-secondary)]"},Ao={class:"mb-3"},To={class:"flex items-center justify-between mb-1"},Fo={class:"flex items-center"},Io={class:"text-xs font-bold"},Lo={class:"text-xs text-[var(--el-text-color-secondary)]"},Go={key:2,class:"mb-3"},Do={class:"flex items-center justify-between mb-1"},zo={class:"flex items-center"},Zo={class:"text-xs font-bold"},Ro={class:"text-xs text-[var(--el-text-color-secondary)]"},jo={class:"mb-3"},No={class:"flex items-center mb-1"},Bo={class:"text-xs font-bold"};function Mo(e,t,u,l,y,b){const d=n("info-icon"),f=n("el-input"),h=n("el-slider"),g=n("el-input-number"),_=n("el-collapse-item"),P=n("el-collapse");return r(),v(P,{modelValue:e.activeNames,"onUpdate:modelValue":t[6]||(t[6]=$=>e.activeNames=$),class:"advanced-collapse"},{default:a(()=>[o(_,{title:e.$t("producer.name.advancedParams"),name:"advanced"},{default:a(()=>[e.config?.custom?(r(),c("div",vo,[s("div",yo,[s("span",bo,i(e.$t("producer.name.styleNegative")),1),o(d,{content:e.$t("producer.description.styleNegative")},null,8,["content"])]),o(f,{modelValue:e.styleNegative,"onUpdate:modelValue":t[0]||(t[0]=$=>e.styleNegative=$),size:"small",placeholder:e.$t("producer.placeholder.styleNegative")},null,8,["modelValue","placeholder"])])):m("",!0),e.config?.custom&&!e.config?.instrumental?(r(),c("div",ko,[s("div",wo,[s("span",Co,i(e.$t("producer.name.lyricPrompt")),1),o(d,{content:e.$t("producer.description.lyricPrompt")},null,8,["content"])]),o(f,{modelValue:e.lyricPrompt,"onUpdate:modelValue":t[1]||(t[1]=$=>e.lyricPrompt=$),size:"small",placeholder:e.$t("producer.placeholder.lyricPrompt")},null,8,["modelValue","placeholder"])])):m("",!0),s("div",Vo,[s("div",So,[s("div",Uo,[s("span",Po,i(e.$t("producer.name.weirdness")),1),o(d,{content:e.$t("producer.description.weirdness")},null,8,["content"])]),s("span",Eo,i(e.weirdness??.5),1)]),o(h,{modelValue:e.weirdness,"onUpdate:modelValue":t[2]||(t[2]=$=>e.weirdness=$),min:0,max:1,step:.01},null,8,["modelValue"])]),s("div",Ao,[s("div",To,[s("div",Fo,[s("span",Io,i(e.$t("producer.name.soundStrength")),1),o(d,{content:e.$t("producer.description.soundStrength")},null,8,["content"])]),s("span",Lo,i(e.soundStrength??.7),1)]),o(h,{modelValue:e.soundStrength,"onUpdate:modelValue":t[3]||(t[3]=$=>e.soundStrength=$),min:.2,max:1,step:.01},null,8,["modelValue"])]),e.config?.custom&&!e.config?.instrumental?(r(),c("div",Go,[s("div",Do,[s("div",zo,[s("span",Zo,i(e.$t("producer.name.lyricsStrength")),1),o(d,{content:e.$t("producer.description.lyricsStrength")},null,8,["content"])]),s("span",Ro,i(e.lyricsStrength??.7),1)]),o(h,{modelValue:e.lyricsStrength,"onUpdate:modelValue":t[4]||(t[4]=$=>e.lyricsStrength=$),min:0,max:1,step:.01},null,8,["modelValue"])])):m("",!0),s("div",jo,[s("div",No,[s("span",Bo,i(e.$t("producer.name.seed")),1),o(d,{content:e.$t("producer.description.seed")},null,8,["content"])]),o(g,{modelValue:e.seed,"onUpdate:modelValue":t[5]||(t[5]=$=>e.seed=$),min:0,controls:!1,size:"small",placeholder:e.$t("producer.placeholder.seed"),class:"w-full"},null,8,["modelValue","placeholder"])])]),_:1},8,["title"])]),_:1},8,["modelValue"])}const qo=U(go,[["render",Mo],["__scopeId","data-v-f9296888"]]),Oo=S({name:"ReplaceSectionInput",components:{ElInputNumber:Y,ElImage:D,InfoIcon:A},computed:{audio(){return this.$store.state.producer?.config?.audio},replaceSectionStart:{get(){return this.$store.state.producer?.config?.replace_section_start},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,replace_section_start:e})}},replaceSectionEnd:{get(){return this.$store.state.producer?.config?.replace_section_end},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,replace_section_end:e})}}},methods:{onClick(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"playing"})}}}),Wo={class:"field"},Ho={class:"flex items-center mb-2"},Ko={class:"text-sm font-bold m-0"},Jo={key:0,class:"task mb-2"},Yo={class:"left relative w-[50px] h-[50px] mr-3 flex-shrink-0"},Qo={class:"info flex-1 min-w-0"},Xo={class:"text-sm font-bold m-0 truncate"},xo={class:"text-xs text-[var(--el-text-color-secondary)] m-0 truncate"},es={class:"flex gap-2"};function ts(e,t,u,l,y,b){const d=n("info-icon"),f=n("el-image"),h=n("el-input-number"),g=B("loading");return r(),c("div",Wo,[s("div",Ho,[s("h2",Ko,i(e.$t("producer.name.replaceSection")),1),o(d,{content:e.$t("producer.description.replaceSection")},null,8,["content"])]),e.audio?(r(),c("div",Jo,[s("div",{class:"audio flex items-center",onClick:t[0]||(t[0]=_=>e.onClick(e.audio))},[G((r(),c("div",Yo,[o(f,{src:e.audio?.image_url,class:"w-full h-full rounded",fit:"cover"},null,8,["src"])])),[[g,!e.audio?.audio_url]]),s("div",Qo,[s("h2",Xo,i(e.audio?.title),1),s("p",xo,i(e.audio?.style),1)])])])):m("",!0),s("div",es,[o(h,{modelValue:e.replaceSectionStart,"onUpdate:modelValue":t[1]||(t[1]=_=>e.replaceSectionStart=_),class:"flex-1",min:0,max:e.audio?.duration,controls:!1,placeholder:e.$t("producer.placeholder.replaceSectionStart")},null,8,["modelValue","max","placeholder"]),o(h,{modelValue:e.replaceSectionEnd,"onUpdate:modelValue":t[2]||(t[2]=_=>e.replaceSectionEnd=_),class:"flex-1",min:e.replaceSectionStart||0,max:e.audio?.duration,controls:!1,placeholder:e.$t("producer.placeholder.replaceSectionEnd")},null,8,["modelValue","min","max","placeholder"])])])}const os=U(Oo,[["render",ts]]),ss=S({name:"PresetPanel",components:{TypeSelector:nt,PromptInput:gt,LyricInput:St,StyleInput:It,TitleInput:Rt,ExtendFromInput:Xt,CoverFromInput:uo,UploadAudio:ft,VocalGenderSelector:$o,AdvancedParams:qo,ReplaceSectionInput:os,FontAwesomeIcon:L,ElButton:N,ElTabs:Fe,ElTabPane:Te,Consumption:Ee},emits:["generate"],computed:{config(){return this.$store.state.producer?.config},mode:{get(){return this.$store.state.producer?.config?.custom?"custom":"simple"},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,custom:e==="custom"})}},consumption(){return Ae(this.config,this.service?.cost)},service(){return this.$store.state.producer?.service},generateButtonText(){const e=this.config?.action;return e==="extend"||e==="upload_extend"?this.$t("producer.button.extend"):e==="cover"||e==="upload_cover"?this.$t("producer.button.cover_music"):e==="variation"?this.$t("producer.button.variation"):e==="replace_section"?this.$t("producer.button.replace_section"):e==="stems"?this.$t("producer.button.get_stems"):e==="swap_vocals"?this.$t("producer.button.swap_vocals"):e==="swap_instrumentals"?this.$t("producer.button.swap_instrumentals"):this.$t("producer.button.generate")}},methods:{onGenerate(){this.$emit("generate")},onClearAll(){this.$store.commit("producer/setConfig",{custom:this.$store.state.producer?.config?.custom||!1,instrumental:!1,prompt:"",lyric:"",style:"",title:"",model:this.$store.state.producer?.config?.model})}}}),ns={class:"flex flex-col h-full"},rs={class:"flex-1 overflow-y-auto p-5"},is={class:"pt-2 px-1"},as={class:"pt-2 px-1"},ls={class:"flex flex-col items-center justify-center px-5 pb-5 gap-2"},ds={class:"flex gap-2 w-full"};function cs(e,t,u,l,y,b){const d=n("type-selector"),f=n("upload-audio"),h=n("prompt-input"),g=n("extend-from-input"),_=n("cover-from-input"),P=n("replace-section-input"),$=n("advanced-params"),C=n("el-tab-pane"),z=n("lyric-input"),Z=n("style-input"),O=n("title-input"),W=n("vocal-gender-selector"),p=n("el-tabs"),V=n("consumption"),Q=n("font-awesome-icon"),X=n("el-button");return r(),c("div",ns,[s("div",rs,[o(p,{modelValue:e.mode,"onUpdate:modelValue":t[0]||(t[0]=oe=>e.mode=oe),class:"producer-mode-tabs",stretch:""},{default:a(()=>[o(C,{label:e.$t("producer.mode.simple"),name:"simple"},{default:a(()=>[s("div",is,[o(d,{class:"mb-4"}),o(f,{class:"mb-4"}),o(h,{class:"mb-4"}),e.config?.action==="extend"?(r(),v(g,{key:0,class:"mb-4"})):m("",!0),e.config?.action==="cover"?(r(),v(_,{key:1,class:"mb-4"})):m("",!0),e.config?.action==="replace_section"?(r(),v(P,{key:2,class:"mb-4"})):m("",!0),o($,{class:"mb-4"})])]),_:1},8,["label"]),o(C,{label:e.$t("producer.mode.custom"),name:"custom"},{default:a(()=>[s("div",as,[o(d,{class:"mb-4"}),o(f,{class:"mb-4"}),e.config?.instrumental?m("",!0):(r(),v(z,{key:0,class:"mb-4"})),o(Z,{class:"mb-4"}),o(O,{class:"mb-4"}),e.config?.instrumental?m("",!0):(r(),v(W,{key:1,class:"mb-4"})),e.config?.action==="extend"?(r(),v(g,{key:2,class:"mb-4"})):m("",!0),e.config?.action==="cover"?(r(),v(_,{key:3,class:"mb-4"})):m("",!0),e.config?.action==="replace_section"?(r(),v(P,{key:4,class:"mb-4"})):m("",!0),o($,{class:"mb-4"})])]),_:1},8,["label"])]),_:1},8,["modelValue"])]),s("div",ls,[o(V,{value:e.consumption,service:e.service},null,8,["value","service"]),s("div",ds,[o(X,{class:"flex-1",onClick:e.onClearAll},{default:a(()=>[o(Q,{icon:"fa-solid fa-broom",class:"mr-1"}),w(" "+i(e.$t("producer.button.clear_all")),1)]),_:1},8,["onClick"]),o(X,{type:"primary",class:"flex-1",round:"",onClick:e.onGenerate},{default:a(()=>[o(Q,{icon:"fa-solid fa-magic",class:"mr-2"}),w(" "+i(e.generateButtonText),1)]),_:1},8,["onClick"])])])])}const us=U(ss,[["render",cs],["__scopeId","data-v-4a4b209e"]]),ps=x("producer"),ms=S({name:"TaskPreview",components:{ElImage:D,ElIcon:M,ElTooltip:De,FontAwesomeIcon:L,VideoPlay:K,VideoPause:H,ElDropdown:Ge,ElDropdownMenu:Le,ElDropdownItem:Ie,Loading:ie,ApiCodeDialog:fe},props:{modelValue:{type:Object,required:!0}},data(){return{isFetchingVideoUrl:!1,isFetchingWav:!1,apiCodeVisible:!1,apiCodePath:"/producer/audios",apiCodeBody:{}}},computed:{loading(){return this.$store.state.producer?.status?.getApplications===F.Request},credential(){return this.$store.state.producer.credential},config(){return this.$store.state.producer.config},task(){return this.$store.state.producer?.tasks},audios(){const e=this.modelValue?.response?.data??[],t=this.modelValue?.request?.action;return t?e.map(u=>({...u,action:t})):e},application(){return this.$store.state.producer?.application},active(){return this.$store.state.producer?.tasks?.active}},methods:{useFormatDuring:J,onViewCode(){const e=this.modelValue?.request||{},t={};Object.entries(e).forEach(([u,l])=>{u==="application_id"||u==="callback_url"||l!=null&&(typeof l=="string"&&l===""||Array.isArray(l)&&l.length===0||(t[u]=l))}),this.apiCodeBody=t,this.apiCodePath="/producer/audios",this.apiCodeVisible=!0},onPlay(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.producer?.audio?.id!==e.id&&this.onPlay({...e,progress:0})},onExtend(e,t){e.stopPropagation(),console.debug("set config",t),this.$store.commit("producer/setConfig",{...this.$store.state.producer?.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();const l=new URL(t).pathname,y=l.substring(l.lastIndexOf("/")+1);fetch(t).then(b=>b.blob()).then(b=>{Ce.saveAs(b,y)})},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("producer.message.getVideoUrlFailed"))}finally{this.isFetchingVideoUrl=!1}},async fetchVideoUrlFromApi(e){return new Promise((t,u)=>{const l={audio_id:e},y=this.credential?.token;if(!y){console.error("no token specified"),u(new Error("No token specified"));return}T.video(l,{token:y}).then(b=>{const d=b.data?.data?.video_url;d?t(d):u(new Error("Video URL not found in response"))}).catch(b=>{u(b)})})},onPreview(e,t){e.stopPropagation(),window.open(t,"_blank")},async onGetStems(e){await this.onGenerateAudioUrl("stems",e)},onCover(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,model:e.model,custom:!0,instrumental:!1,style:e.style,action:"cover",audio:e,audio_id:e.id})},onVariation(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,model:e.model,custom:!0,style:e.style,action:"variation",audio:e,audio_id:e.id})},async onSwapVocals(e){await this.onGenerateAudioUrl("swap_vocals",e)},async onSwapInstrumentals(e){await this.onGenerateAudioUrl("swap_instrumentals",e)},async onGetAllStems(e){await this.onGenerateAudioUrl("all_stems",e)},onReplaceSection(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,model:e.model,custom:!0,instrumental:!1,style:e.style,action:"replace_section",audio:e,audio_id:e.id,replace_section_start:0,replace_section_end:Math.min(30,e.duration||30)})},async handleWavDownload(e){if(!e?.id||this.isFetchingWav)return;const t=this.credential?.token;if(t)try{this.isFetchingWav=!0,k.info(this.$t("producer.message.fetchingWav"));const l=(await T.wav({audio_id:e.id},{token:t})).data?.data,y=Array.isArray(l)?l[0]?.file_url:l?.file_url||l?.audio_url;y?this.onDownload(null,y):k.error(this.$t("producer.message.fetchWavFailed"))}catch{k.error(this.$t("producer.message.fetchWavFailed"))}finally{this.isFetchingWav=!1}},async onGenerateAudioUrl(e,t){const u={action:e,audio_id:t,callback_url:ps},l=this.credential?.token;if(!l){console.error("no token specified");return}k.info(this.$t("producer.message.startingTask")),T.audio(u,{token:l}).then(()=>{k.success(this.$t("producer.message.startTaskSuccess"))}).catch(y=>{k.error(y?.response?.data?.error?.message||this.$t("producer.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("producer/getTasks",{limit:30,offset:0})}}}),fs={class:"task"},hs=["onClick"],_s={class:"left"},$s=["onClick"],gs=["onClick"],vs={key:2,class:"duration"},ys={class:"info"},bs={class:"title"},ks={class:"style"},ws={class:"right"},Cs={class:"el-dropdown-link"},Vs={class:"flex items-center min-w-[120px]"},Ss={class:"flex items-center min-w-[120px]"},Us={class:"el-dropdown-link"};function Ps(e,t,u,l,y,b){const d=n("el-image"),f=n("video-pause"),h=n("el-icon"),g=n("video-play"),_=n("font-awesome-icon"),P=n("el-tooltip"),$=n("Loading"),C=n("el-dropdown-item"),z=n("el-dropdown-menu"),Z=n("el-dropdown"),O=n("api-code-dialog"),W=B("loading");return r(),c("div",fs,[(r(!0),c(I,null,j(e.audios,p=>(r(),c("div",{key:p.id,class:"audio",onClick:E(V=>e.onClick(p),["stop"])},[G((r(),c("div",_s,[o(d,{src:p?.image_url,class:"cover",fit:"cover",lazy:""},null,8,["src"]),p?.audio_url&&e.$store.state?.producer?.audio?.id===p.id&&e.$store.state?.producer?.audio?.state==="playing"?(r(),c("div",{key:0,class:"overlay",onClick:E(V=>e.onPause(p),["stop"])},[o(h,null,{default:a(()=>[o(f)]),_:1})],8,$s)):m("",!0),p?.audio_url&&(e.$store.state?.producer?.audio?.id!==p.id||e.$store.state?.producer?.audio?.id===p.id&&e.$store.state?.producer?.audio?.state==="paused")?(r(),c("div",{key:1,class:"overlay",onClick:E(V=>e.onPlay(p),["stop"])},[o(h,null,{default:a(()=>[o(g)]),_:1})],8,gs)):m("",!0),p?.duration?(r(),c("div",vs,i(e.useFormatDuring(p?.duration)),1)):m("",!0)])),[[W,!p?.audio_url]]),s("div",ys,[s("h2",bs,i(p?.title),1),s("p",ks,i(p?.style),1)]),s("div",ws,[o(Z,null,{dropdown:a(()=>[o(z,null,{default:a(()=>[o(C,{disabled:e.isFetchingVideoUrl,onClick:V=>e.handleVideoDownload(p)},{default:a(()=>[s("div",Vs,[e.isFetchingVideoUrl?(r(),v(h,{key:0,class:"is-loading mr-2"},{default:a(()=>[o($)]),_:1})):m("",!0),s("span",null,i(e.$t("producer.button.download_video")),1)])]),_:1},8,["disabled","onClick"]),p?.audio_url?(r(),v(C,{key:0,onClick:E(V=>e.onDownload(V,p?.audio_url),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.download_audio")),1)]),_:1},8,["onClick"])):m("",!0),o(C,{disabled:e.isFetchingWav,onClick:V=>e.handleWavDownload(p)},{default:a(()=>[s("div",Ss,[e.isFetchingWav?(r(),v(h,{key:0,class:"is-loading mr-2"},{default:a(()=>[o($)]),_:1})):m("",!0),s("span",null,i(e.$t("producer.button.download_wav")),1)])]),_:1},8,["disabled","onClick"])]),_:2},1024)]),default:a(()=>[s("span",Cs,[o(P,{effect:"dark",content:e.$t("producer.button.download"),placement:"top"},{default:a(()=>[p?.audio_url||p?.video_url?(r(),v(_,{key:0,icon:"fa-solid fa-download",class:"icon icon-download"})):m("",!0)]),_:2},1032,["content"])])]),_:2},1024),o(Z,null,{dropdown:a(()=>[o(z,null,{default:a(()=>[p?.audio_url?(r(),v(C,{key:0,onClick:E(V=>e.onExtend(V,p),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.extend")),1)]),_:1},8,["onClick"])):m("",!0),p.id?(r(),v(C,{key:1,onClick:E(V=>e.onGetStems(p.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.get_stems")),1)]),_:1},8,["onClick"])):m("",!0),p.id?(r(),v(C,{key:2,onClick:E(V=>e.onGetAllStems(p.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.all_stems")),1)]),_:1},8,["onClick"])):m("",!0),o(C,{onClick:E(V=>e.onCover(p),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.cover_music")),1)]),_:1},8,["onClick"]),p?.id?(r(),v(C,{key:3,onClick:E(V=>e.onVariation(p),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.variation")),1)]),_:1},8,["onClick"])):m("",!0),p?.id?(r(),v(C,{key:4,onClick:E(V=>e.onSwapVocals(p.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.swap_vocals")),1)]),_:1},8,["onClick"])):m("",!0),p?.id?(r(),v(C,{key:5,onClick:E(V=>e.onSwapInstrumentals(p.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.swap_instrumentals")),1)]),_:1},8,["onClick"])):m("",!0),p?.id?(r(),v(C,{key:6,onClick:E(V=>e.onReplaceSection(p),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.replace_section")),1)]),_:1},8,["onClick"])):m("",!0),o(C,{onClick:E(e.onViewCode,["stop"])},{default:a(()=>[o(_,{icon:"fa-solid fa-code",class:"mr-1"}),w(" "+i(e.$t("common.button.viewCode")),1)]),_:1},8,["onClick"])]),_:2},1024)]),default:a(()=>[s("span",Us,[o(P,{effect:"dark",content:e.$t("producer.button.more"),placement:"top"},{default:a(()=>[p?.audio_url||p?.video_url?(r(),v(_,{key:0,icon:"fa-solid fa-ellipsis",class:"icon icon-ellipsis"})):m("",!0)]),_:2},1032,["content"])])]),_:2},1024)])],8,hs))),128)),o(O,{visible:e.apiCodeVisible,"onUpdate:visible":t[0]||(t[0]=p=>e.apiCodeVisible=p),method:"POST",path:e.apiCodePath,body:e.apiCodeBody,token:e.$store.state.producer?.credential?.token||""},null,8,["visible","path","body","token"])])}const Es=U(ms,[["render",Ps]]),As=S({name:"RecentPanel",components:{ElSkeletonItem:Ze,ElSkeleton:ze,TaskPreview:Es,Player:Ve,NoTasks:we,ScrollList:he},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.producer?.tasks,items:this.$store.state.producer?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ts={key:0,class:"tasks"},Fs={class:"left w-[70px] p-[10px] flex items-center"},Is={class:"main w-[calc(100%-70px)] flex-1 p-[10px]"},Ls={key:2,class:"w-full flex-1 flex items-center justify-center"},Gs={class:"h-20"};function Ds(e,t,u,l,y,b){const d=n("el-skeleton-item"),f=n("el-skeleton"),h=n("task-preview"),g=n("scroll-list"),_=n("no-tasks"),P=n("player");return r(),c(I,null,[e.tasks?.items===void 0?(r(),c("div",Ts,[(r(),c(I,null,j(3,$=>s("div",{key:$,class:"flex"},[s("div",Fs,[o(f,{animated:""},{template:a(()=>[o(d,{variant:"image",class:"avatar w-[50px] h-[50px]"})]),_:1})]),s("div",Is,[o(f,{animated:""},{template:a(()=>[o(d,{variant:"p",class:"w-[200px] h-[15px] mb-[5px] mt-[10px]"}),o(d,{variant:"text"})]),_:1})])])),64))])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(r(),v(g,{key:1,ref:"scrollList",class:"flex-1 w-full overflow-y-auto tasks p-2",loading:e.loading,onReachTop:t[0]||(t[0]=$=>e.$emit("reach-top"))},{default:a(()=>[(r(!0),c(I,null,j(e.tasks?.items,($,C)=>(r(),v(h,{key:C,"model-value":$,class:"preview"},null,8,["model-value"]))),128))]),_:1},8,["loading"])):m("",!0),e.tasks?.items?.length===0?(r(),c("div",Ls,[o(_)])):m("",!0),G(s("div",Gs,[o(P,{namespace:"producer"})],512),[[ne,!!e.$store?.state?.producer?.audio?.object]])],64)}const zs=U(As,[["render",Ds]]),Zs=S({name:"TaskPreview",components:{IconPicture:ae,ElImage:D,ElAvatar:Re,ElIcon:M},computed:{audio(){return this.$store.state.producer?.audio}}}),Rs={key:0,class:"size-full overflow-hidden"},js={class:"relative h-[300px]"},Ns={class:"flex items-center justify-center size-full bg-[var(--el-bg-color)]"},Bs={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"},Ms={class:"p-4"},qs={class:"flex items-center font-bold mb-2"},Os={class:"text-[var(--el-text-color-regular)] mb-2"},Ws={class:"text-xs text-[var(--el-text-color-regular)]"},Hs={class:"mt-4 text-sm leading-[25px] whitespace-pre-wrap"},Ks={key:1,class:"w-full h-full"};function Js(e,t,u,l,y,b){const d=n("icon-picture"),f=n("el-icon"),h=n("el-image"),g=n("el-avatar");return e.audio?.object?(r(),c("div",Rs,[s("div",js,[o(h,{src:e.audio.image_url,fit:"cover",class:"size-full"},{error:a(()=>[s("div",Ns,[o(f,{class:"text-3xl"},{default:a(()=>[o(d)]),_:1})])]),_:1},8,["src"]),s("h2",Bs,i(e.audio?.title),1)]),s("div",Ms,[s("div",qs,[o(g,{size:30,src:e.audio?.image_url,class:"mr-2"},null,8,["src"]),s("span",null,i(e.audio?.title),1)]),s("p",Os,i(e.audio?.style),1),s("p",Ws,i(e.$dayjs.format(e.audio?.created_at)),1),s("div",Hs,[s("p",null,i(e.audio?.lyric),1)])])])):(r(),c("div",Ks))}const Ys=U(Zs,[["render",Js]]),Qs=x("producer"),Xs=S({name:"ProducerIndex",components:{Layout:We,ConfigPanel:us,RecentPanel:zs,PreviewPanel:Ys},mixins:[pe],inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.producer?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.producer?.status?.getTasks===F.Request||this.fetchingTasks},service(){return this.$store.state.producer.service},credential(){return this.$store.state.producer.credential},config(){return this.$store.state.producer.config},initializing(){return this.$store.state.producer.status.getApplications===F.Request},needApply(){return this.$store.state.producer.status.getApplications===F.Success&&!this.application},application(){return this.$store.state.producer.application},tasks(){return this.$store.state.producer.tasks},applications(){return this.$store.state.producer.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 _e({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("producer/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplications"),await this.$store.dispatch("producer/getApplications"),console.debug("end onGetApplications"),await this.onGetTasks()},onApply(){de.create({application:this.application}).then(({data:e})=>{this.application=e,k.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===ce&&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:u,createdAtMax:l}=e||{};console.debug("limit",t,"createdAtMin",u,"createdAtMax",l),this.fetchingTasks=!0;try{await this.$store.dispatch("producer/getTasks",{limit:t,createdAtMin:u,createdAtMax:l})}finally{this.fetchingTasks=!1}},async onGenerateAudio(){if(!me(this.uploadTracker,u=>this.$t(u),u=>k.warning(u)))return;const e={...this.config,callback_url:Qs},t=this.credential?.token;if(!t){console.error("no token specified");return}k.info(this.$t("producer.message.startingTask")),le("producer",T.audio(e,{token:t})).then(()=>{k.success(this.$t("producer.message.startTaskSuccess"))}).catch(u=>{k.error(u?.response?.data?.error?.message||this.$t("producer.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function xs(e,t,u,l,y,b){const d=n("config-panel"),f=n("recent-panel"),h=n("preview-panel"),g=n("layout");return r(),v(g,null,{config:a(()=>[o(d,{onGenerate:e.onGenerateAudio},null,8,["onGenerate"])]),result:a(()=>[o(f,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),preview:a(()=>[o(h)]),_:1})}const nr=U(Xs,[["render",xs],["__scopeId","data-v-a766e27a"]]);export{nr as default};
@@ -1 +1 @@
1
- import{F as R}from"./index.es-R1Cr8Ee-.js";import{E as S}from"./index-CawEUGxe.js";import{E as D}from"./index-DJTkzTe0.js";import{d as v,G as r,D as i,z as C,C as t,y as c,J as o,q as s,E as a,O as I,N as U,x as $,H as h,I as m,M,Q as L}from"./vendor-vue-Ck7I6JZv.js";import{J as b,bq as O,ct as B,b6 as j,S as P,cu as N}from"./index-CP77TWdb.js";import{a as F,b as q}from"./wan-DKq-jYOo.js";import{E as A,a as G}from"./index-bHt8D8Fx.js";import{p as z}from"./pasteUploadMixin-BurWbGNQ.js";import{u as W,a as H,e as J}from"./uploadTrackerMixin--N-yU8Tl.js";import{I as K,S as Q,l as X}from"./pagination-CEeOobhb.js";import{I as Y}from"./ImagePreview-DuB1YwYv.js";import{E as Z}from"./index-CZoYV2BT.js";import{E as T}from"./index-DFs6h0eu.js";import{P as x,N as ee}from"./NoTasks-D9pD2MYN.js";import{C as te}from"./Consumption-22q2vdkM.js";import{a as oe}from"./price-Di78GKvw.js";import{b as se}from"./errorCode-Cqj9Td_Z.js";import{C as ne}from"./CopyToClipboard-BdC8Cbh0.js";import{V as ae}from"./VideoPlayer-DJPYy11A.js";import{A as le}from"./ApiCodeButton-BHdTeOqv.js";import{E as re}from"./index-Cg4MRsId.js";import{E as ie}from"./index-CF_Ht2eg.js";import{E as ce}from"./index-BKOJmWhd.js";import{B as de}from"./BotPlaceholder-DB0cJkHn.js";import"./use-form-item-GKgluxER.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-CBGKudGF.js";import"./index-BrKMdeCn.js";import"./typescript-Ha3ghiIN.js";import"./index-BQNwhlPF.js";import"./strings-C53lWZ6Y.js";import"./isEqual-CzWauzgC.js";import"./_Uint8Array-B9px9VMw.js";import"./castArray-CC9kVLXs.js";import"./index-DDof6EEv.js";import"./index-CpIAt5NM.js";import"./debounce-CSmM5ZXR.js";import"./_baseIteratee-BvbTPXxD.js";import"./index-BUNQ7dx9.js";import"./highlight-I7n2HDZ_.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-DX3OJjaL.js";import"./_baseClone-gsImuTAs.js";import"./_initCloneObject-Dd0zNGxl.js";import"./vue-plyr-BO2nlN4c.js";import"./index-9G6JgJTg.js";const ue=v({name:"LayoutWan",components:{ElDrawer:D,ElButton:S,FontAwesomeIcon:R},data(){return{drawer:!1}}}),pe={class:"main flex flex-row flex-1"},me={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},fe={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function he(e,n,p,_,k,y){const d=o("font-awesome-icon"),u=o("el-button"),l=o("el-drawer");return s(),r("div",pe,[i("div",me,[C(e.$slots,"config",{},void 0,!0)]),i("div",fe,[C(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:n[0]||(n[0]=w=>e.drawer=!0)},{default:c(()=>[t(d,{icon:"fa-solid fa-magic"})]),_:1}),t(l,{modelValue:e.drawer,"onUpdate:modelValue":n[1]||(n[1]=w=>e.drawer=w),direction:"ltr","with-header":!1,size:"340px"},{default:c(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const _e=b(ue,[["render",he],["__scopeId","data-v-3b0702a7"]]),ge=v({name:"ModelSelector",components:{ElSelect:G,ElOption:A},data(){return{}},computed:{options(){return[{value:"wan2.6-t2v",label:this.$t("wan.button.modelT2v")},{value:"wan2.6-i2v",label:this.$t("wan.button.modelI2v")},{value:"wan2.6-i2v-flash",label:this.$t("wan.button.modelI2vFlash")},{value:"wan2.6-r2v",label:this.$t("wan.button.modelR2v")}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||(this.value=F)}}),$e={class:"field"},we={class:"title font-bold"},ve={class:"float-left"};function be(e,n,p,_,k,y){const d=o("el-option"),u=o("el-select");return s(),r("div",$e,[i("h2",we,a(e.$t("wan.name.model")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:c(()=>[(s(!0),r(I,null,U(e.options,l=>(s(),$(d,{key:l.value,label:l.label,value:l.value},{default:c(()=>[i("span",ve,a(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const ke=b(ge,[["render",be],["__scopeId","data-v-eb090beb"]]),ye="720p",Ve=v({name:"ResolutionSelector",components:{ElSelect:G,ElOption:A},computed:{options(){return[{value:"480p",label:this.$t("wan.name.resolution480p")},{value:"720p",label:this.$t("wan.name.resolution720p")},{value:"1080p",label:this.$t("wan.name.resolution1080p")}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||(this.value=ye)}}),Te={class:"field"},Ee={class:"title font-bold"},Ie={class:"float-left"};function Se(e,n,p,_,k,y){const d=o("el-option"),u=o("el-select");return s(),r("div",Te,[i("h2",Ee,a(e.$t("wan.name.resolution")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:c(()=>[(s(!0),r(I,null,U(e.options,l=>(s(),$(d,{key:l.value,label:l.label,value:l.value},{default:c(()=>[i("span",Ie,a(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ue=b(Ve,[["render",Se],["__scopeId","data-v-3e39f44e"]]),Le=5,Ce=v({name:"DurationSelector",components:{ElSelect:G,ElOption:A},computed:{options(){return[{value:5,label:this.$t("wan.name.duration5s")},{value:10,label:this.$t("wan.name.duration10s")},{value:15,label:this.$t("wan.name.duration15s")}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||(this.value=Le)}}),Re={class:"field"},Ae={class:"title font-bold"},Ge={class:"float-left"};function Pe(e,n,p,_,k,y){const d=o("el-option"),u=o("el-select");return s(),r("div",Re,[i("h2",Ae,a(e.$t("wan.name.duration")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:c(()=>[(s(!0),r(I,null,U(e.options,l=>(s(),$(d,{key:l.value,label:l.label,value:l.value},{default:c(()=>[i("span",Ge,a(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const De=b(Ce,[["render",Pe],["__scopeId","data-v-5f35a2cf"]]),Me=v({name:"ImageUrlInput",components:{ElUpload:Z,ElButton:S,InfoIcon:K,ImagePreview:Y},mixins:[z,W],data(){return{fileList:[],uploadUrl:O()+"/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.wan?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetImageUrl()},methods:{onExceed(){T.warning(this.$t("wan.message.uploadImageExceed"))},onError(){T.error(this.$t("wan.message.uploadImageError"))},async onRemove(){T.error(this.$t("wan.message.uploadImageError"))},onSetImageUrl(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),Oe={class:"relative"},Be={class:"flex justify-between"},je={class:"flex justify-start items-center"},Ne={class:"text-sm font-bold"};function Fe(e,n,p,_,k,y){const d=o("info-icon"),u=o("image-preview"),l=o("el-button"),w=o("el-upload");return s(),r("div",Oe,[i("div",Be,[i("div",je,[i("span",Ne,a(e.$t("wan.name.imageUrl")),1),t(d,{content:e.$t("wan.description.imageUrl"),class:"info"},null,8,["content"])])]),t(w,{"file-list":e.fileList,"onUpdate:fileList":n[0]||(n[0]=f=>e.fileList=f),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:c(({file:f})=>[f.url&&f.percentage!==void 0?(s(),$(u,{key:0,url:f.url,name:f.name,percentage:f.percentage,onRemove:g=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])):m("",!0)]),default:c(()=>[t(l,{size:"small",type:"primary",class:"btn btn-upload",round:""},{default:c(()=>[h(a(e.$t("wan.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])])}const qe=b(Me,[["render",Fe],["__scopeId","data-v-41a69004"]]),ze="",We=v({name:"PromptInput",components:{PromptTextarea:x},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ze)}});function He(e,n,p,_,k,y){const d=o("prompt-textarea");return s(),$(d,{modelValue:e.prompt,"onUpdate:modelValue":n[0]||(n[0]=u=>e.prompt=u),title:e.$t("wan.name.prompt"),info:e.$t("wan.description.prompt"),placeholder:e.$t("wan.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const Je=b(We,[["render",He]]),Ke=v({name:"PresetPanel",components:{ElButton:S,FontAwesomeIcon:R,PromptInput:Je,ImageUrlInput:qe,ModelSelector:ke,ResolutionSelector:Ue,DurationSelector:De,Consumption:te},emits:["generate"],computed:{config(){return this.$store.state.wan?.config},consumption(){return oe(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){const e=this.config?.model;return e==="wan2.6-t2v"||e==="wan2.6-i2v"||e==="wan2.6-i2v-flash"},supportsDuration(){return this.config?.model==="wan2.6-t2v"},supportsImageUrl(){const e=this.config?.model;return e==="wan2.6-i2v"||e==="wan2.6-i2v-flash"}},methods:{onGenerate(){this.$emit("generate")}}}),Qe={class:"flex flex-col h-full"},Xe={class:"flex-1 overflow-y-auto p-5"},Ye={class:"flex flex-col items-center justify-center px-5 pb-5"};function Ze(e,n,p,_,k,y){const d=o("prompt-input"),u=o("model-selector"),l=o("resolution-selector"),w=o("duration-selector"),f=o("image-url-input"),g=o("consumption"),V=o("font-awesome-icon"),E=o("el-button");return s(),r("div",Qe,[i("div",Xe,[t(d,{class:"mb-4"}),t(u,{class:"mb-4"}),e.supportsResolution?(s(),$(l,{key:0,class:"mb-4"})):m("",!0),e.supportsDuration?(s(),$(w,{key:1,class:"mb-4"})):m("",!0),e.supportsImageUrl?(s(),$(f,{key:2,class:"mb-2"})):m("",!0)]),i("div",Ye,[t(g,{value:e.consumption,service:e.service},null,8,["value","service"]),t(E,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[t(V,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+a(e.$t("wan.button.generate")),1)]),_:1},8,["onClick"])])])}const xe=b(Ke,[["render",Ze]]),et=v({name:"TaskPreview",components:{ElImage:ce,CopyToClipboard:ne,FontAwesomeIcon:R,ElAlert:ie,VideoPlayer:ae,ElTooltip:re,ElButton:S,ApiCodeButton:le},props:{modelValue:{type:Object,required:!0}},setup(){return{WAN_LOGO:q}},computed:{application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{onDownload(e){console.debug("on download wan video",e),window.open(e,"_blank")}}}),tt={class:"preview"},ot={class:"left"},st={class:"main"},nt={class:"bot"},at={class:"datetime"},lt={class:"info"},rt={key:0,class:"prompt mt-2"},it={key:0},ct={key:1},dt={key:0,class:L({content:!0,failed:!0})},ut={key:0,class:"mb-4"},pt={key:1,class:L({operations:!0,"mt-2":!0})},mt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ft={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},_t={key:1,class:L({content:!0})},gt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},bt={key:2,class:L({content:!0})},kt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function yt(e,n,p,_,k,y){const d=o("el-image"),u=o("video-player"),l=o("el-button"),w=o("el-tooltip"),f=o("api-code-button"),g=o("font-awesome-icon"),V=o("copy-to-clipboard"),E=o("el-alert");return s(),r("div",tt,[i("div",ot,[t(d,{src:e.WAN_LOGO,class:"avatar"},null,8,["src"])]),i("div",st,[i("div",nt,[h(a(e.$t("wan.name.wanBot"))+" ",1),i("span",at,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",lt,[e.modelValue?.request?.prompt?(s(),r("p",rt,[h(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?m("",!0):(s(),r("span",it," - ("+a(e.$t("wan.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"||e.modelValue?.response?.state==="running"?(s(),r("span",ct," - ("+a(e.$t("wan.status.processing"))+") ",1)):m("",!0)])):m("",!0)]),e.modelValue?.response?.success===!0?(s(),r("div",dt,[e.modelValue?.response?.video_url?(s(),r("div",ut,[t(u,{src:e.modelValue?.response?.video_url},null,8,["src"])])):m("",!0),e.modelValue?.response?.video_url?(s(),r("div",pt,[t(w,{class:"box-item",effect:"dark",content:e.$t("wan.message.downloadVideo"),placement:"top-start"},{default:c(()=>[t(l,{type:"info",size:"small",class:"mb-2",onClick:n[0]||(n[0]=M(At=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:c(()=>[h(a(e.$t("wan.button.download")),1)]),_:1})]),_:1},8,["content"]),t(f,{path:"/wan/videos",body:e.modelValue?.request},null,8,["body"])])):m("",!0),t(E,{closable:!1,class:"mt-2 success"},{default:c(()=>[e.modelValue?.request?.model?(s(),r("p",mt,[t(g,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+a(e.$t("wan.name.model"))+": "+a(e.modelValue?.request?.model)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])])):m("",!0),i("p",ft,[t(g,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+a(e.$t("wan.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(s(),r("p",ht,[t(g,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+a(e.$t("wan.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):m("",!0)]),_:1})])):m("",!0),e.modelValue?.response?.success===!1?(s(),r("div",_t,[t(E,{closable:!1,class:"failure"},{template:c(()=>[t(g,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+a(e.$t("wan.name.failure")),1)]),default:c(()=>[i("p",gt,[t(g,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+a(e.$t("wan.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])]),i("p",$t,[t(g,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+a(e.$t("wan.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),t(V,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(s(),r("p",wt,[t(g,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+a(e.$t("wan.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):m("",!0),i("p",vt,[t(g,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+a(e.$t("wan.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),t(V,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):m("",!0),e.modelValue?.response?.success===void 0?(s(),r("div",bt,[t(E,{closable:!1,class:"info"},{template:c(()=>[t(g,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+a(e.$t("wan.name.failure")),1)]),default:c(()=>[i("p",kt,[t(g,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+a(e.$t("wan.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):m("",!0)])])}const Vt=b(et,[["render",yt],["__scopeId","data-v-916b8970"]]),Tt=v({name:"RecentPanel",components:{TaskPreview:Vt,BotPlaceholder:de,NoTasks:ee,ScrollList:Q},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Et={key:0},It={key:2,class:"w-full h-full flex items-center justify-center"};function St(e,n,p,_,k,y){const d=o("bot-placeholder"),u=o("task-preview"),l=o("scroll-list"),w=o("no-tasks");return s(),r(I,null,[e.tasks?.items===void 0?(s(),r("div",Et,[t(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(s(),$(l,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:n[0]||(n[0]=f=>e.$emit("reach-top"))},{default:c(()=>[(s(!0),r(I,null,U(e.tasks?.items,f=>(s(),$(u,{key:f.id,"model-value":f},null,8,["model-value"]))),128))]),_:1},8,["loading"])):m("",!0),e.tasks?.items?.length===0?(s(),r("div",It,[t(w)])):m("",!0)],64)}const Ut=b(Tt,[["render",St]]),Lt=N("wan"),Ct=v({name:"WanIndex",components:{ConfigPanel:xe,Layout:_e,RecentPanel:Ut},mixins:[H],inject:["initialized"],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===P.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.tasks}},watch:{tasks:{handler(e,n){e?.items?.length>n?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await X({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("wan/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("wan/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:n=5,createdAtMin:p,createdAtMax:_}=e||{};console.debug("limit",n,"createdAtMin",p,"createdAtMax",_),this.fetchingTasks=!0;try{await this.$store.dispatch("wan/getTasks",{limit:n,createdAtMin:p,createdAtMax:_})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!J(this.uploadTracker,p=>this.$t(p),p=>T.warning(p)))return;const e={...this.config,callback_url:Lt},n=this.credential?.token;if(!n){console.error("no token specified");return}T.info(this.$t("wan.message.startingTask")),B("wan",j.generate(e,{token:n})).then(()=>{T.success(this.$t("wan.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===se?T.error(this.$t("wan.message.usedUp")):T.error(this.$t("wan.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Rt(e,n,p,_,k,y){const d=o("config-panel"),u=o("recent-panel"),l=o("layout");return s(),$(l,null,{config:c(()=>[t(d,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:c(()=>[t(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Lo=b(Ct,[["render",Rt]]);export{Lo as default};
1
+ import{F as R}from"./index.es-DvG6Omih.js";import{E as S}from"./index-xfKA6XaK.js";import{E as D}from"./index-DjSAdHwP.js";import{d as v,G as r,D as i,z as C,C as t,y as c,J as o,q as s,E as a,O as I,N as U,x as $,H as h,I as m,M,Q as L}from"./vendor-vue-Ck7I6JZv.js";import{J as b,bq as O,ct as B,b6 as j,S as P,cu as N}from"./index-DiKXm2Vl.js";import{a as F,b as q}from"./wan-DKq-jYOo.js";import{E as A,a as G}from"./index-DV3ASYVw.js";import{p as z}from"./pasteUploadMixin-BurWbGNQ.js";import{u as W,a as H,e as J}from"./uploadTrackerMixin--N-yU8Tl.js";import{I as K,S as Q,l as X}from"./pagination-Dx2jY-ov.js";import{I as Y}from"./ImagePreview-C20ScRMB.js";import{E as Z}from"./index-0SgFPXi5.js";import{E as T}from"./index-DmkksXrm.js";import{P as x,N as ee}from"./NoTasks-BMmjOL6C.js";import{C as te}from"./Consumption-C05reyZz.js";import{a as oe}from"./price-BTmfK-T9.js";import{b as se}from"./errorCode-Cqj9Td_Z.js";import{C as ne}from"./CopyToClipboard-VMhzQe2I.js";import{V as ae}from"./VideoPlayer-mRwxMvax.js";import{A as le}from"./ApiCodeButton-OI5mHlsz.js";import{E as re}from"./index-CCiFJCOC.js";import{E as ie}from"./index-DpuiO2XK.js";import{E as ce}from"./index-DlO_4Ch8.js";import{B as de}from"./BotPlaceholder-CeRMdwzL.js";import"./use-form-item-d9y6c1OU.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-CBGKudGF.js";import"./index-DbaQbYQ-.js";import"./typescript-nWN70UwR.js";import"./index-DfR9Qbi5.js";import"./strings-C53lWZ6Y.js";import"./isEqual-UX6HkLTo.js";import"./_Uint8Array-vXvvgSwF.js";import"./castArray-D2L4b2-n.js";import"./index-BUPZeOUN.js";import"./index-NYylF2dS.js";import"./debounce-D3D-TN8J.js";import"./_baseIteratee-D3DXGIH5.js";import"./index-BbqZ38Fk.js";import"./highlight-D_nCtwSQ.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-DCKHnjpd.js";import"./_baseClone-0Kiqxc2t.js";import"./_initCloneObject-BYrljc_C.js";import"./vue-plyr-BO2nlN4c.js";import"./index-BKuC36PM.js";const ue=v({name:"LayoutWan",components:{ElDrawer:D,ElButton:S,FontAwesomeIcon:R},data(){return{drawer:!1}}}),pe={class:"main flex flex-row flex-1"},me={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},fe={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function he(e,n,p,_,k,y){const d=o("font-awesome-icon"),u=o("el-button"),l=o("el-drawer");return s(),r("div",pe,[i("div",me,[C(e.$slots,"config",{},void 0,!0)]),i("div",fe,[C(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:n[0]||(n[0]=w=>e.drawer=!0)},{default:c(()=>[t(d,{icon:"fa-solid fa-magic"})]),_:1}),t(l,{modelValue:e.drawer,"onUpdate:modelValue":n[1]||(n[1]=w=>e.drawer=w),direction:"ltr","with-header":!1,size:"340px"},{default:c(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const _e=b(ue,[["render",he],["__scopeId","data-v-3b0702a7"]]),ge=v({name:"ModelSelector",components:{ElSelect:G,ElOption:A},data(){return{}},computed:{options(){return[{value:"wan2.6-t2v",label:this.$t("wan.button.modelT2v")},{value:"wan2.6-i2v",label:this.$t("wan.button.modelI2v")},{value:"wan2.6-i2v-flash",label:this.$t("wan.button.modelI2vFlash")},{value:"wan2.6-r2v",label:this.$t("wan.button.modelR2v")}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||(this.value=F)}}),$e={class:"field"},we={class:"title font-bold"},ve={class:"float-left"};function be(e,n,p,_,k,y){const d=o("el-option"),u=o("el-select");return s(),r("div",$e,[i("h2",we,a(e.$t("wan.name.model")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:c(()=>[(s(!0),r(I,null,U(e.options,l=>(s(),$(d,{key:l.value,label:l.label,value:l.value},{default:c(()=>[i("span",ve,a(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const ke=b(ge,[["render",be],["__scopeId","data-v-eb090beb"]]),ye="720p",Ve=v({name:"ResolutionSelector",components:{ElSelect:G,ElOption:A},computed:{options(){return[{value:"480p",label:this.$t("wan.name.resolution480p")},{value:"720p",label:this.$t("wan.name.resolution720p")},{value:"1080p",label:this.$t("wan.name.resolution1080p")}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||(this.value=ye)}}),Te={class:"field"},Ee={class:"title font-bold"},Ie={class:"float-left"};function Se(e,n,p,_,k,y){const d=o("el-option"),u=o("el-select");return s(),r("div",Te,[i("h2",Ee,a(e.$t("wan.name.resolution")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:c(()=>[(s(!0),r(I,null,U(e.options,l=>(s(),$(d,{key:l.value,label:l.label,value:l.value},{default:c(()=>[i("span",Ie,a(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ue=b(Ve,[["render",Se],["__scopeId","data-v-3e39f44e"]]),Le=5,Ce=v({name:"DurationSelector",components:{ElSelect:G,ElOption:A},computed:{options(){return[{value:5,label:this.$t("wan.name.duration5s")},{value:10,label:this.$t("wan.name.duration10s")},{value:15,label:this.$t("wan.name.duration15s")}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||(this.value=Le)}}),Re={class:"field"},Ae={class:"title font-bold"},Ge={class:"float-left"};function Pe(e,n,p,_,k,y){const d=o("el-option"),u=o("el-select");return s(),r("div",Re,[i("h2",Ae,a(e.$t("wan.name.duration")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:c(()=>[(s(!0),r(I,null,U(e.options,l=>(s(),$(d,{key:l.value,label:l.label,value:l.value},{default:c(()=>[i("span",Ge,a(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const De=b(Ce,[["render",Pe],["__scopeId","data-v-5f35a2cf"]]),Me=v({name:"ImageUrlInput",components:{ElUpload:Z,ElButton:S,InfoIcon:K,ImagePreview:Y},mixins:[z,W],data(){return{fileList:[],uploadUrl:O()+"/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.wan?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetImageUrl()},methods:{onExceed(){T.warning(this.$t("wan.message.uploadImageExceed"))},onError(){T.error(this.$t("wan.message.uploadImageError"))},async onRemove(){T.error(this.$t("wan.message.uploadImageError"))},onSetImageUrl(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),Oe={class:"relative"},Be={class:"flex justify-between"},je={class:"flex justify-start items-center"},Ne={class:"text-sm font-bold"};function Fe(e,n,p,_,k,y){const d=o("info-icon"),u=o("image-preview"),l=o("el-button"),w=o("el-upload");return s(),r("div",Oe,[i("div",Be,[i("div",je,[i("span",Ne,a(e.$t("wan.name.imageUrl")),1),t(d,{content:e.$t("wan.description.imageUrl"),class:"info"},null,8,["content"])])]),t(w,{"file-list":e.fileList,"onUpdate:fileList":n[0]||(n[0]=f=>e.fileList=f),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:c(({file:f})=>[f.url&&f.percentage!==void 0?(s(),$(u,{key:0,url:f.url,name:f.name,percentage:f.percentage,onRemove:g=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])):m("",!0)]),default:c(()=>[t(l,{size:"small",type:"primary",class:"btn btn-upload",round:""},{default:c(()=>[h(a(e.$t("wan.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])])}const qe=b(Me,[["render",Fe],["__scopeId","data-v-41a69004"]]),ze="",We=v({name:"PromptInput",components:{PromptTextarea:x},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ze)}});function He(e,n,p,_,k,y){const d=o("prompt-textarea");return s(),$(d,{modelValue:e.prompt,"onUpdate:modelValue":n[0]||(n[0]=u=>e.prompt=u),title:e.$t("wan.name.prompt"),info:e.$t("wan.description.prompt"),placeholder:e.$t("wan.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const Je=b(We,[["render",He]]),Ke=v({name:"PresetPanel",components:{ElButton:S,FontAwesomeIcon:R,PromptInput:Je,ImageUrlInput:qe,ModelSelector:ke,ResolutionSelector:Ue,DurationSelector:De,Consumption:te},emits:["generate"],computed:{config(){return this.$store.state.wan?.config},consumption(){return oe(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){const e=this.config?.model;return e==="wan2.6-t2v"||e==="wan2.6-i2v"||e==="wan2.6-i2v-flash"},supportsDuration(){return this.config?.model==="wan2.6-t2v"},supportsImageUrl(){const e=this.config?.model;return e==="wan2.6-i2v"||e==="wan2.6-i2v-flash"}},methods:{onGenerate(){this.$emit("generate")}}}),Qe={class:"flex flex-col h-full"},Xe={class:"flex-1 overflow-y-auto p-5"},Ye={class:"flex flex-col items-center justify-center px-5 pb-5"};function Ze(e,n,p,_,k,y){const d=o("prompt-input"),u=o("model-selector"),l=o("resolution-selector"),w=o("duration-selector"),f=o("image-url-input"),g=o("consumption"),V=o("font-awesome-icon"),E=o("el-button");return s(),r("div",Qe,[i("div",Xe,[t(d,{class:"mb-4"}),t(u,{class:"mb-4"}),e.supportsResolution?(s(),$(l,{key:0,class:"mb-4"})):m("",!0),e.supportsDuration?(s(),$(w,{key:1,class:"mb-4"})):m("",!0),e.supportsImageUrl?(s(),$(f,{key:2,class:"mb-2"})):m("",!0)]),i("div",Ye,[t(g,{value:e.consumption,service:e.service},null,8,["value","service"]),t(E,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[t(V,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+a(e.$t("wan.button.generate")),1)]),_:1},8,["onClick"])])])}const xe=b(Ke,[["render",Ze]]),et=v({name:"TaskPreview",components:{ElImage:ce,CopyToClipboard:ne,FontAwesomeIcon:R,ElAlert:ie,VideoPlayer:ae,ElTooltip:re,ElButton:S,ApiCodeButton:le},props:{modelValue:{type:Object,required:!0}},setup(){return{WAN_LOGO:q}},computed:{application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{onDownload(e){console.debug("on download wan video",e),window.open(e,"_blank")}}}),tt={class:"preview"},ot={class:"left"},st={class:"main"},nt={class:"bot"},at={class:"datetime"},lt={class:"info"},rt={key:0,class:"prompt mt-2"},it={key:0},ct={key:1},dt={key:0,class:L({content:!0,failed:!0})},ut={key:0,class:"mb-4"},pt={key:1,class:L({operations:!0,"mt-2":!0})},mt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ft={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},_t={key:1,class:L({content:!0})},gt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},bt={key:2,class:L({content:!0})},kt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function yt(e,n,p,_,k,y){const d=o("el-image"),u=o("video-player"),l=o("el-button"),w=o("el-tooltip"),f=o("api-code-button"),g=o("font-awesome-icon"),V=o("copy-to-clipboard"),E=o("el-alert");return s(),r("div",tt,[i("div",ot,[t(d,{src:e.WAN_LOGO,class:"avatar"},null,8,["src"])]),i("div",st,[i("div",nt,[h(a(e.$t("wan.name.wanBot"))+" ",1),i("span",at,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",lt,[e.modelValue?.request?.prompt?(s(),r("p",rt,[h(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?m("",!0):(s(),r("span",it," - ("+a(e.$t("wan.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"||e.modelValue?.response?.state==="running"?(s(),r("span",ct," - ("+a(e.$t("wan.status.processing"))+") ",1)):m("",!0)])):m("",!0)]),e.modelValue?.response?.success===!0?(s(),r("div",dt,[e.modelValue?.response?.video_url?(s(),r("div",ut,[t(u,{src:e.modelValue?.response?.video_url},null,8,["src"])])):m("",!0),e.modelValue?.response?.video_url?(s(),r("div",pt,[t(w,{class:"box-item",effect:"dark",content:e.$t("wan.message.downloadVideo"),placement:"top-start"},{default:c(()=>[t(l,{type:"info",size:"small",class:"mb-2",onClick:n[0]||(n[0]=M(At=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:c(()=>[h(a(e.$t("wan.button.download")),1)]),_:1})]),_:1},8,["content"]),t(f,{path:"/wan/videos",body:e.modelValue?.request},null,8,["body"])])):m("",!0),t(E,{closable:!1,class:"mt-2 success"},{default:c(()=>[e.modelValue?.request?.model?(s(),r("p",mt,[t(g,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+a(e.$t("wan.name.model"))+": "+a(e.modelValue?.request?.model)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])])):m("",!0),i("p",ft,[t(g,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+a(e.$t("wan.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(s(),r("p",ht,[t(g,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+a(e.$t("wan.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):m("",!0)]),_:1})])):m("",!0),e.modelValue?.response?.success===!1?(s(),r("div",_t,[t(E,{closable:!1,class:"failure"},{template:c(()=>[t(g,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+a(e.$t("wan.name.failure")),1)]),default:c(()=>[i("p",gt,[t(g,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+a(e.$t("wan.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])]),i("p",$t,[t(g,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+a(e.$t("wan.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),t(V,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(s(),r("p",wt,[t(g,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+a(e.$t("wan.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):m("",!0),i("p",vt,[t(g,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+a(e.$t("wan.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),t(V,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):m("",!0),e.modelValue?.response?.success===void 0?(s(),r("div",bt,[t(E,{closable:!1,class:"info"},{template:c(()=>[t(g,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+a(e.$t("wan.name.failure")),1)]),default:c(()=>[i("p",kt,[t(g,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+a(e.$t("wan.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):m("",!0)])])}const Vt=b(et,[["render",yt],["__scopeId","data-v-916b8970"]]),Tt=v({name:"RecentPanel",components:{TaskPreview:Vt,BotPlaceholder:de,NoTasks:ee,ScrollList:Q},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Et={key:0},It={key:2,class:"w-full h-full flex items-center justify-center"};function St(e,n,p,_,k,y){const d=o("bot-placeholder"),u=o("task-preview"),l=o("scroll-list"),w=o("no-tasks");return s(),r(I,null,[e.tasks?.items===void 0?(s(),r("div",Et,[t(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(s(),$(l,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:n[0]||(n[0]=f=>e.$emit("reach-top"))},{default:c(()=>[(s(!0),r(I,null,U(e.tasks?.items,f=>(s(),$(u,{key:f.id,"model-value":f},null,8,["model-value"]))),128))]),_:1},8,["loading"])):m("",!0),e.tasks?.items?.length===0?(s(),r("div",It,[t(w)])):m("",!0)],64)}const Ut=b(Tt,[["render",St]]),Lt=N("wan"),Ct=v({name:"WanIndex",components:{ConfigPanel:xe,Layout:_e,RecentPanel:Ut},mixins:[H],inject:["initialized"],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===P.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.tasks}},watch:{tasks:{handler(e,n){e?.items?.length>n?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await X({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("wan/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("wan/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:n=5,createdAtMin:p,createdAtMax:_}=e||{};console.debug("limit",n,"createdAtMin",p,"createdAtMax",_),this.fetchingTasks=!0;try{await this.$store.dispatch("wan/getTasks",{limit:n,createdAtMin:p,createdAtMax:_})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!J(this.uploadTracker,p=>this.$t(p),p=>T.warning(p)))return;const e={...this.config,callback_url:Lt},n=this.credential?.token;if(!n){console.error("no token specified");return}T.info(this.$t("wan.message.startingTask")),B("wan",j.generate(e,{token:n})).then(()=>{T.success(this.$t("wan.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===se?T.error(this.$t("wan.message.usedUp")):T.error(this.$t("wan.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Rt(e,n,p,_,k,y){const d=o("config-panel"),u=o("recent-panel"),l=o("layout");return s(),$(l,null,{config:c(()=>[t(d,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:c(()=>[t(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Lo=b(Ct,[["render",Rt]]);export{Lo as default};
@@ -1 +1 @@
1
- import{F as U}from"./index.es-R1Cr8Ee-.js";import{E as A}from"./index-CawEUGxe.js";import{E as O}from"./index-DJTkzTe0.js";import{d as g,G as r,D as c,z as R,C as t,y as m,J as s,q as a,E as n,O as S,N as C,x as V,H as _,I as h,Q as L}from"./vendor-vue-Ck7I6JZv.js";import{J as $,bq as B,ct as N,aH as j,o as z,S as P,cu as F}from"./index-CP77TWdb.js";import{a as K,b as H,c as J}from"./pika-DpzVVVef.js";import{I as G,S as Q,l as W}from"./pagination-CEeOobhb.js";import{E as X}from"./index-Bg2ejRDD.js";import{E as D,a as M}from"./index-bHt8D8Fx.js";import{a as Y,E as Z}from"./index-B7rmq8LF.js";import{p as x}from"./pasteUploadMixin-BurWbGNQ.js";import{u as ee,a as te,e as oe}from"./uploadTrackerMixin--N-yU8Tl.js";import{I as se}from"./ImagePreview-DuB1YwYv.js";import{E as ae}from"./index-CZoYV2BT.js";import{E as w}from"./index-DFs6h0eu.js";import{P as ne,N as ie}from"./NoTasks-D9pD2MYN.js";import{C as le}from"./Consumption-22q2vdkM.js";import{a as re}from"./price-Di78GKvw.js";import{b as ce,a as pe}from"./errorCode-Cqj9Td_Z.js";import{C as de}from"./CopyToClipboard-BdC8Cbh0.js";import{s as ue}from"./vue-plyr-BO2nlN4c.js";import{A as me}from"./ApiCodeButton-BHdTeOqv.js";import{E as fe}from"./index-Cg4MRsId.js";import{E as _e}from"./index-CF_Ht2eg.js";import{E as he}from"./index-BKOJmWhd.js";import{B as ge}from"./BotPlaceholder-DB0cJkHn.js";import"./use-form-item-GKgluxER.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-CBGKudGF.js";import"./highlight-I7n2HDZ_.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./validator-CmydtgCY.js";import"./index-BQNwhlPF.js";import"./index-BrKMdeCn.js";import"./typescript-Ha3ghiIN.js";import"./strings-C53lWZ6Y.js";import"./isEqual-CzWauzgC.js";import"./_Uint8Array-B9px9VMw.js";import"./castArray-CC9kVLXs.js";import"./index-DDof6EEv.js";import"./index-CpIAt5NM.js";import"./debounce-CSmM5ZXR.js";import"./_baseIteratee-BvbTPXxD.js";import"./index-BUNQ7dx9.js";import"./index-DX3OJjaL.js";import"./_baseClone-gsImuTAs.js";import"./_initCloneObject-Dd0zNGxl.js";import"./index-9G6JgJTg.js";const $e=g({name:"LayoutPika",components:{ElDrawer:O,ElButton:A,FontAwesomeIcon:U},data(){return{drawer:!1}}}),ke={class:"main flex flex-row flex-1"},ve={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},be={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ye(e,o,l,d,k,v){const p=s("font-awesome-icon"),f=s("el-button"),i=s("el-drawer");return a(),r("div",ke,[c("div",ve,[R(e.$slots,"config",{},void 0,!0)]),c("div",be,[R(e.$slots,"result",{},void 0,!0)]),t(f,{circle:"",class:"menu",onClick:o[0]||(o[0]=b=>e.drawer=!0)},{default:m(()=>[t(p,{icon:"fa-solid fa-magic"})]),_:1}),t(i,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=b=>e.drawer=b),direction:"ltr","with-header":!1,size:"350px"},{default:m(()=>[R(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const we=$($e,[["render",ye],["__scopeId","data-v-10596416"]]),Ve=g({name:"IngredientsSelector",components:{ElSwitch:X,InfoIcon:G},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients},set(e){console.debug("set ingredients",e),e||this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,ingredients_mode:void 0,image_url:void 0}),this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,model:"2.0"})}}},mounted(){this.value===void 0&&(this.value=K)}}),Ee={class:"field"},Ie={class:"title font-bold"};function Se(e,o,l,d,k,v){const p=s("el-switch"),f=s("info-icon");return a(),r("div",Ee,[c("h2",Ie,n(e.$t("pika.name.ingredients")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),class:"value"},null,8,["modelValue"]),t(f,{content:e.$t("pika.description.ingredients"),class:"info"},null,8,["content"])])}const Te=$(Ve,[["render",Se],["__scopeId","data-v-17c0af5c"]]),Ce=g({name:"EffectSelector",components:{ElSelect:M,ElOption:D},data(){return{}},computed:{options(){return[{value:"Levitate",label:this.$t("pika.style.effect1")},{value:"Decapitate",label:this.$t("pika.style.effect2")},{value:"Eye-pop",label:this.$t("pika.style.effect3")},{value:"Ta-da",label:this.$t("pika.style.effect4")},{value:"Deflate",label:this.$t("pika.style.effect5")},{value:"Crumble",label:this.$t("pika.style.effect6")},{value:"Dissolve",label:this.$t("pika.style.effect7")},{value:"Squish",label:this.$t("pika.style.effect8")},{value:"Inflate",label:this.$t("pika.style.effect9")},{value:"Melt",label:this.$t("pika.style.effect10")},{value:"Cake-ify",label:this.$t("pika.style.effect11")},{value:"Crush",label:this.$t("pika.style.effect12")},{value:"Explode",label:this.$t("pika.style.effect13")}]},value:{get(){return this.$store.state.pika?.config?.effect},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,effect:e})}}}}),Pe={class:"field"},Ue={class:"title font-bold"},Ae={class:"float-left"};function Le(e,o,l,d,k,v){const p=s("el-option"),f=s("el-select");return a(),r("div",Pe,[c("h2",Ue,n(e.$t("pika.name.effect")),1),t(f,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),class:"value",placeholder:e.$t("pika.placeholder.select"),clearable:""},{default:m(()=>[(a(!0),r(S,null,C(e.options,i=>(a(),V(p,{key:i.value,label:i.label,value:i.value},{default:m(()=>[c("span",Ae,n(i.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Re=$(Ce,[["render",Le],["__scopeId","data-v-d1c54475"]]),Ge=g({name:"IngredientsModelSelector",components:{ElRadioButton:Z,ElRadioGroup:Y},data(){return{options:[{label:this.$t("pika.button.precise"),value:"precise"},{label:this.$t("pika.button.creative"),value:"creative"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients_mode},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients_mode:e})}}},mounted(){this.value||(this.value=H)}}),De={class:"field"},Me={class:"title font-bold"};function qe(e,o,l,d,k,v){const p=s("el-radio-button"),f=s("el-radio-group");return a(),r("div",De,[c("h2",Me,n(e.$t("pika.name.ingredientsModel")),1),t(f,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),class:"quality"},{default:m(()=>[(a(!0),r(S,null,C(e.options,i=>(a(),V(p,{key:i.value,label:i.value},{default:m(()=>[_(n(i.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const Oe=$(Ge,[["render",qe],["__scopeId","data-v-b72865fa"]]),Be=g({name:"ModelSelector",components:{ElSelect:M,ElOption:D},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"2.0",label:"2.0"},{value:"1.5",label:"1.5"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.model},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika.config,model:e})}}},mounted(){this.value||(this.value=J)}}),Ne={class:"field"},je={class:"title font-bold"};function ze(e,o,l,d,k,v){const p=s("el-option"),f=s("el-select");return a(),r("div",Ne,[c("h2",je,n(e.$t("pika.name.model")),1),t(f,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),class:"value",placeholder:e.$t("pika.placeholder.select")},{default:m(()=>[(a(!0),r(S,null,C(e.options,i=>(a(),V(p,{key:i.value,label:i.label,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Fe=$(Be,[["render",ze],["__scopeId","data-v-7b2e870a"]]),Ke=g({name:"ImageUrlInput",components:{ElUpload:ae,ElButton:A,InfoIcon:G,ImagePreview:se,FontAwesomeIcon:U},mixins:[x,ee],data(){return{fileList:[],uploadUrl:B()+"/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.pika?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){w.warning(this.$t("pika.message.uploadStartImageExceed"))},onError(){w.error(this.$t("pika.message.uploadStartImageError"))},async onRemove(){w.error(this.$t("pika.message.uploadStartImageError"))},onSetStartImageUrl(){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:this.urls})},async onSuccess(){this.onSetStartImageUrl()}}}),He={class:"field"},Je={class:"title font-bold"},Qe={class:"upload-wrapper"};function We(e,o,l,d,k,v){const p=s("image-preview"),f=s("font-awesome-icon"),i=s("el-button"),b=s("el-upload"),E=s("info-icon");return a(),r("div",He,[c("h2",Je,n(e.$t("pika.name.imageUrl")),1),c("div",Qe,[t(b,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=u=>e.fileList=u),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value upload-wrapper",limit:3,multiple:!0,"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:m(({file:u})=>[t(p,{url:u.url||u.response?.file_url,name:u.name,percentage:u.percentage,onRemove:I=>e.fileList.splice(e.fileList.indexOf(u),1)},null,8,["url","name","percentage","onRemove"])]),default:m(()=>[t(i,{size:"small",type:"primary",round:""},{default:m(()=>[t(f,{icon:"fa-solid fa-upload",class:"mr-1"}),_(" "+n(e.$t("pika.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])]),t(E,{content:e.$t("pika.description.imageUrl"),class:"info"},null,8,["content"])])}const Xe=$(Ke,[["render",We],["__scopeId","data-v-25cefe78"]]),Ye="",Ze=g({name:"PromptInput",components:{PromptTextarea:ne},computed:{prompt:{get(){return this.$store.state.pika?.config?.prompt},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Ye)}});function xe(e,o,l,d,k,v){const p=s("prompt-textarea");return a(),V(p,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=f=>e.prompt=f),title:e.$t("pika.name.prompt"),info:e.$t("pika.description.prompt"),placeholder:e.$t("pika.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const et=$(Ze,[["render",xe]]),tt=g({name:"PresetPanel",components:{ImageUrlInput:Xe,ElButton:A,FontAwesomeIcon:U,Consumption:le,PromptInput:et,IngredientsSelector:Te,IngredientsModelSelector:Oe,ModelSelector:Fe,EffectSelector:Re},emits:["generate"],computed:{config(){return this.$store.state.pika?.config},consumption(){return re(this.config,this.service?.cost)},service(){return this.$store.state.pika?.service}},methods:{onGenerate(){this.$emit("generate")}}}),ot={class:"flex flex-col h-full"},st={class:"flex-1 overflow-y-auto p-5"},at={class:"flex flex-col items-center justify-center px-5 pb-5"};function nt(e,o,l,d,k,v){const p=s("prompt-input"),f=s("model-selector"),i=s("ingredients-selector"),b=s("effect-selector"),E=s("image-url-input"),u=s("ingredients-model-selector"),I=s("consumption"),T=s("font-awesome-icon"),y=s("el-button");return a(),r("div",ot,[c("div",st,[t(p,{class:"mb-4"}),t(f,{class:"mb-4"}),t(i,{class:"mb-4"}),t(b,{class:"mb-4"}),e.config?.ingredients?(a(),V(E,{key:0,class:"mb-4"})):h("",!0),e.config?.ingredients?(a(),V(u,{key:1,class:"mb-4"})):h("",!0)]),c("div",at,[t(I,{value:e.consumption,service:e.service},null,8,["value","service"]),t(y,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:m(()=>[t(T,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+n(e.$t("pika.button.generate")),1)]),_:1},8,["onClick"])])])}const it=$(tt,[["render",nt]]),lt=g({name:"VideoPlayer",components:{VuePlyr:ue},props:{modelValue:{type:Object,required:!0}},data(){return{options:{quality:{default:1080,options:[1080]}}}}}),rt=["data-poster"],ct=["src"];function pt(e,o,l,d,k,v){const p=s("vue-plyr");return a(),r("div",null,[t(p,{options:e.options,class:"video"},{default:m(()=>[c("video",{controls:"",playsinline:"",preload:"metadata","data-poster":e.modelValue?.image_url},[c("source",{size:"1080",src:e.modelValue?.video_url,type:"video/mp4"},null,8,ct)],8,rt)]),_:1},8,["options"])])}const dt=$(lt,[["render",pt],["__scopeId","data-v-897d9fe0"]]),ut=g({name:"TaskPreview",components:{ElImage:he,CopyToClipboard:de,FontAwesomeIcon:U,ElAlert:_e,VideoPlayer:dt,ElTooltip:fe,ElButton:A,ApiCodeButton:me},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pika?.application},config(){return this.$store.state.pika?.config},videos(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(l=>{let d=l;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e){console.log("on download"),window.open(e,"_blank")},onReload(e){const o=e.target,l=new URL(o.src),d=l.searchParams.get("retry");if(!d)l.searchParams.set("retry","1");else if(parseInt(d)<2)l.searchParams.set("retry",(parseInt(d)+1).toString());else return;o.src=l.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),mt={class:"left"},ft={class:"main"},_t={class:"bot"},ht={class:"datetime"},gt={class:"info"},$t={key:0,class:"prompt mt-2"},kt={key:0},vt={key:1},bt={key:0,class:L({content:!0,failed:!0})},yt={class:"image-wrapper"},wt={key:0,class:L({operations:!0,"mt-2":!0})},Vt={key:0,class:"description"},Et={class:"description"},It={key:1,class:"description"},St={key:1,class:L({content:!0})},Tt={class:"description"},Ct={class:"description"},Pt={key:0,class:"description"},Ut={class:"description"},At={key:2,class:L({content:!0})},Lt={class:"description"};function Rt(e,o,l,d,k,v){const p=s("el-image"),f=s("VideoPlayer"),i=s("el-button"),b=s("el-tooltip"),E=s("api-code-button"),u=s("font-awesome-icon"),I=s("copy-to-clipboard"),T=s("el-alert");return a(!0),r(S,null,C(e.videos,(y,q)=>(a(),r("div",{key:q,class:"preview"},[c("div",mt,[t(p,{src:"https://cdn.acedata.cloud/i80tgn.png",class:"avatar"})]),c("div",ft,[c("div",_t,[_(n(e.$t("pika.name.pikaBot"))+" ",1),c("span",ht,n(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",gt,[e.modelValue?.request?.prompt?(a(),r("p",$t,[_(n(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?h("",!0):(a(),r("span",kt," - ("+n(e.$t("pika.status.pending"))+") ",1)),y?.state==="processing"||y?.state==="pending"?(a(),r("span",vt," - ("+n(e.$t("pika.status.processing"))+") ",1)):h("",!0)])):h("",!0)]),e.modelValue?.response?.success===!0?(a(),r("div",bt,[c("div",yt,[t(f,{"model-value":y},null,8,["model-value"])]),y?(a(),r("div",wt,[t(b,{class:"box-item",effect:"dark",content:e.$t("pika.message.downloadVideo"),placement:"top-start"},{default:m(()=>[y?.video_url?(a(),V(i,{key:0,type:"info",size:"small",class:"btn-action",onClick:Ft=>e.onDownload(y?.video_url)},{default:m(()=>[_(n(e.$t("pika.button.download")),1)]),_:1},8,["onClick"])):h("",!0)]),_:2},1032,["content"]),t(E,{path:"/pika/videos",body:e.modelValue?.request},null,8,["body"])])):h("",!0),t(T,{closable:!1,class:"mt-2 success"},{default:m(()=>[e.modelValue?.request?.model?(a(),r("p",Vt,[t(u,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+n(e.$t("pika.name.model"))+": "+n(e.modelValue?.request?.model),1)])):h("",!0),c("p",Et,[t(u,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+n(e.$t("pika.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(I,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",It,[t(u,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+n(e.$t("pika.name.elapsed"))+": "+n(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0)]),_:1})])):h("",!0),e.modelValue?.response?.success===!1?(a(),r("div",St,[t(T,{closable:!1,class:"failure"},{template:m(()=>[t(u,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+n(e.$t("pika.name.failure")),1)]),default:m(()=>[c("p",Tt,[t(u,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+n(e.$t("pika.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(I,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",Ct,[t(u,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+n(e.$t("pika.name.failureReason"))+": "+n(e.modelValue?.response?.error?.message)+" ",1),t(I,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",Pt,[t(u,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+n(e.$t("pika.name.elapsed"))+": "+n(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0),c("p",Ut,[t(u,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+n(e.$t("pika.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),t(I,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):h("",!0),!e.modelValue?.response||y?.state==="processing"||y?.state==="pending"?(a(),r("div",At,[t(T,{closable:!1,class:"info"},{template:m(()=>[t(u,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+n(e.$t("pika.name.failure")),1)]),default:m(()=>[c("p",Lt,[t(u,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+n(e.$t("pika.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(I,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):h("",!0)])]))),128)}const Gt=$(ut,[["render",Rt],["__scopeId","data-v-52856c99"]]),Dt=g({name:"RecentPanel",components:{TaskPreview:Gt,BotPlaceholder:ge,NoTasks:ie,ScrollList:Q},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pika?.tasks,items:this.$store.state.pika?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Mt={key:0},qt={key:2,class:"w-full h-full flex items-center justify-center"};function Ot(e,o,l,d,k,v){const p=s("bot-placeholder"),f=s("task-preview"),i=s("scroll-list"),b=s("no-tasks");return a(),r(S,null,[e.tasks?.items===void 0?(a(),r("div",Mt,[t(p)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),V(i,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=E=>e.$emit("reach-top"))},{default:m(()=>[(a(!0),r(S,null,C(e.tasks?.items,(E,u)=>(a(),V(f,{key:u,"model-value":E},null,8,["model-value"]))),128))]),_:1},8,["loading"])):h("",!0),e.tasks?.items?.length===0?(a(),r("div",qt,[t(b)])):h("",!0)],64)}const Bt=$(Dt,[["render",Ot]]),Nt=F("pika"),jt=g({name:"PikaIndex",components:{ConfigPanel:it,Layout:we,RecentPanel:Bt},mixins:[te],inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pika?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.pika?.status?.getTasks===P.Request||this.fetchingTasks},service(){return this.$store.state.pika.service},credential(){return this.$store.state.pika.credential},config(){return this.$store.state.pika.config},initializing(){return this.$store.state.pika.status.getApplications===P.Request},needApply(){return this.$store.state.pika.status.getApplications===P.Success&&!this.application},application(){return this.$store.state.pika.application},applications(){return this.$store.state.pika.applications},tasks(){return this.$store.state.pika.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 W({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("pika/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("pika/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){z.create({application:this.application}).then(({data:e})=>{this.application=e,w.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===pe&&w.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:o=5,createdAtMin:l,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",l,"createdAtMax",d),this.fetchingTasks=!0;try{await this.$store.dispatch("pika/getTasks",{limit:o,createdAtMin:l,createdAtMax:d})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!oe(this.uploadTracker,l=>this.$t(l),l=>w.warning(l)))return;const e={...this.config,callback_url:Nt},o=this.credential?.token;if(!o){console.error("no token specified");return}w.info(this.$t("pika.message.startingTask")),N("pika",j.generate(e,{token:o})).then(()=>{w.success(this.$t("pika.message.startTaskSuccess")),this.$store.commit("pika/setConfig",{config:void 0})}).catch(l=>{l?.response?.data?.error?.code===ce?w.error(this.$t("pika.message.usedUp")):w.error(this.$t("pika.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function zt(e,o,l,d,k,v){const p=s("config-panel"),f=s("recent-panel"),i=s("layout");return a(),V(i,null,{config:m(()=>[t(p,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:m(()=>[t(f,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const zo=$(jt,[["render",zt],["__scopeId","data-v-eae39ce1"]]);export{zo as default};
1
+ import{F as U}from"./index.es-DvG6Omih.js";import{E as A}from"./index-xfKA6XaK.js";import{E as O}from"./index-DjSAdHwP.js";import{d as g,G as r,D as c,z as R,C as t,y as m,J as s,q as a,E as n,O as S,N as C,x as V,H as _,I as h,Q as L}from"./vendor-vue-Ck7I6JZv.js";import{J as $,bq as B,ct as N,aH as j,o as z,S as P,cu as F}from"./index-DiKXm2Vl.js";import{a as K,b as H,c as J}from"./pika-DpzVVVef.js";import{I as G,S as Q,l as W}from"./pagination-Dx2jY-ov.js";import{E as X}from"./index-CDEW0Kb3.js";import{E as D,a as M}from"./index-DV3ASYVw.js";import{a as Y,E as Z}from"./index-D6ZcNGZb.js";import{p as x}from"./pasteUploadMixin-BurWbGNQ.js";import{u as ee,a as te,e as oe}from"./uploadTrackerMixin--N-yU8Tl.js";import{I as se}from"./ImagePreview-C20ScRMB.js";import{E as ae}from"./index-0SgFPXi5.js";import{E as w}from"./index-DmkksXrm.js";import{P as ne,N as ie}from"./NoTasks-BMmjOL6C.js";import{C as le}from"./Consumption-C05reyZz.js";import{a as re}from"./price-BTmfK-T9.js";import{b as ce,a as pe}from"./errorCode-Cqj9Td_Z.js";import{C as de}from"./CopyToClipboard-VMhzQe2I.js";import{s as ue}from"./vue-plyr-BO2nlN4c.js";import{A as me}from"./ApiCodeButton-OI5mHlsz.js";import{E as fe}from"./index-CCiFJCOC.js";import{E as _e}from"./index-DpuiO2XK.js";import{E as he}from"./index-DlO_4Ch8.js";import{B as ge}from"./BotPlaceholder-CeRMdwzL.js";import"./use-form-item-d9y6c1OU.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-CBGKudGF.js";import"./highlight-D_nCtwSQ.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./validator-BS3Z4xEC.js";import"./index-DfR9Qbi5.js";import"./index-DbaQbYQ-.js";import"./typescript-nWN70UwR.js";import"./strings-C53lWZ6Y.js";import"./isEqual-UX6HkLTo.js";import"./_Uint8Array-vXvvgSwF.js";import"./castArray-D2L4b2-n.js";import"./index-BUPZeOUN.js";import"./index-NYylF2dS.js";import"./debounce-D3D-TN8J.js";import"./_baseIteratee-D3DXGIH5.js";import"./index-BbqZ38Fk.js";import"./index-DCKHnjpd.js";import"./_baseClone-0Kiqxc2t.js";import"./_initCloneObject-BYrljc_C.js";import"./index-BKuC36PM.js";const $e=g({name:"LayoutPika",components:{ElDrawer:O,ElButton:A,FontAwesomeIcon:U},data(){return{drawer:!1}}}),ke={class:"main flex flex-row flex-1"},ve={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},be={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ye(e,o,l,d,k,v){const p=s("font-awesome-icon"),f=s("el-button"),i=s("el-drawer");return a(),r("div",ke,[c("div",ve,[R(e.$slots,"config",{},void 0,!0)]),c("div",be,[R(e.$slots,"result",{},void 0,!0)]),t(f,{circle:"",class:"menu",onClick:o[0]||(o[0]=b=>e.drawer=!0)},{default:m(()=>[t(p,{icon:"fa-solid fa-magic"})]),_:1}),t(i,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=b=>e.drawer=b),direction:"ltr","with-header":!1,size:"350px"},{default:m(()=>[R(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const we=$($e,[["render",ye],["__scopeId","data-v-10596416"]]),Ve=g({name:"IngredientsSelector",components:{ElSwitch:X,InfoIcon:G},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients},set(e){console.debug("set ingredients",e),e||this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,ingredients_mode:void 0,image_url:void 0}),this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,model:"2.0"})}}},mounted(){this.value===void 0&&(this.value=K)}}),Ee={class:"field"},Ie={class:"title font-bold"};function Se(e,o,l,d,k,v){const p=s("el-switch"),f=s("info-icon");return a(),r("div",Ee,[c("h2",Ie,n(e.$t("pika.name.ingredients")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),class:"value"},null,8,["modelValue"]),t(f,{content:e.$t("pika.description.ingredients"),class:"info"},null,8,["content"])])}const Te=$(Ve,[["render",Se],["__scopeId","data-v-17c0af5c"]]),Ce=g({name:"EffectSelector",components:{ElSelect:M,ElOption:D},data(){return{}},computed:{options(){return[{value:"Levitate",label:this.$t("pika.style.effect1")},{value:"Decapitate",label:this.$t("pika.style.effect2")},{value:"Eye-pop",label:this.$t("pika.style.effect3")},{value:"Ta-da",label:this.$t("pika.style.effect4")},{value:"Deflate",label:this.$t("pika.style.effect5")},{value:"Crumble",label:this.$t("pika.style.effect6")},{value:"Dissolve",label:this.$t("pika.style.effect7")},{value:"Squish",label:this.$t("pika.style.effect8")},{value:"Inflate",label:this.$t("pika.style.effect9")},{value:"Melt",label:this.$t("pika.style.effect10")},{value:"Cake-ify",label:this.$t("pika.style.effect11")},{value:"Crush",label:this.$t("pika.style.effect12")},{value:"Explode",label:this.$t("pika.style.effect13")}]},value:{get(){return this.$store.state.pika?.config?.effect},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,effect:e})}}}}),Pe={class:"field"},Ue={class:"title font-bold"},Ae={class:"float-left"};function Le(e,o,l,d,k,v){const p=s("el-option"),f=s("el-select");return a(),r("div",Pe,[c("h2",Ue,n(e.$t("pika.name.effect")),1),t(f,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),class:"value",placeholder:e.$t("pika.placeholder.select"),clearable:""},{default:m(()=>[(a(!0),r(S,null,C(e.options,i=>(a(),V(p,{key:i.value,label:i.label,value:i.value},{default:m(()=>[c("span",Ae,n(i.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Re=$(Ce,[["render",Le],["__scopeId","data-v-d1c54475"]]),Ge=g({name:"IngredientsModelSelector",components:{ElRadioButton:Z,ElRadioGroup:Y},data(){return{options:[{label:this.$t("pika.button.precise"),value:"precise"},{label:this.$t("pika.button.creative"),value:"creative"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients_mode},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients_mode:e})}}},mounted(){this.value||(this.value=H)}}),De={class:"field"},Me={class:"title font-bold"};function qe(e,o,l,d,k,v){const p=s("el-radio-button"),f=s("el-radio-group");return a(),r("div",De,[c("h2",Me,n(e.$t("pika.name.ingredientsModel")),1),t(f,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),class:"quality"},{default:m(()=>[(a(!0),r(S,null,C(e.options,i=>(a(),V(p,{key:i.value,label:i.value},{default:m(()=>[_(n(i.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const Oe=$(Ge,[["render",qe],["__scopeId","data-v-b72865fa"]]),Be=g({name:"ModelSelector",components:{ElSelect:M,ElOption:D},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"2.0",label:"2.0"},{value:"1.5",label:"1.5"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.model},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika.config,model:e})}}},mounted(){this.value||(this.value=J)}}),Ne={class:"field"},je={class:"title font-bold"};function ze(e,o,l,d,k,v){const p=s("el-option"),f=s("el-select");return a(),r("div",Ne,[c("h2",je,n(e.$t("pika.name.model")),1),t(f,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),class:"value",placeholder:e.$t("pika.placeholder.select")},{default:m(()=>[(a(!0),r(S,null,C(e.options,i=>(a(),V(p,{key:i.value,label:i.label,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Fe=$(Be,[["render",ze],["__scopeId","data-v-7b2e870a"]]),Ke=g({name:"ImageUrlInput",components:{ElUpload:ae,ElButton:A,InfoIcon:G,ImagePreview:se,FontAwesomeIcon:U},mixins:[x,ee],data(){return{fileList:[],uploadUrl:B()+"/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.pika?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){w.warning(this.$t("pika.message.uploadStartImageExceed"))},onError(){w.error(this.$t("pika.message.uploadStartImageError"))},async onRemove(){w.error(this.$t("pika.message.uploadStartImageError"))},onSetStartImageUrl(){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:this.urls})},async onSuccess(){this.onSetStartImageUrl()}}}),He={class:"field"},Je={class:"title font-bold"},Qe={class:"upload-wrapper"};function We(e,o,l,d,k,v){const p=s("image-preview"),f=s("font-awesome-icon"),i=s("el-button"),b=s("el-upload"),E=s("info-icon");return a(),r("div",He,[c("h2",Je,n(e.$t("pika.name.imageUrl")),1),c("div",Qe,[t(b,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=u=>e.fileList=u),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value upload-wrapper",limit:3,multiple:!0,"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:m(({file:u})=>[t(p,{url:u.url||u.response?.file_url,name:u.name,percentage:u.percentage,onRemove:I=>e.fileList.splice(e.fileList.indexOf(u),1)},null,8,["url","name","percentage","onRemove"])]),default:m(()=>[t(i,{size:"small",type:"primary",round:""},{default:m(()=>[t(f,{icon:"fa-solid fa-upload",class:"mr-1"}),_(" "+n(e.$t("pika.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])]),t(E,{content:e.$t("pika.description.imageUrl"),class:"info"},null,8,["content"])])}const Xe=$(Ke,[["render",We],["__scopeId","data-v-25cefe78"]]),Ye="",Ze=g({name:"PromptInput",components:{PromptTextarea:ne},computed:{prompt:{get(){return this.$store.state.pika?.config?.prompt},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Ye)}});function xe(e,o,l,d,k,v){const p=s("prompt-textarea");return a(),V(p,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=f=>e.prompt=f),title:e.$t("pika.name.prompt"),info:e.$t("pika.description.prompt"),placeholder:e.$t("pika.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const et=$(Ze,[["render",xe]]),tt=g({name:"PresetPanel",components:{ImageUrlInput:Xe,ElButton:A,FontAwesomeIcon:U,Consumption:le,PromptInput:et,IngredientsSelector:Te,IngredientsModelSelector:Oe,ModelSelector:Fe,EffectSelector:Re},emits:["generate"],computed:{config(){return this.$store.state.pika?.config},consumption(){return re(this.config,this.service?.cost)},service(){return this.$store.state.pika?.service}},methods:{onGenerate(){this.$emit("generate")}}}),ot={class:"flex flex-col h-full"},st={class:"flex-1 overflow-y-auto p-5"},at={class:"flex flex-col items-center justify-center px-5 pb-5"};function nt(e,o,l,d,k,v){const p=s("prompt-input"),f=s("model-selector"),i=s("ingredients-selector"),b=s("effect-selector"),E=s("image-url-input"),u=s("ingredients-model-selector"),I=s("consumption"),T=s("font-awesome-icon"),y=s("el-button");return a(),r("div",ot,[c("div",st,[t(p,{class:"mb-4"}),t(f,{class:"mb-4"}),t(i,{class:"mb-4"}),t(b,{class:"mb-4"}),e.config?.ingredients?(a(),V(E,{key:0,class:"mb-4"})):h("",!0),e.config?.ingredients?(a(),V(u,{key:1,class:"mb-4"})):h("",!0)]),c("div",at,[t(I,{value:e.consumption,service:e.service},null,8,["value","service"]),t(y,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:m(()=>[t(T,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+n(e.$t("pika.button.generate")),1)]),_:1},8,["onClick"])])])}const it=$(tt,[["render",nt]]),lt=g({name:"VideoPlayer",components:{VuePlyr:ue},props:{modelValue:{type:Object,required:!0}},data(){return{options:{quality:{default:1080,options:[1080]}}}}}),rt=["data-poster"],ct=["src"];function pt(e,o,l,d,k,v){const p=s("vue-plyr");return a(),r("div",null,[t(p,{options:e.options,class:"video"},{default:m(()=>[c("video",{controls:"",playsinline:"",preload:"metadata","data-poster":e.modelValue?.image_url},[c("source",{size:"1080",src:e.modelValue?.video_url,type:"video/mp4"},null,8,ct)],8,rt)]),_:1},8,["options"])])}const dt=$(lt,[["render",pt],["__scopeId","data-v-897d9fe0"]]),ut=g({name:"TaskPreview",components:{ElImage:he,CopyToClipboard:de,FontAwesomeIcon:U,ElAlert:_e,VideoPlayer:dt,ElTooltip:fe,ElButton:A,ApiCodeButton:me},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pika?.application},config(){return this.$store.state.pika?.config},videos(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(l=>{let d=l;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e){console.log("on download"),window.open(e,"_blank")},onReload(e){const o=e.target,l=new URL(o.src),d=l.searchParams.get("retry");if(!d)l.searchParams.set("retry","1");else if(parseInt(d)<2)l.searchParams.set("retry",(parseInt(d)+1).toString());else return;o.src=l.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),mt={class:"left"},ft={class:"main"},_t={class:"bot"},ht={class:"datetime"},gt={class:"info"},$t={key:0,class:"prompt mt-2"},kt={key:0},vt={key:1},bt={key:0,class:L({content:!0,failed:!0})},yt={class:"image-wrapper"},wt={key:0,class:L({operations:!0,"mt-2":!0})},Vt={key:0,class:"description"},Et={class:"description"},It={key:1,class:"description"},St={key:1,class:L({content:!0})},Tt={class:"description"},Ct={class:"description"},Pt={key:0,class:"description"},Ut={class:"description"},At={key:2,class:L({content:!0})},Lt={class:"description"};function Rt(e,o,l,d,k,v){const p=s("el-image"),f=s("VideoPlayer"),i=s("el-button"),b=s("el-tooltip"),E=s("api-code-button"),u=s("font-awesome-icon"),I=s("copy-to-clipboard"),T=s("el-alert");return a(!0),r(S,null,C(e.videos,(y,q)=>(a(),r("div",{key:q,class:"preview"},[c("div",mt,[t(p,{src:"https://cdn.acedata.cloud/i80tgn.png",class:"avatar"})]),c("div",ft,[c("div",_t,[_(n(e.$t("pika.name.pikaBot"))+" ",1),c("span",ht,n(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",gt,[e.modelValue?.request?.prompt?(a(),r("p",$t,[_(n(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?h("",!0):(a(),r("span",kt," - ("+n(e.$t("pika.status.pending"))+") ",1)),y?.state==="processing"||y?.state==="pending"?(a(),r("span",vt," - ("+n(e.$t("pika.status.processing"))+") ",1)):h("",!0)])):h("",!0)]),e.modelValue?.response?.success===!0?(a(),r("div",bt,[c("div",yt,[t(f,{"model-value":y},null,8,["model-value"])]),y?(a(),r("div",wt,[t(b,{class:"box-item",effect:"dark",content:e.$t("pika.message.downloadVideo"),placement:"top-start"},{default:m(()=>[y?.video_url?(a(),V(i,{key:0,type:"info",size:"small",class:"btn-action",onClick:Ft=>e.onDownload(y?.video_url)},{default:m(()=>[_(n(e.$t("pika.button.download")),1)]),_:1},8,["onClick"])):h("",!0)]),_:2},1032,["content"]),t(E,{path:"/pika/videos",body:e.modelValue?.request},null,8,["body"])])):h("",!0),t(T,{closable:!1,class:"mt-2 success"},{default:m(()=>[e.modelValue?.request?.model?(a(),r("p",Vt,[t(u,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+n(e.$t("pika.name.model"))+": "+n(e.modelValue?.request?.model),1)])):h("",!0),c("p",Et,[t(u,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+n(e.$t("pika.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(I,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",It,[t(u,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+n(e.$t("pika.name.elapsed"))+": "+n(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0)]),_:1})])):h("",!0),e.modelValue?.response?.success===!1?(a(),r("div",St,[t(T,{closable:!1,class:"failure"},{template:m(()=>[t(u,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+n(e.$t("pika.name.failure")),1)]),default:m(()=>[c("p",Tt,[t(u,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+n(e.$t("pika.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(I,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",Ct,[t(u,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+n(e.$t("pika.name.failureReason"))+": "+n(e.modelValue?.response?.error?.message)+" ",1),t(I,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",Pt,[t(u,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+n(e.$t("pika.name.elapsed"))+": "+n(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0),c("p",Ut,[t(u,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+n(e.$t("pika.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),t(I,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):h("",!0),!e.modelValue?.response||y?.state==="processing"||y?.state==="pending"?(a(),r("div",At,[t(T,{closable:!1,class:"info"},{template:m(()=>[t(u,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+n(e.$t("pika.name.failure")),1)]),default:m(()=>[c("p",Lt,[t(u,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+n(e.$t("pika.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(I,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):h("",!0)])]))),128)}const Gt=$(ut,[["render",Rt],["__scopeId","data-v-52856c99"]]),Dt=g({name:"RecentPanel",components:{TaskPreview:Gt,BotPlaceholder:ge,NoTasks:ie,ScrollList:Q},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pika?.tasks,items:this.$store.state.pika?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Mt={key:0},qt={key:2,class:"w-full h-full flex items-center justify-center"};function Ot(e,o,l,d,k,v){const p=s("bot-placeholder"),f=s("task-preview"),i=s("scroll-list"),b=s("no-tasks");return a(),r(S,null,[e.tasks?.items===void 0?(a(),r("div",Mt,[t(p)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),V(i,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=E=>e.$emit("reach-top"))},{default:m(()=>[(a(!0),r(S,null,C(e.tasks?.items,(E,u)=>(a(),V(f,{key:u,"model-value":E},null,8,["model-value"]))),128))]),_:1},8,["loading"])):h("",!0),e.tasks?.items?.length===0?(a(),r("div",qt,[t(b)])):h("",!0)],64)}const Bt=$(Dt,[["render",Ot]]),Nt=F("pika"),jt=g({name:"PikaIndex",components:{ConfigPanel:it,Layout:we,RecentPanel:Bt},mixins:[te],inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pika?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.pika?.status?.getTasks===P.Request||this.fetchingTasks},service(){return this.$store.state.pika.service},credential(){return this.$store.state.pika.credential},config(){return this.$store.state.pika.config},initializing(){return this.$store.state.pika.status.getApplications===P.Request},needApply(){return this.$store.state.pika.status.getApplications===P.Success&&!this.application},application(){return this.$store.state.pika.application},applications(){return this.$store.state.pika.applications},tasks(){return this.$store.state.pika.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 W({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("pika/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("pika/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){z.create({application:this.application}).then(({data:e})=>{this.application=e,w.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===pe&&w.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:o=5,createdAtMin:l,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",l,"createdAtMax",d),this.fetchingTasks=!0;try{await this.$store.dispatch("pika/getTasks",{limit:o,createdAtMin:l,createdAtMax:d})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!oe(this.uploadTracker,l=>this.$t(l),l=>w.warning(l)))return;const e={...this.config,callback_url:Nt},o=this.credential?.token;if(!o){console.error("no token specified");return}w.info(this.$t("pika.message.startingTask")),N("pika",j.generate(e,{token:o})).then(()=>{w.success(this.$t("pika.message.startTaskSuccess")),this.$store.commit("pika/setConfig",{config:void 0})}).catch(l=>{l?.response?.data?.error?.code===ce?w.error(this.$t("pika.message.usedUp")):w.error(this.$t("pika.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function zt(e,o,l,d,k,v){const p=s("config-panel"),f=s("recent-panel"),i=s("layout");return a(),V(i,null,{config:m(()=>[t(p,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:m(()=>[t(f,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const zo=$(jt,[["render",zt],["__scopeId","data-v-eae39ce1"]]);export{zo as default};