add preview of text receive requests

This commit is contained in:
Joe Ardent 2025-08-06 12:29:19 -07:00
parent 61bcbe8251
commit ed58ddceb9

View file

@ -9,8 +9,8 @@ use ratatui::{
symbols::border,
text::{Line, Text, ToLine},
widgets::{
Block, Borders, List, ListItem, ListState, Padding, Paragraph, Row, Table, TableState,
Widget,
Block, Borders, Clear, List, ListItem, ListState, Padding, Paragraph, Row, Table,
TableState, Widget,
},
};
use tui_logger::{TuiLoggerLevelOutput, TuiLoggerWidget, TuiWidgetState};
@ -235,7 +235,7 @@ fn outer_frame(screen: &CurrentScreen, menu: &Line, area: Rect, buf: &mut Buffer
fn text_popup(text: &str, title: &str, area: Rect, buf: &mut Buffer) {
let title = Line::from(title.bold());
let block = Block::bordered().title(title.centered());
ratatui::widgets::Clear.render(area, buf);
Clear.render(area, buf);
block.render(area, buf);
@ -310,6 +310,19 @@ fn receive_requests(
.row_highlight_style(Style::new().bg(Color::Rgb(99, 99, 99)));
ratatui::widgets::StatefulWidget::render(table, area, buf, state);
if let Some(idx) = state.selected()
//&& let Some(area) = preview_area
{
let area = centered_rect(area, Constraint::Percentage(80), Constraint::Max(7));
let request = requests[idx];
if let Some(md) = request.files.values().next()
&& let Some(ref preview) = md.preview
{
Clear.render(area, buf);
text_popup(preview, " preview ", area, buf);
}
}
}
fn peers(peers: &[Peer], state: &mut ListState, area: Rect, buf: &mut Buffer) {