|
@@ -139,7 +139,7 @@ async fn main() -> Result<()> {
|
|
|
.finish(|| {
|
|
.finish(|| {
|
|
|
smol::future::block_on(async move {
|
|
smol::future::block_on(async move {
|
|
|
run_rpc(ex2.clone(), model.clone()).await?;
|
|
run_rpc(ex2.clone(), model.clone()).await?;
|
|
|
- run_app(&mut terminal, model.clone()).await?;
|
|
|
|
|
|
|
+ render(&mut terminal, model.clone()).await?;
|
|
|
drop(signal);
|
|
drop(signal);
|
|
|
Ok::<(), darkfi::Error>(())
|
|
Ok::<(), darkfi::Error>(())
|
|
|
})
|
|
})
|
|
@@ -184,15 +184,11 @@ async fn poll(client: Map, _model: Model) -> Result<()> {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-async fn run_app<B: Backend>(terminal: &mut Terminal<B>, mut model: Model) -> io::Result<()> {
|
|
|
|
|
|
|
+async fn render<B: Backend>(terminal: &mut Terminal<B>, model: Model) -> io::Result<()> {
|
|
|
let mut asi = async_stdin();
|
|
let mut asi = async_stdin();
|
|
|
|
|
|
|
|
terminal.clear()?;
|
|
terminal.clear()?;
|
|
|
|
|
|
|
|
- //model.id_list.state.select(Some(0));
|
|
|
|
|
-
|
|
|
|
|
- //model.info_list.index = 0;
|
|
|
|
|
-
|
|
|
|
|
let mut info_vec = Vec::new();
|
|
let mut info_vec = Vec::new();
|
|
|
|
|
|
|
|
for info in model.info_list.infos.clone() {
|
|
for info in model.info_list.infos.clone() {
|
|
@@ -206,16 +202,15 @@ async fn run_app<B: Backend>(terminal: &mut Terminal<B>, mut model: Model) -> io
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
let id_list = IdListView::new(id_vec);
|
|
let id_list = IdListView::new(id_vec);
|
|
|
|
|
+
|
|
|
let info_list = InfoListView::new(info_vec);
|
|
let info_list = InfoListView::new(info_vec);
|
|
|
|
|
+
|
|
|
let mut view = View::new(id_list, info_list);
|
|
let mut view = View::new(id_list, info_list);
|
|
|
|
|
|
|
|
view.id_list.state.select(Some(0));
|
|
view.id_list.state.select(Some(0));
|
|
|
|
|
|
|
|
view.info_list.index = 0;
|
|
view.info_list.index = 0;
|
|
|
|
|
|
|
|
- // acquire the mutex
|
|
|
|
|
- // let mut model = model.lock();
|
|
|
|
|
-
|
|
|
|
|
loop {
|
|
loop {
|
|
|
terminal.draw(|f| {
|
|
terminal.draw(|f| {
|
|
|
ui::ui(f, view.clone());
|
|
ui::ui(f, view.clone());
|
|
@@ -224,7 +219,7 @@ async fn run_app<B: Backend>(terminal: &mut Terminal<B>, mut model: Model) -> io
|
|
|
match k.unwrap() {
|
|
match k.unwrap() {
|
|
|
Key::Char('q') => {
|
|
Key::Char('q') => {
|
|
|
terminal.clear()?;
|
|
terminal.clear()?;
|
|
|
- return Ok(())
|
|
|
|
|
|
|
+ return Ok(());
|
|
|
}
|
|
}
|
|
|
Key::Char('j') => {
|
|
Key::Char('j') => {
|
|
|
view.id_list.next();
|
|
view.id_list.next();
|