Skip to main content

codetether_agent/tui/
rlm.rs

1use ratatui::{
2    Frame,
3    layout::{Constraint, Direction, Layout, Rect},
4    text::Line,
5    widgets::{Block, Borders, Paragraph, Wrap},
6};
7
8use crate::tui::sessions::render_sessions_summary;
9
10pub fn render_rlm(
11    f: &mut Frame,
12    area: Rect,
13    cwd: &str,
14    status: &str,
15    session_count: usize,
16    selected_session: usize,
17) {
18    let chunks = Layout::default()
19        .direction(Direction::Vertical)
20        .constraints([Constraint::Min(8), Constraint::Length(6)])
21        .split(area);
22
23    let lines = vec![
24        Line::from("Recursive Language Model View"),
25        Line::from(""),
26        Line::from(format!("Workspace: {cwd}")),
27        Line::from(format!("Status: {status}")),
28        Line::from(""),
29        Line::from("This integrated panel is the future home for large-codebase analysis,"),
30        Line::from("summaries, semantic search previews, and recursive traces."),
31        Line::from(""),
32        Line::from("Use Esc to return to chat."),
33    ];
34
35    let widget = Paragraph::new(lines)
36        .block(Block::default().borders(Borders::ALL).title("RLM"))
37        .wrap(Wrap { trim: false });
38    f.render_widget(widget, chunks[0]);
39    render_sessions_summary(f, chunks[1], session_count, selected_session);
40}