@@ -2,6 +2,7 @@ import { useRouter } from 'next/router';
22
33import { getRandomIndex } from '@utils/randomNumber' ;
44
5+ import { useLoginStatusStore } from '@stores/loginStore' ;
56import { useModalStore } from '@stores/modalStore' ;
67import { useNicknameStore } from '@stores/nicknameStore' ;
78import { useToastVisibleStore } from '@stores/toastVisibleStore' ;
@@ -20,6 +21,7 @@ import {
2021 NICKNAME_MODAL_FIRST_OVER_COUNT ,
2122 NICKNAME_MODAL_SECOND_OVER_COUNT ,
2223} from '@/constants/UserInfoConstants' ;
24+ import { PAGE_ERROR_MESSAGE2 } from '@/constants/errorMessageConstants' ;
2325
2426import { useGetNicknameChangeable } from '../apiHooks/useGetNicknameChangeable' ;
2527import { useGetNicknameRandom } from '../apiHooks/useGetNicknameRandom' ;
@@ -31,6 +33,7 @@ export const useNicknameModals = () => {
3133 const { pushModal, popModal } = useModalStore ( ) ;
3234 const { setToastVisible } = useToastVisibleStore ( ) ;
3335 const { setNickname } = useNicknameStore ( ) ;
36+ const { loginStatus } = useLoginStatusStore ( ) ;
3437
3538 const { mutate : patchNicknameMutate } = usePatchNickname ( ) ;
3639 const { refetch : refetchChangeable } = useGetNicknameChangeable ( ) ;
@@ -54,10 +57,18 @@ export const useNicknameModals = () => {
5457 contents : < NicknameResultModal title = { randomTitles [ getRandomIndex ( 3 ) ] } newNickname = { data } /> ,
5558 submitFunction : ( ) => pushCompleteModal ( ) ,
5659 cancelFunction : async ( ) => {
57- const data = await refetch ( ) ;
58- setNickname ( data . data ) ;
60+ if ( loginStatus !== 'login' ) {
61+ popModal ( ) ;
62+ return setToastVisible ( { message : PAGE_ERROR_MESSAGE2 , type : 'error' } ) ;
63+ }
5964
60- pushNicknameResult20Modal ( nextCount , data . data ) ;
65+ const refetchResult = await refetch ( ) ;
66+ const nextNickname = refetchResult . data ;
67+ if ( ! nextNickname ) return setToastVisible ( { message : PAGE_ERROR_MESSAGE2 , type : 'error' } ) ;
68+
69+ setNickname ( nextNickname ) ;
70+
71+ pushNicknameResult20Modal ( nextCount , nextNickname ) ;
6172 } ,
6273 } ) ;
6374 } ;
@@ -77,12 +88,20 @@ export const useNicknameModals = () => {
7788 contents : < NicknameResultModal title = { randomTitles [ getRandomIndex ( 3 ) ] } newNickname = { data } /> ,
7889 submitFunction : ( ) => pushCompleteModal ( ) ,
7990 cancelFunction : async ( ) => {
80- const data = await refetch ( ) ;
81- setNickname ( data . data ) ;
91+ if ( loginStatus !== 'login' ) {
92+ popModal ( ) ;
93+ return setToastVisible ( { message : PAGE_ERROR_MESSAGE2 , type : 'error' } ) ;
94+ }
95+
96+ const refetchResult = await refetch ( ) ;
97+ const nextNickname = refetchResult . data ;
98+ if ( ! nextNickname ) return setToastVisible ( { message : PAGE_ERROR_MESSAGE2 , type : 'error' } ) ;
99+
100+ setNickname ( nextNickname ) ;
82101
83102 count >= NICKNAME_MODAL_SECOND_OVER_COUNT - 1
84- ? pushNicknameResult20Modal ( nextCount , data . data )
85- : pushNicknameResult10Modal ( nextCount , data . data ) ;
103+ ? pushNicknameResult20Modal ( nextCount , nextNickname )
104+ : pushNicknameResult10Modal ( nextCount , nextNickname ) ;
86105 } ,
87106 } ) ;
88107 } ;
@@ -102,12 +121,19 @@ export const useNicknameModals = () => {
102121 contents : < NicknameResultModal title = { randomTitles [ getRandomIndex ( 3 ) ] } newNickname = { data } /> ,
103122 submitFunction : ( ) => pushCompleteModal ( ) ,
104123 cancelFunction : async ( ) => {
105- const { data } = await refetch ( ) ;
106- setNickname ( data ) ;
124+ if ( loginStatus !== 'login' ) {
125+ popModal ( ) ;
126+ return setToastVisible ( { message : PAGE_ERROR_MESSAGE2 , type : 'error' } ) ;
127+ }
128+
129+ const { data : nextNickname } = await refetch ( ) ;
130+ if ( ! nextNickname ) return setToastVisible ( { message : PAGE_ERROR_MESSAGE2 , type : 'error' } ) ;
131+
132+ setNickname ( nextNickname ) ;
107133
108134 count >= NICKNAME_MODAL_FIRST_OVER_COUNT - 1
109- ? pushNicknameResult10Modal ( nextCount , data )
110- : pushNicknameResultModal ( nextCount , data ) ;
135+ ? pushNicknameResult10Modal ( nextCount , nextNickname )
136+ : pushNicknameResultModal ( nextCount , nextNickname ) ;
111137 } ,
112138 } ) ;
113139 } ;
@@ -138,7 +164,10 @@ export const useNicknameModals = () => {
138164
139165 pushModal ( {
140166 ...MYINFO_NICKNAME_EDIT_MODAL ,
141- submitFunction : ( ) => pushNicknameResultModal ( 1 ) ,
167+ submitFunction : async ( ) => {
168+ pushNicknameResultModal ( 1 ) ;
169+ await refetch ( ) ;
170+ } ,
142171 cancelFunction : ( ) => popModal ( ) ,
143172 } ) ;
144173 } ;
0 commit comments