PageSourceSearch

https://framerformkit.com/_nuxt/B3-VNMj2.js

js framerformkit.com collected 2026-10-08 06:03:31 UTC 5,253 bytes, 1 lines download raw bytes

1import{_ as P}from"./kfeMBk3p.js";import{_ as B}from"./Dn97oMx9.js";import{_ as M}from"./BxauhjWg.js";import{_ as T}from"./BXEFG23Y.js";import{f as S,p as E,k as N,l as V,V as R,r as d,y as r,z as e,A as x,B as f,v as o,D as _,H as b,Q as $,R as h,U as q,Z as k,S as U,F as H,x as a,C as v}from"./B44zxPpk.js";import{u as L}from"./CJm6J7lB.js";import"./DP_nK8D6.js";import"./bXKC-dGE.js";const Z={class:"bg-[#F7F5F2] dark:bg-[#0F0F0F] min-h-screen transition-colors duration-500"},z={class:"container px-4 py-12 mx-auto md:pt-[160px] md:pb-[120px]"},G={class:"bg-white dark:bg-[#1A1A1A] rounded-xl w-full max-w-xl mx-auto p-6 sm:px-14 sm:py-16 border border-transparent dark:border-white/5 transition-colors"},I={class:"text-center mb-10"},O={key:0,class:"mb-6 p-4 bg-emerald-50 dark:bg-emerald-900/20 border border-emerald-200 dark:border-emerald-800/30 rounded-xl transition-colors"},Q={class:"text-emerald-600 dark:text-emerald-400 text-sm"},Y={class:"mt-4 text-center"},j={key:1,class:"mb-6 p-4 bg-rose-50 dark:bg-rose-900/20 border border-rose-200 dark:border-rose-800/30 rounded-xl transition-colors"}
1,J={class:"text-rose-600 dark:text-rose-400 text-sm"},K={class:"relative"},W=["type"],X={key:0,class:"w-5 h-5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},ee={key:1,class:"w-5 h-5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},te=["disabled"],oe={key:0},se={key:1},xe=S({__name:"confirm",setup(re){const{initTheme:y}=L();E(()=>{y()}),N({title:"Set New Password - FramerHub",description:"Set your new password.",robots:"noindex, nofollow"});const w=V().query.token;w||R("/");const n=d(""),i=d(""),c=d(!1),p=d(!1),s=d(""),l=d(""),g=async()=>{if(!n.value||!i.value){s.value="Please enter both password fields";return}if(n.value!==i.value){s.value="Passwords do not match";return}if(!w){s.value="Invalid or missing reset token";return}p.value=!0,s.value="",l.value="";try{const u=await $fetch("/api/auth/reset-password/confirm",{method:"POST",body:{token:w,password:n.value}});u.success?l.value="Your password has been successfully reset.":s.value=u.message||"Failed to reset password"}catch(u){s.value=u.data?.message||"Failed to reset password"}finally{p.value=!1}};return(u,t)=>{const F=P,A=B,D=M,C=T;return a(),r(H,null,[e("div",Z,[e("div",z,[e("div",G,[e("div",I,[x(F,{"title-tag":"h2",titleExtraClass:"text-[40px]"},{default:f(()=>[...t[3]||(t[3]=[v(" Set New Password ",-1)])]),_:1})]),o(l)?(a(),r("div",O,[e("p",Q,_(o(l)),1),e("div",Y,[x(A,{to:"/login",class:"text-[#0F766E] dark:text-[#2DD4BF] font-semibold hover:opacity-80 transition-opacity"},{default:f(()=>[...t[4]||(t[4]=[v(" Go to Login ",-1)])]),_:1})])])):b("",!0),o(s)?(a(),r("div",j,[e("p",J,_(o(s)),1)])):b("",!0),o(l)?b("",!0):(a(),r("form",{key:2,onSubmit:$(g,["prevent"]),class:"space-y-6"},[e("div",null,[t[7]||(t[7]=e("label",{for:"password",class:"block text-[#1A1A1A] dark:text-white/70 mb-2 text-[13px] font-medium transition-colors"},"New Password",-1)),e("div",K,[h(e("input",{"onUpdate:modelValue":t[0]||(t[0]=m=>k(n)?n.value=m:null),type:o(c)?"text":"password",id:"password",name:"password",placeholder:"Enter new password",required:"",class:"w-full px-5 py-3 border rounded-xl text-[14px] transition-colors outline-none bg-[#F7F5F2] dark:bg-white/5 border-[#1A1A1A]/10 dark:border-white/10 text-[#1A1A1A] dark:text-white focus:border-[#0F766E]/50 dark:focus:border-[#2DD4BF]/50 dark:placeholder:text-white/30 pr-12"},null,8,W),[[q,o(n)]]),e("button",{type:"button",onClick:t[1]||(t[1]=m=>c.value=!o(c)),class:"absolute inset-y-0 right-3 flex items-center text-gray-400 dark:text-white/40 hover:text-gray-600 dark:hover:text-white/60 transition-colors"},[o(c)?(a(),r("svg",X,[...t[5]||(t[5]=[e("path",{d:"M17.94 17.94A10.94 10.94 0 0 1 12 20C7 20 2.73 16.11 1 12c.58-1.38 1.5-2.73 2.64-3.88M10.58 10.58A2 2 0 0 0 12 14a2 2 0 0 0 1.42-.58M6.1 6.1 1 1m22 22-5.1-5.1M9.88 4.24A10.94 10.94 0 0 1 12 4c5 0 9.27 3.89 11 8-1.02 2.42-2.77 4.5-4.94 5.94"},null,-1)])])):(a(),r("svg",ee,[...t[6]||(t[6]=[e("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8Z"},null,-1),e("circle",{cx:"12",cy:"12",r:"3"},null,-1)])]))])])]),e("div",null,[t[8]||(t[8]=e("label",{for:"confirmPassword",class:"block text-[#1A1A1A] dark:text-white/70 mb-2 text-[13px] font-medium transition-colors"},"Confirm Password",-1)),h(e("input",{"onUpdate:modelValue":t[2]||(t[2]=m=>k(i)?i.value=m:null),type:"password",id:"confirmPassword",name:"confirmPassword",placeholder:"Confirm new password",required:"",class:"w-full px-5 py-3 border rounded-xl text-[14px] transition-colors outline-none bg-[#F7F5F2] dark:bg-white/5 border-[#1A1A1A]/10 dark:border-white/10 text-[#1A1A1A] dark:text-white focus:border-[#0F766E]/50 dark:focus:border-[#2DD4BF]/50 dark:placeholder:text-white/30"},null,512),[[U,o(i)]])]),e("button",{type:"submit",disabled:o(p),class:"mt-2 w-full py-3.5 text-[14px] font-semibold rounded-xl transition-colors disabled:opacity-50 disabled:cursor-not-allowed bg-[#0F766E] dark:bg-[#2DD4BF] text-white dark:text-[#0F0F0F] hover:bg-[#0F766E]/90 dark:hover:bg-[#2DD4BF]/90 cursor-pointer"},[o(p)?(a(),r("span",oe,"Resetting...")):(a(),r("span",se,"Reset Password"))],8,te)],32))])])]),x(D),x(C)],64)}}});
1export{xe 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.