Avatar restyle: bare-circle navbar trigger (far right, light ring, still a dropdown) + large floating avatar on the profile page #390
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#390
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
Restyle the navbar identity control (
IdentityMenu, upper right) and the profile-page avatar:Navbar:
btnbox it's in today; it should be a bare circle as the far-right icon in the header.aria-expanded. The screenshot's current state (avatar inside a button box) is what to move away from.Profile page:
5. The avatar should be much bigger and very visible — floating right, positioned above the "New repository" button on the owner profile page, so it gets more space than the navbar can give.
Current implementation (code evidence)
web/src/components/IdentityMenu.jsx:75— the trigger isclass="btn max-w-32 truncate px-2 py-1"(a boxed button), avatar rendered inline ath-5 w-5(:86), username fallback when no avatar. Dropdown popover at :94 (card absolute right-0 z-50 mt-1 w-52) with outside-click/Esc handling — that behavior stays untouched.web/src/App.jsx:101-105, #371) among the notification tray and theme toggle — it should become the far-right element.web/src/pages/Repos.jsx(/:owner, the #234 owner profile) — the "New repository" button and repo list; the avatar has no presence there today beyond possibly the #234 profile header (verify what/:ownerrenders now — the avatar floats right above the New-repo button per the request).me().avatar_url(#376 dicebear, stable per-user).Design details
btncontainer entirely; render the avatar as a standalone circle (e.g.h-8 w-8 rounded-full) with a subtle ring —ring-1 ring-zinc-300 dark:ring-zinc-600plus a hover ring emphasis (hover:ring-2 hover:ring-emerald-500/50or similar, "lightly" per the request). When no avatar exists, the username-initials chip or username text stands in, same shape.▾) positioned at the circle's bottom-right or immediately beside it, sharing the hover state, +aria-expanded/aria-haspopupon the trigger (already present). The hover ring IS the primary "this is interactive" signal; the caret disambiguates "menu".h-24 w-24/ 96px class range), floated/aligned right above the New-repository button row, ring treatment matching the navbar. Confirm it doesn't collide with the #345 visibility badge or the description text at mobile widths (stacks below on narrow screens).Acceptance criteria
aria-expanded); menu behavior unchanged (items, Esc, outside-click, focus return).Fixed by PR #393 (#393) — bare-circle navbar trigger far-right + large profile avatar, restyle only.
Review of PR #393 (fix/issue-390 @
6bda256), verified in scratch worktree + reasoning (no browser, per instructions).ACCEPTANCE CRITERIA (issue #390, 7 items) — all met:
LAWS: L1 no new deps (5-file diff, no package.json/manifest touch; Tailwind utilities only); L7 n/a (no long work); L8 clean (view-only restyle inside web/, no seam/registry change); L12 D-WEB-8 entry warranted and accurate (dated, refs #390, restyle-only/no-deps rationale, matches code: h-8/h-24/ring/caret/far-right/orgs).
VERIFICATION: full node suite in scratch worktree — 769 pass, 2 fail, both smoke.test.js dist/server-dependent and byte-identical on pristine origin/main (764 pass + same 2 fails there; delta +5 = the new tests). identity-nav.test.js 30/30 exit 0. vite build exit 0 (589.99 kB / 170.29 kB gzip; chunk-size warning only, pre-existing shape). NOTE: something already listens on 127.0.0.1:8080 returning 401 to the smoke probes — left untouched per instructions; that is the smoke-failure source in this environment, unrelated to the PR. No browser run (reasoning + node tests, as instructed).
No fixes pushed — nothing broken. RECOMMENDATION: ready to merge.
Fixed by PR #393 (review clean — all 7 criteria pass, behavior untouched, D-WEB-8 recorded), merged. Closing.