@acedatacloud/nexior 3.100.0 → 3.102.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 (247) hide show
  1. package/dist/assets/{Auth-ostupSSs.js → Auth-CdbP0nJ-.js} +1 -1
  2. package/dist/assets/{BotPlaceholder-BW7l1Bej.js → BotPlaceholder-C5ljOz4A.js} +1 -1
  3. package/dist/assets/{Callback-BCJtzm0S.js → Callback-LbuDGgoN.js} +1 -1
  4. package/dist/assets/{Console-xZoWzGLS.js → Console-3UBzdLjG.js} +1 -1
  5. package/dist/assets/{Consumption-Ck_gLJbq.js → Consumption--BQQHppN.js} +1 -1
  6. package/dist/assets/{Conversation-D7D0fMC7.js → Conversation-DOsDZcAC.js} +1 -1
  7. package/dist/assets/{CopyToClipboard-eTUekfsK.js → CopyToClipboard-B6G-wNJD.js} +1 -1
  8. package/dist/assets/{Detail-DXwEHALO.js → Detail-W9MvITnq.js} +2 -2
  9. package/dist/assets/{EditArray-DNnQ4aIT.js → EditArray-BoF9JmTH.js} +1 -1
  10. package/dist/assets/{Extra-Cwt2URsd.js → Extra-ThR5mb6h.js} +1 -1
  11. package/dist/assets/{FilePreview-P7GMiQlT.js → FilePreview-B7g5t6E1.js} +1 -1
  12. package/dist/assets/{History-B63gjpnC.js → History-YYxCN3nj.js} +1 -1
  13. package/dist/assets/{IconPark.vue_vue_type_script_setup_true_lang-Cq8JeR6v.js → IconPark.vue_vue_type_script_setup_true_lang-CMyYNZf7.js} +1 -1
  14. package/dist/assets/{ImagePreview-CN781XIL.js → ImagePreview-VbvXxzqA.js} +1 -1
  15. package/dist/assets/{ImageWrapper-By2Yl0pt.js → ImageWrapper-BYRsN2IJ.js} +1 -1
  16. package/dist/assets/{Index-CRuPNSik.js → Index-B3zHOyRQ.js} +1 -1
  17. package/dist/assets/{Index-CQFEjLt2.js → Index-B9lAqI_n.js} +1 -1
  18. package/dist/assets/{Index-BxhLw2MX.js → Index-BEjnHCTa.js} +1 -1
  19. package/dist/assets/{Index-C4fZ-W0q.js → Index-BS2CBQv0.js} +1 -1
  20. package/dist/assets/{Index-DkNOxOQf.js → Index-BTnIGNMv.js} +1 -1
  21. package/dist/assets/{Index-BX4K4A7X.js → Index-BbxvHcEl.js} +1 -1
  22. package/dist/assets/{Index-CEJz-h0o.js → Index-BesDD4FO.js} +1 -1
  23. package/dist/assets/{Index-cRikCLbR.js → Index-BkRnvNYz.js} +1 -1
  24. package/dist/assets/{Index-DYuq77x7.js → Index-BvzRhzvK.js} +1 -1
  25. package/dist/assets/{Index-DnFj4Ali.js → Index-Bx3C0bOp.js} +1 -1
  26. package/dist/assets/{Index-BKwE04L4.js → Index-C140iFXJ.js} +1 -1
  27. package/dist/assets/{Index-3OLlG_Uc.js → Index-C19NgBRQ.js} +1 -1
  28. package/dist/assets/{Index-Bs7a5y7n.js → Index-CKUXg3t8.js} +1 -1
  29. package/dist/assets/{Index-BWBJHYse.js → Index-CRgRWNE4.js} +1 -1
  30. package/dist/assets/{Index-B2wDq-2F.js → Index-CvsC4xbJ.js} +1 -1
  31. package/dist/assets/{Index-DsQDYmNV.js → Index-D76t73cr.js} +1 -1
  32. package/dist/assets/{Index-BIsnZiEE.js → Index-DMlDIH35.js} +1 -1
  33. package/dist/assets/{Index-DDUuO4lK.js → Index-DOQQKYhM.js} +1 -1
  34. package/dist/assets/{Index-C-pptFU7.js → Index-DeXll_M3.js} +1 -1
  35. package/dist/assets/{Index-BYjqRpsC.js → Index-DfC7rw93.js} +1 -1
  36. package/dist/assets/{Index-aFKDc_oC.js → Index-Dj61-pGD.js} +1 -1
  37. package/dist/assets/{Index-DTZeF42x.js → Index-DqGmWE6i.js} +1 -1
  38. package/dist/assets/{Index-ClWQCSna.js → Index-Hj5KZrXr.js} +1 -1
  39. package/dist/assets/{Index-DuG0YzYP.js → Index-qiNKc2h3.js} +1 -1
  40. package/dist/assets/{Index-Cb20x6aE.js → Index-u3ORLq0t.js} +1 -1
  41. package/dist/assets/{Invitees-VkqvqlMm.js → Invitees-C-KDgRnT.js} +1 -1
  42. package/dist/assets/{List-Df_BHSDm.js → List-C1UxuI1p.js} +1 -1
  43. package/dist/assets/{List-lMiv0oaL.js → List-CJdjKtEN.js} +1 -1
  44. package/dist/assets/{List-COqqw-do.js → List-CTUY91vC.js} +1 -1
  45. package/dist/assets/{Main-BNue6cN7.js → Main-hxcdzbOZ.js} +1 -1
  46. package/dist/assets/Navigator-1EahaRlS.css +1 -0
  47. package/dist/assets/Navigator-49FKfPmP.js +1 -0
  48. package/dist/assets/{NoTasks-DKxId_4f.js → NoTasks-BeyOLEbn.js} +1 -1
  49. package/dist/assets/{NotFound-DCVzj6-w.js → NotFound-CRJAHy_K.js} +1 -1
  50. package/dist/assets/{OAuthCallback-Rnl9XIy7.js → OAuthCallback-D7hwoM8j.js} +1 -1
  51. package/dist/assets/{Pagination-C8yMM25W.js → Pagination-B3SvX2do.js} +1 -1
  52. package/dist/assets/{ScrollList-CUmTwhTB.js → ScrollList-DRIMxtWX.js} +1 -1
  53. package/dist/assets/{Status-DiAbXFUG.js → Status-B3lDdQtb.js} +1 -1
  54. package/dist/assets/{Subscribe-CQqDhi36.js → Subscribe-DNEo_jp7.js} +1 -1
  55. package/dist/assets/{TransportWebHID-8jj4lhfJ.js → TransportWebHID-g9MgA-Jz.js} +1 -1
  56. package/dist/assets/{VideoPlayer-DGpGe_is.js → VideoPlayer-DEViwP6l.js} +1 -1
  57. package/dist/assets/{_Uint8Array-Ji9hnTSv.js → _Uint8Array-VygXE9xf.js} +1 -1
  58. package/dist/assets/{_baseClone-CribV2Yc.js → _baseClone-8AWe3BQs.js} +1 -1
  59. package/dist/assets/{_baseIteratee-dR1m8JFb.js → _baseIteratee-BUY84h9-.js} +1 -1
  60. package/dist/assets/{_initCloneObject-BFlzDwJW.js → _initCloneObject-BrdqfTp3.js} +1 -1
  61. package/dist/assets/{add-C8BdCyI6.js → add-Cz1kQmIp.js} +1 -1
  62. package/dist/assets/{all-wallets-BbsL3AzN.js → all-wallets-DNwIxMxC.js} +1 -1
  63. package/dist/assets/{app-store-B2H0dtrv.js → app-store-D8BkL0Pq.js} +1 -1
  64. package/dist/assets/{apple-rXV1RmC1.js → apple-s9JjX4fM.js} +1 -1
  65. package/dist/assets/{arrow-bottom-DNDtJaNI.js → arrow-bottom-CUpL-Y4l.js} +1 -1
  66. package/dist/assets/{arrow-bottom-circle-Bl4iK7pA.js → arrow-bottom-circle-BHUOfhpA.js} +1 -1
  67. package/dist/assets/{arrow-left-DEsgiqnv.js → arrow-left-HCxu6ji3.js} +1 -1
  68. package/dist/assets/{arrow-right-2CLSbQq2.js → arrow-right-CzJNZYfm.js} +1 -1
  69. package/dist/assets/{arrow-top-B-hc5PFU.js → arrow-top-CsISK4MX.js} +1 -1
  70. package/dist/assets/{avatar-BTVjRFom.js → avatar-Druy3-7L.js} +1 -1
  71. package/dist/assets/{bank-Ca3nUTem.js → bank-DdCI3wdq.js} +1 -1
  72. package/dist/assets/{basic-CqjmI9Tz.js → basic-CPTUqGmJ.js} +1 -1
  73. package/dist/assets/{browser-DNmnxDAt.js → browser-BExOlcM-.js} +1 -1
  74. package/dist/assets/{byok-CG9ZJtLg.js → byok-C1ju2J0L.js} +1 -1
  75. package/dist/assets/{byok-wTRiMSeH.js → byok-DJ2Wd79e.js} +1 -1
  76. package/dist/assets/{byokCredential-ByIvm_ej.js → byokCredential-D5tWISzn.js} +1 -1
  77. package/dist/assets/{card-BlSDPzxQ.js → card-CSD9HBr8.js} +1 -1
  78. package/dist/assets/{castArray-B9E6PR2M.js → castArray--oY6r8jd.js} +1 -1
  79. package/dist/assets/{chat-B4oUNuSE.js → chat-CSZjuYbz.js} +1 -1
  80. package/dist/assets/{checkmark-GYNnbl1d.js → checkmark-C_0D85BY.js} +1 -1
  81. package/dist/assets/{checkmark-bold-Dbvywg-M.js → checkmark-bold-DtJVlIH-.js} +1 -1
  82. package/dist/assets/{chevron-bottom-m2j1L1SA.js → chevron-bottom-CZUbVowq.js} +1 -1
  83. package/dist/assets/{chevron-left-3uhMRCN7.js → chevron-left-BLWOs815.js} +1 -1
  84. package/dist/assets/{chevron-right-WCLTZtZu.js → chevron-right-vRSDvs9G.js} +1 -1
  85. package/dist/assets/{chevron-top-DX5N7N0k.js → chevron-top-d6tu702T.js} +1 -1
  86. package/dist/assets/{chrome-store-Dzy9Z8RU.js → chrome-store-DWUOB4iI.js} +1 -1
  87. package/dist/assets/{clock-BSb4VuxJ.js → clock-CFj_pPxo.js} +1 -1
  88. package/dist/assets/{close-DfdsOB1V.js → close-bTdc351z.js} +1 -1
  89. package/dist/assets/{coinPlaceholder-Dw2mYX_z.js → coinPlaceholder-CBU85LNv.js} +1 -1
  90. package/dist/assets/{compass-OlxuZOqX.js → compass-B3RQv83E.js} +1 -1
  91. package/dist/assets/{copy-CFX6K6hT.js → copy-5pY7Ayo3.js} +1 -1
  92. package/dist/assets/{cursor-CMqMWJGP.js → cursor-CMq2v_mY.js} +1 -1
  93. package/dist/assets/{cursor-transparent-B-bRSYQ4.js → cursor-transparent-D-F5ahU6.js} +1 -1
  94. package/dist/assets/{debounce-B9bsGuT8.js → debounce-CxAObiU1.js} +1 -1
  95. package/dist/assets/{desktop-N7ojZC7v.js → desktop-Bq1htwIJ.js} +1 -1
  96. package/dist/assets/{disconnect-CzNIj_WO.js → disconnect-DJbJaxtW.js} +1 -1
  97. package/dist/assets/{discord-C4SG4YRb.js → discord-CDRkDssn.js} +1 -1
  98. package/dist/assets/{distribution-7QiBDxVu.js → distribution-ChTHyfcK.js} +1 -1
  99. package/dist/assets/{dropdown-DG9zK_HQ.js → dropdown-CstlYUUI.js} +1 -1
  100. package/dist/assets/{etherscan-CpUtj6QY.js → etherscan-D3LdU21t.js} +1 -1
  101. package/dist/assets/{exclamation-triangle-BC-LLDKX.js → exclamation-triangle-BOrjzbIU.js} +1 -1
  102. package/dist/assets/{extension-CPBg5duG.js → extension-CMHLoo5V.js} +1 -1
  103. package/dist/assets/{external-link-CT0YtgGo.js → external-link-COhAqVzU.js} +1 -1
  104. package/dist/assets/{facebook-BarG4qrK.js → facebook-GThCgRsS.js} +1 -1
  105. package/dist/assets/{farcaster-CfQEPvEv.js → farcaster-9Spv58pg.js} +1 -1
  106. package/dist/assets/{filters-JN3X-_PT.js → filters-D7HCq0TA.js} +1 -1
  107. package/dist/assets/{flux-BARIr45k.js → flux-xsUe0L4n.js} +1 -1
  108. package/dist/assets/{github-ChEsN7VT.js → github-DVepsOcq.js} +1 -1
  109. package/dist/assets/{google-WKhAcG5R.js → google-Dm6wqwbi.js} +1 -1
  110. package/dist/assets/{hailuo-DdIA7nVG.js → hailuo-JD2nPm3W.js} +1 -1
  111. package/dist/assets/{headshots-C_fFSJx_.js → headshots-j6w4Z4nn.js} +1 -1
  112. package/dist/assets/{help-circle-EYwj8nU-.js → help-circle-NEsnZirR.js} +1 -1
  113. package/dist/assets/{id-CQNgbqLu.js → id-DrlfbE0a.js} +1 -1
  114. package/dist/assets/{image-DSQUiTy1.js → image-IwV28ybr.js} +1 -1
  115. package/dist/assets/{index-D-fVFE75.js → index-5n1R-g2v.js} +1 -1
  116. package/dist/assets/{index-BguEgHVk.js → index-8U5mSU__.js} +1 -1
  117. package/dist/assets/{index-BzURhayJ.js → index-B0aR0s7l.js} +1 -1
  118. package/dist/assets/{index-BzlSI6UV.js → index-B5NM1Heh.js} +1 -1
  119. package/dist/assets/{index-CRCgIety.js → index-BE313nKI.js} +1 -1
  120. package/dist/assets/{index-CdLlCRFI.js → index-BFQ62bjd.js} +1 -1
  121. package/dist/assets/{index-CtGC4Tfj.js → index-BGhmZQJq.js} +3 -3
  122. package/dist/assets/{index-CwOw8Je-.js → index-BNRwk0yK.js} +1 -1
  123. package/dist/assets/{index-BU6yuG61.js → index-BOzlIWgT.js} +1 -1
  124. package/dist/assets/{index-BHdNVpnR.js → index-BQA0Ltgm.js} +1 -1
  125. package/dist/assets/{index-B0Btj7m1.js → index-BRIRllOW.js} +1 -1
  126. package/dist/assets/{index-BBlfkX9M.js → index-B_KH4K5T.js} +1 -1
  127. package/dist/assets/{index-BLw9mXM1.js → index-Ba8cJ8BF.js} +1 -1
  128. package/dist/assets/{index-Ba8crJVs.js → index-Bc1i9E6A.js} +1 -1
  129. package/dist/assets/{index-DWpKnQ8L.js → index-BlKyot0X.js} +1 -1
  130. package/dist/assets/{index-DKZ70US8.js → index-BlnTs38h.js} +1 -1
  131. package/dist/assets/{index-BibTwklK.js → index-BoYTY4-k.js} +1 -1
  132. package/dist/assets/{index-C2f1a9Dh.js → index-BqeH5oSN.js} +1 -1
  133. package/dist/assets/{index-Dz64Puii.js → index-C5TjNMIl.js} +1 -1
  134. package/dist/assets/{index-CTOZnYrj.js → index-C8RMr0ye.js} +1 -1
  135. package/dist/assets/{index-3tuvqlM4.js → index-CE0UbzLZ.js} +1 -1
  136. package/dist/assets/{index-C7_RsSjE.js → index-CJscrYLa.js} +1 -1
  137. package/dist/assets/{index-CkvVT9Ky.js → index-CLrAgZuB.js} +1 -1
  138. package/dist/assets/{index-DN_MxrBx.js → index-CaqZ7tLA.js} +1 -1
  139. package/dist/assets/{index-ClhY-P9d.js → index-CcP3nmgG.js} +1 -1
  140. package/dist/assets/{index-CmvS6r9p.js → index-Cd6ycYIQ.js} +1 -1
  141. package/dist/assets/{index-DtfUihoN.js → index-CibvFWzo.js} +1 -1
  142. package/dist/assets/{index-D3hgDfrY.js → index-CkXT0bp_.js} +1 -1
  143. package/dist/assets/{index-VJOtz_OT.js → index-CsZ8sDyV.js} +1 -1
  144. package/dist/assets/{index-DnDt0mRm.js → index-Ct-EZ76M.js} +1 -1
  145. package/dist/assets/{index-CGgDszyo.js → index-Cuy1fHGt.js} +1 -1
  146. package/dist/assets/{index-0APDMo9o.js → index-CvURsQ8o.js} +1 -1
  147. package/dist/assets/{index-DIdXlGyf.js → index-CybFZS6J.js} +1 -1
  148. package/dist/assets/{index-ZN9XD_NV.js → index-CzJ7fWUH.js} +1 -1
  149. package/dist/assets/{index-BbIO4bzW.js → index-D4saMGlC.js} +14 -14
  150. package/dist/assets/{index-DuzfZ1Le.js → index-D86qy_Ec.js} +1 -1
  151. package/dist/assets/{index-RVyuY2o-.js → index-DCfKukGX.js} +1 -1
  152. package/dist/assets/{index-DmX7sdZ9.js → index-DH6MtP3d.js} +1 -1
  153. package/dist/assets/{index-CnpXOfKl.js → index-DM2nGTvC.js} +1 -1
  154. package/dist/assets/{index-DPjuis5U.js → index-DS08GEGQ.js} +1 -1
  155. package/dist/assets/{index-C866d7TQ.js → index-DXexZRXn.js} +1 -1
  156. package/dist/assets/{index-CRIKcVxg.js → index-DZKKK7v1.js} +1 -1
  157. package/dist/assets/{index-CjQ2YDRP.js → index-DfqpKGYd.js} +1 -1
  158. package/dist/assets/{index-BPzvMeJo.js → index-DgDNtUBe.js} +1 -1
  159. package/dist/assets/{index-CW6nwp1q.js → index-DjxM9EqE.js} +1 -1
  160. package/dist/assets/{index-DCqD8NAL.js → index-Dk3syEoj.js} +1 -1
  161. package/dist/assets/{index-D54W9u0S.js → index-DmVTvMHH.js} +1 -1
  162. package/dist/assets/{index-CvjWrHN7.js → index-DnRK--rq.js} +1 -1
  163. package/dist/assets/{index-DTkqS61W.js → index-DrUZ3nqo.js} +1 -1
  164. package/dist/assets/{index-DMuhmwrK.js → index-Du-_eOOv.js} +1 -1
  165. package/dist/assets/{index-BwMuviGK.js → index-Du9y3uS5.js} +1 -1
  166. package/dist/assets/{index-Bq_7dZR9.js → index-DwY9pOO3.js} +1 -1
  167. package/dist/assets/{index-Bk18AWpz.js → index-IijLqayZ.js} +1 -1
  168. package/dist/assets/{index-CZzRAsin.js → index-PL08ptsm.js} +1 -1
  169. package/dist/assets/{index-D3CXPtD_.js → index-dQUkT91P.js} +1 -1
  170. package/dist/assets/{index-CLkXDPBv.js → index-jv4wsHGw.js} +1 -1
  171. package/dist/assets/{index-BqEXYiUU.js → index-kfKkDYoa.js} +1 -1
  172. package/dist/assets/{index-Z_Yf5oFm.js → index-lU2gLszB.js} +1 -1
  173. package/dist/assets/{index-DFzD1WyW.js → index-px2Zhx04.js} +6 -6
  174. package/dist/assets/{index-BaoOu-KW.js → index-xePR_VqC.js} +1 -1
  175. package/dist/assets/{index-ss8A5Hgh.js → index-zSPYOXLf.js} +1 -1
  176. package/dist/assets/{index.browser.esm-D4GK1QFV.js → index.browser.esm-eOaByinL.js} +1 -1
  177. package/dist/assets/{index.es-Cj6iYiLT.js → index.es-CJsiWXMF.js} +1 -1
  178. package/dist/assets/{info-uKF7MK2v.js → info-BRW1e-ms.js} +1 -1
  179. package/dist/assets/{info-circle-BaW8D4WR.js → info-circle-1_-AyHx1.js} +1 -1
  180. package/dist/assets/{isEqual-Dg8IMqNb.js → isEqual-BGJ5u1aM.js} +1 -1
  181. package/dist/assets/{isPlainObject-DO4xz_mS.js → isPlainObject-FvgO03a8.js} +1 -1
  182. package/dist/assets/{kling-DKY-p4Et.js → kling-BRVsFe9-.js} +1 -1
  183. package/dist/assets/{lightbulb-o103y_FW.js → lightbulb-zaKLXkeH.js} +1 -1
  184. package/dist/assets/{luma-B0TjL71b.js → luma-DfWUj8mH.js} +1 -1
  185. package/dist/assets/{mail-TJaOZzOo.js → mail-d1BdmBbl.js} +1 -1
  186. package/dist/assets/{midjourney-BM2pQ80G.js → midjourney-DSdTP5Tn.js} +1 -1
  187. package/dist/assets/{mobile-KK7VpHhD.js → mobile-4YqoweeP.js} +1 -1
  188. package/dist/assets/{more-Dd3351j_.js → more-Dlqz0Wmh.js} +1 -1
  189. package/dist/assets/{nanobanana-CDTSUVc3.js → nanobanana-C9LKS_-F.js} +1 -1
  190. package/dist/assets/{network-placeholder-C_kwiaHU.js → network-placeholder-CHkxXSHz.js} +1 -1
  191. package/dist/assets/{nftPlaceholder-CPaxgAbU.js → nftPlaceholder-CFm-dpil.js} +1 -1
  192. package/dist/assets/{off-DmvCnAOB.js → off-CfRl1GFl.js} +1 -1
  193. package/dist/assets/{openaiimage-CH2pp1IR.js → openaiimage-BUKB6K30.js} +1 -1
  194. package/dist/assets/{order-C8wCjXk-.js → order-CxrIyP-W.js} +1 -1
  195. package/dist/assets/{pika-C9mBeSrW.js → pika-ClpqVGkS.js} +1 -1
  196. package/dist/assets/{pixverse-C_Jhfzb6.js → pixverse-Db8L75Hi.js} +1 -1
  197. package/dist/assets/{play-store-BW0DkhAH.js → play-store-B-sfJfHF.js} +1 -1
  198. package/dist/assets/{plus-BI9kiGt0.js → plus-BtfywZ6R.js} +1 -1
  199. package/dist/assets/{price-BWIfnz-K.js → price-B613-HvG.js} +1 -1
  200. package/dist/assets/{producer-DwxqQfNh.js → producer-DJI_SemU.js} +1 -1
  201. package/dist/assets/{qr-code-BTkYYsER.js → qr-code-CLnLRCmw.js} +1 -1
  202. package/dist/assets/{qrart-h2kWsQ8g.js → qrart-BKVimfc5.js} +1 -1
  203. package/dist/assets/{recycle-horizontal-DOQv0RY8.js → recycle-horizontal-BI_ebh8O.js} +1 -1
  204. package/dist/assets/{refresh-B_1PxZSG.js → refresh-_PZdGsGX.js} +1 -1
  205. package/dist/assets/{reown-logo-Bb2K2BJd.js → reown-logo-DAXTKp5Y.js} +1 -1
  206. package/dist/assets/{search-DF3rhw13.js → search-CnVf77t4.js} +1 -1
  207. package/dist/assets/{secp256k1-B62OyzJP.js → secp256k1-7aDBzeS0.js} +1 -1
  208. package/dist/assets/{secp256k1-BpJ5L9xD.js → secp256k1-HnMd7e19.js} +1 -1
  209. package/dist/assets/{seedance-lGMCq1aY.js → seedance-BsAeQbE1.js} +1 -1
  210. package/dist/assets/{seedream-CltNPU-Q.js → seedream-CwBlmKAY.js} +1 -1
  211. package/dist/assets/{send-2rwV6Kus.js → send-DVIaP7Mb.js} +1 -1
  212. package/dist/assets/{service-BrH949IO.js → service-BUHkgbHC.js} +1 -1
  213. package/dist/assets/{solana-wallets-JbBrPrCQ.js → solana-wallets-tx89ATa5.js} +2 -2
  214. package/dist/assets/{solana-wallets-vue-B2rVZbiv.js → solana-wallets-vue-BF-VzZci.js} +1 -1
  215. package/dist/assets/{solanaEmbed.esm-DRkDi-3u.js → solanaEmbed.esm-Czl9MkQu.js} +1 -1
  216. package/dist/assets/{sora-C6RuAS6o.js → sora-WcFwuWvC.js} +1 -1
  217. package/dist/assets/{string_decoder-CU7fURLn.js → string_decoder-Cah4Ye0i.js} +1 -1
  218. package/dist/assets/{suno-UyQNS4ZU.js → suno-C4isUiaT.js} +1 -1
  219. package/dist/assets/{swapHorizontal-DgfNKjgf.js → swapHorizontal-7y69r0kJ.js} +1 -1
  220. package/dist/assets/{swapHorizontalBold-CsZZTCnH.js → swapHorizontalBold-CscWZwpS.js} +1 -1
  221. package/dist/assets/{swapHorizontalMedium-BL4xFQHo.js → swapHorizontalMedium-DjZLxk5c.js} +1 -1
  222. package/dist/assets/{swapHorizontalRoundedBold-mf0cFGWr.js → swapHorizontalRoundedBold-CksUUifL.js} +1 -1
  223. package/dist/assets/{swapVertical-BxgPP3N6.js → swapVertical-DQEW74eG.js} +1 -1
  224. package/dist/assets/{telegram-B0XO8INX.js → telegram-C0TZ8uk3.js} +1 -1
  225. package/dist/assets/{three-dots-yy0lzU-8.js → three-dots-CNdNeyDX.js} +1 -1
  226. package/dist/assets/{twitch-Deqc-zzl.js → twitch-YWracmhG.js} +1 -1
  227. package/dist/assets/{twitterIcon-D5iM0ytN.js → twitterIcon-DTaKm5Pg.js} +1 -1
  228. package/dist/assets/{typescript-BHL-GgG5.js → typescript-ClSWGTjJ.js} +1 -1
  229. package/dist/assets/{use-form-item-Y27JHToo.js → use-form-item-DcOclXCw.js} +1 -1
  230. package/dist/assets/validator-BVNDYkbY.js +1 -0
  231. package/dist/assets/{veo-IRHtXUR8.js → veo-BFM7txtt.js} +1 -1
  232. package/dist/assets/{verify-CWM-m2TW.js → verify-BpxyocpC.js} +1 -1
  233. package/dist/assets/{verify-filled-Cua-oI-W.js → verify-filled-Bg4tbt-Y.js} +1 -1
  234. package/dist/assets/{w3m-modal-DiA1s5uV.js → w3m-modal-B0NwKrWR.js} +1 -1
  235. package/dist/assets/{wallet-DtNKz0IB.js → wallet-DGOOLbkp.js} +1 -1
  236. package/dist/assets/{wallet-placeholder-CNiwKm_w.js → wallet-placeholder-DF6j6Qx5.js} +1 -1
  237. package/dist/assets/{walletconnect-bdzrZCFZ.js → walletconnect-DMT_cel4.js} +1 -1
  238. package/dist/assets/{wan-Bfi0E-9J.js → wan-BE7U8W1r.js} +1 -1
  239. package/dist/assets/{warning-circle-CnXwWHoG.js → warning-circle-RVrUVt3i.js} +1 -1
  240. package/dist/assets/{web-C9XbJ3Nw.js → web-DJAybi8o.js} +1 -1
  241. package/dist/assets/{web-CEQcXoiB.js → web-WM85CJkA.js} +1 -1
  242. package/dist/assets/{x-BMeetFK3.js → x-DchvA95X.js} +1 -1
  243. package/dist/index.html +1 -1
  244. package/package.json +1 -1
  245. package/dist/assets/Navigator-BrQkiM3Z.js +0 -1
  246. package/dist/assets/Navigator-BwgsWJeJ.css +0 -1
  247. package/dist/assets/validator-DTGgVe0G.js +0 -1
@@ -1 +1 @@
1
- import{y as R,z as A,u as x,H as ee,ae as te,S as se,A as ie,k as V,E as oe,aZ as O,D as M,an as U,bL as ae}from"./index-BbIO4bzW.js";import{E as ne}from"./index-BzURhayJ.js";import{E as Z}from"./index-DmX7sdZ9.js";import{E as G,a as q}from"./index-CdLlCRFI.js";import{d as C,q as c,H as g,E as s,u as r,z as L,C as n,R as le,Q as I,F as a,J as w,c as P,x as _,y as o,G as H,O as re,N as de,M as j,I as h,K as W,D as u,a7 as ue}from"./vendor-vue-DU0w5ewx.js";import{E as J}from"./index-Bq_7dZR9.js";import{E as K}from"./index-ss8A5Hgh.js";import{E as p}from"./index-DnDt0mRm.js";import{E as me,a as ce}from"./index-BPzvMeJo.js";import{E as pe}from"./index-DWpKnQ8L.js";import{E as fe,a as he}from"./index-DKZ70US8.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-9TBHB1ku.js";import"./typescript-BHL-GgG5.js";import"./index-BBlfkX9M.js";import"./index-CGgDszyo.js";import"./use-form-item-Y27JHToo.js";import"./castArray-B9E6PR2M.js";import"./_baseClone-CribV2Yc.js";import"./_Uint8Array-Ji9hnTSv.js";import"./_initCloneObject-BFlzDwJW.js";import"./index-BuyEbX8F.js";import"./validator-DTGgVe0G.js";import"./index-D54W9u0S.js";import"./index-C866d7TQ.js";import"./isPlainObject-DO4xz_mS.js";import"./_baseIteratee-dR1m8JFb.js";import"./isEqual-Dg8IMqNb.js";import"./debounce-B9bsGuT8.js";import"./index-BHdNVpnR.js";import"./index-CTOZnYrj.js";const ge=C({name:"ImgEmpty"}),be=C({...ge,setup(e){const t=A("empty"),i=x();return(d,b)=>(c(),g("svg",{viewBox:"0 0 79 86",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[s("defs",null,[s("linearGradient",{id:`linearGradient-1-${r(i)}`,x1:"38.8503086%",y1:"0%",x2:"61.1496914%",y2:"100%"},[s("stop",{"stop-color":`var(${r(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,["stop-color"]),s("stop",{"stop-color":`var(${r(t).cssVarBlockName("fill-color-4")})`,offset:"100%"},null,8,["stop-color"])],8,["id"]),s("linearGradient",{id:`linearGradient-2-${r(i)}`,x1:"0%",y1:"9.5%",x2:"100%",y2:"90.5%"},[s("stop",{"stop-color":`var(${r(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,["stop-color"]),s("stop",{"stop-color":`var(${r(t).cssVarBlockName("fill-color-6")})`,offset:"100%"},null,8,["stop-color"])],8,["id"]),s("rect",{id:`path-3-${r(i)}`,x:"0",y:"0",width:"17",height:"36"},null,8,["id"])]),s("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[s("g",{transform:"translate(-1268.000000, -535.000000)"},[s("g",{transform:"translate(1268.000000, 535.000000)"},[s("path",{d:"M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z",fill:`var(${r(t).cssVarBlockName("fill-color-3")})`},null,8,["fill"]),s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-7")})`,transform:"translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) ",points:"13 58 53 58 42 45 2 45"},null,8,["fill"]),s("g",{transform:"translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)"},[s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-7")})`,transform:"translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) ",points:"2.84078316e-14 3 18 3 23 7 5 7"},null,8,["fill"]),s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-5")})`,points:"-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43"},null,8,["fill"]),s("rect",{fill:`url(#linearGradient-1-${r(i)})`,transform:"translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) ",x:"38",y:"7",width:"17",height:"36"},null,8,["fill"]),s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-2")})`,transform:"translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) ",points:"24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12"},null,8,["fill"])]),s("rect",{fill:`url(#linearGradient-2-${r(i)})`,x:"13",y:"45",width:"40",height:"36"},null,8,["fill"]),s("g",{transform:"translate(53.000000, 45.000000)"},[s("use",{fill:`var(${r(t).cssVarBlockName("fill-color-8")})`,transform:"translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) ","xlink:href":`#path-3-${r(i)}`},null,8,["fill","xlink:href"]),s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-9")})`,mask:`url(#mask-4-${r(i)})`,transform:"translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) ",points:"7 0 24 0 20 18 7 16.5"},null,8,["fill","mask"])]),s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-2")})`,transform:"translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) ",points:"62 45 79 45 70 58 53 58"},null,8,["fill"])])])])]))}});var ye=R(be,[["__file","img-empty.vue"]]);const $e=ee({image:{type:String,default:""},imageSize:Number,description:{type:String,default:""}}),_e=C({name:"ElEmpty"}),ke=C({..._e,props:$e,setup(e){const t=e,{t:i}=te(),d=A("empty"),b=P(()=>t.description||i("el.table.emptyText")),k=P(()=>({width:se(t.imageSize)}));return(f,y)=>(c(),g("div",{class:I(r(d).b())},[s("div",{class:I(r(d).e("image")),style:le(r(k))},[f.image?(c(),g("img",{key:0,src:f.image,ondragstart:"return false"},null,8,["src"])):L(f.$slots,"image",{key:1},()=>[n(ye)])],6),s("div",{class:I(r(d).e("description"))},[f.$slots.description?L(f.$slots,"description",{key:0}):(c(),g("p",{key:1},a(r(b)),1))],2),f.$slots.default?(c(),g("div",{key:0,class:I(r(d).e("bottom"))},[L(f.$slots,"default")],2)):w("v-if",!0)],2))}});var ve=R(ke,[["__file","empty.vue"]]);const Q=ie(ve);class we{key="site-domains";async getAll(t={}){return await V.get(`/${this.key}/`,{params:t})}async get(t){return await V.get(`/${this.key}/${t}`)}async create(t){return await V.post(`/${this.key}/`,t)}async verify(t){return await V.post(`/${this.key}/${t}/verify/`)}async delete(t){return await V.delete(`/${this.key}/${t}`)}}const E=new we,Ce=/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/,Ve=["acedata.cloud","surl.id","localhost"];function Ee(e){let t=(e||"").trim().toLowerCase();if(!t)return{ok:!1,reason:"empty"};if(t.includes("://"))try{t=new URL(t).hostname||""}catch{return{ok:!1,reason:"invalid_url"}}if(t=t.replace(/\/.*$/,"").split(":")[0],!t)return{ok:!1,reason:"empty"};if(!t.includes("."))return{ok:!1,reason:"no_dot"};for(const d of Ve)if(t===d||t.endsWith("."+d))return{ok:!1,reason:"reserved"};const i=t.split(".");if(i.length<2)return{ok:!1,reason:"too_few_labels"};for(const d of i)if(!d||!Ce.test(d))return{ok:!1,reason:"bad_label"};return{ok:!0,value:t}}const De=C({name:"DomainsDialog",components:{ElDialog:O,ElButton:J,ElEmpty:Q,ElForm:q,ElFormItem:G,ElInput:Z,ElTag:oe,ElDivider:ne},props:{modelValue:{type:Boolean,required:!0},site:{type:Object,default:null}},emits:["update:modelValue"],data(){return{loading:!1,domains:[],bind:{hostname:""},binding:!1,busyId:null}},watch:{modelValue(e){e&&this.site?.id?this.fetchDomains():e||(this.domains=[],this.bind.hostname="",this.busyId=null)}},methods:{async fetchDomains(){if(this.site?.id){this.loading=!0;try{const{data:e}=await E.getAll({site:this.site.id});this.domains=e?.items||[]}catch(e){console.error("failed to load domains",e),p.error(this.$t("subsite.message.domainsLoadFailed"))}finally{this.loading=!1}}},async onBind(){if(!this.site?.id)return;const e=Ee(this.bind.hostname);if(!e.ok){p.warning(this.$t("subsite.message.hostnameInvalid"));return}this.binding=!0;try{const{data:t}=await E.create({site:this.site.id,hostname:e.value});p.success(this.$t("subsite.message.domainCreated")),this.domains=[t,...this.domains],this.bind.hostname=""}catch(t){const i=t?.response?.data?.hostname||t?.response?.data?.detail||t?.response?.data?.site||t?.message;p.error(typeof i=="string"?i:this.$t("subsite.message.domainCreateFailed"))}finally{this.binding=!1}},async onVerify(e){if(e.id){this.busyId=e.id;try{const{data:t}=await E.verify(e.id);this.replaceRow(t),t.status==="Active"?p.success(this.$t("subsite.message.domainActive")):t.status==="Failed"?p.error(t.status_reason||this.$t("subsite.message.domainFailed")):p.info(this.$t("subsite.message.domainProgressed"))}catch(t){const i=t?.response?.data?.verification||t?.response?.data?.edgeone||t?.response?.data?.detail||t?.message;p.error(typeof i=="string"?i:this.$t("subsite.message.domainVerifyFailed"))}finally{this.busyId=null}}},async onRefresh(e){if(e.id){this.busyId=e.id;try{const{data:t}=await E.get(e.id);this.replaceRow(t)}catch(t){console.error("refresh failed",t)}finally{this.busyId=null}}},async onDelete(e){if(!(!e.id||!e.hostname)){try{await K.confirm(this.$t("subsite.message.domainDeleteConfirm",{hostname:e.hostname}),this.$t("common.button.delete"),{type:"warning",confirmButtonText:this.$t("common.button.delete"),cancelButtonText:this.$t("common.button.cancel")})}catch{return}this.busyId=e.id;try{await E.delete(e.id),this.domains=this.domains.filter(t=>t.id!==e.id)}catch(t){const i=t?.response?.data?.detail||t?.message;p.error(typeof i=="string"?i:this.$t("subsite.message.domainDeleteFailed"))}finally{this.busyId=null}}},replaceRow(e){const t=this.domains.findIndex(i=>i.id===e.id);t>=0?this.domains.splice(t,1,e):this.domains=[e,...this.domains]},canVerify(e){return e.status==="PendingDnsVerification"||e.status==="ProvisioningEo"||e.status==="ProvisioningCert"},verifyButtonLabel(e){return e==="PendingDnsVerification"?this.$t("subsite.button.verify"):this.$t("subsite.button.checkProgress")},statusLabel(e){if(!e)return"-";const t=`subsite.status.${e.charAt(0).toLowerCase()+e.slice(1)}`;return this.$t(t)},statusTagType(e){return e==="Active"?"success":e==="Failed"?"danger":e==="PendingDnsVerification"?"info":"warning"}}}),Se={class:"domains-body"},Be={class:"tip"},Ie={class:"domain-row-head"},Ne={class:"hostname"},ze={class:"row-actions"},Te={key:0,class:"status-reason error"},Le={key:1,class:"dns-instructions"},Fe={class:"instructions"},Ue={class:"dns-record"},Pe={class:"break"},Re={class:"bind-title"},Ae={class:"tip"};function Oe(e,t,i,d,b,k){const f=u("el-empty"),y=u("el-tag"),$=u("el-button"),N=u("el-divider"),v=u("el-input"),z=u("el-form-item"),T=u("el-form"),D=u("el-dialog"),S=W("loading");return c(),_(D,{"model-value":e.modelValue,title:e.$t("subsite.title.domains",{origin:e.site?.origin||""}),width:"640px",class:"domains-dialog","onUpdate:modelValue":t[3]||(t[3]=l=>e.$emit("update:modelValue",l))},{footer:o(()=>[s("span",null,[n($,{round:"",onClick:t[2]||(t[2]=l=>e.$emit("update:modelValue",!1))},{default:o(()=>[h(a(e.$t("common.button.close")),1)]),_:1}),n($,{round:"",type:"primary",loading:e.binding,disabled:!e.bind.hostname.trim(),onClick:e.onBind},{default:o(()=>[h(a(e.$t("subsite.button.bindDomain")),1)]),_:1},8,["loading","disabled","onClick"])])]),default:o(()=>[H((c(),g("div",Se,[s("p",Be,a(e.$t("subsite.message.domainsIntro")),1),!e.loading&&e.domains.length===0?(c(),_(f,{key:0,description:e.$t("subsite.message.domainsEmpty")},null,8,["description"])):w("",!0),(c(!0),g(re,null,de(e.domains,l=>(c(),g("div",{key:l.id,class:"domain-row"},[s("div",Ie,[s("strong",Ne,a(l.hostname),1),n(y,{type:e.statusTagType(l.status),size:"small",class:"status-tag"},{default:o(()=>[h(a(e.statusLabel(l.status)),1)]),_:2},1032,["type"]),s("span",ze,[e.canVerify(l)?(c(),_($,{key:0,size:"small",type:"primary",loading:e.busyId===l.id,link:"",onClick:B=>e.onVerify(l)},{default:o(()=>[h(a(e.verifyButtonLabel(l.status)),1)]),_:2},1032,["loading","onClick"])):w("",!0),l.status!=="Active"?(c(),_($,{key:1,size:"small",link:"",loading:e.busyId===l.id,onClick:B=>e.onRefresh(l)},{default:o(()=>[h(a(e.$t("subsite.button.refresh")),1)]),_:1},8,["loading","onClick"])):w("",!0),n($,{size:"small",link:"",type:"danger",loading:e.busyId===l.id,onClick:B=>e.onDelete(l)},{default:o(()=>[h(a(e.$t("common.button.delete")),1)]),_:1},8,["loading","onClick"])])]),l.status_reason?(c(),g("div",Te,a(l.status_reason),1)):w("",!0),l.dns_instructions?(c(),g("div",Le,[s("p",Fe,a(l.dns_instructions.instructions),1),s("table",Ue,[s("tr",null,[s("th",null,a(e.$t("subsite.field.recordType")),1),s("td",null,[s("code",null,a(l.dns_instructions.record_type),1)])]),s("tr",null,[s("th",null,a(e.$t("subsite.field.recordName")),1),s("td",null,[s("code",null,a(l.dns_instructions.record_name),1)])]),s("tr",null,[s("th",null,a(e.$t("subsite.field.recordValue")),1),s("td",null,[s("code",Pe,a(l.dns_instructions.record_value),1)])])])])):w("",!0)]))),128)),n(N),s("h4",Re,a(e.$t("subsite.title.bindDomain")),1),n(T,{model:e.bind,"label-width":"auto",class:"form",onSubmit:t[1]||(t[1]=j(()=>{},["prevent"]))},{default:o(()=>[n(z,{label:e.$t("subsite.field.hostname"),required:""},{default:o(()=>[n(v,{modelValue:e.bind.hostname,"onUpdate:modelValue":t[0]||(t[0]=l=>e.bind.hostname=l),placeholder:e.$t("subsite.placeholder.hostname"),maxlength:"253",autofocus:""},null,8,["modelValue","placeholder"]),s("span",Ae,a(e.$t("subsite.message.hostnameTip")),1)]),_:1},8,["label"])]),_:1},8,["model"])])),[[S,e.loading]])]),_:1},8,["model-value","title"])}const Me=M(De,[["render",Oe],["__scopeId","data-v-28d4f7c7"]]),Ze=/^(?!.*--)[a-z0-9][a-z0-9-]{1,30}[a-z0-9]$/,Ge=C({name:"SubsiteIndex",components:{ElRow:he,ElCol:fe,ElCard:pe,ElButton:J,ElTable:ce,ElTableColumn:me,ElEmpty:Q,ElDialog:O,ElForm:q,ElFormItem:G,ElInput:Z,DomainsDialog:Me},data(){return{Plus:ue(ae),loading:!1,items:[],creating:{visible:!1,submitting:!1,form:{slug:"",title:""}},domainsDialog:{visible:!1,site:null}}},computed:{parentSite(){return this.$store.state.site},user(){return this.$store.getters.user},subdomainZone(){const e=this.parentSite?.features?.subsite?.subdomain_zone;return e||(typeof window<"u"&&window.location?.host?window.location.host.split(":")[0]:this.parentSite?.origin||"")},maxSubsitesPerUser(){const e=this.parentSite?.features?.subsite?.max_subsites_per_user;return typeof e=="number"&&e>0?e:5},canCreate(){return!!this.subdomainZone&&!!this.user?.id&&this.items.length<this.maxSubsitesPerUser}},mounted(){this.fetchSubsites()},methods:{async fetchSubsites(){const e=this.user?.id;if(!e){this.items=[];return}this.loading=!0;try{const{data:t}=await U.getAll({user_id:e}),i=t?.items||[],d=this.parentSite?.id;this.items=i.filter(b=>{if(b.id===d)return!1;const k=b.metadata||{};return d&&k.parent_site_id?k.parent_site_id===d:!!(b.origin&&this.subdomainZone&&b.origin.endsWith(`.${this.subdomainZone}`))})}catch(t){console.error("failed to load subsites",t),p.error(this.$t("subsite.message.loadFailed"))}finally{this.loading=!1}},onOpenCreate(){this.creating.form.slug="",this.creating.form.title="",this.creating.visible=!0},onCancelCreate(){this.creating.visible=!1},async onSubmitCreate(){const e=this.creating.form.slug.trim().toLowerCase();if(!Ze.test(e)){p.warning(this.$t("subsite.message.slugInvalid"));return}if(!this.subdomainZone){p.error(this.$t("subsite.message.zoneMissing"));return}const t=`${e}.${this.subdomainZone}`;this.creating.submitting=!0;try{const{data:i}=await U.create({origin:t,title:this.creating.form.title.trim()||void 0});p.success(this.$t("subsite.message.created")),this.creating.visible=!1,this.items=[i,...this.items],K.confirm(this.$t("subsite.message.openNowConfirm",{origin:t}),this.$t("subsite.title.openNow"),{confirmButtonText:this.$t("subsite.button.open"),cancelButtonText:this.$t("common.button.cancel"),type:"success"}).then(()=>window.open(`https://${t}/`,"_blank","noopener")).catch(()=>{})}catch(i){const d=i?.response?.data?.origin||i?.response?.data?.detail||i?.message;p.error(typeof d=="string"?d:this.$t("subsite.message.createFailed"))}finally{this.creating.submitting=!1}},onOpenSite(e){e.origin&&window.open(`https://${e.origin}/`,"_blank","noopener")},onManageSite(e){e.origin&&window.open(`https://${e.origin}/site`,"_blank","noopener")},onOpenDomains(e){this.domainsDialog.site=e,this.domainsDialog.visible=!0},rowUrl(e){return e.origin?`https://${e.origin}/`:"#"},formatDate(e){if(!e)return"-";try{return new Date(e).toLocaleString()}catch{return e}}}}),qe={class:"title"},He={class:"tip"},je=["href"],We={class:"tip"};function Je(e,t,i,d,b,k){const f=u("el-col"),y=u("el-button"),$=u("el-row"),N=u("el-empty"),v=u("el-table-column"),z=u("el-table"),T=u("el-card"),D=u("el-input"),S=u("el-form-item"),l=u("el-form"),B=u("el-dialog"),X=u("domains-dialog"),Y=W("loading");return c(),_($,{class:"panel"},{default:o(()=>[n(f,{span:24},{default:o(()=>[n($,{class:"header",justify:"space-between",align:"middle"},{default:o(()=>[n(f,{md:16,xs:24},{default:o(()=>[s("h2",qe,a(e.$t("subsite.title.index")),1),s("p",He,a(e.$t("subsite.message.indexTip")),1)]),_:1}),n(f,{md:8,xs:24,class:"header-actions"},{default:o(()=>[n(y,{type:"primary",round:"",icon:e.Plus,disabled:!e.canCreate,onClick:e.onOpenCreate},{default:o(()=>[h(a(e.$t("subsite.button.create")),1)]),_:1},8,["icon","disabled","onClick"])]),_:1})]),_:1}),H((c(),_(T,{shadow:"hover",class:"list-card"},{default:o(()=>[!e.loading&&e.items.length===0?(c(),_(N,{key:0,description:e.$t("subsite.message.empty")},null,8,["description"])):(c(),_(z,{key:1,data:e.items,stripe:""},{default:o(()=>[n(v,{label:e.$t("subsite.field.origin"),prop:"origin"},{default:o(({row:m})=>[s("a",{href:e.rowUrl(m),target:"_blank",rel:"noopener",class:"origin-link"},a(m.origin),9,je)]),_:1},8,["label"]),n(v,{label:e.$t("subsite.field.title"),prop:"title"},{default:o(({row:m})=>[s("span",null,a(m.title||"-"),1)]),_:1},8,["label"]),n(v,{label:e.$t("subsite.field.createdAt"),prop:"created_at",width:"180"},{default:o(({row:m})=>[s("span",null,a(e.formatDate(m.created_at)),1)]),_:1},8,["label"]),n(v,{label:e.$t("subsite.field.actions"),width:"260",fixed:"right"},{default:o(({row:m})=>[n(y,{size:"small",link:"",type:"primary",onClick:F=>e.onOpenSite(m)},{default:o(()=>[h(a(e.$t("subsite.button.open")),1)]),_:1},8,["onClick"]),n(y,{size:"small",link:"",type:"primary",onClick:F=>e.onManageSite(m)},{default:o(()=>[h(a(e.$t("subsite.button.manage")),1)]),_:1},8,["onClick"]),n(y,{size:"small",link:"",type:"primary",onClick:F=>e.onOpenDomains(m)},{default:o(()=>[h(a(e.$t("subsite.button.domains")),1)]),_:1},8,["onClick"])]),_:1},8,["label"])]),_:1},8,["data"]))]),_:1})),[[Y,e.loading]])]),_:1}),n(B,{modelValue:e.creating.visible,"onUpdate:modelValue":t[3]||(t[3]=m=>e.creating.visible=m),title:e.$t("subsite.title.create"),width:"480px",class:"create-dialog"},{footer:o(()=>[s("span",null,[n(y,{round:"",onClick:e.onCancelCreate},{default:o(()=>[h(a(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),n(y,{round:"",type:"primary",loading:e.creating.submitting,disabled:!e.creating.form.slug.trim(),onClick:e.onSubmitCreate},{default:o(()=>[h(a(e.$t("common.button.confirm")),1)]),_:1},8,["loading","disabled","onClick"])])]),default:o(()=>[n(l,{model:e.creating.form,"label-width":"auto",class:"form",onSubmit:t[2]||(t[2]=j(()=>{},["prevent"]))},{default:o(()=>[n(S,{label:e.$t("subsite.field.slug"),required:""},{default:o(()=>[n(D,{modelValue:e.creating.form.slug,"onUpdate:modelValue":t[0]||(t[0]=m=>e.creating.form.slug=m),placeholder:e.$t("subsite.placeholder.slug"),maxlength:"32","show-word-limit":"",autofocus:""},{append:o(()=>[h("."+a(e.subdomainZone),1)]),_:1},8,["modelValue","placeholder"]),s("span",We,a(e.$t("subsite.message.slugTip")),1)]),_:1},8,["label"]),n(S,{label:e.$t("subsite.field.title")},{default:o(()=>[n(D,{modelValue:e.creating.form.title,"onUpdate:modelValue":t[1]||(t[1]=m=>e.creating.form.title=m),placeholder:e.$t("subsite.placeholder.title"),maxlength:"80"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),n(X,{modelValue:e.domainsDialog.visible,"onUpdate:modelValue":t[4]||(t[4]=m=>e.domainsDialog.visible=m),site:e.domainsDialog.site},null,8,["modelValue","site"])]),_:1})}const Dt=M(Ge,[["render",Je],["__scopeId","data-v-b054ab8b"]]);export{Dt as default};
1
+ import{y as R,z as A,u as x,H as ee,ae as te,S as se,A as ie,k as V,E as oe,aZ as O,D as M,an as U,bL as ae}from"./index-D4saMGlC.js";import{E as ne}from"./index-B0aR0s7l.js";import{E as Z}from"./index-DH6MtP3d.js";import{E as G,a as q}from"./index-BFQ62bjd.js";import{d as C,q as c,H as g,E as s,u as r,z as L,C as n,R as le,Q as I,F as a,J as w,c as P,x as _,y as o,G as H,O as re,N as de,M as j,I as h,K as W,D as u,a7 as ue}from"./vendor-vue-DU0w5ewx.js";import{E as J}from"./index-DwY9pOO3.js";import{E as K}from"./index-zSPYOXLf.js";import{E as p}from"./index-Ct-EZ76M.js";import{E as me,a as ce}from"./index-DgDNtUBe.js";import{E as pe}from"./index-BlKyot0X.js";import{E as fe,a as he}from"./index-BlnTs38h.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-9TBHB1ku.js";import"./typescript-ClSWGTjJ.js";import"./index-B_KH4K5T.js";import"./index-Cuy1fHGt.js";import"./use-form-item-DcOclXCw.js";import"./castArray--oY6r8jd.js";import"./_baseClone-8AWe3BQs.js";import"./_Uint8Array-VygXE9xf.js";import"./_initCloneObject-BrdqfTp3.js";import"./index-BuyEbX8F.js";import"./validator-BVNDYkbY.js";import"./index-DmVTvMHH.js";import"./index-DXexZRXn.js";import"./isPlainObject-FvgO03a8.js";import"./_baseIteratee-BUY84h9-.js";import"./isEqual-BGJ5u1aM.js";import"./debounce-CxAObiU1.js";import"./index-BQA0Ltgm.js";import"./index-C8RMr0ye.js";const ge=C({name:"ImgEmpty"}),be=C({...ge,setup(e){const t=A("empty"),i=x();return(d,b)=>(c(),g("svg",{viewBox:"0 0 79 86",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[s("defs",null,[s("linearGradient",{id:`linearGradient-1-${r(i)}`,x1:"38.8503086%",y1:"0%",x2:"61.1496914%",y2:"100%"},[s("stop",{"stop-color":`var(${r(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,["stop-color"]),s("stop",{"stop-color":`var(${r(t).cssVarBlockName("fill-color-4")})`,offset:"100%"},null,8,["stop-color"])],8,["id"]),s("linearGradient",{id:`linearGradient-2-${r(i)}`,x1:"0%",y1:"9.5%",x2:"100%",y2:"90.5%"},[s("stop",{"stop-color":`var(${r(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,["stop-color"]),s("stop",{"stop-color":`var(${r(t).cssVarBlockName("fill-color-6")})`,offset:"100%"},null,8,["stop-color"])],8,["id"]),s("rect",{id:`path-3-${r(i)}`,x:"0",y:"0",width:"17",height:"36"},null,8,["id"])]),s("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[s("g",{transform:"translate(-1268.000000, -535.000000)"},[s("g",{transform:"translate(1268.000000, 535.000000)"},[s("path",{d:"M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z",fill:`var(${r(t).cssVarBlockName("fill-color-3")})`},null,8,["fill"]),s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-7")})`,transform:"translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) ",points:"13 58 53 58 42 45 2 45"},null,8,["fill"]),s("g",{transform:"translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)"},[s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-7")})`,transform:"translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) ",points:"2.84078316e-14 3 18 3 23 7 5 7"},null,8,["fill"]),s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-5")})`,points:"-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43"},null,8,["fill"]),s("rect",{fill:`url(#linearGradient-1-${r(i)})`,transform:"translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) ",x:"38",y:"7",width:"17",height:"36"},null,8,["fill"]),s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-2")})`,transform:"translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) ",points:"24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12"},null,8,["fill"])]),s("rect",{fill:`url(#linearGradient-2-${r(i)})`,x:"13",y:"45",width:"40",height:"36"},null,8,["fill"]),s("g",{transform:"translate(53.000000, 45.000000)"},[s("use",{fill:`var(${r(t).cssVarBlockName("fill-color-8")})`,transform:"translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) ","xlink:href":`#path-3-${r(i)}`},null,8,["fill","xlink:href"]),s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-9")})`,mask:`url(#mask-4-${r(i)})`,transform:"translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) ",points:"7 0 24 0 20 18 7 16.5"},null,8,["fill","mask"])]),s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-2")})`,transform:"translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) ",points:"62 45 79 45 70 58 53 58"},null,8,["fill"])])])])]))}});var ye=R(be,[["__file","img-empty.vue"]]);const $e=ee({image:{type:String,default:""},imageSize:Number,description:{type:String,default:""}}),_e=C({name:"ElEmpty"}),ke=C({..._e,props:$e,setup(e){const t=e,{t:i}=te(),d=A("empty"),b=P(()=>t.description||i("el.table.emptyText")),k=P(()=>({width:se(t.imageSize)}));return(f,y)=>(c(),g("div",{class:I(r(d).b())},[s("div",{class:I(r(d).e("image")),style:le(r(k))},[f.image?(c(),g("img",{key:0,src:f.image,ondragstart:"return false"},null,8,["src"])):L(f.$slots,"image",{key:1},()=>[n(ye)])],6),s("div",{class:I(r(d).e("description"))},[f.$slots.description?L(f.$slots,"description",{key:0}):(c(),g("p",{key:1},a(r(b)),1))],2),f.$slots.default?(c(),g("div",{key:0,class:I(r(d).e("bottom"))},[L(f.$slots,"default")],2)):w("v-if",!0)],2))}});var ve=R(ke,[["__file","empty.vue"]]);const Q=ie(ve);class we{key="site-domains";async getAll(t={}){return await V.get(`/${this.key}/`,{params:t})}async get(t){return await V.get(`/${this.key}/${t}`)}async create(t){return await V.post(`/${this.key}/`,t)}async verify(t){return await V.post(`/${this.key}/${t}/verify/`)}async delete(t){return await V.delete(`/${this.key}/${t}`)}}const E=new we,Ce=/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/,Ve=["acedata.cloud","surl.id","localhost"];function Ee(e){let t=(e||"").trim().toLowerCase();if(!t)return{ok:!1,reason:"empty"};if(t.includes("://"))try{t=new URL(t).hostname||""}catch{return{ok:!1,reason:"invalid_url"}}if(t=t.replace(/\/.*$/,"").split(":")[0],!t)return{ok:!1,reason:"empty"};if(!t.includes("."))return{ok:!1,reason:"no_dot"};for(const d of Ve)if(t===d||t.endsWith("."+d))return{ok:!1,reason:"reserved"};const i=t.split(".");if(i.length<2)return{ok:!1,reason:"too_few_labels"};for(const d of i)if(!d||!Ce.test(d))return{ok:!1,reason:"bad_label"};return{ok:!0,value:t}}const De=C({name:"DomainsDialog",components:{ElDialog:O,ElButton:J,ElEmpty:Q,ElForm:q,ElFormItem:G,ElInput:Z,ElTag:oe,ElDivider:ne},props:{modelValue:{type:Boolean,required:!0},site:{type:Object,default:null}},emits:["update:modelValue"],data(){return{loading:!1,domains:[],bind:{hostname:""},binding:!1,busyId:null}},watch:{modelValue(e){e&&this.site?.id?this.fetchDomains():e||(this.domains=[],this.bind.hostname="",this.busyId=null)}},methods:{async fetchDomains(){if(this.site?.id){this.loading=!0;try{const{data:e}=await E.getAll({site:this.site.id});this.domains=e?.items||[]}catch(e){console.error("failed to load domains",e),p.error(this.$t("subsite.message.domainsLoadFailed"))}finally{this.loading=!1}}},async onBind(){if(!this.site?.id)return;const e=Ee(this.bind.hostname);if(!e.ok){p.warning(this.$t("subsite.message.hostnameInvalid"));return}this.binding=!0;try{const{data:t}=await E.create({site:this.site.id,hostname:e.value});p.success(this.$t("subsite.message.domainCreated")),this.domains=[t,...this.domains],this.bind.hostname=""}catch(t){const i=t?.response?.data?.hostname||t?.response?.data?.detail||t?.response?.data?.site||t?.message;p.error(typeof i=="string"?i:this.$t("subsite.message.domainCreateFailed"))}finally{this.binding=!1}},async onVerify(e){if(e.id){this.busyId=e.id;try{const{data:t}=await E.verify(e.id);this.replaceRow(t),t.status==="Active"?p.success(this.$t("subsite.message.domainActive")):t.status==="Failed"?p.error(t.status_reason||this.$t("subsite.message.domainFailed")):p.info(this.$t("subsite.message.domainProgressed"))}catch(t){const i=t?.response?.data?.verification||t?.response?.data?.edgeone||t?.response?.data?.detail||t?.message;p.error(typeof i=="string"?i:this.$t("subsite.message.domainVerifyFailed"))}finally{this.busyId=null}}},async onRefresh(e){if(e.id){this.busyId=e.id;try{const{data:t}=await E.get(e.id);this.replaceRow(t)}catch(t){console.error("refresh failed",t)}finally{this.busyId=null}}},async onDelete(e){if(!(!e.id||!e.hostname)){try{await K.confirm(this.$t("subsite.message.domainDeleteConfirm",{hostname:e.hostname}),this.$t("common.button.delete"),{type:"warning",confirmButtonText:this.$t("common.button.delete"),cancelButtonText:this.$t("common.button.cancel")})}catch{return}this.busyId=e.id;try{await E.delete(e.id),this.domains=this.domains.filter(t=>t.id!==e.id)}catch(t){const i=t?.response?.data?.detail||t?.message;p.error(typeof i=="string"?i:this.$t("subsite.message.domainDeleteFailed"))}finally{this.busyId=null}}},replaceRow(e){const t=this.domains.findIndex(i=>i.id===e.id);t>=0?this.domains.splice(t,1,e):this.domains=[e,...this.domains]},canVerify(e){return e.status==="PendingDnsVerification"||e.status==="ProvisioningEo"||e.status==="ProvisioningCert"},verifyButtonLabel(e){return e==="PendingDnsVerification"?this.$t("subsite.button.verify"):this.$t("subsite.button.checkProgress")},statusLabel(e){if(!e)return"-";const t=`subsite.status.${e.charAt(0).toLowerCase()+e.slice(1)}`;return this.$t(t)},statusTagType(e){return e==="Active"?"success":e==="Failed"?"danger":e==="PendingDnsVerification"?"info":"warning"}}}),Se={class:"domains-body"},Be={class:"tip"},Ie={class:"domain-row-head"},Ne={class:"hostname"},ze={class:"row-actions"},Te={key:0,class:"status-reason error"},Le={key:1,class:"dns-instructions"},Fe={class:"instructions"},Ue={class:"dns-record"},Pe={class:"break"},Re={class:"bind-title"},Ae={class:"tip"};function Oe(e,t,i,d,b,k){const f=u("el-empty"),y=u("el-tag"),$=u("el-button"),N=u("el-divider"),v=u("el-input"),z=u("el-form-item"),T=u("el-form"),D=u("el-dialog"),S=W("loading");return c(),_(D,{"model-value":e.modelValue,title:e.$t("subsite.title.domains",{origin:e.site?.origin||""}),width:"640px",class:"domains-dialog","onUpdate:modelValue":t[3]||(t[3]=l=>e.$emit("update:modelValue",l))},{footer:o(()=>[s("span",null,[n($,{round:"",onClick:t[2]||(t[2]=l=>e.$emit("update:modelValue",!1))},{default:o(()=>[h(a(e.$t("common.button.close")),1)]),_:1}),n($,{round:"",type:"primary",loading:e.binding,disabled:!e.bind.hostname.trim(),onClick:e.onBind},{default:o(()=>[h(a(e.$t("subsite.button.bindDomain")),1)]),_:1},8,["loading","disabled","onClick"])])]),default:o(()=>[H((c(),g("div",Se,[s("p",Be,a(e.$t("subsite.message.domainsIntro")),1),!e.loading&&e.domains.length===0?(c(),_(f,{key:0,description:e.$t("subsite.message.domainsEmpty")},null,8,["description"])):w("",!0),(c(!0),g(re,null,de(e.domains,l=>(c(),g("div",{key:l.id,class:"domain-row"},[s("div",Ie,[s("strong",Ne,a(l.hostname),1),n(y,{type:e.statusTagType(l.status),size:"small",class:"status-tag"},{default:o(()=>[h(a(e.statusLabel(l.status)),1)]),_:2},1032,["type"]),s("span",ze,[e.canVerify(l)?(c(),_($,{key:0,size:"small",type:"primary",loading:e.busyId===l.id,link:"",onClick:B=>e.onVerify(l)},{default:o(()=>[h(a(e.verifyButtonLabel(l.status)),1)]),_:2},1032,["loading","onClick"])):w("",!0),l.status!=="Active"?(c(),_($,{key:1,size:"small",link:"",loading:e.busyId===l.id,onClick:B=>e.onRefresh(l)},{default:o(()=>[h(a(e.$t("subsite.button.refresh")),1)]),_:1},8,["loading","onClick"])):w("",!0),n($,{size:"small",link:"",type:"danger",loading:e.busyId===l.id,onClick:B=>e.onDelete(l)},{default:o(()=>[h(a(e.$t("common.button.delete")),1)]),_:1},8,["loading","onClick"])])]),l.status_reason?(c(),g("div",Te,a(l.status_reason),1)):w("",!0),l.dns_instructions?(c(),g("div",Le,[s("p",Fe,a(l.dns_instructions.instructions),1),s("table",Ue,[s("tr",null,[s("th",null,a(e.$t("subsite.field.recordType")),1),s("td",null,[s("code",null,a(l.dns_instructions.record_type),1)])]),s("tr",null,[s("th",null,a(e.$t("subsite.field.recordName")),1),s("td",null,[s("code",null,a(l.dns_instructions.record_name),1)])]),s("tr",null,[s("th",null,a(e.$t("subsite.field.recordValue")),1),s("td",null,[s("code",Pe,a(l.dns_instructions.record_value),1)])])])])):w("",!0)]))),128)),n(N),s("h4",Re,a(e.$t("subsite.title.bindDomain")),1),n(T,{model:e.bind,"label-width":"auto",class:"form",onSubmit:t[1]||(t[1]=j(()=>{},["prevent"]))},{default:o(()=>[n(z,{label:e.$t("subsite.field.hostname"),required:""},{default:o(()=>[n(v,{modelValue:e.bind.hostname,"onUpdate:modelValue":t[0]||(t[0]=l=>e.bind.hostname=l),placeholder:e.$t("subsite.placeholder.hostname"),maxlength:"253",autofocus:""},null,8,["modelValue","placeholder"]),s("span",Ae,a(e.$t("subsite.message.hostnameTip")),1)]),_:1},8,["label"])]),_:1},8,["model"])])),[[S,e.loading]])]),_:1},8,["model-value","title"])}const Me=M(De,[["render",Oe],["__scopeId","data-v-28d4f7c7"]]),Ze=/^(?!.*--)[a-z0-9][a-z0-9-]{1,30}[a-z0-9]$/,Ge=C({name:"SubsiteIndex",components:{ElRow:he,ElCol:fe,ElCard:pe,ElButton:J,ElTable:ce,ElTableColumn:me,ElEmpty:Q,ElDialog:O,ElForm:q,ElFormItem:G,ElInput:Z,DomainsDialog:Me},data(){return{Plus:ue(ae),loading:!1,items:[],creating:{visible:!1,submitting:!1,form:{slug:"",title:""}},domainsDialog:{visible:!1,site:null}}},computed:{parentSite(){return this.$store.state.site},user(){return this.$store.getters.user},subdomainZone(){const e=this.parentSite?.features?.subsite?.subdomain_zone;return e||(typeof window<"u"&&window.location?.host?window.location.host.split(":")[0]:this.parentSite?.origin||"")},maxSubsitesPerUser(){const e=this.parentSite?.features?.subsite?.max_subsites_per_user;return typeof e=="number"&&e>0?e:5},canCreate(){return!!this.subdomainZone&&!!this.user?.id&&this.items.length<this.maxSubsitesPerUser}},mounted(){this.fetchSubsites()},methods:{async fetchSubsites(){const e=this.user?.id;if(!e){this.items=[];return}this.loading=!0;try{const{data:t}=await U.getAll({user_id:e}),i=t?.items||[],d=this.parentSite?.id;this.items=i.filter(b=>{if(b.id===d)return!1;const k=b.metadata||{};return d&&k.parent_site_id?k.parent_site_id===d:!!(b.origin&&this.subdomainZone&&b.origin.endsWith(`.${this.subdomainZone}`))})}catch(t){console.error("failed to load subsites",t),p.error(this.$t("subsite.message.loadFailed"))}finally{this.loading=!1}},onOpenCreate(){this.creating.form.slug="",this.creating.form.title="",this.creating.visible=!0},onCancelCreate(){this.creating.visible=!1},async onSubmitCreate(){const e=this.creating.form.slug.trim().toLowerCase();if(!Ze.test(e)){p.warning(this.$t("subsite.message.slugInvalid"));return}if(!this.subdomainZone){p.error(this.$t("subsite.message.zoneMissing"));return}const t=`${e}.${this.subdomainZone}`;this.creating.submitting=!0;try{const{data:i}=await U.create({origin:t,title:this.creating.form.title.trim()||void 0});p.success(this.$t("subsite.message.created")),this.creating.visible=!1,this.items=[i,...this.items],K.confirm(this.$t("subsite.message.openNowConfirm",{origin:t}),this.$t("subsite.title.openNow"),{confirmButtonText:this.$t("subsite.button.open"),cancelButtonText:this.$t("common.button.cancel"),type:"success"}).then(()=>window.open(`https://${t}/`,"_blank","noopener")).catch(()=>{})}catch(i){const d=i?.response?.data?.origin||i?.response?.data?.detail||i?.message;p.error(typeof d=="string"?d:this.$t("subsite.message.createFailed"))}finally{this.creating.submitting=!1}},onOpenSite(e){e.origin&&window.open(`https://${e.origin}/`,"_blank","noopener")},onManageSite(e){e.origin&&window.open(`https://${e.origin}/site`,"_blank","noopener")},onOpenDomains(e){this.domainsDialog.site=e,this.domainsDialog.visible=!0},rowUrl(e){return e.origin?`https://${e.origin}/`:"#"},formatDate(e){if(!e)return"-";try{return new Date(e).toLocaleString()}catch{return e}}}}),qe={class:"title"},He={class:"tip"},je=["href"],We={class:"tip"};function Je(e,t,i,d,b,k){const f=u("el-col"),y=u("el-button"),$=u("el-row"),N=u("el-empty"),v=u("el-table-column"),z=u("el-table"),T=u("el-card"),D=u("el-input"),S=u("el-form-item"),l=u("el-form"),B=u("el-dialog"),X=u("domains-dialog"),Y=W("loading");return c(),_($,{class:"panel"},{default:o(()=>[n(f,{span:24},{default:o(()=>[n($,{class:"header",justify:"space-between",align:"middle"},{default:o(()=>[n(f,{md:16,xs:24},{default:o(()=>[s("h2",qe,a(e.$t("subsite.title.index")),1),s("p",He,a(e.$t("subsite.message.indexTip")),1)]),_:1}),n(f,{md:8,xs:24,class:"header-actions"},{default:o(()=>[n(y,{type:"primary",round:"",icon:e.Plus,disabled:!e.canCreate,onClick:e.onOpenCreate},{default:o(()=>[h(a(e.$t("subsite.button.create")),1)]),_:1},8,["icon","disabled","onClick"])]),_:1})]),_:1}),H((c(),_(T,{shadow:"hover",class:"list-card"},{default:o(()=>[!e.loading&&e.items.length===0?(c(),_(N,{key:0,description:e.$t("subsite.message.empty")},null,8,["description"])):(c(),_(z,{key:1,data:e.items,stripe:""},{default:o(()=>[n(v,{label:e.$t("subsite.field.origin"),prop:"origin"},{default:o(({row:m})=>[s("a",{href:e.rowUrl(m),target:"_blank",rel:"noopener",class:"origin-link"},a(m.origin),9,je)]),_:1},8,["label"]),n(v,{label:e.$t("subsite.field.title"),prop:"title"},{default:o(({row:m})=>[s("span",null,a(m.title||"-"),1)]),_:1},8,["label"]),n(v,{label:e.$t("subsite.field.createdAt"),prop:"created_at",width:"180"},{default:o(({row:m})=>[s("span",null,a(e.formatDate(m.created_at)),1)]),_:1},8,["label"]),n(v,{label:e.$t("subsite.field.actions"),width:"260",fixed:"right"},{default:o(({row:m})=>[n(y,{size:"small",link:"",type:"primary",onClick:F=>e.onOpenSite(m)},{default:o(()=>[h(a(e.$t("subsite.button.open")),1)]),_:1},8,["onClick"]),n(y,{size:"small",link:"",type:"primary",onClick:F=>e.onManageSite(m)},{default:o(()=>[h(a(e.$t("subsite.button.manage")),1)]),_:1},8,["onClick"]),n(y,{size:"small",link:"",type:"primary",onClick:F=>e.onOpenDomains(m)},{default:o(()=>[h(a(e.$t("subsite.button.domains")),1)]),_:1},8,["onClick"])]),_:1},8,["label"])]),_:1},8,["data"]))]),_:1})),[[Y,e.loading]])]),_:1}),n(B,{modelValue:e.creating.visible,"onUpdate:modelValue":t[3]||(t[3]=m=>e.creating.visible=m),title:e.$t("subsite.title.create"),width:"480px",class:"create-dialog"},{footer:o(()=>[s("span",null,[n(y,{round:"",onClick:e.onCancelCreate},{default:o(()=>[h(a(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),n(y,{round:"",type:"primary",loading:e.creating.submitting,disabled:!e.creating.form.slug.trim(),onClick:e.onSubmitCreate},{default:o(()=>[h(a(e.$t("common.button.confirm")),1)]),_:1},8,["loading","disabled","onClick"])])]),default:o(()=>[n(l,{model:e.creating.form,"label-width":"auto",class:"form",onSubmit:t[2]||(t[2]=j(()=>{},["prevent"]))},{default:o(()=>[n(S,{label:e.$t("subsite.field.slug"),required:""},{default:o(()=>[n(D,{modelValue:e.creating.form.slug,"onUpdate:modelValue":t[0]||(t[0]=m=>e.creating.form.slug=m),placeholder:e.$t("subsite.placeholder.slug"),maxlength:"32","show-word-limit":"",autofocus:""},{append:o(()=>[h("."+a(e.subdomainZone),1)]),_:1},8,["modelValue","placeholder"]),s("span",We,a(e.$t("subsite.message.slugTip")),1)]),_:1},8,["label"]),n(S,{label:e.$t("subsite.field.title")},{default:o(()=>[n(D,{modelValue:e.creating.form.title,"onUpdate:modelValue":t[1]||(t[1]=m=>e.creating.form.title=m),placeholder:e.$t("subsite.placeholder.title"),maxlength:"80"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),n(X,{modelValue:e.domainsDialog.visible,"onUpdate:modelValue":t[4]||(t[4]=m=>e.domainsDialog.visible=m),site:e.domainsDialog.site},null,8,["modelValue","site"])]),_:1})}const Dt=M(Ge,[["render",Je],["__scopeId","data-v-b054ab8b"]]);export{Dt as default};
@@ -1 +1 @@
1
- import{F as G}from"./index.es-Cj6iYiLT.js";import{E as P}from"./index-Bq_7dZR9.js";import{E as W}from"./index-Dz64Puii.js";import{d as w,H as i,E as c,z as R,C as o,y as $,D as n,q as a,F as s,I as f,O as E,N as L,x as I,J as v,M as H,Q as q}from"./vendor-vue-DU0w5ewx.js";import{D as y,b0 as Z,cf as x,cg as J,ch as K,ci as Q,cj as X,ck as C,cl as U,cm as M,cn as Y,ao as z}from"./index-BbIO4bzW.js";import{I as O,S as ee}from"./ScrollList-CUmTwhTB.js";import{E as te}from"./index-DmX7sdZ9.js";import{I as N}from"./ImagePreview-CN781XIL.js";import{E as oe}from"./index-D3CXPtD_.js";import{E as A}from"./index-DnDt0mRm.js";import{C as se}from"./Consumption-Ck_gLJbq.js";import{a as ae}from"./price-BWIfnz-K.js";import{E as B,a as F}from"./index-ZN9XD_NV.js";import{b as ne}from"./errorCode-Cqj9Td_Z.js";import{o as j}from"./openaiimage-CH2pp1IR.js";import{C as ie}from"./CopyToClipboard-eTUekfsK.js";import{I as le}from"./ImageWrapper-By2Yl0pt.js";import{E as re}from"./index-C866d7TQ.js";import{E as ce}from"./index-ClhY-P9d.js";import{E as me}from"./index-CLkXDPBv.js";import{B as pe}from"./BotPlaceholder-BW7l1Bej.js";import{N as ue}from"./NoTasks-DKxId_4f.js";import"./use-form-item-Y27JHToo.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-9TBHB1ku.js";import"./typescript-BHL-GgG5.js";import"./index-BBlfkX9M.js";import"./index-CGgDszyo.js";import"./index-BguEgHVk.js";import"./_baseClone-CribV2Yc.js";import"./_Uint8Array-Ji9hnTSv.js";import"./_initCloneObject-BFlzDwJW.js";import"./isEqual-Dg8IMqNb.js";import"./index-D54W9u0S.js";import"./strings-DigWlKo9.js";import"./castArray-B9E6PR2M.js";import"./debounce-B9bsGuT8.js";import"./_baseIteratee-dR1m8JFb.js";import"./index-CTOZnYrj.js";import"./index-0APDMo9o.js";const de=w({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:P,FontAwesomeIcon:G},data(){return{drawer:!1}}}),ge={class:"main flex flex-row flex-1"},fe={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},he={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function _e(e,t,m,l,p,h){const u=n("font-awesome-icon"),d=n("el-button"),_=n("el-drawer");return a(),i("div",ge,[c("div",fe,[R(e.$slots,"config",{},void 0,!0)]),c("div",he,[R(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=g=>e.drawer=!0)},{default:$(()=>[o(u,{icon:"fa-solid fa-magic"})]),_:1}),o(_,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:$(()=>[R(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const $e=y(de,[["render",_e],["__scopeId","data-v-bfe5cd4b"]]),ve="",be=w({name:"PromptInput",components:{ElInput:te,InfoIcon:O},computed:{prompt:{get(){return this.$store.state.openaiimage?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ve)}}),ke={class:"field"},we={class:"box"},ye={class:"title font-bold"};function Ee(e,t,m,l,p,h){const u=n("info-icon"),d=n("el-input");return a(),i("div",ke,[c("div",we,[c("h2",ye,s(e.$t("openaiimage.name.prompt")),1),o(u,{content:e.$t("openaiimage.description.prompt"),class:"info"},null,8,["content"])]),o(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=_=>e.prompt=_),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("openaiimage.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ie=y(be,[["render",Ee],["__scopeId","data-v-92f61e4a"]]),Ve=w({name:"ImageUrlsInput",components:{ElUpload:oe,ElButton:P,InfoIcon:O,ImagePreview:N,FontAwesomeIcon:G},data(){return{fileList:[],uploadUrl:Z()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.openaiimage?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const l=(this.fileList||[]).filter(p=>!p?.response?.file_url);this.fileList=l.length?l:[];return}const t=[];e.forEach(l=>{const p=this.fileList.find(h=>h?.response?.file_url===l||h?.url===l);p?t.push(p):t.push({name:l.split("/").pop()||l,url:l,status:"success",percentage:100,response:{file_url:l}})}),(this.fileList||[]).filter(l=>!l?.response?.file_url).forEach(l=>{t.some(h=>h===l||h?.url===l?.url||h?.response?.file_url===l?.response?.file_url)||t.push(l)}),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(){A.warning(this.$t("openaiimage.message.uploadImageExceed"))},onError(){A.error(this.$t("openaiimage.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.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()}}}),Ae={class:"field flex items-center justify-between"},Le={class:"title font-bold text-[14px] mb-[10px]"},Te={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Se={class:"controls flex items-center"},Ge={class:"file-list flex flex-wrap gap-[10px]"};function Pe(e,t,m,l,p,h){const u=n("font-awesome-icon"),d=n("el-button"),_=n("el-upload"),g=n("info-icon"),k=n("image-preview");return a(),i(E,null,[c("div",Ae,[c("h2",Le,s(e.$t("openaiimage.name.imageUrls")),1),c("div",Te,[c("div",Se,[o(_,{"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:$(()=>[o(d,{size:"small",type:"primary",round:""},{default:$(()=>[o(u,{icon:"fa-solid fa-upload",class:"mr-1"}),f(" "+s(e.$t("openaiimage.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),o(g,{content:e.$t("openaiimage.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",Ge,[(a(!0),i(E,null,L(e.fileList,(r,b)=>(a(),I(k,{key:r.uid||r?.response?.file_url||r.url||b,url:r.url||r?.response?.file_url,name:r.name,percentage:r.percentage,onRemove:T=>e.onRemovePreview(b,r)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const qe=y(Ve,[["render",Pe]]),Oe=w({name:"OpenAIImageModelSelector",components:{ElSelect:F,ElOption:B,InfoIcon:O},data(){return{options:[{value:J,label:this.$t("openaiimage.model.gptImage1")},{value:K,label:this.$t("openaiimage.model.gptImage15")},{value:Q,label:this.$t("openaiimage.model.gptImage2")}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.model},set(e){this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,model:e})}},modelDescription(){return this.$t("openaiimage.description.model")}},mounted(){this.value||(this.value=x)}}),Re={class:"field"},Ce={class:"label"},Ue={class:"box"},Me={class:"title font-bold"};function ze(e,t,m,l,p,h){const u=n("info-icon"),d=n("el-option"),_=n("el-select");return a(),i("div",Re,[c("div",Ce,[c("div",Ue,[c("h2",Me,s(e.$t("openaiimage.name.model")),1),o(u,{content:e.modelDescription,class:"info"},null,8,["content"])])]),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=g=>e.value=g),class:"value",placeholder:e.$t("openaiimage.placeholder.select")},{default:$(()=>[(a(!0),i(E,null,L(e.options,g=>(a(),I(d,{key:g.value,label:g.label,value:g.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const je=y(Oe,[["render",ze],["__scopeId","data-v-cec771bd"]]),De=w({name:"OpenAIImageSizeSelector",components:{ElSelect:F,ElOption:B,InfoIcon:O},data(){return{options:[{value:C,label:C},{value:U,label:U},{value:M,label:M}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.size},set(e){this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,size:e})}}},mounted(){this.value||(this.value=X)}}),Ne={class:"field"},Be={class:"label"},Fe={class:"box"},We={class:"title font-bold"};function He(e,t,m,l,p,h){const u=n("info-icon"),d=n("el-option"),_=n("el-select");return a(),i("div",Ne,[c("div",Be,[c("div",Fe,[c("h2",We,s(e.$t("openaiimage.name.size")),1),o(u,{content:e.$t("openaiimage.description.size"),class:"info"},null,8,["content"])])]),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=g=>e.value=g),class:"value",placeholder:e.$t("openaiimage.placeholder.select")},{default:$(()=>[(a(!0),i(E,null,L(e.options,g=>(a(),I(d,{key:g.value,label:g.label,value:g.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ze=y(De,[["render",He],["__scopeId","data-v-11116785"]]),xe=w({name:"ConfigPanel",components:{ElButton:P,FontAwesomeIcon:G,PromptInput:Ie,Consumption:se,ImageUrlsInput:qe,ModelSelector:je,ResolutionSelector:Ze},emits:["generate"],computed:{config(){return this.$store.state.openaiimage?.config},consumption(){const e={...this.config||{}};return ae({...e},this.service?.cost)},service(){return this.$store.state.openaiimage?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Je={class:"flex flex-col h-full"},Ke={class:"flex-1 overflow-y-auto p-5"},Qe={class:"flex flex-col items-center justify-center px-5 pb-5"};function Xe(e,t,m,l,p,h){const u=n("model-selector"),d=n("resolution-selector"),_=n("prompt-input"),g=n("image-urls-input"),k=n("consumption"),r=n("font-awesome-icon"),b=n("el-button");return a(),i("div",Je,[c("div",Ke,[o(u,{class:"mb-4"}),o(d,{class:"mb-4"}),o(_,{class:"mb-4"}),o(g,{class:"mb-4"})]),c("div",Qe,[o(k,{value:e.consumption,service:e.service},null,8,["value","service"]),o(b,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:$(()=>[o(r,{icon:"fa-solid fa-magic",class:"mr-2"}),f(" "+s(e.$t("openaiimage.button.generate")),1)]),_:1},8,["onClick"])])])}const Ye=y(xe,[["render",Xe]]),et=w({name:"TaskPreview",components:{ElImage:me,CopyToClipboard:ie,FontAwesomeIcon:G,ElAlert:ce,ImageWrapper:le,ElButton:P,ElTooltip:re,ImagePreview:N},props:{modelValue:{type:Object,required:!0}},setup(){return{OPENAIIMAGE_LOGO:Y}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{const m=t;if(m?.image_url||m?.url){e.push(m);return}m?.b64_json&&e.push({...m,url:`data:image/png;base64,${m.b64_json}`})}),e}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.openaiimage?.config||{}};t.image_urls=[e],this.$store.commit("openaiimage/setConfig",t)}}}),tt={class:"preview"},ot={class:"left"},st={class:"main"},at={class:"bot"},nt={class:"datetime"},it={class:"info"},lt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},rt={key:1,class:"prompt mt-2"},ct={key:0},mt={key:0,class:q({content:!0,failed:!0})},pt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},ut={class:q({operations:!0,"mt-2":!0,"mb-2":!0})},dt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ft={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},_t={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},$t={key:1,class:q({content:!0})},vt={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"},kt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},It={key:2,class:q({content:!0})},Vt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function St(e,t,m,l,p,h){const u=n("el-image"),d=n("image-preview"),_=n("image-wrapper"),g=n("el-button"),k=n("el-tooltip"),r=n("font-awesome-icon"),b=n("copy-to-clipboard"),T=n("el-alert");return a(),i("div",tt,[c("div",ot,[o(u,{src:e.OPENAIIMAGE_LOGO,class:"avatar"},null,8,["src"])]),c("div",st,[c("div",at,[f(s(e.$t("openaiimage.name.openaiimageBot"))+" ",1),c("span",nt,s(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",it,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(a(),i("div",lt,[(a(!0),i(E,null,L(e.modelValue?.request?.image_urls,(V,S)=>(a(),I(d,{key:S,url:V,name:`image-${S+1}`,closable:!1},null,8,["url","name"]))),128))])):v("",!0),e.modelValue?.request?.prompt?(a(),i("p",rt,[f(s(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?v("",!0):(a(),i("span",ct," - ("+s(e.$t("openaiimage.status.pending"))+") ",1))])):v("",!0)]),e.modelValue?.response?.success===!0?(a(),i("div",mt,[c("div",pt,[(a(!0),i(E,null,L(e.images,(V,S)=>(a(),I(_,{key:S,src:V?.image_url||V?.url||"","raw-src":V?.image_url||V?.url||""},null,8,["src","raw-src"]))),128))]),c("div",ut,[o(k,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:$(()=>[o(g,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=H(V=>e.onEdit(e.images?.[0]?.image_url||e.images?.[0]?.url),["stop"]))},{default:$(()=>[f(s(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(T,{closable:!1,class:"mt-2 success"},{default:$(()=>[e.modelValue?.request?.model?(a(),i("p",dt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",gt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):v("",!0),e.modelValue?.request?.action?(a(),i("p",ft,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):v("",!0),c("p",ht,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.taskId"))+": "+s(e.modelValue?.id)+" ",1),o(b,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),i("p",_t,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.traceId"))+": "+s(e.modelValue?.response?.trace_id)+" ",1),o(b,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(a(),i("div",$t,[o(T,{closable:!1,class:"failure"},{template:$(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(a(),i("p",vt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",bt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):v("",!0),e.modelValue?.request?.action?(a(),i("p",kt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):v("",!0),c("p",wt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.taskId"))+": "+s(e.modelValue?.id)+" ",1),o(b,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",yt,[o(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.failureReason"))+": "+s(e.modelValue?.response?.error?.message)+" ",1),o(b,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),i("p",Et,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.traceId"))+": "+s(e.modelValue?.response?.trace_id)+" ",1),o(b,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):v("",!0)]),_:1})])):(a(),i("div",It,[o(T,{closable:!1,class:"info"},{template:$(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(a(),i("p",Vt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",At,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):v("",!0),e.modelValue?.request?.action?(a(),i("p",Lt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):v("",!0),c("p",Tt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.taskId"))+": "+s(e.modelValue?.id)+" ",1),o(b,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Gt=y(et,[["render",St],["__scopeId","data-v-0235adad"]]),Pt=w({name:"RecentPanel",components:{TaskPreview:Gt,BotPlaceholder:pe,NoTasks:ue,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.openaiimage?.tasks,items:this.$store.state.openaiimage?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),qt={key:0},Ot={key:2,class:"w-full h-full flex items-center justify-center"};function Rt(e,t,m,l,p,h){const u=n("bot-placeholder"),d=n("task-preview"),_=n("scroll-list"),g=n("no-tasks");return a(),i(E,null,[e.tasks?.items===void 0?(a(),i("div",qt,[o(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),I(_,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=k=>e.$emit("reach-top"))},{default:$(()=>[(a(!0),i(E,null,L(e.tasks?.items,k=>(a(),I(d,{key:k.id,"model-value":k},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(a(),i("div",Ot,[o(g)])):v("",!0)],64)}const Ct=y(Pt,[["render",Rt]]),D="https://webhook.acedata.cloud/openaiimage",Ut=w({name:"OpenAIImageIndex",components:{ConfigPanel:Ye,Layout:$e,RecentPanel:Ct},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.openaiimage?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.openaiimage?.status?.getTasks===z.Request},credential(){return this.$store.state.openaiimage?.credential},config(){return this.$store.state.openaiimage?.config},application(){return this.$store.state.openaiimage?.application},tasks(){return this.$store.state.openaiimage?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const m=this.tasks?.items?.[0];if(!m?.created_at)return;const p=this.$refs.recentPanel?.getScrollElement?.(),h=p?.scrollHeight||0,u=p?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:m.created_at}),await this.$nextTick(),p){const d=p.scrollHeight;p.scrollTop=d-h+u}}finally{this.loading=!1}},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("openaiimage/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("openaiimage/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:m,createdAtMax:l}=e||{};console.debug("limit",t,"createdAtMin",m,"createdAtMax",l),await this.$store.dispatch("openaiimage/getTasks",{limit:t,createdAtMin:m,createdAtMax:l})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;!t&&"image_urls"in e&&delete e.image_urls;const m={...e,action:"generate",callback_url:D},l={action:"edit",model:e?.model,prompt:e?.prompt,image_urls:e?.image_urls||[],callback_url:D},p=this.credential?.token;if(!p){console.error("no token specified");return}A.info(this.$t("openaiimage.message.startingTask")),(t?j.edit(l,{token:p}):j.generate(m,{token:p})).then(u=>{console.debug("task accepted",u.data?.task_id),A.success(this.$t("openaiimage.message.startTaskSuccess"))}).catch(u=>{const d=u?.response?.data;d?.error?.code===ne?A.error(this.$t("openaiimage.message.usedUp")):A.error(this.$t("openaiimage.message.startTaskFailed")+(d?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Mt(e,t,m,l,p,h){const u=n("config-panel"),d=n("recent-panel"),_=n("layout");return a(),I(_,null,{config:$(()=>[o(u,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:$(()=>[o(d,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Lo=y(Ut,[["render",Mt]]);export{Lo as default};
1
+ import{F as G}from"./index.es-CJsiWXMF.js";import{E as P}from"./index-DwY9pOO3.js";import{E as W}from"./index-C5TjNMIl.js";import{d as w,H as i,E as c,z as R,C as o,y as $,D as n,q as a,F as s,I as f,O as E,N as L,x as I,J as v,M as H,Q as q}from"./vendor-vue-DU0w5ewx.js";import{D as y,b0 as Z,cf as x,cg as J,ch as K,ci as Q,cj as X,ck as C,cl as U,cm as M,cn as Y,ao as z}from"./index-D4saMGlC.js";import{I as O,S as ee}from"./ScrollList-DRIMxtWX.js";import{E as te}from"./index-DH6MtP3d.js";import{I as N}from"./ImagePreview-VbvXxzqA.js";import{E as oe}from"./index-dQUkT91P.js";import{E as A}from"./index-Ct-EZ76M.js";import{C as se}from"./Consumption--BQQHppN.js";import{a as ae}from"./price-B613-HvG.js";import{E as B,a as F}from"./index-CzJ7fWUH.js";import{b as ne}from"./errorCode-Cqj9Td_Z.js";import{o as j}from"./openaiimage-BUKB6K30.js";import{C as ie}from"./CopyToClipboard-B6G-wNJD.js";import{I as le}from"./ImageWrapper-BYRsN2IJ.js";import{E as re}from"./index-DXexZRXn.js";import{E as ce}from"./index-CcP3nmgG.js";import{E as me}from"./index-jv4wsHGw.js";import{B as pe}from"./BotPlaceholder-C5ljOz4A.js";import{N as ue}from"./NoTasks-BeyOLEbn.js";import"./use-form-item-DcOclXCw.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-9TBHB1ku.js";import"./typescript-ClSWGTjJ.js";import"./index-B_KH4K5T.js";import"./index-Cuy1fHGt.js";import"./index-8U5mSU__.js";import"./_baseClone-8AWe3BQs.js";import"./_Uint8Array-VygXE9xf.js";import"./_initCloneObject-BrdqfTp3.js";import"./isEqual-BGJ5u1aM.js";import"./index-DmVTvMHH.js";import"./strings-DigWlKo9.js";import"./castArray--oY6r8jd.js";import"./debounce-CxAObiU1.js";import"./_baseIteratee-BUY84h9-.js";import"./index-C8RMr0ye.js";import"./index-CvURsQ8o.js";const de=w({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:P,FontAwesomeIcon:G},data(){return{drawer:!1}}}),ge={class:"main flex flex-row flex-1"},fe={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},he={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function _e(e,t,m,l,p,h){const u=n("font-awesome-icon"),d=n("el-button"),_=n("el-drawer");return a(),i("div",ge,[c("div",fe,[R(e.$slots,"config",{},void 0,!0)]),c("div",he,[R(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=g=>e.drawer=!0)},{default:$(()=>[o(u,{icon:"fa-solid fa-magic"})]),_:1}),o(_,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:$(()=>[R(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const $e=y(de,[["render",_e],["__scopeId","data-v-bfe5cd4b"]]),ve="",be=w({name:"PromptInput",components:{ElInput:te,InfoIcon:O},computed:{prompt:{get(){return this.$store.state.openaiimage?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ve)}}),ke={class:"field"},we={class:"box"},ye={class:"title font-bold"};function Ee(e,t,m,l,p,h){const u=n("info-icon"),d=n("el-input");return a(),i("div",ke,[c("div",we,[c("h2",ye,s(e.$t("openaiimage.name.prompt")),1),o(u,{content:e.$t("openaiimage.description.prompt"),class:"info"},null,8,["content"])]),o(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=_=>e.prompt=_),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("openaiimage.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ie=y(be,[["render",Ee],["__scopeId","data-v-92f61e4a"]]),Ve=w({name:"ImageUrlsInput",components:{ElUpload:oe,ElButton:P,InfoIcon:O,ImagePreview:N,FontAwesomeIcon:G},data(){return{fileList:[],uploadUrl:Z()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.openaiimage?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const l=(this.fileList||[]).filter(p=>!p?.response?.file_url);this.fileList=l.length?l:[];return}const t=[];e.forEach(l=>{const p=this.fileList.find(h=>h?.response?.file_url===l||h?.url===l);p?t.push(p):t.push({name:l.split("/").pop()||l,url:l,status:"success",percentage:100,response:{file_url:l}})}),(this.fileList||[]).filter(l=>!l?.response?.file_url).forEach(l=>{t.some(h=>h===l||h?.url===l?.url||h?.response?.file_url===l?.response?.file_url)||t.push(l)}),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(){A.warning(this.$t("openaiimage.message.uploadImageExceed"))},onError(){A.error(this.$t("openaiimage.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.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()}}}),Ae={class:"field flex items-center justify-between"},Le={class:"title font-bold text-[14px] mb-[10px]"},Te={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Se={class:"controls flex items-center"},Ge={class:"file-list flex flex-wrap gap-[10px]"};function Pe(e,t,m,l,p,h){const u=n("font-awesome-icon"),d=n("el-button"),_=n("el-upload"),g=n("info-icon"),k=n("image-preview");return a(),i(E,null,[c("div",Ae,[c("h2",Le,s(e.$t("openaiimage.name.imageUrls")),1),c("div",Te,[c("div",Se,[o(_,{"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:$(()=>[o(d,{size:"small",type:"primary",round:""},{default:$(()=>[o(u,{icon:"fa-solid fa-upload",class:"mr-1"}),f(" "+s(e.$t("openaiimage.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),o(g,{content:e.$t("openaiimage.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",Ge,[(a(!0),i(E,null,L(e.fileList,(r,b)=>(a(),I(k,{key:r.uid||r?.response?.file_url||r.url||b,url:r.url||r?.response?.file_url,name:r.name,percentage:r.percentage,onRemove:T=>e.onRemovePreview(b,r)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const qe=y(Ve,[["render",Pe]]),Oe=w({name:"OpenAIImageModelSelector",components:{ElSelect:F,ElOption:B,InfoIcon:O},data(){return{options:[{value:J,label:this.$t("openaiimage.model.gptImage1")},{value:K,label:this.$t("openaiimage.model.gptImage15")},{value:Q,label:this.$t("openaiimage.model.gptImage2")}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.model},set(e){this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,model:e})}},modelDescription(){return this.$t("openaiimage.description.model")}},mounted(){this.value||(this.value=x)}}),Re={class:"field"},Ce={class:"label"},Ue={class:"box"},Me={class:"title font-bold"};function ze(e,t,m,l,p,h){const u=n("info-icon"),d=n("el-option"),_=n("el-select");return a(),i("div",Re,[c("div",Ce,[c("div",Ue,[c("h2",Me,s(e.$t("openaiimage.name.model")),1),o(u,{content:e.modelDescription,class:"info"},null,8,["content"])])]),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=g=>e.value=g),class:"value",placeholder:e.$t("openaiimage.placeholder.select")},{default:$(()=>[(a(!0),i(E,null,L(e.options,g=>(a(),I(d,{key:g.value,label:g.label,value:g.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const je=y(Oe,[["render",ze],["__scopeId","data-v-cec771bd"]]),De=w({name:"OpenAIImageSizeSelector",components:{ElSelect:F,ElOption:B,InfoIcon:O},data(){return{options:[{value:C,label:C},{value:U,label:U},{value:M,label:M}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.size},set(e){this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,size:e})}}},mounted(){this.value||(this.value=X)}}),Ne={class:"field"},Be={class:"label"},Fe={class:"box"},We={class:"title font-bold"};function He(e,t,m,l,p,h){const u=n("info-icon"),d=n("el-option"),_=n("el-select");return a(),i("div",Ne,[c("div",Be,[c("div",Fe,[c("h2",We,s(e.$t("openaiimage.name.size")),1),o(u,{content:e.$t("openaiimage.description.size"),class:"info"},null,8,["content"])])]),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=g=>e.value=g),class:"value",placeholder:e.$t("openaiimage.placeholder.select")},{default:$(()=>[(a(!0),i(E,null,L(e.options,g=>(a(),I(d,{key:g.value,label:g.label,value:g.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ze=y(De,[["render",He],["__scopeId","data-v-11116785"]]),xe=w({name:"ConfigPanel",components:{ElButton:P,FontAwesomeIcon:G,PromptInput:Ie,Consumption:se,ImageUrlsInput:qe,ModelSelector:je,ResolutionSelector:Ze},emits:["generate"],computed:{config(){return this.$store.state.openaiimage?.config},consumption(){const e={...this.config||{}};return ae({...e},this.service?.cost)},service(){return this.$store.state.openaiimage?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Je={class:"flex flex-col h-full"},Ke={class:"flex-1 overflow-y-auto p-5"},Qe={class:"flex flex-col items-center justify-center px-5 pb-5"};function Xe(e,t,m,l,p,h){const u=n("model-selector"),d=n("resolution-selector"),_=n("prompt-input"),g=n("image-urls-input"),k=n("consumption"),r=n("font-awesome-icon"),b=n("el-button");return a(),i("div",Je,[c("div",Ke,[o(u,{class:"mb-4"}),o(d,{class:"mb-4"}),o(_,{class:"mb-4"}),o(g,{class:"mb-4"})]),c("div",Qe,[o(k,{value:e.consumption,service:e.service},null,8,["value","service"]),o(b,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:$(()=>[o(r,{icon:"fa-solid fa-magic",class:"mr-2"}),f(" "+s(e.$t("openaiimage.button.generate")),1)]),_:1},8,["onClick"])])])}const Ye=y(xe,[["render",Xe]]),et=w({name:"TaskPreview",components:{ElImage:me,CopyToClipboard:ie,FontAwesomeIcon:G,ElAlert:ce,ImageWrapper:le,ElButton:P,ElTooltip:re,ImagePreview:N},props:{modelValue:{type:Object,required:!0}},setup(){return{OPENAIIMAGE_LOGO:Y}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{const m=t;if(m?.image_url||m?.url){e.push(m);return}m?.b64_json&&e.push({...m,url:`data:image/png;base64,${m.b64_json}`})}),e}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.openaiimage?.config||{}};t.image_urls=[e],this.$store.commit("openaiimage/setConfig",t)}}}),tt={class:"preview"},ot={class:"left"},st={class:"main"},at={class:"bot"},nt={class:"datetime"},it={class:"info"},lt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},rt={key:1,class:"prompt mt-2"},ct={key:0},mt={key:0,class:q({content:!0,failed:!0})},pt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},ut={class:q({operations:!0,"mt-2":!0,"mb-2":!0})},dt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ft={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},_t={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},$t={key:1,class:q({content:!0})},vt={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"},kt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},It={key:2,class:q({content:!0})},Vt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function St(e,t,m,l,p,h){const u=n("el-image"),d=n("image-preview"),_=n("image-wrapper"),g=n("el-button"),k=n("el-tooltip"),r=n("font-awesome-icon"),b=n("copy-to-clipboard"),T=n("el-alert");return a(),i("div",tt,[c("div",ot,[o(u,{src:e.OPENAIIMAGE_LOGO,class:"avatar"},null,8,["src"])]),c("div",st,[c("div",at,[f(s(e.$t("openaiimage.name.openaiimageBot"))+" ",1),c("span",nt,s(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",it,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(a(),i("div",lt,[(a(!0),i(E,null,L(e.modelValue?.request?.image_urls,(V,S)=>(a(),I(d,{key:S,url:V,name:`image-${S+1}`,closable:!1},null,8,["url","name"]))),128))])):v("",!0),e.modelValue?.request?.prompt?(a(),i("p",rt,[f(s(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?v("",!0):(a(),i("span",ct," - ("+s(e.$t("openaiimage.status.pending"))+") ",1))])):v("",!0)]),e.modelValue?.response?.success===!0?(a(),i("div",mt,[c("div",pt,[(a(!0),i(E,null,L(e.images,(V,S)=>(a(),I(_,{key:S,src:V?.image_url||V?.url||"","raw-src":V?.image_url||V?.url||""},null,8,["src","raw-src"]))),128))]),c("div",ut,[o(k,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:$(()=>[o(g,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=H(V=>e.onEdit(e.images?.[0]?.image_url||e.images?.[0]?.url),["stop"]))},{default:$(()=>[f(s(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(T,{closable:!1,class:"mt-2 success"},{default:$(()=>[e.modelValue?.request?.model?(a(),i("p",dt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",gt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):v("",!0),e.modelValue?.request?.action?(a(),i("p",ft,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):v("",!0),c("p",ht,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.taskId"))+": "+s(e.modelValue?.id)+" ",1),o(b,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),i("p",_t,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.traceId"))+": "+s(e.modelValue?.response?.trace_id)+" ",1),o(b,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(a(),i("div",$t,[o(T,{closable:!1,class:"failure"},{template:$(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(a(),i("p",vt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",bt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):v("",!0),e.modelValue?.request?.action?(a(),i("p",kt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):v("",!0),c("p",wt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.taskId"))+": "+s(e.modelValue?.id)+" ",1),o(b,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",yt,[o(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.failureReason"))+": "+s(e.modelValue?.response?.error?.message)+" ",1),o(b,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),i("p",Et,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.traceId"))+": "+s(e.modelValue?.response?.trace_id)+" ",1),o(b,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):v("",!0)]),_:1})])):(a(),i("div",It,[o(T,{closable:!1,class:"info"},{template:$(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(a(),i("p",Vt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",At,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):v("",!0),e.modelValue?.request?.action?(a(),i("p",Lt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):v("",!0),c("p",Tt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.taskId"))+": "+s(e.modelValue?.id)+" ",1),o(b,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Gt=y(et,[["render",St],["__scopeId","data-v-0235adad"]]),Pt=w({name:"RecentPanel",components:{TaskPreview:Gt,BotPlaceholder:pe,NoTasks:ue,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.openaiimage?.tasks,items:this.$store.state.openaiimage?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),qt={key:0},Ot={key:2,class:"w-full h-full flex items-center justify-center"};function Rt(e,t,m,l,p,h){const u=n("bot-placeholder"),d=n("task-preview"),_=n("scroll-list"),g=n("no-tasks");return a(),i(E,null,[e.tasks?.items===void 0?(a(),i("div",qt,[o(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),I(_,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=k=>e.$emit("reach-top"))},{default:$(()=>[(a(!0),i(E,null,L(e.tasks?.items,k=>(a(),I(d,{key:k.id,"model-value":k},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(a(),i("div",Ot,[o(g)])):v("",!0)],64)}const Ct=y(Pt,[["render",Rt]]),D="https://webhook.acedata.cloud/openaiimage",Ut=w({name:"OpenAIImageIndex",components:{ConfigPanel:Ye,Layout:$e,RecentPanel:Ct},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.openaiimage?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.openaiimage?.status?.getTasks===z.Request},credential(){return this.$store.state.openaiimage?.credential},config(){return this.$store.state.openaiimage?.config},application(){return this.$store.state.openaiimage?.application},tasks(){return this.$store.state.openaiimage?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const m=this.tasks?.items?.[0];if(!m?.created_at)return;const p=this.$refs.recentPanel?.getScrollElement?.(),h=p?.scrollHeight||0,u=p?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:m.created_at}),await this.$nextTick(),p){const d=p.scrollHeight;p.scrollTop=d-h+u}}finally{this.loading=!1}},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("openaiimage/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("openaiimage/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:m,createdAtMax:l}=e||{};console.debug("limit",t,"createdAtMin",m,"createdAtMax",l),await this.$store.dispatch("openaiimage/getTasks",{limit:t,createdAtMin:m,createdAtMax:l})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;!t&&"image_urls"in e&&delete e.image_urls;const m={...e,action:"generate",callback_url:D},l={action:"edit",model:e?.model,prompt:e?.prompt,image_urls:e?.image_urls||[],callback_url:D},p=this.credential?.token;if(!p){console.error("no token specified");return}A.info(this.$t("openaiimage.message.startingTask")),(t?j.edit(l,{token:p}):j.generate(m,{token:p})).then(u=>{console.debug("task accepted",u.data?.task_id),A.success(this.$t("openaiimage.message.startTaskSuccess"))}).catch(u=>{const d=u?.response?.data;d?.error?.code===ne?A.error(this.$t("openaiimage.message.usedUp")):A.error(this.$t("openaiimage.message.startTaskFailed")+(d?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Mt(e,t,m,l,p,h){const u=n("config-panel"),d=n("recent-panel"),_=n("layout");return a(),I(_,null,{config:$(()=>[o(u,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:$(()=>[o(d,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Lo=y(Ut,[["render",Mt]]);export{Lo as default};
@@ -1 +1 @@
1
- import{F as T}from"./index.es-Cj6iYiLT.js";import{E as I}from"./index-Bq_7dZR9.js";import{E as W}from"./index-Dz64Puii.js";import{d as b,H as i,E as r,z as D,C as t,y as u,D as s,q as n,F as o,O as L,N as A,x as w,J as v,I as h,M as X,Q as C}from"./vendor-vue-DU0w5ewx.js";import{D as E,cS as J,cT as K,cU as Q,cV as P,cW as Y,cX as Z,cY as x,cZ as ee,b0 as M,c_ as te,c$ as se,d0 as oe,d1 as ne,d2 as ae,ao as O}from"./index-BbIO4bzW.js";import{I as S,S as le}from"./ScrollList-CUmTwhTB.js";import{E as ie}from"./index-DmX7sdZ9.js";import{E as R,a as U}from"./index-ZN9XD_NV.js";import{E as G}from"./index-CvjWrHN7.js";import{p as j}from"./pasteUploadMixin-BurWbGNQ.js";import{I as B}from"./ImagePreview-CN781XIL.js";import{E as q}from"./index-D3CXPtD_.js";import{E as y}from"./index-DnDt0mRm.js";import{C as re}from"./Consumption-Ck_gLJbq.js";import{a as ce}from"./price-BWIfnz-K.js";import{C as de}from"./CopyToClipboard-eTUekfsK.js";import{V as me}from"./VideoPlayer-DGpGe_is.js";import{I as pe}from"./ImageWrapper-By2Yl0pt.js";import{E as ue}from"./index-C866d7TQ.js";import{E as fe}from"./index-ClhY-P9d.js";import{E as _e}from"./index-CLkXDPBv.js";import{B as he}from"./BotPlaceholder-BW7l1Bej.js";import{N as ve}from"./NoTasks-DKxId_4f.js";import{b as $e}from"./errorCode-Cqj9Td_Z.js";import{s as ge}from"./seedance-lGMCq1aY.js";import{l as be}from"./pagination-CcnL0MdN.js";import"./use-form-item-Y27JHToo.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-9TBHB1ku.js";import"./typescript-BHL-GgG5.js";import"./index-BBlfkX9M.js";import"./index-CGgDszyo.js";import"./index-D54W9u0S.js";import"./strings-DigWlKo9.js";import"./isEqual-Dg8IMqNb.js";import"./_Uint8Array-Ji9hnTSv.js";import"./castArray-B9E6PR2M.js";import"./debounce-B9bsGuT8.js";import"./_baseIteratee-dR1m8JFb.js";import"./index-CTOZnYrj.js";import"./validator-DTGgVe0G.js";import"./index-BguEgHVk.js";import"./_baseClone-CribV2Yc.js";import"./_initCloneObject-BFlzDwJW.js";import"./vue-plyr-BO2nlN4c.js";import"./index-0APDMo9o.js";const Ee=b({name:"LayoutSeedance",components:{ElDrawer:W,ElButton:I,FontAwesomeIcon:T},data(){return{drawer:!1}}}),ke={class:"main flex flex-row flex-1"},ye={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},we={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function Se(e,a,p,f,g,$){const c=s("font-awesome-icon"),l=s("el-button"),m=s("el-drawer");return n(),i("div",ke,[r("div",ye,[D(e.$slots,"config",{},void 0,!0)]),r("div",we,[D(e.$slots,"result",{},void 0,!0)]),t(l,{circle:"",class:"menu",onClick:a[0]||(a[0]=d=>e.drawer=!0)},{default:u(()=>[t(c,{icon:"fa-solid fa-magic"})]),_:1}),t(m,{modelValue:e.drawer,"onUpdate:modelValue":a[1]||(a[1]=d=>e.drawer=d),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[D(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Ve=E(Ee,[["render",Se],["__scopeId","data-v-02e4e4b3"]]),Le="",Te=b({name:"SeedancePromptInput",components:{ElInput:ie,InfoIcon:S},computed:{prompt:{get(){return this.$store.state.seedance?.config?.prompt},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Le)}}),Ie={class:"field"},Ce={class:"box"},Ae={class:"title font-bold"};function Fe(e,a,p,f,g,$){const c=s("info-icon"),l=s("el-input");return n(),i("div",Ie,[r("div",Ce,[r("h2",Ae,o(e.$t("seedance.name.prompt")),1),t(c,{content:e.$t("seedance.description.prompt"),class:"info"},null,8,["content"])]),t(l,{modelValue:e.prompt,"onUpdate:modelValue":a[0]||(a[0]=m=>e.prompt=m),rows:4,type:"textarea",class:"prompt",placeholder:e.$t("seedance.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const De=E(Te,[["render",Fe],["__scopeId","data-v-865909f4"]]),Re=b({name:"SeedanceModelSelector",components:{ElSelect:U,ElOption:R,InfoIcon:S},data(){return{options:[{value:K,label:this.$t("seedance.model.seedance10pro")},{value:Q,label:this.$t("seedance.model.seedance10proFast")},{value:P,label:this.$t("seedance.model.seedance15pro")},{value:Y,label:this.$t("seedance.model.seedance10liteT2v")},{value:Z,label:this.$t("seedance.model.seedance10liteI2v")}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.model},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,model:e})}}},mounted(){this.value||(this.value=J)}}),Ue={class:"field"},Ne={class:"label"},Oe={class:"box"},Pe={class:"title font-bold"};function Me(e,a,p,f,g,$){const c=s("info-icon"),l=s("el-option"),m=s("el-select");return n(),i("div",Ue,[r("div",Ne,[r("div",Oe,[r("h2",Pe,o(e.$t("seedance.name.model")),1),t(c,{content:e.$t("seedance.description.model"),class:"info"},null,8,["content"])])]),t(m,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=d=>e.value=d),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:u(()=>[(n(!0),i(L,null,A(e.options,d=>(n(),w(l,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ge=E(Re,[["render",Me],["__scopeId","data-v-eaa1425a"]]),je=b({name:"SeedanceDurationSelector",components:{ElSelect:U,ElOption:R,InfoIcon:S},data(){return{options:[{value:2,label:"2s"},{value:3,label:"3s"},{value:4,label:"4s"},{value:5,label:"5s"},{value:6,label:"6s"},{value:7,label:"7s"},{value:8,label:"8s"},{value:9,label:"9s"},{value:10,label:"10s"},{value:11,label:"11s"},{value:12,label:"12s"}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.duration},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,duration:e})}}},mounted(){this.value||(this.value=x)}}),Be={class:"field"},qe={class:"label"},ze={class:"box"},He={class:"title font-bold"};function We(e,a,p,f,g,$){const c=s("info-icon"),l=s("el-option"),m=s("el-select");return n(),i("div",Be,[r("div",qe,[r("div",ze,[r("h2",He,o(e.$t("seedance.name.duration")),1),t(c,{content:e.$t("seedance.description.duration"),class:"info"},null,8,["content"])])]),t(m,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=d=>e.value=d),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:u(()=>[(n(!0),i(L,null,A(e.options,d=>(n(),w(l,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Xe=E(je,[["render",We],["__scopeId","data-v-5c809a72"]]),Je=b({name:"SeedanceGenerateAudioSwitch",components:{ElSwitch:G,InfoIcon:S},computed:{isSupported(){return this.$store.state.seedance?.config?.model===P},value:{get(){return this.$store.state.seedance?.config?.generate_audio??!1},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,generate_audio:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=ee)}}),Ke={key:0,class:"field"},Qe={class:"label"},Ye={class:"box"},Ze={class:"title font-bold"},xe={class:"value"};function et(e,a,p,f,g,$){const c=s("info-icon"),l=s("el-switch");return e.isSupported?(n(),i("div",Ke,[r("div",Qe,[r("div",Ye,[r("h2",Ze,o(e.$t("seedance.name.generateAudio")),1),t(c,{content:e.$t("seedance.description.generateAudio"),class:"info"},null,8,["content"])])]),r("div",xe,[t(l,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=m=>e.value=m),"inline-prompt":"","active-text":e.$t("seedance.button.on"),"inactive-text":e.$t("seedance.button.off")},null,8,["modelValue","active-text","inactive-text"])])])):v("",!0)}const tt=E(Je,[["render",et],["__scopeId","data-v-8d716dcc"]]),st=b({name:"SeedanceFirstFrameImage",components:{ElUpload:q,ElButton:I,InfoIcon:S,FontAwesomeIcon:T,ImagePreview:B},mixins:[j],data(){return{fileList:[],uploadUrl:M()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},methods:{onExceed(){y.warning(this.$t("seedance.message.uploadExceed"))},onError(){y.error(this.$t("seedance.message.uploadError"))},onSetFirstFrameUrl(){const e=this.urls?.[0],p=(this.$store.state.seedance?.config?.images||[]).filter(f=>f?.role!=="first_frame");e&&p.push({url:e,role:"first_frame"}),this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,images:p.length>0?p:void 0})},async onSuccess(){this.onSetFirstFrameUrl()},async onRemove(){this.onSetFirstFrameUrl()}}}),ot={class:"relative"},nt={class:"flex justify-between"},at={class:"flex justify-start items-center"},lt={class:"text-sm font-bold"};function it(e,a,p,f,g,$){const c=s("info-icon"),l=s("image-preview"),m=s("font-awesome-icon"),d=s("el-button"),k=s("el-upload");return n(),i("div",ot,[r("div",nt,[r("div",at,[r("span",lt,o(e.$t("seedance.name.firstFrame")),1),t(c,{content:e.$t("seedance.description.firstFrame")},null,8,["content"])])]),t(k,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":a[0]||(a[0]=_=>e.fileList=_),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:u(({file:_})=>[_.url&&_.percentage!==void 0?(n(),w(l,{key:0,url:_.url,name:_.name,percentage:_.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:u(()=>[t(d,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[t(m,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+o(e.$t("seedance.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-remove","headers"])])}const rt=E(st,[["render",it],["__scopeId","data-v-5294baf8"]]),ct=b({name:"SeedanceLastFrameImage",components:{ElUpload:q,ElButton:I,ImagePreview:B,InfoIcon:S,FontAwesomeIcon:T},mixins:[j],data(){return{fileList:[],uploadUrl:M()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},methods:{onExceed(){y.warning(this.$t("seedance.message.uploadExceed"))},onError(){y.error(this.$t("seedance.message.uploadError"))},onSetLastFrameUrl(){const e=this.urls?.[0],p=(this.$store.state.seedance?.config?.images||[]).filter(f=>f?.role!=="last_frame");e&&p.push({url:e,role:"last_frame"}),this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,images:p.length>0?p:void 0})},async onSuccess(){this.onSetLastFrameUrl()},async onRemove(){this.onSetLastFrameUrl()}}}),dt={class:"relative"},mt={class:"flex justify-between"},pt={class:"flex justify-start items-center"},ut={class:"text-sm font-bold"};function ft(e,a,p,f,g,$){const c=s("info-icon"),l=s("image-preview"),m=s("font-awesome-icon"),d=s("el-button"),k=s("el-upload");return n(),i("div",dt,[r("div",mt,[r("div",pt,[r("span",ut,o(e.$t("seedance.name.lastFrame")),1),t(c,{content:e.$t("seedance.description.lastFrame")},null,8,["content"])])]),t(k,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":a[0]||(a[0]=_=>e.fileList=_),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:u(({file:_})=>[_.url&&_.percentage!==void 0?(n(),w(l,{key:0,url:_.url,name:_.name,percentage:_.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:u(()=>[t(d,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[t(m,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+o(e.$t("seedance.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-remove","headers"])])}const _t=E(ct,[["render",ft],["__scopeId","data-v-f423739f"]]),ht=b({name:"SeedanceServiceTierSelector",components:{ElSelect:U,ElOption:R,InfoIcon:S},data(){return{options:[{value:se,label:this.$t("seedance.serviceTier.default")},{value:oe,label:this.$t("seedance.serviceTier.flex")}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.service_tier},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,service_tier:e})}}},mounted(){this.value||(this.value=te)}}),vt={class:"field"},$t={class:"label"},gt={class:"box"},bt={class:"title font-bold"};function Et(e,a,p,f,g,$){const c=s("info-icon"),l=s("el-option"),m=s("el-select");return n(),i("div",vt,[r("div",$t,[r("div",gt,[r("h2",bt,o(e.$t("seedance.name.serviceTier")),1),t(c,{content:e.$t("seedance.description.serviceTier"),class:"info"},null,8,["content"])])]),t(m,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=d=>e.value=d),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:u(()=>[(n(!0),i(L,null,A(e.options,d=>(n(),w(l,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const kt=E(ht,[["render",Et],["__scopeId","data-v-a62125ec"]]),yt=b({name:"SeedanceReturnLastFrameSwitch",components:{ElSwitch:G,InfoIcon:S},computed:{value:{get(){return this.$store.state.seedance?.config?.return_last_frame},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,return_last_frame:e})}}},mounted(){this.value===void 0&&(this.value=ne)}}),wt={class:"field"},St={class:"label"},Vt={class:"box"},Lt={class:"title font-bold"},Tt={class:"value"};function It(e,a,p,f,g,$){const c=s("info-icon"),l=s("el-switch");return n(),i("div",wt,[r("div",St,[r("div",Vt,[r("h2",Lt,o(e.$t("seedance.name.returnLastFrame")),1),t(c,{content:e.$t("seedance.description.returnLastFrame"),class:"info"},null,8,["content"])])]),r("div",Tt,[t(l,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=m=>e.value=m),"inline-prompt":"","active-text":e.$t("seedance.button.on"),"inactive-text":e.$t("seedance.button.off")},null,8,["modelValue","active-text","inactive-text"])])])}const Ct=E(yt,[["render",It],["__scopeId","data-v-cd179b1c"]]),At=b({name:"SeedanceConfigPanel",components:{ElButton:I,FontAwesomeIcon:T,PromptInput:De,ModelSelector:Ge,DurationSelector:Xe,GenerateAudioSwitch:tt,ServiceTierSelector:kt,ReturnLastFrameSwitch:Ct,FirstFrameImage:rt,LastFrameImage:_t,Consumption:re},emits:["generate"],computed:{config(){return this.$store.state.seedance?.config},consumption(){return ce(this.config,this.service?.cost)},service(){return this.$store.state.seedance?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ft={class:"flex flex-col h-full"},Dt={class:"flex-1 overflow-y-auto p-5"},Rt={class:"flex flex-col items-center justify-center px-5 pb-5"};function Ut(e,a,p,f,g,$){const c=s("prompt-input"),l=s("model-selector"),m=s("duration-selector"),d=s("generate-audio-switch"),k=s("service-tier-selector"),_=s("return-last-frame-switch"),V=s("first-frame-image"),F=s("last-frame-image"),N=s("consumption"),z=s("font-awesome-icon"),H=s("el-button");return n(),i("div",Ft,[r("div",Dt,[t(c,{class:"mb-4"}),t(l,{class:"mb-4"}),t(m,{class:"mb-4"}),t(d,{class:"mb-4"}),t(k,{class:"mb-4"}),t(_,{class:"mb-4"}),t(V,{class:"mb-2"}),t(F,{class:"mb-2"})]),r("div",Rt,[t(N,{value:e.consumption,service:e.service},null,8,["value","service"]),t(H,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(z,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+o(e.$t("seedance.button.generate")),1)]),_:1},8,["onClick"])])])}const Nt=E(At,[["render",Ut]]),Ot=b({name:"SeedanceTaskPreview",components:{ElImage:_e,CopyToClipboard:de,FontAwesomeIcon:T,ElAlert:fe,VideoPlayer:me,ElTooltip:ue,ElButton:I,ImageWrapper:pe},props:{modelValue:{type:Object,required:!0}},data(){return{seedanceLogo:ae}},computed:{video(){return this.modelValue?.response?.data}},methods:{onDownload(e){window.open(e,"_blank")}}}),Pt={class:"preview"},Mt={class:"left"},Gt={class:"main"},jt={class:"bot"},Bt={class:"datetime"},qt={class:"info"},zt={key:0,class:"prompt mt-2"},Ht={key:0},Wt={key:1},Xt={key:0,class:C({content:!0})},Jt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Kt={key:1,class:C({content:!0})},Qt={key:0,class:"mb-4"},Yt={key:1,class:"mb-4"},Zt={key:2,class:C({operations:!0,"mt-2":!0,"mb-2":!0})},xt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},es={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ts={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ss={key:0},os={key:1},ns={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},as={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ls={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},is={key:2,class:C({content:!0})},rs={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},cs={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ds={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ms={key:3,class:C({content:!0})},ps={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},us={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function fs(e,a,p,f,g,$){const c=s("el-image"),l=s("font-awesome-icon"),m=s("copy-to-clipboard"),d=s("el-alert"),k=s("video-player"),_=s("image-wrapper"),V=s("el-button"),F=s("el-tooltip");return n(),i("div",Pt,[r("div",Mt,[t(c,{src:e.seedanceLogo,class:"avatar"},null,8,["src"])]),r("div",Gt,[r("div",jt,[h(o(e.$t("seedance.name.seedanceBot"))+" ",1),r("span",Bt,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",qt,[e.modelValue?.request?.prompt?(n(),i("p",zt,[h(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?e.video?.status==="processing"||e.video?.status==="pending"?(n(),i("span",Wt," - ("+o(e.$t("seedance.status.processing"))+") ",1)):v("",!0):(n(),i("span",Ht," - ("+o(e.$t("seedance.status.pending"))+") ",1))])):v("",!0)]),e.modelValue?.response?e.modelValue?.response?.success===!0?(n(),i("div",Kt,[e.video?.video_url?(n(),i("div",Qt,[t(k,{src:e.video?.video_url},null,8,["src"])])):v("",!0),e.video?.last_frame_url?(n(),i("div",Yt,[t(_,{src:e.video?.last_frame_url,"raw-src":e.video?.last_frame_url},null,8,["src","raw-src"])])):v("",!0),e.video?.video_url?(n(),i("div",Zt,[t(F,{class:"box-item",effect:"dark",content:e.$t("seedance.message.downloadVideo"),placement:"top-start"},{default:u(()=>[t(V,{type:"info",size:"small",class:"btn-action",onClick:a[0]||(a[0]=X(N=>e.onDownload(e.video?.video_url),["stop"]))},{default:u(()=>[h(o(e.$t("seedance.button.download")),1)]),_:1})]),_:1},8,["content"])])):v("",!0),t(d,{closable:!1,class:"mt-2 success"},{default:u(()=>[e.modelValue?.request?.model?(n(),i("p",xt,[t(l,{icon:"fa-solid fa-cube",class:"mr-1"}),h(" "+o(e.$t("seedance.name.model"))+": "+o(e.modelValue?.request?.model),1)])):v("",!0),e.video?.duration?(n(),i("p",es,[t(l,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+o(e.$t("seedance.name.duration"))+": "+o(e.video?.duration)+"s ",1)])):v("",!0),e.video?.resolution?(n(),i("p",ts,[t(l,{icon:"fa-solid fa-expand",class:"mr-1"}),h(" "+o(e.$t("seedance.name.resolution"))+": "+o(e.video?.resolution)+" ",1),e.video?.ratio?(n(),i("span",ss," · "+o(e.video?.ratio),1)):v("",!0),e.video?.framespersecond?(n(),i("span",os," · "+o(e.video?.framespersecond)+"fps",1)):v("",!0)])):v("",!0),e.modelValue?.request?.generate_audio?(n(),i("p",ns,[t(l,{icon:"fa-solid fa-volume-up",class:"mr-1"}),h(" "+o(e.$t("seedance.name.generateAudio"))+": "+o(e.$t("seedance.button.on")),1)])):v("",!0),r("p",as,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+o(e.$t("seedance.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t(m,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),i("p",ls,[t(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+o(e.$t("seedance.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),t(m,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),i("div",is,[t(d,{closable:!1,class:"failure"},{template:u(()=>[t(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+o(e.$t("seedance.name.failure")),1)]),default:u(()=>[r("p",rs,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+o(e.$t("seedance.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t(m,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.error?.message?(n(),i("p",cs,[t(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+o(e.$t("seedance.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),t(m,{content:e.modelValue?.response?.error?.message,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0),e.modelValue?.response?.trace_id?(n(),i("p",ds,[t(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+o(e.$t("seedance.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),t(m,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):(n(),i("div",ms,[t(d,{closable:!1,class:"info"},{template:u(()=>[t(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+o(e.$t("seedance.name.status")),1)]),default:u(()=>[r("p",ps,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+o(e.$t("seedance.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t(m,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),i("p",us,[t(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+o(e.$t("seedance.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),t(m,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):(n(),i("div",Xt,[t(d,{closable:!1,class:"info"},{template:u(()=>[t(l,{icon:"fa-regular fa-clock",class:"mr-1"}),h(" "+o(e.$t("seedance.status.pending")),1)]),default:u(()=>[r("p",Jt,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+o(e.$t("seedance.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t(m,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})]))])])}const _s=E(Ot,[["render",fs],["__scopeId","data-v-43479338"]]),hs=b({name:"SeedanceRecentPanel",components:{TaskPreview:_s,BotPlaceholder:he,NoTasks:ve,ScrollList:le},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],computed:{tasks(){return{...this.$store.state.seedance?.tasks,items:this.$store.state.seedance?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),vs={key:0},$s={key:2,class:"w-full h-full flex items-center justify-center"};function gs(e,a,p,f,g,$){const c=s("bot-placeholder"),l=s("task-preview"),m=s("scroll-list"),d=s("no-tasks");return n(),i(L,null,[e.tasks?.items===void 0?(n(),i("div",vs,[t(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),w(m,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:a[0]||(a[0]=k=>e.$emit("reach-top"))},{default:u(()=>[(n(!0),i(L,null,A(e.tasks?.items,k=>(n(),w(l,{key:k.id,"model-value":k},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(n(),i("div",$s,[t(d)])):v("",!0)],64)}const bs=E(hs,[["render",gs]]),Es="https://webhook.acedata.cloud/seedance",ks=b({name:"SeedanceIndex",components:{ConfigPanel:Nt,Layout:Ve,RecentPanel:bs},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.seedance?.status?.getApplications===O.Request},tasksLoading(){return this.$store.state.seedance?.status?.getTasks===O.Request||this.fetchingTasks},credential(){return this.$store.state.seedance?.credential},config(){return this.$store.state.seedance?.config},tasks(){return this.$store.state.seedance?.tasks}},watch:{initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await be({tasks:this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch("seedance/getService")},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;const{limit:a=5,createdAtMin:p,createdAtMax:f}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch("seedance/getTasks",{limit:a,createdAtMin:p,createdAtMax:f})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config||{}};if(typeof e?.prompt=="string"&&(e.prompt=e.prompt.trim(),e.prompt||delete e.prompt),Array.isArray(e?.images)){e.images=e.images.filter(c=>!!c?.url);const g=e.images.some(c=>c?.role==="first_frame"),$=e.images.some(c=>c?.role==="last_frame");!g&&$&&(e.images=e.images.map(c=>c?.role==="last_frame"?{...c,role:"first_frame"}:c))}!(Array.isArray(e?.images)&&e.images.length>0)&&"images"in e&&delete e.images;const p={...e,callback_url:Es},f=this.credential?.token;if(!f){console.error("no token specified");return}y.info(this.$t("seedance.message.startingTask")),ge.generate(p,{token:f}).then(()=>{y.success(this.$t("seedance.message.startTaskSuccess"))}).catch(g=>{const $=g?.response?.data;$?.error?.code===$e?y.error(this.$t("seedance.message.usedUp")):y.error(this.$t("seedance.message.startTaskFailed")+($?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ys(e,a,p,f,g,$){const c=s("config-panel"),l=s("recent-panel"),m=s("layout");return n(),w(m,null,{config:u(()=>[t(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[t(l,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const go=E(ks,[["render",ys]]);export{go as default};
1
+ import{F as T}from"./index.es-CJsiWXMF.js";import{E as I}from"./index-DwY9pOO3.js";import{E as W}from"./index-C5TjNMIl.js";import{d as b,H as i,E as r,z as D,C as t,y as u,D as s,q as n,F as o,O as L,N as A,x as w,J as v,I as h,M as X,Q as C}from"./vendor-vue-DU0w5ewx.js";import{D as E,cS as J,cT as K,cU as Q,cV as P,cW as Y,cX as Z,cY as x,cZ as ee,b0 as M,c_ as te,c$ as se,d0 as oe,d1 as ne,d2 as ae,ao as O}from"./index-D4saMGlC.js";import{I as S,S as le}from"./ScrollList-DRIMxtWX.js";import{E as ie}from"./index-DH6MtP3d.js";import{E as R,a as U}from"./index-CzJ7fWUH.js";import{E as G}from"./index-DnRK--rq.js";import{p as j}from"./pasteUploadMixin-BurWbGNQ.js";import{I as B}from"./ImagePreview-VbvXxzqA.js";import{E as q}from"./index-dQUkT91P.js";import{E as y}from"./index-Ct-EZ76M.js";import{C as re}from"./Consumption--BQQHppN.js";import{a as ce}from"./price-B613-HvG.js";import{C as de}from"./CopyToClipboard-B6G-wNJD.js";import{V as me}from"./VideoPlayer-DEViwP6l.js";import{I as pe}from"./ImageWrapper-BYRsN2IJ.js";import{E as ue}from"./index-DXexZRXn.js";import{E as fe}from"./index-CcP3nmgG.js";import{E as _e}from"./index-jv4wsHGw.js";import{B as he}from"./BotPlaceholder-C5ljOz4A.js";import{N as ve}from"./NoTasks-BeyOLEbn.js";import{b as $e}from"./errorCode-Cqj9Td_Z.js";import{s as ge}from"./seedance-BsAeQbE1.js";import{l as be}from"./pagination-CcnL0MdN.js";import"./use-form-item-DcOclXCw.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-9TBHB1ku.js";import"./typescript-ClSWGTjJ.js";import"./index-B_KH4K5T.js";import"./index-Cuy1fHGt.js";import"./index-DmVTvMHH.js";import"./strings-DigWlKo9.js";import"./isEqual-BGJ5u1aM.js";import"./_Uint8Array-VygXE9xf.js";import"./castArray--oY6r8jd.js";import"./debounce-CxAObiU1.js";import"./_baseIteratee-BUY84h9-.js";import"./index-C8RMr0ye.js";import"./validator-BVNDYkbY.js";import"./index-8U5mSU__.js";import"./_baseClone-8AWe3BQs.js";import"./_initCloneObject-BrdqfTp3.js";import"./vue-plyr-BO2nlN4c.js";import"./index-CvURsQ8o.js";const Ee=b({name:"LayoutSeedance",components:{ElDrawer:W,ElButton:I,FontAwesomeIcon:T},data(){return{drawer:!1}}}),ke={class:"main flex flex-row flex-1"},ye={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},we={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function Se(e,a,p,f,g,$){const c=s("font-awesome-icon"),l=s("el-button"),m=s("el-drawer");return n(),i("div",ke,[r("div",ye,[D(e.$slots,"config",{},void 0,!0)]),r("div",we,[D(e.$slots,"result",{},void 0,!0)]),t(l,{circle:"",class:"menu",onClick:a[0]||(a[0]=d=>e.drawer=!0)},{default:u(()=>[t(c,{icon:"fa-solid fa-magic"})]),_:1}),t(m,{modelValue:e.drawer,"onUpdate:modelValue":a[1]||(a[1]=d=>e.drawer=d),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[D(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Ve=E(Ee,[["render",Se],["__scopeId","data-v-02e4e4b3"]]),Le="",Te=b({name:"SeedancePromptInput",components:{ElInput:ie,InfoIcon:S},computed:{prompt:{get(){return this.$store.state.seedance?.config?.prompt},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Le)}}),Ie={class:"field"},Ce={class:"box"},Ae={class:"title font-bold"};function Fe(e,a,p,f,g,$){const c=s("info-icon"),l=s("el-input");return n(),i("div",Ie,[r("div",Ce,[r("h2",Ae,o(e.$t("seedance.name.prompt")),1),t(c,{content:e.$t("seedance.description.prompt"),class:"info"},null,8,["content"])]),t(l,{modelValue:e.prompt,"onUpdate:modelValue":a[0]||(a[0]=m=>e.prompt=m),rows:4,type:"textarea",class:"prompt",placeholder:e.$t("seedance.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const De=E(Te,[["render",Fe],["__scopeId","data-v-865909f4"]]),Re=b({name:"SeedanceModelSelector",components:{ElSelect:U,ElOption:R,InfoIcon:S},data(){return{options:[{value:K,label:this.$t("seedance.model.seedance10pro")},{value:Q,label:this.$t("seedance.model.seedance10proFast")},{value:P,label:this.$t("seedance.model.seedance15pro")},{value:Y,label:this.$t("seedance.model.seedance10liteT2v")},{value:Z,label:this.$t("seedance.model.seedance10liteI2v")}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.model},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,model:e})}}},mounted(){this.value||(this.value=J)}}),Ue={class:"field"},Ne={class:"label"},Oe={class:"box"},Pe={class:"title font-bold"};function Me(e,a,p,f,g,$){const c=s("info-icon"),l=s("el-option"),m=s("el-select");return n(),i("div",Ue,[r("div",Ne,[r("div",Oe,[r("h2",Pe,o(e.$t("seedance.name.model")),1),t(c,{content:e.$t("seedance.description.model"),class:"info"},null,8,["content"])])]),t(m,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=d=>e.value=d),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:u(()=>[(n(!0),i(L,null,A(e.options,d=>(n(),w(l,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ge=E(Re,[["render",Me],["__scopeId","data-v-eaa1425a"]]),je=b({name:"SeedanceDurationSelector",components:{ElSelect:U,ElOption:R,InfoIcon:S},data(){return{options:[{value:2,label:"2s"},{value:3,label:"3s"},{value:4,label:"4s"},{value:5,label:"5s"},{value:6,label:"6s"},{value:7,label:"7s"},{value:8,label:"8s"},{value:9,label:"9s"},{value:10,label:"10s"},{value:11,label:"11s"},{value:12,label:"12s"}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.duration},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,duration:e})}}},mounted(){this.value||(this.value=x)}}),Be={class:"field"},qe={class:"label"},ze={class:"box"},He={class:"title font-bold"};function We(e,a,p,f,g,$){const c=s("info-icon"),l=s("el-option"),m=s("el-select");return n(),i("div",Be,[r("div",qe,[r("div",ze,[r("h2",He,o(e.$t("seedance.name.duration")),1),t(c,{content:e.$t("seedance.description.duration"),class:"info"},null,8,["content"])])]),t(m,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=d=>e.value=d),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:u(()=>[(n(!0),i(L,null,A(e.options,d=>(n(),w(l,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Xe=E(je,[["render",We],["__scopeId","data-v-5c809a72"]]),Je=b({name:"SeedanceGenerateAudioSwitch",components:{ElSwitch:G,InfoIcon:S},computed:{isSupported(){return this.$store.state.seedance?.config?.model===P},value:{get(){return this.$store.state.seedance?.config?.generate_audio??!1},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,generate_audio:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=ee)}}),Ke={key:0,class:"field"},Qe={class:"label"},Ye={class:"box"},Ze={class:"title font-bold"},xe={class:"value"};function et(e,a,p,f,g,$){const c=s("info-icon"),l=s("el-switch");return e.isSupported?(n(),i("div",Ke,[r("div",Qe,[r("div",Ye,[r("h2",Ze,o(e.$t("seedance.name.generateAudio")),1),t(c,{content:e.$t("seedance.description.generateAudio"),class:"info"},null,8,["content"])])]),r("div",xe,[t(l,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=m=>e.value=m),"inline-prompt":"","active-text":e.$t("seedance.button.on"),"inactive-text":e.$t("seedance.button.off")},null,8,["modelValue","active-text","inactive-text"])])])):v("",!0)}const tt=E(Je,[["render",et],["__scopeId","data-v-8d716dcc"]]),st=b({name:"SeedanceFirstFrameImage",components:{ElUpload:q,ElButton:I,InfoIcon:S,FontAwesomeIcon:T,ImagePreview:B},mixins:[j],data(){return{fileList:[],uploadUrl:M()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},methods:{onExceed(){y.warning(this.$t("seedance.message.uploadExceed"))},onError(){y.error(this.$t("seedance.message.uploadError"))},onSetFirstFrameUrl(){const e=this.urls?.[0],p=(this.$store.state.seedance?.config?.images||[]).filter(f=>f?.role!=="first_frame");e&&p.push({url:e,role:"first_frame"}),this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,images:p.length>0?p:void 0})},async onSuccess(){this.onSetFirstFrameUrl()},async onRemove(){this.onSetFirstFrameUrl()}}}),ot={class:"relative"},nt={class:"flex justify-between"},at={class:"flex justify-start items-center"},lt={class:"text-sm font-bold"};function it(e,a,p,f,g,$){const c=s("info-icon"),l=s("image-preview"),m=s("font-awesome-icon"),d=s("el-button"),k=s("el-upload");return n(),i("div",ot,[r("div",nt,[r("div",at,[r("span",lt,o(e.$t("seedance.name.firstFrame")),1),t(c,{content:e.$t("seedance.description.firstFrame")},null,8,["content"])])]),t(k,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":a[0]||(a[0]=_=>e.fileList=_),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:u(({file:_})=>[_.url&&_.percentage!==void 0?(n(),w(l,{key:0,url:_.url,name:_.name,percentage:_.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:u(()=>[t(d,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[t(m,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+o(e.$t("seedance.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-remove","headers"])])}const rt=E(st,[["render",it],["__scopeId","data-v-5294baf8"]]),ct=b({name:"SeedanceLastFrameImage",components:{ElUpload:q,ElButton:I,ImagePreview:B,InfoIcon:S,FontAwesomeIcon:T},mixins:[j],data(){return{fileList:[],uploadUrl:M()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},methods:{onExceed(){y.warning(this.$t("seedance.message.uploadExceed"))},onError(){y.error(this.$t("seedance.message.uploadError"))},onSetLastFrameUrl(){const e=this.urls?.[0],p=(this.$store.state.seedance?.config?.images||[]).filter(f=>f?.role!=="last_frame");e&&p.push({url:e,role:"last_frame"}),this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,images:p.length>0?p:void 0})},async onSuccess(){this.onSetLastFrameUrl()},async onRemove(){this.onSetLastFrameUrl()}}}),dt={class:"relative"},mt={class:"flex justify-between"},pt={class:"flex justify-start items-center"},ut={class:"text-sm font-bold"};function ft(e,a,p,f,g,$){const c=s("info-icon"),l=s("image-preview"),m=s("font-awesome-icon"),d=s("el-button"),k=s("el-upload");return n(),i("div",dt,[r("div",mt,[r("div",pt,[r("span",ut,o(e.$t("seedance.name.lastFrame")),1),t(c,{content:e.$t("seedance.description.lastFrame")},null,8,["content"])])]),t(k,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":a[0]||(a[0]=_=>e.fileList=_),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:u(({file:_})=>[_.url&&_.percentage!==void 0?(n(),w(l,{key:0,url:_.url,name:_.name,percentage:_.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:u(()=>[t(d,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[t(m,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+o(e.$t("seedance.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-remove","headers"])])}const _t=E(ct,[["render",ft],["__scopeId","data-v-f423739f"]]),ht=b({name:"SeedanceServiceTierSelector",components:{ElSelect:U,ElOption:R,InfoIcon:S},data(){return{options:[{value:se,label:this.$t("seedance.serviceTier.default")},{value:oe,label:this.$t("seedance.serviceTier.flex")}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.service_tier},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,service_tier:e})}}},mounted(){this.value||(this.value=te)}}),vt={class:"field"},$t={class:"label"},gt={class:"box"},bt={class:"title font-bold"};function Et(e,a,p,f,g,$){const c=s("info-icon"),l=s("el-option"),m=s("el-select");return n(),i("div",vt,[r("div",$t,[r("div",gt,[r("h2",bt,o(e.$t("seedance.name.serviceTier")),1),t(c,{content:e.$t("seedance.description.serviceTier"),class:"info"},null,8,["content"])])]),t(m,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=d=>e.value=d),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:u(()=>[(n(!0),i(L,null,A(e.options,d=>(n(),w(l,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const kt=E(ht,[["render",Et],["__scopeId","data-v-a62125ec"]]),yt=b({name:"SeedanceReturnLastFrameSwitch",components:{ElSwitch:G,InfoIcon:S},computed:{value:{get(){return this.$store.state.seedance?.config?.return_last_frame},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,return_last_frame:e})}}},mounted(){this.value===void 0&&(this.value=ne)}}),wt={class:"field"},St={class:"label"},Vt={class:"box"},Lt={class:"title font-bold"},Tt={class:"value"};function It(e,a,p,f,g,$){const c=s("info-icon"),l=s("el-switch");return n(),i("div",wt,[r("div",St,[r("div",Vt,[r("h2",Lt,o(e.$t("seedance.name.returnLastFrame")),1),t(c,{content:e.$t("seedance.description.returnLastFrame"),class:"info"},null,8,["content"])])]),r("div",Tt,[t(l,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=m=>e.value=m),"inline-prompt":"","active-text":e.$t("seedance.button.on"),"inactive-text":e.$t("seedance.button.off")},null,8,["modelValue","active-text","inactive-text"])])])}const Ct=E(yt,[["render",It],["__scopeId","data-v-cd179b1c"]]),At=b({name:"SeedanceConfigPanel",components:{ElButton:I,FontAwesomeIcon:T,PromptInput:De,ModelSelector:Ge,DurationSelector:Xe,GenerateAudioSwitch:tt,ServiceTierSelector:kt,ReturnLastFrameSwitch:Ct,FirstFrameImage:rt,LastFrameImage:_t,Consumption:re},emits:["generate"],computed:{config(){return this.$store.state.seedance?.config},consumption(){return ce(this.config,this.service?.cost)},service(){return this.$store.state.seedance?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ft={class:"flex flex-col h-full"},Dt={class:"flex-1 overflow-y-auto p-5"},Rt={class:"flex flex-col items-center justify-center px-5 pb-5"};function Ut(e,a,p,f,g,$){const c=s("prompt-input"),l=s("model-selector"),m=s("duration-selector"),d=s("generate-audio-switch"),k=s("service-tier-selector"),_=s("return-last-frame-switch"),V=s("first-frame-image"),F=s("last-frame-image"),N=s("consumption"),z=s("font-awesome-icon"),H=s("el-button");return n(),i("div",Ft,[r("div",Dt,[t(c,{class:"mb-4"}),t(l,{class:"mb-4"}),t(m,{class:"mb-4"}),t(d,{class:"mb-4"}),t(k,{class:"mb-4"}),t(_,{class:"mb-4"}),t(V,{class:"mb-2"}),t(F,{class:"mb-2"})]),r("div",Rt,[t(N,{value:e.consumption,service:e.service},null,8,["value","service"]),t(H,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(z,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+o(e.$t("seedance.button.generate")),1)]),_:1},8,["onClick"])])])}const Nt=E(At,[["render",Ut]]),Ot=b({name:"SeedanceTaskPreview",components:{ElImage:_e,CopyToClipboard:de,FontAwesomeIcon:T,ElAlert:fe,VideoPlayer:me,ElTooltip:ue,ElButton:I,ImageWrapper:pe},props:{modelValue:{type:Object,required:!0}},data(){return{seedanceLogo:ae}},computed:{video(){return this.modelValue?.response?.data}},methods:{onDownload(e){window.open(e,"_blank")}}}),Pt={class:"preview"},Mt={class:"left"},Gt={class:"main"},jt={class:"bot"},Bt={class:"datetime"},qt={class:"info"},zt={key:0,class:"prompt mt-2"},Ht={key:0},Wt={key:1},Xt={key:0,class:C({content:!0})},Jt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Kt={key:1,class:C({content:!0})},Qt={key:0,class:"mb-4"},Yt={key:1,class:"mb-4"},Zt={key:2,class:C({operations:!0,"mt-2":!0,"mb-2":!0})},xt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},es={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ts={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ss={key:0},os={key:1},ns={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},as={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ls={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},is={key:2,class:C({content:!0})},rs={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},cs={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ds={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ms={key:3,class:C({content:!0})},ps={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},us={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function fs(e,a,p,f,g,$){const c=s("el-image"),l=s("font-awesome-icon"),m=s("copy-to-clipboard"),d=s("el-alert"),k=s("video-player"),_=s("image-wrapper"),V=s("el-button"),F=s("el-tooltip");return n(),i("div",Pt,[r("div",Mt,[t(c,{src:e.seedanceLogo,class:"avatar"},null,8,["src"])]),r("div",Gt,[r("div",jt,[h(o(e.$t("seedance.name.seedanceBot"))+" ",1),r("span",Bt,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",qt,[e.modelValue?.request?.prompt?(n(),i("p",zt,[h(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?e.video?.status==="processing"||e.video?.status==="pending"?(n(),i("span",Wt," - ("+o(e.$t("seedance.status.processing"))+") ",1)):v("",!0):(n(),i("span",Ht," - ("+o(e.$t("seedance.status.pending"))+") ",1))])):v("",!0)]),e.modelValue?.response?e.modelValue?.response?.success===!0?(n(),i("div",Kt,[e.video?.video_url?(n(),i("div",Qt,[t(k,{src:e.video?.video_url},null,8,["src"])])):v("",!0),e.video?.last_frame_url?(n(),i("div",Yt,[t(_,{src:e.video?.last_frame_url,"raw-src":e.video?.last_frame_url},null,8,["src","raw-src"])])):v("",!0),e.video?.video_url?(n(),i("div",Zt,[t(F,{class:"box-item",effect:"dark",content:e.$t("seedance.message.downloadVideo"),placement:"top-start"},{default:u(()=>[t(V,{type:"info",size:"small",class:"btn-action",onClick:a[0]||(a[0]=X(N=>e.onDownload(e.video?.video_url),["stop"]))},{default:u(()=>[h(o(e.$t("seedance.button.download")),1)]),_:1})]),_:1},8,["content"])])):v("",!0),t(d,{closable:!1,class:"mt-2 success"},{default:u(()=>[e.modelValue?.request?.model?(n(),i("p",xt,[t(l,{icon:"fa-solid fa-cube",class:"mr-1"}),h(" "+o(e.$t("seedance.name.model"))+": "+o(e.modelValue?.request?.model),1)])):v("",!0),e.video?.duration?(n(),i("p",es,[t(l,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+o(e.$t("seedance.name.duration"))+": "+o(e.video?.duration)+"s ",1)])):v("",!0),e.video?.resolution?(n(),i("p",ts,[t(l,{icon:"fa-solid fa-expand",class:"mr-1"}),h(" "+o(e.$t("seedance.name.resolution"))+": "+o(e.video?.resolution)+" ",1),e.video?.ratio?(n(),i("span",ss," · "+o(e.video?.ratio),1)):v("",!0),e.video?.framespersecond?(n(),i("span",os," · "+o(e.video?.framespersecond)+"fps",1)):v("",!0)])):v("",!0),e.modelValue?.request?.generate_audio?(n(),i("p",ns,[t(l,{icon:"fa-solid fa-volume-up",class:"mr-1"}),h(" "+o(e.$t("seedance.name.generateAudio"))+": "+o(e.$t("seedance.button.on")),1)])):v("",!0),r("p",as,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+o(e.$t("seedance.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t(m,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),i("p",ls,[t(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+o(e.$t("seedance.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),t(m,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),i("div",is,[t(d,{closable:!1,class:"failure"},{template:u(()=>[t(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+o(e.$t("seedance.name.failure")),1)]),default:u(()=>[r("p",rs,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+o(e.$t("seedance.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t(m,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.error?.message?(n(),i("p",cs,[t(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+o(e.$t("seedance.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),t(m,{content:e.modelValue?.response?.error?.message,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0),e.modelValue?.response?.trace_id?(n(),i("p",ds,[t(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+o(e.$t("seedance.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),t(m,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):(n(),i("div",ms,[t(d,{closable:!1,class:"info"},{template:u(()=>[t(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+o(e.$t("seedance.name.status")),1)]),default:u(()=>[r("p",ps,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+o(e.$t("seedance.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t(m,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),i("p",us,[t(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+o(e.$t("seedance.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),t(m,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):(n(),i("div",Xt,[t(d,{closable:!1,class:"info"},{template:u(()=>[t(l,{icon:"fa-regular fa-clock",class:"mr-1"}),h(" "+o(e.$t("seedance.status.pending")),1)]),default:u(()=>[r("p",Jt,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+o(e.$t("seedance.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t(m,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})]))])])}const _s=E(Ot,[["render",fs],["__scopeId","data-v-43479338"]]),hs=b({name:"SeedanceRecentPanel",components:{TaskPreview:_s,BotPlaceholder:he,NoTasks:ve,ScrollList:le},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],computed:{tasks(){return{...this.$store.state.seedance?.tasks,items:this.$store.state.seedance?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),vs={key:0},$s={key:2,class:"w-full h-full flex items-center justify-center"};function gs(e,a,p,f,g,$){const c=s("bot-placeholder"),l=s("task-preview"),m=s("scroll-list"),d=s("no-tasks");return n(),i(L,null,[e.tasks?.items===void 0?(n(),i("div",vs,[t(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),w(m,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:a[0]||(a[0]=k=>e.$emit("reach-top"))},{default:u(()=>[(n(!0),i(L,null,A(e.tasks?.items,k=>(n(),w(l,{key:k.id,"model-value":k},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(n(),i("div",$s,[t(d)])):v("",!0)],64)}const bs=E(hs,[["render",gs]]),Es="https://webhook.acedata.cloud/seedance",ks=b({name:"SeedanceIndex",components:{ConfigPanel:Nt,Layout:Ve,RecentPanel:bs},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.seedance?.status?.getApplications===O.Request},tasksLoading(){return this.$store.state.seedance?.status?.getTasks===O.Request||this.fetchingTasks},credential(){return this.$store.state.seedance?.credential},config(){return this.$store.state.seedance?.config},tasks(){return this.$store.state.seedance?.tasks}},watch:{initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await be({tasks:this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch("seedance/getService")},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;const{limit:a=5,createdAtMin:p,createdAtMax:f}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch("seedance/getTasks",{limit:a,createdAtMin:p,createdAtMax:f})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config||{}};if(typeof e?.prompt=="string"&&(e.prompt=e.prompt.trim(),e.prompt||delete e.prompt),Array.isArray(e?.images)){e.images=e.images.filter(c=>!!c?.url);const g=e.images.some(c=>c?.role==="first_frame"),$=e.images.some(c=>c?.role==="last_frame");!g&&$&&(e.images=e.images.map(c=>c?.role==="last_frame"?{...c,role:"first_frame"}:c))}!(Array.isArray(e?.images)&&e.images.length>0)&&"images"in e&&delete e.images;const p={...e,callback_url:Es},f=this.credential?.token;if(!f){console.error("no token specified");return}y.info(this.$t("seedance.message.startingTask")),ge.generate(p,{token:f}).then(()=>{y.success(this.$t("seedance.message.startTaskSuccess"))}).catch(g=>{const $=g?.response?.data;$?.error?.code===$e?y.error(this.$t("seedance.message.usedUp")):y.error(this.$t("seedance.message.startTaskFailed")+($?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ys(e,a,p,f,g,$){const c=s("config-panel"),l=s("recent-panel"),m=s("layout");return n(),w(m,null,{config:u(()=>[t(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[t(l,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const go=E(ks,[["render",ys]]);export{go as default};
@@ -1 +1 @@
1
- import{F as D}from"./index.es-Cj6iYiLT.js";import{E as L}from"./index-Bq_7dZR9.js";import{E as N}from"./index-Dz64Puii.js";import{d as b,H as i,E as r,z as U,C as o,y as u,D as s,q as n,F as l,O as E,N as A,x as y,Q as I,R as q,I as h,J as $,G as K,L as H}from"./vendor-vue-DU0w5ewx.js";import{D as k,b0 as W,ao as G}from"./index-BbIO4bzW.js";import{a as P,b as z,c as S,d as M,e as Z,f as J,g as Q,h as Y,i as X}from"./sora-Dyuoglk1.js";import{E as C,a as R}from"./index-ZN9XD_NV.js";import{p as x}from"./pasteUploadMixin-BurWbGNQ.js";import{I as B,S as ee}from"./ScrollList-CUmTwhTB.js";import{I as te}from"./ImagePreview-CN781XIL.js";import{E as oe}from"./index-D3CXPtD_.js";import{E as T}from"./index-DnDt0mRm.js";import{C as se}from"./Consumption-Ck_gLJbq.js";import{E as ae}from"./index-DmX7sdZ9.js";import{a as ne}from"./price-BWIfnz-K.js";import{b as le}from"./errorCode-Cqj9Td_Z.js";import{s as re}from"./sora-C6RuAS6o.js";import{C as ie}from"./CopyToClipboard-eTUekfsK.js";import{V as ce}from"./VideoPlayer-DGpGe_is.js";import{E as de}from"./index-C866d7TQ.js";import{E as ue}from"./index-ClhY-P9d.js";import{E as pe}from"./index-CLkXDPBv.js";import{B as me}from"./BotPlaceholder-BW7l1Bej.js";import{N as fe}from"./NoTasks-DKxId_4f.js";import{l as _e}from"./pagination-CcnL0MdN.js";import"./use-form-item-Y27JHToo.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-9TBHB1ku.js";import"./index-D54W9u0S.js";import"./typescript-BHL-GgG5.js";import"./index-BBlfkX9M.js";import"./strings-DigWlKo9.js";import"./isEqual-Dg8IMqNb.js";import"./_Uint8Array-Ji9hnTSv.js";import"./castArray-B9E6PR2M.js";import"./debounce-B9bsGuT8.js";import"./_baseIteratee-dR1m8JFb.js";import"./index-CTOZnYrj.js";import"./index-BguEgHVk.js";import"./_baseClone-CribV2Yc.js";import"./_initCloneObject-BFlzDwJW.js";import"./index-CGgDszyo.js";import"./vue-plyr-BO2nlN4c.js";import"./index-0APDMo9o.js";const he=b({name:"LayoutSora",components:{ElDrawer:N,ElButton:L,FontAwesomeIcon:D},data(){return{drawer:!1}}}),$e={class:"main flex flex-row flex-1"},ge={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ve={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function be(e,t,p,m,g,v){const c=s("font-awesome-icon"),d=s("el-button"),a=s("el-drawer");return n(),i("div",$e,[r("div",ge,[U(e.$slots,"config",{},void 0,!0)]),r("div",ve,[U(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=w=>e.drawer=!0)},{default:u(()=>[o(c,{icon:"fa-solid fa-magic"})]),_:1}),o(a,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=w=>e.drawer=w),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ke=k(he,[["render",be],["__scopeId","data-v-2dca3c13"]]),we=b({name:"ModelSelector",components:{ElSelect:R,ElOption:C},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:Z,label:"sora-2"},{value:J,label:"sora-2-pro"}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){const t=this.$store.state.sora?.config||{},p=z[e]||[S],m=t.duration,g=m&&p.includes(m)?m:p.includes(S)?S:p[0],v={...t,model:e,duration:g,size:t.size||M};this.$store.commit("sora/setConfig",v)}}},mounted(){this.value||(this.value=P)}}),ye={class:"field"},Se={class:"title font-bold"};function Ee(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",ye,[r("h2",Se,l(e.$t("sora.name.model")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(n(!0),i(E,null,A(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ve=k(we,[["render",Ee],["__scopeId","data-v-0cb7913d"]]),Te=b({name:"ActionSelector",components:{ElSelect:R,ElOption:C},data(){return{}},computed:{options(){return[{value:"text2video",label:this.$t("sora.button.action1")},{value:"image2video",label:this.$t("sora.button.action2")}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||(this.value=Q)}}),Ie={class:"field"},Ae={class:"title font-bold"},De={class:"float-left"};function Le(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",Ie,[r("h2",Ae,l(e.$t("sora.name.action")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select"),clearable:""},{default:u(()=>[(n(!0),i(E,null,A(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},{default:u(()=>[r("span",De,l(a.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ce=k(Te,[["render",Le],["__scopeId","data-v-7b82fa7f"]]),Re=b({name:"DurationSelector",components:{ElSelect:R,ElOption:C},computed:{model(){return this.$store.state.sora?.config?.model||P},allowedDurations(){return z[this.model]||[S]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,duration:e})}}},watch:{allowedDurations(){const e=this.allowedDurations;if(!e.includes(this.value)){const t=e.includes(S)?S:e[0];this.value=t}}},mounted(){this.value||(this.value=S)}}),Oe={class:"field"},Ue={class:"control"},Ge={class:"title font-bold"};function Pe(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",Oe,[r("div",Ue,[r("h2",Ge,l(e.$t("sora.name.duration")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(n(!0),i(E,null,A(e.optionsForModel,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const ze=k(Re,[["render",Pe],["__scopeId","data-v-c2934598"]]),Me=b({name:"OrientationSelector",data(){return{options:[{value:"portrait",labelKey:"sora.option.portrait",width:13,height:25},{value:"landscape",labelKey:"sora.option.landscape",width:25,height:13}]}},computed:{active(){const e=this.options.findIndex(t=>t.value===this.value);return e>=0?e:0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug("set orientation",e),this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||(this.value=Y)}}),Be={class:"text-sm font-bold mb-2 block"},Fe={class:"items"},je=["onClick"],Ne={class:"name"};function qe(e,t,p,m,g,v){return n(),i("div",null,[r("span",Be,l(e.$t("sora.name.orientation")),1),r("div",Fe,[(n(!0),i(E,null,A(e.options,(c,d)=>(n(),i("div",{key:d,class:I({active:e.active===d,item:!0}),onClick:a=>e.value=c.value},[r("div",{class:I(["preview",c.value])},[r("div",{class:"rect",style:q({width:c.width+"px",height:c.height+"px"})},null,4)],2),r("p",Ne,l(e.$t(c.labelKey)),1)],10,je))),128))])])}const Ke=k(Me,[["render",qe],["__scopeId","data-v-a20be6d9"]]),He=b({name:"StartEndImage",components:{ElUpload:oe,ElButton:L,InfoIcon:B,FontAwesomeIcon:D,ImagePreview:te},mixins:[x],emits:["change"],data(){return{fileList:[],uploadUrl:W()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.sora?.config?.image_urls},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){T.warning(this.$t("sora.message.uploadReferencesExceed"))},onError(){T.error(this.$t("sora.message.uploadReferencesError"))},onSetStartEndImageUrl(){const e=this.urls;this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),We={class:"relative"},Ze={class:"flex justify-between"},Je={class:"flex justify-start items-center"},Qe={class:"text-sm font-bold"};function Ye(e,t,p,m,g,v){const c=s("info-icon"),d=s("image-preview"),a=s("font-awesome-icon"),w=s("el-button"),_=s("el-upload");return n(),i("div",We,[r("div",Ze,[r("div",Je,[r("span",Qe,l(e.$t("sora.name.startEndImage")),1),o(c,{content:e.$t("sora.description.uploadStartEndImage")},null,8,["content"])])]),o(_,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=f=>e.fileList=f),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:2,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:f})=>[f.url&&f.percentage!==void 0?(n(),y(d,{key:0,url:f.url,name:f.name,percentage:f.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])):$("",!0)]),default:u(()=>[o(w,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[o(a,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("sora.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Xe=k(He,[["render",Ye],["__scopeId","data-v-a942382b"]]),xe=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),et=b({name:"SizeSelector",components:{ElSelect:R,ElOption:C},data(){return{options:X.map(e=>({value:e,label:xe(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,size:e})}}},mounted(){this.value||(this.value=M)}}),tt={class:"field"},ot={class:"control"},st={class:"title font-bold"};function at(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",tt,[r("div",ot,[r("h2",st,l(e.$t("sora.name.size")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(n(!0),i(E,null,A(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const nt=k(et,[["render",at],["__scopeId","data-v-8c485f0f"]]),lt="",rt=b({name:"PromptInput",components:{ElInput:ae,InfoIcon:B},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=lt)}}),it={class:"field"},ct={class:"box"},dt={class:"title font-bold"};function ut(e,t,p,m,g,v){const c=s("info-icon"),d=s("el-input");return n(),i("div",it,[r("div",ct,[r("h2",dt,l(e.$t("sora.name.prompt")),1),o(c,{content:e.$t("sora.description.prompt"),class:"info"},null,8,["content"])]),o(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=a=>e.prompt=a),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("sora.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const pt=k(rt,[["render",ut],["__scopeId","data-v-a57633d5"]]),mt=b({name:"ConfigPanel",components:{ElButton:L,Consumption:se,FontAwesomeIcon:D,PromptInput:pt,ModelSelector:Ve,StartEndImage:Xe,SizeSelector:nt,ActionSelector:Ce,OrientationSelector:Ke,DurationSelector:ze},emits:["generate"],computed:{config(){return this.$store.state.sora?.config},consumption(){return ne(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit("generate")}}}),ft={class:"flex flex-col h-full"},_t={class:"flex-1 overflow-y-auto p-5"},ht={class:"flex flex-col items-center justify-center px-5 pb-5"};function $t(e,t,p,m,g,v){const c=s("model-selector"),d=s("action-selector"),a=s("duration-selector"),w=s("size-selector"),_=s("orientation-selector"),f=s("prompt-input"),V=s("start-end-image"),O=s("consumption"),F=s("font-awesome-icon"),j=s("el-button");return n(),i("div",ft,[r("div",_t,[o(c,{class:"mb-4"}),o(d,{class:"mb-4"}),o(a,{class:"mb-4"}),o(w,{class:"mb-4"}),o(_,{class:"mb-4"}),o(f,{class:"mb-4"}),K(o(V,{class:"mb-2"},null,512),[[H,e.config?.action==="image2video"]])]),r("div",ht,[o(O,{value:e.consumption,service:e.service},null,8,["value","service"]),o(j,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[o(F,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+l(e.$t("sora.button.generate")),1)]),_:1},8,["onClick"])])])}const gt=k(mt,[["render",$t]]),vt=b({name:"TaskPreview",components:{ElImage:pe,CopyToClipboard:ie,FontAwesomeIcon:D,ElAlert:ue,VideoPlayer:ce,ElTooltip:de,ElButton:L},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),bt={class:"preview"},kt={class:"left"},wt={class:"main"},yt={class:"bot"},St={class:"datetime"},Et={class:"info"},Vt={key:0,class:"prompt mt-2"},Tt={key:0},It={key:1},At={key:0,class:I({content:!0,failed:!0})},Dt={key:0,class:"mb-4"},Lt={key:1,class:I({operations:!0,"mt-2":!0})},Ct={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ot={key:1,class:I({content:!0})},Ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Pt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},zt={key:2,class:I({content:!0})},Mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Ft(e,t,p,m,g,v){const c=s("el-image"),d=s("video-player"),a=s("el-button"),w=s("el-tooltip"),_=s("font-awesome-icon"),f=s("copy-to-clipboard"),V=s("el-alert");return n(),i("div",bt,[r("div",kt,[o(c,{src:"https://cdn.acedata.cloud/z5id1u.png",class:"avatar"})]),r("div",wt,[r("div",yt,[h(l(e.$t("sora.name.soraBot"))+" ",1),r("span",St,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",Et,[e.modelValue?.request?.prompt?(n(),i("p",Vt,[h(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?$("",!0):(n(),i("span",Tt," - ("+l(e.$t("sora.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="pending"?(n(),i("span",It," - ("+l(e.$t("sora.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(n(),i("div",At,[e.modelValue?.response?.data[0]?.video_url?(n(),i("div",Dt,[o(d,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):$("",!0),e.modelValue?.response.success?(n(),i("div",Lt,[o(w,{class:"box-item",effect:"dark",content:e.$t("sora.message.downloadVideo"),placement:"top-start"},{default:u(()=>[e.modelValue?.response?.data[0]?.video_url?(n(),y(a,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=O=>e.onDownload(O,e.modelValue?.response?.data[0]?.video_url))},{default:u(()=>[h(l(e.$t("sora.button.download")),1)]),_:1})):$("",!0)]),_:1},8,["content"])])):$("",!0),o(V,{closable:!1,class:"mt-2 success"},{default:u(()=>[r("p",Ct,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.model"))+": "+l(e.modelValue?.request?.model),1)]),r("p",Rt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(n(),i("div",Ot,[o(V,{closable:!1,class:"failure"},{template:u(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:u(()=>[r("p",Ut,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),r("p",Gt,[o(_,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+l(e.$t("sora.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),o(f,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),i("p",Pt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===void 0?(n(),i("div",zt,[o(V,{closable:!1,class:"info"},{template:u(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:u(()=>[r("p",Mt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),i("p",Bt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0)])])}const jt=k(vt,[["render",Ft],["__scopeId","data-v-7b468b7a"]]),Nt=b({name:"RecentPanel",components:{TaskPreview:jt,NoTasks:fe,BotPlaceholder:me,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),qt={key:0},Kt={key:2,class:"w-full h-full flex items-center justify-center"};function Ht(e,t,p,m,g,v){const c=s("bot-placeholder"),d=s("task-preview"),a=s("scroll-list"),w=s("no-tasks");return n(),i(E,null,[e.tasks?.items===void 0?(n(),i("div",qt,[o(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),y(a,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=_=>e.$emit("reach-top"))},{default:u(()=>[(n(!0),i(E,null,A(e.tasks?.items,(_,f)=>(n(),y(d,{key:f,"model-value":_},null,8,["model-value"]))),128))]),_:1},8,["loading"])):$("",!0),e.tasks?.items?.length===0?(n(),i("div",Kt,[o(w)])):$("",!0)],64)}const Wt=k(Nt,[["render",Ht]]),Zt="https://webhook.acedata.cloud/sora",Jt=b({name:"SoraIndex",components:{ConfigPanel:gt,Layout:ke,RecentPanel:Wt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===G.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===G.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await _e({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("sora/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("sora/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:p,createdAtMax:m}=e||{};console.debug("limit",t,"createdAtMin",p,"createdAtMax",m),this.fetchingTasks=!0;try{await this.$store.dispatch("sora/getTasks",{limit:t,createdAtMin:p,createdAtMax:m})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Zt},t=this.credential?.token;if(!t){console.error("no token specified");return}T.info(this.$t("sora.message.startingTask")),re.generate(e,{token:t}).then(()=>{T.success(this.$t("sora.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===le?T.error(this.$t("sora.message.usedUp")):T.error(this.$t("sora.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Qt(e,t,p,m,g,v){const c=s("config-panel"),d=s("recent-panel"),a=s("layout");return n(),y(a,null,{config:u(()=>[o(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[o(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const qo=k(Jt,[["render",Qt]]);export{qo as default};
1
+ import{F as D}from"./index.es-CJsiWXMF.js";import{E as L}from"./index-DwY9pOO3.js";import{E as N}from"./index-C5TjNMIl.js";import{d as b,H as i,E as r,z as U,C as o,y as u,D as s,q as n,F as l,O as E,N as A,x as y,Q as I,R as q,I as h,J as $,G as K,L as H}from"./vendor-vue-DU0w5ewx.js";import{D as k,b0 as W,ao as G}from"./index-D4saMGlC.js";import{a as P,b as z,c as S,d as M,e as Z,f as J,g as Q,h as Y,i as X}from"./sora-Dyuoglk1.js";import{E as C,a as R}from"./index-CzJ7fWUH.js";import{p as x}from"./pasteUploadMixin-BurWbGNQ.js";import{I as B,S as ee}from"./ScrollList-DRIMxtWX.js";import{I as te}from"./ImagePreview-VbvXxzqA.js";import{E as oe}from"./index-dQUkT91P.js";import{E as T}from"./index-Ct-EZ76M.js";import{C as se}from"./Consumption--BQQHppN.js";import{E as ae}from"./index-DH6MtP3d.js";import{a as ne}from"./price-B613-HvG.js";import{b as le}from"./errorCode-Cqj9Td_Z.js";import{s as re}from"./sora-WcFwuWvC.js";import{C as ie}from"./CopyToClipboard-B6G-wNJD.js";import{V as ce}from"./VideoPlayer-DEViwP6l.js";import{E as de}from"./index-DXexZRXn.js";import{E as ue}from"./index-CcP3nmgG.js";import{E as pe}from"./index-jv4wsHGw.js";import{B as me}from"./BotPlaceholder-C5ljOz4A.js";import{N as fe}from"./NoTasks-BeyOLEbn.js";import{l as _e}from"./pagination-CcnL0MdN.js";import"./use-form-item-DcOclXCw.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-9TBHB1ku.js";import"./index-DmVTvMHH.js";import"./typescript-ClSWGTjJ.js";import"./index-B_KH4K5T.js";import"./strings-DigWlKo9.js";import"./isEqual-BGJ5u1aM.js";import"./_Uint8Array-VygXE9xf.js";import"./castArray--oY6r8jd.js";import"./debounce-CxAObiU1.js";import"./_baseIteratee-BUY84h9-.js";import"./index-C8RMr0ye.js";import"./index-8U5mSU__.js";import"./_baseClone-8AWe3BQs.js";import"./_initCloneObject-BrdqfTp3.js";import"./index-Cuy1fHGt.js";import"./vue-plyr-BO2nlN4c.js";import"./index-CvURsQ8o.js";const he=b({name:"LayoutSora",components:{ElDrawer:N,ElButton:L,FontAwesomeIcon:D},data(){return{drawer:!1}}}),$e={class:"main flex flex-row flex-1"},ge={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ve={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function be(e,t,p,m,g,v){const c=s("font-awesome-icon"),d=s("el-button"),a=s("el-drawer");return n(),i("div",$e,[r("div",ge,[U(e.$slots,"config",{},void 0,!0)]),r("div",ve,[U(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=w=>e.drawer=!0)},{default:u(()=>[o(c,{icon:"fa-solid fa-magic"})]),_:1}),o(a,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=w=>e.drawer=w),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ke=k(he,[["render",be],["__scopeId","data-v-2dca3c13"]]),we=b({name:"ModelSelector",components:{ElSelect:R,ElOption:C},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:Z,label:"sora-2"},{value:J,label:"sora-2-pro"}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){const t=this.$store.state.sora?.config||{},p=z[e]||[S],m=t.duration,g=m&&p.includes(m)?m:p.includes(S)?S:p[0],v={...t,model:e,duration:g,size:t.size||M};this.$store.commit("sora/setConfig",v)}}},mounted(){this.value||(this.value=P)}}),ye={class:"field"},Se={class:"title font-bold"};function Ee(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",ye,[r("h2",Se,l(e.$t("sora.name.model")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(n(!0),i(E,null,A(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ve=k(we,[["render",Ee],["__scopeId","data-v-0cb7913d"]]),Te=b({name:"ActionSelector",components:{ElSelect:R,ElOption:C},data(){return{}},computed:{options(){return[{value:"text2video",label:this.$t("sora.button.action1")},{value:"image2video",label:this.$t("sora.button.action2")}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||(this.value=Q)}}),Ie={class:"field"},Ae={class:"title font-bold"},De={class:"float-left"};function Le(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",Ie,[r("h2",Ae,l(e.$t("sora.name.action")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select"),clearable:""},{default:u(()=>[(n(!0),i(E,null,A(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},{default:u(()=>[r("span",De,l(a.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ce=k(Te,[["render",Le],["__scopeId","data-v-7b82fa7f"]]),Re=b({name:"DurationSelector",components:{ElSelect:R,ElOption:C},computed:{model(){return this.$store.state.sora?.config?.model||P},allowedDurations(){return z[this.model]||[S]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,duration:e})}}},watch:{allowedDurations(){const e=this.allowedDurations;if(!e.includes(this.value)){const t=e.includes(S)?S:e[0];this.value=t}}},mounted(){this.value||(this.value=S)}}),Oe={class:"field"},Ue={class:"control"},Ge={class:"title font-bold"};function Pe(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",Oe,[r("div",Ue,[r("h2",Ge,l(e.$t("sora.name.duration")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(n(!0),i(E,null,A(e.optionsForModel,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const ze=k(Re,[["render",Pe],["__scopeId","data-v-c2934598"]]),Me=b({name:"OrientationSelector",data(){return{options:[{value:"portrait",labelKey:"sora.option.portrait",width:13,height:25},{value:"landscape",labelKey:"sora.option.landscape",width:25,height:13}]}},computed:{active(){const e=this.options.findIndex(t=>t.value===this.value);return e>=0?e:0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug("set orientation",e),this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||(this.value=Y)}}),Be={class:"text-sm font-bold mb-2 block"},Fe={class:"items"},je=["onClick"],Ne={class:"name"};function qe(e,t,p,m,g,v){return n(),i("div",null,[r("span",Be,l(e.$t("sora.name.orientation")),1),r("div",Fe,[(n(!0),i(E,null,A(e.options,(c,d)=>(n(),i("div",{key:d,class:I({active:e.active===d,item:!0}),onClick:a=>e.value=c.value},[r("div",{class:I(["preview",c.value])},[r("div",{class:"rect",style:q({width:c.width+"px",height:c.height+"px"})},null,4)],2),r("p",Ne,l(e.$t(c.labelKey)),1)],10,je))),128))])])}const Ke=k(Me,[["render",qe],["__scopeId","data-v-a20be6d9"]]),He=b({name:"StartEndImage",components:{ElUpload:oe,ElButton:L,InfoIcon:B,FontAwesomeIcon:D,ImagePreview:te},mixins:[x],emits:["change"],data(){return{fileList:[],uploadUrl:W()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.sora?.config?.image_urls},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){T.warning(this.$t("sora.message.uploadReferencesExceed"))},onError(){T.error(this.$t("sora.message.uploadReferencesError"))},onSetStartEndImageUrl(){const e=this.urls;this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),We={class:"relative"},Ze={class:"flex justify-between"},Je={class:"flex justify-start items-center"},Qe={class:"text-sm font-bold"};function Ye(e,t,p,m,g,v){const c=s("info-icon"),d=s("image-preview"),a=s("font-awesome-icon"),w=s("el-button"),_=s("el-upload");return n(),i("div",We,[r("div",Ze,[r("div",Je,[r("span",Qe,l(e.$t("sora.name.startEndImage")),1),o(c,{content:e.$t("sora.description.uploadStartEndImage")},null,8,["content"])])]),o(_,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=f=>e.fileList=f),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:2,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:f})=>[f.url&&f.percentage!==void 0?(n(),y(d,{key:0,url:f.url,name:f.name,percentage:f.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])):$("",!0)]),default:u(()=>[o(w,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[o(a,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("sora.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Xe=k(He,[["render",Ye],["__scopeId","data-v-a942382b"]]),xe=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),et=b({name:"SizeSelector",components:{ElSelect:R,ElOption:C},data(){return{options:X.map(e=>({value:e,label:xe(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,size:e})}}},mounted(){this.value||(this.value=M)}}),tt={class:"field"},ot={class:"control"},st={class:"title font-bold"};function at(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return n(),i("div",tt,[r("div",ot,[r("h2",st,l(e.$t("sora.name.size")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=a=>e.value=a),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(n(!0),i(E,null,A(e.options,a=>(n(),y(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const nt=k(et,[["render",at],["__scopeId","data-v-8c485f0f"]]),lt="",rt=b({name:"PromptInput",components:{ElInput:ae,InfoIcon:B},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=lt)}}),it={class:"field"},ct={class:"box"},dt={class:"title font-bold"};function ut(e,t,p,m,g,v){const c=s("info-icon"),d=s("el-input");return n(),i("div",it,[r("div",ct,[r("h2",dt,l(e.$t("sora.name.prompt")),1),o(c,{content:e.$t("sora.description.prompt"),class:"info"},null,8,["content"])]),o(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=a=>e.prompt=a),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("sora.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const pt=k(rt,[["render",ut],["__scopeId","data-v-a57633d5"]]),mt=b({name:"ConfigPanel",components:{ElButton:L,Consumption:se,FontAwesomeIcon:D,PromptInput:pt,ModelSelector:Ve,StartEndImage:Xe,SizeSelector:nt,ActionSelector:Ce,OrientationSelector:Ke,DurationSelector:ze},emits:["generate"],computed:{config(){return this.$store.state.sora?.config},consumption(){return ne(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit("generate")}}}),ft={class:"flex flex-col h-full"},_t={class:"flex-1 overflow-y-auto p-5"},ht={class:"flex flex-col items-center justify-center px-5 pb-5"};function $t(e,t,p,m,g,v){const c=s("model-selector"),d=s("action-selector"),a=s("duration-selector"),w=s("size-selector"),_=s("orientation-selector"),f=s("prompt-input"),V=s("start-end-image"),O=s("consumption"),F=s("font-awesome-icon"),j=s("el-button");return n(),i("div",ft,[r("div",_t,[o(c,{class:"mb-4"}),o(d,{class:"mb-4"}),o(a,{class:"mb-4"}),o(w,{class:"mb-4"}),o(_,{class:"mb-4"}),o(f,{class:"mb-4"}),K(o(V,{class:"mb-2"},null,512),[[H,e.config?.action==="image2video"]])]),r("div",ht,[o(O,{value:e.consumption,service:e.service},null,8,["value","service"]),o(j,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[o(F,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+l(e.$t("sora.button.generate")),1)]),_:1},8,["onClick"])])])}const gt=k(mt,[["render",$t]]),vt=b({name:"TaskPreview",components:{ElImage:pe,CopyToClipboard:ie,FontAwesomeIcon:D,ElAlert:ue,VideoPlayer:ce,ElTooltip:de,ElButton:L},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),bt={class:"preview"},kt={class:"left"},wt={class:"main"},yt={class:"bot"},St={class:"datetime"},Et={class:"info"},Vt={key:0,class:"prompt mt-2"},Tt={key:0},It={key:1},At={key:0,class:I({content:!0,failed:!0})},Dt={key:0,class:"mb-4"},Lt={key:1,class:I({operations:!0,"mt-2":!0})},Ct={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ot={key:1,class:I({content:!0})},Ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Pt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},zt={key:2,class:I({content:!0})},Mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Ft(e,t,p,m,g,v){const c=s("el-image"),d=s("video-player"),a=s("el-button"),w=s("el-tooltip"),_=s("font-awesome-icon"),f=s("copy-to-clipboard"),V=s("el-alert");return n(),i("div",bt,[r("div",kt,[o(c,{src:"https://cdn.acedata.cloud/z5id1u.png",class:"avatar"})]),r("div",wt,[r("div",yt,[h(l(e.$t("sora.name.soraBot"))+" ",1),r("span",St,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",Et,[e.modelValue?.request?.prompt?(n(),i("p",Vt,[h(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?$("",!0):(n(),i("span",Tt," - ("+l(e.$t("sora.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="pending"?(n(),i("span",It," - ("+l(e.$t("sora.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(n(),i("div",At,[e.modelValue?.response?.data[0]?.video_url?(n(),i("div",Dt,[o(d,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):$("",!0),e.modelValue?.response.success?(n(),i("div",Lt,[o(w,{class:"box-item",effect:"dark",content:e.$t("sora.message.downloadVideo"),placement:"top-start"},{default:u(()=>[e.modelValue?.response?.data[0]?.video_url?(n(),y(a,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=O=>e.onDownload(O,e.modelValue?.response?.data[0]?.video_url))},{default:u(()=>[h(l(e.$t("sora.button.download")),1)]),_:1})):$("",!0)]),_:1},8,["content"])])):$("",!0),o(V,{closable:!1,class:"mt-2 success"},{default:u(()=>[r("p",Ct,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.model"))+": "+l(e.modelValue?.request?.model),1)]),r("p",Rt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(n(),i("div",Ot,[o(V,{closable:!1,class:"failure"},{template:u(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:u(()=>[r("p",Ut,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),r("p",Gt,[o(_,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+l(e.$t("sora.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),o(f,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),i("p",Pt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===void 0?(n(),i("div",zt,[o(V,{closable:!1,class:"info"},{template:u(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:u(()=>[r("p",Mt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),i("p",Bt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0)])])}const jt=k(vt,[["render",Ft],["__scopeId","data-v-7b468b7a"]]),Nt=b({name:"RecentPanel",components:{TaskPreview:jt,NoTasks:fe,BotPlaceholder:me,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),qt={key:0},Kt={key:2,class:"w-full h-full flex items-center justify-center"};function Ht(e,t,p,m,g,v){const c=s("bot-placeholder"),d=s("task-preview"),a=s("scroll-list"),w=s("no-tasks");return n(),i(E,null,[e.tasks?.items===void 0?(n(),i("div",qt,[o(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),y(a,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=_=>e.$emit("reach-top"))},{default:u(()=>[(n(!0),i(E,null,A(e.tasks?.items,(_,f)=>(n(),y(d,{key:f,"model-value":_},null,8,["model-value"]))),128))]),_:1},8,["loading"])):$("",!0),e.tasks?.items?.length===0?(n(),i("div",Kt,[o(w)])):$("",!0)],64)}const Wt=k(Nt,[["render",Ht]]),Zt="https://webhook.acedata.cloud/sora",Jt=b({name:"SoraIndex",components:{ConfigPanel:gt,Layout:ke,RecentPanel:Wt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===G.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===G.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await _e({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("sora/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("sora/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:p,createdAtMax:m}=e||{};console.debug("limit",t,"createdAtMin",p,"createdAtMax",m),this.fetchingTasks=!0;try{await this.$store.dispatch("sora/getTasks",{limit:t,createdAtMin:p,createdAtMax:m})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Zt},t=this.credential?.token;if(!t){console.error("no token specified");return}T.info(this.$t("sora.message.startingTask")),re.generate(e,{token:t}).then(()=>{T.success(this.$t("sora.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===le?T.error(this.$t("sora.message.usedUp")):T.error(this.$t("sora.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Qt(e,t,p,m,g,v){const c=s("config-panel"),d=s("recent-panel"),a=s("layout");return n(),y(a,null,{config:u(()=>[o(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[o(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const qo=k(Jt,[["render",Qt]]);export{qo as default};