@acedatacloud/nexior 3.258.5 → 3.258.6

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 (113) hide show
  1. package/dist/assets/{ApiCodeButton-B2l4sY7h.js → ApiCodeButton-NqboHz1M.js} +1 -1
  2. package/dist/assets/{Auth-D8LrMpC_.js → Auth-BrxDduoA.js} +1 -1
  3. package/dist/assets/{BotPlaceholder-Dd8zEJxY.js → BotPlaceholder-CdZM9k0A.js} +1 -1
  4. package/dist/assets/{Callback-DH3he1Y_.js → Callback-CH_u3uHQ.js} +1 -1
  5. package/dist/assets/{Console-BduhDRGB.js → Console-BxY8ekCt.js} +1 -1
  6. package/dist/assets/{Consumption-DpE91zpd.js → Consumption-C_iQsNzm.js} +1 -1
  7. package/dist/assets/Conversation-B_2Ow_FG.js +3 -0
  8. package/dist/assets/{CopyToClipboard-iiCeJbY4.js → CopyToClipboard-3bG2Wqkv.js} +1 -1
  9. package/dist/assets/{Detail-BepyI-M8.js → Detail-B0ZcQ-pp.js} +2 -2
  10. package/dist/assets/{Extra-D3srIR-V.js → Extra-B6zFHNbN.js} +1 -1
  11. package/dist/assets/{FilePreview-L4x0zLih.js → FilePreview-BYpUaum_.js} +1 -1
  12. package/dist/assets/{Hailuo-DPNrpD8e.js → Hailuo-Crn-FCyD.js} +1 -1
  13. package/dist/assets/{History-Bb-efz7-.js → History-BxPLzIVn.js} +1 -1
  14. package/dist/assets/{ImagePreview-BbK_HGTQ.js → ImagePreview-D9A0kP8b.js} +1 -1
  15. package/dist/assets/{ImageWrapper-DXp5GBjP.js → ImageWrapper-A30X-L_N.js} +1 -1
  16. package/dist/assets/{Index-BBV-eQy8.js → Index-0c7G3-BE.js} +1 -1
  17. package/dist/assets/{Index-CiAnxTZe2.js → Index-33bdeqjq2.js} +1 -1
  18. package/dist/assets/{Index-C-XR3H0z.js → Index-83lxHqTa.js} +1 -1
  19. package/dist/assets/{Index-BU7VENcX.js → Index-B7d7ceW4.js} +1 -1
  20. package/dist/assets/Index-BEG7w4vu.css +1 -0
  21. package/dist/assets/{Index-Bc7_qER6.js → Index-BQNc-6-9.js} +1 -1
  22. package/dist/assets/{Index-DjjcDp8s.js → Index-BT_hQcTP.js} +1 -1
  23. package/dist/assets/{Index-CUao-3KK.js → Index-BtPm7l8I.js} +1 -1
  24. package/dist/assets/{Index-DkUoeVcp.js → Index-Bztyknr6.js} +1 -1
  25. package/dist/assets/{Index-0xCfFD7t.js → Index-CE_iv59g.js} +1 -1
  26. package/dist/assets/{Index-DMEJvnAr2.js → Index-CL6NpW4K2.js} +1 -1
  27. package/dist/assets/{Index-BI5r_JzS.js → Index-CT2FvdNz.js} +1 -1
  28. package/dist/assets/{Index-twW0bIHP2.js → Index-CTsQat072.js} +1 -1
  29. package/dist/assets/Index-CW7z0mu4.js +1 -0
  30. package/dist/assets/{Index-zTeiGx2s.js → Index-Ch0Zg4xo.js} +1 -1
  31. package/dist/assets/{Index-DOZmr9PP.js → Index-Cs6yd0nI.js} +1 -1
  32. package/dist/assets/{Index-C7N2QP1b.js → Index-DD_8Bw1V.js} +1 -1
  33. package/dist/assets/{Index-mBXNjCWi.js → Index-D_10qdeX.js} +1 -1
  34. package/dist/assets/{Index-BH17uI0C.js → Index-DeDLXp2K.js} +1 -1
  35. package/dist/assets/{Index-SJc15a84.js → Index-DexhP4nd.js} +1 -1
  36. package/dist/assets/{Index-zEIDZoaK.js → Index-DgWY2mGA.js} +1 -1
  37. package/dist/assets/{Index-DtQBa26j.js → Index-DoEUQ23k.js} +1 -1
  38. package/dist/assets/{Index-CxGW5F3B.js → Index-DpbCeXOw.js} +1 -1
  39. package/dist/assets/{Index-ypTbWxgQ.js → Index-DupfgbYW.js} +1 -1
  40. package/dist/assets/{Index-Cuh1xlon.js → Index-NKafxKC8.js} +1 -1
  41. package/dist/assets/{Index-PAEHZhMt.js → Index-ciVOW1Ur.js} +1 -1
  42. package/dist/assets/{Invitees-CHhqQaMW.js → Invitees-DK6CA_5W.js} +1 -1
  43. package/dist/assets/{List-CgX26kOG.js → List-CTw7a7wI.js} +1 -1
  44. package/dist/assets/{List-BYf5afee.js → List-D0I5bkO-.js} +1 -1
  45. package/dist/assets/{List-DjFN53_R.js → List-Yfe57QYW.js} +1 -1
  46. package/dist/assets/{Main-BoqJBC-B.js → Main-BYXqVfKN.js} +1 -1
  47. package/dist/assets/{Model-C6PRJVd0.js → Model-DAzWzfIc.js} +1 -1
  48. package/dist/assets/{Navigator-BxCYjX1e.js → Navigator-DFsdS_7o.js} +1 -1
  49. package/dist/assets/{NoTasks-W7aQUGOX.js → NoTasks-CbOYe2qY.js} +1 -1
  50. package/dist/assets/{NotFound-CIlRU-1h.js → NotFound-D-SQelbp.js} +1 -1
  51. package/dist/assets/{Pagination-DYVnAUwY.js → Pagination-CdJl-7tI.js} +1 -1
  52. package/dist/assets/{Pay-Df7S2mUw.js → Pay-D2G71IpT.js} +1 -1
  53. package/dist/assets/{Player-38l3vbY5.js → Player-R-oiPhQf.js} +1 -1
  54. package/dist/assets/{Status-Cw5oPTwz.js → Status-Dl6-5h27.js} +1 -1
  55. package/dist/assets/{Subscribe-Cu8YATp6.js → Subscribe-B4MdboRv.js} +1 -1
  56. package/dist/assets/{TabSwitcher-BWuXBaZf.js → TabSwitcher-pXY73Avj.js} +1 -1
  57. package/dist/assets/{Tts-DYoreedr.js → Tts-BR1NyApD.js} +1 -1
  58. package/dist/assets/{VideoPlayer-BcKoFkt2.js → VideoPlayer-nyvPlv-k.js} +1 -1
  59. package/dist/assets/VueMarkdown-CT-QpmIP.js +20 -0
  60. package/dist/assets/{avatar-CswcYLxs.js → avatar-DhuWO0LI.js} +1 -1
  61. package/dist/assets/{basic-BP1oT7BY.js → basic-DTggik00.js} +1 -1
  62. package/dist/assets/{chat-FYWTqZsU.js → chat-DrUjHYUF.js} +1 -1
  63. package/dist/assets/{codingBridge-CDKPYZ4a.js → codingBridge-BkqK0Vf1.js} +1 -1
  64. package/dist/assets/{createTaskActions-BQ-aSJVj.js → createTaskActions--a509Yw6.js} +1 -1
  65. package/dist/assets/{date-picker-BAqcD-Wg.js → date-picker-Bt1dkqzs.js} +1 -1
  66. package/dist/assets/{dropdown-Co7lDTnF.js → dropdown-BQydfieb.js} +1 -1
  67. package/dist/assets/{esm-CpQajD_h.js → esm-BidxkZUI.js} +3 -3
  68. package/dist/assets/{esm-Cf2Kud26.js → esm-C4qNxmbC.js} +2 -2
  69. package/dist/assets/{esm-C4i2DAUa.js → esm-CgtcihtW.js} +1 -1
  70. package/dist/assets/{esm-DuCDLHoq.js → esm-CljmShbh.js} +1 -1
  71. package/dist/assets/{esm-EZLyRzYE.js → esm-Dzxd9Qh-.js} +1 -1
  72. package/dist/assets/{fish-BT2_be7l.js → fish-Djul2Vrm.js} +1 -1
  73. package/dist/assets/{flux-BclpClj7.js → flux-C64zEHwA.js} +1 -1
  74. package/dist/assets/{hailuo-Y-scwwig.js → hailuo-i_AB-Iuk.js} +1 -1
  75. package/dist/assets/{headshots-DiiX6Iky.js → headshots-Dco3wuNc.js} +1 -1
  76. package/dist/assets/{image-D9DCBoK1.js → image-DFWhL-qY.js} +1 -1
  77. package/dist/assets/{index-DJri8swR.js → index-rGtIyz5r.js} +3 -3
  78. package/dist/assets/{index.browser.esm-D5Ae3WgS.js → index.browser.esm-C0EEiCYZ.js} +1 -1
  79. package/dist/assets/{index.es-DU_1oGwZ.js → index.es-C6FYBs69.js} +1 -1
  80. package/dist/assets/{input-number-C_RzLIuB.js → input-number-CsGDONtY.js} +1 -1
  81. package/dist/assets/{kling-BBQZ93Dy.js → kling-BkYnB2_g.js} +1 -1
  82. package/dist/assets/{luma-DDp0e5Zi.js → luma-DuO1Vecq.js} +1 -1
  83. package/dist/assets/{midjourney-8rfXPSG-.js → midjourney-DgYrR6qR.js} +1 -1
  84. package/dist/assets/{nanobanana-C8D4Sp-A.js → nanobanana-BR2cjbS9.js} +1 -1
  85. package/dist/assets/{openaiimage-DFeuj6yG.js → openaiimage-dOpqvqk1.js} +1 -1
  86. package/dist/assets/{pagination-BOw_ac_B.js → pagination-DwRnUll_.js} +1 -1
  87. package/dist/assets/{pika-Du2uOPdA.js → pika-BqggKbsX.js} +1 -1
  88. package/dist/assets/{pixverse-CqLExG2M.js → pixverse-B7_icc2x.js} +1 -1
  89. package/dist/assets/{popover-_I2uBjba.js → popover-BMeV9cbI.js} +1 -1
  90. package/dist/assets/{producer-yEBdue9E.js → producer-DG9aGsIi.js} +1 -1
  91. package/dist/assets/{qrart-ClPB_6gJ.js → qrart-C42aE7DY.js} +1 -1
  92. package/dist/assets/{seedance-C41O5QvV.js → seedance-Akq2E2jv.js} +1 -1
  93. package/dist/assets/{seedream-BkvvuubJ.js → seedream-TqIzzsu2.js} +1 -1
  94. package/dist/assets/{select-BYVaaZev.js → select-t5c7Lp69.js} +1 -1
  95. package/dist/assets/{serp-CePYUOcY.js → serp-CVJejsUb.js} +1 -1
  96. package/dist/assets/{slider-DEYGehLw.js → slider-KrmERTuV.js} +1 -1
  97. package/dist/assets/{solana-wallets-idKgKkAy.js → solana-wallets-24JZJI5l.js} +2 -2
  98. package/dist/assets/{solana-wallets-vue-g0Ovwp7A.js → solana-wallets-vue-D_lRfQoi.js} +1 -1
  99. package/dist/assets/{sora-DIzhgTvR.js → sora-Bda-f8aa.js} +1 -1
  100. package/dist/assets/{suno-DS9k0PmU.js → suno-DFVc64us.js} +1 -1
  101. package/dist/assets/{switch-Bzrgl4uF.js → switch-N9PR2d6x.js} +1 -1
  102. package/dist/assets/{veo-BvrzIgCf.js → veo-CepXfpF_.js} +1 -1
  103. package/dist/assets/{wan-pRntCUXj.js → wan-BcFXc1j0.js} +1 -1
  104. package/dist/assets/{web-DEMx7nwx.js → web-AiwF5z8L.js} +1 -1
  105. package/dist/assets/{web-DOXq4AV2.js → web-BdKCzi45.js} +1 -1
  106. package/dist/assets/{web-Dwp0lRE9.js → web-BniynU6f.js} +1 -1
  107. package/dist/assets/{web-DILmUl4q.js → web-Cz2g83Wq.js} +1 -1
  108. package/dist/assets/{webextrator-C6Nt4AQ8.js → webextrator-iZ5Epjr1.js} +1 -1
  109. package/dist/index.html +1 -1
  110. package/package.json +1 -1
  111. package/dist/assets/Conversation-DumU28hu.js +0 -22
  112. package/dist/assets/Index-CJ6gJ8Sq.css +0 -1
  113. package/dist/assets/Index-ljoDhjow.js +0 -1
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,N as n,P as r,Ut as i,X as a,et as o,lt as s,tt as c,ut as l}from"./vendor-chart-Df3WBvr0.js";import{n as u,t as d}from"./table-BjrEDV1-.js";import{t as f}from"./card-pDppUT2_.js";import{n as p,t as m}from"./row-BgYJmo3R.js";import{t as h}from"./Pagination-DYVnAUwY.js";import{Ot as g,S as _,fn as v}from"./index-DJri8swR.js";import{t as y}from"./CopyToClipboard-iiCeJbY4.js";var b=r({name:`ConsoleDistributionList`,components:{Pagination:h,CopyToClipboard:y,ElRow:m,ElCol:p,ElTable:d,ElTableColumn:u,ElCard:f},data(){return{distributionHistories:[],distributionStatus:void 0,loading:!1,total:void 0,limit:10}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||`1`)}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData()},methods:{getPriceString:g,onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},onFetchData(){this.loading=!0,Promise.all([this.onFetchDistributionHistory()]).finally(()=>{this.loading=!1})},async onFetchDistributionHistory(){let{data:e}=await v.getAll({user_id:this.$store.getters.user.id,ordering:`-created_at`,limit:this.limit,offset:(this.page-1)*this.limit});this.distributionHistories=e.items,this.total=e.count}}}),x={class:`title`},S={class:`key`},C={class:`copy`},w={class:`key`},T={class:`copy`},E={class:`price`},D={class:`description`},O={class:`description`},k={class:`created-at`},A={class:`pagination m-v-lg`};function j(r,u,d,f,p,m){let h=o(`el-col`),g=o(`el-row`),_=o(`copy-to-clipboard`),v=o(`el-table-column`),y=o(`el-table`),b=o(`el-card`),j=o(`pagination`),M=c(`loading`);return a(),e(g,{class:`panel`},{default:s(()=>[n(h,{span:24},{default:s(()=>[n(g,null,{default:s(()=>[n(h,{span:24},{default:s(()=>[t(`h2`,x,i(r.$t(`common.title.distributionHistory`)),1)]),_:1})]),_:1}),n(g,null,{default:s(()=>[n(h,{span:24},{default:s(()=>[n(b,{shadow:`hover`},{default:s(()=>[l((a(),e(y,{data:r.distributionHistories,stripe:``},{default:s(()=>[n(v,{prop:`id`,label:r.$t(`distribution.field.id`),"class-name":`text-center`,width:`350px`},{default:s(e=>[t(`span`,S,i(e.row.id),1),t(`span`,C,[n(_,{content:e.row.id},null,8,[`content`])])]),_:1},8,[`label`]),n(v,{prop:`id`,label:r.$t(`distribution.field.userId`),"class-name":`text-center`,width:`350px`},{default:s(e=>[t(`span`,w,i(e.row.user_id),1),t(`span`,T,[n(_,{content:e.row.user_id},null,8,[`content`])])]),_:1},8,[`label`]),n(v,{label:r.$t(`distribution.field.price`),width:`100px`},{default:s(e=>[t(`span`,E,i(r.getPriceString({value:e.row?.price})),1)]),_:1},8,[`label`]),n(v,{label:r.$t(`distribution.field.reward`),width:`100px`},{default:s(e=>[t(`span`,D,i(r.getPriceString({value:e.row?.reward})),1)]),_:1},8,[`label`]),n(v,{label:r.$t(`distribution.field.percentage`),width:`120px`},{default:s(e=>[t(`span`,O,i(e.row.percentage)+`%`,1)]),_:1},8,[`label`]),n(v,{label:r.$t(`distribution.field.createdAt`),width:`200px`},{default:s(e=>[t(`span`,k,i(r.$dayjs.format(e.row.created_at)),1)]),_:1},8,[`label`])]),_:1},8,[`data`])),[[M,r.loading]])]),_:1})]),_:1})]),_:1}),n(g,null,{default:s(()=>[n(h,{span:10,offset:14},{default:s(()=>[t(`div`,A,[n(j,{"current-page":r.page,"page-size":r.limit,total:r.total,onChange:r.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var M=_(b,[[`render`,j],[`__scopeId`,`data-v-74b9e778`]]);export{M as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,N as n,P as r,Ut as i,X as a,et as o,lt as s,tt as c,ut as l}from"./vendor-chart-Df3WBvr0.js";import{n as u,t as d}from"./table-BjrEDV1-.js";import{t as f}from"./card-pDppUT2_.js";import{n as p,t as m}from"./row-BgYJmo3R.js";import{t as h}from"./Pagination-CdJl-7tI.js";import{Ot as g,S as _,fn as v}from"./index-rGtIyz5r.js";import{t as y}from"./CopyToClipboard-3bG2Wqkv.js";var b=r({name:`ConsoleDistributionList`,components:{Pagination:h,CopyToClipboard:y,ElRow:m,ElCol:p,ElTable:d,ElTableColumn:u,ElCard:f},data(){return{distributionHistories:[],distributionStatus:void 0,loading:!1,total:void 0,limit:10}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||`1`)}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData()},methods:{getPriceString:g,onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},onFetchData(){this.loading=!0,Promise.all([this.onFetchDistributionHistory()]).finally(()=>{this.loading=!1})},async onFetchDistributionHistory(){let{data:e}=await v.getAll({user_id:this.$store.getters.user.id,ordering:`-created_at`,limit:this.limit,offset:(this.page-1)*this.limit});this.distributionHistories=e.items,this.total=e.count}}}),x={class:`title`},S={class:`key`},C={class:`copy`},w={class:`key`},T={class:`copy`},E={class:`price`},D={class:`description`},O={class:`description`},k={class:`created-at`},A={class:`pagination m-v-lg`};function j(r,u,d,f,p,m){let h=o(`el-col`),g=o(`el-row`),_=o(`copy-to-clipboard`),v=o(`el-table-column`),y=o(`el-table`),b=o(`el-card`),j=o(`pagination`),M=c(`loading`);return a(),e(g,{class:`panel`},{default:s(()=>[n(h,{span:24},{default:s(()=>[n(g,null,{default:s(()=>[n(h,{span:24},{default:s(()=>[t(`h2`,x,i(r.$t(`common.title.distributionHistory`)),1)]),_:1})]),_:1}),n(g,null,{default:s(()=>[n(h,{span:24},{default:s(()=>[n(b,{shadow:`hover`},{default:s(()=>[l((a(),e(y,{data:r.distributionHistories,stripe:``},{default:s(()=>[n(v,{prop:`id`,label:r.$t(`distribution.field.id`),"class-name":`text-center`,width:`350px`},{default:s(e=>[t(`span`,S,i(e.row.id),1),t(`span`,C,[n(_,{content:e.row.id},null,8,[`content`])])]),_:1},8,[`label`]),n(v,{prop:`id`,label:r.$t(`distribution.field.userId`),"class-name":`text-center`,width:`350px`},{default:s(e=>[t(`span`,w,i(e.row.user_id),1),t(`span`,T,[n(_,{content:e.row.user_id},null,8,[`content`])])]),_:1},8,[`label`]),n(v,{label:r.$t(`distribution.field.price`),width:`100px`},{default:s(e=>[t(`span`,E,i(r.getPriceString({value:e.row?.price})),1)]),_:1},8,[`label`]),n(v,{label:r.$t(`distribution.field.reward`),width:`100px`},{default:s(e=>[t(`span`,D,i(r.getPriceString({value:e.row?.reward})),1)]),_:1},8,[`label`]),n(v,{label:r.$t(`distribution.field.percentage`),width:`120px`},{default:s(e=>[t(`span`,O,i(e.row.percentage)+`%`,1)]),_:1},8,[`label`]),n(v,{label:r.$t(`distribution.field.createdAt`),width:`200px`},{default:s(e=>[t(`span`,k,i(r.$dayjs.format(e.row.created_at)),1)]),_:1},8,[`label`])]),_:1},8,[`data`])),[[M,r.loading]])]),_:1})]),_:1})]),_:1}),n(g,null,{default:s(()=>[n(h,{span:10,offset:14},{default:s(()=>[t(`div`,A,[n(j,{"current-page":r.page,"page-size":r.limit,total:r.total,onChange:r.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var M=_(b,[[`render`,j],[`__scopeId`,`data-v-74b9e778`]]);export{M as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{E as e,N as t,O as n,P as r,X as i,_ as a,et as o,k as s,ut as c,y as l}from"./vendor-chart-Df3WBvr0.js";import{t as u}from"./progress-C5HwZSvS.js";import{S as d}from"./index-DJri8swR.js";import{t as f}from"./index.es-DU_1oGwZ.js";var p=r({name:`ImagePreview`,components:{FontAwesomeIcon:f,ElProgress:u},props:{url:{type:String,required:!0},name:{type:String,required:!0},percentage:{type:Number,required:!1,default:void 0},closable:{type:Boolean,required:!1,default:!0}},emits:[`remove`],computed:{isUploading(){return typeof this.percentage==`number`&&this.percentage<100},displayPercentage(){return typeof this.percentage==`number`?this.percentage:0}}}),m={class:`image w-[50px] h-[50px] relative rounded-[var(--el-border-radius-base)] overflow-hidden shadow-sm bg-[var(--el-fill-color-lighter)]`},h=[`src`,`alt`],g={class:`overlay absolute inset-0 bg-[var(--el-mask-color)] backdrop-blur-[1px]`},_={key:0,class:`close absolute cursor-pointer top-[4px] right-[4px] bg-[rgba(0,0,0,0.65)] text-white w-[16px] h-[16px] rounded-full flex text-[10px] text-center items-center justify-center hover:bg-[rgba(0,0,0,0.8)]`};function v(r,u,d,f,p,v){let y=o(`el-progress`),b=o(`font-awesome-icon`);return i(),s(`div`,m,[e(`img`,{class:`w-full h-full object-cover`,src:r.url,alt:r.name},null,8,h),c(e(`div`,g,null,512),[[a,r.isUploading]]),c(t(y,{type:`circle`,"stroke-width":4,percentage:r.displayPercentage,width:34,class:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[34px] h-[34px] z-[10] m-auto text-[12px]`},null,8,[`percentage`]),[[a,r.isUploading]]),r.closable?(i(),s(`div`,_,[t(b,{icon:`fa-solid fa-xmark`,class:`icon icon-close`,onClick:u[0]||=l(e=>r.$emit(`remove`),[`stop`])})])):n(``,!0)])}var y=d(p,[[`render`,v]]);export{y as t};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{E as e,N as t,O as n,P as r,X as i,_ as a,et as o,k as s,ut as c,y as l}from"./vendor-chart-Df3WBvr0.js";import{t as u}from"./progress-C5HwZSvS.js";import{S as d}from"./index-rGtIyz5r.js";import{t as f}from"./index.es-C6FYBs69.js";var p=r({name:`ImagePreview`,components:{FontAwesomeIcon:f,ElProgress:u},props:{url:{type:String,required:!0},name:{type:String,required:!0},percentage:{type:Number,required:!1,default:void 0},closable:{type:Boolean,required:!1,default:!0}},emits:[`remove`],computed:{isUploading(){return typeof this.percentage==`number`&&this.percentage<100},displayPercentage(){return typeof this.percentage==`number`?this.percentage:0}}}),m={class:`image w-[50px] h-[50px] relative rounded-[var(--el-border-radius-base)] overflow-hidden shadow-sm bg-[var(--el-fill-color-lighter)]`},h=[`src`,`alt`],g={class:`overlay absolute inset-0 bg-[var(--el-mask-color)] backdrop-blur-[1px]`},_={key:0,class:`close absolute cursor-pointer top-[4px] right-[4px] bg-[rgba(0,0,0,0.65)] text-white w-[16px] h-[16px] rounded-full flex text-[10px] text-center items-center justify-center hover:bg-[rgba(0,0,0,0.8)]`};function v(r,u,d,f,p,v){let y=o(`el-progress`),b=o(`font-awesome-icon`);return i(),s(`div`,m,[e(`img`,{class:`w-full h-full object-cover`,src:r.url,alt:r.name},null,8,h),c(e(`div`,g,null,512),[[a,r.isUploading]]),c(t(y,{type:`circle`,"stroke-width":4,percentage:r.displayPercentage,width:34,class:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[34px] h-[34px] z-[10] m-auto text-[12px]`},null,8,[`percentage`]),[[a,r.isUploading]]),r.closable?(i(),s(`div`,_,[t(b,{icon:`fa-solid fa-xmark`,class:`icon icon-close`,onClick:u[0]||=l(e=>r.$emit(`remove`),[`stop`])})])):n(``,!0)])}var y=d(p,[[`render`,v]]);export{y as t};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{D as e,M as t,O as n,P as r,Ut as i,X as a,et as o,k as s,lt as c}from"./vendor-chart-Df3WBvr0.js";import{t as l}from"./button-DgZFgZDr.js";import{S as u}from"./index-DJri8swR.js";var d=r({name:`ImageWrapper`,components:{ElButton:l},props:{src:{type:String,required:!0},rawSrc:{type:String,required:!1,default:void 0}},methods:{onOpenUrl(e){window.open(e,`_blank`)},onReload(e){let t=e.target,n=new URL(t.src),r=n.searchParams.get(`retry`);if(!r)n.searchParams.set(`retry`,`1`);else if(parseInt(r)<2)n.searchParams.set(`retry`,(parseInt(r)+1).toString());else return;t.src=n.toString()}}}),f={class:`image-wrapper`},p=[`src`];function m(r,l,u,d,m,h){let g=o(`el-button`);return a(),s(`div`,f,[r.src?(a(),s(`img`,{key:0,src:r.src,class:`image`,onError:l[0]||=e=>r.onReload(e)},null,40,p)):n(``,!0),r.rawSrc?(a(),e(g,{key:1,type:`info`,round:``,class:`btn-raw`,onClick:l[1]||=e=>r.onOpenUrl(r.rawSrc)},{default:c(()=>[t(i(r.$t(`common.button.seeRawImage`)),1)]),_:1})):n(``,!0)])}var h=u(d,[[`render`,m],[`__scopeId`,`data-v-4deff0d6`]]);export{h as t};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{D as e,M as t,O as n,P as r,Ut as i,X as a,et as o,k as s,lt as c}from"./vendor-chart-Df3WBvr0.js";import{t as l}from"./button-DgZFgZDr.js";import{S as u}from"./index-rGtIyz5r.js";var d=r({name:`ImageWrapper`,components:{ElButton:l},props:{src:{type:String,required:!0},rawSrc:{type:String,required:!1,default:void 0}},methods:{onOpenUrl(e){window.open(e,`_blank`)},onReload(e){let t=e.target,n=new URL(t.src),r=n.searchParams.get(`retry`);if(!r)n.searchParams.set(`retry`,`1`);else if(parseInt(r)<2)n.searchParams.set(`retry`,(parseInt(r)+1).toString());else return;t.src=n.toString()}}}),f={class:`image-wrapper`},p=[`src`];function m(r,l,u,d,m,h){let g=o(`el-button`);return a(),s(`div`,f,[r.src?(a(),s(`img`,{key:0,src:r.src,class:`image`,onError:l[0]||=e=>r.onReload(e)},null,40,p)):n(``,!0),r.rawSrc?(a(),e(g,{key:1,type:`info`,round:``,class:`btn-raw`,onClick:l[1]||=e=>r.onOpenUrl(r.rawSrc)},{default:c(()=>[t(i(r.$t(`common.button.seeRawImage`)),1)]),_:1})):n(``,!0)])}var h=u(d,[[`render`,m],[`__scopeId`,`data-v-4deff0d6`]]);export{h as t};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,Ht as i,M as a,N as o,O as s,P as c,Q as l,Ut as u,X as d,_ as f,et as p,k as m,lt as h,ut as g,x as _}from"./vendor-chart-Df3WBvr0.js";import{t as v}from"./button-DgZFgZDr.js";import{r as y,t as b}from"./select-BYVaaZev.js";import{t as x}from"./upload-B8zBOx3w.js";import{t as S}from"./tooltip-C-9nDsaA.js";import{t as C}from"./image-D9DCBoK1.js";import{t as w}from"./alert-Bgv5POrX.js";import{t as T}from"./drawer-BhAAsvLB.js";import{Dn as E,En as D,Mn as O,On as k,Tn as A,Vr as ee,jn as te,kn as j,wn as M}from"./constants-SseKgNeZ.js";import{Ct as N,Dt as P,On as F,S as I,St as L,Tt as R,dr as z,in as B,mr as V,wt as H,xr as U}from"./index-DJri8swR.js";import{t as W}from"./index.es-DU_1oGwZ.js";import{t as G}from"./CopyToClipboard-iiCeJbY4.js";import{t as K}from"./ImagePreview-BbK_HGTQ.js";import{t as q}from"./BotPlaceholder-Dd8zEJxY.js";import{i as J,n as Y,t as X}from"./pagination-BOw_ac_B.js";import{n as Z,t as Q}from"./NoTasks-W7aQUGOX.js";import{t as ne}from"./Consumption-DpE91zpd.js";import{t as re}from"./ApiCodeButton-B2l4sY7h.js";import{t as ie}from"./VideoPlayer-BcKoFkt2.js";var ae=c({name:`LayoutSora`,components:{ElDrawer:T,ElButton:v,FontAwesomeIcon:W},data(){return{drawer:!1}}}),oe={class:`main flex flex-row flex-1`},se={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ce={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function le(t,n,i,a,s,c){let l=p(`font-awesome-icon`),u=p(`el-button`),f=p(`el-drawer`);return d(),m(`div`,oe,[r(`div`,se,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,ce,[e(t.$slots,`result`,{},void 0,!0)]),o(u,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:h(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1}),o(f,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:h(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ue=I(ae,[[`render`,le],[`__scopeId`,`data-v-bbee238c`]]),de=c({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:O,label:`sora-2`},{value:te,label:`sora-2-pro`}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){let t=this.$store.state.sora?.config||{},n=M[e]||[10],r=t.duration,i=r&&n.includes(r)?r:n.includes(10)?10:n[0],a={...t,model:e,duration:i,size:t.size||`small`};this.$store.commit(`sora/setConfig`,a)}}},mounted(){this.value||=E}}),fe={class:`field`},pe={class:`title font-bold`};function me(e,t,i,a,s,c){let f=p(`el-option`),g=p(`el-select`);return d(),m(`div`,fe,[r(`h2`,pe,u(e.$t(`sora.name.model`)),1),o(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`sora.placeholder.select`)},{default:h(()=>[(d(!0),m(_,null,l(e.options,e=>(d(),n(f,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var he=I(de,[[`render`,me],[`__scopeId`,`data-v-0cb7913d`]]),ge=c({name:`ActionSelector`,components:{ElSelect:y,ElOption:b},data(){return{}},computed:{options(){return[{value:`text2video`,label:this.$t(`sora.button.action1`)},{value:`image2video`,label:this.$t(`sora.button.action2`)}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit(`sora/setConfig`,{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||=D}}),_e={class:`field`},ve={class:`title font-bold`},ye={class:`float-left`};function be(e,t,i,a,s,c){let f=p(`el-option`),g=p(`el-select`);return d(),m(`div`,_e,[r(`h2`,ve,u(e.$t(`sora.name.action`)),1),o(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`sora.placeholder.select`),clearable:``},{default:h(()=>[(d(!0),m(_,null,l(e.options,e=>(d(),n(f,{key:e.value,label:e.label,value:e.value},{default:h(()=>[r(`span`,ye,u(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var xe=I(ge,[[`render`,be],[`__scopeId`,`data-v-7b82fa7f`]]),Se=c({name:`DurationSelector`,components:{ElSelect:y,ElOption:b},computed:{model(){return this.$store.state.sora?.config?.model||`sora-2`},allowedDurations(){return M[this.model]||[10]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){let t=this.$store.state.sora?.config||{};this.$store.commit(`sora/setConfig`,{...t,duration:e})}}},watch:{allowedDurations(){let e=this.allowedDurations;if(!e.includes(this.value)){let t=e.includes(10)?10:e[0];this.value=t}}},mounted(){this.value||=10}}),Ce={class:`field`},we={class:`control`},Te={class:`title font-bold`};function Ee(e,t,i,a,s,c){let f=p(`el-option`),g=p(`el-select`);return d(),m(`div`,Ce,[r(`div`,we,[r(`h2`,Te,u(e.$t(`sora.name.duration`)),1),o(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`sora.placeholder.select`)},{default:h(()=>[(d(!0),m(_,null,l(e.optionsForModel,e=>(d(),n(f,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var De=I(Se,[[`render`,Ee],[`__scopeId`,`data-v-c2934598`]]),Oe=c({name:`OrientationSelector`,data(){return{options:[{value:`portrait`,labelKey:`sora.option.portrait`,width:13,height:25},{value:`landscape`,labelKey:`sora.option.landscape`,width:25,height:13}]}},computed:{active(){let e=this.options.findIndex(e=>e.value===this.value);return e>=0?e:0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug(`set orientation`,e),this.$store.commit(`sora/setConfig`,{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||=k}}),ke={class:`text-sm font-bold mb-2 block`},Ae={class:`items`},je=[`onClick`],Me={class:`name`};function Ne(e,n,a,o,s,c){return d(),m(`div`,null,[r(`span`,ke,u(e.$t(`sora.name.orientation`)),1),r(`div`,Ae,[(d(!0),m(_,null,l(e.options,(n,a)=>(d(),m(`div`,{key:a,class:t({active:e.active===a,item:!0}),onClick:t=>e.value=n.value},[r(`div`,{class:t([`preview`,n.value])},[r(`div`,{class:`rect`,style:i({width:n.width+`px`,height:n.height+`px`})},null,4)],2),r(`p`,Me,u(e.$t(n.labelKey)),1)],10,je))),128))])])}var Pe=I(Oe,[[`render`,Ne],[`__scopeId`,`data-v-a20be6d9`]]),Fe=c({name:`StartEndImage`,components:{ElUpload:x,ElButton:v,InfoIcon:J,FontAwesomeIcon:W,ImagePreview:K},mixins:[R,N],emits:[`change`],data(){return{fileList:[],uploadUrl:V()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.sora?.config?.image_urls},set(){}}},mounted(){this.value||=void 0,this.onSetStartEndImageUrl()},methods:{onExceed(){U.warning(this.$t(`sora.message.uploadReferencesExceed`))},onError(){U.error(this.$t(`sora.message.uploadReferencesError`))},onSetStartEndImageUrl(){let e=this.urls;this.$store.commit(`sora/setConfig`,{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),Ie={class:`relative`},Le={class:`flex justify-between`},Re={class:`flex justify-start items-center`},ze={class:`text-sm font-bold`};function Be(e,t,i,c,l,f){let g=p(`info-icon`),_=p(`image-preview`),v=p(`font-awesome-icon`),y=p(`el-button`),b=p(`el-upload`);return d(),m(`div`,Ie,[r(`div`,Le,[r(`div`,Re,[r(`span`,ze,u(e.$t(`sora.name.startEndImage`)),1),o(g,{content:e.$t(`sora.description.uploadStartEndImage`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:2,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:h(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):s(``,!0)]),default:h(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:h(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`sora.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ve=I(Fe,[[`render`,Be],[`__scopeId`,`data-v-4f7d9ba5`]]),He=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),Ue=c({name:`SizeSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:A.map(e=>({value:e,label:He(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){let t=this.$store.state.sora?.config||{};this.$store.commit(`sora/setConfig`,{...t,size:e})}}},mounted(){this.value||=j}}),We={class:`field`},Ge={class:`control`},Ke={class:`title font-bold`};function qe(e,t,i,a,s,c){let f=p(`el-option`),g=p(`el-select`);return d(),m(`div`,We,[r(`div`,Ge,[r(`h2`,Ke,u(e.$t(`sora.name.size`)),1),o(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`sora.placeholder.select`)},{default:h(()=>[(d(!0),m(_,null,l(e.options,e=>(d(),n(f,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var Je=I(Ue,[[`render`,qe],[`__scopeId`,`data-v-8c485f0f`]]),Ye=c({name:`PromptInput`,components:{PromptTextarea:Z},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){this.$store.commit(`sora/setConfig`,{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Xe(e,t,r,i,a,o){let s=p(`prompt-textarea`);return d(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`sora.name.prompt`),info:e.$t(`sora.description.prompt`),placeholder:e.$t(`sora.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ze=c({name:`ConfigPanel`,components:{ElButton:v,Consumption:ne,FontAwesomeIcon:W,PromptInput:I(Ye,[[`render`,Xe]]),ModelSelector:he,StartEndImage:Ve,SizeSelector:Je,ActionSelector:xe,OrientationSelector:Pe,DurationSelector:De},emits:[`generate`],computed:{config(){return this.$store.state.sora?.config},consumption(){return P(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Qe={class:`flex flex-col h-full`},$e={class:`flex-1 overflow-y-auto p-5`},et={class:`flex flex-col items-center justify-center px-5 pb-5`};function tt(e,t,n,i,s,c){let l=p(`model-selector`),_=p(`action-selector`),v=p(`duration-selector`),y=p(`size-selector`),b=p(`orientation-selector`),x=p(`prompt-input`),S=p(`start-end-image`),C=p(`consumption`),w=p(`font-awesome-icon`),T=p(`el-button`);return d(),m(`div`,Qe,[r(`div`,$e,[o(l,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-4`}),o(x,{class:`mb-4`}),g(o(S,{class:`mb-2`},null,512),[[f,e.config?.action===`image2video`]])]),r(`div`,et,[o(C,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(T,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:h(()=>[o(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`sora.button.generate`)),1)]),_:1},8,[`onClick`])])])}var nt=I(Ze,[[`render`,tt]]),rt=c({name:`TaskPreview`,components:{ElImage:C,CopyToClipboard:G,FontAwesomeIcon:W,ElAlert:w,VideoPlayer:ie,ElTooltip:S,ElButton:v,ApiCodeButton:re},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),it={class:`preview`},at={class:`left`},ot={class:`main`},st={class:`bot`},ct={class:`datetime`},lt={class:`info`},ut={key:0,class:`prompt mt-2`},dt={key:0},ft={key:1},pt={key:0,class:t({content:!0,failed:!0})},mt={key:0,class:`mb-4`},ht={key:1,class:t({operations:!0,"mt-2":!0})},gt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_t={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},yt={key:1,class:t({content:!0})},bt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},wt={key:2,class:t({content:!0})},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function $(e,t,i,c,l,f){let g=p(`el-image`),_=p(`video-player`),v=p(`el-button`),y=p(`el-tooltip`),b=p(`api-code-button`),x=p(`font-awesome-icon`),S=p(`copy-to-clipboard`),C=p(`el-alert`);return d(),m(`div`,it,[r(`div`,at,[o(g,{src:`https://cdn.acedata.cloud/z5id1u.png`,class:`avatar`})]),r(`div`,ot,[r(`div`,st,[a(u(e.$t(`sora.name.soraBot`))+` `,1),r(`span`,ct,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,lt,[e.modelValue?.request?.prompt?(d(),m(`p`,ut,[a(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?s(``,!0):(d(),m(`span`,dt,` - (`+u(e.$t(`sora.status.pending`))+`) `,1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state===`pending`?(d(),m(`span`,ft,` - (`+u(e.$t(`sora.status.processing`))+`) `,1)):s(``,!0)])):s(``,!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(d(),m(`div`,pt,[e.modelValue?.response?.data[0]?.video_url?(d(),m(`div`,mt,[o(_,{src:e.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):s(``,!0),e.modelValue?.response.success?(d(),m(`div`,ht,[o(y,{class:`box-item`,effect:`dark`,content:e.$t(`sora.message.downloadVideo`),placement:`top-start`},{default:h(()=>[e.modelValue?.response?.data[0]?.video_url?(d(),n(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:t[0]||=t=>e.onDownload(t,e.modelValue?.response?.data[0]?.video_url)},{default:h(()=>[a(u(e.$t(`sora.button.download`)),1)]),_:1})):s(``,!0)]),_:1},8,[`content`]),o(b,{path:`/sora/videos`,body:e.modelValue?.request},null,8,[`body`])])):s(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:h(()=>[r(`p`,gt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.model`))+`: `+u(e.modelValue?.request?.model),1)]),r(`p`,_t,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),m(`p`,vt,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===!1?(d(),m(`div`,yt,[o(C,{closable:!1,class:`failure`},{template:h(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.failure`)),1)]),default:h(()=>[r(`p`,bt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),r(`p`,xt,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(d(),m(`p`,St,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0),e.modelValue?.response?.trace_id?(d(),m(`p`,Ct,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===void 0?(d(),m(`div`,wt,[o(C,{closable:!1,class:`info`},{template:h(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.failure`)),1)]),default:h(()=>[r(`p`,Tt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.response?.trace_id?(d(),m(`p`,Et,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):s(``,!0)]),_:1})])):s(``,!0)])])}var Dt=c({name:`RecentPanel`,components:{TaskPreview:I(rt,[[`render`,$],[`__scopeId`,`data-v-935f9471`]]),NoTasks:Q,BotPlaceholder:q,ScrollList:Y},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ot={key:0},kt={key:2,class:`w-full h-full flex items-center justify-center`};function At(e,t,r,i,a,c){let u=p(`bot-placeholder`),f=p(`task-preview`),g=p(`scroll-list`),v=p(`no-tasks`);return d(),m(_,null,[e.tasks?.items===void 0?(d(),m(`div`,Ot,[o(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(d(),n(g,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:h(()=>[(d(!0),m(_,null,l(e.tasks?.items,(e,t)=>(d(),n(f,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):s(``,!0),e.tasks?.items?.length===0?(d(),m(`div`,kt,[o(v)])):s(``,!0)],64)}var jt=I(Dt,[[`render`,At]]),Mt=ee(`sora`),Nt=c({name:`SoraIndex`,components:{ConfigPanel:nt,Layout:ue,RecentPanel:jt},mixins:[H],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===z.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await X({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`sora/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`sora/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`sora/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!L(this.uploadTracker,e=>this.$t(e),e=>U.warning(e)))return;let e={...this.config,callback_url:Mt},t=this.credential?.token;if(!t){console.error(`no token specified`);return}U.info(this.$t(`sora.message.startingTask`)),F(`sora`,B.generate(e,{token:t})).then(()=>{U.success(this.$t(`sora.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?U.error(this.$t(`sora.message.usedUp`)):U.error(this.$t(`sora.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Pt(e,t,r,i,a,s){let c=p(`config-panel`),l=p(`recent-panel`),u=p(`layout`);return d(),n(u,null,{config:h(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:h(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Ft=I(Nt,[[`render`,Pt]]);export{Ft as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,Ht as i,M as a,N as o,O as s,P as c,Q as l,Ut as u,X as d,_ as f,et as p,k as m,lt as h,ut as g,x as _}from"./vendor-chart-Df3WBvr0.js";import{t as v}from"./button-DgZFgZDr.js";import{r as y,t as b}from"./select-t5c7Lp69.js";import{t as x}from"./upload-B8zBOx3w.js";import{t as S}from"./tooltip-C-9nDsaA.js";import{t as C}from"./image-DFWhL-qY.js";import{t as w}from"./alert-Bgv5POrX.js";import{t as T}from"./drawer-BhAAsvLB.js";import{Dn as E,En as D,Mn as O,On as k,Tn as A,Vr as ee,jn as te,kn as j,wn as M}from"./constants-SseKgNeZ.js";import{Ct as N,Dt as P,On as F,S as I,St as L,Tt as R,dr as z,in as B,mr as V,wt as H,xr as U}from"./index-rGtIyz5r.js";import{t as W}from"./index.es-C6FYBs69.js";import{t as G}from"./CopyToClipboard-3bG2Wqkv.js";import{t as K}from"./ImagePreview-D9A0kP8b.js";import{t as q}from"./BotPlaceholder-CdZM9k0A.js";import{i as J,n as Y,t as X}from"./pagination-DwRnUll_.js";import{n as Z,t as Q}from"./NoTasks-CbOYe2qY.js";import{t as ne}from"./Consumption-C_iQsNzm.js";import{t as re}from"./ApiCodeButton-NqboHz1M.js";import{t as ie}from"./VideoPlayer-nyvPlv-k.js";var ae=c({name:`LayoutSora`,components:{ElDrawer:T,ElButton:v,FontAwesomeIcon:W},data(){return{drawer:!1}}}),oe={class:`main flex flex-row flex-1`},se={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ce={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function le(t,n,i,a,s,c){let l=p(`font-awesome-icon`),u=p(`el-button`),f=p(`el-drawer`);return d(),m(`div`,oe,[r(`div`,se,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,ce,[e(t.$slots,`result`,{},void 0,!0)]),o(u,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:h(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1}),o(f,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:h(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ue=I(ae,[[`render`,le],[`__scopeId`,`data-v-bbee238c`]]),de=c({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:O,label:`sora-2`},{value:te,label:`sora-2-pro`}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){let t=this.$store.state.sora?.config||{},n=M[e]||[10],r=t.duration,i=r&&n.includes(r)?r:n.includes(10)?10:n[0],a={...t,model:e,duration:i,size:t.size||`small`};this.$store.commit(`sora/setConfig`,a)}}},mounted(){this.value||=E}}),fe={class:`field`},pe={class:`title font-bold`};function me(e,t,i,a,s,c){let f=p(`el-option`),g=p(`el-select`);return d(),m(`div`,fe,[r(`h2`,pe,u(e.$t(`sora.name.model`)),1),o(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`sora.placeholder.select`)},{default:h(()=>[(d(!0),m(_,null,l(e.options,e=>(d(),n(f,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var he=I(de,[[`render`,me],[`__scopeId`,`data-v-0cb7913d`]]),ge=c({name:`ActionSelector`,components:{ElSelect:y,ElOption:b},data(){return{}},computed:{options(){return[{value:`text2video`,label:this.$t(`sora.button.action1`)},{value:`image2video`,label:this.$t(`sora.button.action2`)}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit(`sora/setConfig`,{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||=D}}),_e={class:`field`},ve={class:`title font-bold`},ye={class:`float-left`};function be(e,t,i,a,s,c){let f=p(`el-option`),g=p(`el-select`);return d(),m(`div`,_e,[r(`h2`,ve,u(e.$t(`sora.name.action`)),1),o(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`sora.placeholder.select`),clearable:``},{default:h(()=>[(d(!0),m(_,null,l(e.options,e=>(d(),n(f,{key:e.value,label:e.label,value:e.value},{default:h(()=>[r(`span`,ye,u(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var xe=I(ge,[[`render`,be],[`__scopeId`,`data-v-7b82fa7f`]]),Se=c({name:`DurationSelector`,components:{ElSelect:y,ElOption:b},computed:{model(){return this.$store.state.sora?.config?.model||`sora-2`},allowedDurations(){return M[this.model]||[10]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){let t=this.$store.state.sora?.config||{};this.$store.commit(`sora/setConfig`,{...t,duration:e})}}},watch:{allowedDurations(){let e=this.allowedDurations;if(!e.includes(this.value)){let t=e.includes(10)?10:e[0];this.value=t}}},mounted(){this.value||=10}}),Ce={class:`field`},we={class:`control`},Te={class:`title font-bold`};function Ee(e,t,i,a,s,c){let f=p(`el-option`),g=p(`el-select`);return d(),m(`div`,Ce,[r(`div`,we,[r(`h2`,Te,u(e.$t(`sora.name.duration`)),1),o(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`sora.placeholder.select`)},{default:h(()=>[(d(!0),m(_,null,l(e.optionsForModel,e=>(d(),n(f,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var De=I(Se,[[`render`,Ee],[`__scopeId`,`data-v-c2934598`]]),Oe=c({name:`OrientationSelector`,data(){return{options:[{value:`portrait`,labelKey:`sora.option.portrait`,width:13,height:25},{value:`landscape`,labelKey:`sora.option.landscape`,width:25,height:13}]}},computed:{active(){let e=this.options.findIndex(e=>e.value===this.value);return e>=0?e:0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug(`set orientation`,e),this.$store.commit(`sora/setConfig`,{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||=k}}),ke={class:`text-sm font-bold mb-2 block`},Ae={class:`items`},je=[`onClick`],Me={class:`name`};function Ne(e,n,a,o,s,c){return d(),m(`div`,null,[r(`span`,ke,u(e.$t(`sora.name.orientation`)),1),r(`div`,Ae,[(d(!0),m(_,null,l(e.options,(n,a)=>(d(),m(`div`,{key:a,class:t({active:e.active===a,item:!0}),onClick:t=>e.value=n.value},[r(`div`,{class:t([`preview`,n.value])},[r(`div`,{class:`rect`,style:i({width:n.width+`px`,height:n.height+`px`})},null,4)],2),r(`p`,Me,u(e.$t(n.labelKey)),1)],10,je))),128))])])}var Pe=I(Oe,[[`render`,Ne],[`__scopeId`,`data-v-a20be6d9`]]),Fe=c({name:`StartEndImage`,components:{ElUpload:x,ElButton:v,InfoIcon:J,FontAwesomeIcon:W,ImagePreview:K},mixins:[R,N],emits:[`change`],data(){return{fileList:[],uploadUrl:V()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.sora?.config?.image_urls},set(){}}},mounted(){this.value||=void 0,this.onSetStartEndImageUrl()},methods:{onExceed(){U.warning(this.$t(`sora.message.uploadReferencesExceed`))},onError(){U.error(this.$t(`sora.message.uploadReferencesError`))},onSetStartEndImageUrl(){let e=this.urls;this.$store.commit(`sora/setConfig`,{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),Ie={class:`relative`},Le={class:`flex justify-between`},Re={class:`flex justify-start items-center`},ze={class:`text-sm font-bold`};function Be(e,t,i,c,l,f){let g=p(`info-icon`),_=p(`image-preview`),v=p(`font-awesome-icon`),y=p(`el-button`),b=p(`el-upload`);return d(),m(`div`,Ie,[r(`div`,Le,[r(`div`,Re,[r(`span`,ze,u(e.$t(`sora.name.startEndImage`)),1),o(g,{content:e.$t(`sora.description.uploadStartEndImage`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:2,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:h(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):s(``,!0)]),default:h(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:h(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`sora.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ve=I(Fe,[[`render`,Be],[`__scopeId`,`data-v-4f7d9ba5`]]),He=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),Ue=c({name:`SizeSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:A.map(e=>({value:e,label:He(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){let t=this.$store.state.sora?.config||{};this.$store.commit(`sora/setConfig`,{...t,size:e})}}},mounted(){this.value||=j}}),We={class:`field`},Ge={class:`control`},Ke={class:`title font-bold`};function qe(e,t,i,a,s,c){let f=p(`el-option`),g=p(`el-select`);return d(),m(`div`,We,[r(`div`,Ge,[r(`h2`,Ke,u(e.$t(`sora.name.size`)),1),o(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`sora.placeholder.select`)},{default:h(()=>[(d(!0),m(_,null,l(e.options,e=>(d(),n(f,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var Je=I(Ue,[[`render`,qe],[`__scopeId`,`data-v-8c485f0f`]]),Ye=c({name:`PromptInput`,components:{PromptTextarea:Z},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){this.$store.commit(`sora/setConfig`,{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Xe(e,t,r,i,a,o){let s=p(`prompt-textarea`);return d(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`sora.name.prompt`),info:e.$t(`sora.description.prompt`),placeholder:e.$t(`sora.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ze=c({name:`ConfigPanel`,components:{ElButton:v,Consumption:ne,FontAwesomeIcon:W,PromptInput:I(Ye,[[`render`,Xe]]),ModelSelector:he,StartEndImage:Ve,SizeSelector:Je,ActionSelector:xe,OrientationSelector:Pe,DurationSelector:De},emits:[`generate`],computed:{config(){return this.$store.state.sora?.config},consumption(){return P(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Qe={class:`flex flex-col h-full`},$e={class:`flex-1 overflow-y-auto p-5`},et={class:`flex flex-col items-center justify-center px-5 pb-5`};function tt(e,t,n,i,s,c){let l=p(`model-selector`),_=p(`action-selector`),v=p(`duration-selector`),y=p(`size-selector`),b=p(`orientation-selector`),x=p(`prompt-input`),S=p(`start-end-image`),C=p(`consumption`),w=p(`font-awesome-icon`),T=p(`el-button`);return d(),m(`div`,Qe,[r(`div`,$e,[o(l,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-4`}),o(x,{class:`mb-4`}),g(o(S,{class:`mb-2`},null,512),[[f,e.config?.action===`image2video`]])]),r(`div`,et,[o(C,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(T,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:h(()=>[o(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`sora.button.generate`)),1)]),_:1},8,[`onClick`])])])}var nt=I(Ze,[[`render`,tt]]),rt=c({name:`TaskPreview`,components:{ElImage:C,CopyToClipboard:G,FontAwesomeIcon:W,ElAlert:w,VideoPlayer:ie,ElTooltip:S,ElButton:v,ApiCodeButton:re},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),it={class:`preview`},at={class:`left`},ot={class:`main`},st={class:`bot`},ct={class:`datetime`},lt={class:`info`},ut={key:0,class:`prompt mt-2`},dt={key:0},ft={key:1},pt={key:0,class:t({content:!0,failed:!0})},mt={key:0,class:`mb-4`},ht={key:1,class:t({operations:!0,"mt-2":!0})},gt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_t={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},yt={key:1,class:t({content:!0})},bt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},wt={key:2,class:t({content:!0})},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function $(e,t,i,c,l,f){let g=p(`el-image`),_=p(`video-player`),v=p(`el-button`),y=p(`el-tooltip`),b=p(`api-code-button`),x=p(`font-awesome-icon`),S=p(`copy-to-clipboard`),C=p(`el-alert`);return d(),m(`div`,it,[r(`div`,at,[o(g,{src:`https://cdn.acedata.cloud/z5id1u.png`,class:`avatar`})]),r(`div`,ot,[r(`div`,st,[a(u(e.$t(`sora.name.soraBot`))+` `,1),r(`span`,ct,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,lt,[e.modelValue?.request?.prompt?(d(),m(`p`,ut,[a(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?s(``,!0):(d(),m(`span`,dt,` - (`+u(e.$t(`sora.status.pending`))+`) `,1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state===`pending`?(d(),m(`span`,ft,` - (`+u(e.$t(`sora.status.processing`))+`) `,1)):s(``,!0)])):s(``,!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(d(),m(`div`,pt,[e.modelValue?.response?.data[0]?.video_url?(d(),m(`div`,mt,[o(_,{src:e.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):s(``,!0),e.modelValue?.response.success?(d(),m(`div`,ht,[o(y,{class:`box-item`,effect:`dark`,content:e.$t(`sora.message.downloadVideo`),placement:`top-start`},{default:h(()=>[e.modelValue?.response?.data[0]?.video_url?(d(),n(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:t[0]||=t=>e.onDownload(t,e.modelValue?.response?.data[0]?.video_url)},{default:h(()=>[a(u(e.$t(`sora.button.download`)),1)]),_:1})):s(``,!0)]),_:1},8,[`content`]),o(b,{path:`/sora/videos`,body:e.modelValue?.request},null,8,[`body`])])):s(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:h(()=>[r(`p`,gt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.model`))+`: `+u(e.modelValue?.request?.model),1)]),r(`p`,_t,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),m(`p`,vt,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===!1?(d(),m(`div`,yt,[o(C,{closable:!1,class:`failure`},{template:h(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.failure`)),1)]),default:h(()=>[r(`p`,bt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),r(`p`,xt,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(d(),m(`p`,St,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0),e.modelValue?.response?.trace_id?(d(),m(`p`,Ct,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===void 0?(d(),m(`div`,wt,[o(C,{closable:!1,class:`info`},{template:h(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.failure`)),1)]),default:h(()=>[r(`p`,Tt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.response?.trace_id?(d(),m(`p`,Et,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`sora.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):s(``,!0)]),_:1})])):s(``,!0)])])}var Dt=c({name:`RecentPanel`,components:{TaskPreview:I(rt,[[`render`,$],[`__scopeId`,`data-v-935f9471`]]),NoTasks:Q,BotPlaceholder:q,ScrollList:Y},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ot={key:0},kt={key:2,class:`w-full h-full flex items-center justify-center`};function At(e,t,r,i,a,c){let u=p(`bot-placeholder`),f=p(`task-preview`),g=p(`scroll-list`),v=p(`no-tasks`);return d(),m(_,null,[e.tasks?.items===void 0?(d(),m(`div`,Ot,[o(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(d(),n(g,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:h(()=>[(d(!0),m(_,null,l(e.tasks?.items,(e,t)=>(d(),n(f,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):s(``,!0),e.tasks?.items?.length===0?(d(),m(`div`,kt,[o(v)])):s(``,!0)],64)}var jt=I(Dt,[[`render`,At]]),Mt=ee(`sora`),Nt=c({name:`SoraIndex`,components:{ConfigPanel:nt,Layout:ue,RecentPanel:jt},mixins:[H],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===z.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await X({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`sora/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`sora/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`sora/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!L(this.uploadTracker,e=>this.$t(e),e=>U.warning(e)))return;let e={...this.config,callback_url:Mt},t=this.credential?.token;if(!t){console.error(`no token specified`);return}U.info(this.$t(`sora.message.startingTask`)),F(`sora`,B.generate(e,{token:t})).then(()=>{U.success(this.$t(`sora.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?U.error(this.$t(`sora.message.usedUp`)):U.error(this.$t(`sora.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Pt(e,t,r,i,a,s){let c=p(`config-panel`),l=p(`recent-panel`),u=p(`layout`);return d(),n(u,null,{config:h(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:h(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Ft=I(Nt,[[`render`,Pt]]);export{Ft as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,Ht as i,M as a,N as o,O as s,P as c,Q as l,Ut as u,X as d,et as f,k as p,lt as m,x as h}from"./vendor-chart-Df3WBvr0.js";import{t as g}from"./button-DgZFgZDr.js";import{r as _,t as v}from"./select-BYVaaZev.js";import{t as y}from"./upload-B8zBOx3w.js";import{t as b}from"./tooltip-C-9nDsaA.js";import{t as x}from"./image-D9DCBoK1.js";import{t as S}from"./alert-Bgv5POrX.js";import{t as C}from"./drawer-BhAAsvLB.js";import{t as w}from"./input-number-C_RzLIuB.js";import{t as T}from"./slider-DEYGehLw.js";import{Vr as E,bn as D,vn as O,xn as k,yn as ee}from"./constants-SseKgNeZ.js";import{Ct as te,Dt as A,On as j,S as M,St as N,Tt as P,dr as F,mr as I,rn as L,wt as R,xr as z}from"./index-DJri8swR.js";import{t as B}from"./index.es-DU_1oGwZ.js";import{t as V}from"./CopyToClipboard-iiCeJbY4.js";import{t as H}from"./ImagePreview-BbK_HGTQ.js";import{t as U}from"./BotPlaceholder-Dd8zEJxY.js";import{i as W,n as G,t as K}from"./pagination-BOw_ac_B.js";import{n as q,t as J}from"./NoTasks-W7aQUGOX.js";import{t as Y}from"./Consumption-DpE91zpd.js";import{t as X}from"./ApiCodeButton-B2l4sY7h.js";import{t as Z}from"./VideoPlayer-BcKoFkt2.js";var Q=c({name:`LayoutPixverse`,components:{ElDrawer:C,ElButton:g,FontAwesomeIcon:B},data(){return{drawer:!1}}}),ne={class:`main flex flex-row flex-1`},re={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ie={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ae(t,n,i,a,s,c){let l=f(`font-awesome-icon`),u=f(`el-button`),h=f(`el-drawer`);return d(),p(`div`,ne,[r(`div`,re,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,ie,[e(t.$slots,`result`,{},void 0,!0)]),o(u,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:m(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1}),o(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:m(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var oe=M(Q,[[`render`,ae],[`__scopeId`,`data-v-ea5fe174`]]),se=c({name:`ModelSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`v3.5`,label:`v3.5`},{value:`v4`,label:`v4`},{value:`v4.5`,label:`v4.5`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.model},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,model:e})}}},mounted(){this.value||=ee}}),ce={class:`field`},le={class:`title font-bold`};function ue(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,ce,[r(`h2`,le,u(e.$t(`pixverse.name.model`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var de=M(se,[[`render`,ue],[`__scopeId`,`data-v-e8f337ca`]]),fe=c({name:`QualitySelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`360p`,label:`360p`},{value:`540p`,label:`540p`},{value:`720p`,label:`720p`},{value:`1080p`,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.quality},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,quality:e})}}},mounted(){this.value||=k}}),pe={class:`field`},me={class:`title font-bold`};function he(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,pe,[r(`h2`,me,u(e.$t(`pixverse.name.quality`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ge=M(fe,[[`render`,he],[`__scopeId`,`data-v-64aeaae9`]]),_e=c({name:`MotionSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`normal`,label:this.$t(`pixverse.name.motion1`)},{value:`fast`,label:this.$t(`pixverse.name.motion2`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.motion},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,motion:e})}}},mounted(){this.value||=D}}),ve={class:`field`},ye={class:`title font-bold`};function be(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,ve,[r(`h2`,ye,u(e.$t(`pixverse.name.motion`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var xe=M(_e,[[`render`,be],[`__scopeId`,`data-v-94237408`]]),Se=c({name:`StyleSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`cyberpunk`,label:this.$t(`pixverse.name.style1`)},{value:`anime`,label:this.$t(`pixverse.name.style2`)},{value:`comic`,label:this.$t(`pixverse.name.style3`)},{value:`clay`,label:this.$t(`pixverse.name.style4`)},{value:`3d_animation`,label:this.$t(`pixverse.name.style5`)},{value:`realistic`,label:this.$t(`pixverse.name.style6`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.style},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,style:e})}}},mounted(){this.value||=``}}),Ce={class:`field`},we={class:`title font-bold`};function Te(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,Ce,[r(`h2`,we,u(e.$t(`pixverse.name.style`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ee=M(Se,[[`render`,Te],[`__scopeId`,`data-v-64e17b3c`]]),De=c({name:`SeedSelector`,components:{ElSlider:T,InfoIcon:W,ElInputNumber:w},computed:{value:{get(){return this.$store.state?.pixverse?.config?.seed},set(e){console.debug(`set seed`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,seed:e})}}},mounted(){this.value||=void 0}}),Oe={class:`flex justify-between`},ke={class:`flex justify-start items-center`},Ae={class:`text-sm font-bold`},je={class:`flex justify-end items-center`},Me={class:`w-full`};function Ne(e,t,n,i,a,s){let c=f(`info-icon`),l=f(`el-input-number`),m=f(`el-slider`);return d(),p(`div`,null,[r(`div`,Oe,[r(`div`,ke,[r(`span`,Ae,u(e.$t(`pixverse.name.seed`)),1),o(c,{content:e.$t(`pixverse.description.seed`)},null,8,[`content`])]),r(`div`,je,[o(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,"controls-position":`right`},null,8,[`modelValue`])])]),r(`div`,Me,[o(m,{modelValue:e.value,"onUpdate:modelValue":t[1]||=t=>e.value=t,min:0,max:1e3,step:1},null,8,[`modelValue`])])])}var Pe=M(De,[[`render`,Ne]]),Fe=c({name:`DurationSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:5,label:`5s`},{value:8,label:`8s`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.duration},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,duration:e})}}},mounted(){this.value||=5}}),Ie={class:`field`},Le={class:`title font-bold`};function Re(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,Ie,[r(`h2`,Le,u(e.$t(`pixverse.name.duration`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ze=M(Fe,[[`render`,Re],[`__scopeId`,`data-v-065c77ef`]]),Be=c({name:`RatioSelector`,data(){return{options:[{value:`1:1`,label:`1:1`,width:20,height:20},{value:`4:3`,label:`4:3`,width:20,height:15},{value:`3:4`,label:`3:4`,width:15,height:20},{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.pixverse.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,aspect_ratio:e})}}},mounted(){this.value||=O}}),Ve={class:`text-sm font-bold mb-2 block`},He={class:`items`},Ue=[`onClick`],We={class:`name`};function Ge(e,n,a,o,s,c){return d(),p(`div`,null,[r(`span`,Ve,u(e.$t(`pixverse.name.aspectRatio`)),1),r(`div`,He,[(d(!0),p(h,null,l(e.options,(n,a)=>(d(),p(`div`,{key:a,class:t({active:e.active===a,item:!0}),onClick:t=>e.value=n.value},[r(`div`,{class:t([`preview`,n.label])},[r(`div`,{class:`rect`,style:i({width:n.width+`px`,height:n.height+`px`})},null,4)],2),r(`p`,We,u(n.label),1)],10,Ue))),128))])])}var Ke=M(Be,[[`render`,Ge],[`__scopeId`,`data-v-53038264`]]),qe=c({name:`StartImage`,components:{ElUpload:y,ElButton:g,InfoIcon:W,FontAwesomeIcon:B,ImagePreview:H},mixins:[P,te],emits:[`change`],data(){return{fileList:[],uploadUrl:I()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){z.warning(this.$t(`pixverse.message.uploadReferencesExceed`))},onError(){z.error(this.$t(`pixverse.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Je={class:`relative`},Ye={class:`flex justify-between`},Xe={class:`flex justify-start items-center`},Ze={class:`text-sm font-bold`};function Qe(e,t,i,c,l,h){let g=f(`info-icon`),_=f(`image-preview`),v=f(`font-awesome-icon`),y=f(`el-button`),b=f(`el-upload`);return d(),p(`div`,Je,[r(`div`,Ye,[r(`div`,Xe,[r(`span`,Ze,u(e.$t(`pixverse.name.startImage`)),1),o(g,{content:e.$t(`pixverse.description.uploadStartImage`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):s(``,!0)]),default:m(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:m(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`pixverse.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var $e=M(qe,[[`render`,Qe],[`__scopeId`,`data-v-0d570ad7`]]),et=c({name:`PromptInput`,components:{PromptTextarea:q},computed:{prompt:{get(){return this.$store.state.pixverse?.config?.prompt},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse?.config,prompt:e})}}},mounted(){this.prompt||=``}});function tt(e,t,r,i,a,o){let s=f(`prompt-textarea`);return d(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`pixverse.name.prompt`),info:e.$t(`pixverse.description.prompt`),placeholder:e.$t(`pixverse.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var nt=c({name:`ConfigPanel`,components:{ElButton:g,FontAwesomeIcon:B,PromptInput:M(et,[[`render`,tt]]),ModelSelector:de,QualitySelector:ge,MotionSelector:xe,StyleSelector:Ee,DurationSelector:ze,StartImage:$e,SeedSelector:Pe,RatioSelector:Ke,Consumption:Y},emits:[`generate`],computed:{config(){return this.$store.state.pixverse?.config},consumption(){return A(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),rt={class:`flex flex-col h-full`},it={class:`flex-1 overflow-y-auto p-5`},at={class:`flex flex-col items-center justify-center px-5 pb-5`};function ot(e,t,n,i,s,c){let l=f(`prompt-input`),h=f(`model-selector`),g=f(`style-selector`),_=f(`ratio-selector`),v=f(`motion-selector`),y=f(`quality-selector`),b=f(`start-image`),x=f(`seed-selector`),S=f(`duration-selector`),C=f(`consumption`),w=f(`font-awesome-icon`),T=f(`el-button`);return d(),p(`div`,rt,[r(`div`,it,[o(l,{class:`mb-4`}),o(h,{class:`mb-4`}),o(g,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-2`}),o(x,{class:`mb-4`}),o(S,{class:`mb-4`})]),r(`div`,at,[o(C,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(T,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:m(()=>[o(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`pixverse.button.generate`)),1)]),_:1},8,[`onClick`])])])}var st=M(nt,[[`render`,ot]]),ct=c({name:`TaskPreview`,components:{ElImage:x,CopyToClipboard:V,FontAwesomeIcon:B,ElAlert:S,VideoPlayer:Z,ElTooltip:b,ElButton:g,ApiCodeButton:X},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pixverse?.application},config(){return this.$store.state.pixverse?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),lt={class:`preview`},ut={class:`left`},dt={class:`main`},ft={class:`bot`},pt={class:`datetime`},mt={class:`info`},ht={key:0,class:`prompt mt-2`},gt={key:0},_t={key:1},vt={key:0,class:t({content:!0,failed:!0})},yt={key:0,class:`mb-4`},bt={key:1,class:t({operations:!0,"mt-2":!0})},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},wt={key:1,class:t({content:!0})},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Ot(e,t,i,c,l,h){let g=f(`el-image`),_=f(`video-player`),v=f(`el-button`),y=f(`el-tooltip`),b=f(`api-code-button`),x=f(`font-awesome-icon`),S=f(`copy-to-clipboard`),C=f(`el-alert`);return d(),p(`div`,lt,[r(`div`,ut,[o(g,{src:`https://cdn.acedata.cloud/viy61r.jpg`,class:`avatar`})]),r(`div`,dt,[r(`div`,ft,[a(u(e.$t(`pixverse.name.pixverseBot`))+` `,1),r(`span`,pt,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,mt,[e.modelValue?.request?.prompt?(d(),p(`p`,ht,[a(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?s(``,!0):(d(),p(`span`,gt,` - (`+u(e.$t(`pixverse.status.pending`))+`) `,1)),e.modelValue?.response?.data&&(e.modelValue?.response?.data[0]?.state===`processing`||e.modelValue?.response?.data[0]?.state===`pending`)?(d(),p(`span`,_t,` - (`+u(e.$t(`pixverse.status.processing`))+`) `,1)):s(``,!0)])):s(``,!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(d(),p(`div`,vt,[e.modelValue?.response?.data[0]?.video_url?(d(),p(`div`,yt,[o(_,{src:e.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):s(``,!0),e.modelValue?.response.success?(d(),p(`div`,bt,[o(y,{class:`box-item`,effect:`dark`,content:e.$t(`pixverse.message.downloadVideo`),placement:`top-start`},{default:m(()=>[e.modelValue?.response?.data[0]?.video_url?(d(),n(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:t[0]||=t=>e.onDownload(t,e.modelValue?.response?.data[0]?.video_url)},{default:m(()=>[a(u(e.$t(`pixverse.button.download`)),1)]),_:1})):s(``,!0)]),_:1},8,[`content`]),o(b,{path:`/pixverse/videos`,body:e.modelValue?.request},null,8,[`body`])])):s(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:m(()=>[r(`p`,xt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.model`))+`: `+u(e.modelValue?.request?.model),1)]),r(`p`,St,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,Ct,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===!1?(d(),p(`div`,wt,[o(C,{closable:!1,class:`info`},{template:m(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.failure`)),1)]),default:m(()=>[r(`p`,Tt,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),r(`p`,Et,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,$,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0),e.modelValue?.response?.trace_id?(d(),p(`p`,Dt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):s(``,!0)]),_:1})])):s(``,!0)])])}var kt=c({name:`RecentPanel`,components:{TaskPreview:M(ct,[[`render`,Ot],[`__scopeId`,`data-v-94961727`]]),NoTasks:J,BotPlaceholder:U,ScrollList:G},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pixverse?.tasks,items:this.$store.state.pixverse?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),At={key:0},jt={key:2,class:`w-full h-full flex items-center justify-center`};function Mt(e,t,r,i,a,c){let u=f(`bot-placeholder`),g=f(`task-preview`),_=f(`scroll-list`),v=f(`no-tasks`);return d(),p(h,null,[e.tasks?.items===void 0?(d(),p(`div`,At,[o(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(d(),n(_,{key:1,ref:`scrollList`,class:`h-full w-full overflow-y-auto tasks`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:m(()=>[(d(!0),p(h,null,l(e.tasks?.items,(e,t)=>(d(),n(g,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):s(``,!0),e.tasks?.items?.length===0?(d(),p(`div`,jt,[o(v)])):s(``,!0)],64)}var Nt=M(kt,[[`render`,Mt]]),Pt=E(`pixverse`),Ft=c({name:`PixverseIndex`,components:{ConfigPanel:st,Layout:oe,RecentPanel:Nt},mixins:[R],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===F.Request||this.fetchingTasks},credential(){return this.$store.state.pixverse.credential},config(){return this.$store.state.pixverse.config},tasks(){return this.$store.state.pixverse.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await K({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`pixverse/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`pixverse/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`pixverse/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!N(this.uploadTracker,e=>this.$t(e),e=>z.warning(e)))return;let e={...this.config,callback_url:Pt},t=this.credential?.token;if(!t){console.error(`no token specified`);return}z.info(this.$t(`pixverse.message.startingTask`)),j(`pixverse`,L.generate(e,{token:t})).then(()=>{z.success(this.$t(`pixverse.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?z.error(this.$t(`pixverse.message.usedUp`)):z.error(this.$t(`pixverse.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function It(e,t,r,i,a,s){let c=f(`config-panel`),l=f(`recent-panel`),u=f(`layout`);return d(),n(u,null,{config:m(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:m(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Lt=M(Ft,[[`render`,It]]);export{Lt as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,Ht as i,M as a,N as o,O as s,P as c,Q as l,Ut as u,X as d,et as f,k as p,lt as m,x as h}from"./vendor-chart-Df3WBvr0.js";import{t as g}from"./button-DgZFgZDr.js";import{r as _,t as v}from"./select-t5c7Lp69.js";import{t as y}from"./upload-B8zBOx3w.js";import{t as b}from"./tooltip-C-9nDsaA.js";import{t as x}from"./image-DFWhL-qY.js";import{t as S}from"./alert-Bgv5POrX.js";import{t as C}from"./drawer-BhAAsvLB.js";import{t as w}from"./input-number-CsGDONtY.js";import{t as T}from"./slider-KrmERTuV.js";import{Vr as E,bn as D,vn as O,xn as k,yn as ee}from"./constants-SseKgNeZ.js";import{Ct as te,Dt as A,On as j,S as M,St as N,Tt as P,dr as F,mr as I,rn as L,wt as R,xr as z}from"./index-rGtIyz5r.js";import{t as B}from"./index.es-C6FYBs69.js";import{t as V}from"./CopyToClipboard-3bG2Wqkv.js";import{t as H}from"./ImagePreview-D9A0kP8b.js";import{t as U}from"./BotPlaceholder-CdZM9k0A.js";import{i as W,n as G,t as K}from"./pagination-DwRnUll_.js";import{n as q,t as J}from"./NoTasks-CbOYe2qY.js";import{t as Y}from"./Consumption-C_iQsNzm.js";import{t as X}from"./ApiCodeButton-NqboHz1M.js";import{t as Z}from"./VideoPlayer-nyvPlv-k.js";var Q=c({name:`LayoutPixverse`,components:{ElDrawer:C,ElButton:g,FontAwesomeIcon:B},data(){return{drawer:!1}}}),ne={class:`main flex flex-row flex-1`},re={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ie={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ae(t,n,i,a,s,c){let l=f(`font-awesome-icon`),u=f(`el-button`),h=f(`el-drawer`);return d(),p(`div`,ne,[r(`div`,re,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,ie,[e(t.$slots,`result`,{},void 0,!0)]),o(u,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:m(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1}),o(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:m(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var oe=M(Q,[[`render`,ae],[`__scopeId`,`data-v-ea5fe174`]]),se=c({name:`ModelSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`v3.5`,label:`v3.5`},{value:`v4`,label:`v4`},{value:`v4.5`,label:`v4.5`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.model},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,model:e})}}},mounted(){this.value||=ee}}),ce={class:`field`},le={class:`title font-bold`};function ue(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,ce,[r(`h2`,le,u(e.$t(`pixverse.name.model`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var de=M(se,[[`render`,ue],[`__scopeId`,`data-v-e8f337ca`]]),fe=c({name:`QualitySelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`360p`,label:`360p`},{value:`540p`,label:`540p`},{value:`720p`,label:`720p`},{value:`1080p`,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.quality},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,quality:e})}}},mounted(){this.value||=k}}),pe={class:`field`},me={class:`title font-bold`};function he(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,pe,[r(`h2`,me,u(e.$t(`pixverse.name.quality`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ge=M(fe,[[`render`,he],[`__scopeId`,`data-v-64aeaae9`]]),_e=c({name:`MotionSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`normal`,label:this.$t(`pixverse.name.motion1`)},{value:`fast`,label:this.$t(`pixverse.name.motion2`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.motion},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,motion:e})}}},mounted(){this.value||=D}}),ve={class:`field`},ye={class:`title font-bold`};function be(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,ve,[r(`h2`,ye,u(e.$t(`pixverse.name.motion`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var xe=M(_e,[[`render`,be],[`__scopeId`,`data-v-94237408`]]),Se=c({name:`StyleSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`cyberpunk`,label:this.$t(`pixverse.name.style1`)},{value:`anime`,label:this.$t(`pixverse.name.style2`)},{value:`comic`,label:this.$t(`pixverse.name.style3`)},{value:`clay`,label:this.$t(`pixverse.name.style4`)},{value:`3d_animation`,label:this.$t(`pixverse.name.style5`)},{value:`realistic`,label:this.$t(`pixverse.name.style6`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.style},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,style:e})}}},mounted(){this.value||=``}}),Ce={class:`field`},we={class:`title font-bold`};function Te(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,Ce,[r(`h2`,we,u(e.$t(`pixverse.name.style`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ee=M(Se,[[`render`,Te],[`__scopeId`,`data-v-64e17b3c`]]),De=c({name:`SeedSelector`,components:{ElSlider:T,InfoIcon:W,ElInputNumber:w},computed:{value:{get(){return this.$store.state?.pixverse?.config?.seed},set(e){console.debug(`set seed`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,seed:e})}}},mounted(){this.value||=void 0}}),Oe={class:`flex justify-between`},ke={class:`flex justify-start items-center`},Ae={class:`text-sm font-bold`},je={class:`flex justify-end items-center`},Me={class:`w-full`};function Ne(e,t,n,i,a,s){let c=f(`info-icon`),l=f(`el-input-number`),m=f(`el-slider`);return d(),p(`div`,null,[r(`div`,Oe,[r(`div`,ke,[r(`span`,Ae,u(e.$t(`pixverse.name.seed`)),1),o(c,{content:e.$t(`pixverse.description.seed`)},null,8,[`content`])]),r(`div`,je,[o(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,"controls-position":`right`},null,8,[`modelValue`])])]),r(`div`,Me,[o(m,{modelValue:e.value,"onUpdate:modelValue":t[1]||=t=>e.value=t,min:0,max:1e3,step:1},null,8,[`modelValue`])])])}var Pe=M(De,[[`render`,Ne]]),Fe=c({name:`DurationSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:5,label:`5s`},{value:8,label:`8s`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.duration},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,duration:e})}}},mounted(){this.value||=5}}),Ie={class:`field`},Le={class:`title font-bold`};function Re(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,Ie,[r(`h2`,Le,u(e.$t(`pixverse.name.duration`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ze=M(Fe,[[`render`,Re],[`__scopeId`,`data-v-065c77ef`]]),Be=c({name:`RatioSelector`,data(){return{options:[{value:`1:1`,label:`1:1`,width:20,height:20},{value:`4:3`,label:`4:3`,width:20,height:15},{value:`3:4`,label:`3:4`,width:15,height:20},{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.pixverse.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,aspect_ratio:e})}}},mounted(){this.value||=O}}),Ve={class:`text-sm font-bold mb-2 block`},He={class:`items`},Ue=[`onClick`],We={class:`name`};function Ge(e,n,a,o,s,c){return d(),p(`div`,null,[r(`span`,Ve,u(e.$t(`pixverse.name.aspectRatio`)),1),r(`div`,He,[(d(!0),p(h,null,l(e.options,(n,a)=>(d(),p(`div`,{key:a,class:t({active:e.active===a,item:!0}),onClick:t=>e.value=n.value},[r(`div`,{class:t([`preview`,n.label])},[r(`div`,{class:`rect`,style:i({width:n.width+`px`,height:n.height+`px`})},null,4)],2),r(`p`,We,u(n.label),1)],10,Ue))),128))])])}var Ke=M(Be,[[`render`,Ge],[`__scopeId`,`data-v-53038264`]]),qe=c({name:`StartImage`,components:{ElUpload:y,ElButton:g,InfoIcon:W,FontAwesomeIcon:B,ImagePreview:H},mixins:[P,te],emits:[`change`],data(){return{fileList:[],uploadUrl:I()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){z.warning(this.$t(`pixverse.message.uploadReferencesExceed`))},onError(){z.error(this.$t(`pixverse.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Je={class:`relative`},Ye={class:`flex justify-between`},Xe={class:`flex justify-start items-center`},Ze={class:`text-sm font-bold`};function Qe(e,t,i,c,l,h){let g=f(`info-icon`),_=f(`image-preview`),v=f(`font-awesome-icon`),y=f(`el-button`),b=f(`el-upload`);return d(),p(`div`,Je,[r(`div`,Ye,[r(`div`,Xe,[r(`span`,Ze,u(e.$t(`pixverse.name.startImage`)),1),o(g,{content:e.$t(`pixverse.description.uploadStartImage`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):s(``,!0)]),default:m(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:m(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`pixverse.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var $e=M(qe,[[`render`,Qe],[`__scopeId`,`data-v-0d570ad7`]]),et=c({name:`PromptInput`,components:{PromptTextarea:q},computed:{prompt:{get(){return this.$store.state.pixverse?.config?.prompt},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse?.config,prompt:e})}}},mounted(){this.prompt||=``}});function tt(e,t,r,i,a,o){let s=f(`prompt-textarea`);return d(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`pixverse.name.prompt`),info:e.$t(`pixverse.description.prompt`),placeholder:e.$t(`pixverse.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var nt=c({name:`ConfigPanel`,components:{ElButton:g,FontAwesomeIcon:B,PromptInput:M(et,[[`render`,tt]]),ModelSelector:de,QualitySelector:ge,MotionSelector:xe,StyleSelector:Ee,DurationSelector:ze,StartImage:$e,SeedSelector:Pe,RatioSelector:Ke,Consumption:Y},emits:[`generate`],computed:{config(){return this.$store.state.pixverse?.config},consumption(){return A(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),rt={class:`flex flex-col h-full`},it={class:`flex-1 overflow-y-auto p-5`},at={class:`flex flex-col items-center justify-center px-5 pb-5`};function ot(e,t,n,i,s,c){let l=f(`prompt-input`),h=f(`model-selector`),g=f(`style-selector`),_=f(`ratio-selector`),v=f(`motion-selector`),y=f(`quality-selector`),b=f(`start-image`),x=f(`seed-selector`),S=f(`duration-selector`),C=f(`consumption`),w=f(`font-awesome-icon`),T=f(`el-button`);return d(),p(`div`,rt,[r(`div`,it,[o(l,{class:`mb-4`}),o(h,{class:`mb-4`}),o(g,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-2`}),o(x,{class:`mb-4`}),o(S,{class:`mb-4`})]),r(`div`,at,[o(C,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(T,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:m(()=>[o(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`pixverse.button.generate`)),1)]),_:1},8,[`onClick`])])])}var st=M(nt,[[`render`,ot]]),ct=c({name:`TaskPreview`,components:{ElImage:x,CopyToClipboard:V,FontAwesomeIcon:B,ElAlert:S,VideoPlayer:Z,ElTooltip:b,ElButton:g,ApiCodeButton:X},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pixverse?.application},config(){return this.$store.state.pixverse?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),lt={class:`preview`},ut={class:`left`},dt={class:`main`},ft={class:`bot`},pt={class:`datetime`},mt={class:`info`},ht={key:0,class:`prompt mt-2`},gt={key:0},_t={key:1},vt={key:0,class:t({content:!0,failed:!0})},yt={key:0,class:`mb-4`},bt={key:1,class:t({operations:!0,"mt-2":!0})},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},wt={key:1,class:t({content:!0})},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Ot(e,t,i,c,l,h){let g=f(`el-image`),_=f(`video-player`),v=f(`el-button`),y=f(`el-tooltip`),b=f(`api-code-button`),x=f(`font-awesome-icon`),S=f(`copy-to-clipboard`),C=f(`el-alert`);return d(),p(`div`,lt,[r(`div`,ut,[o(g,{src:`https://cdn.acedata.cloud/viy61r.jpg`,class:`avatar`})]),r(`div`,dt,[r(`div`,ft,[a(u(e.$t(`pixverse.name.pixverseBot`))+` `,1),r(`span`,pt,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,mt,[e.modelValue?.request?.prompt?(d(),p(`p`,ht,[a(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?s(``,!0):(d(),p(`span`,gt,` - (`+u(e.$t(`pixverse.status.pending`))+`) `,1)),e.modelValue?.response?.data&&(e.modelValue?.response?.data[0]?.state===`processing`||e.modelValue?.response?.data[0]?.state===`pending`)?(d(),p(`span`,_t,` - (`+u(e.$t(`pixverse.status.processing`))+`) `,1)):s(``,!0)])):s(``,!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(d(),p(`div`,vt,[e.modelValue?.response?.data[0]?.video_url?(d(),p(`div`,yt,[o(_,{src:e.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):s(``,!0),e.modelValue?.response.success?(d(),p(`div`,bt,[o(y,{class:`box-item`,effect:`dark`,content:e.$t(`pixverse.message.downloadVideo`),placement:`top-start`},{default:m(()=>[e.modelValue?.response?.data[0]?.video_url?(d(),n(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:t[0]||=t=>e.onDownload(t,e.modelValue?.response?.data[0]?.video_url)},{default:m(()=>[a(u(e.$t(`pixverse.button.download`)),1)]),_:1})):s(``,!0)]),_:1},8,[`content`]),o(b,{path:`/pixverse/videos`,body:e.modelValue?.request},null,8,[`body`])])):s(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:m(()=>[r(`p`,xt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.model`))+`: `+u(e.modelValue?.request?.model),1)]),r(`p`,St,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,Ct,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===!1?(d(),p(`div`,wt,[o(C,{closable:!1,class:`info`},{template:m(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.failure`)),1)]),default:m(()=>[r(`p`,Tt,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),r(`p`,Et,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,$,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0),e.modelValue?.response?.trace_id?(d(),p(`p`,Dt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):s(``,!0)]),_:1})])):s(``,!0)])])}var kt=c({name:`RecentPanel`,components:{TaskPreview:M(ct,[[`render`,Ot],[`__scopeId`,`data-v-94961727`]]),NoTasks:J,BotPlaceholder:U,ScrollList:G},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pixverse?.tasks,items:this.$store.state.pixverse?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),At={key:0},jt={key:2,class:`w-full h-full flex items-center justify-center`};function Mt(e,t,r,i,a,c){let u=f(`bot-placeholder`),g=f(`task-preview`),_=f(`scroll-list`),v=f(`no-tasks`);return d(),p(h,null,[e.tasks?.items===void 0?(d(),p(`div`,At,[o(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(d(),n(_,{key:1,ref:`scrollList`,class:`h-full w-full overflow-y-auto tasks`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:m(()=>[(d(!0),p(h,null,l(e.tasks?.items,(e,t)=>(d(),n(g,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):s(``,!0),e.tasks?.items?.length===0?(d(),p(`div`,jt,[o(v)])):s(``,!0)],64)}var Nt=M(kt,[[`render`,Mt]]),Pt=E(`pixverse`),Ft=c({name:`PixverseIndex`,components:{ConfigPanel:st,Layout:oe,RecentPanel:Nt},mixins:[R],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===F.Request||this.fetchingTasks},credential(){return this.$store.state.pixverse.credential},config(){return this.$store.state.pixverse.config},tasks(){return this.$store.state.pixverse.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await K({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`pixverse/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`pixverse/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`pixverse/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!N(this.uploadTracker,e=>this.$t(e),e=>z.warning(e)))return;let e={...this.config,callback_url:Pt},t=this.credential?.token;if(!t){console.error(`no token specified`);return}z.info(this.$t(`pixverse.message.startingTask`)),j(`pixverse`,L.generate(e,{token:t})).then(()=>{z.success(this.$t(`pixverse.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?z.error(this.$t(`pixverse.message.usedUp`)):z.error(this.$t(`pixverse.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function It(e,t,r,i,a,s){let c=f(`config-panel`),l=f(`recent-panel`),u=f(`layout`);return d(),n(u,null,{config:m(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:m(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Lt=M(Ft,[[`render`,It]]);export{Lt as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,M as i,N as a,O as o,P as s,Q as c,Ut as l,X as u,et as d,k as f,lt as p,x as m}from"./vendor-chart-Df3WBvr0.js";import{t as h}from"./button-DgZFgZDr.js";import{r as g,t as _}from"./select-BYVaaZev.js";import{t as v}from"./upload-B8zBOx3w.js";import{t as y}from"./tooltip-C-9nDsaA.js";import{t as b}from"./image-D9DCBoK1.js";import{t as x}from"./alert-Bgv5POrX.js";import{n as S,r as C}from"./radio-DNLlMkjf.js";import{t as w}from"./drawer-BhAAsvLB.js";import{t as T}from"./switch-Bzrgl4uF.js";import{Vr as ee,Yn as E}from"./constants-SseKgNeZ.js";import{Cn as D,Ct as O,Dt as k,On as te,S as A,St as j,Tt as M,dr as N,mr as P,sn as F,wt as I,xr as L}from"./index-DJri8swR.js";import{t as R}from"./index.es-DU_1oGwZ.js";import{t as z}from"./CopyToClipboard-iiCeJbY4.js";import{t as B}from"./ImagePreview-BbK_HGTQ.js";import{t as V}from"./BotPlaceholder-Dd8zEJxY.js";import{i as H,n as U,t as W}from"./pagination-BOw_ac_B.js";import{n as G,t as K}from"./NoTasks-W7aQUGOX.js";import{t as q}from"./Consumption-DpE91zpd.js";import{t as J}from"./ApiCodeButton-B2l4sY7h.js";import{t as Y}from"./vue-plyr-wiIKa-zl.js";var X=s({name:`LayoutPika`,components:{ElDrawer:w,ElButton:h,FontAwesomeIcon:R},data(){return{drawer:!1}}}),Z={class:`main flex flex-row flex-1`},Q={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ne={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function re(t,n,i,o,s,c){let l=d(`font-awesome-icon`),m=d(`el-button`),h=d(`el-drawer`);return u(),f(`div`,Z,[r(`div`,Q,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,ne,[e(t.$slots,`result`,{},void 0,!0)]),a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(l,{icon:`fa-solid fa-magic`})]),_:1}),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ie=A(X,[[`render`,re],[`__scopeId`,`data-v-10596416`]]),ae=s({name:`IngredientsSelector`,components:{ElSwitch:T,InfoIcon:H},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients},set(e){console.debug(`set ingredients`,e),e||this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients:e,ingredients_mode:void 0,image_url:void 0}),this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients:e,model:`2.0`})}}},mounted(){this.value===void 0&&(this.value=!1)}}),oe={class:`field`},se={class:`title font-bold`};function ce(e,t,n,i,o,s){let c=d(`el-switch`),p=d(`info-icon`);return u(),f(`div`,oe,[r(`h2`,se,l(e.$t(`pika.name.ingredients`)),1),a(c,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`]),a(p,{content:e.$t(`pika.description.ingredients`),class:`info`},null,8,[`content`])])}var le=A(ae,[[`render`,ce],[`__scopeId`,`data-v-17c0af5c`]]),ue=s({name:`EffectSelector`,components:{ElSelect:g,ElOption:_},data(){return{}},computed:{options(){return[{value:`Levitate`,label:this.$t(`pika.style.effect1`)},{value:`Decapitate`,label:this.$t(`pika.style.effect2`)},{value:`Eye-pop`,label:this.$t(`pika.style.effect3`)},{value:`Ta-da`,label:this.$t(`pika.style.effect4`)},{value:`Deflate`,label:this.$t(`pika.style.effect5`)},{value:`Crumble`,label:this.$t(`pika.style.effect6`)},{value:`Dissolve`,label:this.$t(`pika.style.effect7`)},{value:`Squish`,label:this.$t(`pika.style.effect8`)},{value:`Inflate`,label:this.$t(`pika.style.effect9`)},{value:`Melt`,label:this.$t(`pika.style.effect10`)},{value:`Cake-ify`,label:this.$t(`pika.style.effect11`)},{value:`Crush`,label:this.$t(`pika.style.effect12`)},{value:`Explode`,label:this.$t(`pika.style.effect13`)}]},value:{get(){return this.$store.state.pika?.config?.effect},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,effect:e})}}}}),de={class:`field`},fe={class:`title font-bold`},pe={class:`float-left`};function me(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,de,[r(`h2`,fe,l(e.$t(`pika.name.effect`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pika.placeholder.select`),clearable:``},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},{default:p(()=>[r(`span`,pe,l(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var he=A(ue,[[`render`,me],[`__scopeId`,`data-v-d1c54475`]]),ge=s({name:`IngredientsModelSelector`,components:{ElRadioButton:S,ElRadioGroup:C},data(){return{options:[{label:this.$t(`pika.button.precise`),value:`precise`},{label:this.$t(`pika.button.creative`),value:`creative`}]}},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients_mode},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients_mode:e})}}},mounted(){this.value||=E}}),_e={class:`field`},ve={class:`title font-bold`};function ye(e,t,o,s,h,g){let _=d(`el-radio-button`),v=d(`el-radio-group`);return u(),f(`div`,_e,[r(`h2`,ve,l(e.$t(`pika.name.ingredientsModel`)),1),a(v,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`quality`},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(_,{key:e.value,label:e.value},{default:p(()=>[i(l(e.label),1)]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`])])}var be=A(ge,[[`render`,ye],[`__scopeId`,`data-v-b72865fa`]]),xe=s({name:`ModelSelector`,components:{ElSelect:g,ElOption:_},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`2.0`,label:`2.0`},{value:`1.5`,label:`1.5`}]}},computed:{value:{get(){return this.$store.state.pika?.config?.model},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika.config,model:e})}}},mounted(){this.value||=`2.0`}}),Se={class:`field`},Ce={class:`title font-bold`};function we(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,Se,[r(`h2`,Ce,l(e.$t(`pika.name.model`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pika.placeholder.select`)},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Te=A(xe,[[`render`,we],[`__scopeId`,`data-v-7b2e870a`]]),Ee=s({name:`ImageUrlInput`,components:{ElUpload:v,ElButton:h,InfoIcon:H,ImagePreview:B,FontAwesomeIcon:R},mixins:[M,O],data(){return{fileList:[],uploadUrl:P()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.pika?.config?.image_url},set(){let e=this.urls?.[0];this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,image_url:e})}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){L.warning(this.$t(`pika.message.uploadStartImageExceed`))},onError(){L.error(this.$t(`pika.message.uploadStartImageError`))},async onRemove(){L.error(this.$t(`pika.message.uploadStartImageError`))},onSetStartImageUrl(){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,image_url:this.urls})},async onSuccess(){this.onSetStartImageUrl()}}}),De={class:`field`},Oe={class:`title font-bold`},ke={class:`upload-wrapper`};function Ae(e,t,n,o,s,c){let m=d(`image-preview`),h=d(`font-awesome-icon`),g=d(`el-button`),_=d(`el-upload`),v=d(`info-icon`);return u(),f(`div`,De,[r(`h2`,Oe,l(e.$t(`pika.name.imageUrl`)),1),r(`div`,ke,[a(_,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value upload-wrapper`,limit:3,multiple:!0,"list-type":`picture`,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:t})=>[a(m,{url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:p(()=>[a(g,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(h,{icon:`fa-solid fa-upload`,class:`mr-1`}),i(` `+l(e.$t(`pika.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])]),a(v,{content:e.$t(`pika.description.imageUrl`),class:`info`},null,8,[`content`])])}var je=A(Ee,[[`render`,Ae],[`__scopeId`,`data-v-25cefe78`]]),Me=s({name:`PromptInput`,components:{PromptTextarea:G},computed:{prompt:{get(){return this.$store.state.pika?.config?.prompt},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Ne(e,t,r,i,a,o){let s=d(`prompt-textarea`);return u(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`pika.name.prompt`),info:e.$t(`pika.description.prompt`),placeholder:e.$t(`pika.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Pe=s({name:`PresetPanel`,components:{ImageUrlInput:je,ElButton:h,FontAwesomeIcon:R,Consumption:q,PromptInput:A(Me,[[`render`,Ne]]),IngredientsSelector:le,IngredientsModelSelector:be,ModelSelector:Te,EffectSelector:he},emits:[`generate`],computed:{config(){return this.$store.state.pika?.config},consumption(){return k(this.config,this.service?.cost)},service(){return this.$store.state.pika?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Fe={class:`flex flex-col h-full`},Ie={class:`flex-1 overflow-y-auto p-5`},Le={class:`flex flex-col items-center justify-center px-5 pb-5`};function Re(e,t,s,c,m,h){let g=d(`prompt-input`),_=d(`model-selector`),v=d(`ingredients-selector`),y=d(`effect-selector`),b=d(`image-url-input`),x=d(`ingredients-model-selector`),S=d(`consumption`),C=d(`font-awesome-icon`),w=d(`el-button`);return u(),f(`div`,Fe,[r(`div`,Ie,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),e.config?.ingredients?(u(),n(b,{key:0,class:`mb-4`})):o(``,!0),e.config?.ingredients?(u(),n(x,{key:1,class:`mb-4`})):o(``,!0)]),r(`div`,Le,[a(S,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),a(w,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:p(()=>[a(C,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`pika.button.generate`)),1)]),_:1},8,[`onClick`])])])}var ze=A(Pe,[[`render`,Re]]),Be=s({name:`VideoPlayer`,components:{VuePlyr:Y},props:{modelValue:{type:Object,required:!0}},data(){return{options:{quality:{default:1080,options:[1080]}}}}}),Ve=[`data-poster`],He=[`src`];function Ue(e,t,n,i,o,s){let c=d(`vue-plyr`);return u(),f(`div`,null,[a(c,{options:e.options,class:`video`},{default:p(()=>[r(`video`,{controls:``,playsinline:``,preload:`metadata`,"data-poster":e.modelValue?.image_url},[r(`source`,{size:`1080`,src:e.modelValue?.video_url,type:`video/mp4`},null,8,He)],8,Ve)]),_:1},8,[`options`])])}var We=s({name:`TaskPreview`,components:{ElImage:b,CopyToClipboard:z,FontAwesomeIcon:R,ElAlert:x,VideoPlayer:A(Be,[[`render`,Ue],[`__scopeId`,`data-v-897d9fe0`]]),ElTooltip:y,ElButton:h,ApiCodeButton:J},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pika?.application},config(){return this.$store.state.pika?.config},videos(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{onDownload(e){console.log(`on download`),window.open(e,`_blank`)},onReload(e){let t=e.target,n=new URL(t.src),r=n.searchParams.get(`retry`);if(!r)n.searchParams.set(`retry`,`1`);else if(parseInt(r)<2)n.searchParams.set(`retry`,(parseInt(r)+1).toString());else return;t.src=n.toString()},onOpenVideo(e){window.open(e,`_blank`)}}}),Ge={class:`left`},Ke={class:`main`},qe={class:`bot`},Je={class:`datetime`},Ye={class:`info`},Xe={key:0,class:`prompt mt-2`},Ze={key:0},Qe={key:1},$e={key:0,class:t({content:!0,failed:!0})},et={class:`image-wrapper`},tt={key:0,class:t({operations:!0,"mt-2":!0})},nt={key:0,class:`description`},rt={class:`description`},it={key:1,class:`description`},at={key:1,class:t({content:!0})},ot={class:`description`},st={class:`description`},ct={key:0,class:`description`},lt={class:`description`},ut={key:2,class:t({content:!0})},dt={class:`description`};function ft(e,t,s,h,g,_){let v=d(`el-image`),y=d(`VideoPlayer`),b=d(`el-button`),x=d(`el-tooltip`),S=d(`api-code-button`),C=d(`font-awesome-icon`),w=d(`copy-to-clipboard`),T=d(`el-alert`);return u(!0),f(m,null,c(e.videos,(t,s)=>(u(),f(`div`,{key:s,class:`preview`},[r(`div`,Ge,[a(v,{src:`https://cdn.acedata.cloud/i80tgn.png`,class:`avatar`})]),r(`div`,Ke,[r(`div`,qe,[i(l(e.$t(`pika.name.pikaBot`))+` `,1),r(`span`,Je,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,Ye,[e.modelValue?.request?.prompt?(u(),f(`p`,Xe,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?o(``,!0):(u(),f(`span`,Ze,` - (`+l(e.$t(`pika.status.pending`))+`) `,1)),t?.state===`processing`||t?.state===`pending`?(u(),f(`span`,Qe,` - (`+l(e.$t(`pika.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),e.modelValue?.response?.success===!0?(u(),f(`div`,$e,[r(`div`,et,[a(y,{"model-value":t},null,8,[`model-value`])]),t?(u(),f(`div`,tt,[a(x,{class:`box-item`,effect:`dark`,content:e.$t(`pika.message.downloadVideo`),placement:`top-start`},{default:p(()=>[t?.video_url?(u(),n(b,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:n=>e.onDownload(t?.video_url)},{default:p(()=>[i(l(e.$t(`pika.button.download`)),1)]),_:1},8,[`onClick`])):o(``,!0)]),_:2},1032,[`content`]),a(S,{path:`/pika/videos`,body:e.modelValue?.request},null,8,[`body`])])):o(``,!0),a(T,{closable:!1,class:`mt-2 success`},{default:p(()=>[e.modelValue?.request?.model?(u(),f(`p`,nt,[a(C,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.model`))+`: `+l(e.modelValue?.request?.model),1)])):o(``,!0),r(`p`,rt,[a(C,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(w,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,it,[a(C,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),e.modelValue?.response?.success===!1?(u(),f(`div`,at,[a(T,{closable:!1,class:`failure`},{template:p(()=>[a(C,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.failure`)),1)]),default:p(()=>[r(`p`,ot,[a(C,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(w,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r(`p`,st,[a(C,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),a(w,{content:e.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,ct,[a(C,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),r(`p`,lt,[a(C,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(w,{content:e.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),!e.modelValue?.response||t?.state===`processing`||t?.state===`pending`?(u(),f(`div`,ut,[a(T,{closable:!1,class:`info`},{template:p(()=>[a(C,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.failure`)),1)]),default:p(()=>[r(`p`,dt,[a(C,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(w,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0)])]))),128)}var $=s({name:`RecentPanel`,components:{TaskPreview:A(We,[[`render`,ft],[`__scopeId`,`data-v-52856c99`]]),BotPlaceholder:V,NoTasks:K,ScrollList:U},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pika?.tasks,items:this.$store.state.pika?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),pt={key:0},mt={key:2,class:`w-full h-full flex items-center justify-center`};function ht(e,t,r,i,s,l){let h=d(`bot-placeholder`),g=d(`task-preview`),_=d(`scroll-list`),v=d(`no-tasks`);return u(),f(m,null,[e.tasks?.items===void 0?(u(),f(`div`,pt,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(u(),n(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(u(!0),f(m,null,c(e.tasks?.items,(e,t)=>(u(),n(g,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(u(),f(`div`,mt,[a(v)])):o(``,!0)],64)}var gt=A($,[[`render`,ht]]),_t=ee(`pika`),vt=s({name:`PikaIndex`,components:{ConfigPanel:ze,Layout:ie,RecentPanel:gt},mixins:[I],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pika?.status?.getApplications===N.Request},tasksLoading(){return this.$store.state.pika?.status?.getTasks===N.Request||this.fetchingTasks},service(){return this.$store.state.pika.service},credential(){return this.$store.state.pika.credential},config(){return this.$store.state.pika.config},initializing(){return this.$store.state.pika.status.getApplications===N.Request},needApply(){return this.$store.state.pika.status.getApplications===N.Success&&!this.application},application(){return this.$store.state.pika.application},applications(){return this.$store.state.pika.applications},tasks(){return this.$store.state.pika.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await W({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`pika/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`pika/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},onApply(){D.create({application:this.application}).then(({data:e})=>{this.application=e,L.success(this.$t(`application.message.applySuccessfully`))}).catch(e=>{e?.response?.data?.code===`duplication`&&L.error(this.$t(`application.message.alreadyApplied`))})},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`pika/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!j(this.uploadTracker,e=>this.$t(e),e=>L.warning(e)))return;let e={...this.config,callback_url:_t},t=this.credential?.token;if(!t){console.error(`no token specified`);return}L.info(this.$t(`pika.message.startingTask`)),te(`pika`,F.generate(e,{token:t})).then(()=>{L.success(this.$t(`pika.message.startTaskSuccess`)),this.$store.commit(`pika/setConfig`,{config:void 0})}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?L.error(this.$t(`pika.message.usedUp`)):L.error(this.$t(`pika.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function yt(e,t,r,i,o,s){let c=d(`config-panel`),l=d(`recent-panel`),f=d(`layout`);return u(),n(f,null,{config:p(()=>[a(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(l,{ref:`recentPanel`,class:`panel recent`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var bt=A(vt,[[`render`,yt],[`__scopeId`,`data-v-eae39ce1`]]);export{bt as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,M as i,N as a,O as o,P as s,Q as c,Ut as l,X as u,et as d,k as f,lt as p,x as m}from"./vendor-chart-Df3WBvr0.js";import{t as h}from"./button-DgZFgZDr.js";import{r as g,t as _}from"./select-t5c7Lp69.js";import{t as v}from"./upload-B8zBOx3w.js";import{t as y}from"./tooltip-C-9nDsaA.js";import{t as b}from"./image-DFWhL-qY.js";import{t as x}from"./alert-Bgv5POrX.js";import{n as S,r as C}from"./radio-DNLlMkjf.js";import{t as w}from"./drawer-BhAAsvLB.js";import{t as T}from"./switch-N9PR2d6x.js";import{Vr as ee,Yn as E}from"./constants-SseKgNeZ.js";import{Cn as D,Ct as O,Dt as k,On as te,S as A,St as j,Tt as M,dr as N,mr as P,sn as F,wt as I,xr as L}from"./index-rGtIyz5r.js";import{t as R}from"./index.es-C6FYBs69.js";import{t as z}from"./CopyToClipboard-3bG2Wqkv.js";import{t as B}from"./ImagePreview-D9A0kP8b.js";import{t as V}from"./BotPlaceholder-CdZM9k0A.js";import{i as H,n as U,t as W}from"./pagination-DwRnUll_.js";import{n as G,t as K}from"./NoTasks-CbOYe2qY.js";import{t as q}from"./Consumption-C_iQsNzm.js";import{t as J}from"./ApiCodeButton-NqboHz1M.js";import{t as Y}from"./vue-plyr-wiIKa-zl.js";var X=s({name:`LayoutPika`,components:{ElDrawer:w,ElButton:h,FontAwesomeIcon:R},data(){return{drawer:!1}}}),Z={class:`main flex flex-row flex-1`},Q={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ne={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function re(t,n,i,o,s,c){let l=d(`font-awesome-icon`),m=d(`el-button`),h=d(`el-drawer`);return u(),f(`div`,Z,[r(`div`,Q,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,ne,[e(t.$slots,`result`,{},void 0,!0)]),a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(l,{icon:`fa-solid fa-magic`})]),_:1}),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ie=A(X,[[`render`,re],[`__scopeId`,`data-v-10596416`]]),ae=s({name:`IngredientsSelector`,components:{ElSwitch:T,InfoIcon:H},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients},set(e){console.debug(`set ingredients`,e),e||this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients:e,ingredients_mode:void 0,image_url:void 0}),this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients:e,model:`2.0`})}}},mounted(){this.value===void 0&&(this.value=!1)}}),oe={class:`field`},se={class:`title font-bold`};function ce(e,t,n,i,o,s){let c=d(`el-switch`),p=d(`info-icon`);return u(),f(`div`,oe,[r(`h2`,se,l(e.$t(`pika.name.ingredients`)),1),a(c,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`]),a(p,{content:e.$t(`pika.description.ingredients`),class:`info`},null,8,[`content`])])}var le=A(ae,[[`render`,ce],[`__scopeId`,`data-v-17c0af5c`]]),ue=s({name:`EffectSelector`,components:{ElSelect:g,ElOption:_},data(){return{}},computed:{options(){return[{value:`Levitate`,label:this.$t(`pika.style.effect1`)},{value:`Decapitate`,label:this.$t(`pika.style.effect2`)},{value:`Eye-pop`,label:this.$t(`pika.style.effect3`)},{value:`Ta-da`,label:this.$t(`pika.style.effect4`)},{value:`Deflate`,label:this.$t(`pika.style.effect5`)},{value:`Crumble`,label:this.$t(`pika.style.effect6`)},{value:`Dissolve`,label:this.$t(`pika.style.effect7`)},{value:`Squish`,label:this.$t(`pika.style.effect8`)},{value:`Inflate`,label:this.$t(`pika.style.effect9`)},{value:`Melt`,label:this.$t(`pika.style.effect10`)},{value:`Cake-ify`,label:this.$t(`pika.style.effect11`)},{value:`Crush`,label:this.$t(`pika.style.effect12`)},{value:`Explode`,label:this.$t(`pika.style.effect13`)}]},value:{get(){return this.$store.state.pika?.config?.effect},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,effect:e})}}}}),de={class:`field`},fe={class:`title font-bold`},pe={class:`float-left`};function me(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,de,[r(`h2`,fe,l(e.$t(`pika.name.effect`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pika.placeholder.select`),clearable:``},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},{default:p(()=>[r(`span`,pe,l(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var he=A(ue,[[`render`,me],[`__scopeId`,`data-v-d1c54475`]]),ge=s({name:`IngredientsModelSelector`,components:{ElRadioButton:S,ElRadioGroup:C},data(){return{options:[{label:this.$t(`pika.button.precise`),value:`precise`},{label:this.$t(`pika.button.creative`),value:`creative`}]}},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients_mode},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients_mode:e})}}},mounted(){this.value||=E}}),_e={class:`field`},ve={class:`title font-bold`};function ye(e,t,o,s,h,g){let _=d(`el-radio-button`),v=d(`el-radio-group`);return u(),f(`div`,_e,[r(`h2`,ve,l(e.$t(`pika.name.ingredientsModel`)),1),a(v,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`quality`},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(_,{key:e.value,label:e.value},{default:p(()=>[i(l(e.label),1)]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`])])}var be=A(ge,[[`render`,ye],[`__scopeId`,`data-v-b72865fa`]]),xe=s({name:`ModelSelector`,components:{ElSelect:g,ElOption:_},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`2.0`,label:`2.0`},{value:`1.5`,label:`1.5`}]}},computed:{value:{get(){return this.$store.state.pika?.config?.model},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika.config,model:e})}}},mounted(){this.value||=`2.0`}}),Se={class:`field`},Ce={class:`title font-bold`};function we(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,Se,[r(`h2`,Ce,l(e.$t(`pika.name.model`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pika.placeholder.select`)},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Te=A(xe,[[`render`,we],[`__scopeId`,`data-v-7b2e870a`]]),Ee=s({name:`ImageUrlInput`,components:{ElUpload:v,ElButton:h,InfoIcon:H,ImagePreview:B,FontAwesomeIcon:R},mixins:[M,O],data(){return{fileList:[],uploadUrl:P()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.pika?.config?.image_url},set(){let e=this.urls?.[0];this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,image_url:e})}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){L.warning(this.$t(`pika.message.uploadStartImageExceed`))},onError(){L.error(this.$t(`pika.message.uploadStartImageError`))},async onRemove(){L.error(this.$t(`pika.message.uploadStartImageError`))},onSetStartImageUrl(){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,image_url:this.urls})},async onSuccess(){this.onSetStartImageUrl()}}}),De={class:`field`},Oe={class:`title font-bold`},ke={class:`upload-wrapper`};function Ae(e,t,n,o,s,c){let m=d(`image-preview`),h=d(`font-awesome-icon`),g=d(`el-button`),_=d(`el-upload`),v=d(`info-icon`);return u(),f(`div`,De,[r(`h2`,Oe,l(e.$t(`pika.name.imageUrl`)),1),r(`div`,ke,[a(_,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value upload-wrapper`,limit:3,multiple:!0,"list-type":`picture`,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:t})=>[a(m,{url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:p(()=>[a(g,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(h,{icon:`fa-solid fa-upload`,class:`mr-1`}),i(` `+l(e.$t(`pika.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])]),a(v,{content:e.$t(`pika.description.imageUrl`),class:`info`},null,8,[`content`])])}var je=A(Ee,[[`render`,Ae],[`__scopeId`,`data-v-25cefe78`]]),Me=s({name:`PromptInput`,components:{PromptTextarea:G},computed:{prompt:{get(){return this.$store.state.pika?.config?.prompt},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Ne(e,t,r,i,a,o){let s=d(`prompt-textarea`);return u(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`pika.name.prompt`),info:e.$t(`pika.description.prompt`),placeholder:e.$t(`pika.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Pe=s({name:`PresetPanel`,components:{ImageUrlInput:je,ElButton:h,FontAwesomeIcon:R,Consumption:q,PromptInput:A(Me,[[`render`,Ne]]),IngredientsSelector:le,IngredientsModelSelector:be,ModelSelector:Te,EffectSelector:he},emits:[`generate`],computed:{config(){return this.$store.state.pika?.config},consumption(){return k(this.config,this.service?.cost)},service(){return this.$store.state.pika?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Fe={class:`flex flex-col h-full`},Ie={class:`flex-1 overflow-y-auto p-5`},Le={class:`flex flex-col items-center justify-center px-5 pb-5`};function Re(e,t,s,c,m,h){let g=d(`prompt-input`),_=d(`model-selector`),v=d(`ingredients-selector`),y=d(`effect-selector`),b=d(`image-url-input`),x=d(`ingredients-model-selector`),S=d(`consumption`),C=d(`font-awesome-icon`),w=d(`el-button`);return u(),f(`div`,Fe,[r(`div`,Ie,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),e.config?.ingredients?(u(),n(b,{key:0,class:`mb-4`})):o(``,!0),e.config?.ingredients?(u(),n(x,{key:1,class:`mb-4`})):o(``,!0)]),r(`div`,Le,[a(S,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),a(w,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:p(()=>[a(C,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`pika.button.generate`)),1)]),_:1},8,[`onClick`])])])}var ze=A(Pe,[[`render`,Re]]),Be=s({name:`VideoPlayer`,components:{VuePlyr:Y},props:{modelValue:{type:Object,required:!0}},data(){return{options:{quality:{default:1080,options:[1080]}}}}}),Ve=[`data-poster`],He=[`src`];function Ue(e,t,n,i,o,s){let c=d(`vue-plyr`);return u(),f(`div`,null,[a(c,{options:e.options,class:`video`},{default:p(()=>[r(`video`,{controls:``,playsinline:``,preload:`metadata`,"data-poster":e.modelValue?.image_url},[r(`source`,{size:`1080`,src:e.modelValue?.video_url,type:`video/mp4`},null,8,He)],8,Ve)]),_:1},8,[`options`])])}var We=s({name:`TaskPreview`,components:{ElImage:b,CopyToClipboard:z,FontAwesomeIcon:R,ElAlert:x,VideoPlayer:A(Be,[[`render`,Ue],[`__scopeId`,`data-v-897d9fe0`]]),ElTooltip:y,ElButton:h,ApiCodeButton:J},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pika?.application},config(){return this.$store.state.pika?.config},videos(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{onDownload(e){console.log(`on download`),window.open(e,`_blank`)},onReload(e){let t=e.target,n=new URL(t.src),r=n.searchParams.get(`retry`);if(!r)n.searchParams.set(`retry`,`1`);else if(parseInt(r)<2)n.searchParams.set(`retry`,(parseInt(r)+1).toString());else return;t.src=n.toString()},onOpenVideo(e){window.open(e,`_blank`)}}}),Ge={class:`left`},Ke={class:`main`},qe={class:`bot`},Je={class:`datetime`},Ye={class:`info`},Xe={key:0,class:`prompt mt-2`},Ze={key:0},Qe={key:1},$e={key:0,class:t({content:!0,failed:!0})},et={class:`image-wrapper`},tt={key:0,class:t({operations:!0,"mt-2":!0})},nt={key:0,class:`description`},rt={class:`description`},it={key:1,class:`description`},at={key:1,class:t({content:!0})},ot={class:`description`},st={class:`description`},ct={key:0,class:`description`},lt={class:`description`},ut={key:2,class:t({content:!0})},dt={class:`description`};function ft(e,t,s,h,g,_){let v=d(`el-image`),y=d(`VideoPlayer`),b=d(`el-button`),x=d(`el-tooltip`),S=d(`api-code-button`),C=d(`font-awesome-icon`),w=d(`copy-to-clipboard`),T=d(`el-alert`);return u(!0),f(m,null,c(e.videos,(t,s)=>(u(),f(`div`,{key:s,class:`preview`},[r(`div`,Ge,[a(v,{src:`https://cdn.acedata.cloud/i80tgn.png`,class:`avatar`})]),r(`div`,Ke,[r(`div`,qe,[i(l(e.$t(`pika.name.pikaBot`))+` `,1),r(`span`,Je,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,Ye,[e.modelValue?.request?.prompt?(u(),f(`p`,Xe,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?o(``,!0):(u(),f(`span`,Ze,` - (`+l(e.$t(`pika.status.pending`))+`) `,1)),t?.state===`processing`||t?.state===`pending`?(u(),f(`span`,Qe,` - (`+l(e.$t(`pika.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),e.modelValue?.response?.success===!0?(u(),f(`div`,$e,[r(`div`,et,[a(y,{"model-value":t},null,8,[`model-value`])]),t?(u(),f(`div`,tt,[a(x,{class:`box-item`,effect:`dark`,content:e.$t(`pika.message.downloadVideo`),placement:`top-start`},{default:p(()=>[t?.video_url?(u(),n(b,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:n=>e.onDownload(t?.video_url)},{default:p(()=>[i(l(e.$t(`pika.button.download`)),1)]),_:1},8,[`onClick`])):o(``,!0)]),_:2},1032,[`content`]),a(S,{path:`/pika/videos`,body:e.modelValue?.request},null,8,[`body`])])):o(``,!0),a(T,{closable:!1,class:`mt-2 success`},{default:p(()=>[e.modelValue?.request?.model?(u(),f(`p`,nt,[a(C,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.model`))+`: `+l(e.modelValue?.request?.model),1)])):o(``,!0),r(`p`,rt,[a(C,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(w,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,it,[a(C,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),e.modelValue?.response?.success===!1?(u(),f(`div`,at,[a(T,{closable:!1,class:`failure`},{template:p(()=>[a(C,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.failure`)),1)]),default:p(()=>[r(`p`,ot,[a(C,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(w,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r(`p`,st,[a(C,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),a(w,{content:e.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,ct,[a(C,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),r(`p`,lt,[a(C,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(w,{content:e.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),!e.modelValue?.response||t?.state===`processing`||t?.state===`pending`?(u(),f(`div`,ut,[a(T,{closable:!1,class:`info`},{template:p(()=>[a(C,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.failure`)),1)]),default:p(()=>[r(`p`,dt,[a(C,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(w,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0)])]))),128)}var $=s({name:`RecentPanel`,components:{TaskPreview:A(We,[[`render`,ft],[`__scopeId`,`data-v-52856c99`]]),BotPlaceholder:V,NoTasks:K,ScrollList:U},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pika?.tasks,items:this.$store.state.pika?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),pt={key:0},mt={key:2,class:`w-full h-full flex items-center justify-center`};function ht(e,t,r,i,s,l){let h=d(`bot-placeholder`),g=d(`task-preview`),_=d(`scroll-list`),v=d(`no-tasks`);return u(),f(m,null,[e.tasks?.items===void 0?(u(),f(`div`,pt,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(u(),n(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(u(!0),f(m,null,c(e.tasks?.items,(e,t)=>(u(),n(g,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(u(),f(`div`,mt,[a(v)])):o(``,!0)],64)}var gt=A($,[[`render`,ht]]),_t=ee(`pika`),vt=s({name:`PikaIndex`,components:{ConfigPanel:ze,Layout:ie,RecentPanel:gt},mixins:[I],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pika?.status?.getApplications===N.Request},tasksLoading(){return this.$store.state.pika?.status?.getTasks===N.Request||this.fetchingTasks},service(){return this.$store.state.pika.service},credential(){return this.$store.state.pika.credential},config(){return this.$store.state.pika.config},initializing(){return this.$store.state.pika.status.getApplications===N.Request},needApply(){return this.$store.state.pika.status.getApplications===N.Success&&!this.application},application(){return this.$store.state.pika.application},applications(){return this.$store.state.pika.applications},tasks(){return this.$store.state.pika.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await W({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`pika/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`pika/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},onApply(){D.create({application:this.application}).then(({data:e})=>{this.application=e,L.success(this.$t(`application.message.applySuccessfully`))}).catch(e=>{e?.response?.data?.code===`duplication`&&L.error(this.$t(`application.message.alreadyApplied`))})},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`pika/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!j(this.uploadTracker,e=>this.$t(e),e=>L.warning(e)))return;let e={...this.config,callback_url:_t},t=this.credential?.token;if(!t){console.error(`no token specified`);return}L.info(this.$t(`pika.message.startingTask`)),te(`pika`,F.generate(e,{token:t})).then(()=>{L.success(this.$t(`pika.message.startTaskSuccess`)),this.$store.commit(`pika/setConfig`,{config:void 0})}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?L.error(this.$t(`pika.message.usedUp`)):L.error(this.$t(`pika.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function yt(e,t,r,i,o,s){let c=d(`config-panel`),l=d(`recent-panel`),f=d(`layout`);return u(),n(f,null,{config:p(()=>[a(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(l,{ref:`recentPanel`,class:`panel recent`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var bt=A(vt,[[`render`,yt],[`__scopeId`,`data-v-eae39ce1`]]);export{bt as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,M as i,N as a,O as o,P as s,Q as c,Ut as l,X as u,et as d,k as f,lt as p,x as m,y as h}from"./vendor-chart-Df3WBvr0.js";import{t as g}from"./button-DgZFgZDr.js";import{r as _,t as v}from"./select-BYVaaZev.js";import{t as y}from"./upload-B8zBOx3w.js";import{t as b}from"./tooltip-C-9nDsaA.js";import{t as x}from"./image-D9DCBoK1.js";import{t as S}from"./alert-Bgv5POrX.js";import{t as C}from"./drawer-BhAAsvLB.js";import{Qt as w,Vr as T,en as E,nn as D,tn as O}from"./constants-SseKgNeZ.js";import{Ct as k,Dt as A,Jt as j,On as M,S as N,St as ee,Tt as te,dr as P,mr as F,wt as I,xr as L}from"./index-DJri8swR.js";import{t as R}from"./index.es-DU_1oGwZ.js";import{t as z}from"./CopyToClipboard-iiCeJbY4.js";import{t as B}from"./ImagePreview-BbK_HGTQ.js";import{t as V}from"./BotPlaceholder-Dd8zEJxY.js";import{i as H,n as U,t as W}from"./pagination-BOw_ac_B.js";import{n as G,t as K}from"./NoTasks-W7aQUGOX.js";import{t as q}from"./Consumption-DpE91zpd.js";import{t as J}from"./ApiCodeButton-B2l4sY7h.js";import{t as Y}from"./ImageWrapper-DXp5GBjP.js";var X=s({name:`LayoutNanobanana`,components:{ElDrawer:C,ElButton:g,FontAwesomeIcon:R},data(){return{drawer:!1}}}),Z={class:`main flex flex-row flex-1`},Q={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ne={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function re(t,n,i,o,s,c){let l=d(`font-awesome-icon`),m=d(`el-button`),h=d(`el-drawer`);return u(),f(`div`,Z,[r(`div`,Q,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,ne,[e(t.$slots,`result`,{},void 0,!0)]),a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(l,{icon:`fa-solid fa-magic`})]),_:1}),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ie=N(X,[[`render`,re],[`__scopeId`,`data-v-8ca1c212`]]),ae=s({name:`PromptInput`,components:{PromptTextarea:G},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||=``}});function oe(e,t,r,i,a,o){let s=d(`prompt-textarea`);return u(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`nanobanana.name.prompt`),info:e.$t(`nanobanana.description.prompt`),placeholder:e.$t(`nanobanana.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var se=N(ae,[[`render`,oe]]),ce=s({name:`ImageUrlsInput`,components:{ElUpload:y,ElButton:g,InfoIcon:H,ImagePreview:B,FontAwesomeIcon:R},mixins:[te,k],data(){return{fileList:[],uploadUrl:F()+`/api/v1/files/`,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){L.warning(this.$t(`nanobanana.message.uploadImageExceed`))},onError(){L.error(this.$t(`nanobanana.message.uploadImageError`))},onSetImageUrls(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),le={class:`field flex items-center justify-between`},ue={class:`title font-bold text-[14px] mb-[10px]`},de={class:`upload-wrapper flex flex-col items-start gap-[8px]`},fe={class:`controls flex items-center`},pe={class:`file-list flex flex-wrap gap-[10px]`};function me(e,t,o,s,h,g){let _=d(`font-awesome-icon`),v=d(`el-button`),y=d(`el-upload`),b=d(`info-icon`),x=d(`image-preview`);return u(),f(m,null,[r(`div`,le,[r(`h2`,ue,l(e.$t(`nanobanana.name.imageUrls`)),1),r(`div`,de,[r(`div`,fe,[a(y,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value`,limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:p(()=>[a(v,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(_,{icon:`fa-solid fa-upload`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`]),a(b,{content:e.$t(`nanobanana.description.imageUrls`),class:`ml-2`},null,8,[`content`])])])]),r(`div`,pe,[(u(!0),f(m,null,c(e.fileList,(t,r)=>(u(),n(x,{key:t.uid||t?.response?.file_url||t.url||r,url:t.url||t?.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.onRemovePreview(r,t)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])],64)}var he=N(ce,[[`render`,me]]),ge=s({name:`AspectRatioSelector`,components:{ElSelect:_,ElOption:v},data(){return{options:[`1:1`,`3:2`,`2:3`,`16:9`,`9:16`,`4:3`,`3:4`]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e);let t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit(`nanobanana/setConfig`,t)}}}}),_e={class:`field`},ve={class:`title font-bold`};function ye(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,_e,[r(`h2`,ve,l(e.$t(`nanobanana.name.aspectRatio`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,clearable:``,placeholder:e.$t(`nanobanana.placeholder.select`)},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var be=N(ge,[[`render`,ye],[`__scopeId`,`data-v-67f08a08`]]),xe=s({name:`NanobananaModelSelector`,components:{ElSelect:_,ElOption:v,InfoIcon:H},data(){return{options:[{value:E,label:this.$t(`nanobanana.model.nanoBanana`)},{value:D,label:this.$t(`nanobanana.model.nanoBananaPro`)},{value:O,label:this.$t(`nanobanana.model.nanoBanana2`)}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t(`nanobanana.description.model`)}},mounted(){this.value||=w}}),Se={class:`field`},Ce={class:`label`},we={class:`box`},Te={class:`title font-bold`};function Ee(e,t,i,o,s,h){let g=d(`info-icon`),_=d(`el-option`),v=d(`el-select`);return u(),f(`div`,Se,[r(`div`,Ce,[r(`div`,we,[r(`h2`,Te,l(e.$t(`nanobanana.name.model`)),1),a(g,{content:e.modelDescription,class:`info`},null,8,[`content`])])]),a(v,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`nanobanana.placeholder.select`)},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var De=N(xe,[[`render`,Ee],[`__scopeId`,`data-v-94304d73`]]),Oe=s({name:`NanobananaResolutionSelector`,components:{ElSelect:_,ElOption:v,InfoIcon:H},data(){return{cachedResolution:`1K`,options:[{value:`1K`,label:`1K`},{value:`2K`,label:`2K`},{value:`4K`,label:`4K`}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model!==E}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||=this.cachedResolution||`1K`:(this.value&&(this.cachedResolution=this.value),this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=`1K`),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),ke={class:`field`},Ae={class:`label`},je={class:`box`},Me={class:`title font-bold`};function Ne(e,t,i,o,s,h){let g=d(`info-icon`),_=d(`el-option`),v=d(`el-select`);return u(),f(`div`,ke,[r(`div`,Ae,[r(`div`,je,[r(`h2`,Me,l(e.$t(`nanobanana.name.resolution`)),1),a(g,{content:e.$t(`nanobanana.description.resolutionProOnly`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`nanobanana.placeholder.select`),disabled:!e.isProModel},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])])}var Pe=s({name:`ConfigPanel`,components:{ElButton:g,FontAwesomeIcon:R,PromptInput:se,Consumption:q,ImageUrlsInput:he,AspectRatioSelector:be,ModelSelector:De,ResolutionSelector:N(Oe,[[`render`,Ne],[`__scopeId`,`data-v-fd5ab393`]])},emits:[`generate`],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return A({...e,action:t?`edit`:`generate`},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Fe={class:`flex flex-col h-full`},Ie={class:`flex-1 overflow-y-auto p-5`},Le={class:`flex flex-col items-center justify-center px-5 pb-5`};function Re(e,t,n,o,s,c){let m=d(`model-selector`),h=d(`resolution-selector`),g=d(`prompt-input`),_=d(`aspect-ratio-selector`),v=d(`image-urls-input`),y=d(`consumption`),b=d(`font-awesome-icon`),x=d(`el-button`);return u(),f(`div`,Fe,[r(`div`,Ie,[a(m,{class:`mb-4`}),a(h,{class:`mb-4`}),a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`})]),r(`div`,Le,[a(y,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),a(x,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:p(()=>[a(b,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`nanobanana.button.generate`)),1)]),_:1},8,[`onClick`])])])}var ze=N(Pe,[[`render`,Re]]),Be=s({name:`TaskPreview`,components:{ElImage:x,CopyToClipboard:z,FontAwesomeIcon:R,ElAlert:S,ImageWrapper:Y,ElButton:g,ElTooltip:b,ImagePreview:B,ApiCodeButton:J},props:{modelValue:{type:Object,required:!0}},computed:{images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit(`nanobanana/setConfig`,t)}}}),Ve={class:`preview`},He={class:`left`},Ue={class:`main`},We={class:`bot`},Ge={class:`datetime`},Ke={class:`info`},qe={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Je={key:1,class:`prompt mt-2`},Ye={key:0},Xe={key:0,class:t({content:!0,failed:!0})},Ze={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},Qe={class:t({operations:!0,"mt-2":!0,"mb-2":!0})},$e={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},et={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},tt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},nt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},rt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},it={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},at={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ot={key:1,class:t({content:!0})},st={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ct={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},lt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ut={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ft={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pt={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mt={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ht={key:2,class:t({content:!0})},gt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_t={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`};function bt(e,t,s,g,_,v){let y=d(`el-image`),b=d(`image-preview`),x=d(`image-wrapper`),S=d(`el-button`),C=d(`el-tooltip`),w=d(`api-code-button`),T=d(`font-awesome-icon`),E=d(`copy-to-clipboard`),D=d(`el-alert`);return u(),f(`div`,Ve,[r(`div`,He,[a(y,{src:`https://cdn.acedata.cloud/859plc.jpg`,class:`avatar`})]),r(`div`,Ue,[r(`div`,We,[i(l(e.$t(`nanobanana.name.nanobananaBot`))+` `,1),r(`span`,Ge,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,Ke,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(u(),f(`div`,qe,[(u(!0),f(m,null,c(e.modelValue?.request?.image_urls,(e,t)=>(u(),n(b,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),e.modelValue?.request?.prompt?(u(),f(`p`,Je,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?o(``,!0):(u(),f(`span`,Ye,` - (`+l(e.$t(`nanobanana.status.pending`))+`) `,1))])):o(``,!0)]),e.modelValue?.response?.success===!0?(u(),f(`div`,Xe,[r(`div`,Ze,[(u(!0),f(m,null,c(e.images,(e,t)=>(u(),n(x,{key:t,src:e?.image_url,"raw-src":e?.image_url},null,8,[`src`,`raw-src`]))),128))]),r(`div`,Qe,[a(C,{class:`box-item`,effect:`dark`,content:e.$t(`common.button.edit`),placement:`top-start`},{default:p(()=>[a(S,{type:`info`,size:`small`,class:`btn-action`,onClick:t[0]||=h(t=>e.onEdit(e.images?.[0]?.image_url),[`stop`])},{default:p(()=>[i(l(e.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),a(w,{path:`/nano-banana/images`,body:e.modelValue?.request},null,8,[`body`])]),a(D,{closable:!1,class:`mt-2 success`},{default:p(()=>[e.modelValue?.request?.model?(u(),f(`p`,$e,[a(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.model`))+`: `+l(e.modelValue?.request?.model),1)])):o(``,!0),e.modelValue?.request?.resolution?(u(),f(`p`,et,[a(T,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.resolution`))+`: `+l(e.modelValue?.request?.resolution),1)])):o(``,!0),e.modelValue?.request?.aspect_ratio?(u(),f(`p`,tt,[a(T,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.aspectRatio`))+`: `+l(e.modelValue?.request?.aspect_ratio),1)])):o(``,!0),e.modelValue?.request?.action?(u(),f(`p`,nt,[a(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.task`))+`: `+l(e.modelValue?.request?.action===`generate`?e.$t(`nanobanana.name.generate`):e.$t(`nanobanana.name.edits`)),1)])):o(``,!0),r(`p`,rt,[a(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(E,{content:e.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,it,[a(T,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e.modelValue?.response?.trace_id?(u(),f(`p`,at,[a(T,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(E,{content:e.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):e.modelValue?.response?.success===!1?(u(),f(`div`,ot,[a(D,{closable:!1,class:`failure`},{template:p(()=>[a(T,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.failure`)),1)]),default:p(()=>[e.modelValue?.request?.model?(u(),f(`p`,st,[a(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.model`))+`: `+l(e.modelValue?.request?.model),1)])):o(``,!0),e.modelValue?.request?.resolution?(u(),f(`p`,ct,[a(T,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.resolution`))+`: `+l(e.modelValue?.request?.resolution),1)])):o(``,!0),e.modelValue?.request?.aspect_ratio?(u(),f(`p`,lt,[a(T,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.aspectRatio`))+`: `+l(e.modelValue?.request?.aspect_ratio),1)])):o(``,!0),e.modelValue?.request?.action?(u(),f(`p`,ut,[a(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.task`))+`: `+l(e.modelValue?.request?.action===`generate`?e.$t(`nanobanana.name.generate`):e.$t(`nanobanana.name.edits`)),1)])):o(``,!0),r(`p`,dt,[a(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(E,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r(`p`,ft,[a(T,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),a(E,{content:e.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,pt,[a(T,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e.modelValue?.response?.trace_id?(u(),f(`p`,mt,[a(T,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(E,{content:e.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(u(),f(`div`,ht,[a(D,{closable:!1,class:`info`},{template:p(()=>[a(T,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.failure`)),1)]),default:p(()=>[e.modelValue?.request?.model?(u(),f(`p`,gt,[a(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.model`))+`: `+l(e.modelValue?.request?.model),1)])):o(``,!0),e.modelValue?.request?.resolution?(u(),f(`p`,_t,[a(T,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.resolution`))+`: `+l(e.modelValue?.request?.resolution),1)])):o(``,!0),e.modelValue?.request?.aspect_ratio?(u(),f(`p`,vt,[a(T,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.aspectRatio`))+`: `+l(e.modelValue?.request?.aspect_ratio),1)])):o(``,!0),e.modelValue?.request?.action?(u(),f(`p`,yt,[a(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.task`))+`: `+l(e.modelValue?.request?.action===`generate`?e.$t(`nanobanana.name.generate`):e.$t(`nanobanana.name.edits`)),1)])):o(``,!0),r(`p`,$,[a(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(E,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var xt=s({name:`RecentPanel`,components:{TaskPreview:N(Be,[[`render`,bt],[`__scopeId`,`data-v-63f58569`]]),BotPlaceholder:V,NoTasks:K,ScrollList:U},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),St={key:0},Ct={key:2,class:`w-full h-full flex items-center justify-center`};function wt(e,t,r,i,s,l){let h=d(`bot-placeholder`),g=d(`task-preview`),_=d(`scroll-list`),v=d(`no-tasks`);return u(),f(m,null,[e.tasks?.items===void 0?(u(),f(`div`,St,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(u(),n(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(u(!0),f(m,null,c(e.tasks?.items,e=>(u(),n(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(u(),f(`div`,Ct,[a(v)])):o(``,!0)],64)}var Tt=N(xt,[[`render`,wt]]),Et=T(`nanobanana`),Dt=s({name:`NanobananaIndex`,components:{ConfigPanel:ze,Layout:ie,RecentPanel:Tt},mixins:[I],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===P.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await W({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`nanobanana/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`nanobanana/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),await this.$store.dispatch(`nanobanana/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})},async onGenerate(){if(!ee(this.uploadTracker,e=>this.$t(e),e=>L.warning(e)))return;let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&`image_urls`in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model!==`nano-banana-pro`&&`resolution`in e&&delete e.resolution,e?.model===`nano-banana-pro`&&!e?.resolution&&(e.resolution=`1K`);let n={...e,action:t?`edit`:`generate`,callback_url:Et},r=this.credential?.token;if(!r){console.error(`no token specified`);return}L.info(this.$t(`nanobanana.message.startingTask`)),M(`nanobanana`,j.generate(n,{token:r})).then(()=>{L.success(this.$t(`nanobanana.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?L.error(this.$t(`nanobanana.message.usedUp`)):L.error(this.$t(`nanobanana.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ot(e,t,r,i,o,s){let c=d(`config-panel`),l=d(`recent-panel`),f=d(`layout`);return u(),n(f,null,{config:p(()=>[a(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(l,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var kt=N(Dt,[[`render`,Ot]]);export{kt as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,M as i,N as a,O as o,P as s,Q as c,Ut as l,X as u,et as d,k as f,lt as p,x as m,y as h}from"./vendor-chart-Df3WBvr0.js";import{t as g}from"./button-DgZFgZDr.js";import{r as _,t as v}from"./select-t5c7Lp69.js";import{t as y}from"./upload-B8zBOx3w.js";import{t as b}from"./tooltip-C-9nDsaA.js";import{t as x}from"./image-DFWhL-qY.js";import{t as S}from"./alert-Bgv5POrX.js";import{t as C}from"./drawer-BhAAsvLB.js";import{Qt as w,Vr as T,en as E,nn as D,tn as O}from"./constants-SseKgNeZ.js";import{Ct as k,Dt as A,Jt as j,On as M,S as N,St as ee,Tt as te,dr as P,mr as F,wt as I,xr as L}from"./index-rGtIyz5r.js";import{t as R}from"./index.es-C6FYBs69.js";import{t as z}from"./CopyToClipboard-3bG2Wqkv.js";import{t as B}from"./ImagePreview-D9A0kP8b.js";import{t as V}from"./BotPlaceholder-CdZM9k0A.js";import{i as H,n as U,t as W}from"./pagination-DwRnUll_.js";import{n as G,t as K}from"./NoTasks-CbOYe2qY.js";import{t as q}from"./Consumption-C_iQsNzm.js";import{t as J}from"./ApiCodeButton-NqboHz1M.js";import{t as Y}from"./ImageWrapper-A30X-L_N.js";var X=s({name:`LayoutNanobanana`,components:{ElDrawer:C,ElButton:g,FontAwesomeIcon:R},data(){return{drawer:!1}}}),Z={class:`main flex flex-row flex-1`},Q={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ne={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function re(t,n,i,o,s,c){let l=d(`font-awesome-icon`),m=d(`el-button`),h=d(`el-drawer`);return u(),f(`div`,Z,[r(`div`,Q,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,ne,[e(t.$slots,`result`,{},void 0,!0)]),a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(l,{icon:`fa-solid fa-magic`})]),_:1}),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ie=N(X,[[`render`,re],[`__scopeId`,`data-v-8ca1c212`]]),ae=s({name:`PromptInput`,components:{PromptTextarea:G},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||=``}});function oe(e,t,r,i,a,o){let s=d(`prompt-textarea`);return u(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`nanobanana.name.prompt`),info:e.$t(`nanobanana.description.prompt`),placeholder:e.$t(`nanobanana.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var se=N(ae,[[`render`,oe]]),ce=s({name:`ImageUrlsInput`,components:{ElUpload:y,ElButton:g,InfoIcon:H,ImagePreview:B,FontAwesomeIcon:R},mixins:[te,k],data(){return{fileList:[],uploadUrl:F()+`/api/v1/files/`,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){L.warning(this.$t(`nanobanana.message.uploadImageExceed`))},onError(){L.error(this.$t(`nanobanana.message.uploadImageError`))},onSetImageUrls(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),le={class:`field flex items-center justify-between`},ue={class:`title font-bold text-[14px] mb-[10px]`},de={class:`upload-wrapper flex flex-col items-start gap-[8px]`},fe={class:`controls flex items-center`},pe={class:`file-list flex flex-wrap gap-[10px]`};function me(e,t,o,s,h,g){let _=d(`font-awesome-icon`),v=d(`el-button`),y=d(`el-upload`),b=d(`info-icon`),x=d(`image-preview`);return u(),f(m,null,[r(`div`,le,[r(`h2`,ue,l(e.$t(`nanobanana.name.imageUrls`)),1),r(`div`,de,[r(`div`,fe,[a(y,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value`,limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:p(()=>[a(v,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(_,{icon:`fa-solid fa-upload`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`]),a(b,{content:e.$t(`nanobanana.description.imageUrls`),class:`ml-2`},null,8,[`content`])])])]),r(`div`,pe,[(u(!0),f(m,null,c(e.fileList,(t,r)=>(u(),n(x,{key:t.uid||t?.response?.file_url||t.url||r,url:t.url||t?.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.onRemovePreview(r,t)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])],64)}var he=N(ce,[[`render`,me]]),ge=s({name:`AspectRatioSelector`,components:{ElSelect:_,ElOption:v},data(){return{options:[`1:1`,`3:2`,`2:3`,`16:9`,`9:16`,`4:3`,`3:4`]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e);let t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit(`nanobanana/setConfig`,t)}}}}),_e={class:`field`},ve={class:`title font-bold`};function ye(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,_e,[r(`h2`,ve,l(e.$t(`nanobanana.name.aspectRatio`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,clearable:``,placeholder:e.$t(`nanobanana.placeholder.select`)},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var be=N(ge,[[`render`,ye],[`__scopeId`,`data-v-67f08a08`]]),xe=s({name:`NanobananaModelSelector`,components:{ElSelect:_,ElOption:v,InfoIcon:H},data(){return{options:[{value:E,label:this.$t(`nanobanana.model.nanoBanana`)},{value:D,label:this.$t(`nanobanana.model.nanoBananaPro`)},{value:O,label:this.$t(`nanobanana.model.nanoBanana2`)}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t(`nanobanana.description.model`)}},mounted(){this.value||=w}}),Se={class:`field`},Ce={class:`label`},we={class:`box`},Te={class:`title font-bold`};function Ee(e,t,i,o,s,h){let g=d(`info-icon`),_=d(`el-option`),v=d(`el-select`);return u(),f(`div`,Se,[r(`div`,Ce,[r(`div`,we,[r(`h2`,Te,l(e.$t(`nanobanana.name.model`)),1),a(g,{content:e.modelDescription,class:`info`},null,8,[`content`])])]),a(v,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`nanobanana.placeholder.select`)},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var De=N(xe,[[`render`,Ee],[`__scopeId`,`data-v-94304d73`]]),Oe=s({name:`NanobananaResolutionSelector`,components:{ElSelect:_,ElOption:v,InfoIcon:H},data(){return{cachedResolution:`1K`,options:[{value:`1K`,label:`1K`},{value:`2K`,label:`2K`},{value:`4K`,label:`4K`}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model!==E}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||=this.cachedResolution||`1K`:(this.value&&(this.cachedResolution=this.value),this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=`1K`),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),ke={class:`field`},Ae={class:`label`},je={class:`box`},Me={class:`title font-bold`};function Ne(e,t,i,o,s,h){let g=d(`info-icon`),_=d(`el-option`),v=d(`el-select`);return u(),f(`div`,ke,[r(`div`,Ae,[r(`div`,je,[r(`h2`,Me,l(e.$t(`nanobanana.name.resolution`)),1),a(g,{content:e.$t(`nanobanana.description.resolutionProOnly`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`nanobanana.placeholder.select`),disabled:!e.isProModel},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])])}var Pe=s({name:`ConfigPanel`,components:{ElButton:g,FontAwesomeIcon:R,PromptInput:se,Consumption:q,ImageUrlsInput:he,AspectRatioSelector:be,ModelSelector:De,ResolutionSelector:N(Oe,[[`render`,Ne],[`__scopeId`,`data-v-fd5ab393`]])},emits:[`generate`],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return A({...e,action:t?`edit`:`generate`},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Fe={class:`flex flex-col h-full`},Ie={class:`flex-1 overflow-y-auto p-5`},Le={class:`flex flex-col items-center justify-center px-5 pb-5`};function Re(e,t,n,o,s,c){let m=d(`model-selector`),h=d(`resolution-selector`),g=d(`prompt-input`),_=d(`aspect-ratio-selector`),v=d(`image-urls-input`),y=d(`consumption`),b=d(`font-awesome-icon`),x=d(`el-button`);return u(),f(`div`,Fe,[r(`div`,Ie,[a(m,{class:`mb-4`}),a(h,{class:`mb-4`}),a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`})]),r(`div`,Le,[a(y,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),a(x,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:p(()=>[a(b,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`nanobanana.button.generate`)),1)]),_:1},8,[`onClick`])])])}var ze=N(Pe,[[`render`,Re]]),Be=s({name:`TaskPreview`,components:{ElImage:x,CopyToClipboard:z,FontAwesomeIcon:R,ElAlert:S,ImageWrapper:Y,ElButton:g,ElTooltip:b,ImagePreview:B,ApiCodeButton:J},props:{modelValue:{type:Object,required:!0}},computed:{images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit(`nanobanana/setConfig`,t)}}}),Ve={class:`preview`},He={class:`left`},Ue={class:`main`},We={class:`bot`},Ge={class:`datetime`},Ke={class:`info`},qe={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Je={key:1,class:`prompt mt-2`},Ye={key:0},Xe={key:0,class:t({content:!0,failed:!0})},Ze={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},Qe={class:t({operations:!0,"mt-2":!0,"mb-2":!0})},$e={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},et={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},tt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},nt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},rt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},it={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},at={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ot={key:1,class:t({content:!0})},st={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ct={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},lt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ut={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ft={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pt={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mt={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ht={key:2,class:t({content:!0})},gt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_t={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`};function bt(e,t,s,g,_,v){let y=d(`el-image`),b=d(`image-preview`),x=d(`image-wrapper`),S=d(`el-button`),C=d(`el-tooltip`),w=d(`api-code-button`),T=d(`font-awesome-icon`),E=d(`copy-to-clipboard`),D=d(`el-alert`);return u(),f(`div`,Ve,[r(`div`,He,[a(y,{src:`https://cdn.acedata.cloud/859plc.jpg`,class:`avatar`})]),r(`div`,Ue,[r(`div`,We,[i(l(e.$t(`nanobanana.name.nanobananaBot`))+` `,1),r(`span`,Ge,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,Ke,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(u(),f(`div`,qe,[(u(!0),f(m,null,c(e.modelValue?.request?.image_urls,(e,t)=>(u(),n(b,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),e.modelValue?.request?.prompt?(u(),f(`p`,Je,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?o(``,!0):(u(),f(`span`,Ye,` - (`+l(e.$t(`nanobanana.status.pending`))+`) `,1))])):o(``,!0)]),e.modelValue?.response?.success===!0?(u(),f(`div`,Xe,[r(`div`,Ze,[(u(!0),f(m,null,c(e.images,(e,t)=>(u(),n(x,{key:t,src:e?.image_url,"raw-src":e?.image_url},null,8,[`src`,`raw-src`]))),128))]),r(`div`,Qe,[a(C,{class:`box-item`,effect:`dark`,content:e.$t(`common.button.edit`),placement:`top-start`},{default:p(()=>[a(S,{type:`info`,size:`small`,class:`btn-action`,onClick:t[0]||=h(t=>e.onEdit(e.images?.[0]?.image_url),[`stop`])},{default:p(()=>[i(l(e.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),a(w,{path:`/nano-banana/images`,body:e.modelValue?.request},null,8,[`body`])]),a(D,{closable:!1,class:`mt-2 success`},{default:p(()=>[e.modelValue?.request?.model?(u(),f(`p`,$e,[a(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.model`))+`: `+l(e.modelValue?.request?.model),1)])):o(``,!0),e.modelValue?.request?.resolution?(u(),f(`p`,et,[a(T,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.resolution`))+`: `+l(e.modelValue?.request?.resolution),1)])):o(``,!0),e.modelValue?.request?.aspect_ratio?(u(),f(`p`,tt,[a(T,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.aspectRatio`))+`: `+l(e.modelValue?.request?.aspect_ratio),1)])):o(``,!0),e.modelValue?.request?.action?(u(),f(`p`,nt,[a(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.task`))+`: `+l(e.modelValue?.request?.action===`generate`?e.$t(`nanobanana.name.generate`):e.$t(`nanobanana.name.edits`)),1)])):o(``,!0),r(`p`,rt,[a(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(E,{content:e.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,it,[a(T,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e.modelValue?.response?.trace_id?(u(),f(`p`,at,[a(T,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(E,{content:e.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):e.modelValue?.response?.success===!1?(u(),f(`div`,ot,[a(D,{closable:!1,class:`failure`},{template:p(()=>[a(T,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.failure`)),1)]),default:p(()=>[e.modelValue?.request?.model?(u(),f(`p`,st,[a(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.model`))+`: `+l(e.modelValue?.request?.model),1)])):o(``,!0),e.modelValue?.request?.resolution?(u(),f(`p`,ct,[a(T,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.resolution`))+`: `+l(e.modelValue?.request?.resolution),1)])):o(``,!0),e.modelValue?.request?.aspect_ratio?(u(),f(`p`,lt,[a(T,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.aspectRatio`))+`: `+l(e.modelValue?.request?.aspect_ratio),1)])):o(``,!0),e.modelValue?.request?.action?(u(),f(`p`,ut,[a(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.task`))+`: `+l(e.modelValue?.request?.action===`generate`?e.$t(`nanobanana.name.generate`):e.$t(`nanobanana.name.edits`)),1)])):o(``,!0),r(`p`,dt,[a(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(E,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r(`p`,ft,[a(T,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),a(E,{content:e.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,pt,[a(T,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e.modelValue?.response?.trace_id?(u(),f(`p`,mt,[a(T,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(E,{content:e.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(u(),f(`div`,ht,[a(D,{closable:!1,class:`info`},{template:p(()=>[a(T,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.failure`)),1)]),default:p(()=>[e.modelValue?.request?.model?(u(),f(`p`,gt,[a(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.model`))+`: `+l(e.modelValue?.request?.model),1)])):o(``,!0),e.modelValue?.request?.resolution?(u(),f(`p`,_t,[a(T,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.resolution`))+`: `+l(e.modelValue?.request?.resolution),1)])):o(``,!0),e.modelValue?.request?.aspect_ratio?(u(),f(`p`,vt,[a(T,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.aspectRatio`))+`: `+l(e.modelValue?.request?.aspect_ratio),1)])):o(``,!0),e.modelValue?.request?.action?(u(),f(`p`,yt,[a(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.task`))+`: `+l(e.modelValue?.request?.action===`generate`?e.$t(`nanobanana.name.generate`):e.$t(`nanobanana.name.edits`)),1)])):o(``,!0),r(`p`,$,[a(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`nanobanana.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(E,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var xt=s({name:`RecentPanel`,components:{TaskPreview:N(Be,[[`render`,bt],[`__scopeId`,`data-v-63f58569`]]),BotPlaceholder:V,NoTasks:K,ScrollList:U},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),St={key:0},Ct={key:2,class:`w-full h-full flex items-center justify-center`};function wt(e,t,r,i,s,l){let h=d(`bot-placeholder`),g=d(`task-preview`),_=d(`scroll-list`),v=d(`no-tasks`);return u(),f(m,null,[e.tasks?.items===void 0?(u(),f(`div`,St,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(u(),n(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(u(!0),f(m,null,c(e.tasks?.items,e=>(u(),n(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(u(),f(`div`,Ct,[a(v)])):o(``,!0)],64)}var Tt=N(xt,[[`render`,wt]]),Et=T(`nanobanana`),Dt=s({name:`NanobananaIndex`,components:{ConfigPanel:ze,Layout:ie,RecentPanel:Tt},mixins:[I],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===P.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await W({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`nanobanana/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`nanobanana/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),await this.$store.dispatch(`nanobanana/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})},async onGenerate(){if(!ee(this.uploadTracker,e=>this.$t(e),e=>L.warning(e)))return;let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&`image_urls`in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model!==`nano-banana-pro`&&`resolution`in e&&delete e.resolution,e?.model===`nano-banana-pro`&&!e?.resolution&&(e.resolution=`1K`);let n={...e,action:t?`edit`:`generate`,callback_url:Et},r=this.credential?.token;if(!r){console.error(`no token specified`);return}L.info(this.$t(`nanobanana.message.startingTask`)),M(`nanobanana`,j.generate(n,{token:r})).then(()=>{L.success(this.$t(`nanobanana.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?L.error(this.$t(`nanobanana.message.usedUp`)):L.error(this.$t(`nanobanana.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ot(e,t,r,i,o,s){let c=d(`config-panel`),l=d(`recent-panel`),f=d(`layout`);return u(),n(f,null,{config:p(()=>[a(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(l,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var kt=N(Dt,[[`render`,Ot]]);export{kt as default};
@@ -0,0 +1 @@
1
+ .markdown-body{--base-size-16:1rem;--base-size-24:1.5rem;--base-size-4:.25rem;--base-size-40:2.5rem;--base-size-8:.5rem;--base-text-weight-medium:500;--base-text-weight-normal:400;--base-text-weight-semibold:600;--fontStack-monospace:ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;--fontStack-sansSerif:-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--fgColor-accent:Highlight}@media (prefers-color-scheme:dark){.markdown-body,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--fgColor-accent:#4493f8;--bgColor-attention-muted:#bb800926;--bgColor-default:#0d1117;--bgColor-muted:#151b23;--bgColor-neutral-muted:#656c7633;--borderColor-accent-emphasis:#1f6feb;--borderColor-attention-emphasis:#9e6a03;--borderColor-danger-emphasis:#da3633;--borderColor-default:#3d444d;--borderColor-done-emphasis:#8957e5;--borderColor-success-emphasis:#238636;--color-prettylights-syntax-brackethighlighter-angle:#9198a1;--color-prettylights-syntax-brackethighlighter-unmatched:#f85149;--color-prettylights-syntax-carriage-return-bg:#b62324;--color-prettylights-syntax-carriage-return-text:#f0f6fc;--color-prettylights-syntax-comment:#9198a1;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#f0f6fc;--color-prettylights-syntax-markup-changed-bg:#5a1e02;--color-prettylights-syntax-markup-changed-text:#ffdfb6;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-heading:#1f6feb;--color-prettylights-syntax-markup-ignored-bg:#1158c7;--color-prettylights-syntax-markup-ignored-text:#f0f6fc;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-italic:#f0f6fc;--color-prettylights-syntax-markup-list:#f2cc60;--color-prettylights-syntax-meta-diff-range:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#f0f6fc;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-sublimelinter-gutter-mark:#3d444d;--color-prettylights-syntax-variable:#ffa657;--fgColor-attention:#d29922;--fgColor-danger:#f85149;--fgColor-default:#f0f6fc;--fgColor-done:#ab7df8;--fgColor-muted:#9198a1;--fgColor-success:#3fb950;--borderColor-muted:#3d444db3;--color-prettylights-syntax-invalid-illegal-bg:var(--bgColor-danger-muted);--color-prettylights-syntax-invalid-illegal-text:var(--fgColor-danger);--focus-outlineColor:var(--borderColor-accent-emphasis);--borderColor-neutral-muted:var(--borderColor-muted)}}@media (prefers-color-scheme:light){.markdown-body,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--fgColor-danger:#d1242f;--bgColor-attention-muted:#fff8c5;--bgColor-muted:#f6f8fa;--bgColor-neutral-muted:#818b981f;--borderColor-accent-emphasis:#0969da;--borderColor-attention-emphasis:#9a6700;--borderColor-danger-emphasis:#cf222e;--borderColor-default:#d1d9e0;--borderColor-done-emphasis:#8250df;--borderColor-success-emphasis:#1a7f37;--color-prettylights-syntax-brackethighlighter-angle:#59636e;--color-prettylights-syntax-brackethighlighter-unmatched:#82071e;--color-prettylights-syntax-carriage-return-bg:#cf222e;--color-prettylights-syntax-carriage-return-text:#f6f8fa;--color-prettylights-syntax-comment:#59636e;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-entity-tag:#0550ae;--color-prettylights-syntax-invalid-illegal-text:var(--fgColor-danger);--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-changed-bg:#ffd8b5;--color-prettylights-syntax-markup-changed-text:#953800;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-heading:#0550ae;--color-prettylights-syntax-markup-ignored-bg:#0550ae;--color-prettylights-syntax-markup-ignored-text:#d1d9e0;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-list:#3b2300;--color-prettylights-syntax-meta-diff-range:#8250df;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-sublimelinter-gutter-mark:#818b98;--color-prettylights-syntax-variable:#953800;--fgColor-accent:#0969da;--fgColor-attention:#9a6700;--fgColor-done:#8250df;--fgColor-muted:#59636e;--fgColor-success:#1a7f37;--bgColor-default:#fff;--borderColor-muted:#d1d9e0b3;--color-prettylights-syntax-invalid-illegal-bg:var(--bgColor-danger-muted);--color-prettylights-syntax-markup-bold:#1f2328;--color-prettylights-syntax-markup-italic:#1f2328;--color-prettylights-syntax-storage-modifier-import:#1f2328;--fgColor-default:#1f2328;--focus-outlineColor:var(--borderColor-accent-emphasis);--borderColor-neutral-muted:var(--borderColor-muted)}}.markdown-body{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;font-weight:var(--base-text-weight-normal,400);color:var(--fgColor-default);background-color:var(--bgColor-default);font-family:var(--fontStack-sansSerif,-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji");word-wrap:break-word;margin:0;font-size:16px;line-height:1.5}.markdown-body a{text-underline-offset:.2rem;text-decoration:underline}.markdown-body .octicon{fill:currentColor;vertical-align:text-bottom;display:inline-block}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{content:" ";background-color:currentColor;width:16px;height:16px;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{color:var(--fgColor-accent);background-color:#0000;text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:var(--base-text-weight-semibold,600)}.markdown-body dfn{font-style:italic}.markdown-body h1{font-weight:var(--base-text-weight-semibold,600);border-bottom:1px solid var(--borderColor-muted);margin:.67em 0;padding-bottom:.3em;font-size:2em}.markdown-body mark{background-color:var(--bgColor-attention-muted);color:var(--fgColor-default)}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{box-sizing:content-box;border-style:none;max-width:100%}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em var(--base-size-40)}.markdown-body hr{box-sizing:content-box;border-bottom:1px solid var(--borderColor-muted);height:.25em;margin:var(--base-size-24) 0;background:0 0;background-color:var(--borderColor-default);border:0;padding:0;overflow:hidden}.markdown-body input{font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button{height:auto}.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button{appearance:none}.markdown-body [type=search]::-webkit-search-decoration{appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:var(--fgColor-muted);opacity:1}.markdown-body hr:before{content:"";display:table}.markdown-body hr:after{clear:both;content:"";display:table}.markdown-body table{border-spacing:0;border-collapse:collapse;font-variant:tabular-nums;width:max-content;max-width:100%;display:block;overflow:auto}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:1px solid #0000}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{padding:var(--base-size-4);font:11px var(--fontStack-monospace,ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);color:var(--fgColor-default);vertical-align:middle;background-color:var(--bgColor-muted);border:solid 1px var(--borderColor-neutral-muted);border-bottom-color:var(--borderColor-neutral-muted);box-shadow:inset 0 -1px 0 var(--borderColor-neutral-muted);border-radius:6px;line-height:10px;display:inline-block}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:var(--base-size-24);margin-bottom:var(--base-size-16);font-weight:var(--base-text-weight-semibold,600);line-height:1.25}.markdown-body h2{font-weight:var(--base-text-weight-semibold,600);border-bottom:1px solid var(--borderColor-muted);padding-bottom:.3em;font-size:1.5em}.markdown-body h3{font-weight:var(--base-text-weight-semibold,600);font-size:1.25em}.markdown-body h4{font-weight:var(--base-text-weight-semibold,600);font-size:1em}.markdown-body h5{font-weight:var(--base-text-weight-semibold,600);font-size:.875em}.markdown-body h6{font-weight:var(--base-text-weight-semibold,600);color:var(--fgColor-muted);font-size:.85em}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{color:var(--fgColor-muted);border-left:.25em solid var(--borderColor-default);margin:0;padding:0 1em}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:var(--fontStack-monospace,ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px}.markdown-body pre{font-family:var(--fontStack-monospace,ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);word-wrap:normal;margin-top:0;margin-bottom:0;font-size:12px}.markdown-body .octicon{vertical-align:text-bottom;fill:currentColor;display:inline-block;overflow:visible!important}.markdown-body input::-webkit-outer-spin-button{appearance:none;margin:0}.markdown-body input::-webkit-inner-spin-button{appearance:none;margin:0}.markdown-body .mr-2{margin-right:var(--base-size-8,8px)!important}.markdown-body:before{content:"";display:table}.markdown-body:after{clear:both;content:"";display:table}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--fgColor-danger)}.markdown-body .anchor{float:left;padding-right:var(--base-size-4);margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:var(--base-size-16)}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--fgColor-default);vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit;padding:0 .2em}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{border-bottom:0;padding-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type=a\ s]{list-style-type:lower-alpha}.markdown-body ol[type=A\ s]{list-style-type:upper-alpha}.markdown-body ol[type=i\ s]{list-style-type:lower-roman}.markdown-body ol[type=I\ s]{list-style-type:upper-roman}.markdown-body ol[type="1"],.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:var(--base-size-16)}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{margin-top:var(--base-size-16);font-size:1em;font-style:italic;font-weight:var(--base-text-weight-semibold,600);padding:0}.markdown-body dl dd{padding:0 var(--base-size-16);margin-bottom:var(--base-size-16)}.markdown-body table th{font-weight:var(--base-text-weight-semibold,600)}.markdown-body table th,.markdown-body table td{border:1px solid var(--borderColor-default);padding:6px 13px}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:var(--bgColor-default);border-top:1px solid var(--borderColor-muted)}.markdown-body table tr:nth-child(2n){background-color:var(--bgColor-muted)}.markdown-body table img{background-color:#0000}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{vertical-align:text-top;background-color:#0000;max-width:none}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{float:left;border:1px solid var(--borderColor-default);width:auto;margin:13px 0 0;padding:7px;display:block;overflow:hidden}.markdown-body span.frame span img{float:left;display:block}.markdown-body span.frame span span{clear:both;color:var(--fgColor-default);padding:5px 0 0;display:block}.markdown-body span.align-center{clear:both;display:block;overflow:hidden}.markdown-body span.align-center>span{text-align:center;margin:13px auto 0;display:block;overflow:hidden}.markdown-body span.align-center span img{text-align:center;margin:0 auto}.markdown-body span.align-right{clear:both;display:block;overflow:hidden}.markdown-body span.align-right>span{text-align:right;margin:13px 0 0;display:block;overflow:hidden}.markdown-body span.align-right span img{text-align:right;margin:0}.markdown-body span.float-left{float:left;margin-right:13px;display:block;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{float:right;margin-left:13px;display:block;overflow:hidden}.markdown-body span.float-right>span{text-align:right;margin:13px auto 0;display:block;overflow:hidden}.markdown-body code,.markdown-body tt{white-space:break-spaces;background-color:var(--bgColor-neutral-muted);border-radius:6px;margin:0;padding:.2em .4em;font-size:85%}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{-webkit-text-decoration:inherit;text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{word-break:normal;white-space:pre;background:0 0;border:0;margin:0;padding:0}.markdown-body .highlight{margin-bottom:var(--base-size-16)}.markdown-body .highlight pre{word-break:normal;margin-bottom:0}.markdown-body .highlight pre,.markdown-body pre{padding:var(--base-size-16);color:var(--fgColor-default);background-color:var(--bgColor-muted);border-radius:6px;font-size:85%;line-height:1.45;overflow:auto}.markdown-body pre code,.markdown-body pre tt{line-height:inherit;word-wrap:normal;background-color:#0000;border:0;margin:0;padding:0;display:inline;overflow:visible}.markdown-body .csv-data td,.markdown-body .csv-data th{text-align:left;white-space:nowrap;padding:5px;font-size:12px;line-height:1;overflow:hidden}.markdown-body .csv-data .blob-num{padding:10px var(--base-size-8) 9px;text-align:right;background:var(--bgColor-default);border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:var(--base-text-weight-semibold,600);background:var(--bgColor-muted);border-top:0}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{color:var(--fgColor-muted);border-top:1px solid var(--borderColor-default);font-size:12px}.markdown-body .footnotes ol{padding-left:var(--base-size-16)}.markdown-body .footnotes ol ul{padding-left:var(--base-size-16);margin-top:var(--base-size-16);display:inline-block}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{top:calc(var(--base-size-8)*-1);right:calc(var(--base-size-8)*-1);bottom:calc(var(--base-size-8)*-1);left:calc(var(--base-size-24)*-1);pointer-events:none;content:"";border:2px solid var(--borderColor-accent-emphasis);border-radius:6px;position:absolute}.markdown-body .footnotes li:target{color:var(--fgColor-default)}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body .pl-c{color:var(--color-prettylights-syntax-comment)}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}.markdown-body .pl-e,.markdown-body .pl-en{color:var(--color-prettylights-syntax-entity)}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:var(--color-prettylights-syntax-storage-modifier-import)}.markdown-body .pl-ent{color:var(--color-prettylights-syntax-entity-tag)}.markdown-body .pl-k{color:var(--color-prettylights-syntax-keyword)}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:var(--color-prettylights-syntax-string)}.markdown-body .pl-v,.markdown-body .pl-smw{color:var(--color-prettylights-syntax-variable)}.markdown-body .pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}.markdown-body .pl-ii{color:var(--color-prettylights-syntax-invalid-illegal-text);background-color:var(--color-prettylights-syntax-invalid-illegal-bg)}.markdown-body .pl-c2{color:var(--color-prettylights-syntax-carriage-return-text);background-color:var(--color-prettylights-syntax-carriage-return-bg)}.markdown-body .pl-sr .pl-cce{color:var(--color-prettylights-syntax-string-regexp);font-weight:700}.markdown-body .pl-ml{color:var(--color-prettylights-syntax-markup-list)}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{color:var(--color-prettylights-syntax-markup-heading);font-weight:700}.markdown-body .pl-mi{color:var(--color-prettylights-syntax-markup-italic);font-style:italic}.markdown-body .pl-mb{color:var(--color-prettylights-syntax-markup-bold);font-weight:700}.markdown-body .pl-md{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.markdown-body .pl-mi1{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.markdown-body .pl-mc{color:var(--color-prettylights-syntax-markup-changed-text);background-color:var(--color-prettylights-syntax-markup-changed-bg)}.markdown-body .pl-mi2{color:var(--color-prettylights-syntax-markup-ignored-text);background-color:var(--color-prettylights-syntax-markup-ignored-bg)}.markdown-body .pl-mdr{color:var(--color-prettylights-syntax-meta-diff-range);font-weight:700}.markdown-body .pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}.markdown-body .pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.markdown-body .pl-corl{color:var(--color-prettylights-syntax-constant-other-reference-link);text-decoration:underline}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.markdown-body button:focus:not(:focus-visible),.markdown-body summary:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible){box-shadow:none;outline:none}.markdown-body [tabindex="0"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:none}.markdown-body g-emoji{min-width:1ch;font-family:Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:1em;font-weight:var(--base-text-weight-normal,400);vertical-align:-.075em;line-height:1;display:inline-block;font-style:normal!important}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body a:has(>p,>div,>pre,>blockquote){display:block}.markdown-body a:has(>p,>div,>pre,>blockquote):not(:has(.snippet-clipboard-content,>pre)){width:fit-content}.markdown-body a:has(>p,>div,>pre,>blockquote):has(.snippet-clipboard-content,>pre):focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:2px}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:var(--base-text-weight-normal,400)}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:var(--base-size-4)}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{vertical-align:middle;margin:0 .2em .25em -1.4em}.markdown-body ul:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .task-list-item-checkbox,.markdown-body ol:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{clip-path:none;width:auto;height:24px;display:block;overflow:visible}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:var(--base-size-8) var(--base-size-16);margin-bottom:var(--base-size-16);color:inherit;border-left:.25em solid var(--borderColor-default)}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{font-weight:var(--base-text-weight-medium,500);align-items:center;line-height:1;display:flex}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis)}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent)}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis)}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done)}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis)}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention)}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis)}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success)}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis)}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger)}.markdown-body>:first-child>.heading-element:first-child{margin-top:0!important}.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}.transcript-item[data-v-2afaf0b4] .markdown-body{color:inherit;font-size:inherit;line-height:inherit;background:0 0}.transcript-item[data-v-2afaf0b4] .markdown-body>:first-child{margin-top:0}.transcript-item[data-v-2afaf0b4] .markdown-body>:last-child{margin-bottom:0}.transcript-item[data-v-2afaf0b4] .markdown-body ol{list-style:decimal}.transcript-item[data-v-2afaf0b4] .markdown-body ul{list-style:outside}.transcript-item[data-v-2afaf0b4] .markdown-body pre{border-radius:6px}.transcript-item[data-v-2afaf0b4] .markdown-body pre code{color:#fff}.step-index[data-v-3d1ed01f]{color:#fff;background-color:var(--el-color-primary);border-radius:9999px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:flex}.cmd[data-v-3d1ed01f]{background-color:var(--app-sidebar-bg);border:1px solid var(--app-border-subtle);white-space:nowrap;border-radius:6px;padding:6px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;display:block;overflow-x:auto}.item[data-v-3414881a]{transition:border-color .15s}.item[data-v-3414881a]:hover{border-color:var(--el-color-primary)}.provider-tag[data-v-3414881a]{color:#fff;background:var(--el-color-primary);border-radius:4px;flex:none;padding:3px 6px;font-size:11px;line-height:1}.provider-tag.codex[data-v-3414881a]{background:var(--el-color-info,#909399)}.menu[data-v-3a406429]{display:none}@media (width<=767px){.sidebar[data-v-3a406429]{display:none}.menu[data-v-3a406429]{left:8px;top:calc(45px + var(--app-safe-area-top));z-index:1000;display:block;position:absolute}}
@@ -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,tt as d,ut as f}from"./vendor-chart-Df3WBvr0.js";import{t as p}from"./button-DgZFgZDr.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"./container-Da1G38HZ.js";import{n as b,t as x}from"./dropdown-Co7lDTnF.js";import{a as S,i as C,n as w,r as T,t as E}from"./avatar-CswcYLxs.js";import{C as D,P as O,Pt as k,S as A,V as j,Z as M,_ as N,pr as P,w as F,yr as I}from"./index-DJri8swR.js";import{t as L}from"./index.es-DU_1oGwZ.js";var R=a({name:`TopHeader`,components:{ElCol:m,Logo:w,ElRow:h,ElDropdown:x,ElMenu:T,ElMenuItem:C,ElDropdownItem:b,ElButton:p,ElSubMenu:S},data(){return{defaultAvatar:E,products:`chat`}},computed:{site(){return this.$store.state?.site},dark(){return this.$store.getters?.dark},active(){return this.$route.matched?.[0]?.path},user(){return this.$store.getters?.user},authenticated(){return this.$store.getters?.authenticated}},methods:{openTab(e){if(I()){D.open({url:e}).catch(t=>{console.warn(`Browser.open failed, falling back to window.open`,t),window.open(e,`_blank`)});return}window.open(e,`_blank`)},onSelect(e){e&&this.$router.push(e)},onHome(){this.$router.push({name:M})},onLogin(){this.$router.push({name:F})},onDownload(){this.$router.push({name:j})},onProfile(){let e=P();this.openTab(k(`${e}/user/profile`))},onVerify(){let e=P();this.openTab(k(`${e}/user/verify`))},onConsole(){this.$router.push({name:O})},async onLogout(){this.$store.dispatch(`logout`)}}}),z={key:0,class:`mt-4 pr-10`},B={key:1,class:`float-right`},V=[`src`];function H(a,p,m,h,g,_){let v=c(`logo`),y=c(`el-col`),b=c(`el-menu-item`),x=c(`el-sub-menu`),S=c(`el-menu`),C=c(`el-button`),w=c(`language-selector`),T=c(`dark-selector`),E=c(`el-dropdown-item`),D=c(`el-dropdown-menu`),O=c(`el-dropdown`),k=c(`el-row`),A=d(`t`);return s(),e(k,{class:`header`},{default:u(()=>[r(y,{md:4,xs:24,class:`brand-col`},{default:u(()=>[r(v,{onClick:a.onHome},null,8,[`onClick`])]),_:1}),r(y,{md:16,xs:13},{default:u(()=>[r(S,{"default-active":a.active,mode:`horizontal`,class:`menu`,ellipsis:!0,onSelect:a.onSelect},{default:u(()=>[r(x,{index:a.products},{title:u(()=>[n(o(a.$t(`common.nav.products`)),1)]),default:u(()=>[a.site?.features?.chatgpt?.enabled?f((s(),e(b,{key:0,index:`/chat`},null,512)),[[A,`index.title.chat`]]):i(``,!0),a.site?.features?.midjourney?.enabled?f((s(),e(b,{key:1,index:`/midjourney`},null,512)),[[A,`index.title.midjourney`]]):i(``,!0),a.site?.features?.qrart?.enabled?f((s(),e(b,{key:2,index:`/qrart`},null,512)),[[A,`index.title.qrart`]]):i(``,!0),a.site?.features?.suno?.enabled?f((s(),e(b,{key:3,index:`/suno`},null,512)),[[A,`index.title.suno`]]):i(``,!0),a.site?.features?.luma?.enabled?f((s(),e(b,{key:4,index:`/luma`},null,512)),[[A,`index.title.luma`]]):i(``,!0),a.site?.features?.headshots?.enabled?f((s(),e(b,{key:5,index:`/headshots`},null,512)),[[A,`index.title.headshots`]]):i(``,!0)]),_:1},8,[`index`]),f(r(b,{onRoute:e=>void 0,onClick:a.onDownload},null,8,[`onClick`]),[[A,`common.nav.mobileApp`]]),f(r(b,{onRoute:e=>void 0,onClick:p[0]||=e=>a.openTab(`https://platform.acedata.cloud`)},null,512),[[A,`common.nav.apiPlatform`]]),f(r(b,{onRoute:e=>void 0,onClick:p[1]||=e=>a.openTab(`https://platform.acedata.cloud/support`)},null,512),[[A,`common.nav.support`]]),f(r(b,{onRoute:e=>void 0,onClick:p[2]||=e=>a.openTab(`https://platform.acedata.cloud/earning`)},null,512),[[A,`common.nav.referral`]])]),_:1},8,[`default-active`,`onSelect`])]),_:1}),r(y,{md:4,xs:11},{default:u(()=>[a.authenticated?(s(),l(`div`,B,[t(`div`,{class:`console`,onClick:p[3]||=(...e)=>a.onConsole&&a.onConsole(...e)},o(a.$t(`common.button.console`)),1),r(O,{trigger:`click`},{dropdown:u(()=>[r(D,null,{default:u(()=>[r(E,{onClick:a.onProfile},{default:u(()=>[n(o(a.$t(`common.button.profile`)),1)]),_:1},8,[`onClick`]),r(E,{onClick:a.onLogout},{default:u(()=>[n(o(a.$t(`common.button.logout`)),1)]),_:1},8,[`onClick`])]),_:1})]),default:u(()=>[t(`img`,{src:a.user?.avatar||a.defaultAvatar,class:`avatar`},null,8,V)]),_:1})])):(s(),l(`div`,z,[r(C,{type:`primary`,class:`float-right`,size:`small`,round:``,onClick:a.onLogin},{default:u(()=>[n(o(a.$t(`common.button.login`)),1)]),_:1},8,[`onClick`]),r(w,{class:`locale float-right mr-4`}),r(T,{class:`float-right mr-4`})]))]),_:1})]),_:1})}var U=A(R,[[`render`,H]]),W=a({name:`BottomFooter`,components:{ElContainer:y,ElRow:h,ElCol:m,FontAwesomeIcon:L},data(){return{faGithub:N}},computed:{},methods:{}}),G={href:`/download`},K={href:`https://platform.acedata.cloud`},q=[`title`];function J(i,a,l,d,f,p){let m=c(`font-awesome-icon`),h=c(`el-col`),g=c(`el-row`),_=c(`el-container`);return s(),e(_,{id:`footer`,class:`footer`},{default:u(()=>[r(g,{class:`w-full`},{default:u(()=>[r(h,{class:`container`,span:18,offset:3},{default:u(()=>[r(g,null,{default:u(()=>[r(h,{span:24,class:`text-center`},{default:u(()=>[t(`p`,null,[t(`a`,G,o(i.$t(`common.nav.mobileApp`)),1),a[0]||=n(` · `,-1),t(`a`,K,o(i.$t(`common.entity.website`)),1),n(` © `+o(new Date().getFullYear())+` `+o(i.$t(`common.entity.copyright`))+` · `,1),t(`a`,{href:`https://github.com/AceDataCloud/Nexior`,target:`_blank`,rel:`noopener noreferrer`,class:`github-link`,title:i.$t(`common.nav.github`)},[r(m,{icon:i.faGithub},null,8,[`icon`])],8,q)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}var Y=a({name:`LayoutIndex`,components:{TopHeader:U,BottomFooter:A(W,[[`render`,J],[`__scopeId`,`data-v-f6b91b08`]]),ElContainer:y,ElMain:g,ElFooter:_,ElHeader:v}});function X(t,n,i,a,o,l){let d=c(`top-header`),f=c(`el-header`),p=c(`router-view`),m=c(`el-main`),h=c(`bottom-footer`),g=c(`el-footer`),_=c(`el-container`);return s(),e(_,{class:`wrapper min-h-[100vh]`},{default:u(()=>[r(f,{class:`header p-0 h-auto`},{default:u(()=>[r(d)]),_:1}),r(m,{class:`main`},{default:u(()=>[r(p)]),_:1}),r(g,{class:`footer p-0 h-auto`},{default:u(()=>[r(h)]),_:1})]),_:1})}var Z=A(Y,[[`render`,X]]);export{Z 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,Ut as o,X as s,et as c,k as l,lt as u,tt as d,ut as f}from"./vendor-chart-Df3WBvr0.js";import{t as p}from"./button-DgZFgZDr.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"./container-Da1G38HZ.js";import{n as b,t as x}from"./dropdown-BQydfieb.js";import{a as S,i as C,n as w,r as T,t as E}from"./avatar-DhuWO0LI.js";import{C as D,P as O,Pt as k,S as A,V as j,Z as M,_ as N,pr as P,w as F,yr as I}from"./index-rGtIyz5r.js";import{t as L}from"./index.es-C6FYBs69.js";var R=a({name:`TopHeader`,components:{ElCol:m,Logo:w,ElRow:h,ElDropdown:x,ElMenu:T,ElMenuItem:C,ElDropdownItem:b,ElButton:p,ElSubMenu:S},data(){return{defaultAvatar:E,products:`chat`}},computed:{site(){return this.$store.state?.site},dark(){return this.$store.getters?.dark},active(){return this.$route.matched?.[0]?.path},user(){return this.$store.getters?.user},authenticated(){return this.$store.getters?.authenticated}},methods:{openTab(e){if(I()){D.open({url:e}).catch(t=>{console.warn(`Browser.open failed, falling back to window.open`,t),window.open(e,`_blank`)});return}window.open(e,`_blank`)},onSelect(e){e&&this.$router.push(e)},onHome(){this.$router.push({name:M})},onLogin(){this.$router.push({name:F})},onDownload(){this.$router.push({name:j})},onProfile(){let e=P();this.openTab(k(`${e}/user/profile`))},onVerify(){let e=P();this.openTab(k(`${e}/user/verify`))},onConsole(){this.$router.push({name:O})},async onLogout(){this.$store.dispatch(`logout`)}}}),z={key:0,class:`mt-4 pr-10`},B={key:1,class:`float-right`},V=[`src`];function H(a,p,m,h,g,_){let v=c(`logo`),y=c(`el-col`),b=c(`el-menu-item`),x=c(`el-sub-menu`),S=c(`el-menu`),C=c(`el-button`),w=c(`language-selector`),T=c(`dark-selector`),E=c(`el-dropdown-item`),D=c(`el-dropdown-menu`),O=c(`el-dropdown`),k=c(`el-row`),A=d(`t`);return s(),e(k,{class:`header`},{default:u(()=>[r(y,{md:4,xs:24,class:`brand-col`},{default:u(()=>[r(v,{onClick:a.onHome},null,8,[`onClick`])]),_:1}),r(y,{md:16,xs:13},{default:u(()=>[r(S,{"default-active":a.active,mode:`horizontal`,class:`menu`,ellipsis:!0,onSelect:a.onSelect},{default:u(()=>[r(x,{index:a.products},{title:u(()=>[n(o(a.$t(`common.nav.products`)),1)]),default:u(()=>[a.site?.features?.chatgpt?.enabled?f((s(),e(b,{key:0,index:`/chat`},null,512)),[[A,`index.title.chat`]]):i(``,!0),a.site?.features?.midjourney?.enabled?f((s(),e(b,{key:1,index:`/midjourney`},null,512)),[[A,`index.title.midjourney`]]):i(``,!0),a.site?.features?.qrart?.enabled?f((s(),e(b,{key:2,index:`/qrart`},null,512)),[[A,`index.title.qrart`]]):i(``,!0),a.site?.features?.suno?.enabled?f((s(),e(b,{key:3,index:`/suno`},null,512)),[[A,`index.title.suno`]]):i(``,!0),a.site?.features?.luma?.enabled?f((s(),e(b,{key:4,index:`/luma`},null,512)),[[A,`index.title.luma`]]):i(``,!0),a.site?.features?.headshots?.enabled?f((s(),e(b,{key:5,index:`/headshots`},null,512)),[[A,`index.title.headshots`]]):i(``,!0)]),_:1},8,[`index`]),f(r(b,{onRoute:e=>void 0,onClick:a.onDownload},null,8,[`onClick`]),[[A,`common.nav.mobileApp`]]),f(r(b,{onRoute:e=>void 0,onClick:p[0]||=e=>a.openTab(`https://platform.acedata.cloud`)},null,512),[[A,`common.nav.apiPlatform`]]),f(r(b,{onRoute:e=>void 0,onClick:p[1]||=e=>a.openTab(`https://platform.acedata.cloud/support`)},null,512),[[A,`common.nav.support`]]),f(r(b,{onRoute:e=>void 0,onClick:p[2]||=e=>a.openTab(`https://platform.acedata.cloud/earning`)},null,512),[[A,`common.nav.referral`]])]),_:1},8,[`default-active`,`onSelect`])]),_:1}),r(y,{md:4,xs:11},{default:u(()=>[a.authenticated?(s(),l(`div`,B,[t(`div`,{class:`console`,onClick:p[3]||=(...e)=>a.onConsole&&a.onConsole(...e)},o(a.$t(`common.button.console`)),1),r(O,{trigger:`click`},{dropdown:u(()=>[r(D,null,{default:u(()=>[r(E,{onClick:a.onProfile},{default:u(()=>[n(o(a.$t(`common.button.profile`)),1)]),_:1},8,[`onClick`]),r(E,{onClick:a.onLogout},{default:u(()=>[n(o(a.$t(`common.button.logout`)),1)]),_:1},8,[`onClick`])]),_:1})]),default:u(()=>[t(`img`,{src:a.user?.avatar||a.defaultAvatar,class:`avatar`},null,8,V)]),_:1})])):(s(),l(`div`,z,[r(C,{type:`primary`,class:`float-right`,size:`small`,round:``,onClick:a.onLogin},{default:u(()=>[n(o(a.$t(`common.button.login`)),1)]),_:1},8,[`onClick`]),r(w,{class:`locale float-right mr-4`}),r(T,{class:`float-right mr-4`})]))]),_:1})]),_:1})}var U=A(R,[[`render`,H]]),W=a({name:`BottomFooter`,components:{ElContainer:y,ElRow:h,ElCol:m,FontAwesomeIcon:L},data(){return{faGithub:N}},computed:{},methods:{}}),G={href:`/download`},K={href:`https://platform.acedata.cloud`},q=[`title`];function J(i,a,l,d,f,p){let m=c(`font-awesome-icon`),h=c(`el-col`),g=c(`el-row`),_=c(`el-container`);return s(),e(_,{id:`footer`,class:`footer`},{default:u(()=>[r(g,{class:`w-full`},{default:u(()=>[r(h,{class:`container`,span:18,offset:3},{default:u(()=>[r(g,null,{default:u(()=>[r(h,{span:24,class:`text-center`},{default:u(()=>[t(`p`,null,[t(`a`,G,o(i.$t(`common.nav.mobileApp`)),1),a[0]||=n(` · `,-1),t(`a`,K,o(i.$t(`common.entity.website`)),1),n(` © `+o(new Date().getFullYear())+` `+o(i.$t(`common.entity.copyright`))+` · `,1),t(`a`,{href:`https://github.com/AceDataCloud/Nexior`,target:`_blank`,rel:`noopener noreferrer`,class:`github-link`,title:i.$t(`common.nav.github`)},[r(m,{icon:i.faGithub},null,8,[`icon`])],8,q)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}var Y=a({name:`LayoutIndex`,components:{TopHeader:U,BottomFooter:A(W,[[`render`,J],[`__scopeId`,`data-v-f6b91b08`]]),ElContainer:y,ElMain:g,ElFooter:_,ElHeader:v}});function X(t,n,i,a,o,l){let d=c(`top-header`),f=c(`el-header`),p=c(`router-view`),m=c(`el-main`),h=c(`bottom-footer`),g=c(`el-footer`),_=c(`el-container`);return s(),e(_,{class:`wrapper min-h-[100vh]`},{default:u(()=>[r(f,{class:`header p-0 h-auto`},{default:u(()=>[r(d)]),_:1}),r(m,{class:`main`},{default:u(()=>[r(p)]),_:1}),r(g,{class:`footer p-0 h-auto`},{default:u(()=>[r(h)]),_:1})]),_:1})}var Z=A(Y,[[`render`,X]]);export{Z as default};