From 39e21b83b190be7ff532e4c57ec4658bf5f2963f Mon Sep 17 00:00:00 2001 From: Joe Ardent Date: Wed, 6 Aug 2025 14:07:10 -0700 Subject: [PATCH] better logging, add 'main()' method to app and binding to get to main screen --- src/app/mod.rs | 9 +++++++++ src/app/widgets.rs | 12 +++++------- src/main.rs | 2 +- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/app/mod.rs b/src/app/mod.rs index aa6d1e8..7331fc4 100644 --- a/src/app/mod.rs +++ b/src/app/mod.rs @@ -126,6 +126,7 @@ impl App { KeyCode::Char('s') => self.send(), KeyCode::Char('r') => self.recv(), KeyCode::Char('l') => self.logs(), + KeyCode::Char('m') => self.main(), _ => match mode { CurrentScreen::Logging => match code { KeyCode::Left => change_log_level(-1), @@ -230,6 +231,14 @@ impl App { } } + pub fn main(&mut self) { + let last = self.screen.last(); + match last { + Some(CurrentScreen::Main) => {} + _ => self.screen.push(CurrentScreen::Main), + } + } + // accept a content receive request fn accept(&mut self) { let Some(idx) = self.receiving_state.selected() else { diff --git a/src/app/widgets.rs b/src/app/widgets.rs index e9ef275..ca136eb 100644 --- a/src/app/widgets.rs +++ b/src/app/widgets.rs @@ -240,14 +240,14 @@ fn text_popup(text: &str, title: &str, area: Rect, buf: &mut Buffer) { block.render(area, buf); let (_, len) = unicode_segmentation::UnicodeSegmentation::graphemes(text, true).size_hint(); - let len = len.unwrap_or(text.len()) as u16; + let len = len.unwrap_or(text.len()) as u16 + 2; let area = centered_rect(area, Constraint::Length(len), Constraint::Length(1)); Paragraph::new(text).centered().yellow().render(area, buf); } fn logger(area: Rect, buf: &mut Buffer) { - let title = Line::from(log::max_level().as_str()); + let title = Line::from(format!(" {} logs ", log::max_level().as_str())); let logger = TuiLoggerWidget::default() .output_separator('|') .output_timestamp(Some("%H:%M:%S%.3f".to_string())) @@ -257,7 +257,7 @@ fn logger(area: Rect, buf: &mut Buffer) { .output_line(false) .block(Block::bordered().title(title.centered())) .style(Style::default()) - .state(&TuiWidgetState::new().set_default_display_level(LevelFilter::Debug)); + .state(&TuiWidgetState::new().set_default_display_level(LevelFilter::Trace)); logger.render(area, buf); } @@ -267,7 +267,7 @@ fn receive_requests( area: Rect, buf: &mut Buffer, ) { - let title = Line::from(" Upload Requests ").bold(); + let title = Line::from(" Incoming Transfer Requests ").bold(); let block = Block::bordered().title(title.centered()); let mut rows = Vec::new(); @@ -311,9 +311,7 @@ fn receive_requests( ratatui::widgets::StatefulWidget::render(table, area, buf, state); - if let Some(idx) = state.selected() - //&& let Some(area) = preview_area - { + if let Some(idx) = state.selected() { let area = centered_rect(area, Constraint::Percentage(80), Constraint::Max(7)); let request = requests[idx]; if let Some(md) = request.files.values().next() diff --git a/src/main.rs b/src/main.rs index 962397a..b6875a8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -15,7 +15,7 @@ fn main() -> error::Result<()> { std::env::set_var("RUST_LOG", "joecalsend"); } } - init_logger(LevelFilter::Debug).map_err(|e| std::io::Error::other(format!("{e}")))?; + init_logger(LevelFilter::Info).map_err(|e| std::io::Error::other(format!("{e}")))?; set_env_filter_from_env(None); let config = Config::default();