Skip to content

Conversation

@MyungJiwoo
Copy link
Contributor

@MyungJiwoo MyungJiwoo commented Aug 4, 2025

🧩 관련 이슈 번호

📌 작업 내용

  • 알림 팝오버에 스켈레톤 UI를 적용했습니다.

✅ 체크리스트

  • PR 하기 전에 이슈에서 빼먹은건 없는지 확인했습니다
    • 라벨 및 마일스톤을 사이드 탭에서 등록했습니다.
  • PR을 보내는 브랜치가 올바른지 확인했습니다.
  • 팀원들이 리뷰하기 쉽도록 설명을 자세하게 작성했습니다.
  • 변경사항을 충분히 테스트 했습니다.
  • (함수를 구현 했을 때) JSDoc을 양식에 맞춰서 작성했습니다.
  • 컨벤션에 맞게 구현했습니다.

📷 UI 변경 사항 (선택)

알림 팝오버에 스켈레톤 적용

❓무슨 문제가 발생했나요? (선택)

💬 기타 참고 사항 (선택)

Summary by CodeRabbit

  • New Features

    • 알림 카드 로딩 상태에서 스켈레톤 UI가 추가되어, 알림 목록이 로딩 중일 때 시각적으로 더 자연스러운 경험을 제공합니다.
    • 디자인 시스템에 알림 카드 스켈레톤 컴포넌트가 새롭게 도입되었습니다.
  • 버그 수정

    • 알림 개수 표시가 값이 없을 때도 안전하게 0으로 표시되도록 개선되었습니다.
  • 스타일

    • 알림 카드 전체가 클릭 가능하도록 인터랙션이 개선되었습니다.
    • 삭제 버튼 클릭 시 이벤트 버블링이 방지되어, 삭제와 상세 보기 동작이 명확하게 분리됩니다.
  • 문서화

    • 알림 카드 문서에 스켈레톤 컴포넌트 예시가 추가되었습니다.

@MyungJiwoo MyungJiwoo added this to the 프로젝트 마감 milestone Aug 4, 2025
@MyungJiwoo MyungJiwoo self-assigned this Aug 4, 2025
@MyungJiwoo MyungJiwoo added the ✨ Feat 기능 구현 label Aug 4, 2025
@coderabbitai
Copy link

coderabbitai bot commented Aug 4, 2025

📝 Walkthrough

Walkthrough

알림 팝오버의 로딩 UI가 텍스트에서 스켈레톤 플레이스홀더로 교체되었습니다. NotificationCardSkeleton 컴포넌트가 새로 추가되어 디자인 시스템에 포함되었고, NotificationCard의 클릭 이벤트 처리 방식이 통합 및 개선되었습니다. 여러 파일에서 관련 컴포넌트의 임포트 및 사용이 반영되었습니다.

Changes

Cohort / File(s) Change Summary
NotificationPopover 개선
apps/what-today/src/components/notification/NotificationPopover.tsx
알림 개수 표시에 nullish 병합 연산자 적용, 로딩 시 스켈레톤 4개 렌더링, 다음 페이지 로딩 시 스켈레톤 1개 추가, 스크롤 컨테이너를 <section>으로 변경
NotificationCard 클릭 처리 개선
packages/design-system/src/components/NotificationCard.tsx
카드 전체에 클릭 이벤트 통합, 클릭 시 이벤트 전파 방지 핸들러 추가, 삭제 버튼 클릭 시도 동일하게 처리
NotificationCardSkeleton 도입
packages/design-system/src/components/skeleton/NotificationCardSkeleton.tsx
NotificationCardSkeleton 컴포넌트 신설, 알림 카드용 스켈레톤 UI 구현 및 export
Skeleton 컴포넌트 export 확장
packages/design-system/src/components/skeleton/index.tsx
NotificationCardSkeleton export 추가
NotificationCardSkeleton 문서화
packages/design-system/src/pages/NotificationCardDoc.tsx
NotificationCardSkeleton 컴포넌트 샘플 렌더링 추가

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant NotificationPopover
    participant NotificationCardSkeleton
    participant NotificationCard

    User->>NotificationPopover: 팝오버 열기
    NotificationPopover->>NotificationPopover: isLoading 확인
    alt isLoading == true
        NotificationPopover->>NotificationCardSkeleton: 4개 렌더링
    else isLoading == false
        NotificationPopover->>NotificationCard: 알림 목록 렌더링
        NotificationPopover->>NotificationCardSkeleton: isFetchingNextPage 시 1개 렌더링
    end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~15 minutes

Possibly related PRs

Suggested labels

🎨 Design

Suggested reviewers

  • kjhyun0830
  • HarrySeop

Poem

🐇
알림이 오면 깜빡이는 밤,
스켈레톤 춤추며 기다림 감쌈.
클릭은 한 번, 이벤트는 딱!
새로워진 카드, 부드러운 박.
토끼는 오늘도 코드를 쓴다,
디자인은 예쁘게, 리뷰는 금방 끝나!

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.


📜 Recent review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c1d21ab and c221c68.

📒 Files selected for processing (1)
  • packages/design-system/src/components/NotificationCard.tsx (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/design-system/src/components/NotificationCard.tsx
✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/mongdiwoo/239

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary or @coderabbitai 요약 to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@github-actions
Copy link

github-actions bot commented Aug 4, 2025

🚀 오늘뭐해 Preview Deploy 완료!
👉 미리보기 링크

@MyungJiwoo MyungJiwoo linked an issue Aug 4, 2025 that may be closed by this pull request
@github-actions
Copy link

github-actions bot commented Aug 4, 2025

🚀 오늘뭐해 Preview Deploy 완료!
👉 미리보기 링크

Copy link
Member

@HarrySeop HarrySeop left a comment

Choose a reason for hiding this comment

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

고생하셧습니다! 스타일 관련해서 리뷰 남겨놨습니다! 확인 부탁드려요!

</div>
<Button className='h-fit w-fit p-0' variant='none' onClick={onDelete}>
<Button
className='h-fit w-fit p-0'
Copy link
Member

Choose a reason for hiding this comment

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

size='none' 사용하시면 className='h-fit w-fit p-0' 대체 됩니다! 혹시나 위에 95번째줄 라인 반영하시면 같이 수정 부탁드려요!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

className을 빼면 사진과 같이 스타일이 깨져서 이 부분은 그대로 두었습니다..!
image

@github-actions
Copy link

github-actions bot commented Aug 4, 2025

🚀 오늘뭐해 Preview Deploy 완료!
👉 미리보기 링크

@MyungJiwoo MyungJiwoo merged commit 362466c into develop Aug 4, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ Feat 기능 구현

Projects

None yet

Development

Successfully merging this pull request may close these issues.

알림 스켈레톤 UI

3 participants