From 2e39f84f7834749769b9d73bff70d31c3e963749 Mon Sep 17 00:00:00 2001 From: sangrae Date: Thu, 5 Nov 2026 11:36:50 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=ED=96=89=EC=82=AC=20=EC=83=81=EC=84=B8?= =?UTF-8?q?=C2=B7=EC=B9=B4=EB=93=9C=EC=97=90=20=EC=8B=A4=EC=A0=9C=20?= =?UTF-8?q?=EC=82=AC=EC=A7=84=20=EB=B3=B4=EC=97=AC=EC=A3=BC=EA=B8=B0=20-?= =?UTF-8?q?=20#197?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../events/components/EventsApplicationCard.tsx | 13 +++++++++++-- src/features/events/components/EventsCard.tsx | 13 +++++++++---- .../events/components/EventsDetailContent.tsx | 8 +++++--- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/features/events/components/EventsApplicationCard.tsx b/src/features/events/components/EventsApplicationCard.tsx index 6da0e4fe..98dadcc8 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 23494dbb..9075bec6 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" />