"use client" import React from "react"; import { useForm } from "react-hook-form"; import { yupResolver } from "@hookform/resolvers/yup"; import { changeEmailValidationSchema } from "@/utils/form"; import { toast } from "react-toastify"; import PocketBase from 'pocketbase'; import PageWrapper from "@/components/Utilities/PageWrapper"; import { usePathname, useRouter } from 'next/navigation'; import Background from "@/components/Utilities/Background"; import PageHeader from "@/sections/PageHeader"; const pb = new PocketBase(process.env.NEXT_PUBLIC_POCKETBASE_URL as string); export default function ConfirmEmailChangePage() { const pathName = usePathname(); const token = pathName.split('/').at(-1); const { register, handleSubmit, formState: { errors, isSubmitting }, reset } = useForm({ resolver: yupResolver(changeEmailValidationSchema), }); const onSubmit = async (data: any) => { try { await pb.collection('user').confirmEmailChange( token ?? "", data.password, ); reset(); document.getElementById("sign-in-modal")?.click(); } catch (error) { if (error instanceof Error) { toast.error("There was a problem. Please try change your email again", { position: "bottom-left", autoClose: 5000, hideProgressBar: false, closeOnClick: true, pauseOnHover: true, draggable: true, progress: undefined, theme: "colored", }); } } }; return (
} />
{errors.password?.message} 
); }