@@ -69,6 +69,7 @@ const ReservationForm = ({
6969 const isTablet = useIsTablet ( ) ;
7070 const { isLoggedIn } = useAuthStore ( ) ;
7171 const { mutate } = useReservationMutation ( activityId ) ;
72+ const [ countUpdateForRender , setCountUpdateForRender ] = useState ( 1 ) ; // 이후 리팩토링 시 - 필드값 수정하는거 제거하고, 이 상태값을 필드에 연결하는거로 변경
7273 const { data, isLoading, error } = useSchedulesQuery ( activityId , {
7374 year : String ( year ) ,
7475 month : String ( month + 1 ) . padStart ( 2 , '0' ) ,
@@ -91,7 +92,6 @@ const ReservationForm = ({
9192 const today = formatDateToYMD ( new Date ( ) ) ;
9293 const notYetPassed = data ?. filter ( ( schedule ) => schedule . date >= today ) ;
9394 setScheduledDate ( notYetPassed ) ;
94- console . log ( today ) ;
9595 } , [ data , isLoading , error ] ) ;
9696
9797 // 선택한 날짜가 바뀌면, 이전에 선택한 스케줄을 취소함. 새로운 날짜에 스케줄이 존재하면 TimeSlot선택지를 보여주기 위해 schedulesInDate 업데이트
@@ -108,9 +108,10 @@ const ReservationForm = ({
108108 const today = new Date ( ) ;
109109 setYear ( today . getFullYear ( ) ) ;
110110 setMonth ( today . getMonth ( ) ) ;
111+ resetSelectedDate ( ) ;
111112 resetDate ( ) ;
112113 } ;
113- } , [ setMonth , setYear , resetDate ] ) ;
114+ } , [ setMonth , setYear , resetDate , resetSelectedDate ] ) ;
114115
115116 return (
116117 < >
@@ -122,10 +123,8 @@ const ReservationForm = ({
122123 < form
123124 // data: { scheduleId, headCount }
124125 onSubmit = { handleSubmit ( ( data ) => {
125- console . log ( '제출' , data , typeof getValues ( 'scheduleId' ) ) ;
126126 mutate ( data , {
127- onSuccess : ( res ) => {
128- console . log ( '✅ 예약 성공:' , res ) ;
127+ onSuccess : ( ) => {
129128 openSecondModal ( undefined , 'success' ) ;
130129 addReservation ( data . scheduleId ) ; //save id in localStorage
131130 resetSelectedDate ( ) ; //🐛이거 해도 제출후 다시 열어보면, 이전 선택 날짜가 칠해져있음...:스타일링은 date 담당이기 떄문이었다.
@@ -134,7 +133,6 @@ const ReservationForm = ({
134133 reset ( ) ; // 제출 후 폼 초기화
135134 } ,
136135 onError : ( err ) => {
137- console . error ( '❌ 예약 실패:' , err ) ;
138136 if ( axios . isAxiosError ( err ) ) {
139137 const errorMessage = err . response ?. data . message ;
140138 toast . error ( `<예약 실패>❗️ ${ errorMessage } ` ) ;
@@ -244,6 +242,7 @@ const ReservationForm = ({
244242 disabled = { value <= 1 }
245243 onClick = { ( ) => {
246244 field . onChange ( value - 1 ) ;
245+ setCountUpdateForRender ( ( prev ) => prev - 1 ) ;
247246 } }
248247 >
249248 < Minus strokeWidth = { 1.5 } size = { 20 } />
@@ -263,6 +262,7 @@ const ReservationForm = ({
263262 className = "cursor-pointer p-[1rem]"
264263 onClick = { ( ) => {
265264 field . onChange ( value + 1 ) ;
265+ setCountUpdateForRender ( ( prev ) => prev + 1 ) ;
266266 } }
267267 >
268268 < Plus strokeWidth = { 1.5 } size = { 20 } />
@@ -375,7 +375,7 @@ const ReservationForm = ({
375375 ) }
376376 { price && (
377377 < span className = "inline-block text-[1.8rem] leading-none font-bold text-gray-950" >
378- ₩{ formatPrice ( price * getValues ( 'headCount' ) ) }
378+ ₩{ formatPrice ( price * countUpdateForRender ) }
379379 </ span >
380380 ) }
381381 { ! isDesktop && (
@@ -390,9 +390,9 @@ const ReservationForm = ({
390390 onClick = { ( ) => ! appear && appearModal ( ) }
391391 type = "button"
392392 >
393- { formatDateToShortSlash ( selectedDate ) }
393+ { selectedDate &&
394+ `${ formatDateToShortSlash ( selectedDate ) } ${ selectedTime } ` }
394395 { selectedDate && ! selectedTime && ', 시간을 선택해주세요' }
395- { selectedTime }
396396 </ button >
397397 </ div >
398398
0 commit comments