PageSourceSearch

https://contentmaps.ai/_nuxt/BJfSo-Q-.js

js contentmaps.ai collected 2026-10-05 13:47:51 UTC 19,855 bytes, 1 lines download raw bytes

1import{_ as G}from"./DRa8APD3.js";import{e as J,z as Q,c as u,a as r,b as o,w as i,k as e,d as f,B as Z,F as I,q as K,o as d,t as c,A as x,C as ee,K as M,V as P,l as v,n as re,r as l,m as T,x as te}from"./DvGhUj3i.js";import{_ as R}from"./Fax7fwF2.js";import{c as ae,_ as oe,a as de,b as se}from"./CKVb8lgk.js";import{_ as ne}from"./GK9m2UBJ.js";import{_ as $}from"./Cg_X2oji.js";import{_ as L}from"./DeEOlGYX.js";import{L as ie}from"./C43lkvE6.js";import{S as le}from"./DnDug2WE.js";import{S as ue}from"./BESvijTW.js";import{C as O}from"./C-tAVXqD.js";import{c as z}from"./sTgdChDr.js";import{A as ce}from"./BfI4EdAD.js";import{L as U}from"./B9u0-X8o.js";import{A as me}from"./t7mB0M98.js";import{E as pe}from"./Dmeud5ED.js";import{E as ge}from"./HNdl5xmV.js";import"./B_GOtBN1.js";import"./CFauazuy.js";import"./BnIMA5jr.js";import"./x2iStWok.js";import"./Dp90GE_6.js";const W=z("KeyRoundIcon",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);const q=z("LockKeyholeIcon",[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]]);const D=z("MailIcon",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]),be={class:"relative min-h-screen overflow-hidden bg-background text-foreground dark:bg-background dark:text-foreground"},fe={class:"relative mx-auto flex min-h-screen w-full max-w-7xl flex-col px-4 py-6 sm:px-6 lg:px-8"},xe={class:"flex items-center justify-between py-4 text-foreground sm:py-6 dark:text-foreground"},ye={class:"flex flex-1 items-center py-8 sm:py-10 lg:py-12"},ve={class:"grid w-full grid-cols-1 items-center gap-8 lg:grid-cols-[1.05fr_0.95fr] lg:gap-14"},ke={class:"mx-auto w-full max-w-2xl text-foreground dark:text-foreground lg:mx-0"},he={class:"space-y-6 sm:space-y-8"},we={class:"inline-flex min-h-11 items-center gap-2 rounded-full border border-border bg-background/80 px-4 text-sm font-medium text-muted-foreground shadow-sm backdrop-blur-sm dark:border-border/80 dark:bg-card/70 dark:text-muted-foreground"},_e={class:"space-y-5"},Ce={class:"grid gap-4 sm:grid-cols-2"},Ve={class:"rounded-[calc(var(--radius)+0.35rem)] border border-border bg-card/90 p-5 text-foreground shadow-sm transition-all duration-200 hover:-translate-y-0.5 hover:border-brand-primary/20 dark:border-border/80 dark:bg-card/90 dark:text-foreground dark:hover:border-brand-primary/35"},Se={class:"mb-4 flex h-11 w-11 items-center justify-center rounded-2xl border border-brand-primary/15 bg-brand-primary/10 text-brand-primary dark:border-brand-primary/25 dark:bg-brand-primary/15 dark:text-brand-primary-light"},Ee={class:"rounded-[calc(var(--radius)+0.35rem)] border border-border bg-card/90 p-5 text-foreground shadow-sm transition-all duration-200 hover:-translate-y-0.5 hover:border-brand-primary/20 dark:border-border/80 dark:bg-card/90 dark:text-foreground dark:hover:border-brand-primary/35"},Pe={class:"mb-4 flex h-11 w-11 items-center justify-center rounded-2xl border border-brand-primary/10 bg-brand-primary-light text-brand-primary dark:border-brand-primary/20 dark:text-brand-primary-light"},Te={class:"rounded-[calc(var(--radius)+0.5rem)] border border-border bg-card/85 p-6 text-foreground shadow-sm dark:border-border/80 dark:bg-card/85 dark:text-foreground"},Re={class:"flex items-center gap-3 border-b border-border pb-4 dark:border-border/80"},$e={class:"flex h-10 w-10 items-center justify-center rounded-2xl border border-brand-primary/10 bg-background text-brand-primary dark:border-brand-primary/20 dark:bg-background dark:text-brand-primary-light"},Le={class:"space-y-3 pt-4"},je={class:"mx-auto flex w-full max-w-xl justify-center text-foreground dark:text-foreground lg:justify-end"},Me={class:"flex items-start justify-between gap-4"},Ue={class:"space-y-3"},qe={class:"inline-flex min-h-10 items-center rounded-full border border-border bg-purple-100 px-3 text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground dark:border-border/80 dark:bg-secondary/80 dark:text-muted-foreground"},ze={class:"space-y-2"},Ne={class:"flex h-12 w-12 shrink-0 items-center justify-center rounded-2xl border border-brand-primary/15 bg-brand-primary/10 text-brand-primary dark:border-brand-primary/25 dark:bg-brand-primary/15 dark:text-brand-primary-light"},Ae={class:"space-y-2"},Be={class:"relative"},Ie={key:0,class:"rounded-[var(--radius)] border border-destructive/20 bg-destructive/5 px-4 py-3 text-sm text-destructive"},Ke={class:"space-y-2"},Oe={class:"relative"},We={key:0,class:"rounded-[var(--radius)] border border-destructive/20 bg-destructive/5 px-4 py-3 text-sm text-destructive"},De={class:"flex flex-col gap-3 sm:flex-row"},Fe={class:"space-y-4"},He={class:"space-y-2"},Xe={class:"relative"},Ye={class:"space-y-2"},Ge={class:"rounded-[calc(var(--radius)+0.2rem)] border border-border bg-secondary/60 p-4 text-foreground dark:border-border/80 dark:bg-secondary/70 dark:text-foreground"},Je={class:"space-y-2"}
1,Qe={key:1,class:"h-4 w-4 rounded-full border border-border dark:border-border/80"},Ze={key:0,class:"rounded-[var(--radius)] border border-destructive/20 bg-destructive/5 px-4 py-3 text-sm text-destructive"},_r=J({__name:"forget-password",setup(er){Q({title:"Reset Password | Contentmaps",ogTitle:"Reset Password | Contentmaps",description:"Reset your Contentmaps account password and get back to your client deliverables.",ogDescription:"Reset your Contentmaps account password and get back to your client deliverables.",follow:!0,robots:"noindex, nofollow"});const s=l(!1),k=l(!1),_=l(!1),b=l(""),h=l(""),p=l(""),S=l(""),C=l(!1),w=l(""),V=l(null),y=l(null),g=l(null),N=T(()=>[{name:"Contains at least one number",predicate:/\d/.test(p.value)},{name:"Contains at least one symbol",predicate:/\W/.test(p.value)},{name:"Has at least 8 characters",predicate:p.value.length>=8},{name:"Matches confirmation",predicate:p.value.length>0&&p.value===S.value}]),A=T(()=>N.value.every(a=>a.predicate)),E=T(()=>_.value?"password":k.value?"code":"email"),m=T(()=>E.value==="code"?{badge:"Step 2 of 3",title:"Check your inbox",description:`We sent a verification code to ${b.value}. Enter it below to continue.`,icon:W,submit:"Verify code",loading:"Verifying..."}:E.value==="password"?{badge:"Step 3 of 3",title:"Create a new password",description:"Use a strong password you have not used before for this account.",icon:q,submit:"Update password",loading:"Updating..."}:{badge:"Step 1 of 3",title:"Reset your password",description:"Enter the email tied to your Contentmaps account and we will send a one-time verification code.",icon:D,submit:"Send code",loading:"Sending..."}),F=["Verification codes expire quickly for safety.","Passwords are updated only after code validation.","Your existing sessions may require signing in again."],j=(a,t)=>typeof a=="object"&&a!==null&&"data"in a&&typeof a.data?.statusMessage=="string"?a.data.statusMessage:typeof a=="object"&&a!==null&&"data"in a&&typeof a.data?.message=="string"?a.data.message:a instanceof Error&&a.message?a.message:t;async function H(){V.value=null,y.value=null,g.value=null;const a=b.value.trim().toLowerCase();if(!a){V.value="Enter the email address linked to your account.";return}s.value=!0;try{await $fetch("/api/sendCode",{method:"POST",body:{email:a}}),b.value=a,k.value=!0,_.value=!1,h.value="",w.value=""}catch(t){V.value=j(t,"We could not find an account with that email address.")}finally{s.value=!1}}async function X(){if(y.value=null,g.value=null,!h.value){y.value="Enter the verification code from your email.";return}s.value=!0;try{const a=await $fetch("/api/updateUserPass",{method:"POST",body:{email:b.value,userVerificationCode:h.value}});if(a?.success&&a?.resetSessionToken){w.value=a.resetSessionToken,k.value=!1,_.value=!0;return}y.value="That code is not valid. Try again or request a new one."}catch(a){y.value=j(a,"That code is not valid. Try again or request a new one.")}finally{s.value=!1}}async function Y(){if(g.value=null,!A.value){g.value="Choose a password that satisfies all security requirements.";return}if(!w.value){g.value="Password reset session expired. Request a new code and try again.",k.value=!1,_.value=!1;return}s.value=!0;try{await $fetch("/api/rewritePassword",{method:"POST",body:{newPassword:p.value,email:b.value,resetSessionToken:w.value}}),w.value="",await te("/sign-in")}catch(a){g.value=j(a,"We could not update your password. Please try again."),g.value.toLowerCase().includes("session expired")&&(w.value="",k.value=!1,_.value=!1)}finally{s.value=!1}}return(a,t)=>{const B=G;return d(),u("div",be,[t[24]||(t[24]=r("div",{class:"pointer-events-none absolute inset-0 bg-[radial-gradient(circle_at_top,rgba(131,42,186,0.16),transparent_38%)] dark:bg-[radial-gradient(circle_at_top,rgba(164,80,229,0.2),transparent_38%)]"},null,-1)),t[25]||(t[25]=r("div",{class:"pointer-events-none absolute inset-x-0 top-0 h-px bg-[linear-gradient(90deg,transparent,rgba(131,42,186,0.45),transparent)] dark:bg-[linear-gradient(90deg,transparent,rgba(164,80,229,0.5),transparent)]"},null,-1)),r("div",fe,[r("header",xe,[o(B,{to:"/",class:"inline-flex items-center transition-opacity duration-150 hover:opacity-80"},{default:i(()=>[o(ie,{size:"sm"})]),_:1}),o(B,{to:"/sign-in",class:"inline-flex min-h-11 items-center gap-2 rounded-full border border-border bg-background/80 px-4 text-sm font-medium text-muted-foreground backdrop-blur-sm transition-colors duration-150 hover:border-brand-primary/20 hover:text-foreground dark:border-border/80 dark:bg-card/70 dark:text-muted-foreground dark:hover:border-brand-primary/35 dark:hover:bg-card dark:hover:text-foreground"},{default:i(()=>[o(e(ce),{class:"h-4 w-4"}),t[6]||(t[6]=r("span",{class:"text-foreground"},"Back to sign in",-1))]),_:1})]),r("main",ye,[r("div",ve,[r("section",ke,[r("div",he,[r("div",we,[o(e(le),{class:"h-4 w-4 text-brand-primary dark:text-brand-primary-light"}
1),t[7]||(t[7]=f(" Secure account recovery ",-1))]),r("div",_e,[t[14]||(t[14]=Z('<div class="space-y-3"><p class="text-sm font-medium uppercase tracking-[0.18em] text-muted-foreground dark:text-muted-foreground"> Password reset </p><h1 class="max-w-xl text-4xl font-semibold tracking-tight text-foreground sm:text-5xl dark:text-foreground"> Recover access with a calmer, <span class="text-foreground"> more secure flow. </span></h1><p class="max-w-xl text-sm leading-relaxed text-muted-foreground sm:text-base dark:text-muted-foreground"> A focused reset experience designed to feel trustworthy, fast, and consistent with the rest of Contentmaps. </p></div>',1)),r("div",Ce,[r("div",Ve,[r("div",Se,[o(e(ue),{class:"h-5 w-5"})]),t[8]||(t[8]=r("h2",{class:"mb-2 text-lg font-semibold text-foreground dark:text-foreground"}," Private by default ",-1)),t[9]||(t[9]=r("p",{class:"text-sm leading-relaxed text-muted-foreground dark:text-muted-foreground"}," Verification, password update, and sign-in happen in a strict sequence with minimal noise. ",-1))]),r("div",Ee,[r("div",Pe,[o(e(O),{class:"h-5 w-5 text-white"})]),t[10]||(t[10]=r("h2",{class:"mb-2 text-lg font-semibold text-foreground dark:text-foreground"}," Built for clarity ",-1)),t[11]||(t[11]=r("p",{class:"text-sm leading-relaxed text-muted-foreground dark:text-muted-foreground"}," Each step stays focused so users can recover their account without guessing what happens next. ",-1))])]),r("div",Te,[r("div",Re,[r("div",$e,[o(e(q),{class:"h-4 w-4"})]),t[12]||(t[12]=r("div",null,[r("p",{class:"text-sm font-semibold text-foreground dark:text-foreground"}," Security checklist "),r("p",{class:"text-sm text-muted-foreground dark:text-muted-foreground"}," Premium UX still needs explicit safeguards. ")],-1))]),r("ul",Le,[(d(),u(I,null,K(F,n=>r("li",{key:n,class:"flex items-start gap-3 text-sm leading-relaxed text-muted-foreground dark:text-muted-foreground"},[t[13]||(t[13]=r("span",{class:"mt-1 h-2 w-2 rounded-full bg-brand-primary dark:bg-brand-primary-light"},null,-1)),r("span",null,c(n),1)])),64))])])])])]),r("section",je,[o(e(ae),{class:"relative w-full overflow-hidden rounded-[calc(var(--radius)+0.65rem)] border border-border/80 bg-card/95 text-foreground shadow-[var(--shadow-lg)] backdrop-blur dark:border-border/80 dark:bg-card/95 dark:text-foreground"},{default:i(()=>[t[23]||(t[23]=r("div",{class:"pointer-events-none absolute inset-x-6 top-0 h-px bg-[linear-gradient(90deg,transparent,rgba(131,42,186,0.55),transparent)] dark:bg-[linear-gradient(90deg,transparent,rgba(164,80,229,0.65),transparent)]"},null,-1)),o(e(oe),{class:"space-y-5 p-6 pb-4 sm:p-8 sm:pb-5"},{default:i(()=>[r("div",Me,[r("div",Ue,[r("div",qe,c(e(m).badge),1),r("div",ze,[o(e(de),{class:"text-2xl font-semibold tracking-tight text-foreground sm:text-3xl dark:text-foreground"},{default:i(()=>[f(c(e(m).title),1)]),_:1}),o(e(se),{class:"max-w-md text-sm leading-relaxed text-muted-foreground sm:text-base dark:text-muted-foreground"},{default:i(()=>[f(c(e(m).description),1)]),_:1})])]),r("div",Ne,[(d(),x(ee(e(m).icon),{class:"h-5 w-5"}))])])]),_:1}),o(e(ne),{class:"space-y-5 p-6 pt-0 sm:p-8 sm:pt-0"},{default:i(()=>[e(E)==="email"?(d(),u("form",{key:0,class:"space-y-5",onSubmit:M(H,["prevent"])},[r("div",Ae,[o(e(L),{for:"reset-email",class:"text-foreground dark:text-foreground"},{default:i(()=>[...t[15]||(t[15]=[f("Email address",-1)])]),_:1}),r("div",Be,[o(e(D),{class:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground dark:text-muted-foreground"}),o(e($),{id:"reset-email",modelValue:e(b),"onUpdate:modelValue":t[0]||(t[0]=n=>P(b)?b.value=n:null),type:"email",placeholder:"[email protected]",autocomplete:"email",class:"h-12 rounded-[var(--radius)] border-border bg-background pl-10 text-sm text-foreground shadow-none dark:border-border/80 dark:bg-background/80 dark:text-foreground dark:placeholder:text-muted-foreground"},null,8,["modelValue"])])]),e(V)?(d(),u("div",Ie,c(e(V)),1)):v("",!0),o(e(R),{type:"submit",size:"lg",disabled:e(s),class:"h-12 w-full rounded-[var(--radius)] bg-brand-primary text-primary-foreground shadow-sm transition-colors duration-150 hover:bg-brand-primary-dark dark:bg-brand-primary-light dark:text-primary-foreground dark:hover:bg-brand-primary"},{default:i(()=>[e(s)?(d(),x(e(U),{key:0,class:"h-4 w-4 animate-spin"})):v("",!0),r("span",null,c(e(s)?e(m).loading:e(m).submit),1),e(s)?v("",!0):(d(),x(e(me),{key:1,class:"h-4 w-4"}))]),_:1},8,["disabled"])],32)):e(E)==="code"?(d(),u("form",{key:1,class:"space-y-5",onSubmit:M(X,["prevent"])},[r("div",Ke,[o(e(L),{for:"verification-code",class:"text-foreground dark:text-foreground"},{default:i(()=>[...t[16]||(t[16]=[f(" Verification code ",-1)])]),_:1}),r("div",Oe,[o(e(W),{class:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground dark:text-muted-foreground"}),o(e($),{id:"verification-code",modelValue:e(h),"onUpdate:modelValue":t[1]||(t[1]=n=>P(h)?h.value=n:null),type:"text",inputmode:"numeric",placeholder:"Enter your co
1de",autocomplete:"one-time-code",class:"h-12 rounded-[var(--radius)] border-border bg-background pl-10 text-sm text-foreground shadow-none dark:border-border/80 dark:bg-background/80 dark:text-foreground dark:placeholder:text-muted-foreground"},null,8,["modelValue"])])]),e(y)?(d(),u("div",We,c(e(y)),1)):v("",!0),r("div",De,[o(e(R),{type:"button",variant:"outline",size:"lg",disabled:e(s),class:"h-12 flex-1 rounded-[var(--radius)] border-border bg-background text-foreground dark:border-border/80 dark:bg-background/60 dark:text-foreground dark:hover:bg-secondary",onClick:t[2]||(t[2]=n=>k.value=!1)},{default:i(()=>[...t[17]||(t[17]=[f(" Change email ",-1)])]),_:1},8,["disabled"]),o(e(R),{type:"submit",size:"lg",disabled:e(s),class:"h-12 flex-1 rounded-[var(--radius)] bg-brand-primary text-primary-foreground shadow-sm transition-colors duration-150 hover:bg-brand-primary-dark dark:bg-brand-primary-light dark:text-primary-foreground dark:hover:bg-brand-primary"},{default:i(()=>[e(s)?(d(),x(e(U),{key:0,class:"h-4 w-4 animate-spin"})):v("",!0),r("span",null,c(e(s)?e(m).loading:e(m).submit),1)]),_:1},8,["disabled"])])],32)):(d(),u("form",{key:2,class:"space-y-5",onSubmit:M(Y,["prevent"])},[r("div",Fe,[r("div",He,[o(e(L),{for:"new-password",class:"text-foreground dark:text-foreground"},{default:i(()=>[...t[18]||(t[18]=[f(" New password ",-1)])]),_:1}),r("div",Xe,[o(e(q),{class:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground dark:text-muted-foreground"}),o(e($),{id:"new-password",modelValue:e(p),"onUpdate:modelValue":t[3]||(t[3]=n=>P(p)?p.value=n:null),type:e(C)?"text":"password",placeholder:"Create a strong password",autocomplete:"new-password",class:"h-12 rounded-[var(--radius)] border-border bg-background pl-10 pr-12 text-sm text-foreground shadow-none dark:border-border/80 dark:bg-background/80 dark:text-foreground dark:placeholder:text-muted-foreground"},null,8,["modelValue","type"]),r("button",{type:"button",class:"absolute right-3 top-1/2 inline-flex h-8 w-8 -translate-y-1/2 items-center justify-center rounded-full text-muted-foreground transition-colors duration-150 hover:bg-secondary hover:text-foreground dark:text-muted-foreground dark:hover:bg-secondary dark:hover:text-foreground",onClick:t[4]||(t[4]=n=>C.value=!e(C))},[e(C)?(d(),x(e(ge),{key:1,class:"h-4 w-4"})):(d(),x(e(pe),{key:0,class:"h-4 w-4"})),t[19]||(t[19]=r("span",{class:"sr-only"}," Toggle password visibility ",-1))])])]),r("div",Ye,[o(e(L),{for:"repeat-password",class:"text-foreground dark:text-foreground"},{default:i(()=>[...t[20]||(t[20]=[f(" Confirm password ",-1)])]),_:1}),o(e($),{id:"repeat-password",modelValue:e(S),"onUpdate:modelValue":t[5]||(t[5]=n=>P(S)?S.value=n:null),type:e(C)?"text":"password",placeholder:"Repeat your new password",autocomplete:"new-password",class:"h-12 rounded-[var(--radius)] border-border bg-background text-sm text-foreground shadow-none dark:border-border/80 dark:bg-background/80 dark:text-foreground dark:placeholder:text-muted-foreground"},null,8,["modelValue","type"])])]),r("div",Ge,[t[21]||(t[21]=r("p",{class:"mb-3 text-sm font-medium text-foreground dark:text-foreground"}," Password requirements ",-1)),r("ul",Je,[(d(!0),u(I,null,K(e(N),n=>(d(),u("li",{key:n.name,class:re(["flex items-center gap-3 text-sm",n.predicate?"text-foreground":"text-muted-foreground"])},[n.predicate?(d(),x(e(O),{key:0,class:"h-4 w-4 text-brand-primary dark:text-brand-primary-light"})):(d(),u("span",Qe)),r("span",null,c(n.name),1)],2))),128))])]),e(g)?(d(),u("div",Ze,c(e(g)),1)):v("",!0),o(e(R),{type:"submit",size:"lg",disabled:e(s)||!e(A),class:"h-12 w-full rounded-[var(--radius)] bg-brand-primary text-primary-foreground shadow-sm transition-colors duration-150 hover:bg-brand-primary-dark dark:bg-brand-primary-light dark:text-primary-foreground dark:hover:bg-brand-primary"},{default:i(()=>[e(s)?(d(),x(e(U),{key:0,class:"h-4 w-4 animate-spin"})):v("",!0),r("span",null,c(e(s)?e(m).loading:e(m).submit),1)]),_:1},8,["disabled"])],32)),t[22]||(t[22]=r("div",{class:"rounded-[calc(var(--radius)+0.2rem)] border border-border bg-background/80 p-4 text-foreground dark:border-border/80 dark:bg-background/70 dark:text-foreground"},[r("p",{class:"text-sm font-medium text-foreground dark:text-foreground"}," Need help? "),r("p",{class:"mt-1 text-sm leading-relaxed text-muted-foreground dark:text-muted-foreground"}
1," If you no longer have access to this email, return to sign in and contact support from the account access flow (or email [email protected] directly). ")],-1))]),_:1})]),_:1})])])])])])}}});export{_r 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.