diff --git a/src/components/group/GroupCard.tsx b/src/components/group/GroupCard.tsx index 28c4e433..62d59fcf 100644 --- a/src/components/group/GroupCard.tsx +++ b/src/components/group/GroupCard.tsx @@ -110,6 +110,7 @@ const Info = styled.div` flex-direction: column; justify-content: space-between; flex: 1; + min-width: 0; /* flex 아이템이 부모 너비를 넘지 않도록 */ `; const Title = styled.h3<{ isRecommend: boolean }>` @@ -123,6 +124,7 @@ const Title = styled.h3<{ isRecommend: boolean }>` overflow: hidden; text-overflow: ellipsis; white-space: nowrap; + width: 100%; /* 부모 컨테이너의 전체 너비 사용 */ `; const Bottom = styled.div` diff --git a/src/pages/feed/FeedDetailPage.tsx b/src/pages/feed/FeedDetailPage.tsx index 5e46e5cc..6e336849 100644 --- a/src/pages/feed/FeedDetailPage.tsx +++ b/src/pages/feed/FeedDetailPage.tsx @@ -33,10 +33,22 @@ const FeedDetailPage = () => { try { const commentsResponse = await getComments(Number(feedId), { postType: 'FEED' }); setCommentList(commentsResponse.data.commentList); + + // 피드 데이터의 댓글 수를 실제 댓글 목록 길이로 업데이트 + if (feedData) { + setFeedData(prev => + prev + ? { + ...prev, + commentCount: commentsResponse.data.commentList.length, + } + : null, + ); + } } catch (err) { console.error('댓글 목록 다시 로드 실패:', err); } - }, [feedId]); + }, [feedId, feedData]); // 페이지를 떠날 때 답글 상태 초기화 useEffect(() => {