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, symbols::border,
text::{Line, Text, ToLine}, text::{Line, Text, ToLine},
widgets::{ widgets::{
Block, Borders, List, ListItem, ListState, Padding, Paragraph, Row, Table, TableState, Block, Borders, Clear, List, ListItem, ListState, Padding, Paragraph, Row, Table,
Widget, TableState, Widget,
}, },
}; };
use tui_logger::{TuiLoggerLevelOutput, TuiLoggerWidget, TuiWidgetState}; 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) { fn text_popup(text: &str, title: &str, area: Rect, buf: &mut Buffer) {
let title = Line::from(title.bold()); let title = Line::from(title.bold());
let block = Block::bordered().title(title.centered()); let block = Block::bordered().title(title.centered());
ratatui::widgets::Clear.render(area, buf); Clear.render(area, buf);
block.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))); .row_highlight_style(Style::new().bg(Color::Rgb(99, 99, 99)));
ratatui::widgets::StatefulWidget::render(table, area, buf, state); 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) { fn peers(peers: &[Peer], state: &mut ListState, area: Rect, buf: &mut Buffer) {