Confirm and password emails sending

This commit is contained in:
2025-03-22 23:46:27 -04:00
parent 4d7585c770
commit 3b738c337b
5 changed files with 228 additions and 2 deletions

View File

@@ -0,0 +1,41 @@
import DangerMessage from "@/components/message/DangerMessage";
import SuccessMessage from "@/components/message/SuccessMessage";
import { useConfirm } from "@/hooks/AuthHooks";
import { useTimedModal } from "@/providers/TimedModalProvider";
import { useEffect } from "react";
import { useNavigate, useParams } from "react-router";
export default function ConfirmPage(){
const { confirmToken } = useParams();
const navigate = useNavigate();
const { addErrorMessage, addSuccessMessage } = useTimedModal();
const { mutate: confirmQueryMutate, status: confirmQueryStatus, error: confirmQueryError, reset: confirmQueryReset } = useConfirm();
useEffect(() => {
if(confirmQueryStatus === "idle"){
confirmQueryMutate(confirmToken ?? "");
}
else if(confirmQueryStatus === "error"){
addErrorMessage(confirmQueryError.message);
confirmQueryReset();
}
else if(confirmQueryStatus === "success"){
addSuccessMessage("Email confirmed. Please Login.");
navigate("/login");
}
}, [ confirmToken, confirmQueryMutate, confirmQueryStatus, confirmQueryError, confirmQueryReset, navigate, addSuccessMessage, addErrorMessage ]);
if(confirmQueryStatus === "pending"){
return <main>Confirming...</main>;
}
else if(confirmQueryStatus === "error"){
return <main><DangerMessage>Error: {confirmQueryError.message}</DangerMessage></main>;
}
else if(confirmQueryStatus === "success"){
return <main><SuccessMessage>Confirmed</SuccessMessage></main>;
}
}