1- import React , { useEffect , useRef } from "react" ;
1+ import React , { useEffect , useRef , useState } from "react" ;
22import { useHeaderColor } from "../context/HeaderContext" ;
33import "../assets/styles/homePage.css" ;
44import { initScrollAnimation } from "../assets/styles/animtaions/home/main" ;
@@ -8,6 +8,7 @@ import { useScrollVideoPlayback } from "../hooks/useScrollVideoPlayback";
88function HomePage ( ) {
99 const videoRef1 = useScrollVideoPlayback ( 0.5 ) ;
1010 const videoRef2 = useScrollVideoPlayback ( 0.5 ) ;
11+ const [ seletedRatio , setSelectedRatio ] = useState ( "midnight" ) ;
1112
1213 useEffect ( ( ) => {
1314 // 이 컴포넌트에서 initScrollAnimation 함수를 호출하여 스크롤 애니메이션을 초기화합니다.
@@ -18,6 +19,11 @@ function HomePage() {
1819 return cleanup ;
1920 } , [ ] ) ;
2021
22+ const handleRatioBtn = ( option ) => {
23+ setSelectedRatio ( option ) ;
24+ console . log ( option ) ;
25+ } ;
26+
2127 return (
2228 < div >
2329 { /* // TODO section 0: 글자 스크롤 + 맥북 비디오 */ }
@@ -43,39 +49,6 @@ function HomePage() {
4349 < div className = "sticky-elem sticky-elem-canvas" >
4450 < canvas id = "video-canvas-0" width = "1920" height = "1080" > </ canvas >
4551 </ div >
46-
47- { /* <div className="text-wrapper">
48- <motion.div
49- initial={{ opacity: 0, y: 100 }}
50- whileInView={{ opacity: 1, y: 0 }}
51- viewport={{ once: false }}
52- transition={{
53- ease: "easeInOut",
54- duration: 2,
55- y: { duration: 1 },
56- }}
57- >
58- <div className="container mx-auto px-4 md:px-0">
59- <div className="md:mx-24">
60- <h1 className="text-3xl md:text-6xl font-bold mb-8">
61- 날렵하게. 강력하게. M3답게.
62- </h1>
63- <p className="text-base md:text-xl text-gray01 font-bold">
64- 세상에서 가장 사랑받는 노트북 <strong>MacBook Air</strong>가
65- <strong>M3 칩</strong>과 만나 한층 강력해졌습니다. 일부터
66- 놀이까지, 무엇이든 가뿐하죠. 최대 18시간의 배터리 사용 시간
67- <sup>1</sup>과 극강의 휴대성을 자랑하는 MacBook Air와 함께라면
68- 어디서든, 어떤 일이든 너끈히 해낼 수 있습니다.
69- </p>
70- <div className="text-sm font-semibold mt-8">
71- <span className="text-red-500 mr-1">New</span>
72- M3 칩 탑재 MacBook Air ₩1,590,000부터 <br />
73- M2 칩 탑재 MacBook Air ₩1,390,000부터
74- </div>
75- </div>
76- </div>
77- </motion.div>
78- </div> */ }
7952 </ section >
8053
8154 { /* // TODO section 1: 글자 스크롤 + 맥북 비디오 */ }
@@ -191,47 +164,87 @@ function HomePage() {
191164 { /* TODO */ }
192165 < section className = "scroll-section pt-10" id = "scroll-section-4" >
193166 < div className = "max-w-4xl mx-auto px-3 md:px-0" >
194- < div className = "flex justify-between " >
167+ < div className = "flex flex-wrap gap-10 " >
195168 { /* left */ }
196169 < div className = "flex flex-col justify-between" >
197- < div className = "flex justify-center" >
170+ < div className = "flex justify-center bg-[#fbfbfb] " >
198171 < img
199- src = " /images/home/midnight_notebook3 .jpg"
172+ src = { ` /images/home/${ seletedRatio } _notebook3 .jpg` }
200173 alt = ""
201- // className="w-80"
202174 />
203175 </ div >
204- < div className = "flex justify-center items-end" >
176+ < div className = "flex justify-center items-end bg-[#fbfbfb] " >
205177 < img
206- src = " /images/home/midnight_notebook1 .jpg"
178+ src = { ` /images/home/${ seletedRatio } _notebook1 .jpg` }
207179 alt = ""
208- // className="w-80"
209180 />
210181 </ div >
211182 </ div >
212183
213184 { /* right */ }
214- < div >
185+ < div className = "flex-1 flex flex-col bg-[#fbfbfb]" >
215186 < div className = "flex justify-center" >
216187 < img
217- src = " /images/home/midnight_notebook2 .jpg"
188+ src = { ` /images/home/${ seletedRatio } _notebook2 .jpg` }
218189 alt = ""
219190 className = "w-64"
220191 />
221192 </ div >
222- < div >
223- < ul className = "pt-4" >
224- < li className = "my-1 py-2" >
225- < label className = "flex items-center cursor-pointer" >
193+ < div className = "flex items-center justify-center" >
194+ < ul className = "pt-4 flex w-2/3 " >
195+ < li className = "flex-1 my-1 py-2" >
196+ < label className = "flex flex-col items-center cursor-pointer" >
226197 < input
227198 type = "radio"
228199 name = "option"
200+ value = "midnight"
201+ onChange = { ( ) => handleRatioBtn ( "midnight" ) }
229202 className = "hidden peer"
230203 />
231- { /* <div className="flex flex-col justify"> */ }
232204 < span className = "w-8 h-8 border border-gray-300 rounded-full bg-[#161617] transition-all peer-checked:shadow-[0_0_0_2px_white,0_0_0_4px_#0071e3]" > </ span >
233- < span className = "" > Option 1</ span >
234- { /* </div> */ }
205+ < span className = "text-xs p-1" > 미드나이트</ span >
206+ </ label >
207+ </ li >
208+ < li className = "flex-1 my-1 py-2" >
209+ < label className = "flex flex-col items-center cursor-pointer" >
210+ < input
211+ type = "radio"
212+ name = "option"
213+ className = "hidden peer"
214+ value = "starlight"
215+ onChange = { ( ) => handleRatioBtn ( "starlight" ) }
216+ />
217+ < span className = "w-8 h-8 border border-gray-300 rounded-full bg-[#F0E4D3] transition-all peer-checked:shadow-[0_0_0_2px_white,0_0_0_4px_#0071e3]" > </ span >
218+ < span className = "text-xs p-1" > 스타라이트</ span >
219+ </ label >
220+ </ li >
221+ < li className = "flex-1 my-1 py-2" >
222+ < label className = "flex flex-col items-center cursor-pointer" >
223+ < input
224+ type = "radio"
225+ name = "option"
226+ className = "hidden peer"
227+ value = "spacegray"
228+ onChange = { ( ) => handleRatioBtn ( "spacegray" ) }
229+ />
230+ < span className = "w-8 h-8 border border-gray-300 rounded-full bg-[#7D7E80] transition-all peer-checked:shadow-[0_0_0_2px_white,0_0_0_4px_#0071e3]" > </ span >
231+ < span className = "text-xs p-1 text-center" >
232+ 스페이스 < br />
233+ 그레이
234+ </ span >
235+ </ label >
236+ </ li >
237+ < li className = "flex-1 my-1 py-2" >
238+ < label className = "flex flex-col items-center cursor-pointer" >
239+ < input
240+ type = "radio"
241+ name = "option"
242+ className = "hidden peer"
243+ value = "silver"
244+ onChange = { ( ) => handleRatioBtn ( "silver" ) }
245+ />
246+ < span className = "w-8 h-8 border border-gray-300 rounded-full bg-[#E3E4E6] transition-all peer-checked:shadow-[0_0_0_2px_white,0_0_0_4px_#0071e3]" > </ span >
247+ < span className = "text-xs p-1" > 실버</ span >
235248 </ label >
236249 </ li >
237250 </ ul >
0 commit comments