Skip to main content

rab/agent/ui/components/
footer_component.rs

1use std::cell::RefCell;
2use std::rc::Rc;
3
4use crate::agent::ui::footer::Footer;
5use crate::tui::Component;
6
7/// Wrapper Component that delegates render to a shared Footer.
8/// App keeps one Rc for mutation; TUI.root keeps one for rendering.
9pub struct FooterComponent(pub Rc<RefCell<Footer>>);
10
11impl Component for FooterComponent {
12    fn render(&mut self, width: usize) -> Vec<String> {
13        self.0.borrow_mut().render(width)
14    }
15
16    fn invalidate(&mut self) {
17        self.0.borrow_mut().invalidate();
18    }
19}