vibe-kanban
vibe-kanban copied to clipboard
feat: add expandable terminal in logs panel (Vibe Kanban)
Summary
This PR adds an expandable terminal feature that allows users to view the terminal in a larger, dedicated panel within the logs content area.
Changes Made
-
Expandable Terminal UI: Added a "Terminal" option at the top of the process list in
LogsContentContainer.tsxthat expands the terminal into the main logs panel area -
Expand/Collapse Controls: Added an expand button (arrows icon) to the terminal section header in
RightSidebar.tsx, and a collapse button in the expanded terminal view - Smart Visibility: Terminal section automatically hides from the sidebar when expanded to avoid duplication
- Auto-collapse Behavior: Terminal automatically collapses when the user switches to a different panel (Preview, Changes)
- Session Preservation: Terminal session (scrollback history, running processes) is preserved when expanding/collapsing by storing terminal instances in context
-
Refactored Section Actions: Replaced optional
icon/onIconClickprops with a cleaneractionsarray pattern inCollapsibleSectionHeader
Implementation Details
- Extended
LogsPanelContenttype to include'terminal'content type - Added
expandTerminal(),collapseTerminal(), andisTerminalExpandedtoLogsPanelContext - Terminal instances are stored in
TerminalContextusing refs to persist across mount/unmount cycles - Added i18n translations for terminal feature across all supported locales (en, es, ja, ko, zh-Hans, zh-Hant)
Testing
- Open the logs panel and click "Terminal" in the process list - terminal should expand
- Click the collapse button - terminal should return to sidebar
- Expand terminal, then switch to Preview - terminal should auto-collapse
- Expand/collapse terminal - session history should be preserved
This PR was written using Vibe Kanban
Review Complete
Your review story is ready!
Comment !reviewfast on this PR to re-generate the story.