@acedatacloud/nexior 3.259.0 → 3.259.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 (164) hide show
  1. package/dist/assets/{ApiCodeButton-C4MCH2v_.js → ApiCodeButton-CrB8OI_k.js} +1 -1
  2. package/dist/assets/{Auth-BdObDX2v.js → Auth-D7lOngx8.js} +1 -1
  3. package/dist/assets/{BotPlaceholder-CGAUW1iT.js → BotPlaceholder-2Tv7c707.js} +1 -1
  4. package/dist/assets/{Callback-DLKRtLBl.js → Callback-o_WtM4Lu.js} +1 -1
  5. package/dist/assets/Console-DyQrQ2ME.js +1 -0
  6. package/dist/assets/{Consumption-VJaAox2V.js → Consumption-DSbM28rV.js} +1 -1
  7. package/dist/assets/Conversation-CoXownwh.js +3 -0
  8. package/dist/assets/{CopyToClipboard-5NkEhaix.js → CopyToClipboard-DY4cWsYU.js} +1 -1
  9. package/dist/assets/Detail-B9n2i9Fa.js +2 -0
  10. package/dist/assets/{Extra-DmETetnw.js → Extra-CZn3TNIS.js} +1 -1
  11. package/dist/assets/{FilePreview-TGSg50Zc.js → FilePreview-Py4tu-0w.js} +1 -1
  12. package/dist/assets/{Hailuo-DStEsngb.js → Hailuo-LkHCQXkA.js} +1 -1
  13. package/dist/assets/{History-CoxKF_to.js → History-awA8PmMN.js} +1 -1
  14. package/dist/assets/{ImagePreview-MEfAgvBn.js → ImagePreview-C1Hid5KU.js} +1 -1
  15. package/dist/assets/{ImageWrapper-CRh-6MMY.js → ImageWrapper-DJX4X7ZH.js} +1 -1
  16. package/dist/assets/Index-0bKwaMB9.js +1 -0
  17. package/dist/assets/Index-BGeRgVlY.js +1 -0
  18. package/dist/assets/{Index-D1MlYtnO.js → Index-BkCr-IVH.js} +1 -1
  19. package/dist/assets/{Index-DNhKB8MI2.js → Index-BnWFf1WU2.js} +1 -1
  20. package/dist/assets/{Index-DcBkaxew.js → Index-BrFnUNc9.js} +1 -1
  21. package/dist/assets/Index-Bxc5LfWk.css +1 -0
  22. package/dist/assets/{Index-BAPf-RsM.js → Index-C81ah7pU.js} +1 -1
  23. package/dist/assets/{Index-BFgs8TTI.js → Index-CFFdA9Hv.js} +1 -1
  24. package/dist/assets/{Index-BClrhBEj.js → Index-CJzn5-aH.js} +1 -1
  25. package/dist/assets/{Index-DyS603xh.js → Index-CKkIR2Gm.js} +1 -1
  26. package/dist/assets/Index-CQ5JZIJH.js +1 -0
  27. package/dist/assets/{Index-DQBJmxs4.js → Index-Cl8AOaSr.js} +1 -1
  28. package/dist/assets/{Index-DYdiEXUp2.js → Index-D6vHmFCC2.js} +1 -1
  29. package/dist/assets/Index-D8MG0L42.js +1 -0
  30. package/dist/assets/{Index-DdZM4v0Z.js → Index-D8tz6VQK.js} +1 -1
  31. package/dist/assets/Index-Db2BkIZS.js +1 -0
  32. package/dist/assets/{Index-D7ZfZgi2.js → Index-DbBGy0Pt.js} +2 -2
  33. package/dist/assets/{Index-B52pMykM.js → Index-DgwYNaP9.js} +1 -1
  34. package/dist/assets/{Index-00tHtBSw.js → Index-DlaY1fFi.js} +1 -1
  35. package/dist/assets/Index-EMIpGQx7.js +1 -0
  36. package/dist/assets/{Index-BnOQUBQQ.js → Index-WAfcMl2-.js} +1 -1
  37. package/dist/assets/{Index-C5JN3sn-.js → Index-ZsqTKpGL.js} +1 -1
  38. package/dist/assets/{Index-BtbsxOuk2.js → Index-_Ze9qFdR2.js} +1 -1
  39. package/dist/assets/{Index-uaC9voce.js → Index-n5UaDQV9.js} +1 -1
  40. package/dist/assets/{Index-BTqh8BWT.js → Index-tiT3VChz.js} +1 -1
  41. package/dist/assets/Index-uvGcb3bu.js +1 -0
  42. package/dist/assets/{Invitees-CBLQwvVM.js → Invitees-DtB5kNVo.js} +1 -1
  43. package/dist/assets/List-BRJtoSef.js +1 -0
  44. package/dist/assets/{List-7Fcdu55c.js → List-CYjxjygq.js} +1 -1
  45. package/dist/assets/{List-krUYxZb6.js → List-T3QLwYka.js} +1 -1
  46. package/dist/assets/{Main-9nM4xiWt.js → Main-DttSVF8-.js} +1 -1
  47. package/dist/assets/Model-1999AqWt.js +1 -0
  48. package/dist/assets/Navigator-Zo3i7gU0.js +4 -0
  49. package/dist/assets/{NoTasks-Uzzr1qXU.js → NoTasks-BJ195-7X.js} +1 -1
  50. package/dist/assets/{NotFound-CiFY0OvQ.js → NotFound-D89S6twM.js} +1 -1
  51. package/dist/assets/{Pagination-BbB0LvQQ.js → Pagination-C-fONpnB.js} +1 -1
  52. package/dist/assets/{Pay-plu3ZBVl.js → Pay-Crrej_p1.js} +1 -1
  53. package/dist/assets/{Player-C63W3oP5.js → Player-ASHKHTg5.js} +1 -1
  54. package/dist/assets/{Status-Bhx2_jOp.js → Status-BJ-OT3no.js} +1 -1
  55. package/dist/assets/{Subscribe-BwihpAr3.js → Subscribe-CBh-MpTL.js} +1 -1
  56. package/dist/assets/{TabSwitcher-DZUpNA6G.js → TabSwitcher-D0CyI2Xc.js} +1 -1
  57. package/dist/assets/{Tts-yZ7AX6Nb.js → Tts-C4OxCs9d.js} +1 -1
  58. package/dist/assets/{VideoPlayer-DreO3MzZ.js → VideoPlayer-DtbwYrYN.js} +1 -1
  59. package/dist/assets/{avatar-DVaBu2Qw.js → avatar-DQvMUF4E.js} +1 -1
  60. package/dist/assets/{basic-CqW4nX8m.js → basic-CquVE-iP.js} +1 -1
  61. package/dist/assets/{chat-CdxJQAQx.js → chat-BGYr8UzJ.js} +1 -1
  62. package/dist/assets/{codingBridge-QJbhrPxC.js → codingBridge-DbnzL8w4.js} +1 -1
  63. package/dist/assets/common-AaJaxYtj.js +1 -0
  64. package/dist/assets/common-B9dg8x5F.js +1 -0
  65. package/dist/assets/common-BDfZ84MT.js +1 -0
  66. package/dist/assets/common-BNte7Sb7.js +1 -0
  67. package/dist/assets/common-BRmSZ0y6.js +1 -0
  68. package/dist/assets/common-BUmk8fFa.js +1 -0
  69. package/dist/assets/common-BoZkGdZv.js +1 -0
  70. package/dist/assets/common-ByelyeiI.js +1 -0
  71. package/dist/assets/common-CBXPz4Gt.js +1 -0
  72. package/dist/assets/common-CQCvsTQc.js +1 -0
  73. package/dist/assets/common-CY8Pw26h.js +1 -0
  74. package/dist/assets/common-D7M1aMtt.js +1 -0
  75. package/dist/assets/common-DKVRh9RY.js +1 -0
  76. package/dist/assets/common-DTJhQxGd.js +1 -0
  77. package/dist/assets/common-DpzaExUg.js +1 -0
  78. package/dist/assets/common-Dz9OL3SE.js +1 -0
  79. package/dist/assets/common-T4nrRH2n.js +1 -0
  80. package/dist/assets/common-qMAMlpap.js +1 -0
  81. package/dist/assets/{constants-BoMdh9QC.js → constants-D3W0tInG.js} +1 -1
  82. package/dist/assets/createTaskActions-DSio-qyh.js +1 -0
  83. package/dist/assets/{date-picker-DlzFe37R.js → date-picker-q8pIuluv.js} +1 -1
  84. package/dist/assets/{dropdown-D4P6sTin.js → dropdown-B9IRdQqv.js} +1 -1
  85. package/dist/assets/{esm-DyHAUseZ.js → esm-B9OmGyuV.js} +1 -1
  86. package/dist/assets/{esm-oK6GQW2D.js → esm-BR8vBoZW.js} +3 -3
  87. package/dist/assets/{esm-CHReRlQi.js → esm-C2vMPVw8.js} +1 -1
  88. package/dist/assets/{esm-Dc72rIUj.js → esm-CJlQJXK1.js} +1 -1
  89. package/dist/assets/{esm-DwX0auQH.js → esm-DAnx7ajT.js} +2 -2
  90. package/dist/assets/fish-B1CPHGqj.js +1 -0
  91. package/dist/assets/{flux-Cspb0_i0.js → flux-eDRFbrY-.js} +1 -1
  92. package/dist/assets/{hailuo-DxI-qT1d.js → hailuo-C_hqofiX.js} +1 -1
  93. package/dist/assets/{headshots-BYZ_ArqX.js → headshots-Cj4N1fF3.js} +1 -1
  94. package/dist/assets/{image-05OiwhCC.js → image-Bau0kGS7.js} +1 -1
  95. package/dist/assets/{index-DtcnyKXU.js → index-CEh-AtFD.js} +5 -5
  96. package/dist/assets/{index.browser.esm-U0zaLUn7.js → index.browser.esm-DHCDza1X.js} +1 -1
  97. package/dist/assets/{index.es-D2U_WHjx.js → index.es-CGcvPLbY.js} +2 -2
  98. package/dist/assets/{input-number-rcPsKO0-.js → input-number-CmkQjFiE.js} +1 -1
  99. package/dist/assets/{kling-CC2Ke0tt.js → kling-CRmr8y81.js} +1 -1
  100. package/dist/assets/logo-CDy94G52.png +0 -0
  101. package/dist/assets/{luma-DAyLUibu.js → luma-D_nz3b6M.js} +1 -1
  102. package/dist/assets/{midjourney-tnbchmD3.js → midjourney-B6hnRZ3K.js} +1 -1
  103. package/dist/assets/{seedance-DJZm3SNS.js → nanobanana-f2Hzejwd.js} +1 -1
  104. package/dist/assets/{openaiimage-B_A5QSkl.js → openaiimage-BwpYHtuL.js} +1 -1
  105. package/dist/assets/{pagination-K-GiKzXg.js → pagination-D0v316W1.js} +1 -1
  106. package/dist/assets/{pika-BBP-4JZM.js → pika-e6hR4IeY.js} +1 -1
  107. package/dist/assets/{pixverse-C0IDtvAx.js → pixverse-CPipo4LI.js} +1 -1
  108. package/dist/assets/{popover-B0B5fO0z.js → popover-CSgWdhUy.js} +1 -1
  109. package/dist/assets/{producer-DgOLiWVc.js → producer-DJ4a39Lu.js} +1 -1
  110. package/dist/assets/{qrart-xTwvAA74.js → qrart-BuxE05Qc.js} +1 -1
  111. package/dist/assets/{nanobanana-BoZgSSDH.js → seedance-DAZrVfXS.js} +1 -1
  112. package/dist/assets/{seedream-QYIfMZ3Q.js → seedream-BJqXqpOp.js} +1 -1
  113. package/dist/assets/{select-DC5zO2Tf.js → select-Dy4nmBcy.js} +1 -1
  114. package/dist/assets/{serp-DXGhiJZg.js → serp-Cz_MtJwi.js} +1 -1
  115. package/dist/assets/{slider-CGrxfmRg.js → slider-DYYyrciZ.js} +1 -1
  116. package/dist/assets/{solana-wallets-C7lQxfEG.js → solana-wallets-tNxm19zu.js} +2 -2
  117. package/dist/assets/{solana-wallets-vue-Ch6_njsf.js → solana-wallets-vue-ByNIjkt4.js} +1 -1
  118. package/dist/assets/{sora-Bih-b3Wy.js → sora-DeJUG43s.js} +1 -1
  119. package/dist/assets/{suno-BVP1oyHI.js → suno-BxgEvS5C.js} +1 -1
  120. package/dist/assets/{switch-BXulLLA8.js → switch-D-UGKh2b.js} +1 -1
  121. package/dist/assets/{veo-C2QQ-49i.js → veo-CSiyGGgP.js} +1 -1
  122. package/dist/assets/{wan-CPaPXFG5.js → wan-COaEWeYX.js} +1 -1
  123. package/dist/assets/{web-C29CPt0h.js → web-6DmQMQgq.js} +1 -1
  124. package/dist/assets/{web-DUk_NFV5.js → web-9Wjb-3Y7.js} +1 -1
  125. package/dist/assets/{web-zl9eTeWP.js → web-BACoPsIE.js} +1 -1
  126. package/dist/assets/{web-GnQt9T8o.js → web-Fw8IL3sG.js} +1 -1
  127. package/dist/assets/webextrator-DHfxHhCZ.js +1 -0
  128. package/dist/index.html +2 -2
  129. package/package.json +1 -1
  130. package/dist/assets/Console-DzBF74Up.js +0 -1
  131. package/dist/assets/Conversation-C0qMBCoR.js +0 -3
  132. package/dist/assets/Detail-Bkh-f-26.js +0 -2
  133. package/dist/assets/Index-B_G3qdbD.js +0 -1
  134. package/dist/assets/Index-CnRpD2Su.js +0 -1
  135. package/dist/assets/Index-Ct7m8cKp.js +0 -1
  136. package/dist/assets/Index-CvXKIAaC.css +0 -1
  137. package/dist/assets/Index-D8Y42RvJ.js +0 -1
  138. package/dist/assets/Index-DHHLDJRo.js +0 -1
  139. package/dist/assets/Index-KqTKc6D1.js +0 -1
  140. package/dist/assets/Index-WhYXHrmN.js +0 -1
  141. package/dist/assets/List-BFdZ2jdF.js +0 -1
  142. package/dist/assets/Model-DO66qW4-.js +0 -1
  143. package/dist/assets/Navigator-CBkmjXto.js +0 -4
  144. package/dist/assets/common-B-85hIf6.js +0 -1
  145. package/dist/assets/common-BGffpcje.js +0 -1
  146. package/dist/assets/common-BSlcCHi9.js +0 -1
  147. package/dist/assets/common-BW1ktl-0.js +0 -1
  148. package/dist/assets/common-C409tH5C.js +0 -1
  149. package/dist/assets/common-C68QsR1F.js +0 -1
  150. package/dist/assets/common-CDV9Evla.js +0 -1
  151. package/dist/assets/common-CnwYKU3V.js +0 -1
  152. package/dist/assets/common-CubZdUiv.js +0 -1
  153. package/dist/assets/common-D5vt52Th.js +0 -1
  154. package/dist/assets/common-D6zwbvbp.js +0 -1
  155. package/dist/assets/common-D9gssFIa.js +0 -1
  156. package/dist/assets/common-DAbrOt4b.js +0 -1
  157. package/dist/assets/common-DfZXjXL1.js +0 -1
  158. package/dist/assets/common-Dujshi5h.js +0 -1
  159. package/dist/assets/common-RM9mERZO.js +0 -1
  160. package/dist/assets/common-fL3aSjYa.js +0 -1
  161. package/dist/assets/common-juyL6Sek.js +0 -1
  162. package/dist/assets/createTaskActions-B0VMGvXd.js +0 -1
  163. package/dist/assets/fish-IBtvnPZP.js +0 -1
  164. package/dist/assets/webextrator-BHMQIKHI.js +0 -1
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{Bt as e,D as t,E as n,M as r,N as i,O as a,P as o,Ut as s,X as c,et as l,k as u,lt as d,x as f}from"./vendor-chart-Df3WBvr0.js";import{t as p}from"./button-DgZFgZDr.js";import{t as ee}from"./alert-Bgv5POrX.js";import{t as te}from"./card-pDppUT2_.js";import{n as m,t as h}from"./row-BgYJmo3R.js";import{i as g,n as _,r as v,t as y}from"./wechat-DrX_Qf_8.js";import{t as b}from"./divider-DntlVH34.js";import{t as x}from"./skeleton-k2vAVQdD.js";import{At as S,Er as C,Ot as w,S as T,bt as E,gn as D,hr as O,rr as k,wr as A,xr as j}from"./index-DtcnyKXU.js";import{t as M}from"./CopyToClipboard-5NkEhaix.js";var N=o({name:`PublicWechatPayDialog`,components:{ElDialog:A,ElButton:p,QrCode:E,ElRow:h,ElCol:m},props:{order:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:[`hide`],data(){return{copied:!1,copiedTimer:void 0}},computed:{isMobileOutsideWechat(){return _()&&!y()},isMobileInsideWechat(){return _()&&y()},dialogWidth(){return this.isMobileOutsideWechat||this.isMobileInsideWechat?`90%`:`500px`}},unmounted(){this.copiedTimer&&clearTimeout(this.copiedTimer)},methods:{async onCopyLink(){let e=typeof window<`u`?window.location.href:``;if(!e)return;let t=!1;try{t=await S(e,{debug:!1})}catch{t=!1}t?(this.copied=!0,this.copiedTimer&&clearTimeout(this.copiedTimer),this.copiedTimer=window.setTimeout(()=>{this.copied=!1},2e3)):j.error(String(this.$t(`common.message.copyFailed`)||`Copy failed`))}}}),P={key:0,class:`wechat-pay-mobile text-center py-[20px] px-[10px]`},F={class:`text-[14px] mb-3 leading-relaxed`},I={class:`text-[12px] text-gray-500 mb-4 leading-relaxed`},L={key:1,class:`wechat-pay-longpress text-center py-[20px] px-[10px]`},R={class:`text-[14px] mb-4 leading-relaxed`},z={class:`paycode wechat`},B={class:`help-text block bg-[#00c800] text-white text-[14px] h-[35px] w-[240px] text-center leading-[35px] mt-[10px] mx-auto`};function V(e,o,f,p,ee,te){let m=l(`qr-code`),h=l(`el-button`),g=l(`el-col`),_=l(`el-row`),v=l(`el-dialog`);return c(),t(v,{"model-value":e.visible,title:e.$t(`application.title.buyService`),width:e.dialogWidth,center:``,onClose:o[0]||=t=>e.$emit(`hide`)},{default:d(()=>[e.isMobileOutsideWechat?(c(),u(`div`,P,[n(`p`,F,s(e.$t(`order.message.wechatPayMobileScanTip`)),1),e.order?.pay_url?(c(),t(m,{key:0,value:e.order?.pay_url,size:220,class:`qrcode m-auto mb-3`,type:`image/png`,color:{dark:`#000000`,light:`#ffffff`}},null,8,[`value`])):a(``,!0),n(`p`,I,s(e.$t(`order.message.wechatPayMobileHint`)),1),i(h,{size:`default`,round:``,class:`w-[220px]`,onClick:e.onCopyLink},{default:d(()=>[r(s(e.copied?e.$t(`common.message.copied`):e.$t(`order.button.copyPayLink`)),1)]),_:1},8,[`onClick`])])):e.isMobileInsideWechat?(c(),u(`div`,L,[n(`p`,R,s(e.$t(`order.message.wechatPayLongPressTip`)),1),e.order?.pay_url?(c(),t(m,{key:0,value:e.order?.pay_url,size:240,class:`qrcode mx-auto`,type:`image/png`,color:{dark:`#000000`,light:`#ffffff`}},null,8,[`value`])):a(``,!0)])):(c(),t(_,{key:2,class:`paycodes py-[30px] w-[500px] mx-auto`},{default:d(()=>[i(g,{span:12},{default:d(()=>[n(`div`,z,[e.order?.pay_url?(c(),t(m,{key:0,value:e.order?.pay_url,size:200,class:`qrcode m-auto w-[200px] h-[200px]`,type:`image/png`,color:{dark:`#000000`,light:`#ffffff`}},null,8,[`value`])):a(``,!0),n(`p`,B,s(e.$t(`order.message.wechatPayHelp`)),1)])]),_:1}),i(g,{span:12},{default:d(()=>[...o[1]||=[n(`div`,{class:`help-img`},[n(`img`,{src:`https://midas.gtimg.cn/enterprise/images/ep_sys_wx_tip.jpg`})],-1)]]),_:1})]),_:1}))]),_:1},8,[`model-value`,`title`,`width`])}var H=T(N,[[`render`,V]]),U=o({name:`PublicStripePayDialog`,components:{ElDialog:A},props:{order:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:[`hide`],watch:{visible:{handler(e){e&&this.order?.pay_url&&window.open(this.order.pay_url,`_blank`)}}}}),W={class:`text-center`};function G(e,r,i,a,o,u){let f=l(`el-dialog`);return c(),t(f,{"model-value":e.visible,title:e.$t(`application.title.buyService`),width:`500px`,center:``,onClose:r[0]||=t=>e.$emit(`hide`)},{default:d(()=>[n(`p`,W,s(e.$t(`order.message.buyInExternalUrl`)),1)]),_:1},8,[`model-value`,`title`])}var K=T(U,[[`render`,G]]),ne=o({name:`PublicAlipayPayDialog`,components:{ElDialog:A},props:{order:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:[`hide`],watch:{visible:{handler(e){e&&this.order?.pay_url&&window.open(this.order.pay_url,`_blank`)}}}}),q={class:`text-center`};function J(e,r,i,a,o,u){let f=l(`el-dialog`);return c(),t(f,{"model-value":e.visible,title:e.$t(`application.title.buyService`),width:`500px`,center:``,onClose:r[0]||=t=>e.$emit(`hide`)},{default:d(()=>[n(`p`,q,s(e.$t(`order.message.buyInExternalUrl`)),1)]),_:1},8,[`model-value`,`title`])}var Y=T(ne,[[`render`,J]]),X=7e3,Z=2e3,Q=function(e){return e.WechatPay=`WechatPay`,e.Stripe=`Stripe`,e.AliPay=`AliPay`,e}(Q||{}),re=o({name:`OrderPublicPay`,components:{ElButton:p,ElRow:h,ElCol:m,ElCard:te,ElSkeleton:x,ElDivider:b,ElAlert:ee,ElDescriptions:v,ElDescriptionsItem:g,ElTag:C,PublicWechatPay:H,PublicStripePay:K,PublicAlipayPay:Y,CopyToClipboard:M},data(){return{PayWay:Q,OrderState:k,payWay:`WechatPay`,order:void 0,loading:!1,paying:!1,prepaying:!1}},computed:{id(){return this.$route.params?.id?.toString()??``}},watch:{paying(e){e?this.startOrderPolling(Z):this.stopOrderPolling()}},created(){this._orderRefreshTimer=void 0},mounted(){this.onFetchData()},beforeUnmount(){this.stopOrderPolling()},methods:{getPriceString:w,payWayLabel(e){return{WechatPay:this.$t(`order.title.wechatPay`),Stripe:this.$t(`order.title.stripe`),AliPay:this.$t(`order.title.aliPay`)}[e]||e},onFetchData(){this.id&&(this.loading=!0,D.get(this.id).then(({data:e})=>{this.order=e,e?.pay_way&&e.pay_way in Q&&(this.payWay=e.pay_way),this.loading=!1}).catch(()=>{this.order=void 0,this.loading=!1}))},startOrderPolling(e=0){this.stopOrderPolling();let t=async()=>{try{let{data:e}=await D.get(this.id);if(this.order=e,e?.state===k.PAID||e?.state===k.FINISHED||e?.state===k.FAILED||e?.state===k.EXPIRED){this.paying=!1,this.stopOrderPolling();return}}catch{}this.paying&&(this._orderRefreshTimer=window.setTimeout(t,X))};this._orderRefreshTimer=window.setTimeout(t,e)},stopOrderPolling(){let e=this._orderRefreshTimer;e&&(clearTimeout(e),this._orderRefreshTimer=void 0)},onRepay(){this.paying=!0},onPay(){if(!this.id)return;this.prepaying=!0;let e={pay_way:this.payWay};this.payWay===`AliPay`&&(e.surface=O()),D.pay(this.id,e).then(({data:e})=>{this.prepaying=!1,e?.id&&(this.order=e),this.order&&this.order.price&&this.order.price>0&&(this.paying=!0)}).catch(()=>{this.prepaying=!1})}}}),ie={class:`title`},ae={key:0,class:`pt-5`},oe={key:1,class:`pt-10 text-center`},$={key:2,class:`order`},se={key:0,class:`price current unfree`},ce={key:1,class:`price free`},le={key:0,class:`payways mb-6`},ue={class:`payname`},de={class:`payname`},fe={class:`payname`},pe={key:1},me={key:2};function he(o,p,ee,te,m,h){let g=l(`el-col`),_=l(`el-row`),v=l(`el-skeleton`),y=l(`el-alert`),b=l(`copy-to-clipboard`),x=l(`el-descriptions-item`),S=l(`el-tag`),C=l(`el-descriptions`),w=l(`el-divider`),T=l(`el-button`),E=l(`el-card`),D=l(`public-wechat-pay`),O=l(`public-stripe-pay`),k=l(`public-alipay-pay`);return c(),u(f,null,[i(_,{class:`wrapper`},{default:d(()=>[i(g,{span:24},{default:d(()=>[i(_,null,{default:d(()=>[i(g,{span:24},{default:d(()=>[n(`h2`,ie,s(o.$t(`order.title.info`)),1)]),_:1})]),_:1}),i(_,{class:`panel`},{default:d(()=>[i(g,{span:24},{default:d(()=>[i(E,{shadow:`hover`},{default:d(()=>[i(_,null,{default:d(()=>[i(g,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:d(()=>[o.loading?(c(),u(`div`,ae,[i(v,{animated:``})])):o.order?(c(),u(`div`,$,[i(C,{column:1},{default:d(()=>[i(x,{label:o.$t(`order.field.id`)},{default:d(()=>[n(`span`,null,s(o.order.id),1),o.order.id?(c(),t(b,{key:0,content:o.order.id,class:`inline-block`},null,8,[`content`])):a(``,!0)]),_:1},8,[`label`]),i(x,{label:o.$t(`order.field.description`)},{default:d(()=>[r(s(o.order.description),1)]),_:1},8,[`label`]),o.order.pay_way?(c(),t(x,{key:0,label:o.$t(`order.field.payWay`)},{default:d(()=>[i(S,{type:`info`,effect:`dark`,round:``,size:`small`},{default:d(()=>[r(s(o.payWayLabel(o.order.pay_way)),1)]),_:1})]),_:1},8,[`label`])):a(``,!0),i(x,{label:o.$t(`order.field.createdAt`)},{default:d(()=>[r(s(o.$dayjs.format(o.order.created_at||``)),1)]),_:1},8,[`label`]),i(x,{label:o.$t(`order.field.price`)},{default:d(()=>[o.order.price&&o.order.price>0?(c(),u(`span`,se,s(o.getPriceString({value:o.order.price})),1)):(c(),u(`span`,ce,s(o.$t(`order.message.free`)),1))]),_:1},8,[`label`])]),_:1})])):(c(),u(`div`,oe,[i(y,{title:o.$t(`order.message.publicPayNotFound`),type:`error`,"show-icon":``,closable:!1},null,8,[`title`])]))]),_:1})]),_:1}),o.order?.state===o.OrderState.PAID||o.order?.state===o.OrderState.FINISHED?(c(),t(_,{key:0,class:`mb-5`},{default:d(()=>[i(g,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:d(()=>[i(w,{"border-style":`dashed`}),i(y,{title:o.$t(`order.message.paidSuccessfully`),type:`success`,"show-icon":``,closable:!1},null,8,[`title`])]),_:1})]),_:1})):a(``,!0),o.order?.state===o.OrderState.EXPIRED?(c(),t(_,{key:1,class:`mb-5`},{default:d(()=>[i(g,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:d(()=>[i(w,{"border-style":`dashed`}),i(y,{title:o.$t(`order.message.orderExpired`),type:`error`,"show-icon":``,closable:!1},null,8,[`title`])]),_:1})]),_:1})):a(``,!0),o.order?.state===o.OrderState.FAILED?(c(),t(_,{key:2,class:`mb-5`},{default:d(()=>[i(g,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:d(()=>[i(w,{"border-style":`dashed`}),i(y,{title:o.$t(`order.state.failed`),type:`error`,"show-icon":``,closable:!1},null,8,[`title`])]),_:1})]),_:1})):a(``,!0),o.order?.state===o.OrderState.PENDING?(c(),t(_,{key:3},{default:d(()=>[i(g,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:d(()=>[i(w,{"border-style":`dashed`}),!o.order.pay_way&&o.order.price&&o.order.price>0?(c(),u(`div`,le,[n(`div`,{class:e({payway:!0,wechatpay:!0,active:o.payWay===o.PayWay.WechatPay}),onClick:p[0]||=e=>o.payWay=o.PayWay.WechatPay},[p[6]||=n(`span`,{class:`payicon wechatpay`},null,-1),n(`span`,ue,s(o.$t(`order.title.wechatPay`)),1)],2),n(`div`,{class:e({payway:!0,alipay:!0,active:o.payWay===o.PayWay.AliPay}),onClick:p[1]||=e=>o.payWay=o.PayWay.AliPay},[p[7]||=n(`span`,{class:`payicon alipay`},null,-1),n(`span`,de,s(o.$t(`order.title.aliPay`)),1)],2),n(`div`,{class:e({payway:!0,stripe:!0,active:o.payWay===o.PayWay.Stripe}),onClick:p[2]||=e=>o.payWay=o.PayWay.Stripe},[p[8]||=n(`span`,{class:`payicon stripe`},null,-1),n(`span`,fe,s(o.$t(`order.title.stripe`)),1)],2)])):a(``,!0),o.order.pay_way?(c(),u(`div`,me,[i(T,{type:`primary`,round:``,size:`large`,class:`btn-repay`,onClick:o.onRepay},{default:d(()=>[r(s(o.$t(`common.button.repay`)),1)]),_:1},8,[`onClick`])])):(c(),u(`div`,pe,[i(T,{loading:o.prepaying,round:``,type:`primary`,size:`large`,class:`btn-pay`,onClick:o.onPay},{default:d(()=>[r(s(o.$t(`common.button.pay`)),1)]),_:1},8,[`loading`,`onClick`])]))]),_:1})]),_:1})):a(``,!0)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),o.order&&o.payWay===o.PayWay.WechatPay?(c(),t(D,{key:0,order:o.order,visible:o.paying,onHide:p[3]||=e=>o.paying=!1},null,8,[`order`,`visible`])):a(``,!0),o.order&&o.payWay===o.PayWay.Stripe?(c(),t(O,{key:1,order:o.order,visible:o.paying,onHide:p[4]||=e=>o.paying=!1},null,8,[`order`,`visible`])):a(``,!0),o.order&&o.payWay===o.PayWay.AliPay?(c(),t(k,{key:2,order:o.order,visible:o.paying,onHide:p[5]||=e=>o.paying=!1},null,8,[`order`,`visible`])):a(``,!0)],64)}var ge=T(re,[[`render`,he],[`__scopeId`,`data-v-b09d60d0`]]);export{ge as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{Bt as e,D as t,E as n,M as r,N as i,O as a,P as o,Ut as s,X as c,et as l,k as u,lt as d,x as f}from"./vendor-chart-Df3WBvr0.js";import{t as p}from"./button-DgZFgZDr.js";import{t as ee}from"./alert-Bgv5POrX.js";import{t as te}from"./card-pDppUT2_.js";import{n as m,t as h}from"./row-BgYJmo3R.js";import{i as g,n as _,r as v,t as y}from"./wechat-DrX_Qf_8.js";import{t as b}from"./divider-DntlVH34.js";import{t as x}from"./skeleton-k2vAVQdD.js";import{Ar as S,E as C,Mt as w,Or as T,Pt as E,Tr as D,bn as O,sr as k,wt as A,yr as j}from"./index-CEh-AtFD.js";import{t as M}from"./CopyToClipboard-DY4cWsYU.js";var N=o({name:`PublicWechatPayDialog`,components:{ElDialog:T,ElButton:p,QrCode:A,ElRow:h,ElCol:m},props:{order:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:[`hide`],data(){return{copied:!1,copiedTimer:void 0}},computed:{isMobileOutsideWechat(){return _()&&!y()},isMobileInsideWechat(){return _()&&y()},dialogWidth(){return this.isMobileOutsideWechat||this.isMobileInsideWechat?`90%`:`500px`}},unmounted(){this.copiedTimer&&clearTimeout(this.copiedTimer)},methods:{async onCopyLink(){let e=typeof window<`u`?window.location.href:``;if(!e)return;let t=!1;try{t=await E(e,{debug:!1})}catch{t=!1}t?(this.copied=!0,this.copiedTimer&&clearTimeout(this.copiedTimer),this.copiedTimer=window.setTimeout(()=>{this.copied=!1},2e3)):D.error(String(this.$t(`common.message.copyFailed`)||`Copy failed`))}}}),P={key:0,class:`wechat-pay-mobile text-center py-[20px] px-[10px]`},F={class:`text-[14px] mb-3 leading-relaxed`},I={class:`text-[12px] text-gray-500 mb-4 leading-relaxed`},L={key:1,class:`wechat-pay-longpress text-center py-[20px] px-[10px]`},R={class:`text-[14px] mb-4 leading-relaxed`},z={class:`paycode wechat`},B={class:`help-text block bg-[#00c800] text-white text-[14px] h-[35px] w-[240px] text-center leading-[35px] mt-[10px] mx-auto`};function V(e,o,f,p,ee,te){let m=l(`qr-code`),h=l(`el-button`),g=l(`el-col`),_=l(`el-row`),v=l(`el-dialog`);return c(),t(v,{"model-value":e.visible,title:e.$t(`application.title.buyService`),width:e.dialogWidth,center:``,onClose:o[0]||=t=>e.$emit(`hide`)},{default:d(()=>[e.isMobileOutsideWechat?(c(),u(`div`,P,[n(`p`,F,s(e.$t(`order.message.wechatPayMobileScanTip`)),1),e.order?.pay_url?(c(),t(m,{key:0,value:e.order?.pay_url,size:220,class:`qrcode m-auto mb-3`,type:`image/png`,color:{dark:`#000000`,light:`#ffffff`}},null,8,[`value`])):a(``,!0),n(`p`,I,s(e.$t(`order.message.wechatPayMobileHint`)),1),i(h,{size:`default`,round:``,class:`w-[220px]`,onClick:e.onCopyLink},{default:d(()=>[r(s(e.copied?e.$t(`common.message.copied`):e.$t(`order.button.copyPayLink`)),1)]),_:1},8,[`onClick`])])):e.isMobileInsideWechat?(c(),u(`div`,L,[n(`p`,R,s(e.$t(`order.message.wechatPayLongPressTip`)),1),e.order?.pay_url?(c(),t(m,{key:0,value:e.order?.pay_url,size:240,class:`qrcode mx-auto`,type:`image/png`,color:{dark:`#000000`,light:`#ffffff`}},null,8,[`value`])):a(``,!0)])):(c(),t(_,{key:2,class:`paycodes py-[30px] w-[500px] mx-auto`},{default:d(()=>[i(g,{span:12},{default:d(()=>[n(`div`,z,[e.order?.pay_url?(c(),t(m,{key:0,value:e.order?.pay_url,size:200,class:`qrcode m-auto w-[200px] h-[200px]`,type:`image/png`,color:{dark:`#000000`,light:`#ffffff`}},null,8,[`value`])):a(``,!0),n(`p`,B,s(e.$t(`order.message.wechatPayHelp`)),1)])]),_:1}),i(g,{span:12},{default:d(()=>[...o[1]||=[n(`div`,{class:`help-img`},[n(`img`,{src:`https://midas.gtimg.cn/enterprise/images/ep_sys_wx_tip.jpg`})],-1)]]),_:1})]),_:1}))]),_:1},8,[`model-value`,`title`,`width`])}var H=C(N,[[`render`,V]]),U=o({name:`PublicStripePayDialog`,components:{ElDialog:T},props:{order:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:[`hide`],watch:{visible:{handler(e){e&&this.order?.pay_url&&window.open(this.order.pay_url,`_blank`)}}}}),W={class:`text-center`};function G(e,r,i,a,o,u){let f=l(`el-dialog`);return c(),t(f,{"model-value":e.visible,title:e.$t(`application.title.buyService`),width:`500px`,center:``,onClose:r[0]||=t=>e.$emit(`hide`)},{default:d(()=>[n(`p`,W,s(e.$t(`order.message.buyInExternalUrl`)),1)]),_:1},8,[`model-value`,`title`])}var ne=C(U,[[`render`,G]]),K=o({name:`PublicAlipayPayDialog`,components:{ElDialog:T},props:{order:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:[`hide`],watch:{visible:{handler(e){e&&this.order?.pay_url&&window.open(this.order.pay_url,`_blank`)}}}}),q={class:`text-center`};function J(e,r,i,a,o,u){let f=l(`el-dialog`);return c(),t(f,{"model-value":e.visible,title:e.$t(`application.title.buyService`),width:`500px`,center:``,onClose:r[0]||=t=>e.$emit(`hide`)},{default:d(()=>[n(`p`,q,s(e.$t(`order.message.buyInExternalUrl`)),1)]),_:1},8,[`model-value`,`title`])}var Y=C(K,[[`render`,J]]),X=7e3,Z=2e3,Q=function(e){return e.WechatPay=`WechatPay`,e.Stripe=`Stripe`,e.AliPay=`AliPay`,e}(Q||{}),re=o({name:`OrderPublicPay`,components:{ElButton:p,ElRow:h,ElCol:m,ElCard:te,ElSkeleton:x,ElDivider:b,ElAlert:ee,ElDescriptions:v,ElDescriptionsItem:g,ElTag:S,PublicWechatPay:H,PublicStripePay:ne,PublicAlipayPay:Y,CopyToClipboard:M},data(){return{PayWay:Q,OrderState:k,payWay:`WechatPay`,order:void 0,loading:!1,paying:!1,prepaying:!1}},computed:{id(){return this.$route.params?.id?.toString()??``}},watch:{paying(e){e?this.startOrderPolling(Z):this.stopOrderPolling()}},created(){this._orderRefreshTimer=void 0},mounted(){this.onFetchData()},beforeUnmount(){this.stopOrderPolling()},methods:{getPriceString:w,payWayLabel(e){return{WechatPay:this.$t(`order.title.wechatPay`),Stripe:this.$t(`order.title.stripe`),AliPay:this.$t(`order.title.aliPay`)}[e]||e},onFetchData(){this.id&&(this.loading=!0,O.get(this.id).then(({data:e})=>{this.order=e,e?.pay_way&&e.pay_way in Q&&(this.payWay=e.pay_way),this.loading=!1}).catch(()=>{this.order=void 0,this.loading=!1}))},startOrderPolling(e=0){this.stopOrderPolling();let t=async()=>{try{let{data:e}=await O.get(this.id);if(this.order=e,e?.state===k.PAID||e?.state===k.FINISHED||e?.state===k.FAILED||e?.state===k.EXPIRED){this.paying=!1,this.stopOrderPolling();return}}catch{}this.paying&&(this._orderRefreshTimer=window.setTimeout(t,X))};this._orderRefreshTimer=window.setTimeout(t,e)},stopOrderPolling(){let e=this._orderRefreshTimer;e&&(clearTimeout(e),this._orderRefreshTimer=void 0)},onRepay(){this.paying=!0},onPay(){if(!this.id)return;this.prepaying=!0;let e={pay_way:this.payWay};this.payWay===`AliPay`&&(e.surface=j()),O.pay(this.id,e).then(({data:e})=>{this.prepaying=!1,e?.id&&(this.order=e),this.order&&this.order.price&&this.order.price>0&&(this.paying=!0)}).catch(()=>{this.prepaying=!1})}}}),ie={class:`title`},ae={key:0,class:`pt-5`},oe={key:1,class:`pt-10 text-center`},$={key:2,class:`order`},se={key:0,class:`price current unfree`},ce={key:1,class:`price free`},le={key:0,class:`payways mb-6`},ue={class:`payname`},de={class:`payname`},fe={class:`payname`},pe={key:1},me={key:2};function he(o,p,ee,te,m,h){let g=l(`el-col`),_=l(`el-row`),v=l(`el-skeleton`),y=l(`el-alert`),b=l(`copy-to-clipboard`),x=l(`el-descriptions-item`),S=l(`el-tag`),C=l(`el-descriptions`),w=l(`el-divider`),T=l(`el-button`),E=l(`el-card`),D=l(`public-wechat-pay`),O=l(`public-stripe-pay`),k=l(`public-alipay-pay`);return c(),u(f,null,[i(_,{class:`wrapper`},{default:d(()=>[i(g,{span:24},{default:d(()=>[i(_,null,{default:d(()=>[i(g,{span:24},{default:d(()=>[n(`h2`,ie,s(o.$t(`order.title.info`)),1)]),_:1})]),_:1}),i(_,{class:`panel`},{default:d(()=>[i(g,{span:24},{default:d(()=>[i(E,{shadow:`hover`},{default:d(()=>[i(_,null,{default:d(()=>[i(g,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:d(()=>[o.loading?(c(),u(`div`,ae,[i(v,{animated:``})])):o.order?(c(),u(`div`,$,[i(C,{column:1},{default:d(()=>[i(x,{label:o.$t(`order.field.id`)},{default:d(()=>[n(`span`,null,s(o.order.id),1),o.order.id?(c(),t(b,{key:0,content:o.order.id,class:`inline-block`},null,8,[`content`])):a(``,!0)]),_:1},8,[`label`]),i(x,{label:o.$t(`order.field.description`)},{default:d(()=>[r(s(o.order.description),1)]),_:1},8,[`label`]),o.order.pay_way?(c(),t(x,{key:0,label:o.$t(`order.field.payWay`)},{default:d(()=>[i(S,{type:`info`,effect:`dark`,round:``,size:`small`},{default:d(()=>[r(s(o.payWayLabel(o.order.pay_way)),1)]),_:1})]),_:1},8,[`label`])):a(``,!0),i(x,{label:o.$t(`order.field.createdAt`)},{default:d(()=>[r(s(o.$dayjs.format(o.order.created_at||``)),1)]),_:1},8,[`label`]),i(x,{label:o.$t(`order.field.price`)},{default:d(()=>[o.order.price&&o.order.price>0?(c(),u(`span`,se,s(o.getPriceString({value:o.order.price})),1)):(c(),u(`span`,ce,s(o.$t(`order.message.free`)),1))]),_:1},8,[`label`])]),_:1})])):(c(),u(`div`,oe,[i(y,{title:o.$t(`order.message.publicPayNotFound`),type:`error`,"show-icon":``,closable:!1},null,8,[`title`])]))]),_:1})]),_:1}),o.order?.state===o.OrderState.PAID||o.order?.state===o.OrderState.FINISHED?(c(),t(_,{key:0,class:`mb-5`},{default:d(()=>[i(g,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:d(()=>[i(w,{"border-style":`dashed`}),i(y,{title:o.$t(`order.message.paidSuccessfully`),type:`success`,"show-icon":``,closable:!1},null,8,[`title`])]),_:1})]),_:1})):a(``,!0),o.order?.state===o.OrderState.EXPIRED?(c(),t(_,{key:1,class:`mb-5`},{default:d(()=>[i(g,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:d(()=>[i(w,{"border-style":`dashed`}),i(y,{title:o.$t(`order.message.orderExpired`),type:`error`,"show-icon":``,closable:!1},null,8,[`title`])]),_:1})]),_:1})):a(``,!0),o.order?.state===o.OrderState.FAILED?(c(),t(_,{key:2,class:`mb-5`},{default:d(()=>[i(g,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:d(()=>[i(w,{"border-style":`dashed`}),i(y,{title:o.$t(`order.state.failed`),type:`error`,"show-icon":``,closable:!1},null,8,[`title`])]),_:1})]),_:1})):a(``,!0),o.order?.state===o.OrderState.PENDING?(c(),t(_,{key:3},{default:d(()=>[i(g,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:d(()=>[i(w,{"border-style":`dashed`}),!o.order.pay_way&&o.order.price&&o.order.price>0?(c(),u(`div`,le,[n(`div`,{class:e({payway:!0,wechatpay:!0,active:o.payWay===o.PayWay.WechatPay}),onClick:p[0]||=e=>o.payWay=o.PayWay.WechatPay},[p[6]||=n(`span`,{class:`payicon wechatpay`},null,-1),n(`span`,ue,s(o.$t(`order.title.wechatPay`)),1)],2),n(`div`,{class:e({payway:!0,alipay:!0,active:o.payWay===o.PayWay.AliPay}),onClick:p[1]||=e=>o.payWay=o.PayWay.AliPay},[p[7]||=n(`span`,{class:`payicon alipay`},null,-1),n(`span`,de,s(o.$t(`order.title.aliPay`)),1)],2),n(`div`,{class:e({payway:!0,stripe:!0,active:o.payWay===o.PayWay.Stripe}),onClick:p[2]||=e=>o.payWay=o.PayWay.Stripe},[p[8]||=n(`span`,{class:`payicon stripe`},null,-1),n(`span`,fe,s(o.$t(`order.title.stripe`)),1)],2)])):a(``,!0),o.order.pay_way?(c(),u(`div`,me,[i(T,{type:`primary`,round:``,size:`large`,class:`btn-repay`,onClick:o.onRepay},{default:d(()=>[r(s(o.$t(`common.button.repay`)),1)]),_:1},8,[`onClick`])])):(c(),u(`div`,pe,[i(T,{loading:o.prepaying,round:``,type:`primary`,size:`large`,class:`btn-pay`,onClick:o.onPay},{default:d(()=>[r(s(o.$t(`common.button.pay`)),1)]),_:1},8,[`loading`,`onClick`])]))]),_:1})]),_:1})):a(``,!0)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),o.order&&o.payWay===o.PayWay.WechatPay?(c(),t(D,{key:0,order:o.order,visible:o.paying,onHide:p[3]||=e=>o.paying=!1},null,8,[`order`,`visible`])):a(``,!0),o.order&&o.payWay===o.PayWay.Stripe?(c(),t(O,{key:1,order:o.order,visible:o.paying,onHide:p[4]||=e=>o.paying=!1},null,8,[`order`,`visible`])):a(``,!0),o.order&&o.payWay===o.PayWay.AliPay?(c(),t(k,{key:2,order:o.order,visible:o.paying,onHide:p[5]||=e=>o.paying=!1},null,8,[`order`,`visible`])):a(``,!0)],64)}var ge=C(re,[[`render`,he],[`__scopeId`,`data-v-b09d60d0`]]);export{ge as default};
@@ -1 +1 @@
1
- import{t as e}from"./rolldown-runtime--c01j_DQ.js";import{D as t,Dt as n,E as r,N as i,P as a,R as o,T as s,Ut as c,W as l,X as u,Z as d,k as f,lt as p,mt as m,nt as h,st as g}from"./vendor-chart-Df3WBvr0.js";import{t as _}from"./popover-B0B5fO0z.js";import{t as v}from"./slider-CGrxfmRg.js";import{fr as y}from"./index-DtcnyKXU.js";function b(e){let t=Math.floor(e)%60;e=Math.floor(e/60);let n=e%60,r=n<10?`0${n}`:n,i=t<10?`0${t}`:t;return r+`:`+i}var x=e(((e,t)=>{(function(t,n){typeof define==`function`&&define.amd?define([],n):e===void 0?(n(),t.FileSaver={exports:{}}.exports):n()})(e,function(){function e(e,t){return t===void 0?t={autoBom:!1}:typeof t!=`object`&&(console.warn(`Deprecated: Expected third argument to be a object`),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function n(e,t,n){var r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){s(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function r(e){var t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return 200<=t.status&&299>=t.status}function i(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{var t=document.createEvent(`MouseEvents`);t.initMouseEvent(`click`,!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:void 0,o=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),s=a.saveAs||(typeof window!=`object`||window!==a?function(){}:`download`in HTMLAnchorElement.prototype&&!o?function(e,t,o){var s=a.URL||a.webkitURL,c=document.createElement(`a`);t=t||e.name||`download`,c.download=t,c.rel=`noopener`,typeof e==`string`?(c.href=e,c.origin===location.origin?i(c):r(c.href)?n(e,t,o):i(c,c.target=`_blank`)):(c.href=s.createObjectURL(e),setTimeout(function(){s.revokeObjectURL(c.href)},4e4),setTimeout(function(){i(c)},0))}:`msSaveOrOpenBlob`in navigator?function(t,a,o){if(a=a||t.name||`download`,typeof t!=`string`)navigator.msSaveOrOpenBlob(e(t,o),a);else if(r(t))n(t,a,o);else{var s=document.createElement(`a`);s.href=t,s.target=`_blank`,setTimeout(function(){i(s)})}}:function(e,t,r,i){if(i||=open(``,`_blank`),i&&(i.document.title=i.document.body.innerText=`downloading...`),typeof e==`string`)return n(e,t,r);var s=e.type===`application/octet-stream`,c=/constructor/i.test(a.HTMLElement)||a.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||s&&c||o)&&typeof FileReader<`u`){var u=new FileReader;u.onloadend=function(){var e=u.result;e=l?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),i?i.location.href=e:location=e,i=null},u.readAsDataURL(e)}else{var d=a.URL||a.webkitURL,f=d.createObjectURL(e);i?i.location=f:location.href=f,i=null,setTimeout(function(){d.revokeObjectURL(f)},4e4)}});a.saveAs=s.saveAs=s,t!==void 0&&(t.exports=s)})})),S=Symbol(`AudioNamespace`),C=()=>{let e=o(S);if(!e)throw Error(`[player] useAudioNamespace() must be called inside <Player namespace="suno|producer">`);return e},w=e=>{let t=e??C(),n=y(),r=s({get:()=>n.state[t].audio,set:e=>n.commit(`${t}/setAudio`,e)}),i=e=>{n.commit(`${t}/setAudio`,{...n.state[t].audio,...e})};return{namespace:t,store:n,audio:r,field:e=>s({get:()=>n.state[t].audio?.[e],set:t=>i({[e]:t})}),patchAudio:i,dispatchAudio:e=>{n.dispatch(`${t}/setAudio`,{...n.state[t].audio,...e})}}},T={class:`player-slider`},E=a({__name:`PlayerSlider`,setup(e){let{field:t,dispatchAudio:r}=w(),a=t(`progress`),o=t(`duration`),s=()=>{},c=e=>r({progress:Array.isArray(e)?e[0]:e});return(e,t)=>(u(),f(`div`,T,[i(n(v),{modelValue:n(a),"onUpdate:modelValue":t[0]||=e=>m(a)?a.value=e:null,"show-tooltip":!1,min:0,max:n(o),onChange:c,onInput:s},null,8,[`modelValue`,`max`])]))}}),D={class:`flex player-song`},O=[`src`],k={class:`ml-2 text-xs flex flex-col justify-between`},A={class:`w-52 2xl:w-96 cursor-pointer truncate`},j={class:`flex`},M={class:`ml-2 text-dc`},N=a({__name:`PlayerSong`,setup(e){let{audio:t,patchAudio:i}=w(),a=null,o=null,s=()=>{if(a){try{a.pause()}catch{}a.src=``,a=null}o&&=(o.abort(),null)};return g(t,(e,t)=>{if(e?.audio_url!==t?.audio_url){if(s(),!e?.audio_url)return;let t=new Audio(e.audio_url);a=t,o=new AbortController;let{signal:n}=o;e.state===`playing`?t.play().catch(()=>{}):t.pause(),t.addEventListener(`loadedmetadata`,()=>{t.currentTime=0},{signal:n}),t.addEventListener(`timeupdate`,()=>{i({progress:t.currentTime})},{signal:n}),i({object:t})}else e?.progress!==t?.progress&&e?.object&&Math.abs(e.progress-e.object.currentTime)>2?e.object.currentTime=e.progress:e?.state!==t?.state&&e?.object&&(e.state===`playing`?e.object.play().catch(()=>{}):e.object.pause());e?.volume!==t?.volume&&e?.object&&(e.object.volume=e.volume/100)}),l(s),(e,i)=>(u(),f(`div`,D,[r(`img`,{alt:``,class:`w-11 h-11 rounded`,src:n(t)?.image_url||n(`/assets/disk-XFRmVAfp.png`)},null,8,O),r(`div`,k,[r(`div`,A,[r(`div`,j,[r(`span`,null,c(n(t)?.title||`Music`),1),r(`span`,M,`- `+c(n(t)?.style||`SmallRuralDog`),1)])])])]))}}),P={class:`flex justify-end items-center gap-x-2.5`},F={class:`text-xs`},I=a({__name:`PlayerAction`,setup(e){let{field:t}=w(),i=t(`progress`),a=t(`duration`);return(e,t)=>(u(),f(`div`,P,[r(`span`,F,c(n(b)(n(i)))+` / `+c(n(b)(n(a))),1)]))}}),L={size:`1em`,strokeWidth:4,strokeLinecap:`round`,strokeLinejoin:`round`,rtl:!1,theme:`outline`,colors:{outline:{fill:`#333`,background:`transparent`},filled:{fill:`#333`,background:`#FFF`},twoTone:{fill:`#333`,twoTone:`#2F88FF`},multiColor:{outStrokeColor:`#333`,outFillColor:`#2F88FF`,innerStrokeColor:`#FFF`,innerFillColor:`#43CCF8`}},prefix:`i`};function R(){return`icon-`+((1+Math.random())*4294967296|0).toString(16).substring(1)}function ee(e,t,n){var r=typeof t.fill==`string`?[t.fill]:t.fill||[],i=[];switch(t.theme||n.theme){case`outline`:i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(`none`),i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(`none`);break;case`filled`:i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(`#FFF`),i.push(`#FFF`);break;case`two-tone`:i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(typeof r[1]==`string`?r[1]:n.colors.twoTone.twoTone),i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(typeof r[1]==`string`?r[1]:n.colors.twoTone.twoTone);break;case`multi-color`:i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(typeof r[1]==`string`?r[1]:n.colors.multiColor.outFillColor),i.push(typeof r[2]==`string`?r[2]:n.colors.multiColor.innerStrokeColor),i.push(typeof r[3]==`string`?r[3]:n.colors.multiColor.innerFillColor);break}return{size:t.size||n.size,strokeWidth:t.strokeWidth||n.strokeWidth,strokeLinecap:t.strokeLinecap||n.strokeLinecap,strokeLinejoin:t.strokeLinejoin||n.strokeLinejoin,colors:i,id:e}}var z=Symbol(`icon-context`);function B(e,t,n){return{name:`icon-`+e,props:[`size`,`strokeWidth`,`strokeLinecap`,`strokeLinejoin`,`theme`,`fill`,`spin`],setup:function(r){var a=R(),s=o(z,L);return function(){var o=r.size,c=r.strokeWidth,l=r.strokeLinecap,u=r.strokeLinejoin,d=r.theme,f=r.fill,p=r.spin,m=ee(a,{size:o,strokeWidth:c,strokeLinecap:l,strokeLinejoin:u,theme:d,fill:f},s),h=[s.prefix+`-icon`];return h.push(s.prefix+`-icon-`+e),t&&s.rtl&&h.push(s.prefix+`-icon-rtl`),p&&h.push(s.prefix+`-icon-spin`),i(`span`,{class:h.join(` `)},[n(m)])}}}}var V=B(`pause-one`,!1,function(e){return i(`svg`,{width:e.size,height:e.size,viewBox:`0 0 48 48`,fill:`none`},[i(`path`,{d:`M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z`,fill:e.colors[1],stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null),i(`path`,{d:`M19 18V30`,stroke:e.colors[2],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null),i(`path`,{d:`M29 18V30`,stroke:e.colors[2],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null)])}),H=B(`play`,!0,function(e){return i(`svg`,{width:e.size,height:e.size,viewBox:`0 0 48 48`,fill:`none`},[i(`path`,{d:`M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z`,fill:e.colors[1],stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null),i(`path`,{d:`M20 24V17.0718L26 20.5359L32 24L26 27.4641L20 30.9282V24Z`,fill:e.colors[3],stroke:e.colors[2],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null)])}),U=B(`volume-small`,!0,function(e){return i(`svg`,{width:e.size,height:e.size,viewBox:`0 0 48 48`,fill:`none`},[i(`path`,{d:`M24 6V42C17 42 11.7985 32.8391 11.7985 32.8391H6C4.89543 32.8391 4 31.9437 4 30.8391V17.0108C4 15.9062 4.89543 15.0108 6 15.0108H11.7985C11.7985 15.0108 17 6 24 6Z`,fill:e.colors[1],stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null),i(`path`,{d:`M32 15L32 15C32.6232 15.5565 33.1881 16.1797 33.6841 16.8588C35.1387 18.8504 36 21.3223 36 24C36 26.6545 35.1535 29.1067 33.7218 31.0893C33.2168 31.7885 32.6391 32.4293 32 33`,stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null)])}),W=a({__name:`IconPark`,props:{icon:{type:[Object,Function]},theme:{},size:{},spin:{type:Boolean},fill:{},strokeLinecap:{},strokeLinejoin:{},strokeWidth:{}},setup(e){return(n,r)=>(u(),t(h(e.icon),{theme:e.theme,size:e.size,spin:e.spin,fill:e.fill,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,"stroke-width":e.strokeWidth},null,8,[`theme`,`size`,`spin`,`fill`,`stroke-linecap`,`stroke-linejoin`,`stroke-width`]))}}),G={class:`player-volume flex flex-col items-center pt-2`},K={class:`text-sm mt-3`},q=a({__name:`PlayerVolumeSlider`,setup(e){let{namespace:t,store:a,field:o}=w(),s=o(`volume`),l=o(`muted`),d=e=>a.dispatch(`${t}/setVolume`,Array.isArray(e)?e[0]:e);return(e,t)=>(u(),f(`div`,G,[i(n(v),{modelValue:n(s),"onUpdate:modelValue":t[0]||=e=>m(s)?s.value=e:null,vertical:``,height:`100px`,"show-tooltip":!1,max:100,min:0,size:`small`,disabled:n(l),onInput:d},null,8,[`modelValue`,`disabled`]),r(`div`,K,c(n(s)),1)]))}}),J={class:`flex items-center justify-center gap-x-3`},Y=a({__name:`PlayerController`,setup(e){let{audio:t,dispatchAudio:r}=w(),a=()=>r({state:t.value?.state===`playing`?`paused`:`playing`});return(e,r)=>(u(),f(`div`,J,[i(W,{icon:n(t)?.state===`playing`?n(V):n(H),size:`45`,theme:`filled`,class:`text-[var(--el-color-primary)] cursor-pointer`,onClick:a},null,8,[`icon`]),i(n(_),{placement:`top`,width:`50px`,trigger:`click`},{reference:p(()=>[i(W,{icon:n(U),size:`20`,"stroke-width":2,class:`cursor-pointer`},null,8,[`icon`])]),default:p(()=>[i(q)]),_:1})]))}}),X={class:`flex flex-col items-stretch h-20`},Z={class:`flex grow px-5 items-center`},Q={class:`flex-1`},$={class:`flex-1`},te={class:`flex-1`},ne=a({__name:`Player`,props:{namespace:{}},setup(e){return d(S,e.namespace),(e,t)=>(u(),f(`div`,X,[i(E),r(`div`,Z,[r(`div`,Q,[i(N)]),r(`div`,$,[i(Y)]),r(`div`,te,[i(I)])])]))}});export{x as n,b as r,ne as t};
1
+ import{t as e}from"./rolldown-runtime--c01j_DQ.js";import{D as t,Dt as n,E as r,N as i,P as a,R as o,T as s,Ut as c,W as l,X as u,Z as d,k as f,lt as p,mt as m,nt as h,st as g}from"./vendor-chart-Df3WBvr0.js";import{t as _}from"./popover-CSgWdhUy.js";import{t as v}from"./slider-DYYyrciZ.js";import{gr as y}from"./index-CEh-AtFD.js";function b(e){let t=Math.floor(e)%60;e=Math.floor(e/60);let n=e%60,r=n<10?`0${n}`:n,i=t<10?`0${t}`:t;return r+`:`+i}var x=e(((e,t)=>{(function(t,n){typeof define==`function`&&define.amd?define([],n):e===void 0?(n(),t.FileSaver={exports:{}}.exports):n()})(e,function(){function e(e,t){return t===void 0?t={autoBom:!1}:typeof t!=`object`&&(console.warn(`Deprecated: Expected third argument to be a object`),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function n(e,t,n){var r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){s(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function r(e){var t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return 200<=t.status&&299>=t.status}function i(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{var t=document.createEvent(`MouseEvents`);t.initMouseEvent(`click`,!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:void 0,o=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),s=a.saveAs||(typeof window!=`object`||window!==a?function(){}:`download`in HTMLAnchorElement.prototype&&!o?function(e,t,o){var s=a.URL||a.webkitURL,c=document.createElement(`a`);t=t||e.name||`download`,c.download=t,c.rel=`noopener`,typeof e==`string`?(c.href=e,c.origin===location.origin?i(c):r(c.href)?n(e,t,o):i(c,c.target=`_blank`)):(c.href=s.createObjectURL(e),setTimeout(function(){s.revokeObjectURL(c.href)},4e4),setTimeout(function(){i(c)},0))}:`msSaveOrOpenBlob`in navigator?function(t,a,o){if(a=a||t.name||`download`,typeof t!=`string`)navigator.msSaveOrOpenBlob(e(t,o),a);else if(r(t))n(t,a,o);else{var s=document.createElement(`a`);s.href=t,s.target=`_blank`,setTimeout(function(){i(s)})}}:function(e,t,r,i){if(i||=open(``,`_blank`),i&&(i.document.title=i.document.body.innerText=`downloading...`),typeof e==`string`)return n(e,t,r);var s=e.type===`application/octet-stream`,c=/constructor/i.test(a.HTMLElement)||a.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||s&&c||o)&&typeof FileReader<`u`){var u=new FileReader;u.onloadend=function(){var e=u.result;e=l?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),i?i.location.href=e:location=e,i=null},u.readAsDataURL(e)}else{var d=a.URL||a.webkitURL,f=d.createObjectURL(e);i?i.location=f:location.href=f,i=null,setTimeout(function(){d.revokeObjectURL(f)},4e4)}});a.saveAs=s.saveAs=s,t!==void 0&&(t.exports=s)})})),S=Symbol(`AudioNamespace`),C=()=>{let e=o(S);if(!e)throw Error(`[player] useAudioNamespace() must be called inside <Player namespace="suno|producer">`);return e},w=e=>{let t=e??C(),n=y(),r=s({get:()=>n.state[t].audio,set:e=>n.commit(`${t}/setAudio`,e)}),i=e=>{n.commit(`${t}/setAudio`,{...n.state[t].audio,...e})};return{namespace:t,store:n,audio:r,field:e=>s({get:()=>n.state[t].audio?.[e],set:t=>i({[e]:t})}),patchAudio:i,dispatchAudio:e=>{n.dispatch(`${t}/setAudio`,{...n.state[t].audio,...e})}}},T={class:`player-slider`},E=a({__name:`PlayerSlider`,setup(e){let{field:t,dispatchAudio:r}=w(),a=t(`progress`),o=t(`duration`),s=()=>{},c=e=>r({progress:Array.isArray(e)?e[0]:e});return(e,t)=>(u(),f(`div`,T,[i(n(v),{modelValue:n(a),"onUpdate:modelValue":t[0]||=e=>m(a)?a.value=e:null,"show-tooltip":!1,min:0,max:n(o),onChange:c,onInput:s},null,8,[`modelValue`,`max`])]))}}),D={class:`flex player-song`},O=[`src`],k={class:`ml-2 text-xs flex flex-col justify-between`},A={class:`w-52 2xl:w-96 cursor-pointer truncate`},j={class:`flex`},M={class:`ml-2 text-dc`},N=a({__name:`PlayerSong`,setup(e){let{audio:t,patchAudio:i}=w(),a=null,o=null,s=()=>{if(a){try{a.pause()}catch{}a.src=``,a=null}o&&=(o.abort(),null)};return g(t,(e,t)=>{if(e?.audio_url!==t?.audio_url){if(s(),!e?.audio_url)return;let t=new Audio(e.audio_url);a=t,o=new AbortController;let{signal:n}=o;e.state===`playing`?t.play().catch(()=>{}):t.pause(),t.addEventListener(`loadedmetadata`,()=>{t.currentTime=0},{signal:n}),t.addEventListener(`timeupdate`,()=>{i({progress:t.currentTime})},{signal:n}),i({object:t})}else e?.progress!==t?.progress&&e?.object&&Math.abs(e.progress-e.object.currentTime)>2?e.object.currentTime=e.progress:e?.state!==t?.state&&e?.object&&(e.state===`playing`?e.object.play().catch(()=>{}):e.object.pause());e?.volume!==t?.volume&&e?.object&&(e.object.volume=e.volume/100)}),l(s),(e,i)=>(u(),f(`div`,D,[r(`img`,{alt:``,class:`w-11 h-11 rounded`,src:n(t)?.image_url||n(`/assets/disk-XFRmVAfp.png`)},null,8,O),r(`div`,k,[r(`div`,A,[r(`div`,j,[r(`span`,null,c(n(t)?.title||`Music`),1),r(`span`,M,`- `+c(n(t)?.style||`SmallRuralDog`),1)])])])]))}}),P={class:`flex justify-end items-center gap-x-2.5`},F={class:`text-xs`},I=a({__name:`PlayerAction`,setup(e){let{field:t}=w(),i=t(`progress`),a=t(`duration`);return(e,t)=>(u(),f(`div`,P,[r(`span`,F,c(n(b)(n(i)))+` / `+c(n(b)(n(a))),1)]))}}),L={size:`1em`,strokeWidth:4,strokeLinecap:`round`,strokeLinejoin:`round`,rtl:!1,theme:`outline`,colors:{outline:{fill:`#333`,background:`transparent`},filled:{fill:`#333`,background:`#FFF`},twoTone:{fill:`#333`,twoTone:`#2F88FF`},multiColor:{outStrokeColor:`#333`,outFillColor:`#2F88FF`,innerStrokeColor:`#FFF`,innerFillColor:`#43CCF8`}},prefix:`i`};function R(){return`icon-`+((1+Math.random())*4294967296|0).toString(16).substring(1)}function ee(e,t,n){var r=typeof t.fill==`string`?[t.fill]:t.fill||[],i=[];switch(t.theme||n.theme){case`outline`:i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(`none`),i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(`none`);break;case`filled`:i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(`#FFF`),i.push(`#FFF`);break;case`two-tone`:i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(typeof r[1]==`string`?r[1]:n.colors.twoTone.twoTone),i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(typeof r[1]==`string`?r[1]:n.colors.twoTone.twoTone);break;case`multi-color`:i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(typeof r[1]==`string`?r[1]:n.colors.multiColor.outFillColor),i.push(typeof r[2]==`string`?r[2]:n.colors.multiColor.innerStrokeColor),i.push(typeof r[3]==`string`?r[3]:n.colors.multiColor.innerFillColor);break}return{size:t.size||n.size,strokeWidth:t.strokeWidth||n.strokeWidth,strokeLinecap:t.strokeLinecap||n.strokeLinecap,strokeLinejoin:t.strokeLinejoin||n.strokeLinejoin,colors:i,id:e}}var z=Symbol(`icon-context`);function B(e,t,n){return{name:`icon-`+e,props:[`size`,`strokeWidth`,`strokeLinecap`,`strokeLinejoin`,`theme`,`fill`,`spin`],setup:function(r){var a=R(),s=o(z,L);return function(){var o=r.size,c=r.strokeWidth,l=r.strokeLinecap,u=r.strokeLinejoin,d=r.theme,f=r.fill,p=r.spin,m=ee(a,{size:o,strokeWidth:c,strokeLinecap:l,strokeLinejoin:u,theme:d,fill:f},s),h=[s.prefix+`-icon`];return h.push(s.prefix+`-icon-`+e),t&&s.rtl&&h.push(s.prefix+`-icon-rtl`),p&&h.push(s.prefix+`-icon-spin`),i(`span`,{class:h.join(` `)},[n(m)])}}}}var V=B(`pause-one`,!1,function(e){return i(`svg`,{width:e.size,height:e.size,viewBox:`0 0 48 48`,fill:`none`},[i(`path`,{d:`M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z`,fill:e.colors[1],stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null),i(`path`,{d:`M19 18V30`,stroke:e.colors[2],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null),i(`path`,{d:`M29 18V30`,stroke:e.colors[2],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null)])}),H=B(`play`,!0,function(e){return i(`svg`,{width:e.size,height:e.size,viewBox:`0 0 48 48`,fill:`none`},[i(`path`,{d:`M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z`,fill:e.colors[1],stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null),i(`path`,{d:`M20 24V17.0718L26 20.5359L32 24L26 27.4641L20 30.9282V24Z`,fill:e.colors[3],stroke:e.colors[2],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null)])}),U=B(`volume-small`,!0,function(e){return i(`svg`,{width:e.size,height:e.size,viewBox:`0 0 48 48`,fill:`none`},[i(`path`,{d:`M24 6V42C17 42 11.7985 32.8391 11.7985 32.8391H6C4.89543 32.8391 4 31.9437 4 30.8391V17.0108C4 15.9062 4.89543 15.0108 6 15.0108H11.7985C11.7985 15.0108 17 6 24 6Z`,fill:e.colors[1],stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null),i(`path`,{d:`M32 15L32 15C32.6232 15.5565 33.1881 16.1797 33.6841 16.8588C35.1387 18.8504 36 21.3223 36 24C36 26.6545 35.1535 29.1067 33.7218 31.0893C33.2168 31.7885 32.6391 32.4293 32 33`,stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null)])}),W=a({__name:`IconPark`,props:{icon:{type:[Object,Function]},theme:{},size:{},spin:{type:Boolean},fill:{},strokeLinecap:{},strokeLinejoin:{},strokeWidth:{}},setup(e){return(n,r)=>(u(),t(h(e.icon),{theme:e.theme,size:e.size,spin:e.spin,fill:e.fill,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,"stroke-width":e.strokeWidth},null,8,[`theme`,`size`,`spin`,`fill`,`stroke-linecap`,`stroke-linejoin`,`stroke-width`]))}}),G={class:`player-volume flex flex-col items-center pt-2`},K={class:`text-sm mt-3`},q=a({__name:`PlayerVolumeSlider`,setup(e){let{namespace:t,store:a,field:o}=w(),s=o(`volume`),l=o(`muted`),d=e=>a.dispatch(`${t}/setVolume`,Array.isArray(e)?e[0]:e);return(e,t)=>(u(),f(`div`,G,[i(n(v),{modelValue:n(s),"onUpdate:modelValue":t[0]||=e=>m(s)?s.value=e:null,vertical:``,height:`100px`,"show-tooltip":!1,max:100,min:0,size:`small`,disabled:n(l),onInput:d},null,8,[`modelValue`,`disabled`]),r(`div`,K,c(n(s)),1)]))}}),J={class:`flex items-center justify-center gap-x-3`},Y=a({__name:`PlayerController`,setup(e){let{audio:t,dispatchAudio:r}=w(),a=()=>r({state:t.value?.state===`playing`?`paused`:`playing`});return(e,r)=>(u(),f(`div`,J,[i(W,{icon:n(t)?.state===`playing`?n(V):n(H),size:`45`,theme:`filled`,class:`text-[var(--el-color-primary)] cursor-pointer`,onClick:a},null,8,[`icon`]),i(n(_),{placement:`top`,width:`50px`,trigger:`click`},{reference:p(()=>[i(W,{icon:n(U),size:`20`,"stroke-width":2,class:`cursor-pointer`},null,8,[`icon`])]),default:p(()=>[i(q)]),_:1})]))}}),X={class:`flex flex-col items-stretch h-20`},Z={class:`flex grow px-5 items-center`},Q={class:`flex-1`},$={class:`flex-1`},te={class:`flex-1`},ne=a({__name:`Player`,props:{namespace:{}},setup(e){return d(S,e.namespace),(e,t)=>(u(),f(`div`,X,[i(E),r(`div`,Z,[r(`div`,Q,[i(N)]),r(`div`,$,[i(Y)]),r(`div`,te,[i(I)])])]))}});export{x as n,b as r,ne as t};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{Bt as e,D as t,E as n,M as r,N as i,O as a,P as o,Q as s,Ut as c,X as l,et as u,k as d,lt as f,x as p,y as m}from"./vendor-chart-Df3WBvr0.js";import{t as h}from"./button-DgZFgZDr.js";import{b as g,tt as _}from"./use-deprecated-Brbm5i6o.js";import{F as v,S as y,_r as b,k as x,lr as S,wr as C}from"./index-DtcnyKXU.js";import{t as w}from"./index.es-D2U_WHjx.js";import{t as T}from"./CopyToClipboard-5NkEhaix.js";var E=o({name:`ApplicationInfo`,components:{FontAwesomeIcon:w,ElButton:h,Check:g,ElIcon:_,CopyToClipboard:T},props:{application:{type:Object,required:!0},showType:{type:Boolean,default:!1},showId:{type:Boolean,default:!1}},emits:[`buy`,`usage`],computed:{showPayment(){return!b()},remainingAmountText(){let e=Number(this.application?.remaining_amount??0);return!Number.isFinite(e)||e<0?`0.00`:e.toFixed(2)}}}),D={class:`flex flex-col min-w-0`},O={key:0,class:`app-id-row`},k={class:`icon !mb-0 flex-shrink-0`},A={class:`app-id-line`},j={class:`app-id-label`},M={class:`app-id-value`},N={key:1,class:`icon`},P={class:`text-left`},F={class:`description`},I={key:0},L={key:1},R={class:`value`},z={class:`description2`},B={key:0},V={key:1},H={class:`actions`};function U(e,o,s,p,h,g){let _=u(`check`),v=u(`el-icon`),y=u(`font-awesome-icon`),b=u(`copy-to-clipboard`),x=u(`el-tag`),S=u(`el-button`);return l(),d(`div`,null,[n(`div`,D,[i(v,{class:`check`},{default:f(()=>[i(_)]),_:1}),e.showId?(l(),d(`div`,O,[n(`div`,k,[i(y,{icon:`fa-solid fa-wallet`})]),n(`div`,A,[n(`span`,j,c(e.$t(`application.field.id`))+`:`,1),n(`span`,M,c(e.application.id),1),e.application.id?(l(),t(b,{key:0,content:e.application.id,class:`copy-small`},null,8,[`content`])):a(``,!0)])])):(l(),d(`div`,N,[i(y,{icon:`fa-solid fa-wallet`})])),n(`div`,P,[n(`p`,F,[e.application.service?(l(),d(`span`,L,c(e.$t(`application.title.applicationBalance`,{service:e.application.service?.title})),1)):(l(),d(`span`,I,c(e.$t(`application.title.globalBalance`)),1)),e.application.role===`grantee`?(l(),t(x,{key:2,class:`shared-badge`,size:`small`,type:`warning`,effect:`dark`,round:``},{default:f(()=>[r(c(e.$t(`application.badge.shared`)),1)]),_:1})):a(``,!0)]),n(`p`,R,c(e.remainingAmountText)+` `+c(e.$t(`service.unit.`+(e.application?.service?.unit||`credit`)+`s`)),1),n(`p`,z,[e.application.type===`Period`?(l(),d(`span`,B,c(e.$t(`application.field.expiredAt`))+`: `+c(e.$dayjs.format(e.application.expired_at)),1)):(l(),d(`span`,V,c(e.$t(`application.message.neverExpire`)),1))])])]),n(`div`,H,[i(S,{size:`small`,round:``,onClick:o[0]||=m(t=>e.$emit(`usage`,e.application),[`stop`])},{default:f(()=>[i(y,{icon:`fa-solid fa-chart-line`,class:`mr-1 text-[11px]`}),r(` `+c(e.$t(`application.button.usage`)),1)]),_:1}),e.showPayment?(l(),t(S,{key:0,type:`primary`,round:``,size:`small`,onClick:o[1]||=m(t=>e.$emit(`buy`,e.application),[`stop`])},{default:f(()=>[i(y,{icon:`fa-solid fa-coins`,class:`mr-1 text-[11px]`}),r(` `+c(e.$t(`application.button.buyMore`)),1)]),_:1})):a(``,!0)])])}var W=o({name:`ApplicationStatus`,components:{ElDialog:C,FontAwesomeIcon:w,ApplicationInfo:y(E,[[`render`,U],[`__scopeId`,`data-v-63c63f0f`]])},props:{application:{type:Object,required:!0},applications:{type:Array,default:void 0},service:{type:Object,required:!0}},emits:[`select`],data(){return{visible:!1,applicationType:S}},computed:{authenticated(){return!!this.$store.state.token.access},user(){return this.$store.state.user},balanceAmount(){return Number(this.application?.remaining_amount??0)},balanceUnit(){let e=`service.unit.${this.application?.service?.unit||`credit`}`+(this.balanceAmount===1?``:`s`);return this.$t(e)},balanceText(){let e=this.balanceAmount;return Number.isFinite(e)?e>=1e3?Math.round(e).toLocaleString():e>=100?e.toFixed(1):e.toFixed(2):`0`},balanceTitle(){return`${this.balanceText} ${this.balanceUnit}`}},methods:{onGoUsage(e){let t=this.$router.resolve({name:v,query:{application_id:e.id}});window.open(t.href,`_blank`)},onBuyMore(e){let t=this.$router.resolve({name:x,params:{id:e.id}}).href;window.open(t,`_blank`)},onSelectApplication(e){this.$emit(`select`,e)}}}),G={class:`status`},K={key:0},q={class:`text-center mb-4`},J={class:`flex flex-col gap-4 mb-6 overflow-y-auto`},Y=[`title`],X={class:`entry-amount`},Z={class:`entry-unit`};function Q(r,o,m,h,g,_){let v=u(`application-info`),y=u(`el-dialog`),b=u(`font-awesome-icon`);return l(),d(`div`,G,[i(y,{modelValue:r.visible,"onUpdate:modelValue":o[0]||=e=>r.visible=e,class:`mt-12`,width:`450px`},{default:f(()=>[r.application?(l(),d(`div`,K,[n(`p`,q,c(r.$t(`application.message.applicationSelection`)),1),n(`div`,J,[(l(!0),d(p,null,s(r.applications,(n,i)=>(l(),t(v,{key:i,class:e({item:!0,active:r.application?.id===n.id}),application:n,"show-id":``,onClick:e=>r.onSelectApplication(n),onUsage:e=>r.onGoUsage(n),onBuy:e=>r.onBuyMore(n)},null,8,[`class`,`application`,`onClick`,`onUsage`,`onBuy`]))),128))])])):a(``,!0)]),_:1},8,[`modelValue`]),n(`button`,{type:`button`,class:`entry`,title:r.balanceTitle,onClick:o[1]||=e=>r.visible=!0},[i(b,{icon:`fa-solid fa-wallet`,class:`entry-icon`}),n(`span`,X,c(r.balanceText),1),n(`span`,Z,c(r.balanceUnit),1)],8,Y)])}var $=y(W,[[`render`,Q],[`__scopeId`,`data-v-afd961d7`]]);export{$ as t};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{Bt as e,D as t,E as n,M as r,N as i,O as a,P as o,Q as s,Ut as c,X as l,et as u,k as d,lt as f,x as p,y as m}from"./vendor-chart-Df3WBvr0.js";import{t as h}from"./button-DgZFgZDr.js";import{b as g,tt as _}from"./use-deprecated-Brbm5i6o.js";import{E as v,N as y,Or as b,pr as x,xr as S,z as C}from"./index-CEh-AtFD.js";import{t as w}from"./index.es-CGcvPLbY.js";import{t as T}from"./CopyToClipboard-DY4cWsYU.js";var E=o({name:`ApplicationInfo`,components:{FontAwesomeIcon:w,ElButton:h,Check:g,ElIcon:_,CopyToClipboard:T},props:{application:{type:Object,required:!0},showType:{type:Boolean,default:!1},showId:{type:Boolean,default:!1}},emits:[`buy`,`usage`],computed:{showPayment(){return!S()},remainingAmountText(){let e=Number(this.application?.remaining_amount??0);return!Number.isFinite(e)||e<0?`0.00`:e.toFixed(2)}}}),D={class:`flex flex-col min-w-0`},O={key:0,class:`app-id-row`},k={class:`icon !mb-0 flex-shrink-0`},A={class:`app-id-line`},j={class:`app-id-label`},M={class:`app-id-value`},N={key:1,class:`icon`},P={class:`text-left`},F={class:`description`},I={key:0},L={key:1},R={class:`value`},z={class:`description2`},B={key:0},V={key:1},H={class:`actions`};function U(e,o,s,p,h,g){let _=u(`check`),v=u(`el-icon`),y=u(`font-awesome-icon`),b=u(`copy-to-clipboard`),x=u(`el-tag`),S=u(`el-button`);return l(),d(`div`,null,[n(`div`,D,[i(v,{class:`check`},{default:f(()=>[i(_)]),_:1}),e.showId?(l(),d(`div`,O,[n(`div`,k,[i(y,{icon:`fa-solid fa-wallet`})]),n(`div`,A,[n(`span`,j,c(e.$t(`application.field.id`))+`:`,1),n(`span`,M,c(e.application.id),1),e.application.id?(l(),t(b,{key:0,content:e.application.id,class:`copy-small`},null,8,[`content`])):a(``,!0)])])):(l(),d(`div`,N,[i(y,{icon:`fa-solid fa-wallet`})])),n(`div`,P,[n(`p`,F,[e.application.service?(l(),d(`span`,L,c(e.$t(`application.title.applicationBalance`,{service:e.application.service?.title})),1)):(l(),d(`span`,I,c(e.$t(`application.title.globalBalance`)),1)),e.application.role===`grantee`?(l(),t(x,{key:2,class:`shared-badge`,size:`small`,type:`warning`,effect:`dark`,round:``},{default:f(()=>[r(c(e.$t(`application.badge.shared`)),1)]),_:1})):a(``,!0)]),n(`p`,R,c(e.remainingAmountText)+` `+c(e.$t(`service.unit.`+(e.application?.service?.unit||`credit`)+`s`)),1),n(`p`,z,[e.application.type===`Period`?(l(),d(`span`,B,c(e.$t(`application.field.expiredAt`))+`: `+c(e.$dayjs.format(e.application.expired_at)),1)):(l(),d(`span`,V,c(e.$t(`application.message.neverExpire`)),1))])])]),n(`div`,H,[i(S,{size:`small`,round:``,onClick:o[0]||=m(t=>e.$emit(`usage`,e.application),[`stop`])},{default:f(()=>[i(y,{icon:`fa-solid fa-chart-line`,class:`mr-1 text-[11px]`}),r(` `+c(e.$t(`application.button.usage`)),1)]),_:1}),e.showPayment?(l(),t(S,{key:0,type:`primary`,round:``,size:`small`,onClick:o[1]||=m(t=>e.$emit(`buy`,e.application),[`stop`])},{default:f(()=>[i(y,{icon:`fa-solid fa-coins`,class:`mr-1 text-[11px]`}),r(` `+c(e.$t(`application.button.buyMore`)),1)]),_:1})):a(``,!0)])])}var W=o({name:`ApplicationStatus`,components:{ElDialog:b,FontAwesomeIcon:w,ApplicationInfo:v(E,[[`render`,U],[`__scopeId`,`data-v-63c63f0f`]])},props:{application:{type:Object,required:!0},applications:{type:Array,default:void 0},service:{type:Object,required:!0}},emits:[`select`],data(){return{visible:!1,applicationType:x}},computed:{authenticated(){return!!this.$store.state.token.access},user(){return this.$store.state.user},balanceAmount(){return Number(this.application?.remaining_amount??0)},balanceUnit(){let e=`service.unit.${this.application?.service?.unit||`credit`}`+(this.balanceAmount===1?``:`s`);return this.$t(e)},balanceText(){let e=this.balanceAmount;return Number.isFinite(e)?e>=1e3?Math.round(e).toLocaleString():e>=100?e.toFixed(1):e.toFixed(2):`0`},balanceTitle(){return`${this.balanceText} ${this.balanceUnit}`}},methods:{onGoUsage(e){let t=this.$router.resolve({name:C,query:{application_id:e.id}});window.open(t.href,`_blank`)},onBuyMore(e){let t=this.$router.resolve({name:y,params:{id:e.id}}).href;window.open(t,`_blank`)},onSelectApplication(e){this.$emit(`select`,e)}}}),G={class:`status`},K={key:0},q={class:`text-center mb-4`},J={class:`flex flex-col gap-4 mb-6 overflow-y-auto`},Y=[`title`],X={class:`entry-amount`},Z={class:`entry-unit`};function Q(r,o,m,h,g,_){let v=u(`application-info`),y=u(`el-dialog`),b=u(`font-awesome-icon`);return l(),d(`div`,G,[i(y,{modelValue:r.visible,"onUpdate:modelValue":o[0]||=e=>r.visible=e,class:`mt-12`,width:`450px`},{default:f(()=>[r.application?(l(),d(`div`,K,[n(`p`,q,c(r.$t(`application.message.applicationSelection`)),1),n(`div`,J,[(l(!0),d(p,null,s(r.applications,(n,i)=>(l(),t(v,{key:i,class:e({item:!0,active:r.application?.id===n.id}),application:n,"show-id":``,onClick:e=>r.onSelectApplication(n),onUsage:e=>r.onGoUsage(n),onBuy:e=>r.onBuyMore(n)},null,8,[`class`,`application`,`onClick`,`onUsage`,`onBuy`]))),128))])])):a(``,!0)]),_:1},8,[`modelValue`]),n(`button`,{type:`button`,class:`entry`,title:r.balanceTitle,onClick:o[1]||=e=>r.visible=!0},[i(b,{icon:`fa-solid fa-wallet`,class:`entry-icon`}),n(`span`,X,c(r.balanceText),1),n(`span`,Z,c(r.balanceUnit),1)],8,Y)])}var $=v(W,[[`render`,Q],[`__scopeId`,`data-v-afd961d7`]]);export{$ as t};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{Bt as e,D as t,E as n,M as r,N as i,O as a,P as o,Q as s,Ut as c,X as l,et as u,k as d,lt as f,x as p}from"./vendor-chart-Df3WBvr0.js";import{t as m}from"./button-DgZFgZDr.js";import{t as h}from"./card-pDppUT2_.js";import{n as g,t as _}from"./row-BgYJmo3R.js";import{t as v}from"./skeleton-k2vAVQdD.js";import{Cn as y,Er as b,M as x,Ot as S,S as C,_r as w,dn as T,gn as E,k as D,kn as O,lr as k,ur as A,xr as j}from"./index-DtcnyKXU.js";import{t as M}from"./index.es-D2U_WHjx.js";var N=o({name:`ConsoleSubscriptionBuy`,components:{ElSkeleton:v,ElRow:_,ElTag:b,ElCol:g,ElCard:h,FontAwesomeIcon:M,ElButton:m},data(){return{application:void 0,application2:void 0,type:k.PERIOD,services:[],loading:!1,creating:!1,subscription:void 0}},computed:{site(){return this.$store.getters.site},applicationId(){return this.$route.params?.id?.toString()},showPayment(){return!w()},subscriptions(){let e=[{name:`WEEK`,label:this.$t(`console.subscription.weekly`),description:this.$t(`console.subscription.weekly.description`),duration:10080*60},{name:`MONTH`,label:this.$t(`console.subscription.monthly`),description:this.$t(`console.subscription.monthly.description`),duration:720*60*60},{name:`YEAR`,tag:this.$t(`console.button.suggested`),label:this.$t(`console.subscription.yearly`),description:this.$t(`console.subscription.yearly.description`),duration:365*24*60*60}];for(let t of e){console.log(`item`,t);let e=this.getPackages(t.duration);console.log(`pkgs`,e),e&&(t.price=e.reduce((e,t)=>e+t.price,0));for(let n of e)t.benefits||=[],t.benefits.push({enabled:!0,content:`${n?.service?.title} - ${n.amount} `+this.$t(`service.unit.`+n?.service?.unit+`s`)});t.benefits?.push({enabled:t.name!==`WEEK`,content:this.$t(`console.message.benefit1`)}),t.benefits?.push({enabled:t.name!==`WEEK`,content:this.$t(`console.message.benefit2`)})}return e},service(){return this.application?.service},serviceIds(){return!this.application||!this.application.service?[]:[this.application.service.id]}},async mounted(){this.loading=!0,await this.onFetchApplication(),await this.onFetchApplication2(),await this.onCreateApplications(),this.loading=!1,this.subscription=this.subscriptions[2]},methods:{getPriceString:S,onBuyExtra(){this.$router.push({name:D,params:{id:this.applicationId}})},getPackages(e){let t=[];if(!this.service)return[];let n=[this.service].sort((e,t)=>this.serviceIds.indexOf(e.id)-this.serviceIds.indexOf(t.id));for(let r of n){let n=r.packages?.find(t=>t.type===A.PERIOD&&t.duration===e);n&&t.push({...n,service:r})}return t},async onCreateApplications(){let e=[];if(this.application2||e.push(this.application?.service?.id),e.length>0){for(let t of e)await y.create({service_id:t,type:k.PERIOD});await this.onFetchApplication2()}},onChangeType(){console.log(`onChangeType`,this.type),this.$router.push({name:D,params:this.$route.params})},async onFetchServices(){let{data:e}=await T.getAll({id:this.serviceIds});this.services=e.items,console.debug(`services`,this.services)},async onFetchApplication(){let{data:e}=await y.get(this.applicationId);this.application=e,console.debug(`application`,this.application)},async onFetchApplication2(){let{data:e}=await y.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:`-created_at`,service_id:this.serviceIds,type:k.PERIOD});this.application2=e.items?.[0],console.debug(`application2`,this.application2)},onCreateOrder(e){if(this.subscription=e,this.creating=!0,!this.application2||!this.application2.id){j.error(this.$t(`console.message.applicationNotFound`)),this.creating=!1;return}O(`payment_initiated`,{service:this.service?.alias,action:`subscribe`,duration:e.duration}),E.create({application_ids:[this.application2.id],package_ids:this.getPackages(e.duration).map(e=>e.id),description:this.service?.title+` - `+e.label}).then(({data:e})=>{this.creating=!1,this.$router.push({name:x,params:{id:e.id}})}).catch(e=>{j.error(this.$t(`order.message.createFailed`)),this.creating=!1,O(`payment_failed`,{service:this.service?.alias,action:`subscribe`,error:e?.response?.data?.error?.message??String(e)})})}}}),P={class:`title`},F={class:`introduction`},I={class:`name`},L={class:`price`},R={class:`description`},z={class:`benefits`},B={class:`operations`},V={key:2,class:`extra`};function H(o,m,h,g,_,v){let y=u(`el-col`),b=u(`el-row`),x=u(`el-skeleton`),S=u(`el-tag`),C=u(`font-awesome-icon`),w=u(`el-button`),T=u(`el-card`);return l(),t(b,{class:`panel`},{default:f(()=>[i(y,{span:24},{default:f(()=>[i(b,null,{default:f(()=>[i(y,{span:24},{default:f(()=>[n(`h2`,P,c(o.$t(`common.title.buyMore`)),1)]),_:1})]),_:1}),i(b,null,{default:f(()=>[i(y,{span:24},{default:f(()=>[i(T,{shadow:`hover`,class:`card`},{default:f(()=>[i(b,null,{default:f(()=>[i(y,{class:`max-w-4xl mx-auto`},{default:f(()=>[n(`p`,F,c(o.$t(`console.subscription.title`)),1),o.loading?(l(),t(x,{key:0})):(l(),t(b,{key:1,gutter:15,class:`subscriptions`},{default:f(()=>[(l(!0),d(p,null,s(o.subscriptions,(u,m)=>(l(),t(y,{key:m,xs:24,md:24/(o.subscriptions?.length||4)},{default:f(()=>[i(T,{shadow:`hover`,class:e({subscription:!0,active:o.subscription?.name===u.name}),onClick:e=>o.subscription=u},{default:f(()=>[n(`h4`,I,[r(c(u.label)+` `,1),u.tag?(l(),t(S,{key:0,type:`warning`},{default:f(()=>[r(c(u.tag),1)]),_:2},1024)):a(``,!0)]),n(`h2`,L,c(o.getPriceString({value:u.price})),1),n(`p`,R,c(u.description),1),n(`div`,z,[(l(!0),d(p,null,s(u.benefits,(e,r)=>(l(),d(`div`,{key:r,class:`benefit`},[e.enabled?(l(),t(C,{key:0,icon:`fa-solid fa-check`,class:`icon icon-check`})):(l(),t(C,{key:1,icon:`fa-solid fa-xmark`,class:`icon icon-xmark`})),n(`span`,null,c(e.content),1)]))),128))]),n(`div`,B,[o.showPayment?(l(),t(w,{key:0,class:`btn btn-subscribe`,type:o.subscription?.name===u?.name?`primary`:``,round:``,onClick:e=>o.onCreateOrder(u)},{default:f(()=>[r(c(o.$t(`common.button.buy`)),1)]),_:1},8,[`type`,`onClick`])):a(``,!0)])]),_:2},1032,[`class`,`onClick`])]),_:2},1032,[`md`]))),128))]),_:1})),!o.loading&&o.showPayment?(l(),d(`div`,V,[n(`span`,null,c(o.$t(`console.message.doNotWantSubscribe`)),1),i(w,{type:`primary`,class:`btn btn-extra`,round:``,size:`small`,onClick:o.onBuyExtra},{default:f(()=>[r(c(o.$t(`console.message.buyExtra`)),1)]),_:1},8,[`onClick`])])):a(``,!0)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}var U=C(N,[[`render`,H],[`__scopeId`,`data-v-46816bf9`]]);export{U as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{Bt as e,D as t,E as n,M as r,N as i,O as a,P as o,Q as s,Ut as c,X as l,et as u,k as d,lt as f,x as p}from"./vendor-chart-Df3WBvr0.js";import{t as m}from"./button-DgZFgZDr.js";import{t as h}from"./card-pDppUT2_.js";import{n as g,t as _}from"./row-BgYJmo3R.js";import{t as v}from"./skeleton-k2vAVQdD.js";import{Ar as y,Dn as b,E as x,I as S,Mt as C,N as w,Nn as T,Tr as E,bn as D,hn as O,mr as k,pr as A,xr as j}from"./index-CEh-AtFD.js";import{t as M}from"./index.es-CGcvPLbY.js";var N=o({name:`ConsoleSubscriptionBuy`,components:{ElSkeleton:v,ElRow:_,ElTag:y,ElCol:g,ElCard:h,FontAwesomeIcon:M,ElButton:m},data(){return{application:void 0,application2:void 0,type:A.PERIOD,services:[],loading:!1,creating:!1,subscription:void 0}},computed:{site(){return this.$store.getters.site},applicationId(){return this.$route.params?.id?.toString()},showPayment(){return!j()},subscriptions(){let e=[{name:`WEEK`,label:this.$t(`console.subscription.weekly`),description:this.$t(`console.subscription.weekly.description`),duration:10080*60},{name:`MONTH`,label:this.$t(`console.subscription.monthly`),description:this.$t(`console.subscription.monthly.description`),duration:720*60*60},{name:`YEAR`,tag:this.$t(`console.button.suggested`),label:this.$t(`console.subscription.yearly`),description:this.$t(`console.subscription.yearly.description`),duration:365*24*60*60}];for(let t of e){console.log(`item`,t);let e=this.getPackages(t.duration);console.log(`pkgs`,e),e&&(t.price=e.reduce((e,t)=>e+t.price,0));for(let n of e)t.benefits||=[],t.benefits.push({enabled:!0,content:`${n?.service?.title} - ${n.amount} `+this.$t(`service.unit.`+n?.service?.unit+`s`)});t.benefits?.push({enabled:t.name!==`WEEK`,content:this.$t(`console.message.benefit1`)}),t.benefits?.push({enabled:t.name!==`WEEK`,content:this.$t(`console.message.benefit2`)})}return e},service(){return this.application?.service},serviceIds(){return!this.application||!this.application.service?[]:[this.application.service.id]}},async mounted(){this.loading=!0,await this.onFetchApplication(),await this.onFetchApplication2(),await this.onCreateApplications(),this.loading=!1,this.subscription=this.subscriptions[2]},methods:{getPriceString:C,onBuyExtra(){this.$router.push({name:w,params:{id:this.applicationId}})},getPackages(e){let t=[];if(!this.service)return[];let n=[this.service].sort((e,t)=>this.serviceIds.indexOf(e.id)-this.serviceIds.indexOf(t.id));for(let r of n){let n=r.packages?.find(t=>t.type===k.PERIOD&&t.duration===e);n&&t.push({...n,service:r})}return t},async onCreateApplications(){let e=[];if(this.application2||e.push(this.application?.service?.id),e.length>0){for(let t of e)await b.create({service_id:t,type:A.PERIOD});await this.onFetchApplication2()}},onChangeType(){console.log(`onChangeType`,this.type),this.$router.push({name:w,params:this.$route.params})},async onFetchServices(){let{data:e}=await O.getAll({id:this.serviceIds});this.services=e.items,console.debug(`services`,this.services)},async onFetchApplication(){let{data:e}=await b.get(this.applicationId);this.application=e,console.debug(`application`,this.application)},async onFetchApplication2(){let{data:e}=await b.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:`-created_at`,service_id:this.serviceIds,type:A.PERIOD});this.application2=e.items?.[0],console.debug(`application2`,this.application2)},onCreateOrder(e){if(this.subscription=e,this.creating=!0,!this.application2||!this.application2.id){E.error(this.$t(`console.message.applicationNotFound`)),this.creating=!1;return}T(`payment_initiated`,{service:this.service?.alias,action:`subscribe`,duration:e.duration}),D.create({application_ids:[this.application2.id],package_ids:this.getPackages(e.duration).map(e=>e.id),description:this.service?.title+` - `+e.label}).then(({data:e})=>{this.creating=!1,this.$router.push({name:S,params:{id:e.id}})}).catch(e=>{E.error(this.$t(`order.message.createFailed`)),this.creating=!1,T(`payment_failed`,{service:this.service?.alias,action:`subscribe`,error:e?.response?.data?.error?.message??String(e)})})}}}),P={class:`title`},F={class:`introduction`},I={class:`name`},L={class:`price`},R={class:`description`},z={class:`benefits`},B={class:`operations`},V={key:2,class:`extra`};function H(o,m,h,g,_,v){let y=u(`el-col`),b=u(`el-row`),x=u(`el-skeleton`),S=u(`el-tag`),C=u(`font-awesome-icon`),w=u(`el-button`),T=u(`el-card`);return l(),t(b,{class:`panel`},{default:f(()=>[i(y,{span:24},{default:f(()=>[i(b,null,{default:f(()=>[i(y,{span:24},{default:f(()=>[n(`h2`,P,c(o.$t(`common.title.buyMore`)),1)]),_:1})]),_:1}),i(b,null,{default:f(()=>[i(y,{span:24},{default:f(()=>[i(T,{shadow:`hover`,class:`card`},{default:f(()=>[i(b,null,{default:f(()=>[i(y,{class:`max-w-4xl mx-auto`},{default:f(()=>[n(`p`,F,c(o.$t(`console.subscription.title`)),1),o.loading?(l(),t(x,{key:0})):(l(),t(b,{key:1,gutter:15,class:`subscriptions`},{default:f(()=>[(l(!0),d(p,null,s(o.subscriptions,(u,m)=>(l(),t(y,{key:m,xs:24,md:24/(o.subscriptions?.length||4)},{default:f(()=>[i(T,{shadow:`hover`,class:e({subscription:!0,active:o.subscription?.name===u.name}),onClick:e=>o.subscription=u},{default:f(()=>[n(`h4`,I,[r(c(u.label)+` `,1),u.tag?(l(),t(S,{key:0,type:`warning`},{default:f(()=>[r(c(u.tag),1)]),_:2},1024)):a(``,!0)]),n(`h2`,L,c(o.getPriceString({value:u.price})),1),n(`p`,R,c(u.description),1),n(`div`,z,[(l(!0),d(p,null,s(u.benefits,(e,r)=>(l(),d(`div`,{key:r,class:`benefit`},[e.enabled?(l(),t(C,{key:0,icon:`fa-solid fa-check`,class:`icon icon-check`})):(l(),t(C,{key:1,icon:`fa-solid fa-xmark`,class:`icon icon-xmark`})),n(`span`,null,c(e.content),1)]))),128))]),n(`div`,B,[o.showPayment?(l(),t(w,{key:0,class:`btn btn-subscribe`,type:o.subscription?.name===u?.name?`primary`:``,round:``,onClick:e=>o.onCreateOrder(u)},{default:f(()=>[r(c(o.$t(`common.button.buy`)),1)]),_:1},8,[`type`,`onClick`])):a(``,!0)])]),_:2},1032,[`class`,`onClick`])]),_:2},1032,[`md`]))),128))]),_:1})),!o.loading&&o.showPayment?(l(),d(`div`,V,[n(`span`,null,c(o.$t(`console.message.doNotWantSubscribe`)),1),i(w,{type:`primary`,class:`btn btn-extra`,round:``,size:`small`,onClick:o.onBuyExtra},{default:f(()=>[r(c(o.$t(`console.message.buyExtra`)),1)]),_:1},8,[`onClick`])])):a(``,!0)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}var U=x(N,[[`render`,H],[`__scopeId`,`data-v-46816bf9`]]);export{U as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{D as e,N as t,P as n,X as r,et as i,lt as a}from"./vendor-chart-Df3WBvr0.js";import{n as o,t as s}from"./tabs-DT_RvYVg.js";import{H as c,S as l,U as u}from"./index-DtcnyKXU.js";var d=n({name:`FishTabSwitcher`,components:{ElTabs:o,ElTabPane:s},data(){return{ROUTE_FISH_TTS_INDEX:u,ROUTE_FISH_MODEL_INDEX:c}},computed:{active(){return(this.$route?.name||``)===`fish-model-index`?c:u}},methods:{onUpdate(e){let t=String(e);t!==this.active&&this.$router.push({name:t})}}});function f(n,o,s,c,l,u){let d=i(`el-tab-pane`),f=i(`el-tabs`);return r(),e(f,{"model-value":n.active,class:`fish-tabs`,stretch:``,"onUpdate:modelValue":n.onUpdate},{default:a(()=>[t(d,{label:n.$t(`fish.tab.tts`),name:n.ROUTE_FISH_TTS_INDEX},null,8,[`label`,`name`]),t(d,{label:n.$t(`fish.tab.model`),name:n.ROUTE_FISH_MODEL_INDEX},null,8,[`label`,`name`])]),_:1},8,[`model-value`,`onUpdate:modelValue`])}var p=l(d,[[`render`,f],[`__scopeId`,`data-v-11790655`]]);export{p as t};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{D as e,N as t,P as n,X as r,et as i,lt as a}from"./vendor-chart-Df3WBvr0.js";import{n as o,t as s}from"./tabs-DT_RvYVg.js";import{E as c,K as l,q as u}from"./index-CEh-AtFD.js";var d=n({name:`FishTabSwitcher`,components:{ElTabs:o,ElTabPane:s},data(){return{ROUTE_FISH_TTS_INDEX:u,ROUTE_FISH_MODEL_INDEX:l}},computed:{active(){return(this.$route?.name||``)===`fish-model-index`?l:u}},methods:{onUpdate(e){let t=String(e);t!==this.active&&this.$router.push({name:t})}}});function f(n,o,s,c,l,u){let d=i(`el-tab-pane`),f=i(`el-tabs`);return r(),e(f,{"model-value":n.active,class:`fish-tabs`,stretch:``,"onUpdate:modelValue":n.onUpdate},{default:a(()=>[t(d,{label:n.$t(`fish.tab.tts`),name:n.ROUTE_FISH_TTS_INDEX},null,8,[`label`,`name`]),t(d,{label:n.$t(`fish.tab.model`),name:n.ROUTE_FISH_MODEL_INDEX},null,8,[`label`,`name`])]),_:1},8,[`model-value`,`onUpdate:modelValue`])}var p=c(d,[[`render`,f],[`__scopeId`,`data-v-11790655`]]);export{p as t};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,M as n,N as r,O as i,P as a,Q as o,Ut as s,X as c,et as l,k as u,lt as d,x as f,y as p}from"./vendor-chart-Df3WBvr0.js";import{t as m}from"./button-DgZFgZDr.js";import{r as h,t as g}from"./select-DC5zO2Tf.js";import{t as _}from"./image-05OiwhCC.js";import{t as v}from"./alert-Bgv5POrX.js";import{t as y}from"./slider-CGrxfmRg.js";import{K as b,U as x,Vr as S}from"./constants-BoMdh9QC.js";import{Dt as C,On as w,S as T,St as ee,Vt as te,dr as E,wt as D,xr as O}from"./index-DtcnyKXU.js";import{t as k}from"./index.es-D2U_WHjx.js";import{t as A}from"./CopyToClipboard-5NkEhaix.js";import{t as j}from"./Hailuo-DStEsngb.js";import{t as M}from"./BotPlaceholder-CGAUW1iT.js";import{t as N}from"./TabSwitcher-DZUpNA6G.js";import{n as P,t as F}from"./pagination-K-GiKzXg.js";import{n as I,t as L}from"./NoTasks-Uzzr1qXU.js";import{t as R}from"./Consumption-VJaAox2V.js";import{t as z}from"./ApiCodeButton-C4MCH2v_.js";var B=a({name:`FishTextInput`,components:{PromptTextarea:I},computed:{text:{get(){return this.$store.state.fish?.config?.text},set(e){this.$store.commit(`fish/setConfig`,{...this.$store.state.fish?.config,text:e})}}}});function V(t,n,r,i,a,o){let s=l(`prompt-textarea`);return c(),e(s,{modelValue:t.text,"onUpdate:modelValue":n[0]||=e=>t.text=e,title:t.$t(`fish.name.text`),info:t.$t(`fish.description.text`),placeholder:t.$t(`fish.placeholder.text`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var H=T(B,[[`render`,V]]),U=a({name:`FishModelSelector`,components:{ElSelect:h,ElOption:g},computed:{options(){return[{value:b,label:this.$t(`fish.button.modelS2Pro`)},{value:`s1`,label:this.$t(`fish.button.modelS1`)}]},value:{get(){return this.$store.state.fish?.config?.model},set(e){this.$store.commit(`fish/setConfig`,{...this.$store.state.fish?.config,model:e})}}},mounted(){this.value||=x}}),W={class:`field`},G={class:`title font-bold`};function K(n,i,a,p,m,h){let g=l(`el-option`),_=l(`el-select`);return c(),u(`div`,W,[t(`h2`,G,s(n.$t(`fish.name.model`)),1),r(_,{modelValue:n.value,"onUpdate:modelValue":i[0]||=e=>n.value=e,class:`value`,placeholder:n.$t(`fish.placeholder.select`)},{default:d(()=>[(c(!0),u(f,null,o(n.options,t=>(c(),e(g,{key:t.value,label:t.label,value:t.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var q=T(U,[[`render`,K],[`__scopeId`,`data-v-9702e6d3`]]),J=a({name:`FishVoicePicker`,components:{ElSelect:h,ElOption:g},computed:{loading(){return this.$store.state.fish?.status?.getApplications===E.Request},options(){return this.$store.state.fish?.voices??[]},displayOptions(){return this.options.map(e=>{let t=e,n=(t.id||t._id||t.reference_id||``).toString();return{value:n,label:t.title||n}}).filter(e=>!!e.value)},credential(){return this.$store.state.fish?.credential},value:{get(){return this.$store.state.fish?.config?.reference_id},set(e){this.$store.commit(`fish/setConfig`,{...this.$store.state.fish?.config,reference_id:e||void 0})}}},watch:{credential:{immediate:!0,handler(e){if(!e?.token)return;let t=this.$store.state.fish?.voices;(t===void 0||t.length===0)&&this.$store.dispatch(`fish/getVoices`)}}}}),Y={class:`field`},X={class:`title font-bold`};function Z(n,i,a,p,m,h){let g=l(`el-option`),_=l(`el-select`);return c(),u(`div`,Y,[t(`h2`,X,s(n.$t(`fish.name.voice`)),1),r(_,{modelValue:n.value,"onUpdate:modelValue":i[0]||=e=>n.value=e,class:`value`,placeholder:n.$t(`fish.placeholder.voice`),clearable:``,filterable:``,loading:n.loading,"no-data-text":n.$t(`fish.message.noVoices`)},{default:d(()=>[(c(!0),u(f,null,o(n.displayOptions,t=>(c(),e(g,{key:t.value,label:t.label,value:t.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`loading`,`no-data-text`])])}var Q=a({name:`FishConfigPanel`,components:{ElButton:m,ElSlider:y,FontAwesomeIcon:k,TextInput:H,ModelSelector:q,VoicePicker:T(J,[[`render`,Z],[`__scopeId`,`data-v-ac9e3a92`]]),Consumption:R},emits:[`generate`],computed:{config(){return this.$store.state.fish?.config},consumption(){return C(this.config,this.service?.cost)},service(){return this.$store.state.fish?.service},canGenerate(){let e=this.config?.text;return typeof e==`string`&&e.trim().length>0},speed:{get(){return this.config?.prosody?.speed??1},set(e){this.$store.commit(`fish/setConfig`,{...this.config,prosody:{...this.config?.prosody??{},speed:e}})}}},methods:{onGenerate(){this.$emit(`generate`)}}}),ne={class:`flex flex-col h-full`},re={class:`flex-1 overflow-y-auto p-5`},ie={class:`field mb-2`},ae={class:`title font-bold`},oe={class:`flex flex-col items-center justify-center px-5 pb-5`};function se(e,i,a,o,f,p){let m=l(`text-input`),h=l(`model-selector`),g=l(`voice-picker`),_=l(`el-slider`),v=l(`consumption`),y=l(`font-awesome-icon`),b=l(`el-button`);return c(),u(`div`,ne,[t(`div`,re,[r(m,{class:`mb-4`}),r(h,{class:`mb-4`}),r(g,{class:`mb-4`}),t(`div`,ie,[t(`h2`,ae,s(e.$t(`fish.name.speed`)),1),r(_,{modelValue:e.speed,"onUpdate:modelValue":i[0]||=t=>e.speed=t,min:.5,max:2,step:.1,class:`value`,"show-input":``},null,8,[`modelValue`])])]),t(`div`,oe,[r(v,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),r(b,{type:`primary`,class:`btn w-full`,round:``,disabled:!e.canGenerate,onClick:e.onGenerate},{default:d(()=>[r(y,{icon:`fa-solid fa-magic`,class:`mr-2`}),n(` `+s(e.$t(`fish.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var ce=T(Q,[[`render`,se],[`__scopeId`,`data-v-1ccd36ba`]]),le=a({name:`FishTaskPreview`,components:{ElImage:_,CopyToClipboard:A,FontAwesomeIcon:k,ElAlert:v,ElButton:m,ApiCodeButton:z},props:{modelValue:{type:Object,required:!0}},computed:{prompt(){return this.modelValue?.request?.text},audioUrl(){return this.modelValue?.response?.audio_url}},methods:{onDownload(e){window.open(e,`_blank`)}}}),ue={class:`preview`},de={class:`left`},fe={class:`main`},pe={class:`bot`},me={class:`datetime`},he={class:`info`},ge={key:0,class:`prompt mt-2`},_e={key:0},ve={key:0,class:`content`},ye=[`src`],be={class:`operations mt-2`},xe={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Se={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ce={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},we={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Te={key:1,class:`content`},Ee={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function De(e,a,o,f,m,h){let g=l(`el-image`),_=l(`el-button`),v=l(`api-code-button`),y=l(`font-awesome-icon`),b=l(`copy-to-clipboard`),x=l(`el-alert`);return c(),u(`div`,ue,[t(`div`,de,[r(g,{src:`https://cdn.acedata.cloud/e40fccc727.png`,class:`avatar`})]),t(`div`,fe,[t(`div`,pe,[n(s(e.$t(`fish.name.fishBot`))+` `,1),t(`span`,me,s(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),t(`div`,he,[e.prompt?(c(),u(`p`,ge,[n(s(e.prompt)+` `,1),e.modelValue?.response?i(``,!0):(c(),u(`span`,_e,` - (`+s(e.$t(`fish.status.pending`))+`) `,1))])):i(``,!0)]),e.audioUrl?(c(),u(`div`,ve,[t(`audio`,{src:e.audioUrl,controls:``,preload:`metadata`,class:`w-full mb-3`},null,8,ye),t(`div`,be,[r(_,{type:`info`,size:`small`,class:`mb-2`,onClick:a[0]||=p(t=>e.onDownload(e.audioUrl),[`stop`])},{default:d(()=>[n(s(e.$t(`fish.button.download`)),1)]),_:1}),r(v,{path:`/fish/tts`,body:e.modelValue?.request},null,8,[`body`])]),r(x,{closable:!1,class:`mt-2 success`},{default:d(()=>[e.modelValue?.request?.model?(c(),u(`p`,xe,[r(y,{icon:`fa-solid fa-microchip`,class:`mr-1`}),n(` `+s(e.$t(`fish.name.model`))+`: `+s(e.modelValue?.request?.model),1)])):i(``,!0),e.modelValue?.request?.reference_id?(c(),u(`p`,Se,[r(y,{icon:`fa-solid fa-microphone`,class:`mr-1`}),n(` `+s(e.$t(`fish.name.referenceId`))+`: `+s(e.modelValue?.request?.reference_id)+` `,1),r(b,{content:e.modelValue?.request?.reference_id},null,8,[`content`])])):i(``,!0),t(`p`,Ce,[r(y,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+s(e.$t(`fish.name.taskId`))+`: `+s(e.modelValue?.id)+` `,1),r(b,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(c(),u(`p`,we,[r(y,{icon:`fa-solid fa-clock`,class:`mr-1`}),n(` `+s(e.$t(`fish.name.elapsed`))+`: `+s(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):i(``,!0)]),_:1})])):(c(),u(`div`,Te,[r(x,{closable:!1,class:`info`},{default:d(()=>[t(`p`,Ee,[r(y,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+s(e.$t(`fish.name.taskId`))+`: `+s(e.modelValue?.id)+` `,1),r(b,{content:e.modelValue?.id},null,8,[`content`])])]),_:1})]))])])}var $=a({name:`FishRecentPanel`,components:{TaskPreview:T(le,[[`render`,De],[`__scopeId`,`data-v-754753f2`]]),BotPlaceholder:M,NoTasks:L,ScrollList:P},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.fish?.tasks,items:this.$store.state.fish?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Oe={key:0},ke={key:2,class:`w-full h-full flex items-center justify-center`};function Ae(t,n,a,s,p,m){let h=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return c(),u(f,null,[t.tasks?.items===void 0?(c(),u(`div`,Oe,[r(h)])):t.tasks?.items?.length&&t.tasks?.items?.length>0?(c(),e(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:t.loading,onReachTop:n[0]||=e=>t.$emit(`reach-top`)},{default:d(()=>[(c(!0),u(f,null,o(t.tasks?.items,t=>(c(),e(g,{key:t.id,"model-value":t},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):i(``,!0),t.tasks?.items?.length===0?(c(),u(`div`,ke,[r(v)])):i(``,!0)],64)}var je=T($,[[`render`,Ae]]),Me=S(`fish`),Ne=a({name:`FishTtsIndex`,components:{ConfigPanel:ce,Layout:j,RecentPanel:je,TabSwitcher:N},mixins:[D],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.fish?.status?.getApplications===E.Request},tasksLoading(){return this.$store.state.fish?.status?.getTasks===E.Request||this.fetchingTasks},credential(){return this.$store.state.fish?.credential},config(){return this.$store.state.fish?.config},application(){return this.$store.state.fish?.application},tasks(){return this.$store.state.fish?.tasks}},watch:{initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService(),await this.$store.dispatch(`fish/getVoices`)},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await F({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch(`fish/getService`)},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch(`fish/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ee(this.uploadTracker,e=>this.$t(e),e=>O.warning(e)))return;let e=this.config??{},t=e.text?.trim();if(!t){O.warning(this.$t(`fish.message.textRequired`));return}let n=this.credential?.token;if(!n){console.error(`no token specified`);return}let r=e.model||`s2-pro`,i={text:t,callback_url:Me};e.reference_id&&(i.reference_id=e.reference_id),e.format&&(i.format=e.format),e.prosody&&Object.keys(e.prosody).length>0&&(i.prosody=e.prosody),O.info(this.$t(`fish.message.startingTask`)),w(`fish`,te.generateTts(i,{token:n,model:r})).then(()=>{O.success(this.$t(`fish.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?O.error(this.$t(`fish.message.usedUp`)):O.error(this.$t(`fish.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}}),Pe={class:`flex flex-col h-full`},Fe={class:`flex-1 min-h-0`};function Ie(n,i,a,o,s,u){let f=l(`tab-switcher`),p=l(`config-panel`),m=l(`recent-panel`),h=l(`layout`);return c(),e(h,null,{config:d(()=>[t(`div`,Pe,[r(f),t(`div`,Fe,[r(p,{onGenerate:n.onGenerate},null,8,[`onGenerate`])])])]),result:d(()=>[r(m,{ref:`recentPanel`,loading:n.loadingMore,onReachTop:n.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Le=T(Ne,[[`render`,Ie]]);export{Le as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,M as n,N as r,O as i,P as a,Q as o,Ut as s,X as c,et as l,k as u,lt as d,x as f,y as p}from"./vendor-chart-Df3WBvr0.js";import{t as m}from"./button-DgZFgZDr.js";import{r as h,t as g}from"./select-Dy4nmBcy.js";import{t as _}from"./image-Bau0kGS7.js";import{t as v}from"./alert-Bgv5POrX.js";import{t as y}from"./slider-DYYyrciZ.js";import{Hr as b,W as x,q as S}from"./constants-D3W0tInG.js";import{E as C,Et as w,Gt as T,Mn as ee,Ot as te,Tr as E,hr as D,jt as O}from"./index-CEh-AtFD.js";import{t as k}from"./index.es-CGcvPLbY.js";import{t as A}from"./CopyToClipboard-DY4cWsYU.js";import{t as j}from"./Hailuo-LkHCQXkA.js";import{t as M}from"./BotPlaceholder-2Tv7c707.js";import{t as N}from"./TabSwitcher-D0CyI2Xc.js";import{n as P,t as F}from"./pagination-D0v316W1.js";import{n as I,t as L}from"./NoTasks-BJ195-7X.js";import{t as R}from"./Consumption-DSbM28rV.js";import{t as z}from"./ApiCodeButton-CrB8OI_k.js";var B=a({name:`FishTextInput`,components:{PromptTextarea:I},computed:{text:{get(){return this.$store.state.fish?.config?.text},set(e){this.$store.commit(`fish/setConfig`,{...this.$store.state.fish?.config,text:e})}}}});function V(t,n,r,i,a,o){let s=l(`prompt-textarea`);return c(),e(s,{modelValue:t.text,"onUpdate:modelValue":n[0]||=e=>t.text=e,title:t.$t(`fish.name.text`),info:t.$t(`fish.description.text`),placeholder:t.$t(`fish.placeholder.text`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var H=C(B,[[`render`,V]]),U=a({name:`FishModelSelector`,components:{ElSelect:h,ElOption:g},computed:{options(){return[{value:S,label:this.$t(`fish.button.modelS2Pro`)},{value:`s1`,label:this.$t(`fish.button.modelS1`)}]},value:{get(){return this.$store.state.fish?.config?.model},set(e){this.$store.commit(`fish/setConfig`,{...this.$store.state.fish?.config,model:e})}}},mounted(){this.value||=x}}),W={class:`field`},G={class:`title font-bold`};function K(n,i,a,p,m,h){let g=l(`el-option`),_=l(`el-select`);return c(),u(`div`,W,[t(`h2`,G,s(n.$t(`fish.name.model`)),1),r(_,{modelValue:n.value,"onUpdate:modelValue":i[0]||=e=>n.value=e,class:`value`,placeholder:n.$t(`fish.placeholder.select`)},{default:d(()=>[(c(!0),u(f,null,o(n.options,t=>(c(),e(g,{key:t.value,label:t.label,value:t.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var q=C(U,[[`render`,K],[`__scopeId`,`data-v-9702e6d3`]]),J=a({name:`FishVoicePicker`,components:{ElSelect:h,ElOption:g},computed:{loading(){return this.$store.state.fish?.status?.getApplications===D.Request},options(){return this.$store.state.fish?.voices??[]},displayOptions(){return this.options.map(e=>{let t=e,n=(t.id||t._id||t.reference_id||``).toString();return{value:n,label:t.title||n}}).filter(e=>!!e.value)},credential(){return this.$store.state.fish?.credential},value:{get(){return this.$store.state.fish?.config?.reference_id},set(e){this.$store.commit(`fish/setConfig`,{...this.$store.state.fish?.config,reference_id:e||void 0})}}},watch:{credential:{immediate:!0,handler(e){if(!e?.token)return;let t=this.$store.state.fish?.voices;(t===void 0||t.length===0)&&this.$store.dispatch(`fish/getVoices`)}}}}),Y={class:`field`},X={class:`title font-bold`};function Z(n,i,a,p,m,h){let g=l(`el-option`),_=l(`el-select`);return c(),u(`div`,Y,[t(`h2`,X,s(n.$t(`fish.name.voice`)),1),r(_,{modelValue:n.value,"onUpdate:modelValue":i[0]||=e=>n.value=e,class:`value`,placeholder:n.$t(`fish.placeholder.voice`),clearable:``,filterable:``,loading:n.loading,"no-data-text":n.$t(`fish.message.noVoices`)},{default:d(()=>[(c(!0),u(f,null,o(n.displayOptions,t=>(c(),e(g,{key:t.value,label:t.label,value:t.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`loading`,`no-data-text`])])}var Q=a({name:`FishConfigPanel`,components:{ElButton:m,ElSlider:y,FontAwesomeIcon:k,TextInput:H,ModelSelector:q,VoicePicker:C(J,[[`render`,Z],[`__scopeId`,`data-v-ac9e3a92`]]),Consumption:R},emits:[`generate`],computed:{config(){return this.$store.state.fish?.config},consumption(){return O(this.config,this.service?.cost)},service(){return this.$store.state.fish?.service},canGenerate(){let e=this.config?.text;return typeof e==`string`&&e.trim().length>0},speed:{get(){return this.config?.prosody?.speed??1},set(e){this.$store.commit(`fish/setConfig`,{...this.config,prosody:{...this.config?.prosody??{},speed:e}})}}},methods:{onGenerate(){this.$emit(`generate`)}}}),ne={class:`flex flex-col h-full`},re={class:`flex-1 overflow-y-auto p-5`},ie={class:`field mb-2`},ae={class:`title font-bold`},oe={class:`flex flex-col items-center justify-center px-5 pb-5`};function se(e,i,a,o,f,p){let m=l(`text-input`),h=l(`model-selector`),g=l(`voice-picker`),_=l(`el-slider`),v=l(`consumption`),y=l(`font-awesome-icon`),b=l(`el-button`);return c(),u(`div`,ne,[t(`div`,re,[r(m,{class:`mb-4`}),r(h,{class:`mb-4`}),r(g,{class:`mb-4`}),t(`div`,ie,[t(`h2`,ae,s(e.$t(`fish.name.speed`)),1),r(_,{modelValue:e.speed,"onUpdate:modelValue":i[0]||=t=>e.speed=t,min:.5,max:2,step:.1,class:`value`,"show-input":``},null,8,[`modelValue`])])]),t(`div`,oe,[r(v,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),r(b,{type:`primary`,class:`btn w-full`,round:``,disabled:!e.canGenerate,onClick:e.onGenerate},{default:d(()=>[r(y,{icon:`fa-solid fa-magic`,class:`mr-2`}),n(` `+s(e.$t(`fish.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var ce=C(Q,[[`render`,se],[`__scopeId`,`data-v-1ccd36ba`]]),le=a({name:`FishTaskPreview`,components:{ElImage:_,CopyToClipboard:A,FontAwesomeIcon:k,ElAlert:v,ElButton:m,ApiCodeButton:z},props:{modelValue:{type:Object,required:!0}},computed:{prompt(){return this.modelValue?.request?.text},audioUrl(){return this.modelValue?.response?.audio_url}},methods:{onDownload(e){window.open(e,`_blank`)}}}),ue={class:`preview`},de={class:`left`},fe={class:`main`},pe={class:`bot`},me={class:`datetime`},he={class:`info`},ge={key:0,class:`prompt mt-2`},_e={key:0},ve={key:0,class:`content`},ye=[`src`],be={class:`operations mt-2`},xe={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Se={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ce={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},we={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Te={key:1,class:`content`},Ee={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function De(e,a,o,f,m,h){let g=l(`el-image`),_=l(`el-button`),v=l(`api-code-button`),y=l(`font-awesome-icon`),b=l(`copy-to-clipboard`),x=l(`el-alert`);return c(),u(`div`,ue,[t(`div`,de,[r(g,{src:`https://cdn.acedata.cloud/e40fccc727.png`,class:`avatar`})]),t(`div`,fe,[t(`div`,pe,[n(s(e.$t(`fish.name.fishBot`))+` `,1),t(`span`,me,s(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),t(`div`,he,[e.prompt?(c(),u(`p`,ge,[n(s(e.prompt)+` `,1),e.modelValue?.response?i(``,!0):(c(),u(`span`,_e,` - (`+s(e.$t(`fish.status.pending`))+`) `,1))])):i(``,!0)]),e.audioUrl?(c(),u(`div`,ve,[t(`audio`,{src:e.audioUrl,controls:``,preload:`metadata`,class:`w-full mb-3`},null,8,ye),t(`div`,be,[r(_,{type:`info`,size:`small`,class:`mb-2`,onClick:a[0]||=p(t=>e.onDownload(e.audioUrl),[`stop`])},{default:d(()=>[n(s(e.$t(`fish.button.download`)),1)]),_:1}),r(v,{path:`/fish/tts`,body:e.modelValue?.request},null,8,[`body`])]),r(x,{closable:!1,class:`mt-2 success`},{default:d(()=>[e.modelValue?.request?.model?(c(),u(`p`,xe,[r(y,{icon:`fa-solid fa-microchip`,class:`mr-1`}),n(` `+s(e.$t(`fish.name.model`))+`: `+s(e.modelValue?.request?.model),1)])):i(``,!0),e.modelValue?.request?.reference_id?(c(),u(`p`,Se,[r(y,{icon:`fa-solid fa-microphone`,class:`mr-1`}),n(` `+s(e.$t(`fish.name.referenceId`))+`: `+s(e.modelValue?.request?.reference_id)+` `,1),r(b,{content:e.modelValue?.request?.reference_id},null,8,[`content`])])):i(``,!0),t(`p`,Ce,[r(y,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+s(e.$t(`fish.name.taskId`))+`: `+s(e.modelValue?.id)+` `,1),r(b,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(c(),u(`p`,we,[r(y,{icon:`fa-solid fa-clock`,class:`mr-1`}),n(` `+s(e.$t(`fish.name.elapsed`))+`: `+s(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):i(``,!0)]),_:1})])):(c(),u(`div`,Te,[r(x,{closable:!1,class:`info`},{default:d(()=>[t(`p`,Ee,[r(y,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+s(e.$t(`fish.name.taskId`))+`: `+s(e.modelValue?.id)+` `,1),r(b,{content:e.modelValue?.id},null,8,[`content`])])]),_:1})]))])])}var $=a({name:`FishRecentPanel`,components:{TaskPreview:C(le,[[`render`,De],[`__scopeId`,`data-v-754753f2`]]),BotPlaceholder:M,NoTasks:L,ScrollList:P},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.fish?.tasks,items:this.$store.state.fish?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Oe={key:0},ke={key:2,class:`w-full h-full flex items-center justify-center`};function Ae(t,n,a,s,p,m){let h=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return c(),u(f,null,[t.tasks?.items===void 0?(c(),u(`div`,Oe,[r(h)])):t.tasks?.items?.length&&t.tasks?.items?.length>0?(c(),e(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:t.loading,onReachTop:n[0]||=e=>t.$emit(`reach-top`)},{default:d(()=>[(c(!0),u(f,null,o(t.tasks?.items,t=>(c(),e(g,{key:t.id,"model-value":t},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):i(``,!0),t.tasks?.items?.length===0?(c(),u(`div`,ke,[r(v)])):i(``,!0)],64)}var je=C($,[[`render`,Ae]]),Me=b(`fish`),Ne=a({name:`FishTtsIndex`,components:{ConfigPanel:ce,Layout:j,RecentPanel:je,TabSwitcher:N},mixins:[te],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.fish?.status?.getApplications===D.Request},tasksLoading(){return this.$store.state.fish?.status?.getTasks===D.Request||this.fetchingTasks},credential(){return this.$store.state.fish?.credential},config(){return this.$store.state.fish?.config},application(){return this.$store.state.fish?.application},tasks(){return this.$store.state.fish?.tasks}},watch:{initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService(),await this.$store.dispatch(`fish/getVoices`)},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await F({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch(`fish/getService`)},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch(`fish/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!w(this.uploadTracker,e=>this.$t(e),e=>E.warning(e)))return;let e=this.config??{},t=e.text?.trim();if(!t){E.warning(this.$t(`fish.message.textRequired`));return}let n=this.credential?.token;if(!n){console.error(`no token specified`);return}let r=e.model||`s2-pro`,i={text:t,callback_url:Me};e.reference_id&&(i.reference_id=e.reference_id),e.format&&(i.format=e.format),e.prosody&&Object.keys(e.prosody).length>0&&(i.prosody=e.prosody),E.info(this.$t(`fish.message.startingTask`)),ee(`fish`,T.generateTts(i,{token:n,model:r})).then(()=>{E.success(this.$t(`fish.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?E.error(this.$t(`fish.message.usedUp`)):E.error(this.$t(`fish.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}}),Pe={class:`flex flex-col h-full`},Fe={class:`flex-1 min-h-0`};function Ie(n,i,a,o,s,u){let f=l(`tab-switcher`),p=l(`config-panel`),m=l(`recent-panel`),h=l(`layout`);return c(),e(h,null,{config:d(()=>[t(`div`,Pe,[r(f),t(`div`,Fe,[r(p,{onGenerate:n.onGenerate},null,8,[`onGenerate`])])])]),result:d(()=>[r(m,{ref:`recentPanel`,loading:n.loadingMore,onReachTop:n.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Le=C(Ne,[[`render`,Ie]]);export{Le as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,M as n,N as r,O as i,P as a,Ut as o,X as s,et as c,k as l,lt as u}from"./vendor-chart-Df3WBvr0.js";import{t as d}from"./button-DgZFgZDr.js";import{S as f}from"./index-DtcnyKXU.js";import{t as p}from"./index.es-D2U_WHjx.js";import{t as m}from"./vue-plyr-wiIKa-zl.js";var h=a({name:`VideoPlayer`,components:{ElButton:d,FontAwesomeIcon:p,VuePlyr:m},props:{src:{type:String,required:!0},options:{type:Object,required:!1,default:()=>({})}},data(){return{failed:!1,mergedOptions:{controls:[`play-large`,`play`,`progress`,`current-time`,`mute`,`volume`,`captions`,`settings`,`pip`,`fullscreen`],iconUrl:`https://cdn.acedata.cloud/7jq4t0.svg`,quality:{default:1080,options:[1080],...this.options.quality},...this.options}}},computed:{safeSrc(){return this.src.trim()}},watch:{safeSrc(){this.failed=!1}},methods:{onError(){this.failed=!0},onOpen(){window.open(this.safeSrc,`_blank`,`noopener,noreferrer`)}}}),g={class:`video max-w-[800px] max-h-[450px] rounded-[15px] overflow-hidden`},_=[`src`],v={key:1,class:`video-fallback`};function y(a,d,f,p,m,h){let y=c(`vue-plyr`),b=c(`font-awesome-icon`),x=c(`el-button`);return s(),l(`div`,g,[!a.failed&&a.safeSrc?(s(),e(y,{key:a.safeSrc,options:a.mergedOptions},{default:u(()=>[t(`video`,{controls:``,playsinline:``,preload:`metadata`,class:`w-full h-full aspect-[16/9]`,onError:d[0]||=(...e)=>a.onError&&a.onError(...e)},[t(`source`,{size:`1080`,src:a.safeSrc,type:`video/mp4`},null,8,_)],32)]),_:1},8,[`options`])):a.safeSrc?(s(),l(`div`,v,[r(x,{type:`primary`,round:``,onClick:a.onOpen},{default:u(()=>[r(b,{icon:`fa-solid fa-up-right-from-square`,class:`mr-2`}),n(` `+o(a.$t(`common.button.download`)),1)]),_:1},8,[`onClick`])])):i(``,!0)])}var b=f(h,[[`render`,y],[`__scopeId`,`data-v-39c4a118`]]);export{b as t};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,M as n,N as r,O as i,P as a,Ut as o,X as s,et as c,k as l,lt as u}from"./vendor-chart-Df3WBvr0.js";import{t as d}from"./button-DgZFgZDr.js";import{E as f}from"./index-CEh-AtFD.js";import{t as p}from"./index.es-CGcvPLbY.js";import{t as m}from"./vue-plyr-wiIKa-zl.js";var h=a({name:`VideoPlayer`,components:{ElButton:d,FontAwesomeIcon:p,VuePlyr:m},props:{src:{type:String,required:!0},options:{type:Object,required:!1,default:()=>({})}},data(){return{failed:!1,mergedOptions:{controls:[`play-large`,`play`,`progress`,`current-time`,`mute`,`volume`,`captions`,`settings`,`pip`,`fullscreen`],iconUrl:`https://cdn.acedata.cloud/7jq4t0.svg`,quality:{default:1080,options:[1080],...this.options.quality},...this.options}}},computed:{safeSrc(){return this.src.trim()}},watch:{safeSrc(){this.failed=!1}},methods:{onError(){this.failed=!0},onOpen(){window.open(this.safeSrc,`_blank`,`noopener,noreferrer`)}}}),g={class:`video max-w-[800px] max-h-[450px] rounded-[15px] overflow-hidden`},_=[`src`],v={key:1,class:`video-fallback`};function y(a,d,f,p,m,h){let y=c(`vue-plyr`),b=c(`font-awesome-icon`),x=c(`el-button`);return s(),l(`div`,g,[!a.failed&&a.safeSrc?(s(),e(y,{key:a.safeSrc,options:a.mergedOptions},{default:u(()=>[t(`video`,{controls:``,playsinline:``,preload:`metadata`,class:`w-full h-full aspect-[16/9]`,onError:d[0]||=(...e)=>a.onError&&a.onError(...e)},[t(`source`,{size:`1080`,src:a.safeSrc,type:`video/mp4`},null,8,_)],32)]),_:1},8,[`options`])):a.safeSrc?(s(),l(`div`,v,[r(x,{type:`primary`,round:``,onClick:a.onOpen},{default:u(()=>[r(b,{icon:`fa-solid fa-up-right-from-square`,class:`mr-2`}),n(` `+o(a.$t(`common.button.download`)),1)]),_:1},8,[`onClick`])])):i(``,!0)])}var b=f(h,[[`render`,y],[`__scopeId`,`data-v-39c4a118`]]);export{b as t};
@@ -1 +1 @@
1
- import{$ as e,B as t,Bt as n,Ct as r,D as i,Dt as a,E as o,F as s,It as c,L as l,M as u,Nt as d,P as f,R as p,T as m,Ut as h,V as g,W as _,X as v,Z as y,_ as b,_t as x,ct as S,k as C,lt as w,q as ee,st as T,u as E,ut as D,x as O,yt as k,zt as A}from"./vendor-chart-Df3WBvr0.js";import{r as j}from"./button-DgZFgZDr.js";import{a as M,c as N,i as P,t as F}from"./install-CzQRVga2.js";import{Et as I,Kt as L,L as R,Mt as z,Tt as B,Vt as V,Yt as H,_ as te,at as U,h as ne,m as W,nt as G,ot as K,qt as re,tt as ie,vt as q,yt as J}from"./use-deprecated-Brbm5i6o.js";import{t as ae}from"./tooltip-C-9nDsaA.js";import{n as oe,t as Y}from"./aria-BaycMfQD.js";import{c as X}from"./teleport-DoThOTGf.js";import{n as Z}from"./vnode-BW5P0G7c.js";import{t as se}from"./click-outside-0fy-6UXm.js";import{t as ce}from"./collapse-transition-ee9MUgpU.js";import{S as le}from"./index-DtcnyKXU.js";var ue=class{constructor(e,t){this.parent=e,this.domNode=t,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll(`li`),this.addListeners()}gotoSubIndex(e){e===this.subMenuItems.length?e=0:e<0&&(e=this.subMenuItems.length-1),this.subMenuItems[e].focus(),this.subIndex=e}addListeners(){let e=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,t=>{t.addEventListener(`keydown`,t=>{let n=!1;switch(t.code){case Y.down:this.gotoSubIndex(this.subIndex+1),n=!0;break;case Y.up:this.gotoSubIndex(this.subIndex-1),n=!0;break;case Y.tab:X(e,`mouseleave`);break;case Y.enter:case Y.numpadEnter:case Y.space:n=!0,t.currentTarget.click();break}return n&&(t.preventDefault(),t.stopPropagation()),!1})})}},de=class{constructor(e,t){this.domNode=e,this.submenu=null,this.submenu=null,this.init(t)}init(e){this.domNode.setAttribute(`tabindex`,`0`);let t=this.domNode.querySelector(`.${e}-menu`);t&&(this.submenu=new ue(this,t)),this.addListeners()}addListeners(){this.domNode.addEventListener(`keydown`,e=>{let t=!1;switch(e.code){case Y.down:X(e.currentTarget,`mouseenter`),this.submenu&&this.submenu.gotoSubIndex(0),t=!0;break;case Y.up:X(e.currentTarget,`mouseenter`),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),t=!0;break;case Y.tab:X(e.currentTarget,`mouseleave`);break;case Y.enter:case Y.numpadEnter:case Y.space:t=!0,e.currentTarget.click();break}t&&e.preventDefault()})}},fe=class{constructor(e,t){this.domNode=e,this.init(t)}init(e){let t=this.domNode.childNodes;Array.from(t).forEach(t=>{t.nodeType===1&&new de(t,e)})}},pe=M(f({...f({name:`ElMenuCollapseTransition`}),setup(n){let r=N(`menu`),o={onBeforeEnter:e=>e.style.opacity=`0.2`,onEnter(e,t){G(e,`${r.namespace.value}-opacity-transition`),e.style.opacity=`1`,t()},onAfterEnter(e){K(e,`${r.namespace.value}-opacity-transition`),e.style.opacity=``},onBeforeLeave(e){e.dataset||={},U(e,r.m(`collapse`))?(K(e,r.m(`collapse`)),e.dataset.oldOverflow=e.style.overflow,e.dataset.scrollWidth=e.clientWidth.toString(),G(e,r.m(`collapse`))):(G(e,r.m(`collapse`)),e.dataset.oldOverflow=e.style.overflow,e.dataset.scrollWidth=e.clientWidth.toString(),K(e,r.m(`collapse`))),e.style.width=`${e.scrollWidth}px`,e.style.overflow=`hidden`},onLeave(e){G(e,`horizontal-collapse-transition`),e.style.width=`${e.dataset.scrollWidth}px`}};return(n,r)=>(v(),i(E,t({mode:`out-in`},a(o)),{default:w(()=>[e(n.$slots,`default`)]),_:3},16))}}),[[`__file`,`menu-collapse-transition.vue`]]);function me(e,t){let n=m(()=>{let n=e.parent,r=[t.value];for(;n.type.name!==`ElMenu`;)n.props.index&&r.unshift(n.props.index),n=n.parent;return r});return{parentMenu:m(()=>{let t=e.parent;for(;t&&![`ElMenu`,`ElSubMenu`].includes(t.type.name);)t=t.parent;return t}),indexPath:n}}function he(e){return m(()=>{let t=e.backgroundColor;return t?new j(t).shade(20).toString():``})}var ge=(e,t)=>{let n=N(`menu`);return m(()=>n.cssVarBlock({"text-color":e.textColor||``,"hover-text-color":e.textColor||``,"bg-color":e.backgroundColor||``,"hover-bg-color":he(e).value||``,"active-color":e.activeTextColor||``,level:`${t}`}))},_e=`rootMenu`,Q=`subMenu:`,ve=q({index:{type:String,required:!0},showTimeout:Number,hideTimeout:Number,popperClass:String,disabled:Boolean,teleported:{type:Boolean,default:void 0},popperOffset:Number,expandCloseIcon:{type:W},expandOpenIcon:{type:W},collapseCloseIcon:{type:W},collapseOpenIcon:{type:W}}),ye=`ElSubMenu`,be=f({name:ye,props:ve,setup(e,{slots:t,expose:n}){let r=s(),{indexPath:i,parentMenu:a}=me(r,m(()=>e.index)),o=N(`menu`),c=N(`sub-menu`),u=p(_e);u||I(ye,`can not inject root menu`);let d=p(`${Q}${a.value.uid}`);d||I(ye,`can not inject sub menu`);let f=k({}),h=k({}),g,v=k(!1),S=k(),C=k(),w=m(()=>z.value===`horizontal`&&j.value?`bottom-start`:`right-start`),E=m(()=>z.value===`horizontal`&&j.value||z.value===`vertical`&&!u.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?L.value?e.expandOpenIcon:e.expandCloseIcon:ne:e.collapseCloseIcon&&e.collapseOpenIcon?L.value?e.collapseOpenIcon:e.collapseCloseIcon:te),j=m(()=>d.level===0),M=m(()=>{let t=e.teleported;return re(t)?j.value:t}),P=m(()=>u.props.collapse?`${o.namespace.value}-zoom-in-left`:`${o.namespace.value}-zoom-in-top`),F=m(()=>z.value===`horizontal`&&j.value?[`bottom-start`,`bottom-end`,`top-start`,`top-end`,`right-start`,`left-start`]:[`right-start`,`right`,`right-end`,`left-start`,`bottom-start`,`bottom-end`,`top-start`,`top-end`]),L=m(()=>u.openedMenus.includes(e.index)),R=m(()=>[...Object.values(f.value),...Object.values(h.value)].some(({active:e})=>e)),z=m(()=>u.props.mode),B=m(()=>u.props.persistent),H=x({index:e.index,indexPath:i,active:R}),U=ge(u.props,d.level+1),W=m(()=>e.popperOffset??u.props.popperOffset),G=m(()=>e.popperClass??u.props.popperClass),K=m(()=>e.showTimeout??u.props.showTimeout),q=m(()=>e.hideTimeout??u.props.hideTimeout),J=()=>(C.value?.popperRef?.popperInstanceRef)?.destroy(),oe=e=>{e||J()},Y=()=>{u.props.menuTrigger===`hover`&&u.props.mode===`horizontal`||u.props.collapse&&u.props.mode===`vertical`||e.disabled||u.handleSubMenuClick({index:e.index,indexPath:i.value,active:R.value})},X=(t,n=K.value)=>{var r;if(t.type!==`focus`){if(u.props.menuTrigger===`click`&&u.props.mode===`horizontal`||!u.props.collapse&&u.props.mode===`vertical`||e.disabled){d.mouseInChild.value=!0;return}d.mouseInChild.value=!0,g?.(),{stop:g}=V(()=>{u.openMenu(e.index,i.value)},n),M.value&&((r=a.value.vnode.el)==null||r.dispatchEvent(new MouseEvent(`mouseenter`)))}},Z=(t=!1)=>{var n;if(u.props.menuTrigger===`click`&&u.props.mode===`horizontal`||!u.props.collapse&&u.props.mode===`vertical`){d.mouseInChild.value=!1;return}g?.(),d.mouseInChild.value=!1,{stop:g}=V(()=>!v.value&&u.closeMenu(e.index,i.value),q.value),M.value&&t&&((n=d.handleMouseleave)==null||n.call(d,!0))};return T(()=>u.props.collapse,e=>oe(!!e)),y(`${Q}${r.uid}`,{addSubMenu:e=>{h.value[e.index]=e},removeSubMenu:e=>{delete h.value[e.index]},handleMouseleave:Z,mouseInChild:v,level:d.level+1}),n({opened:L}),ee(()=>{u.addSubMenu(H),d.addSubMenu(H)}),_(()=>{d.removeSubMenu(H),u.removeSubMenu(H)}),()=>{let n=[t.title?.call(t),l(ie,{class:c.e(`icon-arrow`),style:{transform:L.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&u.props.collapse?`none`:`rotateZ(180deg)`:`none`}},{default:()=>A(E.value)?l(r.appContext.components[E.value]):l(E.value)})],i=u.isMenuPopup?l(ae,{ref:C,visible:L.value,effect:`light`,pure:!0,offset:W.value,showArrow:!1,persistent:B.value,popperClass:G.value,placement:w.value,teleported:M.value,fallbackPlacements:F.value,transition:P.value,gpuAcceleration:!1},{content:()=>l(`div`,{class:[o.m(z.value),o.m(`popup-container`),G.value],onMouseenter:e=>X(e,100),onMouseleave:()=>Z(!0),onFocus:e=>X(e,100)},[l(`ul`,{class:[o.b(),o.m(`popup`),o.m(`popup-${w.value}`)],style:U.value},[t.default?.call(t)])]),default:()=>l(`div`,{class:c.e(`title`),onClick:Y},n)}):l(O,{},[l(`div`,{class:c.e(`title`),ref:S,onClick:Y},n),l(ce,{},{default:()=>D(l(`ul`,{role:`menu`,class:[o.b(),o.m(`inline`)],style:U.value},[t.default?.call(t)]),[[b,L.value]])})]);return l(`li`,{class:[c.b(),c.is(`active`,R.value),c.is(`opened`,L.value),c.is(`disabled`,e.disabled)],role:`menuitem`,ariaHaspopup:!0,ariaExpanded:L.value,onMouseenter:X,onMouseleave:()=>Z(),onFocus:X},[i])}}}),xe=q({mode:{type:String,values:[`horizontal`,`vertical`],default:`vertical`},defaultActive:{type:String,default:``},defaultOpeneds:{type:J(Array),default:()=>oe([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:[`hover`,`click`],default:`hover`},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,closeOnClickOutside:Boolean,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperOffset:{type:Number,default:6},ellipsisIcon:{type:W,default:()=>R},popperEffect:{type:J(String),default:`dark`},popperClass:String,showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},persistent:{type:Boolean,default:!0}}),Se=e=>d(e)&&e.every(e=>A(e)),Ce=f({name:`ElMenu`,props:xe,emits:{close:(e,t)=>A(e)&&Se(t),open:(e,t)=>A(e)&&Se(t),select:(e,t,n,r)=>A(e)&&Se(t)&&c(n)&&(re(r)||r instanceof Promise)},setup(e,{emit:t,slots:n,expose:r}){let i=s(),a=i.appContext.config.globalProperties.$router,o=k(),c=N(`menu`),u=N(`sub-menu`),d=k(-1),f=k(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),p=k(e.defaultActive),h=k({}),_=k({}),v=m(()=>e.mode===`horizontal`||e.mode===`vertical`&&e.collapse),b=()=>{let t=p.value&&h.value[p.value];!t||e.mode===`horizontal`||e.collapse||t.indexPath.forEach(e=>{let t=_.value[e];t&&C(e,t.indexPath)})},C=(n,r)=>{f.value.includes(n)||(e.uniqueOpened&&(f.value=f.value.filter(e=>r.includes(e))),f.value.push(n),t(`open`,n,r))},w=e=>{let t=f.value.indexOf(e);t!==-1&&f.value.splice(t,1)},E=(e,n)=>{w(e),t(`close`,e,n)},O=({index:e,indexPath:t})=>{f.value.includes(e)?E(e,t):C(e,t)},A=n=>{(e.mode===`horizontal`||e.collapse)&&(f.value=[]);let{index:r,indexPath:i}=n;if(!(H(r)||H(i)))if(e.router&&a){let e=n.route||r,o=a.push(e).then(e=>(e||(p.value=r),e));t(`select`,r,i,{index:r,indexPath:i,route:e},o)}else p.value=r,t(`select`,r,i,{index:r,indexPath:i})},j=t=>{let n=h.value;p.value=(n[t]||p.value&&n[p.value]||n[e.defaultActive])?.index??t},M=e=>{let t=getComputedStyle(e),n=Number.parseInt(t.marginLeft,10),r=Number.parseInt(t.marginRight,10);return e.offsetWidth+n+r||0},P=()=>{if(!o.value)return-1;let e=Array.from(o.value?.childNodes??[]).filter(e=>e.nodeName!==`#text`||e.nodeValue),t=getComputedStyle(o.value),n=Number.parseInt(t.paddingLeft,10),r=Number.parseInt(t.paddingRight,10),i=o.value.clientWidth-n-r,a=0,s=0;return e.forEach((e,t)=>{e.nodeName!==`#comment`&&(a+=M(e),a<=i-64&&(s=t+1))}),s===e.length?-1:s},F=e=>_.value[e].indexPath,I=(e,t=33.34)=>{let n;return()=>{n&&clearTimeout(n),n=setTimeout(()=>{e()},t)}},L=!0,R=()=>{if(d.value===P())return;let e=()=>{d.value=-1,g(()=>{d.value=P()})};L?e():I(e)(),L=!1};T(()=>e.defaultActive,e=>{h.value[e]||(p.value=``),j(e)}),T(()=>e.collapse,e=>{e&&(f.value=[])}),T(h.value,b);let B;S(()=>{e.mode===`horizontal`&&e.ellipsis?B=z(o,R).stop:B?.()});let V=k(!1);{let t=e=>{_.value[e.index]=e},n=e=>{delete _.value[e.index]};y(_e,x({props:e,openedMenus:f,items:h,subMenus:_,activeIndex:p,isMenuPopup:v,addMenuItem:e=>{h.value[e.index]=e},removeMenuItem:e=>{delete h.value[e.index]},addSubMenu:t,removeSubMenu:n,openMenu:C,closeMenu:E,handleMenuItemClick:A,handleSubMenuClick:O})),y(`${Q}${i.uid}`,{addSubMenu:t,removeSubMenu:n,mouseInChild:V,level:0})}ee(()=>{e.mode===`horizontal`&&new fe(i.vnode.el,c.namespace.value)}),r({open:e=>{let{indexPath:t}=_.value[e];t.forEach(e=>C(e,t))},close:w,updateActiveIndex:j,handleResize:R});let te=ge(e,0);return()=>{let r=n.default?.call(n)??[],i=[];if(e.mode===`horizontal`&&o.value){let t=Z(r),n=d.value===-1?t:t.slice(0,d.value),a=d.value===-1?[]:t.slice(d.value);a?.length&&e.ellipsis&&(r=n,i.push(l(be,{index:`sub-menu-more`,class:u.e(`hide-arrow`),popperOffset:e.popperOffset},{title:()=>l(ie,{class:u.e(`icon-more`)},{default:()=>l(e.ellipsisIcon)}),default:()=>a})))}let a=e.closeOnClickOutside?[[se,()=>{f.value.length&&(V.value||(f.value.forEach(e=>t(`close`,e,F(e))),f.value=[]))}]]:[],s=D(l(`ul`,{key:String(e.collapse),role:`menubar`,ref:o,style:te.value,class:{[c.b()]:!0,[c.m(e.mode)]:!0,[c.m(`collapse`)]:e.collapse}},[...r,...i]),a);return e.collapseTransition&&e.mode===`vertical`?l(pe,()=>s):s}}}),we=q({index:{type:J([String,null]),default:null},route:{type:J([String,Object])},disabled:Boolean}),Te={click:e=>A(e.index)&&d(e.indexPath)},$=`ElMenuItem`,Ee=M(f({...f({name:$}),props:we,emits:Te,setup(t,{expose:c,emit:l}){let u=t;L(u.index)&&B($,`Missing required prop: "index"`);let d=s(),f=p(_e),h=N(`menu`),g=N(`menu-item`);f||I($,`can not inject root menu`);let{parentMenu:y,indexPath:b}=me(d,r(u,`index`)),S=p(`${Q}${y.value.uid}`);S||I($,`can not inject sub menu`);let T=m(()=>u.index===f.activeIndex),E=x({index:u.index,indexPath:b,active:T}),D=()=>{u.disabled||(f.handleMenuItemClick({index:u.index,indexPath:b.value,route:u.route}),l(`click`,E))};return ee(()=>{S.addSubMenu(E),f.addMenuItem(E)}),_(()=>{S.removeSubMenu(E),f.removeMenuItem(E)}),c({parentMenu:y,rootMenu:f,active:T,nsMenu:h,nsMenuItem:g,handleClick:D}),(t,r)=>(v(),C(`li`,{class:n([a(g).b(),a(g).is(`active`,a(T)),a(g).is(`disabled`,t.disabled)]),role:`menuitem`,tabindex:`-1`,onClick:D},[a(y).type.name===`ElMenu`&&a(f).props.collapse&&t.$slots.title?(v(),i(a(ae),{key:0,effect:a(f).props.popperEffect,placement:`right`,"fallback-placements":[`left`],persistent:a(f).props.persistent},{content:w(()=>[e(t.$slots,`title`)]),default:w(()=>[o(`div`,{class:n(a(h).be(`tooltip`,`trigger`))},[e(t.$slots,`default`)],2)]),_:3},8,[`effect`,`persistent`])):(v(),C(O,{key:1},[e(t.$slots,`default`),e(t.$slots,`title`)],64))],2))}}),[[`__file`,`menu-item.vue`]]),De={title:String},Oe=M(f({...f({name:`ElMenuItemGroup`}),props:De,setup(t){let r=N(`menu-item-group`);return(t,i)=>(v(),C(`li`,{class:n(a(r).b())},[o(`div`,{class:n(a(r).e(`title`))},[t.$slots.title?e(t.$slots,`title`,{key:1}):(v(),C(O,{key:0},[u(h(t.title),1)],64))],2),o(`ul`,null,[e(t.$slots,`default`)])],2))}}),[[`__file`,`menu-item-group.vue`]]),ke=F(Ce,{MenuItem:Ee,MenuItemGroup:Oe,SubMenu:be}),Ae=P(Ee);P(Oe);var je=P(be),Me=f({props:{collapsed:{type:Boolean,default:!1}},emits:[`click`],computed:{siteTitle(){return this.$store.state.site?.title||`AceData`},url(){let e=this.$store.state.site,t=`https://platform.acedata.cloud/favicon.ico`;return this.collapsed?e?.favicon||e?.logo||t:e?.logo||e?.favicon||t}}}),Ne=[`aria-label`],Pe=[`src`,`alt`];function Fe(e,t,n,r,i,a){return v(),C(`button`,{type:`button`,class:`brand-logo`,"aria-label":e.siteTitle,onClick:t[0]||=t=>e.$emit(`click`)},[o(`img`,{src:e.url,class:`brand-logo__image`,alt:e.siteTitle},null,8,Pe)],8,Ne)}var Ie=le(Me,[[`render`,Fe],[`__scopeId`,`data-v-fefbbe27`]]),Le=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAMAAAAKE/YAAAAAMFBMVEX///+3t7f4+Pi8vLzAwMDExMTS0tLIyMjk5OTz8/PY2NjOzs7u7u7d3d3p6enh4eFVKkJDAAAIfUlEQVR4nNVd15akOAylyRRQ9f9/O02BZJtgBQszfR/2zPahsJCvguVUFJYop35ux66pq6r6+fn9T910bTv3U2najBXK9zw2PxE07fz+n0Qf+raOyetL3g9PS7vgzRUYULfvZyXuR5nAgLF/SuK3UuJN7gf0PbyErDiieuU1zKmLyFJ3Y9u+vmh//V9dXT/b5VN3f+HbFq82nGivHH6999Vv8rC7P+NFzfBlF56xvl/sEy1Xbc8mZ9m3R7bcrO0jl+vXJH7J0YY78UvYKNuDjpWNTQd9tzd5ks9ePUm92u877WMlp4dhR+Y2OYkYdh3XmKclc9iATVwoXyFLZouXIobuBpEXlK+QcYbK7gOF2NpMaN2Vmfdr71LGirAbW5N3lr4F1rckC0GQbQw6cqrM1XACvzOr5EjT+2q+L24Vk6/sRGL7no6t5un9eQE+7JG4r+wk3+e9iGfXwzyeZHLjzDGFt0fEBB564ymOeRwzCg8dHaZ9kx8NZGZ8+UyOv0bSW3o9q5Tac5+0luajjGfqpsT2krIuTeaKZGQf4UUIKpx6xFbo2nGD9HSlpJZAGfSQILVjV02Z4CQsJhD2UdbcJ/dwyRfpNvozwaLo4q/0nMhLIrMThJSZZ4EhiJd6Ugti43SvzCTlPKnZmUNZMV+u4cYKwp85XlfcTBi/s6Z+MZ2LxADhGZzUDU9m5zjIr0woQhLxasAHWS7E9TgZU/Z1EBEIjbzxQYYxOudOxu73qTBcUGEaIzqD1hi96W6JTgzRoDSI/UhmITP7yUPFSYqaagD1R4wJkP8VnT8nTwVQqnauN06QjvtCvYt2IL3Zm/Uk9jjDz0RmMLggwx3SOuIUSniGpJv3bAJo1SAFr9mKH8aI+LqkI0RFtoIh9/L76Cc8GLCDoxxSjyAHgxxFYSEzJ18Ggly4YHQHnCQ2LRoCGINXQirim0JYUJpDatf/p24PP4mVwSblSg6MEhDGuzNVg6J5o8nEvAPAGZiAfk5MDRXNqxcmx/AVHPMprx8G1TEHwOzqTByseTgoDRxYDT6akSh9YSMzr6aLidOeTGCj3EqDkdC8GU9Q9c6voYlyJzxy0sOxOnRs8C3sQpSR92DOO4EDCXkAzoA935bPTy8AIgTBCIIyvyZsExF/uM2Byfk9A7VafuksfdyygFmJcc35NZ7tT5xUYMNwJYcI/FouGP7xOyT1YBOh+aVcsCHHBWCHZHLTxOfxF6ZA8HP82P7ASv4BJj5PMNMO/g3+H9ghqrtnGm4hIJLAd7byVxg5asGCA+AH2N2meYHvKPxZmQRIGtyMaOMweC/ZXJJJdJE0CF27Bm0oK8kWLKSWHxeILB8s7xN8gmxFi0VIFAkNqd5KiI3S7JBqJ7Ssycb70vAL2LAofMiE9hkBrQvX4OTXNLS4eGpwA8KlaxaGKHOy4OWWcSVoXSZz9ohYYLaxpB8bv4V2aFGeFiYOvqTb74V2mHkQ8IXjBKhMuKrMJIoLOQlmVGIiIlyPmXdguwJ6d8J/CZ1H0m4iB1Gr4D569HjCZalPaNoxeWtd5jKf4TRkpy30syh3KbLXPVZsWdIIQUK6dO8Jl+dkbUB6GfRranwIWx3hUzeVi5fRmggtDA6b/dWO3ELkLiF4QldqoXOPxhe8QOjt57LUpXhguGUhtEUFUtq9EBzUQluQWrphIV1oA1JLm0R6VFqh0z21eH30XmjFdofbF14dgC5PG1zS0w9pjuYFF2UYL9KHiXJGYhhXJkwLEk1RvrEMZVWmpgvSVC1XtEtNlYOAL1JYrdESOg3lcGtFQsVGs+Nu++msHdiu0BNEQQ5vYKssIWxQx3JNc1AqnbTFmg3qSoKmYz0mb//S7QDU1k5Vdu+VSnUFyA3aBES1ca9zkqb4PPVQUUVG74OVRfUNSqencXh+UR1sUnfqgy6+qLrVn75QThRt0I26VG0FU4dbRNfE1ULpqVVBIZBTN/kJ0PBDxY6QEbpp5v27JFCxI5xm1k3oIxT+Q+Wowgl93dIJhHzqVrW5erd0QrdIxUE8wFXxcL9IBXSlSRcLuSnq3NR+OZBq4ZWD1FXr8sn9wivVEjcPwtVuKtd6XOKmWUzoQeY/dCczHBcTKpZtnr2QB104gN70ukm+QNaHzBJV7DhbIAt/040ERMMXnbUDAwOtgvZVsUo0KaCi9Omib/SCqleKhE7KSsNIIt7IkFXoi40MSBrNO28X+ooHOKxWqPpuoVHRh7FDo3+pyHsorOZyG5R0w5kPUZmJffYFIrLhTLi1DzFJT0X+aWaZ3JGtfcJNlCvesTOuIpAcLBrdRIms5g4s+jFlM0PFPYY6ul1VtDG4PJzwqQHnGGpKKlA1fVKN0VqxX31Tx1DjOTBXaRFvs3vaWdkniPIEF3hdGgEmxpev0VpeHNf8ZuiROMBhet0hMch9qkogR2wXbeSojHI22jd5ifp1cLbY9dHB8NWhJCbOgkYzBxpFzxH3wu74F++ro8ckWsM7a5l7/IuzVnAxJX1MojGQ3shHslKCPPimY+b+jYfmU0qONPIOj5rzK9lDi33OyQttVpEaglXXMFoabQVmqny3QxaBW4opM3o4CtwDJazWGZtAUMi12ONkAtGMrNGS/1QI5yb+CxciLmc8EwoDKEokefK6CBKPRf47Mj/MEIujvv+MzA/6kKQLCR7y18q5Y8AjiWryrR1T9uwp/RqJ3YUdGWBxYUeR2RzN7gThn6ifCrtLaA7X/dwG4xtusvg+24uVihzKtr/Cqrh7OFPdcVlYcXItmyHS7x67ROwyxxTceAHegqsLHVOQ4WLH00sdE5DhUsev2IbaznR95gKrCnDGi0oXDOmTRrmvhP3i712+u+LvXXO84u9dKL2Cf3V33X7+i6u7N/y5S9IdvOvoF0G/19GP9tfR/wPQ21eEI8clLwAAAABJRU5ErkJggg==`;export{je as a,Ae as i,Ie as n,ke as r,Le as t};
1
+ import{$ as e,B as t,Bt as n,Ct as r,D as i,Dt as a,E as o,F as s,It as c,L as l,M as u,Nt as d,P as f,R as p,T as m,Ut as h,V as g,W as _,X as v,Z as y,_ as b,_t as x,ct as S,k as C,lt as w,q as ee,st as T,u as E,ut as D,x as O,yt as k,zt as A}from"./vendor-chart-Df3WBvr0.js";import{r as j}from"./button-DgZFgZDr.js";import{a as M,c as N,i as P,t as F}from"./install-CzQRVga2.js";import{Et as I,Kt as L,L as R,Mt as z,Tt as B,Vt as V,Yt as H,_ as te,at as U,h as ne,m as W,nt as G,ot as K,qt as re,tt as ie,vt as q,yt as J}from"./use-deprecated-Brbm5i6o.js";import{t as ae}from"./tooltip-C-9nDsaA.js";import{n as oe,t as Y}from"./aria-BaycMfQD.js";import{c as X}from"./teleport-DoThOTGf.js";import{n as Z}from"./vnode-BW5P0G7c.js";import{t as se}from"./click-outside-0fy-6UXm.js";import{t as ce}from"./collapse-transition-ee9MUgpU.js";import{E as le}from"./index-CEh-AtFD.js";var ue=class{constructor(e,t){this.parent=e,this.domNode=t,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll(`li`),this.addListeners()}gotoSubIndex(e){e===this.subMenuItems.length?e=0:e<0&&(e=this.subMenuItems.length-1),this.subMenuItems[e].focus(),this.subIndex=e}addListeners(){let e=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,t=>{t.addEventListener(`keydown`,t=>{let n=!1;switch(t.code){case Y.down:this.gotoSubIndex(this.subIndex+1),n=!0;break;case Y.up:this.gotoSubIndex(this.subIndex-1),n=!0;break;case Y.tab:X(e,`mouseleave`);break;case Y.enter:case Y.numpadEnter:case Y.space:n=!0,t.currentTarget.click();break}return n&&(t.preventDefault(),t.stopPropagation()),!1})})}},de=class{constructor(e,t){this.domNode=e,this.submenu=null,this.submenu=null,this.init(t)}init(e){this.domNode.setAttribute(`tabindex`,`0`);let t=this.domNode.querySelector(`.${e}-menu`);t&&(this.submenu=new ue(this,t)),this.addListeners()}addListeners(){this.domNode.addEventListener(`keydown`,e=>{let t=!1;switch(e.code){case Y.down:X(e.currentTarget,`mouseenter`),this.submenu&&this.submenu.gotoSubIndex(0),t=!0;break;case Y.up:X(e.currentTarget,`mouseenter`),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),t=!0;break;case Y.tab:X(e.currentTarget,`mouseleave`);break;case Y.enter:case Y.numpadEnter:case Y.space:t=!0,e.currentTarget.click();break}t&&e.preventDefault()})}},fe=class{constructor(e,t){this.domNode=e,this.init(t)}init(e){let t=this.domNode.childNodes;Array.from(t).forEach(t=>{t.nodeType===1&&new de(t,e)})}},pe=M(f({...f({name:`ElMenuCollapseTransition`}),setup(n){let r=N(`menu`),o={onBeforeEnter:e=>e.style.opacity=`0.2`,onEnter(e,t){G(e,`${r.namespace.value}-opacity-transition`),e.style.opacity=`1`,t()},onAfterEnter(e){K(e,`${r.namespace.value}-opacity-transition`),e.style.opacity=``},onBeforeLeave(e){e.dataset||={},U(e,r.m(`collapse`))?(K(e,r.m(`collapse`)),e.dataset.oldOverflow=e.style.overflow,e.dataset.scrollWidth=e.clientWidth.toString(),G(e,r.m(`collapse`))):(G(e,r.m(`collapse`)),e.dataset.oldOverflow=e.style.overflow,e.dataset.scrollWidth=e.clientWidth.toString(),K(e,r.m(`collapse`))),e.style.width=`${e.scrollWidth}px`,e.style.overflow=`hidden`},onLeave(e){G(e,`horizontal-collapse-transition`),e.style.width=`${e.dataset.scrollWidth}px`}};return(n,r)=>(v(),i(E,t({mode:`out-in`},a(o)),{default:w(()=>[e(n.$slots,`default`)]),_:3},16))}}),[[`__file`,`menu-collapse-transition.vue`]]);function me(e,t){let n=m(()=>{let n=e.parent,r=[t.value];for(;n.type.name!==`ElMenu`;)n.props.index&&r.unshift(n.props.index),n=n.parent;return r});return{parentMenu:m(()=>{let t=e.parent;for(;t&&![`ElMenu`,`ElSubMenu`].includes(t.type.name);)t=t.parent;return t}),indexPath:n}}function he(e){return m(()=>{let t=e.backgroundColor;return t?new j(t).shade(20).toString():``})}var ge=(e,t)=>{let n=N(`menu`);return m(()=>n.cssVarBlock({"text-color":e.textColor||``,"hover-text-color":e.textColor||``,"bg-color":e.backgroundColor||``,"hover-bg-color":he(e).value||``,"active-color":e.activeTextColor||``,level:`${t}`}))},_e=`rootMenu`,Q=`subMenu:`,ve=q({index:{type:String,required:!0},showTimeout:Number,hideTimeout:Number,popperClass:String,disabled:Boolean,teleported:{type:Boolean,default:void 0},popperOffset:Number,expandCloseIcon:{type:W},expandOpenIcon:{type:W},collapseCloseIcon:{type:W},collapseOpenIcon:{type:W}}),ye=`ElSubMenu`,be=f({name:ye,props:ve,setup(e,{slots:t,expose:n}){let r=s(),{indexPath:i,parentMenu:a}=me(r,m(()=>e.index)),o=N(`menu`),c=N(`sub-menu`),u=p(_e);u||I(ye,`can not inject root menu`);let d=p(`${Q}${a.value.uid}`);d||I(ye,`can not inject sub menu`);let f=k({}),h=k({}),g,v=k(!1),S=k(),C=k(),w=m(()=>z.value===`horizontal`&&j.value?`bottom-start`:`right-start`),E=m(()=>z.value===`horizontal`&&j.value||z.value===`vertical`&&!u.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?L.value?e.expandOpenIcon:e.expandCloseIcon:ne:e.collapseCloseIcon&&e.collapseOpenIcon?L.value?e.collapseOpenIcon:e.collapseCloseIcon:te),j=m(()=>d.level===0),M=m(()=>{let t=e.teleported;return re(t)?j.value:t}),P=m(()=>u.props.collapse?`${o.namespace.value}-zoom-in-left`:`${o.namespace.value}-zoom-in-top`),F=m(()=>z.value===`horizontal`&&j.value?[`bottom-start`,`bottom-end`,`top-start`,`top-end`,`right-start`,`left-start`]:[`right-start`,`right`,`right-end`,`left-start`,`bottom-start`,`bottom-end`,`top-start`,`top-end`]),L=m(()=>u.openedMenus.includes(e.index)),R=m(()=>[...Object.values(f.value),...Object.values(h.value)].some(({active:e})=>e)),z=m(()=>u.props.mode),B=m(()=>u.props.persistent),H=x({index:e.index,indexPath:i,active:R}),U=ge(u.props,d.level+1),W=m(()=>e.popperOffset??u.props.popperOffset),G=m(()=>e.popperClass??u.props.popperClass),K=m(()=>e.showTimeout??u.props.showTimeout),q=m(()=>e.hideTimeout??u.props.hideTimeout),J=()=>(C.value?.popperRef?.popperInstanceRef)?.destroy(),oe=e=>{e||J()},Y=()=>{u.props.menuTrigger===`hover`&&u.props.mode===`horizontal`||u.props.collapse&&u.props.mode===`vertical`||e.disabled||u.handleSubMenuClick({index:e.index,indexPath:i.value,active:R.value})},X=(t,n=K.value)=>{var r;if(t.type!==`focus`){if(u.props.menuTrigger===`click`&&u.props.mode===`horizontal`||!u.props.collapse&&u.props.mode===`vertical`||e.disabled){d.mouseInChild.value=!0;return}d.mouseInChild.value=!0,g?.(),{stop:g}=V(()=>{u.openMenu(e.index,i.value)},n),M.value&&((r=a.value.vnode.el)==null||r.dispatchEvent(new MouseEvent(`mouseenter`)))}},Z=(t=!1)=>{var n;if(u.props.menuTrigger===`click`&&u.props.mode===`horizontal`||!u.props.collapse&&u.props.mode===`vertical`){d.mouseInChild.value=!1;return}g?.(),d.mouseInChild.value=!1,{stop:g}=V(()=>!v.value&&u.closeMenu(e.index,i.value),q.value),M.value&&t&&((n=d.handleMouseleave)==null||n.call(d,!0))};return T(()=>u.props.collapse,e=>oe(!!e)),y(`${Q}${r.uid}`,{addSubMenu:e=>{h.value[e.index]=e},removeSubMenu:e=>{delete h.value[e.index]},handleMouseleave:Z,mouseInChild:v,level:d.level+1}),n({opened:L}),ee(()=>{u.addSubMenu(H),d.addSubMenu(H)}),_(()=>{d.removeSubMenu(H),u.removeSubMenu(H)}),()=>{let n=[t.title?.call(t),l(ie,{class:c.e(`icon-arrow`),style:{transform:L.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&u.props.collapse?`none`:`rotateZ(180deg)`:`none`}},{default:()=>A(E.value)?l(r.appContext.components[E.value]):l(E.value)})],i=u.isMenuPopup?l(ae,{ref:C,visible:L.value,effect:`light`,pure:!0,offset:W.value,showArrow:!1,persistent:B.value,popperClass:G.value,placement:w.value,teleported:M.value,fallbackPlacements:F.value,transition:P.value,gpuAcceleration:!1},{content:()=>l(`div`,{class:[o.m(z.value),o.m(`popup-container`),G.value],onMouseenter:e=>X(e,100),onMouseleave:()=>Z(!0),onFocus:e=>X(e,100)},[l(`ul`,{class:[o.b(),o.m(`popup`),o.m(`popup-${w.value}`)],style:U.value},[t.default?.call(t)])]),default:()=>l(`div`,{class:c.e(`title`),onClick:Y},n)}):l(O,{},[l(`div`,{class:c.e(`title`),ref:S,onClick:Y},n),l(ce,{},{default:()=>D(l(`ul`,{role:`menu`,class:[o.b(),o.m(`inline`)],style:U.value},[t.default?.call(t)]),[[b,L.value]])})]);return l(`li`,{class:[c.b(),c.is(`active`,R.value),c.is(`opened`,L.value),c.is(`disabled`,e.disabled)],role:`menuitem`,ariaHaspopup:!0,ariaExpanded:L.value,onMouseenter:X,onMouseleave:()=>Z(),onFocus:X},[i])}}}),xe=q({mode:{type:String,values:[`horizontal`,`vertical`],default:`vertical`},defaultActive:{type:String,default:``},defaultOpeneds:{type:J(Array),default:()=>oe([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:[`hover`,`click`],default:`hover`},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,closeOnClickOutside:Boolean,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperOffset:{type:Number,default:6},ellipsisIcon:{type:W,default:()=>R},popperEffect:{type:J(String),default:`dark`},popperClass:String,showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},persistent:{type:Boolean,default:!0}}),Se=e=>d(e)&&e.every(e=>A(e)),Ce=f({name:`ElMenu`,props:xe,emits:{close:(e,t)=>A(e)&&Se(t),open:(e,t)=>A(e)&&Se(t),select:(e,t,n,r)=>A(e)&&Se(t)&&c(n)&&(re(r)||r instanceof Promise)},setup(e,{emit:t,slots:n,expose:r}){let i=s(),a=i.appContext.config.globalProperties.$router,o=k(),c=N(`menu`),u=N(`sub-menu`),d=k(-1),f=k(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),p=k(e.defaultActive),h=k({}),_=k({}),v=m(()=>e.mode===`horizontal`||e.mode===`vertical`&&e.collapse),b=()=>{let t=p.value&&h.value[p.value];!t||e.mode===`horizontal`||e.collapse||t.indexPath.forEach(e=>{let t=_.value[e];t&&C(e,t.indexPath)})},C=(n,r)=>{f.value.includes(n)||(e.uniqueOpened&&(f.value=f.value.filter(e=>r.includes(e))),f.value.push(n),t(`open`,n,r))},w=e=>{let t=f.value.indexOf(e);t!==-1&&f.value.splice(t,1)},E=(e,n)=>{w(e),t(`close`,e,n)},O=({index:e,indexPath:t})=>{f.value.includes(e)?E(e,t):C(e,t)},A=n=>{(e.mode===`horizontal`||e.collapse)&&(f.value=[]);let{index:r,indexPath:i}=n;if(!(H(r)||H(i)))if(e.router&&a){let e=n.route||r,o=a.push(e).then(e=>(e||(p.value=r),e));t(`select`,r,i,{index:r,indexPath:i,route:e},o)}else p.value=r,t(`select`,r,i,{index:r,indexPath:i})},j=t=>{let n=h.value;p.value=(n[t]||p.value&&n[p.value]||n[e.defaultActive])?.index??t},M=e=>{let t=getComputedStyle(e),n=Number.parseInt(t.marginLeft,10),r=Number.parseInt(t.marginRight,10);return e.offsetWidth+n+r||0},P=()=>{if(!o.value)return-1;let e=Array.from(o.value?.childNodes??[]).filter(e=>e.nodeName!==`#text`||e.nodeValue),t=getComputedStyle(o.value),n=Number.parseInt(t.paddingLeft,10),r=Number.parseInt(t.paddingRight,10),i=o.value.clientWidth-n-r,a=0,s=0;return e.forEach((e,t)=>{e.nodeName!==`#comment`&&(a+=M(e),a<=i-64&&(s=t+1))}),s===e.length?-1:s},F=e=>_.value[e].indexPath,I=(e,t=33.34)=>{let n;return()=>{n&&clearTimeout(n),n=setTimeout(()=>{e()},t)}},L=!0,R=()=>{if(d.value===P())return;let e=()=>{d.value=-1,g(()=>{d.value=P()})};L?e():I(e)(),L=!1};T(()=>e.defaultActive,e=>{h.value[e]||(p.value=``),j(e)}),T(()=>e.collapse,e=>{e&&(f.value=[])}),T(h.value,b);let B;S(()=>{e.mode===`horizontal`&&e.ellipsis?B=z(o,R).stop:B?.()});let V=k(!1);{let t=e=>{_.value[e.index]=e},n=e=>{delete _.value[e.index]};y(_e,x({props:e,openedMenus:f,items:h,subMenus:_,activeIndex:p,isMenuPopup:v,addMenuItem:e=>{h.value[e.index]=e},removeMenuItem:e=>{delete h.value[e.index]},addSubMenu:t,removeSubMenu:n,openMenu:C,closeMenu:E,handleMenuItemClick:A,handleSubMenuClick:O})),y(`${Q}${i.uid}`,{addSubMenu:t,removeSubMenu:n,mouseInChild:V,level:0})}ee(()=>{e.mode===`horizontal`&&new fe(i.vnode.el,c.namespace.value)}),r({open:e=>{let{indexPath:t}=_.value[e];t.forEach(e=>C(e,t))},close:w,updateActiveIndex:j,handleResize:R});let te=ge(e,0);return()=>{let r=n.default?.call(n)??[],i=[];if(e.mode===`horizontal`&&o.value){let t=Z(r),n=d.value===-1?t:t.slice(0,d.value),a=d.value===-1?[]:t.slice(d.value);a?.length&&e.ellipsis&&(r=n,i.push(l(be,{index:`sub-menu-more`,class:u.e(`hide-arrow`),popperOffset:e.popperOffset},{title:()=>l(ie,{class:u.e(`icon-more`)},{default:()=>l(e.ellipsisIcon)}),default:()=>a})))}let a=e.closeOnClickOutside?[[se,()=>{f.value.length&&(V.value||(f.value.forEach(e=>t(`close`,e,F(e))),f.value=[]))}]]:[],s=D(l(`ul`,{key:String(e.collapse),role:`menubar`,ref:o,style:te.value,class:{[c.b()]:!0,[c.m(e.mode)]:!0,[c.m(`collapse`)]:e.collapse}},[...r,...i]),a);return e.collapseTransition&&e.mode===`vertical`?l(pe,()=>s):s}}}),we=q({index:{type:J([String,null]),default:null},route:{type:J([String,Object])},disabled:Boolean}),Te={click:e=>A(e.index)&&d(e.indexPath)},$=`ElMenuItem`,Ee=M(f({...f({name:$}),props:we,emits:Te,setup(t,{expose:c,emit:l}){let u=t;L(u.index)&&B($,`Missing required prop: "index"`);let d=s(),f=p(_e),h=N(`menu`),g=N(`menu-item`);f||I($,`can not inject root menu`);let{parentMenu:y,indexPath:b}=me(d,r(u,`index`)),S=p(`${Q}${y.value.uid}`);S||I($,`can not inject sub menu`);let T=m(()=>u.index===f.activeIndex),E=x({index:u.index,indexPath:b,active:T}),D=()=>{u.disabled||(f.handleMenuItemClick({index:u.index,indexPath:b.value,route:u.route}),l(`click`,E))};return ee(()=>{S.addSubMenu(E),f.addMenuItem(E)}),_(()=>{S.removeSubMenu(E),f.removeMenuItem(E)}),c({parentMenu:y,rootMenu:f,active:T,nsMenu:h,nsMenuItem:g,handleClick:D}),(t,r)=>(v(),C(`li`,{class:n([a(g).b(),a(g).is(`active`,a(T)),a(g).is(`disabled`,t.disabled)]),role:`menuitem`,tabindex:`-1`,onClick:D},[a(y).type.name===`ElMenu`&&a(f).props.collapse&&t.$slots.title?(v(),i(a(ae),{key:0,effect:a(f).props.popperEffect,placement:`right`,"fallback-placements":[`left`],persistent:a(f).props.persistent},{content:w(()=>[e(t.$slots,`title`)]),default:w(()=>[o(`div`,{class:n(a(h).be(`tooltip`,`trigger`))},[e(t.$slots,`default`)],2)]),_:3},8,[`effect`,`persistent`])):(v(),C(O,{key:1},[e(t.$slots,`default`),e(t.$slots,`title`)],64))],2))}}),[[`__file`,`menu-item.vue`]]),De={title:String},Oe=M(f({...f({name:`ElMenuItemGroup`}),props:De,setup(t){let r=N(`menu-item-group`);return(t,i)=>(v(),C(`li`,{class:n(a(r).b())},[o(`div`,{class:n(a(r).e(`title`))},[t.$slots.title?e(t.$slots,`title`,{key:1}):(v(),C(O,{key:0},[u(h(t.title),1)],64))],2),o(`ul`,null,[e(t.$slots,`default`)])],2))}}),[[`__file`,`menu-item-group.vue`]]),ke=F(Ce,{MenuItem:Ee,MenuItemGroup:Oe,SubMenu:be}),Ae=P(Ee);P(Oe);var je=P(be),Me=f({props:{collapsed:{type:Boolean,default:!1}},emits:[`click`],computed:{siteTitle(){return this.$store.state.site?.title||`AceData`},url(){let e=this.$store.state.site,t=`https://platform.acedata.cloud/favicon.ico`;return this.collapsed?e?.favicon||e?.logo||t:e?.logo||e?.favicon||t}}}),Ne=[`aria-label`],Pe=[`src`,`alt`];function Fe(e,t,n,r,i,a){return v(),C(`button`,{type:`button`,class:`brand-logo`,"aria-label":e.siteTitle,onClick:t[0]||=t=>e.$emit(`click`)},[o(`img`,{src:e.url,class:`brand-logo__image`,alt:e.siteTitle},null,8,Pe)],8,Ne)}var Ie=le(Me,[[`render`,Fe],[`__scopeId`,`data-v-fefbbe27`]]),Le=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAMAAAAKE/YAAAAAMFBMVEX///+3t7f4+Pi8vLzAwMDExMTS0tLIyMjk5OTz8/PY2NjOzs7u7u7d3d3p6enh4eFVKkJDAAAIfUlEQVR4nNVd15akOAylyRRQ9f9/O02BZJtgBQszfR/2zPahsJCvguVUFJYop35ux66pq6r6+fn9T910bTv3U2najBXK9zw2PxE07fz+n0Qf+raOyetL3g9PS7vgzRUYULfvZyXuR5nAgLF/SuK3UuJN7gf0PbyErDiieuU1zKmLyFJ3Y9u+vmh//V9dXT/b5VN3f+HbFq82nGivHH6999Vv8rC7P+NFzfBlF56xvl/sEy1Xbc8mZ9m3R7bcrO0jl+vXJH7J0YY78UvYKNuDjpWNTQd9tzd5ks9ePUm92u877WMlp4dhR+Y2OYkYdh3XmKclc9iATVwoXyFLZouXIobuBpEXlK+QcYbK7gOF2NpMaN2Vmfdr71LGirAbW5N3lr4F1rckC0GQbQw6cqrM1XACvzOr5EjT+2q+L24Vk6/sRGL7no6t5un9eQE+7JG4r+wk3+e9iGfXwzyeZHLjzDGFt0fEBB564ymOeRwzCg8dHaZ9kx8NZGZ8+UyOv0bSW3o9q5Tac5+0luajjGfqpsT2krIuTeaKZGQf4UUIKpx6xFbo2nGD9HSlpJZAGfSQILVjV02Z4CQsJhD2UdbcJ/dwyRfpNvozwaLo4q/0nMhLIrMThJSZZ4EhiJd6Ugti43SvzCTlPKnZmUNZMV+u4cYKwp85XlfcTBi/s6Z+MZ2LxADhGZzUDU9m5zjIr0woQhLxasAHWS7E9TgZU/Z1EBEIjbzxQYYxOudOxu73qTBcUGEaIzqD1hi96W6JTgzRoDSI/UhmITP7yUPFSYqaagD1R4wJkP8VnT8nTwVQqnauN06QjvtCvYt2IL3Zm/Uk9jjDz0RmMLggwx3SOuIUSniGpJv3bAJo1SAFr9mKH8aI+LqkI0RFtoIh9/L76Cc8GLCDoxxSjyAHgxxFYSEzJ18Ggly4YHQHnCQ2LRoCGINXQirim0JYUJpDatf/p24PP4mVwSblSg6MEhDGuzNVg6J5o8nEvAPAGZiAfk5MDRXNqxcmx/AVHPMprx8G1TEHwOzqTByseTgoDRxYDT6akSh9YSMzr6aLidOeTGCj3EqDkdC8GU9Q9c6voYlyJzxy0sOxOnRs8C3sQpSR92DOO4EDCXkAzoA935bPTy8AIgTBCIIyvyZsExF/uM2Byfk9A7VafuksfdyygFmJcc35NZ7tT5xUYMNwJYcI/FouGP7xOyT1YBOh+aVcsCHHBWCHZHLTxOfxF6ZA8HP82P7ASv4BJj5PMNMO/g3+H9ghqrtnGm4hIJLAd7byVxg5asGCA+AH2N2meYHvKPxZmQRIGtyMaOMweC/ZXJJJdJE0CF27Bm0oK8kWLKSWHxeILB8s7xN8gmxFi0VIFAkNqd5KiI3S7JBqJ7Ssycb70vAL2LAofMiE9hkBrQvX4OTXNLS4eGpwA8KlaxaGKHOy4OWWcSVoXSZz9ohYYLaxpB8bv4V2aFGeFiYOvqTb74V2mHkQ8IXjBKhMuKrMJIoLOQlmVGIiIlyPmXdguwJ6d8J/CZ1H0m4iB1Gr4D569HjCZalPaNoxeWtd5jKf4TRkpy30syh3KbLXPVZsWdIIQUK6dO8Jl+dkbUB6GfRranwIWx3hUzeVi5fRmggtDA6b/dWO3ELkLiF4QldqoXOPxhe8QOjt57LUpXhguGUhtEUFUtq9EBzUQluQWrphIV1oA1JLm0R6VFqh0z21eH30XmjFdofbF14dgC5PG1zS0w9pjuYFF2UYL9KHiXJGYhhXJkwLEk1RvrEMZVWmpgvSVC1XtEtNlYOAL1JYrdESOg3lcGtFQsVGs+Nu++msHdiu0BNEQQ5vYKssIWxQx3JNc1AqnbTFmg3qSoKmYz0mb//S7QDU1k5Vdu+VSnUFyA3aBES1ca9zkqb4PPVQUUVG74OVRfUNSqencXh+UR1sUnfqgy6+qLrVn75QThRt0I26VG0FU4dbRNfE1ULpqVVBIZBTN/kJ0PBDxY6QEbpp5v27JFCxI5xm1k3oIxT+Q+Wowgl93dIJhHzqVrW5erd0QrdIxUE8wFXxcL9IBXSlSRcLuSnq3NR+OZBq4ZWD1FXr8sn9wivVEjcPwtVuKtd6XOKmWUzoQeY/dCczHBcTKpZtnr2QB104gN70ukm+QNaHzBJV7DhbIAt/040ERMMXnbUDAwOtgvZVsUo0KaCi9Omib/SCqleKhE7KSsNIIt7IkFXoi40MSBrNO28X+ooHOKxWqPpuoVHRh7FDo3+pyHsorOZyG5R0w5kPUZmJffYFIrLhTLi1DzFJT0X+aWaZ3JGtfcJNlCvesTOuIpAcLBrdRIms5g4s+jFlM0PFPYY6ul1VtDG4PJzwqQHnGGpKKlA1fVKN0VqxX31Tx1DjOTBXaRFvs3vaWdkniPIEF3hdGgEmxpev0VpeHNf8ZuiROMBhet0hMch9qkogR2wXbeSojHI22jd5ifp1cLbY9dHB8NWhJCbOgkYzBxpFzxH3wu74F++ro8ckWsM7a5l7/IuzVnAxJX1MojGQ3shHslKCPPimY+b+jYfmU0qONPIOj5rzK9lDi33OyQttVpEaglXXMFoabQVmqny3QxaBW4opM3o4CtwDJazWGZtAUMi12ONkAtGMrNGS/1QI5yb+CxciLmc8EwoDKEokefK6CBKPRf47Mj/MEIujvv+MzA/6kKQLCR7y18q5Y8AjiWryrR1T9uwp/RqJ3YUdGWBxYUeR2RzN7gThn6ifCrtLaA7X/dwG4xtusvg+24uVihzKtr/Cqrh7OFPdcVlYcXItmyHS7x67ROwyxxTceAHegqsLHVOQ4WLH00sdE5DhUsev2IbaznR95gKrCnDGi0oXDOmTRrmvhP3i712+u+LvXXO84u9dKL2Cf3V33X7+i6u7N/y5S9IdvOvoF0G/19GP9tfR/wPQ21eEI8clLwAAAABJRU5ErkJggg==`;export{je as a,Ae as i,Ie as n,ke as r,Le as t};
@@ -1,4 +1,4 @@
1
- import{o as e,t}from"./rolldown-runtime--c01j_DQ.js";import{xt as n}from"./index-DtcnyKXU.js";import{i as r,l as i,n as a,o,t as s}from"./lit-Czpkz5lw.js";import{a as c,i as l,n as u,o as d,r as f,t as p}from"./wui-text-IdpNh4yv.js";import{$ as m,G as h,H as g,J as _,K as v,Q as ee,U as y,W as b,X as x,Y as S,Z as C,a as w,et as te,g as T,i as ne,n as E,p as re,r as D,s as O,u as ie,v as ae}from"./ConstantsUtil-CiJQ7E9o.js";import{n as oe,t as se}from"./ConnectorUtil-BNHqGaBo.js";var ce=i`
1
+ import{o as e,t}from"./rolldown-runtime--c01j_DQ.js";import{Tt as n}from"./index-CEh-AtFD.js";import{i as r,l as i,n as a,o,t as s}from"./lit-Czpkz5lw.js";import{a as c,i as l,n as u,o as d,r as f,t as p}from"./wui-text-IdpNh4yv.js";import{$ as m,G as h,H as g,J as _,K as v,Q as ee,U as y,W as b,X as x,Y as S,Z as C,a as w,et as te,g as T,i as ne,n as E,p as re,r as D,s as O,u as ie,v as ae}from"./ConstantsUtil-CiJQ7E9o.js";import{n as oe,t as se}from"./ConnectorUtil-BNHqGaBo.js";var ce=i`
2
2
  :host {
3
3
  position: relative;
4
4
  background-color: var(--wui-color-gray-glass-002);
@@ -1 +1 @@
1
- import{Tr as e}from"./constants-BoMdh9QC.js";import{Cn as t,Qn as n,dn as r,dr as i,un as a,xn as o}from"./index-DtcnyKXU.js";var s={namespaced:!0,state:n,mutations:{setModel:(e,t)=>{e.model=t},setModelGroup:(e,t)=>{e.modelGroup=t},setService:(e,t)=>{e.service=t},setCredential:(e,t)=>{e.credential=t},setConversations:(e,t)=>{e.conversations=t},setApplication:(e,t)=>{e.application=t},setApplications:(e,t)=>{e.applications=t},setPendingDraft:(e,t)=>{e.pendingDraft=t||``},resetAll:e=>{Object.assign(e,n())}},actions:{resetAll:({commit:e})=>{e(`resetAll`)},createCredential:async({commit:e,state:t})=>{let n=t.application;if(console.debug(`prepare to create credential for application for chat`,n),!n){console.error(`Application not found`);return}console.debug(`creating create credential for application for chat`,n);let{data:r}=await a.create({application_id:n?.id,host:window.location.origin});return console.debug(`created credential success`,r),e(`setCredential`,r),console.debug(`end createCredential`),r},setModel:async({commit:e},t)=>{e(`setModel`,t)},setModelGroup:async({commit:e},t)=>{e(`setModelGroup`,t)},getService:async({commit:t,state:n})=>{n.status.getService=i.Request;try{let{data:a}=await r.get(e);return n.status.getService=i.Success,t(`setService`,a),a}catch{n.status.getService=i.Error,t(`setService`,void 0)}},setService:async({commit:e},t)=>{console.debug(`set service for chat`,t),e(`setService`,t)},setCredential:async({commit:e},t)=>{console.debug(`set credential`,t),e(`setCredential`,t)},setApplication:async({commit:e,dispatch:t,rootState:n},r)=>{if(console.debug(`set application`,r),e(`setApplication`,r),console.debug(`application is set`),!r){console.debug(`application is null, return`);return}let i=n?.user?.id,a=r?.role===`grantee`,o=r?.credentials?.find(e=>e?.host===window.location.origin);!o&&a&&(o=r?.credentials?.find(e=>e?.user_id===i)),o?(console.debug(`credential exists, set credential`,o),e(`setCredential`,o)):a?(console.warn(`no credential available for granted application`,r),e(`setCredential`,void 0)):(console.debug(`credential not exists, start to create credential for application`,r),await t(`createCredential`))},setApplications:async({commit:e},t)=>{console.debug(`set applications for chat`,t),e(`setApplications`,t)},getApplications:async({commit:n,state:r})=>{console.debug(`start to get applications for chat`),r.status.getApplications=i.Request;try{let{data:a}=await t.getAll({user_id:`me`,service_id:e,affiliation:[`owner`,`granted`]});return console.debug(`get applications success for chat`,a),r.status.getApplications=i.Success,n(`setApplications`,a.items),console.debug(`set applications for chat`,a.items),a.items}catch(e){console.error(`get applications failed for chat`,e),r.status.getApplications=i.Error,n(`setApplications`,void 0),n(`setApplication`,void 0)}},setConversation:async({commit:e,state:t},n)=>{console.debug(`set conversation`,n);let r=t.conversations||[],i=r?.findIndex(e=>e.id===n.id);i>-1?r[i]=n:r?.unshift(n),e(`setConversations`,r),console.debug(`set conversation success`,r)},setConversations:async({commit:e},t)=>{console.debug(`set conversations`,t),e(`setConversations`,t)},getConversations:async({commit:e,state:t,rootState:n})=>{t.status.getConversations=i.Request;let r=t.credential?.token,a=t.modelGroup?.name;if(!r||!a)return t.status.getConversations=i.Error,e(`setConversations`,[]),[];try{let{data:s}=await o.getConversations({userId:n.user?.id,modelGroup:a},{token:r});return console.debug(`get conversations success`,s?.items?.length,`group=`,a),t.status.getConversations=i.Success,e(`setConversations`,s.items),s.items}catch{return t.status.getConversations=i.Error,e(`setConversations`,[]),[]}},getConversation:async({commit:e,state:t},n)=>{let r=t.credential?.token;if(!(!r||!n))try{let{data:i}=await o.getConversation(n,{token:r}),a=t.conversations||[],s=a.findIndex(e=>e.id===n),c=s>-1?{...a[s],...i}:i;if(s>-1){let t=[...a];t[s]=c,e(`setConversations`,t)}return c}catch(e){console.error(`getConversation failed`,n,e);return}}}};export{s as chat,s as default};
1
+ import{Er as e}from"./constants-D3W0tInG.js";import{Dn as t,Tn as n,hn as r,hr as i,mn as a,nr as o}from"./index-CEh-AtFD.js";var s={namespaced:!0,state:o,mutations:{setModel:(e,t)=>{e.model=t},setModelGroup:(e,t)=>{e.modelGroup=t},setService:(e,t)=>{e.service=t},setCredential:(e,t)=>{e.credential=t},setConversations:(e,t)=>{e.conversations=t},setApplication:(e,t)=>{e.application=t},setApplications:(e,t)=>{e.applications=t},setPendingDraft:(e,t)=>{e.pendingDraft=t||``},resetAll:e=>{Object.assign(e,o())}},actions:{resetAll:({commit:e})=>{e(`resetAll`)},createCredential:async({commit:e,state:t})=>{let n=t.application;if(console.debug(`prepare to create credential for application for chat`,n),!n){console.error(`Application not found`);return}console.debug(`creating create credential for application for chat`,n);let{data:r}=await a.create({application_id:n?.id,host:window.location.origin});return console.debug(`created credential success`,r),e(`setCredential`,r),console.debug(`end createCredential`),r},setModel:async({commit:e},t)=>{e(`setModel`,t)},setModelGroup:async({commit:e},t)=>{e(`setModelGroup`,t)},getService:async({commit:t,state:n})=>{n.status.getService=i.Request;try{let{data:a}=await r.get(e);return n.status.getService=i.Success,t(`setService`,a),a}catch{n.status.getService=i.Error,t(`setService`,void 0)}},setService:async({commit:e},t)=>{console.debug(`set service for chat`,t),e(`setService`,t)},setCredential:async({commit:e},t)=>{console.debug(`set credential`,t),e(`setCredential`,t)},setApplication:async({commit:e,dispatch:t,rootState:n},r)=>{if(console.debug(`set application`,r),e(`setApplication`,r),console.debug(`application is set`),!r){console.debug(`application is null, return`);return}let i=n?.user?.id,a=r?.role===`grantee`,o=r?.credentials?.find(e=>e?.host===window.location.origin);!o&&a&&(o=r?.credentials?.find(e=>e?.user_id===i)),o?(console.debug(`credential exists, set credential`,o),e(`setCredential`,o)):a?(console.warn(`no credential available for granted application`,r),e(`setCredential`,void 0)):(console.debug(`credential not exists, start to create credential for application`,r),await t(`createCredential`))},setApplications:async({commit:e},t)=>{console.debug(`set applications for chat`,t),e(`setApplications`,t)},getApplications:async({commit:n,state:r})=>{console.debug(`start to get applications for chat`),r.status.getApplications=i.Request;try{let{data:a}=await t.getAll({user_id:`me`,service_id:e,affiliation:[`owner`,`granted`]});return console.debug(`get applications success for chat`,a),r.status.getApplications=i.Success,n(`setApplications`,a.items),console.debug(`set applications for chat`,a.items),a.items}catch(e){console.error(`get applications failed for chat`,e),r.status.getApplications=i.Error,n(`setApplications`,void 0),n(`setApplication`,void 0)}},setConversation:async({commit:e,state:t},n)=>{console.debug(`set conversation`,n);let r=t.conversations||[],i=r?.findIndex(e=>e.id===n.id);i>-1?r[i]=n:r?.unshift(n),e(`setConversations`,r),console.debug(`set conversation success`,r)},setConversations:async({commit:e},t)=>{console.debug(`set conversations`,t),e(`setConversations`,t)},getConversations:async({commit:e,state:t,rootState:r})=>{t.status.getConversations=i.Request;let a=t.credential?.token,o=t.modelGroup?.name;if(!a||!o)return t.status.getConversations=i.Error,e(`setConversations`,[]),[];try{let{data:s}=await n.getConversations({userId:r.user?.id,modelGroup:o},{token:a});return console.debug(`get conversations success`,s?.items?.length,`group=`,o),t.status.getConversations=i.Success,e(`setConversations`,s.items),s.items}catch{return t.status.getConversations=i.Error,e(`setConversations`,[]),[]}},getConversation:async({commit:e,state:t},r)=>{let i=t.credential?.token;if(!(!i||!r))try{let{data:a}=await n.getConversation(r,{token:i}),o=t.conversations||[],s=o.findIndex(e=>e.id===r),c=s>-1?{...o[s],...a}:a;if(s>-1){let t=[...o];t[s]=c,e(`setConversations`,t)}return c}catch(e){console.error(`getConversation failed`,r,e);return}}}};export{s as chat,s as default};
@@ -1 +1 @@
1
- import{Br as e,C as t,D as n,E as r,O as i,S as a,T as o,_ as s,a as c,b as l,c as u,d,f,g as p,h as m,i as h,l as g,m as _,n as v,o as y,p as b,r as x,s as S,t as C,u as w,v as T,w as E,x as D,y as O}from"./constants-BoMdh9QC.js";import{An as k,Rt as A,dr as j}from"./index-DtcnyKXU.js";var M=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,N=class{ws;token;handlers;reconnectDelay=i;reconnectTimer;closedByUser=!1;constructor(e,t){this.token=e,this.handlers=t}get isOpen(){return this.ws?.readyState===WebSocket.OPEN}connect(){this.closedByUser=!1,this.open()}open(){if(this.ws&&(this.ws.readyState===WebSocket.OPEN||this.ws.readyState===WebSocket.CONNECTING))return;let t=`${e}?token=${encodeURIComponent(this.token)}`,n;try{n=new WebSocket(t)}catch(e){console.warn(`[codingBridge] failed to open socket`,e),this.scheduleReconnect();return}this.ws=n,n.onopen=()=>{this.reconnectDelay=i,this.handlers.onOpen?.()},n.onmessage=e=>this.onMessage(e),n.onclose=()=>{this.handlers.onClose?.(),this.closedByUser||this.scheduleReconnect()},n.onerror=()=>{n.close()}}onMessage(e){let t;try{t=JSON.parse(e.data)}catch{return}let n=t?.payload??{};switch(t?.type){case r:this.handlers.onEvent?.(n,t?.from_node);break;case E:this.handlers.onNodesSnapshot?.(n.nodes??[]);break;case o:this.handlers.onNodeStatus?.(n.node_id,n.status);break;case w:this.handlers.onRelayError?.(n.code??`error`,n.message??``);break;default:break}}scheduleReconnect(){if(this.closedByUser||this.reconnectTimer)return;let e=this.reconnectDelay;this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=void 0,this.open()},e),this.reconnectDelay=Math.min(this.reconnectDelay*2,n)}sendEnvelope(e,t){if(!this.isOpen)return;let n={v:1,id:M(),ts:Date.now(),type:e,...t};this.ws?.send(JSON.stringify(n))}sendToNode(e,t){this.sendEnvelope(g,{node_id:e,payload:t})}listNodes(){this.sendEnvelope(u,{})}close(){if(this.closedByUser=!0,this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),void 0),this.ws){this.ws.onclose=null,this.ws.onerror=null,this.ws.onmessage=null,this.ws.onopen=null;try{this.ws.close()}catch{}this.ws=void 0}}},P,F=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,I=(e,t,n)=>({id:F(),session_id:e,kind:t,ts:Date.now(),...n}),L=(e,n,r,i,o)=>{let c=i?.event,u=i?.session_id;switch(c){case O:e(`upsertSession`,{session_id:u,node_id:o,status:`idle`,cwd:i.cwd,model:i.model});break;case l:e(`appendEvent`,I(u,`text`,{text:i.text}));break;case D:e(`appendEvent`,I(u,`thinking`,{text:i.text}));break;case t:e(`appendEvent`,I(u,`tool_use`,{tool:i.tool,tool_use_id:i.tool_use_id,input:i.input}));break;case a:e(`appendEvent`,I(u,`tool_result`,{tool_use_id:i.tool_use_id,content:i.content,is_error:i.is_error}));break;case b:e(`addPermission`,{request_id:i.request_id,session_id:u,node_id:o,tool:i.tool,input:i.input,title:i.title,display_name:i.display_name,description:i.description});break;case _:e(`removePermission`,i.request_id);break;case T:e(`appendEvent`,I(u,`result`,{subtype:i.subtype,is_error:i.is_error,text:i.result,cost_usd:i.cost_usd})),e(`updateSession`,{session_id:u,status:`idle`,cost_usd:i.cost_usd});break;case s:e(`appendEvent`,I(u,`error`,{text:i.message})),e(`updateSession`,{session_id:u,status:`error`});break;case p:e(`updateSession`,{session_id:u,status:`closed`});break;case m:for(let t of i.sessions??[])e(`upsertSession`,{session_id:t.session_id,node_id:o,status:t.status??`idle`,cwd:t.cwd,model:t.model});break;case f:if(o){e(`setHistory`,{node_id:o,sessions:i.sessions??[]}),e(`updateStatus`,{key:`getHistory`,value:j.Success});let t=r.historyRef;t&&t.node_id===o&&!r.currentSessionId&&n(`getHistoryDetail`,t)}break;case d:R(e,i,o);break;default:break}},R=(e,t,n)=>{let r=t?.session_id,i=t?.provider===`codex`?`codex`:`claude`;if(!r||!n)return;let a=i===`claude`;e(`upsertSession`,{session_id:r,node_id:n,status:`idle`,cwd:t.cwd,model:t.model,provider:i,started:!1,readonly:!a,resume_session_id:a?r:void 0}),e(`setEvents`,{session_id:r,events:(t.events??[]).map((e,t)=>({id:F(),session_id:r,kind:e.kind,ts:typeof e.ts==`number`?e.ts:Date.now()+t,text:e.text,tool:e.tool,tool_use_id:e.tool_use_id,input:e.input,content:e.content,is_error:e.is_error,subtype:e.subtype,cost_usd:e.cost_usd}))}),e(`setCurrentNode`,n),e(`setCurrentSession`,r),e(`setHistoryRef`,{node_id:n,provider:i,session_id:r})},z={namespaced:!0,state:k,mutations:{resetAll:e=>{Object.assign(e,k())},updateStatus:(e,t)=>{e.status[t.key]=t.value},setConnection:(e,t)=>{e.connection=t},setNodes:(e,t)=>{e.nodes=t},mergeNodeSnapshot:(e,t)=>{let n=new Set(t.map(e=>e.node_id));for(let t of e.nodes)t.status=n.has(t.node_id)?`online`:`offline`;for(let n of t)e.nodes.some(e=>e.node_id===n.node_id)||e.nodes.push({...n,status:`online`})},setNodeStatus:(e,t)=>{let n=e.nodes.find(e=>e.node_id===t.node_id);n&&(n.status=t.status)},setCurrentNode:(e,t)=>{e.currentNodeId=t},setCurrentSession:(e,t)=>{e.currentSessionId=t},upsertSession:(e,t)=>{e.sessions[t.session_id]={...e.sessions[t.session_id],...t},e.events[t.session_id]||(e.events[t.session_id]=[])},updateSession:(e,t)=>{let n=e.sessions[t.session_id];n&&(e.sessions[t.session_id]={...n,...t})},appendEvent:(e,t)=>{e.events[t.session_id]||(e.events[t.session_id]=[]),e.events[t.session_id].push(t)},setEvents:(e,t)=>{e.events[t.session_id]=t.events},setHistory:(e,t)=>{e.history[t.node_id]=t.sessions},setHistoryRef:(e,t)=>{e.historyRef=t},addPermission:(e,t)=>{e.permissions.some(e=>e.request_id===t.request_id)||e.permissions.push(t)},removePermission:(e,t)=>{e.permissions=e.permissions.filter(e=>e.request_id!==t)},removeNodeData:(e,t)=>{delete e.history[t],e.historyRef?.node_id===t&&(e.historyRef=void 0);for(let n of Object.values(e.sessions))n.node_id===t&&(delete e.sessions[n.session_id],delete e.events[n.session_id],e.currentSessionId===n.session_id&&(e.currentSessionId=void 0))}},actions:{resetAll:({commit:e})=>{e(`resetAll`)},getApplications:async()=>{},setApplication:async()=>{},getNodes:async({commit:e,rootState:t})=>{let n=t.token?.access;if(!n)return[];e(`updateStatus`,{key:`getNodes`,value:j.Request});try{let{data:t}=await A.getNodes({token:n});return e(`setNodes`,t.nodes??[]),e(`updateStatus`,{key:`getNodes`,value:j.Success}),t.nodes??[]}catch(t){throw e(`updateStatus`,{key:`getNodes`,value:j.Error}),t}},claimPair:async({commit:e,dispatch:t,rootState:n},r)=>{let i=n.token?.access;if(!i)throw Error(`not authenticated`);e(`updateStatus`,{key:`claimPair`,value:j.Request});try{let{data:n}=await A.claimPair(r.trim(),{token:i});return e(`updateStatus`,{key:`claimPair`,value:j.Success}),await t(`getNodes`),n.node_name}catch(t){throw e(`updateStatus`,{key:`claimPair`,value:j.Error}),t}},deleteNode:async({commit:e,dispatch:t,state:n,rootState:r},i)=>{let a=r.token?.access;if(!a)throw Error(`not authenticated`);e(`updateStatus`,{key:`deleteNode`,value:j.Request});try{await A.deleteNode(i,{token:a}),e(`removeNodeData`,i),n.currentNodeId===i&&(e(`setCurrentNode`,void 0),e(`setCurrentSession`,void 0)),e(`updateStatus`,{key:`deleteNode`,value:j.Success}),await t(`getNodes`)}catch(t){throw e(`updateStatus`,{key:`deleteNode`,value:j.Error}),t}},connect:({commit:e,dispatch:t,state:n,rootState:r})=>{let i=r.token?.access;i&&(P?.isOpen||(P?.close(),e(`setConnection`,`connecting`),P=new N(i,{onOpen:()=>{e(`setConnection`,`connected`),n.currentNodeId&&t(`getHistory`,n.currentNodeId)},onClose:()=>e(`setConnection`,`disconnected`),onEvent:(r,i)=>L(e,t,n,r,i),onNodesSnapshot:t=>{e(`mergeNodeSnapshot`,t)},onNodeStatus:(r,i)=>{e(`setNodeStatus`,{node_id:r,status:i}),i===`online`&&r===n.currentNodeId&&t(`getHistory`,r)},onRelayError:(e,t)=>console.warn(`[codingBridge] relay error`,e,t)}),P.connect()))},disconnect:({commit:e})=>{P?.close(),P=void 0,e(`setConnection`,`disconnected`)},selectNode:({commit:e,dispatch:t,state:n},r)=>{if(e(`setCurrentNode`,r),!r){e(`setCurrentSession`,void 0);return}let i=Object.values(n.sessions).filter(e=>e.node_id===r).map(e=>e.session_id);e(`setCurrentSession`,i.length?i[i.length-1]:void 0),t(`getHistory`,r)},newSession:({commit:e})=>{e(`setCurrentSession`,void 0),e(`setHistoryRef`,void 0)},sendPrompt:({commit:e,state:t},n)=>{let r=t.currentNodeId,i=n.prompt?.trim();if(!r||!i||!P)return;let a=t.currentSessionId,o=a?t.sessions[a]:void 0;!o||!o.started?(o?(a=o.session_id,e(`updateSession`,{session_id:a,status:`starting`})):(a=F(),e(`upsertSession`,{session_id:a,node_id:r,status:`starting`,cwd:n.cwd,model:n.model}),e(`setCurrentSession`,a)),e(`appendEvent`,I(a,`prompt`,{text:i})),e(`updateSession`,{session_id:a,started:!0}),P.sendToNode(r,{action:S,session_id:a,prompt:i,cwd:n.cwd||o?.cwd||void 0,model:n.model||o?.model||void 0,permission_mode:n.permissionMode||`default`,provider:o?.provider||void 0,resume_session_id:o?.resume_session_id||void 0})):(e(`appendEvent`,I(a,`prompt`,{text:i})),e(`updateSession`,{session_id:a,status:`running`}),P.sendToNode(r,{action:y,session_id:a,prompt:i}))},interruptSession:({state:e})=>{let t=e.currentSessionId,n=e.currentNodeId;!t||!n||!P||P.sendToNode(n,{action:c,session_id:t})},closeSession:({commit:e,state:t},n)=>{let r=n??t.currentSessionId;if(!r)return;let i=t.sessions[r]?.node_id??t.currentNodeId;i&&P&&P.sendToNode(i,{action:h,session_id:r}),e(`updateSession`,{session_id:r,status:`closed`}),t.currentSessionId===r&&e(`setCurrentSession`,void 0)},resolvePermission:({commit:e,state:t},n)=>{let r=t.permissions.find(e=>e.request_id===n.request_id);r&&(P?.sendToNode(r.node_id,{action:x,request_id:n.request_id,decision:n.decision}),e(`removePermission`,n.request_id))},getHistory:({commit:e,state:t},n)=>{let r=n??t.currentNodeId;!r||!P||(e(`updateStatus`,{key:`getHistory`,value:j.Request}),P.sendToNode(r,{action:v,limit:200}))},getHistoryDetail:(e,t)=>{!t?.node_id||!t?.session_id||!P||P.sendToNode(t.node_id,{action:C,provider:t.provider,session_id:t.session_id})}}};export{z as codingBridge,z as default};
1
+ import{C as e,D as t,E as n,O as r,S as i,T as a,Vr as o,_ as s,a as c,b as l,c as u,d,f,g as p,h as m,i as h,l as g,m as _,n as v,o as y,p as b,r as x,s as S,t as C,u as w,v as T,w as E,x as D,y as O}from"./constants-D3W0tInG.js";import{Ht as k,Pn as A,hr as j}from"./index-CEh-AtFD.js";var M=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,N=class{ws;token;handlers;reconnectDelay=r;reconnectTimer;closedByUser=!1;constructor(e,t){this.token=e,this.handlers=t}get isOpen(){return this.ws?.readyState===WebSocket.OPEN}connect(){this.closedByUser=!1,this.open()}open(){if(this.ws&&(this.ws.readyState===WebSocket.OPEN||this.ws.readyState===WebSocket.CONNECTING))return;let e=`${o}?token=${encodeURIComponent(this.token)}`,t;try{t=new WebSocket(e)}catch(e){console.warn(`[codingBridge] failed to open socket`,e),this.scheduleReconnect();return}this.ws=t,t.onopen=()=>{this.reconnectDelay=r,this.handlers.onOpen?.()},t.onmessage=e=>this.onMessage(e),t.onclose=()=>{this.handlers.onClose?.(),this.closedByUser||this.scheduleReconnect()},t.onerror=()=>{t.close()}}onMessage(e){let t;try{t=JSON.parse(e.data)}catch{return}let r=t?.payload??{};switch(t?.type){case n:this.handlers.onEvent?.(r,t?.from_node);break;case E:this.handlers.onNodesSnapshot?.(r.nodes??[]);break;case a:this.handlers.onNodeStatus?.(r.node_id,r.status);break;case w:this.handlers.onRelayError?.(r.code??`error`,r.message??``);break;default:break}}scheduleReconnect(){if(this.closedByUser||this.reconnectTimer)return;let e=this.reconnectDelay;this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=void 0,this.open()},e),this.reconnectDelay=Math.min(this.reconnectDelay*2,t)}sendEnvelope(e,t){if(!this.isOpen)return;let n={v:1,id:M(),ts:Date.now(),type:e,...t};this.ws?.send(JSON.stringify(n))}sendToNode(e,t){this.sendEnvelope(g,{node_id:e,payload:t})}listNodes(){this.sendEnvelope(u,{})}close(){if(this.closedByUser=!0,this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),void 0),this.ws){this.ws.onclose=null,this.ws.onerror=null,this.ws.onmessage=null,this.ws.onopen=null;try{this.ws.close()}catch{}this.ws=void 0}}},P,F=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,I=(e,t,n)=>({id:F(),session_id:e,kind:t,ts:Date.now(),...n}),L=(t,n,r,a,o)=>{let c=a?.event,u=a?.session_id;switch(c){case O:t(`upsertSession`,{session_id:u,node_id:o,status:`idle`,cwd:a.cwd,model:a.model});break;case l:t(`appendEvent`,I(u,`text`,{text:a.text}));break;case D:t(`appendEvent`,I(u,`thinking`,{text:a.text}));break;case e:t(`appendEvent`,I(u,`tool_use`,{tool:a.tool,tool_use_id:a.tool_use_id,input:a.input}));break;case i:t(`appendEvent`,I(u,`tool_result`,{tool_use_id:a.tool_use_id,content:a.content,is_error:a.is_error}));break;case b:t(`addPermission`,{request_id:a.request_id,session_id:u,node_id:o,tool:a.tool,input:a.input,title:a.title,display_name:a.display_name,description:a.description});break;case _:t(`removePermission`,a.request_id);break;case T:t(`appendEvent`,I(u,`result`,{subtype:a.subtype,is_error:a.is_error,text:a.result,cost_usd:a.cost_usd})),t(`updateSession`,{session_id:u,status:`idle`,cost_usd:a.cost_usd});break;case s:t(`appendEvent`,I(u,`error`,{text:a.message})),t(`updateSession`,{session_id:u,status:`error`});break;case p:t(`updateSession`,{session_id:u,status:`closed`});break;case m:for(let e of a.sessions??[])t(`upsertSession`,{session_id:e.session_id,node_id:o,status:e.status??`idle`,cwd:e.cwd,model:e.model});break;case f:if(o){t(`setHistory`,{node_id:o,sessions:a.sessions??[]}),t(`updateStatus`,{key:`getHistory`,value:j.Success});let e=r.historyRef;e&&e.node_id===o&&!r.currentSessionId&&n(`getHistoryDetail`,e)}break;case d:R(t,a,o);break;default:break}},R=(e,t,n)=>{let r=t?.session_id,i=t?.provider===`codex`?`codex`:`claude`;if(!r||!n)return;let a=i===`claude`;e(`upsertSession`,{session_id:r,node_id:n,status:`idle`,cwd:t.cwd,model:t.model,provider:i,started:!1,readonly:!a,resume_session_id:a?r:void 0}),e(`setEvents`,{session_id:r,events:(t.events??[]).map((e,t)=>({id:F(),session_id:r,kind:e.kind,ts:typeof e.ts==`number`?e.ts:Date.now()+t,text:e.text,tool:e.tool,tool_use_id:e.tool_use_id,input:e.input,content:e.content,is_error:e.is_error,subtype:e.subtype,cost_usd:e.cost_usd}))}),e(`setCurrentNode`,n),e(`setCurrentSession`,r),e(`setHistoryRef`,{node_id:n,provider:i,session_id:r})},z={namespaced:!0,state:A,mutations:{resetAll:e=>{Object.assign(e,A())},updateStatus:(e,t)=>{e.status[t.key]=t.value},setConnection:(e,t)=>{e.connection=t},setNodes:(e,t)=>{e.nodes=t},mergeNodeSnapshot:(e,t)=>{let n=new Set(t.map(e=>e.node_id));for(let t of e.nodes)t.status=n.has(t.node_id)?`online`:`offline`;for(let n of t)e.nodes.some(e=>e.node_id===n.node_id)||e.nodes.push({...n,status:`online`})},setNodeStatus:(e,t)=>{let n=e.nodes.find(e=>e.node_id===t.node_id);n&&(n.status=t.status)},setCurrentNode:(e,t)=>{e.currentNodeId=t},setCurrentSession:(e,t)=>{e.currentSessionId=t},upsertSession:(e,t)=>{e.sessions[t.session_id]={...e.sessions[t.session_id],...t},e.events[t.session_id]||(e.events[t.session_id]=[])},updateSession:(e,t)=>{let n=e.sessions[t.session_id];n&&(e.sessions[t.session_id]={...n,...t})},appendEvent:(e,t)=>{e.events[t.session_id]||(e.events[t.session_id]=[]),e.events[t.session_id].push(t)},setEvents:(e,t)=>{e.events[t.session_id]=t.events},setHistory:(e,t)=>{e.history[t.node_id]=t.sessions},setHistoryRef:(e,t)=>{e.historyRef=t},addPermission:(e,t)=>{e.permissions.some(e=>e.request_id===t.request_id)||e.permissions.push(t)},removePermission:(e,t)=>{e.permissions=e.permissions.filter(e=>e.request_id!==t)},removeNodeData:(e,t)=>{delete e.history[t],e.historyRef?.node_id===t&&(e.historyRef=void 0);for(let n of Object.values(e.sessions))n.node_id===t&&(delete e.sessions[n.session_id],delete e.events[n.session_id],e.currentSessionId===n.session_id&&(e.currentSessionId=void 0))}},actions:{resetAll:({commit:e})=>{e(`resetAll`)},getApplications:async()=>{},setApplication:async()=>{},getNodes:async({commit:e,rootState:t})=>{let n=t.token?.access;if(!n)return[];e(`updateStatus`,{key:`getNodes`,value:j.Request});try{let{data:t}=await k.getNodes({token:n});return e(`setNodes`,t.nodes??[]),e(`updateStatus`,{key:`getNodes`,value:j.Success}),t.nodes??[]}catch(t){throw e(`updateStatus`,{key:`getNodes`,value:j.Error}),t}},claimPair:async({commit:e,dispatch:t,rootState:n},r)=>{let i=n.token?.access;if(!i)throw Error(`not authenticated`);e(`updateStatus`,{key:`claimPair`,value:j.Request});try{let{data:n}=await k.claimPair(r.trim(),{token:i});return e(`updateStatus`,{key:`claimPair`,value:j.Success}),await t(`getNodes`),n.node_name}catch(t){throw e(`updateStatus`,{key:`claimPair`,value:j.Error}),t}},deleteNode:async({commit:e,dispatch:t,state:n,rootState:r},i)=>{let a=r.token?.access;if(!a)throw Error(`not authenticated`);e(`updateStatus`,{key:`deleteNode`,value:j.Request});try{await k.deleteNode(i,{token:a}),e(`removeNodeData`,i),n.currentNodeId===i&&(e(`setCurrentNode`,void 0),e(`setCurrentSession`,void 0)),e(`updateStatus`,{key:`deleteNode`,value:j.Success}),await t(`getNodes`)}catch(t){throw e(`updateStatus`,{key:`deleteNode`,value:j.Error}),t}},connect:({commit:e,dispatch:t,state:n,rootState:r})=>{let i=r.token?.access;i&&(P?.isOpen||(P?.close(),e(`setConnection`,`connecting`),P=new N(i,{onOpen:()=>{e(`setConnection`,`connected`),n.currentNodeId&&t(`getHistory`,n.currentNodeId)},onClose:()=>e(`setConnection`,`disconnected`),onEvent:(r,i)=>L(e,t,n,r,i),onNodesSnapshot:t=>{e(`mergeNodeSnapshot`,t)},onNodeStatus:(r,i)=>{e(`setNodeStatus`,{node_id:r,status:i}),i===`online`&&r===n.currentNodeId&&t(`getHistory`,r)},onRelayError:(e,t)=>console.warn(`[codingBridge] relay error`,e,t)}),P.connect()))},disconnect:({commit:e})=>{P?.close(),P=void 0,e(`setConnection`,`disconnected`)},selectNode:({commit:e,dispatch:t,state:n},r)=>{if(e(`setCurrentNode`,r),!r){e(`setCurrentSession`,void 0);return}let i=Object.values(n.sessions).filter(e=>e.node_id===r).map(e=>e.session_id);e(`setCurrentSession`,i.length?i[i.length-1]:void 0),t(`getHistory`,r)},newSession:({commit:e})=>{e(`setCurrentSession`,void 0),e(`setHistoryRef`,void 0)},sendPrompt:({commit:e,state:t},n)=>{let r=t.currentNodeId,i=n.prompt?.trim();if(!r||!i||!P)return;let a=t.currentSessionId,o=a?t.sessions[a]:void 0;!o||!o.started?(o?(a=o.session_id,e(`updateSession`,{session_id:a,status:`starting`})):(a=F(),e(`upsertSession`,{session_id:a,node_id:r,status:`starting`,cwd:n.cwd,model:n.model}),e(`setCurrentSession`,a)),e(`appendEvent`,I(a,`prompt`,{text:i})),e(`updateSession`,{session_id:a,started:!0}),P.sendToNode(r,{action:S,session_id:a,prompt:i,cwd:n.cwd||o?.cwd||void 0,model:n.model||o?.model||void 0,permission_mode:n.permissionMode||`default`,provider:o?.provider||void 0,resume_session_id:o?.resume_session_id||void 0})):(e(`appendEvent`,I(a,`prompt`,{text:i})),e(`updateSession`,{session_id:a,status:`running`}),P.sendToNode(r,{action:y,session_id:a,prompt:i}))},interruptSession:({state:e})=>{let t=e.currentSessionId,n=e.currentNodeId;!t||!n||!P||P.sendToNode(n,{action:c,session_id:t})},closeSession:({commit:e,state:t},n)=>{let r=n??t.currentSessionId;if(!r)return;let i=t.sessions[r]?.node_id??t.currentNodeId;i&&P&&P.sendToNode(i,{action:h,session_id:r}),e(`updateSession`,{session_id:r,status:`closed`}),t.currentSessionId===r&&e(`setCurrentSession`,void 0)},resolvePermission:({commit:e,state:t},n)=>{let r=t.permissions.find(e=>e.request_id===n.request_id);r&&(P?.sendToNode(r.node_id,{action:x,request_id:n.request_id,decision:n.decision}),e(`removePermission`,n.request_id))},getHistory:({commit:e,state:t},n)=>{let r=n??t.currentNodeId;!r||!P||(e(`updateStatus`,{key:`getHistory`,value:j.Request}),P.sendToNode(r,{action:v,limit:200}))},getHistoryDetail:(e,t)=>{!t?.node_id||!t?.session_id||!P||P.sendToNode(t.node_id,{action:C,provider:t.provider,session_id:t.session_id})}}};export{z as codingBridge,z as default};
@@ -0,0 +1 @@
1
+ var e={"button.setup":{message:`Podešavanje`,description:`Tekst u dugmetu, koji se koristi za podešavanje`},"button.start":{message:`Početak`,description:`Tekst u dugmetu, koji se koristi za započinjanje nekih operacija`},"button.copy":{message:`Kopiraj`,description:`Tekst u dugmetu, koji se koristi za kopiranje nečega`},"button.copied":{message:`Kopirano`,description:`Tekst u dugmetu, koji označava da je sadržaj kopiran`},"button.restart":{message:`Ponovo generiši`,description:`Tekst u dugmetu, koji se koristi za ponovo postavljanje nekog sadržaja`},"button.preview":{message:`Pregled`,description:`Tekst u dugmetu, koji se koristi za otvaranje pregleda nekog fajla putem URL-a`},"button.seeRawImage":{message:`Pogledaj izvorni prikaz`,description:`Tekst u dugmetu, koji se koristi za pregled izvorne slike`},"button.seeRawVideo":{message:`Pogledaj video`,description:`Tekst u dugmetu, koji se koristi za pregled izvorne slike`},"button.edit":{message:`Uredi`,description:`Tekst u dugmetu, koji se koristi za uređivanje sadržaja`},"button.login":{message:`Prijavi se`,description:`Tekst u dugmetu, koji se koristi za prijavu`},"button.logout":{message:`Odjavi se`,description:`Tekst u dugmetu, koji se koristi za odjavu`},"button.new":{message:`Novi`,description:`Tekst u dugmetu, koji se koristi za kreiranje novog stavke`},"button.delete":{message:`Obriši`,description:`Tekst u dugmetu, koji se koristi za brisanje sadržaja`},"button.confirm":{message:`Potvrdi`,description:`Tekst u dugmetu, koji se koristi za potvrdu neke operacije`},"button.cancel":{message:`Otkaži`,description:`Tekst u dugmetu, koji se koristi za otkazivanje neke operacije`},"button.close":{message:`Zatvori`,description:`Tekst u dugmetu, koji se koristi za zatvaranje dijaloga ili panela`},"button.expand":{message:`Проширити`,description:`Текст на дугмету који се користи за отварање уређивача у целом екрану за унос подстицаја.`},"button.alert":{message:`Upozorenje`,description:`Tekst u dugmetu, koji se koristi za slanje upozorenja`},"button.info":{message:`Informacije`,description:`Tekst u dugmetu, koji se koristi za prikaz informacija`},"button.publish":{message:`Objavi`,description:`Tekst u dugmetu, koji se koristi za objavljivanje sadržaja`},"button.watch":{message:`Gledaj`,description:`Tekst u dugmetu, koji se koristi za gledanje nekog sadržaja`},"button.verify":{message:`Verifikacija identiteta`,description:`Tekst u dugmetu, koji omogućava korisniku da izvrši verifikaciju identiteta`},"button.profile":{message:`Profil`,description:`Tekst u dugmetu, koji se koristi za prikaz profila`},"button.console":{message:`Konzola`,description:`Tekst u dugmetu, koji se koristi za prikaz konzole za upravljanje sadržajem na vebu`},"button.learn":{message:`Uči`,description:`Tekst u dugmetu, koji se koristi za omogućavanje korisniku da uči o nečemu`},"button.buy":{message:`Kupi`,description:`Tekst u dugmetu, koji se koristi za omogućavanje korisniku da kupi nešto`},"button.try":{message:`Isprobaj`,description:`Tekst u dugmetu, koji se koristi za omogućavanje korisniku da isproba nešto`},"button.startForFree":{message:`Započni besplatno`,description:`Tekst u dugmetu, koji se koristi za omogućavanje korisniku da započne besplatno`},"button.download":{message:`Preuzmi`,description:`Tekst u dugmetu, koji se koristi za preuzimanje fajlova (npr. audio, video, slike)`},"button.downloadAndroid":{message:`Preuzmi Android`,description:`Tekst u dugmetu, koji se koristi za preuzimanje Android instalacionog paketa`},"button.downloadIos":{message:`Preuzmi iOS instalacioni paket`,description:`Tekst u dugmetu, koji se koristi za preuzimanje iOS instalacionog paketa`},"button.installIos":{message:`Instaliraj iOS`,description:`Tekst u dugmetu, koji se koristi za instalaciju iOS aplikacije`},"button.apply":{message:`Prijavi se`,description:`Tekst u dugmetu, koji se koristi za omogućavanje korisniku da se prijavi za API uslugu`},"button.refresh":{message:`Osveži`,description:`Tekst u dugmetu, koji se koristi za osvežavanje stranice`},"button.pay":{message:`Plati`,description:`Tekst u dugmetu, koji se koristi za omogućavanje korisniku da plati troškove usluge`},"button.repay":{message:`Nastavi plaćanje`,description:`Tekst u dugmetu, koji se koristi za omogućavanje korisniku da nastavi plaćanje troškova usluge`},"button.applied":{message:`Prijavljeno`,description:`Tekst u dugmetu, koji se koristi za prikazivanje da je korisnik prijavio ovu uslugu`},"button.acquire":{message:`Dobij`,description:`Tekst u dugmetu, koji se koristi za omogućavanje korisniku da dobije token ili ključ za API uslugu`},"button.fillExample":{message:`Popuni primer`,description:`Tekst u dugmetu, koji se koristi za omogućavanje korisniku da popuni primer podataka`},"button.buyMore":{message:`Dopuni`,description:`Tekst u dugmetu, koji se koristi za omogućavanje korisniku da dopuni. Engleski mora biti preveden kao 'Top Up', a kineski kao '充值'.`},"button.update":{message:`Ažuriraj`,description:`Tekst u dugmetu, koji se koristi za ažuriranje sadržaja`},"button.view":{message:`Pogledaj`,description:`Tekst u dugmetu, koji se koristi za pregled nekog sadržaja`},"button.create":{message:`Kreiraj`,description:`Tekst u dugmetu, koji se koristi za kreiranje nekog sadržaja`},"button.referralEarnings":{message:`Zarađeni prihodi od preporuka`,description:`Tekst u dugmetu koji prikazuje prihode od preporuka, što znači da korisnik može zarađivati pozivajući druge da koriste ovu uslugu`},"button.finish":{message:`Završi`,description:`Tekst u dugmetu koji se koristi za završavanje neke operacije`},"entity.id":{message:`ID`,description:`Jedinstveni identifikator za prikaz entiteta`},"entity.type":{message:`Tip`,description:`Tip entiteta`},"entity.website":{message:`Ace Data Cloud`,description:`Ime sajta, ne treba prevoditi, ostaviti kao 'Ace Data Cloud'`},"entity.copyright":{message:`Autorska prava`,description:`Tekst koji prikazuje autorska prava`},"entity.platform":{message:`Platforma`,description:`Tekst koji označava da je ovo platforma API usluga`},"entity.title":{message:`Naslov`,description:`Naslov entiteta`},"entity.icon":{message:`Ikona`,description:`Ikona entiteta`},"entity.status":{message:`Status`,description:`Status entiteta`},"status.loading":{message:`Učitavanje...`,description:`Statusni tekst koji se prikazuje dok se sadržaj učitava`},"error.appleSignInFailed":{message:`Пријава помоћу Apple-а није успела. Покушајте поново или користите други начин пријаве.`,description:`Error toast shown when native Apple sign-in fails for a reason other than user cancellation`},"entity.operation":{message:`Operacija`,description:`Operacija entiteta`},"entity.description":{message:`Opis`,description:`Opis entiteta`},"entity.createdAt":{message:`Kreirano`,description:`Vreme kada je entitet kreiran`},"entity.updatedAt":{message:`Ažurirano`,description:`Vreme kada je entitet ažuriran`},"entity.order":{message:`Porudžbina`,description:`Porudžbina entiteta, koja sadrži novac i informacije o uslugama, za koje korisnik treba da plati`},"message.noTasks":{message:`Nema istorijskih zadataka, započnite novi zadatak~`,description:`Poruka kada nema zadataka`},"message.usedAmount":{message:`Iskorišćeni iznos`,description:`Za prikaz iznosa koji je usluga već iskoristila`},"message.mobileAppDescription":{message:`Koristite AceData direktno na telefonu, trenutno je dostupan Android APK za preuzimanje i instalaciju, iOS instalacioni paket će biti dostupan nakon potpisivanja.`,description:`Opis na stranici za preuzimanje mobilne aplikacije`},"message.mobileAndroidHint":{message:`Za Android telefone i tablete, skenirajte QR kod za preuzimanje najnovijeg APK-a.`,description:`Objašnjenje za Android preuzimanje`},"message.mobileAndroidPending":{message:`Android instalacioni paket još nije spreman, pokušajte ponovo kasnije.`,description:`Poruka kada Android instalacioni paket nije dostupan`},"message.mobileAvailableNow":{message:`Android je dostupan za preuzimanje`,description:`Za prikaz statusa kada je Android dostupan za preuzimanje`},"message.mobileSecureDelivery":{message:`Sigurna CDN isporuka`,description:`Za naglašavanje da se preuzimanje vrši putem CDN-a`},"message.mobileDirectInstall":{message:`Direktna APK instalacija`,description:`Za opis Android strane kao direktne APK instalacije`},"message.mobileLatestRelease":{message:`Trenutna javna verzija`,description:`Za objašnjenje da je trenutna prikazana verzija najnovija javna verzija`},"message.mobileSharedAccount":{message:`Deljenje naloga i limita sa web verzijom`,description:`Za objašnjenje da mobilna verzija deli nalog sa web verzijom`},"message.mobileIosHint":{message:`Za iPhone i iPad, može se direktno instalirati online; ako sistem blokira, može se prvo preuzeti IPA pa distribuirati.`,description:`Objašnjenje za iOS preuzimanje`},"message.mobileIosPending":{message:`iOS instalacioni paket još nije dostupan za preuzimanje, biće dostupan nakon što se završi sa Apple sertifikatima i profilima.`,description:`Poruka kada iOS instalacioni paket nije dostupan`},"message.mobileComingSoon":{message:`Ускоро`,description:`Short status label shown on a platform card (e.g. iOS) while its build is being prepared`},"button.getOnGooglePlay":{message:`Преузмите са Google Play-а`,description:`Button label that opens the app's Google Play Store listing`},"message.mobileApkFallback":{message:`Немате приступ Google Play-у? Преузмите APK директно.`,description:`Shown next to a secondary button offering a direct APK download for users who cannot access Google Play`},"message.mobilePlayStoreHint":{message:`Скенирајте да отворите Google Play`,description:`Hint under the QR code explaining that scanning it opens the Google Play listing`},"message.mobileInstallNote":{message:`Prilikom prve instalacije preduzeća ili Ad Hoc paketa na iOS-u, sistem može zatražiti da prvo verifikujete sertifikat u 'Podešavanja > Opšte > VPN i upravljanje uređajem'.`,description:`Poruka za instalaciju mobilne aplikacije`},"title.mobileApp":{message:`Preuzimanje mobilne aplikacije`,description:`Naslov stranice za preuzimanje mobilne aplikacije`},"title.mobileFastAccess":{message:`Brži pristup, bez prolaska kroz prodavnicu aplikacija`,description:`Naslov kartice prednosti na stranici za preuzimanje, naglašava brzu instalaciju`},"title.mobileTrustedRelease":{message:`Centralizovano upravljanje verzijama, stabilnija isporuka`,description:`Naslov kartice prednosti na stranici za preuzimanje, naglašava stabilnost verzija i isporuke`},"title.mobileUnifiedExperience":{message:`Iskustvo na mobilnom i web-u je usklađeno`,description:`Naslov kartice prednosti na stranici za preuzimanje, naglašava jedinstveno iskustvo`},"nav.mobileApp":{message:`Mobilna aplikacija`,description:`Ulaz za preuzimanje mobilne aplikacije u navigaciji`},"message.mobileFastAccess":{message:`Korisnici mogu skenirati QR kod za direktnu instalaciju na telefonu, ili prvo preuzeti APK na desktopu i zatim ga distribuirati članovima tima, što je pogodno za brze probne i interne testove.`,description:`Objašnjenje prednosti na stranici za preuzimanje, naglašava brzi pristup`},"message.mobileTrustedRelease":{message:`Svi linkovi za preuzimanje su na jednoj stranici, verzije, status platforme i načini instalacije su lako uočljivi, smanjuje troškove komunikacije zbog raspršenih linkova.`,description:`Objašnjenje prednosti na stranici za preuzimanje, naglašava jedinstvenu isporuku`},"message.mobileUnifiedExperience":{message:`Sistem naloga, limiti i ulazi u usluge su usklađeni sa web verzijom, olakšava korisnicima da se neprimetno prebacuju između desktop i mobilne verzije.`,description:`Objašnjenje prednosti na stranici za preuzimanje, naglašava jedinstveno iskustvo naloga`},"message.remainingAmount":{message:`Preostali iznos`,description:`Za prikaz preostalog iznosa usluge`},"message.copied":{message:`Копирано`,description:`Порука која се приказује када је садржај успешно копиран`},"message.restart":{message:`Ponovo generiši`,description:`Poruka koja se prikazuje kada je sadržaj uspešno kopiran`},"message.confirmDelete":{message:`Da li ste sigurni da želite da obrišete?`,description:`Poruka koja potvrđuje da korisnik želi da obriše neki sadržaj`},"message.expiredAt":{message:`Vreme isteka`,description:`Poruka koja prikazuje vreme isteka usluge`},"message.alert":{message:`Upozorenje`,description:`Poruka koja upozorava korisnika`},"message.deleteAccountConfirm":{message:`Ово ће трајно обрисати ваш налог и све повезане податке. Ова радња се не може опозвати. Да ли сте сигурни да желите да наставите?`,description:`Confirmation message shown before permanently deleting the user account`},"message.deleteAccountSuccess":{message:`Ваш налог је обрисан.`,description:`Message shown after the user account is successfully deleted`},"message.deleteAccountFailed":{message:`Брисање налога није успело. Покушајте поново касније.`,description:`Message shown when account deletion fails`},"message.info":{message:`Informacija`,description:`Poruka koja prikazuje informacije`},"message.free":{message:`Besplatno`,description:`Poruka koja prikazuje da je usluga besplatna, što znači da korisnik ne mora da plaća`},"message.startPrice":{message:`Početna cena`,description:`Poruka koja prikazuje najnižu cenu usluge`},"message.joinDiscord":{message:`Pridruži se Discord-u`,description:`Poruka koja poziva korisnika da se pridruži Discord kanalu`},"message.addWeChat":{message:`WeChat usluga`,description:`Poruka koja poziva korisnika da doda WeChat nalog`},"message.serviceTech":{message:`Tehnička podrška`,description:`Poruka koja prikazuje tehničku podršku`},"message.businessCooperation":{message:`Podaci & Poslovna saradnja`,description:`Poruka koja prikazuje poslovnu saradnju`},"message.noData":{message:`Nema podataka`,description:`Poruka koja prikazuje da u tabeli ili listi nema podataka`},"nav.home":{message:`Početna`,description:`Tekst u navigacionoj traci sajta koji prikazuje početnu stranu`},"nav.content":{message:`Sadržaj`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa sadržajem`},"nav.category":{message:`Kategorija`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa kategorijama`},"nav.service":{message:`Sve usluge`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa uslugama`},"nav.profile":{message:`Moj profil`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa profilom`},"nav.products":{message:`Proizvodi`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa proizvodima`},"nav.referral":{message:`Referral program`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa preporukama`},"nav.apiPlatform":{message:`API platforma`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa API platformom`},"nav.document":{message:`Razvojna dokumentacija`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa dokumentacijom`},"nav.console":{message:`Konzola`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa konzolom`},"nav.chatgpt":{message:`ChatGPT`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa ChatGPT-om, ne prevoditi, mora ostati 'ChatGPT'`},"nav.deepseek":{message:`DeepSeek`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa DeepSeek-om, ne prevoditi, mora ostati 'DeepSeek'`},"nav.grok":{message:`Grok`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa Grok-om, ne prevoditi, mora ostati 'Grok'`},"nav.chat":{message:`Chat`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa chat-om, ne prevoditi, mora ostati 'Chat'`},"nav.veo":{message:`Veo`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa Veo-om, ne prevoditi, mora ostati 'Veo'`},"nav.sora":{message:`Sora`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa Sora-om, ne prevoditi, mora ostati 'Sora'`},"nav.midjourney":{message:`Midjourney`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa Midjourney-om, ne prevoditi, mora ostati 'Midjourney'`},"nav.qrart":{message:`QRArt`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa QRArt-om, ne prevoditi, mora ostati 'QRArt'`},"nav.suno":{message:`Suno`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa Suno-om, ne prevoditi, mora ostati 'Suno'`},"nav.pixverse":{message:`Pixverse`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa Pixverse-om, ne prevoditi, mora ostati 'Pixverse'`},"nav.flux":{message:`Flux`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa Flux-om, ne prevoditi, mora ostati 'Flux'`},"nav.nanobanana":{message:`Nano Banana`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa Nano Banana-om, ne prevoditi, mora ostati 'Nano Banana'`},"nav.openaiimage":{message:`OpenAI Image`,description:`Tekst u navigacionoj traci sajta koji prikazuje stranu sa OpenAI Image-om, ne prevoditi, mora ostati 'OpenAI Image'`},"nav.seedream":{message:`SeeDream`,description:`Текст у навигационом бару вебсајта, који приказује SeeDream страницу, не преводите ово поље, мора остати 'SeeDream'`},"nav.seedance":{message:`SeeDance`,description:`网站导航栏中的文本,用于显示SeeDance页面,请不要翻译此字段,必须保持为'SeeDance'`},"nav.luma":{message:`Luma`,description:`网站导航栏中的文本,用于显示Luma页面,请不要翻译此字段,必须保持为'Luma'`},"nav.pika":{message:`Pika`,description:`网站导航栏中的文本,用于显示Pika页面,请不要翻译此字段,必须保持为'Pika'`},"nav.kling":{message:`Kling`,description:`网站导航栏中的文本,用于显示Kling页面,请不要翻译此字段,必须保持为'Kling'`},"nav.hailuo":{message:`Hailuo`,description:`网站导航栏中的文本,用于显示Hailuo页面,请不要翻译此字段,必须保持为'Hailuo'`},"nav.wan":{message:`Wan`,description:`网站导航栏中的文本,用于显示Wan页面,请不要翻译此字段,必须保持为'Wan'`},"nav.producer":{message:`Producer`,description:`网站导航栏中的文本,用于显示Producer页面,请不要翻译此字段,必须保持为'Producer'`},"nav.fish":{message:`Fish Audio`,description:`Текст у навигационом менију веб сајта, који се користи за приказивање странице Fish Audio, молимо вас да не преводите ово поље, мора остати 'Fish Audio'`},"nav.kimi":{message:`Kimi`,description:`网站导航栏中的文本,用于显示Kimi页面,请不要翻译此字段,必须保持为'Kimi'`},"nav.serp":{message:`SERP`,description:`网站导航栏中的文本,用于显示SERP页面,请不要翻译此字段,必须保持为'SERP'`},"nav.webextrator":{message:`WebExtrator`,description:`Text in the website navigation bar to display the WebExtrator page, must remain as 'WebExtrator'`},"nav.image":{message:`Slika`,description:`网站导航栏中的文本,用于显示图片页面`},"nav.music":{message:`Muzika`,description:`网站导航栏中的文本,用于显示音乐页面`},"nav.video":{message:`Video`,description:`网站导航栏中的文本,用于显示视频页面`},"nav.distribution":{message:`Preporučena dobit`,description:`网站导航栏中的文本,用于显示推荐收益页面`},"nav.connections":{message:`Povezivanje`,description:`跳转到 auth.acedata.cloud 连接管理页的菜单项`},"nav.logOut":{message:`Odjavi se`,description:`网站导航栏中的文本,用于退出登录`},"nav.deleteAccount":{message:`Обриши налог`,description:`Menu item to permanently delete the current user account`},"nav.site":{message:`Podešavanje sajta`,description:`网站导航栏中的文本,用于显示站点配置页面`},"nav.subsite":{message:`Moja podstran`,description:`侧边栏“我的分站”入口,仅在站点开启 features.subsite 时显示`},"nav.setting":{message:`Podešavanja`,description:`网站导航栏中的文本,用于显示设置页面`},"nav.headshots":{message:`AI Profilna slika`,description:`网站导航栏中的文本,用于显示站点配置页面`},"nav.more":{message:`Više`,description:`网站导航栏中的文本,用于展开更多服务`},"nav.locale":{message:`Podešavanje jezika`,description:`网站导航栏中的文本,用于更改语言`},"nav.support":{message:`Korisnička podrška`,description:`网站导航栏中的文本,用于显示联系页面`},"nav.darkMode":{message:`Tamni režim`,description:`网站导航栏中的文本,用于切换到深色主题`},"title.alert":{message:`Upozorenje`,description:`警告消息的标题`},"title.placeholderOfSelect":{message:`Molimo izaberite`,description:`选择输入的占位符`},"title.placeholderOfInput":{message:`Molimo unesite`,description:`输入的占位符`},"title.allApplications":{message:`Sve prijave`,description:`显示所有申请的页面标题`},"title.allOrders":{message:`Sve narudžbine`,description:`显示所有订单的页面标题`},"title.orderInfo":{message:`Informacije o narudžbini`,description:`显示订单信息的页面标题`},"title.buyMore":{message:`Dopuni`,description:`页面标题,用于充值。英文必须翻译为“Top Up”,中文为“充值”。`},"title.distribution":{message:`Preporučena dobit`,description:`显示推荐收入的页面标题,意味着用户可以通过邀请他人使用该服务来赚钱`},"title.site":{message:`Podešavanje sajta`,description:`显示站点配置的页面标题`},"title.distributionHistory":{message:`Istorija preporuka`,description:`显示推荐历史的页面标题`},"title.invitee":{message:`Pozvani`,description:`显示邀请人的页面标题`},"title.allUsages":{message:`Istorija korišćenja`,description:`显示API服务所有使用的页面标题`},"title.allCredentials":{message:`Ključevi`,description:`显示所有凭证的页面标题,凭证用于访问API`},"about.title1":{message:`Kontaktirajte nas`,description:`Naslov dela koji prikazuje kontakt informacije`},"about.title2":{message:`Resursi`,description:`Prikazuje deo naslova sa linkovima`},"about.title3":{message:`Linkovi`,description:`Prikazuje deo naslova sa informacijama o podršci`},"about.address":{message:`651 N Broad St, Suite 201, Middletown, DE, USA`,description:`Adresa kompanije`},"about.email":{message:`office@acedata.cloud`,description:`Email kompanije`},"about.link1":{message:`Usluge`,description:`Link ka stranici sa dokumentacijom`},"about.link2":{message:`Razvojna dokumentacija`,description:`Link ka stranici sa uslugama`},"about.link3":{message:`Konzola`,description:`Link ka stranici konzole`},"about.link4":{message:`Profil`,description:`Link ka stranici profila`},"about.link5":{message:`UI platforma`,description:`Link ka centralnoj stranici`},"about.link6":{message:`Preporučeni prihodi`,description:`Link ka stranici sa preporučenim prihodima`},"about.link7":{message:`Podrška`,description:`Link ka stranici sa podrškom`},"about.link8":{message:`Uslovi korišćenja`,description:`Link ka stranici sa uslovima korišćenja`},"about.link9":{message:`Politika privatnosti`,description:`Link ka stranici sa politikom privatnosti`},"theme.light":{message:`Svetla tema`,description:`Naziv svetle teme`},"theme.dark":{message:`Tamna tema`,description:`Naziv tamne teme`},"theme.system":{message:`Sistem`,description:`Naziv sistemske teme, koja automatski menja temu prema sistemskim podešavanjima`},"settings.general":{message:`Opšta podešavanja`,description:`Naslov dela sa opštim podešavanjima na stranici sa podešavanjima`},"settings.language":{message:`Jezik`,description:`Naslov dela sa podešavanjima jezika na stranici sa podešavanjima`},"settings.theme":{message:`Tema`,description:`Naslov dela sa podešavanjima teme na stranici sa podešavanjima`},"settings.seo":{message:`SEO podešavanja`,description:`Naslov dela sa SEO podešavanjima na stranici sa podešavanjima`},"settings.site":{message:`Podešavanja sajta`,description:`Naslov dela sa podešavanjima sajta na stranici sa podešavanjima`},"settings.distribution":{message:`Podešavanja distribucije`,description:`Naslov dela sa podešavanjima distribucije na stranici sa podešavanjima`},"settings.function":{message:`Podešavanja funkcija`,description:`Naslov dela sa podešavanjima funkcija na stranici sa podešavanjima`},"settings.auth":{message:`Način prijave`,description:`Naslov taba 'Način prijave' na stranici sa podešavanjima — omogućava konfiguraciju načina prijave koji su dozvoljeni na sajtu i podrazumevanog načina prijave, vidljivo samo administratorima sajta.`},"settings.apiKey":{message:`API Ključ`,description:`Oznaka API Ključa u bočnoj traci stranice sa podešavanjima - upravljanje API ključem dobavljača usluga (BYOK)`},"field.operations":{message:`Operacije`,description:`Opšti naslov kolone: kolona sa dugmadima za operacije u redovima tabele (uredi, obriši itd.)`},"nav.gemini":{message:`Gemini`,description:`Tekst u navigacionoj traci sajta za prikaz Gemini stranice, mora ostati kao 'Gemini'`},"nav.claude":{message:`Claude`,description:`Tekst u navigacionoj traci sajta za prikaz Claude stranice, mora ostati kao 'Claude'`},"button.detail":{message:`Pogledaj detalje`,description:``},"button.testEnv":{message:`Test okruženje`,description:`Tekst u dugmetu za prebacivanje na test okruženje`},"button.upload":{message:`Otpremi`,description:`Tekst u dugmetu za otpremanje datoteka ili sadržaja`},"message.cnbeian":{message:`Kineska registracija`,description:`Informacije o registraciji u kineskoj oblasti`},"message.copyFailed":{message:`Kopiranje nije uspelo`,description:`Poruka koja se prikazuje kada kopiranje sadržaja nije uspelo`},"nav.tryNow":{message:`Isprobajte odmah`,description:`Tekst u navigacionoj traci sajta koji poziva korisnike da isprobaju uslugu`},"title.coin":{message:`Kriptovaluta`,description:`Prikazuje naslov stranice sa kriptovalutama`},"title.distributionRank":{message:`Preporučeni rang`,description:`Prikazuje naslov stranice sa preporučenim rangom`},"title.distributionPlatformRank":{message:`Rang platforme`,description:`Prikazuje naslov stranice sa rangom platforme`},"customers.name1":{message:`Mark Du`,description:`Ime klijenta`},"customers.job1":{message:`Softverski inženjer`,description:`Zanimanje klijenta`},"customers.comment1":{message:`Ace Data Cloud nam je pružio odličnu uslugu i pomogao nam da povećamo produktivnost. Veoma smo zadovoljni!`,description:`Komentar klijenta`},"customers.name2":{message:`Jacob Williams`,description:`Ime klijenta`},"customers.job2":{message:`Menadžer proizvoda`,description:`Zanimanje klijenta`},"customers.comment2":{message:`Ace Data Cloud je odlična integracijska platforma, kvalitet usluge je izvanredan.`,description:`Komentar klijenta`},"customers.name3":{message:`Larry Henry`,description:`Ime klijenta`},"customers.job3":{message:`Dizajner`,description:`Zanimanje klijenta`},"customers.comment3":{message:`Sviđa mi se usluga Ace Data Cloud, jednostavna za korišćenje i povoljna cena, nadam se da će biti još bolja!`,description:`Komentar klijenta`},"nav.github":{message:`GitHub`,description:`Link ka GitHub repozitorijumu`},"settings.github":{message:`Izvorni kod`,description:`Link za pregled izvornog koda na GitHub-u`},"settings.about":{message:`O aplikaciji`,description:`Naslov sekcije o aplikaciji na stranici sa podešavanjima`},"settings.subsites":{message:`Moje podstranice`,description:`Naslov taba za upravljanje podstranicama u prozoru sa podešavanjima. Vidljivo samo na zvaničnoj glavnoj stranici, podstranice se ne prikazuju.`},"settings.adminOnlyHint":{message:`Ова секција је видљива само администраторима сајта, обични корисници не могу да је приступе.`,description:`Ово је порука која се приказује на врху таба подешавања сајта / SEO подешавања / подешавања дистрибуције / подешавања функција, која је видљива само администраторима.`},"settings.officialOnlyHint":{message:`Ова секција је видљива само на главном сајту, подсајтови неће бити приказани.`,description:`Ово је порука која се приказује на врху таба 'Моји подсајтови', објашњавајући да је овај улаз доступан само на званичном главном сајту.`},"settings.customDomain":{message:`Прилагођени домен`,description:`Title for the custom-domain management tab in the settings popup. Visible only on subsites (non-main-official hosts) for site admins.`},"settings.buildNow":{message:`Jednim klikom`,description:`Tekst dugmeta 'Jednim klikom izgradite podstranicu' na stranici o aplikaciji, vidljivo samo na zvaničnoj glavnoj stranici`},"settings.poweredBy":{message:`Otvoreni projekat`,description:`Naslov koji prikazuje na kojem otvorenom projektu je zasnovana ova stranica na stranici o aplikaciji`},"settings.poweredByTip":{message:`Ova stranica je zasnovana na Nexior otvorenom projektu, kod je potpuno otvoren.`,description:`Objašnjenje na stranici o aplikaciji o kojem otvorenom projektu je zasnovana ova stranica`},"settings.apiService":{message:`API usluga`,description:`Naslov koji prikazuje pružatelja API usluga na stranici o aplikaciji`},"settings.apiServiceTip":{message:`API uslugu pruža Ace Data Cloud.`,description:`Objašnjenje na stranici o aplikaciji o pružatelju API usluga`},"settings.buildYourOwn":{message:`Izgradite svoju verziju`,description:`Naslov koji podseća korisnike da mogu izgraditi sličnu stranicu na stranici o aplikaciji`},"settings.buildYourOwnTip":{message:`Želite da izgradite sličnu AI stranicu? Kontaktirajte nas za podršku pri implementaciji.`,description:`Objašnjenje o izgradnji slične verzije na stranici o aplikaciji`},"settings.contactUs":{message:`Kontaktirajte podršku`,description:`Tekst dugmeta za kontaktiranje podrške`},"message.viewOnGithub":{message:`Pogledajte na GitHub-u`,description:`Tekst linka za pregled projekta na GitHub-u`},"title.notFound":{message:`Stranica nije pronađena`,description:`Naslov 404 stranice`},"message.notFound":{message:`Stranica koju ste tražili ne postoji, možda je link promenjen ili uklonjen. Vratite se na početnu stranicu i nastavite istraživanje AI usluga AceData.`,description:`Opis podnaslova 404 stranice`},"message.notFoundEyebrow":{message:`Došlo je do greške`,description:`Tekst male oznake na vrhu 404 stranice`},"message.notFoundPath":{message:`Zahtevani put`,description:`Oznaka koja prikazuje trenutni zahtevani put na 404 stranici`},"button.backToHome":{message:`Povratak na početnu stranicu`,description:`Tekst dugmeta za povratak na početnu stranicu`},"button.goBack":{message:`Povratak na prethodnu stranicu`,description:`Tekst dugmeta za povratak na prethodnu stranicu u istoriji pregleda`},"title.apiCode":{message:`API code for this request`,description:`Title of the dialog that shows the equivalent API code (curl / Python / Node) that would reproduce a result generated inside the product`},"message.viewCodeHint":{message:`Show API code for this request`,description:`Tooltip text on the View Code button shown alongside result-card action buttons (U1/U2/Download/Extend/...). Clicking the button opens a dialog with curl / Python / Node snippets that reproduce the same generation via the public API.`},"button.viewCode":{message:`View code`,description:`Button text that opens a dialog with the equivalent API code (curl / Python / Node) for the current result, similar to the OpenAI Playground 'View code' affordance`},"button.getApiKey":{message:`Get an API key`,description:`Link text in the API code dialog footer that opens the platform console page where users can create an API key`},"button.apiPlatform":{message:`API Platform`,description:`API code dialog footer button label. Clicking opens https://platform.acedata.cloud/ in a new tab so users can manage their API keys, balance and usage.`},"message.apiCodeIntro":{message:`Run this from your own code to produce the same result. Replace <YOUR_API_KEY> with a key from your platform console.`,description:`Helper text shown above the code tabs in the API code dialog, explaining how to use the snippet`},"message.uploadInProgress":{message:`Otpremanje referentnih datoteka je još u toku — sačekajte trenutak.`,description:`Toast shown when the user clicks the Generate button while one or more reference uploads are still in flight. Asks them to wait for uploads to complete before retrying.`},"appUpgrade.title":{message:`Update required`,description:`Title of the native-app version gate modal shown at startup when the installed build is older than what the backend supports.`},"appUpgrade.blockMessage":{message:`This version is no longer supported. Please update from the app store to continue.`,description:`Body text of the hard-block upgrade modal shown when the installed version is below min_supported. The modal has no dismiss affordance — the only button opens the app store.`},"appUpgrade.softMessage":{message:`A newer version is available. Update from the app store for the best experience.`,description:`Body text of the soft upgrade prompt shown when the installed version is below latest but above min_supported. The user can dismiss and keep using the app.`},"appUpgrade.openStore":{message:`Update now`,description:`Primary button on the upgrade modal — opens the App Store / Play Store URL in the system browser.`},"appUpgrade.later":{message:`Later`,description:`Secondary button on the soft upgrade prompt — dismisses the modal and lets the user keep using the current version. Only shown for non-forced upgrades.`},"button.deletePermanently":{message:`Трајно обриши налог`,description:`Final red delete button at the bottom of the delete confirmation dialog`},"message.deleteAccountWarning":{message:`Ова радња је неповратна! Ваш налог и сви његови подаци биће трајно обрисани и не могу се повратити.`,description:`Red warning banner at the top of the delete confirmation dialog`},"message.deleteAccountConsequences":{message:`Трајно се бришу: профил, стање и кредити, апликације и претплате, API кључеви и везе за пријаву трећих страна.`,description:`Explains what data will be removed in the delete confirmation dialog`},"message.deleteAccountTypePrompt":{message:`Унесите своје корисничко име да бисте потврдили брисање:`,description:`Instructs the user to type their username to confirm; the username is shown separately below`},"message.deleteAccountPlaceholder":{message:`Овде унесите своје корисничко име`,description:`Placeholder for the username confirmation input`}};export{e as default};