feat: gacha auth integration (#32)

* feat(gacha): register and login integration

* fix: navbar and gacha landing page

- display fullname when user authenticated
- fix styling and responsive

* fix: minor fix UI
This commit is contained in:
Hafid Nur
2025-05-27 01:41:13 +07:00
committed by GitHub
parent aaf5b4262d
commit 9f25941a4a
13 changed files with 415 additions and 330 deletions
+23 -2
View File
@@ -6,9 +6,20 @@ import {
} from '@imphnen-frontend-service/service';
import { zodResolver } from '@hookform/resolvers/zod';
import { toast } from 'sonner';
import { useVerifyEmail } from './use-verify-email';
export const useRegister = () => {
const postRegister = usePostRegister();
const {
verifyForm,
onVerifySubmit,
showVerifyModal,
openVerifyModal,
closeVerifyModal,
isVerifying,
emailToVerify,
} = useVerifyEmail();
const form = useForm<TRegisterRequest>({
resolver: zodResolver(authRegisterSchema),
mode: 'all',
@@ -23,13 +34,23 @@ export const useRegister = () => {
const onSubmit = form.handleSubmit((data) => {
postRegister.mutate(data, {
onSuccess: () => toast.success('Registrasi sukses'),
onError: (error) => toast.error(error.message),
onSuccess: () => {
toast.success('Registrasi sukses. Silakan verifikasi email Anda.');
openVerifyModal(data.email);
},
onError: (error) => toast.error(error.message || 'Registrasi gagal'),
});
});
return {
form,
verifyForm,
onSubmit,
onVerifySubmit,
showVerifyModal,
closeVerifyModal,
isVerifying,
isRegistering: postRegister.isPending,
registeredEmail: emailToVerify,
};
};