lunar-mining 4 лет назад
Родитель
Сommit
6a3bc1b9fb
5 измененных файлов с 15 добавлено и 12 удалено
  1. 3 3
      bin/map/src/app.rs
  2. 3 3
      bin/map/src/list.rs
  3. 3 0
      bin/map/src/main.rs
  4. 1 1
      bin/map/src/mod.rs
  5. 5 5
      bin/map/src/ui.rs

+ 3 - 3
bin/map/src/app.rs

@@ -1,5 +1,5 @@
 use crate::{
-    info::NodeExtra,
+    info::InfoScreen,
     list::StatefulList,
     types::{NodeId, NodeInfo},
 };
@@ -27,7 +27,7 @@ impl App {
             }
         }
 
-        let node_info = NodeExtra::new();
+        let node_info = InfoScreen::new();
         App { node_list: StatefulList::new(hashmap, node_info) }
     }
 
@@ -42,7 +42,7 @@ impl App {
 
     fn get_node_info() -> Vec<String> {
         let mut node_info = Vec::new();
-        for num in 1..100 {
+        for _num in 1..100 {
             //let new_info = format!("\nConnections: {}\n", num);
             let new_info = "";
             node_info.push(new_info.to_string());

+ 3 - 3
bin/map/src/list.rs

@@ -1,5 +1,5 @@
 use crate::{
-    info::NodeExtra,
+    info::InfoScreen,
     types::{NodeId, NodeInfo},
 };
 use std::collections::HashMap;
@@ -9,11 +9,11 @@ use tui::widgets::ListState;
 pub struct StatefulList {
     pub state: ListState,
     pub nodes: HashMap<NodeId, NodeInfo>,
-    pub node_info: NodeExtra,
+    pub node_info: InfoScreen,
 }
 
 impl StatefulList {
-    pub fn new(nodes: HashMap<NodeId, NodeInfo>, node_info: NodeExtra) -> StatefulList {
+    pub fn new(nodes: HashMap<NodeId, NodeInfo>, node_info: InfoScreen) -> StatefulList {
         StatefulList { state: ListState::default(), nodes, node_info }
     }
 

+ 3 - 0
bin/map/src/main.rs

@@ -48,6 +48,9 @@ fn run_app<B: Backend>(
     terminal.clear()?;
 
     let mut last_tick = Instant::now();
+
+    app.node_list.state.select(Some(0));
+
     loop {
         terminal.draw(|f| ui::ui(f, &mut app))?;
 

+ 1 - 1
bin/map/src/mod.rs

@@ -4,7 +4,7 @@ pub mod app;
 pub mod ui;
 pub mod types;
 
-pub use info::NodeExtra;
+pub use info::InfoScreen;
 pub use list::StatefulList;
 pub use app::App;
 pub use ui::ui;

+ 5 - 5
bin/map/src/ui.rs

@@ -15,13 +15,14 @@ use tui::{
     layout::{Constraint, Direction, Layout},
     style::{Color, Modifier, Style},
     text::Spans,
-    widgets::{Block, List, ListItem, Paragraph},
+    widgets::{Block, List, ListItem},
     Frame,
 };
 
 pub fn ui<B: Backend>(f: &mut Frame<B>, app: &mut App) {
     let slice = Layout::default()
         .direction(Direction::Horizontal)
+        .margin(1)
         .constraints([Constraint::Percentage(50), Constraint::Percentage(50)].as_ref())
         .split(f.size());
 
@@ -39,14 +40,14 @@ pub fn ui<B: Backend>(f: &mut Frame<B>, app: &mut App) {
 
     let nodes = List::new(nodes)
         .block(Block::default())
-        .highlight_style(Style::default().bg(Color::Red).add_modifier(Modifier::BOLD));
+        .highlight_style(Style::default().fg(Color::LightCyan).add_modifier(Modifier::BOLD));
 
     f.render_stateful_widget(nodes, slice[0], &mut app.node_list.state);
 
     let node_info: Vec<ListItem> = app
         .node_list
         .node_info
-        .noise
+        .info
         .iter()
         .map(|i| {
             let line1 = Spans::from(i.to_string());
@@ -56,8 +57,7 @@ pub fn ui<B: Backend>(f: &mut Frame<B>, app: &mut App) {
 
     let node_info = List::new(node_info)
         .block(Block::default())
-        .highlight_style(Style::default().bg(Color::Blue).add_modifier(Modifier::BOLD));
+        .highlight_style(Style::default().fg(Color::LightCyan).add_modifier(Modifier::BOLD));
 
-    // TODO: make this a stateful widget that changes with scroll
     f.render_stateful_widget(node_info, slice[1], &mut app.node_list.state);
 }