use super::buffers::Buffers;
use crate::router::Message;
use crate::tui::Frame;
use ratatui::{
prelude::*,
widgets::{Block, Borders, List, ListItem},
};
use ringbuffer::RingBuffer;
use tokio::sync::mpsc;
#[derive(Debug)]
pub struct Trail {
pub message_tx_to_self: mpsc::UnboundedSender<Message>,
}
impl Trail {
fn layer(area: Rect) -> Rect {
area
}
pub fn render(actions: &Buffers, area: Rect, f: &mut Frame<'_>) {
let layer = Self::layer(area);
let items = actions
.trail
.iter()
.map(|s| ListItem::new(s.clone()))
.collect::<Vec<ListItem>>();
let trail =
List::new(items).block(Block::new().borders(Borders::ALL).title("Trail"));
f.render_widget(trail, layer);
}
}