Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix: #278 팀 관리 페이지 프로젝트 삭제 오류 수정 및 UI 개선 #281

Merged
merged 10 commits into from
Dec 11, 2024

Conversation

ice-bear98
Copy link
Contributor

PR Type

What kind of change does this PR introduce?

  • [Fix] 버그를 수정했어요.
  • [UI] CSS 등 사용자 UI 디자인 추가/삭제/변경 했어요.

Related Issues

What does this PR do?

  • 팀 관리 페이지 팀 삭제 버튼 msw Handler 수정
  • 팀 관리 페이지 팀 삭제 query key 변경
  • 팀 관리 페이지 가입현황 , 대기현황 리스트 UI 깨짐 현상 수정

Other information

기존 팀 관리 페이지 UI 문제
스크린샷 2024-12-06 163658

수정된 UI
스크린샷 2024-12-06 163557

스크린샷 2024-12-06 163614

@ice-bear98 ice-bear98 added 💉 Fix 에러 혹은 버그를 수정했어요 🎨 UI 사용자 UI를 추가/삭제/변경 했어요 labels Dec 6, 2024
@ice-bear98 ice-bear98 self-assigned this Dec 6, 2024
Copy link

coderabbitai bot commented Dec 6, 2024

Walkthrough

이 풀 리퀘스트는 팀 관리와 관련된 여러 컴포넌트 및 훅의 수정 사항을 포함합니다. useDeleteTeam 함수의 쿼리 무효화 로직이 변경되었으며, 팀 삭제 API의 오류 처리 방식이 일관되게 수정되었습니다. 또한, 여러 페이지의 레이아웃과 스타일이 개선되어 사용자 경험이 향상되었습니다. 전체적으로 컴포넌트의 구조와 기능은 유지되며, 접근성과 유지보수성이 개선되었습니다.

Changes

파일 경로 변경 요약
src/hooks/query/useTeamQuery.ts useDeleteTeam 함수에서 쿼리 무효화 키를 teamCoworkersQueryKey에서 teamsQueryKey로 변경. 불필요한 TeamCoworker 타입 import 제거.
src/layouts/page/SettingLayout.tsx <section> 요소에 overflow-x-hidden 클래스 추가.
src/layouts/page/TeamSettingLayout.tsx <section> 요소에서 mt-6px-10 클래스 제거.
src/mocks/services/teamServiceHandler.ts 팀 삭제 및 초대 거절 API의 오류 응답을 403에서 401로 변경하여 일관성 강화.
src/pages/setting/TeamInvitedPage.tsx 로딩 상태에서 Spinner 컴포넌트 표시, 접근성을 위한 aria-label 추가, 버튼 스타일 표준화.
src/pages/setting/TeamJoinedPage.tsx 팀 목록의 조건부 렌더링 및 클래스 수정, 팀 항목의 스타일 및 레이아웃 개선.

Assessment against linked issues

Objective Addressed Explanation
팀 관리 페이지 삭제 버튼 msw Handler 수정 (#278)
팀 관리 페이지 UI 수정 (#278)

Possibly related PRs

Suggested reviewers

  • Seok93

🐰 "변경된 코드에 대한 기쁨,
팀 관리가 더 쉬워졌어요.
삭제 버튼도 이제는 잘 작동,
새로운 스타일로 더욱 빛나요!
함께하는 팀, 함께하는 꿈,
모두가 행복한 팀을 만듭니다!" 🐇


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ 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.
    • Generate unit testing code for this file.
    • 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 generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • 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 generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

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 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 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.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

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.

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

🧹 Outside diff range and nitpick comments (2)
src/hooks/query/useTeamQuery.ts (1)

83-84: 팀 삭제 후 데이터 동기화 로직이 개선되었습니다.

팀 삭제 후 teamsQueryKey를 사용하여 전체 팀 목록을 갱신하도록 변경되었습니다.

하지만 삭제 실패 시 오류 메시지에 오타가 있습니다:

- toastError('팀 삭제를 실패했습니다. 다시 시도해 주세요.');
+ toastError('팀 삭제에 실패했습니다. 다시 시도해 주세요.');

Also applies to: 91-93

src/mocks/services/teamServiceHandler.ts (1)

Line range hint 197-207: 성능 및 가독성 개선이 필요합니다.

현재 구현은 올바르게 작동하지만, 다음과 같은 개선사항을 제안드립니다:

  1. 중첩된 find 호출로 인한 성능 저하 가능성이 있습니다.
  2. 복잡한 필터링 로직으로 인해 코드 가독성이 떨어집니다.

다음과 같이 개선해보시는 것은 어떨까요?:

- const filteredTaskFiles = TASK_FILE_DUMMY.filter((taskFile) => {
-   const task = TASK_DUMMY.find((task) => task.taskId === taskFile.taskId);
-   const statusId = task ? task.statusId : undefined;
-   const projectId = statusId ? STATUS_DUMMY.find((status) => status.statusId === statusId)?.projectId : undefined;
-   return !(projectId && projectIdsToDelete.includes(projectId));
- });

+ // 관계 매핑을 위한 Map 생성
+ const taskStatusMap = new Map(TASK_DUMMY.map(task => [task.taskId, task.statusId]));
+ const statusProjectMap = new Map(STATUS_DUMMY.map(status => [status.statusId, status.projectId]));
+ 
+ const filteredTaskFiles = TASK_FILE_DUMMY.filter((taskFile) => {
+   const statusId = taskStatusMap.get(taskFile.taskId);
+   const projectId = statusId ? statusProjectMap.get(statusId) : undefined;
+   return !(projectId && projectIdsToDelete.includes(projectId));
+ });

동일한 패턴이 filteredTaskUsers에도 적용될 수 있습니다.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between fc3be2e and dc82ed8.

📒 Files selected for processing (6)
  • src/hooks/query/useTeamQuery.ts (2 hunks)
  • src/layouts/page/SettingLayout.tsx (1 hunks)
  • src/layouts/page/TeamSettingLayout.tsx (1 hunks)
  • src/mocks/services/teamServiceHandler.ts (3 hunks)
  • src/pages/setting/TeamInvitedPage.tsx (1 hunks)
  • src/pages/setting/TeamJoinedPage.tsx (1 hunks)
✅ Files skipped from review due to trivial changes (2)
  • src/layouts/page/SettingLayout.tsx
  • src/layouts/page/TeamSettingLayout.tsx
🔇 Additional comments (7)
src/pages/setting/TeamJoinedPage.tsx (3)

18-18: 스크롤 가능한 레이아웃으로 개선되었습니다.

overflow-y-auto를 추가하여 콘텐츠가 넘칠 때 스크롤이 가능하도록 처리되었습니다.


20-22: 레이아웃 구조가 개선되었습니다.

각 섹션의 너비가 명확하게 지정되어 일관된 레이아웃을 제공합니다:

  • 팀 이름: w-64
  • 팀장: w-64
  • 설명: w-380

Also applies to: 26-26, 30-30


36-36: 버튼 컨테이너의 레이아웃이 개선되었습니다.

w-50 클래스를 추가하여 버튼 영역의 너비가 고정되었습니다.

src/pages/setting/TeamInvitedPage.tsx (2)

17-17: 접근성이 개선되었습니다.

aria-label 속성을 추가하여 스크린 리더 사용자의 경험이 향상되었습니다.

Also applies to: 24-25


28-39: 일관된 디자인 시스템이 적용되었습니다.

TeamJoinedPage와 동일한 레이아웃 구조를 사용하여 일관성이 향상되었습니다:

  • 텍스트 색상이 명확하게 구분됨
  • 섹션별 너비가 일관되게 적용됨
src/hooks/query/useTeamQuery.ts (1)

19-19: 타입 임포트가 최적화되었습니다.

필요한 타입만 선택적으로 임포트하도록 변경되었습니다.

src/mocks/services/teamServiceHandler.ts (1)

161-161: 인증 오류 상태 코드가 올바르게 수정되었습니다.

인증 토큰이 없는 경우의 상태 코드를 403에서 401로 변경한 것이 적절합니다. 이는 HTTP 표준을 더 잘 준수하며, 다른 엔드포인트들과의 일관성도 향상시켰습니다.

src/pages/setting/TeamInvitedPage.tsx Outdated Show resolved Hide resolved
Yoonyesol
Yoonyesol previously approved these changes Dec 7, 2024
Copy link
Contributor

@Yoonyesol Yoonyesol left a comment

Choose a reason for hiding this comment

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

몰랐는데 UI 깨지는 현상이 있었군요😮 overflow-x-hidden은 처음 알았는데 저도 다음에 유용하게 쓸 수 있을 것 같아요! 이번 작업도 고생 많으셨습니다~!

Copy link
Contributor

@Seok93 Seok93 left a comment

Choose a reason for hiding this comment

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

작업 내용 확인했습니다. 리뷰 확인하시고 궁금한 점 있으시면 언제든 말씀해주세요!

src/layouts/page/SettingLayout.tsx Outdated Show resolved Hide resolved
src/layouts/page/TeamSettingLayout.tsx Outdated Show resolved Hide resolved
src/pages/setting/TeamInvitedPage.tsx Outdated Show resolved Hide resolved
Copy link
Contributor

@Seok93 Seok93 left a comment

Choose a reason for hiding this comment

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

수정 사항 확인했습니다. 리뷰 확인해주세요~

src/layouts/page/SettingLayout.tsx Outdated Show resolved Hide resolved
src/pages/setting/TeamJoinedPage.tsx Outdated Show resolved Hide resolved
Copy link
Contributor

@Seok93 Seok93 left a comment

Choose a reason for hiding this comment

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

수정하느라 고생하셨습니다.

@ice-bear98 ice-bear98 merged commit b9d88b5 into develop Dec 11, 2024
1 check passed
@ice-bear98 ice-bear98 deleted the feature/#278-team-manage-page-fix branch December 11, 2024 08:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💉 Fix 에러 혹은 버그를 수정했어요 🎨 UI 사용자 UI를 추가/삭제/변경 했어요
Projects
None yet
Development

Successfully merging this pull request may close these issues.

팀 관리 페이지 프로젝트 삭제 오류 수정 및 UI 개선
3 participants