1import{p as D,q as P,l as M,s as G,t as U,r as n,j as e,C as j,v as g,B as b,N as W,w as _,x as K,L as V,y as q,z as w,A as O,D as Q}from"./index-Cmf0ukOX.js";import{I as C}from"./input-sA58YUpR.js";import{L as k,m as H}from"./validations-CnMm_z_m.js";import{C as X}from"./checkbox-Bm_ZZMTw.js";import{g as Z,S as J}from"./safe-callback-CGcIpgx7.js";import{C as N}from"./circle-check-big-B754tsa3.js";import{A as Y}from"./arrow-left-CKR5oZNx.js";import{M as $}from"./mail-BvkHrNhu.js";function de(){const{data:f}=D(P),l=M(),{callbackURL:S}=G({from:"/sign-up"}),c=Z(S),{data:i,isPending:p,refetch:E}=U(),[a,v]=n.useState({email:"",name:""}),[r,o]=n.useState(!1),[d,z]=n.useState(!1),[x,t]=n.useState(null),[L,I]=n.useState(!1),[u,B]=n.useState(!1),F=async()=>{t(null),z(!0);try{const{error:s}=await Q(c,u);if(s)throw s}catch{t("Fehler bei der Anmeldung mit Google. Bitte versuchen Sie es erneut."),z(!1)}};n.useEffect(()=>{i?.user&&i.user.name&&!p&&l({to:c})},[i,p,l,c]);const R=i?.user&&!i.user.name,T=async s=>{s.preventDefault(),t(null);const m=q().min(1,"Bitte geben Sie einen Namen ein").max(100,"Name ist zu lang").safeParse(a.name.trim());if(!m.success){t(m.error.issues[0]?.message||"Ungültige Eingabe");return}o(!0);try{const{error:y}=await w.updateUser({name:m.data});if(y)throw y;await E({query:{disableCookieCache:!0}}),l({to:c,replace:!0})}catch{t("Fehler beim Speichern des Namens. Bitte versuchen Sie es erneut.")}finally{o(!1)}},A=async s=>{s.preventDefault(),t(null);const h=H.safeParse({email:a.email});if(!h.success){t(h.error.issues[0]?.message||"Ungültige Eingabe");return}o(!0);try{const{error:m}=await w.signIn.magicLink({email:h.data.email,callbackURL:window.location.origin+c,metadata:{newsletterConsent:u,newsletterConsentVersion:O}});m?t("Fehler beim Senden des Login-Links. Bitte versuchen Sie es erneut."):I(!0)}catch{t("Fehler bei der Registrierung. Bitte versuchen Sie es erneut.")}finally{o(!1)}};return p?e.jsx(j,{className:"py-16",children:e.jsx("div",{className:"max-w-md mx-auto text-center",children:e.jsx(g,{className:"size-8 mx-auto animate-spin text-muted-foreground"})})}):R?e.jsx(j,{className:"py-16",children:e.jsxs("div",{className:"max-w-md mx-auto",children:[e.jsxs("div",{className:"text-center mb-8",children:[e.jsx("h1",{className:"text-3xl font-bold text-zinc-900 dark:text-zinc-100 mb-2",children:"Profil vervollständigen"}),e.jsx("p",{className:"text-muted-foreground",children:"Bitte geben Sie Ihren Namen ein, um fortzufahren"})]}),e.jsx("div",{className:"bg-white dark:bg-zinc-900 border rounded p-6 shadow-sm",children:e.jsxs("form",{onSubmit:T,className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(k,{htmlFor:"name",children:"Ihr Name"}),e.jsx(C,{id:"name",type:"text",placeholder:"Ihr Name",value:a.name,onChange:s=>v({...a,name:s.target.value}),required:!0,disabled:r,autoComplete:"name",autoFocus:!0}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Dieser Name wird bei Ihren Kommentaren angezeigt."})]}),x&&e.jsx("div",{className:"p-3 bg-red-50 dark:bg-red-950/30 border border-red-200 dark:border-red-900 rounded",children:e.jsx("p",{className:"text-red-600 dark:text-red-400 text-sm",children:x})}),e.jsxs(b,{type:"submit",className:"w-full",disabled:r||!a.name.trim(),children:[r?e.jsx(g,{className:"size-4 mr-2 animate-spin"}):e.jsx(N,{className:"size-4 mr-2"}),"Profil speichern"]})]})}),e.jsx("div",{className:"mt-6 p-4 bg-zinc-50 dark:bg-zinc-800/50 rounded text-center",children:e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Sie sind angemeldet als ",e.jsx("strong",{className:"text-zinc-900 dark:text-zinc-100",children:i?.user?.email})]})})]})}):e.jsx(j,{className:"py-16",children:e.jsxs("div",{className:"max-w-md mx-auto",children:[e.jsxs("div",{className:"text-center mb-8",children:[e.jsx("h1",{className:"text-3xl font-bold text-zinc-900 dark:text-zinc-100 mb-2",children:"Konto erstellen"}),e.jsx("p",{className:"text-muted-foreground",children:"Registrieren Sie sich kostenlos"})]}),e.jsx("div",{className:"bg-white dark:bg-zinc-900 border rounded p-6 shadow-sm",children:L?e.jsx(ee,{email:a.email,newsletterConsent:u}):e.jsxs(e.Fragment,{children:[e.jsxs("form",{onSubmit:A,className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(k,{htmlFor:"email",children:"E-Mail-Adresse"}),e.jsx(C,{id:"email",type:"email",placeholder:"[email protected]",value:a.email,onChange:s=>v({...a,email:s.target.value}),required:!0,disabled:r||d,autoComplete:"email",autoFocus:!0})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(X,{id:"newsletter-consent",checked:u,onCheckedChange:B,disabled:r||d||!f?.enabled,"aria-describedby":"newsletter-consent-description",className:"mt-0.5"}),e.jsxs("div",{className:"space-y-1",children:[e.jsx(k,{htmlFor:"newsletter-consent",className:"block cursor-pointer leading-5",children:W}),e.jsxs("p",{id:"newsletter-consent-description",className:"text-xs leading-5 text-muted-foreground",children:[_," ",e.jsx("a",{href:"/datenschutz",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"Datenschutz"}),"."]})]})]}),x&&e.jsx("div",{className:"p-3 bg-red-50 dark:bg-red-950/30 border border-red-200 dark:border-red-900 rounded",children:e.jsx("p",{className:"text-red-600 dark:text-red-400 text-sm",children:x})}),e.jsxs(b,{type:"submit",className:"w-full",disabled:r||d,children:[r?e.jsx(g,{className:"size-4 mr-2 animate-spin"}):e.jsx(K,{className:"size-4 mr-2"}),"Registrieren"]}),e.jsxs("p",{className:"text-xs text-muted-foreground text-center",children:["Mit der Registrierung akzeptieren Sie unsere"," ",e.jsx("a",{href:"/datenschutz",className:"text-primary hover:underline",children:"Datenschutzerklärung"})," ","und"," ",e.jsx("a",{href:"/agb",className:"text-primary hover:underline",children:"AGB"}),"."]})]}),e.jsxs("div",{className:"relative my-6",children:[e.jsx("div",{className:"absolute inset-0 flex items-center",children:e.jsx("span",{className:"w-full border-t"})}),e.jsx("div",{className:"relative flex justify-center text-xs uppercase",children:e.jsx("span",{className:"bg-white dark:bg-zinc-900 px-2 text-muted-foreground",children:"oder"})})]}),e.jsxs(b,{type:"button",variant:"outline",className:"w-full",onClick:F,disabled:d||r,children:[d?e.jsx(g,{className:"size-4 mr-2 animate-spin"}):e.jsx(J,{className:"size-4 mr-2"}),"Mit Google registrieren"]})]})}),e.jsxs("div",{className:"mt-6 text-center text-sm text-muted-foreground",children:["Sie haben bereits ein Konto?"," ",e.jsxs(V,{to:"/sign-in",search:{callbackURL:S},className:"text-primary font-medium hover:underline inline-flex items-center gap-1",children:[e.jsx(Y,{className:"size-4"}),"Zur Anmeldung"]})]}),e.jsxs("div",{className:"mt-8 p-4 bg-zinc-50 dark:bg-zinc-800/50 rounded",children:[e.jsx("h3",{className:"font-medium text-zinc-900 dark:text-zinc-100 mb-3 text-sm",children:"Ihre Vorteile mit einem Konto:"}),e.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx(N,{className:"size-4 text-green-500 mt-0.5 shrink-0"}),"Nehmen Sie an Diskussionen teil"]}),e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx(N,{className:"size-4 text-green-500 mt-0.5 shrink-0"}),"Verwalten Sie Ihre Bestellungen und Abonnements"]}),e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx(N,{className:"size-4 text-green-500 mt-0.5 shrink-0"}
1),"Speichern Sie Artikel für später"]})]})]})]})})}function ee({email:f,newsletterConsent:l}){return e.jsxs("div",{className:"text-center py-4",children:[e.jsx("div",{className:"size-16 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center mx-auto mb-4",children:e.jsx($,{className:"size-8 text-green-600 dark:text-green-400"})}),e.jsx("h2",{className:"text-xl font-semibold text-zinc-900 dark:text-zinc-100 mb-2",children:"Fast geschafft!"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Wir haben einen Bestätigungslink an",e.jsx("br",{}),e.jsx("strong",{className:"text-zinc-900 dark:text-zinc-100",children:f}),e.jsx("br",{}),"gesendet."]}),e.jsxs("div",{className:"p-4 bg-zinc-50 dark:bg-zinc-800 rounded text-sm text-muted-foreground",children:[e.jsxs("p",{children:["Klicken Sie auf den Link in der E-Mail, um Ihr Konto zu aktivieren.",e.jsx("br",{}),"Der Link ist 15 Minuten gültig."]}),l&&e.jsx("p",{className:"mt-3",children:"Für den Newsletter erhalten Sie anschlieÃend eine separate Bestätigungsmail von Mailchimp."})]})]})}export{de as component};
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.