Bring back hovering
Problem to solve
Finding a page using the sidebar requires clicking on a collection to expand it. For users that frequently switch around projects, or are looking for something this can be cumbersome.
My biggest gripe with the new navigation is that accessing any page via the sidebar with my cursor now requires 2 clicks instead of The best functionality about the old sidebar was that it would, on hover, show you all the sub-items. Now, I have to click once to enable the sub-menu and then another time to go to the page I need. - #409005 (comment 1412420491)
New design should make people do less clicks to reach frequently used places, not more. - #409005 (comment 1420861858)
Before I could mouse-over and click to the submenu item I want to navigate to, now I have to click twice. One additional click -> bad user experience and effort to achieve my goal. - #409005 (comment 1417405852)
The main thing I keep doing is checking the commits graph, very nice feature. Now I seem to have to click 3 times instead of 2 to get there. - #409005 (comment 1417173627)
It was easier before when "Merge requests" and "Pipelines" was directly clickable. Now we are two clicks away from both of them. - #409005 (comment 1417120394)
Proposal
We could address this by changing the orientation of the chevrons and adding a menu that appears on :hover
like the old navigation
Implementation plan
Bring back hovering - 1st iteration (behind fea... (!124863 - merged)
- On medium viewports and larger (>768px), replace the collapsible menus in the sidebar with fly-out menus that open to the right on hover.
- Leave the experience unchanged on smaller viewports.
- Everything should still work for touch inputs regardless of screen size.
Still to-do in follow-up MR(s)
- Add tolerance for diagonal mouse movement from ... (#419813 - closed), see !124863 (comment 1449966208).
-
Fix flyout menu behavior when new sidebar is in... (#419769 - closed), see !124863 (comment 1458946098) and !124863 (comment 1462142469).
!127621 (merged) -
Don't open flyout directly after collapsing a section, see !124863 (comment 1458809901) and !124863 (comment 1462142465).
!127487 (merged) -
Try to prevent overflow on screens with very small height but large flyout, see !124863 (comment 1462142472).
!127398 (merged) - Improve test coverage of new code, see !124863 (comment 1465757270) and !124863 (comment 1465757292).
- Technical debt: Avoid changing props here: !124863 (comment 1465757243)
- Refactor feature flag assignment in tests: !124863 (comment 1472630065)