feat: register and otp integration

This commit is contained in:
boboiazumi
2025-05-26 20:14:26 +07:00
parent 363f1582c9
commit 935d23887c
14 changed files with 273 additions and 90 deletions
+2
View File
@@ -2,3 +2,5 @@ export * from './use-query-state';
export * from './use-auth-store';
export * from './use-modal-login';
export * from './use-session';
export * from './use-register';
export * from './use-otp';
+29
View File
@@ -0,0 +1,29 @@
import { TVerifyOtpRequest, usePostVerifyEmail } from '@imphnen-frontend-service/service';
import { toast } from 'sonner';
import { useNavigate, useSearchParams } from 'react-router';
export const useOtp = () => {
const navigate = useNavigate();
const { mutate, isPending } = usePostVerifyEmail();
const [ searchParams ] = useSearchParams();
const otp = (payload: TVerifyOtpRequest) => {
mutate({ ...payload, email: searchParams.get("email") || "" }, {
onSuccess: (data) => {
toast.success('Berhasil Registrasi');
navigate("/auth/register/success");
},
onError: (err) => {
toast.error(
err?.response?.data?.message ??
'Terjadi Kesalahan yang tidak diketahui'
);
},
});
};
return {
otp,
isLoading: isPending,
};
};
+28
View File
@@ -0,0 +1,28 @@
import { TRegisterRequest, usePostRegister } from '@imphnen-frontend-service/service';
import { toast } from 'sonner';
import { useNavigate } from 'react-router';
export const useRegister = () => {
const navigate = useNavigate();
const { mutate, isPending } = usePostRegister();
const register = (payload: TRegisterRequest) => {
mutate(payload, {
onSuccess: (data) => {
toast.success('Berhasil Registrasi');
navigate(`/auth/register/otp?email=${payload.email}`);
},
onError: (err) => {
toast.error(
err?.response?.data?.message ??
'Terjadi Kesalahan yang tidak diketahui'
);
},
});
};
return {
register,
isLoading: isPending,
};
};