✨ Verify sms request working
This commit is contained in:
parent
0cf67261a0
commit
6017803cee
29
src/front/Api/Auth/Customer/Auth.ts
Normal file
29
src/front/Api/Auth/Customer/Auth.ts
Normal file
@ -0,0 +1,29 @@
|
||||
import BaseApiService from "@Front/Api/BaseApiService";
|
||||
|
||||
export type IMailVerifyParams = {
|
||||
email: string;
|
||||
};
|
||||
|
||||
export type IMailVerifyReturn = {
|
||||
partialPhoneNumber: string;
|
||||
};
|
||||
|
||||
export default class Auth extends BaseApiService {
|
||||
private static instance: Auth;
|
||||
protected readonly namespaceUrl = this.getBaseUrl().concat("/customer");
|
||||
private readonly baseURl = this.namespaceUrl.concat("/auth");
|
||||
|
||||
public static getInstance() {
|
||||
return (this.instance ??= new this());
|
||||
}
|
||||
|
||||
public async mailVerifySms(body: IMailVerifyParams): Promise<IMailVerifyReturn> {
|
||||
const url = new URL(this.baseURl.concat("/mail/verify-sms"));
|
||||
try {
|
||||
return this.postRequest<IMailVerifyReturn>(url, body);
|
||||
} catch (err) {
|
||||
this.onError(err);
|
||||
return Promise.reject(err);
|
||||
}
|
||||
}
|
||||
}
|
@ -8,15 +8,17 @@ import { useCallback, useEffect, useState } from "react";
|
||||
import Customers from "@Front/Api/Auth/Id360/Customers/Customers";
|
||||
import classes from "./classes.module.scss";
|
||||
import LandingImage from "./landing-connect.jpeg";
|
||||
import Link from "next/link";
|
||||
import Confirm from "@Front/Components/DesignSystem/Modal/Confirm";
|
||||
import Form from "@Front/Components/DesignSystem/Form";
|
||||
import TextField from "@Front/Components/DesignSystem/Form/TextField";
|
||||
import Module from "@Front/Config/Module";
|
||||
import { ValidationError } from "class-validator";
|
||||
import Auth from "@Front/Api/Auth/Customer/Auth";
|
||||
|
||||
export default function Login() {
|
||||
const router = useRouter();
|
||||
const error = router.query["error"];
|
||||
|
||||
const [validationError, setValidationError] = useState<ValidationError[]>([]);
|
||||
const [isErrorModalOpen, setIsErrorModalOpen] = useState(false);
|
||||
|
||||
const redirectCustomerOnConnection = useCallback(() => {
|
||||
@ -43,6 +45,25 @@ export default function Login() {
|
||||
if (error === "1") openErrorModal();
|
||||
}, [error, openErrorModal]);
|
||||
|
||||
const onSubmitHandler = useCallback(
|
||||
async (e: React.FormEvent<HTMLFormElement> | null, values: { [key: string]: string }) => {
|
||||
try {
|
||||
console.log(values);
|
||||
if (!values["email"]) return;
|
||||
const phoneNumber = await Auth.getInstance().mailVerifySms({ email: values["email"] });
|
||||
/* router.push(
|
||||
Module.getInstance().get().modules.pages.DeedTypes.pages.DeedTypesInformations.props.path.replace("[uid]", "1"),
|
||||
); */
|
||||
} catch (validationErrors: Array<ValidationError> | any) {
|
||||
console.log(validationErrors);
|
||||
if (validationErrors.length > 0) {
|
||||
setValidationError(validationErrors as ValidationError[]);
|
||||
}
|
||||
return;
|
||||
}
|
||||
},
|
||||
[router],
|
||||
);
|
||||
return (
|
||||
<DefaultDoubleSidePage title={"Login"} image={LandingImage}>
|
||||
<div className={classes["root"]}>
|
||||
@ -55,8 +76,12 @@ export default function Login() {
|
||||
<Typography className={classes["or"]} typo={ITypo.P_16}>
|
||||
Ou
|
||||
</Typography>
|
||||
<Form className={classes["form"]}>
|
||||
<TextField placeholder="E-mail" name="email" />
|
||||
<Form className={classes["form"]} onSubmit={onSubmitHandler}>
|
||||
<TextField
|
||||
placeholder="E-mail"
|
||||
name="email"
|
||||
validationError={validationError.find((error) => error.property === "email")}
|
||||
/>
|
||||
<Button type="submit" variant={EButtonVariant.PRIMARY} className={classes["submit_button"]}>
|
||||
Suivant
|
||||
</Button>
|
||||
|
Loading…
x
Reference in New Issue
Block a user