From e330d2b78a2e5aa9dbbc86d12598f767cf46fb36 Mon Sep 17 00:00:00 2001 From: rob thijssen Date: Wed, 9 Sep 2026 17:21:06 +0300 Subject: [PATCH] ui: a miner and an account are pages, not dialogs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both were panels that opened above the standings, which is right for a block — "who won this one, and where do they sit" is read against the board, and the ticker row below is what you clicked to get here — and wrong for the other two. A miner's page and an account's page are somebody's own record and the whole subject of the URL that reached them; eleven other miners' rows underneath is the site failing to notice which page it is on. The close buttons go with it. Neither panel opened over something the reader was looking at, so there is nothing to close back to, and the back button and the chain chip already do what it would. "Mark as yours" stays: that is a real control and not navigation. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01Jp6a8EDar9ueEhAxzep4V5 --- web/src/App.tsx | 64 +++++++++++++++-------------- web/src/components/AccountPanel.tsx | 9 ++-- web/src/components/MinerPanel.tsx | 46 +++++---------------- 3 files changed, 48 insertions(+), 71 deletions(-) diff --git a/web/src/App.tsx b/web/src/App.tsx index 04bb0a5..b52261c 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -156,44 +156,46 @@ export default function App() { // balance on this page wrong and look entirely plausible doing it. decimals={info?.token_decimals ?? 12} symbol={info?.token_symbol ?? ''} - onClose={closePanel} /> )} {route.miner && chain && ( - + )} -
-
-
-

The Standings

- - last {activeWindow.blocks.toLocaleString('en-US')} blocks ·{' '} - {windowSpan(activeWindow.blocks, interval)} - {pinned.length > 0 && ` · ${pinned.length} marked yours`} - -
- -
+ {/* A miner and an account are pages, not things opened over the board. + Each is somebody's own record and the whole subject of the URL that + reached it; leaving eleven other miners' rows underneath is the site + failing to notice which page it is on. A block keeps the board, + because a block is read *against* it — who won this one, and where do + they sit — and the ticker below is the row you clicked to get here. */} + {!route.account && !route.miner && ( +
+
+
+

The Standings

+ + last {activeWindow.blocks.toLocaleString('en-US')} blocks ·{' '} + {windowSpan(activeWindow.blocks, interval)} + {pinned.length > 0 && ` · ${pinned.length} marked yours`} + +
+ +
-
-
-

Live Blocks

- - {state.summary?.block_interval_seconds - ? `${seconds(state.summary.block_interval_seconds)} apart` - : 'measuring'} - -
- -
-
+
+
+

Live Blocks

+ + {state.summary?.block_interval_seconds + ? `${seconds(state.summary.block_interval_seconds)} apart` + : 'measuring'} + +
+ +
+
+ )}