Skip to content

fix: responsive controls panel - #26

Merged
g-eoj merged 1 commit into
mainfrom
fix/responsive-design
Feb 28, 2026
Merged

fix: responsive controls panel#26
g-eoj merged 1 commit into
mainfrom
fix/responsive-design

Conversation

@g-eoj

@g-eoj g-eoj commented Feb 28, 2026

Copy link
Copy Markdown
Owner

Summary

  • Controls panel now overlays the chat (position: fixed) instead of pushing content aside
  • Panel is hidden by default on screens narrower than 1600px and visible on larger screens
  • Smooth slide-in/out animation on open and close, matching the feel of the collapsible control sections
  • Scrollbar moved to the viewport's right edge by collapsing a redundant wrapper div

Closes #19

Test plan

  • On a wide screen (≥ 1600px): panel is open by default, close/reopen with the X and chevron buttons, verify smooth animation
  • On a narrow screen (< 1600px): panel is hidden by default, open with the chevron, verify it overlays without shifting chat content
  • Confirm the chat scrollbar sits at the far right edge of the viewport

🤖 Generated with Claude Code

Greptile Summary

This PR successfully transforms the controls panel from a static sidebar into a responsive overlay that adapts to screen size. The panel now uses fixed positioning to overlay the chat content instead of pushing it aside, with smooth slide-in/out animations matching the existing collapsible control sections.

Key improvements:

  • Panel overlays chat content using position: fixed with z-index: 40
  • Automatically hidden on screens < 1600px, visible on larger screens
  • Increased panel opacity from 50% to 95% for better readability over content
  • 300ms slide animation timing perfectly synchronized between CSS keyframes and JavaScript timeout
  • Scrollbar moved to viewport edge by removing redundant wrapper div
  • Used 100dvh for mobile compatibility with dynamic viewport changes

The implementation is clean and follows good practices with proper accessibility attributes (title on buttons), well-timed animations, and appropriate signal state management.

Confidence Score: 5/5

  • This PR is safe to merge with no issues found
  • The changes are well-implemented with proper animation timing, responsive behavior, and no logical errors or security concerns. The code follows established patterns and includes appropriate accessibility features.
  • No files require special attention

Important Files Changed

Filename Overview
web/assets/styles.css Updated panel styling for fixed overlay positioning, increased opacity to 95%, and added smooth slide-in/out animations
web/islands/Chat.tsx Removed redundant wrapper div and moved scrollbar to viewport edge by consolidating flex layout
web/islands/ControlsPanel.tsx Added responsive behavior to hide panel on screens < 1600px, implemented close animation with 300ms timing, and dynamic class management

Last reviewed commit: c55a589

- Panel now overlays chat (position: fixed) instead of pushing content
- Hidden by default on screens narrower than 1600px
- Smooth slide-in/out animation on open and close
- Simplified --bg-panel color, removed unused hover variant
- Move overflow-y-auto to outermost flex container so scrollbar sits at viewport edge

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@g-eoj
g-eoj merged commit cdd7325 into main Feb 28, 2026
4 checks passed
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.

Responsive design: controls panel and chat layout on small screens

1 participant