better logging, add 'main()' method to app and binding to get to main screen

This commit is contained in:
Joe Ardent 2025-08-06 14:07:10 -07:00
parent ed58ddceb9
commit 39e21b83b1
3 changed files with 15 additions and 8 deletions

View file

@ -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 {

View file

@ -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()

View file

@ -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();