Skip to content

questionFeed: WTC UX design repass - uniform buttons, tap guard, rejected suggestion retention (#711, #715, #748) - #759

Open
WilfordGrimley wants to merge 4 commits into
masterfrom
feat/wtc-ux-designer-repass
Open

questionFeed: WTC UX design repass - uniform buttons, tap guard, rejected suggestion retention (#711, #715, #748)#759
WilfordGrimley wants to merge 4 commits into
masterfrom
feat/wtc-ux-designer-repass

Conversation

@WilfordGrimley

Copy link
Copy Markdown

Summary

Test plan

  • Frontend builds cleanly (npm run build).
  • Jest unit tests pass.
  • CI — not watched by this session per dispatch convention.

…onous double-tap guards (#715)

DESIGN-REPASS Rule 1 (#711): every action button on the WTC surface - the
embedded custom triggers (tag question Apply/Not applicable, no-match reason
strip Skip, artist picker candidate buttons) - now shares the spec's uniform
metrics (min-height 44px, 15px/600, 6px 16px padding, --r-btn radius) via one
new ActionButton primitive, instead of react-bootstrap's default geometry that
read smaller than the feed's own Btn rows. Variants map to the surface palette
(Apply=primary, Not applicable=secondary, Skip=ghost, artist consensus=success),
matching the wtc-mockup's button mapping.

Rule 2 (#715): synchronous in-flight refs in QueueTagQuestion, NoMatchReasonStrip
and ArtistVotePicker close the double-tap window - the visual disabled flag only
applies on the post-render, so a fast second tap could previously re-enter the
vote handler and cast twice. The ActionButton also carries touch-action:
manipulation (kills the mobile double-tap-zoom gesture that swallows single taps).
#748)

Rejecting the suggested printing no longer drops it from the surface: the
candidate grid regains it as a de-emphasised tile (dimmed, dashed outline,
'you said no - tap to reconsider' note) that stays fully selectable, the
reconsider path for a mis-tapped 'No, different printing'. Rejected
candidates never join illustration clusters (a cluster renders one
representative tile, which would silently bury them again) and the
singleton 'none left' state is now decided by candidate count rather than
grid count, since the rejected suggestion is a grid member again.

CardPanel: .rejected tile style + .rej caption note. QuestionFeed.test:
new jest coverage for the grid inclusion + reconsider click. Playwright:
the two #728-era 'never a selectable tile again' assertions now expect the
de-emphasised data-rejected tile to remain.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant