el.xwx.moe/pages/auth/verify-email.tsx
2024-06-09 10:41:06 -04:00

43 lines
957 B
TypeScript

import { signOut } from "next-auth/react";
import { useRouter } from "next/router";
import { useEffect } from "react";
import toast from "react-hot-toast";
import getServerSideProps from "@/lib/client/getServerSideProps";
import { useTranslation } from "next-i18next";
const VerifyEmail = () => {
const router = useRouter();
const { t } = useTranslation();
useEffect(() => {
const token = router.query.token;
if (!token || typeof token !== "string") {
router.push("/login");
}
// Verify token
fetch(`/api/v1/auth/verify-email?token=${token}`, {
method: "POST",
}).then((res) => {
if (res.ok) {
toast.success(t("email_verified_signing_out"));
setTimeout(() => {
signOut();
}, 3000);
} else {
toast.error(t("invalid_token"));
}
});
console.log(token);
}, []);
return <></>;
};
export default VerifyEmail;
export { getServerSideProps };