mirror of
https://github.com/openai/codex.git
synced 2026-04-24 14:45:27 +00:00
Merge branch 'agentydragon-18-chat-ui-textarea-overlay-border-fix' into agentydragon
# Conflicts: # agentydragon/tasks/18-chat-ui-textarea-overlay-border-fix.md
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
+++
|
||||
id = "18"
|
||||
title = "Chat UI Textarea Overlay and Border Styling Fix"
|
||||
status = "Not started"
|
||||
dependencies = "" # No prerequisites
|
||||
status = "Done"
|
||||
dependencies = "02,07,09,11,14,29"
|
||||
last_updated = "2025-06-25T01:40:09.514379"
|
||||
+++
|
||||
|
||||
@@ -32,10 +32,12 @@ goal: |
|
||||
## Implementation
|
||||
|
||||
**How it was implemented**
|
||||
*(Not implemented yet)*
|
||||
* Merged the bottom border of the history pane and the top border of the input textarea into a single shared line by removing the textarea's top border and keeping only a bottom border on the textarea and both top/bottom borders on the history pane.*
|
||||
* Removed left/right borders on both panes (history and textarea) and removed the textarea's bottom border from the overall UI to reclaim horizontal space.*
|
||||
* Updated the status-indicator overlay to render in its own floating box immediately above the textarea instead of covering the first input line.*
|
||||
|
||||
**How it works**
|
||||
*(Not implemented yet)*
|
||||
At runtime the conversation history widget now draws only its top and bottom borders. The input textarea draws only its bottom border, carrying the help title there. These changes yield a single continuous border line separating history from input and eliminate the outer left, right, and bottom borders. Status messages ("Thinking...", etc.) render in a separate floating box positioned just above the textarea, leaving the user's draft text visible at all times.
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -347,7 +347,7 @@ impl ChatComposer<'_> {
|
||||
self.textarea.set_block(
|
||||
ratatui::widgets::Block::default()
|
||||
.title_bottom(bs.right_title)
|
||||
.borders(Borders::ALL)
|
||||
.borders(Borders::BOTTOM)
|
||||
.border_type(BorderType::Rounded)
|
||||
.border_style(bs.border_style),
|
||||
);
|
||||
|
||||
@@ -39,6 +39,10 @@ impl<'a> BottomPaneView<'a> for StatusIndicatorView {
|
||||
}
|
||||
|
||||
fn render(&self, area: Rect, buf: &mut Buffer) {
|
||||
self.view.render_ref(area, buf);
|
||||
// Render the status overlay in a floating box immediately above the textarea
|
||||
let h = self.view.get_height();
|
||||
let y = area.y.saturating_sub(h);
|
||||
let rect = Rect { x: area.x, y, width: area.width, height: h };
|
||||
self.view.render_ref(rect, buf);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -332,7 +332,7 @@ impl WidgetRef for ConversationHistoryWidget {
|
||||
|
||||
let block = Block::default()
|
||||
.title(title)
|
||||
.borders(Borders::ALL)
|
||||
.borders(Borders::TOP | Borders::BOTTOM)
|
||||
.border_type(BorderType::Rounded)
|
||||
.border_style(border_style);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user