Replace ancient menubar plugin with something responsive
The current menubar jQuery plugin dates back to prehistoric times. There have been some attempts to work around it with styling in Shoreditch and adding a hamburger menu for small screens with the slicknav extension but IMO we need something better for core.
Plan o' action:
-
Create an extension implementing SmartMenus (thanks @ayduns!) https://github.com/aydun/uk.squiffle.kam -
Migrate the QuickSearch extension into core (see https://github.com/civicrm/civicrm-core/pull/13039). -
Add CRM.menubar
abstraction layer to provide a client-side api for adding/removing menu items, etc. -
Fix click-to-open behavior (interaction is a bit confusing because the menubar opens on hover but closes on click) -
Adjust icon spacing in the markup -
Fix the CMS-specific placement issues (right margin for D7, admin region for Joomla) -
Migrate the extension into Core. -
Consider bundling the extension into ESR (may not be possible due to core patches required).