UI: Context arrows, customizable colors, and a page index indicator for menu items + more#771
UI: Context arrows, customizable colors, and a page index indicator for menu items + more#771tadeubas wants to merge 35 commits intoselfcustody:developfrom
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #771 +/- ##
===========================================
+ Coverage 97.38% 97.42% +0.04%
===========================================
Files 83 83
Lines 10548 10678 +130
===========================================
+ Hits 10272 10403 +131
+ Misses 276 275 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
199a25a to
7fae965
Compare
2b4a44d to
86b3063
Compare
|
I've removed the Industry guidelines use roughly 20–30 px for swipe detection on 160–200 PPI screens (and about half that for smartwatches). Based on this, I lowered our threshold from 50 px to 35 px, which is still a conservative value. |
|
Fixed a swipe-handling issue: devices now reject swipes made at diagonal angles (an industry-standard behavior). A diagonal swipe is only accepted if the angle is below 27°, meaning one axis must have at least twice the movement of the other. |
ed074ef to
97c743d
Compare
|
Industry standards say a swipe shouldn't exceed ~1 s (average user completes a swipe in ~450 ms). Our implementation allowed swipes even after a 10-second hold. I’ve now capped swipe duration at ~750 ms. |
b9748a2 to
ebdcca7
Compare
|
ACKt, test on amigo, and it works as expected. Arrows make navigating throughout the wallet much more intuitive, and the touch-feedback highlighting is an excellent visual improvement as well when navigating. Nice work! Only small thing I would suggest is that when the theme is orange, for example the red shutdown lettering would look better if it were yellow I think. |
|
Just wrapped up the test coverage for this PR, it came out to about ~470 new lines (~200 of those are tests). Here’s how I think it’s best to review it:
|
|
Built and tested on the Note: the For screens with a |
I didn’t update those category-settings screens because they’re very simple, and I figured the visual change would already be clear there. But if you think it feels inconsistent since the other screens have touch feedback, I can add it, no problem. |
I’m not sure… for now, swipe up/left goes to the next page, and swipe down/right goes to the previous one on menus that have multiple pages. Only a few menus actually do, like: |
Yeah, I think this sort of feedback becomes a subconscious expectation and then feels a tiny bit jarring when it's missing. During SeedSigner's UX overhaul, Easy really held my feet to the fire to ensure we were being consistent everywhere. Tough pages required a tiny bit of extra flexibility in a handful of cases, but then even those exceptions were made to at least conform to each other (i.e. "you can't violate principle X, Y, or Z!" "Um, well, I need to violate Y here, here, and here." "Errg, fine, but only do it using approach "Y.b."). |
Ya, probably more work than it's worth, but you'd need some sort of smarter |
Sure will do this!
This I would leave to another PR 😉 |
|
Hey @kdmukai it is done 👊 !
|
|
Would you mind splitting this PR so we get the chance to discuss each change? |
|
If necessary, I can do it. What would you like to see separated into other PRs? |
|
I’ll open another PR referencing this one. If everything looks good and we merge or close it, I’ll create additional ones for the remaining items. |
|
think |





What is this PR for?
Menu Items:
< Backon missing menusTouch feedback highlight
Keypads
#### Touch / Swipe handling- Diagonal swipes: Swipes are now accepted only if the delta on one axis is 2 times greater than the other- Long-hold: Long hold swipes (>750ms) are now ignored- Edge touches: Discards touches near edges of adjacent regionsPR #797
#### Settings / Constants- Increased range for Touch Threshold and Buttons Debounce- Reduced Buttons Debounce default value a little (customized default for M5StickV)- Slightly reduced the Swipe Threshold constantPR #793
Changes made to:
Did you build the code and tested on device?
What is the purpose of this pull request?