(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[977],{3343:function(e,n,l){Promise.resolve().then(l.bind(l,8924)),Promise.resolve().then(l.bind(l,6345))},8924:function(e,n,l){"use strict";l.d(n,{PageComponent:function(){return P}});var t=l(7437),a=l(4580),r=l(9979),i=(0,l(7097).I)({d:"M0,12a1.5,1.5,0,0,0,1.5,1.5h8.75a.25.25,0,0,1,.25.25V22.5a1.5,1.5,0,0,0,3,0V13.75a.25.25,0,0,1,.25-.25H22.5a1.5,1.5,0,0,0,0-3H13.75a.25.25,0,0,1-.25-.25V1.5a1.5,1.5,0,0,0-3,0v8.75a.25.25,0,0,1-.25.25H1.5A1.5,1.5,0,0,0,0,12Z",displayName:"AddIcon"}),s=l(1988),o=l(3449),d=l(2760),u=l(1631),c=l(5810),h=l(5171),m=l(4394),x=l(8686),f=l(2265),p=l(4650),b=l(4350),g=l(1555);let v=async e=>{let n=await fetch("/api/newsletter",{method:"put",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e})});if(!n.ok)throw Error(n.statusText);let l=await n.json();if(!l.ok)throw Error(l.error)},j=async(e,n)=>{for(let l of e){let e=await fetch("/api/enrol",{method:"put",headers:{"Content-Type":"application/json"},body:JSON.stringify({event:{id:n.id,title:n.title},enrolData:l})}),t=await e.json();if(!t.ok)throw Error(t.error)}};function F(e){let n=(0,b.cI)({formFieldsPerPerson:e.event.formFieldsPerPerson,generalFormFields:e.event.generalFormFields,onSubmit:async n=>{let l=n.generalFormFields.map(e=>({label:e.label,value:e.value})),t=l.find(e=>"Email-Adresse"===e.label),a=l.find(e=>"Newsletter abbonieren"===e.label),r=t&&a&&"Ja"===a.value?v(t.value):Promise.resolve(),i=n.formFieldsPerPerson.map(e=>[...e.map(e=>({label:e.label,value:e.value})),...l]),s=i.map(async n=>{let l=await fetch("/api/mail/enrol",{method:"post",headers:{"Content-Type":"application/json"},body:JSON.stringify({event:{id:e.event.id,title:e.event.title},enrolData:n})}),t=await l.json();if(!t.ok)throw Error(t.error)});await Promise.all([j(i,e.event),...s,r])}});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.x,{children:["Hier kannst du dich f\xfcr das Event"," ",(0,t.jsx)(s.x,{as:"strong",children:e.event.title})," anmelden. Gib einfach die geforderten Daten in das Formular unten ein und schon bist du dabei!"]}),n.state.serverState===b.Xq.SUCCESS?(0,t.jsxs)(o.k,{p:4,alignItems:"center",rounded:"md",bg:"green.200",mt:4,children:[(0,t.jsx)(a.n,{}),(0,t.jsx)(s.x,{ml:4,children:"Wir haben deine Anmeldung erhalten. Du solltest au\xdferdem im K\xfcrze eine Best\xe4tigung per Email erhalten."})]}):null,n.state.serverState===b.Xq.ERROR?(0,t.jsxs)(o.k,{p:4,alignItems:"center",rounded:"md",bg:"red.200",mt:4,children:[(0,t.jsx)(r.T,{}),(0,t.jsx)(s.x,{ml:4,children:"Beim Absenden des Formulars ist ein unbekannter Fehler aufgetreten. Wir haben das zur Kenntnis genommen und werden uns schnellstm\xf6glich darum k\xfcmmern. Bitte versuchen Sie es sp\xe4ter noch einmal!"})]}):null,n.state.serverState===b.Xq.SUBMITTING?(0,t.jsx)(o.k,{justifyContent:"center",mt:4,children:(0,t.jsx)(d.$,{size:"xl",speed:"0.5s",thickness:"4px",color:"blue.500",emptyColor:"gray.200"})}):null,n.state.serverState===b.Xq.NOT_SUBMITTED?(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault(),n.submitForm()},children:[n.state.formFieldsPerPerson.map((e,l)=>(0,t.jsxs)(f.Fragment,{children:[(0,t.jsxs)(o.k,{mt:8,alignItems:"center",children:[(0,t.jsxs)(u.X,{as:"h3",fontSize:"lg",children:["Angaben zur Person",1===n.state.formFieldsPerPerson.length?"":" ".concat(l+1)]}),n.state.formFieldsPerPerson.length>1?(0,t.jsx)(c.z,{leftIcon:(0,t.jsx)(r.T,{}),onClick:()=>{n.removePerson(l)},ml:4,size:"sm",variant:"outline",colorScheme:"red",children:"entfernen"}):null]}),e.map(e=>(0,t.jsx)(p.g,{personIndex:l,updateValue:e=>{n.updateValue({...e,personIndex:l})},submitCount:n.state.submitCount,...e},e.label)),n.state.formFieldsPerPerson.length<10&&l===n.state.formFieldsPerPerson.length-1?(0,t.jsx)(c.z,{leftIcon:(0,t.jsx)(i,{}),mt:6,onClick:n.addPerson,variant:"outline",colorScheme:"blue",children:"weitere Person anmelden"}):null]},l)),(0,t.jsx)(u.X,{as:"h3",fontSize:"lg",mt:8,children:"Weitere Angaben"}),n.state.generalFormFields.map(e=>(0,t.jsx)(p.g,{updateValue:n.updateValue,submitCount:n.state.submitCount,...e},e.label)),(0,t.jsx)(c.z,{colorScheme:"blue",type:"submit",mt:6,children:"absenden"}),(0,t.jsx)(h.NI,{isInvalid:n.state.submitCount>0&&!n.state.isValid,children:(0,t.jsx)(m.J1,{children:"Das Formular enth\xe4lt noch Fehler!"})}),(0,t.jsxs)(s.x,{fontSize:"sm",mt:4,children:["Mit dem Abschicken dieses Formulars best\xe4tige ich, dass ich die"," ",(0,t.jsx)(x.r,{isExternal:!0,color:"blue.500",href:"/info/teilnahmebedingungen",children:"allgemeinen Teilnahmebedingungen"})," ","und alle"," ",(0,t.jsx)(x.r,{isExternal:!0,color:"blue.500",href:"/termine/".concat(e.event.id),children:"weiteren Information"}),", die dieses Event betreffen, gelesen habe und alle dort genannten Bedingungen akzeptiere. Das gilt insbesondere auch f\xfcr die"," ",(0,t.jsx)(x.r,{isExternal:!0,color:"blue.500",href:"/info/lastschrift",children:"Information bez\xfcglich Lastschriftmandat und Bezahlung"})," ","sowie unsere"," ",(0,t.jsx)(x.r,{isExternal:!0,color:"blue.500",href:"/info/datenschutz",children:"Hinweise zum Datenschutz"}),"."]})]}):null]})}function P(e){let{event:n}=e;return n?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(u.X,{mb:4,children:"Anmeldeformular"}),n.hasEnrol?null:(0,t.jsxs)(s.x,{children:["F\xfcr das Event ",(0,t.jsx)(s.x,{as:"strong",children:n.title})," kann man sich leider nicht online anmelden!"]}),n.hasEnrol&&"limit reached"===n.status?(0,t.jsxs)(s.x,{children:["Das Limit f\xfcr die Anzahl der Anmeldungen f\xfcr die Veranstaltung"," ",(0,t.jsx)(s.x,{as:"strong",children:n.title})," ist schon erreicht. Die Online-Anmeldung ist daher leider nicht mehr m\xf6glich."]}):null,n.hasEnrol&&"canceled"===n.status?(0,t.jsxs)(s.x,{children:["Wir m\xfcssen die Veranstaltung ",(0,t.jsx)(s.x,{as:"strong",children:n.title})," ","auf Grund zu geringer Teilnehmeranzahl leider absagen. Die Online-Anmeldung ist daher nicht mehr m\xf6glich."]}):null,n.hasEnrol&&!["limit reached","canceled"].includes(n.status)?(0,t.jsx)(F,{event:n},n.id):null]}):(0,t.jsx)(g.NotFoundComponent,{})}},1555:function(e,n,l){"use strict";l.d(n,{NotFoundComponent:function(){return o}});var t=l(7437),a=l(1631),r=l(1988),i=l(8686),s=l(7648);function o(){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.X,{children:"Hoppla!"}),(0,t.jsx)(r.x,{fontSize:"6xl",mt:4,textAlign:"center",children:(0,t.jsx)("span",{role:"img","aria-label":"nachdenkliches Gesicht",children:"\uD83E\uDD14"})}),(0,t.jsxs)(r.x,{mt:4,children:["Hast du dich verlaufen? Diese Seite existiert nicht!"," ",(0,t.jsx)(i.r,{as:s.default,href:"/",color:"blue.500",children:"Auf zur\xfcck zur Homepage!"})]})]})}},4650:function(e,n,l){"use strict";l.d(n,{g:function(){return v}});var t=l(7437),a=l(5171),r=l(3449),i=l(748),s=l(1988),o=l(4394),d=l(8686),u=l(2709),c=l(3088),h=l(4687),m=l(4141),x=l(883);let f=e=>{let n=e.target.parentElement;if(!n)return"";let l=n.children[0]instanceof HTMLInputElement?n.children[0].value:"0",t=n.children[1]instanceof HTMLInputElement?n.children[1].value:"0",a=n.children[2]instanceof HTMLInputElement?n.children[2].value:"0";return"".concat(a,"-").concat(t,"-").concat(l)};var p=l(4964),b=l(2191);let g={boolean:function(e){return(0,t.jsx)(u.E,{id:e.id,onChange:n=>{e.updateValue({label:e.label,value:n})},value:e.value,children:(0,t.jsxs)(c.K,{direction:"row",spacing:6,children:[(0,t.jsx)(h.Y,{isInvalid:e.isInvalid,value:"Ja",children:"Ja"}),(0,t.jsx)(h.Y,{isInvalid:e.isInvalid,value:"Nein",children:"Nein"})]})})},checkbox:function(e){return(0,t.jsx)(m.X,{isChecked:"Ja"===e.value,id:e.id,name:e.label,onChange:()=>{e.updateValue({label:e.label,value:"Ja"===e.value?"Nein":"Ja"})},isInvalid:e.isInvalid,children:"Ja"})},date:function(e){return(0,t.jsxs)(r.k,{id:e.id,children:[(0,t.jsx)(x.I,{onChange:n=>{e.updateValue({label:e.label,value:f(n)})},"aria-label":"Tag",placeholder:"TT",width:"6ch",type:"text",value:e.value.split("-")[2]||""}),(0,t.jsx)(x.I,{onChange:n=>{e.updateValue({label:e.label,value:f(n)})},"aria-label":"Monat",placeholder:"MM",width:"6ch",ml:4,type:"text",value:e.value.split("-")[1]||""}),(0,t.jsx)(x.I,{onChange:n=>{e.updateValue({label:e.label,value:f(n)})},"aria-label":"Jahr",placeholder:"JJJJ",width:"12ch",ml:4,type:"text",value:e.value.split("-")[0]||""})]})},select:function(e){var n;return(0,t.jsxs)(p.P,{id:e.id,name:e.label,onChange:n=>{e.updateValue({label:e.label,value:n.target.value})},value:e.value,children:[(0,t.jsx)("option",{value:"",disabled:!0,children:"keine Option gew\xe4hlt"}),null===(n=e.options)||void 0===n?void 0:n.map(e=>(0,t.jsx)("option",{value:e,children:e},e))]})},text:function(e){return(0,t.jsx)(x.I,{id:e.id,name:e.label,onChange:n=>{e.updateValue({label:e.label,value:n.target.value})},type:e.type,value:e.value})},textarea:function(e){return(0,t.jsx)(b.g,{id:e.id,name:e.label,onChange:n=>{e.updateValue({label:e.label,value:n.target.value})},value:e.value})}};function v(e){let n=g[e.type],l=e.isTouched&&e.submitCount>0&&!e.isValid,u="".concat(e.label,"-").concat(e.personIndex||0);return(0,t.jsxs)(a.NI,{isInvalid:l,mt:6,children:[(0,t.jsxs)(r.k,{alignItems:"flex-end",children:[(0,t.jsx)(i.l,{htmlFor:u,children:e.label}),e.isRequired?null:(0,t.jsx)(s.x,{color:"gray.600",fontSize:"sm",pb:1,children:"(optional)"})]}),(0,t.jsx)(n,{id:u,isInvalid:l,...e}),(0,t.jsx)(o.J1,{children:e.errorMessage}),"SEPA-Lastschriftmandat erteilen"===e.label?(0,t.jsxs)(a.Q6,{color:"gray.600",children:["Lies"," ",(0,t.jsx)(d.r,{href:"/info/lastschrift",isExternal:!0,color:"blue.500",children:"hier"})," ","nach, warum wir \xfcberhaupt ein Lastschriftmandat brauchen und wann es auch m\xf6glich ist bar zu zahlen."]}):null]})}},4350:function(e,n,l){"use strict";l.d(n,{Xq:function(){return d},cI:function(){return b}});var t=l(7436),a=l(2265);let r={date:/^(([1-9]{1}[0-9]{3})-(0[1-9]{1}|10|11|12)-(0[1-9]{1}|1[0-9]{1}|2[0-8]{1}))|(([1-9]{1}[0-9]{3})-(01|03|05|07|08|10|12)-(29|30|31))|(([1-9]{1}[0-9]{3})-(04|06|09|11)-(29|30))|(((12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)00|[1-9]{1}[0-9]{1}(04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96))-02-29)$/,email:/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/i,iban:/^((DE[0-9]{20})|(AT[0-9]{18})|(CH[0-9]{19}))$/i},i=e=>{let{type:n,isRequired:l,validation:t,value:a}=e;return!l||("checkbox"===n?"Nein"!==a.toString().trim():"date"===n?r.date.test(a.toString().replace(/\s/g,"").trim()):t?r[t].test(a.toString().replace(/\s/g,"").trim()):""!==a.toString().trim())},s=e=>e.every(e=>e.isValid),o=e=>e.map(e=>{let n={...e,value:"checkbox"===e.type?"Nein":"",isTouched:!1,isValid:!1};return{...n,isValid:i(n)}}),d={ERROR:"ERROR",NOT_SUBMITTED:"NOT_SUBMITTED",SUBMITTING:"SUBMITTING",SUCCESS:"SUCCESS"},u=(e,n)=>{let l=o(e),t=o(n);return{isValid:s([...l,...t]),defaultFormFieldsPerPerson:o(e),formFieldsPerPerson:[l],generalFormFields:t,serverState:d.NOT_SUBMITTED,submitCount:0}},c="FORM_ADD_PERSON",h="FORM_REMOVE_PERSON",m="FORM_SERVER_STATE",x="FORM_SUBMIT",f="FORM_UPDATE_FIELD",p=(e,n)=>{switch(n.type){case c:return e.formFieldsPerPerson.push(e.defaultFormFieldsPerPerson.map(e=>({...e}))),{...e,isValid:s([...e.formFieldsPerPerson.flat(),...e.generalFormFields])};case h:return e.formFieldsPerPerson.splice(n.payload,1),{...e,isValid:s([...e.formFieldsPerPerson.flat(),...e.generalFormFields])};case m:return{...e,serverState:n.payload};case x:return{...e,formFieldsPerPerson:e.formFieldsPerPerson.map(e=>e.map(e=>({...e,isTouched:!0}))),generalFormFields:e.generalFormFields.map(e=>({...e,isTouched:!0})),submitCount:e.submitCount+1};case f:let l="number"==typeof n.payload.personIndex?(e.formFieldsPerPerson[n.payload.personIndex]||[]).find(e=>e.label===n.payload.label):e.generalFormFields.find(e=>e.label===n.payload.label);if(!l)return e;return l.value=n.payload.value,l.isTouched=!0,l.isValid=i(l),{...e,isValid:s([...e.formFieldsPerPerson.flat(),...e.generalFormFields])};default:return e}},b=e=>{let{formFieldsPerPerson:n,generalFormFields:l,onSubmit:r}=e,[i,s]=(0,a.useReducer)(p,u(n,l)),o=async function(){for(var e=arguments.length,n=Array(e),l=0;l<e;l++)n[l]=arguments[l];if(s({type:x}),i.isValid){s({type:m,payload:d.SUBMITTING});try{await r(i,...n),s({type:m,payload:d.SUCCESS})}catch(e){t.Tb(e),s({type:m,payload:d.ERROR})}}};return{state:i,submitForm:o,addPerson:()=>s({type:c}),removePerson:e=>s({type:h,payload:e}),updateValue:e=>s({type:f,payload:e})}}}},function(e){e.O(0,[457,586,345,971,885,744],function(){return e(e.s=3343)}),_N_E=e.O()}]);
//# sourceMappingURL=page-75faa1cd5b0dd435.js.map