Skip to content

forgot to change url to remote#16

Open
ransuum wants to merge 12 commits intoengly817chat:mainfrom
ransuum:feat/newRoomApiAndSocketUpdate
Open

forgot to change url to remote#16
ransuum wants to merge 12 commits intoengly817chat:mainfrom
ransuum:feat/newRoomApiAndSocketUpdate

Conversation

@ransuum
Copy link
Copy Markdown
Member

@ransuum ransuum commented Dec 19, 2025

Summary by CodeRabbit

Release Notes

  • New Features

    • Added collapsible chat sidebar for improved workspace navigation and space management
  • UI Improvements

    • Enhanced chat creation modal with category badges and improved visual design
    • Refined form inputs and buttons with updated styling and hover effects
    • Improved mobile responsiveness across chat interface
    • Updated Google OAuth authentication flow

✏️ Tip: You can customize this high-level summary in your review settings.

@vercel
Copy link
Copy Markdown

vercel bot commented Dec 19, 2025

@ransuum is attempting to deploy a commit to the Oleksanra's projects Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Dec 19, 2025

Walkthrough

The PR introduces state management for a collapsible chat sidebar with expand/collapse controls, refactors the chat sidebar UI to be responsive with conditional rendering based on open state, updates the create chat modal styling with category badges and gradient button effects, and modifies the Google OAuth redirect endpoint path.

Changes

Cohort / File(s) Summary
Sidebar State Management
src/app/(root)/chats/layout.tsx
Introduces isRoomListOpen boolean state and passes it with setter to ChatSidebar component
Sidebar UI Refactor
src/features/chats/ui/chat-sidebar.tsx
Adds controlled open/close state via props, implements responsive width (365px / 72px), adds collapse button with ChevronLeft icon, reworks header structure with title and CTA button, updates search/filter styling, adds mobile rail visibility handling
Create Chat Modal Styling
src/features/chats/ui/create-chat-modal.tsx
Introduces formatCategoryName() helper, adds category badge, updates backdrop and content styling with gradient and rounded corners, adds close button, enhances Input/Textarea styling, applies gradient button with hover effects
Auth OAuth Path
src/features/auth/ui/providers.tsx
Updates Google OAuth button redirect from /oauth2/login/google to /oauth2/authorization/google

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • src/features/chats/ui/chat-sidebar.tsx — Largest change; requires verification of responsive behavior, conditional rendering logic, and proper state prop handling
  • src/features/chats/ui/create-chat-modal.tsx — Multiple styling changes and new helper function; verify gradient classes and animation effects render correctly
  • State coordination — Ensure isRoomListOpen state flows correctly from layout through sidebar and doesn't conflict with existing internal state fallback logic

Possibly related PRs

Poem

🐰 A sidebar that dances, collapsing with grace,
Modals blooming brighter with badges in place,
OAuth paths redirect where they should,
Responsive and smooth—this refactor is good!

Pre-merge checks and finishing touches

❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
Title check ❓ Inconclusive The PR title 'forgot to change url to remote' is vague and does not clearly describe the main changes. While the changes include a URL update in the Google OAuth path, the title lacks specificity about what was changed and why. Revise the title to be more descriptive, such as 'Update Google OAuth redirect path to remote endpoint' or 'Change OAuth backend path to /oauth2/authorization/google'.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

Copy link
Copy Markdown

@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: 4

🧹 Nitpick comments (1)
src/features/chats/ui/chat-sidebar.tsx (1)

248-256: Fragile fixed positioning for expand button.

The left-[84px] value is coupled to the collapsed sidebar width (72px + padding). If the collapsed width changes, this button will be misaligned.

Consider extracting the collapsed width as a constant or calculating the position dynamically to avoid maintenance issues:

const COLLAPSED_WIDTH = 72
// ...
<button
  className={`fixed top-6 z-50 ... transition-all`}
  style={{ left: `${COLLAPSED_WIDTH + 12}px` }}
  // ...
>
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b6c8e72 and 842b438.

📒 Files selected for processing (4)
  • src/app/(root)/chats/layout.tsx (3 hunks)
  • src/features/auth/ui/providers.tsx (1 hunks)
  • src/features/chats/ui/chat-sidebar.tsx (6 hunks)
  • src/features/chats/ui/create-chat-modal.tsx (2 hunks)
🧰 Additional context used
🧬 Code graph analysis (3)
src/features/auth/ui/providers.tsx (1)
src/shared/constants/app-consts.ts (1)
  • AppConfig (1-4)
src/features/chats/ui/create-chat-modal.tsx (4)
src/shared/ui/common/form.tsx (5)
  • Form (171-171)
  • FormField (177-177)
  • FormItem (172-172)
  • FormControl (174-174)
  • FormMessage (176-176)
src/shared/ui/common/input.tsx (1)
  • Input (22-22)
src/shared/ui/common/textarea.tsx (1)
  • Textarea (23-23)
src/shared/ui/common/button.tsx (1)
  • Button (56-56)
src/features/chats/ui/chat-sidebar.tsx (3)
src/shared/ui/common/sidebar.tsx (3)
  • useSidebar (564-564)
  • Sidebar (543-543)
  • SidebarHeader (550-550)
src/shared/utils/tw-merge.ts (1)
  • cn (4-6)
src/shared/ui/common/button.tsx (1)
  • Button (56-56)
🔇 Additional comments (6)
src/features/auth/ui/providers.tsx (1)

19-22: LGTM - OAuth endpoint path corrected.

The path /oauth2/authorization/google is the standard Spring Security OAuth2 authorization endpoint. This fix aligns with the PR objective.

src/features/chats/ui/create-chat-modal.tsx (2)

32-37: Helper function is clean and reasonable.

The formatCategoryName function correctly transforms snake_case slugs to Title Case. The implementation is straightforward.


70-145: Modal UI redesign looks good.

The form handling, validation, mutation flow, and accessibility (aria-label on close button) are properly maintained. The gradient styling and transitions are well-implemented.

src/app/(root)/chats/layout.tsx (1)

16-17: State management for sidebar visibility looks good.

The controlled state pattern with isRoomListOpen and its setter is properly implemented and passed to ChatSidebar.

Also applies to: 26-27

src/features/chats/ui/chat-sidebar.tsx (2)

40-52: Well-implemented controlled/uncontrolled pattern.

The component correctly supports both external control via props and internal state as a fallback using the nullish coalescing operator. This provides good flexibility for consumers.


122-122: Inline style for responsive width is acceptable but consider CSS variable.

The inline style width: isOpen ? '365px' : '72px' works but could be more maintainable with CSS custom properties if these values are reused elsewhere.

Comment thread src/app/(root)/chats/layout.tsx
Comment thread src/features/chats/ui/chat-sidebar.tsx
Comment thread src/features/chats/ui/chat-sidebar.tsx
Comment thread src/features/chats/ui/create-chat-modal.tsx
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.

1 participant