PageSourceSearch

https://perspective-daily.de/static/assets/RenewCoupon-RnsyCK4A.js

js perspective-daily.de collected 2026-10-02 07:21:07 UTC 3,900 bytes, 1 lines download raw bytes

1import{d as e,K as n,a,c as i,k as t,l as o,E as s,p as u,t as l,g as r,e as d,f as c,af as p,z as m,r as v}from"./vue-Cbujuoqu.js";import{v as k,u as f}from"./validations-Dhl-PNrn.js";import{a as w}from"./apollo.client-CTIoy0fp.js";import{u as h,_ as g}from"./TextSnippet.vue_vue_type_script_setup_true_lang-CT86qlp_.js";import{_}from"./TextInput.vue_vue_type_script_setup_true_lang-CXCpTMSh.js";import"./preload-helper-D9jEkzRM.js";import"./exports-DzJyI3gR.js";const b={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"renewCoupon"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"coupon"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"renewCoupon"},arguments:[{kind:"Argument",name:{kind:"Name",value:"coupon"},value:{kind:"Variable",name:{kind:"Name",value:"coupon"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"},arguments:[],directives:[]},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"RenewFailure"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"field"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]}]}}]}}]}}],loc:{start:0,end:219,source:{name:"GraphQL request",locationOffset:{line:1,column:1},body:"mutation renewCoupon($coupon: String!) {\n    renewCoupon(coupon: $coupon) {\n        __typename\n        ... on RenewFailure {\n            field\n            message\n        }\n    }\n}\n"}}},y={class:"content registration"},C={key:0,class:"messages_p errors"},S={class:"row",layout:"row"},N={class:"actions"},F=["disabled"],j=e({__name:"RenewCoupon",setup(e){var j;const{textSnippets:G}=h("enrol-renew-coupon",["heading","submitButton"]),x=v(null),V=v(!1),$=n({coupon:null!=(j=new URL(window.location.href).searchParams.get("coupon"))?j:""}),D={coupon:[k.required,k.minLength(8),k.maxLength(8)]},E=f(D,$);async function L(){if(V.value)return;V.value=!0;const e=await w.mutate({mutation:b,variables:{coupon:$.coupon}}),n=e.data.renewCoupon.__typename;switch(n){case"RenewFailure":let a="";if("coupon"!==e.data.renewCoupon.field)throw new Error("Error in unhandled field ".concat(e.data.renewCoupon.field,": ").concat(e.data.renewCoupon.message));a="Gutschein-Code",x.value="".concat(a,": ").concat(e.data.renewCoupon.message),V.value=!1;break;case"OnlySuccess":window.location.pathname="/enrol/renew-completed";break;default:throw new Error("unknown graphql result type ".concat(n))}}return(e,n)=>(a(),i("div",y,[t(g,{class:"title",snippet:u(G).heading,htmlElem:"h1"},{default:o(()=>[...n[4]||(n[4]=[s(" Mitgliedschaft mit Gutschein verlängern ",-1)])]),_:1},8,["snippet"]),x.value?(a(),i("p",C,l(x.value),1)):r("",!0),d("form",{class:"form",name:"renewCouponForm",novalidate:"",onSubmit:n[2]||(n[2]=m(()=>{},["prevent"])),onKeyup:n[3]||(n[3]=p(e=>{V.value||E.value.$invalid||L()},["enter"]))},[d("div",S,[t(_,{id:"coupon",modelValue:u(E).coupon.$model,"onUpdate:modelValue":n[0]||(n[0]=e=>u(E).coupon.$model=e),name:"coupon",accessibilityLabel:"Gutschein-Code eingeben",placeholder:"Gutschein-Code",v:u(E).coupon,theme:"dark"},null,8,["modelValue","v"])]),n[6]||(n[6]=d("p",null,[s("Du hast keinen Gutschein-Code? "),d("a",{href:"/enrol/renew"},"Zurück zur vorherigen Ansicht")],-1)),d("div",N,[d("button",{id:"redeem_coupon",type:"submit",class:c(["button primary",{submitting:V.value}]),disabled:V.value||u(E).$invalid,onClick:n[1]||(n[1]=e=>L())},[t(g,{snippet:u(G).submitButton},{default:o(()=>[...n[5]||(n[5]=[s(" Gutschein einlösen ",-1)])]),_:1},8,["snippet"])],10,F)])],32)]))}});export{j 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.