ui: the block route is a page too

Same reasoning as the miner and account routes one commit ago, which the block
route was deliberately left out of: a block is read against the standings, and
the ticker row below is what you clicked to get here. On reflection that is an
argument about how someone arrived, not about what the URL names — and the URL
names one block. The board is what `/:chain/:window` is for.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jp6a8EDar9ueEhAxzep4V5
This commit is contained in:
2026-09-09 17:44:58 +03:00
co-authored by Claude Opus 5
parent 1410d3dda7
commit 1260cc6d64
2 changed files with 28 additions and 31 deletions
+3 -17
View File
@@ -56,7 +56,6 @@ export function BlockPanel({
block,
targetSeconds,
onResolved,
onClose,
}: {
chain: string
/** Height or hash, as it appeared in the URL. */
@@ -65,7 +64,6 @@ export function BlockPanel({
targetSeconds: number
/** Called with the canonical hash once a height has resolved to one. */
onResolved: (hash: string) => void
onClose: () => void
}) {
const [detail, setDetail] = useState<BlockDetail | null>(null)
const [error, setError] = useState<string | null>(null)
@@ -122,21 +120,9 @@ export function BlockPanel({
{detail?.hash ?? ''}
</div>
</div>
<button
className="segmented"
style={{
padding: '7px 13px',
font: 'inherit',
fontSize: 12,
letterSpacing: '0.1em',
textTransform: 'uppercase',
color: 'var(--text-secondary)',
cursor: 'pointer',
}}
onClick={onClose}
>
Close
</button>
{/* No close button: this is a URL somebody navigated to, not a dialog
that opened over something they were reading. The back button and
the chain chip both already do what it would. */}
</div>
{error && <p className="empty">{error}</p>}