Profile sidebar: replace raw 'Choose File' input with styled 'Upload profile image' button #619
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#619
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
Replace the raw
<input type="file">("Choose File") control in the user profile sidebar with a styled "Upload profile image" button using the hidden-input pattern, and render the current constraint text as helper copy beneath the button.Evidence
web/src/pages/Repos.jsx(~lines 759–774, inside the profile-sidebar action stack, gated onisSelf()):The browser's native file input renders unstyled and clashes with the surrounding button stack ("Edit profile", "Regenerate avatar", "Remove avatar" — all
.btn w-full justify-center px-3 py-1).Architecture notes
.btn w-full justify-center px-3 py-1. Reuse it — Tailwind utilities only, no ad-hoc CSS.web/src/pages/Org.jsx~197 org avatar,web/src/pages/Release.jsx~342,web/src/pages/Repos.jsx~769 import). Out of scope here; if a row-wide standard is wanted, file separately and cross-reference.acceptlist, sameonChange(upload + resete.currentTarget.value = ""), sameisSelf()gate and placement in the action stack.Proposed shape
Acceptance criteria
.btnidiom, full width, matching the sibling buttons) — no raw "Choose File" input visible.accept="image/png,image/jpeg,image/gif"unchanged; upload still gated onisSelf()and stays above "Regenerate avatar".hidden, button text and helper copy present) and/or screenshot review of the profile sidebar.Fixed by #620 (merged): hidden-input pattern with styled Upload profile image button (.btn idiom) + muted helper copy; accept/onChange/isSelf/placement byte-identical. Review fixed a keyboard regression pre-merge (display:none removed Tab access → peer sr-only + focus-visible ring). Verified: 1599 unit green (smoke excluded, pre-existing), vite/esbuild green, independent review APPROVE.