feat: add framer-motion for animations + minor fixes#184
feat: add framer-motion for animations + minor fixes#184mayur1377 wants to merge 4 commits intoRequestNetwork:mainfrom
Conversation
WalkthroughAdds the framer-motion dependency and integrates animations into UI components: an animated theme toggle (icon and knob animations), animated collapsible sections in the sidebar, and small hover/transition styling updates in the footer and sign-in page. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Organization UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🧰 Additional context used📓 Path-based instructions (1)**/*⚙️ CodeRabbit configuration file
Files:
🧬 Code graph analysis (1)src/components/mode-toggle.tsx (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
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 |
Greptile SummaryThis PR enhances UI polish by adding Key Changes:
Issues Found:
Confidence Score: 3/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant User
participant Component
participant FramerMotion
participant DOM
Note over User,DOM: Sidebar Collapse/Expand Animation
User->>Component: Click section toggle
Component->>Component: Update expandedSections state
Component->>FramerMotion: AnimatePresence detects change
FramerMotion->>DOM: Animate height 0→auto, opacity 0→1
FramerMotion->>DOM: Rotate ChevronRight 0°→90°
DOM->>User: Smooth expand animation (200ms)
Note over User,DOM: Dark Mode Toggle Animation
User->>Component: Click mode toggle button
Component->>Component: Toggle theme (dark ↔ light)
Component->>FramerMotion: AnimatePresence mode="wait"
FramerMotion->>DOM: Exit animation (rotate, scale, opacity)
FramerMotion->>DOM: Enter animation (rotate, scale, opacity)
FramerMotion->>DOM: Slide toggle knob (spring animation)
DOM->>User: Icon crossfade + knob slide (200ms)
|
There was a problem hiding this comment.
Additional Comments (2)
-
src/components/mode-toggle.tsx, line 64 (link)syntax:
text-white-400is not a valid Tailwind CSS class - should betext-muted-foregroundor another valid color -
src/components/mode-toggle.tsx, line 75 (link)syntax:
text-white-500is not a valid Tailwind CSS class - should betext-muted-foregroundor another valid color
5 files reviewed, 2 comments
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (5)
package.json(1 hunks)src/app/(auth)/signin/page.tsx(1 hunks)src/components/footer.tsx(1 hunks)src/components/mode-toggle.tsx(3 hunks)src/components/navigation/sidebar.tsx(5 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**/*
⚙️ CodeRabbit configuration file
**/*: - Only comment on issues that would block merging — ignore minor or stylistic concerns.
- Restrict feedback to errors, security risks, or functionality-breaking problems.
- Do not post comments on code style, formatting, or non-critical improvements.
- Keep reviews short: flag only issues that make the PR unsafe to merge.
- Limit review comments to 3–5 items maximum, unless additional blockers exist.
- Group similar issues into a single comment instead of posting multiple notes.
- Skip repetition — if a pattern repeats, mention it once at a summary level only.
- Do not add general suggestions; focus strictly on merge-blocking concerns.
- If there are no critical problems, respond with minimal approval (e.g., 'Looks good'). Do not add additional review.
- Avoid line-by-line commentary unless it highlights a critical bug or security hole.
- Highlight only issues that could cause runtime errors, data loss, or severe maintainability issues.
- Ignore minor optimization opportunities — focus solely on correctness and safety.
- Provide a top-level summary of critical blockers rather than detailed per-line notes.
- Comment only when the issue must be resolved before merge — otherwise, remain silent.
- When in doubt, err on the side of fewer comments — brevity and blocking issues only.
- Avoid posting any refactoring issues
Files:
src/components/footer.tsxpackage.jsonsrc/app/(auth)/signin/page.tsxsrc/components/mode-toggle.tsxsrc/components/navigation/sidebar.tsx
🧠 Learnings (2)
📚 Learning: 2025-10-28T12:17:14.899Z
Learnt from: bassgeta
Repo: RequestNetwork/easy-invoice PR: 168
File: src/components/payment-widget/README.md:29-31
Timestamp: 2025-10-28T12:17:14.899Z
Learning: The payment-widget component in src/components/payment-widget/ is an external component installed via ShadCN from the Request Network registry (https://ui.request.network). Its README and documentation should not be modified as it's maintained externally.
Applied to files:
src/components/footer.tsx
📚 Learning: 2025-08-08T09:52:43.700Z
Learnt from: bassgeta
Repo: RequestNetwork/easy-invoice PR: 117
File: src/app/not-found.tsx:29-67
Timestamp: 2025-08-08T09:52:43.700Z
Learning: Repository: RequestNetwork/easy-invoice
Context: src/app/not-found.tsx (Next.js, TypeScript/React)
Learning: It is acceptable (by current product decision) for the NotFound page to display links to /invoices/create and /subscription-plans even though these routes are auth-gated. Rationale: prevent the 404 from feeling empty; most users are authenticated. No lock icons or conditional rendering required for now; can be revisited later as an enhancement.
Applied to files:
src/components/footer.tsx
🧬 Code graph analysis (1)
src/components/mode-toggle.tsx (1)
src/lib/utils.ts (1)
cn(4-6)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Build
- GitHub Check: Greptile Review
🔇 Additional comments (3)
src/components/footer.tsx (1)
10-13: LGTM!Styling changes for hover effects and transitions look good.
src/app/(auth)/signin/page.tsx (1)
58-65: LGTM!Consistent hover styling with dark mode support.
src/components/navigation/sidebar.tsx (1)
3-3: LGTM!The framer-motion animation implementation for collapsible sections is correctly structured with proper AnimatePresence usage and animation states.
Also applies to: 96-146
made a few ui fixes
-> fixed incorrect text color on home page
-> fixed toggle animation for dark mode
-> added framer motion for sidebar
Summary by CodeRabbit
New Features
Improvements
✏️ Tip: You can customize this high-level summary in your review settings.