@acedatacloud/nexior 3.205.0 → 3.207.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 (283) hide show
  1. package/dist/assets/{Auth-Btt6pTzH.js → Auth-Dce920-R.js} +1 -1
  2. package/dist/assets/{BotPlaceholder-GbwaSlCU.js → BotPlaceholder-BZTrMT1c.js} +1 -1
  3. package/dist/assets/{Callback-6bnjihNg.js → Callback-BMjqPSwT.js} +1 -1
  4. package/dist/assets/{Console-Bn90NCY-.js → Console-C4D3R1ck.js} +1 -1
  5. package/dist/assets/{Consumption-u-UR3f-q.js → Consumption-tJVE5oXO.js} +1 -1
  6. package/dist/assets/{Conversation-B236gz7t.js → Conversation-CqsIS4eA.js} +1 -1
  7. package/dist/assets/{CopyToClipboard-D2Ga1c-u.js → CopyToClipboard-BthEHufq.js} +1 -1
  8. package/dist/assets/{Detail-oNEtAZgY.js → Detail-WTNxNgmJ.js} +2 -2
  9. package/dist/assets/{Extra-CMvAIjee.js → Extra-C-xZRZXJ.js} +1 -1
  10. package/dist/assets/{FilePreview-Yk89uJgC.js → FilePreview-19tiWMqq.js} +1 -1
  11. package/dist/assets/{History-DO_r5ZBS.js → History-Q0DrqZIg.js} +1 -1
  12. package/dist/assets/IconPark.vue_vue_type_script_setup_true_lang-CpAUocHI.js +1 -0
  13. package/dist/assets/{ImagePreview-D1oWKxPX.js → ImagePreview-CJP-yB4D.js} +1 -1
  14. package/dist/assets/{ImageWrapper-Dbzrv2-m.js → ImageWrapper-BBWjyl4X.js} +1 -1
  15. package/dist/assets/{Index-BU42x1W5.js → Index-3Fm2prBE.js} +1 -1
  16. package/dist/assets/{Index-B3FK7MLi.js → Index-9VLv8Mii.js} +1 -1
  17. package/dist/assets/{Index-A_818KJU.js → Index-B4MkRRvd.js} +1 -1
  18. package/dist/assets/{Index-D4esh723.js → Index-BALZObRM.js} +1 -1
  19. package/dist/assets/{Index-Dnhq1F1O.js → Index-BHQ2-n3q.js} +1 -1
  20. package/dist/assets/{Index-DFsyexVb.js → Index-BV1OjZBh.js} +1 -1
  21. package/dist/assets/{Index-zY-gqgEu.js → Index-B_oLeXIS.js} +1 -1
  22. package/dist/assets/{Index-maB8zCCx.js → Index-Bxun8G4k.js} +1 -1
  23. package/dist/assets/{Index-DQdtAMmP.js → Index-C3jOzeR8.js} +1 -1
  24. package/dist/assets/{Index-CANAzSKl.js → Index-CfbJEwPf.js} +1 -1
  25. package/dist/assets/{Index-qaq-7Ral.js → Index-CmsydDPC.js} +1 -1
  26. package/dist/assets/{Index-CMjs-Qul.js → Index-CwiBhoSK.js} +1 -1
  27. package/dist/assets/{Index-o_IsP2YJ.js → Index-CzfrNUJN.js} +1 -1
  28. package/dist/assets/{Index-CCt4FkN_.css → Index-D1p4IK9F.css} +1 -1
  29. package/dist/assets/{Index-CzYaOkvn.js → Index-D7Skgxbm.js} +1 -1
  30. package/dist/assets/{Index-Bog-6D8K.js → Index-DD0EHZ6s.js} +1 -1
  31. package/dist/assets/{Index-D3UpAz6H.js → Index-DIlbji30.js} +1 -1
  32. package/dist/assets/{Index-intZBKTu.js → Index-DNSZVt8d.js} +1 -1
  33. package/dist/assets/{Index-guCuU9Rs.js → Index-DYu-UVrx.js} +1 -1
  34. package/dist/assets/{Index-NrPbPLrH.js → Index-Df_3f5g9.js} +1 -1
  35. package/dist/assets/{Index-BA6dCZyp.js → Index-Fpq3jlhy.js} +1 -1
  36. package/dist/assets/{Index-CxTnIz2F.js → Index-pI_3O6FW.js} +1 -1
  37. package/dist/assets/{Index-BaHzFWAO.js → Index-sEfNwE6k.js} +1 -1
  38. package/dist/assets/{Index-DuSZYydg.js → Index-stgmagiE.js} +1 -1
  39. package/dist/assets/{Index-BEYXqwoX.js → Index-wlbCPr9q.js} +1 -1
  40. package/dist/assets/{Invitees-C80sJA3k.js → Invitees-CQ7RiHMG.js} +1 -1
  41. package/dist/assets/{List-I9SkQS_G.js → List-C5xUnQHw.js} +1 -1
  42. package/dist/assets/{List-BOh2SJ43.js → List-Cf1eN4n0.js} +1 -1
  43. package/dist/assets/{List-pzJh_k1y.js → List-EZ2xSsBF.js} +1 -1
  44. package/dist/assets/{Main-CRYuEUBO.js → Main-bqIl_fwV.js} +1 -1
  45. package/dist/assets/{Navigator-Dc6k1r-K.js → Navigator-DPxvQ9my.js} +1 -1
  46. package/dist/assets/{NoTasks-COwD2YRA.js → NoTasks-gaaOL_m7.js} +1 -1
  47. package/dist/assets/{NotFound-BMpwg9qq.js → NotFound-DZNa0j-I.js} +1 -1
  48. package/dist/assets/Pagination-DRjlL_dM.js +1 -0
  49. package/dist/assets/{Status-BYtt2-8H.js → Status-DzvbugyE.js} +1 -1
  50. package/dist/assets/{Subscribe-B8s-qAbr.js → Subscribe-BGO77YBo.js} +1 -1
  51. package/dist/assets/{VideoPlayer-BOBrupFS.js → VideoPlayer-Dn-EFbop.js} +1 -1
  52. package/dist/assets/{_Uint8Array-DiKiqj6b.js → _Uint8Array-BnVWNeHp.js} +1 -1
  53. package/dist/assets/{_baseClone-C7mAsPbg.js → _baseClone-Q0okPItx.js} +1 -1
  54. package/dist/assets/{_baseIteratee-CCcx0UCd.js → _baseIteratee-Bw61Z4Wx.js} +1 -1
  55. package/dist/assets/{_initCloneObject-DHUwupd_.js → _initCloneObject-DuLU5kHr.js} +1 -1
  56. package/dist/assets/{add-CSsqG6iy.js → add-BHJc9-Xi.js} +1 -1
  57. package/dist/assets/{all-wallets-1OJm3jva.js → all-wallets-BfC1-iuR.js} +1 -1
  58. package/dist/assets/{app-store-DwcBjzfw.js → app-store-Bn7LbjBW.js} +1 -1
  59. package/dist/assets/{apple-Capy_-dR.js → apple-BzgZCTUI.js} +1 -1
  60. package/dist/assets/{arrow-bottom-q2UE3M6K.js → arrow-bottom-B4m8T3u_.js} +1 -1
  61. package/dist/assets/{arrow-bottom-circle-jqUJnDqL.js → arrow-bottom-circle-BUTrvpis.js} +1 -1
  62. package/dist/assets/{arrow-left-CerC92Jn.js → arrow-left-BubUEC4-.js} +1 -1
  63. package/dist/assets/{arrow-right-sSGRyesI.js → arrow-right-B1FF85iL.js} +1 -1
  64. package/dist/assets/{arrow-top-CyE3s4u-.js → arrow-top-lPzDOg2G.js} +1 -1
  65. package/dist/assets/{avatar-DpWKzwfa.js → avatar-DojN-v8h.js} +1 -1
  66. package/dist/assets/{bank-5oUKAhup.js → bank-D-ejARzl.js} +1 -1
  67. package/dist/assets/{basic-CWywewhV.js → basic-DT6LkBVZ.js} +1 -1
  68. package/dist/assets/{browser-yYidcVNO.js → browser-Cww9lHqu.js} +1 -1
  69. package/dist/assets/{byokCredential-BcQvQTIB.js → byokCredential-DVQ4GuRL.js} +1 -1
  70. package/dist/assets/{card-DHXL-Qg2.js → card-BHHkstVg.js} +1 -1
  71. package/dist/assets/{castArray-DbfVevQg.js → castArray-CB5VORGs.js} +1 -1
  72. package/dist/assets/{chat-DoZXmsvM.js → chat-15L1iHYd.js} +1 -1
  73. package/dist/assets/{chat-BzleL_Uz.js → chat-BIGDz2U8.js} +1 -1
  74. package/dist/assets/{chat-D2m8gku0.js → chat-Bzz6VpI2.js} +1 -1
  75. package/dist/assets/{chat-CSNt1o-J.js → chat-C1Fov3VZ.js} +1 -1
  76. package/dist/assets/{chat-o7hynbrW.js → chat-CLbEuebR.js} +1 -1
  77. package/dist/assets/{chat-chnRJg4L.js → chat-CMe4j38Z.js} +1 -1
  78. package/dist/assets/{chat-IohVlXXK.js → chat-CPJzXDDq.js} +1 -1
  79. package/dist/assets/{chat-BnGvwufG.js → chat-CRMiyNWh.js} +1 -1
  80. package/dist/assets/{chat-BJaOxsfW.js → chat-C_QoPV7n.js} +1 -1
  81. package/dist/assets/{chat-z19dTmYH.js → chat-Cq5B3uAW.js} +1 -1
  82. package/dist/assets/{chat-BSG7BtPO.js → chat-CzBgIVjJ.js} +1 -1
  83. package/dist/assets/{chat-CcNcNOvq.js → chat-DLPgIxZs.js} +1 -1
  84. package/dist/assets/{chat-Bk4YS_XZ.js → chat-Db5jHkMr.js} +1 -1
  85. package/dist/assets/{chat-DcMaoanl.js → chat-DnTeHwdL.js} +1 -1
  86. package/dist/assets/{chat-DF8O2BE6.js → chat-GQ2lWN7D.js} +1 -1
  87. package/dist/assets/{chat-Cx5rbNLL.js → chat-J0zL9WVN.js} +1 -1
  88. package/dist/assets/{chat-DSivFUAE.js → chat-JNXCDzNu.js} +1 -1
  89. package/dist/assets/{chat-DKzVdvmc.js → chat-_8bK1SD2.js} +1 -1
  90. package/dist/assets/{chat-C3f_SV5W.js → chat-q7DMvyHC.js} +1 -1
  91. package/dist/assets/{checkmark-CRou_fdo.js → checkmark-BOJIqbkU.js} +1 -1
  92. package/dist/assets/{checkmark-bold--Izc2Ajz.js → checkmark-bold-AM2r6J2s.js} +1 -1
  93. package/dist/assets/{chevron-bottom-CZmGJFDf.js → chevron-bottom-B3LHjJJ3.js} +1 -1
  94. package/dist/assets/{chevron-left-HROvGwkU.js → chevron-left-o1oDm0g0.js} +1 -1
  95. package/dist/assets/{chevron-right-C9KoNV5n.js → chevron-right-BujYbnWr.js} +1 -1
  96. package/dist/assets/{chevron-top-DTdArReJ.js → chevron-top-DPGdnhlq.js} +1 -1
  97. package/dist/assets/{chrome-store-BoA_e9cR.js → chrome-store-B0C7Dvg3.js} +1 -1
  98. package/dist/assets/{clock-yRQK7DSS.js → clock-Dq90QgyH.js} +1 -1
  99. package/dist/assets/{close-BcIEenO0.js → close-Ddw43auG.js} +1 -1
  100. package/dist/assets/{coinPlaceholder-EORJQyP2.js → coinPlaceholder-BClGALbt.js} +1 -1
  101. package/dist/assets/{compass-f-RMWYy7.js → compass-j3x_JuF7.js} +1 -1
  102. package/dist/assets/{copy-Cn5Tw6Rm.js → copy-CoDaeoDy.js} +1 -1
  103. package/dist/assets/{createTaskActions-Slgod3XK.js → createTaskActions-Mbk9YPjO.js} +1 -1
  104. package/dist/assets/{cursor-Df5BNRuc.js → cursor-BUcjAEEw.js} +1 -1
  105. package/dist/assets/{cursor-transparent-DK7kEr72.js → cursor-transparent-C75fbcep.js} +1 -1
  106. package/dist/assets/{debounce-B-jn60n6.js → debounce-Bt9MZ6bV.js} +1 -1
  107. package/dist/assets/{desktop-C0WJURcd.js → desktop-B5niTzqq.js} +1 -1
  108. package/dist/assets/{disconnect-H9Q2ggqk.js → disconnect-CLvOZFae.js} +1 -1
  109. package/dist/assets/{discord-IeB0eQXY.js → discord-DG2H5efs.js} +1 -1
  110. package/dist/assets/{distribution-BtThzIIU.js → distribution-DJ7DtFet.js} +1 -1
  111. package/dist/assets/{dropdown-C7n2JFJ_.js → dropdown-DFq4J8nF.js} +1 -1
  112. package/dist/assets/{etherscan-DmPkk5ZH.js → etherscan-XsFEw09l.js} +1 -1
  113. package/dist/assets/{exclamation-triangle-CaSPxuc8.js → exclamation-triangle-Dvyl-cKA.js} +1 -1
  114. package/dist/assets/{extension-D_lQmWk_.js → extension-DbFHjx1L.js} +1 -1
  115. package/dist/assets/{external-link-BPp-vd1d.js → external-link-ChP60Cu4.js} +1 -1
  116. package/dist/assets/{facebook-DU8HW7fL.js → facebook-xJCj9izo.js} +1 -1
  117. package/dist/assets/{farcaster-BCDodja_.js → farcaster-DZq_Zkvf.js} +1 -1
  118. package/dist/assets/{filters-CAQNbjLT.js → filters-B5n92rN7.js} +1 -1
  119. package/dist/assets/{github-BRBavveb.js → github-gJJFFYif.js} +1 -1
  120. package/dist/assets/{google-BTV7MOZy.js → google-Cw8hP4bz.js} +1 -1
  121. package/dist/assets/{help-circle-CXPct6kV.js → help-circle-Dfvo07Ng.js} +1 -1
  122. package/dist/assets/{id-CWX0WcMk.js → id-D-i1S0fL.js} +1 -1
  123. package/dist/assets/{image-CEgaw_wF.js → image-DM3GT_fn.js} +1 -1
  124. package/dist/assets/{index-CC1GYYiO.js → index-5b5QT5kF.js} +1 -1
  125. package/dist/assets/{index-Bj_l3YE1.js → index-B3oq9DXF.js} +1 -1
  126. package/dist/assets/index-B6W1wPG_.js +1 -0
  127. package/dist/assets/index-B9EcsscT.js +1 -0
  128. package/dist/assets/{index-NKZy8Kup.js → index-BB9Q0vES.js} +1 -1
  129. package/dist/assets/{index-1ShHusMJ.js → index-BEOL0Xrj.js} +1 -1
  130. package/dist/assets/{index-8PxRxOr7.js → index-BHiGwdGq.js} +1 -1
  131. package/dist/assets/{index-BRkjZCA9.js → index-BHl7APJC.js} +1 -1
  132. package/dist/assets/{index-CfLu_-DC.js → index-BLB6heXB.js} +1 -1
  133. package/dist/assets/{index-BiY8NhQz.js → index-BQg-qW1C.js} +1 -1
  134. package/dist/assets/{index-jfd6yJXw.js → index-BY-fNnkK.js} +1 -1
  135. package/dist/assets/{index-KTCvYGRT.js → index-BZRCFjq5.js} +1 -1
  136. package/dist/assets/{index-BbSliDK4.js → index-BqF_vHYf.js} +1 -1
  137. package/dist/assets/{index-Czr8KjFL.js → index-BzVS_KLU.js} +1 -1
  138. package/dist/assets/{index-BxqWObY-.js → index-C9eoKJfs.js} +1 -1
  139. package/dist/assets/{index-CvXuDec2.js → index-CBIxq1Mn.js} +1 -1
  140. package/dist/assets/{index-vXv88WGu.js → index-CEsBfy8P.js} +1 -1
  141. package/dist/assets/{index-DEzoxp4P.js → index-CHmkar7W.js} +1 -1
  142. package/dist/assets/{index-BjCVlRvR.js → index-CLR-flkd.js} +2 -2
  143. package/dist/assets/index-CLxhDB-t.js +1 -0
  144. package/dist/assets/{index-AY_a57-2.js → index-CMCbURvj.js} +1 -1
  145. package/dist/assets/{index-DvAK66cN.js → index-CX13bdIk.js} +3 -3
  146. package/dist/assets/{index-CrrjzMcm.js → index-CXsMugBf.js} +1 -1
  147. package/dist/assets/index-CbbUfyeR.js +1 -0
  148. package/dist/assets/{index--wj6jIMm.js → index-Cd5Ej_f3.js} +1 -1
  149. package/dist/assets/{index-Dh9cN3MT.js → index-CfWyJXht.js} +1 -1
  150. package/dist/assets/{index-Fsk4KlF3.js → index-CfvQR26y.js} +1 -1
  151. package/dist/assets/{index-CL16wKMg.js → index-CiLcyhjJ.js} +1 -1
  152. package/dist/assets/{index-DK4DFfU5.js → index-ClwpIr_P.js} +1 -1
  153. package/dist/assets/{index-CrHljC3L.js → index-Cm0SnhY0.js} +1 -1
  154. package/dist/assets/{index-DDJccgho.js → index-CnhjD_2F.js} +14 -14
  155. package/dist/assets/{index-Barfweya.js → index-Co5T7YKQ.js} +1 -1
  156. package/dist/assets/{index-CkfWRF3i.js → index-CrH79zK9.js} +1 -1
  157. package/dist/assets/{index-tp_8uoOw.js → index-CvVK6L7k.js} +1 -1
  158. package/dist/assets/{index-DBQvlqm3.js → index-CwPjkJs4.js} +1 -1
  159. package/dist/assets/{index-DtUQgyoo.js → index-D1rl1ShF.js} +1 -1
  160. package/dist/assets/{index-BLpimmhu.js → index-D3aOatfx.js} +1 -1
  161. package/dist/assets/{index-B0Cwb-D-.js → index-D4eloMlC.js} +1 -1
  162. package/dist/assets/{index-jDtcXBDh.js → index-D7IaIK0w.js} +1 -1
  163. package/dist/assets/{index-D-SiG2bP.js → index-D7LXRPby.js} +1 -1
  164. package/dist/assets/{index-CJ8YZq-e.js → index-DFzC0rQH.js} +1 -1
  165. package/dist/assets/{index-B3rcDSvw.js → index-DM2bAVRX.js} +1 -1
  166. package/dist/assets/{index-BPk2ZoOA.js → index-DPq9Ww9N.js} +1 -1
  167. package/dist/assets/{index-DwdzCCvr.js → index-DUqJAZYu.js} +1 -1
  168. package/dist/assets/{index-D4Nfwhot.js → index-DXEiBbAN.js} +2 -2
  169. package/dist/assets/{index-DRml_940.js → index-DZ_0eneF.js} +1 -1
  170. package/dist/assets/{index-DhEXa3rl.js → index-DcsXEqCx.js} +5 -5
  171. package/dist/assets/{index-BXRm1Wkj.js → index-Dj0O4JQ-.js} +1 -1
  172. package/dist/assets/{index-CF3WiTXj.js → index-DjJwI7Q0.js} +1 -1
  173. package/dist/assets/index-DmYzMmpZ.js +1 -0
  174. package/dist/assets/{index-BezIKGY2.js → index-DpPoOWtb.js} +1 -1
  175. package/dist/assets/{index-CJU1rzzV.js → index-Du2B_Wxi.js} +1 -1
  176. package/dist/assets/{index-Db5A7UiS.js → index-Kc0m7PO-.js} +1 -1
  177. package/dist/assets/{index-CYNlas3C.js → index-NWO7ox7u.js} +2 -2
  178. package/dist/assets/{index-BRqmY-RG.css → index-TamUeM_6.css} +1 -1
  179. package/dist/assets/{index-CoxAL6cY.js → index-eG-nVdDk.js} +1 -1
  180. package/dist/assets/{index-DPTJ434_.js → index-hAESLnAe.js} +1 -1
  181. package/dist/assets/{index-E1-z9_FO.js → index-qUrXiTT8.js} +1 -1
  182. package/dist/assets/index-uim_HWNA.js +1 -0
  183. package/dist/assets/{index-BexlGeiF.js → index-ws34Ea3I.js} +1 -1
  184. package/dist/assets/{index-WR344acd.js → index-zgQkx08I.js} +1 -1
  185. package/dist/assets/{index.browser.esm-BL2Ey0-n.js → index.browser.esm-ByUOgEo_.js} +1 -1
  186. package/dist/assets/{index.es-rfDbxZpm.js → index.es-DN8G0P37.js} +1 -1
  187. package/dist/assets/{info-D2l7QzjY.js → info-CXP9N7Ey.js} +1 -1
  188. package/dist/assets/{info-circle-BxIOOm5L.js → info-circle-7IJbskr1.js} +1 -1
  189. package/dist/assets/{isEqual-CC5LQv_R.js → isEqual-DGVdfmbU.js} +1 -1
  190. package/dist/assets/{isPlainObject-CJWHXdHh.js → isPlainObject-C8-9-V_9.js} +1 -1
  191. package/dist/assets/{lightbulb-BSeFOGXJ.js → lightbulb-1OQ0mdcY.js} +1 -1
  192. package/dist/assets/{mail-DpqsFv2K.js → mail-DMAMEqQh.js} +1 -1
  193. package/dist/assets/{midjourney-l-1NrC29.js → midjourney-BwxG0zA1.js} +1 -1
  194. package/dist/assets/{mobile-Ds7c2ZWr.js → mobile-WNoGZhDV.js} +1 -1
  195. package/dist/assets/{more-C68tjgQk.js → more-CdeUEKOp.js} +1 -1
  196. package/dist/assets/{network-placeholder-CwtTGGhG.js → network-placeholder-DJBWa-A2.js} +1 -1
  197. package/dist/assets/{nftPlaceholder-BgF5Rv2q.js → nftPlaceholder-Bo37HhYE.js} +1 -1
  198. package/dist/assets/{off-DMfVr4lB.js → off-CmfzTxhN.js} +1 -1
  199. package/dist/assets/{order-CpYUdg6S.js → order-BJTgbKYU.js} +1 -1
  200. package/dist/assets/{pagination-CDk6ho1i.js → pagination-BCTFE7Z3.js} +1 -1
  201. package/dist/assets/{play-store-_lTFJbfW.js → play-store-BwwY4IKx.js} +1 -1
  202. package/dist/assets/{plus-esh9-Ccz.js → plus-BMB1cqqT.js} +1 -1
  203. package/dist/assets/{price-C2VbzPrG.js → price-7DAsoJmR.js} +1 -1
  204. package/dist/assets/{producer-CsUqKcEm.js → producer-Cb73jID1.js} +1 -1
  205. package/dist/assets/{qr-code-DJTYtaHd.js → qr-code-BFxEy5_a.js} +1 -1
  206. package/dist/assets/{recycle-horizontal-gDTg51lY.js → recycle-horizontal-C_bgJwUY.js} +1 -1
  207. package/dist/assets/{refresh-CkcCQL4X.js → refresh-BCE09s8e.js} +1 -1
  208. package/dist/assets/{reown-logo-DhnFwfFL.js → reown-logo-DQp_r0An.js} +1 -1
  209. package/dist/assets/{search-B2klky-Z.js → search-BUoFuygq.js} +1 -1
  210. package/dist/assets/{secp256k1-fj9osoWp.js → secp256k1-QHTbOsJo.js} +1 -1
  211. package/dist/assets/{secp256k1-Dw7MKfuz.js → secp256k1-XjfkD12g.js} +1 -1
  212. package/dist/assets/seedance-BdAwAq2M.js +1 -0
  213. package/dist/assets/seedance-BgXQJNYF.js +1 -0
  214. package/dist/assets/seedance-BugWQiST.js +1 -0
  215. package/dist/assets/seedance-C-pp6mhg.js +1 -0
  216. package/dist/assets/seedance-C446w2fF.js +1 -0
  217. package/dist/assets/seedance-CI0MVpsz.js +1 -0
  218. package/dist/assets/seedance-CV79TVBT.js +1 -0
  219. package/dist/assets/seedance-CuExFF17.js +1 -0
  220. package/dist/assets/seedance-D07JvXV_.js +1 -0
  221. package/dist/assets/{seedance-RkI_fBb4.js → seedance-D5U-QGR7.js} +1 -1
  222. package/dist/assets/seedance-DBz-t4EK.js +1 -0
  223. package/dist/assets/seedance-DQPnxVvQ.js +1 -0
  224. package/dist/assets/seedance-D_QTHXq3.js +1 -0
  225. package/dist/assets/seedance-DkUpjRcE.js +1 -0
  226. package/dist/assets/seedance-lg8R1TTa.js +1 -0
  227. package/dist/assets/seedance-okIhOu0L.js +1 -0
  228. package/dist/assets/{seedream-BbmlG6zu.js → seedream-CN1BaFH-.js} +1 -1
  229. package/dist/assets/{send-ssAMcrG8.js → send-BZ_FRT-x.js} +1 -1
  230. package/dist/assets/{service-DtKFC7nd.js → service-D9QPLvru.js} +1 -1
  231. package/dist/assets/{solana-wallets-CK9PVGbr.js → solana-wallets-C0MIh7dX.js} +2 -2
  232. package/dist/assets/{solana-wallets-vue-Cmevmy6S.js → solana-wallets-vue-D5nyZmND.js} +1 -1
  233. package/dist/assets/{suno-DGo39dBP.js → suno-dLVdLz6A.js} +1 -1
  234. package/dist/assets/{swapHorizontal-BsiptE8y.js → swapHorizontal-DjVLKsq6.js} +1 -1
  235. package/dist/assets/{swapHorizontalBold-CGHH4dd4.js → swapHorizontalBold-CpmWZfom.js} +1 -1
  236. package/dist/assets/{swapHorizontalMedium-Clk0CMTO.js → swapHorizontalMedium-DIHCVdP3.js} +1 -1
  237. package/dist/assets/{swapHorizontalRoundedBold-DrAICN4o.js → swapHorizontalRoundedBold-Bn16xTyV.js} +1 -1
  238. package/dist/assets/{swapVertical-QPfaf4dn.js → swapVertical-D3FvZJb6.js} +1 -1
  239. package/dist/assets/{telegram-B0jmmXS4.js → telegram-C_PlgbOP.js} +1 -1
  240. package/dist/assets/{three-dots-DoBM-RdY.js → three-dots-lu6K3YVM.js} +1 -1
  241. package/dist/assets/{twitch-5b4vnuPN.js → twitch-CZLL61zT.js} +1 -1
  242. package/dist/assets/{twitterIcon-CEdcIRtK.js → twitterIcon-Due6Eiu4.js} +1 -1
  243. package/dist/assets/{typescript-CCF0uyn2.js → typescript-COFNajQU.js} +1 -1
  244. package/dist/assets/{use-form-item-1C5uFRHv.js → use-form-item-BKB_7n3g.js} +1 -1
  245. package/dist/assets/validator-QEfhhC-Q.js +1 -0
  246. package/dist/assets/{verify-D-axKCsE.js → verify-CewIogRr.js} +1 -1
  247. package/dist/assets/{verify-filled-CuVnLSqO.js → verify-filled-DBIhvgaD.js} +1 -1
  248. package/dist/assets/{w3m-modal-vGq_64Af.js → w3m-modal-DAUMYSwf.js} +1 -1
  249. package/dist/assets/{wallet-BH7EYkWk.js → wallet-DFzSwL2i.js} +1 -1
  250. package/dist/assets/{wallet-placeholder-B0IdRDyC.js → wallet-placeholder-BQA1DTjB.js} +1 -1
  251. package/dist/assets/{walletconnect-SLf0tztt.js → walletconnect-Cl4FGvYO.js} +1 -1
  252. package/dist/assets/{warning-circle-XnAyhDSJ.js → warning-circle-BOMPFMKZ.js} +1 -1
  253. package/dist/assets/{web-U6fQOFKs.js → web-B0QX44uP.js} +1 -1
  254. package/dist/assets/{web-DbKxzxyW.js → web-Dw69BXzS.js} +1 -1
  255. package/dist/assets/{x-DJuIDGAr.js → x-C7_XWmru.js} +1 -1
  256. package/dist/index.html +2 -2
  257. package/package.json +1 -1
  258. package/dist/assets/IconPark.vue_vue_type_script_setup_true_lang-nuNysgL0.js +0 -1
  259. package/dist/assets/OAuthCallback-C9p1KhIU.css +0 -1
  260. package/dist/assets/OAuthCallback-PTvOC1Gl.js +0 -1
  261. package/dist/assets/Pagination-C-hIzPuE.js +0 -1
  262. package/dist/assets/index-BNnRgS-m.js +0 -1
  263. package/dist/assets/index-BcNn3Owf.js +0 -1
  264. package/dist/assets/index-D-KZRZPp.js +0 -1
  265. package/dist/assets/index-DkEDXKbD.js +0 -1
  266. package/dist/assets/index-XldQDSvy.js +0 -1
  267. package/dist/assets/index-wrqbgHKw.js +0 -1
  268. package/dist/assets/seedance-BO2Y7lG0.js +0 -1
  269. package/dist/assets/seedance-BaC_7dt2.js +0 -1
  270. package/dist/assets/seedance-C0xtCKBO.js +0 -1
  271. package/dist/assets/seedance-C27Na3dE.js +0 -1
  272. package/dist/assets/seedance-C5_UK3dA.js +0 -1
  273. package/dist/assets/seedance-C7MK-yfm.js +0 -1
  274. package/dist/assets/seedance-CCQy-nqd.js +0 -1
  275. package/dist/assets/seedance-CJUmYosg.js +0 -1
  276. package/dist/assets/seedance-CiZbFmTS.js +0 -1
  277. package/dist/assets/seedance-DPEyCbS4.js +0 -1
  278. package/dist/assets/seedance-K6baVhtp.js +0 -1
  279. package/dist/assets/seedance-ReJcvMlz.js +0 -1
  280. package/dist/assets/seedance-j6Jz1KQV.js +0 -1
  281. package/dist/assets/seedance-oO0Q6WuG.js +0 -1
  282. package/dist/assets/seedance-pwdOdxdA.js +0 -1
  283. package/dist/assets/validator-BmyjrUCG.js +0 -1
@@ -1 +1 @@
1
- import{F as S}from"./index.es-rfDbxZpm.js";import{E as U}from"./index-DBQvlqm3.js";import{E as N}from"./index-D-KZRZPp.js";import{d as k,H as m,E as a,z as C,C as o,y as c,D as s,q as n,F as i,I as h,x as v,J as f,M,Q as I,O as F,N as x}from"./vendor-vue-NSDaktjZ.js";import{G as w,bj as j,co as H,aB as J,S as z,cp as K}from"./index-DDJccgho.js";import{a as Q,b as W,c as X}from"./luma-DcySqBv2.js";import{I as L,S as Y,l as Z}from"./pagination-CDk6ho1i.js";import{E as R}from"./index-XldQDSvy.js";import{p as B}from"./pasteUploadMixin-BurWbGNQ.js";import{I as D}from"./ImagePreview-D1oWKxPX.js";import{E as A}from"./index-Db5A7UiS.js";import{E as b}from"./index-DtUQgyoo.js";import{F as ee}from"./FilePreview-Yk89uJgC.js";import{P as te,N as oe}from"./NoTasks-COwD2YRA.js";import{V as O}from"./VideoPlayer-BOBrupFS.js";import{C as se}from"./Consumption-u-UR3f-q.js";import{a as ne}from"./price-C2VbzPrG.js";import{b as ae}from"./errorCode-Cqj9Td_Z.js";import{C as le}from"./CopyToClipboard-D2Ga1c-u.js";import{E as ie}from"./index-DK4DFfU5.js";import{E as re}from"./index-wrqbgHKw.js";import{E as ce}from"./index-CkfWRF3i.js";import{B as me}from"./BotPlaceholder-GbwaSlCU.js";import"./use-form-item-1C5uFRHv.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./validator-BmyjrUCG.js";import"./index-BPk2ZoOA.js";import"./index-BjCVlRvR.js";import"./typescript-CCF0uyn2.js";import"./_baseClone-C7mAsPbg.js";import"./_Uint8Array-DiKiqj6b.js";import"./_initCloneObject-DHUwupd_.js";import"./isEqual-CC5LQv_R.js";import"./index-D-SiG2bP.js";import"./index-E1-z9_FO.js";import"./vue-plyr-BO2nlN4c.js";import"./debounce-B-jn60n6.js";import"./index-BcNn3Owf.js";const ue=k({name:"LayoutLuma",components:{ElDrawer:N,ElButton:U,FontAwesomeIcon:S},data(){return{drawer:!1}}}),de={class:"main flex flex-row flex-1"},pe={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},fe={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function _e(e,t,_,g,y,E){const r=s("font-awesome-icon"),u=s("el-button"),d=s("el-drawer");return n(),m("div",de,[a("div",pe,[C(e.$slots,"config",{},void 0,!0)]),a("div",fe,[C(e.$slots,"result",{},void 0,!0)]),o(u,{circle:"",class:"menu",onClick:t[0]||(t[0]=$=>e.drawer=!0)},{default:c(()=>[o(r,{icon:"fa-solid fa-magic"})]),_:1}),o(d,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=$=>e.drawer=$),direction:"ltr","with-header":!1,size:"350px",class:"drawer"},{default:c(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const he=w(ue,[["render",_e],["__scopeId","data-v-fdc8f36b"]]),ge=k({name:"EnhancementSelector",components:{ElSwitch:R,InfoIcon:L},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug("set enhancement",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=Q)}}),$e={class:"relative"},ve={class:"flex justify-between"},be={class:"flex justify-start items-center"},ke={class:"text-sm font-bold"},we={class:"flex justify-end items-center"};function ye(e,t,_,g,y,E){const r=s("info-icon"),u=s("el-switch");return n(),m("div",$e,[a("div",ve,[a("div",be,[a("span",ke,i(e.$t("luma.name.enhancement")),1),o(r,{content:e.$t("luma.description.enhancement")},null,8,["content"])]),a("div",we,[o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])])}const Ee=w(ge,[["render",ye]]),Ve=k({name:"CustomSelector",components:{ElSwitch:R,InfoIcon:L},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug("set custom",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=W)}}),Se={class:"relative"},Ue={class:"flex justify-between"},Le={class:"flex justify-start items-center"},Te={class:"text-sm font-bold"},Ie={class:"flex justify-end items-center"};function Ce(e,t,_,g,y,E){const r=s("info-icon"),u=s("el-switch");return n(),m("div",Se,[a("div",Ue,[a("div",Le,[a("span",Te,i(e.$t("luma.name.custom")),1),o(r,{content:e.$t("luma.description.custom")},null,8,["content"])]),a("div",Ie,[o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])])}const je=w(Ve,[["render",Ce]]),Re=k({name:"LoopSelector",components:{ElSwitch:R,InfoIcon:L},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug("set loop",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=X)}}),Ae={class:"relative"},Pe={class:"flex justify-between"},Ge={class:"flex justify-start items-center"},Me={class:"text-sm font-bold"},Fe={class:"flex justify-end items-center"};function ze(e,t,_,g,y,E){const r=s("info-icon"),u=s("el-switch");return n(),m("div",Ae,[a("div",Pe,[a("div",Ge,[a("span",Me,i(e.$t("luma.name.loop")),1),o(r,{content:e.$t("luma.description.loop")},null,8,["content"])]),a("div",Fe,[o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])])}const Be=w(Re,[["render",ze]]),De=k({name:"EndImage",components:{ElUpload:A,ElButton:U,ImagePreview:D,InfoIcon:L,FontAwesomeIcon:S},mixins:[B],data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onExceed(){b.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){b.error(this.$t("luma.message.uploadReferencesError"))},onSetEndImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),Oe={class:"relative"},qe={class:"flex justify-between"},Ne={class:"flex justify-start items-center"},xe={class:"text-sm font-bold"};function He(e,t,_,g,y,E){const r=s("info-icon"),u=s("image-preview"),d=s("font-awesome-icon"),$=s("el-button"),p=s("el-upload");return n(),m("div",Oe,[a("div",qe,[a("div",Ne,[a("span",xe,i(e.$t("luma.name.endImageUrl")),1),o(r,{content:e.$t("luma.description.endImageUrl")},null,8,["content"])])]),o(p,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:l})=>[l.url&&l.percentage!==void 0?(n(),v(u,{key:0,url:l.url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:c(()=>[o($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+i(e.$t("luma.button.uploadEndImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Je=w(De,[["render",He],["__scopeId","data-v-7a787b4d"]]),Ke=k({name:"StartImage",components:{ElUpload:A,ElButton:U,ImagePreview:D,InfoIcon:L,FontAwesomeIcon:S},mixins:[B],data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){b.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){b.error(this.$t("luma.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Qe={class:"relative"},We={class:"flex justify-between"},Xe={class:"flex justify-start items-center"},Ye={class:"text-sm font-bold"};function Ze(e,t,_,g,y,E){const r=s("info-icon"),u=s("image-preview"),d=s("font-awesome-icon"),$=s("el-button"),p=s("el-upload");return n(),m("div",Qe,[a("div",We,[a("div",Xe,[a("span",Ye,i(e.$t("luma.name.startImageUrl")),1),o(r,{content:e.$t("luma.description.startImageUrl")},null,8,["content"])])]),o(p,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:l})=>[l.percentage!=null?(n(),v(u,{key:0,url:l.url||l.response.file_url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:c(()=>[o($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+i(e.$t("luma.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const et=w(Ke,[["render",Ze],["__scopeId","data-v-8c5cfe84"]]),tt=k({name:"UploadVideo",components:{ElUpload:A,ElButton:U,InfoIcon:L,FilePreview:ee,FontAwesomeIcon:S},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||(this.value=void 0)},methods:{onExceed(){b.warning(this.$t("luma.message.uploadVideoExceed"))},onError(){b.error(this.$t("luma.message.uploadVideoError"))},beforeUpload(e){const t=e.type==="video/mp4",_=e.size/1024/1024<10;return t?_?!0:(b.error(this.$t("luma.message.uploadVideoSizeExceed")),!1):(b.error(this.$t("luma.message.uploadVideoTypeFailed")),!1)},onSetVideoUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e,action:"extend"})},async onSuccess(){this.onSetVideoUrl()}}}),ot={class:"relative"},st={class:"flex justify-between"},nt={class:"flex justify-start items-center"},at={class:"text-sm font-bold"};function lt(e,t,_,g,y,E){const r=s("info-icon"),u=s("file-preview"),d=s("font-awesome-icon"),$=s("el-button"),p=s("el-upload");return n(),m("div",ot,[a("div",st,[a("div",nt,[a("span",at,i(e.$t("luma.name.videoUrl")),1),o(r,{content:e.$t("luma.description.videoUrl")},null,8,["content"])])]),o(p,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),accept:".mp4",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:l})=>[l.percentage!=null?(n(),v(u,{key:0,url:l.url||l.response?.file_url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:c(()=>[o($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+i(e.$t("luma.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])])}const it=w(tt,[["render",lt],["__scopeId","data-v-74e51526"]]),rt="",ct=k({name:"PromptInput",components:{PromptTextarea:te},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=rt)}});function mt(e,t,_,g,y,E){const r=s("prompt-textarea");return n(),v(r,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=u=>e.prompt=u),title:e.$t("luma.name.prompt"),info:e.$t("luma.description.prompt"),placeholder:e.$t("luma.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const ut=w(ct,[["render",mt]]),dt=k({name:"ExtendFromInput",components:{VideoPlayer:O},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.luma?.config}}}),pt={class:"relative"},ft={class:"flex mb-2"},_t={class:"text-sm font-bold"};function ht(e,t,_,g,y,E){const r=s("video-player");return n(),m("div",pt,[a("div",ft,[a("span",_t,i(e.$t("luma.name.extend")),1)]),a("div",null,[e.config?.video_url?(n(),v(r,{key:0,src:e.config?.video_url},null,8,["src"])):f("",!0)])])}const gt=w(dt,[["render",ht]]),$t=k({name:"ConfigPanel",components:{LoopSelector:Be,StartImageInput:et,EndImageInput:Je,EnhancementSelector:Ee,ElButton:U,FontAwesomeIcon:S,PromptInput:ut,ExtendFromInput:gt,CustomSelector:je,UploadVideo:it,Consumption:se},emits:["generate"],computed:{config(){return this.$store.state.luma?.config},consumption(){return ne(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit("generate")}}}),vt={class:"flex flex-col h-full"},bt={class:"flex-1 overflow-y-auto p-5"},kt={class:"flex flex-col items-center justify-center px-5 pb-5"};function wt(e,t,_,g,y,E){const r=s("extend-from-input"),u=s("prompt-input"),d=s("custom-selector"),$=s("upload-video"),p=s("start-image-input"),l=s("end-image-input"),V=s("enhancement-selector"),T=s("loop-selector"),q=s("consumption"),P=s("font-awesome-icon"),G=s("el-button");return n(),m("div",vt,[a("div",bt,[e.config?.video_id||e.config?.video_url?(n(),v(r,{key:0,class:"mb-4"})):f("",!0),o(u,{class:"mb-4"}),e.config?.video_id?f("",!0):(n(),v(d,{key:1,class:"mb-4"})),e.config?.custom?(n(),v($,{key:2,class:"mb-4"})):f("",!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(n(),v(p,{key:3,class:"mb-4"})):f("",!0),o(l,{class:"mb-4"}),o(V,{class:"mb-4"}),o(T,{class:"mb-4"})]),a("div",kt,[o(q,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(n(),v(G,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[o(P,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+i(e.$t("luma.button.extend")),1)]),_:1},8,["onClick"])):(n(),v(G,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[o(P,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+i(e.$t("luma.button.generate")),1)]),_:1},8,["onClick"]))])])}const yt=w($t,[["render",wt]]),Et=k({name:"TaskPreview",components:{ElImage:ce,CopyToClipboard:le,FontAwesomeIcon:S,ElAlert:re,VideoPlayer:O,ElTooltip:ie,ElButton:U},props:{modelValue:{type:Object,required:!0}},emits:["extend"],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,t){console.debug("set config",t),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:"extend",thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit("extend")},onDownload(e){window.open(e,"_blank")}}}),Vt={class:"preview"},St={class:"left"},Ut={class:"main"},Lt={class:"bot"},Tt={class:"datetime"},It={class:"info"},Ct={key:0,class:"prompt mt-2"},jt={key:0},Rt={key:1},At={key:0,class:I({content:!0,failed:!0})},Pt={key:0,class:"mb-4"},Gt={key:1,class:I({operations:!0,"mt-2":!0,"mb-4":!0})},Mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ft={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},zt={key:1,class:I({content:!0})},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Nt={key:2,class:I({content:!0})},xt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Ht(e,t,_,g,y,E){const r=s("el-image"),u=s("video-player"),d=s("el-button"),$=s("el-tooltip"),p=s("font-awesome-icon"),l=s("copy-to-clipboard"),V=s("el-alert");return n(),m("div",Vt,[a("div",St,[o(r,{src:"https://cdn.acedata.cloud/ahjfwi.png",class:"avatar"})]),a("div",Ut,[a("div",Lt,[h(i(e.$t("luma.name.lumaBot"))+" ",1),a("span",Tt,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),a("div",It,[e.modelValue?.request?.prompt?(n(),m("p",Ct,[h(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?f("",!0):(n(),m("span",jt," - ("+i(e.$t("luma.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(n(),m("span",Rt," - ("+i(e.$t("luma.status.processing"))+") ",1)):f("",!0)])):f("",!0)]),e.modelValue?.response?.success===!0?(n(),m("div",At,[e.modelValue.response.video_url?(n(),m("div",Pt,[o(u,{src:e.modelValue.response.video_url},null,8,["src"])])):f("",!0),e.modelValue?.response&&!e.config?.custom?(n(),m("div",Gt,[o($,{class:"box-item",effect:"dark",content:e.$t("luma.message.extendVideo"),placement:"top-start"},{default:c(()=>[o(d,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=M(T=>e.onExtend(T,e.modelValue?.response),["stop"]))},{default:c(()=>[h(i(e.$t("luma.button.extend")),1)]),_:1})]),_:1},8,["content"]),o($,{class:"box-item",effect:"dark",content:e.$t("luma.message.downloadVideo"),placement:"top-start"},{default:c(()=>[o(d,{type:"info",size:"small",class:"btn-action",onClick:t[1]||(t[1]=M(T=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:c(()=>[h(i(e.$t("luma.button.download")),1)]),_:1})]),_:1},8,["content"])])):f("",!0),o(V,{closable:!1,class:"mt-2 success"},{default:c(()=>[a("p",Mt,[o(p,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(l,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(n(),m("p",Ft,[o(p,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+i(e.$t("luma.name.elapsed"))+": "+i(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):f("",!0)]),_:1})])):f("",!0),e.modelValue?.response?.state==="failed"||e.modelValue?.response?.success===!1?(n(),m("div",zt,[o(V,{closable:!1,class:"failure"},{template:c(()=>[o(p,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("luma.name.failure")),1)]),default:c(()=>[a("p",Bt,[o(p,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(l,{content:e.modelValue?.id},null,8,["content"])]),a("p",Dt,[o(p,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+i(e.$t("luma.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),o(l,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(n(),m("p",Ot,[o(p,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+i(e.$t("luma.name.elapsed"))+": "+i(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):f("",!0),a("p",qt,[o(p,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("luma.name.traceId"))+": "+i(e.modelValue?.trace_id)+" ",1),o(l,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):f("",!0),!e.modelValue?.response||e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(n(),m("div",Nt,[o(V,{closable:!1,class:"info"},{template:c(()=>[o(p,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("luma.name.failure")),1)]),default:c(()=>[a("p",xt,[o(p,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(l,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):f("",!0)])])}const Jt=w(Et,[["render",Ht],["__scopeId","data-v-bcbb3d1c"]]),Kt=k({name:"RecentPanel",components:{BotPlaceholder:me,TaskPreview:Jt,NoTasks:oe,ScrollList:Y},props:{loading:{type:Boolean,default:!1}},emits:["reach-top","extend"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Qt={key:0},Wt={key:2,class:"w-full h-full flex items-center justify-center"};function Xt(e,t,_,g,y,E){const r=s("bot-placeholder"),u=s("task-preview"),d=s("scroll-list"),$=s("no-tasks");return n(),m(F,null,[e.tasks?.items===void 0?(n(),m("div",Qt,[o(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),v(d,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:t[1]||(t[1]=p=>e.$emit("reach-top"))},{default:c(()=>[(n(!0),m(F,null,x(e.tasks?.items,p=>(n(),v(u,{key:p.id,"model-value":p,onExtend:t[0]||(t[0]=l=>e.$emit("extend"))},null,8,["model-value"]))),128))]),_:1},8,["loading"])):f("",!0),e.tasks?.items?.length===0?(n(),m("div",Wt,[o($)])):f("",!0)],64)}const Yt=w(Kt,[["render",Xt]]),Zt=K("luma"),eo=k({name:"LumaIndex",components:{ConfigPanel:yt,Layout:he,RecentPanel:Yt},inject:["initialized"],emits:["extend"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===z.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Z({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("luma/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("luma/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){console.debug("scrolling down"),await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:_,createdAtMax:g}=e||{};console.debug("limit",t,"createdAtMin",_,"createdAtMax",g),this.fetchingTasks=!0;try{await this.$store.dispatch("luma/getTasks",{limit:t,createdAtMin:_,createdAtMax:g})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Zt};if(!this.hasText(e.prompt)){b.error(this.$t("luma.message.promptRequired"));return}e.prompt=e.prompt?.trim();const t=this.credential?.token;if(!t){console.error("no token specified");return}b.info(this.$t("luma.message.startingTask")),H("luma",J.generate(e,{token:t})).then(()=>{b.success(this.$t("luma.message.startTaskSuccess"))}).catch(_=>{_?.response?.data?.error?.code===ae?b.error(this.$t("luma.message.usedUp")):b.error(this.$t("luma.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e=="string"&&e.trim().length>0}}});function to(e,t,_,g,y,E){const r=s("config-panel"),u=s("recent-panel"),d=s("layout");return n(),v(d,null,{config:c(()=>[o(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:c(()=>[o(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:t[0]||(t[0]=$=>e.$emit("extend"))},null,8,["loading","onReachTop"])]),_:1})}const No=w(eo,[["render",to]]);export{No as default};
1
+ import{F as S}from"./index.es-DN8G0P37.js";import{E as U}from"./index-CwPjkJs4.js";import{E as N}from"./index-B6W1wPG_.js";import{d as k,H as m,E as a,z as C,C as o,y as c,D as s,q as n,F as i,I as h,x as v,J as f,M,Q as I,O as F,N as x}from"./vendor-vue-NSDaktjZ.js";import{G as w,bj as j,co as H,aB as J,S as z,cp as K}from"./index-CnhjD_2F.js";import{a as Q,b as W,c as X}from"./luma-DcySqBv2.js";import{I as L,S as Y,l as Z}from"./pagination-BCTFE7Z3.js";import{E as R}from"./index-CLxhDB-t.js";import{p as B}from"./pasteUploadMixin-BurWbGNQ.js";import{I as D}from"./ImagePreview-CJP-yB4D.js";import{E as A}from"./index-Kc0m7PO-.js";import{E as b}from"./index-D1rl1ShF.js";import{F as ee}from"./FilePreview-19tiWMqq.js";import{P as te,N as oe}from"./NoTasks-gaaOL_m7.js";import{V as O}from"./VideoPlayer-Dn-EFbop.js";import{C as se}from"./Consumption-tJVE5oXO.js";import{a as ne}from"./price-7DAsoJmR.js";import{b as ae}from"./errorCode-Cqj9Td_Z.js";import{C as le}from"./CopyToClipboard-BthEHufq.js";import{E as ie}from"./index-ClwpIr_P.js";import{E as re}from"./index-CbbUfyeR.js";import{E as ce}from"./index-CrH79zK9.js";import{B as me}from"./BotPlaceholder-BZTrMT1c.js";import"./use-form-item-BKB_7n3g.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./validator-QEfhhC-Q.js";import"./index-DPq9Ww9N.js";import"./index-CLR-flkd.js";import"./typescript-COFNajQU.js";import"./_baseClone-Q0okPItx.js";import"./_Uint8Array-BnVWNeHp.js";import"./_initCloneObject-DuLU5kHr.js";import"./isEqual-DGVdfmbU.js";import"./index-D7LXRPby.js";import"./index-qUrXiTT8.js";import"./vue-plyr-BO2nlN4c.js";import"./debounce-Bt9MZ6bV.js";import"./index-uim_HWNA.js";const ue=k({name:"LayoutLuma",components:{ElDrawer:N,ElButton:U,FontAwesomeIcon:S},data(){return{drawer:!1}}}),de={class:"main flex flex-row flex-1"},pe={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},fe={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function _e(e,t,_,g,y,E){const r=s("font-awesome-icon"),u=s("el-button"),d=s("el-drawer");return n(),m("div",de,[a("div",pe,[C(e.$slots,"config",{},void 0,!0)]),a("div",fe,[C(e.$slots,"result",{},void 0,!0)]),o(u,{circle:"",class:"menu",onClick:t[0]||(t[0]=$=>e.drawer=!0)},{default:c(()=>[o(r,{icon:"fa-solid fa-magic"})]),_:1}),o(d,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=$=>e.drawer=$),direction:"ltr","with-header":!1,size:"350px",class:"drawer"},{default:c(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const he=w(ue,[["render",_e],["__scopeId","data-v-fdc8f36b"]]),ge=k({name:"EnhancementSelector",components:{ElSwitch:R,InfoIcon:L},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug("set enhancement",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=Q)}}),$e={class:"relative"},ve={class:"flex justify-between"},be={class:"flex justify-start items-center"},ke={class:"text-sm font-bold"},we={class:"flex justify-end items-center"};function ye(e,t,_,g,y,E){const r=s("info-icon"),u=s("el-switch");return n(),m("div",$e,[a("div",ve,[a("div",be,[a("span",ke,i(e.$t("luma.name.enhancement")),1),o(r,{content:e.$t("luma.description.enhancement")},null,8,["content"])]),a("div",we,[o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])])}const Ee=w(ge,[["render",ye]]),Ve=k({name:"CustomSelector",components:{ElSwitch:R,InfoIcon:L},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug("set custom",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=W)}}),Se={class:"relative"},Ue={class:"flex justify-between"},Le={class:"flex justify-start items-center"},Te={class:"text-sm font-bold"},Ie={class:"flex justify-end items-center"};function Ce(e,t,_,g,y,E){const r=s("info-icon"),u=s("el-switch");return n(),m("div",Se,[a("div",Ue,[a("div",Le,[a("span",Te,i(e.$t("luma.name.custom")),1),o(r,{content:e.$t("luma.description.custom")},null,8,["content"])]),a("div",Ie,[o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])])}const je=w(Ve,[["render",Ce]]),Re=k({name:"LoopSelector",components:{ElSwitch:R,InfoIcon:L},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug("set loop",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=X)}}),Ae={class:"relative"},Pe={class:"flex justify-between"},Ge={class:"flex justify-start items-center"},Me={class:"text-sm font-bold"},Fe={class:"flex justify-end items-center"};function ze(e,t,_,g,y,E){const r=s("info-icon"),u=s("el-switch");return n(),m("div",Ae,[a("div",Pe,[a("div",Ge,[a("span",Me,i(e.$t("luma.name.loop")),1),o(r,{content:e.$t("luma.description.loop")},null,8,["content"])]),a("div",Fe,[o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])])}const Be=w(Re,[["render",ze]]),De=k({name:"EndImage",components:{ElUpload:A,ElButton:U,ImagePreview:D,InfoIcon:L,FontAwesomeIcon:S},mixins:[B],data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onExceed(){b.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){b.error(this.$t("luma.message.uploadReferencesError"))},onSetEndImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),Oe={class:"relative"},qe={class:"flex justify-between"},Ne={class:"flex justify-start items-center"},xe={class:"text-sm font-bold"};function He(e,t,_,g,y,E){const r=s("info-icon"),u=s("image-preview"),d=s("font-awesome-icon"),$=s("el-button"),p=s("el-upload");return n(),m("div",Oe,[a("div",qe,[a("div",Ne,[a("span",xe,i(e.$t("luma.name.endImageUrl")),1),o(r,{content:e.$t("luma.description.endImageUrl")},null,8,["content"])])]),o(p,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:l})=>[l.url&&l.percentage!==void 0?(n(),v(u,{key:0,url:l.url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:c(()=>[o($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+i(e.$t("luma.button.uploadEndImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Je=w(De,[["render",He],["__scopeId","data-v-7a787b4d"]]),Ke=k({name:"StartImage",components:{ElUpload:A,ElButton:U,ImagePreview:D,InfoIcon:L,FontAwesomeIcon:S},mixins:[B],data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){b.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){b.error(this.$t("luma.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Qe={class:"relative"},We={class:"flex justify-between"},Xe={class:"flex justify-start items-center"},Ye={class:"text-sm font-bold"};function Ze(e,t,_,g,y,E){const r=s("info-icon"),u=s("image-preview"),d=s("font-awesome-icon"),$=s("el-button"),p=s("el-upload");return n(),m("div",Qe,[a("div",We,[a("div",Xe,[a("span",Ye,i(e.$t("luma.name.startImageUrl")),1),o(r,{content:e.$t("luma.description.startImageUrl")},null,8,["content"])])]),o(p,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:l})=>[l.percentage!=null?(n(),v(u,{key:0,url:l.url||l.response.file_url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:c(()=>[o($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+i(e.$t("luma.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const et=w(Ke,[["render",Ze],["__scopeId","data-v-8c5cfe84"]]),tt=k({name:"UploadVideo",components:{ElUpload:A,ElButton:U,InfoIcon:L,FilePreview:ee,FontAwesomeIcon:S},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||(this.value=void 0)},methods:{onExceed(){b.warning(this.$t("luma.message.uploadVideoExceed"))},onError(){b.error(this.$t("luma.message.uploadVideoError"))},beforeUpload(e){const t=e.type==="video/mp4",_=e.size/1024/1024<10;return t?_?!0:(b.error(this.$t("luma.message.uploadVideoSizeExceed")),!1):(b.error(this.$t("luma.message.uploadVideoTypeFailed")),!1)},onSetVideoUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e,action:"extend"})},async onSuccess(){this.onSetVideoUrl()}}}),ot={class:"relative"},st={class:"flex justify-between"},nt={class:"flex justify-start items-center"},at={class:"text-sm font-bold"};function lt(e,t,_,g,y,E){const r=s("info-icon"),u=s("file-preview"),d=s("font-awesome-icon"),$=s("el-button"),p=s("el-upload");return n(),m("div",ot,[a("div",st,[a("div",nt,[a("span",at,i(e.$t("luma.name.videoUrl")),1),o(r,{content:e.$t("luma.description.videoUrl")},null,8,["content"])])]),o(p,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),accept:".mp4",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:l})=>[l.percentage!=null?(n(),v(u,{key:0,url:l.url||l.response?.file_url,name:l.name,percentage:l.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:c(()=>[o($,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+i(e.$t("luma.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])])}const it=w(tt,[["render",lt],["__scopeId","data-v-74e51526"]]),rt="",ct=k({name:"PromptInput",components:{PromptTextarea:te},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=rt)}});function mt(e,t,_,g,y,E){const r=s("prompt-textarea");return n(),v(r,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=u=>e.prompt=u),title:e.$t("luma.name.prompt"),info:e.$t("luma.description.prompt"),placeholder:e.$t("luma.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const ut=w(ct,[["render",mt]]),dt=k({name:"ExtendFromInput",components:{VideoPlayer:O},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.luma?.config}}}),pt={class:"relative"},ft={class:"flex mb-2"},_t={class:"text-sm font-bold"};function ht(e,t,_,g,y,E){const r=s("video-player");return n(),m("div",pt,[a("div",ft,[a("span",_t,i(e.$t("luma.name.extend")),1)]),a("div",null,[e.config?.video_url?(n(),v(r,{key:0,src:e.config?.video_url},null,8,["src"])):f("",!0)])])}const gt=w(dt,[["render",ht]]),$t=k({name:"ConfigPanel",components:{LoopSelector:Be,StartImageInput:et,EndImageInput:Je,EnhancementSelector:Ee,ElButton:U,FontAwesomeIcon:S,PromptInput:ut,ExtendFromInput:gt,CustomSelector:je,UploadVideo:it,Consumption:se},emits:["generate"],computed:{config(){return this.$store.state.luma?.config},consumption(){return ne(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit("generate")}}}),vt={class:"flex flex-col h-full"},bt={class:"flex-1 overflow-y-auto p-5"},kt={class:"flex flex-col items-center justify-center px-5 pb-5"};function wt(e,t,_,g,y,E){const r=s("extend-from-input"),u=s("prompt-input"),d=s("custom-selector"),$=s("upload-video"),p=s("start-image-input"),l=s("end-image-input"),V=s("enhancement-selector"),T=s("loop-selector"),q=s("consumption"),P=s("font-awesome-icon"),G=s("el-button");return n(),m("div",vt,[a("div",bt,[e.config?.video_id||e.config?.video_url?(n(),v(r,{key:0,class:"mb-4"})):f("",!0),o(u,{class:"mb-4"}),e.config?.video_id?f("",!0):(n(),v(d,{key:1,class:"mb-4"})),e.config?.custom?(n(),v($,{key:2,class:"mb-4"})):f("",!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(n(),v(p,{key:3,class:"mb-4"})):f("",!0),o(l,{class:"mb-4"}),o(V,{class:"mb-4"}),o(T,{class:"mb-4"})]),a("div",kt,[o(q,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(n(),v(G,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[o(P,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+i(e.$t("luma.button.extend")),1)]),_:1},8,["onClick"])):(n(),v(G,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[o(P,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+i(e.$t("luma.button.generate")),1)]),_:1},8,["onClick"]))])])}const yt=w($t,[["render",wt]]),Et=k({name:"TaskPreview",components:{ElImage:ce,CopyToClipboard:le,FontAwesomeIcon:S,ElAlert:re,VideoPlayer:O,ElTooltip:ie,ElButton:U},props:{modelValue:{type:Object,required:!0}},emits:["extend"],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,t){console.debug("set config",t),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:"extend",thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit("extend")},onDownload(e){window.open(e,"_blank")}}}),Vt={class:"preview"},St={class:"left"},Ut={class:"main"},Lt={class:"bot"},Tt={class:"datetime"},It={class:"info"},Ct={key:0,class:"prompt mt-2"},jt={key:0},Rt={key:1},At={key:0,class:I({content:!0,failed:!0})},Pt={key:0,class:"mb-4"},Gt={key:1,class:I({operations:!0,"mt-2":!0,"mb-4":!0})},Mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ft={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},zt={key:1,class:I({content:!0})},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Nt={key:2,class:I({content:!0})},xt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Ht(e,t,_,g,y,E){const r=s("el-image"),u=s("video-player"),d=s("el-button"),$=s("el-tooltip"),p=s("font-awesome-icon"),l=s("copy-to-clipboard"),V=s("el-alert");return n(),m("div",Vt,[a("div",St,[o(r,{src:"https://cdn.acedata.cloud/ahjfwi.png",class:"avatar"})]),a("div",Ut,[a("div",Lt,[h(i(e.$t("luma.name.lumaBot"))+" ",1),a("span",Tt,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),a("div",It,[e.modelValue?.request?.prompt?(n(),m("p",Ct,[h(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?f("",!0):(n(),m("span",jt," - ("+i(e.$t("luma.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(n(),m("span",Rt," - ("+i(e.$t("luma.status.processing"))+") ",1)):f("",!0)])):f("",!0)]),e.modelValue?.response?.success===!0?(n(),m("div",At,[e.modelValue.response.video_url?(n(),m("div",Pt,[o(u,{src:e.modelValue.response.video_url},null,8,["src"])])):f("",!0),e.modelValue?.response&&!e.config?.custom?(n(),m("div",Gt,[o($,{class:"box-item",effect:"dark",content:e.$t("luma.message.extendVideo"),placement:"top-start"},{default:c(()=>[o(d,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=M(T=>e.onExtend(T,e.modelValue?.response),["stop"]))},{default:c(()=>[h(i(e.$t("luma.button.extend")),1)]),_:1})]),_:1},8,["content"]),o($,{class:"box-item",effect:"dark",content:e.$t("luma.message.downloadVideo"),placement:"top-start"},{default:c(()=>[o(d,{type:"info",size:"small",class:"btn-action",onClick:t[1]||(t[1]=M(T=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:c(()=>[h(i(e.$t("luma.button.download")),1)]),_:1})]),_:1},8,["content"])])):f("",!0),o(V,{closable:!1,class:"mt-2 success"},{default:c(()=>[a("p",Mt,[o(p,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(l,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(n(),m("p",Ft,[o(p,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+i(e.$t("luma.name.elapsed"))+": "+i(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):f("",!0)]),_:1})])):f("",!0),e.modelValue?.response?.state==="failed"||e.modelValue?.response?.success===!1?(n(),m("div",zt,[o(V,{closable:!1,class:"failure"},{template:c(()=>[o(p,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("luma.name.failure")),1)]),default:c(()=>[a("p",Bt,[o(p,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(l,{content:e.modelValue?.id},null,8,["content"])]),a("p",Dt,[o(p,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+i(e.$t("luma.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),o(l,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(n(),m("p",Ot,[o(p,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+i(e.$t("luma.name.elapsed"))+": "+i(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):f("",!0),a("p",qt,[o(p,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("luma.name.traceId"))+": "+i(e.modelValue?.trace_id)+" ",1),o(l,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):f("",!0),!e.modelValue?.response||e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(n(),m("div",Nt,[o(V,{closable:!1,class:"info"},{template:c(()=>[o(p,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("luma.name.failure")),1)]),default:c(()=>[a("p",xt,[o(p,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(l,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):f("",!0)])])}const Jt=w(Et,[["render",Ht],["__scopeId","data-v-bcbb3d1c"]]),Kt=k({name:"RecentPanel",components:{BotPlaceholder:me,TaskPreview:Jt,NoTasks:oe,ScrollList:Y},props:{loading:{type:Boolean,default:!1}},emits:["reach-top","extend"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Qt={key:0},Wt={key:2,class:"w-full h-full flex items-center justify-center"};function Xt(e,t,_,g,y,E){const r=s("bot-placeholder"),u=s("task-preview"),d=s("scroll-list"),$=s("no-tasks");return n(),m(F,null,[e.tasks?.items===void 0?(n(),m("div",Qt,[o(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),v(d,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:t[1]||(t[1]=p=>e.$emit("reach-top"))},{default:c(()=>[(n(!0),m(F,null,x(e.tasks?.items,p=>(n(),v(u,{key:p.id,"model-value":p,onExtend:t[0]||(t[0]=l=>e.$emit("extend"))},null,8,["model-value"]))),128))]),_:1},8,["loading"])):f("",!0),e.tasks?.items?.length===0?(n(),m("div",Wt,[o($)])):f("",!0)],64)}const Yt=w(Kt,[["render",Xt]]),Zt=K("luma"),eo=k({name:"LumaIndex",components:{ConfigPanel:yt,Layout:he,RecentPanel:Yt},inject:["initialized"],emits:["extend"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===z.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Z({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("luma/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("luma/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){console.debug("scrolling down"),await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:_,createdAtMax:g}=e||{};console.debug("limit",t,"createdAtMin",_,"createdAtMax",g),this.fetchingTasks=!0;try{await this.$store.dispatch("luma/getTasks",{limit:t,createdAtMin:_,createdAtMax:g})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Zt};if(!this.hasText(e.prompt)){b.error(this.$t("luma.message.promptRequired"));return}e.prompt=e.prompt?.trim();const t=this.credential?.token;if(!t){console.error("no token specified");return}b.info(this.$t("luma.message.startingTask")),H("luma",J.generate(e,{token:t})).then(()=>{b.success(this.$t("luma.message.startTaskSuccess"))}).catch(_=>{_?.response?.data?.error?.code===ae?b.error(this.$t("luma.message.usedUp")):b.error(this.$t("luma.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e=="string"&&e.trim().length>0}}});function to(e,t,_,g,y,E){const r=s("config-panel"),u=s("recent-panel"),d=s("layout");return n(),v(d,null,{config:c(()=>[o(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:c(()=>[o(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:t[0]||(t[0]=$=>e.$emit("extend"))},null,8,["loading","onReachTop"])]),_:1})}const No=w(eo,[["render",to]]);export{No as default};
@@ -1 +1 @@
1
- import{d as e,H as n,q as o}from"./vendor-vue-NSDaktjZ.js";import{G as s}from"./index-DDJccgho.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";const r=e({name:"SettingsIndex",mounted(){const t=this.$route.query.tab||"";window.dispatchEvent(new CustomEvent("open-user-settings",{detail:{tab:t}}))}}),a={class:"settings-page"};function i(t,c,p,d,m,_){return o(),n("div",a)}const g=s(r,[["render",i]]);export{g as default};
1
+ import{d as e,H as n,q as o}from"./vendor-vue-NSDaktjZ.js";import{G as s}from"./index-CnhjD_2F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";const r=e({name:"SettingsIndex",mounted(){const t=this.$route.query.tab||"";window.dispatchEvent(new CustomEvent("open-user-settings",{detail:{tab:t}}))}}),a={class:"settings-page"};function i(t,c,p,d,m,_){return o(),n("div",a)}const g=s(r,[["render",i]]);export{g as default};
@@ -1 +1 @@
1
- import{F as T}from"./index.es-rfDbxZpm.js";import{E as q}from"./index-DBQvlqm3.js";import{E as W}from"./index-D-KZRZPp.js";import{d as y,H as l,E as u,z as U,C as a,y as g,D as s,q as n,x as k,F as o,I as c,O as A,N,J as p,M as K,Q as O}from"./vendor-vue-NSDaktjZ.js";import{G as w,bj as H,cI as J,cJ as x,cK as C,cL as Q,cM as S,cN as M,cO as j,cP as D,co as X,aT as Y,S as F,cp as Z}from"./index-DDJccgho.js";import{P as ee,N as te}from"./NoTasks-COwD2YRA.js";import{p as ae}from"./pasteUploadMixin-BurWbGNQ.js";import{I as P,S as oe,l as ne}from"./pagination-CDk6ho1i.js";import{I as z}from"./ImagePreview-D1oWKxPX.js";import{E as se}from"./index-Db5A7UiS.js";import{E as R}from"./index-DtUQgyoo.js";import{E as B,a as G}from"./index-CJ8YZq-e.js";import{C as le}from"./Consumption-u-UR3f-q.js";import{a as re}from"./price-C2VbzPrG.js";import{b as ie}from"./errorCode-Cqj9Td_Z.js";import{C as ce}from"./CopyToClipboard-D2Ga1c-u.js";import{I as ue}from"./ImageWrapper-Dbzrv2-m.js";import{E as me}from"./index-DK4DFfU5.js";import{E as de}from"./index-wrqbgHKw.js";import{E as pe}from"./index-CkfWRF3i.js";import{B as fe}from"./BotPlaceholder-GbwaSlCU.js";import"./use-form-item-1C5uFRHv.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./index-D-SiG2bP.js";import"./typescript-CCF0uyn2.js";import"./index-BPk2ZoOA.js";import"./index-E1-z9_FO.js";import"./index-BjCVlRvR.js";import"./_baseClone-C7mAsPbg.js";import"./_Uint8Array-DiKiqj6b.js";import"./_initCloneObject-DHUwupd_.js";import"./isEqual-CC5LQv_R.js";import"./index-DkEDXKbD.js";import"./strings-beZM2Y-f.js";import"./castArray-DbfVevQg.js";import"./debounce-B-jn60n6.js";import"./_baseIteratee-CCcx0UCd.js";import"./index-B0Cwb-D-.js";import"./index-BcNn3Owf.js";const he=y({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:q,FontAwesomeIcon:T},data(){return{drawer:!1}}}),_e={class:"main flex flex-row flex-1"},ge={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},be={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function $e(e,t,$,i,b,f){const h=s("font-awesome-icon"),_=s("el-button"),d=s("el-drawer");return n(),l("div",_e,[u("div",ge,[U(e.$slots,"config",{},void 0,!0)]),u("div",be,[U(e.$slots,"result",{},void 0,!0)]),a(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=m=>e.drawer=!0)},{default:g(()=>[a(h,{icon:"fa-solid fa-magic"})]),_:1}),a(d,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=m=>e.drawer=m),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:g(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ve=w(he,[["render",$e],["__scopeId","data-v-8ca1c212"]]),ke="",ye=y({name:"PromptInput",components:{PromptTextarea:ee},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ke)}});function we(e,t,$,i,b,f){const h=s("prompt-textarea");return n(),k(h,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=_=>e.prompt=_),title:e.$t("nanobanana.name.prompt"),info:e.$t("nanobanana.description.prompt"),placeholder:e.$t("nanobanana.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const Ve=w(ye,[["render",we]]),Ae=y({name:"ImageUrlsInput",components:{ElUpload:se,ElButton:q,InfoIcon:P,ImagePreview:z,FontAwesomeIcon:T},mixins:[ae],data(){return{fileList:[],uploadUrl:H()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const i=(this.fileList||[]).filter(b=>!b?.response?.file_url);this.fileList=i.length?i:[];return}const t=[];e.forEach(i=>{const b=this.fileList.find(f=>f?.response?.file_url===i||f?.url===i);b?t.push(b):t.push({name:i.split("/").pop()||i,url:i,status:"success",percentage:100,response:{file_url:i}})}),(this.fileList||[]).filter(i=>!i?.response?.file_url).forEach(i=>{t.some(f=>f===i||f?.url===i?.url||f?.response?.file_url===i?.response?.file_url)||t.push(i)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){R.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){R.error(this.$t("nanobanana.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ne={class:"field flex items-center justify-between"},Ee={class:"title font-bold text-[14px] mb-[10px]"},Re={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Le={class:"controls flex items-center"},Ie={class:"file-list flex flex-wrap gap-[10px]"};function Se(e,t,$,i,b,f){const h=s("font-awesome-icon"),_=s("el-button"),d=s("el-upload"),m=s("info-icon"),V=s("image-preview");return n(),l(A,null,[u("div",Ne,[u("h2",Ee,o(e.$t("nanobanana.name.imageUrls")),1),u("div",Re,[u("div",Le,[a(d,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=r=>e.fileList=r),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:g(()=>[a(_,{size:"small",type:"primary",round:""},{default:g(()=>[a(h,{icon:"fa-solid fa-upload",class:"mr-1"}),c(" "+o(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),a(m,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),u("div",Ie,[(n(!0),l(A,null,N(e.fileList,(r,v)=>(n(),k(V,{key:r.uid||r?.response?.file_url||r.url||v,url:r.url||r?.response?.file_url,name:r.name,percentage:r.percentage,onRemove:E=>e.onRemovePreview(v,r)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Te=w(Ae,[["render",Se]]),qe=y({name:"AspectRatioSelector",components:{ElSelect:G,ElOption:B},data(){return{options:["1:1","3:2","2:3","16:9","9:16","4:3","3:4"]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e);const t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit("nanobanana/setConfig",t)}}}}),Oe={class:"field"},Ue={class:"title font-bold"};function Ce(e,t,$,i,b,f){const h=s("el-option"),_=s("el-select");return n(),l("div",Oe,[u("h2",Ue,o(e.$t("nanobanana.name.aspectRatio")),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",clearable:"",placeholder:e.$t("nanobanana.placeholder.select")},{default:g(()=>[(n(!0),l(A,null,N(e.options,d=>(n(),k(h,{key:d,label:d,value:d},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Pe=w(qe,[["render",Ce],["__scopeId","data-v-67f08a08"]]),Be=y({name:"NanobananaModelSelector",components:{ElSelect:G,ElOption:B,InfoIcon:P},data(){return{options:[{value:x,label:this.$t("nanobanana.model.nanoBanana")},{value:C,label:this.$t("nanobanana.model.nanoBananaPro")},{value:Q,label:this.$t("nanobanana.model.nanoBanana2")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t("nanobanana.description.model")}},mounted(){this.value||(this.value=J)}}),Ge={class:"field"},Me={class:"label"},je={class:"box"},De={class:"title font-bold"};function Fe(e,t,$,i,b,f){const h=s("info-icon"),_=s("el-option"),d=s("el-select");return n(),l("div",Ge,[u("div",Me,[u("div",je,[u("h2",De,o(e.$t("nanobanana.name.model")),1),a(h,{content:e.modelDescription,class:"info"},null,8,["content"])])]),a(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:g(()=>[(n(!0),l(A,null,N(e.options,m=>(n(),k(_,{key:m.value,label:m.label,value:m.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const xe=w(Be,[["render",Fe],["__scopeId","data-v-94304d73"]]),ze=y({name:"NanobananaResolutionSelector",components:{ElSelect:G,ElOption:B,InfoIcon:P},data(){return{cachedResolution:S,options:[{value:M,label:M},{value:j,label:j},{value:D,label:D}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model!==x}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||(this.value=this.cachedResolution||S):(this.value&&(this.cachedResolution=this.value),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=S),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),We={class:"field"},Ke={class:"label"},He={class:"box"},Je={class:"title font-bold"};function Qe(e,t,$,i,b,f){const h=s("info-icon"),_=s("el-option"),d=s("el-select");return n(),l("div",We,[u("div",Ke,[u("div",He,[u("h2",Je,o(e.$t("nanobanana.name.resolution")),1),a(h,{content:e.$t("nanobanana.description.resolutionProOnly"),class:"info"},null,8,["content"])])]),a(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:g(()=>[(n(!0),l(A,null,N(e.options,m=>(n(),k(_,{key:m.value,label:m.label,value:m.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const Xe=w(ze,[["render",Qe],["__scopeId","data-v-fd5ab393"]]),Ye=y({name:"ConfigPanel",components:{ElButton:q,FontAwesomeIcon:T,PromptInput:Ve,Consumption:le,ImageUrlsInput:Te,AspectRatioSelector:Pe,ModelSelector:xe,ResolutionSelector:Xe},emits:["generate"],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return re({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ze={class:"flex flex-col h-full"},et={class:"flex-1 overflow-y-auto p-5"},tt={class:"flex flex-col items-center justify-center px-5 pb-5"};function at(e,t,$,i,b,f){const h=s("model-selector"),_=s("resolution-selector"),d=s("prompt-input"),m=s("aspect-ratio-selector"),V=s("image-urls-input"),r=s("consumption"),v=s("font-awesome-icon"),E=s("el-button");return n(),l("div",Ze,[u("div",et,[a(h,{class:"mb-4"}),a(_,{class:"mb-4"}),a(d,{class:"mb-4"}),a(m,{class:"mb-4"}),a(V,{class:"mb-4"})]),u("div",tt,[a(r,{value:e.consumption,service:e.service},null,8,["value","service"]),a(E,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:g(()=>[a(v,{icon:"fa-solid fa-magic",class:"mr-2"}),c(" "+o(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const ot=w(Ye,[["render",at]]),nt=y({name:"TaskPreview",components:{ElImage:pe,CopyToClipboard:ce,FontAwesomeIcon:T,ElAlert:de,ImageWrapper:ue,ElButton:q,ElTooltip:me,ImagePreview:z},props:{modelValue:{type:Object,required:!0}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit("nanobanana/setConfig",t)}}}),st={class:"preview"},lt={class:"left"},rt={class:"main"},it={class:"bot"},ct={class:"datetime"},ut={class:"info"},mt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},dt={key:1,class:"prompt mt-2"},pt={key:0},ft={key:0,class:O({content:!0,failed:!0})},ht={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},_t={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Vt={key:1,class:O({content:!0})},At={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},St={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},qt={key:2,class:O({content:!0})},Ot={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ct={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Pt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Gt(e,t,$,i,b,f){const h=s("el-image"),_=s("image-preview"),d=s("image-wrapper"),m=s("el-button"),V=s("el-tooltip"),r=s("font-awesome-icon"),v=s("copy-to-clipboard"),E=s("el-alert");return n(),l("div",st,[u("div",lt,[a(h,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),u("div",rt,[u("div",it,[c(o(e.$t("nanobanana.name.nanobananaBot"))+" ",1),u("span",ct,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),u("div",ut,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(n(),l("div",mt,[(n(!0),l(A,null,N(e.modelValue?.request?.image_urls,(L,I)=>(n(),k(_,{key:I,url:L,name:`image-${I+1}`,closable:!1},null,8,["url","name"]))),128))])):p("",!0),e.modelValue?.request?.prompt?(n(),l("p",dt,[c(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?p("",!0):(n(),l("span",pt," - ("+o(e.$t("nanobanana.status.pending"))+") ",1))])):p("",!0)]),e.modelValue?.response?.success===!0?(n(),l("div",ft,[u("div",ht,[(n(!0),l(A,null,N(e.images,(L,I)=>(n(),k(d,{key:I,src:L?.image_url,"raw-src":L?.image_url},null,8,["src","raw-src"]))),128))]),u("div",_t,[a(V,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:g(()=>[a(m,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=K(L=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:g(()=>[c(o(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),a(E,{closable:!1,class:"mt-2 success"},{default:g(()=>[e.modelValue?.request?.model?(n(),l("p",gt,[a(r,{icon:"fa-solid fa-cube",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):p("",!0),e.modelValue?.request?.resolution?(n(),l("p",bt,[a(r,{icon:"fa-solid fa-image",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):p("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",$t,[a(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):p("",!0),e.modelValue?.request?.action?(n(),l("p",vt,[a(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):p("",!0),u("p",kt,[a(r,{icon:"fa-solid fa-magic",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(n(),l("p",yt,[a(r,{icon:"fa-solid fa-clock",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.elapsed"))+": "+o(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0),e.modelValue?.response?.trace_id?(n(),l("p",wt,[a(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),a(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):p("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),l("div",Vt,[a(E,{closable:!1,class:"failure"},{template:g(()=>[a(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.failure")),1)]),default:g(()=>[e.modelValue?.request?.model?(n(),l("p",At,[a(r,{icon:"fa-solid fa-cube",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):p("",!0),e.modelValue?.request?.resolution?(n(),l("p",Nt,[a(r,{icon:"fa-solid fa-image",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):p("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Et,[a(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):p("",!0),e.modelValue?.request?.action?(n(),l("p",Rt,[a(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):p("",!0),u("p",Lt,[a(r,{icon:"fa-solid fa-magic",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),u("p",It,[a(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),a(v,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(n(),l("p",St,[a(r,{icon:"fa-solid fa-clock",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.elapsed"))+": "+o(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0),e.modelValue?.response?.trace_id?(n(),l("p",Tt,[a(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),a(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):p("",!0)]),_:1})])):(n(),l("div",qt,[a(E,{closable:!1,class:"info"},{template:g(()=>[a(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.failure")),1)]),default:g(()=>[e.modelValue?.request?.model?(n(),l("p",Ot,[a(r,{icon:"fa-solid fa-cube",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):p("",!0),e.modelValue?.request?.resolution?(n(),l("p",Ut,[a(r,{icon:"fa-solid fa-image",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):p("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Ct,[a(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):p("",!0),e.modelValue?.request?.action?(n(),l("p",Pt,[a(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):p("",!0),u("p",Bt,[a(r,{icon:"fa-solid fa-magic",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Mt=w(nt,[["render",Gt],["__scopeId","data-v-8d5f4fff"]]),jt=y({name:"RecentPanel",components:{TaskPreview:Mt,BotPlaceholder:fe,NoTasks:te,ScrollList:oe},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Dt={key:0},Ft={key:2,class:"w-full h-full flex items-center justify-center"};function xt(e,t,$,i,b,f){const h=s("bot-placeholder"),_=s("task-preview"),d=s("scroll-list"),m=s("no-tasks");return n(),l(A,null,[e.tasks?.items===void 0?(n(),l("div",Dt,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),k(d,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=V=>e.$emit("reach-top"))},{default:g(()=>[(n(!0),l(A,null,N(e.tasks?.items,V=>(n(),k(_,{key:V.id,"model-value":V},null,8,["model-value"]))),128))]),_:1},8,["loading"])):p("",!0),e.tasks?.items?.length===0?(n(),l("div",Ft,[a(m)])):p("",!0)],64)}const zt=w(jt,[["render",xt]]),Wt=Z("nanobanana"),Kt=y({name:"NanobananaIndex",components:{ConfigPanel:ot,Layout:ve,RecentPanel:zt},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===F.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ne({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("nanobanana/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("nanobanana/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:$,createdAtMax:i}=e||{};console.debug("limit",t,"createdAtMin",$,"createdAtMax",i),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:$,createdAtMax:i})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&"image_urls"in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model!==C&&"resolution"in e&&delete e.resolution,e?.model===C&&!e?.resolution&&(e.resolution=S);const $={...e,action:t?"edit":"generate",callback_url:Wt},i=this.credential?.token;if(!i){console.error("no token specified");return}R.info(this.$t("nanobanana.message.startingTask")),X("nanobanana",Y.generate($,{token:i})).then(()=>{R.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(b=>{const f=b?.response?.data;f?.error?.code===ie?R.error(this.$t("nanobanana.message.usedUp")):R.error(this.$t("nanobanana.message.startTaskFailed")+(f?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ht(e,t,$,i,b,f){const h=s("config-panel"),_=s("recent-panel"),d=s("layout");return n(),k(d,null,{config:g(()=>[a(h,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:g(()=>[a(_,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Pa=w(Kt,[["render",Ht]]);export{Pa as default};
1
+ import{F as T}from"./index.es-DN8G0P37.js";import{E as q}from"./index-CwPjkJs4.js";import{E as W}from"./index-B6W1wPG_.js";import{d as y,H as l,E as u,z as U,C as a,y as g,D as s,q as n,x as k,F as o,I as c,O as A,N,J as p,M as K,Q as O}from"./vendor-vue-NSDaktjZ.js";import{G as w,bj as H,cI as J,cJ as x,cK as C,cL as Q,cM as S,cN as M,cO as j,cP as D,co as X,aT as Y,S as F,cp as Z}from"./index-CnhjD_2F.js";import{P as ee,N as te}from"./NoTasks-gaaOL_m7.js";import{p as ae}from"./pasteUploadMixin-BurWbGNQ.js";import{I as P,S as oe,l as ne}from"./pagination-BCTFE7Z3.js";import{I as z}from"./ImagePreview-CJP-yB4D.js";import{E as se}from"./index-Kc0m7PO-.js";import{E as R}from"./index-D1rl1ShF.js";import{E as B,a as G}from"./index-DFzC0rQH.js";import{C as le}from"./Consumption-tJVE5oXO.js";import{a as re}from"./price-7DAsoJmR.js";import{b as ie}from"./errorCode-Cqj9Td_Z.js";import{C as ce}from"./CopyToClipboard-BthEHufq.js";import{I as ue}from"./ImageWrapper-BBWjyl4X.js";import{E as me}from"./index-ClwpIr_P.js";import{E as de}from"./index-CbbUfyeR.js";import{E as pe}from"./index-CrH79zK9.js";import{B as fe}from"./BotPlaceholder-BZTrMT1c.js";import"./use-form-item-BKB_7n3g.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./index-D7LXRPby.js";import"./typescript-COFNajQU.js";import"./index-DPq9Ww9N.js";import"./index-qUrXiTT8.js";import"./index-CLR-flkd.js";import"./_baseClone-Q0okPItx.js";import"./_Uint8Array-BnVWNeHp.js";import"./_initCloneObject-DuLU5kHr.js";import"./isEqual-DGVdfmbU.js";import"./index-DmYzMmpZ.js";import"./strings-beZM2Y-f.js";import"./castArray-CB5VORGs.js";import"./debounce-Bt9MZ6bV.js";import"./_baseIteratee-Bw61Z4Wx.js";import"./index-D4eloMlC.js";import"./index-uim_HWNA.js";const he=y({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:q,FontAwesomeIcon:T},data(){return{drawer:!1}}}),_e={class:"main flex flex-row flex-1"},ge={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},be={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function $e(e,t,$,i,b,f){const h=s("font-awesome-icon"),_=s("el-button"),d=s("el-drawer");return n(),l("div",_e,[u("div",ge,[U(e.$slots,"config",{},void 0,!0)]),u("div",be,[U(e.$slots,"result",{},void 0,!0)]),a(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=m=>e.drawer=!0)},{default:g(()=>[a(h,{icon:"fa-solid fa-magic"})]),_:1}),a(d,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=m=>e.drawer=m),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:g(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ve=w(he,[["render",$e],["__scopeId","data-v-8ca1c212"]]),ke="",ye=y({name:"PromptInput",components:{PromptTextarea:ee},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ke)}});function we(e,t,$,i,b,f){const h=s("prompt-textarea");return n(),k(h,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=_=>e.prompt=_),title:e.$t("nanobanana.name.prompt"),info:e.$t("nanobanana.description.prompt"),placeholder:e.$t("nanobanana.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const Ve=w(ye,[["render",we]]),Ae=y({name:"ImageUrlsInput",components:{ElUpload:se,ElButton:q,InfoIcon:P,ImagePreview:z,FontAwesomeIcon:T},mixins:[ae],data(){return{fileList:[],uploadUrl:H()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const i=(this.fileList||[]).filter(b=>!b?.response?.file_url);this.fileList=i.length?i:[];return}const t=[];e.forEach(i=>{const b=this.fileList.find(f=>f?.response?.file_url===i||f?.url===i);b?t.push(b):t.push({name:i.split("/").pop()||i,url:i,status:"success",percentage:100,response:{file_url:i}})}),(this.fileList||[]).filter(i=>!i?.response?.file_url).forEach(i=>{t.some(f=>f===i||f?.url===i?.url||f?.response?.file_url===i?.response?.file_url)||t.push(i)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){R.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){R.error(this.$t("nanobanana.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ne={class:"field flex items-center justify-between"},Ee={class:"title font-bold text-[14px] mb-[10px]"},Re={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Le={class:"controls flex items-center"},Ie={class:"file-list flex flex-wrap gap-[10px]"};function Se(e,t,$,i,b,f){const h=s("font-awesome-icon"),_=s("el-button"),d=s("el-upload"),m=s("info-icon"),V=s("image-preview");return n(),l(A,null,[u("div",Ne,[u("h2",Ee,o(e.$t("nanobanana.name.imageUrls")),1),u("div",Re,[u("div",Le,[a(d,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=r=>e.fileList=r),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:g(()=>[a(_,{size:"small",type:"primary",round:""},{default:g(()=>[a(h,{icon:"fa-solid fa-upload",class:"mr-1"}),c(" "+o(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),a(m,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),u("div",Ie,[(n(!0),l(A,null,N(e.fileList,(r,v)=>(n(),k(V,{key:r.uid||r?.response?.file_url||r.url||v,url:r.url||r?.response?.file_url,name:r.name,percentage:r.percentage,onRemove:E=>e.onRemovePreview(v,r)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Te=w(Ae,[["render",Se]]),qe=y({name:"AspectRatioSelector",components:{ElSelect:G,ElOption:B},data(){return{options:["1:1","3:2","2:3","16:9","9:16","4:3","3:4"]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e);const t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit("nanobanana/setConfig",t)}}}}),Oe={class:"field"},Ue={class:"title font-bold"};function Ce(e,t,$,i,b,f){const h=s("el-option"),_=s("el-select");return n(),l("div",Oe,[u("h2",Ue,o(e.$t("nanobanana.name.aspectRatio")),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",clearable:"",placeholder:e.$t("nanobanana.placeholder.select")},{default:g(()=>[(n(!0),l(A,null,N(e.options,d=>(n(),k(h,{key:d,label:d,value:d},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Pe=w(qe,[["render",Ce],["__scopeId","data-v-67f08a08"]]),Be=y({name:"NanobananaModelSelector",components:{ElSelect:G,ElOption:B,InfoIcon:P},data(){return{options:[{value:x,label:this.$t("nanobanana.model.nanoBanana")},{value:C,label:this.$t("nanobanana.model.nanoBananaPro")},{value:Q,label:this.$t("nanobanana.model.nanoBanana2")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t("nanobanana.description.model")}},mounted(){this.value||(this.value=J)}}),Ge={class:"field"},Me={class:"label"},je={class:"box"},De={class:"title font-bold"};function Fe(e,t,$,i,b,f){const h=s("info-icon"),_=s("el-option"),d=s("el-select");return n(),l("div",Ge,[u("div",Me,[u("div",je,[u("h2",De,o(e.$t("nanobanana.name.model")),1),a(h,{content:e.modelDescription,class:"info"},null,8,["content"])])]),a(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:g(()=>[(n(!0),l(A,null,N(e.options,m=>(n(),k(_,{key:m.value,label:m.label,value:m.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const xe=w(Be,[["render",Fe],["__scopeId","data-v-94304d73"]]),ze=y({name:"NanobananaResolutionSelector",components:{ElSelect:G,ElOption:B,InfoIcon:P},data(){return{cachedResolution:S,options:[{value:M,label:M},{value:j,label:j},{value:D,label:D}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model!==x}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||(this.value=this.cachedResolution||S):(this.value&&(this.cachedResolution=this.value),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=S),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),We={class:"field"},Ke={class:"label"},He={class:"box"},Je={class:"title font-bold"};function Qe(e,t,$,i,b,f){const h=s("info-icon"),_=s("el-option"),d=s("el-select");return n(),l("div",We,[u("div",Ke,[u("div",He,[u("h2",Je,o(e.$t("nanobanana.name.resolution")),1),a(h,{content:e.$t("nanobanana.description.resolutionProOnly"),class:"info"},null,8,["content"])])]),a(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:g(()=>[(n(!0),l(A,null,N(e.options,m=>(n(),k(_,{key:m.value,label:m.label,value:m.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const Xe=w(ze,[["render",Qe],["__scopeId","data-v-fd5ab393"]]),Ye=y({name:"ConfigPanel",components:{ElButton:q,FontAwesomeIcon:T,PromptInput:Ve,Consumption:le,ImageUrlsInput:Te,AspectRatioSelector:Pe,ModelSelector:xe,ResolutionSelector:Xe},emits:["generate"],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return re({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ze={class:"flex flex-col h-full"},et={class:"flex-1 overflow-y-auto p-5"},tt={class:"flex flex-col items-center justify-center px-5 pb-5"};function at(e,t,$,i,b,f){const h=s("model-selector"),_=s("resolution-selector"),d=s("prompt-input"),m=s("aspect-ratio-selector"),V=s("image-urls-input"),r=s("consumption"),v=s("font-awesome-icon"),E=s("el-button");return n(),l("div",Ze,[u("div",et,[a(h,{class:"mb-4"}),a(_,{class:"mb-4"}),a(d,{class:"mb-4"}),a(m,{class:"mb-4"}),a(V,{class:"mb-4"})]),u("div",tt,[a(r,{value:e.consumption,service:e.service},null,8,["value","service"]),a(E,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:g(()=>[a(v,{icon:"fa-solid fa-magic",class:"mr-2"}),c(" "+o(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const ot=w(Ye,[["render",at]]),nt=y({name:"TaskPreview",components:{ElImage:pe,CopyToClipboard:ce,FontAwesomeIcon:T,ElAlert:de,ImageWrapper:ue,ElButton:q,ElTooltip:me,ImagePreview:z},props:{modelValue:{type:Object,required:!0}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit("nanobanana/setConfig",t)}}}),st={class:"preview"},lt={class:"left"},rt={class:"main"},it={class:"bot"},ct={class:"datetime"},ut={class:"info"},mt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},dt={key:1,class:"prompt mt-2"},pt={key:0},ft={key:0,class:O({content:!0,failed:!0})},ht={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},_t={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Vt={key:1,class:O({content:!0})},At={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},St={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},qt={key:2,class:O({content:!0})},Ot={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ct={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Pt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Gt(e,t,$,i,b,f){const h=s("el-image"),_=s("image-preview"),d=s("image-wrapper"),m=s("el-button"),V=s("el-tooltip"),r=s("font-awesome-icon"),v=s("copy-to-clipboard"),E=s("el-alert");return n(),l("div",st,[u("div",lt,[a(h,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),u("div",rt,[u("div",it,[c(o(e.$t("nanobanana.name.nanobananaBot"))+" ",1),u("span",ct,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),u("div",ut,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(n(),l("div",mt,[(n(!0),l(A,null,N(e.modelValue?.request?.image_urls,(L,I)=>(n(),k(_,{key:I,url:L,name:`image-${I+1}`,closable:!1},null,8,["url","name"]))),128))])):p("",!0),e.modelValue?.request?.prompt?(n(),l("p",dt,[c(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?p("",!0):(n(),l("span",pt," - ("+o(e.$t("nanobanana.status.pending"))+") ",1))])):p("",!0)]),e.modelValue?.response?.success===!0?(n(),l("div",ft,[u("div",ht,[(n(!0),l(A,null,N(e.images,(L,I)=>(n(),k(d,{key:I,src:L?.image_url,"raw-src":L?.image_url},null,8,["src","raw-src"]))),128))]),u("div",_t,[a(V,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:g(()=>[a(m,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=K(L=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:g(()=>[c(o(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),a(E,{closable:!1,class:"mt-2 success"},{default:g(()=>[e.modelValue?.request?.model?(n(),l("p",gt,[a(r,{icon:"fa-solid fa-cube",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):p("",!0),e.modelValue?.request?.resolution?(n(),l("p",bt,[a(r,{icon:"fa-solid fa-image",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):p("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",$t,[a(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):p("",!0),e.modelValue?.request?.action?(n(),l("p",vt,[a(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):p("",!0),u("p",kt,[a(r,{icon:"fa-solid fa-magic",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(n(),l("p",yt,[a(r,{icon:"fa-solid fa-clock",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.elapsed"))+": "+o(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0),e.modelValue?.response?.trace_id?(n(),l("p",wt,[a(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),a(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):p("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),l("div",Vt,[a(E,{closable:!1,class:"failure"},{template:g(()=>[a(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.failure")),1)]),default:g(()=>[e.modelValue?.request?.model?(n(),l("p",At,[a(r,{icon:"fa-solid fa-cube",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):p("",!0),e.modelValue?.request?.resolution?(n(),l("p",Nt,[a(r,{icon:"fa-solid fa-image",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):p("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Et,[a(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):p("",!0),e.modelValue?.request?.action?(n(),l("p",Rt,[a(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):p("",!0),u("p",Lt,[a(r,{icon:"fa-solid fa-magic",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),u("p",It,[a(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),a(v,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(n(),l("p",St,[a(r,{icon:"fa-solid fa-clock",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.elapsed"))+": "+o(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0),e.modelValue?.response?.trace_id?(n(),l("p",Tt,[a(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),a(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):p("",!0)]),_:1})])):(n(),l("div",qt,[a(E,{closable:!1,class:"info"},{template:g(()=>[a(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.failure")),1)]),default:g(()=>[e.modelValue?.request?.model?(n(),l("p",Ot,[a(r,{icon:"fa-solid fa-cube",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):p("",!0),e.modelValue?.request?.resolution?(n(),l("p",Ut,[a(r,{icon:"fa-solid fa-image",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):p("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Ct,[a(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):p("",!0),e.modelValue?.request?.action?(n(),l("p",Pt,[a(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):p("",!0),u("p",Bt,[a(r,{icon:"fa-solid fa-magic",class:"mr-1"}),c(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Mt=w(nt,[["render",Gt],["__scopeId","data-v-8d5f4fff"]]),jt=y({name:"RecentPanel",components:{TaskPreview:Mt,BotPlaceholder:fe,NoTasks:te,ScrollList:oe},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Dt={key:0},Ft={key:2,class:"w-full h-full flex items-center justify-center"};function xt(e,t,$,i,b,f){const h=s("bot-placeholder"),_=s("task-preview"),d=s("scroll-list"),m=s("no-tasks");return n(),l(A,null,[e.tasks?.items===void 0?(n(),l("div",Dt,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),k(d,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=V=>e.$emit("reach-top"))},{default:g(()=>[(n(!0),l(A,null,N(e.tasks?.items,V=>(n(),k(_,{key:V.id,"model-value":V},null,8,["model-value"]))),128))]),_:1},8,["loading"])):p("",!0),e.tasks?.items?.length===0?(n(),l("div",Ft,[a(m)])):p("",!0)],64)}const zt=w(jt,[["render",xt]]),Wt=Z("nanobanana"),Kt=y({name:"NanobananaIndex",components:{ConfigPanel:ot,Layout:ve,RecentPanel:zt},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===F.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ne({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("nanobanana/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("nanobanana/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:$,createdAtMax:i}=e||{};console.debug("limit",t,"createdAtMin",$,"createdAtMax",i),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:$,createdAtMax:i})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&"image_urls"in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model!==C&&"resolution"in e&&delete e.resolution,e?.model===C&&!e?.resolution&&(e.resolution=S);const $={...e,action:t?"edit":"generate",callback_url:Wt},i=this.credential?.token;if(!i){console.error("no token specified");return}R.info(this.$t("nanobanana.message.startingTask")),X("nanobanana",Y.generate($,{token:i})).then(()=>{R.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(b=>{const f=b?.response?.data;f?.error?.code===ie?R.error(this.$t("nanobanana.message.usedUp")):R.error(this.$t("nanobanana.message.startTaskFailed")+(f?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ht(e,t,$,i,b,f){const h=s("config-panel"),_=s("recent-panel"),d=s("layout");return n(),k(d,null,{config:g(()=>[a(h,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:g(()=>[a(_,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Pa=w(Kt,[["render",Ht]]);export{Pa as default};
@@ -1 +1 @@
1
- import{F as P}from"./index.es-rfDbxZpm.js";import{E as L}from"./index-DBQvlqm3.js";import{E as O}from"./index-D-KZRZPp.js";import{d as $,H as l,E as r,z as R,C as t,y as u,D as s,q as a,F as n,O as S,N as T,x as V,I as h,J as g,Q as U}from"./vendor-vue-NSDaktjZ.js";import{G as k,bj as q,co as B,aD as j,n as F,S as C,cp as N}from"./index-DDJccgho.js";import{a as z,b as K,c as H}from"./pika-DpzVVVef.js";import{I as D,S as J,l as Q}from"./pagination-CDk6ho1i.js";import{E as W}from"./index-XldQDSvy.js";import{E as G,a as M}from"./index-CJ8YZq-e.js";import{a as X,E as Y}from"./index-CL16wKMg.js";import{p as Z}from"./pasteUploadMixin-BurWbGNQ.js";import{I as x}from"./ImagePreview-D1oWKxPX.js";import{E as ee}from"./index-Db5A7UiS.js";import{E}from"./index-DtUQgyoo.js";import{P as te,N as oe}from"./NoTasks-COwD2YRA.js";import{C as se}from"./Consumption-u-UR3f-q.js";import{a as ae}from"./price-C2VbzPrG.js";import{b as ne,a as ie}from"./errorCode-Cqj9Td_Z.js";import{C as le}from"./CopyToClipboard-D2Ga1c-u.js";import{s as re}from"./vue-plyr-BO2nlN4c.js";import{E as ce}from"./index-DK4DFfU5.js";import{E as pe}from"./index-wrqbgHKw.js";import{E as de}from"./index-CkfWRF3i.js";import{B as ue}from"./BotPlaceholder-GbwaSlCU.js";import"./use-form-item-1C5uFRHv.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./validator-BmyjrUCG.js";import"./index-BPk2ZoOA.js";import"./index-DkEDXKbD.js";import"./typescript-CCF0uyn2.js";import"./strings-beZM2Y-f.js";import"./isEqual-CC5LQv_R.js";import"./_Uint8Array-DiKiqj6b.js";import"./castArray-DbfVevQg.js";import"./index-D-SiG2bP.js";import"./index-E1-z9_FO.js";import"./debounce-B-jn60n6.js";import"./_baseIteratee-CCcx0UCd.js";import"./index-B0Cwb-D-.js";import"./index-BjCVlRvR.js";import"./_baseClone-C7mAsPbg.js";import"./_initCloneObject-DHUwupd_.js";import"./index-BcNn3Owf.js";const me=$({name:"LayoutPika",components:{ElDrawer:O,ElButton:L,FontAwesomeIcon:P},data(){return{drawer:!1}}}),fe={class:"main flex flex-row flex-1"},_e={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},he={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ge(e,o,c,d,v,b){const p=s("font-awesome-icon"),m=s("el-button"),i=s("el-drawer");return a(),l("div",fe,[r("div",_e,[R(e.$slots,"config",{},void 0,!0)]),r("div",he,[R(e.$slots,"result",{},void 0,!0)]),t(m,{circle:"",class:"menu",onClick:o[0]||(o[0]=y=>e.drawer=!0)},{default:u(()=>[t(p,{icon:"fa-solid fa-magic"})]),_:1}),t(i,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=y=>e.drawer=y),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[R(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const $e=k(me,[["render",ge],["__scopeId","data-v-10596416"]]),ke=$({name:"IngredientsSelector",components:{ElSwitch:W,InfoIcon:D},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients},set(e){console.debug("set ingredients",e),e||this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,ingredients_mode:void 0,image_url:void 0}),this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,model:"2.0"})}}},mounted(){this.value===void 0&&(this.value=z)}}),ve={class:"field"},be={class:"title font-bold"};function ye(e,o,c,d,v,b){const p=s("el-switch"),m=s("info-icon");return a(),l("div",ve,[r("h2",be,n(e.$t("pika.name.ingredients")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),class:"value"},null,8,["modelValue"]),t(m,{content:e.$t("pika.description.ingredients"),class:"info"},null,8,["content"])])}const we=k(ke,[["render",ye],["__scopeId","data-v-17c0af5c"]]),Ve=$({name:"EffectSelector",components:{ElSelect:M,ElOption:G},data(){return{}},computed:{options(){return[{value:"Levitate",label:this.$t("pika.style.effect1")},{value:"Decapitate",label:this.$t("pika.style.effect2")},{value:"Eye-pop",label:this.$t("pika.style.effect3")},{value:"Ta-da",label:this.$t("pika.style.effect4")},{value:"Deflate",label:this.$t("pika.style.effect5")},{value:"Crumble",label:this.$t("pika.style.effect6")},{value:"Dissolve",label:this.$t("pika.style.effect7")},{value:"Squish",label:this.$t("pika.style.effect8")},{value:"Inflate",label:this.$t("pika.style.effect9")},{value:"Melt",label:this.$t("pika.style.effect10")},{value:"Cake-ify",label:this.$t("pika.style.effect11")},{value:"Crush",label:this.$t("pika.style.effect12")},{value:"Explode",label:this.$t("pika.style.effect13")}]},value:{get(){return this.$store.state.pika?.config?.effect},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,effect:e})}}}}),Ee={class:"field"},Ie={class:"title font-bold"},Se={class:"float-left"};function Te(e,o,c,d,v,b){const p=s("el-option"),m=s("el-select");return a(),l("div",Ee,[r("h2",Ie,n(e.$t("pika.name.effect")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),class:"value",placeholder:e.$t("pika.placeholder.select"),clearable:""},{default:u(()=>[(a(!0),l(S,null,T(e.options,i=>(a(),V(p,{key:i.value,label:i.label,value:i.value},{default:u(()=>[r("span",Se,n(i.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ce=k(Ve,[["render",Te],["__scopeId","data-v-d1c54475"]]),Pe=$({name:"IngredientsModelSelector",components:{ElRadioButton:Y,ElRadioGroup:X},data(){return{options:[{label:this.$t("pika.button.precise"),value:"precise"},{label:this.$t("pika.button.creative"),value:"creative"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients_mode},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients_mode:e})}}},mounted(){this.value||(this.value=K)}}),Le={class:"field"},Ue={class:"title font-bold"};function Ae(e,o,c,d,v,b){const p=s("el-radio-button"),m=s("el-radio-group");return a(),l("div",Le,[r("h2",Ue,n(e.$t("pika.name.ingredientsModel")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),class:"quality"},{default:u(()=>[(a(!0),l(S,null,T(e.options,i=>(a(),V(p,{key:i.value,label:i.value},{default:u(()=>[h(n(i.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const Re=k(Pe,[["render",Ae],["__scopeId","data-v-b72865fa"]]),De=$({name:"ModelSelector",components:{ElSelect:M,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"2.0",label:"2.0"},{value:"1.5",label:"1.5"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.model},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika.config,model:e})}}},mounted(){this.value||(this.value=H)}}),Ge={class:"field"},Me={class:"title font-bold"};function Oe(e,o,c,d,v,b){const p=s("el-option"),m=s("el-select");return a(),l("div",Ge,[r("h2",Me,n(e.$t("pika.name.model")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),class:"value",placeholder:e.$t("pika.placeholder.select")},{default:u(()=>[(a(!0),l(S,null,T(e.options,i=>(a(),V(p,{key:i.value,label:i.label,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const qe=k(De,[["render",Oe],["__scopeId","data-v-7b2e870a"]]),Be=$({name:"ImageUrlInput",components:{ElUpload:ee,ElButton:L,InfoIcon:D,ImagePreview:x,FontAwesomeIcon:P},mixins:[Z],data(){return{fileList:[],uploadUrl:q()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.pika?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("pika.message.uploadStartImageExceed"))},onError(){E.error(this.$t("pika.message.uploadStartImageError"))},async onRemove(){E.error(this.$t("pika.message.uploadStartImageError"))},onSetStartImageUrl(){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:this.urls})},async onSuccess(){this.onSetStartImageUrl()}}}),je={class:"field"},Fe={class:"title font-bold"},Ne={class:"upload-wrapper"};function ze(e,o,c,d,v,b){const p=s("image-preview"),m=s("font-awesome-icon"),i=s("el-button"),y=s("el-upload"),f=s("info-icon");return a(),l("div",je,[r("h2",Fe,n(e.$t("pika.name.imageUrl")),1),r("div",Ne,[t(y,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=_=>e.fileList=_),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value upload-wrapper",limit:3,multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:_})=>[t(p,{url:_.url||_.response?.file_url,name:_.name,percentage:_.percentage,onRemove:I=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])]),default:u(()=>[t(i,{size:"small",type:"primary",round:""},{default:u(()=>[t(m,{icon:"fa-solid fa-upload",class:"mr-1"}),h(" "+n(e.$t("pika.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])]),t(f,{content:e.$t("pika.description.imageUrl"),class:"info"},null,8,["content"])])}const Ke=k(Be,[["render",ze],["__scopeId","data-v-a948772f"]]),He="",Je=$({name:"PromptInput",components:{PromptTextarea:te},computed:{prompt:{get(){return this.$store.state.pika?.config?.prompt},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=He)}});function Qe(e,o,c,d,v,b){const p=s("prompt-textarea");return a(),V(p,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=m=>e.prompt=m),title:e.$t("pika.name.prompt"),info:e.$t("pika.description.prompt"),placeholder:e.$t("pika.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const We=k(Je,[["render",Qe]]),Xe=$({name:"PresetPanel",components:{ImageUrlInput:Ke,ElButton:L,FontAwesomeIcon:P,Consumption:se,PromptInput:We,IngredientsSelector:we,IngredientsModelSelector:Re,ModelSelector:qe,EffectSelector:Ce},emits:["generate"],computed:{config(){return this.$store.state.pika?.config},consumption(){return ae(this.config,this.service?.cost)},service(){return this.$store.state.pika?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ye={class:"flex flex-col h-full"},Ze={class:"flex-1 overflow-y-auto p-5"},xe={class:"flex flex-col items-center justify-center px-5 pb-5"};function et(e,o,c,d,v,b){const p=s("prompt-input"),m=s("model-selector"),i=s("ingredients-selector"),y=s("effect-selector"),f=s("image-url-input"),_=s("ingredients-model-selector"),I=s("consumption"),w=s("font-awesome-icon"),A=s("el-button");return a(),l("div",Ye,[r("div",Ze,[t(p,{class:"mb-4"}),t(m,{class:"mb-4"}),t(i,{class:"mb-4"}),t(y,{class:"mb-4"}),e.config?.ingredients?(a(),V(f,{key:0,class:"mb-4"})):g("",!0),e.config?.ingredients?(a(),V(_,{key:1,class:"mb-4"})):g("",!0)]),r("div",xe,[t(I,{value:e.consumption,service:e.service},null,8,["value","service"]),t(A,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(w,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+n(e.$t("pika.button.generate")),1)]),_:1},8,["onClick"])])])}const tt=k(Xe,[["render",et]]),ot=$({name:"VideoPlayer",components:{VuePlyr:re},props:{modelValue:{type:Object,required:!0}},data(){return{options:{quality:{default:1080,options:[1080]}}}}}),st=["data-poster"],at=["src"];function nt(e,o,c,d,v,b){const p=s("vue-plyr");return a(),l("div",null,[t(p,{options:e.options,class:"video"},{default:u(()=>[r("video",{controls:"",playsinline:"",preload:"metadata","data-poster":e.modelValue?.image_url},[r("source",{size:"1080",src:e.modelValue?.video_url,type:"video/mp4"},null,8,at)],8,st)]),_:1},8,["options"])])}const it=k(ot,[["render",nt],["__scopeId","data-v-897d9fe0"]]),lt=$({name:"TaskPreview",components:{ElImage:de,CopyToClipboard:le,FontAwesomeIcon:P,ElAlert:pe,VideoPlayer:it,ElTooltip:ce,ElButton:L},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pika?.application},config(){return this.$store.state.pika?.config},videos(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(c=>{let d=c;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e){console.log("on download"),window.open(e,"_blank")},onReload(e){const o=e.target,c=new URL(o.src),d=c.searchParams.get("retry");if(!d)c.searchParams.set("retry","1");else if(parseInt(d)<2)c.searchParams.set("retry",(parseInt(d)+1).toString());else return;o.src=c.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),rt={class:"left"},ct={class:"main"},pt={class:"bot"},dt={class:"datetime"},ut={class:"info"},mt={key:0,class:"prompt mt-2"},ft={key:0},_t={key:1},ht={key:0,class:U({content:!0,failed:!0})},gt={class:"image-wrapper"},$t={key:0,class:U({operations:!0,"mt-2":!0})},kt={key:0,class:"description"},vt={class:"description"},bt={key:1,class:"description"},yt={key:1,class:U({content:!0})},wt={class:"description"},Vt={class:"description"},Et={key:0,class:"description"},It={class:"description"},St={key:2,class:U({content:!0})},Tt={class:"description"};function Ct(e,o,c,d,v,b){const p=s("el-image"),m=s("VideoPlayer"),i=s("el-button"),y=s("el-tooltip"),f=s("font-awesome-icon"),_=s("copy-to-clipboard"),I=s("el-alert");return a(!0),l(S,null,T(e.videos,(w,A)=>(a(),l("div",{key:A,class:"preview"},[r("div",rt,[t(p,{src:"https://cdn.acedata.cloud/i80tgn.png",class:"avatar"})]),r("div",ct,[r("div",pt,[h(n(e.$t("pika.name.pikaBot"))+" ",1),r("span",dt,n(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",ut,[e.modelValue?.request?.prompt?(a(),l("p",mt,[h(n(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?g("",!0):(a(),l("span",ft," - ("+n(e.$t("pika.status.pending"))+") ",1)),w?.state==="processing"||w?.state==="pending"?(a(),l("span",_t," - ("+n(e.$t("pika.status.processing"))+") ",1)):g("",!0)])):g("",!0)]),e.modelValue?.response?.success===!0?(a(),l("div",ht,[r("div",gt,[t(m,{"model-value":w},null,8,["model-value"])]),w?(a(),l("div",$t,[t(y,{class:"box-item",effect:"dark",content:e.$t("pika.message.downloadVideo"),placement:"top-start"},{default:u(()=>[w?.video_url?(a(),V(i,{key:0,type:"info",size:"small",class:"btn-action",onClick:qt=>e.onDownload(w?.video_url)},{default:u(()=>[h(n(e.$t("pika.button.download")),1)]),_:1},8,["onClick"])):g("",!0)]),_:2},1032,["content"])])):g("",!0),t(I,{closable:!1,class:"mt-2 success"},{default:u(()=>[e.modelValue?.request?.model?(a(),l("p",kt,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+n(e.$t("pika.name.model"))+": "+n(e.modelValue?.request?.model),1)])):g("",!0),r("p",vt,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+n(e.$t("pika.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(_,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(a(),l("p",bt,[t(f,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+n(e.$t("pika.name.elapsed"))+": "+n(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):g("",!0)]),_:1})])):g("",!0),e.modelValue?.response?.success===!1?(a(),l("div",yt,[t(I,{closable:!1,class:"failure"},{template:u(()=>[t(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+n(e.$t("pika.name.failure")),1)]),default:u(()=>[r("p",wt,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+n(e.$t("pika.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(_,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),r("p",Vt,[t(f,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+n(e.$t("pika.name.failureReason"))+": "+n(e.modelValue?.response?.error?.message)+" ",1),t(_,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(a(),l("p",Et,[t(f,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+n(e.$t("pika.name.elapsed"))+": "+n(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):g("",!0),r("p",It,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+n(e.$t("pika.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),t(_,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):g("",!0),!e.modelValue?.response||w?.state==="processing"||w?.state==="pending"?(a(),l("div",St,[t(I,{closable:!1,class:"info"},{template:u(()=>[t(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+n(e.$t("pika.name.failure")),1)]),default:u(()=>[r("p",Tt,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+n(e.$t("pika.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(_,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):g("",!0)])]))),128)}const Pt=k(lt,[["render",Ct],["__scopeId","data-v-41fe2be6"]]),Lt=$({name:"RecentPanel",components:{TaskPreview:Pt,BotPlaceholder:ue,NoTasks:oe,ScrollList:J},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pika?.tasks,items:this.$store.state.pika?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ut={key:0},At={key:2,class:"w-full h-full flex items-center justify-center"};function Rt(e,o,c,d,v,b){const p=s("bot-placeholder"),m=s("task-preview"),i=s("scroll-list"),y=s("no-tasks");return a(),l(S,null,[e.tasks?.items===void 0?(a(),l("div",Ut,[t(p)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),V(i,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=f=>e.$emit("reach-top"))},{default:u(()=>[(a(!0),l(S,null,T(e.tasks?.items,(f,_)=>(a(),V(m,{key:_,"model-value":f},null,8,["model-value"]))),128))]),_:1},8,["loading"])):g("",!0),e.tasks?.items?.length===0?(a(),l("div",At,[t(y)])):g("",!0)],64)}const Dt=k(Lt,[["render",Rt]]),Gt=N("pika"),Mt=$({name:"PikaIndex",components:{ConfigPanel:tt,Layout:$e,RecentPanel:Dt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pika?.status?.getApplications===C.Request},tasksLoading(){return this.$store.state.pika?.status?.getTasks===C.Request||this.fetchingTasks},service(){return this.$store.state.pika.service},credential(){return this.$store.state.pika.credential},config(){return this.$store.state.pika.config},initializing(){return this.$store.state.pika.status.getApplications===C.Request},needApply(){return this.$store.state.pika.status.getApplications===C.Success&&!this.application},application(){return this.$store.state.pika.application},applications(){return this.$store.state.pika.applications},tasks(){return this.$store.state.pika.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Q({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("pika/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("pika/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){F.create({application:this.application}).then(({data:e})=>{this.application=e,E.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===ie&&E.error(this.$t("application.message.alreadyApplied"))})},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:c,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",c,"createdAtMax",d),this.fetchingTasks=!0;try{await this.$store.dispatch("pika/getTasks",{limit:o,createdAtMin:c,createdAtMax:d})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Gt},o=this.credential?.token;if(!o){console.error("no token specified");return}E.info(this.$t("pika.message.startingTask")),B("pika",j.generate(e,{token:o})).then(()=>{E.success(this.$t("pika.message.startTaskSuccess")),this.$store.commit("pika/setConfig",{config:void 0})}).catch(c=>{c?.response?.data?.error?.code===ne?E.error(this.$t("pika.message.usedUp")):E.error(this.$t("pika.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ot(e,o,c,d,v,b){const p=s("config-panel"),m=s("recent-panel"),i=s("layout");return a(),V(i,null,{config:u(()=>[t(p,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[t(m,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Ao=k(Mt,[["render",Ot],["__scopeId","data-v-3cd7cf5b"]]);export{Ao as default};
1
+ import{F as P}from"./index.es-DN8G0P37.js";import{E as L}from"./index-CwPjkJs4.js";import{E as O}from"./index-B6W1wPG_.js";import{d as $,H as l,E as r,z as R,C as t,y as u,D as s,q as a,F as n,O as S,N as T,x as V,I as h,J as g,Q as U}from"./vendor-vue-NSDaktjZ.js";import{G as k,bj as q,co as B,aD as j,n as F,S as C,cp as N}from"./index-CnhjD_2F.js";import{a as z,b as K,c as H}from"./pika-DpzVVVef.js";import{I as D,S as J,l as Q}from"./pagination-BCTFE7Z3.js";import{E as W}from"./index-CLxhDB-t.js";import{E as G,a as M}from"./index-DFzC0rQH.js";import{a as X,E as Y}from"./index-CiLcyhjJ.js";import{p as Z}from"./pasteUploadMixin-BurWbGNQ.js";import{I as x}from"./ImagePreview-CJP-yB4D.js";import{E as ee}from"./index-Kc0m7PO-.js";import{E}from"./index-D1rl1ShF.js";import{P as te,N as oe}from"./NoTasks-gaaOL_m7.js";import{C as se}from"./Consumption-tJVE5oXO.js";import{a as ae}from"./price-7DAsoJmR.js";import{b as ne,a as ie}from"./errorCode-Cqj9Td_Z.js";import{C as le}from"./CopyToClipboard-BthEHufq.js";import{s as re}from"./vue-plyr-BO2nlN4c.js";import{E as ce}from"./index-ClwpIr_P.js";import{E as pe}from"./index-CbbUfyeR.js";import{E as de}from"./index-CrH79zK9.js";import{B as ue}from"./BotPlaceholder-BZTrMT1c.js";import"./use-form-item-BKB_7n3g.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./validator-QEfhhC-Q.js";import"./index-DPq9Ww9N.js";import"./index-DmYzMmpZ.js";import"./typescript-COFNajQU.js";import"./strings-beZM2Y-f.js";import"./isEqual-DGVdfmbU.js";import"./_Uint8Array-BnVWNeHp.js";import"./castArray-CB5VORGs.js";import"./index-D7LXRPby.js";import"./index-qUrXiTT8.js";import"./debounce-Bt9MZ6bV.js";import"./_baseIteratee-Bw61Z4Wx.js";import"./index-D4eloMlC.js";import"./index-CLR-flkd.js";import"./_baseClone-Q0okPItx.js";import"./_initCloneObject-DuLU5kHr.js";import"./index-uim_HWNA.js";const me=$({name:"LayoutPika",components:{ElDrawer:O,ElButton:L,FontAwesomeIcon:P},data(){return{drawer:!1}}}),fe={class:"main flex flex-row flex-1"},_e={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},he={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ge(e,o,c,d,v,b){const p=s("font-awesome-icon"),m=s("el-button"),i=s("el-drawer");return a(),l("div",fe,[r("div",_e,[R(e.$slots,"config",{},void 0,!0)]),r("div",he,[R(e.$slots,"result",{},void 0,!0)]),t(m,{circle:"",class:"menu",onClick:o[0]||(o[0]=y=>e.drawer=!0)},{default:u(()=>[t(p,{icon:"fa-solid fa-magic"})]),_:1}),t(i,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=y=>e.drawer=y),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[R(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const $e=k(me,[["render",ge],["__scopeId","data-v-10596416"]]),ke=$({name:"IngredientsSelector",components:{ElSwitch:W,InfoIcon:D},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients},set(e){console.debug("set ingredients",e),e||this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,ingredients_mode:void 0,image_url:void 0}),this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,model:"2.0"})}}},mounted(){this.value===void 0&&(this.value=z)}}),ve={class:"field"},be={class:"title font-bold"};function ye(e,o,c,d,v,b){const p=s("el-switch"),m=s("info-icon");return a(),l("div",ve,[r("h2",be,n(e.$t("pika.name.ingredients")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),class:"value"},null,8,["modelValue"]),t(m,{content:e.$t("pika.description.ingredients"),class:"info"},null,8,["content"])])}const we=k(ke,[["render",ye],["__scopeId","data-v-17c0af5c"]]),Ve=$({name:"EffectSelector",components:{ElSelect:M,ElOption:G},data(){return{}},computed:{options(){return[{value:"Levitate",label:this.$t("pika.style.effect1")},{value:"Decapitate",label:this.$t("pika.style.effect2")},{value:"Eye-pop",label:this.$t("pika.style.effect3")},{value:"Ta-da",label:this.$t("pika.style.effect4")},{value:"Deflate",label:this.$t("pika.style.effect5")},{value:"Crumble",label:this.$t("pika.style.effect6")},{value:"Dissolve",label:this.$t("pika.style.effect7")},{value:"Squish",label:this.$t("pika.style.effect8")},{value:"Inflate",label:this.$t("pika.style.effect9")},{value:"Melt",label:this.$t("pika.style.effect10")},{value:"Cake-ify",label:this.$t("pika.style.effect11")},{value:"Crush",label:this.$t("pika.style.effect12")},{value:"Explode",label:this.$t("pika.style.effect13")}]},value:{get(){return this.$store.state.pika?.config?.effect},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,effect:e})}}}}),Ee={class:"field"},Ie={class:"title font-bold"},Se={class:"float-left"};function Te(e,o,c,d,v,b){const p=s("el-option"),m=s("el-select");return a(),l("div",Ee,[r("h2",Ie,n(e.$t("pika.name.effect")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),class:"value",placeholder:e.$t("pika.placeholder.select"),clearable:""},{default:u(()=>[(a(!0),l(S,null,T(e.options,i=>(a(),V(p,{key:i.value,label:i.label,value:i.value},{default:u(()=>[r("span",Se,n(i.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ce=k(Ve,[["render",Te],["__scopeId","data-v-d1c54475"]]),Pe=$({name:"IngredientsModelSelector",components:{ElRadioButton:Y,ElRadioGroup:X},data(){return{options:[{label:this.$t("pika.button.precise"),value:"precise"},{label:this.$t("pika.button.creative"),value:"creative"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients_mode},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients_mode:e})}}},mounted(){this.value||(this.value=K)}}),Le={class:"field"},Ue={class:"title font-bold"};function Ae(e,o,c,d,v,b){const p=s("el-radio-button"),m=s("el-radio-group");return a(),l("div",Le,[r("h2",Ue,n(e.$t("pika.name.ingredientsModel")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),class:"quality"},{default:u(()=>[(a(!0),l(S,null,T(e.options,i=>(a(),V(p,{key:i.value,label:i.value},{default:u(()=>[h(n(i.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const Re=k(Pe,[["render",Ae],["__scopeId","data-v-b72865fa"]]),De=$({name:"ModelSelector",components:{ElSelect:M,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"2.0",label:"2.0"},{value:"1.5",label:"1.5"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.model},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika.config,model:e})}}},mounted(){this.value||(this.value=H)}}),Ge={class:"field"},Me={class:"title font-bold"};function Oe(e,o,c,d,v,b){const p=s("el-option"),m=s("el-select");return a(),l("div",Ge,[r("h2",Me,n(e.$t("pika.name.model")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),class:"value",placeholder:e.$t("pika.placeholder.select")},{default:u(()=>[(a(!0),l(S,null,T(e.options,i=>(a(),V(p,{key:i.value,label:i.label,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const qe=k(De,[["render",Oe],["__scopeId","data-v-7b2e870a"]]),Be=$({name:"ImageUrlInput",components:{ElUpload:ee,ElButton:L,InfoIcon:D,ImagePreview:x,FontAwesomeIcon:P},mixins:[Z],data(){return{fileList:[],uploadUrl:q()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.pika?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("pika.message.uploadStartImageExceed"))},onError(){E.error(this.$t("pika.message.uploadStartImageError"))},async onRemove(){E.error(this.$t("pika.message.uploadStartImageError"))},onSetStartImageUrl(){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:this.urls})},async onSuccess(){this.onSetStartImageUrl()}}}),je={class:"field"},Fe={class:"title font-bold"},Ne={class:"upload-wrapper"};function ze(e,o,c,d,v,b){const p=s("image-preview"),m=s("font-awesome-icon"),i=s("el-button"),y=s("el-upload"),f=s("info-icon");return a(),l("div",je,[r("h2",Fe,n(e.$t("pika.name.imageUrl")),1),r("div",Ne,[t(y,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=_=>e.fileList=_),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value upload-wrapper",limit:3,multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:_})=>[t(p,{url:_.url||_.response?.file_url,name:_.name,percentage:_.percentage,onRemove:I=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])]),default:u(()=>[t(i,{size:"small",type:"primary",round:""},{default:u(()=>[t(m,{icon:"fa-solid fa-upload",class:"mr-1"}),h(" "+n(e.$t("pika.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])]),t(f,{content:e.$t("pika.description.imageUrl"),class:"info"},null,8,["content"])])}const Ke=k(Be,[["render",ze],["__scopeId","data-v-a948772f"]]),He="",Je=$({name:"PromptInput",components:{PromptTextarea:te},computed:{prompt:{get(){return this.$store.state.pika?.config?.prompt},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=He)}});function Qe(e,o,c,d,v,b){const p=s("prompt-textarea");return a(),V(p,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=m=>e.prompt=m),title:e.$t("pika.name.prompt"),info:e.$t("pika.description.prompt"),placeholder:e.$t("pika.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const We=k(Je,[["render",Qe]]),Xe=$({name:"PresetPanel",components:{ImageUrlInput:Ke,ElButton:L,FontAwesomeIcon:P,Consumption:se,PromptInput:We,IngredientsSelector:we,IngredientsModelSelector:Re,ModelSelector:qe,EffectSelector:Ce},emits:["generate"],computed:{config(){return this.$store.state.pika?.config},consumption(){return ae(this.config,this.service?.cost)},service(){return this.$store.state.pika?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ye={class:"flex flex-col h-full"},Ze={class:"flex-1 overflow-y-auto p-5"},xe={class:"flex flex-col items-center justify-center px-5 pb-5"};function et(e,o,c,d,v,b){const p=s("prompt-input"),m=s("model-selector"),i=s("ingredients-selector"),y=s("effect-selector"),f=s("image-url-input"),_=s("ingredients-model-selector"),I=s("consumption"),w=s("font-awesome-icon"),A=s("el-button");return a(),l("div",Ye,[r("div",Ze,[t(p,{class:"mb-4"}),t(m,{class:"mb-4"}),t(i,{class:"mb-4"}),t(y,{class:"mb-4"}),e.config?.ingredients?(a(),V(f,{key:0,class:"mb-4"})):g("",!0),e.config?.ingredients?(a(),V(_,{key:1,class:"mb-4"})):g("",!0)]),r("div",xe,[t(I,{value:e.consumption,service:e.service},null,8,["value","service"]),t(A,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(w,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+n(e.$t("pika.button.generate")),1)]),_:1},8,["onClick"])])])}const tt=k(Xe,[["render",et]]),ot=$({name:"VideoPlayer",components:{VuePlyr:re},props:{modelValue:{type:Object,required:!0}},data(){return{options:{quality:{default:1080,options:[1080]}}}}}),st=["data-poster"],at=["src"];function nt(e,o,c,d,v,b){const p=s("vue-plyr");return a(),l("div",null,[t(p,{options:e.options,class:"video"},{default:u(()=>[r("video",{controls:"",playsinline:"",preload:"metadata","data-poster":e.modelValue?.image_url},[r("source",{size:"1080",src:e.modelValue?.video_url,type:"video/mp4"},null,8,at)],8,st)]),_:1},8,["options"])])}const it=k(ot,[["render",nt],["__scopeId","data-v-897d9fe0"]]),lt=$({name:"TaskPreview",components:{ElImage:de,CopyToClipboard:le,FontAwesomeIcon:P,ElAlert:pe,VideoPlayer:it,ElTooltip:ce,ElButton:L},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pika?.application},config(){return this.$store.state.pika?.config},videos(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(c=>{let d=c;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e){console.log("on download"),window.open(e,"_blank")},onReload(e){const o=e.target,c=new URL(o.src),d=c.searchParams.get("retry");if(!d)c.searchParams.set("retry","1");else if(parseInt(d)<2)c.searchParams.set("retry",(parseInt(d)+1).toString());else return;o.src=c.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),rt={class:"left"},ct={class:"main"},pt={class:"bot"},dt={class:"datetime"},ut={class:"info"},mt={key:0,class:"prompt mt-2"},ft={key:0},_t={key:1},ht={key:0,class:U({content:!0,failed:!0})},gt={class:"image-wrapper"},$t={key:0,class:U({operations:!0,"mt-2":!0})},kt={key:0,class:"description"},vt={class:"description"},bt={key:1,class:"description"},yt={key:1,class:U({content:!0})},wt={class:"description"},Vt={class:"description"},Et={key:0,class:"description"},It={class:"description"},St={key:2,class:U({content:!0})},Tt={class:"description"};function Ct(e,o,c,d,v,b){const p=s("el-image"),m=s("VideoPlayer"),i=s("el-button"),y=s("el-tooltip"),f=s("font-awesome-icon"),_=s("copy-to-clipboard"),I=s("el-alert");return a(!0),l(S,null,T(e.videos,(w,A)=>(a(),l("div",{key:A,class:"preview"},[r("div",rt,[t(p,{src:"https://cdn.acedata.cloud/i80tgn.png",class:"avatar"})]),r("div",ct,[r("div",pt,[h(n(e.$t("pika.name.pikaBot"))+" ",1),r("span",dt,n(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",ut,[e.modelValue?.request?.prompt?(a(),l("p",mt,[h(n(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?g("",!0):(a(),l("span",ft," - ("+n(e.$t("pika.status.pending"))+") ",1)),w?.state==="processing"||w?.state==="pending"?(a(),l("span",_t," - ("+n(e.$t("pika.status.processing"))+") ",1)):g("",!0)])):g("",!0)]),e.modelValue?.response?.success===!0?(a(),l("div",ht,[r("div",gt,[t(m,{"model-value":w},null,8,["model-value"])]),w?(a(),l("div",$t,[t(y,{class:"box-item",effect:"dark",content:e.$t("pika.message.downloadVideo"),placement:"top-start"},{default:u(()=>[w?.video_url?(a(),V(i,{key:0,type:"info",size:"small",class:"btn-action",onClick:qt=>e.onDownload(w?.video_url)},{default:u(()=>[h(n(e.$t("pika.button.download")),1)]),_:1},8,["onClick"])):g("",!0)]),_:2},1032,["content"])])):g("",!0),t(I,{closable:!1,class:"mt-2 success"},{default:u(()=>[e.modelValue?.request?.model?(a(),l("p",kt,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+n(e.$t("pika.name.model"))+": "+n(e.modelValue?.request?.model),1)])):g("",!0),r("p",vt,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+n(e.$t("pika.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(_,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(a(),l("p",bt,[t(f,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+n(e.$t("pika.name.elapsed"))+": "+n(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):g("",!0)]),_:1})])):g("",!0),e.modelValue?.response?.success===!1?(a(),l("div",yt,[t(I,{closable:!1,class:"failure"},{template:u(()=>[t(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+n(e.$t("pika.name.failure")),1)]),default:u(()=>[r("p",wt,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+n(e.$t("pika.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(_,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),r("p",Vt,[t(f,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+n(e.$t("pika.name.failureReason"))+": "+n(e.modelValue?.response?.error?.message)+" ",1),t(_,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(a(),l("p",Et,[t(f,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+n(e.$t("pika.name.elapsed"))+": "+n(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):g("",!0),r("p",It,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+n(e.$t("pika.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),t(_,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):g("",!0),!e.modelValue?.response||w?.state==="processing"||w?.state==="pending"?(a(),l("div",St,[t(I,{closable:!1,class:"info"},{template:u(()=>[t(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+n(e.$t("pika.name.failure")),1)]),default:u(()=>[r("p",Tt,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+n(e.$t("pika.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(_,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):g("",!0)])]))),128)}const Pt=k(lt,[["render",Ct],["__scopeId","data-v-41fe2be6"]]),Lt=$({name:"RecentPanel",components:{TaskPreview:Pt,BotPlaceholder:ue,NoTasks:oe,ScrollList:J},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pika?.tasks,items:this.$store.state.pika?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ut={key:0},At={key:2,class:"w-full h-full flex items-center justify-center"};function Rt(e,o,c,d,v,b){const p=s("bot-placeholder"),m=s("task-preview"),i=s("scroll-list"),y=s("no-tasks");return a(),l(S,null,[e.tasks?.items===void 0?(a(),l("div",Ut,[t(p)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),V(i,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=f=>e.$emit("reach-top"))},{default:u(()=>[(a(!0),l(S,null,T(e.tasks?.items,(f,_)=>(a(),V(m,{key:_,"model-value":f},null,8,["model-value"]))),128))]),_:1},8,["loading"])):g("",!0),e.tasks?.items?.length===0?(a(),l("div",At,[t(y)])):g("",!0)],64)}const Dt=k(Lt,[["render",Rt]]),Gt=N("pika"),Mt=$({name:"PikaIndex",components:{ConfigPanel:tt,Layout:$e,RecentPanel:Dt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pika?.status?.getApplications===C.Request},tasksLoading(){return this.$store.state.pika?.status?.getTasks===C.Request||this.fetchingTasks},service(){return this.$store.state.pika.service},credential(){return this.$store.state.pika.credential},config(){return this.$store.state.pika.config},initializing(){return this.$store.state.pika.status.getApplications===C.Request},needApply(){return this.$store.state.pika.status.getApplications===C.Success&&!this.application},application(){return this.$store.state.pika.application},applications(){return this.$store.state.pika.applications},tasks(){return this.$store.state.pika.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Q({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("pika/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("pika/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){F.create({application:this.application}).then(({data:e})=>{this.application=e,E.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===ie&&E.error(this.$t("application.message.alreadyApplied"))})},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:c,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",c,"createdAtMax",d),this.fetchingTasks=!0;try{await this.$store.dispatch("pika/getTasks",{limit:o,createdAtMin:c,createdAtMax:d})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Gt},o=this.credential?.token;if(!o){console.error("no token specified");return}E.info(this.$t("pika.message.startingTask")),B("pika",j.generate(e,{token:o})).then(()=>{E.success(this.$t("pika.message.startTaskSuccess")),this.$store.commit("pika/setConfig",{config:void 0})}).catch(c=>{c?.response?.data?.error?.code===ne?E.error(this.$t("pika.message.usedUp")):E.error(this.$t("pika.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ot(e,o,c,d,v,b){const p=s("config-panel"),m=s("recent-panel"),i=s("layout");return a(),V(i,null,{config:u(()=>[t(p,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[t(m,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Ao=k(Mt,[["render",Ot],["__scopeId","data-v-3cd7cf5b"]]);export{Ao as default};
@@ -1 +1 @@
1
- import{F as L}from"./index.es-rfDbxZpm.js";import{E as R}from"./index-DBQvlqm3.js";import{E as O}from"./index-D-KZRZPp.js";import{d as $,H as i,E as c,z as P,C as s,y as d,D as o,q as n,F as l,O as w,N as x,x as V,Q as T,R as q,I as k,J as h}from"./vendor-vue-NSDaktjZ.js";import{G as g,bj as B,co as z,aL as N,S as A,cp as X}from"./index-DDJccgho.js";import{a as Q,b as H,c as Y,d as J,e as W,f as K}from"./pixverse-g-p4CgDy.js";import{E as I,a as C}from"./index-CJ8YZq-e.js";import{I as D,S as Z,l as ee}from"./pagination-CDk6ho1i.js";import{E as te}from"./index-BexlGeiF.js";import{E as se}from"./index-8PxRxOr7.js";import{p as oe}from"./pasteUploadMixin-BurWbGNQ.js";import{I as ae}from"./ImagePreview-D1oWKxPX.js";import{E as ne}from"./index-Db5A7UiS.js";import{E as S}from"./index-DtUQgyoo.js";import{P as le,N as ie}from"./NoTasks-COwD2YRA.js";import{C as re}from"./Consumption-u-UR3f-q.js";import{a as ce}from"./price-C2VbzPrG.js";import{b as pe}from"./errorCode-Cqj9Td_Z.js";import{C as de}from"./CopyToClipboard-D2Ga1c-u.js";import{V as ue}from"./VideoPlayer-BOBrupFS.js";import{E as me}from"./index-DK4DFfU5.js";import{E as ve}from"./index-wrqbgHKw.js";import{E as fe}from"./index-CkfWRF3i.js";import{B as _e}from"./BotPlaceholder-GbwaSlCU.js";import"./use-form-item-1C5uFRHv.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./index-DkEDXKbD.js";import"./typescript-CCF0uyn2.js";import"./index-BPk2ZoOA.js";import"./strings-beZM2Y-f.js";import"./isEqual-CC5LQv_R.js";import"./_Uint8Array-DiKiqj6b.js";import"./castArray-DbfVevQg.js";import"./index-D-SiG2bP.js";import"./index-E1-z9_FO.js";import"./debounce-B-jn60n6.js";import"./_baseIteratee-CCcx0UCd.js";import"./index-B0Cwb-D-.js";import"./index-Cu41y2Fl.js";import"./index-BjCVlRvR.js";import"./_baseClone-C7mAsPbg.js";import"./_initCloneObject-DHUwupd_.js";import"./vue-plyr-BO2nlN4c.js";import"./index-BcNn3Owf.js";const he=$({name:"LayoutPixverse",components:{ElDrawer:O,ElButton:R,FontAwesomeIcon:L},data(){return{drawer:!1}}}),$e={class:"main flex flex-row flex-1"},ge={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},be={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ye(e,t,u,m,b,y){const r=o("font-awesome-icon"),p=o("el-button"),a=o("el-drawer");return n(),i("div",$e,[c("div",ge,[P(e.$slots,"config",{},void 0,!0)]),c("div",be,[P(e.$slots,"result",{},void 0,!0)]),s(p,{circle:"",class:"menu",onClick:t[0]||(t[0]=_=>e.drawer=!0)},{default:d(()=>[s(r,{icon:"fa-solid fa-magic"})]),_:1}),s(a,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=_=>e.drawer=_),direction:"ltr","with-header":!1,size:"350px"},{default:d(()=>[P(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ke=g(he,[["render",ye],["__scopeId","data-v-ea5fe174"]]),Ve=$({name:"ModelSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"v3.5",label:"v3.5"},{value:"v4",label:"v4"},{value:"v4.5",label:"v4.5"}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.model},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,model:e})}}},mounted(){this.value||(this.value=Q)}}),we={class:"field"},xe={class:"title font-bold"};function Se(e,t,u,m,b,y){const r=o("el-option"),p=o("el-select");return n(),i("div",we,[c("h2",xe,l(e.$t("pixverse.name.model")),1),s(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(n(!0),i(w,null,x(e.options,a=>(n(),V(r,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ee=g(Ve,[["render",Se],["__scopeId","data-v-e8f337ca"]]),Te=$({name:"QualitySelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"360p",label:"360p"},{value:"540p",label:"540p"},{value:"720p",label:"720p"},{value:"1080p",label:"1080p"}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.quality},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,quality:e})}}},mounted(){this.value||(this.value=H)}}),Ie={class:"field"},Ce={class:"title font-bold"};function Le(e,t,u,m,b,y){const r=o("el-option"),p=o("el-select");return n(),i("div",Ie,[c("h2",Ce,l(e.$t("pixverse.name.quality")),1),s(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(n(!0),i(w,null,x(e.options,a=>(n(),V(r,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Re=g(Te,[["render",Le],["__scopeId","data-v-64aeaae9"]]),Ue=$({name:"MotionSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"normal",label:this.$t("pixverse.name.motion1")},{value:"fast",label:this.$t("pixverse.name.motion2")}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.motion},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,motion:e})}}},mounted(){this.value||(this.value=Y)}}),Pe={class:"field"},Ae={class:"title font-bold"};function De(e,t,u,m,b,y){const r=o("el-option"),p=o("el-select");return n(),i("div",Pe,[c("h2",Ae,l(e.$t("pixverse.name.motion")),1),s(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(n(!0),i(w,null,x(e.options,a=>(n(),V(r,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ge=g(Ue,[["render",De],["__scopeId","data-v-94237408"]]),je=$({name:"StyleSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"cyberpunk",label:this.$t("pixverse.name.style1")},{value:"anime",label:this.$t("pixverse.name.style2")},{value:"comic",label:this.$t("pixverse.name.style3")},{value:"clay",label:this.$t("pixverse.name.style4")},{value:"3d_animation",label:this.$t("pixverse.name.style5")},{value:"realistic",label:this.$t("pixverse.name.style6")}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.style},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,style:e})}}},mounted(){this.value||(this.value=J)}}),Me={class:"field"},Fe={class:"title font-bold"};function Oe(e,t,u,m,b,y){const r=o("el-option"),p=o("el-select");return n(),i("div",Me,[c("h2",Fe,l(e.$t("pixverse.name.style")),1),s(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(n(!0),i(w,null,x(e.options,a=>(n(),V(r,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const qe=g(je,[["render",Oe],["__scopeId","data-v-64e17b3c"]]),Be=$({name:"SeedSelector",components:{ElSlider:se,InfoIcon:D,ElInputNumber:te},computed:{value:{get(){return this.$store.state?.pixverse?.config?.seed},set(e){console.debug("set seed",e),this.$store.commit("pixverse/setConfig",{...this.$store.state?.pixverse?.config,seed:e})}}},mounted(){this.value||(this.value=void 0)}}),ze={class:"flex justify-between"},Ne={class:"flex justify-start items-center"},Xe={class:"text-sm font-bold"},Qe={class:"flex justify-end items-center"},He={class:"w-full"};function Ye(e,t,u,m,b,y){const r=o("info-icon"),p=o("el-input-number"),a=o("el-slider");return n(),i("div",null,[c("div",ze,[c("div",Ne,[c("span",Xe,l(e.$t("pixverse.name.seed")),1),s(r,{content:e.$t("pixverse.description.seed")},null,8,["content"])]),c("div",Qe,[s(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=_=>e.value=_),"controls-position":"right"},null,8,["modelValue"])])]),c("div",He,[s(a,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=_=>e.value=_),min:0,max:1e3,step:1},null,8,["modelValue"])])])}const Je=g(Be,[["render",Ye]]),We=$({name:"DurationSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:5,label:"5s"},{value:8,label:"8s"}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.duration},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,duration:e})}}},mounted(){this.value||(this.value=W)}}),Ke={class:"field"},Ze={class:"title font-bold"};function et(e,t,u,m,b,y){const r=o("el-option"),p=o("el-select");return n(),i("div",Ke,[c("h2",Ze,l(e.$t("pixverse.name.duration")),1),s(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(n(!0),i(w,null,x(e.options,a=>(n(),V(r,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const tt=g(We,[["render",et],["__scopeId","data-v-065c77ef"]]),st=$({name:"RatioSelector",data(){return{options:[{value:"1:1",label:"1:1",width:20,height:20},{value:"4:3",label:"4:3",width:20,height:15},{value:"3:4",label:"3:4",width:15,height:20},{value:"16:9",label:"16:9",width:25,height:13},{value:"9:16",label:"9:16",width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.pixverse.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e),this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,aspect_ratio:e})}}},mounted(){this.value||(this.value=K)}}),ot={class:"text-sm font-bold mb-2 block"},at={class:"items"},nt=["onClick"],lt={class:"name"};function it(e,t,u,m,b,y){return n(),i("div",null,[c("span",ot,l(e.$t("pixverse.name.aspectRatio")),1),c("div",at,[(n(!0),i(w,null,x(e.options,(r,p)=>(n(),i("div",{key:p,class:T({active:e.active===p,item:!0}),onClick:a=>e.value=r.value},[c("div",{class:T(["preview",r.label])},[c("div",{class:"rect",style:q({width:r.width+"px",height:r.height+"px"})},null,4)],2),c("p",lt,l(r.label),1)],10,nt))),128))])])}const rt=g(st,[["render",it],["__scopeId","data-v-53038264"]]),ct=$({name:"StartImage",components:{ElUpload:ne,ElButton:R,InfoIcon:D,FontAwesomeIcon:L,ImagePreview:ae},mixins:[oe],emits:["change"],data(){return{fileList:[],uploadUrl:B()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){S.warning(this.$t("pixverse.message.uploadReferencesExceed"))},onError(){S.error(this.$t("pixverse.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("pixverse/setConfig",{...this.$store.state?.pixverse?.config,image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),pt={class:"relative"},dt={class:"flex justify-between"},ut={class:"flex justify-start items-center"},mt={class:"text-sm font-bold"};function vt(e,t,u,m,b,y){const r=o("info-icon"),p=o("image-preview"),a=o("font-awesome-icon"),_=o("el-button"),f=o("el-upload");return n(),i("div",pt,[c("div",dt,[c("div",ut,[c("span",mt,l(e.$t("pixverse.name.startImage")),1),s(r,{content:e.$t("pixverse.description.uploadStartImage")},null,8,["content"])])]),s(f,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=v=>e.fileList=v),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:d(({file:v})=>[v.url&&v.percentage!==void 0?(n(),V(p,{key:0,url:v.url,name:v.name,percentage:v.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(v),1)},null,8,["url","name","percentage","onRemove"])):h("",!0)]),default:d(()=>[s(_,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:d(()=>[s(a,{icon:"fa-solid fa-upload",class:"icon mr-1"}),k(" "+l(e.$t("pixverse.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const ft=g(ct,[["render",vt],["__scopeId","data-v-bc133fd2"]]),_t="",ht=$({name:"PromptInput",components:{PromptTextarea:le},computed:{prompt:{get(){return this.$store.state.pixverse?.config?.prompt},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=_t)}});function $t(e,t,u,m,b,y){const r=o("prompt-textarea");return n(),V(r,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=p=>e.prompt=p),title:e.$t("pixverse.name.prompt"),info:e.$t("pixverse.description.prompt"),placeholder:e.$t("pixverse.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const gt=g(ht,[["render",$t]]),bt=$({name:"ConfigPanel",components:{ElButton:R,FontAwesomeIcon:L,PromptInput:gt,ModelSelector:Ee,QualitySelector:Re,MotionSelector:Ge,StyleSelector:qe,DurationSelector:tt,StartImage:ft,SeedSelector:Je,RatioSelector:rt,Consumption:re},emits:["generate"],computed:{config(){return this.$store.state.pixverse?.config},consumption(){return ce(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service}},methods:{onGenerate(){this.$emit("generate")}}}),yt={class:"flex flex-col h-full"},kt={class:"flex-1 overflow-y-auto p-5"},Vt={class:"flex flex-col items-center justify-center px-5 pb-5"};function wt(e,t,u,m,b,y){const r=o("prompt-input"),p=o("model-selector"),a=o("style-selector"),_=o("ratio-selector"),f=o("motion-selector"),v=o("quality-selector"),E=o("start-image"),U=o("seed-selector"),G=o("duration-selector"),j=o("consumption"),M=o("font-awesome-icon"),F=o("el-button");return n(),i("div",yt,[c("div",kt,[s(r,{class:"mb-4"}),s(p,{class:"mb-4"}),s(a,{class:"mb-4"}),s(_,{class:"mb-4"}),s(f,{class:"mb-4"}),s(v,{class:"mb-4"}),s(E,{class:"mb-2"}),s(U,{class:"mb-4"}),s(G,{class:"mb-4"})]),c("div",Vt,[s(j,{value:e.consumption,service:e.service},null,8,["value","service"]),s(F,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[s(M,{icon:"fa-solid fa-magic",class:"mr-2"}),k(" "+l(e.$t("pixverse.button.generate")),1)]),_:1},8,["onClick"])])])}const xt=g(bt,[["render",wt]]),St=$({name:"TaskPreview",components:{ElImage:fe,CopyToClipboard:de,FontAwesomeIcon:L,ElAlert:ve,VideoPlayer:ue,ElTooltip:me,ElButton:R},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pixverse?.application},config(){return this.$store.state.pixverse?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),Et={class:"preview"},Tt={class:"left"},It={class:"main"},Ct={class:"bot"},Lt={class:"datetime"},Rt={class:"info"},Ut={key:0,class:"prompt mt-2"},Pt={key:0},At={key:1},Dt={key:0,class:T({content:!0,failed:!0})},Gt={key:0,class:"mb-4"},jt={key:1,class:T({operations:!0,"mt-2":!0})},Mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ft={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"},qt={key:1,class:T({content:!0})},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Xt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Qt(e,t,u,m,b,y){const r=o("el-image"),p=o("video-player"),a=o("el-button"),_=o("el-tooltip"),f=o("font-awesome-icon"),v=o("copy-to-clipboard"),E=o("el-alert");return n(),i("div",Et,[c("div",Tt,[s(r,{src:"https://cdn.acedata.cloud/viy61r.jpg",class:"avatar"})]),c("div",It,[c("div",Ct,[k(l(e.$t("pixverse.name.pixverseBot"))+" ",1),c("span",Lt,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",Rt,[e.modelValue?.request?.prompt?(n(),i("p",Ut,[k(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?h("",!0):(n(),i("span",Pt," - ("+l(e.$t("pixverse.status.pending"))+") ",1)),e.modelValue?.response?.data&&(e.modelValue?.response?.data[0]?.state==="processing"||e.modelValue?.response?.data[0]?.state==="pending")?(n(),i("span",At," - ("+l(e.$t("pixverse.status.processing"))+") ",1)):h("",!0)])):h("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(n(),i("div",Dt,[e.modelValue?.response?.data[0]?.video_url?(n(),i("div",Gt,[s(p,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):h("",!0),e.modelValue?.response.success?(n(),i("div",jt,[s(_,{class:"box-item",effect:"dark",content:e.$t("pixverse.message.downloadVideo"),placement:"top-start"},{default:d(()=>[e.modelValue?.response?.data[0]?.video_url?(n(),V(a,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=U=>e.onDownload(U,e.modelValue?.response?.data[0]?.video_url))},{default:d(()=>[k(l(e.$t("pixverse.button.download")),1)]),_:1})):h("",!0)]),_:1},8,["content"])])):h("",!0),s(E,{closable:!1,class:"mt-2 success"},{default:d(()=>[c("p",Mt,[s(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.model"))+": "+l(e.modelValue?.request?.model),1)]),c("p",Ft,[s(f,{icon:"fa-solid fa-magic",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),s(v,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(n(),i("p",Ot,[s(f,{icon:"fa-solid fa-clock",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0)]),_:1})])):h("",!0),e.modelValue?.response?.success===!1?(n(),i("div",qt,[s(E,{closable:!1,class:"info"},{template:d(()=>[s(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.failure")),1)]),default:d(()=>[c("p",Bt,[s(f,{icon:"fa-solid fa-circle-info",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),s(v,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),c("p",zt,[s(f,{icon:"fa-solid fa-magic",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),s(v,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(n(),i("p",Nt,[s(f,{icon:"fa-solid fa-clock",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0),e.modelValue?.response?.trace_id?(n(),i("p",Xt,[s(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),s(v,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):h("",!0)]),_:1})])):h("",!0)])])}const Ht=g(St,[["render",Qt],["__scopeId","data-v-f98906e5"]]),Yt=$({name:"RecentPanel",components:{TaskPreview:Ht,NoTasks:ie,BotPlaceholder:_e,ScrollList:Z},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pixverse?.tasks,items:this.$store.state.pixverse?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Jt={key:0},Wt={key:2,class:"w-full h-full flex items-center justify-center"};function Kt(e,t,u,m,b,y){const r=o("bot-placeholder"),p=o("task-preview"),a=o("scroll-list"),_=o("no-tasks");return n(),i(w,null,[e.tasks?.items===void 0?(n(),i("div",Jt,[s(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),V(a,{key:1,ref:"scrollList",class:"h-full w-full overflow-y-auto tasks",loading:e.loading,onReachTop:t[0]||(t[0]=f=>e.$emit("reach-top"))},{default:d(()=>[(n(!0),i(w,null,x(e.tasks?.items,(f,v)=>(n(),V(p,{key:v,"model-value":f},null,8,["model-value"]))),128))]),_:1},8,["loading"])):h("",!0),e.tasks?.items?.length===0?(n(),i("div",Wt,[s(_)])):h("",!0)],64)}const Zt=g(Yt,[["render",Kt]]),es=X("pixverse"),ts=$({name:"PixverseIndex",components:{ConfigPanel:xt,Layout:ke,RecentPanel:Zt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===A.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===A.Request||this.fetchingTasks},credential(){return this.$store.state.pixverse.credential},config(){return this.$store.state.pixverse.config},tasks(){return this.$store.state.pixverse.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ee({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("pixverse/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("pixverse/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:u,createdAtMax:m}=e||{};console.debug("limit",t,"createdAtMin",u,"createdAtMax",m),this.fetchingTasks=!0;try{await this.$store.dispatch("pixverse/getTasks",{limit:t,createdAtMin:u,createdAtMax:m})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:es},t=this.credential?.token;if(!t){console.error("no token specified");return}S.info(this.$t("pixverse.message.startingTask")),z("pixverse",N.generate(e,{token:t})).then(()=>{S.success(this.$t("pixverse.message.startTaskSuccess"))}).catch(u=>{u?.response?.data?.error?.code===pe?S.error(this.$t("pixverse.message.usedUp")):S.error(this.$t("pixverse.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ss(e,t,u,m,b,y){const r=o("config-panel"),p=o("recent-panel"),a=o("layout");return n(),V(a,null,{config:d(()=>[s(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:d(()=>[s(p,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Js=g(ts,[["render",ss]]);export{Js as default};
1
+ import{F as L}from"./index.es-DN8G0P37.js";import{E as R}from"./index-CwPjkJs4.js";import{E as O}from"./index-B6W1wPG_.js";import{d as $,H as i,E as c,z as P,C as s,y as d,D as o,q as n,F as l,O as w,N as x,x as V,Q as T,R as q,I as k,J as h}from"./vendor-vue-NSDaktjZ.js";import{G as g,bj as B,co as z,aL as N,S as A,cp as X}from"./index-CnhjD_2F.js";import{a as Q,b as H,c as Y,d as J,e as W,f as K}from"./pixverse-g-p4CgDy.js";import{E as I,a as C}from"./index-DFzC0rQH.js";import{I as D,S as Z,l as ee}from"./pagination-BCTFE7Z3.js";import{E as te}from"./index-ws34Ea3I.js";import{E as se}from"./index-BHiGwdGq.js";import{p as oe}from"./pasteUploadMixin-BurWbGNQ.js";import{I as ae}from"./ImagePreview-CJP-yB4D.js";import{E as ne}from"./index-Kc0m7PO-.js";import{E as S}from"./index-D1rl1ShF.js";import{P as le,N as ie}from"./NoTasks-gaaOL_m7.js";import{C as re}from"./Consumption-tJVE5oXO.js";import{a as ce}from"./price-7DAsoJmR.js";import{b as pe}from"./errorCode-Cqj9Td_Z.js";import{C as de}from"./CopyToClipboard-BthEHufq.js";import{V as ue}from"./VideoPlayer-Dn-EFbop.js";import{E as me}from"./index-ClwpIr_P.js";import{E as ve}from"./index-CbbUfyeR.js";import{E as fe}from"./index-CrH79zK9.js";import{B as _e}from"./BotPlaceholder-BZTrMT1c.js";import"./use-form-item-BKB_7n3g.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./index-DmYzMmpZ.js";import"./typescript-COFNajQU.js";import"./index-DPq9Ww9N.js";import"./strings-beZM2Y-f.js";import"./isEqual-DGVdfmbU.js";import"./_Uint8Array-BnVWNeHp.js";import"./castArray-CB5VORGs.js";import"./index-D7LXRPby.js";import"./index-qUrXiTT8.js";import"./debounce-Bt9MZ6bV.js";import"./_baseIteratee-Bw61Z4Wx.js";import"./index-D4eloMlC.js";import"./index-Cu41y2Fl.js";import"./index-CLR-flkd.js";import"./_baseClone-Q0okPItx.js";import"./_initCloneObject-DuLU5kHr.js";import"./vue-plyr-BO2nlN4c.js";import"./index-uim_HWNA.js";const he=$({name:"LayoutPixverse",components:{ElDrawer:O,ElButton:R,FontAwesomeIcon:L},data(){return{drawer:!1}}}),$e={class:"main flex flex-row flex-1"},ge={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},be={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ye(e,t,u,m,b,y){const r=o("font-awesome-icon"),p=o("el-button"),a=o("el-drawer");return n(),i("div",$e,[c("div",ge,[P(e.$slots,"config",{},void 0,!0)]),c("div",be,[P(e.$slots,"result",{},void 0,!0)]),s(p,{circle:"",class:"menu",onClick:t[0]||(t[0]=_=>e.drawer=!0)},{default:d(()=>[s(r,{icon:"fa-solid fa-magic"})]),_:1}),s(a,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=_=>e.drawer=_),direction:"ltr","with-header":!1,size:"350px"},{default:d(()=>[P(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ke=g(he,[["render",ye],["__scopeId","data-v-ea5fe174"]]),Ve=$({name:"ModelSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"v3.5",label:"v3.5"},{value:"v4",label:"v4"},{value:"v4.5",label:"v4.5"}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.model},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,model:e})}}},mounted(){this.value||(this.value=Q)}}),we={class:"field"},xe={class:"title font-bold"};function Se(e,t,u,m,b,y){const r=o("el-option"),p=o("el-select");return n(),i("div",we,[c("h2",xe,l(e.$t("pixverse.name.model")),1),s(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(n(!0),i(w,null,x(e.options,a=>(n(),V(r,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ee=g(Ve,[["render",Se],["__scopeId","data-v-e8f337ca"]]),Te=$({name:"QualitySelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"360p",label:"360p"},{value:"540p",label:"540p"},{value:"720p",label:"720p"},{value:"1080p",label:"1080p"}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.quality},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,quality:e})}}},mounted(){this.value||(this.value=H)}}),Ie={class:"field"},Ce={class:"title font-bold"};function Le(e,t,u,m,b,y){const r=o("el-option"),p=o("el-select");return n(),i("div",Ie,[c("h2",Ce,l(e.$t("pixverse.name.quality")),1),s(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(n(!0),i(w,null,x(e.options,a=>(n(),V(r,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Re=g(Te,[["render",Le],["__scopeId","data-v-64aeaae9"]]),Ue=$({name:"MotionSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"normal",label:this.$t("pixverse.name.motion1")},{value:"fast",label:this.$t("pixverse.name.motion2")}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.motion},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,motion:e})}}},mounted(){this.value||(this.value=Y)}}),Pe={class:"field"},Ae={class:"title font-bold"};function De(e,t,u,m,b,y){const r=o("el-option"),p=o("el-select");return n(),i("div",Pe,[c("h2",Ae,l(e.$t("pixverse.name.motion")),1),s(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(n(!0),i(w,null,x(e.options,a=>(n(),V(r,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ge=g(Ue,[["render",De],["__scopeId","data-v-94237408"]]),je=$({name:"StyleSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"cyberpunk",label:this.$t("pixverse.name.style1")},{value:"anime",label:this.$t("pixverse.name.style2")},{value:"comic",label:this.$t("pixverse.name.style3")},{value:"clay",label:this.$t("pixverse.name.style4")},{value:"3d_animation",label:this.$t("pixverse.name.style5")},{value:"realistic",label:this.$t("pixverse.name.style6")}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.style},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,style:e})}}},mounted(){this.value||(this.value=J)}}),Me={class:"field"},Fe={class:"title font-bold"};function Oe(e,t,u,m,b,y){const r=o("el-option"),p=o("el-select");return n(),i("div",Me,[c("h2",Fe,l(e.$t("pixverse.name.style")),1),s(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(n(!0),i(w,null,x(e.options,a=>(n(),V(r,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const qe=g(je,[["render",Oe],["__scopeId","data-v-64e17b3c"]]),Be=$({name:"SeedSelector",components:{ElSlider:se,InfoIcon:D,ElInputNumber:te},computed:{value:{get(){return this.$store.state?.pixverse?.config?.seed},set(e){console.debug("set seed",e),this.$store.commit("pixverse/setConfig",{...this.$store.state?.pixverse?.config,seed:e})}}},mounted(){this.value||(this.value=void 0)}}),ze={class:"flex justify-between"},Ne={class:"flex justify-start items-center"},Xe={class:"text-sm font-bold"},Qe={class:"flex justify-end items-center"},He={class:"w-full"};function Ye(e,t,u,m,b,y){const r=o("info-icon"),p=o("el-input-number"),a=o("el-slider");return n(),i("div",null,[c("div",ze,[c("div",Ne,[c("span",Xe,l(e.$t("pixverse.name.seed")),1),s(r,{content:e.$t("pixverse.description.seed")},null,8,["content"])]),c("div",Qe,[s(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=_=>e.value=_),"controls-position":"right"},null,8,["modelValue"])])]),c("div",He,[s(a,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=_=>e.value=_),min:0,max:1e3,step:1},null,8,["modelValue"])])])}const Je=g(Be,[["render",Ye]]),We=$({name:"DurationSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:5,label:"5s"},{value:8,label:"8s"}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.duration},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,duration:e})}}},mounted(){this.value||(this.value=W)}}),Ke={class:"field"},Ze={class:"title font-bold"};function et(e,t,u,m,b,y){const r=o("el-option"),p=o("el-select");return n(),i("div",Ke,[c("h2",Ze,l(e.$t("pixverse.name.duration")),1),s(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(n(!0),i(w,null,x(e.options,a=>(n(),V(r,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const tt=g(We,[["render",et],["__scopeId","data-v-065c77ef"]]),st=$({name:"RatioSelector",data(){return{options:[{value:"1:1",label:"1:1",width:20,height:20},{value:"4:3",label:"4:3",width:20,height:15},{value:"3:4",label:"3:4",width:15,height:20},{value:"16:9",label:"16:9",width:25,height:13},{value:"9:16",label:"9:16",width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.pixverse.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e),this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,aspect_ratio:e})}}},mounted(){this.value||(this.value=K)}}),ot={class:"text-sm font-bold mb-2 block"},at={class:"items"},nt=["onClick"],lt={class:"name"};function it(e,t,u,m,b,y){return n(),i("div",null,[c("span",ot,l(e.$t("pixverse.name.aspectRatio")),1),c("div",at,[(n(!0),i(w,null,x(e.options,(r,p)=>(n(),i("div",{key:p,class:T({active:e.active===p,item:!0}),onClick:a=>e.value=r.value},[c("div",{class:T(["preview",r.label])},[c("div",{class:"rect",style:q({width:r.width+"px",height:r.height+"px"})},null,4)],2),c("p",lt,l(r.label),1)],10,nt))),128))])])}const rt=g(st,[["render",it],["__scopeId","data-v-53038264"]]),ct=$({name:"StartImage",components:{ElUpload:ne,ElButton:R,InfoIcon:D,FontAwesomeIcon:L,ImagePreview:ae},mixins:[oe],emits:["change"],data(){return{fileList:[],uploadUrl:B()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){S.warning(this.$t("pixverse.message.uploadReferencesExceed"))},onError(){S.error(this.$t("pixverse.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("pixverse/setConfig",{...this.$store.state?.pixverse?.config,image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),pt={class:"relative"},dt={class:"flex justify-between"},ut={class:"flex justify-start items-center"},mt={class:"text-sm font-bold"};function vt(e,t,u,m,b,y){const r=o("info-icon"),p=o("image-preview"),a=o("font-awesome-icon"),_=o("el-button"),f=o("el-upload");return n(),i("div",pt,[c("div",dt,[c("div",ut,[c("span",mt,l(e.$t("pixverse.name.startImage")),1),s(r,{content:e.$t("pixverse.description.uploadStartImage")},null,8,["content"])])]),s(f,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=v=>e.fileList=v),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:d(({file:v})=>[v.url&&v.percentage!==void 0?(n(),V(p,{key:0,url:v.url,name:v.name,percentage:v.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(v),1)},null,8,["url","name","percentage","onRemove"])):h("",!0)]),default:d(()=>[s(_,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:d(()=>[s(a,{icon:"fa-solid fa-upload",class:"icon mr-1"}),k(" "+l(e.$t("pixverse.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const ft=g(ct,[["render",vt],["__scopeId","data-v-bc133fd2"]]),_t="",ht=$({name:"PromptInput",components:{PromptTextarea:le},computed:{prompt:{get(){return this.$store.state.pixverse?.config?.prompt},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=_t)}});function $t(e,t,u,m,b,y){const r=o("prompt-textarea");return n(),V(r,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=p=>e.prompt=p),title:e.$t("pixverse.name.prompt"),info:e.$t("pixverse.description.prompt"),placeholder:e.$t("pixverse.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const gt=g(ht,[["render",$t]]),bt=$({name:"ConfigPanel",components:{ElButton:R,FontAwesomeIcon:L,PromptInput:gt,ModelSelector:Ee,QualitySelector:Re,MotionSelector:Ge,StyleSelector:qe,DurationSelector:tt,StartImage:ft,SeedSelector:Je,RatioSelector:rt,Consumption:re},emits:["generate"],computed:{config(){return this.$store.state.pixverse?.config},consumption(){return ce(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service}},methods:{onGenerate(){this.$emit("generate")}}}),yt={class:"flex flex-col h-full"},kt={class:"flex-1 overflow-y-auto p-5"},Vt={class:"flex flex-col items-center justify-center px-5 pb-5"};function wt(e,t,u,m,b,y){const r=o("prompt-input"),p=o("model-selector"),a=o("style-selector"),_=o("ratio-selector"),f=o("motion-selector"),v=o("quality-selector"),E=o("start-image"),U=o("seed-selector"),G=o("duration-selector"),j=o("consumption"),M=o("font-awesome-icon"),F=o("el-button");return n(),i("div",yt,[c("div",kt,[s(r,{class:"mb-4"}),s(p,{class:"mb-4"}),s(a,{class:"mb-4"}),s(_,{class:"mb-4"}),s(f,{class:"mb-4"}),s(v,{class:"mb-4"}),s(E,{class:"mb-2"}),s(U,{class:"mb-4"}),s(G,{class:"mb-4"})]),c("div",Vt,[s(j,{value:e.consumption,service:e.service},null,8,["value","service"]),s(F,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[s(M,{icon:"fa-solid fa-magic",class:"mr-2"}),k(" "+l(e.$t("pixverse.button.generate")),1)]),_:1},8,["onClick"])])])}const xt=g(bt,[["render",wt]]),St=$({name:"TaskPreview",components:{ElImage:fe,CopyToClipboard:de,FontAwesomeIcon:L,ElAlert:ve,VideoPlayer:ue,ElTooltip:me,ElButton:R},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pixverse?.application},config(){return this.$store.state.pixverse?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),Et={class:"preview"},Tt={class:"left"},It={class:"main"},Ct={class:"bot"},Lt={class:"datetime"},Rt={class:"info"},Ut={key:0,class:"prompt mt-2"},Pt={key:0},At={key:1},Dt={key:0,class:T({content:!0,failed:!0})},Gt={key:0,class:"mb-4"},jt={key:1,class:T({operations:!0,"mt-2":!0})},Mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ft={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"},qt={key:1,class:T({content:!0})},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Xt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Qt(e,t,u,m,b,y){const r=o("el-image"),p=o("video-player"),a=o("el-button"),_=o("el-tooltip"),f=o("font-awesome-icon"),v=o("copy-to-clipboard"),E=o("el-alert");return n(),i("div",Et,[c("div",Tt,[s(r,{src:"https://cdn.acedata.cloud/viy61r.jpg",class:"avatar"})]),c("div",It,[c("div",Ct,[k(l(e.$t("pixverse.name.pixverseBot"))+" ",1),c("span",Lt,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",Rt,[e.modelValue?.request?.prompt?(n(),i("p",Ut,[k(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?h("",!0):(n(),i("span",Pt," - ("+l(e.$t("pixverse.status.pending"))+") ",1)),e.modelValue?.response?.data&&(e.modelValue?.response?.data[0]?.state==="processing"||e.modelValue?.response?.data[0]?.state==="pending")?(n(),i("span",At," - ("+l(e.$t("pixverse.status.processing"))+") ",1)):h("",!0)])):h("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(n(),i("div",Dt,[e.modelValue?.response?.data[0]?.video_url?(n(),i("div",Gt,[s(p,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):h("",!0),e.modelValue?.response.success?(n(),i("div",jt,[s(_,{class:"box-item",effect:"dark",content:e.$t("pixverse.message.downloadVideo"),placement:"top-start"},{default:d(()=>[e.modelValue?.response?.data[0]?.video_url?(n(),V(a,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=U=>e.onDownload(U,e.modelValue?.response?.data[0]?.video_url))},{default:d(()=>[k(l(e.$t("pixverse.button.download")),1)]),_:1})):h("",!0)]),_:1},8,["content"])])):h("",!0),s(E,{closable:!1,class:"mt-2 success"},{default:d(()=>[c("p",Mt,[s(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.model"))+": "+l(e.modelValue?.request?.model),1)]),c("p",Ft,[s(f,{icon:"fa-solid fa-magic",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),s(v,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(n(),i("p",Ot,[s(f,{icon:"fa-solid fa-clock",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0)]),_:1})])):h("",!0),e.modelValue?.response?.success===!1?(n(),i("div",qt,[s(E,{closable:!1,class:"info"},{template:d(()=>[s(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.failure")),1)]),default:d(()=>[c("p",Bt,[s(f,{icon:"fa-solid fa-circle-info",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),s(v,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),c("p",zt,[s(f,{icon:"fa-solid fa-magic",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),s(v,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(n(),i("p",Nt,[s(f,{icon:"fa-solid fa-clock",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0),e.modelValue?.response?.trace_id?(n(),i("p",Xt,[s(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),s(v,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):h("",!0)]),_:1})])):h("",!0)])])}const Ht=g(St,[["render",Qt],["__scopeId","data-v-f98906e5"]]),Yt=$({name:"RecentPanel",components:{TaskPreview:Ht,NoTasks:ie,BotPlaceholder:_e,ScrollList:Z},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pixverse?.tasks,items:this.$store.state.pixverse?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Jt={key:0},Wt={key:2,class:"w-full h-full flex items-center justify-center"};function Kt(e,t,u,m,b,y){const r=o("bot-placeholder"),p=o("task-preview"),a=o("scroll-list"),_=o("no-tasks");return n(),i(w,null,[e.tasks?.items===void 0?(n(),i("div",Jt,[s(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),V(a,{key:1,ref:"scrollList",class:"h-full w-full overflow-y-auto tasks",loading:e.loading,onReachTop:t[0]||(t[0]=f=>e.$emit("reach-top"))},{default:d(()=>[(n(!0),i(w,null,x(e.tasks?.items,(f,v)=>(n(),V(p,{key:v,"model-value":f},null,8,["model-value"]))),128))]),_:1},8,["loading"])):h("",!0),e.tasks?.items?.length===0?(n(),i("div",Wt,[s(_)])):h("",!0)],64)}const Zt=g(Yt,[["render",Kt]]),es=X("pixverse"),ts=$({name:"PixverseIndex",components:{ConfigPanel:xt,Layout:ke,RecentPanel:Zt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===A.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===A.Request||this.fetchingTasks},credential(){return this.$store.state.pixverse.credential},config(){return this.$store.state.pixverse.config},tasks(){return this.$store.state.pixverse.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ee({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("pixverse/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("pixverse/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:u,createdAtMax:m}=e||{};console.debug("limit",t,"createdAtMin",u,"createdAtMax",m),this.fetchingTasks=!0;try{await this.$store.dispatch("pixverse/getTasks",{limit:t,createdAtMin:u,createdAtMax:m})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:es},t=this.credential?.token;if(!t){console.error("no token specified");return}S.info(this.$t("pixverse.message.startingTask")),z("pixverse",N.generate(e,{token:t})).then(()=>{S.success(this.$t("pixverse.message.startTaskSuccess"))}).catch(u=>{u?.response?.data?.error?.code===pe?S.error(this.$t("pixverse.message.usedUp")):S.error(this.$t("pixverse.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ss(e,t,u,m,b,y){const r=o("config-panel"),p=o("recent-panel"),a=o("layout");return n(),V(a,null,{config:d(()=>[s(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:d(()=>[s(p,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Js=g(ts,[["render",ss]]);export{Js as default};