use ratatui::style::{Modifier, Style}; use ratatui::text::{Line, Span}; use ratatui::widgets::{Block, Paragraph}; use ratatui::Frame; use crate::view::theme::Theme; pub fn render( frame: &mut Frame, area: ratatui::layout::Rect, block: Block<'static>, state: &crate::app::state::rest::AppStateRest, ) { let block = block .title(Span::styled( " Editor ", Style::default() .fg(Theme::PRIMARY) .add_modifier(Modifier::BOLD), )) .border_style(Style::default().fg(Theme::PRIMARY)); let lines = vec![ Line::from(Span::styled( " Editor Mode — Ctrl+S save, Esc dismiss", Style::default() .fg(Theme::TEXT_MUTED) .add_modifier(Modifier::ITALIC), )), Line::from(Span::raw("")), Line::from(Span::styled( " Buffer:", Style::default().fg(Theme::TEXT_DIM), )), Line::from(Span::styled( format!(" {}", state.input.buffer), Style::default().fg(Theme::TEXT), )), Line::from(Span::raw("")), Line::from(Span::styled( format!( " Cursor: pos {} / {}", state.input.cursor, state.input.buffer.len() ), Style::default().fg(Theme::TEXT_DIM), )), ]; let paragraph = Paragraph::new(lines).block(block); frame.render_widget(paragraph, area); }