Login:Src:Components: EmailActivationForm
This commit is contained in:
parent
26a8d41be2
commit
5c401190bc
@ -26,10 +26,52 @@
|
|||||||
|
|
||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import withLoader from "@/app/(root)/confirm/withLoader";
|
import { useContext, useEffect, useState } from "react";
|
||||||
|
import { useRouter } from "next/navigation";
|
||||||
|
import { EmployeeActivationStatus } from "@docspace/shared/enums";
|
||||||
|
import { updateActivationStatus } from "@docspace/shared/api/people";
|
||||||
|
import { ConfirmRouteContext } from "@/app/(root)/confirm/confirmRoute";
|
||||||
|
import { TError } from "@/types";
|
||||||
|
|
||||||
|
import AppLoader from "@docspace/shared/components/app-loader";
|
||||||
|
|
||||||
const EmailActivationForm = () => {
|
const EmailActivationForm = () => {
|
||||||
return <div>Email activation</div>;
|
const [error, setError] = useState<string>();
|
||||||
|
|
||||||
|
const { linkData } = useContext(ConfirmRouteContext);
|
||||||
|
const router = useRouter();
|
||||||
|
|
||||||
|
const { email, uid = "", key = "" } = linkData;
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
updateActivationStatus(EmployeeActivationStatus.Activated, uid, key)
|
||||||
|
.then(() => {
|
||||||
|
window.location.replace(`/login?confirmedEmail=${email}`);
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
const knownError = error as TError;
|
||||||
|
let errorMessage: string;
|
||||||
|
|
||||||
|
if (typeof knownError === "object") {
|
||||||
|
errorMessage =
|
||||||
|
knownError?.response?.data?.error?.message ||
|
||||||
|
knownError?.statusText ||
|
||||||
|
knownError?.message ||
|
||||||
|
"";
|
||||||
|
} else {
|
||||||
|
errorMessage = knownError;
|
||||||
|
}
|
||||||
|
|
||||||
|
setError(errorMessage);
|
||||||
|
});
|
||||||
|
}, [email, key, uid, router]);
|
||||||
|
|
||||||
|
if (error) {
|
||||||
|
console.error(error);
|
||||||
|
throw new Error(error);
|
||||||
|
}
|
||||||
|
|
||||||
|
return <AppLoader />;
|
||||||
};
|
};
|
||||||
|
|
||||||
export default withLoader(EmailActivationForm);
|
export default EmailActivationForm;
|
||||||
|
Loading…
Reference in New Issue
Block a user