@acedatacloud/nexior 3.32.2 → 3.32.3

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 (71) hide show
  1. package/dist/assets/{Auth-CGEKiu-Z.js → Auth-C6nWplzs.js} +1 -1
  2. package/dist/assets/{BotPlaceholder-DryhpfyI.js → BotPlaceholder-C24Ek219.js} +1 -1
  3. package/dist/assets/{Callback-DtvVEe4m.js → Callback-BesKae8F.js} +1 -1
  4. package/dist/assets/{Console-DWlB6py-.js → Console-Cswdf__L.js} +1 -1
  5. package/dist/assets/{Conversation-Ct5n2GmN.js → Conversation-DZ0gjygM.js} +1 -1
  6. package/dist/assets/{CopyToClipboard-D1FwD7Ay.js → CopyToClipboard-DufDnfYB.js} +1 -1
  7. package/dist/assets/Detail-BqAt1S-n.js +2 -0
  8. package/dist/assets/{Detail-shClIebZ.css → Detail-CS_pI74b.css} +1 -1
  9. package/dist/assets/{EditArray-DaBF2vWk.js → EditArray-C8hm_SxB.js} +1 -1
  10. package/dist/assets/{Extra-EfdGVpDK.js → Extra-C2LXle5q.js} +1 -1
  11. package/dist/assets/{FilePreview-VFJ-XdCT.js → FilePreview-KFehNiBJ.js} +1 -1
  12. package/dist/assets/{History-BP4yRlfz.js → History-CoDNI89I.js} +1 -1
  13. package/dist/assets/{ImagePreview-DR_hrXkE.js → ImagePreview-Ccc9Mil8.js} +1 -1
  14. package/dist/assets/{ImageWrapper-MeuTnPga.js → ImageWrapper-CTXSpe8B.js} +1 -1
  15. package/dist/assets/{Index-wpZJ_a8u.js → Index-0zfbSPiP.js} +1 -1
  16. package/dist/assets/{Index-BazAhLwA.js → Index-B5-72-5C.js} +1 -1
  17. package/dist/assets/{Index-BkhzvHYz.js → Index-BAz-Nvvw.js} +1 -1
  18. package/dist/assets/{Index-C_6uySr1.js → Index-BHfOuN_v.js} +1 -1
  19. package/dist/assets/{Index-CHZeRvTi.js → Index-BlTXL49B.js} +1 -1
  20. package/dist/assets/{Index-D08kqvUN.js → Index-BsE2Io8Y.js} +1 -1
  21. package/dist/assets/{Index-BqqJHpnH.js → Index-CABKKWV0.js} +1 -1
  22. package/dist/assets/{Index-BSvLdhfj.js → Index-CQmCwljK.js} +1 -1
  23. package/dist/assets/{Index-Dj4NZQMj.js → Index-CRwbUe_G.js} +1 -1
  24. package/dist/assets/{Index-s2ebLR20.js → Index-CmBhhmB-.js} +1 -1
  25. package/dist/assets/{Index-DE2mD85S.js → Index-Czt71a3Q.js} +1 -1
  26. package/dist/assets/{Index-C9Vq_plI.js → Index-DOHlxm5E.js} +1 -1
  27. package/dist/assets/{Index-eRqcMP25.js → Index-DQ21Gq83.js} +1 -1
  28. package/dist/assets/{Index-SCuA_jIE.js → Index-Drtj0GA6.js} +1 -1
  29. package/dist/assets/{Index-DzHqE2qx.js → Index-FcGwbCpU.js} +1 -1
  30. package/dist/assets/{Index-BXTrrxMx.js → Index-P-ctz3sM.js} +1 -1
  31. package/dist/assets/{Index-BHuxHDG6.js → Index-mUUKBXix.js} +1 -1
  32. package/dist/assets/{Index-BKd2bB-B.js → Index-oPvwlVR0.js} +1 -1
  33. package/dist/assets/{Index-BfOpBSRn.js → Index-oebgxe7m.js} +1 -1
  34. package/dist/assets/{Index-DlDmvyyT.js → Index-vrkMbdX_.js} +1 -1
  35. package/dist/assets/{Invitees-BKX54iCK.js → Invitees-Dvs2sTKc.js} +1 -1
  36. package/dist/assets/{List-Bqz6y2BW.js → List-5xOc4YCH.js} +1 -1
  37. package/dist/assets/{List-CwxtJavB.js → List-RA6ZhCoT.js} +1 -1
  38. package/dist/assets/{List-B0jEPtRD.js → List-kkoWU_tk.js} +1 -1
  39. package/dist/assets/{Main-DwQecZzJ.js → Main-B4mGHiHa.js} +1 -1
  40. package/dist/assets/{Navigator-BKT2mxOy.js → Navigator-DPeE1Aqj.js} +1 -1
  41. package/dist/assets/{NoTasks-BYsoXaVq.js → NoTasks-BcLRHfFy.js} +1 -1
  42. package/dist/assets/{Pagination-C3DyJji5.js → Pagination-BFovzqlH.js} +1 -1
  43. package/dist/assets/{ScrollList-DHgQC1_v.js → ScrollList-DhBD69sP.js} +1 -1
  44. package/dist/assets/{Status-HltKSvqh.js → Status-Dz2uYx_Z.js} +1 -1
  45. package/dist/assets/{Subscribe-CJ_hRiPV.js → Subscribe-CqH-AUiU.js} +1 -1
  46. package/dist/assets/{TransportWebHID-Y-VgY_nP.js → TransportWebHID-BhLtzZU3.js} +1 -1
  47. package/dist/assets/{VideoPlayer-D4wmigXn.js → VideoPlayer-CUptdbWS.js} +1 -1
  48. package/dist/assets/{avatar-DX-DNBWM.js → avatar-CQrEVxe9.js} +1 -1
  49. package/dist/assets/{bignumber-CPDvezU8.js → bignumber-BBExem2E.js} +1 -1
  50. package/dist/assets/{distribution-CRcyt7eH.js → distribution-BJ8p_o-0.js} +1 -1
  51. package/dist/assets/{index-BO0SEINI.js → index-8PO5vcp7.js} +1 -1
  52. package/dist/assets/{index-BkuLNx2-.js → index-BVFe6aDK.js} +4 -4
  53. package/dist/assets/{index-Bo0zQxxu.js → index-Biw05q2b.js} +1 -1
  54. package/dist/assets/{index-DD9XxBI7.js → index-ByyN-gbk.js} +1 -1
  55. package/dist/assets/{index-cYgcbC7L.js → index-CCKNv2fP.js} +1 -1
  56. package/dist/assets/{index-_FPvQLSk.js → index-CeyMzwyI.js} +1 -1
  57. package/dist/assets/index-DrVYe6xF.js +1 -0
  58. package/dist/assets/{index-JvPlJRt4.js → index-yBGpiWD1.js} +1 -1
  59. package/dist/assets/{index.es-7RSklBi_.js → index.es-Cy89kVNv.js} +1 -1
  60. package/dist/assets/{order-DKWuqMWf.js → order-_HkS8nbL.js} +1 -1
  61. package/dist/assets/{price-Q1mTRsEK.js → price-C9j4ecXg.js} +1 -1
  62. package/dist/assets/{solana-wallets-BB1etQkQ.js → solana-wallets-BhwbE8Fg.js} +2 -2
  63. package/dist/assets/{solanaEmbed.esm-B3TXfg-6.js → solanaEmbed.esm-DBo0oaRx.js} +5 -5
  64. package/dist/assets/{string_decoder-sJVrg_-v.js → string_decoder-CAMpLf3P.js} +1 -1
  65. package/dist/assets/{vendor-web3-XrA95VRY.js → vendor-web3-Bvupvt61.js} +251 -251
  66. package/dist/assets/{web-D9-VdGMd.js → web-a6K9JR8X.js} +1 -1
  67. package/dist/assets/{web-V68mHKbX.js → web-m2SBy7Vp.js} +1 -1
  68. package/dist/index.html +2 -2
  69. package/package.json +1 -1
  70. package/dist/assets/Detail-C4CjoEt1.js +0 -2
  71. package/dist/assets/index-B7OQ5In8.js +0 -1
@@ -1 +1 @@
1
- import{E as T,a as D,b as E}from"./EditArray-DaBF2vWk.js";import{h as U,_ as V}from"./index-BkuLNx2-.js";import{L as F,k as A,M as L,w as _,z as q,j,A as B,o as N}from"./vendor-element-plus-B4FTqxj4.js";import{d as R,J as O,K as s,T as t,ai as n,G as l,R as o,Q as m,C as y,ag as Q,S as K,D as w,L as k,O as z,U as C}from"./vendor-vue-1w_NBnjl.js";import"./index.es-7RSklBi_.js";import"./vendor-web3-XrA95VRY.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const G=R({name:"SiteIndex",components:{EditText:E,EditImage:D,EditArray:T,ElDivider:N,ElRow:B,ElImage:j,ElCol:q,ElCard:_,ElForm:L,ElSwitch:A,ElFormItem:F},data(){return{editing:{title:!1}}},computed:{site(){return this.$store.getters.site}},methods:{onSave(e){const a={...this.site,...e};U.update(this.site?.id,a).then(()=>{console.debug("getSite for id",this.site?.id),this.$store.dispatch("getSite")})}}}),J={class:"title"},M={class:"title"},W={class:"block w-full"},H={class:"block tip"},P={class:"block w-full"},X={class:"block tip"},Y={class:"block w-full"},Z={class:"block tip"},x={class:"block w-full"},ee={class:"block tip"},te={class:"block w-full"},ie={class:"block tip"},se={class:"title"},le={class:"block w-full"},oe={class:"block tip"},ae={class:"block w-full"},de={class:"block tip"},ne={class:"title"},re={class:"block tip"},me={class:"block tip"},ue={class:"title"},pe={class:"w-full"},fe={class:"block tip w-full"},be={key:0},ve={class:"block w-full"},he={class:"block w-full"};function ce(e,a,$e,ge,we,ke){const f=n("el-col"),h=n("el-row"),u=n("el-divider"),d=n("el-form-item"),p=n("edit-text"),c=n("el-image"),$=n("edit-image"),I=n("edit-array"),b=n("el-form"),v=n("el-card"),g=n("el-switch");return w(),O(h,{class:"panel"},{default:s(()=>[t(f,{span:24},{default:s(()=>[t(h,null,{default:s(()=>[t(f,{span:24},{default:s(()=>[l("h2",J,o(e.$t("common.title.site")),1)]),_:1})]),_:1}),t(h,{gutter:15},{default:s(()=>[t(f,{md:12,xs:24},{default:s(()=>[t(v,{shadow:"hover",class:"mb-4"},{default:s(()=>[l("h4",M,o(e.$t("site.title.basicConfig")),1),t(u),t(b,{model:e.site,class:"form","label-width":"auto",style:{"max-width":"600px"}},{default:s(()=>[t(d,{label:e.$t("site.field.origin")},{default:s(()=>[l("span",W,o(e.site.origin),1),l("span",H,o(e.$t("site.message.originTip")),1)]),_:1},8,["label"]),t(d,{label:e.$t("site.field.title")},{default:s(()=>[l("span",P,[m(o(e.site.title)+" ",1),t(p,{"model-value":e.site.title,title:e.$t("site.title.editTitle"),placeholder:e.$t("site.placeholder.title"),onConfirm:a[0]||(a[0]=i=>e.onSave({title:i}))},null,8,["model-value","title","placeholder"])]),l("span",X,o(e.$t("site.message.titleTip")),1)]),_:1},8,["label"]),t(d,{label:e.$t("site.field.logo")},{default:s(()=>[l("span",Y,[t(c,{src:e.site.logo,class:"logo"},null,8,["src"]),t($,{"model-value":e.site.logo,title:e.$t("site.title.editLogo"),tip:e.$t("site.message.editLogoTip"),onConfirm:a[1]||(a[1]=i=>e.onSave({logo:i}))},null,8,["model-value","title","tip"])]),l("span",Z,o(e.$t("site.message.logoTip")),1)]),_:1},8,["label"]),t(d,{label:e.$t("site.field.favicon")},{default:s(()=>[l("span",x,[t(c,{src:e.site.favicon,class:"favicon"},null,8,["src"]),t($,{"model-value":e.site.favicon,title:e.$t("site.title.editFavicon"),tip:e.$t("site.message.editFaviconTip"),onConfirm:a[2]||(a[2]=i=>e.onSave({favicon:i}))},null,8,["model-value","title","tip"])]),l("span",ee,o(e.$t("site.message.faviconTip")),1)]),_:1},8,["label"]),t(u,{"border-style":"dashed"}),t(d,{label:e.$t("site.field.admins")},{default:s(()=>[l("span",te,[m(o(e.site.admins?.join(", "))+" ",1),t(I,{"model-value":e.site?.admins||[],title:e.$t("site.title.editAdmins"),placeholder:e.$t("site.placeholder.admins"),tip:e.$t("site.message.adminsTip2"),min:1,"min-error-message":e.$t("site.message.atLeastOneAdmin"),onConfirm:a[3]||(a[3]=i=>e.onSave({admins:i}))},null,8,["model-value","title","placeholder","tip","min-error-message"])]),l("span",ie,o(e.$t("site.message.adminsTip")),1)]),_:1},8,["label"])]),_:1},8,["model"])]),_:1}),t(v,{shadow:"hover"},{default:s(()=>[l("h4",se,o(e.$t("site.title.seoConfig")),1),t(u),t(b,{model:e.site,class:"form","label-width":"auto",style:{"max-width":"600px"}},{default:s(()=>[t(d,{label:e.$t("site.field.description")},{default:s(()=>[l("span",le,[m(o(e.site.description)+" ",1),t(p,{"model-value":e.site.description,title:e.$t("site.title.editDescription"),placeholder:e.$t("site.placeholder.description"),onConfirm:a[4]||(a[4]=i=>e.onSave({description:i}))},null,8,["model-value","title","placeholder"])]),l("span",oe,o(e.$t("site.message.descriptionTip")),1)]),_:1},8,["label"]),t(d,{label:e.$t("site.field.keywords")},{default:s(()=>[l("span",ae,[m(o(e.site.keywords?.join(", "))+" ",1),t(I,{"model-value":e.site?.keywords||[],title:e.$t("site.title.editKeywords"),placeholder:e.$t("site.placeholder.keywords"),tip:e.$t("site.message.keywordsTip2"),onConfirm:a[5]||(a[5]=i=>e.onSave({keywords:i}))},null,8,["model-value","title","placeholder","tip"])]),l("span",de,o(e.$t("site.message.keywordsTip")),1)]),_:1},8,["label"])]),_:1},8,["model"])]),_:1})]),_:1}),t(f,{md:12,xs:24},{default:s(()=>[t(v,{shadow:"hover",class:"mb-4"},{default:s(()=>[l("h4",ne,o(e.$t("site.title.distributionConfig")),1),t(u),t(b,{model:e.site,class:"form","label-width":"auto",style:{"max-width":"600px"}},{default:s(()=>[t(d,{label:e.$t("site.field.distributionDefaultInviterId")},{default:s(()=>[m(o(e.site.distribution?.default_inviter_id)+" ",1),t(p,{"model-value":e.site.distribution?.default_inviter_id,title:e.$t("site.title.editDistributionDefaultInviterId"),placeholder:e.$t("site.placeholder.editDistributionDefaultInviterId"),onConfirm:a[6]||(a[6]=i=>e.onSave({distribution:{...e.site.distribution,default_inviter_id:i}}))},null,8,["model-value","title","placeholder"]),l("span",re,o(e.$t("site.message.distributionDefaultInviterIdTip")),1)]),_:1},8,["label"]),t(d,{label:e.$t("site.field.distributionForceInviterId")},{default:s(()=>[m(o(e.site.distribution?.force_inviter_id)+" ",1),t(p,{"model-value":e.site.distribution?.force_inviter_id,title:e.$t("site.title.editDistributionForceInviterId"),placeholder:e.$t("site.placeholder.editDistributionForceInviterId"),onConfirm:a[7]||(a[7]=i=>e.onSave({distribution:{...e.site.distribution,force_inviter_id:i}}))},null,8,["model-value","title","placeholder"]),l("span",me,o(e.$t("site.message.distributionForceInviterIdTip")),1)]),_:1},8,["label"])]),_:1},8,["model"])]),_:1}),t(v,{shadow:"hover"},{default:s(()=>[l("h4",ue,o(e.$t("site.title.featuresConfig")),1),t(u),t(b,{model:e.site,class:"form","label-width":"auto",style:{"max-width":"600px"}},{default:s(()=>[(w(),y(K,null,Q(["chat","midjourney","qrart","nanobanana","seedream","seedance","suno","luma","pika","kling","flux","hailuo","headshots","support"],(i,S)=>t(d,{key:S,label:e.$t("site.field.features"+i.charAt(0).toUpperCase()+i.slice(1))},{default:s(()=>[l("div",pe,[t(g,{"model-value":e.site.features[i]?.enabled||!1,"inline-prompt":"","active-text":e.$t("site.button.enabled"),"inactive-text":e.$t("site.button.disabled"),"onUpdate:modelValue":r=>e.onSave({features:{...e.site.features,[i]:{...e.site.features[i],enabled:r}}})},null,8,["model-value","active-text","inactive-text","onUpdate:modelValue"])]),l("span",fe,o(e.$t("site.message.features"+i.charAt(0).toUpperCase()+i.slice(1))),1),i==="support"?k((w(),y("div",be,[t(d,{label:"WeChat"},{default:s(()=>[t(g,{"model-value":e.site.features[i]?.wechat?.enabled||!1,"inline-prompt":"","active-text":e.$t("site.button.enabled"),"inactive-text":e.$t("site.button.disabled"),"onUpdate:modelValue":r=>e.onSave({features:{...e.site.features,[i]:{...e.site.features[i],wechat:{...e.site.features[i]?.wechat,enabled:r}}}})},null,8,["model-value","active-text","inactive-text","onUpdate:modelValue"])]),_:2},1024),k(t(d,{label:e.$t("site.field.qr")},{default:s(()=>[l("span",ve,[t(c,{src:e.site.features[i]?.wechat?.qr},null,8,["src"]),t($,{"model-value":e.site.features[i]?.wechat?.qr,title:e.$t("site.title.editQR"),tip:e.$t("site.message.editQRTip"),onConfirm:r=>e.onSave({features:{...e.site.features,[i]:{...e.site.features[i],wechat:{...e.site.features[i]?.wechat,qr:r}}}})},null,8,["model-value","title","tip","onConfirm"])])]),_:2},1032,["label"]),[[C,e.site.features[i]?.wechat?.enabled]]),t(d,{label:"Discord"},{default:s(()=>[t(g,{"model-value":e.site.features[i]?.discord?.enabled||!1,"inline-prompt":"","active-text":e.$t("site.button.enabled"),"inactive-text":e.$t("site.button.disabled"),"onUpdate:modelValue":r=>e.onSave({features:{...e.site.features,[i]:{...e.site.features[i],discord:{...e.site.features[i]?.discord,enabled:r}}}})},null,8,["model-value","active-text","inactive-text","onUpdate:modelValue"])]),_:2},1024),k(t(d,{label:e.$t("site.field.url")},{default:s(()=>[l("span",he,[m(o(e.site.features[i]?.discord?.url)+" ",1),t(p,{"model-value":e.site.features[i]?.discord?.url,title:e.$t("site.title.editUrl"),placeholder:e.$t("site.placeholder.editUrl"),onConfirm:r=>e.onSave({features:{...e.site.features,[i]:{...e.site.features[i],discord:{...e.site.features[i]?.discord,url:r}}}})},null,8,["model-value","title","placeholder","onConfirm"])])]),_:2},1032,["label"]),[[C,e.site.features[i]?.discord?.enabled]])],512)),[[C,e.site.features[i]?.enabled]]):z("",!0)]),_:2},1032,["label"])),64))]),_:1},8,["model"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const Fe=V(G,[["render",ce],["__scopeId","data-v-de742379"]]);export{Fe as default};
1
+ import{E as T,a as D,b as E}from"./EditArray-C8hm_SxB.js";import{h as U,_ as V}from"./index-BVFe6aDK.js";import{L as F,k as A,M as L,w as _,z as q,j,A as B,o as N}from"./vendor-element-plus-B4FTqxj4.js";import{d as R,J as O,K as s,T as t,ai as n,G as l,R as o,Q as m,C as y,ag as Q,S as K,D as w,L as k,O as z,U as C}from"./vendor-vue-1w_NBnjl.js";import"./index.es-Cy89kVNv.js";import"./vendor-web3-Bvupvt61.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const G=R({name:"SiteIndex",components:{EditText:E,EditImage:D,EditArray:T,ElDivider:N,ElRow:B,ElImage:j,ElCol:q,ElCard:_,ElForm:L,ElSwitch:A,ElFormItem:F},data(){return{editing:{title:!1}}},computed:{site(){return this.$store.getters.site}},methods:{onSave(e){const a={...this.site,...e};U.update(this.site?.id,a).then(()=>{console.debug("getSite for id",this.site?.id),this.$store.dispatch("getSite")})}}}),J={class:"title"},M={class:"title"},W={class:"block w-full"},H={class:"block tip"},P={class:"block w-full"},X={class:"block tip"},Y={class:"block w-full"},Z={class:"block tip"},x={class:"block w-full"},ee={class:"block tip"},te={class:"block w-full"},ie={class:"block tip"},se={class:"title"},le={class:"block w-full"},oe={class:"block tip"},ae={class:"block w-full"},de={class:"block tip"},ne={class:"title"},re={class:"block tip"},me={class:"block tip"},ue={class:"title"},pe={class:"w-full"},fe={class:"block tip w-full"},be={key:0},ve={class:"block w-full"},he={class:"block w-full"};function ce(e,a,$e,ge,we,ke){const f=n("el-col"),h=n("el-row"),u=n("el-divider"),d=n("el-form-item"),p=n("edit-text"),c=n("el-image"),$=n("edit-image"),I=n("edit-array"),b=n("el-form"),v=n("el-card"),g=n("el-switch");return w(),O(h,{class:"panel"},{default:s(()=>[t(f,{span:24},{default:s(()=>[t(h,null,{default:s(()=>[t(f,{span:24},{default:s(()=>[l("h2",J,o(e.$t("common.title.site")),1)]),_:1})]),_:1}),t(h,{gutter:15},{default:s(()=>[t(f,{md:12,xs:24},{default:s(()=>[t(v,{shadow:"hover",class:"mb-4"},{default:s(()=>[l("h4",M,o(e.$t("site.title.basicConfig")),1),t(u),t(b,{model:e.site,class:"form","label-width":"auto",style:{"max-width":"600px"}},{default:s(()=>[t(d,{label:e.$t("site.field.origin")},{default:s(()=>[l("span",W,o(e.site.origin),1),l("span",H,o(e.$t("site.message.originTip")),1)]),_:1},8,["label"]),t(d,{label:e.$t("site.field.title")},{default:s(()=>[l("span",P,[m(o(e.site.title)+" ",1),t(p,{"model-value":e.site.title,title:e.$t("site.title.editTitle"),placeholder:e.$t("site.placeholder.title"),onConfirm:a[0]||(a[0]=i=>e.onSave({title:i}))},null,8,["model-value","title","placeholder"])]),l("span",X,o(e.$t("site.message.titleTip")),1)]),_:1},8,["label"]),t(d,{label:e.$t("site.field.logo")},{default:s(()=>[l("span",Y,[t(c,{src:e.site.logo,class:"logo"},null,8,["src"]),t($,{"model-value":e.site.logo,title:e.$t("site.title.editLogo"),tip:e.$t("site.message.editLogoTip"),onConfirm:a[1]||(a[1]=i=>e.onSave({logo:i}))},null,8,["model-value","title","tip"])]),l("span",Z,o(e.$t("site.message.logoTip")),1)]),_:1},8,["label"]),t(d,{label:e.$t("site.field.favicon")},{default:s(()=>[l("span",x,[t(c,{src:e.site.favicon,class:"favicon"},null,8,["src"]),t($,{"model-value":e.site.favicon,title:e.$t("site.title.editFavicon"),tip:e.$t("site.message.editFaviconTip"),onConfirm:a[2]||(a[2]=i=>e.onSave({favicon:i}))},null,8,["model-value","title","tip"])]),l("span",ee,o(e.$t("site.message.faviconTip")),1)]),_:1},8,["label"]),t(u,{"border-style":"dashed"}),t(d,{label:e.$t("site.field.admins")},{default:s(()=>[l("span",te,[m(o(e.site.admins?.join(", "))+" ",1),t(I,{"model-value":e.site?.admins||[],title:e.$t("site.title.editAdmins"),placeholder:e.$t("site.placeholder.admins"),tip:e.$t("site.message.adminsTip2"),min:1,"min-error-message":e.$t("site.message.atLeastOneAdmin"),onConfirm:a[3]||(a[3]=i=>e.onSave({admins:i}))},null,8,["model-value","title","placeholder","tip","min-error-message"])]),l("span",ie,o(e.$t("site.message.adminsTip")),1)]),_:1},8,["label"])]),_:1},8,["model"])]),_:1}),t(v,{shadow:"hover"},{default:s(()=>[l("h4",se,o(e.$t("site.title.seoConfig")),1),t(u),t(b,{model:e.site,class:"form","label-width":"auto",style:{"max-width":"600px"}},{default:s(()=>[t(d,{label:e.$t("site.field.description")},{default:s(()=>[l("span",le,[m(o(e.site.description)+" ",1),t(p,{"model-value":e.site.description,title:e.$t("site.title.editDescription"),placeholder:e.$t("site.placeholder.description"),onConfirm:a[4]||(a[4]=i=>e.onSave({description:i}))},null,8,["model-value","title","placeholder"])]),l("span",oe,o(e.$t("site.message.descriptionTip")),1)]),_:1},8,["label"]),t(d,{label:e.$t("site.field.keywords")},{default:s(()=>[l("span",ae,[m(o(e.site.keywords?.join(", "))+" ",1),t(I,{"model-value":e.site?.keywords||[],title:e.$t("site.title.editKeywords"),placeholder:e.$t("site.placeholder.keywords"),tip:e.$t("site.message.keywordsTip2"),onConfirm:a[5]||(a[5]=i=>e.onSave({keywords:i}))},null,8,["model-value","title","placeholder","tip"])]),l("span",de,o(e.$t("site.message.keywordsTip")),1)]),_:1},8,["label"])]),_:1},8,["model"])]),_:1})]),_:1}),t(f,{md:12,xs:24},{default:s(()=>[t(v,{shadow:"hover",class:"mb-4"},{default:s(()=>[l("h4",ne,o(e.$t("site.title.distributionConfig")),1),t(u),t(b,{model:e.site,class:"form","label-width":"auto",style:{"max-width":"600px"}},{default:s(()=>[t(d,{label:e.$t("site.field.distributionDefaultInviterId")},{default:s(()=>[m(o(e.site.distribution?.default_inviter_id)+" ",1),t(p,{"model-value":e.site.distribution?.default_inviter_id,title:e.$t("site.title.editDistributionDefaultInviterId"),placeholder:e.$t("site.placeholder.editDistributionDefaultInviterId"),onConfirm:a[6]||(a[6]=i=>e.onSave({distribution:{...e.site.distribution,default_inviter_id:i}}))},null,8,["model-value","title","placeholder"]),l("span",re,o(e.$t("site.message.distributionDefaultInviterIdTip")),1)]),_:1},8,["label"]),t(d,{label:e.$t("site.field.distributionForceInviterId")},{default:s(()=>[m(o(e.site.distribution?.force_inviter_id)+" ",1),t(p,{"model-value":e.site.distribution?.force_inviter_id,title:e.$t("site.title.editDistributionForceInviterId"),placeholder:e.$t("site.placeholder.editDistributionForceInviterId"),onConfirm:a[7]||(a[7]=i=>e.onSave({distribution:{...e.site.distribution,force_inviter_id:i}}))},null,8,["model-value","title","placeholder"]),l("span",me,o(e.$t("site.message.distributionForceInviterIdTip")),1)]),_:1},8,["label"])]),_:1},8,["model"])]),_:1}),t(v,{shadow:"hover"},{default:s(()=>[l("h4",ue,o(e.$t("site.title.featuresConfig")),1),t(u),t(b,{model:e.site,class:"form","label-width":"auto",style:{"max-width":"600px"}},{default:s(()=>[(w(),y(K,null,Q(["chat","midjourney","qrart","nanobanana","seedream","seedance","suno","luma","pika","kling","flux","hailuo","headshots","support"],(i,S)=>t(d,{key:S,label:e.$t("site.field.features"+i.charAt(0).toUpperCase()+i.slice(1))},{default:s(()=>[l("div",pe,[t(g,{"model-value":e.site.features[i]?.enabled||!1,"inline-prompt":"","active-text":e.$t("site.button.enabled"),"inactive-text":e.$t("site.button.disabled"),"onUpdate:modelValue":r=>e.onSave({features:{...e.site.features,[i]:{...e.site.features[i],enabled:r}}})},null,8,["model-value","active-text","inactive-text","onUpdate:modelValue"])]),l("span",fe,o(e.$t("site.message.features"+i.charAt(0).toUpperCase()+i.slice(1))),1),i==="support"?k((w(),y("div",be,[t(d,{label:"WeChat"},{default:s(()=>[t(g,{"model-value":e.site.features[i]?.wechat?.enabled||!1,"inline-prompt":"","active-text":e.$t("site.button.enabled"),"inactive-text":e.$t("site.button.disabled"),"onUpdate:modelValue":r=>e.onSave({features:{...e.site.features,[i]:{...e.site.features[i],wechat:{...e.site.features[i]?.wechat,enabled:r}}}})},null,8,["model-value","active-text","inactive-text","onUpdate:modelValue"])]),_:2},1024),k(t(d,{label:e.$t("site.field.qr")},{default:s(()=>[l("span",ve,[t(c,{src:e.site.features[i]?.wechat?.qr},null,8,["src"]),t($,{"model-value":e.site.features[i]?.wechat?.qr,title:e.$t("site.title.editQR"),tip:e.$t("site.message.editQRTip"),onConfirm:r=>e.onSave({features:{...e.site.features,[i]:{...e.site.features[i],wechat:{...e.site.features[i]?.wechat,qr:r}}}})},null,8,["model-value","title","tip","onConfirm"])])]),_:2},1032,["label"]),[[C,e.site.features[i]?.wechat?.enabled]]),t(d,{label:"Discord"},{default:s(()=>[t(g,{"model-value":e.site.features[i]?.discord?.enabled||!1,"inline-prompt":"","active-text":e.$t("site.button.enabled"),"inactive-text":e.$t("site.button.disabled"),"onUpdate:modelValue":r=>e.onSave({features:{...e.site.features,[i]:{...e.site.features[i],discord:{...e.site.features[i]?.discord,enabled:r}}}})},null,8,["model-value","active-text","inactive-text","onUpdate:modelValue"])]),_:2},1024),k(t(d,{label:e.$t("site.field.url")},{default:s(()=>[l("span",he,[m(o(e.site.features[i]?.discord?.url)+" ",1),t(p,{"model-value":e.site.features[i]?.discord?.url,title:e.$t("site.title.editUrl"),placeholder:e.$t("site.placeholder.editUrl"),onConfirm:r=>e.onSave({features:{...e.site.features,[i]:{...e.site.features[i],discord:{...e.site.features[i]?.discord,url:r}}}})},null,8,["model-value","title","placeholder","onConfirm"])])]),_:2},1032,["label"]),[[C,e.site.features[i]?.discord?.enabled]])],512)),[[C,e.site.features[i]?.enabled]]):z("",!0)]),_:2},1032,["label"])),64))]),_:1},8,["model"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const Fe=V(G,[["render",ce],["__scopeId","data-v-de742379"]]);export{Fe as default};
@@ -1 +1 @@
1
- import{F as T}from"./index.es-7RSklBi_.js";import{l as q,S as H,s as K,t as x,u as E,N as B,O as G,p as J,G as Q,j as X}from"./vendor-element-plus-B4FTqxj4.js";import{d as k,C as l,G as c,T as a,E as C,K as $,ai as s,D as n,R as o,Q as u,S as A,ag as N,J as V,O as b,M as O,X as Y}from"./vendor-vue-1w_NBnjl.js";import{_ as y,aj as Z,c7 as ee,c8 as z,c9 as P,ca as te,cb as S,cc as M,cd as j,ce as D,cf as ae,aB as oe,ay as F}from"./index-BkuLNx2-.js";import{I as U,S as ne}from"./ScrollList-DHgQC1_v.js";import{I as W}from"./ImagePreview-DR_hrXkE.js";import{C as se,N as le}from"./NoTasks-BYsoXaVq.js";import{a as re}from"./price-Q1mTRsEK.js";import{C as ie}from"./CopyToClipboard-D1FwD7Ay.js";import{I as ce}from"./ImageWrapper-MeuTnPga.js";import{B as ue}from"./BotPlaceholder-DryhpfyI.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-XrA95VRY.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const de=k({name:"LayoutNanobanana",components:{ElDrawer:H,ElButton:q,FontAwesomeIcon:T},data(){return{drawer:!1}}}),me={class:"main flex flex-row flex-1"},pe={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},fe={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function he(e,t,g,r,d,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-drawer");return n(),l("div",me,[c("div",pe,[C(e.$slots,"config",{},void 0,!0)]),c("div",fe,[C(e.$slots,"result",{},void 0,!0)]),a(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=p=>e.drawer=!0)},{default:$(()=>[a(h,{icon:"fa-solid fa-magic"})]),_:1}),a(m,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:$(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const _e=y(de,[["render",he],["__scopeId","data-v-9fbc8a5c"]]),ge="",be=k({name:"PromptInput",components:{ElInput:K,InfoIcon:U},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ge)}}),$e={class:"field"},ve={class:"box"},ke={class:"title font-bold"};function ye(e,t,g,r,d,f){const h=s("info-icon"),_=s("el-input");return n(),l("div",$e,[c("div",ve,[c("h2",ke,o(e.$t("nanobanana.name.prompt")),1),a(h,{content:e.$t("nanobanana.description.prompt"),class:"info"},null,8,["content"])]),a(_,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=m=>e.prompt=m),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("nanobanana.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const we=y(be,[["render",ye],["__scopeId","data-v-2331e197"]]),Ae=k({name:"ImageUrlsInput",components:{ElUpload:x,ElButton:q,InfoIcon:U,ImagePreview:W,FontAwesomeIcon:T},data(){return{fileList:[],uploadUrl:Z()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const r=(this.fileList||[]).filter(d=>!d?.response?.file_url);this.fileList=r.length?r:[];return}const t=[];e.forEach(r=>{const d=this.fileList.find(f=>f?.response?.file_url===r||f?.url===r);d?t.push(d):t.push({name:r.split("/").pop()||r,url:r,status:"success",percentage:100,response:{file_url:r}})}),(this.fileList||[]).filter(r=>!r?.response?.file_url).forEach(r=>{t.some(f=>f===r||f?.url===r?.url||f?.response?.file_url===r?.response?.file_url)||t.push(r)}),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(){E.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){E.error(this.$t("nanobanana.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ve={class:"field flex items-center justify-between"},Ne={class:"title font-bold text-[14px] mb-[10px]"},Re={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Ee={class:"controls flex items-center"},Ie={class:"file-list flex flex-wrap gap-[10px]"};function Le(e,t,g,r,d,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-upload"),p=s("info-icon"),w=s("image-preview");return n(),l(A,null,[c("div",Ve,[c("h2",Ne,o(e.$t("nanobanana.name.imageUrls")),1),c("div",Re,[c("div",Ee,[a(m,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=i=>e.fileList=i),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:$(()=>[a(_,{size:"small",type:"primary",round:""},{default:$(()=>[a(h,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+o(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),a(p,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",Ie,[(n(!0),l(A,null,N(e.fileList,(i,v)=>(n(),V(w,{key:i.uid||i?.response?.file_url||i.url||v,url:i.url||i?.response?.file_url,name:i.name,percentage:i.percentage,onRemove:R=>e.onRemovePreview(v,i)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Se=y(Ae,[["render",Le]]),Te=k({name:"AspectRatioSelector",components:{ElSelect:G,ElOption:B},data(){return{options:["1:1","3:2","2:3","16:9","9:16","4:3","3:4"]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e);const t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit("nanobanana/setConfig",t)}}}}),qe={class:"field"},Oe={class:"title font-bold"};function Ue(e,t,g,r,d,f){const h=s("el-option"),_=s("el-select");return n(),l("div",qe,[c("h2",Oe,o(e.$t("nanobanana.name.aspectRatio")),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value",clearable:"",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(A,null,N(e.options,m=>(n(),V(h,{key:m,label:m,value:m},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ce=y(Te,[["render",Ue],["__scopeId","data-v-67f08a08"]]),Pe=k({name:"NanobananaModelSelector",components:{ElSelect:G,ElOption:B,InfoIcon:U},data(){return{options:[{value:z,label:this.$t("nanobanana.model.nanoBanana")},{value:P,label:this.$t("nanobanana.model.nanoBananaPro")},{value:te,label:this.$t("nanobanana.model.nanoBanana2")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t("nanobanana.description.model")}},mounted(){this.value||(this.value=ee)}}),Be={class:"field"},Ge={class:"label"},Me={class:"box"},je={class:"title font-bold"};function De(e,t,g,r,d,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",Be,[c("div",Ge,[c("div",Me,[c("h2",je,o(e.$t("nanobanana.name.model")),1),a(h,{content:e.modelDescription,class:"info"},null,8,["content"])])]),a(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Fe=y(Pe,[["render",De],["__scopeId","data-v-94304d73"]]),ze=k({name:"NanobananaResolutionSelector",components:{ElSelect:G,ElOption:B,InfoIcon:U},data(){return{cachedResolution:S,options:[{value:M,label:M},{value:j,label:j},{value:D,label:D}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model!==z}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||(this.value=this.cachedResolution||S):(this.value&&(this.cachedResolution=this.value),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=S),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),We={class:"field"},He={class:"label"},Ke={class:"box"},xe={class:"title font-bold"};function Je(e,t,g,r,d,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",We,[c("div",He,[c("div",Ke,[c("h2",xe,o(e.$t("nanobanana.name.resolution")),1),a(h,{content:e.$t("nanobanana.description.resolutionProOnly"),class:"info"},null,8,["content"])])]),a(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const Qe=y(ze,[["render",Je],["__scopeId","data-v-fd5ab393"]]),Xe=k({name:"ConfigPanel",components:{ElButton:q,FontAwesomeIcon:T,PromptInput:we,Consumption:se,ImageUrlsInput:Se,AspectRatioSelector:Ce,ModelSelector:Fe,ResolutionSelector:Qe},emits:["generate"],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return re({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ye={class:"flex flex-col h-full"},Ze={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,g,r,d,f){const h=s("model-selector"),_=s("resolution-selector"),m=s("prompt-input"),p=s("aspect-ratio-selector"),w=s("image-urls-input"),i=s("consumption"),v=s("font-awesome-icon"),R=s("el-button");return n(),l("div",Ye,[c("div",Ze,[a(h,{class:"mb-4"}),a(_,{class:"mb-4"}),a(m,{class:"mb-4"}),a(p,{class:"mb-4"}),a(w,{class:"mb-4"})]),c("div",et,[a(i,{value:e.consumption,service:e.service},null,8,["value","service"]),a(R,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:$(()=>[a(v,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+o(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const at=y(Xe,[["render",tt]]),ot=k({name:"TaskPreview",components:{ElImage:X,CopyToClipboard:ie,FontAwesomeIcon:T,ElAlert:Q,ImageWrapper:ce,ElButton:q,ElTooltip:J,ImagePreview:W},props:{modelValue:{type:Object,required:!0}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit("nanobanana/setConfig",t)}}}),nt={class:"preview"},st={class:"left"},lt={class:"main"},rt={class:"bot"},it={class:"datetime"},ct={class:"info"},ut={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},dt={key:1,class:"prompt mt-2"},mt={key:0},pt={key:0,class:O({content:!0,failed:!0})},ft={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},ht={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},_t={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},yt={key:1,class:O({content:!0})},wt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={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"},Et={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Lt={key:2,class:O({content:!0})},St={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Ct(e,t,g,r,d,f){const h=s("el-image"),_=s("image-preview"),m=s("image-wrapper"),p=s("el-button"),w=s("el-tooltip"),i=s("font-awesome-icon"),v=s("copy-to-clipboard"),R=s("el-alert");return n(),l("div",nt,[c("div",st,[a(h,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),c("div",lt,[c("div",rt,[u(o(e.$t("nanobanana.name.nanobananaBot"))+" ",1),c("span",it,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",ct,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(n(),l("div",ut,[(n(!0),l(A,null,N(e.modelValue?.request?.image_urls,(I,L)=>(n(),V(_,{key:L,url:I,name:`image-${L+1}`,closable:!1},null,8,["url","name"]))),128))])):b("",!0),e.modelValue?.request?.prompt?(n(),l("p",dt,[u(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?b("",!0):(n(),l("span",mt," - ("+o(e.$t("nanobanana.status.pending"))+") ",1))])):b("",!0)]),e.modelValue?.response?.success===!0?(n(),l("div",pt,[c("div",ft,[(n(!0),l(A,null,N(e.images,(I,L)=>(n(),V(m,{key:L,src:I?.image_url,"raw-src":I?.image_url},null,8,["src","raw-src"]))),128))]),c("div",ht,[a(w,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:$(()=>[a(p,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=Y(I=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:$(()=>[u(o(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),a(R,{closable:!1,class:"mt-2 success"},{default:$(()=>[e.modelValue?.request?.model?(n(),l("p",_t,[a(i,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(n(),l("p",gt,[a(i,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",bt,[a(i,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):b("",!0),e.modelValue?.request?.action?(n(),l("p",$t,[a(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",vt,[a(i,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),l("p",kt,[a(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),a(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):b("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),l("div",yt,[a(R,{closable:!1,class:"failure"},{template:$(()=>[a(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",wt,[a(i,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(n(),l("p",At,[a(i,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Vt,[a(i,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):b("",!0),e.modelValue?.request?.action?(n(),l("p",Nt,[a(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",Rt,[a(i,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",Et,[a(i,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),a(v,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),l("p",It,[a(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),a(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):b("",!0)]),_:1})])):(n(),l("div",Lt,[a(R,{closable:!1,class:"info"},{template:$(()=>[a(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",St,[a(i,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(n(),l("p",Tt,[a(i,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",qt,[a(i,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):b("",!0),e.modelValue?.request?.action?(n(),l("p",Ot,[a(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",Ut,[a(i,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Pt=y(ot,[["render",Ct],["__scopeId","data-v-49f62c2e"]]),Bt=k({name:"RecentPanel",components:{TaskPreview:Pt,BotPlaceholder:ue,NoTasks:le,ScrollList:ne},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?.()}}}),Gt={key:0},Mt={key:2,class:"w-full h-full flex items-center justify-center"};function jt(e,t,g,r,d,f){const h=s("bot-placeholder"),_=s("task-preview"),m=s("scroll-list"),p=s("no-tasks");return n(),l(A,null,[e.tasks?.items===void 0?(n(),l("div",Gt,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),V(m,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=w=>e.$emit("reach-top"))},{default:$(()=>[(n(!0),l(A,null,N(e.tasks?.items,w=>(n(),V(_,{key:w.id,"model-value":w},null,8,["model-value"]))),128))]),_:1},8,["loading"])):b("",!0),e.tasks?.items?.length===0?(n(),l("div",Mt,[a(p)])):b("",!0)],64)}const Dt=y(Bt,[["render",jt]]),Ft="https://webhook.acedata.cloud/nanobanana",zt=k({name:"NanobananaIndex",components:{ConfigPanel:at,Layout:_e,RecentPanel:Dt},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===F.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const g=this.tasks?.items?.[0];if(!g?.created_at)return;const d=this.$refs.recentPanel?.getScrollElement?.(),f=d?.scrollHeight||0,h=d?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:g.created_at}),await this.$nextTick(),d){const _=d.scrollHeight;d.scrollTop=_-f+h}}finally{this.loading=!1}},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("nanobanana/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("nanobanana/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:g,createdAtMax:r}=e||{};console.debug("limit",t,"createdAtMin",g,"createdAtMax",r),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:g,createdAtMax:r})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&"image_urls"in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model!==P&&"resolution"in e&&delete e.resolution,e?.model===P&&!e?.resolution&&(e.resolution=S);const g={...e,action:t?"edit":"generate",callback_url:Ft},r=this.credential?.token;if(!r){console.error("no token specified");return}E.info(this.$t("nanobanana.message.startingTask")),ae.generate(g,{token:r}).then(()=>{E.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(d=>{const f=d?.response?.data;f?.error?.code===oe?E.error(this.$t("nanobanana.message.usedUp")):E.error(this.$t("nanobanana.message.startTaskFailed")+(f?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Wt(e,t,g,r,d,f){const h=s("config-panel"),_=s("recent-panel"),m=s("layout");return n(),V(m,null,{config:$(()=>[a(h,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:$(()=>[a(_,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const ra=y(zt,[["render",Wt]]);export{ra as default};
1
+ import{F as T}from"./index.es-Cy89kVNv.js";import{l as q,S as H,s as K,t as x,u as E,N as B,O as G,p as J,G as Q,j as X}from"./vendor-element-plus-B4FTqxj4.js";import{d as k,C as l,G as c,T as a,E as C,K as $,ai as s,D as n,R as o,Q as u,S as A,ag as N,J as V,O as b,M as O,X as Y}from"./vendor-vue-1w_NBnjl.js";import{_ as y,aj as Z,c7 as ee,c8 as z,c9 as P,ca as te,cb as S,cc as M,cd as j,ce as D,cf as ae,aB as oe,ay as F}from"./index-BVFe6aDK.js";import{I as U,S as ne}from"./ScrollList-DhBD69sP.js";import{I as W}from"./ImagePreview-Ccc9Mil8.js";import{C as se,N as le}from"./NoTasks-BcLRHfFy.js";import{a as re}from"./price-C9j4ecXg.js";import{C as ie}from"./CopyToClipboard-DufDnfYB.js";import{I as ce}from"./ImageWrapper-CTXSpe8B.js";import{B as ue}from"./BotPlaceholder-C24Ek219.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-Bvupvt61.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const de=k({name:"LayoutNanobanana",components:{ElDrawer:H,ElButton:q,FontAwesomeIcon:T},data(){return{drawer:!1}}}),me={class:"main flex flex-row flex-1"},pe={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},fe={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function he(e,t,g,r,d,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-drawer");return n(),l("div",me,[c("div",pe,[C(e.$slots,"config",{},void 0,!0)]),c("div",fe,[C(e.$slots,"result",{},void 0,!0)]),a(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=p=>e.drawer=!0)},{default:$(()=>[a(h,{icon:"fa-solid fa-magic"})]),_:1}),a(m,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:$(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const _e=y(de,[["render",he],["__scopeId","data-v-9fbc8a5c"]]),ge="",be=k({name:"PromptInput",components:{ElInput:K,InfoIcon:U},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ge)}}),$e={class:"field"},ve={class:"box"},ke={class:"title font-bold"};function ye(e,t,g,r,d,f){const h=s("info-icon"),_=s("el-input");return n(),l("div",$e,[c("div",ve,[c("h2",ke,o(e.$t("nanobanana.name.prompt")),1),a(h,{content:e.$t("nanobanana.description.prompt"),class:"info"},null,8,["content"])]),a(_,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=m=>e.prompt=m),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("nanobanana.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const we=y(be,[["render",ye],["__scopeId","data-v-2331e197"]]),Ae=k({name:"ImageUrlsInput",components:{ElUpload:x,ElButton:q,InfoIcon:U,ImagePreview:W,FontAwesomeIcon:T},data(){return{fileList:[],uploadUrl:Z()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const r=(this.fileList||[]).filter(d=>!d?.response?.file_url);this.fileList=r.length?r:[];return}const t=[];e.forEach(r=>{const d=this.fileList.find(f=>f?.response?.file_url===r||f?.url===r);d?t.push(d):t.push({name:r.split("/").pop()||r,url:r,status:"success",percentage:100,response:{file_url:r}})}),(this.fileList||[]).filter(r=>!r?.response?.file_url).forEach(r=>{t.some(f=>f===r||f?.url===r?.url||f?.response?.file_url===r?.response?.file_url)||t.push(r)}),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(){E.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){E.error(this.$t("nanobanana.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ve={class:"field flex items-center justify-between"},Ne={class:"title font-bold text-[14px] mb-[10px]"},Re={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Ee={class:"controls flex items-center"},Ie={class:"file-list flex flex-wrap gap-[10px]"};function Le(e,t,g,r,d,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-upload"),p=s("info-icon"),w=s("image-preview");return n(),l(A,null,[c("div",Ve,[c("h2",Ne,o(e.$t("nanobanana.name.imageUrls")),1),c("div",Re,[c("div",Ee,[a(m,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=i=>e.fileList=i),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:$(()=>[a(_,{size:"small",type:"primary",round:""},{default:$(()=>[a(h,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+o(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),a(p,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",Ie,[(n(!0),l(A,null,N(e.fileList,(i,v)=>(n(),V(w,{key:i.uid||i?.response?.file_url||i.url||v,url:i.url||i?.response?.file_url,name:i.name,percentage:i.percentage,onRemove:R=>e.onRemovePreview(v,i)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Se=y(Ae,[["render",Le]]),Te=k({name:"AspectRatioSelector",components:{ElSelect:G,ElOption:B},data(){return{options:["1:1","3:2","2:3","16:9","9:16","4:3","3:4"]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e);const t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit("nanobanana/setConfig",t)}}}}),qe={class:"field"},Oe={class:"title font-bold"};function Ue(e,t,g,r,d,f){const h=s("el-option"),_=s("el-select");return n(),l("div",qe,[c("h2",Oe,o(e.$t("nanobanana.name.aspectRatio")),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value",clearable:"",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(A,null,N(e.options,m=>(n(),V(h,{key:m,label:m,value:m},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ce=y(Te,[["render",Ue],["__scopeId","data-v-67f08a08"]]),Pe=k({name:"NanobananaModelSelector",components:{ElSelect:G,ElOption:B,InfoIcon:U},data(){return{options:[{value:z,label:this.$t("nanobanana.model.nanoBanana")},{value:P,label:this.$t("nanobanana.model.nanoBananaPro")},{value:te,label:this.$t("nanobanana.model.nanoBanana2")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t("nanobanana.description.model")}},mounted(){this.value||(this.value=ee)}}),Be={class:"field"},Ge={class:"label"},Me={class:"box"},je={class:"title font-bold"};function De(e,t,g,r,d,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",Be,[c("div",Ge,[c("div",Me,[c("h2",je,o(e.$t("nanobanana.name.model")),1),a(h,{content:e.modelDescription,class:"info"},null,8,["content"])])]),a(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Fe=y(Pe,[["render",De],["__scopeId","data-v-94304d73"]]),ze=k({name:"NanobananaResolutionSelector",components:{ElSelect:G,ElOption:B,InfoIcon:U},data(){return{cachedResolution:S,options:[{value:M,label:M},{value:j,label:j},{value:D,label:D}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model!==z}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||(this.value=this.cachedResolution||S):(this.value&&(this.cachedResolution=this.value),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=S),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),We={class:"field"},He={class:"label"},Ke={class:"box"},xe={class:"title font-bold"};function Je(e,t,g,r,d,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",We,[c("div",He,[c("div",Ke,[c("h2",xe,o(e.$t("nanobanana.name.resolution")),1),a(h,{content:e.$t("nanobanana.description.resolutionProOnly"),class:"info"},null,8,["content"])])]),a(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const Qe=y(ze,[["render",Je],["__scopeId","data-v-fd5ab393"]]),Xe=k({name:"ConfigPanel",components:{ElButton:q,FontAwesomeIcon:T,PromptInput:we,Consumption:se,ImageUrlsInput:Se,AspectRatioSelector:Ce,ModelSelector:Fe,ResolutionSelector:Qe},emits:["generate"],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return re({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ye={class:"flex flex-col h-full"},Ze={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,g,r,d,f){const h=s("model-selector"),_=s("resolution-selector"),m=s("prompt-input"),p=s("aspect-ratio-selector"),w=s("image-urls-input"),i=s("consumption"),v=s("font-awesome-icon"),R=s("el-button");return n(),l("div",Ye,[c("div",Ze,[a(h,{class:"mb-4"}),a(_,{class:"mb-4"}),a(m,{class:"mb-4"}),a(p,{class:"mb-4"}),a(w,{class:"mb-4"})]),c("div",et,[a(i,{value:e.consumption,service:e.service},null,8,["value","service"]),a(R,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:$(()=>[a(v,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+o(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const at=y(Xe,[["render",tt]]),ot=k({name:"TaskPreview",components:{ElImage:X,CopyToClipboard:ie,FontAwesomeIcon:T,ElAlert:Q,ImageWrapper:ce,ElButton:q,ElTooltip:J,ImagePreview:W},props:{modelValue:{type:Object,required:!0}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit("nanobanana/setConfig",t)}}}),nt={class:"preview"},st={class:"left"},lt={class:"main"},rt={class:"bot"},it={class:"datetime"},ct={class:"info"},ut={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},dt={key:1,class:"prompt mt-2"},mt={key:0},pt={key:0,class:O({content:!0,failed:!0})},ft={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},ht={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},_t={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},yt={key:1,class:O({content:!0})},wt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={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"},Et={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Lt={key:2,class:O({content:!0})},St={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Ct(e,t,g,r,d,f){const h=s("el-image"),_=s("image-preview"),m=s("image-wrapper"),p=s("el-button"),w=s("el-tooltip"),i=s("font-awesome-icon"),v=s("copy-to-clipboard"),R=s("el-alert");return n(),l("div",nt,[c("div",st,[a(h,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),c("div",lt,[c("div",rt,[u(o(e.$t("nanobanana.name.nanobananaBot"))+" ",1),c("span",it,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",ct,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(n(),l("div",ut,[(n(!0),l(A,null,N(e.modelValue?.request?.image_urls,(I,L)=>(n(),V(_,{key:L,url:I,name:`image-${L+1}`,closable:!1},null,8,["url","name"]))),128))])):b("",!0),e.modelValue?.request?.prompt?(n(),l("p",dt,[u(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?b("",!0):(n(),l("span",mt," - ("+o(e.$t("nanobanana.status.pending"))+") ",1))])):b("",!0)]),e.modelValue?.response?.success===!0?(n(),l("div",pt,[c("div",ft,[(n(!0),l(A,null,N(e.images,(I,L)=>(n(),V(m,{key:L,src:I?.image_url,"raw-src":I?.image_url},null,8,["src","raw-src"]))),128))]),c("div",ht,[a(w,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:$(()=>[a(p,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=Y(I=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:$(()=>[u(o(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),a(R,{closable:!1,class:"mt-2 success"},{default:$(()=>[e.modelValue?.request?.model?(n(),l("p",_t,[a(i,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(n(),l("p",gt,[a(i,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",bt,[a(i,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):b("",!0),e.modelValue?.request?.action?(n(),l("p",$t,[a(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",vt,[a(i,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),l("p",kt,[a(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),a(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):b("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),l("div",yt,[a(R,{closable:!1,class:"failure"},{template:$(()=>[a(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",wt,[a(i,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(n(),l("p",At,[a(i,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Vt,[a(i,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):b("",!0),e.modelValue?.request?.action?(n(),l("p",Nt,[a(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",Rt,[a(i,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",Et,[a(i,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),a(v,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),l("p",It,[a(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),a(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):b("",!0)]),_:1})])):(n(),l("div",Lt,[a(R,{closable:!1,class:"info"},{template:$(()=>[a(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",St,[a(i,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(n(),l("p",Tt,[a(i,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",qt,[a(i,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):b("",!0),e.modelValue?.request?.action?(n(),l("p",Ot,[a(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",Ut,[a(i,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Pt=y(ot,[["render",Ct],["__scopeId","data-v-49f62c2e"]]),Bt=k({name:"RecentPanel",components:{TaskPreview:Pt,BotPlaceholder:ue,NoTasks:le,ScrollList:ne},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?.()}}}),Gt={key:0},Mt={key:2,class:"w-full h-full flex items-center justify-center"};function jt(e,t,g,r,d,f){const h=s("bot-placeholder"),_=s("task-preview"),m=s("scroll-list"),p=s("no-tasks");return n(),l(A,null,[e.tasks?.items===void 0?(n(),l("div",Gt,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),V(m,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=w=>e.$emit("reach-top"))},{default:$(()=>[(n(!0),l(A,null,N(e.tasks?.items,w=>(n(),V(_,{key:w.id,"model-value":w},null,8,["model-value"]))),128))]),_:1},8,["loading"])):b("",!0),e.tasks?.items?.length===0?(n(),l("div",Mt,[a(p)])):b("",!0)],64)}const Dt=y(Bt,[["render",jt]]),Ft="https://webhook.acedata.cloud/nanobanana",zt=k({name:"NanobananaIndex",components:{ConfigPanel:at,Layout:_e,RecentPanel:Dt},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===F.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const g=this.tasks?.items?.[0];if(!g?.created_at)return;const d=this.$refs.recentPanel?.getScrollElement?.(),f=d?.scrollHeight||0,h=d?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:g.created_at}),await this.$nextTick(),d){const _=d.scrollHeight;d.scrollTop=_-f+h}}finally{this.loading=!1}},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("nanobanana/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("nanobanana/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:g,createdAtMax:r}=e||{};console.debug("limit",t,"createdAtMin",g,"createdAtMax",r),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:g,createdAtMax:r})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&"image_urls"in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model!==P&&"resolution"in e&&delete e.resolution,e?.model===P&&!e?.resolution&&(e.resolution=S);const g={...e,action:t?"edit":"generate",callback_url:Ft},r=this.credential?.token;if(!r){console.error("no token specified");return}E.info(this.$t("nanobanana.message.startingTask")),ae.generate(g,{token:r}).then(()=>{E.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(d=>{const f=d?.response?.data;f?.error?.code===oe?E.error(this.$t("nanobanana.message.usedUp")):E.error(this.$t("nanobanana.message.startTaskFailed")+(f?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Wt(e,t,g,r,d,f){const h=s("config-panel"),_=s("recent-panel"),m=s("layout");return n(),V(m,null,{config:$(()=>[a(h,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:$(()=>[a(_,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const ra=y(zt,[["render",Wt]]);export{ra as default};
@@ -1 +1 @@
1
- import{P as g}from"./Pagination-C3DyJji5.js";import{C as b}from"./CopyToClipboard-D1FwD7Ay.js";import{b5 as v,_ as w}from"./index-BkuLNx2-.js";import{w as $,x as C,y,z as D,A as I}from"./vendor-element-plus-B4FTqxj4.js";import{d as k,J as c,K as t,T as a,ai as s,G as n,R as i,L as E,aq as F,D as p}from"./vendor-vue-1w_NBnjl.js";import"./index.es-7RSklBi_.js";import"./vendor-web3-XrA95VRY.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const P=k({name:"ConsoleDistributionInvitees",components:{Pagination:g,CopyToClipboard:b,ElRow:I,ElCol:D,ElTable:y,ElTableColumn:C,ElCard:$},data(){return{invitees:[],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:{onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},onFetchData(){this.loading=!0,Promise.all([this.onFetchInvitees()]).finally(()=>{this.loading=!1})},async onFetchInvitees(){const{data:e}=await v.getInvitees({limit:this.limit,offset:(this.page-1)*this.limit,ordering:"-created_at"});this.invitees=e.items,this.total=e.count}}}),q={class:"title"},T={class:"key"},z={class:"copy"},B={class:"description"},S={class:"description"},j={class:"description"},J={class:"created-at"},N={class:"pagination m-v-lg"};function R(e,V,A,G,K,L){const r=s("el-col"),d=s("el-row"),_=s("copy-to-clipboard"),l=s("el-table-column"),m=s("el-table"),u=s("el-card"),h=s("pagination"),f=F("loading");return p(),c(d,{class:"panel"},{default:t(()=>[a(r,{span:24},{default:t(()=>[a(d,null,{default:t(()=>[a(r,{span:24},{default:t(()=>[n("h2",q,i(e.$t("common.title.invitee")),1)]),_:1})]),_:1}),a(d,null,{default:t(()=>[a(r,{span:24},{default:t(()=>[a(u,{shadow:"hover"},{default:t(()=>[E((p(),c(m,{data:e.invitees,stripe:""},{default:t(()=>[a(l,{prop:"id",label:e.$t("user.field.id"),"class-name":"text-center",width:"350px"},{default:t(o=>[n("span",T,i(o.row.id),1),n("span",z,[a(_,{content:o.row.id},null,8,["content"])])]),_:1},8,["label"]),a(l,{label:e.$t("user.field.username"),width:"300px"},{default:t(o=>[n("span",B,i(o.row?.username),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.email"),width:"300px"},{default:t(o=>[n("span",S,i(o.row?.email),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.nickname"),width:"200px"},{default:t(o=>[n("span",j,i(o.row.nickname),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.dateJoined")},{default:t(o=>[n("span",J,i(e.$dayjs.format(o.row.date_joined)),1)]),_:1},8,["label"])]),_:1},8,["data"])),[[f,e.loading]])]),_:1})]),_:1})]),_:1}),a(d,null,{default:t(()=>[a(r,{span:10,offset:14},{default:t(()=>[n("div",N,[a(h,{"current-page":e.page,"page-size":e.limit,total:e.total,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const ee=w(P,[["render",R],["__scopeId","data-v-4556864d"]]);export{ee as default};
1
+ import{P as g}from"./Pagination-BFovzqlH.js";import{C as b}from"./CopyToClipboard-DufDnfYB.js";import{b5 as v,_ as w}from"./index-BVFe6aDK.js";import{w as $,x as C,y,z as D,A as I}from"./vendor-element-plus-B4FTqxj4.js";import{d as k,J as c,K as t,T as a,ai as s,G as n,R as i,L as E,aq as F,D as p}from"./vendor-vue-1w_NBnjl.js";import"./index.es-Cy89kVNv.js";import"./vendor-web3-Bvupvt61.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const P=k({name:"ConsoleDistributionInvitees",components:{Pagination:g,CopyToClipboard:b,ElRow:I,ElCol:D,ElTable:y,ElTableColumn:C,ElCard:$},data(){return{invitees:[],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:{onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},onFetchData(){this.loading=!0,Promise.all([this.onFetchInvitees()]).finally(()=>{this.loading=!1})},async onFetchInvitees(){const{data:e}=await v.getInvitees({limit:this.limit,offset:(this.page-1)*this.limit,ordering:"-created_at"});this.invitees=e.items,this.total=e.count}}}),q={class:"title"},T={class:"key"},z={class:"copy"},B={class:"description"},S={class:"description"},j={class:"description"},J={class:"created-at"},N={class:"pagination m-v-lg"};function R(e,V,A,G,K,L){const r=s("el-col"),d=s("el-row"),_=s("copy-to-clipboard"),l=s("el-table-column"),m=s("el-table"),u=s("el-card"),h=s("pagination"),f=F("loading");return p(),c(d,{class:"panel"},{default:t(()=>[a(r,{span:24},{default:t(()=>[a(d,null,{default:t(()=>[a(r,{span:24},{default:t(()=>[n("h2",q,i(e.$t("common.title.invitee")),1)]),_:1})]),_:1}),a(d,null,{default:t(()=>[a(r,{span:24},{default:t(()=>[a(u,{shadow:"hover"},{default:t(()=>[E((p(),c(m,{data:e.invitees,stripe:""},{default:t(()=>[a(l,{prop:"id",label:e.$t("user.field.id"),"class-name":"text-center",width:"350px"},{default:t(o=>[n("span",T,i(o.row.id),1),n("span",z,[a(_,{content:o.row.id},null,8,["content"])])]),_:1},8,["label"]),a(l,{label:e.$t("user.field.username"),width:"300px"},{default:t(o=>[n("span",B,i(o.row?.username),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.email"),width:"300px"},{default:t(o=>[n("span",S,i(o.row?.email),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.nickname"),width:"200px"},{default:t(o=>[n("span",j,i(o.row.nickname),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.dateJoined")},{default:t(o=>[n("span",J,i(e.$dayjs.format(o.row.date_joined)),1)]),_:1},8,["label"])]),_:1},8,["data"])),[[f,e.loading]])]),_:1})]),_:1})]),_:1}),a(d,null,{default:t(()=>[a(r,{span:10,offset:14},{default:t(()=>[n("div",N,[a(h,{"current-page":e.page,"page-size":e.limit,total:e.total,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const ee=w(P,[["render",R],["__scopeId","data-v-4556864d"]]);export{ee as default};
@@ -1 +1 @@
1
- import{o as k}from"./order-DKWuqMWf.js";import{P as C}from"./Pagination-C3DyJji5.js";import{C as D}from"./CopyToClipboard-D1FwD7Ay.js";import{O as E}from"./order-CB3uOPHS.js";import{_ as S}from"./index-BkuLNx2-.js";import{g as O}from"./price-Q1mTRsEK.js";import{w as v,a as I,l as P,x as N,y as A,z as F,A as T}from"./vendor-element-plus-B4FTqxj4.js";import{d as z,J as f,K as t,T as o,ai as r,G as n,R as s,L as B,aq as L,C as p,O as q,Q as i,D as l}from"./vendor-vue-1w_NBnjl.js";import"./index.es-7RSklBi_.js";import"./vendor-web3-XrA95VRY.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const R=z({name:"ConsoleOrderList",components:{Pagination:C,CopyToClipboard:D,ElRow:T,ElCol:F,ElTable:A,ElTableColumn:N,ElButton:P,ElTag:I,ElCard:v},data(){return{OrderState:E,orders:[],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:O,onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},onFetchData(){this.loading=!0,k.getAll({ordering:"-created_at",limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id}).then(({data:e})=>{this.orders=e.items,this.loading=!1,this.total=e.count}).catch(()=>{this.loading=!1})}}}),V={class:"title"},j={class:"key"},G={class:"cursor-pointer"},H={class:"price"},X={class:"description"},J={key:0},K={key:1,class:"state state-paid"},Q={key:2,class:"state state-finished"},M={key:3,class:"state state-expired"},U={key:4,class:"state state-failed"},W={class:"created-at"},Y={class:"flex items-center justify-center flex-wrap"},Z={class:"float-right"};function x(e,ee,te,ae,oe,se){const m=r("el-col"),u=r("el-row"),_=r("copy-to-clipboard"),d=r("el-table-column"),c=r("el-tag"),h=r("el-button"),g=r("el-table"),w=r("el-card"),b=r("pagination"),y=L("loading");return l(),f(u,{class:"panel"},{default:t(()=>[o(m,{span:24},{default:t(()=>[o(u,null,{default:t(()=>[o(m,{span:24},{default:t(()=>[n("h2",V,s(e.$t("common.title.allOrders")),1)]),_:1})]),_:1}),o(u,null,{default:t(()=>[o(m,{span:24},{default:t(()=>[o(w,{shadow:"hover"},{default:t(()=>[B((l(),f(g,{data:e.orders,stripe:"","empty-text":e.$t("common.message.noData"),class:"min-h-[calc(100vh-300px)] mb-[50px]"},{default:t(()=>[o(d,{prop:"id",label:e.$t("order.field.id"),"class-name":"text-center",width:"200px"},{default:t(a=>[n("span",j,s(a.row.id),1),n("span",G,[o(_,{content:a.row.id,class:"inline-block"},null,8,["content"])])]),_:1},8,["label"]),o(d,{label:e.$t("order.field.price"),width:"100px"},{default:t(a=>[n("span",H,s(e.getPriceString({value:a.row?.price})),1)]),_:1},8,["label"]),o(d,{label:e.$t("order.field.description"),width:"270px","class-name":"hidden md:table-cell","label-class-name":"hidden md:table-cell"},{default:t(a=>[n("span",X,s(a.row.description),1)]),_:1},8,["label"]),o(d,{prop:"state",label:e.$t("order.field.state"),"class-name":"text-center",width:"160px"},{default:t(a=>[a.row.state===e.OrderState?.PENDING?(l(),p("span",J,[o(c,{type:"info",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.pending")),1)]),_:1})])):a.row.state===e.OrderState?.PAID?(l(),p("span",K,[o(c,{type:"success",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.paid")),1)]),_:1})])):a.row.state===e.OrderState?.FINISHED?(l(),p("span",Q,[o(c,{type:"success",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.finished")),1)]),_:1})])):a.row.state===e.OrderState?.EXPIRED?(l(),p("span",M,[o(c,{type:"danger",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.expired")),1)]),_:1})])):a.row.state===e.OrderState?.FAILED?(l(),p("span",U,[o(c,{type:"danger",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.failed")),1)]),_:1})])):q("",!0)]),_:1},8,["label"]),o(d,{label:e.$t("order.field.createdAt"),width:"250px"},{default:t(a=>[n("span",W,s(e.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"]),o(d,{"min-width":"130px",fixed:"right"},{default:t(a=>[n("div",Y,[a.row.state!==e.OrderState.PAID&&a.row.state!==e.OrderState.FINISHED&&a.row.state!==e.OrderState.EXPIRED&&a.row.state!==e.OrderState.FAILED?(l(),f(h,{key:0,type:"primary",size:"small",onClick:$=>e.$router.push({name:"console-order-detail",params:{id:a.row.id}})},{default:t(()=>[i(s(e.$t("order.button.continuePay")),1)]),_:2},1032,["onClick"])):(l(),f(h,{key:1,size:"small",onClick:$=>e.$router.push({name:"console-order-detail",params:{id:a.row.id}})},{default:t(()=>[i(s(e.$t("order.button.checkDetail")),1)]),_:2},1032,["onClick"]))])]),_:1})]),_:1},8,["data","empty-text"])),[[y,e.loading]])]),_:1})]),_:1})]),_:1}),o(u,null,{default:t(()=>[o(m,{span:10,offset:14},{default:t(()=>[n("div",Z,[o(b,{"current-page":e.page,"page-size":e.limit,total:e.total,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const we=S(R,[["render",x]]);export{we as default};
1
+ import{o as k}from"./order-_HkS8nbL.js";import{P as C}from"./Pagination-BFovzqlH.js";import{C as D}from"./CopyToClipboard-DufDnfYB.js";import{O as E}from"./order-CB3uOPHS.js";import{_ as S}from"./index-BVFe6aDK.js";import{g as O}from"./price-C9j4ecXg.js";import{w as v,a as I,l as P,x as N,y as A,z as F,A as T}from"./vendor-element-plus-B4FTqxj4.js";import{d as z,J as f,K as t,T as o,ai as r,G as n,R as s,L as B,aq as L,C as p,O as q,Q as i,D as l}from"./vendor-vue-1w_NBnjl.js";import"./index.es-Cy89kVNv.js";import"./vendor-web3-Bvupvt61.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const R=z({name:"ConsoleOrderList",components:{Pagination:C,CopyToClipboard:D,ElRow:T,ElCol:F,ElTable:A,ElTableColumn:N,ElButton:P,ElTag:I,ElCard:v},data(){return{OrderState:E,orders:[],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:O,onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},onFetchData(){this.loading=!0,k.getAll({ordering:"-created_at",limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id}).then(({data:e})=>{this.orders=e.items,this.loading=!1,this.total=e.count}).catch(()=>{this.loading=!1})}}}),V={class:"title"},j={class:"key"},G={class:"cursor-pointer"},H={class:"price"},X={class:"description"},J={key:0},K={key:1,class:"state state-paid"},Q={key:2,class:"state state-finished"},M={key:3,class:"state state-expired"},U={key:4,class:"state state-failed"},W={class:"created-at"},Y={class:"flex items-center justify-center flex-wrap"},Z={class:"float-right"};function x(e,ee,te,ae,oe,se){const m=r("el-col"),u=r("el-row"),_=r("copy-to-clipboard"),d=r("el-table-column"),c=r("el-tag"),h=r("el-button"),g=r("el-table"),w=r("el-card"),b=r("pagination"),y=L("loading");return l(),f(u,{class:"panel"},{default:t(()=>[o(m,{span:24},{default:t(()=>[o(u,null,{default:t(()=>[o(m,{span:24},{default:t(()=>[n("h2",V,s(e.$t("common.title.allOrders")),1)]),_:1})]),_:1}),o(u,null,{default:t(()=>[o(m,{span:24},{default:t(()=>[o(w,{shadow:"hover"},{default:t(()=>[B((l(),f(g,{data:e.orders,stripe:"","empty-text":e.$t("common.message.noData"),class:"min-h-[calc(100vh-300px)] mb-[50px]"},{default:t(()=>[o(d,{prop:"id",label:e.$t("order.field.id"),"class-name":"text-center",width:"200px"},{default:t(a=>[n("span",j,s(a.row.id),1),n("span",G,[o(_,{content:a.row.id,class:"inline-block"},null,8,["content"])])]),_:1},8,["label"]),o(d,{label:e.$t("order.field.price"),width:"100px"},{default:t(a=>[n("span",H,s(e.getPriceString({value:a.row?.price})),1)]),_:1},8,["label"]),o(d,{label:e.$t("order.field.description"),width:"270px","class-name":"hidden md:table-cell","label-class-name":"hidden md:table-cell"},{default:t(a=>[n("span",X,s(a.row.description),1)]),_:1},8,["label"]),o(d,{prop:"state",label:e.$t("order.field.state"),"class-name":"text-center",width:"160px"},{default:t(a=>[a.row.state===e.OrderState?.PENDING?(l(),p("span",J,[o(c,{type:"info",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.pending")),1)]),_:1})])):a.row.state===e.OrderState?.PAID?(l(),p("span",K,[o(c,{type:"success",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.paid")),1)]),_:1})])):a.row.state===e.OrderState?.FINISHED?(l(),p("span",Q,[o(c,{type:"success",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.finished")),1)]),_:1})])):a.row.state===e.OrderState?.EXPIRED?(l(),p("span",M,[o(c,{type:"danger",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.expired")),1)]),_:1})])):a.row.state===e.OrderState?.FAILED?(l(),p("span",U,[o(c,{type:"danger",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.failed")),1)]),_:1})])):q("",!0)]),_:1},8,["label"]),o(d,{label:e.$t("order.field.createdAt"),width:"250px"},{default:t(a=>[n("span",W,s(e.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"]),o(d,{"min-width":"130px",fixed:"right"},{default:t(a=>[n("div",Y,[a.row.state!==e.OrderState.PAID&&a.row.state!==e.OrderState.FINISHED&&a.row.state!==e.OrderState.EXPIRED&&a.row.state!==e.OrderState.FAILED?(l(),f(h,{key:0,type:"primary",size:"small",onClick:$=>e.$router.push({name:"console-order-detail",params:{id:a.row.id}})},{default:t(()=>[i(s(e.$t("order.button.continuePay")),1)]),_:2},1032,["onClick"])):(l(),f(h,{key:1,size:"small",onClick:$=>e.$router.push({name:"console-order-detail",params:{id:a.row.id}})},{default:t(()=>[i(s(e.$t("order.button.checkDetail")),1)]),_:2},1032,["onClick"]))])]),_:1})]),_:1},8,["data","empty-text"])),[[y,e.loading]])]),_:1})]),_:1})]),_:1}),o(u,null,{default:t(()=>[o(m,{span:10,offset:14},{default:t(()=>[n("div",Z,[o(b,{"current-page":e.page,"page-size":e.limit,total:e.total,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const we=S(R,[["render",x]]);export{we as default};
@@ -1 +1 @@
1
- import{aq as u,ar as A,as as E,at as x,c as G,_ as F}from"./index-BkuLNx2-.js";import{I as B,a as O}from"./credential-CEfFFZzi.js";import{P as V}from"./Pagination-C3DyJji5.js";import{C as N}from"./CopyToClipboard-D1FwD7Ay.js";import{F as P}from"./index.es-7RSklBi_.js";import{w as z,x as q,k as R,K as M,a as j,z as K,l as J,A as Q,y as X,u as w}from"./vendor-element-plus-B4FTqxj4.js";import{d as H,J as r,K as a,T as t,ai as s,G as i,R as l,O as b,C as $,Q as m,L as W,aq as Y,D as p}from"./vendor-vue-1w_NBnjl.js";import"./vendor-web3-XrA95VRY.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const Z=H({name:"ConsoleApplicationList",components:{Pagination:V,CopyToClipboard:N,ElTable:X,ElRow:Q,ElButton:J,ElCol:K,ElTag:j,ElSkeleton:M,ElSwitch:R,ElTableColumn:q,ElCard:z,FontAwesomeIcon:P},data(){return{credentialType:O,serviceType:B,individualApplications:[],globalApplications:[],individualApplicationsTotal:void 0,globalApplicationsTotal:void 0,loading:!1,buying:!1,limit:10,form:{amount:1},active:{service:void 0,application:void 0}}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onInitializeGlobalApplication(),this.onFetchData()},methods:{updateAllowConsumeGlobal(e,n){!e||!e.id||A.updateAllConsumeGlobal(e.id,{...e,allow_consume_global:!!n}).then(()=>{w.success(this.$t("application.message.updateSuccessfully").toString())}).catch(()=>{w.error(this.$t("application.message.updateFailed").toString())})},onGoUsage(e){this.$router.push({name:G,query:{application_id:e.id,type:e?.service?.type}})},onBuyMore(e){e?.id&&this.$router.push({name:x,params:{id:e.id}})},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchApplications(e=u.INDIVIDUAL){return new Promise((n,C)=>{A.getAll({limit:this.limit,...e===u.INDIVIDUAL?{offset:(this.page-1)*this.limit}:{},user_id:this.$store.getters.user.id,ordering:"-created_at",type:E.USAGE,scope:e}).then(({data:d})=>{e===u.INDIVIDUAL?(this.individualApplications=d.items,this.individualApplicationsTotal=d.count):(this.globalApplications=d.items,this.globalApplicationsTotal=d.count),n(d)}).catch(d=>{w.error(this.$t("application.message.fetchFailed").toString()),C(d)})})},onFetchData(){this.loading=!0,Promise.all([this.onFetchApplications(u.INDIVIDUAL),this.onFetchApplications(u.GLOBAL)]).then(()=>{this.loading=!1}).catch(()=>{this.loading=!1})},onInitializeGlobalApplication(){A.create({type:E.USAGE,scope:u.GLOBAL,user_id:this.$store.getters.user.id}).finally(()=>{this.onFetchApplications(u.GLOBAL)})},getRemainingAmount(e){if(e.remaining_amount===void 0||e.remaining_amount===null)return"";const n=this.$t(`service.unit.${e?.service?.unit||"credit"}s`);return`${e.remaining_amount?.toFixed(6)} ${n}`},getUsedAmount(e){if(e.used_amount===void 0||e.used_amount===null)return"";const n=this.$t(`service.unit.${e?.service?.unit||"credit"}s`);return`${e.used_amount?.toFixed(6)} ${n}`}}}),ee={class:"title"},te={key:1,class:"summary-card"},ae={class:"icon-wrapper"},oe={class:"label"},le={class:"value"},ie={class:"description"},ne={key:1,class:"flex flex-row justify-between align-center"},se={class:"summary-card"},pe={class:"flex justify-start items-center gap-2 mb-2 w-full"},re={class:"icon-wrapper !mb-0"},de={class:"text-[var(--el-text-color-regular)] text-[14px] truncate"},ce={class:"label"},ue={class:"value"},me={class:"description"},he={class:"flex flex-col items-end gap-2"},fe={class:"copy"},ge={key:0,class:"expired-at"},_e={class:"flex flex-wrap items-center justify-end gap-1"},be={class:"pagination"};function ye(e,n,C,d,ve,Ae){const h=s("el-col"),g=s("el-row"),k=s("el-skeleton"),f=s("font-awesome-icon"),v=s("el-card"),I=s("copy-to-clipboard"),y=s("el-button"),c=s("el-table-column"),T=s("el-tag"),D=s("el-switch"),L=s("el-table"),S=s("pagination"),U=Y("loading");return p(),r(g,{class:"panel p-[30px]"},{default:a(()=>[t(h,{span:24},{default:a(()=>[t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[i("h2",ee,l(e.$t("common.title.allApplications")),1)]),_:1})]),_:1}),t(g,{gutter:15,class:"mb-3"},{default:a(()=>[t(h,{md:12,xs:24},{default:a(()=>[t(v,{shadow:"hover",class:"relative min-h-[180px] mb-2","body-style":{padding:"18px 20px"}},{default:a(()=>[e.loading?(p(),r(k,{key:0})):(p(),$("div",te,[i("div",ae,[t(f,{icon:"fa-solid fa-cubes-stacked"})]),i("p",oe,l(e.$t("application.title.count")),1),i("p",le,l(e.individualApplicationsTotal),1),i("p",ie,l(e.$t("application.message.countDescription")),1)]))]),_:1})]),_:1}),e.globalApplications?.length>0?(p(),r(h,{key:0,md:12,xs:24},{default:a(()=>[t(v,{shadow:"hover",class:"relative min-h-[180px] mb-2","body-style":{padding:"18px 20px"}},{default:a(()=>[e.loading?(p(),r(k,{key:0})):(p(),$("div",ne,[i("div",se,[i("div",pe,[i("div",re,[t(f,{icon:"fa-solid fa-wallet"})]),i("span",de,[m(l(e.$t("application.field.id"))+": "+l(e.globalApplications?.[0]?.id)+" ",1),e.globalApplications?.[0]?.id?(p(),r(I,{key:0,content:e.globalApplications?.[0]?.id,class:"inline-block"},null,8,["content"])):b("",!0)])]),i("p",ce,l(e.$t("application.title.globalBalance")),1),i("p",ue,l(e.globalApplications?.[0]?.remaining_amount?.toFixed(6)||"0.000000")+" "+l(e.$t("service.unit.credits")),1),i("p",me,l(e.$t("application.message.globalBalanceDescription")),1)]),i("div",he,[t(y,{class:"!m-0 !px-2",size:"small",round:"",onClick:n[0]||(n[0]=o=>e.onGoUsage(e.globalApplications?.[0]))},{default:a(()=>[t(f,{icon:"fa-solid fa-chart-line",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.usage")),1)]),_:1}),t(y,{class:"!m-0 !px-2",type:"primary",round:"",size:"small",onClick:n[1]||(n[1]=o=>e.onBuyMore(e.globalApplications?.[0]))},{default:a(()=>[t(f,{icon:"fa-solid fa-coins",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.buyMore")),1)]),_:1})])]))]),_:1})]),_:1})):b("",!0)]),_:1}),t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[t(v,{shadow:"hover"},{default:a(()=>[W((p(),r(L,{data:e.individualApplications,stripe:"",class:"!min-h-[calc(100vh-420px)]","table-layout":"fixed","empty-text":e.$t("common.message.noData")},{default:a(()=>[t(c,{prop:"id",label:e.$t("application.field.id"),width:"200px","class-name":"text-center"},{default:a(o=>[i("span",null,l(o.row.id),1),i("span",fe,[t(I,{content:o?.row?.id,class:"inline-block"},null,8,["content"])])]),_:1},8,["label"]),t(c,{label:e.$t("application.field.type"),width:"90px"},{default:a(o=>[o.row?.type==="Period"?(p(),r(T,{key:0,type:"success",effect:"dark",round:""},{default:a(()=>[m(l(e.$t("application.type.period")),1)]),_:1})):o.row?.type==="Usage"?(p(),r(T,{key:1,effect:"dark",round:""},{default:a(()=>[m(l(e.$t("application.type.usage")),1)]),_:1})):b("",!0)]),_:1},8,["label"]),t(c,{label:e.$t("application.field.name"),width:"180px"},{default:a(o=>[i("span",null,l(o.row?.service?.title),1)]),_:1},8,["label"]),t(c,{prop:"remaining_amount",label:e.$t("application.field.remainingAmount"),width:"150px","class-name":"text-center"},{default:a(o=>[i("span",null,l(e.getRemainingAmount(o.row)),1)]),_:1},8,["label"]),t(c,{prop:"used_amount",label:e.$t("application.field.usedAmount"),width:"150px","class-name":"text-center"},{default:a(o=>[i("span",null,l(e.getUsedAmount(o.row)),1)]),_:1},8,["label"]),t(c,{prop:"allow_consume_global",label:e.$t("application.field.allowConsumeGlobal"),width:"120px","class-name":"text-center"},{default:a(o=>[o.row.service?.type===e.serviceType.API?(p(),r(D,{key:0,modelValue:o.row.allow_consume_global,"onUpdate:modelValue":_=>o.row.allow_consume_global=_,"active-value":!0,"inactive-value":!1,onChange:_=>e.updateAllowConsumeGlobal(o.row,_)},null,8,["modelValue","onUpdate:modelValue","onChange"])):b("",!0)]),_:1},8,["label"]),t(c,{label:e.$t("application.field.expiredAt"),width:"180px"},{default:a(o=>[o.row.expired_at?(p(),$("span",ge,l(e.$dayjs.format(o.row.expired_at)),1)):b("",!0)]),_:1},8,["label"]),t(c,{fixed:"right",width:"200px"},{default:a(o=>[i("div",_e,[t(y,{class:"!m-0 !px-2",size:"small",round:"",onClick:_=>e.onGoUsage(o?.row)},{default:a(()=>[t(f,{icon:"fa-solid fa-chart-line",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.usage")),1)]),_:2},1032,["onClick"]),t(y,{class:"!m-0 !px-2",type:"primary",round:"",size:"small",onClick:_=>e.onBuyMore(o?.row)},{default:a(()=>[t(f,{icon:"fa-solid fa-coins",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.buyMore")),1)]),_:2},1032,["onClick"])])]),_:1})]),_:1},8,["data","empty-text"])),[[U,e.loading]])]),_:1})]),_:1})]),_:1}),t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[i("div",be,[t(S,{"current-page":e.page,"page-size":e.limit,total:e.individualApplicationsTotal,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const xe=F(Z,[["render",ye],["__scopeId","data-v-8a5d3554"]]);export{xe as default};
1
+ import{aq as u,ar as A,as as E,at as x,c as G,_ as F}from"./index-BVFe6aDK.js";import{I as B,a as O}from"./credential-CEfFFZzi.js";import{P as V}from"./Pagination-BFovzqlH.js";import{C as N}from"./CopyToClipboard-DufDnfYB.js";import{F as P}from"./index.es-Cy89kVNv.js";import{w as z,x as q,k as R,K as M,a as j,z as K,l as J,A as Q,y as X,u as w}from"./vendor-element-plus-B4FTqxj4.js";import{d as H,J as r,K as a,T as t,ai as s,G as i,R as l,O as b,C as $,Q as m,L as W,aq as Y,D as p}from"./vendor-vue-1w_NBnjl.js";import"./vendor-web3-Bvupvt61.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";const Z=H({name:"ConsoleApplicationList",components:{Pagination:V,CopyToClipboard:N,ElTable:X,ElRow:Q,ElButton:J,ElCol:K,ElTag:j,ElSkeleton:M,ElSwitch:R,ElTableColumn:q,ElCard:z,FontAwesomeIcon:P},data(){return{credentialType:O,serviceType:B,individualApplications:[],globalApplications:[],individualApplicationsTotal:void 0,globalApplicationsTotal:void 0,loading:!1,buying:!1,limit:10,form:{amount:1},active:{service:void 0,application:void 0}}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onInitializeGlobalApplication(),this.onFetchData()},methods:{updateAllowConsumeGlobal(e,n){!e||!e.id||A.updateAllConsumeGlobal(e.id,{...e,allow_consume_global:!!n}).then(()=>{w.success(this.$t("application.message.updateSuccessfully").toString())}).catch(()=>{w.error(this.$t("application.message.updateFailed").toString())})},onGoUsage(e){this.$router.push({name:G,query:{application_id:e.id,type:e?.service?.type}})},onBuyMore(e){e?.id&&this.$router.push({name:x,params:{id:e.id}})},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchApplications(e=u.INDIVIDUAL){return new Promise((n,C)=>{A.getAll({limit:this.limit,...e===u.INDIVIDUAL?{offset:(this.page-1)*this.limit}:{},user_id:this.$store.getters.user.id,ordering:"-created_at",type:E.USAGE,scope:e}).then(({data:d})=>{e===u.INDIVIDUAL?(this.individualApplications=d.items,this.individualApplicationsTotal=d.count):(this.globalApplications=d.items,this.globalApplicationsTotal=d.count),n(d)}).catch(d=>{w.error(this.$t("application.message.fetchFailed").toString()),C(d)})})},onFetchData(){this.loading=!0,Promise.all([this.onFetchApplications(u.INDIVIDUAL),this.onFetchApplications(u.GLOBAL)]).then(()=>{this.loading=!1}).catch(()=>{this.loading=!1})},onInitializeGlobalApplication(){A.create({type:E.USAGE,scope:u.GLOBAL,user_id:this.$store.getters.user.id}).finally(()=>{this.onFetchApplications(u.GLOBAL)})},getRemainingAmount(e){if(e.remaining_amount===void 0||e.remaining_amount===null)return"";const n=this.$t(`service.unit.${e?.service?.unit||"credit"}s`);return`${e.remaining_amount?.toFixed(6)} ${n}`},getUsedAmount(e){if(e.used_amount===void 0||e.used_amount===null)return"";const n=this.$t(`service.unit.${e?.service?.unit||"credit"}s`);return`${e.used_amount?.toFixed(6)} ${n}`}}}),ee={class:"title"},te={key:1,class:"summary-card"},ae={class:"icon-wrapper"},oe={class:"label"},le={class:"value"},ie={class:"description"},ne={key:1,class:"flex flex-row justify-between align-center"},se={class:"summary-card"},pe={class:"flex justify-start items-center gap-2 mb-2 w-full"},re={class:"icon-wrapper !mb-0"},de={class:"text-[var(--el-text-color-regular)] text-[14px] truncate"},ce={class:"label"},ue={class:"value"},me={class:"description"},he={class:"flex flex-col items-end gap-2"},fe={class:"copy"},ge={key:0,class:"expired-at"},_e={class:"flex flex-wrap items-center justify-end gap-1"},be={class:"pagination"};function ye(e,n,C,d,ve,Ae){const h=s("el-col"),g=s("el-row"),k=s("el-skeleton"),f=s("font-awesome-icon"),v=s("el-card"),I=s("copy-to-clipboard"),y=s("el-button"),c=s("el-table-column"),T=s("el-tag"),D=s("el-switch"),L=s("el-table"),S=s("pagination"),U=Y("loading");return p(),r(g,{class:"panel p-[30px]"},{default:a(()=>[t(h,{span:24},{default:a(()=>[t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[i("h2",ee,l(e.$t("common.title.allApplications")),1)]),_:1})]),_:1}),t(g,{gutter:15,class:"mb-3"},{default:a(()=>[t(h,{md:12,xs:24},{default:a(()=>[t(v,{shadow:"hover",class:"relative min-h-[180px] mb-2","body-style":{padding:"18px 20px"}},{default:a(()=>[e.loading?(p(),r(k,{key:0})):(p(),$("div",te,[i("div",ae,[t(f,{icon:"fa-solid fa-cubes-stacked"})]),i("p",oe,l(e.$t("application.title.count")),1),i("p",le,l(e.individualApplicationsTotal),1),i("p",ie,l(e.$t("application.message.countDescription")),1)]))]),_:1})]),_:1}),e.globalApplications?.length>0?(p(),r(h,{key:0,md:12,xs:24},{default:a(()=>[t(v,{shadow:"hover",class:"relative min-h-[180px] mb-2","body-style":{padding:"18px 20px"}},{default:a(()=>[e.loading?(p(),r(k,{key:0})):(p(),$("div",ne,[i("div",se,[i("div",pe,[i("div",re,[t(f,{icon:"fa-solid fa-wallet"})]),i("span",de,[m(l(e.$t("application.field.id"))+": "+l(e.globalApplications?.[0]?.id)+" ",1),e.globalApplications?.[0]?.id?(p(),r(I,{key:0,content:e.globalApplications?.[0]?.id,class:"inline-block"},null,8,["content"])):b("",!0)])]),i("p",ce,l(e.$t("application.title.globalBalance")),1),i("p",ue,l(e.globalApplications?.[0]?.remaining_amount?.toFixed(6)||"0.000000")+" "+l(e.$t("service.unit.credits")),1),i("p",me,l(e.$t("application.message.globalBalanceDescription")),1)]),i("div",he,[t(y,{class:"!m-0 !px-2",size:"small",round:"",onClick:n[0]||(n[0]=o=>e.onGoUsage(e.globalApplications?.[0]))},{default:a(()=>[t(f,{icon:"fa-solid fa-chart-line",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.usage")),1)]),_:1}),t(y,{class:"!m-0 !px-2",type:"primary",round:"",size:"small",onClick:n[1]||(n[1]=o=>e.onBuyMore(e.globalApplications?.[0]))},{default:a(()=>[t(f,{icon:"fa-solid fa-coins",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.buyMore")),1)]),_:1})])]))]),_:1})]),_:1})):b("",!0)]),_:1}),t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[t(v,{shadow:"hover"},{default:a(()=>[W((p(),r(L,{data:e.individualApplications,stripe:"",class:"!min-h-[calc(100vh-420px)]","table-layout":"fixed","empty-text":e.$t("common.message.noData")},{default:a(()=>[t(c,{prop:"id",label:e.$t("application.field.id"),width:"200px","class-name":"text-center"},{default:a(o=>[i("span",null,l(o.row.id),1),i("span",fe,[t(I,{content:o?.row?.id,class:"inline-block"},null,8,["content"])])]),_:1},8,["label"]),t(c,{label:e.$t("application.field.type"),width:"90px"},{default:a(o=>[o.row?.type==="Period"?(p(),r(T,{key:0,type:"success",effect:"dark",round:""},{default:a(()=>[m(l(e.$t("application.type.period")),1)]),_:1})):o.row?.type==="Usage"?(p(),r(T,{key:1,effect:"dark",round:""},{default:a(()=>[m(l(e.$t("application.type.usage")),1)]),_:1})):b("",!0)]),_:1},8,["label"]),t(c,{label:e.$t("application.field.name"),width:"180px"},{default:a(o=>[i("span",null,l(o.row?.service?.title),1)]),_:1},8,["label"]),t(c,{prop:"remaining_amount",label:e.$t("application.field.remainingAmount"),width:"150px","class-name":"text-center"},{default:a(o=>[i("span",null,l(e.getRemainingAmount(o.row)),1)]),_:1},8,["label"]),t(c,{prop:"used_amount",label:e.$t("application.field.usedAmount"),width:"150px","class-name":"text-center"},{default:a(o=>[i("span",null,l(e.getUsedAmount(o.row)),1)]),_:1},8,["label"]),t(c,{prop:"allow_consume_global",label:e.$t("application.field.allowConsumeGlobal"),width:"120px","class-name":"text-center"},{default:a(o=>[o.row.service?.type===e.serviceType.API?(p(),r(D,{key:0,modelValue:o.row.allow_consume_global,"onUpdate:modelValue":_=>o.row.allow_consume_global=_,"active-value":!0,"inactive-value":!1,onChange:_=>e.updateAllowConsumeGlobal(o.row,_)},null,8,["modelValue","onUpdate:modelValue","onChange"])):b("",!0)]),_:1},8,["label"]),t(c,{label:e.$t("application.field.expiredAt"),width:"180px"},{default:a(o=>[o.row.expired_at?(p(),$("span",ge,l(e.$dayjs.format(o.row.expired_at)),1)):b("",!0)]),_:1},8,["label"]),t(c,{fixed:"right",width:"200px"},{default:a(o=>[i("div",_e,[t(y,{class:"!m-0 !px-2",size:"small",round:"",onClick:_=>e.onGoUsage(o?.row)},{default:a(()=>[t(f,{icon:"fa-solid fa-chart-line",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.usage")),1)]),_:2},1032,["onClick"]),t(y,{class:"!m-0 !px-2",type:"primary",round:"",size:"small",onClick:_=>e.onBuyMore(o?.row)},{default:a(()=>[t(f,{icon:"fa-solid fa-coins",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.buyMore")),1)]),_:2},1032,["onClick"])])]),_:1})]),_:1},8,["data","empty-text"])),[[U,e.loading]])]),_:1})]),_:1})]),_:1}),t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[i("div",be,[t(S,{"current-page":e.page,"page-size":e.limit,total:e.individualApplicationsTotal,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const xe=F(Z,[["render",ye],["__scopeId","data-v-8a5d3554"]]);export{xe as default};
@@ -1 +1 @@
1
- import{ak as S,ar as M,as as j,_ as N}from"./index-BkuLNx2-.js";import{I as v,a as z}from"./credential-CEfFFZzi.js";import{P as G}from"./Pagination-C3DyJji5.js";import{C as Z}from"./CopyToClipboard-D1FwD7Ay.js";import{F as K}from"./index.es-7RSklBi_.js";import{B as W,C as J,a as Q,L as X,b as tt,p as et,c as at,d as st}from"./vendor-chart-CZ0ow4AA.js";import{K as it,F as nt,D as ot,w as lt,x as rt,z as dt,A as pt,N as ut,O as ct,y as ht,P as gt,a as mt}from"./vendor-element-plus-B4FTqxj4.js";import{d as ft,J as u,K as s,T as i,ai as r,G as n,R as o,L as R,O as _,C as f,ag as C,S as D,aq as yt,Q as T,D as l,U as _t}from"./vendor-vue-1w_NBnjl.js";import"./vendor-web3-XrA95VRY.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";class $t{key="usage/apis";async getAll(e){return await S.get(`/${this.key}/`,{params:e})}async getAggregate(e){return await S.get(`/${this.key}/aggregate/`,{params:e})}async get(e){return await S.get(`/${this.key}/${e}`)}}const L=new $t;class bt{key="usage/proxies";async getAll(e){return await S.get(`/${this.key}/`,{params:e})}}const wt=new bt;J.register(Q,X,tt,et,at,st);const At=ft({name:"ConsoleUsageList",components:{Pagination:G,ElTag:mt,ElDatePicker:gt,ElTable:ht,ElSelect:ct,ElOption:ut,CopyToClipboard:Z,ElRow:pt,ElCol:dt,ElTableColumn:rt,ElCard:lt,ElRadioButton:ot,ElRadioGroup:nt,ElSkeleton:it,FontAwesomeIcon:K,BarChart:W},data(){return{applicationIds:this.$route.query.application_id?.toString()?this.$route.query.application_id?.toString().split(","):[],apiIds:this.$route.query.api_id?.toString()?this.$route.query.api_id?.toString().split(","):[],applications:[],credentialType:z,serviceType:v,apiUsages:[],proxyUsages:[],createdAtRange:(()=>{const t=this.$route.query.created_at_to?.toString(),e=this.$route.query.created_at_from?.toString();if(e&&t)return[new Date(e),new Date(t)];const y=new Date,c=new Date;return c.setDate(c.getDate()-30),[c,y]})(),shortcuts:[{text:this.$t("usage.shortcuts.today"),value:()=>{const t=new Date,e=new Date;return e.setHours(0,0,0,0),[e,t]}},{text:this.$t("usage.shortcuts.last1Day"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-1),[e,t]}},{text:this.$t("usage.shortcuts.last3Days"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-3),[e,t]}},{text:this.$t("usage.shortcuts.last7Days"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-7),[e,t]}},{text:this.$t("usage.shortcuts.last1Month"),value:()=>{const t=new Date,e=new Date;return e.setMonth(e.getMonth()-1),[e,t]}}],type:this.$route.query.type?.toString()||v.API,loading:!1,total:void 0,limit:15,totalUsed:0,barChartLabels:[],barChartSeries:[],aggLoading:!1}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")},apis(){return this.applications.filter(t=>this.applicationIds&&this.applicationIds.length?this.applicationIds.includes(t.id):!0).map(t=>t.service?.apis).flat()},totalUsedString(){return`${(this.totalUsed||0).toFixed(2)}`},barChartData(){return{labels:this.barChartLabels,datasets:this.barChartSeries.map(t=>({label:t.label,data:t.data,backgroundColor:t.color}))}},barChartOptions(){return{responsive:!0,plugins:{legend:{position:"top",onClick:(t,e,y)=>{const c=y?.chart;if(!c||e?.datasetIndex===void 0)return;const b=e.datasetIndex,$=c.data?.datasets||[];$.some((p,d)=>d!==b&&c.isDatasetVisible(d))?$.forEach((p,d)=>c.setDatasetVisibility(d,d===b)):$.forEach((p,d)=>c.setDatasetVisibility(d,!0)),c.update()}},title:{display:!0,text:this.$t("usage.title.usageTrend")}},scales:{x:{stacked:!0},y:{stacked:!0,beginAtZero:!0}}}}},watch:{page:{handler(){this.onFetchUsages()}},type:{handler(){this.applicationIds=[],this.apiIds=[],this.onApplicationsChange(this.applicationIds),this.onFetchApplications(),this.onFetchUsages(),this.onFetchAggregate()}}},mounted(){this.onFetchApplications(),this.onFetchUsages(),this.onFetchAggregate()},methods:{async onFetchUsages(){this.type===v.API?this.onFetchApiUsages():this.type===v.Proxy&&this.onFetchProxyUsages()},async onApiChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:t}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onApisChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:t&&t.length?t.join(","):""}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onTimeRangeChanged(){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,created_at_from:this.createdAtRange?this.$dayjs.format(this.createdAtRange[0].toString(),"YYYY-MM-DDTHH:mm:ss.SSSSSSZ"):"",created_at_to:this.createdAtRange?this.$dayjs.format(this.createdAtRange[1].toString(),"YYYY-MM-DDTHH:mm:ss.SSSSSSZ"):""}}),this.onFetchUsages(),this.onFetchAggregate()},async onApplicationChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:t}}),this.onFetchUsages(),this.onFetchAggregate()},async onApplicationsChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:t&&t.length?t.join(","):""}}),this.onFetchUsages(),this.onFetchAggregate()},onPageChange(t){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:t}})},getRemainingAmount(t){if(t.remaining_amount===void 0||t.remaining_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.remaining_amount?.toFixed(6)} ${e}`},getUsedAmount(t){if(t.used_amount===void 0||t.used_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.used_amount?.toFixed(6)} ${e}`},getDeductedAmount(t){if(t?.deducted_amount===void 0||t?.deducted_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.deducted_amount?.toFixed(6)} ${e}`},getOriginalAmount(t){if(t?.original_amount===void 0||t?.original_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.original_amount?.toFixed(6)} ${e}`},onFetchApplications(){M.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:"-created_at",type:j.USAGE}).then(({data:t})=>{this.applications=t.items.filter(e=>e?.service?.type?e.service.type===this.type:!0)}).catch(()=>{})},onFetchApiUsages(){this.loading=!0,L.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:"-created_at",...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{},...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{}}).then(({data:t})=>{this.apiUsages=t.items,this.loading=!1,this.total=t.count}).catch(()=>{this.loading=!1})},onFetchProxyUsages(){this.loading=!0,wt.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:"-created_at",...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{}}).then(({data:t})=>{this.proxyUsages=t.items,this.loading=!1,this.total=t.count}).catch(()=>{this.loading=!1})},async onFetchAggregate(){if(this.aggLoading=!0,this.type!==this.serviceType.API){this.aggLoading=!1;return}const t={user_id:this.$store.getters.user.id,...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{}};try{const{data:e}=await L.getAggregate(t);this.totalUsed=e.total||0;const y=Array.from(new Set((e.items||[]).map(h=>h.date))).sort(),c=Array.from(new Set((e.items||[]).map(h=>h.api_id))),b=h=>`hsl(${h*57%360}, 70%, 60%)`,$=c.map((h,p)=>{const d=e.apis?.[h]?.title||h,w={};(e.items||[]).filter(m=>m.api_id===h).forEach(m=>{w[m.date]=m.amount||0});const I=y.map(m=>w[m]||0);return{key:h,label:d,data:I,color:b(p)}});this.barChartLabels=y,this.barChartSeries=$}finally{this.aggLoading=!1}}}}),vt={class:"title"},Ct={class:"inline-block w-9"},Dt={class:"inline-block"},St={key:1,class:"summary-card"},It={class:"icon-wrapper"},kt={class:"text-left"},Ut={class:"description"},Ft={class:"value"},Rt={class:"chart-wrapper"},Tt={key:0},qt={key:1},Vt={class:"flex flex-wrap gap-2"},Pt={class:"key"},Et={key:0,class:"cursor-pointer"},Lt={class:"created-at"},Ot={class:"created-at"},xt={class:"float-right"};function Bt(t,e,y,c,b,$){const h=r("help-entry"),p=r("el-col"),d=r("el-row"),w=r("el-radio-button"),I=r("el-radio-group"),m=r("el-option"),q=r("el-select"),O=r("el-date-picker"),V=r("el-skeleton"),x=r("font-awesome-icon"),k=r("el-card"),B=r("bar-chart"),g=r("el-table-column"),U=r("el-tag"),Y=r("copy-to-clipboard"),P=r("el-table"),H=r("pagination"),E=yt("loading");return l(),u(d,{class:"panel"},{default:s(()=>[i(h,{class:"help"}),i(p,{span:24},{default:s(()=>[i(d,null,{default:s(()=>[i(p,{span:24},{default:s(()=>[n("h2",vt,o(t.$t("common.title.allUsages")),1)]),_:1})]),_:1}),i(d,null,{default:s(()=>[i(p,{md:4,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",null,o(t.$t("application.field.type")),1),i(I,{modelValue:t.type,"onUpdate:modelValue":e[0]||(e[0]=a=>t.type=a)},{default:s(()=>[i(w,{value:t.serviceType.API,label:t.$t("application.field.api")},null,8,["value","label"]),i(w,{value:t.serviceType.Proxy,label:t.$t("application.field.proxy")},null,8,["value","label"])]),_:1},8,["modelValue"])]),_:1}),R(i(p,{md:6,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",Ct,o(t.$t("usage.field.application")),1),i(q,{modelValue:t.applicationIds,"onUpdate:modelValue":e[1]||(e[1]=a=>t.applicationIds=a),placeholder:t.$t("usage.field.application"),clearable:"",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",class:"w-full",onChange:t.onApplicationsChange},{default:s(()=>[(l(!0),f(D,null,C(t.applications,a=>(l(),u(m,{key:a.id,label:a.service?.title,value:a?.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","onChange"])]),_:1},512),[[_t,!1]]),t.type===t.serviceType.API?(l(),u(p,{key:0,md:6,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",Dt,o(t.$t("usage.field.api")),1),i(q,{modelValue:t.apiIds,"onUpdate:modelValue":e[2]||(e[2]=a=>t.apiIds=a),placeholder:t.$t("usage.field.api"),clearable:"",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",class:"w-full",onChange:t.onApisChange},{default:s(()=>[(l(!0),f(D,null,C(t.apis,a=>(l(),u(m,{key:a?.id,label:a?.title,value:a?.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","onChange"])]),_:1})):_("",!0),t.type===t.serviceType.API?(l(),u(p,{key:1,md:8,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[i(O,{modelValue:t.createdAtRange,"onUpdate:modelValue":e[3]||(e[3]=a=>t.createdAtRange=a),type:"datetimerange",class:"w-full",shortcuts:t.shortcuts,"range-separator":t.$t("usage.placeholder.to"),"start-placeholder":t.$t("usage.placeholder.startDate"),"end-placeholder":t.$t("usage.placeholder.endDate"),onChange:t.onTimeRangeChanged},null,8,["modelValue","shortcuts","range-separator","start-placeholder","end-placeholder","onChange"])]),_:1})):_("",!0)]),_:1}),i(d,null,{default:s(()=>[i(p,{span:24},{default:s(()=>[t.type===t.serviceType.API?(l(),u(d,{key:0,gutter:15,class:"mb-4"},{default:s(()=>[i(p,{md:6,xs:24},{default:s(()=>[i(k,{shadow:"hover",class:"h-full"},{default:s(()=>[t.aggLoading?(l(),u(V,{key:0})):(l(),f("div",St,[n("div",It,[i(x,{icon:"fa-solid fa-cubes",class:"icon"})]),n("div",kt,[n("p",Ut,o(t.$t("usage.title.totalUsed")),1),n("p",Ft,o(t.totalUsedString),1)])]))]),_:1})]),_:1}),i(p,{md:18,xs:24},{default:s(()=>[i(k,{shadow:"hover",class:"h-full"},{default:s(()=>[n("div",Rt,[t.aggLoading?(l(),u(V,{key:0,class:"w-full"})):(l(),u(B,{key:1,data:t.barChartData,options:t.barChartOptions,class:"chart"},null,8,["data","options"]))])]),_:1})]),_:1})]),_:1})):_("",!0),i(k,{shadow:"hover"},{default:s(()=>[t.type===t.serviceType.API?R((l(),u(P,{key:0,data:t.apiUsages,stripe:"","table-layout":"fixed","empty-text":t.$t("common.message.noData"),class:"min-h-[calc(100vh-350px)] mb-[50px]"},{default:s(()=>[i(g,{label:t.$t("application.field.name"),width:"160px"},{default:s(a=>[n("span",null,o(a.row?.api?.title),1)]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.statusCode"),width:"120px"},{default:s(a=>[n("span",null,o(a.row.status_code),1)]),_:1},8,["label"]),i(g,{prop:"deducted_amount",label:t.$t("usage.field.deductedAmount"),width:"150px","class-name":"text-center"},{default:s(a=>[t.getDeductedAmount(a.row)===t.getOriginalAmount(a.row)?(l(),f("div",Tt,[n("span",null,o(t.getDeductedAmount(a.row)),1)])):(l(),f("div",qt,[e[4]||(e[4]=n("p",null,null,-1)),n("p",null,[n("span",null,o(t.getDeductedAmount(a.row)),1)]),n("p",null,[n("del",null,o(t.getOriginalAmount(a.row)),1)])]))]),_:1},8,["label"]),i(g,{prop:"metadata",label:t.$t("usage.field.metadata"),width:"260px","class-name":"text-center"},{default:s(a=>[n("div",Vt,[a.row.original_amount>a.row.deducted_amount&&a.row.original_amount>0?(l(),u(U,{key:0,type:"success",style:{textWrap:"wrap",height:"fit-content",lineHeight:"20px",borderRadius:"10px"}},{default:s(()=>[T(o(((a.row.original_amount-a.row.deducted_amount)*100/a.row.original_amount).toFixed(0)+"% OFF"),1)]),_:2},1024)):_("",!0),(l(!0),f(D,null,C(a.row.metadata,(F,A)=>(l(),u(U,{key:A,style:{textWrap:"wrap",height:"fit-content",lineHeight:"20px",borderRadius:"10px"}},{default:s(()=>[T(o(A)+": "+o(F),1)]),_:2},1024))),128))])]),_:1},8,["label"]),i(g,{prop:"trace_id",label:t.$t("application.field.traceId"),width:"200px","class-name":"text-center"},{default:s(a=>[n("span",Pt,o(a.row.trace_id),1),a.row.trace_id?(l(),f("span",Et,[i(Y,{content:a.row.trace_id,class:"inline-block"},null,8,["content"])])):_("",!0)]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.createdAt"),width:"200px"},{default:s(a=>[n("span",Lt,o(t.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"])]),_:1},8,["data","empty-text"])),[[E,t.loading]]):_("",!0),t.type===t.serviceType.Proxy?R((l(),u(P,{key:1,data:t.proxyUsages,stripe:"","table-layout":"fixed","empty-text":t.$t("common.message.noData"),class:"min-h-[calc(100vh-350px)] mb-[50px]"},{default:s(()=>[i(g,{label:t.$t("application.field.name"),width:"160px"},{default:s(a=>[n("span",null,o(a.row?.service?.title),1)]),_:1},8,["label"]),i(g,{prop:"remaining_amount",label:t.$t("usage.field.remainingAmount"),width:"160px","class-name":"text-center"},{default:s(a=>[n("span",null,o(t.getRemainingAmount(a.row)),1),n("span",null,o(t.getOriginalAmount(a.row)),1)]),_:1},8,["label"]),i(g,{prop:"deducted_amount",label:t.$t("usage.field.deductedAmount"),width:"150px","class-name":"text-center"},{default:s(a=>[n("span",null,o(t.getDeductedAmount(a.row)),1)]),_:1},8,["label"]),i(g,{prop:"metadata",label:t.$t("usage.field.metadata"),width:"200px","class-name":"text-center"},{default:s(a=>[(l(!0),f(D,null,C(a.row.metadata,(F,A)=>(l(),u(U,{key:A,class:"mb-2"},{default:s(()=>[T(o(A)+": "+o(F),1)]),_:2},1024))),128))]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.createdAt"),width:"200px"},{default:s(a=>[n("span",Ot,o(t.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"])]),_:1},8,["data","empty-text"])),[[E,t.loading]]):_("",!0)]),_:1})]),_:1})]),_:1}),i(d,null,{default:s(()=>[i(p,{span:10,offset:14},{default:s(()=>[n("div",xt,[i(H,{"current-page":t.page,"page-size":t.limit,total:t.total,onChange:t.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const Xt=N(At,[["render",Bt],["__scopeId","data-v-468b1d4d"]]);export{Xt as default};
1
+ import{ak as S,ar as M,as as j,_ as N}from"./index-BVFe6aDK.js";import{I as v,a as z}from"./credential-CEfFFZzi.js";import{P as G}from"./Pagination-BFovzqlH.js";import{C as Z}from"./CopyToClipboard-DufDnfYB.js";import{F as K}from"./index.es-Cy89kVNv.js";import{B as W,C as J,a as Q,L as X,b as tt,p as et,c as at,d as st}from"./vendor-chart-CZ0ow4AA.js";import{K as it,F as nt,D as ot,w as lt,x as rt,z as dt,A as pt,N as ut,O as ct,y as ht,P as gt,a as mt}from"./vendor-element-plus-B4FTqxj4.js";import{d as ft,J as u,K as s,T as i,ai as r,G as n,R as o,L as R,O as _,C as f,ag as C,S as D,aq as yt,Q as T,D as l,U as _t}from"./vendor-vue-1w_NBnjl.js";import"./vendor-web3-Bvupvt61.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";class $t{key="usage/apis";async getAll(e){return await S.get(`/${this.key}/`,{params:e})}async getAggregate(e){return await S.get(`/${this.key}/aggregate/`,{params:e})}async get(e){return await S.get(`/${this.key}/${e}`)}}const L=new $t;class bt{key="usage/proxies";async getAll(e){return await S.get(`/${this.key}/`,{params:e})}}const wt=new bt;J.register(Q,X,tt,et,at,st);const At=ft({name:"ConsoleUsageList",components:{Pagination:G,ElTag:mt,ElDatePicker:gt,ElTable:ht,ElSelect:ct,ElOption:ut,CopyToClipboard:Z,ElRow:pt,ElCol:dt,ElTableColumn:rt,ElCard:lt,ElRadioButton:ot,ElRadioGroup:nt,ElSkeleton:it,FontAwesomeIcon:K,BarChart:W},data(){return{applicationIds:this.$route.query.application_id?.toString()?this.$route.query.application_id?.toString().split(","):[],apiIds:this.$route.query.api_id?.toString()?this.$route.query.api_id?.toString().split(","):[],applications:[],credentialType:z,serviceType:v,apiUsages:[],proxyUsages:[],createdAtRange:(()=>{const t=this.$route.query.created_at_to?.toString(),e=this.$route.query.created_at_from?.toString();if(e&&t)return[new Date(e),new Date(t)];const y=new Date,c=new Date;return c.setDate(c.getDate()-30),[c,y]})(),shortcuts:[{text:this.$t("usage.shortcuts.today"),value:()=>{const t=new Date,e=new Date;return e.setHours(0,0,0,0),[e,t]}},{text:this.$t("usage.shortcuts.last1Day"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-1),[e,t]}},{text:this.$t("usage.shortcuts.last3Days"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-3),[e,t]}},{text:this.$t("usage.shortcuts.last7Days"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-7),[e,t]}},{text:this.$t("usage.shortcuts.last1Month"),value:()=>{const t=new Date,e=new Date;return e.setMonth(e.getMonth()-1),[e,t]}}],type:this.$route.query.type?.toString()||v.API,loading:!1,total:void 0,limit:15,totalUsed:0,barChartLabels:[],barChartSeries:[],aggLoading:!1}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")},apis(){return this.applications.filter(t=>this.applicationIds&&this.applicationIds.length?this.applicationIds.includes(t.id):!0).map(t=>t.service?.apis).flat()},totalUsedString(){return`${(this.totalUsed||0).toFixed(2)}`},barChartData(){return{labels:this.barChartLabels,datasets:this.barChartSeries.map(t=>({label:t.label,data:t.data,backgroundColor:t.color}))}},barChartOptions(){return{responsive:!0,plugins:{legend:{position:"top",onClick:(t,e,y)=>{const c=y?.chart;if(!c||e?.datasetIndex===void 0)return;const b=e.datasetIndex,$=c.data?.datasets||[];$.some((p,d)=>d!==b&&c.isDatasetVisible(d))?$.forEach((p,d)=>c.setDatasetVisibility(d,d===b)):$.forEach((p,d)=>c.setDatasetVisibility(d,!0)),c.update()}},title:{display:!0,text:this.$t("usage.title.usageTrend")}},scales:{x:{stacked:!0},y:{stacked:!0,beginAtZero:!0}}}}},watch:{page:{handler(){this.onFetchUsages()}},type:{handler(){this.applicationIds=[],this.apiIds=[],this.onApplicationsChange(this.applicationIds),this.onFetchApplications(),this.onFetchUsages(),this.onFetchAggregate()}}},mounted(){this.onFetchApplications(),this.onFetchUsages(),this.onFetchAggregate()},methods:{async onFetchUsages(){this.type===v.API?this.onFetchApiUsages():this.type===v.Proxy&&this.onFetchProxyUsages()},async onApiChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:t}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onApisChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:t&&t.length?t.join(","):""}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onTimeRangeChanged(){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,created_at_from:this.createdAtRange?this.$dayjs.format(this.createdAtRange[0].toString(),"YYYY-MM-DDTHH:mm:ss.SSSSSSZ"):"",created_at_to:this.createdAtRange?this.$dayjs.format(this.createdAtRange[1].toString(),"YYYY-MM-DDTHH:mm:ss.SSSSSSZ"):""}}),this.onFetchUsages(),this.onFetchAggregate()},async onApplicationChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:t}}),this.onFetchUsages(),this.onFetchAggregate()},async onApplicationsChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:t&&t.length?t.join(","):""}}),this.onFetchUsages(),this.onFetchAggregate()},onPageChange(t){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:t}})},getRemainingAmount(t){if(t.remaining_amount===void 0||t.remaining_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.remaining_amount?.toFixed(6)} ${e}`},getUsedAmount(t){if(t.used_amount===void 0||t.used_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.used_amount?.toFixed(6)} ${e}`},getDeductedAmount(t){if(t?.deducted_amount===void 0||t?.deducted_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.deducted_amount?.toFixed(6)} ${e}`},getOriginalAmount(t){if(t?.original_amount===void 0||t?.original_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.original_amount?.toFixed(6)} ${e}`},onFetchApplications(){M.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:"-created_at",type:j.USAGE}).then(({data:t})=>{this.applications=t.items.filter(e=>e?.service?.type?e.service.type===this.type:!0)}).catch(()=>{})},onFetchApiUsages(){this.loading=!0,L.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:"-created_at",...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{},...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{}}).then(({data:t})=>{this.apiUsages=t.items,this.loading=!1,this.total=t.count}).catch(()=>{this.loading=!1})},onFetchProxyUsages(){this.loading=!0,wt.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:"-created_at",...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{}}).then(({data:t})=>{this.proxyUsages=t.items,this.loading=!1,this.total=t.count}).catch(()=>{this.loading=!1})},async onFetchAggregate(){if(this.aggLoading=!0,this.type!==this.serviceType.API){this.aggLoading=!1;return}const t={user_id:this.$store.getters.user.id,...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{}};try{const{data:e}=await L.getAggregate(t);this.totalUsed=e.total||0;const y=Array.from(new Set((e.items||[]).map(h=>h.date))).sort(),c=Array.from(new Set((e.items||[]).map(h=>h.api_id))),b=h=>`hsl(${h*57%360}, 70%, 60%)`,$=c.map((h,p)=>{const d=e.apis?.[h]?.title||h,w={};(e.items||[]).filter(m=>m.api_id===h).forEach(m=>{w[m.date]=m.amount||0});const I=y.map(m=>w[m]||0);return{key:h,label:d,data:I,color:b(p)}});this.barChartLabels=y,this.barChartSeries=$}finally{this.aggLoading=!1}}}}),vt={class:"title"},Ct={class:"inline-block w-9"},Dt={class:"inline-block"},St={key:1,class:"summary-card"},It={class:"icon-wrapper"},kt={class:"text-left"},Ut={class:"description"},Ft={class:"value"},Rt={class:"chart-wrapper"},Tt={key:0},qt={key:1},Vt={class:"flex flex-wrap gap-2"},Pt={class:"key"},Et={key:0,class:"cursor-pointer"},Lt={class:"created-at"},Ot={class:"created-at"},xt={class:"float-right"};function Bt(t,e,y,c,b,$){const h=r("help-entry"),p=r("el-col"),d=r("el-row"),w=r("el-radio-button"),I=r("el-radio-group"),m=r("el-option"),q=r("el-select"),O=r("el-date-picker"),V=r("el-skeleton"),x=r("font-awesome-icon"),k=r("el-card"),B=r("bar-chart"),g=r("el-table-column"),U=r("el-tag"),Y=r("copy-to-clipboard"),P=r("el-table"),H=r("pagination"),E=yt("loading");return l(),u(d,{class:"panel"},{default:s(()=>[i(h,{class:"help"}),i(p,{span:24},{default:s(()=>[i(d,null,{default:s(()=>[i(p,{span:24},{default:s(()=>[n("h2",vt,o(t.$t("common.title.allUsages")),1)]),_:1})]),_:1}),i(d,null,{default:s(()=>[i(p,{md:4,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",null,o(t.$t("application.field.type")),1),i(I,{modelValue:t.type,"onUpdate:modelValue":e[0]||(e[0]=a=>t.type=a)},{default:s(()=>[i(w,{value:t.serviceType.API,label:t.$t("application.field.api")},null,8,["value","label"]),i(w,{value:t.serviceType.Proxy,label:t.$t("application.field.proxy")},null,8,["value","label"])]),_:1},8,["modelValue"])]),_:1}),R(i(p,{md:6,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",Ct,o(t.$t("usage.field.application")),1),i(q,{modelValue:t.applicationIds,"onUpdate:modelValue":e[1]||(e[1]=a=>t.applicationIds=a),placeholder:t.$t("usage.field.application"),clearable:"",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",class:"w-full",onChange:t.onApplicationsChange},{default:s(()=>[(l(!0),f(D,null,C(t.applications,a=>(l(),u(m,{key:a.id,label:a.service?.title,value:a?.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","onChange"])]),_:1},512),[[_t,!1]]),t.type===t.serviceType.API?(l(),u(p,{key:0,md:6,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",Dt,o(t.$t("usage.field.api")),1),i(q,{modelValue:t.apiIds,"onUpdate:modelValue":e[2]||(e[2]=a=>t.apiIds=a),placeholder:t.$t("usage.field.api"),clearable:"",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",class:"w-full",onChange:t.onApisChange},{default:s(()=>[(l(!0),f(D,null,C(t.apis,a=>(l(),u(m,{key:a?.id,label:a?.title,value:a?.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","onChange"])]),_:1})):_("",!0),t.type===t.serviceType.API?(l(),u(p,{key:1,md:8,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[i(O,{modelValue:t.createdAtRange,"onUpdate:modelValue":e[3]||(e[3]=a=>t.createdAtRange=a),type:"datetimerange",class:"w-full",shortcuts:t.shortcuts,"range-separator":t.$t("usage.placeholder.to"),"start-placeholder":t.$t("usage.placeholder.startDate"),"end-placeholder":t.$t("usage.placeholder.endDate"),onChange:t.onTimeRangeChanged},null,8,["modelValue","shortcuts","range-separator","start-placeholder","end-placeholder","onChange"])]),_:1})):_("",!0)]),_:1}),i(d,null,{default:s(()=>[i(p,{span:24},{default:s(()=>[t.type===t.serviceType.API?(l(),u(d,{key:0,gutter:15,class:"mb-4"},{default:s(()=>[i(p,{md:6,xs:24},{default:s(()=>[i(k,{shadow:"hover",class:"h-full"},{default:s(()=>[t.aggLoading?(l(),u(V,{key:0})):(l(),f("div",St,[n("div",It,[i(x,{icon:"fa-solid fa-cubes",class:"icon"})]),n("div",kt,[n("p",Ut,o(t.$t("usage.title.totalUsed")),1),n("p",Ft,o(t.totalUsedString),1)])]))]),_:1})]),_:1}),i(p,{md:18,xs:24},{default:s(()=>[i(k,{shadow:"hover",class:"h-full"},{default:s(()=>[n("div",Rt,[t.aggLoading?(l(),u(V,{key:0,class:"w-full"})):(l(),u(B,{key:1,data:t.barChartData,options:t.barChartOptions,class:"chart"},null,8,["data","options"]))])]),_:1})]),_:1})]),_:1})):_("",!0),i(k,{shadow:"hover"},{default:s(()=>[t.type===t.serviceType.API?R((l(),u(P,{key:0,data:t.apiUsages,stripe:"","table-layout":"fixed","empty-text":t.$t("common.message.noData"),class:"min-h-[calc(100vh-350px)] mb-[50px]"},{default:s(()=>[i(g,{label:t.$t("application.field.name"),width:"160px"},{default:s(a=>[n("span",null,o(a.row?.api?.title),1)]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.statusCode"),width:"120px"},{default:s(a=>[n("span",null,o(a.row.status_code),1)]),_:1},8,["label"]),i(g,{prop:"deducted_amount",label:t.$t("usage.field.deductedAmount"),width:"150px","class-name":"text-center"},{default:s(a=>[t.getDeductedAmount(a.row)===t.getOriginalAmount(a.row)?(l(),f("div",Tt,[n("span",null,o(t.getDeductedAmount(a.row)),1)])):(l(),f("div",qt,[e[4]||(e[4]=n("p",null,null,-1)),n("p",null,[n("span",null,o(t.getDeductedAmount(a.row)),1)]),n("p",null,[n("del",null,o(t.getOriginalAmount(a.row)),1)])]))]),_:1},8,["label"]),i(g,{prop:"metadata",label:t.$t("usage.field.metadata"),width:"260px","class-name":"text-center"},{default:s(a=>[n("div",Vt,[a.row.original_amount>a.row.deducted_amount&&a.row.original_amount>0?(l(),u(U,{key:0,type:"success",style:{textWrap:"wrap",height:"fit-content",lineHeight:"20px",borderRadius:"10px"}},{default:s(()=>[T(o(((a.row.original_amount-a.row.deducted_amount)*100/a.row.original_amount).toFixed(0)+"% OFF"),1)]),_:2},1024)):_("",!0),(l(!0),f(D,null,C(a.row.metadata,(F,A)=>(l(),u(U,{key:A,style:{textWrap:"wrap",height:"fit-content",lineHeight:"20px",borderRadius:"10px"}},{default:s(()=>[T(o(A)+": "+o(F),1)]),_:2},1024))),128))])]),_:1},8,["label"]),i(g,{prop:"trace_id",label:t.$t("application.field.traceId"),width:"200px","class-name":"text-center"},{default:s(a=>[n("span",Pt,o(a.row.trace_id),1),a.row.trace_id?(l(),f("span",Et,[i(Y,{content:a.row.trace_id,class:"inline-block"},null,8,["content"])])):_("",!0)]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.createdAt"),width:"200px"},{default:s(a=>[n("span",Lt,o(t.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"])]),_:1},8,["data","empty-text"])),[[E,t.loading]]):_("",!0),t.type===t.serviceType.Proxy?R((l(),u(P,{key:1,data:t.proxyUsages,stripe:"","table-layout":"fixed","empty-text":t.$t("common.message.noData"),class:"min-h-[calc(100vh-350px)] mb-[50px]"},{default:s(()=>[i(g,{label:t.$t("application.field.name"),width:"160px"},{default:s(a=>[n("span",null,o(a.row?.service?.title),1)]),_:1},8,["label"]),i(g,{prop:"remaining_amount",label:t.$t("usage.field.remainingAmount"),width:"160px","class-name":"text-center"},{default:s(a=>[n("span",null,o(t.getRemainingAmount(a.row)),1),n("span",null,o(t.getOriginalAmount(a.row)),1)]),_:1},8,["label"]),i(g,{prop:"deducted_amount",label:t.$t("usage.field.deductedAmount"),width:"150px","class-name":"text-center"},{default:s(a=>[n("span",null,o(t.getDeductedAmount(a.row)),1)]),_:1},8,["label"]),i(g,{prop:"metadata",label:t.$t("usage.field.metadata"),width:"200px","class-name":"text-center"},{default:s(a=>[(l(!0),f(D,null,C(a.row.metadata,(F,A)=>(l(),u(U,{key:A,class:"mb-2"},{default:s(()=>[T(o(A)+": "+o(F),1)]),_:2},1024))),128))]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.createdAt"),width:"200px"},{default:s(a=>[n("span",Ot,o(t.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"])]),_:1},8,["data","empty-text"])),[[E,t.loading]]):_("",!0)]),_:1})]),_:1})]),_:1}),i(d,null,{default:s(()=>[i(p,{span:10,offset:14},{default:s(()=>[n("div",xt,[i(H,{"current-page":t.page,"page-size":t.limit,total:t.total,onChange:t.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const Xt=N(At,[["render",Bt],["__scopeId","data-v-468b1d4d"]]);export{Xt as default};
@@ -1 +1 @@
1
- import{N}from"./Navigator-BKT2mxOy.js";import{A as E}from"./Status-HltKSvqh.js";import{aq as u,as as m,aj as k,_ as v,ar as x,ax as D,ay as C}from"./index-BkuLNx2-.js";import{l as I,Q as U,o as z,E as V,u as y}from"./vendor-element-plus-B4FTqxj4.js";import{d as _,J as w,K as A,G as c,T as r,R as h,ai as o,Q as B,D as $,c as L,C as O,O as P}from"./vendor-vue-1w_NBnjl.js";import"./index.es-7RSklBi_.js";import"./avatar-DX-DNBWM.js";import"./EditArray-DaBF2vWk.js";import"./CopyToClipboard-D1FwD7Ay.js";import"./vendor-web3-XrA95VRY.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";function S(e){if(!e?.expired_at)return!1;try{return new Date(e?.expired_at)<new Date}catch{return!1}}function G(e){return console.debug("application remaining amount",e,e?.remaining_amount),e?.remaining_amount&&e?.remaining_amount<0}function d(e){if(!e)return console.debug("application is undefined, return false"),!1;const t=G(e),a=S(e);return console.debug("is application exhausted",t),console.debug("is application expired",a),!t&&!a}function R(e,t){if(console.debug("start to execute getFinalApplication",e,t),t&&d(t)&&e?.some(i=>i.id===t.id))return console.debug("current application is usable",t),t;console.debug("get final application from applications",e);const a=e?.find(i=>i.scope===u.GLOBAL&&i.type===m.PERIOD);if(console.debug("application1",a),d(a))return console.debug("application with global scope and Period type",a),a;const s=e?.find(i=>i.scope===u.GLOBAL&&i.type===m.USAGE);if(console.debug("application2",s),d(s))return console.debug("application with global scope and Usage type",s),s;const n=e?.find(i=>(i.scope===u.INDIVIDUAL&&i?.type)===m.PERIOD);if(console.debug("application3",n),d(n))return console.debug("application with Period type",n),n;const p=e?.find(i=>(i.scope===u.INDIVIDUAL&&i?.type)===m.USAGE);return console.debug("application4",p),d(p)?(console.debug("application with Usage type",p),p):a||s||n||p}const F=_({name:"ApplicationConfirm",components:{ElDialog:V,ElDivider:z,ElCheckbox:U,ElButton:I},props:{visible:{type:Boolean,required:!1,default:!1}},emits:["update:visible","apply"],data(){return{checked:!0}},watch:{},methods:{getBaseUrlPlatform:k,onApply(){if(!this.checked){y.error(this.$t("application.message.notAgreePolicy"));return}this.$emit("apply")}}}),M={class:"content py-[10px] px-[40px]"},T={class:"my-4"},q={class:"policy mb-[10px]"},Q={class:"policy-title text-[12px] relative -bottom-[3px]"},W=["href"];function j(e,t,a,s,n,p){const i=o("el-divider"),g=o("el-checkbox"),f=o("el-button"),b=o("el-dialog");return $(),w(b,{"model-value":e.visible,width:"500px",title:e.$t("application.message.welcome"),center:"",onClose:t[1]||(t[1]=l=>e.$emit("update:visible",!1))},{default:A(()=>[c("div",M,[c("p",T,h(e.$t("application.message.notApplied")),1),r(i,{class:"my-2"}),c("div",q,[r(g,{modelValue:e.checked,"onUpdate:modelValue":t[0]||(t[0]=l=>e.checked=l),size:"large",class:"policy-checkbox mr-[10px]"},null,8,["modelValue"]),c("span",Q,h(e.$t("application.message.readPolicy")),1),c("a",{class:"policy-title text-[12px] relative -bottom-[3px] text-[var(--el-color-primary)] cursor-pointer no-underline",target:"_blank",href:e.getBaseUrlPlatform()+"/terms"},"  "+h(e.$t("application.message.policy")),9,W)]),r(f,{round:"",type:"primary",onClick:e.onApply},{default:A(()=>[B(h(e.$t("common.button.start")),1)]),_:1},8,["onClick"])])]),_:1},8,["model-value","title"])}const J=v(F,[["render",j]]),K=_({name:"LayoutMain",components:{Navigator:N,ApplicationStatus:E,ApplicationConfirm:J},provide(){return{initialized:L(()=>this.initialized)}},data(){return{initialized:!1,applying:!1,mobile:window.innerWidth<768}},computed:{appName(){return this.$route.meta.appName},application(){return this.$store.state[this.appName]?.application},applications(){const e=this.$store.state[this.appName]?.applications??[];console.debug("individualApplications",e);const t=this.$store.state.applications??[];return console.debug("globalApplications",t),t.concat(e)},loading(){return this.$store.state[this.appName]?.status?.getApplications===C.Request},service(){return this.$store.state[this.appName]?.service}},watch:{appName(){this.initialize()}},mounted(){this.initialize(),window.addEventListener("resize",()=>{this.mobile=window.innerWidth<768})},methods:{async initialize(){this.initialized=!1,console.debug("Fetching all individual and global applications for",this.appName),Promise.all([this.$store.dispatch("getApplications"),this.$store.dispatch(`${this.appName}/getApplications`)]).finally(async()=>{console.debug("Fetched all applications",this.applications),this.$store.state.applications?.length===0&&(this.applying=!0);const e=this.$store.state[this.appName]?.application;console.debug("current application",e);const t=R(this.applications,e);console.debug("final application",t),t&&(console.debug("set final application",t,t?.type),await this.$store.dispatch(`${this.appName}/setApplication`,t)),console.debug("finished initialization"),this.initialized=!0})},onApply(){x.create({type:m.USAGE,scope:u.GLOBAL,user_id:this.$store.getters.user.id}).then(()=>{y.success(this.$t("application.message.applySuccessfully")),this.initialize(),this.applying=!1}).catch(e=>{e?.response?.data?.code===D&&y.error(this.$t("application.message.alreadyApplied"))})}}}),H={class:"wrapper"};function X(e,t,a,s,n,p){const i=o("router-view"),g=o("navigator"),f=o("application-status"),b=o("application-confirm");return $(),O("div",H,[r(i,{class:"main"}),r(g,{class:"navigator",direction:e.mobile?"row":"column"},null,8,["direction"]),e.application?($(),w(f,{key:0,class:"fixed right-2 top-2",application:e.application,applications:e.applications,"show-price":!1,authenticated:!!e.$store.state.token.access,service:e.service,onSelect:t[0]||(t[0]=l=>e.$store.dispatch(`${e.appName}/setApplication`,l))},null,8,["application","applications","authenticated","service"])):P("",!0),r(b,{modelValue:e.applying,"onUpdate:modelValue":t[1]||(t[1]=l=>e.applying=l),modelModifiers:{visible:!0},onApply:e.onApply},null,8,["modelValue","onApply"])])}const de=v(K,[["render",X],["__scopeId","data-v-7ce2f746"]]);export{de as default};
1
+ import{N}from"./Navigator-DPeE1Aqj.js";import{A as E}from"./Status-Dz2uYx_Z.js";import{aq as u,as as m,aj as k,_ as v,ar as x,ax as D,ay as C}from"./index-BVFe6aDK.js";import{l as I,Q as U,o as z,E as V,u as y}from"./vendor-element-plus-B4FTqxj4.js";import{d as _,J as w,K as A,G as c,T as r,R as h,ai as o,Q as B,D as $,c as L,C as O,O as P}from"./vendor-vue-1w_NBnjl.js";import"./index.es-Cy89kVNv.js";import"./avatar-CQrEVxe9.js";import"./EditArray-C8hm_SxB.js";import"./CopyToClipboard-DufDnfYB.js";import"./vendor-web3-Bvupvt61.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-Dj5bcX0v.js";function S(e){if(!e?.expired_at)return!1;try{return new Date(e?.expired_at)<new Date}catch{return!1}}function G(e){return console.debug("application remaining amount",e,e?.remaining_amount),e?.remaining_amount&&e?.remaining_amount<0}function d(e){if(!e)return console.debug("application is undefined, return false"),!1;const t=G(e),a=S(e);return console.debug("is application exhausted",t),console.debug("is application expired",a),!t&&!a}function R(e,t){if(console.debug("start to execute getFinalApplication",e,t),t&&d(t)&&e?.some(i=>i.id===t.id))return console.debug("current application is usable",t),t;console.debug("get final application from applications",e);const a=e?.find(i=>i.scope===u.GLOBAL&&i.type===m.PERIOD);if(console.debug("application1",a),d(a))return console.debug("application with global scope and Period type",a),a;const s=e?.find(i=>i.scope===u.GLOBAL&&i.type===m.USAGE);if(console.debug("application2",s),d(s))return console.debug("application with global scope and Usage type",s),s;const n=e?.find(i=>(i.scope===u.INDIVIDUAL&&i?.type)===m.PERIOD);if(console.debug("application3",n),d(n))return console.debug("application with Period type",n),n;const p=e?.find(i=>(i.scope===u.INDIVIDUAL&&i?.type)===m.USAGE);return console.debug("application4",p),d(p)?(console.debug("application with Usage type",p),p):a||s||n||p}const F=_({name:"ApplicationConfirm",components:{ElDialog:V,ElDivider:z,ElCheckbox:U,ElButton:I},props:{visible:{type:Boolean,required:!1,default:!1}},emits:["update:visible","apply"],data(){return{checked:!0}},watch:{},methods:{getBaseUrlPlatform:k,onApply(){if(!this.checked){y.error(this.$t("application.message.notAgreePolicy"));return}this.$emit("apply")}}}),M={class:"content py-[10px] px-[40px]"},T={class:"my-4"},q={class:"policy mb-[10px]"},Q={class:"policy-title text-[12px] relative -bottom-[3px]"},W=["href"];function j(e,t,a,s,n,p){const i=o("el-divider"),g=o("el-checkbox"),f=o("el-button"),b=o("el-dialog");return $(),w(b,{"model-value":e.visible,width:"500px",title:e.$t("application.message.welcome"),center:"",onClose:t[1]||(t[1]=l=>e.$emit("update:visible",!1))},{default:A(()=>[c("div",M,[c("p",T,h(e.$t("application.message.notApplied")),1),r(i,{class:"my-2"}),c("div",q,[r(g,{modelValue:e.checked,"onUpdate:modelValue":t[0]||(t[0]=l=>e.checked=l),size:"large",class:"policy-checkbox mr-[10px]"},null,8,["modelValue"]),c("span",Q,h(e.$t("application.message.readPolicy")),1),c("a",{class:"policy-title text-[12px] relative -bottom-[3px] text-[var(--el-color-primary)] cursor-pointer no-underline",target:"_blank",href:e.getBaseUrlPlatform()+"/terms"},"  "+h(e.$t("application.message.policy")),9,W)]),r(f,{round:"",type:"primary",onClick:e.onApply},{default:A(()=>[B(h(e.$t("common.button.start")),1)]),_:1},8,["onClick"])])]),_:1},8,["model-value","title"])}const J=v(F,[["render",j]]),K=_({name:"LayoutMain",components:{Navigator:N,ApplicationStatus:E,ApplicationConfirm:J},provide(){return{initialized:L(()=>this.initialized)}},data(){return{initialized:!1,applying:!1,mobile:window.innerWidth<768}},computed:{appName(){return this.$route.meta.appName},application(){return this.$store.state[this.appName]?.application},applications(){const e=this.$store.state[this.appName]?.applications??[];console.debug("individualApplications",e);const t=this.$store.state.applications??[];return console.debug("globalApplications",t),t.concat(e)},loading(){return this.$store.state[this.appName]?.status?.getApplications===C.Request},service(){return this.$store.state[this.appName]?.service}},watch:{appName(){this.initialize()}},mounted(){this.initialize(),window.addEventListener("resize",()=>{this.mobile=window.innerWidth<768})},methods:{async initialize(){this.initialized=!1,console.debug("Fetching all individual and global applications for",this.appName),Promise.all([this.$store.dispatch("getApplications"),this.$store.dispatch(`${this.appName}/getApplications`)]).finally(async()=>{console.debug("Fetched all applications",this.applications),this.$store.state.applications?.length===0&&(this.applying=!0);const e=this.$store.state[this.appName]?.application;console.debug("current application",e);const t=R(this.applications,e);console.debug("final application",t),t&&(console.debug("set final application",t,t?.type),await this.$store.dispatch(`${this.appName}/setApplication`,t)),console.debug("finished initialization"),this.initialized=!0})},onApply(){x.create({type:m.USAGE,scope:u.GLOBAL,user_id:this.$store.getters.user.id}).then(()=>{y.success(this.$t("application.message.applySuccessfully")),this.initialize(),this.applying=!1}).catch(e=>{e?.response?.data?.code===D&&y.error(this.$t("application.message.alreadyApplied"))})}}}),H={class:"wrapper"};function X(e,t,a,s,n,p){const i=o("router-view"),g=o("navigator"),f=o("application-status"),b=o("application-confirm");return $(),O("div",H,[r(i,{class:"main"}),r(g,{class:"navigator",direction:e.mobile?"row":"column"},null,8,["direction"]),e.application?($(),w(f,{key:0,class:"fixed right-2 top-2",application:e.application,applications:e.applications,"show-price":!1,authenticated:!!e.$store.state.token.access,service:e.service,onSelect:t[0]||(t[0]=l=>e.$store.dispatch(`${e.appName}/setApplication`,l))},null,8,["application","applications","authenticated","service"])):P("",!0),r(b,{modelValue:e.applying,"onUpdate:modelValue":t[1]||(t[1]=l=>e.applying=l),modelModifiers:{visible:!0},onApply:e.onApply},null,8,["modelValue","onApply"])])}const de=v(K,[["render",X],["__scopeId","data-v-7ce2f746"]]);export{de as default};