Skip to content

Draft: #3546119 UX flow improvements, ensuring side menu is accessible when on root route.

Closes #3546119

Done

  1. Implemented UiShell wrapper in AppRoutes to standardise how we render the sideMenu and Primary panel. Now the SideMenu and PrimaryPanel are always rendered no matter the route.
  2. 🚨 UX change: When loading into the editor (entity or template) no panel is active by default. This gets around myriad corner cases where an unintuitive panel was displayed as a result of it being remembered in local storage or not manually set correctly when moving between routes etc.
  3. Moved special logic handling switching the active primary panel to the actions where we want it to change rather than trying to keep track of where the user was and is going and programmatically decide the panel to show.
    1. When the Code Editor (Mosaic container) loads, it sets the active panel to the Manage Library and the active tab to Code
    2. When leaving the Code Editor we close the panel.
  4. When the panel is switched to either Templates or Pages, we store that in local storage. Moving to any other panel now clears the value from local storage. When loading the app, if localStorage>activePanel exists, then we load that panel. This is just the work around because we have hard page reloads when moving between pages/tempates.
  5. If the active panel is ever Layers or Library and the app goes to a route where those are not available (e.g. Code editor or just /canvas) then the active panel is unset and closes.

Todo

The default behaviour when loading has changed to now NOT show the layers or library panel so ALL the tests that are checking for those things on load will have just been broken. BORING.

Edited by Jesse Baker

Merge request reports

Loading