PageSourceSearch

https://conciergebeauty.de/_app/immutable/nodes/16.DXmlKyGk.js

js conciergebeauty.de collected 2026-10-09 03:13:19 UTC 2,850 bytes, 1 lines download raw bytes

1import"../chunks/Bzak7iHL.js";import{o as L}from"../chunks/H7rU2l5H.js";import{p as C,a as p,b as R,e as S,f as g,$ as j,c,s as y,g as l,r as m,l as b,j as x,d as k,n as E,h as P}from"../chunks/ANZTAEnj.js";import{d as B,s as w,a as H}from"../chunks/2T99bfMv.js";import{s as q,a as z}from"../chunks/DpfRhmDH.js";import{i as D}from"../chunks/APna_KWn.js";import{h as G}from"../chunks/Bws1zfwH.js";import{p as K}from"../chunks/CdwF2dmT.js";const O=["next","booking_draft","first_name","last_name","email"];function T(r){try{const t=new URL(r),e=t.searchParams.get("token_hash")??t.searchParams.get("token"),a=t.searchParams.get("type");return!e||!a?null:{token_hash:e,type:a,redirect_to:t.searchParams.get("redirect_to")}}catch{return null}}function W(r){const t=r.searchParams.get("confirmation_url");if(t){const s=T(t);if(s)return s}const e=r.searchParams.get("token_hash"),a=r.searchParams.get("type");return!e||!a?null:{token_hash:e,type:a,redirect_to:r.searchParams.get("redirect_to")}}function Z(r){const t=W(r);if(!t)return null;const e=new URL("/auth/confirm",r.origin);if(e.searchParams.set("token_hash",t.token_hash),e.searchParams.set("type",t.type),t.redirect_to)e.searchParams.set("redirect_to",t.redirect_to);else for(const a of O){const s=r.searchParams.get(a);s&&e.searchParams.set(a,s)}return e.pathname+e.search}var F=g('<p class="text-red-600 text-sm mb-6" role="alert"> </p> <a href="/login" class="inline-flex items-center justify-center w-full bg-[color:var(--color-primary)] hover:opacity-90 text-[color:var(--color-primary-content)] font-medium py-3 px-6 rounded-lg transition-opacity duration-200">Zur Anmeldung</a>',1),I=g('<p class="text-gray-600 mb-8">Klicke auf die Schaltfläche, um deine Anmeldung abzuschließen.</p> <button type="button" class="w-full bg-[color:var(--color-primary)] hover:opacity-90 text-[color:var(--color-primary-content)] font-medium py-3 px-6 rounded-lg transition-opacity duration-200 disabled:opacity-50"> </button>',1),J=g('<div class="flex min-h-screen items-center justify-center bg-white px-6"><div class="w-full max-w-md text-center"><h1 class="text-2xl font-bold mb-4 text-gray-800">E-Mail bestätigen</h1> <!></div></div>');function rt(r,t){C(t,!0);const e=()=>z(K,"$page",a),[a,s]=q();let f=x(""),u=x(!1);function _(){const o=Z(e().url);if(!o){b(f,"Dieser Anmeldelink ist ungültig. Bitte fordere einen neuen Link an.");return}b(u,!0),window.location.href=o}L(()=>{_()});var d=J();G("1r13qel",o=>{S(()=>{j.title="E-Mail bestätigen - Concierge Beauty"})});var v=c(d),M=y(c(v),2);{var $=o=>{var i=F(),n=k(i),h=c(n,!0);m(n),E(2),P(()=>w(h,l(f))),p(o,i)},A=o=>{var i=I(),n=y(k(i),2),h=c(n,!0);m(n),P(()=>{n.disabled=l(u),w(h,l(u)?"Wird bestätigt …":"E-Mail bestätigen")}),H("click",n,_),p(o,i)};D(M,o=>{l(f)?o($):o(A,-1)})}m(v),m(d),p(r,d),R(),s()}B(["click"]);export{rt 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.