@@ -76,6 +76,10 @@ const Upcoming = () => {
7676 const handleMusicalClick = ( index ) => {
7777 setActiveIndex ( index ) ; // 클릭한 뮤지컬의 인덱스를 저장
7878 } ;
79+ const handleMouseEnter = ( index ) => {
80+ setActiveIndex ( index ) ;
81+ } ;
82+
7983
8084
8185 return (
@@ -87,30 +91,35 @@ const Upcoming = () => {
8791 < h1 > TODAY</ h1 >
8892 < p > 오늘 티켓 오픈</ p >
8993 </ Today >
90- < FeaturedMusical >
91- { todayMusicals . map ( ( musical , index ) => (
92- < div
93- key = { musical . id }
94- className = { `musical-item ${ index === activeIndex ? "active" : "" } ` }
95- style = { { zIndex : index === activeIndex ? 2 : 1 } } // 클릭된 이미지가 위로
96- onClick = { ( ) => handleMusicalClick ( index ) }
97- >
98- < CardLink to = { musical ? `/detail/${ musical . id } ` : "#" } >
99- < img src = { musical . image } alt = { musical . name } />
100- </ CardLink >
101- { index === activeIndex && (
102- < div className = "details" >
103- < div className = "title" >
104- { musical . name }
105- { musical . extraInfo && ( < span className = "extra-info" > { musical . extraInfo } </ span > ) }
94+ < FeaturedMusical >
95+ { todayMusicals . map ( ( musical , index ) => (
96+ < div
97+ key = { musical . id }
98+ className = { `musical-item ${ index === activeIndex ? "active" : "" } ` }
99+ style = { { zIndex : index === activeIndex ? 2 : 1 } }
100+ onClick = { ( ) => handleMusicalClick ( index ) }
101+ onMouseEnter = { ( ) => handleMouseEnter ( index ) }
102+ >
103+ < CardWrapper >
104+ < CardImage to = { musical ? `/detail/${ musical . id } ` : "#" } >
105+ < img src = { musical . image } alt = { musical . name } />
106+ </ CardImage >
107+ </ CardWrapper >
108+ { index === activeIndex && (
109+ < div className = "details" >
110+ < div className = "title" >
111+ { musical . name }
112+ { musical . extraInfo && (
113+ < span className = "extra-info" > { musical . extraInfo } </ span >
114+ ) }
115+ </ div >
116+ < div className = "datetime" > 오늘 { musical . time } </ div >
117+ < div className = "info" > { musical . extraInfo } </ div >
106118 </ div >
107- < div className = "datetime" > 오늘 { musical . time } </ div >
108- < div className = "info" > { musical . extraInfo } </ div >
109- </ div >
110- ) }
111- </ div >
112- ) ) }
113- </ FeaturedMusical >
119+ ) }
120+ </ div >
121+ ) ) }
122+ </ FeaturedMusical >
114123 </ MainSection >
115124
116125 { /* 하단 섹션 */ }
@@ -336,7 +345,7 @@ const DdayBadge = styled.div`
336345 position: absolute;
337346 top: 13px; /* 기존보다 아래로 이동 */
338347 left: 11px; /* 기존보다 오른쪽으로 이동 */
339- width: 35px ;
348+ width: suth ;
340349height: 20px;
341350display: flex;
342351flex-direction: column;
@@ -366,4 +375,10 @@ const CardWrapper = styled.div`
366375 transform: scale(1.04);
367376 transition: transform 0.2s ease;
368377}
369- `
378+ ` ;
379+ const CardImage = styled ( Link ) `
380+ width: 100%;
381+ height: 100%;
382+ object-fit: cover;
383+ display: block;
384+ ` ;
0 commit comments