[feat] 사장님 메인 UX 개선#45
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
More reviews will be available in 51 minutes and 43 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughManager 홈 페이지의 리스트 관리 아키텍처를 리팩토링합니다. 페이지 크기를 동적 파라미터로 변경하고, 모든 무한 쿼리 결과를 id 기준으로 중복 제거합니다. 스케줄 저장 성공 상태 전달 로직을 제거하고, UI의 "더보기" 표시 조건을 총 개수 비교로 단순화하며 빈 상태 렌더링을 추가합니다. ChangesManager Home Pagination & Empty State Refactoring
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/pages/manager/home/index.tsx`:
- Around line 231-236: The MoreButton rendering condition should include the
pagination flags to avoid showing when no further pages exist: update the check
around the storeWorkers block to require both storeWorkers.length <
storeWorkersTotalCount AND hasMoreWorkers before rendering MoreButton (which
calls fetchMoreWorkers and uses isFetchingMoreWorkers); apply the same pattern
for the other occurrences (use hasMorePostings with the postings
length/totalCount check and hasMoreSubstitutes with the substitutes
length/totalCount check) so each MoreButton is gated by its corresponding
hasMore* flag.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 17f279d0-560b-41e6-b48c-63adbf1b1c28
📒 Files selected for processing (11)
src/features/manager/home/hooks/useManagedPostingsViewModel.tssrc/features/manager/home/hooks/useManagerHomeViewModel.tssrc/features/manager/home/hooks/useSubstituteRequestsViewModel.tssrc/features/manager/home/hooks/useTodaySchedulesViewModel.tssrc/features/manager/home/hooks/useWorkspaceWorkersViewModel.tssrc/features/manager/home/types/managerHomeLocationState.tssrc/features/manager/home/ui/TodayWorkerList.tsxsrc/features/manager/worker-schedule/hooks/useWorkerScheduleManageViewModel.tssrc/pages/manager/home/index.tsxsrc/shared/ui/manager/OngoingPostingCard.tsxsrc/shared/ui/manager/SubstituteApprovalCard.tsx
💤 Files with no reviewable changes (1)
- src/features/manager/home/types/managerHomeLocationState.ts
|
@coderabbitai 리뷰 또 해줘 |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
# Read key changed files
echo "=== useManagedPostingsViewModel ==="
cat src/features/manager/home/hooks/useManagedPostingsViewModel.ts
echo "=== useManagerHomeViewModel ==="
cat src/features/manager/home/hooks/useManagerHomeViewModel.ts
echo "=== useSubstituteRequestsViewModel ==="
cat src/features/manager/home/hooks/useSubstituteRequestsViewModel.ts
echo "=== useWorkspaceWorkersViewModel ==="
cat src/features/manager/home/hooks/useWorkspaceWorkersViewModel.ts
echo "=== useTodaySchedulesViewModel ==="
cat src/features/manager/home/hooks/useTodaySchedulesViewModel.ts
echo "=== ManagerHomePage ==="
cat src/pages/manager/home/index.tsx
echo "=== OngoingPostingCard ==="
cat src/shared/ui/manager/OngoingPostingCard.tsx
echo "=== SubstituteApprovalCard ==="
cat src/shared/ui/manager/SubstituteApprovalCard.tsx
echo "=== TodayWorkerList ==="
cat src/features/manager/home/ui/TodayWorkerList.tsx
echo "=== useWorkerScheduleManageViewModel ==="
cat src/features/manager/worker-schedule/hooks/useWorkerScheduleManageViewModel.tsLength of output: 44092
🔴 1. Query 캐시 키 분리 회귀 (cache miss 이중 요청)
// useWorkerScheduleManageViewModel.ts
// pageSize 인자 없음 → 기본값 50 → queryKey에 pageSize:50 포함
const { workers } = useWorkspaceWorkersViewModel(workspaceId)
// useManagerHomeViewModel.ts
// queryKey에 pageSize:3 포함 → 완전 다른 캐시
useWorkspaceWorkersViewModel(activeWorkspaceId, undefined, 3)두 화면 간 이동 시 같은 워커 목록을 중복 요청합니다. 🔴 2.
|
dohy-eon
left a comment
There was a problem hiding this comment.
흠 .. 위에 코멘트 한번 확인하시고 2, 4번은 수정 부탁드리겟습니다! @limtjdghks
ID
변경 내용
구현 사항
빈 상태 UI 추가
데이터가 없을 때 빈 화면 대신 안내 문구를 표시하도록 각 섹션에 empty state를 추가했습니다.
더보기 버튼 노출 로직 개선
상단 스케줄 저장 성공 메시지 제거
리스트 key 중복 버그 수정 (fix)
installHook.js: Warning: Encountered two children with the same key, 15 경고 수정
API가 동일한 항목을 중복 반환하거나 cursor 페이지네이션이 겹치는 경우를 대비해, 각 ViewModel의 useMemo 내에서 ID 기준deduplication을 추가했습니다.
구현 시연 (필요 시)
2026-05-27.6.45.44.mov
Summary by CodeRabbit
릴리스 노트
Bug Fixes
New Features