feat: add resizable widgets bar with persisted width#2888
feat: add resizable widgets bar with persisted width#2888rlohne wants to merge 1 commit intowavetermdev:mainfrom
Conversation
Wrap TabContent + Widgets in a nested react-resizable-panels PanelGroup so users can drag-resize the bar from 48px up to 300px. Width is persisted per-tab via the new "widgets:width" metadata key, matching the existing AI panel pattern. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
|
Caution Review failedThe pull request is closed. WalkthroughThe changes implement a widget width feature for workspace layout management. Updates include: adding widget width constants and persistence logic to the workspace layout model, introducing a new InnerContent component to manage widget layout, modifying widget container widths from fixed to full width, and extending metadata types in both frontend and backend to support storing widget width values (types, constants, and struct field). Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes ✨ Finishing touches
🧪 Generate unit tests (beta)
Tip Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord. 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 |
This pull request introduces a major improvement to the workspace layout by making the width of the widgets panel resizable and persistent per tab. The changes involve both frontend and backend updates to support saving, restoring, and clamping the widgets panel width, as well as updating the UI to use a horizontal split between the main content and the widgets panel.
Workspace Layout and Widgets Panel Resizing:
TabContent) and the widgets panel (Widgets) using a nestedPanelGroupinworkspace.tsx, allowing users to adjust the widgets panel width interactively. [1] [2]WorkspaceLayoutModelto store, clamp, and persist the widgets panel width per tab, including new constants for default, min, and max widths, and methods for getting and setting the width. [1] [2] [3] [4] [5] [6] [7] [8] [9]Widgetscomponent to use full width instead of a fixed width, so it responds to the resizing logic. [1] [2]Persistence and Backend Support:
widgets:width, to the backend (metaconsts.go) and updated the tab meta type (wtypemeta.go) to support saving and restoring the widgets panel width for each tab. [1] [2]Wrap TabContent + Widgets in a nested react-resizable-panels PanelGroup so users can drag-resize the bar from 48px up to 300px. Width is persisted per-tab via the new "widgets:width" metadata key, matching the existing AI panel pattern.