PageSourceSearch

https://dgf.de/assets/NewsletterAbmelden-DXhIqR6p.js

js dgf.de collected 2026-10-01 03:58:20 UTC 5,064 bytes, 6 lines download raw bytes

1import{j as e}from"./ui-B-jAfBIu.js";import{e as v,r as n,L as N}from"./vendor-DFDkvaNg.js";import{F as w}from"./footer-BZRbmNIi.js";import{S}from"./SEO-Xjhlpvpl.js";import{C as y,c as k}from"./card-FDTNR4GW.js";import{c as E,B as u,A,L as C,I as M,s as F}from"./index-BCsAUAr3.js";import{C as I}from"./circle-check-big-CfXXiADF.js";import{I as D}from"./info-BpIZqiUg.js";import{T as f}from"./triangle-alert-zIQaZrpa.js";import"./accordion-lbBf97cS.js";import"./zap-w3cso8df.js";import"./shield-CtBdO94u.js";import"./phone-B5aCIWtB.js";import"./external-link-BbDK-JRk.js";import"./bell-CbaBEDEt.js";import"./supabase-DM3UDwCf.js";import"./query-BNFXhbss.js";/**
2 * @license lucide-react v0.546.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const L=[["path",{d:"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h9",key:"1j9vog"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"m17 17 4 4",key:"1b3523"}],["path",{d:"m21 17-4 4",key:"uinynz"}]],B=E("mail-x",L),Y=()=>{const g=v(),[x,p]=n.useState(""),[l,h]=n.useState(!1),[t,c]=n.useState(null),[r,i]=n.useState(null),j=async m=>{m.preventDefault();const a=x.trim().toLowerCase();if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(a)){i("Bitte geben Sie eine gültige E-Mail-Adresse ein (z. B. [email protected]).");return}i(null),h(!0);try{const{data:o,error:b}=await F.functions.invoke("newsletter-unsubscribe",{body:{email:a}});let s=o??null;if(b){const d=b.context;if(d&&typeof d.text=="function")try{s=JSON.parse(await d.text())}catch{s=null}}if((s==null?void 0:s.code)==="not_found"){c({variant:"error",title:"Adresse nicht gefunden",message:s.message||`Die E-Mail-Adresse ${a} ist bei uns nicht als Newsletter-Empfänger registriert.`});return}if((s==null?void 0:s.code)==="invalid_email"){i(s.message||"Diese E-Mail-Adresse ist ungültig.");return}if(s!=null&&s.success){g(`/newsletter/abgemeldet?email=${encodeURIComponent(a)}${s.code==="already_unsubscribed"?"&status=already":""}`);return}throw new Error((s==null?void 0:s.message)||"unknown_error")}catch(o){console.error("Newsletter unsubscribe error:",o),c({variant:"error",title:"Abmeldung fehlgeschlagen",message:"Die Abmeldung konnte technisch nicht verarbeitet werden. Bitte versuchen Sie es in ein paar Minuten erneut oder schreiben Sie uns an [email protected]."})}finally{h(!1)}};return e.jsxs(e.Fragment,{children:[e.jsx(S,{title:"Newsletter abmelden | DGF",description:"Melden Sie sich hier vom DGF-Newsletter ab.",canonical:"/newsletter/abmelden"}),e.jsxs("div",{className:"min-h-screen bg-background",children:[e.jsx("main",{className:"pt-24 pb-20",children:e.jsxs("div",{className:"max-w-2xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"text-center mb-10",children:[e.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-2xl bg-primary/10 mb-6",children:e.jsx(B,{className:"w-8 h-8 text-primary"})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-4 text-foreground",children:"Newsletter abmelden"}),e.jsx("p",{className:"text-muted-foreground",children:"Geben Sie Ihre E-Mail-Adresse ein, um sich vom DGF-Newsletter abzumelden."})]}),e.jsx(y,{className:"border-2 shadow-sm",children:e.jsx(k,{className:"p-6 md:p-10",children:t?e.jsxs("div",{className:"text-center py-6",children:[e.jsx("div",{className:`w-16 h-16 rounded-full flex items-center justify-center mx-auto mb-6 ${t.variant==="success"?"bg-green-100 dark:bg-green-900/30":t.variant==="info"?"bg-muted":"bg-destructive/10"}`,children:t.variant==="success"?e.jsx(I,{className:"w-9 h-9 text-green-600 dark:text-green-400"}):t.variant==="info"?e.jsx(D,{className:"w-9 h-9 text-muted-foreground"}):e.jsx(f,{className:"w-9 h-9 text-destructive"})}),e.jsx("h2",{className:"text-xl font-bold mb-3",children:t.title}),e.jsx("p",{className:"text-muted-foreground mb-8",children:t.message}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 justify-center",children:[t.variant==="error"&&e.jsx(u,{variant:"default",onClick:()=>c(null),children:"Erneut versuchen"}),e.jsx(N,{to:"/",children:e.jsxs(u,{variant:"outline",className:"w-full sm:w-auto",children:["Zur Startseite ",e.jsx(A,{className:"ml-2 w-4 h-4"})]})})]})]}):e.jsxs("form",{onSubmit:j,className:"space-y-4",noValidate:!0,children:[e.jsxs("div",{children:[e.jsx(C,{htmlFor:"unsubscribe-email",className:"mb-2 block",children:"E-Mail-Adresse"}),e.jsx(M,{id:"unsubscribe-email",type:"email",required:!0,value:x,onChange:m=>{p(m.target.value),r&&i(null)},placeholder:"[email protected]",disabled:l,"aria-invalid":!!r,"aria-describedby":r?"unsubscribe-email-error":void 0}),r&&e.jsxs("p",{id:"unsubscribe-email-error",role:"alert",className:"mt-2 text-sm text-destructive flex items-start gap-2",children:[e.jsx(f,{className:"w-4 h-4 mt-0.5 shrink-0"}),e.jsx("span",{children:r})]})]}),e.jsx(u,{type:"submit",className:"w-full",size:"lg",disabled:l,children:l?"Wird verarbeitet…":"Vom Newsletter abmelden"})]})})})]})}),e.jsx(w,{})]})]})};export{Y 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.