1import{u as w,k as _,q as y,c,o as i,b as t,t as a,d as e,C,E,G as B,l as q,j as u,i as x,w as h,r as M,s as N,B as T,n as V}from"./index-DrluhU3h.js";import{u as R}from"./usePageTitle-C__gRrTT.js";const j={class:"min-h-screen py-12 px-4"},A={class:"max-w-3xl mx-auto"},D={class:"text-center mb-8"},G={class:"text-4xl font-bold text-neutral-900 dark:text-white mb-4"},K={class:"text-lg text-neutral-600 dark:text-neutral-400"},P={class:"bg-white dark:bg-neutral-900 rounded-2xl p-8 border border-neutral-200 dark:border-neutral-700 shadow-lg"},S={for:"coupon-code",class:"block text-sm font-medium text-neutral-700 dark:text-neutral-300 mb-2"},U=["disabled","placeholder"],z={key:0,class:"p-4 bg-red-50 dark:bg-red-900/20 border-2 border-red-500 dark:border-red-700 rounded-lg"},I={class:"text-red-700 dark:text-red-300 text-sm"},$={class:"text-red-600 dark:text-red-400 text-sm mt-2"},F={key:1,class:"p-4"},H={class:"text-sm"},J=["disabled"],L={key:0,class:"flex items-center justify-center gap-2"},O={key:1},Q={class:"mt-8 text-center"}
1,W={class:"text-neutral-600 dark:text-neutral-400 text-sm"},ee={__name:"RedeemPage",setup(X){const{t:r,loadNamespace:f}=w(),v=V(),d=_(""),o=_(!1),m=_(!1),p=_("");y(async()=>{await f("redeem")}),R(()=>r("redeem.page_title"));async function b(){var l;if(!d.value.trim()||o.value)return;o.value=!0,m.value=!1,p.value="";const n=`coupon:${d.value.trim()}`;try{const s=await T.rest("Catalog/Cart:simulate","GET",{request:n});(l=s==null?void 0:s.data)!=null&&l.products&&Array.isArray(s.data.products)&&s.data.products.length>2?v.push({path:"/start",query:{product:n}}):(m.value=!0,p.value=r("redeem.error_invalid"),o.value=!1)}catch(s){console.error("Error redeeming coupon:",s),m.value=!0,p.value=(s==null?void 0:s.message)||r("redeem.error_invalid"),o.value=!1}}function g(n){n.key==="Enter"&&b()}return(n,l)=>{const s=M("router-link");return i(),c("div",j,[t("div",A,[t("div",D,[t("h1",G,a(e(r)("redeem.title")),1),t("p",K,a(e(r)("redeem.description")),1)]),t("div",P,[t("form",{class:"space-y-6",onSubmit:C(b,["prevent"])},[t("div",null,[t("label",S,a(e(r)("redeem.code_label")),1),E(t("input",{id:"coupon-code","onUpdate:modelValue":l[0]||(l[0]=k=>q(d)?d.value=k:null),type:"text",disabled:e(o),placeholder:e(r)("redeem.code_placeholder"),required:"",class:"w-full px-4 py-3 border-2 border-neutral-300 dark:border-neutral-600 rounded-lg focus:ring-2 focus:ring-accent-500 focus:border-accent-500 dark:bg-neutral-800 dark:text-white text-lg disabled:bg-neutral-100 dark:disabled:bg-neutral-700 disabled:text-neutral-500 disabled:cursor-not-allowed transition-colors",onKeyup:g},null,40,U),[[B,e(d)]])]),e(m)?(i(),c("div",z,[t("p",I,a(e(p)),1),t("p",$,[u(a(e(r)("redeem.error_contact"))+" ",1),x(s,{to:"/contact",class:"underline hover:text-red-800 dark:hover:text-red-200"},{default:h(()=>[u(a(e(r)("redeem.contact_link")),1)]),_:1})])])):(i(),c("div",F,[t("p",H,a(e(r)("redeem.disclaimer")),1)])),t("button",{type:"submit",disabled:!e(d).trim()||e(o),class:N(["w-full px-6 py-4 font-bold rounded-full transition-colors text-lg",!e(d).trim()||e(o)?"bg-neutral-300 dark:bg-neutral-700 text-neutral-500 dark:text-neutral-400 cursor-not-allowed":"bg-accent-600 hover:bg-accent-700 text-white cursor-pointer"])},[e(o)?(i(),c("span",L,[l[1]||(l[1]=t("div",{class:"w-5 h-5 border-2 border-white border-t-transparent rounded-full animate-spin"},null,-1)),u(" "+a(e(r)("redeem.submitting")),1)])):(i(),c("span",O,a(e(r)("redeem.submit")),1))],10,J)],32)]),t("div",Q,[t("p",W,[u(a(e(r)("redeem.no_code"))+" ",1),x(s,{to:"/pricing",class:"text-accent-600 dark:text-accent-400 hover:underline font-medium"},{default:h(()=>[u(a(e(r)("redeem.view_plans")),1)]),_:1})])])])])}}};export{ee 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.