Skip to content

polish(console): drop tz note, BenzoNet-locked network indicator, full-width search#55

Merged
hitakshiA merged 1 commit into
mainfrom
codex/remove-tz-note
Jul 10, 2026
Merged

polish(console): drop tz note, BenzoNet-locked network indicator, full-width search#55
hitakshiA merged 1 commit into
mainfrom
codex/remove-tz-note

Conversation

@hitakshiA

@hitakshiA hitakshiA commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Three small top-of-console fixes:

  • Audit log: removed the "Times shown in your local timezone" note (it collided with the date-range input); Export CSV stays right-aligned.
  • Network chip: the console runs on one chain (the permissioned BenzoNet L1), so the switcher is now a read-only indicator — it shows the active network's identity + chain id / RPC / explorer, with no selection (a switcher that can't actually re-point the app was misleading). NETWORK defaults to benzonet.
  • Search: the command bar now fills the top-bar width instead of a fixed 300px with dead space.

Gates: build ✓ · typecheck ✓ · lint ✓ · 68 tests.

Summary by CodeRabbit

  • New Features

    • The console now defaults to BenzoNet when no network is configured.
    • Network details are displayed as a read-only indicator, including environment, chain ID, RPC, and explorer information.
  • UI Improvements

    • Improved command bar and header spacing for responsive layouts.
    • Simplified network menu presentation.
    • Streamlined Audit Log date filter controls.
  • Bug Fixes

    • Updated default transaction and contract links to use the BenzoNet explorer.

Greptile Summary

Three focused UI polish changes: the audit log timezone note is removed (eliminating a layout collision with the date-range input), the network switcher is replaced with a read-only BenzoNet indicator (removing misleading selection UI for a single-chain app), and the command bar now fills available top-bar width via flex-1 instead of a hardcoded 300 px.

  • network.ts / NetworkMenu.tsx: NETWORK now defaults to \"benzonet\" explicitly; all selection state, localStorage persistence, and the NETWORKS array are removed — the dropdown becomes a read-only details panel showing chain ID, RPC, and explorer for the active build-time network.
  • CommandBar.tsx / Shell.tsx: the trigger button gains flex-1 min-w-0 and the adjacent flex-1 spacer div is dropped, achieving the same right-aligned layout with the search bar filling the gap.
  • AuditLog.tsx: removes the timezone helper span and switches the footer from justify-between to justify-end, keeping Export CSV right-aligned without the colliding label.

Confidence Score: 4/5

Safe to merge — all three changes are self-contained UI adjustments with no data mutations or auth impact.

The network refactor cleanly removes selection logic and localStorage persistence; the NETWORK default change to benzonet is correctly reflected in the updated test. The only item worth a second look is NetworkMenu: the popup panel's role=menu was removed (correct, since it is no longer a selector) but no replacement role or aria-controls linkage was added, leaving the expand/collapse relationship opaque to screen readers.

apps/console/src/app/NetworkMenu.tsx — the popup panel lost its ARIA role without gaining a replacement, worth a small follow-up for accessibility.

Important Files Changed

Filename Overview
apps/console/src/app/NetworkMenu.tsx Refactored from a multi-network switcher to a read-only indicator locked to the build-time NETWORK; local-storage persistence and selection state removed cleanly, but the popup panel lost its role=menu without gaining any replacement ARIA role or id/aria-controls linkage.
apps/console/src/app/CommandBar.tsx Width class changed from fixed w-[300px] to w-full flex-1 min-w-0; w-full is redundant with flex-1 but harmless.
apps/console/src/app/Shell.tsx Removed flex-1 spacer div; CommandBar now carries its own flex-1 to fill the space — layout intent is preserved.
apps/console/src/lib/network.ts Added ?? 'benzonet' fallback to NETWORK constant, changing the default from implicit fuji to explicit benzonet; consistent with the enterprise BenzoNet-first positioning.
apps/console/src/lib/format.test.ts Explorer URL expectations updated from Fuji testnet to BenzoNet explorer, correctly tracking the new NETWORK default.
apps/console/src/screens/AuditLog.tsx Removed 'Times shown in your local timezone' helper text and changed the footer div from justify-between to justify-end; Export CSV remains right-aligned and functional.

Comments Outside Diff (1)

  1. apps/console/src/app/NetworkMenu.tsx, line 97-125 (link)

    P2 Popup panel missing ARIA association with trigger

    The trigger button has aria-expanded={open} but no aria-controls pointing to the panel's id, and the panel itself has no id or ARIA role. Screen readers can announce that the button is expanded/collapsed but cannot identify or locate the panel being toggled.

    Previously the panel carried role="menu" (which established its own implicit semantics). Now that it's read-only info, something like role="region" + aria-label="Network details" on the panel, plus a matching id and aria-controls on the button, would restore a navigable relationship. Without this, keyboard/AT users who rely on aria-expanded to find the disclosed content will get no pointer to where that content lives.

    Prompt To Fix With AI
    This is a comment left during a code review.
    Path: apps/console/src/app/NetworkMenu.tsx
    Line: 97-125
    
    Comment:
    **Popup panel missing ARIA association with trigger**
    
    The trigger button has `aria-expanded={open}` but no `aria-controls` pointing to the panel's `id`, and the panel itself has no `id` or ARIA role. Screen readers can announce that the button is expanded/collapsed but cannot identify or locate the panel being toggled.
    
    Previously the panel carried `role="menu"` (which established its own implicit semantics). Now that it's read-only info, something like `role="region"` + `aria-label="Network details"` on the panel, plus a matching `id` and `aria-controls` on the button, would restore a navigable relationship. Without this, keyboard/AT users who rely on `aria-expanded` to find the disclosed content will get no pointer to where that content lives.
    
    How can I resolve this? If you propose a fix, please make it concise.

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

    Fix in Claude Code Fix in Cursor Fix in Codex

Fix All in Claude Code Fix All in Cursor Fix All in Codex

Prompt To Fix All With AI
Fix the following 2 code review issues. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 2
apps/console/src/app/NetworkMenu.tsx:97-125
**Popup panel missing ARIA association with trigger**

The trigger button has `aria-expanded={open}` but no `aria-controls` pointing to the panel's `id`, and the panel itself has no `id` or ARIA role. Screen readers can announce that the button is expanded/collapsed but cannot identify or locate the panel being toggled.

Previously the panel carried `role="menu"` (which established its own implicit semantics). Now that it's read-only info, something like `role="region"` + `aria-label="Network details"` on the panel, plus a matching `id` and `aria-controls` on the button, would restore a navigable relationship. Without this, keyboard/AT users who rely on `aria-expanded` to find the disclosed content will get no pointer to where that content lives.

### Issue 2 of 2
apps/console/src/app/CommandBar.tsx:56
`w-full` is redundant alongside `flex-1` in a flex context. `flex-1 min-w-0` is sufficient — the initial `flex-basis: 0%` from `flex-1` already drives the growth, and `w-full` can cause the element to briefly claim 100% width before flex distribution kicks in. Removing `w-full` is cleaner.

```suggestion
        className="flex h-[34px] flex-1 min-w-0 items-center gap-2 whitespace-nowrap rounded-[9px] border border-border bg-bg px-3 text-[13px] text-[#9a9ea3] outline-none transition hover:border-[#cfd2cc] focus-visible:border-primary focus-visible:ring-2 focus-visible:ring-primary/20"
```

Reviews (1): Last reviewed commit: "polish(console): remove the timezone not..." | Re-trigger Greptile

Greptile also left 1 inline comment on this PR.

…ng with the date input), lock the console to the BenzoNet L1 with a read-only network indicator (no broken switcher), and let the search bar fill the top-bar width
@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The console now defaults to BenzoNet, shows a read-only build-configured network indicator, and updates command bar, header, explorer test, and audit filter layouts.

Changes

Network configuration and indicator

Layer / File(s) Summary
BenzoNet default and explorer expectations
apps/console/src/lib/network.ts, apps/console/src/lib/format.test.ts
NETWORK defaults to benzonet, and explorer URL expectations use BenzoNet endpoints.
Read-only network menu
apps/console/src/app/NetworkMenu.tsx
Network selection and local persistence are removed; the menu displays metadata for the configured build-time network.

Console layout adjustments

Layer / File(s) Summary
Header and command control layout
apps/console/src/app/CommandBar.tsx, apps/console/src/app/Shell.tsx
The command button uses flexible sizing, and the header spacer before NetworkMenu is removed.
Audit filter alignment
apps/console/src/screens/AuditLog.tsx
The timezone helper text is removed and the date filter row is right-aligned.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 42.86% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is concise and accurately reflects the main console UI and network-default changes in the PR.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/remove-tz-note

Comment @coderabbitai help to get the list of available commands.

<button
onClick={() => setOpen(true)}
className="flex h-[34px] w-[300px] flex-none items-center gap-2 whitespace-nowrap rounded-[9px] border border-border bg-bg px-3 text-[13px] text-[#9a9ea3] outline-none transition hover:border-[#cfd2cc] focus-visible:border-primary focus-visible:ring-2 focus-visible:ring-primary/20"
className="flex h-[34px] w-full flex-1 min-w-0 items-center gap-2 whitespace-nowrap rounded-[9px] border border-border bg-bg px-3 text-[13px] text-[#9a9ea3] outline-none transition hover:border-[#cfd2cc] focus-visible:border-primary focus-visible:ring-2 focus-visible:ring-primary/20"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 w-full is redundant alongside flex-1 in a flex context. flex-1 min-w-0 is sufficient — the initial flex-basis: 0% from flex-1 already drives the growth, and w-full can cause the element to briefly claim 100% width before flex distribution kicks in. Removing w-full is cleaner.

Suggested change
className="flex h-[34px] w-full flex-1 min-w-0 items-center gap-2 whitespace-nowrap rounded-[9px] border border-border bg-bg px-3 text-[13px] text-[#9a9ea3] outline-none transition hover:border-[#cfd2cc] focus-visible:border-primary focus-visible:ring-2 focus-visible:ring-primary/20"
className="flex h-[34px] flex-1 min-w-0 items-center gap-2 whitespace-nowrap rounded-[9px] border border-border bg-bg px-3 text-[13px] text-[#9a9ea3] outline-none transition hover:border-[#cfd2cc] focus-visible:border-primary focus-visible:ring-2 focus-visible:ring-primary/20"
Prompt To Fix With AI
This is a comment left during a code review.
Path: apps/console/src/app/CommandBar.tsx
Line: 56

Comment:
`w-full` is redundant alongside `flex-1` in a flex context. `flex-1 min-w-0` is sufficient — the initial `flex-basis: 0%` from `flex-1` already drives the growth, and `w-full` can cause the element to briefly claim 100% width before flex distribution kicks in. Removing `w-full` is cleaner.

```suggestion
        className="flex h-[34px] flex-1 min-w-0 items-center gap-2 whitespace-nowrap rounded-[9px] border border-border bg-bg px-3 text-[13px] text-[#9a9ea3] outline-none transition hover:border-[#cfd2cc] focus-visible:border-primary focus-visible:ring-2 focus-visible:ring-primary/20"
```

How can I resolve this? If you propose a fix, please make it concise.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Fix in Claude Code Fix in Cursor Fix in Codex

@hitakshiA
hitakshiA merged commit 6466327 into main Jul 10, 2026
3 checks passed
@hitakshiA
hitakshiA deleted the codex/remove-tz-note branch July 10, 2026 12:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant