dnetview: display external_addr as null when it's a null value

This commit is contained in:
lunar-mining
2022-06-21 17:39:04 +02:00
parent b6ad2e1506
commit 2eba9954af

View File

@@ -18,6 +18,8 @@ use crate::{
model::{NodeInfo, SelectableObject},
};
use log::debug;
#[derive(Debug)]
pub struct View {
pub nodes: NodeInfoView,
@@ -94,6 +96,8 @@ impl View {
let mut id_list = self.render_id_list(f, slice.clone())?;
// might not need this
// also assert in test case might be better
id_list.dedup();
if id_list.is_empty() {
// we have not received any data
@@ -224,15 +228,16 @@ impl View {
let info = self.selectables.get(&selected);
match info {
Some(SelectableObject::Node(node)) => {
if node.external_addr.is_some() {
let node_info = Span::styled(
format!("External addr: {}", node.external_addr.as_ref().unwrap()),
style,
);
Some(SelectableObject::Node(node)) => match &node.external_addr {
Some(addr) => {
let node_info = Span::styled(format!("External addr: {}", addr), style);
lines.push(Spans::from(node_info));
}
}
None => {
let node_info = Span::styled(format!("External addr: Null"), style);
lines.push(Spans::from(node_info));
}
},
Some(SelectableObject::Session(session)) => {
if session.accept_addr.is_some() {
let session_info = Span::styled(