Super sidebar: Support project, group and "your work"
What does this MR do and why?
Serialize panel data for Super Sidebar
This adds a "Super Sidebar" serialization for the existing Sidebar Panels. In order to prevent potential future mishaps, it is probably best to generate both the "old" and the "new" sidebar structure from the same underlying data:
- It will be easier for us to ensure that all current menu items will find a new home.
- It allows us to iteratively group and/or rename menu items (or actively choose not rendering them in the future).
Currently we just default to the existing sidebar groupings, but the current code is written in a way, that it would be easy for us to start add a new "super sidebar parent" to the sidebar serialization (and e.g. force each MenuItem to define one of those. Same goes e.g. with names and other properties.
Render new Super Sidebar Menu serialization
This renders the menu items from the new "Super Sidebar" serialization. It has support for groupings and rendering links, but nothing special has been done so for to render counts or some other advanced properties of Menu Items.
Only render super sidebar on supported pages
We only have the data model of the sidebar panels for groups, projects and "your work". We should only render the super sidebar on those pages, in order to enable the super sidebar to be completely usable in production mode.
See also:
Screenshots or screen recordings
Before | After | Note |
---|---|---|
N/A | Screen_Recording_2023-02-16_at_12.53.19 | Screen recording, showing off Your Work, Group and Project functionality |
N/A | ![]() |
"Your Work" |
N/A | ![]() |
Project sidebar |
N/A | ![]() |
Group sidebar |
![]() |
![]() |
Admin settings sidebar (see also ) |
![]() |
![]() |
User settings sidebar (see also ) |
How to set up and validate locally
- Enable the
super_sidebar_nav
and recommended:your_work_sidebar
feature flags. - Log into the GDK and enable the New Navigation for the current user.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.