mirror of
https://github.com/mynodebtc/mynode.git
synced 2024-12-25 14:08:07 +00:00
More UI tweaks
This commit is contained in:
parent
930968ba75
commit
382f7fa6b4
|
@ -112,6 +112,12 @@ def get_bitcoin_blockchain_info():
|
|||
global bitcoin_blockchain_info
|
||||
return copy.deepcopy(bitcoin_blockchain_info)
|
||||
|
||||
def get_bitcoin_difficulty():
|
||||
info = get_bitcoin_blockchain_info()
|
||||
if "difficulty" in info:
|
||||
return "{:.3g}".format(info["difficulty"])
|
||||
return "???"
|
||||
|
||||
def get_bitcoin_block_height():
|
||||
global bitcoin_block_height
|
||||
return bitcoin_block_height
|
||||
|
@ -128,6 +134,12 @@ def get_bitcoin_peers():
|
|||
global bitcoin_peers
|
||||
return copy.deepcopy(bitcoin_peers)
|
||||
|
||||
def get_bitcoin_peer_count():
|
||||
peers = get_bitcoin_peers()
|
||||
if peers != None:
|
||||
return len(peers)
|
||||
return 0
|
||||
|
||||
def get_bitcoin_network_info():
|
||||
global bitcoin_network_info
|
||||
return copy.deepcopy(bitcoin_network_info)
|
||||
|
@ -136,6 +148,20 @@ def get_bitcoin_mempool():
|
|||
global bitcoin_mempool
|
||||
return copy.deepcopy(bitcoin_mempool)
|
||||
|
||||
def get_bitcoin_mempool_info():
|
||||
mempooldata = get_bitcoin_mempool()
|
||||
|
||||
mempool = {}
|
||||
mempool["size"] = "???"
|
||||
mempool["bytes"] = "0"
|
||||
if mempooldata != None:
|
||||
if "size" in mempooldata:
|
||||
mempool["size"] = mempooldata["size"]
|
||||
if "bytes" in mempooldata:
|
||||
mempool["bytes"] = mempooldata["bytes"]
|
||||
|
||||
return copy.deepcopy(mempool)
|
||||
|
||||
def get_bitcoin_wallet_info():
|
||||
global bitcoin_wallet_info
|
||||
return copy.deepcopy(bitcoin_wallet_info)
|
||||
|
|
|
@ -35,20 +35,12 @@ def bitcoind_status_page():
|
|||
blockdata = get_bitcoin_recent_blocks()
|
||||
peerdata = get_bitcoin_peers()
|
||||
networkdata = get_bitcoin_network_info()
|
||||
mempooldata = get_bitcoin_mempool()
|
||||
walletdata = get_bitcoin_wallet_info()
|
||||
version = get_bitcoin_version()
|
||||
rpc_password = get_bitcoin_rpc_password()
|
||||
|
||||
# Mempool info
|
||||
mempool = {}
|
||||
mempool["size"] = "???"
|
||||
mempool["bytes"] = "0"
|
||||
if mempooldata != None:
|
||||
if "size" in mempooldata:
|
||||
mempool["size"] = mempooldata["size"]
|
||||
if "bytes" in mempooldata:
|
||||
mempool["bytes"] = mempooldata["bytes"]
|
||||
mempool = get_bitcoin_mempool_info()
|
||||
|
||||
# Recent blocks
|
||||
blocks = []
|
||||
|
@ -116,7 +108,7 @@ def bitcoind_status_page():
|
|||
"blocks": blocks,
|
||||
"peers": peers,
|
||||
"local_address": local_address,
|
||||
"difficulty": "{:.3g}".format(info["difficulty"]),
|
||||
"difficulty": get_bitcoin_difficulty(),
|
||||
"block_num": info["blocks"],
|
||||
"header_num": info["headers"],
|
||||
"rpc_password": rpc_password,
|
||||
|
|
|
@ -86,10 +86,23 @@ def get_lightning_peers():
|
|||
global lightning_peers
|
||||
return copy.deepcopy(lightning_peers)
|
||||
|
||||
def get_lightning_peer_count():
|
||||
info = get_lightning_info()
|
||||
num_peers = 0
|
||||
if "num_peers" in info:
|
||||
num_peers = info['num_peers']
|
||||
return num_peers
|
||||
|
||||
def get_lightning_channels():
|
||||
global lightning_channels
|
||||
return copy.deepcopy(lightning_channels)
|
||||
|
||||
def get_lightning_channel_count():
|
||||
channeldata = get_lightning_channels()
|
||||
if channeldata != None and "channels" in channeldata:
|
||||
return len(channeldata["channels"])
|
||||
return 0
|
||||
|
||||
def get_lightning_channel_balance():
|
||||
global lightning_channel_balance
|
||||
return copy.deepcopy(lightning_channel_balance)
|
||||
|
@ -98,6 +111,30 @@ def get_lightning_wallet_balance():
|
|||
global lightning_wallet_balance
|
||||
return copy.deepcopy(lightning_wallet_balance)
|
||||
|
||||
def get_lightning_balance_info():
|
||||
channel_balance_data = get_lightning_channel_balance()
|
||||
wallet_balance_data = get_lightning_wallet_balance()
|
||||
|
||||
balance_data = {}
|
||||
balance_data["channel_balance"] = "N/A"
|
||||
balance_data["channel_pending"] = "N/A"
|
||||
balance_data["wallet_balance"] = "N/A"
|
||||
balance_data["wallet_pending"] = "N/A"
|
||||
|
||||
channel_balance_data = get_lightning_channel_balance()
|
||||
if channel_balance_data != None and "balance" in channel_balance_data:
|
||||
balance_data["channel_balance"] = channel_balance_data["balance"]
|
||||
if channel_balance_data != None and "pending_open_balance" in channel_balance_data:
|
||||
balance_data["channel_pending"] = channel_balance_data["pending_open_balance"]
|
||||
|
||||
wallet_balance_data = get_lightning_wallet_balance()
|
||||
if wallet_balance_data != None and "confirmed_balance" in wallet_balance_data:
|
||||
balance_data["wallet_balance"] = wallet_balance_data["confirmed_balance"]
|
||||
if wallet_balance_data != None and "unconfirmed_balance" in wallet_balance_data:
|
||||
balance_data["wallet_pending"] = wallet_balance_data["unconfirmed_balance"]
|
||||
|
||||
return balance_data
|
||||
|
||||
def is_lnd_ready():
|
||||
global lnd_ready
|
||||
return lnd_ready
|
||||
|
@ -213,13 +250,13 @@ def get_lnd_version():
|
|||
global lnd_version
|
||||
if lnd_version == None:
|
||||
lnd_version = subprocess.check_output("lnd --version | egrep -o '[0-9]+\\.[0-9]+\\.[0-9]+' | head -n 1", shell=True)
|
||||
return lnd_version
|
||||
return "v{}".format(lnd_version)
|
||||
|
||||
def get_loopd_version():
|
||||
global loopd_version
|
||||
if loopd_version == None:
|
||||
loopd_version = subprocess.check_output("loopd --version | egrep -o '[0-9]+\\.[0-9]+\\.[0-9]+' | head -n 1", shell=True)
|
||||
return loopd_version
|
||||
return "v{}".format(loopd_version)
|
||||
|
||||
def get_default_lnd_config():
|
||||
try:
|
||||
|
|
|
@ -134,6 +134,7 @@ def page_lnd():
|
|||
channel["remote_balance"] = "0"
|
||||
channels.append(channel)
|
||||
|
||||
balance_info = get_lightning_balance_info()
|
||||
|
||||
channel_balance_data = get_lightning_channel_balance()
|
||||
if channel_balance_data != None and "balance" in channel_balance_data:
|
||||
|
@ -173,10 +174,10 @@ def page_lnd():
|
|||
"pubkey": pubkey,
|
||||
"uri": uri,
|
||||
"ip": ip,
|
||||
"channel_balance": channel_balance,
|
||||
"channel_pending": channel_pending,
|
||||
"wallet_balance": wallet_balance,
|
||||
"wallet_pending": wallet_pending,
|
||||
"channel_balance": balance_info["channel_balance"],
|
||||
"channel_pending": balance_info["channel_pending"],
|
||||
"wallet_balance": balance_info["wallet_balance"],
|
||||
"wallet_pending": balance_info["wallet_pending"],
|
||||
"peers": peers,
|
||||
"channels": channels,
|
||||
"ui_settings": read_ui_settings()
|
||||
|
|
|
@ -361,7 +361,7 @@ def index():
|
|||
templateData = {
|
||||
"title": "myNode Status",
|
||||
"header_text": "Starting...",
|
||||
"subheader_text": Markup("Launching myNode services...{}".format(message)),
|
||||
"subheader_text": Markup("Launching myNode Services{}".format(message)),
|
||||
"error_message": error_message,
|
||||
"ui_settings": read_ui_settings()
|
||||
}
|
||||
|
@ -398,6 +398,9 @@ def index():
|
|||
tor_status_color = get_service_status_color("tor@default")
|
||||
|
||||
# Find bitcoind status
|
||||
bitcoin_info = get_bitcoin_blockchain_info()
|
||||
bitcoin_mempool = get_bitcoin_mempool_info()
|
||||
bitcoin_peers = get_bitcoin_peers()
|
||||
if bitcoind_status_code != 0:
|
||||
bitcoind_status_color = "red"
|
||||
else:
|
||||
|
@ -567,9 +570,17 @@ def index():
|
|||
"bitcoind_status_color": bitcoind_status_color,
|
||||
"bitcoind_status": Markup(bitcoind_status),
|
||||
"current_block": current_block,
|
||||
"bitcoin_peer_count": get_bitcoin_peer_count(),
|
||||
"bitcoin_difficulty": get_bitcoin_difficulty(),
|
||||
"bitcoin_mempool_size": "{:.3} MB".format(float(bitcoin_mempool["bytes"]) / 1000 / 1000),
|
||||
"bitcoin_version": get_bitcoin_version(),
|
||||
"lnd_status_color": lnd_status_color,
|
||||
"lnd_status": Markup(lnd_status),
|
||||
"lnd_ready": lnd_ready,
|
||||
"lnd_peer_count": get_lightning_peer_count(),
|
||||
"lnd_channel_count": get_lightning_channel_count(),
|
||||
"lnd_balance_info": get_lightning_balance_info(),
|
||||
"lnd_version": get_lnd_version(),
|
||||
"tor_status_color": tor_status_color,
|
||||
"is_installing_docker_images": is_installing_docker_images(),
|
||||
"is_device_from_reseller": is_device_from_reseller(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import url(/fonts/inter.css);
|
||||
@import url(/static/fonts/inter.css);
|
||||
|
||||
body, input, select, textarea {
|
||||
font-family: "Inter", "Source Sans Pro", Helvetica, sans-serif;
|
||||
|
@ -44,10 +44,12 @@ table{
|
|||
}
|
||||
|
||||
td {
|
||||
padding-top: 11px;
|
||||
padding-bottom: 8px;
|
||||
padding-top: 9px;
|
||||
padding-bottom: 6px;
|
||||
border-collapse: collapse;
|
||||
border-top: #e7e7e7 1px solid;
|
||||
}
|
||||
.td_left_header {
|
||||
padding-right: 40px;
|
||||
}
|
||||
|
||||
|
@ -155,7 +157,7 @@ td {
|
|||
display: flex;
|
||||
text-align: center;
|
||||
justify-content: center;
|
||||
margin-bottom: 30px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.app_tile_row_section {
|
||||
margin: auto;
|
||||
|
@ -189,6 +191,17 @@ td {
|
|||
margin: 10px;
|
||||
background: #f0f0f0;
|
||||
}
|
||||
.app_tile_very_wide {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
border: none;
|
||||
border-radius: 10px;
|
||||
width: 300px;
|
||||
height: 180px;
|
||||
padding: 10px;
|
||||
margin: 6px 10px 6px 10px;
|
||||
background: #f0f0f0;
|
||||
}
|
||||
.green { background-color: green; }
|
||||
.yellow { background-color: yellow; }
|
||||
.red { background-color: red; }
|
||||
|
@ -223,7 +236,7 @@ td {
|
|||
.app_logo_icon {
|
||||
margin: auto;
|
||||
display: block;
|
||||
width: 40%;
|
||||
width: 55px;
|
||||
}
|
||||
.app_title {
|
||||
font-size: 18px;
|
||||
|
@ -383,12 +396,12 @@ a:link.ui-button, a:visited.ui-button, .ui-button {
|
|||
margin: auto;
|
||||
text-align: justify;
|
||||
font-size: 14px;
|
||||
margin-bottom: 80px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
.divider {
|
||||
width: 100%;
|
||||
margin-top: 50px;
|
||||
margin-bottom: 20px;
|
||||
margin-top: 25px;
|
||||
margin-bottom: 15px;
|
||||
border-bottom: 1px solid #ffb70054;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
|
|
|
@ -41,11 +41,13 @@ table,
|
|||
|
||||
.app_tile,
|
||||
.app_tile_short,
|
||||
.app_tile_very_wide,
|
||||
.info_tile {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.app_tile,
|
||||
.app_tile_very_wide,
|
||||
.app_tile_short {
|
||||
background-color: #121C21;
|
||||
}
|
||||
|
|
|
@ -18,6 +18,18 @@
|
|||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="app_tile">
|
||||
<div class="app_status_icon {{ electrs_status_color }}"></div>
|
||||
<div class="app_logo"><img class="app_logo_icon" src="{{ url_for('static', filename="images/electrum_logo.png")}}"/></div>
|
||||
<div class="app_title">Electrum Server</div>
|
||||
<div class="app_status">{{ electrs_status }}</div>
|
||||
<div class="app_contents">
|
||||
{% if electrs_enabled %}
|
||||
<a class="ui-button ui-widget ui-corner-all mynode_button" href="/electrum-server">Info</a>
|
||||
{% endif %}
|
||||
<a class="ui-button ui-widget ui-corner-all mynode_button" href="#" id="toggle-electrs">{% if electrs_enabled %}Disable{% else %}Enable{% endif %}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="app_tile">
|
||||
<div class="app_status_icon {{ btcpayserver_status_color }}"></div>
|
||||
<div class="app_logo"><img class="app_logo_icon" src="{{ url_for('static', filename="images/btcpayserver.png")}}"/></div>
|
||||
|
@ -50,6 +62,7 @@
|
|||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<!--
|
||||
<div class="app_tile">
|
||||
<div class="app_status_icon {{ lndconnect_status_color }}"></div>
|
||||
<div class="app_logo"><img class="app_logo_icon" src="{{ url_for('static', filename="images/lndconnect.png")}}"/></div>
|
||||
|
@ -61,6 +74,7 @@
|
|||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
</div>
|
||||
|
||||
<div class="app_tile_row">
|
||||
|
@ -224,4 +238,57 @@
|
|||
</div>
|
||||
|
||||
<!-- BETA APPS -->
|
||||
<!-- <div class="main_header">Beta Apps</div> -->
|
||||
<!-- <div class="main_header">Beta Apps</div> -->
|
||||
|
||||
<!-- REMOTE SERVICES -->
|
||||
<div class="app_tile_row">
|
||||
<div>
|
||||
<div class="main_header">Remote Access Services</div>
|
||||
<div class="app_tile_row_section">
|
||||
<!--
|
||||
<div class="app_tile">
|
||||
<div class="app_status_icon {{ electrs_status_color }}"></div>
|
||||
<div class="app_logo"><img class="app_logo_icon" src="{{ url_for('static', filename="images/electrum_logo.png")}}"/></div>
|
||||
<div class="app_title">Electrum Server</div>
|
||||
<div class="app_status">{{ electrs_status }}</div>
|
||||
<div class="app_contents">
|
||||
{% if electrs_enabled %}
|
||||
<a class="ui-button ui-widget ui-corner-all mynode_button" href="/electrum-server">Info</a>
|
||||
{% endif %}
|
||||
<a class="ui-button ui-widget ui-corner-all mynode_button" href="#" id="toggle-electrs">{% if electrs_enabled %}Disable{% else %}Enable{% endif %}</a>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
<div class="app_tile">
|
||||
<div class="app_status_icon {{ tor_status_color }}"></div>
|
||||
<div class="app_logo"><img class="app_logo_icon" src="{{ url_for('static', filename="images/tor.png")}}"/></div>
|
||||
<div class="app_title">Tor</div>
|
||||
<div class="app_status">Private Connections</div>
|
||||
<div class="app_contents">
|
||||
{% if product_key_skipped %}
|
||||
Remote Access Premium Feature
|
||||
{% else %}
|
||||
<a class="ui-button ui-widget ui-corner-all mynode_button" href="/tor">Tor Services</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="app_tile">
|
||||
<div class="app_status_icon {{ vpn_status_color }}"></div>
|
||||
<div class="app_logo"><img class="app_logo_icon" src="{{ url_for('static', filename="images/vpn.png")}}"/></div>
|
||||
<div class="app_title">VPN</div>
|
||||
<div class="app_status">{{ vpn_status }}</div>
|
||||
<div class="app_contents">
|
||||
{% if product_key_skipped %}
|
||||
Premium Feature
|
||||
{% else %}
|
||||
{% if vpn_enabled %}
|
||||
<a class="ui-button ui-widget ui-corner-all mynode_button" href="/vpn-info">Info</a>
|
||||
{% endif %}
|
||||
<a class="ui-button ui-widget ui-corner-all mynode_button" href="#" id="toggle-vpn">{% if vpn_enabled %}Disable{% else %}Enable{% endif %}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -3,12 +3,12 @@
|
|||
</div>
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td>Serial Number</td>
|
||||
<td style="padding-left: 20px;">{{serial_number}}</td>
|
||||
<td class="td_left_header">Serial Number</td>
|
||||
<td>{{serial_number}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Product Key</td>
|
||||
<td style="padding-left: 20px;">
|
||||
<td class="td_left_header">Product Key</td>
|
||||
<td>
|
||||
{% if product_key_skipped %}
|
||||
{{product_key}}
|
||||
<a href="/product-key" class="ui-button ui-widget ui-corner-all settings_button_small">Enter Product Key</a>
|
||||
|
@ -20,22 +20,22 @@
|
|||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Device Type</td>
|
||||
<td style="padding-left: 20px;">{{device_type}}</td>
|
||||
<td class="td_left_header">Device Type</td >
|
||||
<td>{{device_type}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Device RAM</td>
|
||||
<td style="padding-left: 20px;">{{device_ram}} GB</td>
|
||||
<td class="td_left_header">Device RAM</td>
|
||||
<td>{{device_ram}} GB</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Local IP</td>
|
||||
<td style="padding-left: 20px;">{{local_ip}}</td>
|
||||
<td class="td_left_header">Local IP</td>
|
||||
<td>{{local_ip}}</td>
|
||||
</tr>
|
||||
{% if throttled_data['RAW_DATA'] != "0x0" and throttled_data['RAW_DATA'] != "MISSING" %}
|
||||
{% if throttled_data['UNDERVOLTED'] or throttled_data['CAPPED'] or throttled_data['THROTTLED'] or throttled_data['SOFT_TEMPLIMIT'] %}
|
||||
<tr>
|
||||
<td>Active Throttling Data</td>
|
||||
<td style="padding-left: 20px; color: red; font-size: 10px">
|
||||
<td class="td_left_header">Active Throttling Data</td>
|
||||
<td style="color: red; font-size: 10px">
|
||||
{% if throttled_data['UNDERVOLTED'] %}Undervolted<br/>{% endif %}
|
||||
{% if throttled_data['CAPPED'] %}Capped CPU<br/>{% endif %}
|
||||
{% if throttled_data['THROTTLED'] %}Throttled CPU<br/>{% endif %}
|
||||
|
@ -45,8 +45,8 @@
|
|||
{% endif %}
|
||||
{% if throttled_data['HAS_UNDERVOLTED'] or throttled_data['HAS_CAPPED'] or throttled_data['HAS_THROTTLED'] or throttled_data['HAS_SOFT_TEMPLIMIT'] %}
|
||||
<tr>
|
||||
<td>Historic Throttling Data<br/><span style="font-size: 10px;">*Occurred since last reboot</span></td>
|
||||
<td style="padding-left: 20px; color: red; font-size: 10px;">
|
||||
<td class="td_left_header">Historic Throttling Data<br/><span style="font-size: 10px;">*Occurred since last reboot</span></td>
|
||||
<td style="color: red; font-size: 10px;">
|
||||
{% if throttled_data['HAS_UNDERVOLTED'] %}Undervolted<br/>{% endif %}
|
||||
{% if throttled_data['HAS_CAPPED'] %}Capped CPU<br/>{% endif %}
|
||||
{% if throttled_data['HAS_THROTTLED'] %}Throttled CPU<br/>{% endif %}
|
||||
|
@ -57,8 +57,8 @@
|
|||
{% endif %}
|
||||
{% if has_checkin_error %}
|
||||
<tr>
|
||||
<td>Server</td>
|
||||
<td style="padding-left: 20px; color: red;"><b>Error contacting mynodebtc.com via Tor!</b><br/>You may have issues checking for new versions or saving product keys.</td>
|
||||
<td class="td_left_header">Server</td>
|
||||
<td style="color: red;"><b>Error contacting mynodebtc.com via Tor!</b><br/>You may have issues checking for new versions or saving product keys.</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<div class="app_tile_row">
|
||||
<div>
|
||||
<div class="main_header">Core Services</div>
|
||||
<div class="app_tile_row_section">
|
||||
<div class="app_tile">
|
||||
<div class="app_tile_very_wide" style="width: 300px;">
|
||||
<div style="width: 130px; float: left;">
|
||||
<div class="app_status_icon {{ bitcoind_status_color }}"></div>
|
||||
<div class="app_logo"><img class="app_logo_icon" src="{{ url_for('static', filename="images/bitcoin.png")}}"/></div>
|
||||
<div class="app_title">Bitcoin</div>
|
||||
|
@ -11,62 +11,70 @@
|
|||
<a class="ui-button ui-widget ui-corner-all mynode_button" href="/bitcoind">Manage</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="app_tile">
|
||||
<div style="width: 160px; padding-left: 10px; float: right;">
|
||||
<table style="font-size: 10px; width: 100%;" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td class="td_left_header">Height</td>
|
||||
<td>{{ current_block }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="td_left_header">Peers</td>
|
||||
<td>{{ bitcoin_peer_count }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="td_left_header">Difficulty</td>
|
||||
<td>{{ bitcoin_difficulty }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="td_left_header">Mempool Size</td>
|
||||
<td>{{ bitcoin_mempool_size }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="td_left_header">Version</td>
|
||||
<td>{{ bitcoin_version }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="app_tile_very_wide" style="width: 300px;">
|
||||
<div style="width: 130px; float: left;">
|
||||
<div class="app_status_icon {{ lnd_status_color }}"></div>
|
||||
<div class="app_logo"><img class="app_logo_icon" src="{{ url_for('static', filename="images/lightning.png")}}"/></div>
|
||||
<div class="app_title">Lightning</div>
|
||||
<div class="app_status">{{ lnd_status }}</div>
|
||||
<div class="app_contents">
|
||||
{% if lnd_ready %}
|
||||
<a class="ui-button ui-widget ui-corner-all mynode_button" href="#" id="lndconnect">Pair Wallet</a>
|
||||
{% endif %}
|
||||
<a class="ui-button ui-widget ui-corner-all mynode_button" href="/lnd">Manage</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="main_header">Services</div>
|
||||
<div class="app_tile_row_section">
|
||||
<div class="app_tile">
|
||||
<div class="app_status_icon {{ electrs_status_color }}"></div>
|
||||
<div class="app_logo"><img class="app_logo_icon" src="{{ url_for('static', filename="images/electrum_logo.png")}}"/></div>
|
||||
<div class="app_title">Electrum Server</div>
|
||||
<div class="app_status">{{ electrs_status }}</div>
|
||||
<div class="app_contents">
|
||||
{% if electrs_enabled %}
|
||||
<a class="ui-button ui-widget ui-corner-all mynode_button" href="/electrum-server">Info</a>
|
||||
{% endif %}
|
||||
<a class="ui-button ui-widget ui-corner-all mynode_button" href="#" id="toggle-electrs">{% if electrs_enabled %}Disable{% else %}Enable{% endif %}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="app_tile">
|
||||
<div class="app_status_icon {{ tor_status_color }}"></div>
|
||||
<div class="app_logo"><img class="app_logo_icon" src="{{ url_for('static', filename="images/tor.png")}}"/></div>
|
||||
<div class="app_title">Tor</div>
|
||||
<div class="app_status">Private Connections</div>
|
||||
<div class="app_contents">
|
||||
{% if product_key_skipped %}
|
||||
Remote Access Premium Feature
|
||||
{% else %}
|
||||
<a class="ui-button ui-widget ui-corner-all mynode_button" href="/tor">Tor Services</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="app_tile">
|
||||
<div class="app_status_icon {{ vpn_status_color }}"></div>
|
||||
<div class="app_logo"><img class="app_logo_icon" src="{{ url_for('static', filename="images/vpn.png")}}"/></div>
|
||||
<div class="app_title">VPN</div>
|
||||
<div class="app_status">{{ vpn_status }}</div>
|
||||
<div class="app_contents">
|
||||
{% if product_key_skipped %}
|
||||
Premium Feature
|
||||
{% else %}
|
||||
{% if vpn_enabled %}
|
||||
<a class="ui-button ui-widget ui-corner-all mynode_button" href="/vpn-info">Info</a>
|
||||
{% endif %}
|
||||
<a class="ui-button ui-widget ui-corner-all mynode_button" href="#" id="toggle-vpn">{% if vpn_enabled %}Disable{% else %}Enable{% endif %}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div style="width: 160px; padding-left: 10px; float: right;">
|
||||
<table style="font-size: 10px; width: 100%;" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td class="td_left_header">Peers</td>
|
||||
<td>{{ lnd_peer_count }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="td_left_header">Channels</td>
|
||||
<td>{{ lnd_channel_count }}</td>
|
||||
</tr>
|
||||
<!--
|
||||
<tr>
|
||||
<td class="td_left_header">On-chain Balance</td>
|
||||
<td>{{ lnd_balance_info['wallet_balance'] }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="td_left_header">Lightning Balance</td>
|
||||
<td>{{ lnd_balance_info['channel_balance'] }}</td>
|
||||
</tr>
|
||||
-->
|
||||
<tr>
|
||||
<td class="td_left_header">Version</td>
|
||||
<td>{{ lnd_version }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<div class="settings_block_subheader">Status</div>
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td>Details</td>
|
||||
<td style="padding-left: 20px;">
|
||||
<td class="td_left_header">Details</td>
|
||||
<td>
|
||||
{% if is_netdata_enabled %}
|
||||
{% if is_bitcoin_synced %}
|
||||
{% if not is_installing_docker_images %}
|
||||
|
@ -18,36 +18,36 @@
|
|||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Manage</td>
|
||||
<td style="padding-left: 20px;">
|
||||
<td class="td_left_header">Manage</td>
|
||||
<td>
|
||||
<a id="linux_terminal" class="ui-button ui-widget ui-corner-all settings_button_small" href="#">Linux Terminal</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Disk Usage</td>
|
||||
<td style="padding-left: 20px;">{{drive_usage}}</td>
|
||||
<td class="td_left_header">Disk Usage</td>
|
||||
<td>{{drive_usage}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>CPU</td>
|
||||
<td style="padding-left: 20px;">{{cpu_usage}}</td>
|
||||
<td class="td_left_header">CPU</td>
|
||||
<td>{{cpu_usage}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>RAM</td>
|
||||
<td style="padding-left: 20px;">{{ram_usage}}</td>
|
||||
<td class="td_left_header">RAM</td>
|
||||
<td>{{ram_usage}}</td>
|
||||
</tr>
|
||||
{% if device_temp != '...' %}
|
||||
<tr>
|
||||
<td>Temperature</td>
|
||||
<td style="padding-left: 20px;">{{device_temp}} °C</td>
|
||||
<td class="td_left_header">Temperature</td>
|
||||
<td>{{device_temp}} °C</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
<tr>
|
||||
<td>Uptime</td>
|
||||
<td style="padding-left: 20px;">{{uptime}}</td>
|
||||
<td class="td_left_header">Uptime</td>
|
||||
<td>{{uptime}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Date</td>
|
||||
<td style="padding-left: 20px;">{{date}}</td>
|
||||
<td class="td_left_header">Date</td>
|
||||
<td>{{date}}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="divider"></div>
|
|
@ -420,7 +420,7 @@
|
|||
<div class="settings_block_subheader">Version</div>
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td>Current Version</td>
|
||||
<td class="td_left_header">Current Version</td>
|
||||
<td>{{current_version}}</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
@ -462,15 +462,15 @@
|
|||
<form action="/settings/password" method="POST">
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td>Current Password</td>
|
||||
<td class="td_left_header">Current Password</td>
|
||||
<td><input type="password" id="current_password" name="current_password" width="20" class="ui-corner-all settings_input"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Password</td>
|
||||
<td class="td_left_header">Password</td>
|
||||
<td><input type="password" id="password1" name="password1" width="20" class="ui-corner-all settings_input"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Repeat Password</td>
|
||||
<td class="td_left_header">Repeat Password</td>
|
||||
<td><input type="password" id="password2" name="password2" width="20" class="ui-corner-all settings_input"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
|
@ -168,7 +168,7 @@
|
|||
<div class="settings_block_subheader">Version</div>
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td>Current Version</td>
|
||||
<td class="td_left_header">Current Version</td>
|
||||
<td>{{current_version}}</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
|
Loading…
Reference in New Issue
Block a user