aboutsummaryrefslogtreecommitdiff
path: root/src/ui.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui.rs')
-rw-r--r--src/ui.rs17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/ui.rs b/src/ui.rs
index 3783dd5c..4a734d0d 100644
--- a/src/ui.rs
+++ b/src/ui.rs
@@ -1054,6 +1054,16 @@ fn render_agent_detail(app: &AppState, frame: &mut Frame, area: Rect) {
}
}
+pub(crate) fn collapsed_sidebar_toggle_rect(area: Rect) -> Rect {
+ let bottom_y = area.y + area.height.saturating_sub(1);
+ let content_w = area.width.saturating_sub(1);
+ if content_w == 0 || area.height == 0 {
+ return Rect::default();
+ }
+ let x = area.x + content_w / 2;
+ Rect::new(x, bottom_y, 1, 1)
+}
+
fn render_sidebar_toggle(
app: &AppState,
frame: &mut Frame,
@@ -1066,9 +1076,8 @@ fn render_sidebar_toggle(
if !collapsed {
return;
}
- let bottom_y = area.y + area.height.saturating_sub(1);
- let content_w = area.width.saturating_sub(1);
- if content_w == 0 || area.height == 0 {
+ let toggle_area = collapsed_sidebar_toggle_rect(area);
+ if toggle_area == Rect::default() {
return;
}
let icon_style = if app.update_available.is_some() {
@@ -1076,8 +1085,6 @@ fn render_sidebar_toggle(
} else {
Style::default().fg(p.overlay0)
};
- let x = area.x + content_w / 2;
- let toggle_area = Rect::new(x, bottom_y, 1, 1);
frame.render_widget(Paragraph::new(Span::styled("ยป", icon_style)), toggle_area);
}