diff --git a/src/Components/Api/Api.tsx b/src/Components/Api/Api.tsx index db8d4fb..e9e1499 100644 --- a/src/Components/Api/Api.tsx +++ b/src/Components/Api/Api.tsx @@ -206,3 +206,19 @@ export async function CheckSavedSession() { console.log("No previous session found"); return false; } + +export function VerifyEmail(email: string) { + return axios + .get( + "https://emailvalidation.abstractapi.com/v1/?api_key=d7abfb5f41b7476faaebe37ceba8ae37&email=" + + email + ) + .then((response) => { + console.log("Email valid?" + response.data); + return true; + }) + .catch((error) => { + console.log("Email valid?" + error); + return false; + }); +} diff --git a/src/Routes/Register/Register.tsx b/src/Routes/Register/Register.tsx index 1224982..984bcd1 100644 --- a/src/Routes/Register/Register.tsx +++ b/src/Routes/Register/Register.tsx @@ -5,7 +5,7 @@ import { Button } from "@mui/material"; import { useDispatch } from "react-redux"; import { useNavigate } from "react-router-dom"; import { useState } from "react"; -import { UserRegister } from "../../Components/Api/Api"; +import { UserRegister, VerifyEmail } from "../../Components/Api/Api"; export default function Register() { const navigate = useNavigate(); const dispatch = useDispatch(); @@ -65,18 +65,24 @@ export default function Register() { style={styles.login_button} variant="contained" onClick={async () => { + console.log("Email valid?" + (await VerifyEmail(user.email))); + if (await VerifyEmail(user.email)) { + if (await UserRegister(user)) { + setFeedback( + "Registration success. Please check your email address for activation" + ); + } else { + setFeedback("Invalid credentials specified"); + } + } else { + setFeedback("Email does not exist"); + } + setUser({ email: "", username: "", password: "", }); - if (await UserRegister(user)) { - setFeedback( - "Registration success. Please check your email address for activation" - ); - } else { - setFeedback("Invalid credentials specified"); - } }} > Register