@acedatacloud/nexior 3.26.0 → 3.26.2

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 (281) hide show
  1. package/dist/assets/{Auth-C4N-kn3P.js → Auth-DcpGIqwi.js} +1 -1
  2. package/dist/assets/{BotPlaceholder-BU17vEUy.js → BotPlaceholder-Drm6xiuT.js} +1 -1
  3. package/dist/assets/{Callback-CgCHMBvT.js → Callback-REiOMkuD.js} +1 -1
  4. package/dist/assets/{Console-BuuIvyQI.js → Console-BrjF9_It.js} +1 -1
  5. package/dist/assets/{Conversation-Bd-g7wEx.js → Conversation-Clf-3NQi.js} +2 -2
  6. package/dist/assets/{CopyToClipboard-Ab4hHs26.js → CopyToClipboard-CBliPgeP.js} +1 -1
  7. package/dist/assets/{Detail-B0bGFPcr.js → Detail-Dnd4Nd0T.js} +2 -2
  8. package/dist/assets/{EditArray-BO1VlAtC.js → EditArray-KYrcEW6W.js} +1 -1
  9. package/dist/assets/{Extra-BWQZ0rxR.css → Extra-Bqh2sys8.css} +1 -1
  10. package/dist/assets/Extra-y_XywERF.js +1 -0
  11. package/dist/assets/{FilePreview-DzYn5dam.js → FilePreview-Bz-RkJBC.js} +1 -1
  12. package/dist/assets/{History-A_7LOfGN.js → History-CeaaKZfy.js} +1 -1
  13. package/dist/assets/{ImagePreview-hdi2mrdI.js → ImagePreview-BnQhS1sy.js} +1 -1
  14. package/dist/assets/{ImageWrapper-D9v7ltO5.js → ImageWrapper-LkV6h7vR.js} +1 -1
  15. package/dist/assets/{Index-CucfTPS_.js → Index-6xzU8HJN.js} +1 -1
  16. package/dist/assets/{Index-CJv4wGmX.js → Index-B17LFoFo.js} +1 -1
  17. package/dist/assets/{Index-B4Oy-w03.js → Index-BPs_CTLK.js} +1 -1
  18. package/dist/assets/{Index-y1E2fHPZ.js → Index-BWPDDqlj.js} +1 -1
  19. package/dist/assets/{Index-CFq2w4hh.js → Index-CLBa1eAb.js} +1 -1
  20. package/dist/assets/{Index--9DaVBY2.js → Index-CLEC89Jo.js} +1 -1
  21. package/dist/assets/{Index-Co3cnanu.js → Index-CRTcv7xy.js} +1 -1
  22. package/dist/assets/{Index-BggomWsw.js → Index-CaI6zBZ3.js} +1 -1
  23. package/dist/assets/{Index-C1jYhkOD.js → Index-CqoL0s33.js} +1 -1
  24. package/dist/assets/{Index-CEaJNUQF.js → Index-DC_YoIhM.js} +1 -1
  25. package/dist/assets/{Index-ym69MOSH.js → Index-DcyyV6Sz.js} +1 -1
  26. package/dist/assets/{Index-ZsIbmaS2.js → Index-DhUCvaCi.js} +1 -1
  27. package/dist/assets/{Index-qjyre1DA.js → Index-DjI-ZL96.js} +1 -1
  28. package/dist/assets/{Index-BQLNTE0F.js → Index-E1wsWno5.js} +1 -1
  29. package/dist/assets/{Index-DDch_lJc.js → Index-VAxSP8lV.js} +1 -1
  30. package/dist/assets/{Index-DKlMjuCB.js → Index-xa7bNKA9.js} +1 -1
  31. package/dist/assets/{Invitees-X4GRTkxt.js → Invitees-BdKbK4gL.js} +1 -1
  32. package/dist/assets/{List-DMjesxby.js → List-4_OW5KaJ.js} +1 -1
  33. package/dist/assets/List-B9hq6lUq.js +1 -0
  34. package/dist/assets/{List-BENZw7xg.css → List-B9sT18--.css} +1 -1
  35. package/dist/assets/List-Cc5KKfCM.css +1 -0
  36. package/dist/assets/List-DURh04Gf.js +1 -0
  37. package/dist/assets/Main-F_4zsEk0.js +1 -0
  38. package/dist/assets/{Navigator-BfaRng3e.js → Navigator-CGT5cZ47.js} +1 -1
  39. package/dist/assets/{NoTasks-CgXSnfeV.js → NoTasks-3Z1b05wG.js} +1 -1
  40. package/dist/assets/{Pagination-CtENlxBI.js → Pagination-DXYXr-Qm.js} +1 -1
  41. package/dist/assets/{ScrollList-hBjgRYV4.js → ScrollList-BkRXLc_a.js} +1 -1
  42. package/dist/assets/Status-D-2VRcqL.js +1 -0
  43. package/dist/assets/Status-wRPeglNe.css +1 -0
  44. package/dist/assets/Subscribe-B5VcnrBh.js +1 -0
  45. package/dist/assets/{VideoPlayer-CsVaulnP.js → VideoPlayer-Ci_7fcAo.js} +1 -1
  46. package/dist/assets/application-4sCLHc8H.js +1 -0
  47. package/dist/assets/application-B3aCFTSw.js +1 -0
  48. package/dist/assets/application-BEYmfFJz.js +1 -0
  49. package/dist/assets/application-BIKcbaVW.js +1 -0
  50. package/dist/assets/application-BeoSDqMh.js +1 -0
  51. package/dist/assets/application-Bis14xw7.js +1 -0
  52. package/dist/assets/application-CUkYQyol.js +1 -0
  53. package/dist/assets/application-CobHPXFx.js +1 -0
  54. package/dist/assets/application-Cx03xyWX.js +1 -0
  55. package/dist/assets/application-D9f2k0Z7.js +1 -0
  56. package/dist/assets/application-DDCXm6fP.js +1 -0
  57. package/dist/assets/application-F1iqle9v.js +1 -0
  58. package/dist/assets/application-IPq1e_Il.js +1 -0
  59. package/dist/assets/application-KyKnYbJy.js +1 -0
  60. package/dist/assets/application-OKlUcxSS.js +1 -0
  61. package/dist/assets/application-QJ9ZEQYt.js +1 -0
  62. package/dist/assets/application-m4x26hDG.js +1 -0
  63. package/dist/assets/application-rjK39_oK.js +1 -0
  64. package/dist/assets/coin---jmV5d3.js +1 -0
  65. package/dist/assets/coin-BhOL0L82.js +1 -0
  66. package/dist/assets/coin-BplV0rp3.js +1 -0
  67. package/dist/assets/coin-CevLkt3x.js +1 -0
  68. package/dist/assets/coin-D1xK6HrR.js +1 -0
  69. package/dist/assets/coin-D4A1zhD3.js +1 -0
  70. package/dist/assets/coin-D68hXR13.js +1 -0
  71. package/dist/assets/coin-D9UJDO64.js +1 -0
  72. package/dist/assets/coin-DB8LitKm.js +1 -0
  73. package/dist/assets/coin-DD1bmkS2.js +1 -0
  74. package/dist/assets/coin-DmW3AlDt.js +1 -0
  75. package/dist/assets/coin-DqoEQDC8.js +1 -0
  76. package/dist/assets/coin-DwbnfqVd.js +1 -0
  77. package/dist/assets/coin-ZbWiLVH3.js +1 -0
  78. package/dist/assets/coin-kUzHncYu.js +1 -0
  79. package/dist/assets/coin-njK3etEa.js +1 -0
  80. package/dist/assets/coin-vTvlgRXc.js +1 -0
  81. package/dist/assets/common-B-EGiyep.js +1 -0
  82. package/dist/assets/common-B_8azNNB.js +1 -0
  83. package/dist/assets/common-Bj1QcGsP.js +1 -0
  84. package/dist/assets/common-BjCDdbb-.js +1 -0
  85. package/dist/assets/common-BkT5tE0t.js +1 -0
  86. package/dist/assets/common-C-IzjSKC.js +1 -0
  87. package/dist/assets/common-C9eXfUEo.js +1 -0
  88. package/dist/assets/common-CRr8UPV-.js +1 -0
  89. package/dist/assets/common-CSbTh7Es.js +1 -0
  90. package/dist/assets/common-CnDyLF8c.js +1 -0
  91. package/dist/assets/common-CpvsNb6Z.js +1 -0
  92. package/dist/assets/common-DCBdMh4C.js +1 -0
  93. package/dist/assets/common-DEzGcp3u.js +1 -0
  94. package/dist/assets/common-Dfjl8VXX.js +1 -0
  95. package/dist/assets/common-DgsCAY9A.js +1 -0
  96. package/dist/assets/common-giBfYpVG.js +1 -0
  97. package/dist/assets/common-ifG7Jngn.js +1 -0
  98. package/dist/assets/common-oJuxEHvM.js +1 -0
  99. package/dist/assets/console-B3eP-WO_.js +1 -0
  100. package/dist/assets/console-B6WpNFZR.js +1 -0
  101. package/dist/assets/console-BSA-nQut.js +1 -0
  102. package/dist/assets/console-BfVdppQq.js +1 -0
  103. package/dist/assets/console-BqANz1qU.js +1 -0
  104. package/dist/assets/console-C0jNAT2v.js +1 -0
  105. package/dist/assets/console-C8SjjSMs.js +1 -0
  106. package/dist/assets/console-CQDVZ5kW.js +1 -0
  107. package/dist/assets/console-CbryeCQt.js +1 -0
  108. package/dist/assets/console-CdExu4-O.js +1 -0
  109. package/dist/assets/console-CkF3DYko.js +1 -0
  110. package/dist/assets/console-D-9NxLjR.js +1 -0
  111. package/dist/assets/console-D5rJzc1E.js +1 -0
  112. package/dist/assets/console-DMTF96hK.js +1 -0
  113. package/dist/assets/console-DMlew7iX.js +1 -0
  114. package/dist/assets/console-EbWSW-Fu.js +1 -0
  115. package/dist/assets/console-dlCwwK2t.js +1 -0
  116. package/dist/assets/console-fIqOWY6V.js +1 -0
  117. package/dist/assets/{distribution-ahsMBsrL.js → distribution-zXeAGkCu.js} +1 -1
  118. package/dist/assets/index-Cn_0hZFW.css +1 -0
  119. package/dist/assets/index-Dn72Szn0.js +3 -0
  120. package/dist/assets/order-2938TXeL.js +1 -0
  121. package/dist/assets/order-691hfcVo.js +1 -0
  122. package/dist/assets/order-7yDEF-wE.js +1 -0
  123. package/dist/assets/order-BDWVwDAn.js +1 -0
  124. package/dist/assets/order-Bqc53rmv.js +1 -0
  125. package/dist/assets/{order-Bu5wjTFd.js → order-CCQxecEz.js} +1 -1
  126. package/dist/assets/order-CESPqprA.js +1 -0
  127. package/dist/assets/order-CH4FTZdz.js +1 -0
  128. package/dist/assets/order-CL6RqSCE.js +1 -0
  129. package/dist/assets/order-C_9poK2b.js +1 -0
  130. package/dist/assets/order-CfKXYzuo.js +1 -0
  131. package/dist/assets/order-CjpgvCGB.js +1 -0
  132. package/dist/assets/order-Cx9acmu9.js +1 -0
  133. package/dist/assets/order-DQmJSByk.js +1 -0
  134. package/dist/assets/order-DdMK7tK_.js +1 -0
  135. package/dist/assets/order-DqKzccXP.js +1 -0
  136. package/dist/assets/order-DxbjGnCv.js +1 -0
  137. package/dist/assets/order-sPPLdLb3.js +1 -0
  138. package/dist/assets/order-yEiwj_v2.js +1 -0
  139. package/dist/assets/{price-DsQ2XKBW.js → price-7kPhVK1M.js} +1 -1
  140. package/dist/assets/usage-03lq5UJ3.js +1 -0
  141. package/dist/assets/usage-B11bMhMu.js +1 -0
  142. package/dist/assets/usage-BKq6wop8.js +1 -0
  143. package/dist/assets/usage-Bmfw2Wfu.js +1 -0
  144. package/dist/assets/usage-Bzj3lxYU.js +1 -0
  145. package/dist/assets/usage-CHOeMSGZ.js +1 -0
  146. package/dist/assets/usage-CXILxQmB.js +1 -0
  147. package/dist/assets/usage-Cs8IIsUQ.js +1 -0
  148. package/dist/assets/usage-CuISlf-m.js +1 -0
  149. package/dist/assets/usage-D-hJR3BT.js +1 -0
  150. package/dist/assets/usage-D1OnFGRV.js +1 -0
  151. package/dist/assets/usage-D28S0Rr_.js +1 -0
  152. package/dist/assets/usage-DGU-d7c5.js +1 -0
  153. package/dist/assets/usage-DT49JIvm.js +1 -0
  154. package/dist/assets/usage-DyZHxchW.js +1 -0
  155. package/dist/assets/usage-Nsqhxc9s.js +1 -0
  156. package/dist/assets/usage-jdUmayn9.js +1 -0
  157. package/dist/assets/usage-oJCiUJ8P.js +1 -0
  158. package/dist/assets/{vendor-BG5lCpoe.js → vendor-BVnhgPs4.js} +10 -10
  159. package/dist/assets/{vendor-chart-DlegxWjs.js → vendor-chart-BdX85Ip7.js} +1 -1
  160. package/dist/assets/{vendor-dayjs-BRrJyY8K.js → vendor-dayjs-C40ROiFS.js} +1 -1
  161. package/dist/assets/{vendor-element-plus-7rF3khck.js → vendor-element-plus-BUOzLm6W.js} +1 -1
  162. package/dist/assets/{vendor-highlight-xfJzRjy2.js → vendor-highlight-6BASrUTN.js} +1 -1
  163. package/dist/index.html +110 -11
  164. package/package.json +1 -1
  165. package/dist/assets/Extra-D3ij_ylf.js +0 -1
  166. package/dist/assets/List-CBmU0M9l.js +0 -1
  167. package/dist/assets/List-CmRxS8VC.js +0 -1
  168. package/dist/assets/List-JGRPVsQo.css +0 -1
  169. package/dist/assets/Main-DFmVXhIL.js +0 -1
  170. package/dist/assets/Status-61u7CQ2x.css +0 -1
  171. package/dist/assets/Status-e-4FVvMB.js +0 -1
  172. package/dist/assets/Subscribe-P6oarsUJ.js +0 -1
  173. package/dist/assets/application--jxRGPwL.js +0 -1
  174. package/dist/assets/application-63ZiZRBB.js +0 -1
  175. package/dist/assets/application-B7A9D2Ax.js +0 -1
  176. package/dist/assets/application-BGGNys47.js +0 -1
  177. package/dist/assets/application-BLbSQe1x.js +0 -1
  178. package/dist/assets/application-BWqsz75E.js +0 -1
  179. package/dist/assets/application-Bcyo2WXC.js +0 -1
  180. package/dist/assets/application-BdF5iGG1.js +0 -1
  181. package/dist/assets/application-BhrWZHF4.js +0 -1
  182. package/dist/assets/application-C1Y9RY2-.js +0 -1
  183. package/dist/assets/application-C8B9SWDS.js +0 -1
  184. package/dist/assets/application-C8VAI6jj.js +0 -1
  185. package/dist/assets/application-CgCvwGUU.js +0 -1
  186. package/dist/assets/application-D6bGTmT3.js +0 -1
  187. package/dist/assets/application-DJ4ufpSX.js +0 -1
  188. package/dist/assets/application-DR2dsacC.js +0 -1
  189. package/dist/assets/application-DVJ0RjBC.js +0 -1
  190. package/dist/assets/application-Xl_V7Vvw.js +0 -1
  191. package/dist/assets/coin-BEmGht_E.js +0 -1
  192. package/dist/assets/coin-BTZicwhr.js +0 -1
  193. package/dist/assets/coin-BY1f2AGt.js +0 -1
  194. package/dist/assets/coin-BfOIeDbl.js +0 -1
  195. package/dist/assets/coin-BpqbFO16.js +0 -1
  196. package/dist/assets/coin-BsuV_YeV.js +0 -1
  197. package/dist/assets/coin-C0soSeyR.js +0 -1
  198. package/dist/assets/coin-C1vThE7K.js +0 -1
  199. package/dist/assets/coin-CIHIAMWv.js +0 -1
  200. package/dist/assets/coin-COhdbXyd.js +0 -1
  201. package/dist/assets/coin-Cbnm3Xy-.js +0 -1
  202. package/dist/assets/coin-CuoluQSV.js +0 -1
  203. package/dist/assets/coin-DCvKQ0Nc.js +0 -1
  204. package/dist/assets/coin-DESNZPRB.js +0 -1
  205. package/dist/assets/coin-F--7ubaN.js +0 -1
  206. package/dist/assets/coin-ashRjWk0.js +0 -1
  207. package/dist/assets/coin-jcPx8ZMO.js +0 -1
  208. package/dist/assets/common-6FZ_tYpg.js +0 -1
  209. package/dist/assets/common-B3cVuyFv.js +0 -1
  210. package/dist/assets/common-BAxUV6og.js +0 -1
  211. package/dist/assets/common-BHnqpgOQ.js +0 -1
  212. package/dist/assets/common-BUld6hJq.js +0 -1
  213. package/dist/assets/common-CpryBlSq.js +0 -1
  214. package/dist/assets/common-D3mNlW6b.js +0 -1
  215. package/dist/assets/common-D4Zudk-z.js +0 -1
  216. package/dist/assets/common-DQXIhRdJ.js +0 -1
  217. package/dist/assets/common-DUw9A690.js +0 -1
  218. package/dist/assets/common-DbQuScSb.js +0 -1
  219. package/dist/assets/common-DetSPGk0.js +0 -1
  220. package/dist/assets/common-Dx88pxYN.js +0 -1
  221. package/dist/assets/common-Fo438SS-.js +0 -1
  222. package/dist/assets/common-PAx8Dvpp.js +0 -1
  223. package/dist/assets/common-x75KDjU8.js +0 -1
  224. package/dist/assets/common-xme8KErb.js +0 -1
  225. package/dist/assets/common-ymT_ZIQ8.js +0 -1
  226. package/dist/assets/console-95XEcGOc.js +0 -1
  227. package/dist/assets/console-Ac28oQWd.js +0 -1
  228. package/dist/assets/console-BFILeQRi.js +0 -1
  229. package/dist/assets/console-BQ8StUHq.js +0 -1
  230. package/dist/assets/console-B_2GqCeq.js +0 -1
  231. package/dist/assets/console-BjsFThUG.js +0 -1
  232. package/dist/assets/console-BoXqkLTB.js +0 -1
  233. package/dist/assets/console-ByMS0Q8v.js +0 -1
  234. package/dist/assets/console-C1KVS7Xx.js +0 -1
  235. package/dist/assets/console-C9UrVX_Y.js +0 -1
  236. package/dist/assets/console-CFvURZbu.js +0 -1
  237. package/dist/assets/console-CQbV4qXo.js +0 -1
  238. package/dist/assets/console-Ck3VbmRo.js +0 -1
  239. package/dist/assets/console-CpYR4Dzu.js +0 -1
  240. package/dist/assets/console-D7I3jGvJ.js +0 -1
  241. package/dist/assets/console-DDvFCAU_.js +0 -1
  242. package/dist/assets/console-Nww9cLdQ.js +0 -1
  243. package/dist/assets/console-mBmajUaf.js +0 -1
  244. package/dist/assets/index-BWdK6S1P.js +0 -3
  245. package/dist/assets/index-C42HKz1r.css +0 -1
  246. package/dist/assets/order-5Q2NSU5A.js +0 -1
  247. package/dist/assets/order-7sVfWX_m.js +0 -1
  248. package/dist/assets/order-BspD8oHa.js +0 -1
  249. package/dist/assets/order-CGebGmiZ.js +0 -1
  250. package/dist/assets/order-Cg6Z4GIW.js +0 -1
  251. package/dist/assets/order-ChIfVdAa.js +0 -1
  252. package/dist/assets/order-CmN2xY-p.js +0 -1
  253. package/dist/assets/order-D1keYPzu.js +0 -1
  254. package/dist/assets/order-DAOBmqsZ.js +0 -1
  255. package/dist/assets/order-DF-Nyswd.js +0 -1
  256. package/dist/assets/order-DNG0G59-.js +0 -1
  257. package/dist/assets/order-DVTAHRL7.js +0 -1
  258. package/dist/assets/order-DlAFUU9_.js +0 -1
  259. package/dist/assets/order-DszuiA3J.js +0 -1
  260. package/dist/assets/order-P2ML4NX3.js +0 -1
  261. package/dist/assets/order-eMd8F_I4.js +0 -1
  262. package/dist/assets/order-ip3zUjH0.js +0 -1
  263. package/dist/assets/order-lRxQRPUo.js +0 -1
  264. package/dist/assets/usage-BEYQuDdt.js +0 -1
  265. package/dist/assets/usage-Bc1XOPF0.js +0 -1
  266. package/dist/assets/usage-BgEAkK9i.js +0 -1
  267. package/dist/assets/usage-Bn7KY8lM.js +0 -1
  268. package/dist/assets/usage-Bsq1Hk5A.js +0 -1
  269. package/dist/assets/usage-C35-QblK.js +0 -1
  270. package/dist/assets/usage-C41JZQ8E.js +0 -1
  271. package/dist/assets/usage-CBK2Oe1h.js +0 -1
  272. package/dist/assets/usage-CFUYH65J.js +0 -1
  273. package/dist/assets/usage-Caq4CTU6.js +0 -1
  274. package/dist/assets/usage-CaqYASGL.js +0 -1
  275. package/dist/assets/usage-Ceev41EX.js +0 -1
  276. package/dist/assets/usage-D2XEeyQ_.js +0 -1
  277. package/dist/assets/usage-DiPV0e2o.js +0 -1
  278. package/dist/assets/usage-MdFcPMEh.js +0 -1
  279. package/dist/assets/usage-crXxi3jO.js +0 -1
  280. package/dist/assets/usage-p7rPGs92.js +0 -1
  281. package/dist/assets/usage-t6jUbAuV.js +0 -1
@@ -1 +1 @@
1
- import{c as s,d as c}from"./vendor-element-plus-7rF3khck.js";import{d as i,R as m,S as t,l as e,al as o,o as p}from"./vendor-vue-Bb02XvLT.js";import{_}from"./index-BWdK6S1P.js";import"./vendor-dayjs-BRrJyY8K.js";import"./vendor-BG5lCpoe.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";const l=i({name:"LayoutAuth",components:{ElContainer:c,ElMain:s}});function u(f,d,h,v,x,C){const n=o("router-view"),r=o("el-main"),a=o("el-container");return p(),m(a,null,{default:t(()=>[e(r,{class:"h-[100vh]"},{default:t(()=>[e(n)]),_:1})]),_:1})}const M=_(l,[["render",u]]);export{M as default};
1
+ import{c as s,d as c}from"./vendor-element-plus-BUOzLm6W.js";import{d as i,R as m,S as t,l as e,al as o,o as p}from"./vendor-vue-Bb02XvLT.js";import{_}from"./index-Dn72Szn0.js";import"./vendor-dayjs-C40ROiFS.js";import"./vendor-BVnhgPs4.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";const l=i({name:"LayoutAuth",components:{ElContainer:c,ElMain:s}});function u(f,d,h,v,x,C){const n=o("router-view"),r=o("el-main"),a=o("el-container");return p(),m(a,null,{default:t(()=>[e(r,{class:"h-[100vh]"},{default:t(()=>[e(n)]),_:1})]),_:1})}const M=_(l,[["render",u]]);export{M as default};
@@ -1 +1 @@
1
- import{T as c,G as p}from"./vendor-element-plus-7rF3khck.js";import{d as r,c as m,ai as i,F as _,al as s,o as d,a as o,l as e,S as n}from"./vendor-vue-Bb02XvLT.js";import{_ as x}from"./index-BWdK6S1P.js";const f=r({name:"BotPlaceholder",components:{ElSkeleton:p,ElSkeletonItem:c}}),k={class:"w-[70px] p-[10px]"},h={class:"flex-1 p-[10px]"};function u(v,w,B,b,$,C){const t=s("el-skeleton-item"),a=s("el-skeleton");return d(),m(_,null,i(3,l=>o("div",{key:l,class:"flex mb-[10px]"},[o("div",k,[e(a,{animated:""},{template:n(()=>[e(t,{variant:"image",class:"w-[50px] h-[50px] rounded-full"})]),_:1})]),o("div",h,[e(a,{animated:""},{template:n(()=>[e(t,{variant:"p",class:"w-[200px] h-[20px] mb-[15px] block"}),e(t,{variant:"p",class:"w-full h-[200px] max-w-[300px] block"})]),_:1})])])),64)}const F=x(f,[["render",u]]);export{F as B};
1
+ import{T as c,G as p}from"./vendor-element-plus-BUOzLm6W.js";import{d as r,c as m,ai as i,F as _,al as s,o as d,a as o,l as e,S as n}from"./vendor-vue-Bb02XvLT.js";import{_ as x}from"./index-Dn72Szn0.js";const f=r({name:"BotPlaceholder",components:{ElSkeleton:p,ElSkeletonItem:c}}),k={class:"w-[70px] p-[10px]"},h={class:"flex-1 p-[10px]"};function u(v,w,B,b,$,C){const t=s("el-skeleton-item"),a=s("el-skeleton");return d(),m(_,null,i(3,l=>o("div",{key:l,class:"flex mb-[10px]"},[o("div",k,[e(a,{animated:""},{template:n(()=>[e(t,{variant:"image",class:"w-[50px] h-[50px] rounded-full"})]),_:1})]),o("div",h,[e(a,{animated:""},{template:n(()=>[e(t,{variant:"p",class:"w-[200px] h-[20px] mb-[15px] block"}),e(t,{variant:"p",class:"w-full h-[200px] max-w-[300px] block"})]),_:1})])])),64)}const F=x(f,[["render",u]]);export{F as B};
@@ -1 +1 @@
1
- import{d as t}from"./vendor-vue-Bb02XvLT.js";import{_ as r}from"./index-BWdK6S1P.js";import"./vendor-BG5lCpoe.js";import"./vendor-dayjs-BRrJyY8K.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-element-plus-7rF3khck.js";const e=t({name:"AuthCallback",data(){return{redirect:this.$route.query.redirect?.toString()}},async mounted(){this.redirect?await this.$router.push(this.redirect):await this.$router.push("/")}}),n=r(e,[["__scopeId","data-v-0779b8a8"]]);export{n as default};
1
+ import{d as t}from"./vendor-vue-Bb02XvLT.js";import{_ as r}from"./index-Dn72Szn0.js";import"./vendor-BVnhgPs4.js";import"./vendor-dayjs-C40ROiFS.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-element-plus-BUOzLm6W.js";const e=t({name:"AuthCallback",data(){return{redirect:this.$route.query.redirect?.toString()}},async mounted(){this.redirect?await this.$router.push(this.redirect):await this.$router.push("/")}}),n=r(e,[["__scopeId","data-v-0779b8a8"]]);export{n as default};
@@ -1 +1 @@
1
- import{N as h}from"./Navigator-BfaRng3e.js";import{R as $,a as v,b as w,c as O,i as g,_ as m}from"./index-BWdK6S1P.js";import{bF as L}from"./vendor-BG5lCpoe.js";import{d,c as a,a as s,F as N,ai as C,al as i,o as t,V as E,l as r,Z as b,R as k,W as I}from"./vendor-vue-Bb02XvLT.js";import"./vendor-element-plus-7rF3khck.js";import"./vendor-dayjs-BRrJyY8K.js";import"./EditArray-BO1VlAtC.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-katex-DHBGsivc.js";const S=d({name:"Navigator",components:{FontAwesomeIcon:L},computed:{isOfficial(){return g()},active(){return this.$route.matched[0].path},user(){return this.$store.getters.user},links(){return[{key:"application-list",text:this.$t("console.menu.applicationList"),name:v,icon:"fa-solid fa-cube"},{key:"order-list",text:this.$t("console.menu.orderList"),name:w,icon:"fa-solid fa-store"},{key:"usage-list",text:this.$t("console.menu.usageList"),name:O,icon:"fa-solid fa-rotate-left"}]}},mounted(){},methods:{onHome(){this.$router.push({name:$})},onNavigate(e){e.name?this.$router.push({name:e.name}):e.href&&window.open(e.href,"_blank")}}}),x={class:"side"},R={class:"links"},T=["onClick"],y={class:"icon"},U={class:"text"},A={class:"outer"};function B(e,c,_,p,u,f){const n=i("font-awesome-icon");return t(),a("div",x,[s("div",R,[(t(!0),a(N,null,C(e.links,(o,l)=>(t(),a("a",{key:l,class:E({link:!0,active:e.$route.name===o.name}),onClick:z=>e.onNavigate(o)},[s("span",y,[r(n,{icon:o.icon,class:"text-sm"},null,8,["icon"])]),s("span",U,b(o.text),1),s("span",A,[!o.name&&o.href?(t(),k(n,{key:0,icon:"fa-solid fa-up-right-from-square",class:"text-sm ml-2"})):I("",!0)]),c[0]||(c[0]=s("span",{class:"suffix"},null,-1))],10,T))),128))])])}const F=m(S,[["render",B],["__scopeId","data-v-fe27dc30"]]),V=d({name:"LayoutConsole",components:{SidePanel:F,Navigator:h},data(){return{mobile:window.innerWidth<768}},mounted(){window.addEventListener("resize",()=>{this.mobile=window.innerWidth<768})}}),D={class:"console"},P={class:"main"};function W(e,c,_,p,u,f){const n=i("side-panel"),o=i("router-view"),l=i("navigator");return t(),a("div",D,[s("div",P,[r(n,{class:"side"}),r(o,{class:"panel"})]),r(l,{class:"navigator",direction:e.mobile?"row":"column"},null,8,["direction"])])}const Y=m(V,[["render",W],["__scopeId","data-v-b192cbb4"]]);export{Y as default};
1
+ import{N as h}from"./Navigator-CGT5cZ47.js";import{R as $,a as v,b as w,c as O,i as g,_ as m}from"./index-Dn72Szn0.js";import{bG as L}from"./vendor-BVnhgPs4.js";import{d,c as a,a as s,F as N,ai as C,al as i,o as t,V as E,l as r,Z as b,R as k,W as I}from"./vendor-vue-Bb02XvLT.js";import"./vendor-element-plus-BUOzLm6W.js";import"./vendor-dayjs-C40ROiFS.js";import"./EditArray-KYrcEW6W.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-katex-DHBGsivc.js";const S=d({name:"Navigator",components:{FontAwesomeIcon:L},computed:{isOfficial(){return g()},active(){return this.$route.matched[0].path},user(){return this.$store.getters.user},links(){return[{key:"application-list",text:this.$t("console.menu.applicationList"),name:v,icon:"fa-solid fa-cube"},{key:"order-list",text:this.$t("console.menu.orderList"),name:w,icon:"fa-solid fa-store"},{key:"usage-list",text:this.$t("console.menu.usageList"),name:O,icon:"fa-solid fa-rotate-left"}]}},mounted(){},methods:{onHome(){this.$router.push({name:$})},onNavigate(e){e.name?this.$router.push({name:e.name}):e.href&&window.open(e.href,"_blank")}}}),x={class:"side"},R={class:"links"},T=["onClick"],y={class:"icon"},U={class:"text"},A={class:"outer"};function B(e,c,_,p,u,f){const n=i("font-awesome-icon");return t(),a("div",x,[s("div",R,[(t(!0),a(N,null,C(e.links,(o,l)=>(t(),a("a",{key:l,class:E({link:!0,active:e.$route.name===o.name}),onClick:z=>e.onNavigate(o)},[s("span",y,[r(n,{icon:o.icon,class:"text-sm"},null,8,["icon"])]),s("span",U,b(o.text),1),s("span",A,[!o.name&&o.href?(t(),k(n,{key:0,icon:"fa-solid fa-up-right-from-square",class:"text-sm ml-2"})):I("",!0)]),c[0]||(c[0]=s("span",{class:"suffix"},null,-1))],10,T))),128))])])}const V=m(S,[["render",B],["__scopeId","data-v-fe27dc30"]]),D=d({name:"LayoutConsole",components:{SidePanel:V,Navigator:h},data(){return{mobile:window.innerWidth<768}},mounted(){window.addEventListener("resize",()=>{this.mobile=window.innerWidth<768})}}),F={class:"console"},P={class:"main"};function W(e,c,_,p,u,f){const n=i("side-panel"),o=i("router-view"),l=i("navigator");return t(),a("div",F,[s("div",P,[r(n,{class:"side"}),r(o,{class:"panel"})]),r(l,{class:"navigator",direction:e.mobile?"row":"column"},null,8,["direction"])])}const Y=m(D,[["render",W],["__scopeId","data-v-b192cbb4"]]);export{Y as default};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-highlight-xfJzRjy2.js","assets/vendor-BG5lCpoe.js","assets/vendor-vue-Bb02XvLT.js","assets/vendor-dayjs-BRrJyY8K.js","assets/vendor-katex-DHBGsivc.js","assets/vendor-katex-CIur2ABi.css","assets/vendor-Cp-P0JlL.css","assets/vendor-highlight-t6bI8mSi.css"])))=>i.map(i=>d[i]);
2
- import{a as le}from"./vendor-axios-NIGUFBhG.js";import{d as k,c as u,o as s,b as de,h as ce,U as A,R as m,al as c,as as X,S as y,l as p,a as f,W as _,Z as b,F as O,ai as M,aj as P,a1 as I,Y as L,V as R,_ as ue,at as pe,a2 as he,P as j}from"./vendor-vue-Bb02XvLT.js";import{a4 as z,_ as E,Z as me,a5 as q,a6 as W,a7 as x,a8 as ee,a9 as T,aa as ge,ab as fe,ac as _e,ad as ye,ae as $e,af as ve,ag as S,ah as te,S as we,ai as N,aj as K,ak as Y,al as J,am as Q,an as G,a3 as V,ao as Ce,ap as U,aq as be,ar as ke}from"./index-BWdK6S1P.js";import{a5 as Ee,bL as se,bO as Se,bP as Re,bF as D}from"./vendor-BG5lCpoe.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-highlight-xfJzRjy2.js";import{C as qe}from"./CopyToClipboard-Ab4hHs26.js";import{n as F,p as oe,i as Ie,o as B,B as De,q as Ge,r as Z,f as Ae,g as Oe,h as Me,G as Te,N as Le}from"./vendor-element-plus-7rF3khck.js";import{F as ne}from"./FilePreview-DzYn5dam.js";import{I as Ne}from"./ImagePreview-hdi2mrdI.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-dayjs-BRrJyY8K.js";const Ue=async e=>{const t=(await Ee(async()=>{const{default:d}=await import("./vendor-highlight-xfJzRjy2.js");return{default:d}},__vite__mapDeps([0,1,2,3,4,5,6,7]))).default;e.querySelectorAll("pre code").forEach(d=>{const r=d.parentElement;if(!r)return;if(r.dataset.hasCopy==="1"){"highlightElement"in t?t.highlightElement(d):t.highlightBlock(d);return}const i=document.createElement("div");i.className="relative",r.parentNode.insertBefore(i,r),i.appendChild(r),r.classList.add("overflow-auto");const a=document.createElement("button");a.type="button",a.dataset.copyBtn="1",a.className="absolute top-1 right-1 z-10 rounded-md px-2 py-1 text-xs bg-zinc-800 text-white hover:bg-zinc-700 active:scale-95",a.textContent=z.global.t("common.button.copy").toString(),a.addEventListener("click",()=>{se(d.innerText);const n=a.textContent;a.textContent=z.global.t("common.button.copied")?.toString(),setTimeout(()=>a.textContent=n,5e3)}),i.appendChild(a),r.dataset.hasCopy="1","highlightElement"in t?t.highlightElement(d):t.highlightBlock(d)})},Ve=k({name:"AnsweringMark",data(){return{}},computed:{conversationId(){return this.$route.params?.id?.toString()}}}),Pe={class:"mark"};function Fe(e,t,o,d,r,i){return s(),u("div",Pe)}const Be=E(Ve,[["render",Fe]]),He=k({name:"VueMarkdown",props:{source:{type:String,required:!0},options:{type:Object,default:()=>({}),required:!1}},setup(e,{attrs:t}){const o=new Se({...e.options,html:!0}).use(Re,{delimiters:"all",throwOnError:!1,errorColor:"#cc0000",mathFence:!0}),d=de(()=>{const r=e.source;return o?.render(r).replace(/<think>/g,'<div class="think">').replace(/<\/think>/g,"</div>")});return()=>ce("div",{...t,innerHTML:d.value})}}),je=k({name:"MarkdownRenderer",directives:{highlight:Ue},components:{VueMarkdown:He},props:{content:{type:String,required:!1,default:""}}});function ze(e,t,o,d,r,i){const a=c("vue-markdown"),n=X("highlight");return A((s(),m(a,{source:e.content,class:"markdown-body bg-transparent pt-[3px] text-[inherit]"},null,8,["source"])),[[n]])}const We=E(je,[["render",ze],["__scopeId","data-v-de1f7a52"]]),Ke=k({name:"CopyToClipboard",components:{FontAwesomeIcon:D,ElTooltip:F},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:["restart"],data(){return{copied:!1}},methods:{onRestart(){this.$emit("restart")}}});function Ye(e,t,o,d,r,i){const a=c("font-awesome-icon"),n=c("el-tooltip");return s(),m(n,{effect:"dark",content:e.$t("common.button.restart"),placement:"bottom"},{default:y(()=>[p(a,{icon:"fa-solid fa-sync",class:"icon-sync",onClick:e.onRestart},null,8,["onClick"])]),_:1},8,["content"])}const Je=E(Ke,[["render",Ye],["__scopeId","data-v-90e169cb"]]),Qe=k({name:"EditMessage",components:{FontAwesomeIcon:D,ElTooltip:F},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:["click"],data(){return{copied:!1}},methods:{onEdit(){this.$emit("click")}}});function Ze(e,t,o,d,r,i){const a=c("font-awesome-icon"),n=c("el-tooltip");return s(),u("span",null,[p(n,{effect:"dark",content:e.$t("common.button.restart"),placement:"bottom"},{default:y(()=>[p(a,{icon:"fa-solid fa-edit",class:"icon icon-edit",onClick:e.onEdit},null,8,["onClick"])]),_:1},8,["content"])])}const Xe=E(Qe,[["render",Ze],["__scopeId","data-v-8e947e8f"]]),xe=k({name:"Message",components:{EditMessage:Xe,CopyToClipboard:qe,RestartToGenerate:Je,AnsweringMark:Be,MarkdownRenderer:We,ElAlert:De,FilePreview:ne,ElButton:B,ElImage:Ie,ElInput:oe},props:{messages:{type:Array,required:!1,default:()=>[]},message:{type:Object,required:!0},application:{type:Object,required:!0}},emits:["stop","edit","restart"],data(){return{copied:!1,isEditing:!1,questionValue:this.message.content,messageState:S}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},errorText(){if(console.debug("error",this.message.error),!(!this.message.error||!this.message.error?.code)){if(this.message.error?.message)return this.message.error.message;switch(this.message.error?.code){case W:return this.$t("chat.message.errorUsedUp");case ve:return this.$t("chat.message.errorApiError");case $e:return this.$t("chat.message.errorBadRequest");case ye:return this.$t("chat.message.errorTimeout");case _e:return this.$t("chat.message.errorBusy");case fe:return this.$t("chat.message.errorContentTooLarge");case ge:return this.$t("chat.message.errorTooManyRequests");case T:return this.$t("chat.message.errorNotApplied");case ee:return;case x:default:return this.$t("chat.message.errorUnknown")}}},showBuyMore(){return this.message.role===q&&this.message.error?.code===W}},watch:{},methods:{startEditing(){this.isEditing=!0,this.questionValue=this.message.content,console.debug("start to get answer",this.message)},cancelEdit(){this.isEditing=!1},onRestart(){this.$emit("restart",this.message)},onEdit(){this.isEditing=!1,this.onSubmit()},onSubmit(){this.$emit("edit",this.message,this.questionValue)},onCopy(){se(this.message.content.toString(),{debug:!0}),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)},onBuyMore(){this.$router.push({name:me,params:{id:this.application?.id}})}}}),et=["role"],tt={class:"author"},st={key:0,class:"main"},ot={initial:{opacity:0,y:5},enter:{opacity:1,y:0,scale:1},delay:300,duration:400,layout:!0,transition:{enter:{delay:.3,duration:.5},layout:{duration:.4,easing:"ease-in-out"}},class:"content"},nt={key:0,class:"message-content"},at={key:0},it={key:1,class:"whitespace-pre-wrap break-words w-fit max-w-full py-1"},rt={key:1},lt=["src"],dt={key:2},ct={key:1,class:"whitespace-pre-wrap break-words w-fit max-w-full py-1"},ut={key:1,class:"edits"},pt={class:"flex justify-end"},ht={initial:{opacity:0,y:5},enter:{opacity:1,y:0,scale:1},delay:300,duration:400,layout:!0,transition:{enter:{delay:.3,duration:.5},layout:{duration:.4,easing:"ease-in-out"}},class:"operations"};function mt(e,t,o,d,r,i){const a=c("el-image"),n=c("markdown-renderer"),$=c("file-preview"),v=c("el-input"),g=c("el-button"),l=c("answering-mark"),h=c("edit-message"),w=c("copy-to-clipboard"),ae=c("restart-to-generate"),ie=c("el-alert"),H=X("motion");return s(),u("div",{class:R({message:!0,[e.message.role]:!0}),role:e.message.role},[f("div",tt,[e.message.role==="assistant"?(s(),m(a,{key:0,src:e.modelGroup?.icon,fit:"cover",class:"avatar"},null,8,["src"])):_("",!0)]),e.errorText?(s(),m(ie,{key:1,class:"error",title:e.errorText,type:"error",closable:!1},null,8,["title"])):(s(),u("div",st,[A((s(),u("div",ot,[e.isEditing?(s(),u("div",ut,[p(v,{modelValue:e.questionValue,"onUpdate:modelValue":t[0]||(t[0]=C=>e.questionValue=C),type:"textarea",class:"mb-2",onKeydown:P(I(e.onEdit,["exact","prevent"]),["enter"])},null,8,["modelValue","onKeydown"]),f("div",pt,[p(g,{round:"",onClick:e.cancelEdit},{default:y(()=>[L(b(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),p(g,{type:"primary",class:"btn-confirm",round:"",onClick:e.onEdit},{default:y(()=>[L(b(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])])):(s(),u("div",nt,[Array.isArray(e.message.content)?(s(),u("div",rt,[(s(!0),u(O,null,M(e.message.content,(C,re)=>(s(),u("div",{key:re},[C.type==="image_url"?(s(),u("img",{key:0,src:typeof C?.image_url=="string"?C.image_url:C.image_url?.url,fit:"cover",class:"image"},null,8,lt)):_("",!0),C.file_url?(s(),m($,{key:1,name:typeof C?.file_url=="string"?C.file_url:C.file_url?.url,percentage:0,closable:!1,class:"mt-2"},null,8,["name"])):_("",!0),C.type==="text"?(s(),u("div",dt,[e.message.role==="assistant"?(s(),m(n,{key:0,content:C.text},null,8,["content"])):(s(),u("pre",ct,b(C.text?.trim()),1))])):_("",!0)]))),128))])):(s(),u("div",at,[e.message.role==="assistant"?(s(),m(n,{key:0,content:e.message?.content},null,8,["content"])):(s(),u("pre",it,b(e.message.content),1))]))])),e.message.state===e.messageState.PENDING?(s(),m(l,{key:2})):_("",!0)])),[[H]]),A((s(),u("div",ht,[e.message.role==="user"&&!e.isEditing&&!Array.isArray(e.message.content)?(s(),m(h,{key:0,class:"btn-edit",onClick:e.startEditing},null,8,["onClick"])):_("",!0),!Array.isArray(e.message.content)&&(e.message.state===e.messageState.FINISHED||e.message.state===e.messageState.FAILED)?(s(),m(w,{key:1,content:e.message.content,class:"btn-copy"},null,8,["content"])):_("",!0),!Array.isArray(e.message.content)&&(e.message.state===e.messageState.FINISHED||e.message.state===e.messageState.FAILED)&&e.message.role==="assistant"&&e.message===e.messages[e.messages.length-1]?(s(),m(ae,{key:2,class:"btn-restart",messages:e.messages,onRestart:e.onRestart},null,8,["messages","onRestart"])):_("",!0)])),[[H]])])),e.showBuyMore?(s(),m(g,{key:2,round:"",type:"primary",class:"btn btn-buy",size:"small",onClick:e.onBuyMore},{default:y(()=>[L(b(e.$t("common.button.buyMore")),1)]),_:1},8,["onClick"])):_("",!0)],10,et)}const gt=E(xe,[["render",mt],["__scopeId","data-v-a2be8b8f"]]),ft=k({name:"Composer",components:{FilePreview:ne,ImagePreview:Ne,ElTooltip:F,FontAwesomeIcon:D,ElUpload:Ge,ElButton:B},props:{answering:{type:Boolean,required:!1,default:!1},references:{type:Array,required:!1,default:()=>[]},question:{type:String,required:!0}},emits:["update:question","update:references","submit","stop"],data(){return{inputHeight:"35px",questionValue:this.question||"",fileList:[],uploadUrl:we()+"/api/v1/files/"}},computed:{model(){return this.$store.state.chat.model},modelGroup(){return this.$store.state.chat.modelGroup},isFileSupported(){return this.model?.isFileSupported},isImageSupported(){return this.model?.isImageSupported},headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},uploading(){return!!this.fileList.find(e=>e.percentage!==void 0&&e.percentage>=0&&e.percentage<100)},extensions(){if(this.isFileSupported===!1&&this.isImageSupported===!0)return".png,.jpg,.jpeg,.gif,.bmp,.webp,.svg,.tiff,.ico,.heic"}},watch:{urls(e){console.debug("File URLs:",e),e.length>0&&this.$emit("update:references",e)},questionValue(e){this.$emit("update:question",e.trim())},question(e){e!==this.questionValue&&(this.questionValue=e)},references(e){console.debug("References updated:",e),e.length===0&&(this.fileList=[])},isFileSupported(e,t){t&&!e&&(this.fileList=[])}},methods:{isImageUrl:te,adjustTextareaHeight(){this.$nextTick(()=>{const e=this.$refs.textarea;e&&(e.style.height="35px",e.style.height=e.scrollHeight+"px")})},onSubmit(){!this.question||this.uploading||this.$emit("submit")},onStop(){this.$emit("stop")},onProgress(e,t){console.debug("File upload progress:",t.name,e.loaded,e.total,t.percentage)},onExceed(){Z.warning(this.$t("chat.message.uploadReferencesExceed"))},onError(){Z.error(this.$t("chat.message.uploadReferencesError"))}}}),_t={class:"composer"},yt={class:"tools"},$t=["disabled","placeholder"];function vt(e,t,o,d,r,i){const a=c("image-preview"),n=c("file-preview"),$=c("font-awesome-icon"),v=c("el-tooltip"),g=c("el-upload"),l=c("el-button");return s(),u("div",_t,[f("div",yt,[p(g,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=h=>e.fileList=h),class:R({upload:!0,disabled:!e.isFileSupported&&!e.isImageSupported||e.answering}),accept:e.extensions,disabled:!e.isFileSupported&&!e.isImageSupported||e.answering,name:"file",limit:10,multiple:!0,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-progress":e.onProgress,headers:e.headers},{file:y(({file:h})=>[e.isImageUrl(h.name)?(s(),m(a,{key:0,url:h.url||h.response?.file_url,name:h.name,percentage:h.percentage,onRemove:w=>e.fileList.splice(e.fileList.indexOf(h),1)},null,8,["url","name","percentage","onRemove"])):(s(),m(n,{key:1,name:h.name,percentage:h.percentage,onRemove:w=>e.fileList.splice(e.fileList.indexOf(h),1)},null,8,["name","percentage","onRemove"]))]),default:y(()=>[p(v,{class:"box-item",effect:"dark",content:e.$t("chat.message.uploadFile"),placement:"bottom"},{default:y(()=>[f("span",{class:R({btn:!0,"btn-upload":!0,disabled:!e.isFileSupported&&!e.isImageSupported||e.answering})},[p($,{icon:"fa-solid fa-plus",class:"icon icon-attachment"})],2)]),_:1},8,["content"])]),_:1},8,["file-list","class","accept","disabled","action","on-exceed","on-error","on-progress","headers"])]),p(l,{disabled:e.answering||!e.questionValue||e.uploading,type:"primary",class:R({btn:!0,"btn-send":!0}),onClick:e.onSubmit},{default:y(()=>[p($,{icon:"fa-solid fa-arrow-up",class:"icon icon-send"})]),_:1},8,["disabled","onClick"]),A(p(l,{disabled:!e.answering,type:"primary",class:R({btn:!0,"btn-stop":!0}),onClick:e.onStop},{default:y(()=>[p($,{icon:"fa-solid fa-stop",class:"icon icon-stop"})]),_:1},8,["disabled","onClick"]),[[ue,e.answering]]),A(f("textarea",{ref:"textarea","onUpdate:modelValue":t[1]||(t[1]=h=>e.questionValue=h),disabled:e.answering,class:"input",placeholder:e.$t("chat.message.newMessagePlaceholder"),style:he({height:e.inputHeight}),onKeydown:t[2]||(t[2]=P(I((...h)=>e.onSubmit&&e.onSubmit(...h),["exact","prevent"]),["enter"])),onInput:t[3]||(t[3]=(...h)=>e.adjustTextareaHeight&&e.adjustTextareaHeight(...h))},null,44,$t),[[pe,e.questionValue]])])}const wt=E(ft,[["render",vt],["__scopeId","data-v-02d367c1"]]),Ct=k({name:"ModelSelector",components:{ElDropdown:Me,ElDropdownMenu:Oe,ElDropdownItem:Ae,FontAwesomeIcon:D},emits:["update:modelValue","select","model-group-changed","model-changed"],data(){return{options:[N,K,Y,J,Q]}},computed:{model(){return console.log("model",this.$store.state.chat.model),this.$store.state.chat.model},modelGroup(){return this.$route.meta?.modelGroup||N}},watch:{modelGroup(e){console.debug("modelGroup from route changed",e),this.$store.dispatch("chat/setModelGroup",e),this.$store.dispatch("chat/setModel",e.models[0])}},mounted(){console.debug("ModelSelector mounted, checking model group");const t=[N,K,Y,J,Q].find(o=>o.name===this.modelGroup.name);console.debug("Found model group:",t),t&&(this.$store.dispatch("chat/setModelGroup",t),this.$store.dispatch("chat/setModel",t.models[0]))},methods:{onModelGroupChange(e){this.$store.dispatch("chat/setModelGroup",e),this.$emit("model-group-changed",e)},onModelChange(e){this.$store.dispatch("chat/setModel",e),this.$emit("model-changed",e)}}}),bt={class:"selector"},kt={class:"flex justify-center"},Et={class:"name"},St={class:"angle"},Rt={class:"item"},qt={class:"info"},It={key:0,class:"name"},Dt={key:1,class:"description"};function Gt(e,t,o,d,r,i){const a=c("font-awesome-icon"),n=c("el-dropdown-item"),$=c("el-dropdown-menu"),v=c("el-dropdown");return s(),u("div",bt,[p(v,{trigger:"click","popper-class":"popper"},{dropdown:y(()=>[e.modelGroup&&e.modelGroup?.models?(s(),m($,{key:0},{default:y(()=>[(s(!0),u(O,null,M(e.modelGroup?.models?.filter(g=>g.enabled),(g,l)=>(s(),m(n,{key:l,onClick:h=>e.onModelChange(g)},{default:y(()=>[f("div",Rt,[f("div",qt,[g?.getDisplayName?(s(),u("p",It,b(g?.getDisplayName()),1)):_("",!0),g?.getDescription?(s(),u("p",Dt,b(g?.getDescription()),1)):_("",!0)])])]),_:2},1032,["onClick"]))),128))]),_:1})):_("",!0)]),default:y(()=>[f("div",kt,[f("span",Et,b(e.model?.getDisplayName()),1),f("span",St,[p(a,{icon:"fa-solid fa-angle-down"})])])]),_:1})])}const At=E(Ct,[["render",Gt],["__scopeId","data-v-6b1200e4"]]),Ot={},Mt={class:"disclaimer"};function Tt(e,t){return s(),u("p",Mt,b(e.$t("chat.message.howToUse")),1)}const Lt=E(Ot,[["render",Tt],["__scopeId","data-v-d2d980ab"]]),Nt=k({name:"SidePanel",components:{ElInput:oe,FontAwesomeIcon:D,ElSkeleton:Te},props:{},emits:["change-conversation"],computed:{modelGroup(){return this.$store.state.chat.modelGroup},conversationId(){return console.debug("conversationId in side",this.$route.params?.id),this.$route.params?.id?.toString()},conversations(){let e=this.$store.state.chat.conversations;return console.debug("conversations",e),console.debug("modelGroup",this.modelGroup),e=e?.filter(t=>t?.model&&this.modelGroup?.models?.map(o=>o.name)?.includes(t?.model)),console.debug("filtered conversations",e),e},conversationGroups(){const e=new Date;e.setHours(0,0,0,0);const t=new Date(e);t.setDate(t.getDate()-1);const o=new Date(e);o.setDate(o.getDate()-e.getDay());const d=new Date(o);d.setDate(d.getDate()-7);const r=this.conversations?.reduce((i,a)=>{const n=new Date(a.updated_at*1e3);return n>=e?i.today.push(a):n>=t?i.yesterday.push(a):n>=o?i.thisWeek.push(a):i.earlier.push(a),i},{today:[],yesterday:[],thisWeek:[],earlier:[]});return{...r?.today?.length>0?{today:r?.today?.sort((i,a)=>a.updated_at-i.updated_at)}:{},...r?.yesterday?.length>0?{yesterday:r?.yesterday?.sort((i,a)=>a.updated_at-i.updated_at)}:{},...r?.thisWeek?.length>0?{thisWeek:r?.thisWeek?.sort((i,a)=>a.updated_at-i.updated_at)}:{},...r?.earlier?.length>0?{earlier:r?.earlier?.sort((i,a)=>a.updated_at-i.updated_at)}:{}}},application(){return this.$store.state.chat.application},loading(){return this.$store.state.chat.status.getConversations===V.Request},token(){return this.$store.state.chat?.credential?.token}},watch:{modelGroup(){console.debug("modelGroup changed, refreshing conversations");const e=this.conversations?.[0];this.$emit("change-conversation",e?.id)}},methods:{async onNewConversation(){console.debug("onNewConversation from side panel"),this.$emit("change-conversation",void 0)},async onConfirm(e){const t=this.token;if(!t){console.error("Token is not found");return}e?.deleting&&e.id?(await G.deleteConversation(e.id,{token:t}),await this.$store.dispatch("chat/getConversations")):e?.editing?(await G.updateConversation(e,{token:t}),await this.$store.dispatch("chat/getConversations")):e.editing=!0},onClickConversation(e){console.debug("onClickConversation in side panel",e),this.$emit("change-conversation",e)}}}),Ut={class:"panel"},Vt={key:1,class:"conversations"},Pt={class:"icons"},Ft={class:"title"},Bt={class:"key"},Ht=["onClick"],jt={class:"title"},zt={key:0},Wt={key:1},Kt={key:2},Yt={class:"operations"};function Jt(e,t,o,d,r,i){const a=c("el-skeleton"),n=c("font-awesome-icon"),$=c("el-input");return s(),u("div",Ut,[e.loading&&e.conversationGroups===void 0?(s(),m(a,{key:0})):(s(),u("div",Vt,[f("div",{class:"conversation",onClick:t[0]||(t[0]=(...v)=>e.onNewConversation&&e.onNewConversation(...v))},[f("div",Pt,[p(n,{icon:"fa-solid fa-plus",class:"icon"})]),f("div",Ft,b(e.$t("chat.message.startNewChat")),1)]),(s(!0),u(O,null,M(e.conversationGroups,(v,g)=>(s(),u("div",{key:g,class:"group"},[f("div",Bt,b(e.$t(`chat.group.${g}`)),1),(s(!0),u(O,null,M(v,(l,h)=>(s(),u("div",{key:h,class:R({conversation:!0,active:l.id===e.conversationId}),onClick:w=>e.onClickConversation(l.id)},[f("div",jt,[l?.deleting?(s(),u("span",zt,b(`${e.$t("chat.message.confirmDelete")}?`),1)):l?.editing?(s(),u("span",Wt,[p($,{modelValue:l.title,"onUpdate:modelValue":w=>l.title=w,onKeydown:P(w=>e.onConfirm(l),["enter"])},null,8,["modelValue","onUpdate:modelValue","onKeydown"])])):l?.title||l?.messages?(s(),u("span",Kt,b(l?.title||l?.messages?.[l?.messages.length-1]?.content||l?.messages?.[0]?.content),1)):_("",!0)]),f("div",Yt,[!l?.editing&&!l.deleting?(s(),m(n,{key:0,icon:"fa-solid fa-edit",class:"icon icon-edit",onClick:I(w=>l.editing=!0,["stop"])},null,8,["onClick"])):_("",!0),!l?.editing&&!l.deleting?(s(),m(n,{key:1,icon:"fa-solid fa-trash",class:"icon icon-delete",onClick:I(w=>l.deleting=!0,["stop"])},null,8,["onClick"])):_("",!0),l?.editing||l.deleting?(s(),m(n,{key:2,icon:"fa-solid fa-check",class:"icon icon-confirm",onClick:I(w=>e.onConfirm(l),["stop"])},null,8,["onClick"])):_("",!0),l?.editing||l.deleting?(s(),m(n,{key:3,icon:"fa-solid fa-xmark",class:"icon icon-cancel",onClick:I(w=>{l.editing=!1,l.deleting=!1},["stop"])},null,8,["onClick"])):_("",!0)])],10,Ht))),128))]))),128))]))])}const Qt=E(Nt,[["render",Jt],["__scopeId","data-v-c54ecd1a"]]),Zt=k({name:"LayoutChat",components:{SidePanel:Qt,ElDrawer:Le,ElButton:B,FontAwesomeIcon:D},emits:["change-conversation"],data(){return{drawer:!1}},methods:{onChangeConversation(e){console.debug("onChangeConversation in layout",e),this.$emit("change-conversation",e)}}}),Xt={class:"main flex flex-row flex-1"},xt={class:"side w-[250px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},es={class:"chat h-full w-[calc(100%-250px)] pt-[45px] flex-1 flex flex-col relative"};function ts(e,t,o,d,r,i){const a=c("side-panel"),n=c("font-awesome-icon"),$=c("el-button"),v=c("el-drawer");return s(),u("div",Xt,[f("div",xt,[j(e.$slots,"side",{},()=>[p(a,{onChangeConversation:e.onChangeConversation},null,8,["onChangeConversation"])],!0)]),f("div",es,[j(e.$slots,"chat",{},void 0,!0)]),p($,{round:"",class:"menu",onClick:t[0]||(t[0]=g=>e.drawer=!0)},{default:y(()=>[p(n,{icon:"fa-solid fa-bars"})]),_:1}),p(v,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"290px"},{default:y(()=>[p(a,{onChangeConversation:e.onChangeConversation},null,8,["onChangeConversation"])]),_:1},8,["modelValue"])])}const ss=E(Zt,[["render",ts],["__scopeId","data-v-38ff8add"]]),os=k({name:"ChatConversation",components:{Composer:wt,Disclaimer:Lt,ModelSelector:At,Message:gt,Layout:ss},data(){return{drawer:!1,question:"",references:[],upload:!1,answering:!1,canceler:void 0,messages:this.$store.state.chat.conversations?.find(e=>e.id===this.$route.params.id?.toString())?.messages||[]}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},model(){return this.$store.state.chat.model},conversationId(){return this.$route.params.id?.toString()},conversation(){return this.$store.state.chat.conversations?.find(e=>e.id===this.conversationId)},service(){return this.$store.state.chat.service},application(){return this.$store.state.chat.application},applications(){return this.$store.state.chat.applications},credential(){return this.$store.state.chat?.credential},needApply(){return this.$store.state.chat.status.getApplications===V.Success&&!this.application},conversations(){return this.$store.state.chat.conversations},initializing(){return this.$store.state.chat.status.getApplications===V.Request}},watch:{async references(e){console.log("references changed",e)},async modelGroup(e){console.debug("modelGroup changed",e)},async conversationId(e){console.debug("conversationId changed",e)}},async mounted(){await this.onGetService(),await this.onGetApplication(),await this.onGetConversations()},methods:{async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("chat/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("chat/getApplications"),console.debug("end onGetApplication")},async onGetConversations(){console.debug("start onGetConversations"),await this.$store.dispatch("chat/getConversations"),console.debug("end onGetConversations")},async onDraft(e){this.question=e,this.onSubmit()},async onStop(){this.canceler&&(this.canceler.abort(),this.answering=!1)},async onRestart(e){const t=this.messages.findIndex(n=>n===e),o=this.messages[t-1];let d=[];if(t!==-1){if(d=this.messages.slice(0,t-1),this.messages=this.messages.slice(0,t),this.references=[],typeof o.content=="string")this.question=o.content;else if(Array.isArray(o.content))for(let n=0;n<o?.content.length;n++)o.content[n].type==="image_url"&&(typeof o?.content?.[n]?.image_url=="string"?this.references.push(o?.content?.[n]?.image_url):this.references.push(o?.content?.[n]?.image_url?.url)),o.content[n].type==="file_url"&&(typeof o?.content?.[n]?.file_url=="string"?this.references.push(o?.content?.[n]?.file_url):this.references.push(o?.content?.[n]?.file_url?.url)),o.content[n].type==="text"&&(this.question=o.content[n].text)}console.debug("onRestart!",this.question,JSON.stringify(this.references));const r=this.credential?.token,i=this.question.trim();if(!r||!i){console.error("no token or endpoint or question"),this.messages.push({error:{code:T},role:q,state:S.FAILED});return}let a=this.conversationId;G.updateConversation({id:this.conversationId,messages:d},{token:r}).then(async()=>{await this.$store.dispatch("chat/setConversation",{id:a,messages:this.messages}),console.debug("finished update conversation",this.messages),console.debug("onRestart",this.question),await this.onRequest()}).catch(n=>{this.handleRequestError(n)})},async onEdit(e,t){const o=this.messages.findIndex(i=>i===e);o!==-1&&(this.messages=this.messages.slice(0,o)),this.question=t;const d=this.credential?.token;if(!d){console.error("no token or endpoint or question"),this.messages.push({error:{code:T},role:q,state:S.FAILED});return}let r=this.conversationId;G.updateConversation({id:this.conversationId,messages:this.messages},{token:d}).then(async()=>{await this.$store.dispatch("chat/setConversation",{id:r,messages:this.messages}),console.debug("finished update conversation",this.messages),this.messages.push({content:this.question,role:U}),console.debug("onEdit",this.question),await this.onRequest()}).catch(i=>{this.handleRequestError(i)})},async onNewConversation(){this.$router.push({params:{id:""}}),this.messages=[],this.question="",this.references=[]},async onRestoreConversation(e){console.debug("onRestoreConversation id",e);const t=this.conversations?.find(i=>i.id===e),o=t?.model;console.debug("conversation model",o);const d=be.find(i=>i.name===o);console.debug("target model",d);const r=ke.find(i=>i.name===d?.modelGroup);console.debug("target model group",r),this.$store.dispatch("chat/setModelGroup",r),this.$store.dispatch("chat/setModel",d),console.debug("conversation",t),console.debug("conversation messages",this.messages),this.messages=t?.messages||[],this.onScrollDown()},async onChangeConversation(e){console.log("onChangeConversation in conversation",e),await this.onStop(),e?this.onRestoreConversation(e):this.onNewConversation()},async onSubmit(){if(this.references.length>0){let e=[];e.push({type:"text",text:this.question.trim()});for(let t=0;t<this.references.length;t++)te(this.references[t])?e.push({type:"image_url",image_url:this.references[t]}):e.push({type:"file_url",file_url:this.references[t]});this.messages.push({content:e,role:U})}else this.messages.push({content:this.question.trim(),role:U});console.debug("onSubmit",this.question,this.references),await this.onRequest()},async onRequest(){console.debug("start to get answer",this.messages);const e=this.credential?.token,t=this.question.trim(),o=this.references;if(console.debug("validated",t,o),this.question="",this.references=[],!e||!t){console.error("no token or endpoint or question"),this.messages.push({error:{code:T},role:q,state:S.FAILED});return}let d=this.conversationId;this.messages.push({content:"",role:q,state:S.PENDING}),console.debug("start to get answer",this.messages),this.onScrollDown(),this.answering=!0,this.canceler=new AbortController,G.chatConversation({question:t,model:this.model.name,references:o,id:this.conversationId,stateful:!0},{token:e,stream:r=>{console.debug("stream response",r);const i=this.messages[this.messages.length-1];this.messages[this.messages.length-1]={role:q,content:r.answer,state:i?.state!==S.FINISHED?S.ANSWERING:i?.state},d=r?.id},signal:this.canceler.signal}).then(async()=>{console.debug("finished fetch answer",this.messages),this.messages[this.messages.length-1].state=S.FINISHED,console.debug("finished fetch answer",JSON.stringify(this.messages)),await this.$store.dispatch("chat/setConversation",{id:d,messages:this.messages}),this.answering=!1,d&&await this.$router.push({params:{id:d}}),this.onScrollDown(),await this.$store.dispatch("chat/getConversations"),await this.$store.dispatch("chat/getApplications")}).catch(r=>{this.handleRequestError(r)})},async handleRequestError(e){if(console.error("error happened",e),this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].state=S.FAILED),e.name==="AbortError"){console.error("aborted");return}else e instanceof Ce?(console.debug("BaseError",e),this.messages[this.messages.length-1].error={code:e.code,message:e.detail}):le.isCancel(e)?this.messages[this.messages.length-1].error={code:ee}:this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].error={code:x});this.answering=!1},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".messages");!e||!this.messages||this.messages.length===0||(e.scrollTop=e?.scrollHeight)},0)}}}),ns={key:0,class:"messages"},as={class:"starter"};function is(e,t,o,d,r,i){const a=c("model-selector"),n=c("message"),$=c("composer"),v=c("disclaimer"),g=c("layout");return s(),m(g,{onChangeConversation:t[4]||(t[4]=l=>e.onChangeConversation(l))},{chat:y(()=>[p(a,{class:"selector",onModelGroupChanged:t[0]||(t[0]=l=>e.onChangeConversation(void 0))}),f("div",{class:R({dialogue:!0,empty:e.messages.length===0})},[e.messages.length>0?(s(),u("div",ns,[(s(!0),u(O,null,M(e.messages,(l,h)=>(s(),m(n,{key:h,message:l,messages:e.messages,question:e.question,application:e.application,class:"message","onUpdate:question":t[1]||(t[1]=w=>e.question=w),onEdit:e.onEdit,onRestart:e.onRestart},null,8,["message","messages","question","application","onEdit","onRestart"]))),128))])):_("",!0),f("div",as,[p($,{question:e.question,"onUpdate:question":t[2]||(t[2]=l=>e.question=l),answering:e.answering,references:e.references,"onUpdate:references":t[3]||(t[3]=l=>e.references=l),onSubmit:e.onSubmit,onStop:e.onStop},null,8,["question","answering","references","onSubmit","onStop"]),p(v,{class:"disclaimer"})])],2)]),_:1})}const $s=E(os,[["render",is],["__scopeId","data-v-8f6d22cf"]]);export{$s as default};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-highlight-6BASrUTN.js","assets/vendor-BVnhgPs4.js","assets/vendor-vue-Bb02XvLT.js","assets/vendor-dayjs-C40ROiFS.js","assets/vendor-katex-DHBGsivc.js","assets/vendor-katex-CIur2ABi.css","assets/vendor-Cp-P0JlL.css","assets/vendor-highlight-t6bI8mSi.css"])))=>i.map(i=>d[i]);
2
+ import{a as le}from"./vendor-axios-NIGUFBhG.js";import{d as k,c as u,o as s,b as de,h as ce,U as A,R as m,al as c,as as X,S as y,l as p,a as f,W as _,Z as b,F as O,ai as M,aj as P,a1 as I,Y as N,V as R,_ as ue,at as pe,a2 as he,P as j}from"./vendor-vue-Bb02XvLT.js";import{a4 as z,_ as E,Z as me,a5 as q,a6 as W,a7 as x,a8 as ee,a9 as T,aa as ge,ab as fe,ac as _e,ad as ye,ae as $e,af as ve,ag as S,ah as te,S as we,ai as L,aj as K,ak as Q,al as Y,am as J,an as G,a3 as V,ao as Ce,ap as U,aq as be,ar as ke}from"./index-Dn72Szn0.js";import{a5 as Ee,bM as se,bP as Se,bQ as Re,bG as D}from"./vendor-BVnhgPs4.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-highlight-6BASrUTN.js";import{C as qe}from"./CopyToClipboard-CBliPgeP.js";import{n as F,p as oe,i as Ie,o as B,B as De,q as Ge,r as Z,f as Ae,g as Oe,h as Me,G as Te,N as Ne}from"./vendor-element-plus-BUOzLm6W.js";import{F as ne}from"./FilePreview-Bz-RkJBC.js";import{I as Le}from"./ImagePreview-BnQhS1sy.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-dayjs-C40ROiFS.js";const Ue=async e=>{const t=(await Ee(async()=>{const{default:d}=await import("./vendor-highlight-6BASrUTN.js");return{default:d}},__vite__mapDeps([0,1,2,3,4,5,6,7]))).default;e.querySelectorAll("pre code").forEach(d=>{const r=d.parentElement;if(!r)return;if(r.dataset.hasCopy==="1"){"highlightElement"in t?t.highlightElement(d):t.highlightBlock(d);return}const i=document.createElement("div");i.className="relative",r.parentNode.insertBefore(i,r),i.appendChild(r),r.classList.add("overflow-auto");const a=document.createElement("button");a.type="button",a.dataset.copyBtn="1",a.className="absolute top-1 right-1 z-10 rounded-md px-2 py-1 text-xs bg-zinc-800 text-white hover:bg-zinc-700 active:scale-95",a.textContent=z.global.t("common.button.copy").toString(),a.addEventListener("click",()=>{se(d.innerText);const n=a.textContent;a.textContent=z.global.t("common.button.copied")?.toString(),setTimeout(()=>a.textContent=n,5e3)}),i.appendChild(a),r.dataset.hasCopy="1","highlightElement"in t?t.highlightElement(d):t.highlightBlock(d)})},Ve=k({name:"AnsweringMark",data(){return{}},computed:{conversationId(){return this.$route.params?.id?.toString()}}}),Pe={class:"mark"};function Fe(e,t,o,d,r,i){return s(),u("div",Pe)}const Be=E(Ve,[["render",Fe]]),He=k({name:"VueMarkdown",props:{source:{type:String,required:!0},options:{type:Object,default:()=>({}),required:!1}},setup(e,{attrs:t}){const o=new Se({...e.options,html:!0}).use(Re,{delimiters:"all",throwOnError:!1,errorColor:"#cc0000",mathFence:!0}),d=de(()=>{const r=e.source;return o?.render(r).replace(/<think>/g,'<div class="think">').replace(/<\/think>/g,"</div>")});return()=>ce("div",{...t,innerHTML:d.value})}}),je=k({name:"MarkdownRenderer",directives:{highlight:Ue},components:{VueMarkdown:He},props:{content:{type:String,required:!1,default:""}}});function ze(e,t,o,d,r,i){const a=c("vue-markdown"),n=X("highlight");return A((s(),m(a,{source:e.content,class:"markdown-body bg-transparent pt-[3px] text-[inherit]"},null,8,["source"])),[[n]])}const We=E(je,[["render",ze],["__scopeId","data-v-de1f7a52"]]),Ke=k({name:"CopyToClipboard",components:{FontAwesomeIcon:D,ElTooltip:F},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:["restart"],data(){return{copied:!1}},methods:{onRestart(){this.$emit("restart")}}});function Qe(e,t,o,d,r,i){const a=c("font-awesome-icon"),n=c("el-tooltip");return s(),m(n,{effect:"dark",content:e.$t("common.button.restart"),placement:"bottom"},{default:y(()=>[p(a,{icon:"fa-solid fa-sync",class:"icon-sync",onClick:e.onRestart},null,8,["onClick"])]),_:1},8,["content"])}const Ye=E(Ke,[["render",Qe],["__scopeId","data-v-90e169cb"]]),Je=k({name:"EditMessage",components:{FontAwesomeIcon:D,ElTooltip:F},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:["click"],data(){return{copied:!1}},methods:{onEdit(){this.$emit("click")}}});function Ze(e,t,o,d,r,i){const a=c("font-awesome-icon"),n=c("el-tooltip");return s(),u("span",null,[p(n,{effect:"dark",content:e.$t("common.button.restart"),placement:"bottom"},{default:y(()=>[p(a,{icon:"fa-solid fa-edit",class:"icon icon-edit",onClick:e.onEdit},null,8,["onClick"])]),_:1},8,["content"])])}const Xe=E(Je,[["render",Ze],["__scopeId","data-v-8e947e8f"]]),xe=k({name:"Message",components:{EditMessage:Xe,CopyToClipboard:qe,RestartToGenerate:Ye,AnsweringMark:Be,MarkdownRenderer:We,ElAlert:De,FilePreview:ne,ElButton:B,ElImage:Ie,ElInput:oe},props:{messages:{type:Array,required:!1,default:()=>[]},message:{type:Object,required:!0},application:{type:Object,required:!0}},emits:["stop","edit","restart"],data(){return{copied:!1,isEditing:!1,questionValue:this.message.content,messageState:S}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},errorText(){if(console.debug("error",this.message.error),!(!this.message.error||!this.message.error?.code)){if(this.message.error?.message)return this.message.error.message;switch(this.message.error?.code){case W:return this.$t("chat.message.errorUsedUp");case ve:return this.$t("chat.message.errorApiError");case $e:return this.$t("chat.message.errorBadRequest");case ye:return this.$t("chat.message.errorTimeout");case _e:return this.$t("chat.message.errorBusy");case fe:return this.$t("chat.message.errorContentTooLarge");case ge:return this.$t("chat.message.errorTooManyRequests");case T:return this.$t("chat.message.errorNotApplied");case ee:return;case x:default:return this.$t("chat.message.errorUnknown")}}},showBuyMore(){return this.message.role===q&&this.message.error?.code===W}},watch:{},methods:{startEditing(){this.isEditing=!0,this.questionValue=this.message.content,console.debug("start to get answer",this.message)},cancelEdit(){this.isEditing=!1},onRestart(){this.$emit("restart",this.message)},onEdit(){this.isEditing=!1,this.onSubmit()},onSubmit(){this.$emit("edit",this.message,this.questionValue)},onCopy(){se(this.message.content.toString(),{debug:!0}),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)},onBuyMore(){this.$router.push({name:me,params:{id:this.application?.id}})}}}),et=["role"],tt={class:"author"},st={key:0,class:"main"},ot={initial:{opacity:0,y:5},enter:{opacity:1,y:0,scale:1},delay:300,duration:400,layout:!0,transition:{enter:{delay:.3,duration:.5},layout:{duration:.4,easing:"ease-in-out"}},class:"content"},nt={key:0,class:"message-content"},at={key:0},it={key:1,class:"whitespace-pre-wrap break-words w-fit max-w-full py-1"},rt={key:1},lt=["src"],dt={key:2},ct={key:1,class:"whitespace-pre-wrap break-words w-fit max-w-full py-1"},ut={key:1,class:"edits"},pt={class:"flex justify-end"},ht={initial:{opacity:0,y:5},enter:{opacity:1,y:0,scale:1},delay:300,duration:400,layout:!0,transition:{enter:{delay:.3,duration:.5},layout:{duration:.4,easing:"ease-in-out"}},class:"operations"};function mt(e,t,o,d,r,i){const a=c("el-image"),n=c("markdown-renderer"),$=c("file-preview"),v=c("el-input"),g=c("el-button"),l=c("answering-mark"),h=c("edit-message"),w=c("copy-to-clipboard"),ae=c("restart-to-generate"),ie=c("el-alert"),H=X("motion");return s(),u("div",{class:R({message:!0,[e.message.role]:!0}),role:e.message.role},[f("div",tt,[e.message.role==="assistant"?(s(),m(a,{key:0,src:e.modelGroup?.icon,fit:"cover",class:"avatar"},null,8,["src"])):_("",!0)]),e.errorText?(s(),m(ie,{key:1,class:"error",title:e.errorText,type:"error",closable:!1},null,8,["title"])):(s(),u("div",st,[A((s(),u("div",ot,[e.isEditing?(s(),u("div",ut,[p(v,{modelValue:e.questionValue,"onUpdate:modelValue":t[0]||(t[0]=C=>e.questionValue=C),type:"textarea",class:"mb-2",onKeydown:P(I(e.onEdit,["exact","prevent"]),["enter"])},null,8,["modelValue","onKeydown"]),f("div",pt,[p(g,{round:"",onClick:e.cancelEdit},{default:y(()=>[N(b(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),p(g,{type:"primary",class:"btn-confirm",round:"",onClick:e.onEdit},{default:y(()=>[N(b(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])])):(s(),u("div",nt,[Array.isArray(e.message.content)?(s(),u("div",rt,[(s(!0),u(O,null,M(e.message.content,(C,re)=>(s(),u("div",{key:re},[C.type==="image_url"?(s(),u("img",{key:0,src:typeof C?.image_url=="string"?C.image_url:C.image_url?.url,fit:"cover",class:"image"},null,8,lt)):_("",!0),C.file_url?(s(),m($,{key:1,name:typeof C?.file_url=="string"?C.file_url:C.file_url?.url,percentage:0,closable:!1,class:"mt-2"},null,8,["name"])):_("",!0),C.type==="text"?(s(),u("div",dt,[e.message.role==="assistant"?(s(),m(n,{key:0,content:C.text},null,8,["content"])):(s(),u("pre",ct,b(C.text?.trim()),1))])):_("",!0)]))),128))])):(s(),u("div",at,[e.message.role==="assistant"?(s(),m(n,{key:0,content:e.message?.content},null,8,["content"])):(s(),u("pre",it,b(e.message.content),1))]))])),e.message.state===e.messageState.PENDING?(s(),m(l,{key:2})):_("",!0)])),[[H]]),A((s(),u("div",ht,[e.message.role==="user"&&!e.isEditing&&!Array.isArray(e.message.content)?(s(),m(h,{key:0,class:"btn-edit",onClick:e.startEditing},null,8,["onClick"])):_("",!0),!Array.isArray(e.message.content)&&(e.message.state===e.messageState.FINISHED||e.message.state===e.messageState.FAILED)?(s(),m(w,{key:1,content:e.message.content,class:"btn-copy"},null,8,["content"])):_("",!0),!Array.isArray(e.message.content)&&(e.message.state===e.messageState.FINISHED||e.message.state===e.messageState.FAILED)&&e.message.role==="assistant"&&e.message===e.messages[e.messages.length-1]?(s(),m(ae,{key:2,class:"btn-restart",messages:e.messages,onRestart:e.onRestart},null,8,["messages","onRestart"])):_("",!0)])),[[H]])])),e.showBuyMore?(s(),m(g,{key:2,round:"",type:"primary",class:"btn btn-buy",size:"small",onClick:e.onBuyMore},{default:y(()=>[N(b(e.$t("common.button.buyMore")),1)]),_:1},8,["onClick"])):_("",!0)],10,et)}const gt=E(xe,[["render",mt],["__scopeId","data-v-a2be8b8f"]]),ft=k({name:"Composer",components:{FilePreview:ne,ImagePreview:Le,ElTooltip:F,FontAwesomeIcon:D,ElUpload:Ge,ElButton:B},props:{answering:{type:Boolean,required:!1,default:!1},references:{type:Array,required:!1,default:()=>[]},question:{type:String,required:!0}},emits:["update:question","update:references","submit","stop"],data(){return{inputHeight:"35px",questionValue:this.question||"",fileList:[],uploadUrl:we()+"/api/v1/files/"}},computed:{model(){return this.$store.state.chat.model},modelGroup(){return this.$store.state.chat.modelGroup},isFileSupported(){return this.model?.isFileSupported},isImageSupported(){return this.model?.isImageSupported},headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},uploading(){return!!this.fileList.find(e=>e.percentage!==void 0&&e.percentage>=0&&e.percentage<100)},extensions(){if(this.isFileSupported===!1&&this.isImageSupported===!0)return".png,.jpg,.jpeg,.gif,.bmp,.webp,.svg,.tiff,.ico,.heic"}},watch:{urls(e){console.debug("File URLs:",e),e.length>0&&this.$emit("update:references",e)},questionValue(e){this.$emit("update:question",e.trim())},question(e){e!==this.questionValue&&(this.questionValue=e)},references(e){console.debug("References updated:",e),e.length===0&&(this.fileList=[])},isFileSupported(e,t){t&&!e&&(this.fileList=[])}},methods:{isImageUrl:te,adjustTextareaHeight(){this.$nextTick(()=>{const e=this.$refs.textarea;e&&(e.style.height="35px",e.style.height=e.scrollHeight+"px")})},onSubmit(){!this.question||this.uploading||this.$emit("submit")},onStop(){this.$emit("stop")},onProgress(e,t){console.debug("File upload progress:",t.name,e.loaded,e.total,t.percentage)},onExceed(){Z.warning(this.$t("chat.message.uploadReferencesExceed"))},onError(){Z.error(this.$t("chat.message.uploadReferencesError"))}}}),_t={class:"composer"},yt={class:"tools"},$t=["disabled","placeholder"];function vt(e,t,o,d,r,i){const a=c("image-preview"),n=c("file-preview"),$=c("font-awesome-icon"),v=c("el-tooltip"),g=c("el-upload"),l=c("el-button");return s(),u("div",_t,[f("div",yt,[p(g,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=h=>e.fileList=h),class:R({upload:!0,disabled:!e.isFileSupported&&!e.isImageSupported||e.answering}),accept:e.extensions,disabled:!e.isFileSupported&&!e.isImageSupported||e.answering,name:"file",limit:10,multiple:!0,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-progress":e.onProgress,headers:e.headers},{file:y(({file:h})=>[e.isImageUrl(h.name)?(s(),m(a,{key:0,url:h.url||h.response?.file_url,name:h.name,percentage:h.percentage,onRemove:w=>e.fileList.splice(e.fileList.indexOf(h),1)},null,8,["url","name","percentage","onRemove"])):(s(),m(n,{key:1,name:h.name,percentage:h.percentage,onRemove:w=>e.fileList.splice(e.fileList.indexOf(h),1)},null,8,["name","percentage","onRemove"]))]),default:y(()=>[p(v,{class:"box-item",effect:"dark",content:e.$t("chat.message.uploadFile"),placement:"bottom"},{default:y(()=>[f("span",{class:R({btn:!0,"btn-upload":!0,disabled:!e.isFileSupported&&!e.isImageSupported||e.answering})},[p($,{icon:"fa-solid fa-plus",class:"icon icon-attachment"})],2)]),_:1},8,["content"])]),_:1},8,["file-list","class","accept","disabled","action","on-exceed","on-error","on-progress","headers"])]),p(l,{disabled:e.answering||!e.questionValue||e.uploading,type:"primary",class:R({btn:!0,"btn-send":!0}),onClick:e.onSubmit},{default:y(()=>[p($,{icon:"fa-solid fa-arrow-up",class:"icon icon-send"})]),_:1},8,["disabled","onClick"]),A(p(l,{disabled:!e.answering,type:"primary",class:R({btn:!0,"btn-stop":!0}),onClick:e.onStop},{default:y(()=>[p($,{icon:"fa-solid fa-stop",class:"icon icon-stop"})]),_:1},8,["disabled","onClick"]),[[ue,e.answering]]),A(f("textarea",{ref:"textarea","onUpdate:modelValue":t[1]||(t[1]=h=>e.questionValue=h),disabled:e.answering,class:"input",placeholder:e.$t("chat.message.newMessagePlaceholder"),style:he({height:e.inputHeight}),onKeydown:t[2]||(t[2]=P(I((...h)=>e.onSubmit&&e.onSubmit(...h),["exact","prevent"]),["enter"])),onInput:t[3]||(t[3]=(...h)=>e.adjustTextareaHeight&&e.adjustTextareaHeight(...h))},null,44,$t),[[pe,e.questionValue]])])}const wt=E(ft,[["render",vt],["__scopeId","data-v-02d367c1"]]),Ct=k({name:"ModelSelector",components:{ElDropdown:Me,ElDropdownMenu:Oe,ElDropdownItem:Ae,FontAwesomeIcon:D},emits:["update:modelValue","select","model-group-changed","model-changed"],data(){return{options:[L,K,Q,Y,J]}},computed:{model(){return console.log("model",this.$store.state.chat.model),this.$store.state.chat.model},modelGroup(){return this.$route.meta?.modelGroup||L}},watch:{modelGroup(e){console.debug("modelGroup from route changed",e),this.$store.dispatch("chat/setModelGroup",e),this.$store.dispatch("chat/setModel",e.models[0])}},mounted(){console.debug("ModelSelector mounted, checking model group");const t=[L,K,Q,Y,J].find(o=>o.name===this.modelGroup.name);console.debug("Found model group:",t),t&&(this.$store.dispatch("chat/setModelGroup",t),this.$store.dispatch("chat/setModel",t.models[0]))},methods:{onModelGroupChange(e){this.$store.dispatch("chat/setModelGroup",e),this.$emit("model-group-changed",e)},onModelChange(e){this.$store.dispatch("chat/setModel",e),this.$emit("model-changed",e)}}}),bt={class:"selector"},kt={class:"flex justify-center"},Et={class:"name"},St={class:"angle"},Rt={class:"item"},qt={class:"info"},It={key:0,class:"name"},Dt={key:1,class:"description"};function Gt(e,t,o,d,r,i){const a=c("font-awesome-icon"),n=c("el-dropdown-item"),$=c("el-dropdown-menu"),v=c("el-dropdown");return s(),u("div",bt,[p(v,{trigger:"click","popper-class":"popper"},{dropdown:y(()=>[e.modelGroup&&e.modelGroup?.models?(s(),m($,{key:0},{default:y(()=>[(s(!0),u(O,null,M(e.modelGroup?.models?.filter(g=>g.enabled),(g,l)=>(s(),m(n,{key:l,onClick:h=>e.onModelChange(g)},{default:y(()=>[f("div",Rt,[f("div",qt,[g?.getDisplayName?(s(),u("p",It,b(g?.getDisplayName()),1)):_("",!0),g?.getDescription?(s(),u("p",Dt,b(g?.getDescription()),1)):_("",!0)])])]),_:2},1032,["onClick"]))),128))]),_:1})):_("",!0)]),default:y(()=>[f("div",kt,[f("span",Et,b(e.model?.getDisplayName()),1),f("span",St,[p(a,{icon:"fa-solid fa-angle-down"})])])]),_:1})])}const At=E(Ct,[["render",Gt],["__scopeId","data-v-6b1200e4"]]),Ot={},Mt={class:"disclaimer"};function Tt(e,t){return s(),u("p",Mt,b(e.$t("chat.message.howToUse")),1)}const Nt=E(Ot,[["render",Tt],["__scopeId","data-v-d2d980ab"]]),Lt=k({name:"SidePanel",components:{ElInput:oe,FontAwesomeIcon:D,ElSkeleton:Te},props:{},emits:["change-conversation"],computed:{modelGroup(){return this.$store.state.chat.modelGroup},conversationId(){return console.debug("conversationId in side",this.$route.params?.id),this.$route.params?.id?.toString()},conversations(){let e=this.$store.state.chat.conversations;return console.debug("conversations",e),console.debug("modelGroup",this.modelGroup),e=e?.filter(t=>t?.model&&this.modelGroup?.models?.map(o=>o.name)?.includes(t?.model)),console.debug("filtered conversations",e),e},conversationGroups(){const e=new Date;e.setHours(0,0,0,0);const t=new Date(e);t.setDate(t.getDate()-1);const o=new Date(e);o.setDate(o.getDate()-e.getDay());const d=new Date(o);d.setDate(d.getDate()-7);const r=this.conversations?.reduce((i,a)=>{const n=new Date(a.updated_at*1e3);return n>=e?i.today.push(a):n>=t?i.yesterday.push(a):n>=o?i.thisWeek.push(a):i.earlier.push(a),i},{today:[],yesterday:[],thisWeek:[],earlier:[]});return{...r?.today?.length>0?{today:r?.today?.sort((i,a)=>a.updated_at-i.updated_at)}:{},...r?.yesterday?.length>0?{yesterday:r?.yesterday?.sort((i,a)=>a.updated_at-i.updated_at)}:{},...r?.thisWeek?.length>0?{thisWeek:r?.thisWeek?.sort((i,a)=>a.updated_at-i.updated_at)}:{},...r?.earlier?.length>0?{earlier:r?.earlier?.sort((i,a)=>a.updated_at-i.updated_at)}:{}}},application(){return this.$store.state.chat.application},loading(){return this.$store.state.chat.status.getConversations===V.Request},token(){return this.$store.state.chat?.credential?.token}},watch:{modelGroup(){console.debug("modelGroup changed, refreshing conversations");const e=this.conversations?.[0];this.$emit("change-conversation",e?.id)}},methods:{async onNewConversation(){console.debug("onNewConversation from side panel"),this.$emit("change-conversation",void 0)},async onConfirm(e){const t=this.token;if(!t){console.error("Token is not found");return}e?.deleting&&e.id?(await G.deleteConversation(e.id,{token:t}),await this.$store.dispatch("chat/getConversations")):e?.editing?(await G.updateConversation(e,{token:t}),await this.$store.dispatch("chat/getConversations")):e.editing=!0},onClickConversation(e){console.debug("onClickConversation in side panel",e),this.$emit("change-conversation",e)}}}),Ut={class:"panel"},Vt={key:1,class:"conversations"},Pt={class:"icons"},Ft={class:"title"},Bt={class:"key"},Ht=["onClick"],jt={class:"title"},zt={key:0},Wt={key:1},Kt={key:2},Qt={class:"operations"};function Yt(e,t,o,d,r,i){const a=c("el-skeleton"),n=c("font-awesome-icon"),$=c("el-input");return s(),u("div",Ut,[e.loading&&e.conversationGroups===void 0?(s(),m(a,{key:0})):(s(),u("div",Vt,[f("div",{class:"conversation",onClick:t[0]||(t[0]=(...v)=>e.onNewConversation&&e.onNewConversation(...v))},[f("div",Pt,[p(n,{icon:"fa-solid fa-plus",class:"icon"})]),f("div",Ft,b(e.$t("chat.message.startNewChat")),1)]),(s(!0),u(O,null,M(e.conversationGroups,(v,g)=>(s(),u("div",{key:g,class:"group"},[f("div",Bt,b(e.$t(`chat.group.${g}`)),1),(s(!0),u(O,null,M(v,(l,h)=>(s(),u("div",{key:h,class:R({conversation:!0,active:l.id===e.conversationId}),onClick:w=>e.onClickConversation(l.id)},[f("div",jt,[l?.deleting?(s(),u("span",zt,b(`${e.$t("chat.message.confirmDelete")}?`),1)):l?.editing?(s(),u("span",Wt,[p($,{modelValue:l.title,"onUpdate:modelValue":w=>l.title=w,onKeydown:P(w=>e.onConfirm(l),["enter"])},null,8,["modelValue","onUpdate:modelValue","onKeydown"])])):l?.title||l?.messages?(s(),u("span",Kt,b(l?.title||l?.messages?.[l?.messages.length-1]?.content||l?.messages?.[0]?.content),1)):_("",!0)]),f("div",Qt,[!l?.editing&&!l.deleting?(s(),m(n,{key:0,icon:"fa-solid fa-edit",class:"icon icon-edit",onClick:I(w=>l.editing=!0,["stop"])},null,8,["onClick"])):_("",!0),!l?.editing&&!l.deleting?(s(),m(n,{key:1,icon:"fa-solid fa-trash",class:"icon icon-delete",onClick:I(w=>l.deleting=!0,["stop"])},null,8,["onClick"])):_("",!0),l?.editing||l.deleting?(s(),m(n,{key:2,icon:"fa-solid fa-check",class:"icon icon-confirm",onClick:I(w=>e.onConfirm(l),["stop"])},null,8,["onClick"])):_("",!0),l?.editing||l.deleting?(s(),m(n,{key:3,icon:"fa-solid fa-xmark",class:"icon icon-cancel",onClick:I(w=>{l.editing=!1,l.deleting=!1},["stop"])},null,8,["onClick"])):_("",!0)])],10,Ht))),128))]))),128))]))])}const Jt=E(Lt,[["render",Yt],["__scopeId","data-v-c54ecd1a"]]),Zt=k({name:"LayoutChat",components:{SidePanel:Jt,ElDrawer:Ne,ElButton:B,FontAwesomeIcon:D},emits:["change-conversation"],data(){return{drawer:!1}},methods:{onChangeConversation(e){console.debug("onChangeConversation in layout",e),this.$emit("change-conversation",e)}}}),Xt={class:"main flex flex-row flex-1"},xt={class:"side w-[250px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},es={class:"chat h-full w-[calc(100%-250px)] pt-[45px] flex-1 flex flex-col relative"};function ts(e,t,o,d,r,i){const a=c("side-panel"),n=c("font-awesome-icon"),$=c("el-button"),v=c("el-drawer");return s(),u("div",Xt,[f("div",xt,[j(e.$slots,"side",{},()=>[p(a,{onChangeConversation:e.onChangeConversation},null,8,["onChangeConversation"])],!0)]),f("div",es,[j(e.$slots,"chat",{},void 0,!0)]),p($,{round:"",class:"menu",onClick:t[0]||(t[0]=g=>e.drawer=!0)},{default:y(()=>[p(n,{icon:"fa-solid fa-bars"})]),_:1}),p(v,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"290px"},{default:y(()=>[p(a,{onChangeConversation:e.onChangeConversation},null,8,["onChangeConversation"])]),_:1},8,["modelValue"])])}const ss=E(Zt,[["render",ts],["__scopeId","data-v-38ff8add"]]),os=k({name:"ChatConversation",components:{Composer:wt,Disclaimer:Nt,ModelSelector:At,Message:gt,Layout:ss},data(){return{drawer:!1,question:"",references:[],upload:!1,answering:!1,canceler:void 0,messages:this.$store.state.chat.conversations?.find(e=>e.id===this.$route.params.id?.toString())?.messages||[]}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},model(){return this.$store.state.chat.model},conversationId(){return this.$route.params.id?.toString()},conversation(){return this.$store.state.chat.conversations?.find(e=>e.id===this.conversationId)},service(){return this.$store.state.chat.service},application(){return this.$store.state.chat.application},applications(){return this.$store.state.chat.applications},credential(){return this.$store.state.chat?.credential},needApply(){return this.$store.state.chat.status.getApplications===V.Success&&!this.application},conversations(){return this.$store.state.chat.conversations},initializing(){return this.$store.state.chat.status.getApplications===V.Request}},watch:{async references(e){console.log("references changed",e)},async modelGroup(e){console.debug("modelGroup changed",e)},async conversationId(e){console.debug("conversationId changed",e)}},async mounted(){await this.onGetService(),await this.onGetApplication(),await this.onGetConversations()},methods:{async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("chat/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("chat/getApplications"),console.debug("end onGetApplication")},async onGetConversations(){console.debug("start onGetConversations"),await this.$store.dispatch("chat/getConversations"),console.debug("end onGetConversations")},async onDraft(e){this.question=e,this.onSubmit()},async onStop(){this.canceler&&(this.canceler.abort(),this.answering=!1)},async onRestart(e){const t=this.messages.findIndex(n=>n===e),o=this.messages[t-1];let d=[];if(t!==-1){if(d=this.messages.slice(0,t-1),this.messages=this.messages.slice(0,t),this.references=[],typeof o.content=="string")this.question=o.content;else if(Array.isArray(o.content))for(let n=0;n<o?.content.length;n++)o.content[n].type==="image_url"&&(typeof o?.content?.[n]?.image_url=="string"?this.references.push(o?.content?.[n]?.image_url):this.references.push(o?.content?.[n]?.image_url?.url)),o.content[n].type==="file_url"&&(typeof o?.content?.[n]?.file_url=="string"?this.references.push(o?.content?.[n]?.file_url):this.references.push(o?.content?.[n]?.file_url?.url)),o.content[n].type==="text"&&(this.question=o.content[n].text)}console.debug("onRestart!",this.question,JSON.stringify(this.references));const r=this.credential?.token,i=this.question.trim();if(!r||!i){console.error("no token or endpoint or question"),this.messages.push({error:{code:T},role:q,state:S.FAILED});return}let a=this.conversationId;G.updateConversation({id:this.conversationId,messages:d},{token:r}).then(async()=>{await this.$store.dispatch("chat/setConversation",{id:a,messages:this.messages}),console.debug("finished update conversation",this.messages),console.debug("onRestart",this.question),await this.onRequest()}).catch(n=>{this.handleRequestError(n)})},async onEdit(e,t){const o=this.messages.findIndex(i=>i===e);o!==-1&&(this.messages=this.messages.slice(0,o)),this.question=t;const d=this.credential?.token;if(!d){console.error("no token or endpoint or question"),this.messages.push({error:{code:T},role:q,state:S.FAILED});return}let r=this.conversationId;G.updateConversation({id:this.conversationId,messages:this.messages},{token:d}).then(async()=>{await this.$store.dispatch("chat/setConversation",{id:r,messages:this.messages}),console.debug("finished update conversation",this.messages),this.messages.push({content:this.question,role:U}),console.debug("onEdit",this.question),await this.onRequest()}).catch(i=>{this.handleRequestError(i)})},async onNewConversation(){this.$router.push({params:{id:""}}),this.messages=[],this.question="",this.references=[]},async onRestoreConversation(e){console.debug("onRestoreConversation id",e);const t=this.conversations?.find(i=>i.id===e),o=t?.model;console.debug("conversation model",o);const d=be.find(i=>i.name===o);console.debug("target model",d);const r=ke.find(i=>i.name===d?.modelGroup);console.debug("target model group",r),this.$store.dispatch("chat/setModelGroup",r),this.$store.dispatch("chat/setModel",d),console.debug("conversation",t),console.debug("conversation messages",this.messages),this.messages=t?.messages||[],this.onScrollDown()},async onChangeConversation(e){console.log("onChangeConversation in conversation",e),await this.onStop(),e?this.onRestoreConversation(e):this.onNewConversation()},async onSubmit(){if(this.references.length>0){let e=[];e.push({type:"text",text:this.question.trim()});for(let t=0;t<this.references.length;t++)te(this.references[t])?e.push({type:"image_url",image_url:this.references[t]}):e.push({type:"file_url",file_url:this.references[t]});this.messages.push({content:e,role:U})}else this.messages.push({content:this.question.trim(),role:U});console.debug("onSubmit",this.question,this.references),await this.onRequest()},async onRequest(){console.debug("start to get answer",this.messages);const e=this.credential?.token,t=this.question.trim(),o=this.references;if(console.debug("validated",t,o),this.question="",this.references=[],!e||!t){console.error("no token or endpoint or question"),this.messages.push({error:{code:T},role:q,state:S.FAILED});return}let d=this.conversationId;this.messages.push({content:"",role:q,state:S.PENDING}),console.debug("start to get answer",this.messages),this.onScrollDown(),this.answering=!0,this.canceler=new AbortController,G.chatConversation({question:t,model:this.model.name,references:o,id:this.conversationId,stateful:!0},{token:e,stream:r=>{console.debug("stream response",r);const i=this.messages[this.messages.length-1];this.messages[this.messages.length-1]={role:q,content:r.answer,state:i?.state!==S.FINISHED?S.ANSWERING:i?.state},d=r?.id},signal:this.canceler.signal}).then(async()=>{console.debug("finished fetch answer",this.messages),this.messages[this.messages.length-1].state=S.FINISHED,console.debug("finished fetch answer",JSON.stringify(this.messages)),await this.$store.dispatch("chat/setConversation",{id:d,messages:this.messages}),this.answering=!1,d&&await this.$router.push({params:{id:d}}),this.onScrollDown(),await this.$store.dispatch("chat/getConversations"),await this.$store.dispatch("chat/getApplications")}).catch(r=>{this.handleRequestError(r)})},async handleRequestError(e){if(console.error("error happened",e),this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].state=S.FAILED),e.name==="AbortError"){console.error("aborted");return}else e instanceof Ce?(console.debug("BaseError",e),this.messages[this.messages.length-1].error={code:e.code,message:e.detail}):le.isCancel(e)?this.messages[this.messages.length-1].error={code:ee}:this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].error={code:x});this.answering=!1},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".messages");!e||!this.messages||this.messages.length===0||(e.scrollTop=e?.scrollHeight)},0)}}}),ns={key:0,class:"messages"},as={class:"starter"};function is(e,t,o,d,r,i){const a=c("model-selector"),n=c("message"),$=c("composer"),v=c("disclaimer"),g=c("layout");return s(),m(g,{onChangeConversation:t[4]||(t[4]=l=>e.onChangeConversation(l))},{chat:y(()=>[p(a,{class:"selector",onModelGroupChanged:t[0]||(t[0]=l=>e.onChangeConversation(void 0))}),f("div",{class:R({dialogue:!0,empty:e.messages.length===0})},[e.messages.length>0?(s(),u("div",ns,[(s(!0),u(O,null,M(e.messages,(l,h)=>(s(),m(n,{key:h,message:l,messages:e.messages,question:e.question,application:e.application,class:"message","onUpdate:question":t[1]||(t[1]=w=>e.question=w),onEdit:e.onEdit,onRestart:e.onRestart},null,8,["message","messages","question","application","onEdit","onRestart"]))),128))])):_("",!0),f("div",as,[p($,{question:e.question,"onUpdate:question":t[2]||(t[2]=l=>e.question=l),answering:e.answering,references:e.references,"onUpdate:references":t[3]||(t[3]=l=>e.references=l),onSubmit:e.onSubmit,onStop:e.onStop},null,8,["question","answering","references","onSubmit","onStop"]),p(v,{class:"disclaimer"})])],2)]),_:1})}const $s=E(os,[["render",is],["__scopeId","data-v-8f6d22cf"]]);export{$s as default};
@@ -1 +1 @@
1
- import{bF as p,bL as r}from"./vendor-BG5lCpoe.js";import{n as l}from"./vendor-element-plus-7rF3khck.js";import{d as m,R as n,S as c,l as s,a1 as d,al as a,o as i}from"./vendor-vue-Bb02XvLT.js";import{_ as f}from"./index-BWdK6S1P.js";const u=m({name:"CopyToClipboard",components:{FontAwesomeIcon:p,ElTooltip:l},props:{content:{type:[String,Number],required:!1,default:""}},data(){return{copied:!1}},methods:{onCopy(){this.content&&(r(this.content.toString(),{debug:!0}),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3))}}});function _(o,b,C,y,h,k){const e=a("font-awesome-icon"),t=a("el-tooltip");return o.copied?(i(),n(t,{key:1,visible:o.copied,effect:"dark",content:o.$t("common.message.copied"),placement:"bottom"},{default:c(()=>[s(e,{icon:"fa-solid fa-check",class:"icon-check"})]),_:1},8,["visible","content"])):(i(),n(t,{key:0,effect:"dark",content:o.$t("common.button.copy"),placement:"bottom"},{default:c(()=>[s(e,{icon:"fa-regular fa-copy",class:"icon-copy",onClick:d(o.onCopy,["stop"])},null,8,["onClick"])]),_:1},8,["content"]))}const T=f(u,[["render",_],["__scopeId","data-v-cc8e806b"]]);export{T as C};
1
+ import{bG as p,bM as r}from"./vendor-BVnhgPs4.js";import{n as l}from"./vendor-element-plus-BUOzLm6W.js";import{d as m,R as n,S as c,l as s,a1 as d,al as a,o as i}from"./vendor-vue-Bb02XvLT.js";import{_ as f}from"./index-Dn72Szn0.js";const u=m({name:"CopyToClipboard",components:{FontAwesomeIcon:p,ElTooltip:l},props:{content:{type:[String,Number],required:!1,default:""}},data(){return{copied:!1}},methods:{onCopy(){this.content&&(r(this.content.toString(),{debug:!0}),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3))}}});function _(o,b,C,y,h,k){const e=a("font-awesome-icon"),t=a("el-tooltip");return o.copied?(i(),n(t,{key:1,visible:o.copied,effect:"dark",content:o.$t("common.message.copied"),placement:"bottom"},{default:c(()=>[s(e,{icon:"fa-solid fa-check",class:"icon-check"})]),_:1},8,["visible","content"])):(i(),n(t,{key:0,effect:"dark",content:o.$t("common.button.copy"),placement:"bottom"},{default:c(()=>[s(e,{icon:"fa-regular fa-copy",class:"icon-copy",onClick:d(o.onCopy,["stop"])},null,8,["onClick"])]),_:1},8,["content"]))}const T=f(u,[["render",_],["__scopeId","data-v-cc8e806b"]]);export{T as C};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-BG5lCpoe.js","assets/vendor-vue-Bb02XvLT.js","assets/vendor-dayjs-BRrJyY8K.js","assets/vendor-katex-DHBGsivc.js","assets/vendor-katex-CIur2ABi.css","assets/vendor-Cp-P0JlL.css"])))=>i.map(i=>d[i]);
2
- import{o as V}from"./order-Bu5wjTFd.js";import{_ as M,T as me}from"./index-BWdK6S1P.js";import{O as N}from"./order-CB3uOPHS.js";import{ae as ye,a5 as Q,bN as fe}from"./vendor-BG5lCpoe.js";import{w as ee,x as te,E as x,z as ge,A as we,e as ve,a as se,B as ae,o as ie,r as E,C as be,D as ke,F as Pe,m as Se,G as We,s as $e}from"./vendor-element-plus-7rF3khck.js";import{d as X,R as g,S as n,l as u,al as f,a as o,W as y,Z as l,o as a,p as Ce,c as p,F as R,ai as T,Y as P,V as H}from"./vendor-vue-Bb02XvLT.js";import{g as Ae}from"./price-DsQ2XKBW.js";import{C as _e}from"./CopyToClipboard-Ab4hHs26.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-dayjs-BRrJyY8K.js";import"./vendor-katex-DHBGsivc.js";function Ee(){const e=navigator.userAgent.toLowerCase();return/iphone|ipad|ipod|android|windows phone/i.test(e)}const Ne=X({name:"PayOrderDialog",components:{ElDialog:x,QrCode:ye,ElRow:te,ElCol:ee},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}V.refresh(this.modelValue.id).then(({data:e})=>{e.state!==N.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},2e3)})}}}),Ie={class:"paycode wechat"},Re={class:"help-text block bg-[#00c800] text-white text-[14px] h-[35px] w-[240px] text-center leading-[35px] mt-[10px] mx-auto"};function Ve(e,t,s,i,c,d){const r=f("qr-code"),h=f("el-col"),W=f("el-row"),$=f("el-dialog");return a(),g($,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:n(()=>[u(W,{class:"paycodes py-[30px] w-[500px] mx-auto"},{default:n(()=>[u(h,{span:12},{default:n(()=>[o("div",Ie,[e.modelValue?.pay_url?(a(),g(r,{key:0,value:e.modelValue?.pay_url,size:200,class:"qrcode m-auto w-[200px] h-[200px]",type:"image/png",color:{dark:"#000000",light:"#ffffff"}},null,8,["value"])):y("",!0),o("p",Re,l(e.$t("order.message.wechatPayHelp")),1)])]),_:1}),u(h,{span:12},{default:n(()=>t[0]||(t[0]=[o("div",{class:"help-img"},[o("img",{src:"https://midas.gtimg.cn/enterprise/images/ep_sys_wx_tip.jpg"})],-1)])),_:1,__:[0]})]),_:1})]),_:1},8,["model-value","title"])}const De=M(Ne,[["render",Ve]]),Le=X({name:"PayOrderDialog",components:{ElDialog:x},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},watch:{visible:{handler(e){e&&this.modelValue.pay_url&&window.open(this.modelValue.pay_url,"_blank")}}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}V.refresh(this.modelValue.id).then(({data:e})=>{e.state!==N.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},5e3)})}}}),Te={class:"text-center"};function Be(e,t,s,i,c,d){const r=f("el-dialog");return a(),g(r,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:n(()=>[o("p",Te,l(e.$t("order.message.buyInExternalUrl")),1)]),_:1},8,["model-value","title"])}const qe=M(Le,[["render",Be],["__scopeId","data-v-fbea8aa1"]]),Oe=X({name:"PayOrderDialog",components:{ElDialog:x},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},watch:{visible:{handler(e){e&&this.modelValue.pay_url&&window.open(this.modelValue.pay_url,"_blank")}}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}V.refresh(this.modelValue.id).then(({data:e})=>{e.state!==N.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},5e3)})}}}),Me={class:"text-center"};function Xe(e,t,s,i,c,d){const r=f("el-dialog");return a(),g(r,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:n(()=>[o("p",Me,l(e.$t("order.message.buyInExternalUrl")),1)]),_:1},8,["model-value","title"])}const Fe=M(Oe,[["render",Xe]]);async function Ue(e){const{requirements:t,payerAddress:s,signTransaction:i,signAllTransactions:c,fetchLatestBlockhash:d}=e,{PublicKey:r,Transaction:h,ComputeBudgetProgram:W,TransactionInstruction:$}=await Q(async()=>{const{PublicKey:v,Transaction:_,ComputeBudgetProgram:D,TransactionInstruction:pe}=await import("./vendor-BG5lCpoe.js").then(he=>he.bZ);return{PublicKey:v,Transaction:_,ComputeBudgetProgram:D,TransactionInstruction:pe}},__vite__mapDeps([0,1,2,3,4,5])),{Buffer:b}=await Q(async()=>{const{Buffer:v}=await import("./vendor-BG5lCpoe.js").then(_=>_.i);return{Buffer:v}},__vite__mapDeps([0,1,2,3,4,5])),k=new r("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"),S=new r("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"),C=new r(s),m=new r(String(t.payTo||t.pay_to)),A=new r(String(t.asset)),I=t.extra||{},B=String(I.feePayer||I.fee_payer||"");if(!B)throw new Error("Missing feePayer in Solana payment requirements");if(B===s)throw new Error("Invalid Solana payment: payer wallet must not be the fee payer wallet (switch wallet and try again).");const z=new r(B),j=Number(I.decimals??6),q=Number(I.computeUnitLimit??I.compute_unit_limit??0),w=Number(I.computeUnitPriceMicroLamports??I.compute_unit_price_micro_lamports??I.computeUnitPriceLamports??0),F=BigInt(String(t.maxAmountRequired||t.max_amount_required||"0"));if(F<=0n)throw new Error("Invalid amount");const J=(v,_)=>{const[D]=r.findProgramAddressSync([v.toBuffer(),k.toBuffer(),_.toBuffer()],S);return D},ne=J(C,A),oe=J(m,A),U=new Uint8Array(10);U[0]=12,new DataView(U.buffer).setBigUint64(1,F,!0),U[9]=j;const le=new $({programId:k,keys:[{pubkey:ne,isSigner:!1,isWritable:!0},{pubkey:A,isSigner:!1,isWritable:!1},{pubkey:oe,isSigner:!1,isWritable:!0},{pubkey:C,isSigner:!0,isWritable:!1}],data:b.from(U)}),L=new h;L.feePayer=z,Number.isFinite(q)&&q>0&&L.add(W.setComputeUnitLimit({units:Math.floor(q)})),Number.isFinite(w)&&w>0&&L.add(W.setComputeUnitPrice({microLamports:Math.floor(w)})),L.add(le);const de=String(t.network||"solana").toLowerCase();L.recentBlockhash=await d(de);const G=v=>{if(!v)return"Unknown error";const _=typeof v?.message=="string"?v.message:String(v),D=typeof v?.name=="string"?v.name:"";return D&&D!=="Error"&&!_.startsWith(D)?`${D}: ${_}`:_},K=async()=>{if(!c)return;const v=await c([L]);return Array.isArray(v)?v[0]:void 0};let O;try{i?O=await i(L):O=await K()}catch(v){if(i&&c)try{O=await K()}catch(_){throw new Error(`Solana wallet signing failed: ${G(v)} (fallback failed: ${G(_)})`)}else throw new Error(`Solana wallet signing failed: ${G(v)}`)}if(!O)throw new Error("Solana wallet did not return a signed transaction");const ce=O.serialize({requireAllSignatures:!1,verifySignatures:!1}),Z=b.from(ce).toString("base64"),ue={x402Version:1,scheme:t.scheme||"exact",network:t.network||"solana",payload:{serializedTransaction:Z,transaction:Z}};return btoa(JSON.stringify(ue))}const He=X({name:"X402PayOrderDialog",components:{ElDialog:x,ElButton:ie,ElAlert:ae,ElTag:se,ElIcon:ve,ElRadioGroup:we,ElRadioButton:ge,CreditCard:fe},props:{modelValue:{type:Object,required:!0},session:{type:Object,default:void 0},visible:{type:Boolean,default:!1}},emits:["hide","update:modelValue"],data(){return{signing:!1,paying:!1,chainId:void 0,selectedNetwork:void 0,solanaWalletModalVisible:!1,solanaWalletConnecting:!1,evmWalletModalVisible:!1,evmWalletConnecting:!1,evmWallets:[],selectedEvmWalletId:void 0,evmAddress:void 0,requirementsLoading:!1,runtimeRequirementsByNetwork:{},requirementsAttemptedByNetwork:{}}},computed:{dialogWidth(){return Ee()?"100%":"680px"},acceptsList(){const e=this.session?.accepts;if(Array.isArray(e)&&e.length>0)return e.filter(s=>!!(s&&typeof s=="object"));const t=this.paymentRequirements;return Array.isArray(t)&&t.length>0?t.filter(s=>!!(s&&typeof s=="object")):t&&typeof t=="object"?[t]:[]},selectedNetworkResolved(){return String(this.selectedNetwork||this.acceptsList[0]?.network||"base").toLowerCase()},selectedRequirements(){const e=String(this.selectedNetworkResolved||"").toLowerCase();if(!e)return this.acceptsList[0];const t=this.runtimeRequirementsByNetwork[e];if(t)return t;const s=this.acceptsList.find(i=>String(i.network||"").toLowerCase()===e);if(s)return s;if(!this.selectedNetwork)return this.acceptsList[0]},orderMetadata(){const e=this.modelValue?.metadata;return e&&typeof e=="object"?e:void 0},paymentRequirements(){const e=this.session?.payment_requirements||this.session?.paymentRequirements;if(e&&typeof e=="object")return e;const t=this.orderMetadata?.payment_requirements||this.orderMetadata?.paymentRequirements;if(t&&typeof t=="object")return t},expectedNetwork(){return this.selectedNetworkResolved},expectedNetworkLabel(){return this.formatNetworkLabel(this.expectedNetwork)},isSolanaNetwork(){return!!String(this.selectedNetworkResolved||"").toLowerCase().startsWith("solana")},expectedChainIdHex(){const e={base:"0x2105","base-sepolia":"0x14A34",ethereum:"0x1",sepolia:"0xAA36A7",polygon:"0x89",arbitrum:"0xA4B1",optimism:"0xA",bsc:"0x38",avalanche:"0xA86A"},t=(this.expectedNetwork||"").toLowerCase();return e[t]},networkMismatch(){return this.isSolanaNetwork?!1:!!(this.evmAddress&&this.chainId&&this.expectedChainIdHex&&this.chainId.toLowerCase()!==this.expectedChainIdHex.toLowerCase())},hasEvmProvider(){return this.isSolanaNetwork?!1:this.evmWalletsOrdered.length>0},requirementsAvailable(){return!!this.selectedRequirements},networkOptions(){const e=new Set(this.acceptsList.map(s=>String(s.network||"").toLowerCase()).filter(Boolean));if(e.size===0)return[{network:"base",label:"Base"},{network:"solana",label:"Solana"}];const t=s=>s==="base"?0:s.startsWith("solana")?1:2;return Array.from(e).sort((s,i)=>t(s)-t(i)||s.localeCompare(i)).map(s=>({network:s,label:this.formatNetworkLabel(s)}))},paymentSteps(){const e=this.expectedNetworkLabel||this.expectedNetwork||"";return[String(this.$t("order.message.x402Step1")),String(this.$t("order.message.x402Step2",{network:e})),String(this.$t("order.message.x402Step3")),String(this.$t("order.message.x402Step4"))]},evmConnected(){return!!(this.selectedEvmWalletId&&this.evmAddress)},evmProvider(){if(this.selectedEvmWalletId)return this.evmWallets.find(e=>e.id===this.selectedEvmWalletId)?.provider},selectedEvmWalletName(){if(this.selectedEvmWalletId)return this.evmWallets.find(e=>e.id===this.selectedEvmWalletId)?.name},selectedEvmWalletIcon(){if(this.selectedEvmWalletId)return this.evmWallets.find(e=>e.id===this.selectedEvmWalletId)?.icon},evmWalletsOrdered(){return[...this.evmWallets].sort((e,t)=>e.name.localeCompare(t.name))},solanaConnected(){return!!this.$wallet?.connected?.value},solanaAddress(){const e=this.$wallet?.publicKey?.value;if(!(!e||typeof e.toBase58!="function"))return e.toBase58()},solanaWalletsOrdered(){const e=this.$wallet?.wallets?.value??[],t=s=>s==="Installed"?0:s==="Loadable"?1:s==="NotDetected"?2:3;return[...e].sort((s,i)=>t(s.readyState)-t(i.readyState))},selectedSolanaWalletName(){return this.$wallet?.wallet?.value?.adapter?.name},selectedSolanaWalletIcon(){return this.$wallet?.wallet?.value?.adapter?.icon}},watch:{visible(e){if(!e){this.solanaWalletModalVisible=!1,this.evmWalletModalVisible=!1;return}if(!this.selectedNetwork){const i=this.acceptsList[0]?.network;this.selectedNetwork=String(i||"base").toLowerCase()}const t=new Set(this.networkOptions.map(i=>i.network)),s=String(this.selectedNetwork||"").toLowerCase();if(s&&!t.has(s)){const i=this.networkOptions[0]?.network;i&&(this.selectedNetwork=i)}this.maybeLoadRequirements()},selectedNetwork(){this.visible&&this.maybeLoadRequirements()}},mounted(){this.refreshEvmWallets()},methods:{sleep(e){return new Promise(t=>setTimeout(t,e))},getErrorMessage(e){if(!e)return"";if(typeof e=="string")return e;if(typeof e?.message=="string")return e.message;try{return JSON.stringify(e)}catch{return String(e)}},isRetryableSolanaConnectError(e){if(String(e?.name||"")==="WalletNotSelectedError")return!0;const s=this.getErrorMessage(e).toLowerCase();return s.includes("disconnected port object")||s.includes("failed to send message to service worker")||s.includes("message port closed")||s.includes("extension context invalidated")},async connectSolanaWalletWithRetry(e){const t=this.$wallet;if(!t)throw new Error("Wallet API not available");const s=2;let i;for(let c=1;c<=s;c+=1)try{e&&t.select(e),await Ce(),await t.connect();return}catch(d){if(i=d,c<s&&this.isRetryableSolanaConnectError(d)){const h=String(d?.name||"")==="WalletNotSelectedError"?0:300;h&&await this.sleep(h);continue}throw d}throw i},formatNetworkLabel(e){const t=String(e||"").toLowerCase();return t==="base"?"Base":t==="solana"?"Solana":t==="solana-devnet"?"Solana Devnet":t==="ethereum"?"Ethereum":t==="sepolia"?"Sepolia":t==="polygon"?"Polygon":t==="arbitrum"?"Arbitrum":t==="optimism"?"Optimism":t==="bsc"?"BNB Chain":t==="avalanche"?"Avalanche":e||"Unknown"},async confirmPay(e){const t=e||this.expectedNetworkLabel||this.expectedNetwork||"",s=String(this.$t?.("order.message.x402ConfirmTitle")||"Confirm Payment"),i=String(this.$t?.("order.message.x402ConfirmDesc",{network:t})||`Confirm USDC payment on ${t}?`),c=String(this.$t?.("common.button.pay")||"Pay"),d=String(this.$t?.("common.button.cancel")||"Cancel");return be.confirm(i,s,{confirmButtonText:c,cancelButtonText:d,type:"warning"}).then(()=>!0).catch(()=>!1)},async onSelectSolanaWallet(e){if(!this.solanaWalletConnecting&&e?.adapter?.name){this.solanaWalletConnecting=!0;try{await this.connectSolanaWalletWithRetry(e.adapter.name),this.solanaWalletModalVisible=!1}catch(t){console.warn("wallet connect failed",t),E.error(String(this.$t?.("coin.message.connectError")||"Wallet connect failed"))}finally{this.solanaWalletConnecting=!1}}},async disconnectSolanaWallet(){try{await this.$wallet.disconnect()}catch{}},openEvmWalletModal(){this.evmWalletModalVisible=!0,this.refreshEvmWallets()},async refreshEvmWallets(){if(typeof window>"u")return;const e=new Map,t=s=>{const i=s?.detail,c=i?.info,d=i?.provider;if(!c||!d)return;const r=String(c.uuid||c.rdns||c.name||"");r&&(e.has(r)||e.set(r,{id:r,name:String(c.name||"Wallet"),icon:typeof c.icon=="string"?c.icon:void 0,provider:d}))};try{window.addEventListener("eip6963:announceProvider",t),window.dispatchEvent(new Event("eip6963:requestProvider")),await new Promise(s=>window.setTimeout(s,120))}finally{window.removeEventListener("eip6963:announceProvider",t)}if(e.size===0){const s=window.ethereum;(Array.isArray(s?.providers)?s.providers:s?[s]:[]).forEach((c,d)=>{if(!c)return;let r="Injected";c.isMetaMask?r="MetaMask":c.isCoinbaseWallet?r="Coinbase Wallet":c.isBraveWallet?r="Brave Wallet":c.isRabby?r="Rabby":c.isPhantom&&(r="Phantom");const h=`injected:${r}:${d}`;e.set(h,{id:h,name:r,icon:void 0,provider:c})})}this.evmWallets=Array.from(e.values())},async onSelectEvmWallet(e){if(e?.provider){this.evmWalletModalVisible=!1,this.evmWalletConnecting=!0;try{const t=await e.provider.request({method:"eth_requestAccounts"}),s=Array.isArray(t)?t[0]:void 0;if(!s)throw new Error("No account returned from wallet");this.selectedEvmWalletId=e.id,this.evmAddress=s,await this.refreshChainId(),await this.ensureNetwork()}catch(t){console.warn("EVM wallet connect failed",t),E.error(String(this.$t?.("coin.message.connectError")||"Wallet connect failed")),this.disconnectEvmWallet()}finally{this.evmWalletConnecting=!1}}},disconnectEvmWallet(){this.selectedEvmWalletId=void 0,this.evmAddress=void 0,this.chainId=void 0},async getFreshRequirements(){const e=this.selectedRequirements;if(e)return e;try{const s=(await V.pay(this.modelValue.id,{pay_way:"X402"}))?.data,i=Array.isArray(s?.accepts)?s.accepts:void 0,c=String(this.selectedNetworkResolved||"").toLowerCase();if(Array.isArray(i)&&i.length){const r=i.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:i[0])}const d=s?.payment_requirements;if(Array.isArray(d)&&d.length){const r=d.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:d[0])}return d&&typeof d=="object"?d:void 0}catch(t){const s=t?.response?.data;if(s){const i=Array.isArray(s?.accepts)?s.accepts:void 0,c=String(this.selectedNetworkResolved||"").toLowerCase();if(Array.isArray(i)&&i.length){const r=i.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:i[0])}const d=s?.payment_requirements;if(Array.isArray(d)&&d.length){const r=d.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:d[0])}if(d&&typeof d=="object")return d}return}},async maybeLoadRequirements(e=!1){const t=String(this.selectedNetworkResolved||"").toLowerCase();if(!(!t||this.runtimeRequirementsByNetwork[t]||this.acceptsList.some(i=>String(i.network||"").toLowerCase()===t))&&!(!e&&this.requirementsAttemptedByNetwork[t])){this.requirementsAttemptedByNetwork[t]=!0,this.requirementsLoading=!0;try{const i=await this.getFreshRequirements();i&&(this.runtimeRequirementsByNetwork[t]=i)}finally{this.requirementsLoading=!1}}},async refreshChainId(){if(this.evmProvider)try{const e=await this.evmProvider.request({method:"eth_chainId"});typeof e=="string"&&(this.chainId=e)}catch{}},async ensureNetwork(){if(!(!this.evmProvider||!this.expectedChainIdHex)&&(await this.refreshChainId(),!(this.chainId&&this.chainId.toLowerCase()===this.expectedChainIdHex.toLowerCase()))){try{await this.evmProvider.request({method:"wallet_switchEthereumChain",params:[{chainId:this.expectedChainIdHex}]})}catch{try{await this.evmProvider.request({method:"wallet_addEthereumChain",params:[this.getExpectedChainParams()]})}catch(e){console.error("Failed to add Ethereum chain:",e);try{const t=this.$t&&this.$t("order.message.x402NetworkSwitchFailed")||"Your wallet does not support automatic network switching. Please switch to the required network in the wallet and try again.";E.warning(t)}catch{}}}await this.refreshChainId()}},getExpectedChainParams(){const e={base:{chainId:"0x2105",chainName:"Base",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:["https://mainnet.base.org"],blockExplorerUrls:["https://basescan.org"]},"base-sepolia":{chainId:"0x14A34",chainName:"Base Sepolia",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:["https://sepolia.base.org"],blockExplorerUrls:["https://sepolia.basescan.org"]}},t=(this.expectedNetwork||"").toLowerCase();return e[t]||{chainId:this.expectedChainIdHex}},buildTypedData(e,t){const s=e?.extra||{};return{types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],TransferWithAuthorization:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"validAfter",type:"uint256"},{name:"validBefore",type:"uint256"},{name:"nonce",type:"bytes32"}]},primaryType:"TransferWithAuthorization",domain:{name:s?.name||"USD Coin",version:s?.version||"2",chainId:parseInt(this.expectedChainIdHex||"0x0",16),verifyingContract:e.asset},message:t}},randomNonce32(){const e=new Uint8Array(32);return crypto.getRandomValues(e),"0x"+Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")},async onPayWithSolanaWallet(){if(!this.modelValue?.id)return;const e=this.solanaAddress;if(!e){E.error(String(this.$t?.("order.message.x402NeedConnectAccount")||"Please connect a wallet first."));return}if(!this.requirementsAvailable){E.error(String(this.$t?.("order.message.x402SolanaNotEnabled")||"Solana payment is not available."));return}this.signing=!0;try{if(!await this.confirmPay(this.expectedNetworkLabel))return;let s=await this.getFreshRequirements();if(s||(s=this.selectedRequirements),!s){E.error(String(this.$t?.("order.message.x402PaymentFailed")||"X402 payment failed."));return}const i=this.$wallet?.wallet?.value?.adapter;if(!i?.signTransaction&&!i?.signAllTransactions)throw new Error("Wallet does not support signing transactions");const c=await Ue({requirements:s,payerAddress:e,signTransaction:i.signTransaction?i.signTransaction.bind(i):void 0,signAllTransactions:i.signAllTransactions?i.signAllTransactions.bind(i):void 0,fetchLatestBlockhash:r=>this.fetchSolanaLatestBlockhash(r)});this.paying=!0;const{data:d}=await V.payX402WithHeader(this.modelValue.id,{pay_way:"X402"},c);this.$emit("update:modelValue",d),this.$emit("hide")}catch(t){const s=t?.response?.data,i=s?.error||s?.detail||"X402 wallet payment failed.";E.error(String(i))}finally{this.signing=!1,this.paying=!1}},async fetchSolanaLatestBlockhash(e){const{data:t}=await me.get("/x402/solana/latest-blockhash/",{params:{network:e||"solana"}}),s=t?.blockhash;if(!s||typeof s!="string")throw new Error("Invalid blockhash response");return s},async onPayWithWallet(){if(!this.modelValue?.id||!this.evmProvider||!this.evmAddress){const e=this.$t&&this.$t("order.message.x402PaymentFailed")||"X402 wallet payment is not available right now. Please try again later.";E.error(e);return}this.signing=!0;try{let e=await this.getFreshRequirements();if(e||(e=this.selectedRequirements),!e){const S=this.$t&&this.$t("order.message.x402PaymentFailed")||"X402 wallet payment failed. Please try again later.";E.error(S);return}if(await this.ensureNetwork(),this.networkMismatch){E.warning(String(this.$t?.("order.message.x402SwitchNetwork",{network:this.expectedNetworkLabel||this.expectedNetwork})||"Please switch your wallet network and try again."));return}if(!await this.confirmPay(this.expectedNetworkLabel))return;const s=Math.floor(Date.now()/1e3),i=Number(e?.maxTimeoutSeconds||e?.max_timeout_seconds||120),c=BigInt(e?.maxAmountRequired||e?.max_amount_required||0).toString(),d={from:this.evmAddress,to:e.payTo||e.pay_to,value:c,validAfter:s,validBefore:s+i,nonce:this.randomNonce32()},r=this.buildTypedData(e,d),h=await this.evmProvider.request({method:"eth_signTypedData_v4",params:[this.evmAddress,JSON.stringify(r)]}),W={from:d.from,to:d.to,value:d.value,validAfter:String(d.validAfter),validBefore:String(d.validBefore),nonce:d.nonce},$={x402Version:1,scheme:e.scheme||"exact",network:e.network||this.expectedNetwork||"base",payload:{authorization:W,signature:h}},b=btoa(JSON.stringify($));this.paying=!0;const{data:k}=await V.payX402WithHeader(this.modelValue.id,{pay_way:"X402"},b);this.$emit("update:modelValue",k),this.$emit("hide")}catch(e){let t;const s=e?.response?.data;if(s){const i=s?.error||s?.detail;typeof i=="string"&&(t=i)}t||(t=this.$t&&this.$t("order.message.x402PaymentFailed")||"X402 wallet payment failed. Please try again later.");try{E.error(t)}catch{}}finally{this.signing=!1,this.paying=!1}}}}),xe={class:"x402-content"},ze={class:"x402-intro"},je={class:"x402-intro-text"},Ge={class:"x402-wallet"},Je={class:"x402-wallet-head"},Ke={class:"x402-network"},Ze={class:"x402-network-label"},Qe={key:1,class:"x402-requirements-actions"},Ye={class:"x402-wallet-card"},et={class:"x402-wallet-card-head"},tt={key:0,class:"x402-wallet-card-sub x402-wallet-name"},st=["src","alt"],at={key:1,class:"x402-wallet-card-sub"},it={class:"x402-wallet-card-actions"},rt={class:"x402-actions"},nt={class:"x402-wallet-card"},ot={class:"x402-wallet-card-head"},lt={key:0,class:"x402-wallet-card-sub x402-wallet-name"},dt=["src","alt"],ct={key:1,class:"x402-wallet-card-sub"},ut={class:"x402-wallet-card-actions"},pt={class:"x402-actions"},ht={class:"x402-steps"},mt={class:"x402-steps-title"},yt={class:"x402-steps-list"},ft={class:"x402-step-index"},gt={class:"x402-step-text"},wt={class:"wallet-list"},vt=["disabled","onClick"],bt=["src","alt"],kt={class:"wallet-list-name"},Pt={key:1,class:"wallet-list-status"},St={class:"wallet-list"},Wt=["disabled","onClick"],$t=["src","alt"],Ct={class:"wallet-list-name"},At={key:0,class:"text-center text-[13px] text-[var(--el-text-color-regular)]"};function _t(e,t,s,i,c,d){const r=f("credit-card"),h=f("el-icon"),W=f("el-radio-button"),$=f("el-radio-group"),b=f("el-alert"),k=f("el-button"),S=f("el-tag"),C=f("el-dialog");return a(),p(R,null,[u(C,{"model-value":e.visible,title:e.$t("order.title.x402"),width:e.dialogWidth,top:"8vh",class:"x402-dialog"},{default:n(()=>[o("section",xe,[o("header",ze,[u(h,{size:20,class:"x402-intro-icon"},{default:n(()=>[u(r)]),_:1}),o("p",je,l(e.$t("order.message.x402IntroShort")),1)]),o("section",Ge,[o("div",Je,[o("div",Ke,[o("span",Ze,l(e.$t("order.message.x402IntegrationNetworkLabel")),1),u($,{modelValue:e.selectedNetwork,"onUpdate:modelValue":t[0]||(t[0]=m=>e.selectedNetwork=m),size:"small",class:"x402-network-group"},{default:n(()=>[(a(!0),p(R,null,T(e.networkOptions,m=>(a(),g(W,{key:m.network,label:m.network},{default:n(()=>[P(l(m.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])]),e.selectedNetworkResolved==="solana"&&!e.selectedRequirements&&!e.requirementsLoading?(a(),g(b,{key:0,type:"info",closable:!1,class:"x402-alert",description:e.$t("order.message.x402SolanaNotEnabled")},null,8,["description"])):y("",!0),!e.selectedRequirements&&!e.requirementsLoading?(a(),p("div",Qe,[u(k,{link:"",type:"primary",size:"small",onClick:t[1]||(t[1]=m=>e.maybeLoadRequirements(!0))},{default:n(()=>[P(l(e.$t("common.button.refresh")),1)]),_:1})])):y("",!0),e.isSolanaNetwork?(a(),p(R,{key:2},[o("div",Ye,[o("div",et,[t[5]||(t[5]=o("span",{class:"x402-wallet-card-title"},"Solana Wallet",-1)),e.solanaConnected?(a(),g(S,{key:0,class:"x402-wallet-card-tag"},{default:n(()=>[P(l(e.$t("order.message.x402WalletConnected")),1)]),_:1})):y("",!0)]),e.solanaConnected&&e.selectedSolanaWalletName?(a(),p("div",tt,[e.selectedSolanaWalletIcon?(a(),p("img",{key:0,class:"wallet-list-icon",src:e.selectedSolanaWalletIcon,alt:e.selectedSolanaWalletName},null,8,st)):y("",!0),o("span",null,l(e.selectedSolanaWalletName),1)])):y("",!0),e.solanaConnected&&e.solanaAddress?(a(),p("div",at,l(e.solanaAddress.substring(0,10))+"..."+l(e.solanaAddress.substring(e.solanaAddress.length-10)),1)):y("",!0),o("div",it,[e.solanaConnected?(a(),g(k,{key:1,onClick:e.disconnectSolanaWallet},{default:n(()=>[P(l(e.$t("coin.button.disconnect")),1)]),_:1},8,["onClick"])):(a(),g(k,{key:0,type:"primary",onClick:t[2]||(t[2]=m=>e.solanaWalletModalVisible=!0)},{default:n(()=>[P(l(e.$t("order.message.x402ConnectWallet")),1)]),_:1}))])]),o("div",rt,[u(k,{type:"primary",disabled:!e.solanaConnected||!e.solanaAddress||!e.requirementsAvailable,loading:e.signing||e.paying,onClick:e.onPayWithSolanaWallet},{default:n(()=>[P(l(e.$t("order.message.x402WalletPayCta")),1)]),_:1},8,["disabled","loading","onClick"])])],64)):(a(),p(R,{key:3},[o("div",nt,[o("div",ot,[t[6]||(t[6]=o("span",{class:"x402-wallet-card-title"},"EVM Wallet",-1)),e.evmConnected?(a(),g(S,{key:0,class:"x402-wallet-card-tag"},{default:n(()=>[P(l(e.$t("order.message.x402WalletConnected")),1)]),_:1})):y("",!0)]),e.evmConnected&&e.selectedEvmWalletName?(a(),p("div",lt,[e.selectedEvmWalletIcon?(a(),p("img",{key:0,class:"wallet-list-icon",src:e.selectedEvmWalletIcon,alt:e.selectedEvmWalletName},null,8,dt)):y("",!0),o("span",null,l(e.selectedEvmWalletName),1)])):y("",!0),e.evmConnected&&e.evmAddress?(a(),p("div",ct,l(e.evmAddress.substring(0,10))+"..."+l(e.evmAddress.substring(e.evmAddress.length-10)),1)):y("",!0),o("div",ut,[e.evmConnected?(a(),g(k,{key:1,onClick:e.disconnectEvmWallet},{default:n(()=>[P(l(e.$t("coin.button.disconnect")),1)]),_:1},8,["onClick"])):(a(),g(k,{key:0,type:"primary",onClick:e.openEvmWalletModal},{default:n(()=>[P(l(e.$t("order.message.x402ConnectWallet")),1)]),_:1},8,["onClick"]))])]),e.hasEvmProvider?e.networkMismatch?(a(),g(b,{key:1,type:"warning",closable:!1,"show-icon":"",class:"x402-alert",title:e.$t("order.message.x402SwitchNetwork",{network:e.expectedNetworkLabel||e.expectedNetwork})},null,8,["title"])):y("",!0):(a(),g(b,{key:0,type:"info",closable:!1,class:"x402-alert",description:e.$t("order.message.x402NoWalletDesc")},null,8,["description"])),o("div",pt,[e.hasEvmProvider?(a(),g(k,{key:0,type:"primary",disabled:!e.evmConnected||!e.requirementsAvailable||e.networkMismatch,loading:e.signing||e.paying,onClick:e.onPayWithWallet},{default:n(()=>[P(l(e.$t("order.message.x402WalletPayCta")),1)]),_:1},8,["disabled","loading","onClick"])):y("",!0)])],64)),o("div",ht,[o("div",mt,l(e.$t("order.message.x402StepsTitle")),1),o("ol",yt,[(a(!0),p(R,null,T(e.paymentSteps,(m,A)=>(a(),p("li",{key:A,class:"x402-step"},[o("span",ft,l(A+1),1),o("span",gt,l(m),1)]))),128))])])])])]),_:1},8,["model-value","title","width"]),u(C,{modelValue:e.solanaWalletModalVisible,"onUpdate:modelValue":t[3]||(t[3]=m=>e.solanaWalletModalVisible=m),title:e.$t("order.message.x402ConnectWallet"),width:"420px","align-center":""},{default:n(()=>[o("div",wt,[(a(!0),p(R,null,T(e.solanaWalletsOrdered,m=>(a(),p("button",{key:m.adapter.name,class:"wallet-list-item",disabled:e.solanaWalletConnecting,onClick:A=>e.onSelectSolanaWallet(m)},[m.adapter.icon?(a(),p("img",{key:0,class:"wallet-list-icon",src:m.adapter.icon,alt:m.adapter.name},null,8,bt)):y("",!0),o("span",kt,l(m.adapter.name),1),m.readyState==="Installed"?(a(),p("span",Pt,"Detected")):y("",!0)],8,vt))),128))])]),_:1},8,["modelValue","title"]),u(C,{modelValue:e.evmWalletModalVisible,"onUpdate:modelValue":t[4]||(t[4]=m=>e.evmWalletModalVisible=m),title:e.$t("order.message.x402ConnectWallet"),width:"420px","align-center":""},{default:n(()=>[o("div",St,[(a(!0),p(R,null,T(e.evmWalletsOrdered,m=>(a(),p("button",{key:m.id,class:"wallet-list-item",disabled:e.evmWalletConnecting,onClick:A=>e.onSelectEvmWallet(m)},[m.icon?(a(),p("img",{key:0,class:"wallet-list-icon",src:m.icon,alt:m.name},null,8,$t)):y("",!0),o("span",Ct,l(m.name),1),t[7]||(t[7]=o("span",{class:"wallet-list-status"},"Detected",-1))],8,Wt))),128)),e.evmWalletsOrdered.length===0?(a(),p("div",At,l(e.$t("order.message.x402NoWalletDesc")),1)):y("",!0)])]),_:1},8,["modelValue","title"])],64)}const Et=M(He,[["render",_t],["__scopeId","data-v-13c47121"]]),Nt=7e3,Y=2e3;var re=(e=>(e.WechatPay="WechatPay",e.Stripe="Stripe",e.AliPay="AliPay",e.X402="X402",e))(re||{});const It=X({name:"ConsoleOrderDetail",components:{ElButton:ie,CopyToClipboard:_e,ElRow:te,ElCard:$e,ElCol:ee,ElSkeleton:We,ElDivider:Se,ElAlert:ae,ElDescriptions:Pe,ElDescriptionsItem:ke,ElTag:se,WechatPayOrder:De,StripePayOrder:qe,AlipayPayOrder:Fe,X402PayOrder:Et},data(){return{PayWay:re,payWay:"WechatPay",OrderState:N,order:void 0,x402Session:void 0,showPayWays:!0,loading:!1,paying:!1,prepaying:!1}},computed:{config(){return this.$store.getters.config},id(){return this.$route.params?.id?.toString()},redirect(){return this.$route.query?.redirect},pricingInfo(){const e=this.order?.metadata?.pricing||{},t=S=>typeof S=="number"&&Number.isFinite(S)?S:void 0,s=t(e?.original_price),i=t(e?.discounted_price),c=t(e?.discount_rate),d=t(e?.discount_rate_vip),r=t(e?.discount_rate_x402),h=t(this.order?.price),W=s??h??0,$=i??h??W,b=t(this.order?.discount)??c??0,k=Array.isArray(e?.discounted_methods)?e.discounted_methods.filter(S=>typeof S=="string"&&S.length>0):[];return{original:W,discounted:$,discountRate:b,discountedMethods:k,discountRateVip:d,discountRateX402:r}},appliedDiscountMethods(){return this.pricingInfo.discountedMethods||[]},hasVipApplied(){return this.appliedDiscountMethods.includes("vip")},hasX402Applied(){return this.appliedDiscountMethods.includes("x402")},pendingX402Preview(){return this.payWay==="X402"&&this.order?.pay_way!=="X402"&&this.x402DiscountRate>0},finalOriginalPrice(){return this.pricingInfo.original||0},baseEffectivePrice(){const e=this.order?.price;return typeof e=="number"&&Number.isFinite(e)?e:this.pricingInfo.discounted},previewX402Price(){const e=this.baseEffectivePrice||0,t=this.x402DiscountRate;return!t||t<=0?e:e*(1-t)},finalDiscountedPrice(){return this.pendingX402Preview?this.previewX402Price:this.baseEffectivePrice},showOriginalPrice(){return this.finalOriginalPrice<=0?!1:this.finalOriginalPrice>this.finalDiscountedPrice},totalDiscountRate(){const e=this.pricingInfo.discountRate??0;return this.pendingX402Preview?1-(1-e)*(1-this.x402DiscountRate):e},hasAnyDiscount(){return this.totalDiscountRate>0},discountBadges(){const e=[];return this.hasVipApplied&&this.vipDiscountPercent&&e.push({key:"vip",text:this.$t("order.message.discountTag",{percent:this.vipDiscountPercent}).toString(),type:"success"}),this.shouldDisplayX402Badge&&this.x402BadgePercent&&e.push({key:"x402",text:this.$t("order.message.x402DiscountTag",{percent:this.x402BadgePercent}).toString(),type:"success"}),e},discountHints(){const e=[];return this.hasVipApplied&&this.vipDiscountPercent&&e.push(this.$t("order.message.discountHint",{percent:this.vipDiscountPercent}).toString()),this.hasX402Applied&&this.x402AppliedPercent?e.push(this.$t("order.message.x402DiscountApplied",{percent:this.x402AppliedPercent}).toString()):this.pendingX402Preview&&this.x402BadgePercent&&e.push(this.$t("order.message.x402DiscountHint",{percent:this.x402BadgePercent}).toString()),e},x402DiscountRate(){const e=this.config?.features?.DISCOUNT_FOR_X402;return typeof e=="number"&&Number.isFinite(e)&&e>0?e:0},vipDiscountPercent(){const e=(this.pricingInfo.discountRateVip??0)*100;return!Number.isFinite(e)||e<=0?"":Number.isInteger(e)?e.toFixed(0):e.toFixed(1)},x402AppliedPercent(){const t=(this.pricingInfo.discountRateX402??0)*100;return!Number.isFinite(t)||t<=0?"":Number.isInteger(t)?t.toFixed(0):t.toFixed(1)},x402BadgePercent(){const t=(this.hasX402Applied?this.pricingInfo.discountRateX402??this.x402DiscountRate:this.x402DiscountRate)*100;return!Number.isFinite(t)||t<=0?"":Number.isInteger(t)?t.toFixed(0):t.toFixed(1)},shouldDisplayX402Badge(){return this.hasX402Applied||this.pendingX402Preview},shouldShowPriceBlock(){return this.finalOriginalPrice>0||this.finalDiscountedPrice>0||this.hasAnyDiscount||this.pendingX402Preview},orderFailedReason(){if(!this.order||this.order.state!==N.FAILED)return;const t=(this.order.metadata||{})?.x402?.last_error||{};return(typeof t.reason=="string"?t.reason.trim():"")||void 0}},watch:{paying(e){e?this.startOrderPolling():this.stopOrderPolling()},order:{handler(e){if(e?.state===N.PAID){this.x402Session=void 0,setTimeout(()=>{this.redirect&&window.location.replace(this.redirect?.toString())},2e3);return}e?.state&&e.state!==N.PENDING&&e.state!==N.FAILED&&(this.x402Session=void 0)},deep:!0},payWay(e){e!=="X402"&&(this.x402Session=void 0)}},created(){this._orderRefreshTimer=void 0},mounted(){this.onFetchData()},beforeUnmount(){this.stopOrderPolling()},methods:{getPriceString:Ae,startOrderPolling(e=0){this.stopOrderPolling();const t=async()=>{try{const{data:s}=await V.refresh(this.id);if(this.order=s,s?.state===N.PAID||s?.state===N.FAILED||s?.state===N.EXPIRED){this.paying=!1,this.stopOrderPolling();return}}catch{}this.paying&&(this._orderRefreshTimer=window.setTimeout(t,Nt))};this._orderRefreshTimer=window.setTimeout(t,e)},stopOrderPolling(){const e=this._orderRefreshTimer;e&&(clearTimeout(e),this._orderRefreshTimer=void 0)},onFetchData(){this.loading=!0,V.refresh(this.id).then(({data:e})=>{this.order=e,e.pay_way&&(this.payWay=e.pay_way),this.loading=!1}).catch(()=>{this.loading=!1})},onRepay(){this.payWay==="X402"&&(this.x402Session=void 0),this.paying=!0,this.startOrderPolling()},onPay(){this.prepaying=!0,this.payWay==="X402"&&(this.x402Session=void 0),V.pay(this.id,{pay_way:this.payWay}).then(({data:e})=>{if(this.prepaying=!1,e?.id&&(this.order=e),this.payWay==="X402"&&e){const t=e;t.accepts&&(this.x402Session=t)}(this.order&&this.order.price&&this.order.price>0||this.payWay==="X402")&&(this.paying=!0,this.startOrderPolling(Y))}).catch(e=>{this.prepaying=!1;const t=e?.response?.data;if(this.payWay==="X402"&&t){this.x402Session=t,this.paying=!0,this.startOrderPolling(Y);return}})}}}),Rt={class:"title"},Vt={key:0,class:"pt-5"},Dt={key:1,class:"order"},Lt={key:0},Tt={key:1},Bt={key:2},qt={key:3},Ot={key:0,class:"price-block"},Mt={class:"price-line"},Xt={key:0,class:"price original"},Ft={class:"price current unfree"},Ut={key:1,class:"price free"},Ht={key:0,class:"payways mb-6"},xt={class:"payname"},zt={class:"payname"},jt={class:"payname"},Gt={class:"payname"},Jt={key:1},Kt={key:2};function Zt(e,t,s,i,c,d){const r=f("el-col"),h=f("el-row"),W=f("el-skeleton"),$=f("copy-to-clipboard"),b=f("el-descriptions-item"),k=f("el-tag"),S=f("el-descriptions"),C=f("el-divider"),m=f("el-alert"),A=f("el-button"),I=f("el-card"),B=f("wechat-pay-order"),z=f("stripe-pay-order"),j=f("alipay-pay-order"),q=f("x402-pay-order");return a(),g(h,{class:"panel"},{default:n(()=>[u(r,{span:24},{default:n(()=>[u(h,null,{default:n(()=>[u(r,{span:24},{default:n(()=>[o("h2",Rt,l(e.$t("order.title.info")),1)]),_:1})]),_:1}),u(h,null,{default:n(()=>[u(r,{span:24},{default:n(()=>[u(I,{shadow:"hover"},{default:n(()=>[u(h,null,{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[e.loading?(a(),p("div",Vt,[u(W,{animated:""})])):(a(),p("div",Dt,[u(S,{column:1},{default:n(()=>[u(b,{label:e.$t("order.field.id")},{default:n(()=>[o("span",null,l(e.order?.id),1),e.order?.id?(a(),g($,{key:0,content:e.order?.id,class:"inline-block"},null,8,["content"])):y("",!0)]),_:1},8,["label"]),u(b,{label:e.$t("order.field.description")},{default:n(()=>[P(l(e.order?.description),1)]),_:1},8,["label"]),e.order?.application?.service?(a(),g(b,{key:0,label:e.$t("order.field.api")},{default:n(()=>[P(l(e.order?.application?.service?.title),1)]),_:1},8,["label"])):y("",!0),e.order?.pay_way?(a(),g(b,{key:1,label:e.$t("order.field.payWay")},{default:n(()=>[e.order?.pay_way===e.PayWay.WechatPay?(a(),p("span",Lt,l(e.$t("order.title.wechatPay")),1)):e.order?.pay_way===e.PayWay.Stripe?(a(),p("span",Tt,l(e.$t("order.title.stripe")),1)):e.order?.pay_way===e.PayWay.AliPay?(a(),p("span",Bt,l(e.$t("order.title.aliPay")),1)):e.order?.pay_way===e.PayWay.X402?(a(),p("span",qt,l(e.$t("order.title.x402")),1)):y("",!0)]),_:1},8,["label"])):y("",!0),u(b,{label:e.$t("order.field.createdAt")},{default:n(()=>[P(l(e.$dayjs.format(e.order?.created_at)),1)]),_:1},8,["label"]),u(b,{label:e.$t("order.field.price")},{default:n(()=>[e.shouldShowPriceBlock?(a(),p("div",Ot,[o("div",Mt,[e.showOriginalPrice?(a(),p("span",Xt,l(e.getPriceString({value:e.finalOriginalPrice})),1)):y("",!0),o("span",Ft,l(e.getPriceString({value:e.finalDiscountedPrice})),1),(a(!0),p(R,null,T(e.discountBadges,w=>(a(),g(k,{key:w.key,class:"discount-tag",effect:"light",size:"small",type:w.type},{default:n(()=>[P(l(w.text),1)]),_:2},1032,["type"]))),128))]),(a(!0),p(R,null,T(e.discountHints,(w,F)=>(a(),p("p",{key:F,class:"discount-hint"},l(w),1))),128))])):(a(),p("span",Ut,l(e.$t("order.message.free")),1))]),_:1},8,["label"])]),_:1})]))]),_:1})]),_:1}),e.order?.state===e.OrderState.PAID||e.order?.state===e.OrderState.FINISHED?(a(),g(h,{key:0,class:"mb-5"},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),u(m,{title:e.$t("order.message.paidSuccessfully"),type:"success","show-icon":"",closable:!1},null,8,["title"])]),_:1})]),_:1})):y("",!0),e.order?.state===e.OrderState.EXPIRED?(a(),g(h,{key:1,class:"mb-5"},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),u(m,{title:e.$t("order.message.orderExpired"),type:"error","show-icon":"",closable:!1},null,8,["title"])]),_:1})]),_:1})):y("",!0),e.order?.state===e.OrderState.FAILED?(a(),g(h,{key:2,class:"mb-5"},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),u(m,{title:e.$t("order.state.failed"),description:e.orderFailedReason,type:"error","show-icon":"",closable:!1},null,8,["title","description"])]),_:1})]),_:1})):y("",!0),e.order?.state===e.OrderState.PENDING?(a(),g(h,{key:3},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),e.showPayWays&&e.order.price&&e.order.price>0&&!e.order.pay_way?(a(),p("div",Ht,[o("div",{class:H({payway:!0,wechatpay:!0,active:e.payWay===e.PayWay.WechatPay}),onClick:t[0]||(t[0]=w=>e.payWay=e.PayWay.WechatPay)},[t[12]||(t[12]=o("span",{class:"payicon wechatpay"},null,-1)),o("span",xt,l(e.$t("order.title.wechatPay")),1)],2),o("div",{class:H({payway:!0,alipay:!0,active:e.payWay===e.PayWay.AliPay}),onClick:t[1]||(t[1]=w=>e.payWay=e.PayWay.AliPay)},[t[13]||(t[13]=o("span",{class:"payicon alipay"},null,-1)),o("span",zt,l(e.$t("order.title.aliPay")),1)],2),o("div",{class:H({payway:!0,stripe:!0,active:e.payWay===e.PayWay.Stripe}),onClick:t[2]||(t[2]=w=>e.payWay=e.PayWay.Stripe)},[t[14]||(t[14]=o("span",{class:"payicon stripe"},null,-1)),o("span",jt,l(e.$t("order.title.stripe")),1)],2),o("div",{class:H({payway:!0,x402:!0,relative:!0,active:e.payWay===e.PayWay.X402}),onClick:t[3]||(t[3]=w=>e.payWay=e.PayWay.X402)},[t[15]||(t[15]=o("span",{class:"payicon x402"},null,-1)),o("span",Gt,l(e.$t("order.title.x402")),1),e.x402DiscountRate>0?(a(),g(k,{key:0,class:"absolute -top-2 right-0",effect:"light",size:"small",type:"success"},{default:n(()=>[P(l(e.$t("order.message.x402DiscountTag",{percent:e.x402BadgePercent})),1)]),_:1})):y("",!0)],2)])):y("",!0),e.order?.pay_way?(a(),p("div",Kt,[u(A,{type:"primary",round:"",size:"large",class:"btn-repay",onClick:e.onRepay},{default:n(()=>[P(l(e.$t("common.button.repay")),1)]),_:1},8,["onClick"])])):(a(),p("div",Jt,[u(A,{loading:e.prepaying,round:"",type:"primary",size:"large",class:"btn-pay",onClick:e.onPay},{default:n(()=>[P(l(e.$t("common.button.pay")),1)]),_:1},8,["loading","onClick"])]))]),_:1})]),_:1})):y("",!0)]),_:1})]),_:1})]),_:1}),u(h,null,{default:n(()=>[u(r,{span:24},{default:n(()=>[e.order&&e.payWay===e.PayWay.WechatPay?(a(),g(B,{key:0,modelValue:e.order,"onUpdate:modelValue":t[4]||(t[4]=w=>e.order=w),visible:e.paying,onHide:t[5]||(t[5]=w=>e.paying=!1)},null,8,["modelValue","visible"])):y("",!0),e.order&&e.payWay===e.PayWay.Stripe?(a(),g(z,{key:1,modelValue:e.order,"onUpdate:modelValue":t[6]||(t[6]=w=>e.order=w),visible:e.paying,onHide:t[7]||(t[7]=w=>e.paying=!1)},null,8,["modelValue","visible"])):y("",!0),e.order&&e.payWay===e.PayWay.AliPay?(a(),g(j,{key:2,modelValue:e.order,"onUpdate:modelValue":t[8]||(t[8]=w=>e.order=w),visible:e.paying,onHide:t[9]||(t[9]=w=>e.paying=!1)},null,8,["modelValue","visible"])):y("",!0),e.order&&e.payWay===e.PayWay.X402?(a(),g(q,{key:3,modelValue:e.order,"onUpdate:modelValue":t[10]||(t[10]=w=>e.order=w),session:e.x402Session,visible:e.paying,onHide:t[11]||(t[11]=w=>e.paying=!1)},null,8,["modelValue","session","visible"])):y("",!0)]),_:1})]),_:1})]),_:1})]),_:1})}const cs=M(It,[["render",Zt],["__scopeId","data-v-0cc9f57e"]]);export{cs as default};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-BVnhgPs4.js","assets/vendor-vue-Bb02XvLT.js","assets/vendor-dayjs-C40ROiFS.js","assets/vendor-katex-DHBGsivc.js","assets/vendor-katex-CIur2ABi.css","assets/vendor-Cp-P0JlL.css"])))=>i.map(i=>d[i]);
2
+ import{o as V}from"./order-CCQxecEz.js";import{_ as M,T as me}from"./index-Dn72Szn0.js";import{O as N}from"./order-CB3uOPHS.js";import{ae as ye,a5 as Y,bO as fe}from"./vendor-BVnhgPs4.js";import{w as ee,x as te,E as x,z as ge,A as we,e as ve,a as se,B as ae,o as ie,r as E,C as be,D as ke,F as Pe,m as Se,G as We,s as $e}from"./vendor-element-plus-BUOzLm6W.js";import{d as X,R as g,S as n,l as u,al as f,a as o,W as y,Z as l,o as a,p as Ce,c as p,F as R,ai as T,Y as P,V as H}from"./vendor-vue-Bb02XvLT.js";import{g as Ae}from"./price-7kPhVK1M.js";import{C as _e}from"./CopyToClipboard-CBliPgeP.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-dayjs-C40ROiFS.js";import"./vendor-katex-DHBGsivc.js";function Ee(){const e=navigator.userAgent.toLowerCase();return/iphone|ipad|ipod|android|windows phone/i.test(e)}const Ne=X({name:"PayOrderDialog",components:{ElDialog:x,QrCode:ye,ElRow:te,ElCol:ee},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}V.refresh(this.modelValue.id).then(({data:e})=>{e.state!==N.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},2e3)})}}}),Ie={class:"paycode wechat"},Re={class:"help-text block bg-[#00c800] text-white text-[14px] h-[35px] w-[240px] text-center leading-[35px] mt-[10px] mx-auto"};function Ve(e,t,s,i,c,d){const r=f("qr-code"),h=f("el-col"),W=f("el-row"),$=f("el-dialog");return a(),g($,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:n(()=>[u(W,{class:"paycodes py-[30px] w-[500px] mx-auto"},{default:n(()=>[u(h,{span:12},{default:n(()=>[o("div",Ie,[e.modelValue?.pay_url?(a(),g(r,{key:0,value:e.modelValue?.pay_url,size:200,class:"qrcode m-auto w-[200px] h-[200px]",type:"image/png",color:{dark:"#000000",light:"#ffffff"}},null,8,["value"])):y("",!0),o("p",Re,l(e.$t("order.message.wechatPayHelp")),1)])]),_:1}),u(h,{span:12},{default:n(()=>t[0]||(t[0]=[o("div",{class:"help-img"},[o("img",{src:"https://midas.gtimg.cn/enterprise/images/ep_sys_wx_tip.jpg"})],-1)])),_:1,__:[0]})]),_:1})]),_:1},8,["model-value","title"])}const De=M(Ne,[["render",Ve]]),Le=X({name:"PayOrderDialog",components:{ElDialog:x},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},watch:{visible:{handler(e){e&&this.modelValue.pay_url&&window.open(this.modelValue.pay_url,"_blank")}}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}V.refresh(this.modelValue.id).then(({data:e})=>{e.state!==N.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},5e3)})}}}),Te={class:"text-center"};function Be(e,t,s,i,c,d){const r=f("el-dialog");return a(),g(r,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:n(()=>[o("p",Te,l(e.$t("order.message.buyInExternalUrl")),1)]),_:1},8,["model-value","title"])}const qe=M(Le,[["render",Be],["__scopeId","data-v-fbea8aa1"]]),Oe=X({name:"PayOrderDialog",components:{ElDialog:x},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},watch:{visible:{handler(e){e&&this.modelValue.pay_url&&window.open(this.modelValue.pay_url,"_blank")}}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}V.refresh(this.modelValue.id).then(({data:e})=>{e.state!==N.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},5e3)})}}}),Me={class:"text-center"};function Xe(e,t,s,i,c,d){const r=f("el-dialog");return a(),g(r,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:n(()=>[o("p",Me,l(e.$t("order.message.buyInExternalUrl")),1)]),_:1},8,["model-value","title"])}const Fe=M(Oe,[["render",Xe]]);async function Ue(e){const{requirements:t,payerAddress:s,signTransaction:i,signAllTransactions:c,fetchLatestBlockhash:d}=e,{PublicKey:r,Transaction:h,ComputeBudgetProgram:W,TransactionInstruction:$}=await Y(async()=>{const{PublicKey:v,Transaction:_,ComputeBudgetProgram:D,TransactionInstruction:pe}=await import("./vendor-BVnhgPs4.js").then(he=>he.b_);return{PublicKey:v,Transaction:_,ComputeBudgetProgram:D,TransactionInstruction:pe}},__vite__mapDeps([0,1,2,3,4,5])),{Buffer:b}=await Y(async()=>{const{Buffer:v}=await import("./vendor-BVnhgPs4.js").then(_=>_.i);return{Buffer:v}},__vite__mapDeps([0,1,2,3,4,5])),k=new r("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"),S=new r("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"),C=new r(s),m=new r(String(t.payTo||t.pay_to)),A=new r(String(t.asset)),I=t.extra||{},B=String(I.feePayer||I.fee_payer||"");if(!B)throw new Error("Missing feePayer in Solana payment requirements");if(B===s)throw new Error("Invalid Solana payment: payer wallet must not be the fee payer wallet (switch wallet and try again).");const z=new r(B),j=Number(I.decimals??6),q=Number(I.computeUnitLimit??I.compute_unit_limit??0),w=Number(I.computeUnitPriceMicroLamports??I.compute_unit_price_micro_lamports??I.computeUnitPriceLamports??0),F=BigInt(String(t.maxAmountRequired||t.max_amount_required||"0"));if(F<=0n)throw new Error("Invalid amount");const J=(v,_)=>{const[D]=r.findProgramAddressSync([v.toBuffer(),k.toBuffer(),_.toBuffer()],S);return D},ne=J(C,A),oe=J(m,A),U=new Uint8Array(10);U[0]=12,new DataView(U.buffer).setBigUint64(1,F,!0),U[9]=j;const le=new $({programId:k,keys:[{pubkey:ne,isSigner:!1,isWritable:!0},{pubkey:A,isSigner:!1,isWritable:!1},{pubkey:oe,isSigner:!1,isWritable:!0},{pubkey:C,isSigner:!0,isWritable:!1}],data:b.from(U)}),L=new h;L.feePayer=z,Number.isFinite(q)&&q>0&&L.add(W.setComputeUnitLimit({units:Math.floor(q)})),Number.isFinite(w)&&w>0&&L.add(W.setComputeUnitPrice({microLamports:Math.floor(w)})),L.add(le);const de=String(t.network||"solana").toLowerCase();L.recentBlockhash=await d(de);const G=v=>{if(!v)return"Unknown error";const _=typeof v?.message=="string"?v.message:String(v),D=typeof v?.name=="string"?v.name:"";return D&&D!=="Error"&&!_.startsWith(D)?`${D}: ${_}`:_},K=async()=>{if(!c)return;const v=await c([L]);return Array.isArray(v)?v[0]:void 0};let O;try{i?O=await i(L):O=await K()}catch(v){if(i&&c)try{O=await K()}catch(_){throw new Error(`Solana wallet signing failed: ${G(v)} (fallback failed: ${G(_)})`)}else throw new Error(`Solana wallet signing failed: ${G(v)}`)}if(!O)throw new Error("Solana wallet did not return a signed transaction");const ce=O.serialize({requireAllSignatures:!1,verifySignatures:!1}),Q=b.from(ce).toString("base64"),ue={x402Version:1,scheme:t.scheme||"exact",network:t.network||"solana",payload:{serializedTransaction:Q,transaction:Q}};return btoa(JSON.stringify(ue))}const He=X({name:"X402PayOrderDialog",components:{ElDialog:x,ElButton:ie,ElAlert:ae,ElTag:se,ElIcon:ve,ElRadioGroup:we,ElRadioButton:ge,CreditCard:fe},props:{modelValue:{type:Object,required:!0},session:{type:Object,default:void 0},visible:{type:Boolean,default:!1}},emits:["hide","update:modelValue"],data(){return{signing:!1,paying:!1,chainId:void 0,selectedNetwork:void 0,solanaWalletModalVisible:!1,solanaWalletConnecting:!1,evmWalletModalVisible:!1,evmWalletConnecting:!1,evmWallets:[],selectedEvmWalletId:void 0,evmAddress:void 0,requirementsLoading:!1,runtimeRequirementsByNetwork:{},requirementsAttemptedByNetwork:{}}},computed:{dialogWidth(){return Ee()?"100%":"680px"},acceptsList(){const e=this.session?.accepts;if(Array.isArray(e)&&e.length>0)return e.filter(s=>!!(s&&typeof s=="object"));const t=this.paymentRequirements;return Array.isArray(t)&&t.length>0?t.filter(s=>!!(s&&typeof s=="object")):t&&typeof t=="object"?[t]:[]},selectedNetworkResolved(){return String(this.selectedNetwork||this.acceptsList[0]?.network||"base").toLowerCase()},selectedRequirements(){const e=String(this.selectedNetworkResolved||"").toLowerCase();if(!e)return this.acceptsList[0];const t=this.runtimeRequirementsByNetwork[e];if(t)return t;const s=this.acceptsList.find(i=>String(i.network||"").toLowerCase()===e);if(s)return s;if(!this.selectedNetwork)return this.acceptsList[0]},orderMetadata(){const e=this.modelValue?.metadata;return e&&typeof e=="object"?e:void 0},paymentRequirements(){const e=this.session?.payment_requirements||this.session?.paymentRequirements;if(e&&typeof e=="object")return e;const t=this.orderMetadata?.payment_requirements||this.orderMetadata?.paymentRequirements;if(t&&typeof t=="object")return t},expectedNetwork(){return this.selectedNetworkResolved},expectedNetworkLabel(){return this.formatNetworkLabel(this.expectedNetwork)},isSolanaNetwork(){return!!String(this.selectedNetworkResolved||"").toLowerCase().startsWith("solana")},expectedChainIdHex(){const e={base:"0x2105","base-sepolia":"0x14A34",ethereum:"0x1",sepolia:"0xAA36A7",polygon:"0x89",arbitrum:"0xA4B1",optimism:"0xA",bsc:"0x38",avalanche:"0xA86A"},t=(this.expectedNetwork||"").toLowerCase();return e[t]},networkMismatch(){return this.isSolanaNetwork?!1:!!(this.evmAddress&&this.chainId&&this.expectedChainIdHex&&this.chainId.toLowerCase()!==this.expectedChainIdHex.toLowerCase())},hasEvmProvider(){return this.isSolanaNetwork?!1:this.evmWalletsOrdered.length>0},requirementsAvailable(){return!!this.selectedRequirements},networkOptions(){const e=new Set(this.acceptsList.map(s=>String(s.network||"").toLowerCase()).filter(Boolean));if(e.size===0)return[{network:"base",label:"Base"},{network:"solana",label:"Solana"}];const t=s=>s==="base"?0:s.startsWith("solana")?1:2;return Array.from(e).sort((s,i)=>t(s)-t(i)||s.localeCompare(i)).map(s=>({network:s,label:this.formatNetworkLabel(s)}))},paymentSteps(){const e=this.expectedNetworkLabel||this.expectedNetwork||"";return[String(this.$t("order.message.x402Step1")),String(this.$t("order.message.x402Step2",{network:e})),String(this.$t("order.message.x402Step3")),String(this.$t("order.message.x402Step4"))]},evmConnected(){return!!(this.selectedEvmWalletId&&this.evmAddress)},evmProvider(){if(this.selectedEvmWalletId)return this.evmWallets.find(e=>e.id===this.selectedEvmWalletId)?.provider},selectedEvmWalletName(){if(this.selectedEvmWalletId)return this.evmWallets.find(e=>e.id===this.selectedEvmWalletId)?.name},selectedEvmWalletIcon(){if(this.selectedEvmWalletId)return this.evmWallets.find(e=>e.id===this.selectedEvmWalletId)?.icon},evmWalletsOrdered(){return[...this.evmWallets].sort((e,t)=>e.name.localeCompare(t.name))},solanaConnected(){return!!this.$wallet?.connected?.value},solanaAddress(){const e=this.$wallet?.publicKey?.value;if(!(!e||typeof e.toBase58!="function"))return e.toBase58()},solanaWalletsOrdered(){const e=this.$wallet?.wallets?.value??[],t=s=>s==="Installed"?0:s==="Loadable"?1:s==="NotDetected"?2:3;return[...e].sort((s,i)=>t(s.readyState)-t(i.readyState))},selectedSolanaWalletName(){return this.$wallet?.wallet?.value?.adapter?.name},selectedSolanaWalletIcon(){return this.$wallet?.wallet?.value?.adapter?.icon}},watch:{visible(e){if(!e){this.solanaWalletModalVisible=!1,this.evmWalletModalVisible=!1;return}if(!this.selectedNetwork){const i=this.acceptsList[0]?.network;this.selectedNetwork=String(i||"base").toLowerCase()}const t=new Set(this.networkOptions.map(i=>i.network)),s=String(this.selectedNetwork||"").toLowerCase();if(s&&!t.has(s)){const i=this.networkOptions[0]?.network;i&&(this.selectedNetwork=i)}this.maybeLoadRequirements()},selectedNetwork(){this.visible&&this.maybeLoadRequirements()}},mounted(){this.refreshEvmWallets()},methods:{sleep(e){return new Promise(t=>setTimeout(t,e))},getErrorMessage(e){if(!e)return"";if(typeof e=="string")return e;if(typeof e?.message=="string")return e.message;try{return JSON.stringify(e)}catch{return String(e)}},isRetryableSolanaConnectError(e){if(String(e?.name||"")==="WalletNotSelectedError")return!0;const s=this.getErrorMessage(e).toLowerCase();return s.includes("disconnected port object")||s.includes("failed to send message to service worker")||s.includes("message port closed")||s.includes("extension context invalidated")},async connectSolanaWalletWithRetry(e){const t=this.$wallet;if(!t)throw new Error("Wallet API not available");const s=2;let i;for(let c=1;c<=s;c+=1)try{e&&t.select(e),await Ce(),await t.connect();return}catch(d){if(i=d,c<s&&this.isRetryableSolanaConnectError(d)){const h=String(d?.name||"")==="WalletNotSelectedError"?0:300;h&&await this.sleep(h);continue}throw d}throw i},formatNetworkLabel(e){const t=String(e||"").toLowerCase();return t==="base"?"Base":t==="solana"?"Solana":t==="solana-devnet"?"Solana Devnet":t==="ethereum"?"Ethereum":t==="sepolia"?"Sepolia":t==="polygon"?"Polygon":t==="arbitrum"?"Arbitrum":t==="optimism"?"Optimism":t==="bsc"?"BNB Chain":t==="avalanche"?"Avalanche":e||"Unknown"},async confirmPay(e){const t=e||this.expectedNetworkLabel||this.expectedNetwork||"",s=String(this.$t?.("order.message.x402ConfirmTitle")||"Confirm Payment"),i=String(this.$t?.("order.message.x402ConfirmDesc",{network:t})||`Confirm USDC payment on ${t}?`),c=String(this.$t?.("common.button.pay")||"Pay"),d=String(this.$t?.("common.button.cancel")||"Cancel");return be.confirm(i,s,{confirmButtonText:c,cancelButtonText:d,type:"warning"}).then(()=>!0).catch(()=>!1)},async onSelectSolanaWallet(e){if(!this.solanaWalletConnecting&&e?.adapter?.name){this.solanaWalletConnecting=!0;try{await this.connectSolanaWalletWithRetry(e.adapter.name),this.solanaWalletModalVisible=!1}catch(t){console.warn("wallet connect failed",t),E.error(String(this.$t?.("coin.message.connectError")||"Wallet connect failed"))}finally{this.solanaWalletConnecting=!1}}},async disconnectSolanaWallet(){try{await this.$wallet.disconnect()}catch{}},openEvmWalletModal(){this.evmWalletModalVisible=!0,this.refreshEvmWallets()},async refreshEvmWallets(){if(typeof window>"u")return;const e=new Map,t=s=>{const i=s?.detail,c=i?.info,d=i?.provider;if(!c||!d)return;const r=String(c.uuid||c.rdns||c.name||"");r&&(e.has(r)||e.set(r,{id:r,name:String(c.name||"Wallet"),icon:typeof c.icon=="string"?c.icon:void 0,provider:d}))};try{window.addEventListener("eip6963:announceProvider",t),window.dispatchEvent(new Event("eip6963:requestProvider")),await new Promise(s=>window.setTimeout(s,120))}finally{window.removeEventListener("eip6963:announceProvider",t)}if(e.size===0){const s=window.ethereum;(Array.isArray(s?.providers)?s.providers:s?[s]:[]).forEach((c,d)=>{if(!c)return;let r="Injected";c.isMetaMask?r="MetaMask":c.isCoinbaseWallet?r="Coinbase Wallet":c.isBraveWallet?r="Brave Wallet":c.isRabby?r="Rabby":c.isPhantom&&(r="Phantom");const h=`injected:${r}:${d}`;e.set(h,{id:h,name:r,icon:void 0,provider:c})})}this.evmWallets=Array.from(e.values())},async onSelectEvmWallet(e){if(e?.provider){this.evmWalletModalVisible=!1,this.evmWalletConnecting=!0;try{const t=await e.provider.request({method:"eth_requestAccounts"}),s=Array.isArray(t)?t[0]:void 0;if(!s)throw new Error("No account returned from wallet");this.selectedEvmWalletId=e.id,this.evmAddress=s,await this.refreshChainId(),await this.ensureNetwork()}catch(t){console.warn("EVM wallet connect failed",t),E.error(String(this.$t?.("coin.message.connectError")||"Wallet connect failed")),this.disconnectEvmWallet()}finally{this.evmWalletConnecting=!1}}},disconnectEvmWallet(){this.selectedEvmWalletId=void 0,this.evmAddress=void 0,this.chainId=void 0},async getFreshRequirements(){const e=this.selectedRequirements;if(e)return e;try{const s=(await V.pay(this.modelValue.id,{pay_way:"X402"}))?.data,i=Array.isArray(s?.accepts)?s.accepts:void 0,c=String(this.selectedNetworkResolved||"").toLowerCase();if(Array.isArray(i)&&i.length){const r=i.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:i[0])}const d=s?.payment_requirements;if(Array.isArray(d)&&d.length){const r=d.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:d[0])}return d&&typeof d=="object"?d:void 0}catch(t){const s=t?.response?.data;if(s){const i=Array.isArray(s?.accepts)?s.accepts:void 0,c=String(this.selectedNetworkResolved||"").toLowerCase();if(Array.isArray(i)&&i.length){const r=i.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:i[0])}const d=s?.payment_requirements;if(Array.isArray(d)&&d.length){const r=d.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:d[0])}if(d&&typeof d=="object")return d}return}},async maybeLoadRequirements(e=!1){const t=String(this.selectedNetworkResolved||"").toLowerCase();if(!(!t||this.runtimeRequirementsByNetwork[t]||this.acceptsList.some(i=>String(i.network||"").toLowerCase()===t))&&!(!e&&this.requirementsAttemptedByNetwork[t])){this.requirementsAttemptedByNetwork[t]=!0,this.requirementsLoading=!0;try{const i=await this.getFreshRequirements();i&&(this.runtimeRequirementsByNetwork[t]=i)}finally{this.requirementsLoading=!1}}},async refreshChainId(){if(this.evmProvider)try{const e=await this.evmProvider.request({method:"eth_chainId"});typeof e=="string"&&(this.chainId=e)}catch{}},async ensureNetwork(){if(!(!this.evmProvider||!this.expectedChainIdHex)&&(await this.refreshChainId(),!(this.chainId&&this.chainId.toLowerCase()===this.expectedChainIdHex.toLowerCase()))){try{await this.evmProvider.request({method:"wallet_switchEthereumChain",params:[{chainId:this.expectedChainIdHex}]})}catch{try{await this.evmProvider.request({method:"wallet_addEthereumChain",params:[this.getExpectedChainParams()]})}catch(e){console.error("Failed to add Ethereum chain:",e);try{const t=this.$t&&this.$t("order.message.x402NetworkSwitchFailed")||"Your wallet does not support automatic network switching. Please switch to the required network in the wallet and try again.";E.warning(t)}catch{}}}await this.refreshChainId()}},getExpectedChainParams(){const e={base:{chainId:"0x2105",chainName:"Base",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:["https://mainnet.base.org"],blockExplorerUrls:["https://basescan.org"]},"base-sepolia":{chainId:"0x14A34",chainName:"Base Sepolia",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:["https://sepolia.base.org"],blockExplorerUrls:["https://sepolia.basescan.org"]}},t=(this.expectedNetwork||"").toLowerCase();return e[t]||{chainId:this.expectedChainIdHex}},buildTypedData(e,t){const s=e?.extra||{};return{types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],TransferWithAuthorization:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"validAfter",type:"uint256"},{name:"validBefore",type:"uint256"},{name:"nonce",type:"bytes32"}]},primaryType:"TransferWithAuthorization",domain:{name:s?.name||"USD Coin",version:s?.version||"2",chainId:parseInt(this.expectedChainIdHex||"0x0",16),verifyingContract:e.asset},message:t}},randomNonce32(){const e=new Uint8Array(32);return crypto.getRandomValues(e),"0x"+Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")},async onPayWithSolanaWallet(){if(!this.modelValue?.id)return;const e=this.solanaAddress;if(!e){E.error(String(this.$t?.("order.message.x402NeedConnectAccount")||"Please connect a wallet first."));return}if(!this.requirementsAvailable){E.error(String(this.$t?.("order.message.x402SolanaNotEnabled")||"Solana payment is not available."));return}this.signing=!0;try{if(!await this.confirmPay(this.expectedNetworkLabel))return;let s=await this.getFreshRequirements();if(s||(s=this.selectedRequirements),!s){E.error(String(this.$t?.("order.message.x402PaymentFailed")||"X402 payment failed."));return}const i=this.$wallet?.wallet?.value?.adapter;if(!i?.signTransaction&&!i?.signAllTransactions)throw new Error("Wallet does not support signing transactions");const c=await Ue({requirements:s,payerAddress:e,signTransaction:i.signTransaction?i.signTransaction.bind(i):void 0,signAllTransactions:i.signAllTransactions?i.signAllTransactions.bind(i):void 0,fetchLatestBlockhash:r=>this.fetchSolanaLatestBlockhash(r)});this.paying=!0;const{data:d}=await V.payX402WithHeader(this.modelValue.id,{pay_way:"X402"},c);this.$emit("update:modelValue",d),this.$emit("hide")}catch(t){const s=t?.response?.data,i=s?.error||s?.detail||"X402 wallet payment failed.";E.error(String(i))}finally{this.signing=!1,this.paying=!1}},async fetchSolanaLatestBlockhash(e){const{data:t}=await me.get("/x402/solana/latest-blockhash/",{params:{network:e||"solana"}}),s=t?.blockhash;if(!s||typeof s!="string")throw new Error("Invalid blockhash response");return s},async onPayWithWallet(){if(!this.modelValue?.id||!this.evmProvider||!this.evmAddress){const e=this.$t&&this.$t("order.message.x402PaymentFailed")||"X402 wallet payment is not available right now. Please try again later.";E.error(e);return}this.signing=!0;try{let e=await this.getFreshRequirements();if(e||(e=this.selectedRequirements),!e){const S=this.$t&&this.$t("order.message.x402PaymentFailed")||"X402 wallet payment failed. Please try again later.";E.error(S);return}if(await this.ensureNetwork(),this.networkMismatch){E.warning(String(this.$t?.("order.message.x402SwitchNetwork",{network:this.expectedNetworkLabel||this.expectedNetwork})||"Please switch your wallet network and try again."));return}if(!await this.confirmPay(this.expectedNetworkLabel))return;const s=Math.floor(Date.now()/1e3),i=Number(e?.maxTimeoutSeconds||e?.max_timeout_seconds||120),c=BigInt(e?.maxAmountRequired||e?.max_amount_required||0).toString(),d={from:this.evmAddress,to:e.payTo||e.pay_to,value:c,validAfter:s,validBefore:s+i,nonce:this.randomNonce32()},r=this.buildTypedData(e,d),h=await this.evmProvider.request({method:"eth_signTypedData_v4",params:[this.evmAddress,JSON.stringify(r)]}),W={from:d.from,to:d.to,value:d.value,validAfter:String(d.validAfter),validBefore:String(d.validBefore),nonce:d.nonce},$={x402Version:1,scheme:e.scheme||"exact",network:e.network||this.expectedNetwork||"base",payload:{authorization:W,signature:h}},b=btoa(JSON.stringify($));this.paying=!0;const{data:k}=await V.payX402WithHeader(this.modelValue.id,{pay_way:"X402"},b);this.$emit("update:modelValue",k),this.$emit("hide")}catch(e){let t;const s=e?.response?.data;if(s){const i=s?.error||s?.detail;typeof i=="string"&&(t=i)}t||(t=this.$t&&this.$t("order.message.x402PaymentFailed")||"X402 wallet payment failed. Please try again later.");try{E.error(t)}catch{}}finally{this.signing=!1,this.paying=!1}}}}),xe={class:"x402-content"},ze={class:"x402-intro"},je={class:"x402-intro-text"},Ge={class:"x402-wallet"},Je={class:"x402-wallet-head"},Ke={class:"x402-network"},Qe={class:"x402-network-label"},Ye={key:1,class:"x402-requirements-actions"},Ze={class:"x402-wallet-card"},et={class:"x402-wallet-card-head"},tt={key:0,class:"x402-wallet-card-sub x402-wallet-name"},st=["src","alt"],at={key:1,class:"x402-wallet-card-sub"},it={class:"x402-wallet-card-actions"},rt={class:"x402-actions"},nt={class:"x402-wallet-card"},ot={class:"x402-wallet-card-head"},lt={key:0,class:"x402-wallet-card-sub x402-wallet-name"},dt=["src","alt"],ct={key:1,class:"x402-wallet-card-sub"},ut={class:"x402-wallet-card-actions"},pt={class:"x402-actions"},ht={class:"x402-steps"},mt={class:"x402-steps-title"},yt={class:"x402-steps-list"},ft={class:"x402-step-index"},gt={class:"x402-step-text"},wt={class:"wallet-list"},vt=["disabled","onClick"],bt=["src","alt"],kt={class:"wallet-list-name"},Pt={key:1,class:"wallet-list-status"},St={class:"wallet-list"},Wt=["disabled","onClick"],$t=["src","alt"],Ct={class:"wallet-list-name"},At={key:0,class:"text-center text-[13px] text-[var(--el-text-color-regular)]"};function _t(e,t,s,i,c,d){const r=f("credit-card"),h=f("el-icon"),W=f("el-radio-button"),$=f("el-radio-group"),b=f("el-alert"),k=f("el-button"),S=f("el-tag"),C=f("el-dialog");return a(),p(R,null,[u(C,{"model-value":e.visible,title:e.$t("order.title.x402"),width:e.dialogWidth,top:"8vh",class:"x402-dialog"},{default:n(()=>[o("section",xe,[o("header",ze,[u(h,{size:20,class:"x402-intro-icon"},{default:n(()=>[u(r)]),_:1}),o("p",je,l(e.$t("order.message.x402IntroShort")),1)]),o("section",Ge,[o("div",Je,[o("div",Ke,[o("span",Qe,l(e.$t("order.message.x402IntegrationNetworkLabel")),1),u($,{modelValue:e.selectedNetwork,"onUpdate:modelValue":t[0]||(t[0]=m=>e.selectedNetwork=m),size:"small",class:"x402-network-group"},{default:n(()=>[(a(!0),p(R,null,T(e.networkOptions,m=>(a(),g(W,{key:m.network,label:m.network},{default:n(()=>[P(l(m.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])]),e.selectedNetworkResolved==="solana"&&!e.selectedRequirements&&!e.requirementsLoading?(a(),g(b,{key:0,type:"info",closable:!1,class:"x402-alert",description:e.$t("order.message.x402SolanaNotEnabled")},null,8,["description"])):y("",!0),!e.selectedRequirements&&!e.requirementsLoading?(a(),p("div",Ye,[u(k,{link:"",type:"primary",size:"small",onClick:t[1]||(t[1]=m=>e.maybeLoadRequirements(!0))},{default:n(()=>[P(l(e.$t("common.button.refresh")),1)]),_:1})])):y("",!0),e.isSolanaNetwork?(a(),p(R,{key:2},[o("div",Ze,[o("div",et,[t[5]||(t[5]=o("span",{class:"x402-wallet-card-title"},"Solana Wallet",-1)),e.solanaConnected?(a(),g(S,{key:0,class:"x402-wallet-card-tag"},{default:n(()=>[P(l(e.$t("order.message.x402WalletConnected")),1)]),_:1})):y("",!0)]),e.solanaConnected&&e.selectedSolanaWalletName?(a(),p("div",tt,[e.selectedSolanaWalletIcon?(a(),p("img",{key:0,class:"wallet-list-icon",src:e.selectedSolanaWalletIcon,alt:e.selectedSolanaWalletName},null,8,st)):y("",!0),o("span",null,l(e.selectedSolanaWalletName),1)])):y("",!0),e.solanaConnected&&e.solanaAddress?(a(),p("div",at,l(e.solanaAddress.substring(0,10))+"..."+l(e.solanaAddress.substring(e.solanaAddress.length-10)),1)):y("",!0),o("div",it,[e.solanaConnected?(a(),g(k,{key:1,onClick:e.disconnectSolanaWallet},{default:n(()=>[P(l(e.$t("coin.button.disconnect")),1)]),_:1},8,["onClick"])):(a(),g(k,{key:0,type:"primary",onClick:t[2]||(t[2]=m=>e.solanaWalletModalVisible=!0)},{default:n(()=>[P(l(e.$t("order.message.x402ConnectWallet")),1)]),_:1}))])]),o("div",rt,[u(k,{type:"primary",disabled:!e.solanaConnected||!e.solanaAddress||!e.requirementsAvailable,loading:e.signing||e.paying,onClick:e.onPayWithSolanaWallet},{default:n(()=>[P(l(e.$t("order.message.x402WalletPayCta")),1)]),_:1},8,["disabled","loading","onClick"])])],64)):(a(),p(R,{key:3},[o("div",nt,[o("div",ot,[t[6]||(t[6]=o("span",{class:"x402-wallet-card-title"},"EVM Wallet",-1)),e.evmConnected?(a(),g(S,{key:0,class:"x402-wallet-card-tag"},{default:n(()=>[P(l(e.$t("order.message.x402WalletConnected")),1)]),_:1})):y("",!0)]),e.evmConnected&&e.selectedEvmWalletName?(a(),p("div",lt,[e.selectedEvmWalletIcon?(a(),p("img",{key:0,class:"wallet-list-icon",src:e.selectedEvmWalletIcon,alt:e.selectedEvmWalletName},null,8,dt)):y("",!0),o("span",null,l(e.selectedEvmWalletName),1)])):y("",!0),e.evmConnected&&e.evmAddress?(a(),p("div",ct,l(e.evmAddress.substring(0,10))+"..."+l(e.evmAddress.substring(e.evmAddress.length-10)),1)):y("",!0),o("div",ut,[e.evmConnected?(a(),g(k,{key:1,onClick:e.disconnectEvmWallet},{default:n(()=>[P(l(e.$t("coin.button.disconnect")),1)]),_:1},8,["onClick"])):(a(),g(k,{key:0,type:"primary",onClick:e.openEvmWalletModal},{default:n(()=>[P(l(e.$t("order.message.x402ConnectWallet")),1)]),_:1},8,["onClick"]))])]),e.hasEvmProvider?e.networkMismatch?(a(),g(b,{key:1,type:"warning",closable:!1,"show-icon":"",class:"x402-alert",title:e.$t("order.message.x402SwitchNetwork",{network:e.expectedNetworkLabel||e.expectedNetwork})},null,8,["title"])):y("",!0):(a(),g(b,{key:0,type:"info",closable:!1,class:"x402-alert",description:e.$t("order.message.x402NoWalletDesc")},null,8,["description"])),o("div",pt,[e.hasEvmProvider?(a(),g(k,{key:0,type:"primary",disabled:!e.evmConnected||!e.requirementsAvailable||e.networkMismatch,loading:e.signing||e.paying,onClick:e.onPayWithWallet},{default:n(()=>[P(l(e.$t("order.message.x402WalletPayCta")),1)]),_:1},8,["disabled","loading","onClick"])):y("",!0)])],64)),o("div",ht,[o("div",mt,l(e.$t("order.message.x402StepsTitle")),1),o("ol",yt,[(a(!0),p(R,null,T(e.paymentSteps,(m,A)=>(a(),p("li",{key:A,class:"x402-step"},[o("span",ft,l(A+1),1),o("span",gt,l(m),1)]))),128))])])])])]),_:1},8,["model-value","title","width"]),u(C,{modelValue:e.solanaWalletModalVisible,"onUpdate:modelValue":t[3]||(t[3]=m=>e.solanaWalletModalVisible=m),title:e.$t("order.message.x402ConnectWallet"),width:"420px","align-center":""},{default:n(()=>[o("div",wt,[(a(!0),p(R,null,T(e.solanaWalletsOrdered,m=>(a(),p("button",{key:m.adapter.name,class:"wallet-list-item",disabled:e.solanaWalletConnecting,onClick:A=>e.onSelectSolanaWallet(m)},[m.adapter.icon?(a(),p("img",{key:0,class:"wallet-list-icon",src:m.adapter.icon,alt:m.adapter.name},null,8,bt)):y("",!0),o("span",kt,l(m.adapter.name),1),m.readyState==="Installed"?(a(),p("span",Pt,"Detected")):y("",!0)],8,vt))),128))])]),_:1},8,["modelValue","title"]),u(C,{modelValue:e.evmWalletModalVisible,"onUpdate:modelValue":t[4]||(t[4]=m=>e.evmWalletModalVisible=m),title:e.$t("order.message.x402ConnectWallet"),width:"420px","align-center":""},{default:n(()=>[o("div",St,[(a(!0),p(R,null,T(e.evmWalletsOrdered,m=>(a(),p("button",{key:m.id,class:"wallet-list-item",disabled:e.evmWalletConnecting,onClick:A=>e.onSelectEvmWallet(m)},[m.icon?(a(),p("img",{key:0,class:"wallet-list-icon",src:m.icon,alt:m.name},null,8,$t)):y("",!0),o("span",Ct,l(m.name),1),t[7]||(t[7]=o("span",{class:"wallet-list-status"},"Detected",-1))],8,Wt))),128)),e.evmWalletsOrdered.length===0?(a(),p("div",At,l(e.$t("order.message.x402NoWalletDesc")),1)):y("",!0)])]),_:1},8,["modelValue","title"])],64)}const Et=M(He,[["render",_t],["__scopeId","data-v-13c47121"]]),Nt=7e3,Z=2e3;var re=(e=>(e.WechatPay="WechatPay",e.Stripe="Stripe",e.AliPay="AliPay",e.X402="X402",e))(re||{});const It=X({name:"ConsoleOrderDetail",components:{ElButton:ie,CopyToClipboard:_e,ElRow:te,ElCard:$e,ElCol:ee,ElSkeleton:We,ElDivider:Se,ElAlert:ae,ElDescriptions:Pe,ElDescriptionsItem:ke,ElTag:se,WechatPayOrder:De,StripePayOrder:qe,AlipayPayOrder:Fe,X402PayOrder:Et},data(){return{PayWay:re,payWay:"WechatPay",OrderState:N,order:void 0,x402Session:void 0,showPayWays:!0,loading:!1,paying:!1,prepaying:!1}},computed:{config(){return this.$store.getters.config},id(){return this.$route.params?.id?.toString()},redirect(){return this.$route.query?.redirect},pricingInfo(){const e=this.order?.metadata?.pricing||{},t=S=>typeof S=="number"&&Number.isFinite(S)?S:void 0,s=t(e?.original_price),i=t(e?.discounted_price),c=t(e?.discount_rate),d=t(e?.discount_rate_vip),r=t(e?.discount_rate_x402),h=t(this.order?.price),W=s??h??0,$=i??h??W,b=t(this.order?.discount)??c??0,k=Array.isArray(e?.discounted_methods)?e.discounted_methods.filter(S=>typeof S=="string"&&S.length>0):[];return{original:W,discounted:$,discountRate:b,discountedMethods:k,discountRateVip:d,discountRateX402:r}},appliedDiscountMethods(){return this.pricingInfo.discountedMethods||[]},hasVipApplied(){return this.appliedDiscountMethods.includes("vip")},hasX402Applied(){return this.appliedDiscountMethods.includes("x402")},pendingX402Preview(){return this.payWay==="X402"&&this.order?.pay_way!=="X402"&&this.x402DiscountRate>0},finalOriginalPrice(){return this.pricingInfo.original||0},baseEffectivePrice(){const e=this.order?.price;return typeof e=="number"&&Number.isFinite(e)?e:this.pricingInfo.discounted},previewX402Price(){const e=this.baseEffectivePrice||0,t=this.x402DiscountRate;return!t||t<=0?e:e*(1-t)},finalDiscountedPrice(){return this.pendingX402Preview?this.previewX402Price:this.baseEffectivePrice},showOriginalPrice(){return this.finalOriginalPrice<=0?!1:this.finalOriginalPrice>this.finalDiscountedPrice},totalDiscountRate(){const e=this.pricingInfo.discountRate??0;return this.pendingX402Preview?1-(1-e)*(1-this.x402DiscountRate):e},hasAnyDiscount(){return this.totalDiscountRate>0},discountBadges(){const e=[];return this.hasVipApplied&&this.vipDiscountPercent&&e.push({key:"vip",text:this.$t("order.message.discountTag",{percent:this.vipDiscountPercent}).toString(),type:"success"}),this.shouldDisplayX402Badge&&this.x402BadgePercent&&e.push({key:"x402",text:this.$t("order.message.x402DiscountTag",{percent:this.x402BadgePercent}).toString(),type:"success"}),e},discountHints(){const e=[];return this.hasVipApplied&&this.vipDiscountPercent&&e.push(this.$t("order.message.discountHint",{percent:this.vipDiscountPercent}).toString()),this.hasX402Applied&&this.x402AppliedPercent?e.push(this.$t("order.message.x402DiscountApplied",{percent:this.x402AppliedPercent}).toString()):this.pendingX402Preview&&this.x402BadgePercent&&e.push(this.$t("order.message.x402DiscountHint",{percent:this.x402BadgePercent}).toString()),e},x402DiscountRate(){const e=this.config?.features?.DISCOUNT_FOR_X402;return typeof e=="number"&&Number.isFinite(e)&&e>0?e:0},vipDiscountPercent(){const e=(this.pricingInfo.discountRateVip??0)*100;return!Number.isFinite(e)||e<=0?"":Number.isInteger(e)?e.toFixed(0):e.toFixed(1)},x402AppliedPercent(){const t=(this.pricingInfo.discountRateX402??0)*100;return!Number.isFinite(t)||t<=0?"":Number.isInteger(t)?t.toFixed(0):t.toFixed(1)},x402BadgePercent(){const t=(this.hasX402Applied?this.pricingInfo.discountRateX402??this.x402DiscountRate:this.x402DiscountRate)*100;return!Number.isFinite(t)||t<=0?"":Number.isInteger(t)?t.toFixed(0):t.toFixed(1)},shouldDisplayX402Badge(){return this.hasX402Applied||this.pendingX402Preview},shouldShowPriceBlock(){return this.finalOriginalPrice>0||this.finalDiscountedPrice>0||this.hasAnyDiscount||this.pendingX402Preview},orderFailedReason(){if(!this.order||this.order.state!==N.FAILED)return;const t=(this.order.metadata||{})?.x402?.last_error||{};return(typeof t.reason=="string"?t.reason.trim():"")||void 0}},watch:{paying(e){e?this.startOrderPolling():this.stopOrderPolling()},order:{handler(e){if(e?.state===N.PAID){this.x402Session=void 0,setTimeout(()=>{this.redirect&&window.location.replace(this.redirect?.toString())},2e3);return}e?.state&&e.state!==N.PENDING&&e.state!==N.FAILED&&(this.x402Session=void 0)},deep:!0},payWay(e){e!=="X402"&&(this.x402Session=void 0)}},created(){this._orderRefreshTimer=void 0},mounted(){this.onFetchData()},beforeUnmount(){this.stopOrderPolling()},methods:{getPriceString:Ae,startOrderPolling(e=0){this.stopOrderPolling();const t=async()=>{try{const{data:s}=await V.refresh(this.id);if(this.order=s,s?.state===N.PAID||s?.state===N.FAILED||s?.state===N.EXPIRED){this.paying=!1,this.stopOrderPolling();return}}catch{}this.paying&&(this._orderRefreshTimer=window.setTimeout(t,Nt))};this._orderRefreshTimer=window.setTimeout(t,e)},stopOrderPolling(){const e=this._orderRefreshTimer;e&&(clearTimeout(e),this._orderRefreshTimer=void 0)},onFetchData(){this.loading=!0,V.refresh(this.id).then(({data:e})=>{this.order=e,e.pay_way&&(this.payWay=e.pay_way),this.loading=!1}).catch(()=>{this.loading=!1})},onRepay(){this.payWay==="X402"&&(this.x402Session=void 0),this.paying=!0,this.startOrderPolling()},onPay(){this.prepaying=!0,this.payWay==="X402"&&(this.x402Session=void 0),V.pay(this.id,{pay_way:this.payWay}).then(({data:e})=>{if(this.prepaying=!1,e?.id&&(this.order=e),this.payWay==="X402"&&e){const t=e;t.accepts&&(this.x402Session=t)}(this.order&&this.order.price&&this.order.price>0||this.payWay==="X402")&&(this.paying=!0,this.startOrderPolling(Z))}).catch(e=>{this.prepaying=!1;const t=e?.response?.data;if(this.payWay==="X402"&&t){this.x402Session=t,this.paying=!0,this.startOrderPolling(Z);return}})}}}),Rt={class:"title"},Vt={key:0,class:"pt-5"},Dt={key:1,class:"order"},Lt={key:0},Tt={key:1},Bt={key:2},qt={key:3},Ot={key:0,class:"price-block"},Mt={class:"price-line"},Xt={key:0,class:"price original"},Ft={class:"price current unfree"},Ut={key:1,class:"price free"},Ht={key:0,class:"payways mb-6"},xt={class:"payname"},zt={class:"payname"},jt={class:"payname"},Gt={class:"payname"},Jt={key:1},Kt={key:2};function Qt(e,t,s,i,c,d){const r=f("el-col"),h=f("el-row"),W=f("el-skeleton"),$=f("copy-to-clipboard"),b=f("el-descriptions-item"),k=f("el-tag"),S=f("el-descriptions"),C=f("el-divider"),m=f("el-alert"),A=f("el-button"),I=f("el-card"),B=f("wechat-pay-order"),z=f("stripe-pay-order"),j=f("alipay-pay-order"),q=f("x402-pay-order");return a(),g(h,{class:"panel"},{default:n(()=>[u(r,{span:24},{default:n(()=>[u(h,null,{default:n(()=>[u(r,{span:24},{default:n(()=>[o("h2",Rt,l(e.$t("order.title.info")),1)]),_:1})]),_:1}),u(h,null,{default:n(()=>[u(r,{span:24},{default:n(()=>[u(I,{shadow:"hover"},{default:n(()=>[u(h,null,{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[e.loading?(a(),p("div",Vt,[u(W,{animated:""})])):(a(),p("div",Dt,[u(S,{column:1},{default:n(()=>[u(b,{label:e.$t("order.field.id")},{default:n(()=>[o("span",null,l(e.order?.id),1),e.order?.id?(a(),g($,{key:0,content:e.order?.id,class:"inline-block"},null,8,["content"])):y("",!0)]),_:1},8,["label"]),u(b,{label:e.$t("order.field.description")},{default:n(()=>[P(l(e.order?.description),1)]),_:1},8,["label"]),e.order?.application?.service?(a(),g(b,{key:0,label:e.$t("order.field.api")},{default:n(()=>[P(l(e.order?.application?.service?.title),1)]),_:1},8,["label"])):y("",!0),e.order?.pay_way?(a(),g(b,{key:1,label:e.$t("order.field.payWay")},{default:n(()=>[e.order?.pay_way===e.PayWay.WechatPay?(a(),p("span",Lt,l(e.$t("order.title.wechatPay")),1)):e.order?.pay_way===e.PayWay.Stripe?(a(),p("span",Tt,l(e.$t("order.title.stripe")),1)):e.order?.pay_way===e.PayWay.AliPay?(a(),p("span",Bt,l(e.$t("order.title.aliPay")),1)):e.order?.pay_way===e.PayWay.X402?(a(),p("span",qt,l(e.$t("order.title.x402")),1)):y("",!0)]),_:1},8,["label"])):y("",!0),u(b,{label:e.$t("order.field.createdAt")},{default:n(()=>[P(l(e.$dayjs.format(e.order?.created_at)),1)]),_:1},8,["label"]),u(b,{label:e.$t("order.field.price")},{default:n(()=>[e.shouldShowPriceBlock?(a(),p("div",Ot,[o("div",Mt,[e.showOriginalPrice?(a(),p("span",Xt,l(e.getPriceString({value:e.finalOriginalPrice})),1)):y("",!0),o("span",Ft,l(e.getPriceString({value:e.finalDiscountedPrice})),1),(a(!0),p(R,null,T(e.discountBadges,w=>(a(),g(k,{key:w.key,class:"discount-tag",effect:"light",size:"small",type:w.type},{default:n(()=>[P(l(w.text),1)]),_:2},1032,["type"]))),128))]),(a(!0),p(R,null,T(e.discountHints,(w,F)=>(a(),p("p",{key:F,class:"discount-hint"},l(w),1))),128))])):(a(),p("span",Ut,l(e.$t("order.message.free")),1))]),_:1},8,["label"])]),_:1})]))]),_:1})]),_:1}),e.order?.state===e.OrderState.PAID||e.order?.state===e.OrderState.FINISHED?(a(),g(h,{key:0,class:"mb-5"},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),u(m,{title:e.$t("order.message.paidSuccessfully"),type:"success","show-icon":"",closable:!1},null,8,["title"])]),_:1})]),_:1})):y("",!0),e.order?.state===e.OrderState.EXPIRED?(a(),g(h,{key:1,class:"mb-5"},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),u(m,{title:e.$t("order.message.orderExpired"),type:"error","show-icon":"",closable:!1},null,8,["title"])]),_:1})]),_:1})):y("",!0),e.order?.state===e.OrderState.FAILED?(a(),g(h,{key:2,class:"mb-5"},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),u(m,{title:e.$t("order.state.failed"),description:e.orderFailedReason,type:"error","show-icon":"",closable:!1},null,8,["title","description"])]),_:1})]),_:1})):y("",!0),e.order?.state===e.OrderState.PENDING?(a(),g(h,{key:3},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),e.showPayWays&&e.order.price&&e.order.price>0&&!e.order.pay_way?(a(),p("div",Ht,[o("div",{class:H({payway:!0,wechatpay:!0,active:e.payWay===e.PayWay.WechatPay}),onClick:t[0]||(t[0]=w=>e.payWay=e.PayWay.WechatPay)},[t[12]||(t[12]=o("span",{class:"payicon wechatpay"},null,-1)),o("span",xt,l(e.$t("order.title.wechatPay")),1)],2),o("div",{class:H({payway:!0,alipay:!0,active:e.payWay===e.PayWay.AliPay}),onClick:t[1]||(t[1]=w=>e.payWay=e.PayWay.AliPay)},[t[13]||(t[13]=o("span",{class:"payicon alipay"},null,-1)),o("span",zt,l(e.$t("order.title.aliPay")),1)],2),o("div",{class:H({payway:!0,stripe:!0,active:e.payWay===e.PayWay.Stripe}),onClick:t[2]||(t[2]=w=>e.payWay=e.PayWay.Stripe)},[t[14]||(t[14]=o("span",{class:"payicon stripe"},null,-1)),o("span",jt,l(e.$t("order.title.stripe")),1)],2),o("div",{class:H({payway:!0,x402:!0,relative:!0,active:e.payWay===e.PayWay.X402}),onClick:t[3]||(t[3]=w=>e.payWay=e.PayWay.X402)},[t[15]||(t[15]=o("span",{class:"payicon x402"},null,-1)),o("span",Gt,l(e.$t("order.title.x402")),1),e.x402DiscountRate>0?(a(),g(k,{key:0,class:"absolute -top-2 right-0",effect:"light",size:"small",type:"success"},{default:n(()=>[P(l(e.$t("order.message.x402DiscountTag",{percent:e.x402BadgePercent})),1)]),_:1})):y("",!0)],2)])):y("",!0),e.order?.pay_way?(a(),p("div",Kt,[u(A,{type:"primary",round:"",size:"large",class:"btn-repay",onClick:e.onRepay},{default:n(()=>[P(l(e.$t("common.button.repay")),1)]),_:1},8,["onClick"])])):(a(),p("div",Jt,[u(A,{loading:e.prepaying,round:"",type:"primary",size:"large",class:"btn-pay",onClick:e.onPay},{default:n(()=>[P(l(e.$t("common.button.pay")),1)]),_:1},8,["loading","onClick"])]))]),_:1})]),_:1})):y("",!0)]),_:1})]),_:1})]),_:1}),u(h,null,{default:n(()=>[u(r,{span:24},{default:n(()=>[e.order&&e.payWay===e.PayWay.WechatPay?(a(),g(B,{key:0,modelValue:e.order,"onUpdate:modelValue":t[4]||(t[4]=w=>e.order=w),visible:e.paying,onHide:t[5]||(t[5]=w=>e.paying=!1)},null,8,["modelValue","visible"])):y("",!0),e.order&&e.payWay===e.PayWay.Stripe?(a(),g(z,{key:1,modelValue:e.order,"onUpdate:modelValue":t[6]||(t[6]=w=>e.order=w),visible:e.paying,onHide:t[7]||(t[7]=w=>e.paying=!1)},null,8,["modelValue","visible"])):y("",!0),e.order&&e.payWay===e.PayWay.AliPay?(a(),g(j,{key:2,modelValue:e.order,"onUpdate:modelValue":t[8]||(t[8]=w=>e.order=w),visible:e.paying,onHide:t[9]||(t[9]=w=>e.paying=!1)},null,8,["modelValue","visible"])):y("",!0),e.order&&e.payWay===e.PayWay.X402?(a(),g(q,{key:3,modelValue:e.order,"onUpdate:modelValue":t[10]||(t[10]=w=>e.order=w),session:e.x402Session,visible:e.paying,onHide:t[11]||(t[11]=w=>e.paying=!1)},null,8,["modelValue","session","visible"])):y("",!0)]),_:1})]),_:1})]),_:1})]),_:1})}const cs=M(It,[["render",Qt],["__scopeId","data-v-0cc9f57e"]]);export{cs as default};
@@ -1 +1 @@
1
- import{bK as y,bF as N}from"./vendor-BG5lCpoe.js";import{e as V,o as b,p as U,E as k,q as L,r as C,a as T}from"./vendor-element-plus-7rF3khck.js";import{d as v,c as _,l as n,a as s,S as o,al as i,Y as r,Z as a,F as h,o as m,R as $,ai as A,aj as F}from"./vendor-vue-Bb02XvLT.js";import{_ as E,S as K}from"./index-BWdK6S1P.js";const z=v({name:"EditText",components:{ElDialog:k,ElInput:U,ElButton:b,ElIcon:V,Edit:y},props:{modelValue:{type:String,required:!0},title:{type:String,required:!0},placeholder:{type:String,required:!0}},emits:["confirm","cancel"],data(){return{editing:!1,value:this.modelValue}},methods:{onCancel(){this.editing=!1},onConfirm(){this.$emit("confirm",this.value),this.editing=!1}}}),M={class:"edit-body"},O={class:"dialog-footer"};function D(e,t,S,I,w,q){const c=i("el-input"),d=i("el-button"),p=i("el-dialog"),f=i("edit"),g=i("el-icon");return m(),_(h,null,[n(p,{modelValue:e.editing,"onUpdate:modelValue":t[1]||(t[1]=u=>e.editing=u),title:e.title,width:"400px",class:"edit-dialog"},{footer:o(()=>[s("span",O,[n(d,{round:"",onClick:e.onCancel},{default:o(()=>[r(a(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),n(d,{round:"",type:"primary",onClick:e.onConfirm},{default:o(()=>[r(a(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])]),default:o(()=>[s("div",M,[n(c,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=u=>e.value=u),placeholder:e.placeholder},null,8,["modelValue","placeholder"])])]),_:1},8,["modelValue","title"]),s("span",{class:"edit",onClick:t[2]||(t[2]=u=>e.editing=!0)},[n(g,{class:"icon"},{default:o(()=>[n(f)]),_:1})])],64)}const ie=E(z,[["render",D]]),J=v({name:"EditImage",components:{ElDialog:k,ElButton:b,FontAwesomeIcon:N,ElIcon:V,Edit:y,ElUpload:L},props:{modelValue:{type:String,required:!0},title:{type:String,required:!0},tip:{type:String,required:!0}},emits:["confirm","cancel"],data(){return{editing:!1,value:this.modelValue,fileList:[],uploadUrl:K()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},methods:{onCancel(){this.editing=!1},onConfirm(){this.$emit("confirm",this.urls?.[0]),this.editing=!1},onExceed(){C.warning(this.$t("site.message.uploadImageExceed"))},onError(){C.error(this.$t("site.message.uploadImageError"))}}}),j={class:"edit-body"},P={class:"el-upload__tip"},R={class:"dialog-footer"};function Y(e,t,S,I,w,q){const c=i("font-awesome-icon"),d=i("el-button"),p=i("el-upload"),f=i("el-dialog"),g=i("edit"),u=i("el-icon");return m(),_(h,null,[n(f,{modelValue:e.editing,"onUpdate:modelValue":t[1]||(t[1]=l=>e.editing=l),title:e.title,width:"400px",class:"edit-dialog"},{footer:o(()=>[s("span",R,[n(d,{round:"",onClick:e.onCancel},{default:o(()=>[r(a(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),n(d,{round:"",type:"primary",onClick:e.onConfirm},{default:o(()=>[r(a(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])]),default:o(()=>[s("div",j,[n(p,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),name:"file",limit:5,multiple:!0,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,headers:e.headers},{tip:o(()=>[s("div",P,a(e.tip),1)]),default:o(()=>[n(d,{round:"",type:"primary",class:"btn btn-upload"},{default:o(()=>[n(c,{icon:"fa-solid fa-upload",class:"icon mr-2"}),r(" "+a(e.$t("site.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","headers"])])]),_:1},8,["modelValue","title"]),s("span",{class:"edit",onClick:t[2]||(t[2]=l=>e.editing=!0)},[n(u,{class:"icon"},{default:o(()=>[n(g)]),_:1})])],64)}const le=E(J,[["render",Y]]),Z=v({name:"EditText",components:{ElDialog:k,ElInput:U,ElButton:b,ElIcon:V,ElTag:T,Edit:y},props:{modelValue:{type:Array,required:!0},title:{type:String,required:!0},placeholder:{type:String,required:!0},tip:{type:String,default:void 0},min:{type:Number,default:void 0},minErrorMessage:{type:String,default:void 0}},emits:["confirm","cancel"],data(){return{inputVisible:!1,inputValue:"",editing:!1,value:JSON.parse(JSON.stringify(this.modelValue))}},methods:{onCancel(){this.editing=!1},onConfirm(){if(this.min!==void 0&&this.value.length<this.min){C.error(this.minErrorMessage);return}this.$emit("confirm",this.value),this.editing=!1},onClose(e){this.value.splice(this.value.indexOf(e),1)},onInputConfirm(){const e=this.inputValue;e&&this.value.push(e),this.inputVisible=!1,this.inputValue=""},onNewItem(){this.inputVisible=!0,this.$nextTick(()=>{this.$refs.input.focus()})}}}),G={class:"edit-body"},H={class:"tags"},Q={class:"block tip"},W={class:"dialog-footer"};function X(e,t,S,I,w,q){const c=i("el-tag"),d=i("el-input"),p=i("el-button"),f=i("el-dialog"),g=i("edit"),u=i("el-icon");return m(),_(h,null,[n(f,{modelValue:e.editing,"onUpdate:modelValue":t[1]||(t[1]=l=>e.editing=l),title:e.title,width:"400px",class:"edit-dialog"},{footer:o(()=>[s("span",W,[n(p,{round:"",onClick:e.onCancel},{default:o(()=>[r(a(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),n(p,{round:"",type:"primary",onClick:e.onConfirm},{default:o(()=>[r(a(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])]),default:o(()=>[s("div",G,[s("div",H,[(m(!0),_(h,null,A(e.value,(l,B)=>(m(),$(c,{key:B,closable:"",round:"",class:"mr-2 mb-2","disable-transitions":!1,onClose:x=>e.onClose(l)},{default:o(()=>[r(a(l),1)]),_:2},1032,["onClose"]))),128))]),e.inputVisible?(m(),$(d,{key:0,ref:"input",modelValue:e.inputValue,"onUpdate:modelValue":t[0]||(t[0]=l=>e.inputValue=l),class:"block",size:"small",onKeyup:F(e.onInputConfirm,["enter"]),onBlur:e.onInputConfirm},null,8,["modelValue","onKeyup","onBlur"])):(m(),$(p,{key:1,round:"",class:"block",size:"small",onClick:e.onNewItem},{default:o(()=>t[3]||(t[3]=[r(" + ",-1)])),_:1,__:[3]},8,["onClick"])),s("span",Q,a(e.tip),1)])]),_:1},8,["modelValue","title"]),s("span",{class:"edit",onClick:t[2]||(t[2]=l=>e.editing=!0)},[n(u,{class:"icon"},{default:o(()=>[n(g)]),_:1})])],64)}const se=E(Z,[["render",X]]);export{se as E,le as a,ie as b};
1
+ import{bL as y,bG as N}from"./vendor-BVnhgPs4.js";import{e as V,o as b,p as U,E as k,q as L,r as C,a as T}from"./vendor-element-plus-BUOzLm6W.js";import{d as v,c as _,l as n,a as s,S as o,al as i,Y as r,Z as a,F as h,o as m,R as $,ai as A,aj as z}from"./vendor-vue-Bb02XvLT.js";import{_ as E,S as F}from"./index-Dn72Szn0.js";const K=v({name:"EditText",components:{ElDialog:k,ElInput:U,ElButton:b,ElIcon:V,Edit:y},props:{modelValue:{type:String,required:!0},title:{type:String,required:!0},placeholder:{type:String,required:!0}},emits:["confirm","cancel"],data(){return{editing:!1,value:this.modelValue}},methods:{onCancel(){this.editing=!1},onConfirm(){this.$emit("confirm",this.value),this.editing=!1}}}),M={class:"edit-body"},O={class:"dialog-footer"};function D(e,t,S,I,w,q){const c=i("el-input"),d=i("el-button"),p=i("el-dialog"),f=i("edit"),g=i("el-icon");return m(),_(h,null,[n(p,{modelValue:e.editing,"onUpdate:modelValue":t[1]||(t[1]=u=>e.editing=u),title:e.title,width:"400px",class:"edit-dialog"},{footer:o(()=>[s("span",O,[n(d,{round:"",onClick:e.onCancel},{default:o(()=>[r(a(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),n(d,{round:"",type:"primary",onClick:e.onConfirm},{default:o(()=>[r(a(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])]),default:o(()=>[s("div",M,[n(c,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=u=>e.value=u),placeholder:e.placeholder},null,8,["modelValue","placeholder"])])]),_:1},8,["modelValue","title"]),s("span",{class:"edit",onClick:t[2]||(t[2]=u=>e.editing=!0)},[n(g,{class:"icon"},{default:o(()=>[n(f)]),_:1})])],64)}const ie=E(K,[["render",D]]),J=v({name:"EditImage",components:{ElDialog:k,ElButton:b,FontAwesomeIcon:N,ElIcon:V,Edit:y,ElUpload:L},props:{modelValue:{type:String,required:!0},title:{type:String,required:!0},tip:{type:String,required:!0}},emits:["confirm","cancel"],data(){return{editing:!1,value:this.modelValue,fileList:[],uploadUrl:F()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},methods:{onCancel(){this.editing=!1},onConfirm(){this.$emit("confirm",this.urls?.[0]),this.editing=!1},onExceed(){C.warning(this.$t("site.message.uploadImageExceed"))},onError(){C.error(this.$t("site.message.uploadImageError"))}}}),j={class:"edit-body"},G={class:"el-upload__tip"},P={class:"dialog-footer"};function R(e,t,S,I,w,q){const c=i("font-awesome-icon"),d=i("el-button"),p=i("el-upload"),f=i("el-dialog"),g=i("edit"),u=i("el-icon");return m(),_(h,null,[n(f,{modelValue:e.editing,"onUpdate:modelValue":t[1]||(t[1]=l=>e.editing=l),title:e.title,width:"400px",class:"edit-dialog"},{footer:o(()=>[s("span",P,[n(d,{round:"",onClick:e.onCancel},{default:o(()=>[r(a(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),n(d,{round:"",type:"primary",onClick:e.onConfirm},{default:o(()=>[r(a(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])]),default:o(()=>[s("div",j,[n(p,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),name:"file",limit:5,multiple:!0,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,headers:e.headers},{tip:o(()=>[s("div",G,a(e.tip),1)]),default:o(()=>[n(d,{round:"",type:"primary",class:"btn btn-upload"},{default:o(()=>[n(c,{icon:"fa-solid fa-upload",class:"icon mr-2"}),r(" "+a(e.$t("site.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","headers"])])]),_:1},8,["modelValue","title"]),s("span",{class:"edit",onClick:t[2]||(t[2]=l=>e.editing=!0)},[n(u,{class:"icon"},{default:o(()=>[n(g)]),_:1})])],64)}const le=E(J,[["render",R]]),Y=v({name:"EditText",components:{ElDialog:k,ElInput:U,ElButton:b,ElIcon:V,ElTag:T,Edit:y},props:{modelValue:{type:Array,required:!0},title:{type:String,required:!0},placeholder:{type:String,required:!0},tip:{type:String,default:void 0},min:{type:Number,default:void 0},minErrorMessage:{type:String,default:void 0}},emits:["confirm","cancel"],data(){return{inputVisible:!1,inputValue:"",editing:!1,value:JSON.parse(JSON.stringify(this.modelValue))}},methods:{onCancel(){this.editing=!1},onConfirm(){if(this.min!==void 0&&this.value.length<this.min){C.error(this.minErrorMessage);return}this.$emit("confirm",this.value),this.editing=!1},onClose(e){this.value.splice(this.value.indexOf(e),1)},onInputConfirm(){const e=this.inputValue;e&&this.value.push(e),this.inputVisible=!1,this.inputValue=""},onNewItem(){this.inputVisible=!0,this.$nextTick(()=>{this.$refs.input.focus()})}}}),Z={class:"edit-body"},H={class:"tags"},Q={class:"block tip"},W={class:"dialog-footer"};function X(e,t,S,I,w,q){const c=i("el-tag"),d=i("el-input"),p=i("el-button"),f=i("el-dialog"),g=i("edit"),u=i("el-icon");return m(),_(h,null,[n(f,{modelValue:e.editing,"onUpdate:modelValue":t[1]||(t[1]=l=>e.editing=l),title:e.title,width:"400px",class:"edit-dialog"},{footer:o(()=>[s("span",W,[n(p,{round:"",onClick:e.onCancel},{default:o(()=>[r(a(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),n(p,{round:"",type:"primary",onClick:e.onConfirm},{default:o(()=>[r(a(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])]),default:o(()=>[s("div",Z,[s("div",H,[(m(!0),_(h,null,A(e.value,(l,B)=>(m(),$(c,{key:B,closable:"",round:"",class:"mr-2 mb-2","disable-transitions":!1,onClose:x=>e.onClose(l)},{default:o(()=>[r(a(l),1)]),_:2},1032,["onClose"]))),128))]),e.inputVisible?(m(),$(d,{key:0,ref:"input",modelValue:e.inputValue,"onUpdate:modelValue":t[0]||(t[0]=l=>e.inputValue=l),class:"block",size:"small",onKeyup:z(e.onInputConfirm,["enter"]),onBlur:e.onInputConfirm},null,8,["modelValue","onKeyup","onBlur"])):(m(),$(p,{key:1,round:"",class:"block",size:"small",onClick:e.onNewItem},{default:o(()=>t[3]||(t[3]=[r(" + ",-1)])),_:1,__:[3]},8,["onClick"])),s("span",Q,a(e.tip),1)])]),_:1},8,["modelValue","title"]),s("span",{class:"edit",onClick:t[2]||(t[2]=l=>e.editing=!0)},[n(u,{class:"icon"},{default:o(()=>[n(g)]),_:1})])],64)}const se=E(Y,[["render",X]]);export{se as E,le as a,ie as b};
@@ -1 +1 @@
1
- .price-text[data-v-bb068181]{display:inline-block;margin:0}.estimation .items[data-v-370bc975]{line-height:initial;border:none;padding:initial;border-radius:initial}.estimation .items .item[data-v-370bc975]{font-size:12px;color:var(--text-color-secondary);margin-bottom:5px}.estimation .items .item .comparison i[data-v-370bc975]{font-style:normal}.el-form .el-radio-group .el-radio-button[data-v-ee0069fd]{position:relative}.el-form .el-radio-group .el-radio-button .corner[data-v-ee0069fd]{position:absolute;top:-13px;right:0;font-size:12px;border:1px solid #ff7200;color:#ff7200;background-color:#ffe8d5;border-radius:3px;padding:2px 5px;z-index:1000}.panel .el-card[data-v-ee0069fd]{padding:50px 0}.panel .el-card .price[data-v-ee0069fd]{font-size:20px;font-weight:700}.panel .el-card .price.unfree[data-v-ee0069fd]{color:#ff5441}.panel .el-card .price.free[data-v-ee0069fd]{color:#29c287}
1
+ .price-text[data-v-bb068181]{display:inline-block;margin:0}.estimation .items[data-v-370bc975]{line-height:initial;border:none;padding:initial;border-radius:initial}.estimation .items .item[data-v-370bc975]{font-size:12px;color:var(--text-color-secondary);margin-bottom:5px}.estimation .items .item .comparison i[data-v-370bc975]{font-style:normal}.el-form .el-radio-group .el-radio-button[data-v-b665d4b5]{position:relative}.el-form .el-radio-group .el-radio-button .corner[data-v-b665d4b5]{position:absolute;top:-13px;right:0;font-size:12px;border:1px solid #ff7200;color:#ff7200;background-color:#ffe8d5;border-radius:3px;padding:2px 5px;z-index:1000}.panel .el-card[data-v-b665d4b5]{padding:50px 0}.panel .el-card .price[data-v-b665d4b5]{font-size:20px;font-weight:700}.panel .el-card .price.unfree[data-v-b665d4b5]{color:#ff5441}.panel .el-card .price.free[data-v-b665d4b5]{color:#29c287}
@@ -0,0 +1 @@
1
+ import{I as A}from"./api-Ch0ZHArw.js";import{_ as y,$ as q,a0 as F,X as z}from"./index-Dn72Szn0.js";import"./vendor-BVnhgPs4.js";import{g as E}from"./price-7kPhVK1M.js";import{d as S,c as s,Z as t,o as a,F as _,ai as v,W as l,Y as g,R as d,S as i,l as o,al as n,a as $,U as w,V as N,_ as D}from"./vendor-vue-Bb02XvLT.js";import{o as L}from"./order-CCQxecEz.js";import{z as G,A as W,m as j,o as H,H as X,I as Y,s as Z,w as J,x as K,G as Q,r as x}from"./vendor-element-plus-BUOzLm6W.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-dayjs-C40ROiFS.js";import"./vendor-katex-DHBGsivc.js";const ee=S({name:"ApiPrice",props:{price:{type:Number,required:!1,default:0},unit:{type:String,required:!1,default:void 0},start:{type:Boolean,required:!1,default:!1}},methods:{getPriceString:E}}),ae={class:"price-text"},te={key:0,class:"unfree"},ie={key:1,class:"free"};function se(e,p,k,C,I,O){return a(),s("div",ae,[e.price>0?(a(),s("span",te,t(e.getPriceString({value:e.price}))+" "+t(e.unit?` / ${e.unit}`:"")+t(e.start?e.$t("common.message.startPrice"):""),1)):(a(),s("span",ie,t(e.$t("common.message.free")),1))])}const oe=y(ee,[["render",se],["__scopeId","data-v-bb068181"]]),re=S({name:"ServiceEstimation",components:{},props:{service:{type:Object,required:!0},package:{type:Object,required:!0}},methods:{getPriceString:E}}),ne={class:"estimation"},le={key:0,class:"item"},pe={key:0},ce={key:1},ue={key:2},de={key:0},me={key:1};function he(e,p,k,C,I,O){return a(),s("div",ne,[(a(!0),s(_,null,v(e.service?.apis,(m,h)=>(a(),s("div",{key:h},[(a(!0),s(_,null,v(m?.estimation,(c,f)=>(a(),s("div",{key:f,class:"items"},[e.package?.amount&&c?.cost?(a(),s("p",le,[g(" ≈ "+t(c.name)+" "+t(Math.round(e.package.amount/c.cost))+" "+t(e.$t("api.unit.count"))+" ",1),e.package.price>0?(a(),s("span",pe," - "+t(e.getPriceString({value:e.package.price/(e.package.amount/c.cost),fractionDigits:3})+" / "+e.$t("api.unit.count")),1)):l("",!0),c.remark?(a(),s("span",ce," ("+t(c.remark)+") ",1)):l("",!0),c?.comparisons?.length>0?(a(),s("span",ue," - ")):l("",!0),(a(!0),s(_,null,v(c?.comparisons,(r,b)=>(a(),s("span",{key:b,class:"comparison"},[r?.value<0?(a(),s("i",de,t(e.$t("api.message.cheaperThan").replace("$[[value]]",r?.target?.toString()))+" "+t(Math.abs(r?.value)*100)+"% ",1)):l("",!0),r?.value>0?(a(),s("i",me,t(e.$t("api.message.moreExpensiveThan").replace("$[[value]]",r?.target?.toString()))+" "+t(Math.abs(r?.value)*100)+"% ",1)):l("",!0)]))),128))])):l("",!0)]))),128))]))),128))])}const ge=y(re,[["render",he],["__scopeId","data-v-370bc975"]]),fe=S({name:"ConsoleApplicationBuy",components:{ElSkeleton:Q,ElRow:K,ElCol:J,ElCard:Z,ElForm:Y,ElFormItem:X,ElButton:H,ElDivider:j,ElRadioGroup:W,ElRadioButton:G,Price:oe,ServiceEstimation:ge},data(){return{lang:this.$i18n.locale,application:void 0,loading:!1,type:A.USAGE,form:{packageId:void 0,amount:void 0},creating:!1}},computed:{applicationId(){return this.$route.params?.id?.toString()},id(){return this.$route.params?.id?.toString()},price(){return this.application?.service?.price&&this.form.amount?this.form.amount*this.application.service?.price:0},packages(){return this.application?.packages?.filter(e=>e.type===A.USAGE).sort((e,p)=>e.amount-p.amount)||[]},package(){if(this.packages&&this.form.packageId){const e=this.packages.filter(p=>p.id===this.form.packageId);if(e.length>0)return e[0]}}},mounted(){this.onFetchApplication()},methods:{getDiscount(e){return this.packages&&this.packages.length>0?this.lang?.startsWith("zh")?(10*e?.price/e?.amount/(this.packages[0].price/this.packages[0]?.amount)).toFixed(1)+"折":Math.round(100-100*e?.price/e?.amount/(this.packages[0].price/this.packages[0]?.amount))+"% OFF":""},onSubscribe(){this.$router.push({name:F,params:this.$route.params})},getPriceString:E,onFetchApplication(){this.loading=!0,z.get(this.id).then(({data:e})=>{this.application=e,this.loading=!1,this.form.packageId=this.packages?.[0]?.id}).catch(()=>{this.loading=!1})},onChangeType(){this.$router.push({name:F,params:this.$route.params})},onCreateOrder(){if(!this.application?.id)return;this.creating=!0;const e=this.$t(`service.unit.${this.application?.service?.unit}s`);L.create({application_id:this.application?.id,amount:this.package?.amount,...this.form.packageId!=="custom"&&this.package?{package_id:this.package.id}:{},description:this.application?.service?`${this.application?.service?.title} x ${this.package?.amount} ${e}`:this.$t("application.title.globalBuy")+" - "+this.package?.amount+" "+this.$t("service.unit.credits")}).then(({data:p})=>{this.creating=!1;const k=p;this.$router.push({name:q,params:{id:k.id}})}).catch(()=>{x.error(this.$t("order.message.createFailed")),this.creating=!1})}}}),ke={class:"title"},$e={key:0},_e={class:"text-[var(--el-text-color-secondary)] text-[12px] mb-3"},ve={key:0,class:"ml-2"},be={key:1,class:N({price:!0,free:!0})};function ye(e,p,k,C,I,O){const m=n("el-col"),h=n("el-row"),c=n("el-skeleton"),f=n("el-divider"),r=n("el-form-item"),b=n("el-radio-button"),R=n("el-radio-group"),T=n("service-estimation"),V=n("price"),B=n("el-button"),U=n("el-form"),M=n("el-card");return a(),d(h,{class:"panel"},{default:i(()=>[o(m,{span:24},{default:i(()=>[o(h,null,{default:i(()=>[o(m,{span:24},{default:i(()=>[$("h2",ke,t(e.$t("common.title.buyMore")),1)]),_:1})]),_:1}),o(h,null,{default:i(()=>[o(m,{span:24},{default:i(()=>[o(M,{shadow:"hover",class:"min-h-[500px]"},{default:i(()=>[o(h,null,{default:i(()=>[o(m,{span:16,offset:4},{default:i(()=>[e.loading?(a(),d(c,{key:0})):e.application?(a(),d(U,{key:1,"label-width":"100px"},{default:i(()=>[e.application?.service?l("",!0):(a(),s("div",$e,[$("p",_e,t(e.$t("application.message.globalBalanceBuyDescription")),1),o(f,{"border-style":"dashed"})])),e.application?.service?(a(),d(r,{key:1,label:e.$t("application.field.service")},{default:i(()=>[g(t(e.application?.service?.title),1)]),_:1},8,["label"])):(a(),d(r,{key:2,label:e.$t("application.field.scope")},{default:i(()=>[g(t(e.$t("application.title.globalBuy")),1)]),_:1},8,["label"])),o(r,{label:e.$t("application.field.package"),class:"mb-0"},{default:i(()=>[e.packages?(a(),d(R,{key:0,modelValue:e.form.packageId,"onUpdate:modelValue":p[0]||(p[0]=u=>e.form.packageId=u)},{default:i(()=>[(a(!0),s(_,null,v(e.packages,(u,P)=>(a(),d(b,{key:P,label:u.id,class:"mb-2"},{default:i(()=>[w($("span",{class:"corner"},t(e.getDiscount(u)),513),[[D,P!==0]]),g(" "+t(u.amount)+" "+t(e.$t(`service.unit.${e.application?.service?.unit||"credit"}s`)),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])):l("",!0)]),_:1},8,["label"]),e.application?.service?.apis&&e.application?.service?.apis?.map(u=>u?.estimation).filter(u=>!!u)?.length>0?(a(),d(r,{key:3},{default:i(()=>[e.application?.service?(a(),d(T,{key:0,service:e.application.service,package:e.package},null,8,["service","package"])):l("",!0)]),_:1})):l("",!0),o(r,{label:e.$t("service.field.price")},{default:i(()=>[o(V,{price:e.package?.price},null,8,["price"]),e.package?(a(),s("span",ve,"("+t(e.getPriceString({value:e.package?.price/e.package?.amount})+" / "+e.$t(`service.unit.${e.application?.service?.unit||"credits"}`))+") ",1)):l("",!0)]),_:1},8,["label"]),o(f,{"border-style":"dashed"}),o(r,{label:e.$t("application.field.shouldPayPrice")},{default:i(()=>[e.package?(a(),s("span",{key:0,class:N({price:!0,unfree:e.package?.price>0,free:e.package?.price===0})},t(e.getPriceString({value:e.package?.price})),3)):(a(),s("span",be," $ 0 "))]),_:1},8,["label"]),o(r,null,{default:i(()=>[o(B,{type:"primary",size:"large",class:"btn-create",loading:e.creating,round:"",onClick:e.onCreateOrder},{default:i(()=>[g(t(e.$t("application.button.createOrder")),1)]),_:1},8,["loading","onClick"])]),_:1}),o(f,{"border-style":"dashed"}),w(o(r,{label:""},{default:i(()=>[$("span",null,t(e.$t("console.message.doNotWantExtra")),1),o(B,{type:"primary",class:"btn btn-subscribe",round:"",size:"small",onClick:e.onSubscribe},{default:i(()=>[g(t(e.$t("console.message.subscribe")),1)]),_:1},8,["onClick"])]),_:1},512),[[D,!1]])]),_:1})):l("",!0)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const Ne=y(fe,[["render",ye],["__scopeId","data-v-b665d4b5"]]);export{Ne as default};
@@ -1 +1 @@
1
- import{bF as c}from"./vendor-BG5lCpoe.js";import{ah as p,_ as m}from"./index-BWdK6S1P.js";import{O as f}from"./vendor-element-plus-7rF3khck.js";import{d,c as a,a as t,W as x,l as o,U as u,al as n,_ as h,Z as _,o as i}from"./vendor-vue-Bb02XvLT.js";const g=d({name:"FilePreview",components:{FontAwesomeIcon:c,ElProgress:f},props:{name:{type:String,required:!0},percentage:{type:Number,required:!1,default:void 0},closable:{type:Boolean,required:!1,default:!0}},emits:["remove"],methods:{isImageUrl:p}}),v={class:"file cursor-pointer relative rounded-[10px] h-[50px] w-[250px] flex flex-row items-center justify-start bg-[var(--el-bg-color)]"},w={class:"left h-[50px] w-[50px] flex items-center justify-center"},y={class:"wrapper relative w-[35px] h-[35px] flex items-center justify-center rounded-[10px] text-white bg-[#10a37f] m-auto"},b={class:"right flex-1 h-[50px] flex items-center justify-start pl-[2px] text-[14px] text-[var(--el-text-color-primary)] truncate"},k={class:"text-xs font-bold truncate"},$={key:0,class:"close absolute cursor-pointer top-[5px] right-[5px] bg-[rgba(0,0,0,0.7)] text-white w-[15px] rounded-full h-[15px] flex text-[10px] text-center items-center justify-center"};function j(e,s,F,B,C,N){const r=n("font-awesome-icon"),l=n("el-progress");return i(),a("div",v,[t("div",w,[t("div",y,[o(r,{icon:"fa-regular fa-file-alt"}),u(o(l,{type:"circle","stroke-width":3,percentage:e.percentage,width:25,class:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[25px] h-[25px] z-[10] m-auto"},null,8,["percentage"]),[[h,e.percentage&&e.percentage<100]])])]),t("div",b,[t("span",k,_(e.name),1)]),e.closable?(i(),a("div",$,[o(r,{icon:"fa-solid fa-xmark",class:"icon icon-close",onClick:s[0]||(s[0]=q=>e.$emit("remove"))})])):x("",!0)])}const E=m(g,[["render",j]]);export{E as F};
1
+ import{bG as c}from"./vendor-BVnhgPs4.js";import{ah as p,_ as m}from"./index-Dn72Szn0.js";import{O as f}from"./vendor-element-plus-BUOzLm6W.js";import{d,c as a,a as t,W as x,l as o,U as u,al as n,_ as h,Z as _,o as i}from"./vendor-vue-Bb02XvLT.js";const g=d({name:"FilePreview",components:{FontAwesomeIcon:c,ElProgress:f},props:{name:{type:String,required:!0},percentage:{type:Number,required:!1,default:void 0},closable:{type:Boolean,required:!1,default:!0}},emits:["remove"],methods:{isImageUrl:p}}),v={class:"file cursor-pointer relative rounded-[10px] h-[50px] w-[250px] flex flex-row items-center justify-start bg-[var(--el-bg-color)]"},w={class:"left h-[50px] w-[50px] flex items-center justify-center"},y={class:"wrapper relative w-[35px] h-[35px] flex items-center justify-center rounded-[10px] text-white bg-[#10a37f] m-auto"},b={class:"right flex-1 h-[50px] flex items-center justify-start pl-[2px] text-[14px] text-[var(--el-text-color-primary)] truncate"},k={class:"text-xs font-bold truncate"},$={key:0,class:"close absolute cursor-pointer top-[5px] right-[5px] bg-[rgba(0,0,0,0.7)] text-white w-[15px] rounded-full h-[15px] flex text-[10px] text-center items-center justify-center"};function j(e,s,B,C,F,N){const r=n("font-awesome-icon"),l=n("el-progress");return i(),a("div",v,[t("div",w,[t("div",y,[o(r,{icon:"fa-regular fa-file-alt"}),u(o(l,{type:"circle","stroke-width":3,percentage:e.percentage,width:25,class:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[25px] h-[25px] z-[10] m-auto"},null,8,["percentage"]),[[h,e.percentage&&e.percentage<100]])])]),t("div",b,[t("span",k,_(e.name),1)]),e.closable?(i(),a("div",$,[o(r,{icon:"fa-solid fa-xmark",class:"icon icon-close",onClick:s[0]||(s[0]=q=>e.$emit("remove"))})])):x("",!0)])}const E=m(g,[["render",j]]);export{E as F};
@@ -1 +1 @@
1
- import{P as g}from"./Pagination-CtENlxBI.js";import{C as b}from"./CopyToClipboard-Ab4hHs26.js";import{b as w}from"./distribution-ahsMBsrL.js";import{_ as y}from"./index-BWdK6S1P.js";import"./vendor-BG5lCpoe.js";import{g as $}from"./price-DsQ2XKBW.js";import{s as C,t as v,u as D,w as H,x as P}from"./vendor-element-plus-7rF3khck.js";import{d as S,R as p,S as o,l as e,al as s,a,Z as n,U as E,as as F,o as u}from"./vendor-vue-Bb02XvLT.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-dayjs-BRrJyY8K.js";import"./vendor-katex-DHBGsivc.js";const k=S({name:"ConsoleDistributionList",components:{Pagination:g,CopyToClipboard:b,ElRow:P,ElCol:H,ElTable:D,ElTableColumn:v,ElCard:C},data(){return{distributionHistories:[],distributionStatus:void 0,loading:!1,total:void 0,limit:10}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData()},methods:{getPriceString:$,onPageChange(t){this.$router.push({name:this.$route.name?.toString(),query:{page:t}})},onFetchData(){this.loading=!0,Promise.all([this.onFetchDistributionHistory()]).finally(()=>{this.loading=!1})},async onFetchDistributionHistory(){const{data:t}=await w.getAll({user_id:this.$store.getters.user.id,ordering:"-created_at",limit:this.limit,offset:(this.page-1)*this.limit});this.distributionHistories=t.items,this.total=t.count}}}),q={class:"title"},B={class:"key"},I={class:"copy"},T={class:"key"},z={class:"copy"},A={class:"price"},N={class:"description"},R={class:"description"},V={class:"created-at"},j={class:"pagination m-v-lg"};function L(t,O,U,Z,G,J){const l=s("el-col"),d=s("el-row"),c=s("copy-to-clipboard"),r=s("el-table-column"),_=s("el-table"),m=s("el-card"),h=s("pagination"),f=F("loading");return u(),p(d,{class:"panel"},{default:o(()=>[e(l,{span:24},{default:o(()=>[e(d,null,{default:o(()=>[e(l,{span:24},{default:o(()=>[a("h2",q,n(t.$t("common.title.distributionHistory")),1)]),_:1})]),_:1}),e(d,null,{default:o(()=>[e(l,{span:24},{default:o(()=>[e(m,{shadow:"hover"},{default:o(()=>[E((u(),p(_,{data:t.distributionHistories,stripe:""},{default:o(()=>[e(r,{prop:"id",label:t.$t("distribution.field.id"),"class-name":"text-center",width:"350px"},{default:o(i=>[a("span",B,n(i.row.id),1),a("span",I,[e(c,{content:i.row.id},null,8,["content"])])]),_:1},8,["label"]),e(r,{prop:"id",label:t.$t("distribution.field.userId"),"class-name":"text-center",width:"350px"},{default:o(i=>[a("span",T,n(i.row.user_id),1),a("span",z,[e(c,{content:i.row.user_id},null,8,["content"])])]),_:1},8,["label"]),e(r,{label:t.$t("distribution.field.price"),width:"100px"},{default:o(i=>[a("span",A,n(t.getPriceString({value:i.row?.price})),1)]),_:1},8,["label"]),e(r,{label:t.$t("distribution.field.reward"),width:"100px"},{default:o(i=>[a("span",N,n(t.getPriceString({value:i.row?.reward})),1)]),_:1},8,["label"]),e(r,{label:t.$t("distribution.field.percentage"),width:"120px"},{default:o(i=>[a("span",R,n(i.row.percentage)+"%",1)]),_:1},8,["label"]),e(r,{label:t.$t("distribution.field.createdAt"),width:"200px"},{default:o(i=>[a("span",V,n(t.$dayjs.format(i.row.created_at)),1)]),_:1},8,["label"])]),_:1},8,["data"])),[[f,t.loading]])]),_:1})]),_:1})]),_:1}),e(d,null,{default:o(()=>[e(l,{span:10,offset:14},{default:o(()=>[a("div",j,[e(h,{"current-page":t.page,"page-size":t.limit,total:t.total,onChange:t.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const st=y(k,[["render",L],["__scopeId","data-v-74b9e778"]]);export{st as default};
1
+ import{P as g}from"./Pagination-DXYXr-Qm.js";import{C as b}from"./CopyToClipboard-CBliPgeP.js";import{b as w}from"./distribution-zXeAGkCu.js";import{_ as y}from"./index-Dn72Szn0.js";import"./vendor-BVnhgPs4.js";import{g as $}from"./price-7kPhVK1M.js";import{s as C,t as v,u as D,w as H,x as P}from"./vendor-element-plus-BUOzLm6W.js";import{d as S,R as p,S as o,l as e,al as s,a,Z as n,U as E,as as F,o as u}from"./vendor-vue-Bb02XvLT.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-dayjs-C40ROiFS.js";import"./vendor-katex-DHBGsivc.js";const k=S({name:"ConsoleDistributionList",components:{Pagination:g,CopyToClipboard:b,ElRow:P,ElCol:H,ElTable:D,ElTableColumn:v,ElCard:C},data(){return{distributionHistories:[],distributionStatus:void 0,loading:!1,total:void 0,limit:10}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData()},methods:{getPriceString:$,onPageChange(t){this.$router.push({name:this.$route.name?.toString(),query:{page:t}})},onFetchData(){this.loading=!0,Promise.all([this.onFetchDistributionHistory()]).finally(()=>{this.loading=!1})},async onFetchDistributionHistory(){const{data:t}=await w.getAll({user_id:this.$store.getters.user.id,ordering:"-created_at",limit:this.limit,offset:(this.page-1)*this.limit});this.distributionHistories=t.items,this.total=t.count}}}),q={class:"title"},B={class:"key"},I={class:"copy"},T={class:"key"},z={class:"copy"},A={class:"price"},N={class:"description"},R={class:"description"},V={class:"created-at"},j={class:"pagination m-v-lg"};function L(t,O,U,Z,G,J){const l=s("el-col"),d=s("el-row"),c=s("copy-to-clipboard"),r=s("el-table-column"),_=s("el-table"),m=s("el-card"),h=s("pagination"),f=F("loading");return u(),p(d,{class:"panel"},{default:o(()=>[e(l,{span:24},{default:o(()=>[e(d,null,{default:o(()=>[e(l,{span:24},{default:o(()=>[a("h2",q,n(t.$t("common.title.distributionHistory")),1)]),_:1})]),_:1}),e(d,null,{default:o(()=>[e(l,{span:24},{default:o(()=>[e(m,{shadow:"hover"},{default:o(()=>[E((u(),p(_,{data:t.distributionHistories,stripe:""},{default:o(()=>[e(r,{prop:"id",label:t.$t("distribution.field.id"),"class-name":"text-center",width:"350px"},{default:o(i=>[a("span",B,n(i.row.id),1),a("span",I,[e(c,{content:i.row.id},null,8,["content"])])]),_:1},8,["label"]),e(r,{prop:"id",label:t.$t("distribution.field.userId"),"class-name":"text-center",width:"350px"},{default:o(i=>[a("span",T,n(i.row.user_id),1),a("span",z,[e(c,{content:i.row.user_id},null,8,["content"])])]),_:1},8,["label"]),e(r,{label:t.$t("distribution.field.price"),width:"100px"},{default:o(i=>[a("span",A,n(t.getPriceString({value:i.row?.price})),1)]),_:1},8,["label"]),e(r,{label:t.$t("distribution.field.reward"),width:"100px"},{default:o(i=>[a("span",N,n(t.getPriceString({value:i.row?.reward})),1)]),_:1},8,["label"]),e(r,{label:t.$t("distribution.field.percentage"),width:"120px"},{default:o(i=>[a("span",R,n(i.row.percentage)+"%",1)]),_:1},8,["label"]),e(r,{label:t.$t("distribution.field.createdAt"),width:"200px"},{default:o(i=>[a("span",V,n(t.$dayjs.format(i.row.created_at)),1)]),_:1},8,["label"])]),_:1},8,["data"])),[[f,t.loading]])]),_:1})]),_:1})]),_:1}),e(d,null,{default:o(()=>[e(l,{span:10,offset:14},{default:o(()=>[a("div",j,[e(h,{"current-page":t.page,"page-size":t.limit,total:t.total,onChange:t.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const st=y(k,[["render",L],["__scopeId","data-v-74b9e778"]]);export{st as default};