to decrease the width used for the snippet bar triggers, removed the down arrows (for the top level triggers only). And, reduced the padding on the icons in the snippetbar while retaining it inside the menus.
The icons still align between the menu list and the menu trigger, but the text labels do not.
Unless a menu item has the `no-dismiss` attribute (set to either `''` or `'true'`), clicking a menu item will dismiss the menu. Clicking a submenu trigger will not dismiss the menu.
The `no-dismiss` attribute must take a string, either empty or `'true'` because react doesn't allow boolean custom attributes.
Ideally side effects (server calls, etc.) should happen outside of useEffect anyway for reasons like this; Putting the save in the button click keeps the logic in one place instead of spread across multiple functions and renders,
(This change was already made in my local copy toward combining Edit/New/Home pages.)
Since the print cycle now loads all images not-yet-loaded (due to lazy loading), there can be a moment of time where it appears pressing Get PDF is doing nothing, depending on connection speed. To add a "loading" message, a custom event is fired at the start and end of the print cycle (before the print dialog comes up).
Adds a "copy url (page N)" option to the Share dropdown (edit page) and
the source dropdown (share page). Copies a URL with a #pN hash anchor.
The existing scrollToHash handler in brewRenderer already navigates to
the correct page when the URL is opened.
should be window.onbeforeunload = xyz. However in this case, it's not needed anyway since we are only adding the event listener once on page load, which already gets cleared when you reload the page.