-
Notifications
You must be signed in to change notification settings - Fork 7
feat: add framer-motion for animations + minor fixes #184
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
base: main
Are you sure you want to change the base?
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.