Skip to content

Commit 417cfc8

Browse files
authored
Merge pull request #140 from MUIT-UMC/114/refactor-디테일-수정
오늘 오픈예정 수정
2 parents 6490004 + 7eb4cf1 commit 417cfc8

1 file changed

Lines changed: 40 additions & 25 deletions

File tree

src/pages/Upcoming.jsx

Lines changed: 40 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -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;
340349
height: 20px;
341350
display: flex;
342351
flex-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

Comments
 (0)