Skip to content

Conversation

@ezhil56x
Copy link
Contributor

@ezhil56x ezhil56x commented Nov 16, 2025

2025-11-16.22-12-22.mp4

Summary by CodeRabbit

  • New Features

    • Added responsive overlay sidebar that displays on smaller screens with smooth animations.
    • Implemented animated transitions for sidebar interactions and profile dropdown menu.
  • Style

    • Updated dashboard color palette with refined dark theme backgrounds.
    • Enhanced hover effects and visual feedback for improved navigation clarity.

@vercel
Copy link

vercel bot commented Nov 16, 2025

@ezhil56x is attempting to deploy a commit to the AJEET PRATAP SINGH's projects Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 16, 2025

Walkthrough

The pull request introduces responsive sidebar behavior with mobile overlay support and animation enhancements. The layout conditionally renders an animated overlay sidebar on smaller screens using Framer Motion, while the main dashboard layout and color palette are updated to support this new responsive mode.

Changes

Cohort / File(s) Summary
Dashboard Layout
apps/web/src/app/(main)/dashboard/layout.tsx
Adds AnimatePresence wrapper and conditional rendering of animated overlay Sidebar component on smaller screens when showSidebar is true; large-screen Sidebar remains static.
Sidebar Components
apps/web/src/components/dashboard/Sidebar.tsx, apps/web/src/components/sidebar/SidebarItem.tsx
Sidebar refactored to support optional overlay prop, integrates Framer Motion with motion.div and AnimatePresence for animations, updates icon imports (ChevronDoubleLeftIcon/RightIcon → ChevronLeftIcon/RightIcon), adds responsive width calculations, and animates profile dropdown. SidebarItem adds group hover effects with updated text color transitions.
Tailwind Configuration
apps/web/tailwind.config.ts
Updates color palette: ox-sidebar (#262626#141414), ox-content (#1E1E1E#1A1A1A), and adds new ox-profile-card color (#1E1E1E).

Sequence Diagram

sequenceDiagram
    participant Screen as Screen Size
    participant Layout as Dashboard Layout
    participant Sidebar as Sidebar Component
    participant AnimatePresence as AnimatePresence

    Screen->>Layout: Render with showSidebar state
    
    alt Desktop (Large Screen)
        Layout->>Sidebar: Render static Sidebar (overlay=false)
        Sidebar->>Sidebar: Display at desktop width
    else Mobile (Small Screen)
        Layout->>AnimatePresence: Conditionally render
        alt showSidebar = true
            AnimatePresence->>Sidebar: Mount animated Sidebar (overlay=true)
            Sidebar->>Sidebar: Animate entry with motion.div
            Sidebar->>Sidebar: Display at mobile width with overlay
        else showSidebar = false
            AnimatePresence->>Sidebar: Unmount with exit animation
        end
    end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

  • Sidebar component refactor: Heterogeneous changes including new prop signature, Framer Motion animation integration, icon import replacements, responsive width calculations, and animated profile dropdown—each requiring separate verification
  • Animation logic: Verify AnimatePresence and motion.div implementations work correctly across screen sizes and state transitions
  • Styling updates: Multiple color and hover state changes across SidebarItem and Tailwind config require visual consistency review
  • Icon replacements: Ensure new ChevronLeftIcon/RightIcon render correctly and maintain visual parity with previous icons

Possibly related PRs

Poem

🐰 A sidebar springs to life with grace,
Framer Motion sets the pace—
On mobile screens it overlays,
While desktop keeps its steady ways.
Chevrons dance, dropdowns glide,
The UI's now along for the ride!

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: sidebar visual enhancements and animation improvements via framer-motion integration, overlay mode, and color scheme updates.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

📝 Customizable high-level summaries are now available!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide custom instructions to shape the summary (bullet lists, tables, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example:

"Create a concise high-level summary as a bullet-point list. Then include a Markdown table showing lines added and removed by each contributing author."


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@cla-assistant
Copy link

cla-assistant bot commented Nov 16, 2025

CLA assistant check
All committers have signed the CLA.

@cla-assistant
Copy link

cla-assistant bot commented Nov 16, 2025

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

Copy link
Contributor

@coderabbitai coderabbitai bot left a 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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
apps/web/src/components/dashboard/Sidebar.tsx (1)

44-73: Overlay + animation wiring looks good; fix mobile header bg class typo

The overlay prop, width calculation (desktopWidth / mobileWidth), and animated container config are coherent for both desktop and mobile flows, and the fixed positioning for overlay mode is appropriate. One issue: the mobile header uses bg-ox-sideba (Line 75), which looks like a typo and won’t map to your configured ox-sidebar color, so the header background won’t get the intended styling.

Consider:

-      <div className="flex justify-between items-center h-16 px-4 border-b border-ox-header xl:hidden bg-ox-sideba">
+      <div className="flex justify-between items-center h-16 px-4 border-b border-ox-header xl:hidden bg-ox-sidebar">

Also applies to: 75-87

🧹 Nitpick comments (3)
apps/web/src/components/sidebar/SidebarItem.tsx (1)

18-25: Hover + group behavior is correct; consider reusing palette token

The group + group-hover setup for icon and label is correct and will synchronize hover states across the row. As a small follow-up, you might replace hover:bg-[#292929] with a named Tailwind token (e.g. a dedicated hover color next to ox-sidebar) to keep colors centralized and easier to tweak later.

Also applies to: 28-29

apps/web/src/components/dashboard/Sidebar.tsx (2)

111-152: Reduce duplication for “Opensox Pro” item via SidebarItem

The dedicated “Opensox Pro” CTA block (when not paid) mirrors the structure and hover behavior of SidebarItem and reimplements the new group-hover pattern. To keep things DRY and consistent, you could reuse SidebarItem here with the existing badge prop, e.g., pass icon={<StarIcon ... />} and badge={<OpensoxProBadge ... />}, and then adjust styles via props or a wrapper if needed.


186-259: Profile dropdown behavior is solid; consider small accessibility tweaks

The profile card + dropdown state management (including outside-click handling and closing on navigation/sign out) is sound and aligns with the new visual tokens. For better accessibility, you might add role="button" and aria-expanded={open} (and optionally keyboard handlers) to the clickable profile container so assistive tech and keyboard users can interact with the menu more reliably.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 617cdb2 and 2122bac.

📒 Files selected for processing (4)
  • apps/web/src/app/(main)/dashboard/layout.tsx (2 hunks)
  • apps/web/src/components/dashboard/Sidebar.tsx (9 hunks)
  • apps/web/src/components/sidebar/SidebarItem.tsx (1 hunks)
  • apps/web/tailwind.config.ts (1 hunks)
🧰 Additional context used
🧬 Code graph analysis (2)
apps/web/src/app/(main)/dashboard/layout.tsx (1)
apps/web/src/components/dashboard/Sidebar.tsx (1)
  • Sidebar (44-158)
apps/web/src/components/dashboard/Sidebar.tsx (3)
apps/web/src/store/useShowSidebar.ts (1)
  • useShowSidebar (10-16)
apps/web/src/components/ui/IconWrapper.tsx (1)
  • IconWrapper (10-22)
apps/web/src/components/dashboard/ProfilePic.tsx (1)
  • ProfilePic (11-59)
🔇 Additional comments (2)
apps/web/tailwind.config.ts (1)

60-62: New sidebar/content/profile-card tokens look consistent

The added ox-sidebar, ox-profile-card, and ox-content tokens are coherent with the updated sidebar/profile styling and keep the dark palette consistent. No issues from a Tailwind config standpoint.

apps/web/src/app/(main)/dashboard/layout.tsx (1)

3-3: Responsive sidebar wiring with overlay looks correct

Desktop and mobile sidebars are cleanly separated (hidden xl:block vs xl:hidden), and the conditional rendering based on showSidebar ensures the overlay variant only appears on small screens without affecting the desktop layout. The integration with the shared store (useShowSidebar) looks consistent.

Also applies to: 21-30

@apsinghdev
Copy link
Owner

that's so cool @ezhil56x ! love it ❤️

@vercel
Copy link

vercel bot commented Nov 16, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
opensox-website Ready Ready Preview Comment Nov 16, 2025 6:23pm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants