-
Notifications
You must be signed in to change notification settings - Fork 0
Feature: 드래그 & 스크롤 기능 추가 #150
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
Conversation
Warning Rate limit exceeded@guesung has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 16 minutes and 53 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, 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 have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (1)
Walkthrough
Changes
Possibly related PRs
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? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
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)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this 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 (3)
packages/web/src/app/[lng]/(auth)/memos/_components/MemoView/MemoGrid.tsx (3)
86-101
: 스크롤 하단 인접 로직 개선 제안
현재 드래그 위치가 하단 근처일 때setInterval
로 스크롤을 진행하는 로직은 동작 면에서 적절해 보입니다. 다만, 사용자가 빠르게 마우스를 움직일 때 중복으로setInterval
이 여러 번 호출될 가능성이 있을 수 있으므로, 추가적인 안전 장치(예: 드래그가 종료될 때 남아있는 모든 Interval을 한 번 더 정리)나requestAnimationFrame
활용 방식으로 좀 더 부드러운 스크롤 동작을 고려할 수 있습니다.
102-116
: 스크롤 상단 인접 로직 개선 제안
하단 스크롤 로직과 마찬가지로 상단에서도setInterval
로 스크롤을 유도합니다. 동일한 로직이 반복되므로, 중복 코드를 줄이기 위해 상·하단 스크롤 처리를 별도의 함수로 추출해 재사용하는 방식을 고려해 주세요. 또한 requestAnimationFrame 등을 사용해 jank 없는 스크롤을 구현할 수도 있습니다.
215-215
: useRecycle 옵션 사용에 대한 성능 고려
MasonryInfiniteGrid
에서useRecycle={false}
를 설정하면 기존 재활용 로직을 비활성화하여 렌더링된 DOM을 계속 유지합니다. 데이터 개수가 많아질수록 메모리 및 렌더링 성능에 영향이 있을 수 있으니, 필요한 경우에만 비활성화하거나 조건부로 옵션을 적용하는 방안을 검토해 보시길 권장합니다.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
packages/web/src/app/[lng]/(auth)/memos/_components/MemoView/MemoGrid.tsx
(2 hunks)
* Feature: mutate 실패 시 알림 및 Sentry에 사용자 데이터 설정 (#149) * feat: Sentry - 사용자 데이터 설정 * feat: mutate 실패 시 Sentry에 알림 * fix: import 에러 해결 * feat: global-error 구현 및 app/_components로 이동 ref : https://nextjs.org/docs/14/app/building-your-application/routing/error-handling * feat: 클라이언트 단에서 Sentry를 설정하는 컴포넌트 추가 * Feature: 드래그 & 스크롤 기능 추가 (#150) * feat: 드래그 & 스크롤 기능 추가 * fix: useRecycle 비활성화 ref : https://naver.github.io/egjs-infinitegrid/release/latest/doc/eg.InfiniteGrid.html * feat: requestAnimationFrame을 활용한 최적화 * feat: MemoItem에 layoutId 추가 * fix: isSelecting이 true일 때 선택이 안되는 이슈 해결 * fix: key값 불일치 이슈 해결 * feat: placeholder 번역 * feat: item과 dialog간의 layoutId 일치 * chore: html에 lang속성 추가
* Feature: mutate 실패 시 알림 및 Sentry에 사용자 데이터 설정 (#149) * feat: Sentry - 사용자 데이터 설정 * feat: mutate 실패 시 Sentry에 알림 * fix: import 에러 해결 * feat: global-error 구현 및 app/_components로 이동 ref : https://nextjs.org/docs/14/app/building-your-application/routing/error-handling * feat: 클라이언트 단에서 Sentry를 설정하는 컴포넌트 추가 * Feature: 드래그 & 스크롤 기능 추가 (#150) * feat: 드래그 & 스크롤 기능 추가 * fix: useRecycle 비활성화 ref : https://naver.github.io/egjs-infinitegrid/release/latest/doc/eg.InfiniteGrid.html * feat: requestAnimationFrame을 활용한 최적화 * feat: MemoItem에 layoutId 추가 * fix: isSelecting이 true일 때 선택이 안되는 이슈 해결 * fix: key값 불일치 이슈 해결 * feat: placeholder 번역 * feat: item과 dialog간의 layoutId 일치 * chore: html에 lang속성 추가
Summary by CodeRabbit