Viewing File: /usr/local/cpanel/base/frontend/jupiter/koality/_nuxt/QtBpyBbb.js

import{_ as ce}from"./CMk4p11g.js";import{_ as le}from"./DPX3lXZf.js";import{d as E,N as ue,a4 as pe,u as de,a1 as me,R as _e,a5 as fe,v as ge,g as ve,i as he,M as G,I as ke,Q as q,J as be,k as t,o as r,c as _,w as i,e as h,a as m,z as ye,p as d,q as Se,n as F,l as x,t as a,b as p,D as xe,B as Ce,_ as $e,s as z,A as M,ay as Pe,f as Ne}from"./EJiqiqZX.js";import{_ as Ae}from"./EjhM9UWu.js";import{_ as je}from"./BiEw5mdv.js";import{_ as De}from"./Bd9WPADb.js";import{_ as Ue}from"./gjzm6RoO.js";import{_ as we}from"./b6minSIt.js";import{_ as Be}from"./COaTHx-9.js";import{P as R}from"./DDA-LZjt.js";import{g as Te}from"./DXZJ1HPP.js";import{c as Ve}from"./BonserMD.js";import"./nktVwxwq.js";import"./BdHYZYxo.js";import"./CC92fphK.js";import"./Cqd5VgjX.js";import"./NwK2Pm4d.js";import"./B3XbUJXz.js";import"./CSwwpV8A.js";import"./CB5_IlOE.js";import"./88opOQSr.js";import"./iLxCpTU2.js";const Fe={key:0,class:"flex items-center justify-between o_gap-3 o_px-4 o_py-3 border-b border-uiBorder-subtle flex-wrap"},ze={class:"font-medium text-sm truncate","data-testid":"subscription-project-name"},Me={class:"text-xs text-uiText-toned truncate","data-testid":"subscription-project-link-domain"},Le={key:1,"data-testid":"subscription-project-name"},He={class:"flex items-center text-uiText"},Ie={class:"o_p-4 max-w-sm"},Ke={key:0,class:"flex flex-col gap-2"},Re={key:1,class:"flex gap-x-2 w-full justify-between items-center"},Ee={class:"flex gap-x-2 items-center"},Ge={class:"flex flex-col"},qe={class:"font-bold truncate"},Je={class:"truncate text-sm"},Qe={key:1},We=E({__name:"ManageSubscription",setup(J){const{kapi:C}=ue(),{addTimeToProcessedData:$,setCachedData:P}=pe(),N=de(),{generateLink:L,levels:A}=me(),j=_e(),{data:D,refresh:U,error:H,status:I}=fe("userSettings",async()=>await C("Subscription").then(e=>e.getUserSubscriptions()),{transform:e=>$(e),getCachedData:(e,n,o)=>{if(!(o.cause==="refresh:manual"||o.cause==="refresh:hook"))return P(e)}}),v=ge(),{getBaseSkuName:w}=ve(),B=z(()=>{if(!D.value?.subscriptions?.length&&!v.allSystems)return[];const e=[];if(v.allSystems){const o=v.allSystems.filter(u=>w(u.sku)==="lite").map(u=>({pid:u.pid,sid:u.sid,domain:u.domain,name:u.name,sku:u.sku,skuName:u.skuName}));e.push(...o)}return(D.value?.subscriptions||[]).forEach(o=>{const f=(o.items?.[0]||{}).product||{},g=o.project||{},y=g.systems?.[0]||{},V={pid:g.id,sid:y.id,domain:y.domain,name:g.name,sku:f.identifier,skuName:w(f.identifier),stripe:{id:o.id,cancel_at:o.cancel_at,created_at:o.created_at,current_period_ends_at:o.current_period_ends_at,current_period_started_at:o.current_period_started_at,upcoming_invoice:o.upcoming_invoice,price:f.price},project:g};e.push(V)}),e});he(()=>v.allSystems,()=>{U()},{deep:!0});const Q=G(),W=ke(),l=M(),K=q(),Y=(e,n)=>{v.setPidAndSidWithSelector(e,n),setTimeout(()=>{Q.push(L(A.project))},500)},X=e=>Ve(new Date(Date.now()),new Date(e)),T=z(()=>D.value?.subscriptions?.length>0),{t:c}=be(),Z=[{accessorKey:"name",header:c("Project")},{accessorKey:"sku",header:c("Sku")},{accessorKey:"price",header:c("Price")},{accessorKey:"actions",header:c("Actions")}],k=M(""),O=z(()=>k.value?B.value.filter(e=>Object.values(e).some(n=>String(n).toLowerCase().includes(k.value.toLowerCase()))):B.value),ee=e=>{N.setActiveSlideover("showAddNewProject")},te=e=>{if(v.renameSku(e.sku)==="lite")return c("Free");if(e.stripe?.cancel_at&&e.stripe?.current_period_ends_at){const n=X(e.stripe.current_period_ends_at);return n.value<=0?c("CanceledSubscription"):c("remainingDays",{time:n.value,unit:n.unit})}if(e.stripe?.upcoming_invoice){const n=Te(e.stripe.upcoming_invoice||e.stripe.latest_invoice);return(n.currencyFirst?n.currency+""+n.value:n.value+" "+n.currency)+" / "+e.stripe.price.recurring_interval}return""},b=M({}),se=e=>{l.value=e;const n=e.stripe?.id||"";n&&!b.value[n]&&(b.value[n]=!0)},ne=Pe(async()=>{try{await C("Subscription").then(e=>e.cancelSubscription(l.value.stripe.id)),U(),b.value[l.value.stripe.id]=!1,l.value=null,K.add({title:c("subscriptionActions.canceled.title"),description:c("subscriptionActions.canceled.description"),color:"success"})}catch(e){K.add({title:c("errorOccured"),description:e.message,color:"error"})}},1e3);return(e,n)=>{const o=le,u=Ce,f=Se,g=Ae,y=je,V=De,oe=Ue,ie=we,re=Be,ae=$e;return t(j).applicationInitiated&&t(I)==="success"?(r(),_(g,{key:0,class:"o_overflow-hidden max-w-screen-2xl",variant:"subtle",ui:{header:"border-b-0",body:"border-b-0"}},{default:i(()=>[t(T)&&t(B).length>5?(r(),h("div",Fe,[m(o,{modelValue:t(k),"onUpdate:modelValue":n[0]||(n[0]=s=>ye(k)?k.value=s:null),placeholder:"Filter subscriptions..."},null,8,["modelValue"])])):d("",!0),t(T)?(r(),_(oe,{key:1,"data-testid":"subscription-table",data:t(O),columns:Z,loading:t(I)==="pending","loading-text":t(c)("loadingSubscriptions"),empty:t(c)("noSubscriptions"),"loading-color":"success","loading-animation":"carousel",ui:{th:"border-t border-uiBorder-subtle",td:"o_py-6"}},{"name-cell":i(({row:s})=>[s.original.name||s.original.project&&s.original.project.name?(r(),_(u,{key:0,class:"flex flex-col o_gap-0.5 hover:underline hover:cursor-pointer",onClick:S=>Y(s.original.pid,s.original.sid)},{default:i(()=>[p("span",ze,a(s.original.name),1),p("span",Me,a(s.original.domain),1)]),_:2},1032,["onClick"])):(r(),h("span",Le,a(e.$t("NoProjectAttached")),1))]),"sku-cell":i(({row:s})=>[s.original.sku?(r(),_(R,{key:0,"sku-name":s.original.skuName,"owner-project":s.original},null,8,["sku-name","owner-project"])):d("",!0)]),"price-cell":i(({row:s})=>[p("div",He,a(te(s.original)),1)]),"actions-cell":i(({row:s})=>[m(y,null,{default:i(()=>[!(s.original.project&&s.original.project.id)&&!s.original.pid?(r(),_(f,{key:0,size:"lg",variant:"subtle","trailing-icon":t(F).icoMonitor,onClick:S=>ee(s.original)},{default:i(()=>[x(a(e.$t("addNewMainProject")),1)]),_:1},8,["trailing-icon","onClick"])):d("",!0),m(V,{open:t(b)[s.original.stripe?.id||""],"onUpdate:open":S=>t(b)[s.original.stripe?.id||""]=S,arrow:"",content:{align:"end",side:"bottom"}},{content:i(()=>[p("div",Ie,[p("p",null,a(e.$t("CancelSubscriptionBody")),1),m(g,{class:"o_p-4 o_my-4",ui:{body:"border-b-0"}},{default:i(()=>[t(l)?.pid?d("",!0):(r(),h("div",Ke,[p("p",null,a(e.$t("NoProjectAttachedText")),1)])),t(l)?.pid?(r(),h("div",Re,[p("div",Ee,[p("div",{class:xe(["rounded-full o_h-16 o_w-2",t(W).getStatusColor(t(l).pid||0)])},null,2),p("p",Ge,[p("span",qe,a(t(l).name),1),p("span",Je,a(t(l).domain),1)])]),m(R,{class:"border-l border-uiBorder-subtle o_pl-4","sku-name":t(w)(t(l).sku)},null,8,["sku-name"])])):d("",!0)]),_:1}),m(y,{class:"w-full justify-end"},{default:i(()=>[t(l)?.pid?d("",!0):(r(),_(f,{key:0,size:"lg",variant:"outline",onClick:n[1]||(n[1]=S=>t(N).setActiveSlideover("showAddNewProject"))},{default:i(()=>[x(a(e.$t("addNewMainProject")),1)]),_:1})),m(f,{size:"lg",color:"error",onClick:t(ne)},{default:i(()=>[x(a(e.$t("CancelSubscription")),1)]),_:1},8,["onClick"])]),_:1})])]),default:i(()=>[s.original.sku!=="lite"&&s.original.stripe&&!s.original.stripe.cancel_at?(r(),_(f,{key:0,size:"lg",color:"error",variant:"subtle","trailing-icon":t(F).icoTrash,onClick:S=>se(s.original)},{default:i(()=>[x(a(e.$t("Cancel")),1)]),_:1},8,["trailing-icon","onClick"])):d("",!0)]),_:2},1032,["open","onUpdate:open"])]),_:2},1024)]),_:1},8,["data","loading","loading-text","empty"])):d("",!0),t(T)?d("",!0):(r(),_(ie,{key:2,variant:"outline",color:"info",class:"text-left o_px-4 o_py-2",description:e.$t("noSubscriptions")},null,8,["description"])),t(H)?(r(),_(re,{key:3,error:t(H),refresh:t(U)},null,8,["error","refresh"])):d("",!0)]),_:1})):(r(),h("div",Qe,[m(ae,{name:t(F).icoLoadingSpinner,class:"size-4"},null,8,["name"]),x(" "+a(e.$t("loadingSubscriptions")),1)]))}}}),Ye=Object.assign(We,{__name:"ManageSubscription"}),kt=E({__name:"customerSubscriptions",setup(J){const{policyGuard:C}=Ne(),$=q(),P=G();return C("usermenu.subscriptionEntry",{trackingContext:{components:"CustomerSubscriptions"}})||($.add({title:"Not allowed",description:"You are not allowed to view this page",color:"error"}),P.push("/")),(N,L)=>{const A=ce,j=Ye;return r(),h("div",null,[m(A,{"page-key":"pSubscriptions"}),m(j)])}}});export{kt as default};
Back to Directory File Manager