Claude: changes for issue #99 #102

Merged
Grandiras merged 1 commit from claude/issue-99 into main 2026-08-18 07:52:51 +00:00
Collaborator

Closes #99.

Closes #99.
Redesign the account menu, and the release notes with it
All checks were successful
CI / build (pull_request) Successful in 29s
7d43c9dd4a
The header's right-hand corner held three controls — a sparkle button for
the release notes, an account chip that looked pressable and was not, and a
hamburger — and the menu behind the third was two stacked pill blocks and
three differently-shaped full-width buttons in no particular order. On a
phone it was thirteen rows with Sign out below the fold.

One door, one row shape, four groups:

- The avatar is the button. The account chip is gone and the identity is
  said once, at the top of the menu it belongs to, with a role line for an
  admin (which is why the pages under it are there).
- `.nav-menu-row` is the shape for everything the menu does — Share, What's
  new, Install — icon, word, and whatever the row has to say on the right.
  ShareButton takes it as its CssClass, so one component is a square icon
  button in the card dialog and a row here.
- Theme and language are one line each, label left and choice right, rather
  than four rows of label-over-pills.
- The version moves to the foot beside Sign out: it is what a bug report
  needs, not a second line under a row whose label already said everything.
- On a phone the menu is the bottom sheet the board switcher already is, and
  the admin pages fold the way they are folded into one flyout on a desktop.
  The whole menu now fits on a 390x780 screen.

And the advertisement is one dot instead of two nudges. It stands for
everything unseen in the menu — a release nobody has read about or the offer
to install — and the row inside says which, with a New badge. The two halves
are still marked seen at different moments, which is deliberate: opening the
menu is seeing the install offer, and is not reading the release notes.

The release notes themselves are a timeline: the newest entry open at the
top, the ones behind it on a rail, and everything older than the last few
behind one press — which takes focus back when it fires, or Escape would
stop closing the dialog with the button gone.

There is deliberately no default style for buttons in `.board-user` any
more. Every control there has a block of its own, so the `:not(...)`
specificity war the file kept warning about goes with it.

Verified: dotnet build + 282 unit tests; the e2e specs that touch this —
mobile, boards, changelog, install, prefs, i18n, share, board, filter — pass
against a local stack. The calendar and PDS-dependent failures in this
container fail identically on unmodified main (no PDS, no podman).
Author
Collaborator

🤖 Reviewing this PR — follow along in the action run; the reply will link the full session transcript.

📜 Live transcript — updating every ~5 minutes while the task runs.

🤖 Reviewing this PR — follow along in [the action run](https://git.grandiras.net/Grandiras/claude-bot/actions/runs/271); the reply will link the full session transcript. <!-- claude-run:pr_review --> 📜 [Live transcript](https://git.grandiras.net/Grandiras/claude-bot/src/branch/claude-logs/transcripts/Grandiras/Ponente/pr-102/run-271.md) — updating every ~5 minutes while the task runs.
claude-reviewer left a comment

Verdict: approve — no blocking issues found.

This is a large, cohesive redesign of the account/nav menu (avatar-as-trigger replacing the separate account chip + hamburger + sparkle button) and of the changelog dialog (rail/timeline with a 'show earlier' archive instead of one panel per release). I traced the Razor markup for balanced tags and correct nesting, checked CSS specificity for the now-removed generic .board-user button default against the new per-control rules (.nav-menu .nav-menu-row, .nav-pref-options button, .nav-admin-toggle, .nav-menu-share) and confirmed the intended overrides still win. Verified there are no leftover references to removed classes/keys (.nav-account, .nav-hamburger, nav.whatsnew.sub, nav.install.sub) anywhere in the tree, that both locale dictionaries stay in sync for the new keys (nav.account.admin, nav.version, changelog.earlier), that the new changelog entry (2.7.0) sorts correctly ahead of 2.6.0 for ChangelogTests, and that the combined 'one dot' nudge logic (ShowNudge, ShowInstallNudge, _changelogUnseen) matches the behavior asserted by the updated e2e specs (changelog.spec.js, install.spec.js, mobile.spec.js, boards.spec.js). The AdminSectionOpen/_adminSectionOpen fold-state handling (open by default on an admin page, persists across menu open/close, resets on navigation) is consistent with both the code and the test comments explaining it. The ChangelogModal's Shown/ShowEarlier/_refocus focus-management logic is sound: the button that triggers the reveal does actually disappear once _showAll is true, so refocusing the backdrop is necessary and correctly implemented. The extensive CLAUDE.md documentation update reads as an accurate description of the shipped code rather than aspirational. I did not find correctness bugs, security issues, or test/implementation mismatches worth blocking on.


⏱ 2m 31s · 31 turns · tokens: 133.5k in / 12.1k out (+4377.2k cache-read)
📜 Full session transcript

✅ **Verdict: approve** — no blocking issues found. This is a large, cohesive redesign of the account/nav menu (avatar-as-trigger replacing the separate account chip + hamburger + sparkle button) and of the changelog dialog (rail/timeline with a 'show earlier' archive instead of one panel per release). I traced the Razor markup for balanced tags and correct nesting, checked CSS specificity for the now-removed generic `.board-user button` default against the new per-control rules (`.nav-menu .nav-menu-row`, `.nav-pref-options button`, `.nav-admin-toggle`, `.nav-menu-share`) and confirmed the intended overrides still win. Verified there are no leftover references to removed classes/keys (`.nav-account`, `.nav-hamburger`, `nav.whatsnew.sub`, `nav.install.sub`) anywhere in the tree, that both locale dictionaries stay in sync for the new keys (`nav.account.admin`, `nav.version`, `changelog.earlier`), that the new changelog entry (2.7.0) sorts correctly ahead of 2.6.0 for `ChangelogTests`, and that the combined 'one dot' nudge logic (`ShowNudge`, `ShowInstallNudge`, `_changelogUnseen`) matches the behavior asserted by the updated e2e specs (changelog.spec.js, install.spec.js, mobile.spec.js, boards.spec.js). The `AdminSectionOpen`/`_adminSectionOpen` fold-state handling (open by default on an admin page, persists across menu open/close, resets on navigation) is consistent with both the code and the test comments explaining it. The `ChangelogModal`'s `Shown`/`ShowEarlier`/`_refocus` focus-management logic is sound: the button that triggers the reveal does actually disappear once `_showAll` is true, so refocusing the backdrop is necessary and correctly implemented. The extensive CLAUDE.md documentation update reads as an accurate description of the shipped code rather than aspirational. I did not find correctness bugs, security issues, or test/implementation mismatches worth blocking on. --- ⏱ 2m 31s · 31 turns · tokens: 133.5k in / 12.1k out (+4377.2k cache-read) 📜 [Full session transcript](https://git.grandiras.net/Grandiras/claude-bot/src/branch/claude-logs/transcripts/Grandiras/Ponente/pr-102/run-271.md) <!-- claude-verdict:approve --> <!-- claude-reviewed-head:7d43c9dd4a6d46e79417a065e3c4ceb2ac0867eb -->
Author
Collaborator

🤖 Reviewing this PR — follow along in the action run; the reply will link the full session transcript.

📜 Live transcript — updating every ~5 minutes while the task runs.

🤖 Reviewing this PR — follow along in [the action run](https://git.grandiras.net/Grandiras/claude-bot/actions/runs/272); the reply will link the full session transcript. <!-- claude-run:pr_review --> 📜 [Live transcript](https://git.grandiras.net/Grandiras/claude-bot/src/branch/claude-logs/transcripts/Grandiras/Ponente/pr-102/run-272.md) — updating every ~5 minutes while the task runs.
Grandiras deleted branch claude/issue-99 2026-08-18 07:52:52 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Grandiras/Ponente!102
No description provided.