Merge strategy select on PR page is an unstyled native control — style with the system select idiom (both themes) #547
Labels
No labels
actions
bug
cli
duplicate
enhancement
fork
forum
git storage
help wanted
insights
invalid
issues
moderation
oidc
ownership transfer
packages
pr/merge protection rules
projects
pull requests
question
releases
sponsorships
tags
webhooks
wiki
wontfix
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
crueber/walhub#547
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What's requested
Style the merge-strategy
<select>on the pull request page with the app's standard select idiom, correct in both light and dark themes.Evidence (static, no local repro)
web/src/components/MergeBox.jsx:167— the strategy select carries no class at all:Observed on the live PR page:
color-schemeor theme-aware option colors anywhere (grep color-scheme web/css/ web/src/is empty).fieldhas no rule in any stylesheet) and crowds the merge / update-branch button row below (MergeBox.jsx:173).Architecture notes
The repo already has the canonical select idiom —
.inputinweb/src/ui.css:130(Tailwind component class: rounded border,bg-white/text-zinc-900in light,dark:bg-zinc-900 dark:text-zinc-100in dark, emerald focus ring) — used by sibling selects:web/src/components/VisSelect.jsx:32—class="input"web/src/components/OwnerNameRow.jsx:52—class="input h-9 truncate font-mono"web/src/pages/Wal.jsx:242—class="input inline-block w-44"Note the competing legacy rule:
web/css/base.css:74styles bareselectelements via element selector with the--bg/--fg/--bordervars, which partially themes the closed control but leaves the popup native — that partial coverage is exactly why this one reads as "almost styled but wrong."Fix shape
.inputidiom (plus an explicit width, e.g.h-9/w-autoor a fixed width matching the row) to the strategy select, mirroring the sibling selects above.color-scheme: darkon the dark theme root (andlightin light) so the native popup panel and option highlight follow the theme, per the "system select idiom" ask; do NOT remove the base.css:74 element rule without checking other bare selects.fieldlabel class: either give it a rule or drop it for the idiom used on sibling forms, so the select, its "Strategy" caption, and the button row below have consistent spacing and no overlap.Acceptance criteria
.inputidiom (border, radius, padding, focus ring) matching VisSelect/Wal selects.fieldlabel class is either styled or removed consistently (no undefined classes left on this form).Fixed by #552 (branch fix/issue-547): MergeBox strategy select takes
.input w-fullin the #479 label shape; ui.css base layer declares color-scheme light/dark so the native dropdown follows the theme. Tests 1284 total / 1283 pass (1 pre-existing live-smoke failure, zero PR-caused); vite + esbuild green.Review of PR #552 (fix/issue-547) — verified in scratch worktree, main untouched.
All 5 acceptance criteria hold:
(6-8) No backend/SDK/API change (4 files: MergeBox.jsx, ui.css, new test, 12_web_ui.md amendment); no new deps (package.json untouched); docs entry accurate — counts/claims re-verified below.
One fix pushed (
dc08fe8): the new test's sibling sweep walked only web/src/components while asserting 'anywhere in web/src' — SRC_DIR now points at web/src (68 jsx files, 6/6 green). Small test-only change; substance of the claim was already true.Final verification (scratch worktree @
dc08fe8, node_modules symlinked from main):MERGE RECOMMENDATION: ready to merge.
Fixed by PR #552 (review clean + one test-scope fix by reviewer; all 8 checks pass, themed panel verified in compiled CSS), merged. Closing.