From a3a8112f2e18dc781d6bc52caa595bbe0ebb71d0 Mon Sep 17 00:00:00 2001 From: lunar-mining Date: Tue, 8 Mar 2022 10:01:16 +0100 Subject: [PATCH] make DnvConfig a seperate crate and pass to ui --- bin/dnetview/src/config.rs | 14 ++++++++++++++ bin/dnetview/src/lib.rs | 2 ++ bin/dnetview/src/main.rs | 17 ++--------------- bin/dnetview/src/ui.rs | 3 ++- 4 files changed, 20 insertions(+), 16 deletions(-) create mode 100644 bin/dnetview/src/config.rs diff --git a/bin/dnetview/src/config.rs b/bin/dnetview/src/config.rs new file mode 100644 index 000000000..1d7e885ec --- /dev/null +++ b/bin/dnetview/src/config.rs @@ -0,0 +1,14 @@ +use serde::{Deserialize, Serialize}; + +pub const CONFIG_FILE_CONTENTS: &[u8] = include_bytes!("../dnetview_config.toml"); + +#[derive(Clone, Serialize, Deserialize, Debug)] +pub struct DnvConfig { + pub nodes: Vec, +} + +#[derive(Clone, Serialize, Deserialize, Debug)] +pub struct IrcNode { + pub node_id: String, + //pub rpc_url: String, +} diff --git a/bin/dnetview/src/lib.rs b/bin/dnetview/src/lib.rs index 85c92e671..bae5a0acf 100644 --- a/bin/dnetview/src/lib.rs +++ b/bin/dnetview/src/lib.rs @@ -1,8 +1,10 @@ +pub mod config; pub mod model; pub mod options; pub mod ui; pub mod view; +pub use config::{DnvConfig, CONFIG_FILE_CONTENTS}; pub use model::{IdList, InfoList, Model, NodeInfo}; pub use options::ProgramOptions; pub use ui::ui; diff --git a/bin/dnetview/src/main.rs b/bin/dnetview/src/main.rs index 78c97243d..00e9bc42a 100644 --- a/bin/dnetview/src/main.rs +++ b/bin/dnetview/src/main.rs @@ -11,7 +11,6 @@ use darkfi::{ use async_std::sync::Arc; use easy_parallel::Parallel; use log::{debug, info}; -use serde::{Deserialize, Serialize}; use serde_json::{json, Value}; use simplelog::*; use smol::Executor; @@ -30,6 +29,7 @@ use tui::{ use url::Url; use dnetview::{ + config::{DnvConfig, CONFIG_FILE_CONTENTS}, model::{Connection, IdList, InfoList, NodeInfo}, options::ProgramOptions, ui, @@ -37,19 +37,6 @@ use dnetview::{ Model, View, }; -const CONFIG_FILE_CONTENTS: &[u8] = include_bytes!("../dnetview_config.toml"); - -#[derive(Clone, Serialize, Deserialize, Debug)] -pub struct DnvConfig { - pub nodes: Vec, -} - -#[derive(Clone, Serialize, Deserialize, Debug)] -pub struct IrcNode { - pub node_id: String, - //pub rpc_url: String, -} - struct Map { url: Url, } @@ -230,7 +217,7 @@ async fn render( loop { view.update(model.info_list.infos.lock().await.clone()); terminal.draw(|f| { - ui::ui(f, view.clone()); + ui::ui(f, view.clone(), &config); })?; for k in asi.by_ref().keys() { match k.unwrap() { diff --git a/bin/dnetview/src/ui.rs b/bin/dnetview/src/ui.rs index 415079a87..b225e51a4 100644 --- a/bin/dnetview/src/ui.rs +++ b/bin/dnetview/src/ui.rs @@ -1,4 +1,5 @@ use crate::view::View; +use crate::DnvConfig; use tui::{ backend::Backend, @@ -9,7 +10,7 @@ use tui::{ Frame, }; -pub fn ui(f: &mut Frame<'_, B>, mut view: View) { +pub fn ui(f: &mut Frame<'_, B>, mut view: View, config: &DnvConfig) { let slice = Layout::default() .direction(Direction::Horizontal) .margin(2)