@@ -17,19 +17,17 @@ export function GuidebookPage5() {
1717 } ;
1818
1919 return (
20- < section className = "flex h-full min-h-full w-full flex-col items-center justify-center" >
20+ < section className = "flex h-full min-h-full w-full flex-col items-center justify-start gap-2 overflow-y-auto px-4 py-4 sm:justify- center sm:gap-3 sm:overflow-visible sm:px-0 sm:py-0 lg:gap-4 xl:gap-6 " >
2121 < motion . div
22- className = "mb-6 text-center max-[1024px] :mb-4 "
22+ className = "mb-3 text-center sm :mb-6 "
2323 initial = { { opacity : 0 , y : 20 } }
2424 animate = { { opacity : 1 , y : 0 } }
2525 transition = { { duration : 0.6 } }
2626 >
27- < p className = "text-muted-foreground text-base max-[1024px]:text-sm" >
28- 5단계로 간편하게 경매를 등록하세요
29- </ p >
27+ < h2 className = "text-muted-foreground text-sm sm:text-base" > 간편하게 경매를 등록하세요</ h2 >
3028 </ motion . div >
3129
32- < div className = "mb-8 flex flex-wrap items-center justify-center gap-3 max-[1024px]:mb-6 max-[1024px]: gap-2.5 " >
30+ < div className = "flex flex-wrap items-center justify-center gap-2 sm: gap-3 " >
3331 { steps . map ( ( step , index ) => {
3432 const isCompleted = completedSteps . includes ( index ) ;
3533 const isCurrent = index === currentStep ;
@@ -49,14 +47,14 @@ export function GuidebookPage5() {
4947 < React . Fragment key = { step . id } >
5048 < motion . button
5149 onClick = { ( ) => setCurrentStep ( index ) }
52- className = "flex flex-col items-center gap-2 transition-all"
50+ className = "flex flex-col items-center gap-1.5 transition-all sm:gap-2 "
5351 initial = { { opacity : 0 , scale : 0.8 } }
5452 animate = { { opacity : 1 , scale : 1 } }
5553 transition = { { delay : index * 0.1 } }
5654 whileHover = { { scale : 1.05 } }
5755 >
5856 < motion . div
59- className = "flex h-12 w-12 items-center justify-center rounded-full border-2 transition-all max-[1024px] :h-10 max-[1024px] :w-10 "
57+ className = "flex h-9 w-9 items-center justify-center rounded-full border-2 transition-all sm :h-12 sm :w-12 "
6058 style = { {
6159 borderColor,
6260 backgroundColor,
@@ -74,27 +72,24 @@ export function GuidebookPage5() {
7472 transition = { { duration : 1.5 , repeat : Infinity } }
7573 >
7674 { isCompleted ? (
77- < CheckCircle className = "h-6 w-6 text-white max-[1024px]:h-5 max-[1024px]:w-5 " />
75+ < CheckCircle className = "size-5 text-white sm:size-6 " />
7876 ) : (
7977 React . createElement ( step . icon , {
80- className : "h-5 w-5 max-[1024px]:h-4 max-[1024px]:w-4 " ,
78+ className : "size-4 sm:size-5 " ,
8179 style : {
8280 color : iconColor ,
8381 } ,
8482 } )
8583 ) }
8684 </ motion . div >
87- < span
88- className = "text-xs font-medium max-[1024px]:text-[11px]"
89- style = { { color : labelColor } }
90- >
85+ < span className = "text-xs font-medium sm:text-xs" style = { { color : labelColor } } >
9186 Step { index + 1 }
9287 </ span >
9388 </ motion . button >
9489
9590 { index < steps . length - 1 && (
9691 < div
97- className = "-mt-4 h-0.5 w-8 max-[1024px] :w-6 "
92+ className = "-mt-3 h-0.5 w-3 sm:-mt-4 sm :w-4 "
9893 style = { {
9994 backgroundColor : isCompleted ? "oklch(0.4758 0.2241 288.5)" : "#E5E7EB" ,
10095 } }
@@ -112,22 +107,20 @@ export function GuidebookPage5() {
112107 transition = { { duration : 0.3 } }
113108 className = "mx-auto w-full max-w-xl"
114109 >
115- < div className = "bg-card rounded-2xl p-6 max-[1024px] :p-5 " >
116- < div className = "mb-6 flex items-center gap-3" >
110+ < div className = "bg-card rounded-2xl p-4 sm :p-6 " >
111+ < div className = "mb-4 flex items-center gap-2 sm:mb-6 sm: gap-3" >
117112 < div
118- className = "flex h-10 w-10 items-center justify-center rounded-full max-[1024px] :h-9 max-[1024px] :w-9 "
113+ className = "flex h-9 w-9 items-center justify-center rounded-full sm :h-10 sm :w-10 "
119114 style = { { backgroundColor : "oklch(0.4758 0.2241 288.5 / 0.1)" } }
120115 >
121116 { React . createElement ( steps [ currentStep ] . icon , {
122- className : "h-5 w-5 max-[1024px]:h-4 max-[1024px]:w-4 " ,
117+ className : "size-5 " ,
123118 style : { color : "oklch(0.4758 0.2241 288.5)" } ,
124119 } ) }
125120 </ div >
126121 < div >
127- < h3 className = "text-lg font-semibold max-[1024px]:text-base" >
128- { steps [ currentStep ] . label }
129- </ h3 >
130- < p className = "text-muted-foreground text-xs max-[1024px]:text-[11px]" >
122+ < h3 className = "font-semibold" > { steps [ currentStep ] . label } </ h3 >
123+ < p className = "text-muted-foreground text-[11px] sm:text-xs" >
131124 { steps [ currentStep ] . description }
132125 </ p >
133126 </ div >
@@ -136,7 +129,7 @@ export function GuidebookPage5() {
136129 < motion . input
137130 type = "text"
138131 placeholder = { steps [ currentStep ] . placeholder }
139- className = "w-full rounded-lg border-2 px-4 py-3 text-sm transition-all outline-none max-[1024px] :px-3 max-[1024px] :py-2.5 max-[1024px] :text-xs "
132+ className = "w-full rounded-lg border-2 px-3 py-2 text-xs transition-all outline-none sm :px-4 sm :py-3 sm :text-sm "
140133 style = { {
141134 borderColor : "oklch(0.4758 0.2241 288.5)" ,
142135 boxShadow : "0 0 0 4px oklch(0.4758 0.2241 288.5 / 0.1)" ,
@@ -148,32 +141,37 @@ export function GuidebookPage5() {
148141
149142 < motion . button
150143 onClick = { handleComplete }
151- className = "mt-4 flex w-full items-center justify-center gap-2 rounded-lg py-3 text-sm font-semibold text-white max-[1024px] :py-2.5 max-[1024px] :text-xs "
144+ className = "mt-3 flex w-full items-center justify-center gap-2 rounded-lg py-2.5 text-xs font-semibold text-white sm:mt-4 sm :py-3 sm :text-sm "
152145 style = { { backgroundColor : "oklch(0.4758 0.2241 288.5)" } }
153146 whileHover = { { scale : 1.02 } }
154147 whileTap = { { scale : 0.98 } }
155148 >
156149 { currentStep < steps . length - 1 ? "다음 단계" : "경매 등록하기" }
157- < ChevronRight className = "h-4 w-4 max-[1024px]:h-3.5 max-[1024px]:w-3.5 " />
150+ < ChevronRight className = "size-4 " />
158151 </ motion . button >
159152 </ div >
160153 </ motion . div >
161154
162- { completedSteps . length === steps . length && (
155+ < div className = "h-11 text-center sm:h-11" >
163156 < motion . div
164- className = "mt-6 text-center max-[1024px]:mt-4"
165- initial = { { opacity : 0 , y : 20 } }
166- animate = { { opacity : 1 , y : 0 } }
157+ initial = { false }
158+ animate = {
159+ completedSteps . length === steps . length ? { opacity : 1 , y : 0 } : { opacity : 0 , y : 20 }
160+ }
161+ transition = { { duration : 0.25 } }
162+ className = "flex justify-center"
163+ style = { { pointerEvents : completedSteps . length === steps . length ? "auto" : "none" } }
167164 >
168165 < div
169- className = "inline-flex items-center gap-2 rounded-full px-5 py-2.5 text-sm font-semibold text-white max-[1024px] :px-4 max-[1024px] :py-2 max-[1024px] :text-xs "
166+ className = "inline-flex items-center gap-2 rounded-full px-4 py-2 text-xs font-semibold text-white sm :px-5 sm :py-2.5 sm :text-sm "
170167 style = { { backgroundColor : "oklch(0.4758 0.2241 288.5)" } }
168+ aria-hidden = { completedSteps . length !== steps . length }
171169 >
172- < CheckCircle className = "h-4 w-4 max-[1024px]:h- 3.5 max-[1024px]:w-3.5 " />
170+ < CheckCircle className = "size- 3.5 sm:size-4 " />
173171 모든 단계 완료!
174172 </ div >
175173 </ motion . div >
176- ) }
174+ </ div >
177175 </ section >
178176 ) ;
179177}
0 commit comments