Lighten LHN row hover colors - #98578
Conversation
|
🚧 shawnborton has triggered a test Expensify/App build. You can view the workflow run here. |
|
cc @dannymcclain @dubielzyk-expensify another one to take for a spin! This just lightens the LHN rows a bit like we talked about. I kept the scope quite small so we don't get too many weird edge cases with things like MenuItems inside of cardBGs. I also undid the pressed BG color that some of the LHN rows had (everything but Spend), which felt unnecessarily heavy. Now it just uses the app-wide default pressable dimming. |
…av-row style entries
This comment has been minimized.
This comment has been minimized.
|
Looks great!
Do you think we'll plan on going through and updating these at some point as well? (Not a concern for this PR, I'm mostly just curious to hear your thinking about those) |
|
I think that would be ideal, yup! I think it might get tricky to separate the logic for when a MenuItem is in a card or not, which dictates the rowHover color we need. I guess thinking more on this - I almost wonder if we should try a rowHover color that just uses 50% opacity or something? This way we get the same hover effect but a lighter version no matter where we are... |
|
Ooo that's an interesting idea! Let's save that for when we tackle the menu items though. I think this can proceed as is and then if we do something like that when updating the menu items, we can just change it everywhere. (Unless you really want to mess with it here haha) |
|
I will try it locally and report back! It might simplify things! |
|
Tried it out but I think it makes the hover on top of cards a bit too subtle: CleanShot.2026-08-13.at.11.23.12.mp4Thoughts? Might not be easy to see in the video... |
|
Though it would be a MUCH simpler implementation... |
|
I mean... I kinda think it's lovely 🤷 Can we run a build with it so I can test it out for realsies, or are you pretty convinced it's not a good idea? Let's see what @dubielzyk-expensify thinks too! |
|
Sure! Lemme push and build |
|
🚧 shawnborton has triggered a test Expensify/App build. You can view the workflow run here. |
|
No big opinion here. Agree with Shawn that its very subtle on highlightbg stuff but it's not terrible. I guess this is where that opacity for hover colors comes in clutch. Happy to roll either way 👍 |
|
🚧 shawnborton has triggered a test Expensify/App build. You can view the workflow run here. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Take it for a spin! |
|
I don't see heaps of difference in the latest one? |
|
Hard refresh? I will run the build again though. |
|
🚧 shawnborton has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
Explanation of Change
Facelift of the hover / selected / pressed background colors for the left-hand navigation rows and the horizontal tab component. Introduces two dedicated theme tokens —
navItemHoverBG(product200) andnavItemSelectedBG(product300) — and applies them only to navigation surfaces:MenuItem, gated onrole=tab)SearchTypeMenuItem+ saved searches)TabSelector, e.g. Workspaces page)Behavior:
MenuItemusages (Home widgets, etc.), generic option rows, and selection lists are intentionally unchanged.Fixed Issues
$ #98581
PROPOSAL:
Tests
Offline tests
No network-dependent behavior changed; hover/selected/pressed colors render identically offline.
QA Steps
Same as tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari