From 9e619ccd612acc6ad29ab4863a41d7e810299567 Mon Sep 17 00:00:00 2001
From: cgeek <cem.moreau@gmail.com>
Date: Wed, 20 May 2020 13:51:29 +0200
Subject: [PATCH] [add] show disconnected prefered/privileged

---
 .../main/home/tabs/HomeConnectionsController.js | 17 ++++++++++++++++-
 app/views/main/home/tabs/connections.jade       |  6 ++++++
 2 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/app/js/controllers/main/home/tabs/HomeConnectionsController.js b/app/js/controllers/main/home/tabs/HomeConnectionsController.js
index afc59e3..1dd7951 100644
--- a/app/js/controllers/main/home/tabs/HomeConnectionsController.js
+++ b/app/js/controllers/main/home/tabs/HomeConnectionsController.js
@@ -4,8 +4,23 @@ module.exports = ($scope, Webmin, heads, info, conf, ws) => {
 
   const SPECIFIC_SUFFIX = '--------'
   const UNKNOWN_VALUE = '-'
+  $scope.computeDisconnectedPreferedPrivileged = (info) => {
+    const connected = info.connections.level1
+        .concat(info.connections.level2)
+        .map(c => c.pubkey)
+    const disconnected = [];
+    (conf.preferedNodes || []).concat(conf.privilegedNodes || []).forEach(pubkey => {
+      if (connected.indexOf(pubkey) === -1 && disconnected.indexOf(pubkey) === -1) {
+        disconnected.push(pubkey)
+      }
+    })
+    return disconnected.map(pubkey => ({ pubkey }))
+  }
   $scope.discriminateNodes = (info) => {
-    info.connections.level1.concat(info.connections.level2).forEach(c => {
+    info.connections.disconnected = $scope.computeDisconnectedPreferedPrivileged(info)
+    info.connections.level1
+        .concat(info.connections.level2)
+        .concat(info.connections.disconnected).forEach(c => {
       c.prefered = (conf.preferedNodes || []).indexOf(c.pubkey) !== -1
       c.privileged = (conf.privilegedNodes || []).indexOf(c.pubkey) !== -1
     })
diff --git a/app/views/main/home/tabs/connections.jade b/app/views/main/home/tabs/connections.jade
index 93d2f5b..1b99743 100644
--- a/app/views/main/home/tabs/connections.jade
+++ b/app/views/main/home/tabs/connections.jade
@@ -30,6 +30,12 @@
                 td {{ peer.uid }}
                 td INCOMING
                 td {{ peer.handle }}
+              tr(ng-repeat="peer in info.connections.disconnected track by $index" ng-class="{ privileged: peer.privileged, prefered: peer.prefered }")
+                td {{ peer.pubkey.slice(0, 20) }}
+                td -
+                td -
+                td DISCONNECTED
+                td -
           .legend
             h5(translate="home.tabs.connections.legend.title")
             span.prefered(translate="home.tabs.connections.legend.prefered")
-- 
GitLab