1- " use client" ;
1+ ' use client' ;
22
3- import Button from " @/components/common/Button" ;
4- import Check from " @/components/common/Check" ;
5- import { Suspense , useState } from " react" ;
6- import styled from " styled-components" ;
7- import { useRouter , useSearchParams } from " next/navigation" ;
8- import NavigatorBar from " @/components/common/NavigatorBar" ;
9- import { userInfo } from " @/recoil/signupStore" ;
10- import { useRecoilState } from " recoil" ;
11- import { links } from " @/styles/theme" ;
12- import Loader , { LoaderContainer } from " @/components/common/Loader" ;
13- import { useToast } from " @/hooks/useToast" ;
3+ import Button from ' @/components/common/Button' ;
4+ import Check from ' @/components/common/Check' ;
5+ import { Suspense , useState } from ' react' ;
6+ import styled from ' styled-components' ;
7+ import { useRouter , useSearchParams } from ' next/navigation' ;
8+ import NavigatorBar from ' @/components/common/NavigatorBar' ;
9+ import { userInfo } from ' @/recoil/signupStore' ;
10+ import { useRecoilState } from ' recoil' ;
11+ import { links } from ' @/styles/theme' ;
12+ import Loader , { LoaderContainer } from ' @/components/common/Loader' ;
13+ import { useToast } from ' @/hooks/useToast' ;
1414
1515const SignupStep1 = ( ) => {
1616 const router = useRouter ( ) ;
1717 const { showToast } = useToast ( ) ;
1818 const searchParams = useSearchParams ( ) ;
19- const url = searchParams . get ( " url" ) ;
19+ const url = searchParams . get ( ' url' ) ;
2020 const [ user , setUser ] = useRecoilState ( userInfo ) ;
2121 const [ isAllChecked , setIsAllChecked ] = useState ( false ) ;
2222 const [ isSerivceChecked , setIsServiceChecked ] = useState ( false ) ;
@@ -28,34 +28,34 @@ const SignupStep1 = () => {
2828 if ( url ) {
2929 router . push ( `/signup/step2?url=${ url } ` ) ;
3030 } else {
31- router . push ( " /signup/step2" ) ;
31+ router . push ( ' /signup/step2' ) ;
3232 }
3333
3434 setUser ( {
3535 ...user ,
3636 marketingPermission : isMarketingChecked ,
3737 servicePermission : isSerivceChecked ,
38- privatePermission : isPersonalChecked ,
38+ privatePermission : isPersonalChecked
3939 } ) ;
4040 } else {
41- showToast ( " 필수 항목에 동의해주세요!" , {
41+ showToast ( ' 필수 항목에 동의해주세요!' , {
4242 icon : true ,
4343 close : false ,
44- bottom : " 120px" ,
44+ bottom : ' 120px'
4545 } ) ;
4646 }
4747 } ;
4848
4949 const handleCheckChange = ( type : string ) => {
5050 switch ( type ) {
51- case " all" :
51+ case ' all' :
5252 const newAllChecked = ! isAllChecked ;
5353 setIsAllChecked ( newAllChecked ) ;
5454 setIsServiceChecked ( newAllChecked ) ;
5555 setIsPersonalChecked ( newAllChecked ) ;
5656 setIsMarketingChecked ( newAllChecked ) ;
5757 break ;
58- case " service" :
58+ case ' service' :
5959 const newServiceChecked = ! isSerivceChecked ;
6060 setIsServiceChecked ( newServiceChecked ) ;
6161 updateAllChecked (
@@ -64,7 +64,7 @@ const SignupStep1 = () => {
6464 isMarketingChecked
6565 ) ;
6666 break ;
67- case " personal" :
67+ case ' personal' :
6868 const newPersonalChecked = ! isPersonalChecked ;
6969 setIsPersonalChecked ( newPersonalChecked ) ;
7070 updateAllChecked (
@@ -73,7 +73,7 @@ const SignupStep1 = () => {
7373 isMarketingChecked
7474 ) ;
7575 break ;
76- case " marketing" :
76+ case ' marketing' :
7777 const newMarketingChecked = ! isMarketingChecked ;
7878 setIsMarketingChecked ( newMarketingChecked ) ;
7979 updateAllChecked (
@@ -113,7 +113,7 @@ const SignupStep1 = () => {
113113 < Check
114114 checkType = "box"
115115 checked = { isAllChecked }
116- onChange = { ( ) => handleCheckChange ( " all" ) }
116+ onChange = { ( ) => handleCheckChange ( ' all' ) }
117117 label = "약관 전체 동의"
118118 sublabel = "(선택사항 포함)"
119119 />
@@ -122,7 +122,7 @@ const SignupStep1 = () => {
122122 < Check
123123 checkType = "default"
124124 checked = { isSerivceChecked }
125- onChange = { ( ) => handleCheckChange ( " service" ) }
125+ onChange = { ( ) => handleCheckChange ( ' service' ) }
126126 label = "서비스 이용 약관"
127127 sublabel = "(필수)"
128128 />
@@ -137,7 +137,7 @@ const SignupStep1 = () => {
137137 < Check
138138 checkType = "default"
139139 checked = { isPersonalChecked }
140- onChange = { ( ) => handleCheckChange ( " personal" ) }
140+ onChange = { ( ) => handleCheckChange ( ' personal' ) }
141141 label = "개인정보 수집 및 이용 동의"
142142 sublabel = "(필수)"
143143 />
@@ -152,7 +152,7 @@ const SignupStep1 = () => {
152152 < Check
153153 checkType = "default"
154154 checked = { isMarketingChecked }
155- onChange = { ( ) => handleCheckChange ( " marketing" ) }
155+ onChange = { ( ) => handleCheckChange ( ' marketing' ) }
156156 label = "마케팅 수신 동의"
157157 sublabel = "(선택)"
158158 />
@@ -169,6 +169,7 @@ const SignupStep1 = () => {
169169 < Button
170170 buttonType = "primary"
171171 text = "다음"
172+ disabled = { ! isSerivceChecked || ! isPersonalChecked }
172173 onClick = { handleButtonClick }
173174 > </ Button >
174175 </ Container >
0 commit comments