1import{u as Q,q as X,r as Y,s as Z,a as ee,b as te,c as ae,t as N,v as se,l as re,w as D,V as h,o as ie,_ as le}from"./index-c2PABjuS.js";import{_ as oe}from"./CardContainer.vue_vue_type_script_setup_true_lang-BKfUFWAw.js";import{u as ne,s as ce,c as pe}from"./voucherStorage-DkpTD02d.js";import{h as de,f,c as P,w as ue,P as ge,K as r,n as p,$ as c,u as n,L as i,a0 as t,F as d,a4 as y,a6 as B,_ as k,a1 as u,O as _e,M as a}from"./vue-datepicker-CpIdsRIT.js";import"./datefns-BAflKSlV.js";const he={class:"flex flex-col gap-3 mt-8 w-full max-w-2xl"},ve={key:0,class:"flex items-center gap-3 py-4"},me={class:"text-2xl font-bold"},ye={class:"text-light-text"},fe={class:"voucher-code"},Te={class:"voucher-code__label"},Se={class:"voucher-code__value"},ke={key:0,class:"voucher-code__valid"},Ae={class:"voucher-facts"},$e={key:0,class:"flex items-center gap-3 py-2"},Ce={class:"text-sm text-light-text"},be={key:0,class:"option"},we={class:"option__title"},xe={class:"option__hint"},Le={class:"company-list"},Ve={class:"company__text"},Ie={class:"company__name"},Fe={key:0,class:"company__reason"},Ee={key:1,class:"option"},Ne={class:"option__title"},De={class:"option__hint"},Pe={class:"text-2xl font-bold"},Be={class:"text-light-text"},Ke=de({__name:"TrialStart",setup(Re){const K=ae(),v=ie(),T=Q(),L=X(),V=Y(),R=Z(),{notifyError:q,notifySuccess:z}=ee(),{t:g,locale:U}=te(),A=f(String(K.params.code||"").trim().toUpperCase()),{preview:l,errorCode:M,checking:H}=ne(A),_=f(null),$=f(!1),S=f(null),m=f(null),C=e=>{const o=g(`App.Trial.plans.${e}`);return o.startsWith("App.Trial.plans.")?e:o},I=e=>new Intl.DateTimeFormat(String(U.value||"de"),{day:"2-digit",month:"2-digit",year:"numeric"}).format(new Date(e)),O=P(()=>[g("App.Trial.Start.factNoPayment"),g("App.Trial.Start.factFullAccess",{plan:C(l.value?.licenseKey||"")}),g("App.Trial.Start.factDecideLater")]),b=(e,o)=>{const s=g(e);return s.startsWith(e.split(".").slice(0,-1).join("."))?g(o):s},W=P(()=>b(`App.Trial.Start.errors.${M.value||"generic"}`,"App.Trial.Start.errors.generic")),F=e=>e?b(`App.Trial.Start.reasons.${e}`,"App.Trial.Start.errors.generic"):"",w=()=>{l.value&&ce(l.value.code)},x=async()=>{if(!(!T.isLoggedIn||!l.value)){$.value=!0,S.value=null;try{_.value=await L.voucherEligibility(l.value.code)}catch(e){S.value=e?.response?.data?.message||g("App.Trial.Start.errors.generic")}finally{$.value=!1}}};ue(l,x),ge(x);const j=()=>{w(),v.push({name:"register",query:{code:l.value?.code||A.value}})},E=()=>{w(),v.push({name:"login"})},G=()=>{w(),v.push({name:"register-company",query:{code:l.value?.code||A.value}})},J=async e=>{if(!(!l.value||m.value)){m.value=e.clientId;try{V.selectTenant(e.clientId);const o=await L.redeemVoucher(l.value.code);pe(),await T.loadLicenseKey(),await V.fetchMemberships().catch(()=>{});const s=await R.check().catch(()=>!1);z(g("App.Trial.Start.started",{plan:C(o.licenseKey),date:I(o.trialEndsAt)})),await v.push(s?"/setup":"/")}catch(o){q(b(`App.Trial.Start.errors.${o?.response?.data?.code||"generic"}`,"App.Trial.Start.errors.generic")),await x()}finally{m.value=null}}};return(e,o)=>(a(),r("div",he,[p(oe,{class:"flex flex-col gap-4 p-6"},{default:c(()=>[n(H)?(a(),r("div",ve,[p(N,{indeterminate:"",size:"24",color:"secondary"}),i("span",null,t(e.$t("App.Trial.Start.loading")),1)])):n(l)?(a(),r(d,{key:1},[i("span",me,t(e.$t("App.Trial.Start.title",{days:n(l).trialDays,plan:C(n(l).licenseKey)})),1),i("span",ye,t(e.$t("App.Trial.Start.subtitle")),1),i("div",fe,[i("span",Te,t(e.$t("App.Trial.Start.codeLabel")),1),i("span",Se,t(n(l).code),1),n(l).validUntil?(a(),r("span",ke,t(e.$t("App.Trial.Start.validUntil",{date:I(n(l).validUntil)})),1)):y("",!0)]),i("ul",Ae,[(a(!0),r(d,null,B(O.value,s=>(a(),r("li",{key:s,class:"flex items-start gap-2"},[p(se,{"svg-path":n(re),"icon-classes":"w-5 h-5 shrink-0 text-success"},null,8,["svg-path"]),i("span",null,t(s),1)]))),128))]),n(T).isLoggedIn?(a(),r(d,{key:0},[$.value?(a(),r("div",$e,[p(N,{indeterminate:"",size:"20",color:"secondary"}),i("span",Ce,t(e.$t("App.Trial.Start.checking")),1)])):_.value?(a(),r(d,{key:1},[_.value.account.eligible===!1?(a(),r(d,{key:0},[p(D,{type:"warning",variant:"tonal",density:"compact"},{default:c(()=>[u(t(F(_.value.account.reason)||e.$t("App.Trial.Start.errors.generic")),1
1)]),_:1}),p(h,{variant:"text",onClick:o[0]||(o[0]=s=>n(v).push({name:"cockpit"}))},{default:c(()=>[u(t(e.$t("App.Trial.Start.toCockpit")),1)]),_:1})],64)):(a(),r(d,{key:1},[_.value.companies.length?(a(),r("div",be,[i("span",we,t(e.$t("App.Trial.Start.useExistingTitle")),1),i("span",xe,t(e.$t("App.Trial.Start.useExistingHint")),1),i("div",Le,[(a(!0),r(d,null,B(_.value.companies,s=>(a(),r("div",{key:s.clientId,class:_e(["company",{"company--disabled":!s.eligible}])},[i("div",Ve,[i("span",Ie,t(s.companyName),1),s.eligible?y("",!0):(a(),r("span",Fe,t(F(s.reason)),1))]),s.eligible?(a(),k(h,{key:0,color:"secondary",size:"small",height:"38",loading:m.value===s.clientId,disabled:!!m.value,onClick:qe=>J(s)},{default:c(()=>[u(t(e.$t("App.Trial.Start.startFor",{company:s.companyName})),1)]),_:2},1032,["loading","disabled","onClick"])):y("",!0)],2))),128))])])):y("",!0),_.value.canCreateCompany?(a(),r("div",Ee,[i("span",Ne,t(e.$t("App.Trial.Start.createCompanyTitle")),1),i("span",De,t(e.$t("App.Trial.Start.createCompanyHint")),1),p(h,{color:"secondary",height:"46",disabled:!!m.value,style:{"background-image":"linear-gradient(45deg,#d73625,#F78361)!important"},onClick:G},{default:c(()=>[u(t(e.$t("App.Trial.Start.createCompany")),1)]),_:1},8,["disabled"])])):y("",!0)],64))],64)):S.value?(a(),k(D,{key:2,type:"error",variant:"tonal",density:"compact"},{default:c(()=>[u(t(S.value),1)]),_:1})):y("",!0)],64)):(a(),r(d,{key:1},[p(h,{color:"secondary",height:"46",style:{"background-image":"linear-gradient(45deg,#d73625,#F78361)!important"},onClick:j},{default:c(()=>[u(t(e.$t("App.Trial.Start.register")),1)]),_:1}),p(h,{variant:"text",onClick:E},{default:c(()=>[u(t(e.$t("App.Trial.Start.login")),1)]),_:1})],64))],64)):(a(),r(d,{key:2},[i("span",Pe,t(e.$t("App.Trial.Start.invalidTitle")),1),i("span",Be,t(W.value),1),n(T).isLoggedIn?(a(),k(h,{key:0,variant:"text",onClick:o[1]||(o[1]=s=>n(v).push({name:"cockpit"}))},{default:c(()=>[u(t(e.$t("App.Trial.Start.toCockpit")),1)]),_:1})):(a(),k(h,{key:1,variant:"text",onClick:E},{default:c(()=>[u(t(e.$t("Auth.Login.title")),1)]),_:1}))],64))]),_:1})]))}}),We=le(Ke,[["__scopeId","data-v-7162e716"]]);export{We 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.