feat(bitcoin-ui): add Insights, Peers and Connect tabs for UmbrelOS parity
The Bitcoin UI was one long scroll: sync card, RPC/ZMQ cards and the relay-sharing panel stacked on a single page, with node details hidden in a modal. umbrelOS's rebuilt Bitcoin Node app splits the same surface across a Home/Insights/Settings dock and shows considerably more. Added, all of it additive — the sync state machine, the status-snapshot staleness logic and the relay-sharing panel are untouched and just move inside a tab panel: - Five tabs (Node / Insights / Peers / Connect / Sharing) using the same segmented control as lnd-ui, which becomes a fixed bottom dock under 768px with safe-area padding. - Insights: the four stats umbrel's StatSummary shows (Connections, Mempool, Blockchain Size, Node Uptime), a Latest Blocks strip, and Block Size / Fee Rate / Block Rewards charts — the same three umbrel plots, drawn as CSS bars so nothing has to load a chart library past the CSP's script-src 'self'. - Peers: sortable, filterable table with umbrel's exact columns (Peer, Network, Relay TXNs, In/Out, Connected) plus ping. Network is derived from getpeerinfo's own `network` field, falling back to address matching, so Tor/I2P/CJDNS/Local/Clearnet are labelled correctly. - Connect: RPC and P2P details with a Local/Tor selector, QR codes and per-field copy buttons (umbrel's ConnectionDetails), including its unencrypted-LAN warning on Local. Block statistics come from getblockstats, one call per block for the last ten, cached by height so only the new tip is re-fetched. The live tabs poll only while visible rather than adding a third unconditional 5s timer. Also removed the hardcoded "archipelago123" from copyRPCInfo. That string was never the node's actual RPC password — the real one is a manifest-declared generated secret rendered into this app's nginx upstream and deliberately never sent to the browser — so copying it could only ever mislead. The Connect tab says where the password actually lives instead. qrcode.js is vendored from docker/lnd-ui (same file, already CSP-clean) and added to the Dockerfile's COPY set. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
341bff4b44
commit
f4a323226e
@@ -2,6 +2,7 @@ FROM git.tx1138.com/lfg2025/nginx:1.27.4-alpine
|
||||
# Static site content.
|
||||
COPY index.html /usr/share/nginx/html/
|
||||
COPY tailwind.css /usr/share/nginx/html/
|
||||
COPY qrcode.js /usr/share/nginx/html/
|
||||
COPY 50x.html /usr/share/nginx/html/
|
||||
COPY assets/ /usr/share/nginx/html/assets/
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user