From 7e14846e456e2ada674259927a51e8ae55bcdb61 Mon Sep 17 00:00:00 2001 From: asvow Date: Sun, 28 Jan 2024 23:47:02 +0800 Subject: [PATCH] modify backend status data retrieval method --- .../resources/view/tailscale/base.js | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/htdocs/luci-static/resources/view/tailscale/base.js b/htdocs/luci-static/resources/view/tailscale/base.js index fde10bf..11d74e9 100644 --- a/htdocs/luci-static/resources/view/tailscale/base.js +++ b/htdocs/luci-static/resources/view/tailscale/base.js @@ -29,12 +29,9 @@ function getServiceStatus() { } function getLoginStatus() { - return fs.exec("/usr/sbin/tailscale", ["status"]).then(function(res) { - if (res.stdout.includes("Logged out")) { - return false; - } else { - return true; - } + return fs.exec("/usr/sbin/tailscale", ["status", "--json"]).then(function(res) { + var status = JSON.parse(res.stdout); + return status.BackendState; }).catch(function(error) { return undefined; }); @@ -52,15 +49,13 @@ function renderStatus(isRunning) { return renderHTML; } -function renderLogin(isLoggedIn) { +function renderLogin(loginStatus) { var spanTemp = '%s'; var renderHTML; - if (isLoggedIn === undefined) { + if (loginStatus === undefined) { renderHTML = String.format(spanTemp, 'orange', _('NOT RUNNING')); - } else if (isLoggedIn) { - renderHTML = String.format(spanTemp, 'green', _('Logged IN')); } else { - renderHTML = String.format(spanTemp, 'red', _('Logged OUT')); + renderHTML = String.format(spanTemp, loginStatus === "NeedsLogin" ? 'red' : 'green', loginStatus === "NeedsLogin" ? _('Needs Login') : _('Logged IN')); } return renderHTML;