diff --git a/src/component/common/Auth/Complete/index.tsx b/src/component/common/Auth/Complete/index.tsx
index d6b3be89..284a6bb7 100644
--- a/src/component/common/Auth/Complete/index.tsx
+++ b/src/component/common/Auth/Complete/index.tsx
@@ -1,5 +1,6 @@
import { Link } from 'react-router-dom';
import { ReactComponent as Check } from 'assets/svg/auth/check.svg';
+import useStepStore from 'store/useStepStore';
import styles from './Complete.module.scss';
interface CompleteProps {
@@ -12,6 +13,11 @@ interface CompleteProps {
export default function Complete({
title, topText, bottomText, link, linkText,
}: CompleteProps) {
+ const { setStep } = useStepStore();
+
+ const initialize = () => {
+ setStep(0);
+ };
return (
@@ -26,7 +32,7 @@ export default function Complete({
{bottomText}
-
{linkText}
+
{linkText}
);
}
diff --git a/src/page/Auth/Signup/component/UserEmail/index.tsx b/src/page/Auth/Signup/component/UserEmail/index.tsx
index 95fa7133..0c0dcb08 100644
--- a/src/page/Auth/Signup/component/UserEmail/index.tsx
+++ b/src/page/Auth/Signup/component/UserEmail/index.tsx
@@ -44,17 +44,17 @@ export default function UserEmail() {
이메일 인증
- { (errors.email || (errorMessage && watch().email === email)) && (
- typeof msg === 'string')
- }
- />
+ {(errors.email || (errorMessage && watch().email === email)) && (
+ typeof msg === 'string')
+ }
+ />
)}
{isOpen && }
{isOpen ? (
<>
- { verificateError ?
+ {verificateError ?
: {`* 제한시간 ${getTime()}`}}
-
+
>
)
diff --git a/src/page/Auth/Signup/hooks/useAuthCheck.ts b/src/page/Auth/Signup/hooks/useAuthCheck.ts
index 149bb43b..78e3a25d 100644
--- a/src/page/Auth/Signup/hooks/useAuthCheck.ts
+++ b/src/page/Auth/Signup/hooks/useAuthCheck.ts
@@ -9,7 +9,7 @@ export default function useAuthCheck(userEmail:string, isMobile:boolean) {
const {
status, refetch, isError, error,
} = useGenerateAuthCode(email);
- const errorMessage = status === 'error' ? Object(error).response.data.message : null;
+ const errorMessage = status === 'error' ? Object(error).message : null;
const onSubmit:SubmitHandler = (data) => {
setEmail(() => (data.email ? data.email : ''));
};
diff --git a/src/page/Auth/Signup/view/CompletePage/index.tsx b/src/page/Auth/Signup/view/CompletePage/index.tsx
index 9adb1235..ce38903d 100644
--- a/src/page/Auth/Signup/view/CompletePage/index.tsx
+++ b/src/page/Auth/Signup/view/CompletePage/index.tsx
@@ -1,8 +1,15 @@
import { Link } from 'react-router-dom';
import { ReactComponent as Check } from 'assets/svg/auth/check.svg';
+import useStepStore from 'store/useStepStore';
import styles from './Complete.module.scss';
export default function Complete() {
+ const { setStep } = useStepStore();
+
+ const initialize = () => {
+ setStep(0); // 회원가입을 진행하면서 전역으로 사용하는 step이 증가하고 있음, 따라서 step을 초기화해야 가게 정보 입력 시 처음 스텝부터 시작
+ };
+
return (
@@ -15,7 +22,7 @@ export default function Complete() {
가입 허가가 승인되면 로그인이 가능합니다.
- 로그인 화면 바로가기
+ 로그인 화면 바로가기
);
}
diff --git a/src/page/ShopRegistration/view/Mobile/ShopConfirmation/index.tsx b/src/page/ShopRegistration/view/Mobile/ShopConfirmation/index.tsx
index e1ee181f..ba4d2f84 100644
--- a/src/page/ShopRegistration/view/Mobile/ShopConfirmation/index.tsx
+++ b/src/page/ShopRegistration/view/Mobile/ShopConfirmation/index.tsx
@@ -11,9 +11,11 @@ import { useEffect } from 'react';
import { DAY_OF_WEEK, WEEK } from 'utils/constant/week';
import useModalStore from 'store/modalStore';
import CheckSameTime from 'page/ShopRegistration/hooks/CheckSameTime';
+import { isKoinError } from '@bcsdlab/koin';
+import showToast from 'utils/ts/showToast';
import styles from './ShopConfirmation.module.scss';
-const usePostData = (setStep: (step: number) => void) => {
+export const usePostData = (setStep: (step: number) => void) => {
const queryClient = useQueryClient();
const mutation = useMutation({
mutationFn: (form: OwnerShop) => postShop(form),
@@ -21,6 +23,11 @@ const usePostData = (setStep: (step: number) => void) => {
setStep(5);
queryClient.refetchQueries();
},
+ onError: (e) => {
+ if (isKoinError(e)) {
+ showToast('error', e.message);
+ }
+ },
});
return mutation;
};
diff --git a/src/page/ShopRegistration/view/PC/index.tsx b/src/page/ShopRegistration/view/PC/index.tsx
index a38d0fec..b243c019 100644
--- a/src/page/ShopRegistration/view/PC/index.tsx
+++ b/src/page/ShopRegistration/view/PC/index.tsx
@@ -19,14 +19,13 @@ import { WEEK, DAY_OF_WEEK } from 'utils/constant/week';
import { SubmitHandler, useForm } from 'react-hook-form';
import { zodResolver } from '@hookform/resolvers/zod';
import { OwnerShop } from 'model/shopInfo/ownerShop';
-import { useMutation } from '@tanstack/react-query';
-import { postShop } from 'api/shop';
import useImagesUpload from 'utils/hooks/useImagesUpload';
import CheckSameTime from 'page/ShopRegistration/hooks/CheckSameTime';
import useOperateTimeState from 'page/ShopRegistration/hooks/useOperateTimeState';
import useShopRegistrationStore from 'store/shopRegistration';
import ErrorMessage from 'page/Auth/Signup/component/ErrorMessage';
import { ERRORMESSAGE } from 'page/ShopRegistration/constant/errorMessage';
+import { usePostData } from 'page/ShopRegistration/view/Mobile/ShopConfirmation/index';
import styles from './ShopRegistrationPC.module.scss';
export default function ShopRegistrationPC() {
@@ -99,17 +98,14 @@ export default function ShopRegistrationPC() {
isAllClosed,
} = CheckSameTime();
+ const mutation = usePostData(setStep);
+
const {
register, handleSubmit, setValue, formState: { errors },
} = useForm({
resolver: zodResolver(OwnerShop),
});
- const mutation = useMutation({
- mutationFn: (form: OwnerShop) => postShop(form),
- onSuccess: () => setStep(5),
- });
-
const formatPhoneNumber = (inputNumber: string) => {
const phoneNumber = inputNumber.replace(/\D/g, '');
const formattedPhoneNumber = phoneNumber.replace(/(\d{3})(\d{4})(\d{4})/, '$1-$2-$3');
@@ -205,7 +201,7 @@ export default function ShopRegistrationPC() {
)}
{uploadError === '' && imageUrls.length === 0 && isError
- && }
+ && }
{uploadError !== '' && }
diff --git a/src/query/auth.ts b/src/query/auth.ts
index b2c02408..c31efc75 100644
--- a/src/query/auth.ts
+++ b/src/query/auth.ts
@@ -57,13 +57,15 @@ export const useLogin = () => {
setLoginError('비밀번호가 일치하지 않습니다.');
}
if (err.status === 403) {
- setLoginError('이메일 인증을 완료해주세요.');
+ setLoginError('관리자 승인 대기 중입니다.');
}
if (err.status === 404) {
setLoginError('가입되지 않은 이메일입니다.');
}
if (err.status === 500) {
setLoginError('서버 오류가 발생했습니다.');
+ } else {
+ sendClientError(err);
}
sessionStorage.removeItem('access_token');
localStorage.removeItem('refresh_token');