Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Wondering what really moved? Review this PR in Change Stack to inspect semantic changes, definitions, and references. Warning Review limit reached
More reviews will be available in 46 minutes and 34 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 ignored due to path filters (1)
📒 Files selected for processing (4)
📝 Walkthrough걸어보기이 PR은 sonner 토스트 라이브러리를 애플리케이션에 통합하고, 로그인, 피드 참여, 게시물 생성, 지도 상호작용, 스팟 관리 등 전반에 걸쳐 사용자 피드백 토스트를 추가합니다. 또한 지도 제스처 액션을 단순화하고 피드 필터링 옵션을 확장하며, 북마크 기능을 실제 구현으로 교체합니다. 변경 사항Toast 시스템 통합 및 사용자 피드백 개선
예상 코드 리뷰 난이도🎯 3 (중간) | ⏱️ ~25 분 관련 PR
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 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: 4
🤖 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 `@package.json`:
- Line 43: The design-system package imports "sonner" but doesn't declare it,
causing potential resolution failures; add "sonner": "^2.0.7" to the
design-system package.json dependencies (not devDependencies/peerDependencies)
so runtime consumers of the design-system have the dependency available, update
the dependencies object in packages' package.json accordingly and run a
workspace install to verify.
In `@packages/design-system/src/components/Toaster.tsx`:
- Around line 14-25: The current Toaster uses <SonnerToaster toastOptions={...}
{...props} /> so any consumer-supplied props.toastOptions will fully replace the
default toastOptions/classNames; update Toaster.tsx to merge defaults with
incoming props.toastOptions (and specifically merge nested classNames) instead
of shallow-overwriting—locate the toastOptions object in Toaster.tsx and produce
a mergedOptions by deep-merging its defaults with props.toastOptions (e.g.,
merge toastOptions.classNames with props.toastOptions.classNames, then merge
other toastOptions fields), and pass mergedOptions to <SonnerToaster /> while
still spreading {...props} without allowing its toastOptions to override
defaults wholesale.
In `@src/features/auth/ui/login/SocialLoginButtons.tsx`:
- Around line 30-40: The social OAuth links (e.g., the Naver/Google anchors
using naverHref, googleHref) are currently rendered as <a href=...> which allows
users to bypass the blocked flow via "open in new tab"; change these to
interactive buttons instead: replace the anchor elements in the
SocialLoginButtons component with <button type="button"> elements, remove href
attributes, keep the existing onClick handler (showBlockedOAuth) and all
classes/children (icons and text) so styling and behavior remain identical, and
ensure accessibility by preserving role/aria attributes if present.
In `@src/features/post/model/use-post-form-prefill.ts`:
- Around line 44-47: The code currently calls Number(searchParams.get('lat')) /
Number(searchParams.get('lng')) which converts null to 0 and leads to false
positives and the early return (if (!title && !category && !location &&
!content) return undefined) ignoring coordinate-only prefills; change parsing to
first read the raw params (e.g., const latRaw = searchParams.get('lat'), lngRaw
= searchParams.get('lng')), set lat/lng to undefined when the raw value is null
or not a finite number (use Number(...) then check Number.isFinite or
!Number.isNaN), and update the early-return condition to also consider lat and
lng (only return undefined when no title, category, location, content AND lat
and lng are both undefined/invalid) so coordinate-only prefill works correctly.
🪄 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: f8c34b8d-275c-4a30-a7dd-4ebac472fb2c
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (26)
package.jsonpackages/design-system/src/components/Toaster.tsxpackages/design-system/src/index.tssrc/app/layout.tsxsrc/features/auth/ui/login/SocialLoginButtons.tsxsrc/features/chat/api/chat-api.tssrc/features/feed/model/feed-filter.tssrc/features/feed/model/types.tssrc/features/feed/ui/detail/FeedParticipationActions.tsxsrc/features/map/client/MapClient.tsxsrc/features/map/model/feed-stack-gesture.test.tssrc/features/map/model/feed-stack-gesture.tssrc/features/map/model/types.tssrc/features/map/ui/MapCardDeckOverlay.tsxsrc/features/map/ui/MapFeedInfoCard.tsxsrc/features/map/ui/SpotInfoCard.tsxsrc/features/my/client/MyPageClient.tsxsrc/features/my/ui/my-page/MyFormControls.tsxsrc/features/post/client/OfferFormClient.tsxsrc/features/post/client/RequestFormClient.tsxsrc/features/post/model/use-post-base-form.tssrc/features/post/model/use-post-form-prefill.tssrc/features/spot/client/detail/SettlementSubmitSheet.tsxsrc/features/spot/client/detail/SpotDetailClient.tsxsrc/features/spot/client/detail/SpotSettlementActions.tsxsrc/features/spot/ui/detail/ActionBar.tsx
💤 Files with no reviewable changes (1)
- src/features/map/ui/MapCardDeckOverlay.tsx
Summary
Verification
pnpm lintpassed with existing warnings only.pnpm testpassed: 36 files, 159 tests.pnpm buildpassed.Notes
Summary by CodeRabbit
릴리스 노트
New Features
Improvements
UI/UX