@acedatacloud/nexior 3.227.0 → 3.228.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 (234) hide show
  1. package/dist/assets/{ApiCodeButton-CkYl1m8R.js → ApiCodeButton-dD8o0Cnu.js} +1 -1
  2. package/dist/assets/{Auth-Bkv0eW0O.js → Auth-BwrwiMD2.js} +1 -1
  3. package/dist/assets/{BotPlaceholder-yR_kBFno.js → BotPlaceholder-Bue2f9Kq.js} +1 -1
  4. package/dist/assets/{Callback-Bk5nyZcm.js → Callback-D67ABUBB.js} +1 -1
  5. package/dist/assets/{Console-Dutu0YcF.js → Console-B51B7n--.js} +1 -1
  6. package/dist/assets/{Consumption-BHLp19TR.js → Consumption-7qH37pE9.js} +1 -1
  7. package/dist/assets/{Conversation-D8MCeYKI.js → Conversation-D_M3FHdS.js} +1 -1
  8. package/dist/assets/{CopyToClipboard-DYhphNXQ.js → CopyToClipboard-wxqTxzCB.js} +1 -1
  9. package/dist/assets/{Detail-JNFESlB-.js → Detail-D_c8gBNc.js} +2 -2
  10. package/dist/assets/{Extra-BN7QgnU9.js → Extra-CWFXym3Z.js} +1 -1
  11. package/dist/assets/{FilePreview-Cccng5bk.js → FilePreview-TstwU9At.js} +1 -1
  12. package/dist/assets/{Hailuo-CjUpl1yc.js → Hailuo-Cj9eGMio.js} +1 -1
  13. package/dist/assets/{History-B7Sxqf8C.js → History-BKDNunN_.js} +1 -1
  14. package/dist/assets/{ImagePreview-EvK72jMd.js → ImagePreview-DXG-cniF.js} +1 -1
  15. package/dist/assets/{ImageWrapper-C6NFWtUs.js → ImageWrapper-PjSkDo1l.js} +1 -1
  16. package/dist/assets/{Index-DfaFH5vb.js → Index-09p_zVGh.js} +1 -1
  17. package/dist/assets/{Index-Db9F9SKV.js → Index-1tI3zWev.js} +1 -1
  18. package/dist/assets/{Index-D_y79uxA.js → Index-B2tIwprH.js} +1 -1
  19. package/dist/assets/{Index-CGwsCGAJ.js → Index-B5hfIBsq.js} +1 -1
  20. package/dist/assets/{Index-BNoE6qlR.js → Index-BBh-4ejN.js} +1 -1
  21. package/dist/assets/{Index-zVvbrZ1U.js → Index-BFSpRo34.js} +1 -1
  22. package/dist/assets/{Index-CKXuIUCn.js → Index-BKTaRwqW.js} +1 -1
  23. package/dist/assets/{Index-BnDqfgJC.js → Index-BNleEvch.js} +1 -1
  24. package/dist/assets/{Index-BDHmeDSF.js → Index-BNygbMrQ.js} +1 -1
  25. package/dist/assets/{Index-D9zeMzCg.js → Index-BTMBneAm.js} +1 -1
  26. package/dist/assets/{Index-DAFMrYOh.js → Index-BbjMo7Lv.js} +1 -1
  27. package/dist/assets/{Index-mylng2p-.js → Index-Bgev-nTv.js} +1 -1
  28. package/dist/assets/{Index-C2b2AZMo.js → Index-C0RYRxnh.js} +1 -1
  29. package/dist/assets/{Index-B_M875sK.js → Index-C7EzqETO.js} +1 -1
  30. package/dist/assets/{Index-B8LUE7P0.js → Index-C8x0kf2s.js} +1 -1
  31. package/dist/assets/{Index-ir0gSLfa.js → Index-CU76SubV.js} +1 -1
  32. package/dist/assets/{Index-DVQdwKgX.js → Index-CqA4KSJb.js} +1 -1
  33. package/dist/assets/{Index-CgYJdX4S.js → Index-CuZuL7tS.js} +1 -1
  34. package/dist/assets/{Index-B1hFJK_t.js → Index-CvbEok64.js} +1 -1
  35. package/dist/assets/{Index-ltN7ThEu.js → Index-D-_XdBhJ.js} +1 -1
  36. package/dist/assets/{Index-BMe46H6w.js → Index-DcBVNSiz.js} +1 -1
  37. package/dist/assets/{Index-D_fuE-Vv.js → Index-Dh6H7BrW.js} +1 -1
  38. package/dist/assets/{Index-CQYwhsnt.js → Index-DkgSrHWX.js} +1 -1
  39. package/dist/assets/{Index-2v2P-xnM.js → Index-e6tN_tHu.js} +1 -1
  40. package/dist/assets/{Index-1OLlCJgY.js → Index-vNT6LOvE.js} +1 -1
  41. package/dist/assets/{Invitees-BfN072Nr.js → Invitees-BcwmI73y.js} +1 -1
  42. package/dist/assets/{List-DpBawTfr.js → List-D6sqz5Mj.js} +1 -1
  43. package/dist/assets/{List-Hv7KL-tQ.js → List-DGsk0Kff.js} +1 -1
  44. package/dist/assets/{List-C4IeAIBN.js → List-Dty5jDYs.js} +1 -1
  45. package/dist/assets/{Main-ICqHIXhb.js → Main-Dl9-2APx.js} +1 -1
  46. package/dist/assets/{Model-DtY9Idrt.js → Model-B1R0LXht.js} +1 -1
  47. package/dist/assets/{Navigator-Bm5iIRLG.js → Navigator-BelaGn-K.js} +1 -1
  48. package/dist/assets/{NoTasks-8MEigfee.js → NoTasks-DHYh2L_b.js} +1 -1
  49. package/dist/assets/{NotFound-DVls16cy.js → NotFound-g8Pwbtz8.js} +1 -1
  50. package/dist/assets/{Pagination-emXa8hti.js → Pagination-CHlB8q3U.js} +1 -1
  51. package/dist/assets/{Player.vue_vue_type_script_setup_true_lang-D6H40eWR.js → Player.vue_vue_type_script_setup_true_lang-CvNCeJRd.js} +1 -1
  52. package/dist/assets/{Status-BXBFWSlB.js → Status-C2fT2DDm.js} +1 -1
  53. package/dist/assets/{Subscribe-CBj4qXvn.js → Subscribe-BsxDWOK4.js} +1 -1
  54. package/dist/assets/{TabSwitcher-DJhlpLCz.js → TabSwitcher-D29jda70.js} +1 -1
  55. package/dist/assets/{Tts-DWibmJah.js → Tts-C2sPzdZZ.js} +1 -1
  56. package/dist/assets/{VideoPlayer-CndFbOvW.js → VideoPlayer-C1kby6jb.js} +1 -1
  57. package/dist/assets/{_Uint8Array-BzP45VD9.js → _Uint8Array-C9GurXZS.js} +1 -1
  58. package/dist/assets/{_baseClone-DNu4QAe9.js → _baseClone-CQPgJfCg.js} +1 -1
  59. package/dist/assets/{_baseIteratee-SNuyx3Mb.js → _baseIteratee-DRD8Id2G.js} +1 -1
  60. package/dist/assets/{_initCloneObject-C0YmUjML.js → _initCloneObject-DwJv9kbk.js} +1 -1
  61. package/dist/assets/{add-7LCqcsbS.js → add-DWssFSaU.js} +1 -1
  62. package/dist/assets/{all-wallets-G36_EkcA.js → all-wallets-C0HS1H15.js} +1 -1
  63. package/dist/assets/{app-store-CKCanXCF.js → app-store-WJfy0_xx.js} +1 -1
  64. package/dist/assets/{apple-BVLw29Kb.js → apple-QFWVf_b5.js} +1 -1
  65. package/dist/assets/{arrow-bottom-DOySie-2.js → arrow-bottom-93u8J8Ci.js} +1 -1
  66. package/dist/assets/{arrow-bottom-circle-Dk7fOTaE.js → arrow-bottom-circle-DW-qJMdY.js} +1 -1
  67. package/dist/assets/{arrow-left-DMMzwmB-.js → arrow-left-CNcU_JU4.js} +1 -1
  68. package/dist/assets/{arrow-right-CnH2OyTV.js → arrow-right-DR-2TsoR.js} +1 -1
  69. package/dist/assets/{arrow-top-D1G87VUH.js → arrow-top-DZLgcbmu.js} +1 -1
  70. package/dist/assets/{avatar-DY8Yqfr4.js → avatar-BngSAaDG.js} +1 -1
  71. package/dist/assets/{bank-CFYADZ-l.js → bank-C7LeyK-L.js} +1 -1
  72. package/dist/assets/{basic-vZ-Z_DeI.js → basic-UqRXPOJZ.js} +1 -1
  73. package/dist/assets/{browser-BO3d__dK.js → browser-B1gi0_iw.js} +1 -1
  74. package/dist/assets/{byokCredential-Cv_PkBLY.js → byokCredential-BlooSx3J.js} +1 -1
  75. package/dist/assets/{card-BGDoDCmN.js → card-Dcb5jEXq.js} +1 -1
  76. package/dist/assets/{castArray-DtkWeMZp.js → castArray-DFDDfxIX.js} +1 -1
  77. package/dist/assets/{chat-Bnq31iMM.js → chat-CVAmxetZ.js} +1 -1
  78. package/dist/assets/{checkmark-BTiGJB_c.js → checkmark-BG_O072w.js} +1 -1
  79. package/dist/assets/{checkmark-bold-raUqwozi.js → checkmark-bold-DsPXyPz5.js} +1 -1
  80. package/dist/assets/{chevron-bottom-DF4zZ1Mp.js → chevron-bottom-DMWTNlQ9.js} +1 -1
  81. package/dist/assets/{chevron-left-BbJPVu2o.js → chevron-left-VrQW4sYZ.js} +1 -1
  82. package/dist/assets/{chevron-right-BYzrOmn4.js → chevron-right-D2aicsk0.js} +1 -1
  83. package/dist/assets/{chevron-top-gn0BD0wm.js → chevron-top-BwNxsMW4.js} +1 -1
  84. package/dist/assets/{chrome-store-EaqcehDo.js → chrome-store-CTVUJuI6.js} +1 -1
  85. package/dist/assets/{clock-BpSL0EYf.js → clock-CAi02QKx.js} +1 -1
  86. package/dist/assets/{close-BUo5bvku.js → close-BfWyUXzL.js} +1 -1
  87. package/dist/assets/{coinPlaceholder-BEofWDFV.js → coinPlaceholder-CAk59Ly_.js} +1 -1
  88. package/dist/assets/{compass-3CVdi2WA.js → compass-DcGtqsvC.js} +1 -1
  89. package/dist/assets/{copy-DQbIeTHc.js → copy-Dk4Z2S0m.js} +1 -1
  90. package/dist/assets/{createTaskActions-CRQlZc-e.js → createTaskActions-DUWJSitV.js} +1 -1
  91. package/dist/assets/{cursor-DYxNvfi2.js → cursor-B2UIa_AY.js} +1 -1
  92. package/dist/assets/{cursor-transparent-s-kTHsWZ.js → cursor-transparent-BNMJOnE0.js} +1 -1
  93. package/dist/assets/{debounce-je8R6qMJ.js → debounce-p4kYWNVH.js} +1 -1
  94. package/dist/assets/{desktop-Bqetpf7y.js → desktop-B6Tsrbt7.js} +1 -1
  95. package/dist/assets/{disconnect-DnOS5CU5.js → disconnect-D9nlxRME.js} +1 -1
  96. package/dist/assets/{discord-CHBwtOK2.js → discord-BDvQvzVd.js} +1 -1
  97. package/dist/assets/{distribution-Dq0NLnfn.js → distribution-BqI3pSHr.js} +1 -1
  98. package/dist/assets/{dropdown-CPrqYIX4.js → dropdown-C2KkkC_s.js} +1 -1
  99. package/dist/assets/{etherscan-EpPx0BTk.js → etherscan-GMFqDVEl.js} +1 -1
  100. package/dist/assets/{exclamation-triangle-CwBo_Au3.js → exclamation-triangle-2_xTLIKv.js} +1 -1
  101. package/dist/assets/{extension-BwxkxE-s.js → extension-D3UobEit.js} +1 -1
  102. package/dist/assets/{external-link-6pQnSJ7J.js → external-link-CNu9_cCr.js} +1 -1
  103. package/dist/assets/{facebook-Ct-M3NhB.js → facebook-Bq0BzPNP.js} +1 -1
  104. package/dist/assets/{farcaster-CwmKsGh5.js → farcaster-DgnqXJ7M.js} +1 -1
  105. package/dist/assets/{filters-CEZ6FQ9y.js → filters-cbdMd5Rs.js} +1 -1
  106. package/dist/assets/{github-Cz8UeVXd.js → github-X2qxlIQI.js} +1 -1
  107. package/dist/assets/{google-CtV2EESl.js → google-CwtPZjUn.js} +1 -1
  108. package/dist/assets/{help-circle-BBVzMXpD.js → help-circle-B9Iy3WoI.js} +1 -1
  109. package/dist/assets/{highlight-Vc3jp7ut.js → highlight-BKO0nM6d.js} +1 -1
  110. package/dist/assets/{id-CmZB-3YY.js → id-4rv-8xHQ.js} +1 -1
  111. package/dist/assets/{image-DsUQTZV4.js → image-CdVNJkm8.js} +1 -1
  112. package/dist/assets/{index-C7McF3Oe.js → index-1ILjlG8L.js} +1 -1
  113. package/dist/assets/{index-DQMReEJY.js → index-5cf0-Kfe.js} +1 -1
  114. package/dist/assets/{index-D4Cw4cZb.js → index-61bV5wmY.js} +1 -1
  115. package/dist/assets/{index-BaG_sRuE.js → index-7LpFMt7p.js} +1 -1
  116. package/dist/assets/{index-MDstgJ-D.js → index-83Jk7O74.js} +1 -1
  117. package/dist/assets/{index-BC0sfYOV.js → index-8xHCAAaC.js} +1 -1
  118. package/dist/assets/{index-Cd3rYVU2.js → index-B8FmSXVz.js} +1 -1
  119. package/dist/assets/{index-BsShQ3H_.js → index-BAlxHZjs.js} +1 -1
  120. package/dist/assets/{index-DwaK76qa.js → index-BC_S-uaw.js} +1 -1
  121. package/dist/assets/{index-COgQJANw.js → index-BQeFjr82.js} +1 -1
  122. package/dist/assets/{index-agKHxhiT.js → index-BQqSBNTv.js} +1 -1
  123. package/dist/assets/{index-BIYITIcQ.js → index-BY9FLlvx.js} +1 -1
  124. package/dist/assets/{index-CmNLAc2g.js → index-BbRDX8SV.js} +1 -1
  125. package/dist/assets/{index-byRx5hf4.js → index-BcB_-lzn.js} +1 -1
  126. package/dist/assets/{index-GG9QrNv-.js → index-BfEq0Clt.js} +1 -1
  127. package/dist/assets/{index-CmoUI70B.js → index-BfMUOzLd.js} +1 -1
  128. package/dist/assets/{index-cz53lH1U.js → index-BlDrRQ7b.js} +1 -1
  129. package/dist/assets/{index-DrjPIAUK.js → index-Bxc4afsE.js} +1 -1
  130. package/dist/assets/{index-B9C3QmXP.js → index-ByWnkv1G.js} +1 -1
  131. package/dist/assets/{index-htRHiPfV.js → index-BzHvsm7i.js} +1 -1
  132. package/dist/assets/{index-x1QLguWA.js → index-BzOvVoYn.js} +1 -1
  133. package/dist/assets/{index-CBxkbXoj.js → index-C0T1mBSZ.js} +1 -1
  134. package/dist/assets/{index-CEKCGr2W.js → index-C4j1dHcE.js} +1 -1
  135. package/dist/assets/{index-DAuJS-Gl.js → index-CACIu92m.js} +1 -1
  136. package/dist/assets/{index-DqN39zT1.js → index-CHXltq9o.js} +5 -5
  137. package/dist/assets/{index-CPCQrSA8.js → index-CIwIUBTQ.js} +1 -1
  138. package/dist/assets/{index-CpQQa5g-.js → index-CKU6Uvvh.js} +1 -1
  139. package/dist/assets/{index-DRyHg8zJ.js → index-CM8dx-Mj.js} +1 -1
  140. package/dist/assets/{index-CP6RgWF7.js → index-CN8ZC3ff.js} +1 -1
  141. package/dist/assets/{index-Cb1pouha.js → index-COqf7aEE.js} +1 -1
  142. package/dist/assets/{index-BB8IU4AC.js → index-CRWC8q75.js} +1 -1
  143. package/dist/assets/{index-5zXswERx.js → index-CSP1FYs7.js} +1 -1
  144. package/dist/assets/{index-B1wz-hVP.js → index-CTtwbbbX.js} +1 -1
  145. package/dist/assets/{index-I01PKHE0.js → index-CX8UOyJV.js} +1 -1
  146. package/dist/assets/{index-BMODuPUA.js → index-Cj1peHLJ.js} +1 -1
  147. package/dist/assets/{index-DAqgZs_n.js → index-CsHqzWXz.js} +1 -1
  148. package/dist/assets/{index-CPOFhPMc.js → index-CvHyK_GJ.js} +1 -1
  149. package/dist/assets/{index-DnjDfk8P.js → index-D2C2YeG3.js} +1 -1
  150. package/dist/assets/{index-DIv7I-iE.js → index-D3m1f5QC.js} +1 -1
  151. package/dist/assets/{index-3EWFx-Vj.js → index-D84FynKl.js} +1 -1
  152. package/dist/assets/{index-DXAzTy_q.js → index-D9rFyh62.js} +1 -1
  153. package/dist/assets/{index-CCPrigDQ.js → index-DC0neZBN.js} +1 -1
  154. package/dist/assets/{index-C7mr_FlY.js → index-DGVR6QBZ.js} +1 -1
  155. package/dist/assets/{index-BUuCh7Xt.js → index-DOFsHwj1.js} +1 -1
  156. package/dist/assets/{index-DuHoXoI1.js → index-DU7eINNo.js} +1 -1
  157. package/dist/assets/{index-CdhuTWNw.js → index-DUeLs6nI.js} +1 -1
  158. package/dist/assets/{index-BMrzZEO4.js → index-DY86lbEX.js} +1 -1
  159. package/dist/assets/{index-DCq7rnCm.js → index-Dc0xaPg1.js} +1 -1
  160. package/dist/assets/{index-CaBmSn29.js → index-DhvHpkEZ.js} +1 -1
  161. package/dist/assets/{index-BYllLVr5.js → index-DiSidSvU.js} +3 -3
  162. package/dist/assets/{index-D9l-HbDE.js → index-DkmVyT7W.js} +1 -1
  163. package/dist/assets/{index-BEQGtLAt.js → index-DlrvZGBU.js} +1 -1
  164. package/dist/assets/{index-hO1QjxiB.js → index-DxWfjb_C.js} +1 -1
  165. package/dist/assets/{index-BNhDr0dA.js → index-DxkK4W6u.js} +1 -1
  166. package/dist/assets/{index-BePmogR4.js → index-HZX2BloZ.js} +1 -1
  167. package/dist/assets/{index-mHdYnQ9c.js → index-M0EpmU-A.js} +3 -3
  168. package/dist/assets/{index-BNbeH26B.js → index-VMe2FOtz.js} +1 -1
  169. package/dist/assets/{index-DsYuSVnF.js → index-W_Hg68aN.js} +1 -1
  170. package/dist/assets/{index-CaGN2hWU.js → index-ZPlTL2pP.js} +1 -1
  171. package/dist/assets/{index-T-uPPTQC.js → index-lf5NiTr1.js} +1 -1
  172. package/dist/assets/{index-B5Zvx0FP.js → index-s2VXF4fr.js} +2 -2
  173. package/dist/assets/{index-ZBbEwsOq.js → index-s7RXppbp.js} +1 -1
  174. package/dist/assets/{index-C4aXUBAg.js → index-zclFx667.js} +1 -1
  175. package/dist/assets/{index.browser.esm-DXPcenqM.js → index.browser.esm-CSmFp8cx.js} +1 -1
  176. package/dist/assets/{index.es-DkaS06k9.js → index.es-BeLOywfI.js} +1 -1
  177. package/dist/assets/{info-CAUiz2nA.js → info-Emy8MnLC.js} +1 -1
  178. package/dist/assets/{info-circle-BDnJ4-n0.js → info-circle-BWGrRWAJ.js} +1 -1
  179. package/dist/assets/{isEqual-CTU2BQwF.js → isEqual-Bit6excc.js} +1 -1
  180. package/dist/assets/{isPlainObject-CT9W9CoU.js → isPlainObject-i9qOcW_m.js} +1 -1
  181. package/dist/assets/{lightbulb-BjespwcV.js → lightbulb-DXiTEJLI.js} +1 -1
  182. package/dist/assets/{mail-7ez_cBCf.js → mail-tKiXZbke.js} +1 -1
  183. package/dist/assets/{midjourney-DI_L7ZDA.js → midjourney-BeFCkFBO.js} +1 -1
  184. package/dist/assets/{mobile-v1MO4BmR.js → mobile-D8KlJWOt.js} +1 -1
  185. package/dist/assets/{more-DqNvUfwV.js → more-CylgjYxA.js} +1 -1
  186. package/dist/assets/{network-placeholder-CKv-KIT1.js → network-placeholder-BKMIUjni.js} +1 -1
  187. package/dist/assets/{nftPlaceholder-C5VFJoUY.js → nftPlaceholder-BY3UyWGE.js} +1 -1
  188. package/dist/assets/{off-aS-KN2-U.js → off-BewgkoUP.js} +1 -1
  189. package/dist/assets/{order-D746WVMu.js → order-BhfcgpUs.js} +1 -1
  190. package/dist/assets/{pagination-DMcg_VSJ.js → pagination-BQ6ALt71.js} +2 -2
  191. package/dist/assets/pagination-BeIJPGoU.css +1 -0
  192. package/dist/assets/{play-store-DVxjmxkl.js → play-store-Dzs4Q6fw.js} +1 -1
  193. package/dist/assets/{plus-DvDujsz5.js → plus-XAaTdIG1.js} +1 -1
  194. package/dist/assets/{price-CGbNB5nq.js → price-8kJQGF1-.js} +1 -1
  195. package/dist/assets/{producer-B-1ty2Co.js → producer-DY9V7kxq.js} +1 -1
  196. package/dist/assets/{qr-code-6OEQkJ82.js → qr-code-C29k4CV7.js} +1 -1
  197. package/dist/assets/{recycle-horizontal-vq2U7foE.js → recycle-horizontal-_Dp7OgoM.js} +1 -1
  198. package/dist/assets/{refresh-8FgGrezG.js → refresh--TQJRJKm.js} +1 -1
  199. package/dist/assets/{reown-logo-BZSi7Mt5.js → reown-logo-Cfs0LwiI.js} +1 -1
  200. package/dist/assets/{search-CgZuvIg2.js → search-Dtx_Olte.js} +1 -1
  201. package/dist/assets/{secp256k1-QHaNdGAb.js → secp256k1-CGwSterS.js} +1 -1
  202. package/dist/assets/{secp256k1-DeLdxC_a.js → secp256k1-_OGG1YHV.js} +1 -1
  203. package/dist/assets/{seedream-Da8rFZbK.js → seedream-3G3afkJQ.js} +1 -1
  204. package/dist/assets/{send-BLMDyJYH.js → send-DihpKyim.js} +1 -1
  205. package/dist/assets/{service-BKHTVQDz.js → service-BC0by850.js} +1 -1
  206. package/dist/assets/{solana-wallets-ftXUKUR6.js → solana-wallets-DIJFsdGU.js} +2 -2
  207. package/dist/assets/{solana-wallets-vue-BjCcNz7B.js → solana-wallets-vue-DkIbko_T.js} +1 -1
  208. package/dist/assets/{suno-_zBN272v.js → suno-DR-WSsg0.js} +1 -1
  209. package/dist/assets/{swapHorizontal-CXk_LcWK.js → swapHorizontal-Dq7uiqBT.js} +1 -1
  210. package/dist/assets/{swapHorizontalBold-CIjaQWUW.js → swapHorizontalBold-CQMOqjwR.js} +1 -1
  211. package/dist/assets/{swapHorizontalMedium-CHr7kZWU.js → swapHorizontalMedium-cH1d4tFE.js} +1 -1
  212. package/dist/assets/{swapHorizontalRoundedBold-ebsjc-Vl.js → swapHorizontalRoundedBold-IOdna4Nb.js} +1 -1
  213. package/dist/assets/{swapVertical-DtgfRHL1.js → swapVertical-BTMTJiRs.js} +1 -1
  214. package/dist/assets/{telegram-Bq67Z5kN.js → telegram-DC6yvqTP.js} +1 -1
  215. package/dist/assets/{three-dots-B1gkS2C6.js → three-dots-CIBr4lUY.js} +1 -1
  216. package/dist/assets/{twitch-3xrpPCB5.js → twitch-bqNNMZIh.js} +1 -1
  217. package/dist/assets/{twitterIcon-BeAi7GHS.js → twitterIcon-qqEknqCF.js} +1 -1
  218. package/dist/assets/{typescript-Bxp48IAw.js → typescript-BkLdnbkx.js} +1 -1
  219. package/dist/assets/{use-form-item-DE6wXJCu.js → use-form-item-D7ZQ0uNO.js} +1 -1
  220. package/dist/assets/validator-C6X05_Cn.js +1 -0
  221. package/dist/assets/{verify-filled-DxfM46KO.js → verify-filled-BR0zvmlT.js} +1 -1
  222. package/dist/assets/{verify-DuKaC8bO.js → verify-gYYpdAsG.js} +1 -1
  223. package/dist/assets/{w3m-modal-DuUmL31d.js → w3m-modal-T3Ec4LGK.js} +1 -1
  224. package/dist/assets/{wallet-CLoU2WLh.js → wallet-BsGFJDHN.js} +1 -1
  225. package/dist/assets/{wallet-placeholder-BGeeZp15.js → wallet-placeholder-DFuQITHq.js} +1 -1
  226. package/dist/assets/{walletconnect-xe1MWi5T.js → walletconnect-D7o2TSMZ.js} +1 -1
  227. package/dist/assets/{warning-circle-DP1b0vPS.js → warning-circle-WEMxepHP.js} +1 -1
  228. package/dist/assets/{web-4piV9sh9.js → web-BKKfoVBE.js} +1 -1
  229. package/dist/assets/{web-DwWD-qIO.js → web-i0_N59k5.js} +1 -1
  230. package/dist/assets/{x-LUNDbySz.js → x-BdSKlfcx.js} +1 -1
  231. package/dist/index.html +1 -1
  232. package/package.json +1 -1
  233. package/dist/assets/pagination-CzRYhsIC.css +0 -1
  234. package/dist/assets/validator-ugFyeEgc.js +0 -1
@@ -1 +1 @@
1
- import{F as L}from"./index.es-DkaS06k9.js";import{E as D}from"./index-BIYITIcQ.js";import{E as j}from"./index-C7mr_FlY.js";import{d as v,H as r,E as i,z as P,C as o,y as p,D as s,q as a,F as l,O as E,N as I,x as w,Q as A,R as N,I as _,J as h,G as q,L as H}from"./vendor-vue-NSDaktjZ.js";import{H as b,bp as K,cs as W,aM as Z,S as G,ct as J}from"./index-BYllLVr5.js";import{a as z,b as M,c as V,d as F,e as Q,f as Y,g as X,h as x,i as ee}from"./sora-Dyuoglk1.js";import{E as R,a as O}from"./index-BB8IU4AC.js";import{p as te}from"./pasteUploadMixin-BurWbGNQ.js";import{I as oe,S as se,l as ae}from"./pagination-DMcg_VSJ.js";import{I as ne}from"./ImagePreview-EvK72jMd.js";import{E as le}from"./index-hO1QjxiB.js";import{E as T}from"./index-B9C3QmXP.js";import{C as re}from"./Consumption-BHLp19TR.js";import{P as ie,N as ce}from"./NoTasks-8MEigfee.js";import{a as de}from"./price-CGbNB5nq.js";import{b as ue}from"./errorCode-Cqj9Td_Z.js";import{C as pe}from"./CopyToClipboard-DYhphNXQ.js";import{V as me}from"./VideoPlayer-CndFbOvW.js";import{A as fe}from"./ApiCodeButton-CkYl1m8R.js";import{E as _e}from"./index-BEQGtLAt.js";import{E as he}from"./index-DIv7I-iE.js";import{E as $e}from"./index-byRx5hf4.js";import{B as ge}from"./BotPlaceholder-yR_kBFno.js";import"./use-form-item-DE6wXJCu.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./index-5zXswERx.js";import"./typescript-Bxp48IAw.js";import"./index-3EWFx-Vj.js";import"./strings-beZM2Y-f.js";import"./isEqual-CTU2BQwF.js";import"./_Uint8Array-BzP45VD9.js";import"./castArray-DtkWeMZp.js";import"./index-CaBmSn29.js";import"./index-CaGN2hWU.js";import"./debounce-je8R6qMJ.js";import"./_baseIteratee-SNuyx3Mb.js";import"./index-D9l-HbDE.js";import"./highlight-Vc3jp7ut.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-CBxkbXoj.js";import"./_baseClone-DNu4QAe9.js";import"./_initCloneObject-C0YmUjML.js";import"./vue-plyr-BO2nlN4c.js";import"./index-C7McF3Oe.js";const ve=v({name:"LayoutSora",components:{ElDrawer:j,ElButton:D,FontAwesomeIcon:L},data(){return{drawer:!1}}}),be={class:"main flex flex-row flex-1"},ke={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},we={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,t,m,f,$,g){const c=s("font-awesome-icon"),d=s("el-button"),n=s("el-drawer");return a(),r("div",be,[i("div",ke,[P(e.$slots,"config",{},void 0,!0)]),i("div",we,[P(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=k=>e.drawer=!0)},{default:p(()=>[o(c,{icon:"fa-solid fa-magic"})]),_:1}),o(n,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=k=>e.drawer=k),direction:"ltr","with-header":!1,size:"350px"},{default:p(()=>[P(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Se=b(ve,[["render",ye],["__scopeId","data-v-bbee238c"]]),Ve=v({name:"ModelSelector",components:{ElSelect:O,ElOption:R},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:Q,label:"sora-2"},{value:Y,label:"sora-2-pro"}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){const t=this.$store.state.sora?.config||{},m=M[e]||[V],f=t.duration,$=f&&m.includes(f)?f:m.includes(V)?V:m[0],g={...t,model:e,duration:$,size:t.size||F};this.$store.commit("sora/setConfig",g)}}},mounted(){this.value||(this.value=z)}}),Ee={class:"field"},Te={class:"title font-bold"};function Ae(e,t,m,f,$,g){const c=s("el-option"),d=s("el-select");return a(),r("div",Ee,[i("h2",Te,l(e.$t("sora.name.model")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:p(()=>[(a(!0),r(E,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ie=b(Ve,[["render",Ae],["__scopeId","data-v-0cb7913d"]]),Ce=v({name:"ActionSelector",components:{ElSelect:O,ElOption:R},data(){return{}},computed:{options(){return[{value:"text2video",label:this.$t("sora.button.action1")},{value:"image2video",label:this.$t("sora.button.action2")}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||(this.value=X)}}),Le={class:"field"},De={class:"title font-bold"},Re={class:"float-left"};function Oe(e,t,m,f,$,g){const c=s("el-option"),d=s("el-select");return a(),r("div",Le,[i("h2",De,l(e.$t("sora.name.action")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select"),clearable:""},{default:p(()=>[(a(!0),r(E,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},{default:p(()=>[i("span",Re,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ue=b(Ce,[["render",Oe],["__scopeId","data-v-7b82fa7f"]]),Pe=v({name:"DurationSelector",components:{ElSelect:O,ElOption:R},computed:{model(){return this.$store.state.sora?.config?.model||z},allowedDurations(){return M[this.model]||[V]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,duration:e})}}},watch:{allowedDurations(){const e=this.allowedDurations;if(!e.includes(this.value)){const t=e.includes(V)?V:e[0];this.value=t}}},mounted(){this.value||(this.value=V)}}),Ge={class:"field"},ze={class:"control"},Me={class:"title font-bold"};function Fe(e,t,m,f,$,g){const c=s("el-option"),d=s("el-select");return a(),r("div",Ge,[i("div",ze,[i("h2",Me,l(e.$t("sora.name.duration")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:p(()=>[(a(!0),r(E,null,I(e.optionsForModel,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const Be=b(Pe,[["render",Fe],["__scopeId","data-v-c2934598"]]),je=v({name:"OrientationSelector",data(){return{options:[{value:"portrait",labelKey:"sora.option.portrait",width:13,height:25},{value:"landscape",labelKey:"sora.option.landscape",width:25,height:13}]}},computed:{active(){const e=this.options.findIndex(t=>t.value===this.value);return e>=0?e:0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug("set orientation",e),this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||(this.value=x)}}),Ne={class:"text-sm font-bold mb-2 block"},qe={class:"items"},He=["onClick"],Ke={class:"name"};function We(e,t,m,f,$,g){return a(),r("div",null,[i("span",Ne,l(e.$t("sora.name.orientation")),1),i("div",qe,[(a(!0),r(E,null,I(e.options,(c,d)=>(a(),r("div",{key:d,class:A({active:e.active===d,item:!0}),onClick:n=>e.value=c.value},[i("div",{class:A(["preview",c.value])},[i("div",{class:"rect",style:N({width:c.width+"px",height:c.height+"px"})},null,4)],2),i("p",Ke,l(e.$t(c.labelKey)),1)],10,He))),128))])])}const Ze=b(je,[["render",We],["__scopeId","data-v-a20be6d9"]]),Je=v({name:"StartEndImage",components:{ElUpload:le,ElButton:D,InfoIcon:oe,FontAwesomeIcon:L,ImagePreview:ne},mixins:[te],emits:["change"],data(){return{fileList:[],uploadUrl:K()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.sora?.config?.image_urls},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){T.warning(this.$t("sora.message.uploadReferencesExceed"))},onError(){T.error(this.$t("sora.message.uploadReferencesError"))},onSetStartEndImageUrl(){const e=this.urls;this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),Qe={class:"relative"},Ye={class:"flex justify-between"},Xe={class:"flex justify-start items-center"},xe={class:"text-sm font-bold"};function et(e,t,m,f,$,g){const c=s("info-icon"),d=s("image-preview"),n=s("font-awesome-icon"),k=s("el-button"),S=s("el-upload");return a(),r("div",Qe,[i("div",Ye,[i("div",Xe,[i("span",xe,l(e.$t("sora.name.startEndImage")),1),o(c,{content:e.$t("sora.description.uploadStartEndImage")},null,8,["content"])])]),o(S,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=u=>e.fileList=u),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:2,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:u})=>[u.url&&u.percentage!==void 0?(a(),w(d,{key:0,url:u.url,name:u.name,percentage:u.percentage,onRemove:y=>e.fileList.splice(e.fileList.indexOf(u),1)},null,8,["url","name","percentage","onRemove"])):h("",!0)]),default:p(()=>[o(k,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:p(()=>[o(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),_(" "+l(e.$t("sora.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const tt=b(Je,[["render",et],["__scopeId","data-v-a942382b"]]),ot=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),st=v({name:"SizeSelector",components:{ElSelect:O,ElOption:R},data(){return{options:ee.map(e=>({value:e,label:ot(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,size:e})}}},mounted(){this.value||(this.value=F)}}),at={class:"field"},nt={class:"control"},lt={class:"title font-bold"};function rt(e,t,m,f,$,g){const c=s("el-option"),d=s("el-select");return a(),r("div",at,[i("div",nt,[i("h2",lt,l(e.$t("sora.name.size")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:p(()=>[(a(!0),r(E,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const it=b(st,[["render",rt],["__scopeId","data-v-8c485f0f"]]),ct="",dt=v({name:"PromptInput",components:{PromptTextarea:ie},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ct)}});function ut(e,t,m,f,$,g){const c=s("prompt-textarea");return a(),w(c,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=d=>e.prompt=d),title:e.$t("sora.name.prompt"),info:e.$t("sora.description.prompt"),placeholder:e.$t("sora.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const pt=b(dt,[["render",ut]]),mt=v({name:"ConfigPanel",components:{ElButton:D,Consumption:re,FontAwesomeIcon:L,PromptInput:pt,ModelSelector:Ie,StartEndImage:tt,SizeSelector:it,ActionSelector:Ue,OrientationSelector:Ze,DurationSelector:Be},emits:["generate"],computed:{config(){return this.$store.state.sora?.config},consumption(){return de(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit("generate")}}}),ft={class:"flex flex-col h-full"},_t={class:"flex-1 overflow-y-auto p-5"},ht={class:"flex flex-col items-center justify-center px-5 pb-5"};function $t(e,t,m,f,$,g){const c=s("model-selector"),d=s("action-selector"),n=s("duration-selector"),k=s("size-selector"),S=s("orientation-selector"),u=s("prompt-input"),y=s("start-end-image"),C=s("consumption"),U=s("font-awesome-icon"),B=s("el-button");return a(),r("div",ft,[i("div",_t,[o(c,{class:"mb-4"}),o(d,{class:"mb-4"}),o(n,{class:"mb-4"}),o(k,{class:"mb-4"}),o(S,{class:"mb-4"}),o(u,{class:"mb-4"}),q(o(y,{class:"mb-2"},null,512),[[H,e.config?.action==="image2video"]])]),i("div",ht,[o(C,{value:e.consumption,service:e.service},null,8,["value","service"]),o(B,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[o(U,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+l(e.$t("sora.button.generate")),1)]),_:1},8,["onClick"])])])}const gt=b(mt,[["render",$t]]),vt=v({name:"TaskPreview",components:{ElImage:$e,CopyToClipboard:pe,FontAwesomeIcon:L,ElAlert:he,VideoPlayer:me,ElTooltip:_e,ElButton:D,ApiCodeButton:fe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),bt={class:"preview"},kt={class:"left"},wt={class:"main"},yt={class:"bot"},St={class:"datetime"},Vt={class:"info"},Et={key:0,class:"prompt mt-2"},Tt={key:0},At={key:1},It={key:0,class:A({content:!0,failed:!0})},Ct={key:0,class:"mb-4"},Lt={key:1,class:A({operations:!0,"mt-2":!0})},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ut={key:1,class:A({content:!0})},Pt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},zt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Mt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ft={key:2,class:A({content:!0})},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},jt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Nt(e,t,m,f,$,g){const c=s("el-image"),d=s("video-player"),n=s("el-button"),k=s("el-tooltip"),S=s("api-code-button"),u=s("font-awesome-icon"),y=s("copy-to-clipboard"),C=s("el-alert");return a(),r("div",bt,[i("div",kt,[o(c,{src:"https://cdn.acedata.cloud/z5id1u.png",class:"avatar"})]),i("div",wt,[i("div",yt,[_(l(e.$t("sora.name.soraBot"))+" ",1),i("span",St,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",Vt,[e.modelValue?.request?.prompt?(a(),r("p",Et,[_(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?h("",!0):(a(),r("span",Tt," - ("+l(e.$t("sora.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="pending"?(a(),r("span",At," - ("+l(e.$t("sora.status.processing"))+") ",1)):h("",!0)])):h("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(a(),r("div",It,[e.modelValue?.response?.data[0]?.video_url?(a(),r("div",Ct,[o(d,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):h("",!0),e.modelValue?.response.success?(a(),r("div",Lt,[o(k,{class:"box-item",effect:"dark",content:e.$t("sora.message.downloadVideo"),placement:"top-start"},{default:p(()=>[e.modelValue?.response?.data[0]?.video_url?(a(),w(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=U=>e.onDownload(U,e.modelValue?.response?.data[0]?.video_url))},{default:p(()=>[_(l(e.$t("sora.button.download")),1)]),_:1})):h("",!0)]),_:1},8,["content"]),o(S,{path:"/sora/videos",body:e.modelValue?.request},null,8,["body"])])):h("",!0),o(C,{closable:!1,class:"mt-2 success"},{default:p(()=>[i("p",Dt,[o(u,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("sora.name.model"))+": "+l(e.modelValue?.request?.model),1)]),i("p",Rt,[o(u,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(y,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",Ot,[o(u,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+l(e.$t("sora.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0)]),_:1})])):h("",!0),e.modelValue?.response?.success===!1?(a(),r("div",Ut,[o(C,{closable:!1,class:"failure"},{template:p(()=>[o(u,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("sora.name.failure")),1)]),default:p(()=>[i("p",Pt,[o(u,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(y,{content:e.modelValue?.id},null,8,["content"])]),i("p",Gt,[o(u,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+l(e.$t("sora.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),o(y,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",zt,[o(u,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+l(e.$t("sora.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0),e.modelValue?.response?.trace_id?(a(),r("p",Mt,[o(u,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(y,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):h("",!0)]),_:1})])):h("",!0),e.modelValue?.response?.success===void 0?(a(),r("div",Ft,[o(C,{closable:!1,class:"info"},{template:p(()=>[o(u,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("sora.name.failure")),1)]),default:p(()=>[i("p",Bt,[o(u,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(y,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),r("p",jt,[o(u,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(y,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):h("",!0)]),_:1})])):h("",!0)])])}const qt=b(vt,[["render",Nt],["__scopeId","data-v-53ad5ede"]]),Ht=v({name:"RecentPanel",components:{TaskPreview:qt,NoTasks:ce,BotPlaceholder:ge,ScrollList:se},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Kt={key:0},Wt={key:2,class:"w-full h-full flex items-center justify-center"};function Zt(e,t,m,f,$,g){const c=s("bot-placeholder"),d=s("task-preview"),n=s("scroll-list"),k=s("no-tasks");return a(),r(E,null,[e.tasks?.items===void 0?(a(),r("div",Kt,[o(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=S=>e.$emit("reach-top"))},{default:p(()=>[(a(!0),r(E,null,I(e.tasks?.items,(S,u)=>(a(),w(d,{key:u,"model-value":S},null,8,["model-value"]))),128))]),_:1},8,["loading"])):h("",!0),e.tasks?.items?.length===0?(a(),r("div",Wt,[o(k)])):h("",!0)],64)}const Jt=b(Ht,[["render",Zt]]),Qt=J("sora"),Yt=v({name:"SoraIndex",components:{ConfigPanel:gt,Layout:Se,RecentPanel:Jt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===G.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===G.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ae({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("sora/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("sora/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:m,createdAtMax:f}=e||{};console.debug("limit",t,"createdAtMin",m,"createdAtMax",f),this.fetchingTasks=!0;try{await this.$store.dispatch("sora/getTasks",{limit:t,createdAtMin:m,createdAtMax:f})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Qt},t=this.credential?.token;if(!t){console.error("no token specified");return}T.info(this.$t("sora.message.startingTask")),W("sora",Z.generate(e,{token:t})).then(()=>{T.success(this.$t("sora.message.startTaskSuccess"))}).catch(m=>{m?.response?.data?.error?.code===ue?T.error(this.$t("sora.message.usedUp")):T.error(this.$t("sora.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Xt(e,t,m,f,$,g){const c=s("config-panel"),d=s("recent-panel"),n=s("layout");return a(),w(n,null,{config:p(()=>[o(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:p(()=>[o(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Zo=b(Yt,[["render",Xt]]);export{Zo as default};
1
+ import{F as L}from"./index.es-BeLOywfI.js";import{E as D}from"./index-BY9FLlvx.js";import{E as j}from"./index-DGVR6QBZ.js";import{d as v,H as r,E as i,z as P,C as o,y as p,D as s,q as a,F as l,O as E,N as I,x as w,Q as A,R as N,I as _,J as h,G as q,L as H}from"./vendor-vue-NSDaktjZ.js";import{H as b,bp as K,cs as W,aM as Z,S as G,ct as J}from"./index-DiSidSvU.js";import{a as z,b as M,c as V,d as F,e as Q,f as Y,g as X,h as x,i as ee}from"./sora-Dyuoglk1.js";import{E as R,a as O}from"./index-CRWC8q75.js";import{p as te}from"./pasteUploadMixin-BurWbGNQ.js";import{I as oe,S as se,l as ae}from"./pagination-BQ6ALt71.js";import{I as ne}from"./ImagePreview-DXG-cniF.js";import{E as le}from"./index-DxWfjb_C.js";import{E as T}from"./index-ByWnkv1G.js";import{C as re}from"./Consumption-7qH37pE9.js";import{P as ie,N as ce}from"./NoTasks-DHYh2L_b.js";import{a as de}from"./price-8kJQGF1-.js";import{b as ue}from"./errorCode-Cqj9Td_Z.js";import{C as pe}from"./CopyToClipboard-wxqTxzCB.js";import{V as me}from"./VideoPlayer-C1kby6jb.js";import{A as fe}from"./ApiCodeButton-dD8o0Cnu.js";import{E as _e}from"./index-DlrvZGBU.js";import{E as he}from"./index-D3m1f5QC.js";import{E as $e}from"./index-BcB_-lzn.js";import{B as ge}from"./BotPlaceholder-Bue2f9Kq.js";import"./use-form-item-D7ZQ0uNO.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./index-CSP1FYs7.js";import"./typescript-BkLdnbkx.js";import"./index-D84FynKl.js";import"./strings-beZM2Y-f.js";import"./isEqual-Bit6excc.js";import"./_Uint8Array-C9GurXZS.js";import"./castArray-DFDDfxIX.js";import"./index-DhvHpkEZ.js";import"./index-ZPlTL2pP.js";import"./debounce-p4kYWNVH.js";import"./_baseIteratee-DRD8Id2G.js";import"./index-DkmVyT7W.js";import"./highlight-BKO0nM6d.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-C0T1mBSZ.js";import"./_baseClone-CQPgJfCg.js";import"./_initCloneObject-DwJv9kbk.js";import"./vue-plyr-BO2nlN4c.js";import"./index-1ILjlG8L.js";const ve=v({name:"LayoutSora",components:{ElDrawer:j,ElButton:D,FontAwesomeIcon:L},data(){return{drawer:!1}}}),be={class:"main flex flex-row flex-1"},ke={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},we={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,t,m,f,$,g){const c=s("font-awesome-icon"),d=s("el-button"),n=s("el-drawer");return a(),r("div",be,[i("div",ke,[P(e.$slots,"config",{},void 0,!0)]),i("div",we,[P(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=k=>e.drawer=!0)},{default:p(()=>[o(c,{icon:"fa-solid fa-magic"})]),_:1}),o(n,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=k=>e.drawer=k),direction:"ltr","with-header":!1,size:"350px"},{default:p(()=>[P(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Se=b(ve,[["render",ye],["__scopeId","data-v-bbee238c"]]),Ve=v({name:"ModelSelector",components:{ElSelect:O,ElOption:R},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:Q,label:"sora-2"},{value:Y,label:"sora-2-pro"}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){const t=this.$store.state.sora?.config||{},m=M[e]||[V],f=t.duration,$=f&&m.includes(f)?f:m.includes(V)?V:m[0],g={...t,model:e,duration:$,size:t.size||F};this.$store.commit("sora/setConfig",g)}}},mounted(){this.value||(this.value=z)}}),Ee={class:"field"},Te={class:"title font-bold"};function Ae(e,t,m,f,$,g){const c=s("el-option"),d=s("el-select");return a(),r("div",Ee,[i("h2",Te,l(e.$t("sora.name.model")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:p(()=>[(a(!0),r(E,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ie=b(Ve,[["render",Ae],["__scopeId","data-v-0cb7913d"]]),Ce=v({name:"ActionSelector",components:{ElSelect:O,ElOption:R},data(){return{}},computed:{options(){return[{value:"text2video",label:this.$t("sora.button.action1")},{value:"image2video",label:this.$t("sora.button.action2")}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||(this.value=X)}}),Le={class:"field"},De={class:"title font-bold"},Re={class:"float-left"};function Oe(e,t,m,f,$,g){const c=s("el-option"),d=s("el-select");return a(),r("div",Le,[i("h2",De,l(e.$t("sora.name.action")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select"),clearable:""},{default:p(()=>[(a(!0),r(E,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},{default:p(()=>[i("span",Re,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ue=b(Ce,[["render",Oe],["__scopeId","data-v-7b82fa7f"]]),Pe=v({name:"DurationSelector",components:{ElSelect:O,ElOption:R},computed:{model(){return this.$store.state.sora?.config?.model||z},allowedDurations(){return M[this.model]||[V]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,duration:e})}}},watch:{allowedDurations(){const e=this.allowedDurations;if(!e.includes(this.value)){const t=e.includes(V)?V:e[0];this.value=t}}},mounted(){this.value||(this.value=V)}}),Ge={class:"field"},ze={class:"control"},Me={class:"title font-bold"};function Fe(e,t,m,f,$,g){const c=s("el-option"),d=s("el-select");return a(),r("div",Ge,[i("div",ze,[i("h2",Me,l(e.$t("sora.name.duration")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:p(()=>[(a(!0),r(E,null,I(e.optionsForModel,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const Be=b(Pe,[["render",Fe],["__scopeId","data-v-c2934598"]]),je=v({name:"OrientationSelector",data(){return{options:[{value:"portrait",labelKey:"sora.option.portrait",width:13,height:25},{value:"landscape",labelKey:"sora.option.landscape",width:25,height:13}]}},computed:{active(){const e=this.options.findIndex(t=>t.value===this.value);return e>=0?e:0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug("set orientation",e),this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||(this.value=x)}}),Ne={class:"text-sm font-bold mb-2 block"},qe={class:"items"},He=["onClick"],Ke={class:"name"};function We(e,t,m,f,$,g){return a(),r("div",null,[i("span",Ne,l(e.$t("sora.name.orientation")),1),i("div",qe,[(a(!0),r(E,null,I(e.options,(c,d)=>(a(),r("div",{key:d,class:A({active:e.active===d,item:!0}),onClick:n=>e.value=c.value},[i("div",{class:A(["preview",c.value])},[i("div",{class:"rect",style:N({width:c.width+"px",height:c.height+"px"})},null,4)],2),i("p",Ke,l(e.$t(c.labelKey)),1)],10,He))),128))])])}const Ze=b(je,[["render",We],["__scopeId","data-v-a20be6d9"]]),Je=v({name:"StartEndImage",components:{ElUpload:le,ElButton:D,InfoIcon:oe,FontAwesomeIcon:L,ImagePreview:ne},mixins:[te],emits:["change"],data(){return{fileList:[],uploadUrl:K()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.sora?.config?.image_urls},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){T.warning(this.$t("sora.message.uploadReferencesExceed"))},onError(){T.error(this.$t("sora.message.uploadReferencesError"))},onSetStartEndImageUrl(){const e=this.urls;this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),Qe={class:"relative"},Ye={class:"flex justify-between"},Xe={class:"flex justify-start items-center"},xe={class:"text-sm font-bold"};function et(e,t,m,f,$,g){const c=s("info-icon"),d=s("image-preview"),n=s("font-awesome-icon"),k=s("el-button"),S=s("el-upload");return a(),r("div",Qe,[i("div",Ye,[i("div",Xe,[i("span",xe,l(e.$t("sora.name.startEndImage")),1),o(c,{content:e.$t("sora.description.uploadStartEndImage")},null,8,["content"])])]),o(S,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=u=>e.fileList=u),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:2,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:u})=>[u.url&&u.percentage!==void 0?(a(),w(d,{key:0,url:u.url,name:u.name,percentage:u.percentage,onRemove:y=>e.fileList.splice(e.fileList.indexOf(u),1)},null,8,["url","name","percentage","onRemove"])):h("",!0)]),default:p(()=>[o(k,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:p(()=>[o(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),_(" "+l(e.$t("sora.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const tt=b(Je,[["render",et],["__scopeId","data-v-a942382b"]]),ot=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),st=v({name:"SizeSelector",components:{ElSelect:O,ElOption:R},data(){return{options:ee.map(e=>({value:e,label:ot(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,size:e})}}},mounted(){this.value||(this.value=F)}}),at={class:"field"},nt={class:"control"},lt={class:"title font-bold"};function rt(e,t,m,f,$,g){const c=s("el-option"),d=s("el-select");return a(),r("div",at,[i("div",nt,[i("h2",lt,l(e.$t("sora.name.size")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:p(()=>[(a(!0),r(E,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const it=b(st,[["render",rt],["__scopeId","data-v-8c485f0f"]]),ct="",dt=v({name:"PromptInput",components:{PromptTextarea:ie},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ct)}});function ut(e,t,m,f,$,g){const c=s("prompt-textarea");return a(),w(c,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=d=>e.prompt=d),title:e.$t("sora.name.prompt"),info:e.$t("sora.description.prompt"),placeholder:e.$t("sora.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const pt=b(dt,[["render",ut]]),mt=v({name:"ConfigPanel",components:{ElButton:D,Consumption:re,FontAwesomeIcon:L,PromptInput:pt,ModelSelector:Ie,StartEndImage:tt,SizeSelector:it,ActionSelector:Ue,OrientationSelector:Ze,DurationSelector:Be},emits:["generate"],computed:{config(){return this.$store.state.sora?.config},consumption(){return de(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit("generate")}}}),ft={class:"flex flex-col h-full"},_t={class:"flex-1 overflow-y-auto p-5"},ht={class:"flex flex-col items-center justify-center px-5 pb-5"};function $t(e,t,m,f,$,g){const c=s("model-selector"),d=s("action-selector"),n=s("duration-selector"),k=s("size-selector"),S=s("orientation-selector"),u=s("prompt-input"),y=s("start-end-image"),C=s("consumption"),U=s("font-awesome-icon"),B=s("el-button");return a(),r("div",ft,[i("div",_t,[o(c,{class:"mb-4"}),o(d,{class:"mb-4"}),o(n,{class:"mb-4"}),o(k,{class:"mb-4"}),o(S,{class:"mb-4"}),o(u,{class:"mb-4"}),q(o(y,{class:"mb-2"},null,512),[[H,e.config?.action==="image2video"]])]),i("div",ht,[o(C,{value:e.consumption,service:e.service},null,8,["value","service"]),o(B,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[o(U,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+l(e.$t("sora.button.generate")),1)]),_:1},8,["onClick"])])])}const gt=b(mt,[["render",$t]]),vt=v({name:"TaskPreview",components:{ElImage:$e,CopyToClipboard:pe,FontAwesomeIcon:L,ElAlert:he,VideoPlayer:me,ElTooltip:_e,ElButton:D,ApiCodeButton:fe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),bt={class:"preview"},kt={class:"left"},wt={class:"main"},yt={class:"bot"},St={class:"datetime"},Vt={class:"info"},Et={key:0,class:"prompt mt-2"},Tt={key:0},At={key:1},It={key:0,class:A({content:!0,failed:!0})},Ct={key:0,class:"mb-4"},Lt={key:1,class:A({operations:!0,"mt-2":!0})},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ut={key:1,class:A({content:!0})},Pt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},zt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Mt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ft={key:2,class:A({content:!0})},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},jt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Nt(e,t,m,f,$,g){const c=s("el-image"),d=s("video-player"),n=s("el-button"),k=s("el-tooltip"),S=s("api-code-button"),u=s("font-awesome-icon"),y=s("copy-to-clipboard"),C=s("el-alert");return a(),r("div",bt,[i("div",kt,[o(c,{src:"https://cdn.acedata.cloud/z5id1u.png",class:"avatar"})]),i("div",wt,[i("div",yt,[_(l(e.$t("sora.name.soraBot"))+" ",1),i("span",St,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",Vt,[e.modelValue?.request?.prompt?(a(),r("p",Et,[_(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?h("",!0):(a(),r("span",Tt," - ("+l(e.$t("sora.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="pending"?(a(),r("span",At," - ("+l(e.$t("sora.status.processing"))+") ",1)):h("",!0)])):h("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(a(),r("div",It,[e.modelValue?.response?.data[0]?.video_url?(a(),r("div",Ct,[o(d,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):h("",!0),e.modelValue?.response.success?(a(),r("div",Lt,[o(k,{class:"box-item",effect:"dark",content:e.$t("sora.message.downloadVideo"),placement:"top-start"},{default:p(()=>[e.modelValue?.response?.data[0]?.video_url?(a(),w(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=U=>e.onDownload(U,e.modelValue?.response?.data[0]?.video_url))},{default:p(()=>[_(l(e.$t("sora.button.download")),1)]),_:1})):h("",!0)]),_:1},8,["content"]),o(S,{path:"/sora/videos",body:e.modelValue?.request},null,8,["body"])])):h("",!0),o(C,{closable:!1,class:"mt-2 success"},{default:p(()=>[i("p",Dt,[o(u,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("sora.name.model"))+": "+l(e.modelValue?.request?.model),1)]),i("p",Rt,[o(u,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(y,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",Ot,[o(u,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+l(e.$t("sora.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0)]),_:1})])):h("",!0),e.modelValue?.response?.success===!1?(a(),r("div",Ut,[o(C,{closable:!1,class:"failure"},{template:p(()=>[o(u,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("sora.name.failure")),1)]),default:p(()=>[i("p",Pt,[o(u,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(y,{content:e.modelValue?.id},null,8,["content"])]),i("p",Gt,[o(u,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+l(e.$t("sora.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),o(y,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",zt,[o(u,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+l(e.$t("sora.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0),e.modelValue?.response?.trace_id?(a(),r("p",Mt,[o(u,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(y,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):h("",!0)]),_:1})])):h("",!0),e.modelValue?.response?.success===void 0?(a(),r("div",Ft,[o(C,{closable:!1,class:"info"},{template:p(()=>[o(u,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("sora.name.failure")),1)]),default:p(()=>[i("p",Bt,[o(u,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(y,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),r("p",jt,[o(u,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(y,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):h("",!0)]),_:1})])):h("",!0)])])}const qt=b(vt,[["render",Nt],["__scopeId","data-v-53ad5ede"]]),Ht=v({name:"RecentPanel",components:{TaskPreview:qt,NoTasks:ce,BotPlaceholder:ge,ScrollList:se},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Kt={key:0},Wt={key:2,class:"w-full h-full flex items-center justify-center"};function Zt(e,t,m,f,$,g){const c=s("bot-placeholder"),d=s("task-preview"),n=s("scroll-list"),k=s("no-tasks");return a(),r(E,null,[e.tasks?.items===void 0?(a(),r("div",Kt,[o(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=S=>e.$emit("reach-top"))},{default:p(()=>[(a(!0),r(E,null,I(e.tasks?.items,(S,u)=>(a(),w(d,{key:u,"model-value":S},null,8,["model-value"]))),128))]),_:1},8,["loading"])):h("",!0),e.tasks?.items?.length===0?(a(),r("div",Wt,[o(k)])):h("",!0)],64)}const Jt=b(Ht,[["render",Zt]]),Qt=J("sora"),Yt=v({name:"SoraIndex",components:{ConfigPanel:gt,Layout:Se,RecentPanel:Jt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===G.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===G.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ae({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("sora/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("sora/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:m,createdAtMax:f}=e||{};console.debug("limit",t,"createdAtMin",m,"createdAtMax",f),this.fetchingTasks=!0;try{await this.$store.dispatch("sora/getTasks",{limit:t,createdAtMin:m,createdAtMax:f})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Qt},t=this.credential?.token;if(!t){console.error("no token specified");return}T.info(this.$t("sora.message.startingTask")),W("sora",Z.generate(e,{token:t})).then(()=>{T.success(this.$t("sora.message.startTaskSuccess"))}).catch(m=>{m?.response?.data?.error?.code===ue?T.error(this.$t("sora.message.usedUp")):T.error(this.$t("sora.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Xt(e,t,m,f,$,g){const c=s("config-panel"),d=s("recent-panel"),n=s("layout");return a(),w(n,null,{config:p(()=>[o(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:p(()=>[o(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Zo=b(Yt,[["render",Xt]]);export{Zo as default};
@@ -1 +1 @@
1
- import{F as L}from"./index.es-DkaS06k9.js";import{E as N}from"./index-BIYITIcQ.js";import{E as se}from"./index-C7mr_FlY.js";import{d as S,H as c,E as s,z as Z,C as o,y as a,D as n,q as r,F as i,O as I,N as j,J as p,x as v,I as w,G,K as B,M as E,L as ne}from"./vendor-vue-NSDaktjZ.js";import{H as U,bp as re,dJ as H,dK as K,X as M,Y as ie,S as F,ct as x,dL as ae,cs as le,o as de}from"./index-BYllLVr5.js";import{a as ce}from"./errorCode-Cqj9Td_Z.js";import{p as T}from"./producer-B-1ty2Co.js";import{I as A,A as ue,S as pe,l as me}from"./pagination-DMcg_VSJ.js";import{a as fe}from"./producer-BGNC4QeM.js";import{E as he}from"./index-DCq7rnCm.js";import{E as _e,a as $e}from"./index-BB8IU4AC.js";import{E as ee,a as te}from"./index-agKHxhiT.js";import{E as ge}from"./index-hO1QjxiB.js";import{E as k}from"./index-B9C3QmXP.js";import{P as ve,N as ye}from"./NoTasks-8MEigfee.js";import{E as q}from"./index-CaBmSn29.js";import{u as J,F as be,_ as ke}from"./Player.vue_vue_type_script_setup_true_lang-D6H40eWR.js";import{E as Y}from"./index-CEKCGr2W.js";import{E as D}from"./index-byRx5hf4.js";import{E as we}from"./index-CdhuTWNw.js";import{E as Ce,a as Ve}from"./index-BaG_sRuE.js";import{C as Se}from"./Consumption-BHLp19TR.js";import{a as Ue}from"./price-CGbNB5nq.js";import{E as Pe,a as Ee}from"./index-BMrzZEO4.js";import{E as Ae,b as Te,a as Fe}from"./index-D4Cw4cZb.js";import{E as Ie}from"./index-BEQGtLAt.js";import{a as Le,E as Ge}from"./index-C7McF3Oe.js";import{E as De}from"./index-CP6RgWF7.js";import"./use-form-item-DE6wXJCu.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./highlight-Vc3jp7ut.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./validator-ugFyeEgc.js";import"./index-3EWFx-Vj.js";import"./index-5zXswERx.js";import"./typescript-Bxp48IAw.js";import"./strings-beZM2Y-f.js";import"./isEqual-CTU2BQwF.js";import"./_Uint8Array-BzP45VD9.js";import"./castArray-DtkWeMZp.js";import"./debounce-je8R6qMJ.js";import"./_baseIteratee-SNuyx3Mb.js";import"./index-D9l-HbDE.js";import"./index-CBxkbXoj.js";import"./_baseClone-DNu4QAe9.js";import"./_initCloneObject-C0YmUjML.js";import"./index-CaGN2hWU.js";import"./index-C4aXUBAg.js";import"./dropdown-CPrqYIX4.js";import"./index-Cu41y2Fl.js";import"./index-ZBbEwsOq.js";import"./isPlainObject-CT9W9CoU.js";const ze=S({name:"LayoutProducer",components:{ElDrawer:se,ElButton:N,FontAwesomeIcon:L},data(){return{drawer:!1,preview:!1}},computed:{}}),Re={class:"main flex flex-row flex-1"},Ze={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},je={class:"result h-full flex flex-col flex-1 min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"},Ne={class:"preview h-full w-[300px] flex flex-col"};function Be(e,t,m,l,y,b){const d=n("font-awesome-icon"),f=n("el-button"),h=n("el-drawer");return r(),c("div",Re,[s("div",Ze,[Z(e.$slots,"config",{},void 0,!0)]),s("div",je,[Z(e.$slots,"result",{},void 0,!0)]),s("div",Ne,[Z(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(()=>[Z(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Me=U(ze,[["render",Be],["__scopeId","data-v-03e2979b"]]),qe=S({name:"TypeSelector",components:{ElSelect:$e,ElOption:_e,ElSwitch:he,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=fe)}}),Oe={class:"mb-3"},We={class:"flex items-center mb-1"},He={class:"text-sm font-bold"},Ke={class:"model-option"},Je={class:"model-option-name"},Ye={class:"model-option-desc"},Xe={key:0,class:"flex items-center justify-between mb-3"},Qe={class:"flex items-center"},xe={class:"text-sm font-bold"};function et(e,t,m,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",Oe,[s("div",We,[s("span",He,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",Ke,[s("span",Je,i(_.label),1),s("span",Ye,i(_.desc),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),e.custom?(r(),c("div",Xe,[s("div",Qe,[s("span",xe,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"])])):p("",!0)])}const tt=U(qe,[["render",et],["__scopeId","data-v-42496b9a"]]),ot=S({name:"UploadAudio",components:{ElUpload:ge,ElButton:N,ElRadioGroup:te,ElRadioButton:ee,InfoIcon:A,FontAwesomeIcon:L},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},m=this.credential?.token;if(!m){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:m})).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}}}}),st={class:"relative"},nt={class:"flex justify-between items-center mb-2"},rt={class:"flex justify-start items-center"},it={class:"text-sm font-bold"},at={key:0,class:"mb-2"},lt=["src"],dt={key:1,class:"mt-1"};function ct(e,t,m,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",st,[s("div",nt,[s("div",rt,[s("span",it,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",at,[s("audio",{src:e.audioPreviewUrl,controls:"",class:"w-full"},null,8,lt)])):p("",!0),e.hasUploadedAudio?(r(),c("div",dt,[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"])])):p("",!0)])}const ut=U(ot,[["render",ct],["__scopeId","data-v-355e932b"]]),pt="",mt=S({name:"PromptInput",components:{PromptTextarea:ve},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=pt)}});function ft(e,t,m,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 ht=U(mt,[["render",ft]]),_t="",$t=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=_t)},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}}}}),gt={class:"field"},vt={class:"flex items-center justify-between mb-1"},yt={class:"flex items-center"},bt={class:"text-sm font-bold"};function kt(e,t,m,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",gt,[s("div",vt,[s("div",yt,[s("span",bt,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?p("",!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"])):p("",!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 wt=U($t,[["render",kt],["__scopeId","data-v-88c6da2b"]]),Ct=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})}}}}),Vt={class:"field"},St={class:"flex items-center justify-between mb-1"},Ut={class:"flex items-center"},Pt={class:"text-sm font-bold"};function Et(e,t,m,l,y,b){const d=n("info-icon"),f=n("el-input");return r(),c("div",Vt,[s("div",St,[s("div",Ut,[s("span",Pt,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 At=U(Ct,[["render",Et]]),Tt=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})}}}}),Ft={class:"field"},It={class:"flex items-center mb-1"},Lt={class:"text-sm font-bold"};function Gt(e,t,m,l,y,b){const d=n("info-icon"),f=n("el-input");return r(),c("div",Ft,[s("div",It,[s("span",Lt,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 Dt=U(Tt,[["render",Gt]]),zt=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})}}}),Rt={class:"field"},Zt={class:"box"},jt={class:"title font-bold"},Nt={class:"input-wrapper"},Bt={class:"task"},Mt={class:"left"},qt={key:2,class:"duration"},Ot={class:"info"},Wt={class:"title"},Ht={class:"style"};function Kt(e,t,m,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",Rt,[s("div",Zt,[s("h2",jt,i(e.$t("producer.name.extend")),1),s("div",Nt,[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",Bt,[e.audio?(r(),c("div",{key:0,class:"audio",onClick:t[3]||(t[3]=$=>e.onClick(e.audio))},[G((r(),c("div",Mt,[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})])):p("",!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})])):p("",!0),e.audio?.duration?(r(),c("div",qt,i(e.useFormatDuring(e.audio?.duration)),1)):p("",!0)])),[[P,!e.audio?.audio_url]]),s("div",Ot,[s("h2",Wt,i(e.audio?.title),1),s("p",Ht,i(e.audio?.style),1)])])):p("",!0)])])}const Jt=U(zt,[["render",Kt],["__scopeId","data-v-26d43480"]]),Yt=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})}}}),Xt={class:"field"},Qt={class:"box"},xt={class:"title font-bold"},eo={class:"task"},to={class:"left"},oo={key:2,class:"duration"},so={class:"info"},no={class:"title"},ro={class:"style"};function io(e,t,m,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",Xt,[s("div",Qt,[s("h2",xt,i(e.$t("producer.name.cover")),1)]),s("div",eo,[e.audio?(r(),c("div",{key:0,class:"audio",onClick:t[2]||(t[2]=P=>e.onClick(e.audio))},[G((r(),c("div",to,[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})])):p("",!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})])):p("",!0),e.audio?.duration?(r(),c("div",oo,i(e.useFormatDuring(e.audio?.duration)),1)):p("",!0)])),[[_,!e.audio?.audio_url]]),s("div",so,[s("h2",no,i(e.audio?.title),1),s("p",ro,i(e.audio?.style),1)])])):p("",!0)])])}const ao=U(Yt,[["render",io],["__scopeId","data-v-d8a8e583"]]),lo=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})}}}}),co={class:"mb-2"},uo={class:"flex items-center mb-1"},po={class:"text-sm font-bold"};function mo(e,t,m,l,y,b){const d=n("info-icon"),f=n("el-radio-button"),h=n("el-radio-group");return r(),c("div",co,[s("div",uo,[s("span",po,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 fo=U(lo,[["render",mo]]),ho=S({name:"AdvancedParams",components:{ElCollapse:Ve,ElCollapseItem:Ce,ElInput:q,ElSlider:we,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??50},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,weirdness:e})}},soundStrength:{get(){return this.$store.state.producer?.config?.sound_strength??50},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??50},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})}}}}),_o={key:0,class:"mb-3"},$o={class:"flex items-center mb-1"},go={class:"text-xs font-bold"},vo={key:1,class:"mb-3"},yo={class:"flex items-center mb-1"},bo={class:"text-xs font-bold"},ko={class:"mb-3"},wo={class:"flex items-center justify-between mb-1"},Co={class:"flex items-center"},Vo={class:"text-xs font-bold"},So={class:"text-xs text-[var(--el-text-color-secondary)]"},Uo={class:"mb-3"},Po={class:"flex items-center justify-between mb-1"},Eo={class:"flex items-center"},Ao={class:"text-xs font-bold"},To={class:"text-xs text-[var(--el-text-color-secondary)]"},Fo={key:2,class:"mb-3"},Io={class:"flex items-center justify-between mb-1"},Lo={class:"flex items-center"},Go={class:"text-xs font-bold"},Do={class:"text-xs text-[var(--el-text-color-secondary)]"},zo={class:"mb-3"},Ro={class:"flex items-center mb-1"},Zo={class:"text-xs font-bold"};function jo(e,t,m,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",_o,[s("div",$o,[s("span",go,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"])])):p("",!0),e.config?.custom&&!e.config?.instrumental?(r(),c("div",vo,[s("div",yo,[s("span",bo,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"])])):p("",!0),s("div",ko,[s("div",wo,[s("div",Co,[s("span",Vo,i(e.$t("producer.name.weirdness")),1),o(d,{content:e.$t("producer.description.weirdness")},null,8,["content"])]),s("span",So,i(e.weirdness??50),1)]),o(h,{modelValue:e.weirdness,"onUpdate:modelValue":t[2]||(t[2]=$=>e.weirdness=$),min:0,max:100,step:1},null,8,["modelValue"])]),s("div",Uo,[s("div",Po,[s("div",Eo,[s("span",Ao,i(e.$t("producer.name.soundStrength")),1),o(d,{content:e.$t("producer.description.soundStrength")},null,8,["content"])]),s("span",To,i(e.soundStrength??50),1)]),o(h,{modelValue:e.soundStrength,"onUpdate:modelValue":t[3]||(t[3]=$=>e.soundStrength=$),min:0,max:100,step:1},null,8,["modelValue"])]),e.config?.custom&&!e.config?.instrumental?(r(),c("div",Fo,[s("div",Io,[s("div",Lo,[s("span",Go,i(e.$t("producer.name.lyricsStrength")),1),o(d,{content:e.$t("producer.description.lyricsStrength")},null,8,["content"])]),s("span",Do,i(e.lyricsStrength??50),1)]),o(h,{modelValue:e.lyricsStrength,"onUpdate:modelValue":t[4]||(t[4]=$=>e.lyricsStrength=$),min:0,max:100,step:1},null,8,["modelValue"])])):p("",!0),s("div",zo,[s("div",Ro,[s("span",Zo,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 No=U(ho,[["render",jo],["__scopeId","data-v-44ad862b"]]),Bo=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"})}}}),Mo={class:"field"},qo={class:"flex items-center mb-2"},Oo={class:"text-sm font-bold m-0"},Wo={key:0,class:"task mb-2"},Ho={class:"left relative w-[50px] h-[50px] mr-3 flex-shrink-0"},Ko={class:"info flex-1 min-w-0"},Jo={class:"text-sm font-bold m-0 truncate"},Yo={class:"text-xs text-[var(--el-text-color-secondary)] m-0 truncate"},Xo={class:"flex gap-2"};function Qo(e,t,m,l,y,b){const d=n("info-icon"),f=n("el-image"),h=n("el-input-number"),g=B("loading");return r(),c("div",Mo,[s("div",qo,[s("h2",Oo,i(e.$t("producer.name.replaceSection")),1),o(d,{content:e.$t("producer.description.replaceSection")},null,8,["content"])]),e.audio?(r(),c("div",Wo,[s("div",{class:"audio flex items-center",onClick:t[0]||(t[0]=_=>e.onClick(e.audio))},[G((r(),c("div",Ho,[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",Ko,[s("h2",Jo,i(e.audio?.title),1),s("p",Yo,i(e.audio?.style),1)])])])):p("",!0),s("div",Xo,[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 xo=U(Bo,[["render",Qo]]),es=S({name:"PresetPanel",components:{TypeSelector:tt,PromptInput:ht,LyricInput:wt,StyleInput:At,TitleInput:Dt,ExtendFromInput:Jt,CoverFromInput:ao,UploadAudio:ut,VocalGenderSelector:fo,AdvancedParams:No,ReplaceSectionInput:xo,FontAwesomeIcon:L,ElButton:N,ElTabs:Ee,ElTabPane:Pe,Consumption:Se},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 Ue(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})}}}),ts={class:"flex flex-col h-full"},os={class:"flex-1 overflow-y-auto p-5"},ss={class:"pt-2 px-1"},ns={class:"pt-2 px-1"},rs={class:"flex flex-col items-center justify-center px-5 pb-5 gap-2"},is={class:"flex gap-2 w-full"};function as(e,t,m,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"),R=n("style-input"),O=n("title-input"),W=n("vocal-gender-selector"),u=n("el-tabs"),V=n("consumption"),X=n("font-awesome-icon"),Q=n("el-button");return r(),c("div",ts,[s("div",os,[o(u,{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",ss,[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"})):p("",!0),e.config?.action==="cover"?(r(),v(_,{key:1,class:"mb-4"})):p("",!0),e.config?.action==="replace_section"?(r(),v(P,{key:2,class:"mb-4"})):p("",!0),o($,{class:"mb-4"})])]),_:1},8,["label"]),o(C,{label:e.$t("producer.mode.custom"),name:"custom"},{default:a(()=>[s("div",ns,[o(d,{class:"mb-4"}),o(f,{class:"mb-4"}),e.config?.instrumental?p("",!0):(r(),v(z,{key:0,class:"mb-4"})),o(R,{class:"mb-4"}),o(O,{class:"mb-4"}),e.config?.instrumental?p("",!0):(r(),v(W,{key:1,class:"mb-4"})),e.config?.action==="extend"?(r(),v(g,{key:2,class:"mb-4"})):p("",!0),e.config?.action==="cover"?(r(),v(_,{key:3,class:"mb-4"})):p("",!0),e.config?.action==="replace_section"?(r(),v(P,{key:4,class:"mb-4"})):p("",!0),o($,{class:"mb-4"})])]),_:1},8,["label"])]),_:1},8,["modelValue"])]),s("div",rs,[o(V,{value:e.consumption,service:e.service},null,8,["value","service"]),s("div",is,[o(Q,{class:"flex-1",onClick:e.onClearAll},{default:a(()=>[o(X,{icon:"fa-solid fa-broom",class:"mr-1"}),w(" "+i(e.$t("producer.button.clear_all")),1)]),_:1},8,["onClick"]),o(Q,{type:"primary",class:"flex-1",round:"",onClick:e.onGenerate},{default:a(()=>[o(X,{icon:"fa-solid fa-magic",class:"mr-2"}),w(" "+i(e.generateButtonText),1)]),_:1},8,["onClick"])])])])}const ls=U(es,[["render",as],["__scopeId","data-v-4a4b209e"]]),ds=x("producer"),cs=S({name:"TaskPreview",components:{ElImage:D,ElIcon:M,ElTooltip:Ie,FontAwesomeIcon:L,VideoPlay:K,VideoPause:H,ElDropdown:Fe,ElDropdownMenu:Te,ElDropdownItem:Ae,Loading:ie,ApiCodeDialog:ue},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(m=>({...m,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(([m,l])=>{m==="application_id"||m==="callback_url"||l!=null&&(typeof l=="string"&&l===""||Array.isArray(l)&&l.length===0||(t[m]=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=>{be.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,m)=>{const l={audio_id:e},y=this.credential?.token;if(!y){console.error("no token specified"),m(new Error("No token specified"));return}T.video(l,{token:y}).then(b=>{const d=b.data?.data?.video_url;d?t(d):m(new Error("Video URL not found in response"))}).catch(b=>{m(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 m={action:e,audio_id:t,callback_url:ds},l=this.credential?.token;if(!l){console.error("no token specified");return}k.info(this.$t("producer.message.startingTask")),T.audio(m,{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})}}}),us={class:"task"},ps=["onClick"],ms={class:"left"},fs=["onClick"],hs=["onClick"],_s={key:2,class:"duration"},$s={class:"info"},gs={class:"title"},vs={class:"style"},ys={class:"right"},bs={class:"el-dropdown-link"},ks={class:"flex items-center min-w-[120px]"},ws={class:"flex items-center min-w-[120px]"},Cs={class:"el-dropdown-link"};function Vs(e,t,m,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"),R=n("el-dropdown"),O=n("api-code-dialog"),W=B("loading");return r(),c("div",us,[(r(!0),c(I,null,j(e.audios,u=>(r(),c("div",{key:u.id,class:"audio",onClick:E(V=>e.onClick(u),["stop"])},[G((r(),c("div",ms,[o(d,{src:u?.image_url,class:"cover",fit:"cover",lazy:""},null,8,["src"]),u?.audio_url&&e.$store.state?.producer?.audio?.id===u.id&&e.$store.state?.producer?.audio?.state==="playing"?(r(),c("div",{key:0,class:"overlay",onClick:E(V=>e.onPause(u),["stop"])},[o(h,null,{default:a(()=>[o(f)]),_:1})],8,fs)):p("",!0),u?.audio_url&&(e.$store.state?.producer?.audio?.id!==u.id||e.$store.state?.producer?.audio?.id===u.id&&e.$store.state?.producer?.audio?.state==="paused")?(r(),c("div",{key:1,class:"overlay",onClick:E(V=>e.onPlay(u),["stop"])},[o(h,null,{default:a(()=>[o(g)]),_:1})],8,hs)):p("",!0),u?.duration?(r(),c("div",_s,i(e.useFormatDuring(u?.duration)),1)):p("",!0)])),[[W,!u?.audio_url]]),s("div",$s,[s("h2",gs,i(u?.title),1),s("p",vs,i(u?.style),1)]),s("div",ys,[o(R,null,{dropdown:a(()=>[o(z,null,{default:a(()=>[o(C,{disabled:e.isFetchingVideoUrl,onClick:V=>e.handleVideoDownload(u)},{default:a(()=>[s("div",ks,[e.isFetchingVideoUrl?(r(),v(h,{key:0,class:"is-loading mr-2"},{default:a(()=>[o($)]),_:1})):p("",!0),s("span",null,i(e.$t("producer.button.download_video")),1)])]),_:1},8,["disabled","onClick"]),u?.audio_url?(r(),v(C,{key:0,onClick:E(V=>e.onDownload(V,u?.audio_url),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.download_audio")),1)]),_:1},8,["onClick"])):p("",!0),o(C,{disabled:e.isFetchingWav,onClick:V=>e.handleWavDownload(u)},{default:a(()=>[s("div",ws,[e.isFetchingWav?(r(),v(h,{key:0,class:"is-loading mr-2"},{default:a(()=>[o($)]),_:1})):p("",!0),s("span",null,i(e.$t("producer.button.download_wav")),1)])]),_:1},8,["disabled","onClick"])]),_:2},1024)]),default:a(()=>[s("span",bs,[o(P,{effect:"dark",content:e.$t("producer.button.download"),placement:"top"},{default:a(()=>[u?.audio_url||u?.video_url?(r(),v(_,{key:0,icon:"fa-solid fa-download",class:"icon icon-download"})):p("",!0)]),_:2},1032,["content"])])]),_:2},1024),o(R,null,{dropdown:a(()=>[o(z,null,{default:a(()=>[u?.audio_url?(r(),v(C,{key:0,onClick:E(V=>e.onExtend(V,u),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.extend")),1)]),_:1},8,["onClick"])):p("",!0),u.id?(r(),v(C,{key:1,onClick:E(V=>e.onGetStems(u.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.get_stems")),1)]),_:1},8,["onClick"])):p("",!0),u.id?(r(),v(C,{key:2,onClick:E(V=>e.onGetAllStems(u.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.all_stems")),1)]),_:1},8,["onClick"])):p("",!0),o(C,{onClick:E(V=>e.onCover(u),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.cover_music")),1)]),_:1},8,["onClick"]),u?.id?(r(),v(C,{key:3,onClick:E(V=>e.onVariation(u),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.variation")),1)]),_:1},8,["onClick"])):p("",!0),u?.id?(r(),v(C,{key:4,onClick:E(V=>e.onSwapVocals(u.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.swap_vocals")),1)]),_:1},8,["onClick"])):p("",!0),u?.id?(r(),v(C,{key:5,onClick:E(V=>e.onSwapInstrumentals(u.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.swap_instrumentals")),1)]),_:1},8,["onClick"])):p("",!0),u?.id?(r(),v(C,{key:6,onClick:E(V=>e.onReplaceSection(u),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.replace_section")),1)]),_:1},8,["onClick"])):p("",!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",Cs,[o(P,{effect:"dark",content:e.$t("producer.button.more"),placement:"top"},{default:a(()=>[u?.audio_url||u?.video_url?(r(),v(_,{key:0,icon:"fa-solid fa-ellipsis",class:"icon icon-ellipsis"})):p("",!0)]),_:2},1032,["content"])])]),_:2},1024)])],8,ps))),128)),o(O,{visible:e.apiCodeVisible,"onUpdate:visible":t[0]||(t[0]=u=>e.apiCodeVisible=u),method:"POST",path:e.apiCodePath,body:e.apiCodeBody,token:e.$store.state.producer?.credential?.token||""},null,8,["visible","path","body","token"])])}const Ss=U(cs,[["render",Vs]]),Us=S({name:"RecentPanel",components:{ElSkeletonItem:Ge,ElSkeleton:Le,TaskPreview:Ss,Player:ke,NoTasks:ye,ScrollList:pe},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?.()}}}),Ps={key:0,class:"tasks"},Es={class:"left w-[70px] p-[10px] flex items-center"},As={class:"main w-[calc(100%-70px)] flex-1 p-[10px]"},Ts={key:2,class:"w-full flex-1 flex items-center justify-center"},Fs={class:"h-20"};function Is(e,t,m,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",Ps,[(r(),c(I,null,j(3,$=>s("div",{key:$,class:"flex"},[s("div",Es,[o(f,{animated:""},{template:a(()=>[o(d,{variant:"image",class:"avatar w-[50px] h-[50px]"})]),_:1})]),s("div",As,[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"])):p("",!0),e.tasks?.items?.length===0?(r(),c("div",Ts,[o(_)])):p("",!0),G(s("div",Fs,[o(P,{namespace:"producer"})],512),[[ne,!!e.$store?.state?.producer?.audio?.object]])],64)}const Ls=U(Us,[["render",Is]]),Gs=S({name:"TaskPreview",components:{IconPicture:ae,ElImage:D,ElAvatar:De,ElIcon:M},computed:{audio(){return this.$store.state.producer?.audio}}}),Ds={key:0,class:"size-full overflow-hidden"},zs={class:"relative h-[300px]"},Rs={class:"flex items-center justify-center size-full bg-[var(--el-bg-color)]"},Zs={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"},js={class:"p-4"},Ns={class:"flex items-center font-bold mb-2"},Bs={class:"text-[var(--el-text-color-regular)] mb-2"},Ms={class:"text-xs text-[var(--el-text-color-regular)]"},qs={class:"mt-4 text-sm leading-[25px] whitespace-pre-wrap"},Os={key:1,class:"w-full h-full"};function Ws(e,t,m,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",Ds,[s("div",zs,[o(h,{src:e.audio.image_url,fit:"cover",class:"size-full"},{error:a(()=>[s("div",Rs,[o(f,{class:"text-3xl"},{default:a(()=>[o(d)]),_:1})])]),_:1},8,["src"]),s("h2",Zs,i(e.audio?.title),1)]),s("div",js,[s("div",Ns,[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",Bs,i(e.audio?.style),1),s("p",Ms,i(e.$dayjs.format(e.audio?.created_at)),1),s("div",qs,[s("p",null,i(e.audio?.lyric),1)])])])):(r(),c("div",Os))}const Hs=U(Gs,[["render",Ws]]),Ks=x("producer"),Js=S({name:"ProducerIndex",components:{Layout:Me,ConfigPanel:ls,RecentPanel:Ls,PreviewPanel:Hs},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 me({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:m,createdAtMax:l}=e||{};console.debug("limit",t,"createdAtMin",m,"createdAtMax",l),this.fetchingTasks=!0;try{await this.$store.dispatch("producer/getTasks",{limit:t,createdAtMin:m,createdAtMax:l})}finally{this.fetchingTasks=!1}},async onGenerateAudio(){const e={...this.config,callback_url:Ks},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(m=>{k.error(m?.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 Ys(e,t,m,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 er=U(Js,[["render",Ys],["__scopeId","data-v-d6806962"]]);export{er as default};
1
+ import{F as L}from"./index.es-BeLOywfI.js";import{E as N}from"./index-BY9FLlvx.js";import{E as se}from"./index-DGVR6QBZ.js";import{d as S,H as c,E as s,z as Z,C as o,y as a,D as n,q as r,F as i,O as I,N as j,J as p,x as v,I as w,G,K as B,M as E,L as ne}from"./vendor-vue-NSDaktjZ.js";import{H as U,bp as re,dJ as H,dK as K,X as M,Y as ie,S as F,ct as x,dL as ae,cs as le,o as de}from"./index-DiSidSvU.js";import{a as ce}from"./errorCode-Cqj9Td_Z.js";import{p as T}from"./producer-DY9V7kxq.js";import{I as A,A as ue,S as pe,l as me}from"./pagination-BQ6ALt71.js";import{a as fe}from"./producer-BGNC4QeM.js";import{E as he}from"./index-Dc0xaPg1.js";import{E as _e,a as $e}from"./index-CRWC8q75.js";import{E as ee,a as te}from"./index-BQqSBNTv.js";import{E as ge}from"./index-DxWfjb_C.js";import{E as k}from"./index-ByWnkv1G.js";import{P as ve,N as ye}from"./NoTasks-DHYh2L_b.js";import{E as q}from"./index-DhvHpkEZ.js";import{u as J,F as be,_ as ke}from"./Player.vue_vue_type_script_setup_true_lang-CvNCeJRd.js";import{E as Y}from"./index-C4j1dHcE.js";import{E as D}from"./index-BcB_-lzn.js";import{E as we}from"./index-DUeLs6nI.js";import{E as Ce,a as Ve}from"./index-7LpFMt7p.js";import{C as Se}from"./Consumption-7qH37pE9.js";import{a as Ue}from"./price-8kJQGF1-.js";import{E as Pe,a as Ee}from"./index-DY86lbEX.js";import{E as Ae,b as Te,a as Fe}from"./index-61bV5wmY.js";import{E as Ie}from"./index-DlrvZGBU.js";import{a as Le,E as Ge}from"./index-1ILjlG8L.js";import{E as De}from"./index-CN8ZC3ff.js";import"./use-form-item-D7ZQ0uNO.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./highlight-BKO0nM6d.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./validator-C6X05_Cn.js";import"./index-D84FynKl.js";import"./index-CSP1FYs7.js";import"./typescript-BkLdnbkx.js";import"./strings-beZM2Y-f.js";import"./isEqual-Bit6excc.js";import"./_Uint8Array-C9GurXZS.js";import"./castArray-DFDDfxIX.js";import"./debounce-p4kYWNVH.js";import"./_baseIteratee-DRD8Id2G.js";import"./index-DkmVyT7W.js";import"./index-C0T1mBSZ.js";import"./_baseClone-CQPgJfCg.js";import"./_initCloneObject-DwJv9kbk.js";import"./index-ZPlTL2pP.js";import"./index-zclFx667.js";import"./dropdown-C2KkkC_s.js";import"./index-Cu41y2Fl.js";import"./index-s7RXppbp.js";import"./isPlainObject-i9qOcW_m.js";const ze=S({name:"LayoutProducer",components:{ElDrawer:se,ElButton:N,FontAwesomeIcon:L},data(){return{drawer:!1,preview:!1}},computed:{}}),Re={class:"main flex flex-row flex-1"},Ze={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},je={class:"result h-full flex flex-col flex-1 min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"},Ne={class:"preview h-full w-[300px] flex flex-col"};function Be(e,t,m,l,y,b){const d=n("font-awesome-icon"),f=n("el-button"),h=n("el-drawer");return r(),c("div",Re,[s("div",Ze,[Z(e.$slots,"config",{},void 0,!0)]),s("div",je,[Z(e.$slots,"result",{},void 0,!0)]),s("div",Ne,[Z(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(()=>[Z(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Me=U(ze,[["render",Be],["__scopeId","data-v-03e2979b"]]),qe=S({name:"TypeSelector",components:{ElSelect:$e,ElOption:_e,ElSwitch:he,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=fe)}}),Oe={class:"mb-3"},We={class:"flex items-center mb-1"},He={class:"text-sm font-bold"},Ke={class:"model-option"},Je={class:"model-option-name"},Ye={class:"model-option-desc"},Xe={key:0,class:"flex items-center justify-between mb-3"},Qe={class:"flex items-center"},xe={class:"text-sm font-bold"};function et(e,t,m,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",Oe,[s("div",We,[s("span",He,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",Ke,[s("span",Je,i(_.label),1),s("span",Ye,i(_.desc),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),e.custom?(r(),c("div",Xe,[s("div",Qe,[s("span",xe,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"])])):p("",!0)])}const tt=U(qe,[["render",et],["__scopeId","data-v-42496b9a"]]),ot=S({name:"UploadAudio",components:{ElUpload:ge,ElButton:N,ElRadioGroup:te,ElRadioButton:ee,InfoIcon:A,FontAwesomeIcon:L},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},m=this.credential?.token;if(!m){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:m})).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}}}}),st={class:"relative"},nt={class:"flex justify-between items-center mb-2"},rt={class:"flex justify-start items-center"},it={class:"text-sm font-bold"},at={key:0,class:"mb-2"},lt=["src"],dt={key:1,class:"mt-1"};function ct(e,t,m,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",st,[s("div",nt,[s("div",rt,[s("span",it,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",at,[s("audio",{src:e.audioPreviewUrl,controls:"",class:"w-full"},null,8,lt)])):p("",!0),e.hasUploadedAudio?(r(),c("div",dt,[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"])])):p("",!0)])}const ut=U(ot,[["render",ct],["__scopeId","data-v-355e932b"]]),pt="",mt=S({name:"PromptInput",components:{PromptTextarea:ve},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=pt)}});function ft(e,t,m,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 ht=U(mt,[["render",ft]]),_t="",$t=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=_t)},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}}}}),gt={class:"field"},vt={class:"flex items-center justify-between mb-1"},yt={class:"flex items-center"},bt={class:"text-sm font-bold"};function kt(e,t,m,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",gt,[s("div",vt,[s("div",yt,[s("span",bt,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?p("",!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"])):p("",!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 wt=U($t,[["render",kt],["__scopeId","data-v-88c6da2b"]]),Ct=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})}}}}),Vt={class:"field"},St={class:"flex items-center justify-between mb-1"},Ut={class:"flex items-center"},Pt={class:"text-sm font-bold"};function Et(e,t,m,l,y,b){const d=n("info-icon"),f=n("el-input");return r(),c("div",Vt,[s("div",St,[s("div",Ut,[s("span",Pt,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 At=U(Ct,[["render",Et]]),Tt=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})}}}}),Ft={class:"field"},It={class:"flex items-center mb-1"},Lt={class:"text-sm font-bold"};function Gt(e,t,m,l,y,b){const d=n("info-icon"),f=n("el-input");return r(),c("div",Ft,[s("div",It,[s("span",Lt,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 Dt=U(Tt,[["render",Gt]]),zt=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})}}}),Rt={class:"field"},Zt={class:"box"},jt={class:"title font-bold"},Nt={class:"input-wrapper"},Bt={class:"task"},Mt={class:"left"},qt={key:2,class:"duration"},Ot={class:"info"},Wt={class:"title"},Ht={class:"style"};function Kt(e,t,m,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",Rt,[s("div",Zt,[s("h2",jt,i(e.$t("producer.name.extend")),1),s("div",Nt,[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",Bt,[e.audio?(r(),c("div",{key:0,class:"audio",onClick:t[3]||(t[3]=$=>e.onClick(e.audio))},[G((r(),c("div",Mt,[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})])):p("",!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})])):p("",!0),e.audio?.duration?(r(),c("div",qt,i(e.useFormatDuring(e.audio?.duration)),1)):p("",!0)])),[[P,!e.audio?.audio_url]]),s("div",Ot,[s("h2",Wt,i(e.audio?.title),1),s("p",Ht,i(e.audio?.style),1)])])):p("",!0)])])}const Jt=U(zt,[["render",Kt],["__scopeId","data-v-26d43480"]]),Yt=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})}}}),Xt={class:"field"},Qt={class:"box"},xt={class:"title font-bold"},eo={class:"task"},to={class:"left"},oo={key:2,class:"duration"},so={class:"info"},no={class:"title"},ro={class:"style"};function io(e,t,m,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",Xt,[s("div",Qt,[s("h2",xt,i(e.$t("producer.name.cover")),1)]),s("div",eo,[e.audio?(r(),c("div",{key:0,class:"audio",onClick:t[2]||(t[2]=P=>e.onClick(e.audio))},[G((r(),c("div",to,[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})])):p("",!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})])):p("",!0),e.audio?.duration?(r(),c("div",oo,i(e.useFormatDuring(e.audio?.duration)),1)):p("",!0)])),[[_,!e.audio?.audio_url]]),s("div",so,[s("h2",no,i(e.audio?.title),1),s("p",ro,i(e.audio?.style),1)])])):p("",!0)])])}const ao=U(Yt,[["render",io],["__scopeId","data-v-d8a8e583"]]),lo=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})}}}}),co={class:"mb-2"},uo={class:"flex items-center mb-1"},po={class:"text-sm font-bold"};function mo(e,t,m,l,y,b){const d=n("info-icon"),f=n("el-radio-button"),h=n("el-radio-group");return r(),c("div",co,[s("div",uo,[s("span",po,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 fo=U(lo,[["render",mo]]),ho=S({name:"AdvancedParams",components:{ElCollapse:Ve,ElCollapseItem:Ce,ElInput:q,ElSlider:we,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??50},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,weirdness:e})}},soundStrength:{get(){return this.$store.state.producer?.config?.sound_strength??50},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??50},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})}}}}),_o={key:0,class:"mb-3"},$o={class:"flex items-center mb-1"},go={class:"text-xs font-bold"},vo={key:1,class:"mb-3"},yo={class:"flex items-center mb-1"},bo={class:"text-xs font-bold"},ko={class:"mb-3"},wo={class:"flex items-center justify-between mb-1"},Co={class:"flex items-center"},Vo={class:"text-xs font-bold"},So={class:"text-xs text-[var(--el-text-color-secondary)]"},Uo={class:"mb-3"},Po={class:"flex items-center justify-between mb-1"},Eo={class:"flex items-center"},Ao={class:"text-xs font-bold"},To={class:"text-xs text-[var(--el-text-color-secondary)]"},Fo={key:2,class:"mb-3"},Io={class:"flex items-center justify-between mb-1"},Lo={class:"flex items-center"},Go={class:"text-xs font-bold"},Do={class:"text-xs text-[var(--el-text-color-secondary)]"},zo={class:"mb-3"},Ro={class:"flex items-center mb-1"},Zo={class:"text-xs font-bold"};function jo(e,t,m,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",_o,[s("div",$o,[s("span",go,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"])])):p("",!0),e.config?.custom&&!e.config?.instrumental?(r(),c("div",vo,[s("div",yo,[s("span",bo,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"])])):p("",!0),s("div",ko,[s("div",wo,[s("div",Co,[s("span",Vo,i(e.$t("producer.name.weirdness")),1),o(d,{content:e.$t("producer.description.weirdness")},null,8,["content"])]),s("span",So,i(e.weirdness??50),1)]),o(h,{modelValue:e.weirdness,"onUpdate:modelValue":t[2]||(t[2]=$=>e.weirdness=$),min:0,max:100,step:1},null,8,["modelValue"])]),s("div",Uo,[s("div",Po,[s("div",Eo,[s("span",Ao,i(e.$t("producer.name.soundStrength")),1),o(d,{content:e.$t("producer.description.soundStrength")},null,8,["content"])]),s("span",To,i(e.soundStrength??50),1)]),o(h,{modelValue:e.soundStrength,"onUpdate:modelValue":t[3]||(t[3]=$=>e.soundStrength=$),min:0,max:100,step:1},null,8,["modelValue"])]),e.config?.custom&&!e.config?.instrumental?(r(),c("div",Fo,[s("div",Io,[s("div",Lo,[s("span",Go,i(e.$t("producer.name.lyricsStrength")),1),o(d,{content:e.$t("producer.description.lyricsStrength")},null,8,["content"])]),s("span",Do,i(e.lyricsStrength??50),1)]),o(h,{modelValue:e.lyricsStrength,"onUpdate:modelValue":t[4]||(t[4]=$=>e.lyricsStrength=$),min:0,max:100,step:1},null,8,["modelValue"])])):p("",!0),s("div",zo,[s("div",Ro,[s("span",Zo,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 No=U(ho,[["render",jo],["__scopeId","data-v-44ad862b"]]),Bo=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"})}}}),Mo={class:"field"},qo={class:"flex items-center mb-2"},Oo={class:"text-sm font-bold m-0"},Wo={key:0,class:"task mb-2"},Ho={class:"left relative w-[50px] h-[50px] mr-3 flex-shrink-0"},Ko={class:"info flex-1 min-w-0"},Jo={class:"text-sm font-bold m-0 truncate"},Yo={class:"text-xs text-[var(--el-text-color-secondary)] m-0 truncate"},Xo={class:"flex gap-2"};function Qo(e,t,m,l,y,b){const d=n("info-icon"),f=n("el-image"),h=n("el-input-number"),g=B("loading");return r(),c("div",Mo,[s("div",qo,[s("h2",Oo,i(e.$t("producer.name.replaceSection")),1),o(d,{content:e.$t("producer.description.replaceSection")},null,8,["content"])]),e.audio?(r(),c("div",Wo,[s("div",{class:"audio flex items-center",onClick:t[0]||(t[0]=_=>e.onClick(e.audio))},[G((r(),c("div",Ho,[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",Ko,[s("h2",Jo,i(e.audio?.title),1),s("p",Yo,i(e.audio?.style),1)])])])):p("",!0),s("div",Xo,[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 xo=U(Bo,[["render",Qo]]),es=S({name:"PresetPanel",components:{TypeSelector:tt,PromptInput:ht,LyricInput:wt,StyleInput:At,TitleInput:Dt,ExtendFromInput:Jt,CoverFromInput:ao,UploadAudio:ut,VocalGenderSelector:fo,AdvancedParams:No,ReplaceSectionInput:xo,FontAwesomeIcon:L,ElButton:N,ElTabs:Ee,ElTabPane:Pe,Consumption:Se},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 Ue(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})}}}),ts={class:"flex flex-col h-full"},os={class:"flex-1 overflow-y-auto p-5"},ss={class:"pt-2 px-1"},ns={class:"pt-2 px-1"},rs={class:"flex flex-col items-center justify-center px-5 pb-5 gap-2"},is={class:"flex gap-2 w-full"};function as(e,t,m,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"),R=n("style-input"),O=n("title-input"),W=n("vocal-gender-selector"),u=n("el-tabs"),V=n("consumption"),X=n("font-awesome-icon"),Q=n("el-button");return r(),c("div",ts,[s("div",os,[o(u,{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",ss,[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"})):p("",!0),e.config?.action==="cover"?(r(),v(_,{key:1,class:"mb-4"})):p("",!0),e.config?.action==="replace_section"?(r(),v(P,{key:2,class:"mb-4"})):p("",!0),o($,{class:"mb-4"})])]),_:1},8,["label"]),o(C,{label:e.$t("producer.mode.custom"),name:"custom"},{default:a(()=>[s("div",ns,[o(d,{class:"mb-4"}),o(f,{class:"mb-4"}),e.config?.instrumental?p("",!0):(r(),v(z,{key:0,class:"mb-4"})),o(R,{class:"mb-4"}),o(O,{class:"mb-4"}),e.config?.instrumental?p("",!0):(r(),v(W,{key:1,class:"mb-4"})),e.config?.action==="extend"?(r(),v(g,{key:2,class:"mb-4"})):p("",!0),e.config?.action==="cover"?(r(),v(_,{key:3,class:"mb-4"})):p("",!0),e.config?.action==="replace_section"?(r(),v(P,{key:4,class:"mb-4"})):p("",!0),o($,{class:"mb-4"})])]),_:1},8,["label"])]),_:1},8,["modelValue"])]),s("div",rs,[o(V,{value:e.consumption,service:e.service},null,8,["value","service"]),s("div",is,[o(Q,{class:"flex-1",onClick:e.onClearAll},{default:a(()=>[o(X,{icon:"fa-solid fa-broom",class:"mr-1"}),w(" "+i(e.$t("producer.button.clear_all")),1)]),_:1},8,["onClick"]),o(Q,{type:"primary",class:"flex-1",round:"",onClick:e.onGenerate},{default:a(()=>[o(X,{icon:"fa-solid fa-magic",class:"mr-2"}),w(" "+i(e.generateButtonText),1)]),_:1},8,["onClick"])])])])}const ls=U(es,[["render",as],["__scopeId","data-v-4a4b209e"]]),ds=x("producer"),cs=S({name:"TaskPreview",components:{ElImage:D,ElIcon:M,ElTooltip:Ie,FontAwesomeIcon:L,VideoPlay:K,VideoPause:H,ElDropdown:Fe,ElDropdownMenu:Te,ElDropdownItem:Ae,Loading:ie,ApiCodeDialog:ue},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(m=>({...m,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(([m,l])=>{m==="application_id"||m==="callback_url"||l!=null&&(typeof l=="string"&&l===""||Array.isArray(l)&&l.length===0||(t[m]=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=>{be.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,m)=>{const l={audio_id:e},y=this.credential?.token;if(!y){console.error("no token specified"),m(new Error("No token specified"));return}T.video(l,{token:y}).then(b=>{const d=b.data?.data?.video_url;d?t(d):m(new Error("Video URL not found in response"))}).catch(b=>{m(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 m={action:e,audio_id:t,callback_url:ds},l=this.credential?.token;if(!l){console.error("no token specified");return}k.info(this.$t("producer.message.startingTask")),T.audio(m,{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})}}}),us={class:"task"},ps=["onClick"],ms={class:"left"},fs=["onClick"],hs=["onClick"],_s={key:2,class:"duration"},$s={class:"info"},gs={class:"title"},vs={class:"style"},ys={class:"right"},bs={class:"el-dropdown-link"},ks={class:"flex items-center min-w-[120px]"},ws={class:"flex items-center min-w-[120px]"},Cs={class:"el-dropdown-link"};function Vs(e,t,m,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"),R=n("el-dropdown"),O=n("api-code-dialog"),W=B("loading");return r(),c("div",us,[(r(!0),c(I,null,j(e.audios,u=>(r(),c("div",{key:u.id,class:"audio",onClick:E(V=>e.onClick(u),["stop"])},[G((r(),c("div",ms,[o(d,{src:u?.image_url,class:"cover",fit:"cover",lazy:""},null,8,["src"]),u?.audio_url&&e.$store.state?.producer?.audio?.id===u.id&&e.$store.state?.producer?.audio?.state==="playing"?(r(),c("div",{key:0,class:"overlay",onClick:E(V=>e.onPause(u),["stop"])},[o(h,null,{default:a(()=>[o(f)]),_:1})],8,fs)):p("",!0),u?.audio_url&&(e.$store.state?.producer?.audio?.id!==u.id||e.$store.state?.producer?.audio?.id===u.id&&e.$store.state?.producer?.audio?.state==="paused")?(r(),c("div",{key:1,class:"overlay",onClick:E(V=>e.onPlay(u),["stop"])},[o(h,null,{default:a(()=>[o(g)]),_:1})],8,hs)):p("",!0),u?.duration?(r(),c("div",_s,i(e.useFormatDuring(u?.duration)),1)):p("",!0)])),[[W,!u?.audio_url]]),s("div",$s,[s("h2",gs,i(u?.title),1),s("p",vs,i(u?.style),1)]),s("div",ys,[o(R,null,{dropdown:a(()=>[o(z,null,{default:a(()=>[o(C,{disabled:e.isFetchingVideoUrl,onClick:V=>e.handleVideoDownload(u)},{default:a(()=>[s("div",ks,[e.isFetchingVideoUrl?(r(),v(h,{key:0,class:"is-loading mr-2"},{default:a(()=>[o($)]),_:1})):p("",!0),s("span",null,i(e.$t("producer.button.download_video")),1)])]),_:1},8,["disabled","onClick"]),u?.audio_url?(r(),v(C,{key:0,onClick:E(V=>e.onDownload(V,u?.audio_url),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.download_audio")),1)]),_:1},8,["onClick"])):p("",!0),o(C,{disabled:e.isFetchingWav,onClick:V=>e.handleWavDownload(u)},{default:a(()=>[s("div",ws,[e.isFetchingWav?(r(),v(h,{key:0,class:"is-loading mr-2"},{default:a(()=>[o($)]),_:1})):p("",!0),s("span",null,i(e.$t("producer.button.download_wav")),1)])]),_:1},8,["disabled","onClick"])]),_:2},1024)]),default:a(()=>[s("span",bs,[o(P,{effect:"dark",content:e.$t("producer.button.download"),placement:"top"},{default:a(()=>[u?.audio_url||u?.video_url?(r(),v(_,{key:0,icon:"fa-solid fa-download",class:"icon icon-download"})):p("",!0)]),_:2},1032,["content"])])]),_:2},1024),o(R,null,{dropdown:a(()=>[o(z,null,{default:a(()=>[u?.audio_url?(r(),v(C,{key:0,onClick:E(V=>e.onExtend(V,u),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.extend")),1)]),_:1},8,["onClick"])):p("",!0),u.id?(r(),v(C,{key:1,onClick:E(V=>e.onGetStems(u.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.get_stems")),1)]),_:1},8,["onClick"])):p("",!0),u.id?(r(),v(C,{key:2,onClick:E(V=>e.onGetAllStems(u.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.all_stems")),1)]),_:1},8,["onClick"])):p("",!0),o(C,{onClick:E(V=>e.onCover(u),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.cover_music")),1)]),_:1},8,["onClick"]),u?.id?(r(),v(C,{key:3,onClick:E(V=>e.onVariation(u),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.variation")),1)]),_:1},8,["onClick"])):p("",!0),u?.id?(r(),v(C,{key:4,onClick:E(V=>e.onSwapVocals(u.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.swap_vocals")),1)]),_:1},8,["onClick"])):p("",!0),u?.id?(r(),v(C,{key:5,onClick:E(V=>e.onSwapInstrumentals(u.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.swap_instrumentals")),1)]),_:1},8,["onClick"])):p("",!0),u?.id?(r(),v(C,{key:6,onClick:E(V=>e.onReplaceSection(u),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.replace_section")),1)]),_:1},8,["onClick"])):p("",!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",Cs,[o(P,{effect:"dark",content:e.$t("producer.button.more"),placement:"top"},{default:a(()=>[u?.audio_url||u?.video_url?(r(),v(_,{key:0,icon:"fa-solid fa-ellipsis",class:"icon icon-ellipsis"})):p("",!0)]),_:2},1032,["content"])])]),_:2},1024)])],8,ps))),128)),o(O,{visible:e.apiCodeVisible,"onUpdate:visible":t[0]||(t[0]=u=>e.apiCodeVisible=u),method:"POST",path:e.apiCodePath,body:e.apiCodeBody,token:e.$store.state.producer?.credential?.token||""},null,8,["visible","path","body","token"])])}const Ss=U(cs,[["render",Vs]]),Us=S({name:"RecentPanel",components:{ElSkeletonItem:Ge,ElSkeleton:Le,TaskPreview:Ss,Player:ke,NoTasks:ye,ScrollList:pe},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?.()}}}),Ps={key:0,class:"tasks"},Es={class:"left w-[70px] p-[10px] flex items-center"},As={class:"main w-[calc(100%-70px)] flex-1 p-[10px]"},Ts={key:2,class:"w-full flex-1 flex items-center justify-center"},Fs={class:"h-20"};function Is(e,t,m,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",Ps,[(r(),c(I,null,j(3,$=>s("div",{key:$,class:"flex"},[s("div",Es,[o(f,{animated:""},{template:a(()=>[o(d,{variant:"image",class:"avatar w-[50px] h-[50px]"})]),_:1})]),s("div",As,[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"])):p("",!0),e.tasks?.items?.length===0?(r(),c("div",Ts,[o(_)])):p("",!0),G(s("div",Fs,[o(P,{namespace:"producer"})],512),[[ne,!!e.$store?.state?.producer?.audio?.object]])],64)}const Ls=U(Us,[["render",Is]]),Gs=S({name:"TaskPreview",components:{IconPicture:ae,ElImage:D,ElAvatar:De,ElIcon:M},computed:{audio(){return this.$store.state.producer?.audio}}}),Ds={key:0,class:"size-full overflow-hidden"},zs={class:"relative h-[300px]"},Rs={class:"flex items-center justify-center size-full bg-[var(--el-bg-color)]"},Zs={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"},js={class:"p-4"},Ns={class:"flex items-center font-bold mb-2"},Bs={class:"text-[var(--el-text-color-regular)] mb-2"},Ms={class:"text-xs text-[var(--el-text-color-regular)]"},qs={class:"mt-4 text-sm leading-[25px] whitespace-pre-wrap"},Os={key:1,class:"w-full h-full"};function Ws(e,t,m,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",Ds,[s("div",zs,[o(h,{src:e.audio.image_url,fit:"cover",class:"size-full"},{error:a(()=>[s("div",Rs,[o(f,{class:"text-3xl"},{default:a(()=>[o(d)]),_:1})])]),_:1},8,["src"]),s("h2",Zs,i(e.audio?.title),1)]),s("div",js,[s("div",Ns,[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",Bs,i(e.audio?.style),1),s("p",Ms,i(e.$dayjs.format(e.audio?.created_at)),1),s("div",qs,[s("p",null,i(e.audio?.lyric),1)])])])):(r(),c("div",Os))}const Hs=U(Gs,[["render",Ws]]),Ks=x("producer"),Js=S({name:"ProducerIndex",components:{Layout:Me,ConfigPanel:ls,RecentPanel:Ls,PreviewPanel:Hs},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 me({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:m,createdAtMax:l}=e||{};console.debug("limit",t,"createdAtMin",m,"createdAtMax",l),this.fetchingTasks=!0;try{await this.$store.dispatch("producer/getTasks",{limit:t,createdAtMin:m,createdAtMax:l})}finally{this.fetchingTasks=!1}},async onGenerateAudio(){const e={...this.config,callback_url:Ks},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(m=>{k.error(m?.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 Ys(e,t,m,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 er=U(Js,[["render",Ys],["__scopeId","data-v-d6806962"]]);export{er as default};
@@ -1 +1 @@
1
- import{F as C}from"./index.es-DkaS06k9.js";import{E as P}from"./index-BIYITIcQ.js";import{E as L}from"./index-C7mr_FlY.js";import{d as v,H as i,E as r,z as A,C as s,y as c,D as n,q as o,F as a,I as _,O as I,N as T,x as S,Q as E,c as U,J as $}from"./vendor-vue-NSDaktjZ.js";import{H as b,bp as D,cs as z,bg as B,o as M,S as V,ct as O}from"./index-BYllLVr5.js";import{p as j}from"./pasteUploadMixin-BurWbGNQ.js";import{I as q,S as F,l as N}from"./pagination-DMcg_VSJ.js";import{I as H}from"./ImagePreview-EvK72jMd.js";import{E as J}from"./index-hO1QjxiB.js";import{E as w}from"./index-B9C3QmXP.js";import{a as Q,E as W}from"./index-agKHxhiT.js";import{E as G}from"./index-byRx5hf4.js";import{E as K,a as X}from"./index-BMrzZEO4.js";import{b as Y,a as Z}from"./errorCode-Cqj9Td_Z.js";import{A as x}from"./Status-BXBFWSlB.js";import{C as ee}from"./CopyToClipboard-DYhphNXQ.js";import{A as se}from"./ApiCodeButton-CkYl1m8R.js";import{E as te}from"./index-DIv7I-iE.js";import{E as oe,a as ae}from"./index-C7McF3Oe.js";import"./use-form-item-DE6wXJCu.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./index-BEQGtLAt.js";import"./index-3EWFx-Vj.js";import"./typescript-Bxp48IAw.js";import"./highlight-Vc3jp7ut.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-CBxkbXoj.js";import"./_baseClone-DNu4QAe9.js";import"./_Uint8Array-BzP45VD9.js";import"./_initCloneObject-C0YmUjML.js";import"./isEqual-CTU2BQwF.js";import"./debounce-je8R6qMJ.js";import"./index-CaGN2hWU.js";import"./strings-beZM2Y-f.js";import"./isPlainObject-CT9W9CoU.js";const ne=v({name:"LayoutHeadshots",components:{ElDrawer:L,ElButton:P,FontAwesomeIcon:C},data(){return{drawer:!1}}}),ie={class:"main flex flex-row flex-1"},le={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},re={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ce(e,t,u,f,k,y){const d=n("font-awesome-icon"),g=n("el-button"),p=n("el-drawer");return o(),i("div",ie,[r("div",le,[A(e.$slots,"config",{},void 0,!0)]),r("div",re,[A(e.$slots,"result",{},void 0,!0)]),s(g,{circle:"",class:"menu",onClick:t[0]||(t[0]=l=>e.drawer=!0)},{default:c(()=>[s(d,{icon:"fa-solid fa-gear"})]),_:1}),s(p,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=l=>e.drawer=l),"with-header":!1,size:"340px",class:"drawer"},{default:c(()=>[A(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const de=b(ne,[["render",ce],["__scopeId","data-v-ada6b2d1"]]),pe=v({name:"ImageUrlsInput",components:{ElUpload:J,ElButton:P,InfoIcon:q,ImagePreview:H,FontAwesomeIcon:C},mixins:[j],data(){return{fileList:[],uploadUrl:D()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.headshots?.config?.image_urls},set(){const e=this.urls;this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,image_urls:e})}}},mounted(){this.value||(this.value=void 0),this.onSetImageUrls()},methods:{onExceed(){w.warning(this.$t("headshots.message.uploadImageExceed"))},onError(){w.error(this.$t("headshots.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,image_urls:e})},async onSuccess(){this.onSetImageUrls()}}}),me={class:"field"},ue={class:"title font-bold"},he={class:"upload-wrapper"};function fe(e,t,u,f,k,y){const d=n("image-preview"),g=n("font-awesome-icon"),p=n("el-button"),l=n("el-upload"),m=n("info-icon");return o(),i("div",me,[r("h2",ue,a(e.$t("headshots.name.endImageUrls")),1),r("div",he,[s(l,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=h=>e.fileList=h),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value upload-wrapper",limit:2,multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:h})=>[s(d,{url:h.url||h.response?.file_url,name:h.name,percentage:h.percentage,onRemove:R=>e.fileList.splice(e.fileList.indexOf(h),1)},null,8,["url","name","percentage","onRemove"])]),default:c(()=>[s(p,{size:"small",type:"primary",round:""},{default:c(()=>[s(g,{icon:"fa-solid fa-upload",class:"mr-1"}),_(" "+a(e.$t("headshots.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])]),s(m,{content:e.$t("headshots.description.endImageUrls"),class:"info"},null,8,["content"])])}const ge=b(pe,[["render",fe],["__scopeId","data-v-ca56051e"]]),_e="fast",$e=v({name:"ModeSelector",components:{ElRadioButton:W,ElRadioGroup:Q},data(){return{options:[{label:this.$t("headshots.button.fast"),value:"fast"},{label:this.$t("headshots.button.relax"),value:"relax"}]}},computed:{value:{get(){return this.$store.state.headshots.config?.mode},set(e){console.debug("set mode",e),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots.config,mode:e})}}},mounted(){this.value||(this.value=_e)}}),ve={class:"field"},be={class:"title font-bold"};function ke(e,t,u,f,k,y){const d=n("el-radio-button"),g=n("el-radio-group");return o(),i("div",ve,[r("h2",be,a(e.$t("headshots.name.mode")),1),s(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=p=>e.value=p),class:"mode"},{default:c(()=>[(o(!0),i(I,null,T(e.options,p=>(o(),S(d,{key:p.value,label:p.value},{default:c(()=>[_(a(p.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const ye=b($e,[["render",ke],["__scopeId","data-v-e7702494"]]),we=v({name:"StylizeSelector",components:{ElTabs:X,ElTabPane:K,ElImage:G},data(){return{tab:"styles",value:"",elements:{styles:{displayName:this.$t("headshots.styleCategory.styles"),items:[{image:"https://static.aipedias.com/aicamera/common/20241008/20241008202314260779439.png",label:this.$t("headshots.styleTag.malePportrait"),value:"male_portrait"},{image:"https://static.aipedias.com/aicamera/common/20241008/202410082022241e9755548.png",label:this.$t("headshots.styleTag.malePportrait2"),value:"male_portrait2"},{image:"https://static.aipedias.com/aicamera/common/20241101/20241101170130d78f66521.png",label:this.$t("headshots.styleTag.kindergarten"),value:"kindergarten"},{image:"https://static.aipedias.com/aicamera/common/20240923/20240923123233accf60398.webp",label:this.$t("headshots.styleTag.logoTshirt"),value:"logo_tshirt"},{image:"https://static.aipedias.com/aicamera/common/20241025/202410252012329472d0656.jpg",label:this.$t("headshots.styleTag.wedding"),value:"wedding"},{image:"https://static.aipedias.com/aicamera/common/20240915/20240915145045254931400.webp",label:this.$t("headshots.styleTag.businessPphoto"),value:"business_photo"},{image:"https://static.aipedias.com/aicamera/common/20240810/20240810194526040341795.jpg",label:this.$t("headshots.styleTag.bobSuit"),value:"bob_suit"},{image:"https://static.aipedias.com/aicamera/common/20240717/20240717152654e0b348173.webp",label:this.$t("headshots.styleTag.femalePortrait"),value:"female_portrait"}]}}}},watch:{value(e){console.debug("set template",e),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:e})}},mounted(){this.value||(this.value=""),console.debug("set template",this.value),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:this.value})},methods:{onToggle(e){this.value===e?this.value="":this.value=e,console.debug("set template",this.value),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:this.value})}}}),Ie={class:"field"},Te=["onClick"],Ee={class:"name"};function Se(e,t,u,f,k,y){const d=n("el-image"),g=n("el-tab-pane"),p=n("el-tabs");return o(),i("div",Ie,[s(p,{modelValue:e.tab,"onUpdate:modelValue":t[0]||(t[0]=l=>e.tab=l)},{default:c(()=>[(o(!0),i(I,null,T(e.elements,(l,m)=>(o(),S(g,{key:m,label:l.displayName,name:m,class:"pane"},{default:c(()=>[(o(!0),i(I,null,T(l.items,(h,R)=>(o(),i("div",{key:R,class:E({item:!0,active:e.value===h.value}),onClick:Is=>e.onToggle(h.value)},[s(d,{src:h.image,fit:"fill",class:"preview"},null,8,["src"]),r("span",Ee,a(h.label),1)],10,Te))),128))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])])}const Ve=b(we,[["render",Se],["__scopeId","data-v-be4bd25d"]]),Ce=v({name:"PresetPanel",components:{ModeSelector:ye,ImageUrlsInput:ge,ElButton:P,FontAwesomeIcon:C,ElementsSelector:Ve},emits:["generate"],computed:{config(){return this.$store.state.headshots?.config}},methods:{onGenerate(){this.$emit("generate")}}}),Ae={class:"panel"},Pe={class:"config"},Re={class:"actions"};function Ge(e,t,u,f,k,y){const d=n("elements-selector"),g=n("mode-selector"),p=n("image-urls-input"),l=n("font-awesome-icon"),m=n("el-button");return o(),i("div",Ae,[r("div",Pe,[s(d,{class:"mb-4"}),s(g,{class:"mb-4"}),s(p,{class:"mb-4"}),r("div",Re,[s(m,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[s(l,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+a(e.$t("headshots.button.generate")),1)]),_:1},8,["onClick"])])])])}const Le=b(Ce,[["render",Ge],["__scopeId","data-v-848739f6"]]),Ue=v({name:"ImageGallery",props:{modelValue:{type:Object,required:!0}},setup(e){return{images:U(()=>e.modelValue?.response?.data?.slice(0,2)||[]),viewImage:f=>{window.open(f,"_blank")}}}}),De={class:"image-gallery"},ze=["src"],Be=["onClick"];function Me(e,t,u,f,k,y){return o(),i("div",De,[(o(!0),i(I,null,T(e.images,(d,g)=>(o(),i("div",{key:g,class:"image-container"},[r("img",{src:d.image_url,alt:"Image"},null,8,ze),d.image_url?(o(),i("button",{key:0,class:"view-button",onClick:p=>e.viewImage(d.image_url)},a(e.$t("headshots.button.viewImage")),9,Be)):$("",!0)]))),128))])}const Oe=b(Ue,[["render",Me],["__scopeId","data-v-42f0a7be"]]),je=v({name:"TaskPreview",components:{ElImage:G,CopyToClipboard:ee,FontAwesomeIcon:C,ElAlert:te,ImageGallery:Oe,ApiCodeButton:se},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.headshots?.application},config(){return this.$store.state.headshots?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onReload(e){const t=e.target,u=new URL(t.src),f=u.searchParams.get("retry");if(!f)u.searchParams.set("retry","1");else if(parseInt(f)<2)u.searchParams.set("retry",(parseInt(f)+1).toString());else return;t.src=u.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),qe={class:"preview"},Fe={class:"left"},Ne={class:"main"},He={class:"bot"},Je={class:"datetime"},Qe={class:"info"},We={key:0,class:"prompt mt-2"},Ke={key:0},Xe={key:1},Ye={key:0,class:E({content:!0,failed:!0})},Ze={class:"image-wrapper"},xe={class:E({operations:!0,"mt-2":!0,"mb-2":!0})},es={class:"description"},ss={key:0,class:"description"},ts={key:1,class:E({content:!0})},os={class:"description"},as={class:"description"},ns={key:0,class:"description"},is={class:"description"},ls={key:2,class:E({content:!0})},rs={class:"description"},cs={key:3,class:E({content:!0})},ds={class:"description"};function ps(e,t,u,f,k,y){const d=n("el-image"),g=n("image-gallery"),p=n("api-code-button"),l=n("font-awesome-icon"),m=n("copy-to-clipboard"),h=n("el-alert");return o(),i("div",qe,[r("div",Fe,[s(d,{src:"https://cdn.acedata.cloud/isxyfw.png",class:"avatar"})]),r("div",Ne,[r("div",He,[_(a(e.$t("headshots.name.headshotsBot"))+" ",1),r("span",Je,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",Qe,[e.modelValue?.request?.template?(o(),i("p",We,[_(a(e.modelValue?.request?.template)+" ",1),e.modelValue?.response?$("",!0):(o(),i("span",Ke," - ("+a(e.$t("headshots.status.pending"))+") ",1)),e.modelValue?.response?.status==="unknown"?(o(),i("span",Xe," - ("+a(e.$t("headshots.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0?(o(),i("div",Ye,[r("div",Ze,[s(g,{"model-value":e.modelValue},null,8,["model-value"])]),r("div",xe,[s(p,{path:"/headshots/images",body:e.modelValue?.request},null,8,["body"])]),s(h,{closable:!1,class:"mt-2 success"},{default:c(()=>[r("p",es,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+a(e.$t("headshots.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),s(m,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(o(),i("p",ss,[s(l,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+a(e.$t("headshots.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(o(),i("div",ts,[s(h,{closable:!1,class:"failure"},{template:c(()=>[s(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+a(e.$t("headshots.name.failure")),1)]),default:c(()=>[r("p",os,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+a(e.$t("headshots.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),s(m,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),r("p",as,[s(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+a(e.$t("headshots.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),s(m,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(o(),i("p",ns,[s(l,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+a(e.$t("headshots.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0),r("p",is,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+a(e.$t("headshots.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),s(m,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?$("",!0):(o(),i("div",ls,[s(h,{closable:!1,class:"info"},{template:c(()=>[s(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+a(e.$t("headshots.name.failure")),1)]),default:c(()=>[r("p",rs,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+a(e.$t("headshots.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),s(m,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])),e.modelValue?.response?.status==="unknown"?(o(),i("div",cs,[s(h,{closable:!1,class:"info"},{template:c(()=>[s(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+a(e.$t("headshots.name.failure")),1)]),default:c(()=>[r("p",ds,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+a(e.$t("headshots.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),s(m,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0)])])}const ms=b(je,[["render",ps],["__scopeId","data-v-2a8bf9e8"]]),us=v({name:"RecentPanel",components:{TaskPreview:ms,ElSkeleton:ae,ElSkeletonItem:oe,ScrollList:F},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.headshots?.tasks,items:this.$store.state.headshots?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),hs={key:0,class:"tasks"},fs={class:"left"},gs={class:"main"},_s={key:1,class:"tasks"},$s={key:2,class:"description"};function vs(e,t,u,f,k,y){const d=n("el-skeleton-item"),g=n("el-skeleton"),p=n("task-preview"),l=n("scroll-list");return o(),S(l,{ref:"scrollList",class:"panel recent",loading:e.loading,onReachTop:t[0]||(t[0]=m=>e.$emit("reach-top"))},{default:c(()=>[e.tasks?.items===void 0?(o(),i("div",hs,[(o(),i(I,null,T(3,m=>r("div",{key:m,class:"task placeholder"},[r("div",fs,[s(g,{animated:""},{template:c(()=>[s(d,{variant:"image",class:"avatar"})]),_:1})]),r("div",gs,[s(g,{animated:""},{template:c(()=>[s(d,{variant:"p",class:"title"}),s(d,{variant:"image",class:"icon"})]),_:1})])])),64))])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(o(),i("div",_s,[(o(!0),i(I,null,T(e.tasks?.items,(m,h)=>(o(),S(p,{key:h,"model-value":m,class:"preview"},null,8,["model-value"]))),128))])):$("",!0),e.tasks?.items?.length===0?(o(),i("p",$s,a(e.$t("headshots.message.noTasks")),1)):$("",!0)]),_:1},8,["loading"])}const bs=b(us,[["render",vs],["__scopeId","data-v-ffd55c16"]]),ks=O("headshots"),ys=v({name:"HeadshotsIndex",components:{ConfigPanel:Le,Layout:de,ApplicationStatus:x,RecentPanel:bs},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.headshots?.status?.getApplications===V.Request},tasksLoading(){return this.$store.state.headshots?.status?.getTasks===V.Request||this.fetchingTasks},service(){return this.$store.state.headshots.service},credential(){return this.$store.state.headshots.credential},config(){return this.$store.state.headshots.config},initializing(){return this.$store.state.headshots.status.getApplications===V.Request},needApply(){return this.$store.state.headshots.status.getApplications===V.Success&&!this.application},application(){return this.$store.state.headshots.application},applications(){return this.$store.state.headshots.applications},tasks(){return this.$store.state.headshots.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await N({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("headshots/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("headshots/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){M.create({application:this.application}).then(({data:e})=>{this.application=e,w.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===Z&&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:t=5,createdAtMin:u,createdAtMax:f}=e||{};console.debug("limit",t,"createdAtMin",u,"createdAtMax",f),this.fetchingTasks=!0;try{await this.$store.dispatch("headshots/getTasks",{limit:t,createdAtMin:u,createdAtMax:f})}finally{this.fetchingTasks=!1}},async onGeneratePicture(){const e={...this.config,callback_url:ks},t=this.credential?.token;if(!t){console.error("no token specified");return}w.info(this.$t("headshots.message.startingTask")),z("headshots",B.generate(e,{token:t})).then(()=>{w.success(this.$t("headshots.message.startTaskSuccess")),this.$store.commit("headshots/setConfig",{config:void 0})}).catch(u=>{u?.response?.data?.error?.code===Y?w.error(this.$t("headshots.message.usedUp")):w.error(this.$t("headshots.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ws(e,t,u,f,k,y){const d=n("config-panel"),g=n("application-status"),p=n("recent-panel"),l=n("layout");return o(),S(l,null,{config:c(()=>[s(d,{onGenerate:e.onGeneratePicture},null,8,["onGenerate"])]),result:c(()=>[s(g,{initializing:e.initializing,application:e.application,applications:e.applications,service:e.service,"need-apply":e.needApply,class:"mb-4",onRefresh:e.onGetApplication,onSelect:t[0]||(t[0]=m=>e.$store.dispatch("headshots/setApplication",m))},null,8,["initializing","application","applications","service","need-apply","onRefresh"]),s(p,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const dt=b(ys,[["render",ws],["__scopeId","data-v-0af228d8"]]);export{dt as default};
1
+ import{F as C}from"./index.es-BeLOywfI.js";import{E as P}from"./index-BY9FLlvx.js";import{E as L}from"./index-DGVR6QBZ.js";import{d as v,H as i,E as r,z as A,C as s,y as c,D as n,q as o,F as a,I as _,O as I,N as T,x as S,Q as E,c as U,J as $}from"./vendor-vue-NSDaktjZ.js";import{H as b,bp as D,cs as z,bg as B,o as M,S as V,ct as O}from"./index-DiSidSvU.js";import{p as j}from"./pasteUploadMixin-BurWbGNQ.js";import{I as q,S as F,l as N}from"./pagination-BQ6ALt71.js";import{I as H}from"./ImagePreview-DXG-cniF.js";import{E as J}from"./index-DxWfjb_C.js";import{E as w}from"./index-ByWnkv1G.js";import{a as Q,E as W}from"./index-BQqSBNTv.js";import{E as G}from"./index-BcB_-lzn.js";import{E as K,a as X}from"./index-DY86lbEX.js";import{b as Y,a as Z}from"./errorCode-Cqj9Td_Z.js";import{A as x}from"./Status-C2fT2DDm.js";import{C as ee}from"./CopyToClipboard-wxqTxzCB.js";import{A as se}from"./ApiCodeButton-dD8o0Cnu.js";import{E as te}from"./index-D3m1f5QC.js";import{E as oe,a as ae}from"./index-1ILjlG8L.js";import"./use-form-item-D7ZQ0uNO.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./index-DlrvZGBU.js";import"./index-D84FynKl.js";import"./typescript-BkLdnbkx.js";import"./highlight-BKO0nM6d.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-C0T1mBSZ.js";import"./_baseClone-CQPgJfCg.js";import"./_Uint8Array-C9GurXZS.js";import"./_initCloneObject-DwJv9kbk.js";import"./isEqual-Bit6excc.js";import"./debounce-p4kYWNVH.js";import"./index-ZPlTL2pP.js";import"./strings-beZM2Y-f.js";import"./isPlainObject-i9qOcW_m.js";const ne=v({name:"LayoutHeadshots",components:{ElDrawer:L,ElButton:P,FontAwesomeIcon:C},data(){return{drawer:!1}}}),ie={class:"main flex flex-row flex-1"},le={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},re={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ce(e,t,u,f,k,y){const d=n("font-awesome-icon"),g=n("el-button"),p=n("el-drawer");return o(),i("div",ie,[r("div",le,[A(e.$slots,"config",{},void 0,!0)]),r("div",re,[A(e.$slots,"result",{},void 0,!0)]),s(g,{circle:"",class:"menu",onClick:t[0]||(t[0]=l=>e.drawer=!0)},{default:c(()=>[s(d,{icon:"fa-solid fa-gear"})]),_:1}),s(p,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=l=>e.drawer=l),"with-header":!1,size:"340px",class:"drawer"},{default:c(()=>[A(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const de=b(ne,[["render",ce],["__scopeId","data-v-ada6b2d1"]]),pe=v({name:"ImageUrlsInput",components:{ElUpload:J,ElButton:P,InfoIcon:q,ImagePreview:H,FontAwesomeIcon:C},mixins:[j],data(){return{fileList:[],uploadUrl:D()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.headshots?.config?.image_urls},set(){const e=this.urls;this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,image_urls:e})}}},mounted(){this.value||(this.value=void 0),this.onSetImageUrls()},methods:{onExceed(){w.warning(this.$t("headshots.message.uploadImageExceed"))},onError(){w.error(this.$t("headshots.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,image_urls:e})},async onSuccess(){this.onSetImageUrls()}}}),me={class:"field"},ue={class:"title font-bold"},he={class:"upload-wrapper"};function fe(e,t,u,f,k,y){const d=n("image-preview"),g=n("font-awesome-icon"),p=n("el-button"),l=n("el-upload"),m=n("info-icon");return o(),i("div",me,[r("h2",ue,a(e.$t("headshots.name.endImageUrls")),1),r("div",he,[s(l,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=h=>e.fileList=h),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value upload-wrapper",limit:2,multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:h})=>[s(d,{url:h.url||h.response?.file_url,name:h.name,percentage:h.percentage,onRemove:R=>e.fileList.splice(e.fileList.indexOf(h),1)},null,8,["url","name","percentage","onRemove"])]),default:c(()=>[s(p,{size:"small",type:"primary",round:""},{default:c(()=>[s(g,{icon:"fa-solid fa-upload",class:"mr-1"}),_(" "+a(e.$t("headshots.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])]),s(m,{content:e.$t("headshots.description.endImageUrls"),class:"info"},null,8,["content"])])}const ge=b(pe,[["render",fe],["__scopeId","data-v-ca56051e"]]),_e="fast",$e=v({name:"ModeSelector",components:{ElRadioButton:W,ElRadioGroup:Q},data(){return{options:[{label:this.$t("headshots.button.fast"),value:"fast"},{label:this.$t("headshots.button.relax"),value:"relax"}]}},computed:{value:{get(){return this.$store.state.headshots.config?.mode},set(e){console.debug("set mode",e),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots.config,mode:e})}}},mounted(){this.value||(this.value=_e)}}),ve={class:"field"},be={class:"title font-bold"};function ke(e,t,u,f,k,y){const d=n("el-radio-button"),g=n("el-radio-group");return o(),i("div",ve,[r("h2",be,a(e.$t("headshots.name.mode")),1),s(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=p=>e.value=p),class:"mode"},{default:c(()=>[(o(!0),i(I,null,T(e.options,p=>(o(),S(d,{key:p.value,label:p.value},{default:c(()=>[_(a(p.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const ye=b($e,[["render",ke],["__scopeId","data-v-e7702494"]]),we=v({name:"StylizeSelector",components:{ElTabs:X,ElTabPane:K,ElImage:G},data(){return{tab:"styles",value:"",elements:{styles:{displayName:this.$t("headshots.styleCategory.styles"),items:[{image:"https://static.aipedias.com/aicamera/common/20241008/20241008202314260779439.png",label:this.$t("headshots.styleTag.malePportrait"),value:"male_portrait"},{image:"https://static.aipedias.com/aicamera/common/20241008/202410082022241e9755548.png",label:this.$t("headshots.styleTag.malePportrait2"),value:"male_portrait2"},{image:"https://static.aipedias.com/aicamera/common/20241101/20241101170130d78f66521.png",label:this.$t("headshots.styleTag.kindergarten"),value:"kindergarten"},{image:"https://static.aipedias.com/aicamera/common/20240923/20240923123233accf60398.webp",label:this.$t("headshots.styleTag.logoTshirt"),value:"logo_tshirt"},{image:"https://static.aipedias.com/aicamera/common/20241025/202410252012329472d0656.jpg",label:this.$t("headshots.styleTag.wedding"),value:"wedding"},{image:"https://static.aipedias.com/aicamera/common/20240915/20240915145045254931400.webp",label:this.$t("headshots.styleTag.businessPphoto"),value:"business_photo"},{image:"https://static.aipedias.com/aicamera/common/20240810/20240810194526040341795.jpg",label:this.$t("headshots.styleTag.bobSuit"),value:"bob_suit"},{image:"https://static.aipedias.com/aicamera/common/20240717/20240717152654e0b348173.webp",label:this.$t("headshots.styleTag.femalePortrait"),value:"female_portrait"}]}}}},watch:{value(e){console.debug("set template",e),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:e})}},mounted(){this.value||(this.value=""),console.debug("set template",this.value),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:this.value})},methods:{onToggle(e){this.value===e?this.value="":this.value=e,console.debug("set template",this.value),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:this.value})}}}),Ie={class:"field"},Te=["onClick"],Ee={class:"name"};function Se(e,t,u,f,k,y){const d=n("el-image"),g=n("el-tab-pane"),p=n("el-tabs");return o(),i("div",Ie,[s(p,{modelValue:e.tab,"onUpdate:modelValue":t[0]||(t[0]=l=>e.tab=l)},{default:c(()=>[(o(!0),i(I,null,T(e.elements,(l,m)=>(o(),S(g,{key:m,label:l.displayName,name:m,class:"pane"},{default:c(()=>[(o(!0),i(I,null,T(l.items,(h,R)=>(o(),i("div",{key:R,class:E({item:!0,active:e.value===h.value}),onClick:Is=>e.onToggle(h.value)},[s(d,{src:h.image,fit:"fill",class:"preview"},null,8,["src"]),r("span",Ee,a(h.label),1)],10,Te))),128))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])])}const Ve=b(we,[["render",Se],["__scopeId","data-v-be4bd25d"]]),Ce=v({name:"PresetPanel",components:{ModeSelector:ye,ImageUrlsInput:ge,ElButton:P,FontAwesomeIcon:C,ElementsSelector:Ve},emits:["generate"],computed:{config(){return this.$store.state.headshots?.config}},methods:{onGenerate(){this.$emit("generate")}}}),Ae={class:"panel"},Pe={class:"config"},Re={class:"actions"};function Ge(e,t,u,f,k,y){const d=n("elements-selector"),g=n("mode-selector"),p=n("image-urls-input"),l=n("font-awesome-icon"),m=n("el-button");return o(),i("div",Ae,[r("div",Pe,[s(d,{class:"mb-4"}),s(g,{class:"mb-4"}),s(p,{class:"mb-4"}),r("div",Re,[s(m,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[s(l,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+a(e.$t("headshots.button.generate")),1)]),_:1},8,["onClick"])])])])}const Le=b(Ce,[["render",Ge],["__scopeId","data-v-848739f6"]]),Ue=v({name:"ImageGallery",props:{modelValue:{type:Object,required:!0}},setup(e){return{images:U(()=>e.modelValue?.response?.data?.slice(0,2)||[]),viewImage:f=>{window.open(f,"_blank")}}}}),De={class:"image-gallery"},ze=["src"],Be=["onClick"];function Me(e,t,u,f,k,y){return o(),i("div",De,[(o(!0),i(I,null,T(e.images,(d,g)=>(o(),i("div",{key:g,class:"image-container"},[r("img",{src:d.image_url,alt:"Image"},null,8,ze),d.image_url?(o(),i("button",{key:0,class:"view-button",onClick:p=>e.viewImage(d.image_url)},a(e.$t("headshots.button.viewImage")),9,Be)):$("",!0)]))),128))])}const Oe=b(Ue,[["render",Me],["__scopeId","data-v-42f0a7be"]]),je=v({name:"TaskPreview",components:{ElImage:G,CopyToClipboard:ee,FontAwesomeIcon:C,ElAlert:te,ImageGallery:Oe,ApiCodeButton:se},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.headshots?.application},config(){return this.$store.state.headshots?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onReload(e){const t=e.target,u=new URL(t.src),f=u.searchParams.get("retry");if(!f)u.searchParams.set("retry","1");else if(parseInt(f)<2)u.searchParams.set("retry",(parseInt(f)+1).toString());else return;t.src=u.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),qe={class:"preview"},Fe={class:"left"},Ne={class:"main"},He={class:"bot"},Je={class:"datetime"},Qe={class:"info"},We={key:0,class:"prompt mt-2"},Ke={key:0},Xe={key:1},Ye={key:0,class:E({content:!0,failed:!0})},Ze={class:"image-wrapper"},xe={class:E({operations:!0,"mt-2":!0,"mb-2":!0})},es={class:"description"},ss={key:0,class:"description"},ts={key:1,class:E({content:!0})},os={class:"description"},as={class:"description"},ns={key:0,class:"description"},is={class:"description"},ls={key:2,class:E({content:!0})},rs={class:"description"},cs={key:3,class:E({content:!0})},ds={class:"description"};function ps(e,t,u,f,k,y){const d=n("el-image"),g=n("image-gallery"),p=n("api-code-button"),l=n("font-awesome-icon"),m=n("copy-to-clipboard"),h=n("el-alert");return o(),i("div",qe,[r("div",Fe,[s(d,{src:"https://cdn.acedata.cloud/isxyfw.png",class:"avatar"})]),r("div",Ne,[r("div",He,[_(a(e.$t("headshots.name.headshotsBot"))+" ",1),r("span",Je,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",Qe,[e.modelValue?.request?.template?(o(),i("p",We,[_(a(e.modelValue?.request?.template)+" ",1),e.modelValue?.response?$("",!0):(o(),i("span",Ke," - ("+a(e.$t("headshots.status.pending"))+") ",1)),e.modelValue?.response?.status==="unknown"?(o(),i("span",Xe," - ("+a(e.$t("headshots.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0?(o(),i("div",Ye,[r("div",Ze,[s(g,{"model-value":e.modelValue},null,8,["model-value"])]),r("div",xe,[s(p,{path:"/headshots/images",body:e.modelValue?.request},null,8,["body"])]),s(h,{closable:!1,class:"mt-2 success"},{default:c(()=>[r("p",es,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+a(e.$t("headshots.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),s(m,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(o(),i("p",ss,[s(l,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+a(e.$t("headshots.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(o(),i("div",ts,[s(h,{closable:!1,class:"failure"},{template:c(()=>[s(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+a(e.$t("headshots.name.failure")),1)]),default:c(()=>[r("p",os,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+a(e.$t("headshots.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),s(m,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),r("p",as,[s(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+a(e.$t("headshots.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),s(m,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(o(),i("p",ns,[s(l,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+a(e.$t("headshots.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0),r("p",is,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+a(e.$t("headshots.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),s(m,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?$("",!0):(o(),i("div",ls,[s(h,{closable:!1,class:"info"},{template:c(()=>[s(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+a(e.$t("headshots.name.failure")),1)]),default:c(()=>[r("p",rs,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+a(e.$t("headshots.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),s(m,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])),e.modelValue?.response?.status==="unknown"?(o(),i("div",cs,[s(h,{closable:!1,class:"info"},{template:c(()=>[s(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+a(e.$t("headshots.name.failure")),1)]),default:c(()=>[r("p",ds,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+a(e.$t("headshots.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),s(m,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0)])])}const ms=b(je,[["render",ps],["__scopeId","data-v-2a8bf9e8"]]),us=v({name:"RecentPanel",components:{TaskPreview:ms,ElSkeleton:ae,ElSkeletonItem:oe,ScrollList:F},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.headshots?.tasks,items:this.$store.state.headshots?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),hs={key:0,class:"tasks"},fs={class:"left"},gs={class:"main"},_s={key:1,class:"tasks"},$s={key:2,class:"description"};function vs(e,t,u,f,k,y){const d=n("el-skeleton-item"),g=n("el-skeleton"),p=n("task-preview"),l=n("scroll-list");return o(),S(l,{ref:"scrollList",class:"panel recent",loading:e.loading,onReachTop:t[0]||(t[0]=m=>e.$emit("reach-top"))},{default:c(()=>[e.tasks?.items===void 0?(o(),i("div",hs,[(o(),i(I,null,T(3,m=>r("div",{key:m,class:"task placeholder"},[r("div",fs,[s(g,{animated:""},{template:c(()=>[s(d,{variant:"image",class:"avatar"})]),_:1})]),r("div",gs,[s(g,{animated:""},{template:c(()=>[s(d,{variant:"p",class:"title"}),s(d,{variant:"image",class:"icon"})]),_:1})])])),64))])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(o(),i("div",_s,[(o(!0),i(I,null,T(e.tasks?.items,(m,h)=>(o(),S(p,{key:h,"model-value":m,class:"preview"},null,8,["model-value"]))),128))])):$("",!0),e.tasks?.items?.length===0?(o(),i("p",$s,a(e.$t("headshots.message.noTasks")),1)):$("",!0)]),_:1},8,["loading"])}const bs=b(us,[["render",vs],["__scopeId","data-v-ffd55c16"]]),ks=O("headshots"),ys=v({name:"HeadshotsIndex",components:{ConfigPanel:Le,Layout:de,ApplicationStatus:x,RecentPanel:bs},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.headshots?.status?.getApplications===V.Request},tasksLoading(){return this.$store.state.headshots?.status?.getTasks===V.Request||this.fetchingTasks},service(){return this.$store.state.headshots.service},credential(){return this.$store.state.headshots.credential},config(){return this.$store.state.headshots.config},initializing(){return this.$store.state.headshots.status.getApplications===V.Request},needApply(){return this.$store.state.headshots.status.getApplications===V.Success&&!this.application},application(){return this.$store.state.headshots.application},applications(){return this.$store.state.headshots.applications},tasks(){return this.$store.state.headshots.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await N({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("headshots/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("headshots/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){M.create({application:this.application}).then(({data:e})=>{this.application=e,w.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===Z&&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:t=5,createdAtMin:u,createdAtMax:f}=e||{};console.debug("limit",t,"createdAtMin",u,"createdAtMax",f),this.fetchingTasks=!0;try{await this.$store.dispatch("headshots/getTasks",{limit:t,createdAtMin:u,createdAtMax:f})}finally{this.fetchingTasks=!1}},async onGeneratePicture(){const e={...this.config,callback_url:ks},t=this.credential?.token;if(!t){console.error("no token specified");return}w.info(this.$t("headshots.message.startingTask")),z("headshots",B.generate(e,{token:t})).then(()=>{w.success(this.$t("headshots.message.startTaskSuccess")),this.$store.commit("headshots/setConfig",{config:void 0})}).catch(u=>{u?.response?.data?.error?.code===Y?w.error(this.$t("headshots.message.usedUp")):w.error(this.$t("headshots.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ws(e,t,u,f,k,y){const d=n("config-panel"),g=n("application-status"),p=n("recent-panel"),l=n("layout");return o(),S(l,null,{config:c(()=>[s(d,{onGenerate:e.onGeneratePicture},null,8,["onGenerate"])]),result:c(()=>[s(g,{initializing:e.initializing,application:e.application,applications:e.applications,service:e.service,"need-apply":e.needApply,class:"mb-4",onRefresh:e.onGetApplication,onSelect:t[0]||(t[0]=m=>e.$store.dispatch("headshots/setApplication",m))},null,8,["initializing","application","applications","service","need-apply","onRefresh"]),s(p,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const dt=b(ys,[["render",ws],["__scopeId","data-v-0af228d8"]]);export{dt as default};