modify backend status data retrieval method

This commit is contained in:
asvow
2024-01-28 23:47:02 +08:00
parent 3ad75af454
commit 7e14846e45

View File

@@ -29,12 +29,9 @@ function getServiceStatus() {
} }
function getLoginStatus() { function getLoginStatus() {
return fs.exec("/usr/sbin/tailscale", ["status"]).then(function(res) { return fs.exec("/usr/sbin/tailscale", ["status", "--json"]).then(function(res) {
if (res.stdout.includes("Logged out")) { var status = JSON.parse(res.stdout);
return false; return status.BackendState;
} else {
return true;
}
}).catch(function(error) { }).catch(function(error) {
return undefined; return undefined;
}); });
@@ -52,15 +49,13 @@ function renderStatus(isRunning) {
return renderHTML; return renderHTML;
} }
function renderLogin(isLoggedIn) { function renderLogin(loginStatus) {
var spanTemp = '<span style="color:%s">%s</span>'; var spanTemp = '<span style="color:%s">%s</span>';
var renderHTML; var renderHTML;
if (isLoggedIn === undefined) { if (loginStatus === undefined) {
renderHTML = String.format(spanTemp, 'orange', _('NOT RUNNING')); renderHTML = String.format(spanTemp, 'orange', _('NOT RUNNING'));
} else if (isLoggedIn) {
renderHTML = String.format(spanTemp, 'green', _('Logged IN'));
} else { } else {
renderHTML = String.format(spanTemp, 'red', _('Logged OUT')); renderHTML = String.format(spanTemp, loginStatus === "NeedsLogin" ? 'red' : 'green', loginStatus === "NeedsLogin" ? _('Needs Login') : _('Logged IN'));
} }
return renderHTML; return renderHTML;