Accept image from tree - #776
Conversation
commit: |
✅ Component tests succeed
|
❌ E2E tests failed
|
0e047b8 to
711d140
Compare
6403cb4 to
53f435e
Compare
|
A minor issue with diff bubbles in tree. While bubbles are active the whole "hover" state disappears as well as "accept" button. I think throwing pointer-events none on those bubbles should do the trick... |
|
Let's make border-radius of the accept button default 6px to match other buttons. I understand that 8px come from my figma — sorry, my bad!! I didn't use standard components in figma and to the eye 8px looked better, but consistency is more important, we shouldn't have buttons with different border-radius values on one page. Same goes for button text Can we just reuse the "accept" button from test side? |
|
We also discussed that these buttons should be "sticky" in a sense that when screenshots is partially off-screen, the accept button should still be visible and stick to bottom of the tree block. But that's optional, if it's too hard to implement, we can skip this for now. |
|
One other tiny UX enhancement that we've talked about was that hovering over "accept button" should highlight the actual screenshot and you can click on actual screenshot to accept it (except for "switch"/"swipe"/"diff only" modes). While not mandatory, i think this would make accepting screenshots MUCH easier, because you don't have to find the button each time. |
b674c3e to
524aaf5
Compare
e01df3d to
7489324
Compare
7489324 to
a98fb8a
Compare
|
Highlightning of hovered screenshots is barely visible and looks more like a rendering artifact than an intended border change. I would either remove it or make it really noticeable (I would make it more noticeable as we've discussed before). To be clear: highlighting by changing border is fine, but let's make that border thicker/more noticeable in color Also, we've discussed that only the "Actual" screenshots should have this hover effect, not all 3 screenshots and that clicking on actual would accept the screenshot. Did you decide that this was a bad idea? Let's discuss. I think it would make it quite a bit more convenient for users. |
|
IMO screenshots should prevent click event propagation. Currently, clicking on "Accept" button in tree or trying to interact with screenshot unconditionally selects that tree item, which leads to scroll jump & confusion: Screen.Recording.2026-08-04.at.3.39.40.PM.movThis change would make it harder to select items (user may no longer just click on any part of the tree item, but current behavior is extremely confusing especially in the "full screen tree" mode, where it's not even clear what selecting an item does. So we should definitely handle this case better. |
|
Also, I've noticed a bug with the new tree mode switcher. Reproduction steps:
It will only switch between "full screen tree" and "full screen test", completely missing the "tree and test" option. |
1f6574a to
8ecfbe8
Compare
|
There are few important UX flaws in the current implementation:
Look at how it works in practice in new ui: tree-ux.mp4And this is how it was in old ui: old-tree-ux.mp4IMO the old UI is drastically better, the new ui is basically unusable for this scenario. |
|
|
||
| interface OnlyDiffModeProps { | ||
| diff: ImageFile & {diffClusters?: CoordBounds[]}; | ||
| magnifier?: React.RefObject<HTMLElement> | false; |
There was a problem hiding this comment.
I personally strongly dislike fields that may have 3 different types: react element, boolean and undefined! The naming is misleading too, IMO. I took me a while to understand that this is actually a ref to scroll container, not actual magnifier. So why not call it scrollContainerRef and let it accept react object or be absent? I think it would be much easier to reason about in this case.














Uh oh!
There was an error while loading. Please reload this page.