diff --git a/src/gui/views/network/content.rs b/src/gui/views/network/content.rs index 24f2095..5535ed5 100644 --- a/src/gui/views/network/content.rs +++ b/src/gui/views/network/content.rs @@ -26,7 +26,7 @@ use crate::node::Node; /// Network content. pub struct NetworkContent { - /// Current tab view to show at ui. + /// Current tab content to show. current_tab: Box, } @@ -53,7 +53,7 @@ impl NetworkContent { top: 4.0, bottom: View::get_bottom_inset() + 4.0, }, - ..Default::defaulDrawt() + ..Default::default() }) .show_inside(ui, |ui| { self.tabs_ui(ui); @@ -156,6 +156,27 @@ impl NetworkContent { }); } + /// Content to draw on loading. + pub fn loading_ui(ui: &mut egui::Ui, text: Option) { + match text { + None => { + ui.centered_and_justified(|ui| { + View::big_loading_spinner(ui); + }); + } + Some(t) => { + View::center_content(ui, 162.0, |ui| { + View::big_loading_spinner(ui); + ui.add_space(18.0); + ui.label(RichText::new(t) + .size(16.0) + .color(Colors::INACTIVE_TEXT) + ); + }); + } + } + } + /// Draw checkbox to run integrated node on application launch. pub fn autorun_node_ui(ui: &mut egui::Ui) { let autostart = AppConfig::autostart_node(); diff --git a/src/gui/views/network/metrics.rs b/src/gui/views/network/metrics.rs index 23550bb..fe7f887 100644 --- a/src/gui/views/network/metrics.rs +++ b/src/gui/views/network/metrics.rs @@ -46,23 +46,14 @@ impl NetworkTab for NetworkMetrics { // Show loading spinner when node is stopping. if Node::is_stopping() { - ui.centered_and_justified(|ui| { - View::big_loading_spinner(ui); - }); + NetworkContent::loading_ui(ui, None); return; } // Show message when metrics are not available. if server_stats.is_none() || Node::is_restarting() || server_stats.as_ref().unwrap().diff_stats.height == 0 { - View::center_content(ui, 162.0, |ui| { - View::big_loading_spinner(ui); - ui.add_space(18.0); - ui.label(RichText::new(t!("network_metrics.loading")) - .size(16.0) - .color(Colors::INACTIVE_TEXT) - ); - }); + NetworkContent::loading_ui(ui, Some(t!("network_metrics.loading"))); return; } diff --git a/src/gui/views/network/mining.rs b/src/gui/views/network/mining.rs index 4075be3..caa59c2 100644 --- a/src/gui/views/network/mining.rs +++ b/src/gui/views/network/mining.rs @@ -55,23 +55,14 @@ impl NetworkTab for NetworkMining { // Show loading spinner when node is stopping or stratum server is starting. if Node::is_stopping() || Node::is_stratum_starting() { - ui.centered_and_justified(|ui| { - View::big_loading_spinner(ui); - }); + NetworkContent::loading_ui(ui, None); return; } // Show message when mining is not available. if server_stats.is_none() || Node::is_restarting() || Node::get_sync_status().unwrap() != SyncStatus::NoSync { - View::center_content(ui, 162.0, |ui| { - View::big_loading_spinner(ui); - ui.add_space(18.0); - ui.label(RichText::new(t!("network_mining.loading")) - .size(16.0) - .color(Colors::INACTIVE_TEXT) - ); - }); + NetworkContent::loading_ui(ui, Some(t!("network_mining.loading"))); return; } diff --git a/src/gui/views/network/node.rs b/src/gui/views/network/node.rs index 273f6ec..cc09353 100644 --- a/src/gui/views/network/node.rs +++ b/src/gui/views/network/node.rs @@ -41,9 +41,7 @@ impl NetworkTab for NetworkNode { // Show loading spinner when stats are not available. if server_stats.is_none() || Node::is_restarting() || Node::is_stopping() { - ui.centered_and_justified(|ui| { - View::big_loading_spinner(ui); - }); + NetworkContent::loading_ui(ui, None); return; }