@@ -36,36 +36,42 @@ const FirstPlant = ({
3636
3737 const [ isToastOpen , setIsToastOpen ] = useState ( false ) ;
3838 const [ isToastOpen2 , setIsToastOpen2 ] = useState ( false ) ;
39+ const [ isToastOpen3 , setIsToastOpen3 ] = useState ( false ) ;
3940
4041 const [ message , setMessage ] = useState ( "" ) ;
4142
4243 const handleSunLight = async ( ) => {
4344 // 이미 애니메이션 중이면 무시
4445 if ( isSunLight ) return ;
4546 if ( ! isAbleSunLight ) {
46- setIsToastOpen2 ( true ) ;
47+ setIsToastOpen3 ( true ) ;
4748 return ;
4849 }
4950 try {
5051 const res = await axios . post (
5152 `/api/v1/gardens/${ garden ?. gardenId } /sunlight`
5253 ) ;
54+ if ( res . status === 202 ) {
55+ setIsToastOpen3 ( true ) ;
56+ return ;
57+ } else {
58+ setIsSunLight ( true ) ;
59+ // 기존 타이머 클리어
60+ if ( timerRef . current ) {
61+ clearTimeout ( timerRef . current ) ;
62+ timerRef . current = null ;
63+ }
64+
65+ // 1초 후 꺼지게
66+ timerRef . current = window . setTimeout ( ( ) => {
67+ setIsSunLight ( false ) ;
68+ timerRef . current = null ;
69+ } , 1000 ) ;
70+ }
5371 console . log ( res ) ;
54- setIsSunLight ( true ) ;
72+
5573 setIsAbleSunLight ( false ) ;
5674 setIsWater ( false ) ;
57-
58- // 기존 타이머 클리어
59- if ( timerRef . current ) {
60- clearTimeout ( timerRef . current ) ;
61- timerRef . current = null ;
62- }
63-
64- // 1초 후 꺼지게
65- timerRef . current = window . setTimeout ( ( ) => {
66- setIsSunLight ( false ) ;
67- timerRef . current = null ;
68- } , 1000 ) ;
6975 } catch ( error ) {
7076 if ( error instanceof AxiosError ) {
7177 setMessage ( error . response ?. data . message ) ;
@@ -92,20 +98,28 @@ const FirstPlant = ({
9298 `/api/v1/gardens/${ garden ?. gardenId } /mywater`
9399 ) ;
94100 console . log ( res ) ;
95- setIsAbleWater ( false ) ;
96- setIsWater ( true ) ;
97101 setIsSunLight ( false ) ;
98- // 기존 타이머 클리어
99- if ( timerRef . current ) {
100- clearTimeout ( timerRef . current ) ;
101- timerRef . current = null ;
102- }
102+ setIsAbleWater ( false ) ;
103103
104- // 1초 후 꺼지게
105- timerRef . current = window . setTimeout ( ( ) => {
106- setIsWater ( false ) ;
107- timerRef . current = null ;
108- } , 1000 ) ;
104+ if ( res . status === 202 ) {
105+ setIsToastOpen2 ( true ) ;
106+ return ;
107+ } else {
108+ setIsAbleWater ( false ) ;
109+ setIsWater ( true ) ;
110+
111+ // 기존 타이머 클리어
112+ if ( timerRef . current ) {
113+ clearTimeout ( timerRef . current ) ;
114+ timerRef . current = null ;
115+ }
116+
117+ // 1초 후 꺼지게
118+ timerRef . current = window . setTimeout ( ( ) => {
119+ setIsWater ( false ) ;
120+ timerRef . current = null ;
121+ } , 1000 ) ;
122+ }
109123 } catch ( error ) {
110124 if ( error instanceof AxiosError ) {
111125 setMessage ( error . response ?. data . message ) ;
@@ -127,9 +141,9 @@ const FirstPlant = ({
127141 } }
128142 />
129143
130- < div className = "relative z-20 flex h-full w-full flex-col items-center justify-center" >
144+ < div className = "relative z-20 flex h-full w-full flex-col items-center justify-center " >
131145 < header className = "relative flex w-full items-center justify-between p-4 text-heading1 text-white" >
132- < Map isNumber = { 3 } />
146+ < Map isNumber = { 1 } />
133147 { garden ?. avatar . avatarName }
134148 < div className = "h-12 w-12" />
135149 </ header >
@@ -169,10 +183,16 @@ const FirstPlant = ({
169183 ) }
170184 { isToastOpen2 && (
171185 < Toast
172- message = "물 주기(오전 12시) 햇빛 주기( 오전 6시)에 초기화 됩니다. "
186+ message = "물 주기는 오전 12시에 초기화 됩니다"
173187 onClose = { ( ) => setIsToastOpen2 ( false ) }
174188 />
175189 ) }
190+ { isToastOpen3 && (
191+ < Toast
192+ message = "햇빛 주기는 오전 6시에 초기화 됩니다"
193+ onClose = { ( ) => setIsToastOpen3 ( false ) }
194+ />
195+ ) }
176196 { message && < Toast message = { message } onClose = { ( ) => setMessage ( "" ) } /> }
177197 </ div >
178198 ) ;
0 commit comments