From 590e3df4cf5d4a1377a3d189619fd16abb242a5e Mon Sep 17 00:00:00 2001 From: aidanaden Date: Fri, 21 Jun 2024 02:22:45 +0800 Subject: [PATCH] fix: review changes --- rm-main/src/ui/tabs/torrents/bottom_stats.rs | 15 ++++++++------- rm-main/src/ui/tabs/torrents/mod.rs | 10 +++++----- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/rm-main/src/ui/tabs/torrents/bottom_stats.rs b/rm-main/src/ui/tabs/torrents/bottom_stats.rs index 5da81a3..a525a53 100644 --- a/rm-main/src/ui/tabs/torrents/bottom_stats.rs +++ b/rm-main/src/ui/tabs/torrents/bottom_stats.rs @@ -40,20 +40,21 @@ impl Component for BottomStats { let all = stats.torrent_count; let download = bytes_to_human_format(stats.download_speed); let upload = bytes_to_human_format(stats.upload_speed); + let mut text = format!(" {all} | ▼ {download} | ▲ {upload}"); + let table_manager = &*self.table_manager.lock().unwrap(); + let table = table_manager.table.borrow(); + if let Some(current) = table.state.borrow().selected() { + let current_idx = current + 1; + text = format!(" {current_idx}/{all} | ▼ {download} | ▲ {upload}"); + } + if let Some(free_space) = &*self.free_space.lock().unwrap() { let free_space = bytes_to_human_format(free_space.size_bytes); text = format!("󰋊 {free_space} | {text}") } - let table_manager = &*self.table_manager.lock().unwrap(); - let state = table_manager.table.borrow(); - if let (Some(current), total) = (state.state.borrow().selected(), state.get_len()) { - let current_idx = current + 1; - text = format!("{current_idx}/{total} | {text}") - } - let paragraph = Paragraph::new(text).alignment(Alignment::Right); f.render_widget(paragraph, rect); } diff --git a/rm-main/src/ui/tabs/torrents/mod.rs b/rm-main/src/ui/tabs/torrents/mod.rs index 3134984..105aff2 100644 --- a/rm-main/src/ui/tabs/torrents/mod.rs +++ b/rm-main/src/ui/tabs/torrents/mod.rs @@ -32,7 +32,7 @@ pub struct TorrentsTab { table_manager: Arc>, popup_manager: PopupManager, task_manager: TaskManager, - stats: BottomStats, + bottom_stats: BottomStats, } impl TorrentsTab { @@ -50,7 +50,7 @@ impl TorrentsTab { tokio::spawn(transmission::fetchers::torrents( ctx.clone(), - Arc::clone(&bottom_stats.table_manager.clone()), + Arc::clone(&bottom_stats.table_manager), )); tokio::spawn(transmission::fetchers::free_space( @@ -59,7 +59,7 @@ impl TorrentsTab { )); Self { - stats: bottom_stats, + bottom_stats, task_manager: TaskManager::new(table_manager.clone(), ctx.clone()), table_manager, popup_manager: PopupManager::new(), @@ -75,7 +75,7 @@ impl Component for TorrentsTab { self.render_table(f, torrents_list_rect); - self.stats.render(f, stats_rect); + self.bottom_stats.render(f, stats_rect); self.task_manager.render(f, stats_rect); @@ -159,7 +159,7 @@ impl TorrentsTab { } fn show_statistics_popup(&mut self) -> Option { - if let Some(stats) = &*self.stats.stats.lock().unwrap() { + if let Some(stats) = &*self.bottom_stats.stats.lock().unwrap() { let popup = StatisticsPopup::new(self.ctx.clone(), stats.clone()); self.popup_manager.show_popup(CurrentPopup::Stats(popup)); Some(Action::Render)