Claude: changes for issue #141 #143

Merged
Grandiras merged 1 commit from claude/issue-141 into main 2026-08-21 15:52:49 +00:00
Collaborator

Closes #141.

Closes #141.
Visual polish: sheet shadows, native controls, admin alignment, notes
All checks were successful
CI / build (pull_request) Successful in 32s
bde205116c
A polishing pass over the four things issue #141 named, plus what each one
turned up next to it.

**Phone sheets no longer shadow the bar.** `--shadow-lg` is symmetric, and a
sheet seated on the bottom bar has exactly one strip of screen below it to cast
on — so its lower half landed entirely on the bar, which read as the bar being
tucked under the sheet. `--shadow-sheet` is the one asymmetric shadow in the
file: same weight, no `y` below zero.

**The native controls wear the app's shape.** The tags page's colour input was
the last control still in the browser's own chrome; the profile page's file
picker had none at all. Both keep the real element and take the shape from
`::-webkit-color-swatch` / `::file-selector-button`, since a hand-drawn control
is one assistive technology has to be told about twice. Checkboxes and radios
get one base rule instead of the three half-copies that had drifted, and the
button classes finally set `text-decoration: none` — several of them are `<a>`
and one arrived underlined.

**The admin pages line up.** `.admin-page-title` now repeats `.admin-page`'s
column, so a heading is not ~280px to the left of the panel it heads. On the
boards list, every control in a row is one ladder of pills to the pixel, and
`min-width: 0` on the name field stops a wide row pushing its Delete out of
line. On a phone that row wraps instead of overflowing off the *left* edge.

**Explainers say less and show more.** `.admin-note` is a mark and one line for
the things that report a *state* — which let the access page's longest
paragraph become a sentence — and the calendar's read-only promise is a chip
beside the link rather than the tail of a paragraph about it. The phone menu's
three destinations get icons, because they were the only rows in that sheet
whose word began at its edge.

Docs updated in ui.md, frontend.md, boards-and-permissions.md, calendar.md and
auth.md; e2e assertions added in mobile, board, access and calendar specs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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/370); 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-143/run-370.md) — updating every ~5 minutes while the task runs.
claude-reviewer left a comment

Verdict: approve — no blocking issues found.

This is a broad, coherent "tidy-up" PR (native form controls, admin-note vs admin-hint distinction, board-access status dot, calendar read-only chip, phone nav icons, bottom-sheet shadow direction, admin heading alignment). I checked it against the pre-PR working tree rather than fetching the branch (network git ops weren't approved in this session), and every diff hunk's context matches the current file contents exactly, so the patch applies cleanly.

Spot-checks that came back clean:

  • access-hint-warn is fully replaced by admin-note-warn in BoardAccess.razor, and its CSS rule is removed with no leftover references anywhere in the codebase.
  • The new .nav-menu .nav-menu-row > svg:first-child, .nav-menu-link > svg:first-child { width: 18px; height: 18px; } rule correctly overrides ShareButton's inline 17x17 SVG attributes via CSS specificity, since ShareButton renders its icon as the button's first child when used with CssClass="nav-menu-row ...".
  • The padding-left: 2.425rem on .nav-menu-link-sub matches the stated math (0.6rem row padding + 18px icon in rem + 0.7rem gap).
  • Both en and de locale dictionaries got the new/changed keys (cal.subscribe.readonly, shortened admin.access.members.moot, shortened calendar blurbs), and Changelog.Unreleased got a matching entry in both languages, per the CLAUDE.md convention.
  • IsRestricted/AccessLabel refactor in Boards.razor is a straightforward, correct extraction.
  • New e2e assertions (access.spec.js, board.spec.js, calendar.spec.js, mobile.spec.js) target classes that exist in the CSS/markup shipped in this same diff.

Nothing here looks like a functional regression; it's a well-scoped, self-consistent visual/UX cleanup with docs updated alongside the code as CLAUDE.md requires.


⏱ 1m 7s · 17 turns · tokens: 51.5k in / 5.0k out (+1158.7k cache-read)
📜 Full session transcript

✅ **Verdict: approve** — no blocking issues found. This is a broad, coherent "tidy-up" PR (native form controls, admin-note vs admin-hint distinction, board-access status dot, calendar read-only chip, phone nav icons, bottom-sheet shadow direction, admin heading alignment). I checked it against the pre-PR working tree rather than fetching the branch (network git ops weren't approved in this session), and every diff hunk's context matches the current file contents exactly, so the patch applies cleanly. Spot-checks that came back clean: - `access-hint-warn` is fully replaced by `admin-note-warn` in `BoardAccess.razor`, and its CSS rule is removed with no leftover references anywhere in the codebase. - The new `.nav-menu .nav-menu-row > svg:first-child, .nav-menu-link > svg:first-child { width: 18px; height: 18px; }` rule correctly overrides `ShareButton`'s inline `17x17` SVG attributes via CSS specificity, since `ShareButton` renders its icon as the button's first child when used with `CssClass="nav-menu-row ..."`. - The `padding-left: 2.425rem` on `.nav-menu-link-sub` matches the stated math (0.6rem row padding + 18px icon in rem + 0.7rem gap). - Both `en` and `de` locale dictionaries got the new/changed keys (`cal.subscribe.readonly`, shortened `admin.access.members.moot`, shortened calendar blurbs), and `Changelog.Unreleased` got a matching entry in both languages, per the CLAUDE.md convention. - `IsRestricted`/`AccessLabel` refactor in `Boards.razor` is a straightforward, correct extraction. - New e2e assertions (`access.spec.js`, `board.spec.js`, `calendar.spec.js`, `mobile.spec.js`) target classes that exist in the CSS/markup shipped in this same diff. Nothing here looks like a functional regression; it's a well-scoped, self-consistent visual/UX cleanup with docs updated alongside the code as CLAUDE.md requires. --- ⏱ 1m 7s · 17 turns · tokens: 51.5k in / 5.0k out (+1158.7k cache-read) 📜 [Full session transcript](https://git.grandiras.net/Grandiras/claude-bot/src/branch/claude-logs/transcripts/Grandiras/Ponente/pr-143/run-370.md) <!-- claude-verdict:approve --> <!-- claude-reviewed-head:bde205116c05396886d2e6e9a057b19e96d7785f -->
Grandiras deleted branch claude/issue-141 2026-08-21 15:52:49 +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!143
No description provided.