1import{_ as X}from"./LayoutColumn.vue_vue_type_script_setup_true_lang-Clv1bHqK.js";import{_ as q}from"./OhAlert.vue-Og6d4iPZ.js";import{_ as Q}from"./OhButton.vue-BMERlDFt.js";import{_ as W}from"./OhHeader.vue-BxGtEsOa.js";import{_ as Y}from"./OhRadioGroup.vue-BjJa1mFX.js";import{_ as Z}from"./OhFlashMessage.vue_vue_type_script_setup_true_lang-QnNfDhYN.js";import{_ as ee,a as ae}from"./useRedirectModal-C0hxTOyM.js";import{_ as oe}from"./OhCardTitle.vue_vue_type_script_setup_true_lang-DilzC7nU.js";import{_ as te}from"./BackLink.vue_vue_type_script_setup_true_lang--z-Pss8r.js";import{u as re,h as se,G as le,t as ne,a as ue,r as de}from"./app-Cn6RsU_i.js";import{_ as ie}from"./OhDynamicModal.vue_vue_type_script_setup_true_lang-B5S5ljV_.js";import{_ as ce}from"./OhCheckbox.vue-Cd1We63z.js";import{u as I}from"./useAmountFormat-DQR4xDnl.js";import{d as L,a8 as T,P,H as me,O as v,X as r,a4 as l,A as e,K as B,L as S,S as d,z as ve,M as pe,r as M,j as g,a as fe,a9 as N,F as _e}from"./vendor-i18n-d5NYPexO.js";import{F as ge}from"./useInterfaceNav-b02Me6V1.js";import{C as G}from"./mixpanelEvents-CYVQoDR2.js";import{B as be}from"./servers-DhaqZ-_f.js";import"./OhContainer.vue-Ctid55hm.js";import"./Primitive-coUWhel5.js";import"./navigation-DO3ks73D.js";import"./GvIcon.vue-XUvgv9OL.js";import"./GvTile.vue-DWIdZqZK.js";import"./useZendeskWidget-ZFOaLvLk.js";import"./useLayout-DGTwvQ8o.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./OhBadge.vue-uLeo8To7.js";import"./useHomeRoute-CT1JnEWW.js";import"./useInput-BCzWqwFb.js";import"./OhSelect.vue-40zUd3Sb.js";import"./arrow_forward-CfQEAvCG.js";import"./logout-Bdbk-6q9.js";import"./useSubscription-DdEsf7x6.js";import"./HeaderUnauthenticatedBar-DkCk7vS6.js";import"./OhRadio.vue-CyHNKrVy.js";import"./help-DpvPta4A.js";import"./arrow_back-DMu1enb4.js";import"./OhSwitch.vue-BPPOtWbA.js";import"./useForwardScopeId-CxiLyaV5.js";import"./VisuallyHiddenInput-BHWiMXox.js";const ye={class:"gv-surface-dim gv-space-y-sm gv-my-md gv-p-md"},he={class:"gv-flex gv-flex-wrap gv-justify-between border-b"},xe={class:"gv-font-bold"},Ce={key:0,class:"gv-flex gv-flex-wrap gv-justify-between"},Ve={key:1,class:"gv-flex gv-flex-wrap gv-justify-between"},Ae={key:2,class:"gv-divider"},Oe={class:"gv-flex gv-flex-wrap gv-justify-between"},ke={class:"gv-flex gv-flex-wrap gv-justify-between"},$e={class:"gv-flex gv-flex-wrap gv-justify-between"},Pe={class:"gv-font-bold"},Re={class:"gv-flex gv-flex-wrap gv-justify-between"},Be={class:"gv-text-success"},Ne=L({__name:"OrderResourcesModal",props:{title:{},description:{},subparagraph:{},confirmBtn:{},cancelBtn:{},confirmation:{type:Boolean},confirmationString:{},loading:{type:Boolean,default:!1},cpuAddon:{},ramAddon:{},taxRate:{}},emits:["cancel","confirm"],setup(i,{emit:f}){const n=i,j=f,{t:c}
1=T(),{formatAmount:m,currencyCode:b}=I(),R=M(!1),O=g(()=>n.cpuAddon?.productPlans[0]?.prices[0]?.price??0),u=g(()=>n.ramAddon?.productPlans[0]?.prices[0]?.price??0);async function w(x){j("confirm",x)}async function E(x){j("cancel",x)}return(x,C)=>{const F=ce,U=ie;return P(),me(U,pe(x.$attrs,{name:"OrderResourcesModal",title:i.title,"action-label":i.confirmBtn,"secondary-action-label":"generic.actions.cancel","action-variant":"primary","action-disabled":!e(R),loading:i.loading.value,"onUpdate:confirm":w,"onUpdate:cancel":E}),{default:v(()=>[r("p",null,l(i.description),1),r("div",ye,[r("div",he,[r("span",xe,l(e(c)("cloudserver.additional_resources.add.modal.summary")),1),r("span",null,l(e(c)("cloudserver.upgrade.modal.prices_in",{currency:e(b)})),1)]),C[1]||(C[1]=r("hr",{class:"gv-divider"},null,-1)),i.cpuAddon?(P(),B("div",Ce,[r("span",null,l(e(c)("cloudserver.additional_resources.add.modal.cpu")),1),r("span",null,l(e(m)(e(O))),1)])):S("",!0),i.ramAddon?(P(),B("div",Ve,[r("span",null,l(e(c)("cloudserver.additional_resources.add.modal.ram")),1),r("span",null,l(e(m)(e(u))),1)])):S("",!0),i.ramAddon||i.cpuAddon?(P(),B("hr",Ae)):S("",!0),r("div",Oe,[r("span",null,l(e(c)("cloudserver.additional_resources.add.modal.subtotal")),1),r("span",null,l(e(m)(e(O)+e(u))),1)]),r("div",ke,[r("span",null,"+"+l(e(c)("cloudserver.additional_resources.add.modal.vat",{vat:i.taxRate})),1),r("span",null,l(e(m)(Number((e(O)+e(u))*i.taxRate/100))),1)]),C[2]||(C[2]=r("hr",{class:"gv-divider"},null,-1)),r("div",$e,[r("span",Pe,l(e(c)("cloudserver.additional_resources.add.modal.total")),1),r("span",null,l(e(m)(Number(e(O)+e(u)+(e(O)+e(u))*i.taxRate/100))),1)]),r("div",Re,[r("span",Be,l(e(c)("cloudserver.additional_resources.add.modal.discount")),1),r("span",null,"- "+l(e(m)(0)),1)])]),d(F,{modelValue:e(R),"onUpdate:modelValue":C[0]||(C[0]=y=>ve(R)?R.value=y:null),label:e(c)("cloudserver.additional_resources.add.modal.checkbox")},null,8,["modelValue","label"])]),_:1},16,["title","action-label","action-disabled","loading"])}}}),Se={class:"gv-text-md gv-text-bold"},je={class:"gv-space-y-sm"},we={class:"gv-stack-space-lg"},Ee={class:"gv-flex gv-items-center gv-space-x-sm"},Me={key:0,class:"gv-badge gv-badge-success"},Fe={class:"gv-flex gv-flex-col gv-mt-md gv-space-y-sm"},Ue={class:"gv-flex gv-items-center gv-space-x-sm"},Je={key:0,class:"gv-badge gv-badge-success"},De={class:"gv-flex gv-flex-col gv-mt-md gv-space-y-sm"},ka=L({__name:"Add",props:{cloudServer:{},contract:{}},setup(i){const f=i,{t:n}
1=T(),{formatAmount:j}=I(),c=M(!1),m=M(0),b=M(0),R=g(()=>{const o=[];f.contract.possibleAddons?.forEach(t=>{t.configValues.length&&t.configValues.some(s=>s.key==="cpu")&&o.push(t.configValues.find(s=>s.key==="cpu"))});const a=[];return o.forEach(t=>{t.value==="0"?a.push({label:n("cloudserver.additional_resources.options.no_upgrade"),value:t.value}):a.push({label:`${t.value} CPU`,value:t.value})}),a.filter((t,s,_)=>_.findIndex(V=>JSON.stringify(V)===JSON.stringify(t))===s).sort((t,s)=>t.value-s.value)}),O=g(()=>{const o=[];f.contract.possibleAddons?.forEach(t=>{t.configValues.length&&t.configValues.some(s=>s.key==="ram")&&o.push(t.configValues.find(s=>s.key==="ram"))});const a=[];return o.forEach(t=>{t.value==="0"?a.push({label:n("cloudserver.additional_resources.options.no_upgrade"),value:t.value}):a.push({label:`${t.value} MB`,value:t.value})}),a.filter((t,s,_)=>_.findIndex(V=>JSON.stringify(V)===JSON.stringify(t))===s).sort((t,s)=>t.value-s.value)}),u=re({cpu:"0",ram:"0",cpuAddon:null,ramAddon:null,cpuProductPlan:null,ramProductPlan:null}),w=g(()=>{let o;return y.value!==void 0||(f.contract.possibleAddons?.forEach(a=>{a.configValues.find(s=>{if(s.value!=="0")return s.key==="cpu"&&s.value===u.cpu})&&(o=a)}),u.cpuAddon=o?.id),o}),E=g(()=>{let o;return k.value!==void 0||(f.contract.possibleAddons?.forEach(a=>{a.configValues.find(s=>{if(s.value!=="0")return s.key==="ram"&&s.value===u.ram})&&(o=a)}),u.ramAddon=o?.id),o});function x(){let o,a;f.contract.possibleAddons?.forEach(p=>{p.configValues.find(A=>A.key==="cpu"&&A.value===u.cpu)&&(o=p),p.configValues.find(A=>A.key==="ram"&&A.value===u.ram)&&(a=p)});let t,s;o?.productPlans?.forEach(p=>{t===void 0&&(t=p.prices.find(h=>h.validFromMonth===1&&h.billingCycle===1),u.cpuProductPlan=p.id)}),a?.productPlans?.forEach(p=>{s===void 0&&(s=p.prices.find(h=>h.validFromMonth===1&&h.billingCycle===1),u.ramProductPlan=p.id)});let _=m.value!==0&&t!==void 0?t.price:0,V=b.value!==0&&s!==void 0?s.price:0;return(m.value==="0"||y.value!==void 0)&&(_=0),(b.value==="0"||k.value!==void 0)&&(V=0),Number(_)+Number(V)}function C(o){return Object.values(be).includes(o)}const F=g(()=>{const o=Number(m.value)===0,a=Number(b.value)===0;return C(f.cloudServer.status)||o&&a});async function U(){J(G.AddonPurchaseSelected);const{open:o,close:a}=le({component:Ne,attrs:{title:n("cloudserver.additional_resources.add.title"),description:n("cloudserver.additional_resources.add.modal.description"),confirmBtn:"cloudserver.additional_resources.add.modal.buy",confirmation:!1,cpuAddon:w,ramAddon:E,taxRate:f.contract.taxRate,loading:c,async onConfirm(){J(G.AddonPurchaseCompleted),de.post(route("servers.resources.store",f.cloudServer.contract),u,{onStart:()=>{c.value=!0},onSuccess:()=>{c.value=!1,a()},onError:()=>{c.value=!1,a()}})},onCancel(){a()}}});o()}const y=g(()=>{let o;return f.contract.addons?.forEach(a=>{a.status!=="terminated"&&o===void 0&&(o=a.configValues.find(t=>t.key==="cpu"&&t.value!=="0"))}),o}),k=g(()=>{let o;return f.contract.addons?.forEach(a=>{a.status!=="terminated"&&o===void 0&&(o=a.configValues.find(t=>t.key==="ram"&&t.value!=="0"))}),o});fe(()=>{y.value!==void 0&&(m.value=y.value?.value||0,u.cpu=y.value?.value||"0"),k.value!==void 0&&(b.value=k.value?.value||0,u.ram=k.value?.value||"0")});const H=g(()=>{const o=w.value?.name??"",a=E.value?.name??"";return o!==""&&a!==""?`${o}, ${a}`:o!==""?o:a!==""?a:""});function J(o){const a={productType:ge.ResourceBoost,productName:H.value};ne(o,a,ue().props)}return(o,a)=>{const t=te,s=W,_=oe,V=Q,p=ae,h=ee,D=Z,A=Y,z=q,K=X;return P(),B(_e,null,[d(e(se),{title:e(n)("cloudserver.additional_resources.add.title")},null,8,["title"]),d(K,{navigation:"cloudserver"},{header:v(()=>[d(s,{title:e(n)("cloudserver.additional_resources.add.title"),subtitle:i.cloudServer.name},{breadcrumb:v(()=>[d(t)]),_:1},8,["title","subtitle"])]),aside:v(()=>[d(h,null,{default:v(()=>[d(p,null,{default:v(()=>[d(_,null,{default:v(()=>[N(l(e(n)("cloudserver.additional_resources.title")),1)]),_:1}),d(_,null,{default:v(()=>[N(l(e(j)(x()+x()*(i.contract.taxRate??0)/100))+"/mo*",1)]),_:1}),r("p",null,l(e(n)("cloudserver.additional_resources.order.billed_monthly")),1),d(V,{class:"gv-w-full",disabled:e(F),onClick:U},{default:v(()=>[N(l(e(n)("cloudserver.additional_resources.order.continue")),1)]),_:1},8,["disabled"]),r("p",Se,l(e(n)("cloudserver.additional_resources.order.key_features")),1),r("ul",je,[r("li",null,l(m.value===0?e(n)("cloudserver.additional_resources.cpu.no_upgrade"):e(n)("cloudserver.additional_resources.cpu.upgrade",{value:m.value})),1),r("li",null,l(b.value===0?e(n)("cloudserver.additional_resources.ram.no_upgrade"):e(n)("cloudserver.additional_resources.ram.upgrade",{value:b.value})),1)])]),_:1})]),_:1})]),default:v(()=>[r("main",we,[d(D),d(h,{class:"gv-pb-0"},{default:v(()=>[d(p,null,{default:v(()=>[r("div",Ee,[d(_,null,{default:v(()=>[N(l(e(n)("cloudserver.additional_resources.cpu.title")),1)]),_:1}
1),e(y)?(P(),B("span",Me,l(e(n)("cloudserver.additional_resources.already_active")),1)):S("",!0)]),r("p",null,l(e(n)("cloudserver.additional_resources.cpu.description")),1),r("div",Fe,[d(A,{modelValue:e(u).cpu,"onUpdate:modelValue":a[0]||(a[0]=$=>e(u).cpu=$),"all-disabled":e(y),name:"cpu",options:e(R),vertical:"",onClick:a[1]||(a[1]=$=>m.value=$.target.value)},null,8,["modelValue","all-disabled","options"])]),a[4]||(a[4]=r("hr",{class:"gv-divider"},null,-1)),r("div",Ue,[d(_,null,{default:v(()=>[N(l(e(n)("cloudserver.additional_resources.ram.title")),1)]),_:1}),e(k)?(P(),B("span",Je,l(e(n)("cloudserver.additional_resources.already_active")),1)):S("",!0)]),r("p",null,l(e(n)("cloudserver.additional_resources.ram.description")),1),r("div",De,[d(A,{modelValue:e(u).ram,"onUpdate:modelValue":a[2]||(a[2]=$=>e(u).ram=$),name:"ram","all-disabled":e(k),options:e(O),vertical:"",onClick:a[3]||(a[3]=$=>b.value=$.target.value)},null,8,["modelValue","all-disabled","options"])])]),_:1}),d(z,{class:"gv-mt-sm",variant:"info",addon:"",closable:!1,description:e(n)("cloudserver.additional_resources.add.info_message")},null,8,["description"])]),_:1})])]),_:1})],64)}}});export{ka as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.