Missing styles #101

Closed
opened 2026-08-18 02:50:01 +00:00 by Grandiras · 2 comments
Owner

image
image

![image](/attachments/c92de253-1e06-4fc0-ac9d-d1d2426c3953) ![image](/attachments/6b9c8f97-1923-45c3-895d-ab984812a2ae)
Collaborator

🤖 On it — follow along in the action run; the reply will link the full session transcript.

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

🤖 On it — follow along in [the action run](https://git.grandiras.net/Grandiras/claude-bot/actions/runs/273); the reply will link the full session transcript. <!-- claude-run:comment --> 📜 [Live transcript](https://git.grandiras.net/Grandiras/claude-bot/src/branch/claude-logs/transcripts/Grandiras/Ponente/issue-101/run-273.md) — updating every ~5 minutes while the task runs.
Collaborator

Both screenshots are the same bug in one file: two buttons in the comment thread carry no class at all, so they fall back to the browser's own button next to a .btn-primary/.btn-danger pill.

  • Components/Board/CommentList.razor:99Cancel, beside Save on a comment edit.
  • Components/Board/CommentList.razor:121No, beside "Yes, delete" on the delete confirm.

Every other button in the app either names its own look or sits in a container that styles bare buttons for it (.modal-footer button, .admin-row-actions button, .nav-pref-options button). These two sit in .comment-edit-actions and .comment-delete-confirm, which style neither — and they are the only two left in the whole component tree.

The fix

app.css already defines .btn-secondary as the shared system's third case, alongside .btn-primary and .btn-danger — and nothing in the app used it. These are exactly it, so both buttons now wear it, rather than growing two new container rules to style bare buttons at a distance.

Before: No is a small square box beside the Yes, delete pill; Cancel is a box beside Save

After: both are secondary pills matching the button beside them

Both shots are the real app running against a real Postgres in this container — the "before" one from the same build with the two class attributes removed, which reproduces the issue's screenshots exactly.

Also

  • Changelog — a line in both locales under 2.7.0, the entry that has not shipped yet (newest tag is v2.3.0).
  • e2e guard — the assertion goes into board.spec.js's existing add a comment test, which already has a comment of its own open in the card dialog; that fixture is the whole cost of the check. It measures border-radius against --radius-pill read off :root rather than a pixel count, so retuning the radii is not a failing test. It holds the comment by data-comment-id — a comment being edited is a textarea, and a textarea's value is not text content, so a hasText filter silently slides onto the second comment (that one cost me a run).

Verified

  • dotnet build Ponente.sln — clean (the one CS8604 in Calendar.razor predates this).
  • dotnet test Ponente.sln282 passed.
  • npx playwright test board.spec.js against the running app — 23 passed, including the extended comment test; changelog, i18n, filter, share, prefs pass too.
  • Three specs fail for environment, not for this change: permissions.spec.js and pds-dependent tests need the PDS container (none here), mobile.spec.js wants a tagged card on a seeded board, and boards.spec.js fails identically with my changes stashed on plain main — I checked.

Pushed as claude/issue-101.


⏱ 16m 52s · 100 turns · tokens: 135.0k in / 32.5k out (+11310.0k cache-read)
📜 Full session transcript
→ Opened PR: #103

Both screenshots are the same bug in one file: two buttons in the comment thread carry no class at all, so they fall back to the browser's own button next to a `.btn-primary`/`.btn-danger` pill. - `Components/Board/CommentList.razor:99` — **Cancel**, beside Save on a comment edit. - `Components/Board/CommentList.razor:121` — **No**, beside "Yes, delete" on the delete confirm. Every other button in the app either names its own look or sits in a container that styles bare buttons for it (`.modal-footer button`, `.admin-row-actions button`, `.nav-pref-options button`). These two sit in `.comment-edit-actions` and `.comment-delete-confirm`, which style neither — and they are the only two left in the whole component tree. ## The fix `app.css` already defines `.btn-secondary` as the shared system's third case, alongside `.btn-primary` and `.btn-danger` — and nothing in the app used it. These are exactly it, so both buttons now wear it, rather than growing two new container rules to style bare buttons at a distance. ![Before: No is a small square box beside the Yes, delete pill; Cancel is a box beside Save](https://git.grandiras.net/attachments/bd625a93-feed-4e1b-a485-03663e2123b4) ![After: both are secondary pills matching the button beside them](https://git.grandiras.net/attachments/d8b300f6-0944-417d-8a68-ffb5b11e9b2f) Both shots are the real app running against a real Postgres in this container — the "before" one from the same build with the two class attributes removed, which reproduces the issue's screenshots exactly. ## Also - **Changelog** — a line in both locales under `2.7.0`, the entry that has not shipped yet (newest tag is `v2.3.0`). - **e2e guard** — the assertion goes into `board.spec.js`'s existing *add a comment* test, which already has a comment of its own open in the card dialog; that fixture is the whole cost of the check. It measures border-radius against `--radius-pill` read off `:root` rather than a pixel count, so retuning the radii is not a failing test. It holds the comment by `data-comment-id` — a comment being edited is a textarea, and a textarea's value is not text content, so a `hasText` filter silently slides onto the second comment (that one cost me a run). ## Verified - `dotnet build Ponente.sln` — clean (the one `CS8604` in `Calendar.razor` predates this). - `dotnet test Ponente.sln` — **282 passed**. - `npx playwright test board.spec.js` against the running app — **23 passed**, including the extended comment test; `changelog`, `i18n`, `filter`, `share`, `prefs` pass too. - Three specs fail for environment, not for this change: `permissions.spec.js` and `pds`-dependent tests need the PDS container (none here), `mobile.spec.js` wants a tagged card on a seeded board, and `boards.spec.js` fails **identically with my changes stashed on plain `main`** — I checked. Pushed as `claude/issue-101`. --- ⏱ 16m 52s · 100 turns · tokens: 135.0k in / 32.5k out (+11310.0k cache-read) 📜 [Full session transcript](https://git.grandiras.net/Grandiras/claude-bot/src/branch/claude-logs/transcripts/Grandiras/Ponente/issue-101/run-273.md) → Opened PR: https://git.grandiras.net/Grandiras/Ponente/pulls/103
Sign in to join this conversation.
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#101
No description provided.