Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 17 additions & 1 deletion src/pages/signin/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import { useRouter } from 'next/router';
import { FormProvider, useForm, type SubmitHandler } from 'react-hook-form';
import z from 'zod';

import { getUser } from '@/api/user';
import KakaoIcon from '@/assets/icons/kakao.svg';
import AuthLayout from '@/components/auth/AuthLayout';
import AuthLogo from '@/components/auth/AuthLogo';
Expand All @@ -16,8 +17,10 @@ import ErrorModal from '@/components/common/Modal/ErrorModal';
import { Button } from '@/components/ui/button';
import useErrorModal from '@/hooks/useErrorModal';
import useTokenCheckRedirect from '@/hooks/useTokenCheckRedirect';
import { useUser } from '@/hooks/useUser';
import { emailSchema, passwordSchema } from '@/lib/form/schemas';
import { LoginRequest, LoginResponse } from '@/types/AuthTypes';
import { GetUserResponse } from '@/types/UserTypes';

import { loginUser } from '../../api/auth';

Expand All @@ -29,6 +32,7 @@ const LoginSchema = z.object({
type LoginData = z.infer<typeof LoginSchema>;

const SignIn = () => {
const { setUser } = useUser();
const { open, setOpen, handleError, errorMessage } = useErrorModal();
const { isLoading } = useTokenCheckRedirect();
const router = useRouter();
Expand All @@ -48,7 +52,7 @@ const SignIn = () => {
const loginMutation = useMutation<LoginResponse, AxiosError, LoginRequest>({
mutationFn: loginUser,
onSuccess: () => {
router.push('/');
userMutation.mutate();
},
onError: (error) => {
if (error.response?.status === 400) {
Expand All @@ -61,6 +65,18 @@ const SignIn = () => {
},
});

const userMutation = useMutation<GetUserResponse, AxiosError>({
mutationFn: getUser,
onSuccess: (data) => {
setUser(data);
router.push('/');
},
onError: (error) => {
// API 에러를 모달로 출력
handleError(error.response?.data as Error);
},
});

const handleOnClickLogin: SubmitHandler<LoginData> = (formData) => {
loginMutation.mutate(formData);
};
Expand Down
16 changes: 16 additions & 0 deletions src/pages/signup/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,23 @@ import { FormProvider, useForm, type SubmitHandler } from 'react-hook-form';
import z from 'zod';

import { createUser, loginUser } from '@/api/auth';
import { getUser } from '@/api/user';
import AuthLayout from '@/components/auth/AuthLayout';
import AuthLogo from '@/components/auth/AuthLogo';
import FormInput from '@/components/common/FormInput';
import ErrorModal from '@/components/common/Modal/ErrorModal';
import { Button } from '@/components/ui/button';
import useErrorModal from '@/hooks/useErrorModal';
import useTokenCheckRedirect from '@/hooks/useTokenCheckRedirect';
import { useUser } from '@/hooks/useUser';
import {
emailSchema,
nicknameSchema,
passwordSchema,
passwordConfirmationSchema,
} from '@/lib/form/schemas';
import { LoginRequest, LoginResponse, SignupRequest, SignupResponse } from '@/types/AuthTypes';
import { GetUserResponse } from '@/types/UserTypes';

const SignupSchema = z
.object({
Expand All @@ -39,6 +42,7 @@ const SignupSchema = z
type SignupData = z.infer<typeof SignupSchema>;

const Signup = () => {
const { setUser } = useUser();
const { open, setOpen, handleError, errorMessage } = useErrorModal();
const { isLoading } = useTokenCheckRedirect();
const router = useRouter();
Expand Down Expand Up @@ -77,6 +81,18 @@ const Signup = () => {
const loginMutation = useMutation<LoginResponse, AxiosError, LoginRequest>({
mutationFn: loginUser,
onSuccess: () => {
userMutation.mutate();
},
onError: (error) => {
// API 에러를 모달로 출력
handleError(error.response?.data as Error);
},
});

const userMutation = useMutation<GetUserResponse, AxiosError>({
mutationFn: getUser,
onSuccess: (data) => {
setUser(data);
router.push('/');
},
onError: (error) => {
Expand Down