Skip to content

Conversation

@0juicy
Copy link
Member

@0juicy 0juicy commented Dec 17, 2025

⚒️ 작업 내용

  • 사이드바 버튼 노출 조건을 추가했습니다.
  • 유치원 상세 페이지 뒤로가기 시 최상단으로 스크롤되는 문제를 해결했습니다.
  • 비밀번호 찾기에서 이메일 인증/임시 비밀번호 발송 안내 문구를 보완했습니다.
  • 리뷰 더보기 상태에 따라, 카드 제목 부분의 줄임표를 조건부 적용했습니다.
  • 게시글 목록 가상스크롤 높이를 축소했습니다.
  • 리뷰 관련 컴포넌트 리네이밍했습니다.

⚙️ 관련 이슈

#42 로그인/회원가입 등 비인증 페이지에서 사이드바 버튼 노출 문제
#43 유치원 상세 페이지 뒤로가기 동작 오류

☎️ 관련 문의

41번 SERVICE, 39번 SERVICE, 45번 REPORT

Summary by CodeRabbit

  • New Features

    • 페이지 헤더의 햄버거 버튼 표시를 컴포넌트 단위에서 선택적으로 제어 가능
    • 리뷰를 복수 항목 리스트로 묶어 표시하는 개선된 리뷰 리스트 제공
    • 리뷰 제목의 확장 상태에 따른 동적 표시 제어 추가
  • Bug Fixes

    • 커뮤니티 피드 높이 계산 조정으로 표시 안정성 개선
    • 상세 페이지 뒤로가기 흐름 중앙화로 네비게이션 동작 개선
  • Documentation

    • PR 템플릿에 문의·리뷰 요청 섹션 추가
  • UI Copy

    • 비밀번호 재발급·인증 관련 안내 문구 수정

✏️ Tip: You can customize this high-level summary in your review settings.

- navigate(-1)이 실행되지 않던 문제 해결
- customBackHandler를 사용해 fromBookmarks 상태에 따라 분기 처리
- 일반적인 경우 false를 반환해 기본 navigate(-1)이 실행되도록 보장
- 더보기 클릭 시 제목의 줄임표 해제
- 내용 펼치기 상태에 따라 제목 표시 디자인 변경
- 여러 리뷰 카드를 렌더링하는 역할임을 명시
- 개별 리뷰 카드 컴포넌트 분리 후 export
- return문에서 삼항연산자 제거
@0juicy 0juicy requested a review from Pinkippo December 17, 2025 16:04
@0juicy 0juicy self-assigned this Dec 17, 2025
@coderabbitai
Copy link

coderabbitai bot commented Dec 17, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

여러 헤더 컴포넌트와 PageLayout에 선택적 showHamburgerButton 프로퍼티를 추가해 최종 Header로 전달하도록 하고, 리뷰 카드 컴포넌트를 리스트형(ReviewCardList)으로 재구성하며 일부 UI 텍스트와 레이아웃 상수, PR 템플릿을 업데이트했습니다.

Changes

코호트 / 파일(들) 변경 요약
헤더 컴포넌트 - 햄버거 버튼 프로퍼티 추가
\src/features/header/bookmark-header/index.tsx`, `src/features/header/community-header/index.tsx`, `src/features/header/kindergarten-header/index.tsx`, `src/features/header/save-header/index.tsx``
각 컴포넌트 Props에 showHamburgerButton?: boolean 추가 및 내부 <Header>showHamburgerButton={showHamburgerButton}로 전달
페이지 레이아웃 및 내비게이션
\src/shared/ui/layout/page-layout/index.tsx`, `src/pages/kindergarten/detail.tsx``
PageLayoutPropsshowHamburgerButton?: boolean 추가. auth 경로 목록(authPaths) 기반 기본 표시 결정(shouldShowHamburgerButton) 도입 및 headerProps에 전달. 유치원 상세 페이지의 뒤로가기 로직을 useUrlNavigation 훅 기반 커스텀 핸들러로 분리
리뷰 카드 컴포넌트 재구성 및 호출부 변경
\src/widgets/review-list/index.tsx`, `src/widgets/review-list/ui/ReviewCardList.tsx`, `src/widgets/review-list/ui/ReviewSummary.tsx`, `src/widgets/all-review-list/index.tsx``
ReviewCard에서 ReviewCardList(named export)로 교체: 단건/다건 처리, 각 항목에 isLastItem 전달. ReviewSummaryisExpanded?: boolean 추가하여 제목 줄임 조건화. 일부 호출에 showResource, limitItems 추가
커뮤니티 피드 레이아웃 상수 조정
\src/widgets/community-feed/post-list/index.tsx``
상수 조정: INITIAL_HEIGHT_OFFSET 180→170, RESIZE_HEIGHT_OFFSET 280→270 (초기/리사이즈 높이 보정값 감소)
인증 흐름 텍스트 변경
\src/entities/auth/hooks/useResetPassword.tsx`, `src/pages/auth/find-password.tsx``
비밀번호 재설정 성공 토스트 메시지(제목/설명) 변경 및 찾기 비밀번호 페이지 단계별 안내문구(인증번호 관련) 수정
문서/템플릿 변경
\.github/PULL_REQUEST_TEMPLATE.md``
PR 템플릿에 연락처/리뷰 요청 섹션 추가 및 문구 확장(비기능적 문서 변경)
기타 호출부 업데이트
\src/widgets/all-review-list/index.tsx`, `src/widgets/review-list/index.tsx``
기존 default ReviewCard 임포트/사용을 ReviewCardList로 교체하고 관련 props 조정

Estimated code review effort

🎯 3 (보통) | ⏱️ ~20분

  • 주의 검토 항목:
    • 헤더 컴포넌트들에 일관된 showHamburgerButton 타입·전달 여부
    • PageLayout의 authPaths 경계 케이스 및 shouldShowHamburgerButton 계산
    • ReviewCardList의 단건/다건 분기, key 생성(workReviewId/internshipReviewId) 및 isLastItem 계산
    • ReviewSummary의 isExpanded 기본값과 줄임 클래스 적용
    • useResetPassword 토스트 메시지에 포함된 JSX 렌더링 안전성
    • community-feed 오프셋 변경이 레이아웃에 미치는 시각적 영향

Possibly related PRs

  • release/v1.3.2 #44 — 동일한 코드 변경(헤더 showHamburgerButton 추가, PageLayout 로직, kindergarten back-navigation 분리, review-list 리팩터)과 강한 연관성 있음.

Suggested labels

Fix

Suggested reviewers

  • Pinkippo

Poem

햄버거는 조용히 숲을 지나 🍔
카드들이 줄지어 속삭이네 📝
높이는 살짝 낮추고 문구는 다듬어 🐇
새 리스트 위에 달빛 반짝✨
토스트 한 조각 축하해, 깡총깡총!

Pre-merge checks and finishing touches

❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 18.18% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
Title check ❓ Inconclusive PR 제목 'release/v1.3.2'는 버전 릴리스를 나타내지만, 실제 변경사항인 사이드바 버튼 조건부 표시, 뒤로가기 버그 수정, 이메일 인증 메시지 개선, 카드 제목 동적 자르기, 가상 스크롤 높이 감소, 컴포넌트 이름 변경 등을 구체적으로 설명하지 않습니다. PR 제목을 보다 구체적으로 변경하세요. 예: 'feat: 비인증 페이지 사이드바 표시 및 유치원 상세 페이지 버그 수정' 또는 주요 변경사항을 명확히 요약하는 제목을 사용하세요.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

📜 Recent review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 47f2061 and 21939e9.

📒 Files selected for processing (1)
  • src/shared/ui/layout/page-layout/index.tsx (4 hunks)

Comment @coderabbitai help to get the list of available commands and usage tips.

@0juicy
Copy link
Member Author

0juicy commented Dec 17, 2025

@Pinkippo 작업 완료

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/widgets/all-review-list/index.tsx (1)

83-89: 불필요한 타입 단언을 제거하세요.

84번 라인의 as unknown as ReviewData[] 타입 단언이 불필요합니다. reviews 변수는 이미 63번 라인에서 ReviewData[]로 올바르게 타입이 지정되어 있으며, ReviewCardListPropsreview 속성은 ReviewData | ReviewData[]를 받을 수 있습니다.

다음과 같이 수정하세요:

             <ReviewCardList
-              review={reviews as unknown as ReviewData[]}
+              review={reviews}
               type={reviewType}
               fieldConfigs={fieldConfigs}
               showResource={true}
               limitItems={3}
             />
📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a2321b3 and dbc9086.

📒 Files selected for processing (11)
  • src/features/header/bookmark-header/index.tsx (2 hunks)
  • src/features/header/community-header/index.tsx (3 hunks)
  • src/features/header/kindergarten-header/index.tsx (3 hunks)
  • src/features/header/save-header/index.tsx (2 hunks)
  • src/pages/kindergarten/detail.tsx (2 hunks)
  • src/shared/ui/layout/page-layout/index.tsx (4 hunks)
  • src/widgets/all-review-list/index.tsx (2 hunks)
  • src/widgets/community-feed/post-list/index.tsx (1 hunks)
  • src/widgets/review-list/index.tsx (2 hunks)
  • src/widgets/review-list/ui/ReviewCardList.tsx (3 hunks)
  • src/widgets/review-list/ui/ReviewSummary.tsx (3 hunks)
🧰 Additional context used
🧬 Code graph analysis (4)
src/features/header/save-header/index.tsx (1)
src/features/header/base-header/index.tsx (1)
  • Header (49-139)
src/widgets/review-list/index.tsx (1)
src/widgets/review-list/ui/ReviewCardList.tsx (1)
  • ReviewCardList (29-60)
src/widgets/all-review-list/index.tsx (1)
src/widgets/review-list/ui/ReviewCardList.tsx (1)
  • ReviewCardList (29-60)
src/widgets/review-list/ui/ReviewCardList.tsx (1)
src/widgets/review-panel/lib/config.d.ts (1)
  • ReviewFieldConfig (1-4)
🔇 Additional comments (18)
src/widgets/community-feed/post-list/index.tsx (1)

13-14: 변경사항 확인 완료

가상 스크롤 영역의 높이를 줄이기 위해 오프셋 값을 각각 10px씩 감소시켰습니다. PR 목표와 일치하며 로직상 문제가 없습니다.

src/widgets/review-list/ui/ReviewSummary.tsx (2)

13-13: prop 추가 확인 완료

isExpanded prop이 추가되어 리뷰 제목의 확장 상태를 제어할 수 있습니다.


50-55: 조건부 truncation 구현 확인 완료

isExpanded 상태에 따라 제목에 line-clamp-1 클래스를 조건부로 적용하는 로직이 올바르게 구현되었습니다. PR 목표와 일치합니다.

src/features/header/save-header/index.tsx (1)

11-11: 햄버거 버튼 제어 prop 추가 확인 완료

showHamburgerButton prop이 추가되어 헤더의 햄버거 버튼 표시를 제어할 수 있습니다. 다른 헤더 컴포넌트들과 일관된 패턴을 따르고 있으며, 기본 Header 컴포넌트로 올바르게 전달됩니다.

Also applies to: 20-20, 28-28

src/pages/kindergarten/detail.tsx (1)

20-33: 뒤로가기 네비게이션 개선 확인 완료

useUrlNavigation 훅을 사용하여 북마크에서 진입한 경우와 일반 진입 경우를 구분하여 처리하는 로직이 올바르게 구현되었습니다. 이는 유치원 상세 페이지의 뒤로가기 동작 오류를 수정하는 PR 목표와 일치합니다.

src/features/header/community-header/index.tsx (1)

16-16: 햄버거 버튼 제어 prop 추가 확인 완료

다른 헤더 컴포넌트들과 동일한 패턴으로 showHamburgerButton prop이 추가되고 올바르게 전달됩니다.

Also applies to: 27-27, 43-43

src/features/header/bookmark-header/index.tsx (1)

10-10: 햄버거 버튼 제어 prop 추가 확인 완료

일관된 패턴으로 showHamburgerButton prop이 구현되었습니다.

Also applies to: 18-18, 30-30

src/widgets/review-list/index.tsx (1)

7-7: 컴포넌트 리네이밍 확인 완료

ReviewCard에서 ReviewCardList로 컴포넌트 이름이 변경되었으며, named export로 올바르게 import되고 사용됩니다. PR 목표에 명시된 리뷰 관련 컴포넌트 리네이밍이 적절하게 적용되었습니다.

Also applies to: 49-49

src/features/header/kindergarten-header/index.tsx (1)

21-21: 햄버거 버튼 제어 prop 추가 확인 완료

모든 헤더 컴포넌트에 일관되게 적용된 showHamburgerButton prop 패턴이 올바르게 구현되었습니다. 이를 통해 비인증 페이지에서 사이드바 버튼 노출을 제어할 수 있습니다.

Also applies to: 33-33, 48-48

src/widgets/all-review-list/index.tsx (1)

14-14: 컴포넌트 리네이밍이 올바르게 적용되었습니다.

ReviewCard에서 ReviewCardList로의 변경이 컴포넌트 구조 개선과 일치합니다.

src/shared/ui/layout/page-layout/index.tsx (4)

9-14: 인증 페이지 경로 관리가 적절합니다.

중앙화된 URL_PATHS 상수를 사용하여 인증 페이지를 정의한 것은 유지보수성을 높입니다.


39-39: 인터페이스 확장이 올바릅니다.

옵셔널 showHamburgerButton 속성 추가로 햄버거 버튼 표시를 명시적으로 제어할 수 있습니다.


89-92: 조건부 로직이 올바르게 구현되었습니다.

명시적인 showHamburgerButton 값이 우선하고, 미지정 시 인증 페이지에서는 햄버거 버튼을 숨기는 기본 동작이 적절합니다.


105-105: 헤더 컴포넌트로의 prop 전달이 적절합니다.

계산된 shouldShowHamburgerButton 값이 모든 헤더 컴포넌트에 올바르게 전달됩니다.

src/widgets/review-list/ui/ReviewCardList.tsx (4)

21-27: 인터페이스 리네이밍과 타입 변경이 적절합니다.

ReviewCardListProps로의 이름 변경과 단일/배열 리뷰를 모두 수용하는 유니온 타입이 컴포넌트의 유연성을 향상시킵니다.


29-60: 리스트 컴포넌트 구현이 견고합니다.

배열 정규화, 키 생성, isLastItem 계산이 모두 올바르게 구현되었습니다. 키 생성 로직은 리뷰 타입에 따라 적절한 ID 필드를 사용합니다.


64-64: 컴포넌트 내보내기 방식 변경과 코드 간소화가 적절합니다.

명명된 내보내기로의 전환과 불필요한 템플릿 리터럴 제거가 코드 가독성을 향상시킵니다.

Also applies to: 124-124


135-135: 확장 상태를 ReviewSummary에 전달하는 것이 올바릅니다.

isExpanded 상태를 전달함으로써 리뷰의 확장 여부에 따라 조건부로 제목을 잘라낼 수 있습니다. 이는 PR 목표인 "확장 상태에 따른 조건부 생략(말줄임) 적용"과 일치합니다.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
src/pages/auth/find-password.tsx (1)

28-29: "재발급" 용어 사용 검토 권장

사용자가 비밀번호를 찾는 과정에서 처음으로 임시 비밀번호를 발급받는 것이므로, "임시 비밀번호를 재발급"보다는 "임시 비밀번호를 발급"이 더 정확한 표현일 수 있습니다. 다만, 사용자 관점에서 기존 비밀번호를 대체하는 새 비밀번호를 받는다는 의미에서 "재발급"을 사용하셨다면 이해됩니다.

팀 내 용어 가이드라인이 있다면 이에 맞춰 확인해 주세요.

적용 가능한 수정안:

-        {data.email as string}로 발송된 인증번호를 입력해주세요. <br />
-        인증 후 <strong>임시 비밀번호를 재발급</strong>해드릴게요.
+        {data.email as string}로 발송된 인증번호를 입력해주세요. <br />
+        인증 후 <strong>임시 비밀번호를 발급</strong>해드릴게요.
📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d758990 and 47f2061.

📒 Files selected for processing (2)
  • src/entities/auth/hooks/useResetPassword.tsx (1 hunks)
  • src/pages/auth/find-password.tsx (1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
src/entities/auth/hooks/useResetPassword.tsx (2)
src/pages/auth/sign-in.tsx (1)
  • SignInPage (26-64)
src/pages/user/account-setting.tsx (1)
  • AccountSettingPage (11-69)
🔇 Additional comments (1)
src/entities/auth/hooks/useResetPassword.tsx (1)

23-29: LGTM! 사용자 경험 개선

성공 메시지가 더 명확하고 친근하게 개선되었습니다. 본인 확인 완료 후 다음 단계를 구체적으로 안내하여 사용자 경험이 향상되었습니다.

이모지와 강조 표시를 통해 중요 정보를 효과적으로 전달하고 있으며, find-password.tsx의 메시지와도 일관성을 유지하고 있습니다.

@0juicy 0juicy added the Fix label Dec 17, 2025
@0juicy 0juicy merged commit 1c2ea18 into main Dec 17, 2025
1 of 2 checks passed
@0juicy 0juicy removed the Fix label Dec 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants