PageSourceSearch

https://ikonen-mautner.com/assets/ResetPassword-DoSxx6YP.js

js ikonen-mautner.com collected 2026-09-28 01:18:53 UTC 3,818 bytes, 1 lines download raw bytes

1import{a as r,j as e}from"./vendor-query-DsnS5MQ4.js";import{L as m}from"./vendor-react-DECcuEMU.js";import{S as u,C as h,U as w,L as j,k as N}from"./index-jzTEKQWC.js";import{u as y}from"./useSeo-CQhf3kIq.js";import{A as k}from"./arrow-left-DF2K-pCK.js";import"./vendor-motion-DUGEeG9X.js";import"./index-DCrWAMqs.js";import"./seoNormalizer-g9VQ_7pt.js";function A(){const a=y({type:"vorschau",language:"de"}),l=r.useMemo(()=>a&&{...a,title:"Reset Password – Ikonen Mautner",robots:"noindex, nofollow"},[a]),n=new URLSearchParams(window.location.search).get("token")||"",[o,f]=r.useState(""),[c,b]=r.useState(""),[i,s]=r.useState(null),[d,x]=r.useState(!1),p=async t=>{if(t.preventDefault(),!n){s("Ungültiger oder fehlender Reset-Link.");return}if(o!==c){s("Passwörter stimmen nicht überein.");return}if(o.length<8){s("Passwort muss mindestens 8 Zeichen lang sein.");return}x(!0),s(null);try{await N.auth.resetPassword({resetToken:n,newPassword:o}),window.location.href="/login"}catch(g){s(g.message||"Zurücksetzen fehlgeschlagen."),x(!1)}};return n?e.jsxs("div",{className:"min-h-screen flex items-center justify-center px-6 bg-cream",children:[e.jsx(u,{seo:l}),e.jsxs("div",{className:"w-full max-w-sm",children:[e.jsxs(m,{to:"/login",className:"inline-flex items-center gap-1.5 font-body text-xs tracking-widest uppercase text-charcoal/40 hover:text-charcoal transition-colors mb-8",children:[e.jsx(k,{size:12})," Zurück zum Login"]}),e.jsxs("div",{className:"flex flex-col items-center mb-8",children:[e.jsx(w,{className:"w-8 h-8 text-bronze mb-4"}),e.jsx("h1",{className:"font-heading text-2xl text-charcoal mb-1",children:"Neues Passwort"}),e.jsx("p",{className:"font-body text-sm text-charcoal/50",children:"Passwort zurücksetzen"})]}),e.jsxs("form",{onSubmit:p,className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block font-body text-xs text-charcoal/50 uppercase tracking-wide mb-1",children:"Neues Passwort"}),e.jsx("input",{type:"password","aria-label":"Neues Passwort",value:o,onChange:t=>{f(t.target.value),s(null)},placeholder:"Mindestens 8 Zeichen",autoFocus:!0,required:!0,className:"w-full border border-bronze/30 bg-white px-4 py-3 font-body text-sm text-charcoal placeholder:text-charcoal/30 focus:outline-none focus:border-bronze transition-colors"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block font-body text-xs text-charcoal/50 uppercase tracking-wide mb-1",children:"Bestätigen"}),e.jsx("input",{type:"password","aria-label":"Passwort bestätigen",value:c,onChange:t=>{b(t.target.value),s(null)},placeholder:"••••••••",required:!0,className:"w-full border border-bronze/30 bg-white px-4 py-3 font-body text-sm text-charcoal placeholder:text-charcoal/30 focus:outline-none focus:border-bronze transition-colors"})]}),i&&e.jsxs("p",{className:"font-body text-xs text-red-500 flex items-center gap-1",children:[e.jsx(h,{size:12})," ",i]}),e.jsx("button",{type:"submit",disabled:d,className:"w-full bg-charcoal text-cream font-body text-xs tracking-widest uppercase py-3 hover:bg-charcoal/90 transition-colors disabled:opacity-50",children:d?e.jsx(j,{size:14,className:"animate-spin mx-auto"}):"Passwort setzen"})]})]})]}):e.jsxs("div",{className:"min-h-screen flex items-center justify-center px-6 bg-cream",children:[e.jsx(u,{seo:l}),e.jsxs("div",{className:"w-full max-w-sm text-center",children:[e.jsx(h,{className:"w-8 h-8 text-red-500 mx-auto mb-4"}),e.jsx("h1",{className:"font-heading text-2xl text-charcoal mb-2",children:"Ungültiger Link"}),e.jsx("p",{className:"font-body text-sm text-charcoal/50 mb-6",children:"Dieser Reset-Link ist ungültig oder abgelaufen."}),e.jsx(m,{to:"/forgot-password",className:"font-body text-xs text-bronze hover:underline",children:"Neuen Link anfordern"})]})]})}export{A 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.