rab/agent/ui/components/
info_message.rs1use crate::agent::ui::theme::ThemeKey;
2use crate::agent::ui::theme::current_theme;
3use crate::tui::Component;
4use crate::tui::components::Text;
5pub struct InfoMessageComponent {
8 text: Text,
9}
10
11impl InfoMessageComponent {
12 pub fn new(message: impl Into<String>) -> Self {
13 let theme = current_theme();
14 let styled = theme.fg_key(ThemeKey::Dim, &format!(" {}", message.into()));
15 Self {
16 text: Text::new(styled, 0, 0, None),
17 }
18 }
19}
20
21impl Component for InfoMessageComponent {
22 fn render(&mut self, width: usize) -> Vec<String> {
23 self.text.render(width)
24 }
25
26 fn invalidate(&mut self) {
27 self.text.invalidate();
28 }
29}