diff --git a/src/features/events/components/EventsApplicationCard.tsx b/src/features/events/components/EventsApplicationCard.tsx index 6da0e4f..98dadcc 100644 --- a/src/features/events/components/EventsApplicationCard.tsx +++ b/src/features/events/components/EventsApplicationCard.tsx @@ -1,5 +1,6 @@ import { Button, ContentBadge, Typography } from "@wanteddev/wds"; +import LazyImage from "@/components/ui/LazyImage"; import { EVENTS_APPLICATION_STATUS_BADGES } from "@/features/events/constants/events"; import { formatDateTime } from "@/lib/date"; import type { MyEventApplicationListItem } from "@/shared/entities/events/eventsTypes"; @@ -29,8 +30,16 @@ function EventsApplicationCard({ return (
- {/* 썸네일(thumbnailUrl)을 그리기 전까지는 행사 목록 카드와 같은 단색 자리 */} -
+ {/* 썸네일이 없으면 행사 목록 카드와 같은 단색 자리 */} + {application.thumbnailUrl ? ( + + ) : ( +
+ )}
- {/* 썸네일(thumbnailUrl)을 그리기 전까지는 Figma와 같은 단색 placeholder. + {/* 썸네일이 없으면 Figma와 같은 단색 placeholder. CTA 버튼 안에 버튼을 중첩할 수 없어서, 상세 진입은 썸네일과 텍스트 블록에만 건다. */} {/* Figma에서 오른쪽 칼럼은 썸네일과 같은 높이(112)에 justify-between이라 뱃지는 위, 버튼은 아래 끝에 붙는다 */}
diff --git a/src/features/events/components/EventsDetailContent.tsx b/src/features/events/components/EventsDetailContent.tsx index 23494db..9075bec 100644 --- a/src/features/events/components/EventsDetailContent.tsx +++ b/src/features/events/components/EventsDetailContent.tsx @@ -100,8 +100,7 @@ function EventsDetailContent({ // Action Area 위에서 끝나 버려서, 글이 그 아래로 흘러 들어가며 사라지는 효과가 안 난다.
- {/* Hero — 행사 사진(images)을 그리기 전까지 장수만 맞춘 Figma와 같은 단색 placeholder. - Figma는 375×375 정사각이라 폭이 유동인 지금 레이아웃에서는 aspect-square로 둔다. + {/* Hero — 행사 사진(images). Figma는 375×375 정사각이라 폭이 유동인 지금 레이아웃에서는 aspect-square로 둔다. 이미지가 여러 장이면 가로 스크롤 스냅으로 한 장씩 넘긴다(공지 상세와 같은 PhotoGallery). */} {photoCount > 0 && (
} - photoCount={photoCount} + photos={event.images.map((image, index) => ({ + alt: `${event.title} 사진 ${index + 1}`, + src: image.fileUrl, + }))} showCounter={photoCount > 1} slideClassName="aspect-square" />