PageSourceSearch

https://cyprusinfo.ai/assets/VerifyEmail-CFkxfTsZ.js

js cyprusinfo.ai collected 2026-10-05 12:21:34 UTC 5,789 bytes, 1 lines download raw bytes

1import{a as j,V as N,b as _,a2 as b,c as y,j as e,L as h,z as k,x as w,y as E,aB as C,q as S,B as l,bU as P,Y as V}from"./index-Bn9xBJf1.js";import{A as B,a as L}from"./alert-DsDEyjeC.js";import{g as A,a as F,S as O}from"./SEO-B7ujsmmr.js";import{g as R}from"./schemaMarkup-l1zYug99.js";const G=()=>{const{t:s}=j(),{toast:i}=N(),n=_(),[o]=b(),[a,c]=y.useState({status:"loading",message:""});y.useEffect(()=>{(async()=>{var u,f;const r=o.get("token");if(!r){c({status:"error",message:s("verify_email.error.no_token","Invalid verification link. Please check your email for the correct link.")});return}try{const t=await(await fetch(`/api/auth/verify-email?token=${encodeURIComponent(r)}`)).json();t.success?(c({status:"success",message:t.message||s("verify_email.success.message","Your email has been verified successfully!"),userEmail:(u=t.user)==null?void 0:u.email,userName:(f=t.user)==null?void 0:f.name}),i({title:s("verify_email.success.title","Email verified!"),description:s("verify_email.success.description","You can now log in to your account.")})):c({status:"error",message:t.error||s("verify_email.error.failed","Email verification failed. The link may be expired or invalid.")})}catch(x){console.error("Email verification error:",x),c({status:"error",message:s("verify_email.error.network","Network error. Please check your connection and try again.")})}})()},[o,s,i]);const v=async()=>{if(a.userEmail)try{const r=await(await fetch("/api/auth/resend-verification",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:a.userEmail})})).json();r.success?i({title:s("verify_email.resend.success_title","Verification email sent!"),description:s("verify_email.resend.success_description","Please check your email for the new verification link.")}):i({title:s("verify_email.resend.error_title","Failed to resend email"),description:r.error||s("verify_email.resend.error_description","Please try again later."),variant:"destructive"})}catch{i({title:s("verify_email.resend.error_title","Failed to resend email"),description:s("verify_email.resend.error_description","Please try again later."),variant:"destructive"})}},g=A("verifyEmail"),m=F("verifyEmail"),p=m?R(m):null;return e.jsxs("div",{className:"min-h-screen bg-cyprus-sandstone-25 flex items-center justify-center p-4",children:[e.jsx(O,{...g,schemaMarkup:p,pageKey:"verifyEmail"}),e.jsxs("div",{className:"w-full max-w-md",children:[e.jsx("div",{className:"mb-6",children:e.jsxs(h,{to:"/",className:"inline-flex items-center text-cyprus-sandstone-600 hover:text-cyprus-sandstone-700 transition-colors",children:[e.jsx(k,{className:"h-4 w-4 mr-2"}),s("verify_email.back_home","Back to Home")]})}),e.jsxs("div",{className:"text-center mb-8",children:[e.jsx("h1",{className:"text-3xl font-bold text-gray-900 mb-2",children:s("verify_email.title","Email Verification")}),e.jsx("p",{className:"text-gray-600",children:s("verify_email.subtitle","Verifying your email address...")})]}),e.jsx(w,{children:e.jsx(E,{className:"pt-6",children:e.jsxs("div",{className:"text-center",children:[a.status==="loading"&&e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"mx-auto flex items-center justify-center w-12 h-12 rounded-full bg-blue-100",children:e.jsx(C,{className:"h-6 w-6 text-blue-600 animate-spin"})}),e.jsx("p",{className:"text-gray-600",children:s("verify_email.loading","Verifying your email address...")})]}),a.status==="success"&&e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"mx-auto flex items-center justify-center w-12 h-12 rounded-full bg-green-100",children:e.jsx(S,{className:"h-6 w-6 text-green-600"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 mb-2",children:s("verify_email.success.title","Email verified!")}),e.jsx("p",{className:"text-gray-600 mb-4",children:a.message}),a.userEmail&&e.jsxs("p",{className:"text-sm text-gray-500 mb-6",children:[s("verify_email.success.email_verified","Email verified:")," ",e.jsx("br",{}),e.jsx("span",{className:"font-medium text-gray-900",children:a.userEmail})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(l,{onClick:()=>
1n("/login"),className:"w-full bg-cyprus-sandstone-500 hover:bg-cyprus-sandstone-600",children:s("verify_email.success.login_button","Continue to Login")}),e.jsx(l,{onClick:()=>n("/"),variant:"outline",className:"w-full",children:s("verify_email.success.home_button","Go to Home")})]})]}),a.status==="error"&&e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"mx-auto flex items-center justify-center w-12 h-12 rounded-full bg-red-100",children:e.jsx(P,{className:"h-6 w-6 text-red-600"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 mb-2",children:s("verify_email.error.title","Verification Failed")}),e.jsx(B,{variant:"destructive",className:"mb-4",children:e.jsx(L,{children:a.message})})]}),e.jsxs("div",{className:"space-y-3",children:[a.userEmail&&e.jsxs(l,{onClick:v,variant:"outline",className:"w-full",children:[e.jsx(V,{className:"h-4 w-4 mr-2"}),s("verify_email.error.resend_button","Resend verification email")]}),e.jsx(l,{onClick:()=>n("/register"),variant:"outline",className:"w-full",children:s("verify_email.error.register_button","Back to Registration")}),e.jsx(l,{onClick:()=>n("/"),variant:"outline",className:"w-full",children:s("verify_email.error.home_button","Go to Home")})]})]})]})})}),e.jsx("div",{className:"mt-6 text-center",children:e.jsxs("p",{className:"text-sm text-gray-500",children:[s("verify_email.help.text","Need help?")," "," ",e.jsx(h,{to:"/contact",className:"text-cyprus-sandstone-600 hover:text-cyprus-sandstone-700 font-medium",children:s("verify_email.help.contact","Contact support")})]})})]})]})};export{G 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.