Detail: Edit-title pencil icon is invisible by default (opacity-0) — make it always visible #28
Loading…
Add table
Add a link
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?
Problem
The pencil icon for editing a shipment title has
opacity-0 group-hover:opacity-100— it is completely invisible until hovering the card. On touch devices, there is no hover state, so the feature is completely inaccessible. Even on desktop, users who don't know to hover will never find the edit affordance.Implementation
File:
frontend/src/pages/ShipmentDetail.tsx— around line 381.Change:
To:
opacity-40keeps it visually subtle (clearly secondary) while making it permanently discoverable. Removegroup-hover:opacity-100from both the button and its parent (theCardHeaderdoes not need to be agroupfor this).Acceptance criteria
Brand identity alignment
Editing the shipment name is a practical control for user-owned data. The affordance should be discoverable, quiet, and precise, matching the line-icon guidance in the brand brief.
Brand-compliant implementation notes
Additional acceptance criteria
Migrated from GitHub issue #7: https://github.com/bullitt186/trackbox/issues/7
Original author: @bullitt186
Original created: 2026-06-27T13:23:02Z
Original labels: ux
Implemented in commit
bd6b0e7. Changed the pencil edit button fromopacity-0 group-hover:opacity-100toopacity-40 hover:opacity-100. The icon is always visible at 40% opacity, making it discoverable on both desktop and touch devices. It reaches full opacity on hover, matching the brand principle of subtle but always-present affordances.Follow-up fix: Added explicit
focus-visible:ring-2 focus-visible:ring-ringandfocus:opacity-100to the pencil button. Acceptance criteria required a visible focus ring — the plain<button>element does not get shadcn focus styles automatically, so it was added explicitly.